
body,input,button,select,textarea{font-family:MiraeSans,sans-serif}
.academy-seal{display:none!important}
body.at-login{background:#eef5ec}
.login-layout,.login-layout[data-layout=center]{min-height:100svh;height:auto;display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;background:#eef5ec;padding:46px 24px;gap:26px}
.login-layout>.login-side{order:0;padding:0!important;min-height:0!important;display:block;width:min(100%,390px)}
.login-form{width:100%;max-width:none;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.login-form .mobile-logo{display:flex!important;align-items:center;margin:0 0 28px;gap:0}
.login-form .mobile-logo strong{font-size:17px;letter-spacing:-.4px;color:#334d37}
.login-form h2{font-family:inherit;font-size:21px;line-height:1.4;margin:0 0 5px;font-weight:500;white-space:pre-line}
.login-form>.subtitle{font-size:13px;margin:0 0 19px;color:#68796b;line-height:1.5}
.login-form .form-grid{display:block}.login-form .field{margin:0 0 9px}.login-form .field label{display:none}
.login-form .field input{height:46px;width:100%;background:#f6faf3;border:1px solid #a9b8a7;border-radius:3px;font-size:16px;padding:11px 12px;box-shadow:none;color:#2f4032}
.login-form .field input:focus{border-color:#557c56;outline:2px solid #7fae7d3b;outline-offset:1px}
.login-form .field input::placeholder{color:#84917f;font-size:13px}
.login-form .login-submit{height:44px;min-height:44px;width:100%;border-radius:3px;margin:0!important;background:#6a9869;color:white;font-size:14px;justify-content:center;box-shadow:none;border:0}
.login-button-icon{display:none}.login-form-number,.login-form>.login-foot{display:none}.login-activity{margin-top:10px;background:none;padding:0;font-size:12px}
.login-layout>.login-brand{order:1;width:min(100%,560px);min-height:0!important;padding:0!important;border:0!important;background:none;display:block!important;text-align:center;overflow:visible}
.login-brand>.logo,.login-brand>.brand-bottom,.login-notice-rule{display:none!important}.login-story{margin:0 0 18px;max-width:none}.login-story h1{font-family:inherit;font-weight:400;font-size:18px;line-height:1.6;letter-spacing:-.3px;white-space:pre-line}.login-story p{font-size:12px;color:#75806d;line-height:1.7;margin-top:8px}.login-story .eyebrow{display:none}
.login-promotions{margin:0}.promotion-links,.promotion-links[data-count="3"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.promotion-links[data-count="1"]{grid-template-columns:1fr}.promotion-link{min-height:40px;padding:10px 12px;border:1px solid #ccd9c5;background:#f5f9ef;border-radius:3px;display:flex;align-items:center;justify-content:space-between;color:#486749;gap:9px}.promotion-link strong{font-size:12px;font-weight:500}.promotion-index{display:none}.promotion-link>span:last-child{font-size:15px}
#design-live-canvas .login-layout.design-preview{display:flex!important;min-height:550px!important;padding:32px!important;gap:24px}#design-live-canvas .design-preview .login-brand{display:block!important;padding:0!important}#design-live-canvas .design-preview .login-story{margin:0 0 16px!important}#design-live-canvas .design-preview .login-story h1{font-size:18px!important}#design-live-canvas .design-preview .login-form{max-width:360px!important}#design-live-canvas .design-preview .promotion-link{min-height:40px!important}
.connection-state{font-weight:700;font-size:12px;display:inline-block;white-space:nowrap}.connection-state.ok{color:#376c43}.connection-state.warn{color:#a35c08}.connection-state.danger{color:#b02e29}.parent-recommend{display:flex;align-items:center;gap:12px;justify-content:space-between;border-bottom:1px solid #e1e5dc;padding:12px 0}.parent-recommend small{display:block;color:#7c877a;font-size:12px;margin-top:4px}
.roster-picker-modal{align-items:flex-start;padding-top:max(30px,8vh)}.roster-picker-modal .modal{width:min(920px,calc(100vw - 36px));height:min(680px,82dvh);max-height:none;display:flex;flex-direction:column}.roster-picker-modal .modal-body{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}.roster-picker-modal #roster-results{flex:1;min-height:0;overflow:auto;padding-bottom:12px}.roster-one-line{display:grid!important;grid-template-columns:90px 115px 55px minmax(0,1fr);gap:10px;padding:10px!important;min-height:44px;align-items:center;text-align:left}.roster-one-line>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block!important;font-size:13px!important;line-height:1.4;margin:0!important}.roster-one-line strong{font-weight:600}
.activity-rail{position:fixed;z-index:48;right:22px;bottom:20px;width:min(430px,calc(100vw - 44px));display:grid;gap:6px;max-height:130px;overflow:auto}.activity-rail:empty{display:none}.background-task{background:#f9fcf6;border:1px solid #cfdbca;border-radius:4px;box-shadow:0 4px 16px #344d3612;padding:10px 12px}.task-copy{display:flex;align-items:center;gap:8px;min-width:0}.task-copy strong{font-size:12px;line-height:1.4;flex:1}.task-copy .transfer-count{font-size:11px;color:#6f7f6c;margin:0;white-space:nowrap}.task-close{background:none;border:0;font-size:20px;color:#798772;cursor:pointer;padding:0 3px}.background-task .transfer-track{height:3px;margin-top:8px;background:#e2eadf;overflow:hidden}.transfer-track div{height:100%;background:#74976b;transition:width .3s}.background-task.indeterminate .transfer-track div{min-width:25%;animation:task-moving 1.9s linear infinite}.background-task.is-failed strong{color:#a45127}@keyframes task-moving{from{transform:translateX(-100%)}to{transform:translateX(400%)}}
.rank-count{display:flex;justify-content:space-between;align-items:center;margin:12px 0 20px}.rank-count select{margin-left:8px;padding:9px}.rank-card{border:1px solid #dce4d6;padding:16px 20px;margin:12px 0;background:#fffefa}.rank-card summary{cursor:pointer;font-size:16px}.rank-card>label{display:block;max-width:360px;margin:16px 0}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.permission-grid label{display:flex;align-items:center;gap:8px;font-size:13px;min-height:32px}.permission-grid input{width:17px;height:17px}
.plan-editor-section{margin:20px 0;padding:14px;border:1px solid #d5dfce}.plan-editor-section summary{cursor:pointer;font-weight:600}.plan-editor-section p{font-size:12px;color:#78856f;margin:12px 0}.plan-scroll{max-height:400px;overflow:auto;margin-top:12px}.plan-table{width:100%;border-collapse:collapse}.plan-table th,.plan-table td{border:1px solid #dce4d3;padding:7px;font-size:12px}.plan-table th{width:106px;white-space:nowrap}.plan-table td:last-child{width:28%}.plan-table textarea{display:block;width:100%;min-width:0;border:1px solid #d7dfd0;padding:7px;background:#fffefa;resize:vertical;font:inherit}
.attendance-warning{font-weight:700;font-size:12px}.attendance-warning.danger{color:#b42c26}.attendance-warning.warn{color:#a15d0c}.attendance-warning.ok{color:#47714b}
@media(max-width:760px),(pointer:coarse) and (max-width:1180px){
 body.at-login{overflow:auto;min-height:100svh;height:auto;touch-action:pan-y}.login-layout,.login-layout[data-layout=center]{height:auto;min-height:100svh;justify-content:flex-start;padding:25px 28px 22px!important;gap:20px;overflow:visible}.login-layout>.login-side{flex:none;width:min(100%,360px)}.login-form .mobile-logo{margin-bottom:22px!important}.login-form .mobile-logo strong{font-size:17px}.login-form h2{font-size:18px;margin-bottom:12px}.login-form>.subtitle{display:none!important}.login-form .field{margin:0 0 8px}.login-form .field input{height:42px;font-size:16px}.login-form .login-submit{height:40px;min-height:40px}.login-layout>.login-brand{flex:none;width:min(100%,360px);max-width:none}.login-story{display:none!important}.promotion-links,.promotion-links[data-count="3"]{gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.promotion-links[data-count="1"]{grid-template-columns:1fr}.promotion-link{min-height:36px;padding:8px 9px}.promotion-link strong{font-size:11px}.login-layout>.login-brand{border:0!important}
 .permission-grid{grid-template-columns:1fr}.permission-grid label{min-height:40px;font-size:13px}.rank-card{padding:14px}.roster-picker-modal{padding:14px 8px}.roster-picker-modal .modal{width:100%;height:calc(100dvh - 28px);max-height:calc(100dvh - 28px)}.roster-picker-modal .modal-body{padding:14px 12px}.roster-one-line{grid-template-columns:65px 75px 35px minmax(0,1fr);gap:5px;padding:8px 3px!important}.roster-one-line>*{font-size:11px!important}.roster-picker-modal .modal-head h2{font-size:17px}
 .activity-rail{top:51px;bottom:auto;left:7px;right:7px;width:auto;max-height:105px;gap:4px}.background-task{padding:7px 9px}.task-copy strong{font-size:10px}.task-copy .transfer-count{font-size:9px}.has-background-tasks .main{padding-top:calc(14px + var(--task-rail-height,55px))}.mobile-app-nav{display:flex;justify-content:space-around}.mobile-app-nav button{flex:1}
 .attendance-person{flex-wrap:wrap;overflow:visible;gap:3px}.attendance-person>strong{max-width:100px}.attendance-person .attendance-match{font-size:10px;white-space:normal;flex:0 0 100%;line-height:1.25;display:block}.attendance-warning{font-size:10px!important;white-space:normal}.attendance-link-button{font-size:9px!important;margin-left:3px}.attendance-student{min-height:55px;row-gap:1px;padding:7px 0}.attendance-notification{font-size:9px}.attendance-picks{grid-template-columns:repeat(3,38px)}.attendance-picks button{min-width:38px;height:36px}.parent-recommend{align-items:flex-start;gap:6px}.parent-recommend .btn{font-size:11px;min-height:34px}.plan-table th{width:82px;font-size:10px}.plan-table textarea{font-size:16px;min-height:66px}.plan-table td{padding:4px}.plan-editor-section{padding:8px}.plan-editor-section>summary{font-size:13px}
}
@media(max-height:450px) and (max-width:1180px){.login-layout{padding:14px 24px!important;gap:10px}.login-form .mobile-logo{margin-bottom:10px!important}.login-form h2{display:none}.login-layout>.login-brand{display:block!important}.promotion-links{grid-template-columns:repeat(3,minmax(0,1fr))!important}.login-form .field input{height:38px}.login-form .login-submit{min-height:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.background-task.indeterminate .transfer-track div{animation:none}.transfer-track div{transition:none}}
.roster-picker-modal .modal{animation:none;transform:none}
.login-layout>.login-side{background:transparent!important}
.promotion-links[data-count="3"] .promotion-link:last-child,.promotion-links[data-count="5"] .promotion-link:last-child{grid-column:1/-1}
.directory-age{margin:0;padding:4px 15px 9px;color:#75816f;font-size:11px}
@media(max-width:760px),(pointer:coarse) and (max-width:1180px){.attendance-person{line-height:1.2;gap:2px}.attendance-person>strong{line-height:1.3}.attendance-person .attendance-match{line-height:18px}.attendance-student{padding:5px 0}}
