:root{--font-sans:"Noto Sans KR", sans-serif;--font-serif:"Noto Serif KR", serif;--text-xs:12px;--text-sm:15px;--text-body:14.5px;--text-label:13px;--text-list-title:15px;--text-section-title:15px;--text-card-title:17px;--text-page-title:22px;--text-stat:28px;--text-stat-compact:24px;--weight-regular:400;--weight-medium:500;--weight-bold:700;--leading-tight:1.3;--leading-control:1.4;--leading-body:1.5;--leading-relaxed:1.65;--paper:#f6f1e6;--paper-card:#fffdf8;--paper-line:#ded2b8;--ink:#22303f;--ink-soft:#5b6b7c;--steel:#3b5b7a;--steel-soft:#3b5b7a1a;--red:#c23b22;--red-soft:#c23b221a;--status-success:#15803d;--status-success-soft:#dcfce7;--status-warning:#92400e;--status-warning-soft:#fef3c7;--status-danger:#b91c1c;--status-danger-soft:#fee2e2;--chart-submission:#3b6fa5;--chart-accuracy:#d97a8a;--chart-grid:#00000017;--chart-axis:#777;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-control:8px;--radius:10px;--radius-panel:12px;--content-width:920px;--control-height:40px;--touch-target:44px;--card-shadow:0 1px 2px #22303f0a}*{box-sizing:border-box}html,body{max-width:100%;margin:0;padding:0;overflow-x:clip}body{background-color:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-regular);min-height:100vh;line-height:var(--leading-body);overflow-wrap:break-word;background-image:url(/assets/images/login-background.png);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}img,video,canvas,iframe{max-width:100%}h1,h2,h3,.serif{font-family:var(--font-serif)}h1,h2,h3{color:var(--ink);line-height:var(--leading-tight)}h1{font-size:var(--text-page-title);font-weight:700}h2{font-size:var(--text-card-title);font-weight:700}h3{font-size:var(--text-section-title);font-weight:700}.type-page-title{font-family:var(--font-serif);font-size:var(--text-page-title);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.type-card-title,.type-section-title{font-family:var(--font-serif);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.type-card-title{font-size:var(--text-card-title)}.type-section-title{font-size:var(--text-section-title)}.type-body{font-size:var(--text-body);line-height:var(--leading-body)}.type-secondary,.type-meta{color:var(--ink-soft);line-height:var(--leading-body)}.type-secondary{font-size:var(--text-sm)}.type-meta{font-size:var(--text-xs)}.type-stat{font-family:var(--font-sans);font-size:var(--text-stat);font-weight:var(--weight-bold);line-height:1.1}table{font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-body)}th{font-weight:var(--weight-bold)}td{font-weight:var(--weight-regular)}#app{width:100%;max-width:var(--content-width);min-width:0;margin:0 auto;padding:28px 20px 80px}#app>*{min-width:0;max-width:100%}a{color:var(--steel)}button{font-family:var(--font-sans);font-size:inherit;line-height:inherit;cursor:pointer;touch-action:manipulation;max-width:100%}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--steel);outline-offset:2px}.stamp{border:3px solid var(--red);width:52px;height:52px;color:var(--red);font-family:var(--font-serif);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;font-weight:900;display:flex;transform:rotate(-6deg);box-shadow:inset 0 0 0 2px #c23b2240}.brand{align-items:center;gap:14px;min-width:0;margin-bottom:6px;display:flex}.brand-text{min-width:0}.brand-text h1{font-size:var(--text-page-title);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.3px;margin:0}.brand-text p{font-size:var(--text-sm);line-height:var(--leading-body);color:var(--ink-soft);margin:2px 0 0}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.who{text-align:right;font-size:var(--text-sm);line-height:var(--leading-body);color:var(--ink-soft);min-width:0}.who b{color:var(--ink);font-size:var(--text-list-title);font-weight:var(--weight-bold);display:block}.nav{border-bottom:2px solid var(--paper-line);flex-wrap:wrap;align-items:stretch;gap:8px;margin-bottom:22px;display:flex}.nav button{font-size:14px;line-height:var(--leading-control);color:var(--ink-soft);min-height:var(--control-height);white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;padding:10px 14px;font-weight:500}.nav button.active{color:var(--red);border-bottom-color:var(--red);font-weight:700}.nav .spacer{flex:1}.nav .logout{color:var(--ink-soft);font-size:var(--text-sm)}.card{background:var(--paper-card);border:1px solid var(--paper-line);border-radius:var(--radius);box-shadow:var(--card-shadow);min-width:0;margin-bottom:16px;padding:20px 22px}.card h2{font-size:var(--text-card-title);font-weight:var(--weight-bold);line-height:var(--leading-tight);margin:0 0 14px}.card h3{font-size:var(--text-section-title);font-weight:var(--weight-bold);line-height:var(--leading-tight);margin:0 0 10px}.row{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.toolbar{justify-content:space-between;align-items:flex-end;gap:var(--space-3);min-width:0;margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.toolbar>*{min-width:0}.surface-panel{min-width:0;padding:var(--space-4);border:1px solid var(--paper-line);border-radius:var(--radius-panel);background:#ffffff80}label.field{margin-bottom:14px;display:block}label.field span{font-size:var(--text-label);line-height:var(--leading-control);color:var(--ink-soft);font-weight:var(--weight-medium);margin-bottom:5px;display:block}input[type=text],input[type=email],input[type=password],input[type=search],input[type=date],input[type=time],input[type=number],input[type=file],textarea,select{width:100%;max-width:100%;min-height:var(--control-height);border:1px solid var(--paper-line);border-radius:var(--radius-control);line-height:var(--leading-control);color:var(--ink);background:#fff;padding:9px 11px;font-family:var(--font-sans)!important;font-size:var(--text-body)!important;font-weight:var(--weight-regular)!important}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--ink-soft) 72%, transparent)}textarea{resize:vertical;min-height:64px}.btn{min-height:var(--control-height);border-radius:var(--radius-control);border:1px solid var(--red);background:var(--red);color:#fff;font-family:var(--font-sans);line-height:var(--leading-control);justify-content:center;align-items:center;gap:6px;padding:9px 16px;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:inline-flex;font-size:14px!important;font-weight:var(--weight-bold)!important}.btn.secondary{color:var(--steel);border-color:var(--steel);background:0 0}.btn.ghost{color:var(--ink-soft);border-color:var(--paper-line);background:0 0;font-weight:var(--weight-medium)!important}.btn.danger{background:var(--status-danger);border-color:var(--status-danger);color:#fff}.btn.small{min-height:34px;padding:5px 10px;font-size:var(--text-sm)!important}.btn:disabled{opacity:.5;cursor:not-allowed}@media (hover:hover){.btn:not(:disabled):hover{filter:brightness(.96)}.btn.secondary:not(:disabled):hover{background:var(--steel-soft)}.btn.ghost:not(:disabled):hover{background:#22303f0d}}.btn:not(:disabled):active{transform:translateY(1px)}.list-item{border-bottom:1px solid var(--paper-line);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:14px 4px;display:flex}.list-item>*{min-width:0}.list-item:last-child{border-bottom:none}.list-item:hover{background:var(--steel-soft)}.list-item .title{font-weight:var(--weight-bold);font-size:var(--text-list-title);line-height:var(--leading-control)}.list-item .meta{font-size:var(--text-sm);line-height:var(--leading-body);color:var(--ink-soft);margin-top:3px}.assignment-list-search{max-width:520px;margin-top:var(--space-4)}.assignment-list-filter-grid{gap:var(--space-3);margin-top:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.assignment-list-filter-grid .field{min-width:0;margin:0}.assignment-list-filter-grid .assignment-list-search{grid-column:1/-1;max-width:none;margin:0}.assignment-list-summary{margin-bottom:var(--space-3);color:var(--ink-soft);font-size:var(--text-sm);line-height:var(--leading-body)}.assignment-list-items{min-width:0}.assignment-search-empty{padding-block:var(--space-8)}.assignment-pagination{justify-content:center;align-items:center;gap:var(--space-2);min-width:0;margin-top:var(--space-4);flex-wrap:wrap;display:flex}.assignment-pagination-button{min-width:var(--control-height)}.btn.ghost.assignment-pagination-button.active{border-color:var(--steel);background:var(--steel);color:#fff}@media (hover:hover){.btn.ghost.assignment-pagination-button.active:not(:disabled):hover{background:var(--steel)}}@media (width<=600px){.assignment-list-search{max-width:none}.assignment-list-filter-grid{grid-template-columns:minmax(0,1fr)}.assignment-list-filter-grid .assignment-list-search{grid-column:1}.assignment-list-summary{white-space:normal}.assignment-pagination-button{min-height:var(--touch-target)}}.badge{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:var(--leading-control);white-space:nowrap;border-radius:20px;justify-content:center;align-items:center;padding:4px 10px;display:inline-flex}.status{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:var(--leading-control);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;display:inline-flex}.badge.done{background:var(--status-success-soft);color:var(--status-success)}.badge.pending{background:var(--status-warning-soft);color:var(--status-warning)}.status-success{background:var(--status-success-soft);color:var(--status-success)}.status-warning{background:var(--status-warning-soft);color:var(--status-warning)}.status-danger{background:var(--status-danger-soft);color:var(--status-danger)}.status-neutral{background:var(--steel-soft);color:var(--steel)}.problem-block{border:1px solid var(--paper-line);border-radius:var(--radius-control);background:#fff;min-width:0;margin-bottom:12px;padding:14px 16px}.problem-block .phead{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.student-solve-problem{gap:var(--space-2);display:grid}.student-solve-problem .phead{gap:var(--space-2);flex-wrap:wrap;min-width:0;margin-bottom:0}.student-answer-control{min-width:0;overflow-y:auto}.student-answer-editable{height:var(--control-height);min-height:var(--control-height);resize:vertical}.student-answer-readonly,.student-answer-editable[readonly]{min-height:var(--touch-target);background:var(--steel-soft);color:var(--ink-soft);resize:none}@media (width<=600px){.student-solve-problem{padding:var(--space-3)}.student-answer-editable{height:var(--touch-target);min-height:var(--touch-target)}}.phead .pnum{font-family:var(--font-serif);color:var(--red);font-weight:700}.prow{align-items:center;gap:8px;margin-bottom:8px;display:flex}.prow .pnum-badge{background:var(--steel-soft);width:26px;height:26px;color:var(--steel);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex}.prow .pnum-input{flex-shrink:0;width:110px}.prow .pans-input{flex:1}.prow .btn.small{flex-shrink:0;padding:8px 11px}.mark{font-family:var(--font-serif);color:var(--red);text-align:center;min-width:26px;font-size:20px;font-weight:900;display:inline-block}.mark.slash{transform:rotate(-6deg)}.mark.dash{color:var(--ink-soft);font-weight:400}.tag{font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--leading-control);background:var(--red-soft);color:var(--red);border-radius:10px;margin-left:6px;padding:2px 8px;font-weight:700;display:inline-block}.empty{text-align:center;color:var(--ink-soft);padding:40px 10px}.empty .stamp{opacity:.5;margin:0 auto 14px}.login-wrap{width:70%;max-width:480px;margin:60px auto 0}body.login-page{background-image:url(/assets/images/login-background.png);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}body.app-page,body.maintenance-page{background-image:url(/assets/images/app-background.png);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}body.maintenance-page #app{min-height:100dvh;padding-block:var(--space-8);place-items:center;display:grid}.maintenance-wrap{width:100%;max-width:560px}.maintenance-card{padding:var(--space-10) var(--space-8);text-align:center;margin:0}.maintenance-stamp{margin:0 auto var(--space-5)}.maintenance-card h1{margin:0 0 var(--space-4)}.maintenance-card p{color:var(--ink-soft);line-height:var(--leading-relaxed);margin:0}.initial-loading-screen{z-index:2000;background-color:var(--paper);opacity:1;background-image:url(/assets/images/app-background.png);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;transition:opacity .22s,transform .22s;position:fixed;inset:0;transform:translateY(0)}body.initial-loading-active #app{opacity:0;transition:opacity .22s ease-out,transform .22s ease-out;transform:translateY(6px)}body.initial-screen-transition .initial-loading-screen{opacity:0;pointer-events:none;transform:translateY(-4px)}body.initial-screen-transition #app{opacity:1;transform:translateY(0)}body.login-transition-out #app{opacity:0;pointer-events:none;transition:opacity .16s ease-in,transform .16s ease-in;transform:translateY(-4px)}body.app-transition-enter #app{opacity:0;pointer-events:none;transition:opacity .2s ease-out,transform .2s ease-out;transform:translateY(6px)}body.app-transition-enter.app-transition-enter-active #app{opacity:1;transform:translateY(0)}body.logout-transition-out #app{opacity:0;pointer-events:none;transition:opacity .12s ease-in,transform .12s ease-in;transform:translateY(-4px)}body.logout-transition-enter #app{opacity:0;pointer-events:none;transition:opacity .18s ease-out,transform .18s ease-out;transform:translateY(6px)}body.logout-transition-enter.logout-transition-enter-active #app{opacity:1;transform:translateY(0)}.app-tab-content.app-tab-transition-enter{opacity:0;transition:opacity .2s ease-out,transform .2s ease-out;transform:translateY(6px)}.app-tab-content.app-tab-transition-enter.app-tab-transition-enter-active{opacity:1;transform:translateY(0)}.app-tab-content.teacher-detail-transition-out{opacity:0;transition:opacity .16s ease-in,transform .16s ease-in;transform:translateY(-4px)}.app-tab-content.teacher-detail-transition-enter{opacity:0;transition:opacity .2s ease-out,transform .2s ease-out;transform:translateY(6px)}.app-tab-content.teacher-detail-transition-enter.teacher-detail-transition-enter-active{opacity:1;transform:translateY(0)}body.teacher-detail-transition-running .nav,body.teacher-detail-transition-running .app-tab-content{pointer-events:none}@media (prefers-reduced-motion:reduce){body.login-transition-out #app,body.app-transition-enter #app,body.app-transition-enter.app-transition-enter-active #app,body.initial-loading-active #app,body.initial-screen-transition #app,.initial-loading-screen,body.initial-screen-transition .initial-loading-screen,body.logout-transition-out #app,body.logout-transition-enter #app,body.logout-transition-enter.logout-transition-enter-active #app,.app-tab-content.app-tab-transition-out,.app-tab-content.app-tab-transition-enter,.app-tab-content.app-tab-transition-enter.app-tab-transition-enter-active,.app-tab-content.teacher-detail-transition-out,.app-tab-content.teacher-detail-transition-enter,.app-tab-content.teacher-detail-transition-enter.teacher-detail-transition-enter-active{opacity:1;transition:none;transform:none}}.teacher-profile-email-field .teacher-profile-email-input[readonly]{border-color:var(--paper-line);background:var(--steel-soft);color:var(--ink-soft);cursor:default}.teacher-profile-email-field .teacher-profile-email-input[readonly]:focus-visible{border-color:var(--paper-line);outline:1px solid var(--paper-line);outline-offset:1px}.role-group{gap:16px;margin-bottom:6px;display:flex}.role-group label{align-items:center;gap:6px;font-size:14px;display:flex}.divider{text-align:center;color:var(--ink-soft);margin:20px 0;font-size:12px;position:relative}.divider:before,.divider:after{content:"";background:var(--paper-line);width:40%;height:1px;position:absolute;top:50%}.divider:before{left:0}.divider:after{right:0}.overlay{z-index:1000;background:#22303f8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.overlay-inner{border-radius:var(--radius-panel);background:#fff;flex-direction:column;width:100%;min-width:0;max-width:800px;max-height:90vh;display:flex;overflow:hidden}.overlay-head{border-bottom:1px solid var(--paper-line);font-size:var(--text-body);font-weight:var(--weight-bold);line-height:var(--leading-control);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.overlay-head button{font-size:14px;line-height:var(--leading-control);color:var(--ink-soft);background:0 0;border:none}.overlay-body{flex:1;padding:16px;overflow:auto}.overlay-inner>.btn{align-self:flex-start;margin:0 16px 16px}.hint{font-size:var(--text-sm);line-height:var(--leading-body);color:var(--ink-soft);margin-top:-6px;margin-bottom:14px}.form-message,[id$=Error],[id$=Success]{width:100%;max-width:100%;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-body);text-align:left;overflow-wrap:anywhere;border-left:3px solid;padding:1px 0 1px 10px;margin:var(--space-2) 0 var(--space-3)!important}.form-error,[id$=Error]{color:var(--status-danger)!important}.form-warning{color:var(--status-warning)!important}.form-success,[id$=Success]{color:var(--status-success)!important}.form-info{color:var(--steel)!important}.form-helper{margin:var(--space-1) 0 var(--space-3);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:var(--leading-body);overflow-wrap:anywhere;border-left:0;padding:0}.privacy-policy-wrap{width:100%;max-width:760px;margin-top:var(--space-8)}.privacy-policy-document{box-shadow:none;font-size:var(--text-body);line-height:var(--leading-relaxed);word-break:keep-all;overflow-wrap:anywhere;padding:30px 34px}.privacy-policy-back{margin-bottom:var(--space-5)}.privacy-policy-document>h2:first-of-type{margin:0 0 var(--space-2);font-size:var(--text-page-title);line-height:var(--leading-tight)}.privacy-policy-document h3{margin:var(--space-8) 0 var(--space-3);font-size:var(--text-card-title);line-height:var(--leading-tight)}.privacy-policy-document h4{margin:var(--space-5) 0 var(--space-2);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-list-title);font-weight:var(--weight-bold);line-height:var(--leading-control)}.privacy-policy-document p{margin:0 0 var(--space-4);line-height:var(--leading-relaxed)}.privacy-policy-document>.hint{margin:0 0 var(--space-6);font-size:var(--text-sm);line-height:var(--leading-body)}.privacy-policy-document ul,.privacy-policy-document ol{margin:var(--space-2) 0 var(--space-5);padding-left:24px}.privacy-policy-document li{margin-bottom:var(--space-2);padding-left:var(--space-1);line-height:var(--leading-relaxed)}.privacy-policy-document li:last-child{margin-bottom:0}.privacy-policy-document li>ul,.privacy-policy-document li>ol{margin:var(--space-2) 0;padding-left:var(--space-5)}.privacy-policy-document strong{font-weight:var(--weight-bold)}.filebox{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filebox .fname{font-size:var(--text-sm);line-height:var(--leading-body);color:var(--steel);overflow-wrap:anywhere;min-width:0;font-weight:600}footer.foot{text-align:center;font-size:var(--text-xs);line-height:var(--leading-body);color:var(--ink-soft);margin-top:40px}.loading{text-align:center;color:var(--ink-soft);padding:80px 10px}body.app-navigation-pending:after{content:"";z-index:1000;background:var(--red);height:3px;position:fixed;top:0;left:0;right:0}body.app-navigation-pending #app{cursor:progress}.tag.correct{color:var(--status-success);background:var(--status-success-soft)}.tag.wrong{color:var(--status-danger);background:var(--status-danger-soft)}.tag.pending{color:var(--status-warning);background:var(--status-warning-soft)}.mark{color:var(--status-success)}.mark.slash{color:var(--status-danger)}.mark.dash{color:var(--status-warning)}.result-row{border:1px solid var(--paper-line);background:#fff;border-radius:9px;align-items:stretch;gap:0;margin:10px 0;padding:0;display:flex;overflow:hidden}.result-row .mark{width:52px;min-width:52px;font-family:var(--font-serif);color:#15803d;text-align:center;background:#f0f9f2;justify-content:center;align-items:center;margin:0;font-size:24px;font-weight:900;display:flex}.result-row .mark.slash{color:#b91c1c;background:#fff1f1;transform:none}.result-row .mark.dash{color:#92400e;background:#fff8e7;font-weight:700}.result-row .rbody{flex:1;min-width:0;padding:14px 16px}.result-row .rq{font-size:var(--text-list-title);font-weight:var(--weight-bold);line-height:var(--leading-control);color:var(--ink);justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.result-row .ra{font-size:var(--text-sm);line-height:var(--leading-body);color:var(--ink-soft);gap:8px;margin-top:4px;display:flex}.result-row .tag{font-size:var(--text-xs);font-weight:var(--weight-bold);border-radius:999px;flex-shrink:0;margin-left:auto;padding:3px 9px}.result-row .tag.correct{color:var(--status-success);background:var(--status-success-soft)}.result-row .tag.wrong{color:var(--status-danger);background:var(--status-danger-soft)}.result-row .tag.pending{color:var(--status-warning);background:var(--status-warning-soft)}.student-management-card{padding-bottom:var(--space-5)}.student-management-notice{margin-bottom:var(--space-4);padding:var(--space-3) 14px;border:1px solid var(--paper-line);border-radius:var(--radius);background:#ffffff7a}.student-search-field{max-width:440px}.student-status-tabs{gap:var(--space-1);margin:var(--space-4) 0 var(--space-5);padding:var(--space-1);border:1px solid var(--paper-line);border-radius:var(--radius);background:#22303f09;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.student-status-tabs button{min-width:0;min-height:var(--control-height);border-radius:var(--radius-control);white-space:normal;overflow-wrap:anywhere;border:0;padding:9px 10px}.student-status-tabs button.active{background:var(--paper-card);box-shadow:var(--card-shadow);border-bottom-color:#0000}.student-management-list-wrap{min-width:0}.academy-filter-tabs{flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0 18px;display:flex}.class-filter-tabs{margin-top:var(--space-2)}.academy-filter-btn{color:#5e6b7c;height:auto;min-height:36px;font-family:var(--font-sans);font-size:14px;font-weight:var(--weight-bold);white-space:normal;overflow-wrap:anywhere;cursor:pointer;background:#fff;border:1px solid #ddd8cd;border-radius:999px;padding:7px 16px;line-height:1.4;transition:background .15s,border-color .15s,color .15s,transform .15s}.academy-filter-btn:hover{background:#f8f6f1;border-color:#cfc7b9}.academy-filter-btn.active{color:#fff;background:#253447;border-color:#253447}.academy-filter-btn:active{transform:scale(.97)}.student-list-summary{margin-bottom:var(--space-3);color:var(--ink-soft);font-size:var(--text-sm);line-height:var(--leading-body)}.pending-bulk-actions{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--paper-line);border-radius:var(--radius);background:#ffffff7a;grid-template-columns:minmax(0,1fr) auto;display:grid}.affiliation-page-selection-bar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-3);border:1px solid var(--paper-line);border-radius:var(--radius);background:#ffffff6b;display:flex}.affiliation-page-selection-control,.affiliation-student-card-content,.affiliation-student-checkbox{align-items:center;display:flex}.affiliation-page-selection-control{min-height:var(--control-height);gap:var(--space-2);font-weight:var(--weight-bold);cursor:pointer}.affiliation-page-selection-control input,.affiliation-student-checkbox input{width:20px;height:20px;accent-color:var(--steel);flex:none;margin:0}:is(.affiliation-page-selection-control:has(input:disabled),.affiliation-student-checkbox:has(input:disabled)){cursor:not-allowed;opacity:.6}.affiliation-selection-count{color:var(--ink-soft);font-size:var(--text-sm);line-height:var(--leading-body);white-space:nowrap}.affiliation-bulk-actions{align-items:end;gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.affiliation-bulk-heading{gap:var(--space-1);grid-column:1/-1;align-self:center;min-width:0;display:grid}.affiliation-bulk-heading .hint{margin:0}.affiliation-bulk-field{min-width:0;margin:0!important}.affiliation-bulk-submit{white-space:nowrap}.affiliation-bulk-buttons{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}.affiliation-bulk-buttons .btn{min-width:0}.pending-bulk-selection,.pending-page-selection-control,.pending-bulk-buttons,.pending-student-card-content{align-items:center;display:flex}.pending-bulk-selection{gap:var(--space-4);flex-wrap:wrap;min-width:0}.pending-page-selection-control{min-height:var(--control-height);gap:var(--space-2);font-weight:var(--weight-bold);cursor:pointer}.pending-page-selection-control input,.pending-student-checkbox input{width:20px;height:20px;accent-color:var(--steel);flex:none;margin:0}:is(.pending-page-selection-control:has(input:disabled),.pending-student-checkbox:has(input:disabled)){cursor:not-allowed;opacity:.6}.pending-selection-count{color:var(--ink-soft);font-size:var(--text-sm);line-height:var(--leading-body);white-space:nowrap}.pending-bulk-buttons{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.pending-student-card-content{gap:var(--space-3);flex:auto;align-items:flex-start;min-width:0}.pending-student-card-content .student-card-main{flex:auto}.pending-student-assignment-controls{max-width:520px}.pending-student-card-action{flex-wrap:wrap}.affiliation-student-card-content{gap:var(--space-3);flex:auto;align-items:flex-start;min-width:0}.affiliation-student-card-content .student-card-main{flex:auto}.affiliation-student-checkbox{min-width:var(--control-height);min-height:var(--control-height);cursor:pointer;justify-content:center}.pending-student-checkbox{min-width:var(--control-height);min-height:var(--control-height);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.student-list{border-top:0;gap:10px;min-width:0;display:grid}.student-pagination{justify-content:center;align-items:center;gap:var(--space-2);min-width:0;margin-top:var(--space-4);flex-wrap:wrap;display:flex}.student-pagination-button{min-width:var(--control-height)}.btn.ghost.student-pagination-button.active{border-color:var(--steel);background:var(--steel);color:#fff}@media (hover:hover){.btn.ghost.student-pagination-button.active:not(:disabled):hover{background:var(--steel)}}.student-card{border:1px solid var(--paper-line);border-radius:var(--radius);cursor:pointer;background:#ffffff6b;justify-content:space-between;align-items:center;gap:20px;min-width:0;min-height:108px;padding:16px;transition:background .15s;display:flex}.student-card:hover{background:#fff}.student-card-main{min-width:0}.student-card-name{font-size:17px;font-weight:var(--weight-bold);color:var(--ink);overflow-wrap:anywhere;align-items:center;gap:7px;display:flex}.student-icon{font-size:17px}.student-card-meta{font-size:var(--text-sm);line-height:var(--leading-body);color:var(--ink-soft);overflow-wrap:anywhere;margin-top:5px}.meta-dot{margin:0 4px}.student-card-bottom{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.student-affiliation-controls{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.student-affiliation-controls .field{min-width:0;margin:0}.student-affiliation-controls select,.affiliation-bulk-field select,.teacher-coupon-filter-grid select,.class-management-academy-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 26px),calc(100% - 21px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:42px}.academy-badge{background:var(--steel-soft);max-width:100%;min-height:25px;color:var(--steel);font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:normal;overflow-wrap:anywhere;border-radius:6px;align-items:center;padding:3px 9px;line-height:1.4;display:inline-flex}.academy-badge.unassigned{color:#887966;background:#f4f1eb}.student-joined{font-size:var(--text-xs);line-height:var(--leading-body);color:var(--ink-soft)}.student-card-action{flex-shrink:0;align-items:center;gap:12px;display:flex}.student-status-btn{min-height:36px;color:var(--ink-soft);border-color:var(--paper-line);white-space:nowrap;background:0 0;font-weight:var(--weight-medium)!important}.student-card-arrow{color:#b4b6ba;font-size:25px;line-height:1;transition:transform .15s}.class-management-card{margin-top:var(--space-4)}.academy-class-management-sections{gap:var(--space-5);display:grid}.organization-management-section h3,.organization-management-section>.hint{margin-top:0}.organization-management-list{gap:var(--space-2);display:grid}.organization-management-list .list-item{padding:var(--space-3);border:1px solid var(--paper-line);border-radius:var(--radius-control);background:var(--paper-card);cursor:default}.organization-management-info,.organization-management-edit-input{min-width:0}.organization-management-info{flex:auto}.organization-management-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex:none;display:flex}.organization-management-edit-input{flex:auto;width:auto;margin:0}.academy-management-toolbar{margin-top:var(--space-4)}.class-management-toolbar{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto var(--touch-target);column-gap:var(--space-3);margin-top:var(--space-3);align-items:stretch;row-gap:5px;display:grid}.class-management-label{color:var(--ink-soft);font-size:var(--text-label);font-weight:var(--weight-medium);line-height:var(--leading-control);grid-area:1/1}.class-management-input{width:100%;height:var(--touch-target);min-height:var(--touch-target);grid-area:2/1;margin:0}.class-management-add-button{height:var(--touch-target);min-height:var(--touch-target);grid-area:2/2;align-self:stretch;margin:0}@media (width<=600px){.class-management-toolbar{grid-template-columns:minmax(0,1fr);grid-template-rows:auto var(--touch-target) var(--touch-target)}.class-management-label{grid-area:1/1}.class-management-input{grid-area:2/1}.class-management-add-button{width:100%;margin-top:var(--space-2);grid-area:3/1}}.class-management-list{margin-top:18px}.class-management-list .list-item{cursor:default}.student-report-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2);border:1px solid var(--paper-line);border-radius:var(--radius);background:#ffffff6b;flex-wrap:wrap;margin-bottom:14px;display:flex}.student-detail-navigation{min-width:0;margin-bottom:var(--space-2);justify-content:flex-start;align-items:center;display:flex}.student-detail-navigation .btn{min-height:var(--control-height)}.student-report-actions .btn{height:var(--touch-target);min-height:var(--touch-target);padding:0 var(--space-4);vertical-align:middle;justify-content:center;align-items:center;margin:0;line-height:1;display:inline-flex}.student-detail-report-card{min-width:0}.student-detail-header{min-width:0;padding-bottom:var(--space-4)!important}.student-detail-header>*{min-width:0}.student-detail-header>div:first-child{flex-direction:column;align-items:flex-start;display:flex}.student-detail-kicker,.student-detail-header>div:first-child>div:first-child{margin:0 0 var(--space-1)!important;font-size:var(--text-xs)!important;font-weight:var(--weight-bold)!important;line-height:var(--leading-control)!important}.student-detail-name,.student-detail-header>div:first-child>h2{margin:0 0 var(--space-2)!important;font-size:var(--text-page-title)!important;font-weight:var(--weight-bold)!important;line-height:var(--leading-tight)!important}.student-detail-meta,.student-detail-header>div:first-child>.hint{font-size:var(--text-sm)!important;font-weight:var(--weight-regular)!important;line-height:var(--leading-body)!important;margin:0!important}.student-detail-meta+.student-detail-meta,.student-detail-header>div:first-child>.hint+.hint{margin-top:var(--space-1)!important}.student-detail-joined,.student-detail-header>.hint{font-size:var(--text-sm)!important;font-weight:var(--weight-regular)!important;line-height:var(--leading-body)!important;margin:0!important}.student-report-controls{align-items:start;gap:var(--space-3) var(--space-4);grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid;margin-top:var(--space-5)!important}.student-report-controls>.student-report-actions{background:0 0;border:0;grid-area:1/2;align-self:center;margin:0;padding:0}.student-report-control-row{grid-area:1/1;grid-template-columns:minmax(180px,320px);min-width:0;align-items:end!important;gap:var(--space-4)!important;display:grid!important}.student-report-control-row>*{min-width:0}.student-report-range-field{width:100%;max-width:320px}.student-report-granularity{min-width:0}.student-report-granularity-buttons{grid-template-columns:repeat(2,minmax(65px,1fr));gap:6px!important;display:grid!important}.student-report-granularity-buttons .btn{min-height:var(--control-height)}.student-report-custom-range{grid-area:2/1/auto/-1;grid-template-columns:repeat(2,minmax(160px,1fr));max-width:640px;gap:var(--space-3)!important;display:grid!important}.student-report-date-field{min-width:0}.student-report-date-control{min-width:0;position:relative}.student-report-date-display{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-height);border:1px solid var(--paper-line);border-radius:var(--radius-control);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-regular);font-variant-numeric:tabular-nums;line-height:var(--leading-control);text-align:left;cursor:pointer;background:#fff;padding:9px 11px;display:flex}.student-report-date-label{color:var(--ink-soft);font-size:var(--text-label);font-weight:var(--weight-medium);line-height:var(--leading-control);margin-bottom:5px;display:block}.student-report-date-value{min-width:0}.student-report-date-icon{font-size:var(--text-body);flex:none;line-height:1}.student-report-date-control:focus-within .student-report-date-display{outline:3px solid var(--steel);outline-offset:2px}.student-report-calendar-popup{top:calc(100% + var(--space-2));z-index:40;width:340px;max-width:calc(100vw - 24px);padding:var(--space-4);border:1px solid var(--paper-line);border-radius:var(--radius-panel);background:var(--paper-card);position:absolute;left:0;box-shadow:0 8px 24px #22303f1f}.student-report-calendar-popup.align-end{left:auto;right:0}.student-report-calendar-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:40px minmax(0,1fr) 40px;display:grid}.student-report-calendar-month-button{border:1px solid var(--paper-line);border-radius:var(--radius-control);background:var(--paper-card);width:40px;height:40px;color:var(--steel);font-family:var(--font-sans);font-size:var(--text-page-title);font-weight:var(--weight-bold);cursor:pointer;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.student-report-calendar-month-button:hover{background:var(--steel-soft)}.student-report-calendar-month-label{color:var(--ink);font-size:var(--text-body);font-weight:var(--weight-bold);line-height:var(--leading-control);text-align:center}.student-report-calendar-weekdays,.student-report-calendar-days{gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.student-report-calendar-weekdays{margin-bottom:var(--space-1)}.student-report-calendar-weekdays>div{padding-bottom:var(--space-1);color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:var(--leading-control);text-align:center}.student-report-calendar-weekdays .is-sunday,.student-report-calendar-day.is-sunday{color:var(--red)}.student-report-calendar-weekdays .is-saturday,.student-report-calendar-day.is-saturday{color:var(--steel)}.student-report-calendar-day,.student-report-calendar-blank{min-width:0;min-height:40px}.student-report-calendar-day{border-radius:var(--radius-control);width:100%;color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-regular);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.student-report-calendar-day:hover:not(:disabled){background:var(--steel-soft)}.student-report-calendar-day.is-today:not(.is-selected){border-color:var(--steel)}.student-report-calendar-day.is-selected{border-color:var(--steel);background:var(--steel);color:var(--paper-card);font-weight:var(--weight-bold)}.student-report-calendar-day:disabled{opacity:.35;cursor:not-allowed}.student-learning-period{margin-top:var(--space-1);color:var(--ink-soft);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:var(--leading-body);overflow-wrap:anywhere}.student-learning-granularity{align-items:center;gap:var(--space-2);min-width:0;margin-top:var(--space-3);flex-wrap:wrap;display:flex}.student-learning-control-label{color:var(--ink-soft);font-size:var(--text-label);font-weight:var(--weight-medium);line-height:var(--leading-control)}.student-learning-granularity .student-report-granularity-buttons{width:auto}.student-learning-granularity .btn.secondary,.student-detail-report-card button[onclick*=changeStudentReportDisplayMode].secondary{background:var(--steel);border-color:var(--steel);color:#fff}@media (hover:hover){.student-detail-report-card .student-learning-granularity .btn.secondary:not(:disabled):hover,.student-detail-report-card button[onclick*=changeStudentReportDisplayMode].secondary:not(:disabled):hover{background:var(--steel);border-color:var(--steel);color:#fff;filter:brightness(.96)}}.student-detail-report-card button[onclick*=changeStudentReportDisplayMode]{min-height:var(--control-height)}.student-detail-report-card button[onclick*=changeStudentReportDisplayMode][onclick*=trend]{order:1}.student-detail-report-card button[onclick*=changeStudentReportDisplayMode][onclick*=calendar]{order:2}.student-report-summary-grid,.student-monthly-summary-grid{min-width:0}.student-report-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:18px;display:grid}.student-monthly-summary-grid{margin-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.student-report-summary-grid>div{grid-template-rows:var(--space-6) auto var(--space-6);row-gap:var(--space-1);min-width:0;min-height:108px;padding:var(--space-4);border:1px solid var(--paper-line);border-radius:var(--radius-panel);text-align:center;background:#ffffff6b;align-content:center;justify-items:center;display:grid}.student-monthly-summary-grid>div{border:1px solid var(--paper-line);border-radius:var(--radius-panel);text-align:center;background:#ffffff6b;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:108px;padding:14px;display:flex}.student-learning-section{padding-top:var(--space-5);border-top:1px solid var(--paper-line);margin-top:26px}.student-learning-header,.student-learning-calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.student-learning-header{gap:var(--space-3);margin-bottom:var(--space-5)}.student-learning-heading{margin:0 0 var(--space-1)!important}.student-learning-help{margin:var(--space-3) 0 0!important}.student-learning-view-buttons,.student-learning-calendar-actions,.student-learning-calendar-legend{flex-wrap:wrap;display:flex}.student-learning-view-buttons{gap:6px}.student-learning-trend-title{margin:0 0 5px!important}.student-learning-trend-description{margin:0 0 18px!important}.student-learning-calendar-header{margin-bottom:var(--space-4);gap:10px}.student-learning-calendar-header h3{margin:0!important}.student-learning-calendar-actions{gap:var(--space-2)}.student-learning-calendar-legend{margin-top:var(--space-4);gap:10px}.student-learning-monthly-summary{margin-top:var(--space-5);border-top:1px solid var(--paper-line);padding-top:18px}.student-learning-monthly-summary h3{margin:0 0 6px!important}.student-report-chart{width:100%;min-width:0;margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--paper-line);border-radius:var(--radius-panel);background:#ffffff6b}.student-report-chart-legend{align-items:center;gap:var(--space-4);min-width:0;margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.student-report-chart-legend-item{align-items:center;gap:6px;display:flex}.student-report-chart-legend-line{flex:none;width:18px;height:3px}.student-report-chart-legend-line.submission{background:var(--chart-submission)}.student-report-chart-legend-line.accuracy{background:var(--chart-accuracy)}.student-report-chart-scroll,.student-report-table-scroll,.student-learning-calendar-scroll{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;overflow:auto hidden}.student-report-chart-scroll,.student-report-table-scroll{padding-bottom:var(--space-2);scrollbar-gutter:stable}.student-report-chart-svg{width:100%;min-width:var(--student-report-chart-min-width);max-width:none;height:auto;display:block}.student-report-table-scroll{border:1px solid var(--paper-line);border-radius:var(--radius-control);background:var(--paper-card);margin-top:18px;padding-bottom:0}.student-report-table-scroll table{border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;width:100%;min-width:620px!important}.student-report-table-scroll.student-report-table-scroll th,.student-report-table-scroll.student-report-table-scroll td{vertical-align:middle;text-align:center!important;border-bottom:1px solid var(--paper-line)!important;width:20%!important;padding:10px 12px!important}.student-report-table-scroll th{background:var(--paper);color:var(--ink-soft);font-weight:var(--weight-bold);white-space:nowrap}.student-report-table-scroll th:first-child,.student-report-table-scroll td:first-child,.student-report-table-scroll th:not(:first-child),.student-report-table-scroll td:not(:first-child){white-space:nowrap}.student-report-table-scroll tbody tr:last-child td{border-bottom:0!important}.assignment-editor{min-width:0}.assignment-title-field{max-width:640px}.assignment-deadline-panel{min-width:0}.assignment-deadline-toggle{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-control);font-weight:var(--weight-bold)!important}.assignment-deadline-controls{grid-template-columns:repeat(2,minmax(0,max-content));min-width:0;align-items:end!important;gap:var(--space-6)!important;display:grid!important}.assignment-deadline-group,.assignment-date-controls,.assignment-time-controls{min-width:0}.assignment-date-controls select,.assignment-time-controls select,.assignment-list-filter-grid select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 26px),calc(100% - 21px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:42px!important}.assignment-deadline-preview{max-width:100%;line-height:var(--leading-body);overflow-wrap:anywhere}.assignment-sections{min-width:0}.assignment-section-card{min-width:0;padding:var(--space-4);background:#ffffff6b}.assignment-section-header{grid-template-columns:minmax(0,1fr) auto;min-width:0;align-items:center!important;gap:var(--space-2)!important;display:grid!important}.assignment-section-header input{min-width:0}.assignment-editor .prow{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) 0;grid-template-columns:26px 110px minmax(180px,1fr) auto;display:grid}.assignment-editor .prow .pnum-badge,.assignment-editor .prow .pnum-input,.assignment-editor .prow .pans-input,.assignment-editor .prow .btn.small{width:auto;min-width:0;margin:0}.assignment-editor .prow .pnum-input,.assignment-editor .prow .pans-input{width:100%}.problem-row-insert{top:calc(0px - var(--space-1));z-index:1;width:100%;min-width:0;height:0;position:relative}.problem-row-insert:before{z-index:0;border-top:1px solid var(--paper-line);content:"";opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,visibility 0s linear .15s;position:absolute;top:0;left:0;right:0}.problem-row-insert:after{top:calc(0px - var(--space-3));right:0;bottom:calc(0px - var(--space-3));z-index:0;content:"";position:absolute;left:0}.problem-row-insert-button{z-index:2;width:var(--space-6);height:var(--space-6);appearance:none;border:1px solid var(--paper-line);border-radius:var(--radius-control);background:var(--paper-card);color:var(--steel);font:inherit;cursor:pointer;opacity:0;pointer-events:none;justify-content:center;align-items:center;padding:0;font-weight:700;line-height:1;transition:opacity .15s,border-color .15s,background-color .15s;display:inline-flex;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.problem-row-insert:hover:before,.problem-row-insert:focus-within:before{opacity:1;visibility:visible;transition-delay:0s}.problem-row-insert:hover .problem-row-insert-button,.problem-row-insert:focus-within .problem-row-insert-button{opacity:1;pointer-events:auto}@media (hover:hover){.problem-row-insert-button:hover{border-color:var(--steel);background:var(--steel-soft)}}@media (hover:none) and (pointer:coarse){.problem-row-insert-button{opacity:.65;pointer-events:auto}.problem-row-insert-button:after{content:"";position:absolute;inset:-10px}}.assignment-editor .stu-check{min-width:0;padding:var(--space-3) 0}.assignment-editor .stu-check input[type=checkbox]{flex:none;width:18px;height:18px}.assignment-editor .assignment-student-label{min-width:0}.assignment-editor .assignment-student-name,.assignment-editor .assignment-student-meta{overflow-wrap:anywhere}.assignment-recipient-empty{padding-block:var(--space-6)}.assignment-target-class-tree,.assignment-target-exceptions{gap:var(--space-3);min-width:0;display:grid}.assignment-target-academy,.assignment-target-exception-panel{min-width:0;padding:var(--space-4);border:1px solid var(--paper-line);border-radius:var(--radius-panel);background:#ffffff6b}.assignment-target-academy>h4,.assignment-target-exception-heading>h4{margin:0}.assignment-target-class-list{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.assignment-target-class-group{min-width:0;padding:var(--space-3);border:1px solid var(--paper-line);border-radius:var(--radius-control);background:var(--paper-card)}.assignment-target-class-option,.assignment-target-student-option{align-items:flex-start;gap:var(--space-2);cursor:pointer;min-width:0;display:flex}.assignment-target-class-option input,.assignment-target-student-option input{flex:none;width:18px;height:18px;margin:2px 0 0}.assignment-target-class-option>span,.assignment-target-student-option>span{gap:var(--space-1);min-width:0;display:grid}.assignment-target-class-option strong,.assignment-target-student-option strong{font-size:var(--text-body);line-height:var(--leading-control);overflow-wrap:anywhere}.assignment-target-class-option small,.assignment-target-student-option small{color:var(--ink-soft);font-size:var(--text-sm);line-height:var(--leading-body);overflow-wrap:anywhere}.assignment-target-child-list{gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3) 0 0 var(--space-4);border-top:1px solid var(--paper-line);display:grid}.assignment-target-child-list input:disabled+span{opacity:.72}.assignment-target-exceptions{margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-target-exception-heading{gap:var(--space-1);margin-bottom:var(--space-3);display:grid}.assignment-target-exception-heading .hint{margin:0}.assignment-target-selected-summary{gap:var(--space-2);min-width:0;margin-bottom:var(--space-3);display:grid}.assignment-target-selected-label{color:var(--ink-soft);font-size:var(--text-label);font-weight:var(--weight-bold);line-height:var(--leading-control)}.assignment-target-selected-chips{gap:var(--space-1);flex-wrap:wrap;min-width:0;display:flex}.assignment-target-selected-chip{white-space:normal;overflow-wrap:anywhere;max-width:100%}label.field.assignment-target-student-search{margin:0 0 var(--space-3)}.assignment-target-student-list{gap:var(--space-2);max-height:280px;display:grid;overflow-y:auto}.assignment-target-student-option{padding:var(--space-2);border-radius:var(--radius-control)}.assignment-target-student-option:hover{background:var(--steel-soft)}.assignment-target-exception-empty{padding-block:var(--space-4)}.assignment-target-summary{margin:var(--space-3) 0 0}@media (width<=600px){.assignment-target-academy,.assignment-target-exception-panel{padding:var(--space-3)}.assignment-target-class-list,.assignment-target-exceptions{grid-template-columns:minmax(0,1fr)}.assignment-target-child-list{padding-left:var(--space-3)}}.assignment-editor .file-upload-wrap,.assignment-editor .file-upload-box{min-width:0}.assignment-editor .upload-file-item{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.assignment-editor .upload-file-item>*{min-width:0}.assignment-editor .upload-file-item>:first-child{overflow-wrap:anywhere}.assignment-editor>.row:last-child{padding-top:var(--space-4);border-top:1px solid var(--paper-line);justify-content:flex-end;margin-top:var(--space-6)!important}.assignment-editor button[onclick*=saveAssignment],.assignment-editor button[onclick*=updateAssignment]{min-height:var(--touch-target)}:is(#app:has(>.teacher-assignment-detail-marker)>.btn.ghost.small,#app:has(>.teacher-submission-detail-marker)>.btn.ghost.small){min-height:var(--control-height);margin-bottom:var(--space-3)!important}:is(#app:has(>.teacher-assignment-detail-marker)>.card,#app:has(>.teacher-submission-detail-marker)>.card){min-width:0}:is(#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-summary-card,#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-submissions-card){padding:var(--space-6)}:is(#app:has(>.teacher-assignment-detail-marker)>.card:first-of-type>h2:first-child,#app:has(>.teacher-submission-detail-marker)>.card:first-of-type>h2:first-child){font-size:var(--text-page-title);line-height:var(--leading-tight);overflow-wrap:anywhere}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-title{font-size:var(--text-page-title);line-height:var(--leading-tight);margin-bottom:var(--space-2);overflow-wrap:anywhere}:is(#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-summary-header,#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-meta-group){min-width:0;display:grid}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-summary-header{gap:var(--space-2)}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-title{margin:0}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-meta-group{gap:var(--space-1)}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-meta{margin:0!important}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-file-section{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--paper-line)}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-file-section+.teacher-assignment-file-section{margin-top:var(--space-4)}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-file-label{margin-bottom:var(--space-2);color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:var(--leading-control)}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-file-empty{margin:0!important}:is(#app:has(>.teacher-assignment-detail-marker) .filebox,#app:has(>.teacher-submission-detail-marker) .filebox){align-items:center;min-width:0}:is(#app:has(>.teacher-assignment-detail-marker) .filebox .fname,#app:has(>.teacher-submission-detail-marker) .filebox .fname){overflow-wrap:anywhere;flex:240px;min-width:0}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-file-list{gap:var(--space-2)}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-file-button{text-align:left;white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--paper-line)}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-submissions-card>h3{margin-bottom:var(--space-4)}#app:has(>.teacher-submission-detail-marker) .teacher-grading-section-title{margin-bottom:var(--space-4)}.teacher-assignment-submissions-card .teacher-submission-class-groups{align-items:start;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.teacher-assignment-submissions-card .teacher-submission-class-group{border:1px solid var(--paper-line);border-radius:var(--radius-panel);background:var(--paper-card);width:100%;min-width:0;box-shadow:var(--card-shadow);overflow:hidden}.teacher-assignment-submissions-card .teacher-submission-class-group.is-expanded{grid-column:1/-1}.teacher-assignment-submissions-card .teacher-submission-class-toggle{appearance:none;align-content:start;gap:var(--space-3);box-sizing:border-box;width:100%;min-width:0;min-height:128px;padding:var(--space-4);border-radius:inherit;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;transition:background-color .15s;display:grid}.teacher-assignment-submissions-card .teacher-submission-class-toggle:focus-visible{outline:3px solid var(--steel);outline-offset:-3px}.teacher-assignment-submissions-card .teacher-submission-class-heading{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--steel);font-size:var(--text-section-title);font-weight:var(--weight-bold);line-height:var(--leading-control);display:flex}.teacher-assignment-submissions-card .teacher-submission-class-heading>strong{overflow-wrap:anywhere;min-width:0}.teacher-assignment-submissions-card .teacher-submission-class-heading>span{flex:none}.teacher-assignment-submissions-card .teacher-submission-class-count{font-size:var(--text-card-title);font-weight:var(--weight-bold);line-height:var(--leading-tight);display:block}.teacher-assignment-submissions-card .teacher-submission-class-status{display:block}.teacher-assignment-submissions-card .teacher-submission-class-group.is-expanded .teacher-submission-class-toggle{background:var(--steel-soft)}.teacher-assignment-submissions-card .teacher-submission-class-list{min-width:0;padding:0 var(--space-4);border-top:1px solid var(--paper-line)}@media (hover:hover){.teacher-assignment-submissions-card .teacher-submission-class-toggle:hover{background:var(--steel-soft)}}#app:has(>.teacher-assignment-detail-marker) .list-item{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}#app:has(>.teacher-assignment-detail-marker) .list-item>*{min-width:0}:is(#app:has(>.teacher-assignment-detail-marker) .list-item .title,#app:has(>.teacher-assignment-detail-marker) .list-item .meta){overflow-wrap:anywhere}#app:has(>.teacher-assignment-detail-marker) .teacher-submission-list-item{cursor:default}#app:has(>.teacher-assignment-detail-marker) .teacher-submission-list-item.is-actionable{cursor:pointer}#app:has(>.teacher-assignment-detail-marker) .teacher-submission-list-item:not(.is-actionable):hover{background:0 0}#app:has(>.teacher-assignment-detail-marker) .teacher-submission-row-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}#app:has(>.teacher-assignment-detail-marker) .teacher-submission-open-action{white-space:nowrap}:is(#app:has(>.teacher-assignment-detail-marker) .list-item>.btn,#app:has(>.teacher-assignment-detail-marker) .list-item>.badge){justify-self:end}:is(#app:has(>.teacher-assignment-detail-marker) .card>.row,#app:has(>.teacher-submission-detail-marker) .card>.row),:is(#app:has(>.teacher-submission-detail-marker) .problem-block,#app:has(>.teacher-submission-detail-marker) .result-answer-card,#app:has(>.teacher-submission-detail-marker) .result-row){min-width:0}#app:has(>.student-detail-report-card) .teacher-submission-row-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);min-width:0;display:flex}#app:has(>.student-detail-report-card) .student-assignment-record-item:focus-visible{outline:3px solid var(--steel);outline-offset:2px}#app:has(>.teacher-submission-detail-marker) .teacher-submission-empty-message{margin:var(--space-3) 0 0!important}#app:has(>.teacher-submission-detail-marker) .teacher-submission-viewer-context{padding:var(--space-4) var(--space-5)}#app:has(>.teacher-submission-detail-marker) .teacher-submission-viewer-heading{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}#app:has(>.teacher-submission-detail-marker) .teacher-submission-viewer-heading>div{min-width:0}#app:has(>.teacher-submission-detail-marker) .teacher-submission-viewer-heading h2{overflow-wrap:anywhere;margin:0}#app:has(>.teacher-submission-detail-marker) .teacher-submission-viewer-heading .hint{overflow-wrap:anywhere;margin:0}#app:has(>.teacher-submission-detail-marker) .teacher-submission-viewer-heading .hint{margin-top:var(--space-1)}#app:has(>.teacher-submission-detail-marker) .teacher-assignment-source-card>h3{margin-bottom:var(--space-2)}#app:has(>.teacher-submission-detail-marker) .teacher-assignment-source-meta{align-items:center;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}#app:has(>.teacher-submission-detail-marker) .teacher-assignment-source-meta .hint{margin:0!important}#app:has(>.teacher-submission-detail-marker) .teacher-assignment-source-empty{margin:0!important}#app:has(>.teacher-submission-detail-marker) .teacher-assignment-source-files{gap:var(--space-4);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--paper-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}#app:has(>.teacher-submission-detail-marker) .teacher-assignment-source-file-section{min-width:0}#app:has(>.teacher-submission-detail-marker) .teacher-assignment-source-label{margin-bottom:var(--space-2);color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:var(--leading-control)}#app:has(>.teacher-submission-detail-marker) .teacher-assignment-source-file-list{gap:var(--space-2)}#app:has(>.teacher-submission-detail-marker) .teacher-assignment-source-file-button{text-align:left;white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-section>h3{margin-bottom:var(--space-3)}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-problem{display:flex}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-problem:last-child{margin-bottom:0}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-problem .result-answer-head{margin-bottom:var(--space-3)}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-problem.is-correct{background:var(--status-success-soft)}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-problem.is-wrong{background:var(--status-danger-soft)}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-problem.is-neutral{background:var(--steel-soft)}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-problem .result-answer-body{min-width:0}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-problem .result-answer-line{gap:var(--space-3);grid-template-columns:max-content minmax(0,1fr);display:grid}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-problem .result-answer-line span{width:auto}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-status{border-right:1px solid var(--paper-line);font-size:var(--text-stat-compact);font-weight:var(--weight-bold);text-align:center;flex:none;line-height:1}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-status.correct{color:var(--status-success);background:0 0}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-status.wrong{color:var(--status-danger);background:0 0}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-status.pending{color:var(--ink-soft);background:0 0}#app:has(>.teacher-submission-detail-marker) .problem-block{padding:var(--space-4)}#app:has(>.teacher-submission-detail-marker) .problem-block .phead{gap:var(--space-3);flex-wrap:wrap}#app:has(>.teacher-submission-detail-marker) .problem-block textarea{overflow-wrap:anywhere;min-width:0}#app:has(>.teacher-submission-detail-marker) .result-answer-body{overflow-wrap:anywhere;min-width:0}#app:has(>.teacher-submission-detail-marker) .result-answer-line strong{overflow-wrap:anywhere;min-width:0}#app:has(>.teacher-submission-detail-marker) .teacher-grading-answer{margin:var(--space-2) 0;border-radius:var(--radius-control)}#app:has(>.teacher-submission-detail-marker) .teacher-grading-answer .rq{overflow-wrap:anywhere;min-width:0}#app:has(>.teacher-submission-detail-marker) .teacher-grading-answer .ra{align-items:start;gap:var(--space-2);grid-template-columns:max-content minmax(0,1fr);display:grid}#app:has(>.teacher-submission-detail-marker) .teacher-answer-label{color:var(--ink-soft)}#app:has(>.teacher-submission-detail-marker) .teacher-answer-value{min-width:0;color:var(--ink);font-weight:var(--weight-medium);overflow-wrap:anywhere}#app:has(>.teacher-submission-detail-marker) .teacher-grading-result{margin-top:var(--space-2);justify-content:flex-end;display:flex}#app:has(>.teacher-submission-detail-marker) .teacher-grading-result .tag{margin-left:0}#app:has(>.teacher-submission-detail-marker) .teacher-grading-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}:is(#app:has(>.teacher-submission-detail-marker) .badge,#app:has(>.teacher-submission-detail-marker) .tag){flex:none}#app:has(>.teacher-submission-detail-marker) img{max-width:100%;height:auto;display:block}#app:has(>.teacher-assignment-detail-marker)>.card:first-of-type>.row:last-child{justify-content:flex-end}@media (width<=600px){:is(#app:has(>.teacher-assignment-detail-marker)>.btn.ghost.small,#app:has(>.teacher-submission-detail-marker)>.btn.ghost.small){min-height:var(--touch-target)}:is(#app:has(>.teacher-assignment-detail-marker)>.card:first-of-type>h2:first-child,#app:has(>.teacher-submission-detail-marker)>.card:first-of-type>h2:first-child){font-size:var(--text-card-title)}:is(#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-summary-card,#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-submissions-card){padding:var(--space-4)}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-title{font-size:var(--text-card-title)}.teacher-assignment-submissions-card .teacher-submission-class-groups{grid-template-columns:minmax(0,1fr)}#app:has(>.teacher-submission-detail-marker) .teacher-submission-viewer-context{padding:var(--space-4)}#app:has(>.teacher-submission-detail-marker) .teacher-submission-viewer-heading{flex-direction:column;align-items:stretch}#app:has(>.teacher-submission-detail-marker) .teacher-submission-viewer-heading>.badge{align-self:flex-start}:is(#app:has(>.teacher-assignment-detail-marker) .filebox,#app:has(>.teacher-submission-detail-marker) .filebox){flex-direction:column;align-items:stretch}:is(#app:has(>.teacher-assignment-detail-marker) .filebox .fname,#app:has(>.teacher-submission-detail-marker) .filebox .fname){flex-basis:auto;width:100%}:is(#app:has(>.teacher-assignment-detail-marker) .filebox .btn,#app:has(>.teacher-submission-detail-marker) .filebox .btn){width:100%;min-height:var(--touch-target);white-space:normal}#app:has(>.teacher-assignment-detail-marker) .teacher-assignment-actions{gap:var(--space-2)}#app:has(>.teacher-assignment-detail-marker) .list-item{align-items:stretch;gap:var(--space-3);padding:var(--space-4) 0;grid-template-columns:minmax(0,1fr)}:is(#app:has(>.teacher-assignment-detail-marker) .list-item>.btn,#app:has(>.teacher-assignment-detail-marker) .list-item>.badge){justify-self:stretch}#app:has(>.teacher-assignment-detail-marker) .list-item>.btn{width:100%;min-height:var(--touch-target)}#app:has(>.teacher-assignment-detail-marker) .list-item>.badge{width:fit-content}#app:has(>.teacher-assignment-detail-marker) .teacher-submission-row-actions{grid-template-columns:minmax(0,1fr);justify-items:start;width:100%;display:grid}#app:has(>.teacher-assignment-detail-marker) .teacher-submission-row-actions .teacher-submission-open-action{width:100%;min-height:var(--touch-target);white-space:normal}#app:has(>.student-detail-report-card) .teacher-submission-row-actions{flex-direction:column;align-items:stretch}#app:has(>.student-detail-report-card) .teacher-submission-row-actions .btn{width:100%;min-height:var(--touch-target)}#app:has(>.teacher-submission-detail-marker) .teacher-assignment-source-files{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}#app:has(>.teacher-submission-detail-marker) .teacher-assignment-source-file-button{width:100%;min-height:var(--touch-target)}#app:has(>.teacher-assignment-detail-marker)>.card:first-of-type>.row:last-child{align-items:stretch}#app:has(>.teacher-assignment-detail-marker)>.card:first-of-type>.row:last-child .btn{width:100%;min-height:var(--touch-target)}#app:has(>.teacher-submission-detail-marker) .problem-block{padding:var(--space-3)}#app:has(>.teacher-submission-detail-marker) .problem-block .phead{flex-wrap:wrap;align-items:flex-start}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-problem .result-answer-head{flex-wrap:nowrap;align-items:center}#app:has(>.teacher-submission-detail-marker) .problem-block .row{align-items:stretch}#app:has(>.teacher-submission-detail-marker) .problem-block .row .btn{width:100%;min-height:var(--touch-target)}#app:has(>.teacher-submission-detail-marker) .teacher-grading-actions{flex-direction:column;align-items:stretch}#app:has(>.teacher-submission-detail-marker) .teacher-grading-result{justify-content:flex-start}#app:has(>.teacher-submission-detail-marker) .teacher-grading-actions .btn{width:100%;min-height:var(--touch-target)}}@media (width<=380px){#app:has(>.teacher-submission-detail-marker) .teacher-grading-answer .ra{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}#app:has(>.teacher-submission-detail-marker) .teacher-student-assignment-problem .result-answer-line{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}}.student-learning-calendar-scroll{padding:2px 0 var(--space-2)}.student-learning-calendar-grid{width:100%;min-width:0}.student-calendar-weekday,.student-calendar-cell,.student-calendar-event{min-width:0}.student-calendar-event{overflow:hidden}.student-calendar-event>*{max-width:100%}.student-calendar-cell{box-shadow:var(--card-shadow)}.student-calendar-cell-empty{box-shadow:none}.student-report-summary-grid>div>div:not(.hint){line-height:1.1;font-size:var(--text-stat)!important;font-weight:var(--weight-bold)!important;margin:0!important}.student-report-summary-grid>div>.hint{text-align:center;justify-content:center;align-items:center;display:flex;margin:0!important}.student-monthly-summary-grid>div>div:not(.hint){line-height:1.15;font-size:var(--text-stat-compact)!important;font-weight:var(--weight-bold)!important}.student-calendar-weekday,.student-calendar-cell>div:first-child{line-height:var(--leading-control);font-weight:var(--weight-bold)!important}.student-calendar-event{font-size:var(--text-xs)!important;line-height:var(--leading-control)!important}.student-calendar-event>div:first-child{font-weight:var(--weight-bold)!important}.student-report-chart-legend,.student-report-table-scroll table{line-height:var(--leading-body);font-size:var(--text-sm)!important}.student-card:hover .student-card-arrow{transform:translate(3px)}.student-empty{text-align:center;color:#8c929b;padding:50px 20px}.stu-check{align-items:flex-start;gap:10px;padding:10px 0;display:flex}.stu-check input[type=checkbox]{margin-top:3px}.assignment-student-label{cursor:pointer;flex-direction:column;gap:3px;display:flex}.assignment-student-name{font-size:var(--text-list-title);font-weight:var(--weight-bold);line-height:var(--leading-control);color:#263446}.assignment-student-meta{font-size:var(--text-xs);color:#7d8794;line-height:var(--leading-control)}.file-upload-wrap{margin-bottom:14px}.file-upload-input{display:none}.file-upload-box{border:1px dashed var(--paper-line);background:#fff;border-radius:9px;align-items:center;gap:14px;width:100%;padding:16px 18px;display:flex}.file-upload-icon{background:var(--steel-soft);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.file-upload-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.file-upload-text strong{font-size:14px;font-weight:var(--weight-bold);line-height:var(--leading-control);color:var(--ink)}.file-upload-text span{font-size:var(--text-xs);line-height:var(--leading-body);color:var(--ink-soft)}.file-upload-button{border:1px solid var(--paper-line);background:var(--paper-card);color:var(--steel);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:var(--leading-control);white-space:nowrap;cursor:pointer;border-radius:7px;padding:7px 12px;transition:background .15s,border-color .15s}.file-upload-button:hover{background:var(--steel-soft);border-color:var(--steel)}.file-empty-text{font-size:var(--text-sm);line-height:var(--leading-body);color:var(--ink-soft)}.result-summary-card{padding:24px}.result-summary-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.result-summary-head h2{margin-bottom:4px}.result-submit-time{font-size:var(--text-sm);line-height:var(--leading-body);color:var(--ink-soft);margin:0}.result-score{text-align:right;flex-shrink:0}.result-score strong{font-size:var(--text-stat);color:var(--ink);line-height:1.1;font-weight:var(--weight-bold);display:block}.result-score strong span{color:var(--ink-soft);font-size:16px;font-weight:var(--weight-medium)}.result-score small{font-size:var(--text-xs);line-height:var(--leading-control);color:var(--ink-soft)}.result-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px;display:grid}.result-stat{background:#3b5b7a0f;border-radius:8px;padding:11px 12px}.result-stat span{font-size:var(--text-xs);line-height:var(--leading-control);color:var(--ink-soft);margin-bottom:3px;display:block}.result-stat strong{font-size:16px;font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--ink)}.correct-text{color:var(--status-success)!important}.wrong-text{color:var(--status-danger)!important}.pending-text{color:var(--status-warning)!important}.result-deadline{margin-top:var(--space-1);margin-bottom:0}.result-file-empty,.student-assignment-deadline-notice .hint,.student-assignment-existing-notice .hint{margin:0}.student-assignment-deadline-notice{border-color:var(--status-danger-soft);background:var(--status-danger-soft)}.coupon-card,.coupon-panel{min-width:0}.teacher-coupon-management-layout{gap:var(--space-4);grid-template-columns:minmax(220px,.72fr) minmax(0,1.3fr);align-items:start;display:grid}.teacher-coupon-student-picker,.teacher-coupon-detail{min-width:0}.teacher-coupon-high-balance{margin:var(--space-4) 0}.teacher-coupon-high-balance-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.teacher-coupon-high-balance-header h3,.teacher-coupon-high-balance-empty{margin:0}.teacher-coupon-high-balance-header span{color:var(--ink-soft);font-size:var(--text-label);line-height:var(--leading-control)}.teacher-coupon-high-balance-list{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.teacher-coupon-high-balance-item{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:1px solid var(--paper-line);border-radius:var(--radius-control);background:var(--paper-card);color:var(--ink);font-family:var(--font-sans);text-align:left;display:flex}.teacher-coupon-high-balance-item strong{overflow-wrap:anywhere;min-width:0}.teacher-coupon-high-balance-item span{color:var(--steel);font-size:var(--text-label);font-weight:var(--weight-bold);flex:none}.teacher-coupon-high-balance-empty{margin-top:var(--space-3)}@media (hover:hover){.teacher-coupon-high-balance-item:hover{background:var(--steel-soft)}}.teacher-coupon-search-field{margin:0 0 var(--space-3)!important}.teacher-coupon-filter-grid{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.teacher-coupon-filter-grid .field{min-width:0;margin:0!important}.teacher-coupon-student-list{gap:var(--space-2);overscroll-behavior:contain;max-height:680px;display:grid;overflow-y:auto}.teacher-coupon-student-option{width:100%;min-width:0;padding:var(--space-3);border:1px solid var(--paper-line);border-radius:var(--radius-control);background:var(--paper-card);color:var(--ink);font-family:var(--font-sans);text-align:left}.teacher-coupon-student-option strong,.teacher-coupon-student-option .teacher-coupon-student-affiliation{overflow-wrap:anywhere;display:block}.teacher-coupon-student-name-row{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.teacher-coupon-student-option strong{min-width:0;font-size:var(--text-list-title);font-weight:var(--weight-bold);line-height:var(--leading-control);flex:auto}.teacher-coupon-student-option .teacher-coupon-student-affiliation{margin-top:var(--space-1);color:var(--ink-soft);font-size:var(--text-sm);line-height:var(--leading-body)}.teacher-coupon-stamp-count{flex:none}.teacher-coupon-student-option.active{border-color:var(--steel);background:var(--steel-soft)}@media (hover:hover){.teacher-coupon-student-option:hover{background:var(--steel-soft)}}.teacher-coupon-student-empty,.teacher-coupon-detail-state{padding-block:var(--space-6)}.teacher-coupon-student-summary h3,.teacher-coupon-student-summary .hint{margin:0;margin-top:var(--space-1)}.teacher-coupon-section-label{color:var(--ink-soft);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-control)}.coupon-stamp-history-list{gap:var(--space-3);margin-top:var(--space-4);display:grid}.coupon-stamp-month-group{border:1px solid var(--paper-line);border-radius:var(--radius-control);background:var(--paper-card);min-width:0}.coupon-stamp-month-toggle{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-width:0;min-height:var(--control-height);padding:var(--space-3);appearance:none;border-radius:var(--radius-control);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-list-title);font-weight:var(--weight-bold);line-height:var(--leading-control);text-align:left;background:0 0;border:0;display:flex}.coupon-stamp-month-toggle>span:first-child{overflow-wrap:anywhere;min-width:0}.coupon-stamp-month-toggle-icon{color:var(--steel);flex:none}.coupon-stamp-month-content{gap:var(--space-2);min-width:0;padding:var(--space-3);border-top:1px solid var(--paper-line);display:grid}.coupon-stamp-month-content[hidden]{display:none}@media (hover:hover){.coupon-stamp-month-toggle:hover,.coupon-stamp-week-toggle:hover{background:var(--steel-soft)}}.coupon-stamp-week-group{border:1px solid var(--paper-line);border-radius:var(--radius-control);min-width:0}.coupon-stamp-week-toggle{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-width:0;min-height:var(--control-height);padding:var(--space-2) var(--space-3);appearance:none;border-radius:var(--radius-control);color:var(--ink-soft);font-family:var(--font-sans);font-size:var(--text-label);font-weight:var(--weight-bold);line-height:var(--leading-control);text-align:left;background:0 0;border:0;display:flex}.coupon-stamp-week-toggle>span:first-child{overflow-wrap:anywhere;min-width:0}.coupon-stamp-week-toggle-icon{color:var(--steel);flex:none}.coupon-stamp-week-content{min-width:0;padding:0 var(--space-3) var(--space-2);border-top:1px solid var(--paper-line)}.coupon-stamp-week-content[hidden]{display:none}.coupon-stamp-compact-list{min-width:0}.coupon-stamp-compact-row{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-2) 0;border-bottom:1px solid var(--paper-line);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.coupon-stamp-compact-row:last-child{border-bottom:0}.coupon-stamp-amount{color:var(--steel);font-size:var(--text-label);font-weight:var(--weight-bold);line-height:var(--leading-control)}.coupon-stamp-source{min-width:0}.coupon-stamp-title,.coupon-stamp-usage{overflow-wrap:anywhere;display:block}.coupon-stamp-title{color:var(--ink);font-size:var(--text-body);line-height:var(--leading-body)}.coupon-stamp-usage{margin-top:var(--space-1);color:var(--ink-soft);font-size:var(--text-xs);line-height:var(--leading-body)}.coupon-stamp-compact-row .status{justify-self:end}.student-assignment-record-list{min-width:0}.student-assignment-record-list .student-assignment-record-item{padding:var(--space-2) 0}.student-assignment-record-list .student-assignment-record-item:last-child{border-bottom:0}.student-assignment-record-list .title,.student-assignment-record-list .meta{overflow-wrap:anywhere}.coupon-panel{margin-top:var(--space-5);padding:var(--space-4);border:1px solid var(--paper-line);border-radius:var(--radius-panel);background:#ffffff73}.coupon-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.coupon-card-header h2,.coupon-card-header h3,.coupon-card-header .hint{margin:0}.coupon-card-header .hint{margin-top:var(--space-1)}.coupon-available-count{text-align:right;flex:none}.coupon-available-count strong{color:var(--ink);font-size:var(--text-stat-compact);font-weight:var(--weight-bold);line-height:var(--leading-tight);display:block}.coupon-available-count span{margin-top:var(--space-1);color:var(--ink-soft);font-size:var(--text-xs);line-height:var(--leading-control);display:block}.coupon-student-meta{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--paper-line);display:flex}.coupon-student-meta span{color:var(--ink-soft);font-size:var(--text-label)}.coupon-summary-grid{gap:var(--space-2);margin-top:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.teacher-coupon-panel .coupon-summary-grid{grid-template-columns:minmax(0,1fr)}.coupon-summary-item{min-width:0;padding:var(--space-3);border:1px solid var(--paper-line);border-radius:var(--radius-control);background:var(--paper-card)}.coupon-summary-item span,.coupon-summary-item strong{display:block}.coupon-summary-item span{color:var(--ink-soft);font-size:var(--text-xs);line-height:var(--leading-control)}.coupon-summary-item strong{margin-top:var(--space-1);color:var(--ink);font-size:var(--text-card-title);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.coupon-redemption-form{gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--paper-line);border-radius:var(--radius-control);background:var(--paper-card);grid-template-columns:minmax(140px,.5fr) minmax(220px,1fr);display:grid}.coupon-redemption-form .field{min-width:0;margin:0}.coupon-redemption-memo-field,.coupon-redemption-actions{grid-column:1/-1}.coupon-redemption-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.coupon-history{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--paper-line)}.coupon-history h4{margin:0 0 var(--space-3)}.coupon-history-list{gap:var(--space-2);display:grid}.coupon-history-item{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-3);border:1px solid var(--paper-line);border-radius:var(--radius-control);background:var(--paper-card);display:flex}.coupon-history-item>div{min-width:0}.coupon-history-item strong,.coupon-history-item span{display:block}.coupon-history-item span,.coupon-history-item p{margin:var(--space-1) 0 0;color:var(--ink-soft);font-size:var(--text-xs);line-height:var(--leading-body);overflow-wrap:anywhere}.coupon-history-item>b{color:var(--steel);font-size:var(--text-label);flex:none}.coupon-history-empty{padding-block:var(--space-4)}.result-explain-area{border-top:1px solid var(--paper-line);margin-top:20px;padding-top:16px}.result-explain-title{font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:var(--leading-control);color:var(--ink-soft);margin-bottom:8px}.result-file-list{flex-wrap:wrap;gap:8px;display:flex}.student-result-file-list{grid-template-columns:minmax(0,1fr);gap:0;display:grid}.student-result-file-row{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-2) 0;border-bottom:1px solid var(--paper-line);grid-template-columns:minmax(0,1fr) auto;display:grid}.student-result-file-row:last-child{border-bottom:0}.student-result-file-name{min-width:0;color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-body);overflow-wrap:anywhere}.student-result-file-actions{align-items:center;gap:var(--space-2);display:flex}.result-file-save-hint{margin:var(--space-2) 0 0}.submission-review-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.submission-review-heading,.submission-review-actions,.submission-review-item{min-width:0}.submission-review-heading h3,.submission-review-heading .hint{margin:0}.submission-review-heading .hint{margin-top:var(--space-1)}.submission-review-actions label{cursor:pointer}.submission-review-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));min-width:0;margin-top:18px;display:grid}.submission-review-item{border:1px solid var(--paper-line);border-radius:var(--radius-panel);background:#fff;overflow:hidden}.submission-review-preview{background:0 0;border:0;width:100%;max-width:none;padding:0;display:block}.submission-review-image,.submission-review-image-fallback{aspect-ratio:4/3;width:100%;display:block}.submission-review-image{object-fit:cover}.submission-review-image-fallback{padding:var(--space-3);color:var(--ink-soft);font-size:var(--text-xs);line-height:var(--leading-body);text-align:center;justify-content:center;align-items:center;display:flex}.submission-review-caption{min-width:0;padding:10px}.submission-review-filename{min-width:0;color:var(--ink);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:var(--leading-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.submission-review-delete{margin-top:var(--space-2)}.submission-review-empty{margin-top:18px}.result-section-title{margin-bottom:14px!important}.result-answer-card{border:1px solid var(--paper-line);background:#fff;border-radius:9px;margin-bottom:10px;display:flex;overflow:hidden}.result-answer-card:last-child{margin-bottom:0}.result-mark{width:54px;min-width:54px;font-family:var(--font-serif);justify-content:center;align-items:center;font-size:24px;font-weight:900;display:flex}.result-mark.correct{color:var(--status-success);background:#f0f9f2}.result-mark.wrong{color:var(--status-danger);background:#fff1f1}.result-mark.pending{color:var(--status-warning);background:#fff8e7}.result-answer-body{flex:1;min-width:0;padding:13px 15px}.result-answer-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.result-answer-head strong{font-size:var(--text-body);line-height:var(--leading-control)}.result-answer-line{font-size:var(--text-sm);line-height:var(--leading-body);gap:12px;margin-top:4px;display:flex}.result-answer-line span{width:auto;min-width:36px;color:var(--ink-soft);flex-shrink:0}.result-answer-line strong{overflow-wrap:anywhere;min-width:0;font-weight:var(--weight-medium);color:var(--ink)}.result-answer-line.correct-answer strong{color:#b91c1c}.result-answer-note{font-size:var(--text-xs);line-height:var(--leading-body);color:var(--ink-soft);margin:8px 0 0}@media (width>=601px) and (width<=960px){#app{padding:24px 18px 64px}.nav{row-gap:0}}@media (width<=600px){#app{padding:20px 14px 56px}body.maintenance-page #app{padding:var(--space-4)}.maintenance-card{padding:var(--space-8) var(--space-4)}.topbar{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column}.brand{gap:var(--space-3);width:100%;margin-bottom:0}.stamp{width:46px;height:46px;font-size:18px}.brand-text h1{font-size:20px}.who{text-align:left;width:100%}.nav{gap:0 var(--space-1);margin-bottom:var(--space-4)}.nav button:not(.logout){min-height:var(--touch-target);flex:auto;padding:10px 8px}.nav .spacer{display:none}.nav .logout{min-height:var(--control-height);text-align:right;flex:1 0 100%;padding:8px 4px}.card{padding:var(--space-4);margin-bottom:var(--space-3)}.row{flex-direction:column;align-items:stretch}.row>.btn,.row>button{width:100%}.toolbar{align-items:stretch;gap:var(--space-2)}.toolbar>.btn,.toolbar>button{width:100%}.surface-panel{padding:14px}label.field{margin-bottom:var(--space-3)}input[type=text],input[type=email],input[type=password],input[type=search],input[type=date],input[type=time],input[type=number],input[type=file],textarea,select,.btn{min-height:var(--touch-target)}input[type=text],input[type=email],input[type=password],input[type=search],input[type=date],input[type=time],input[type=number],textarea,select{font-size:16px!important}.btn.small{min-height:var(--control-height)}.btn.assignment-pagination-button{min-height:var(--touch-target)}.list-item{flex-direction:column;align-items:stretch;gap:10px;padding:14px 0}.list-item>.btn{align-self:stretch}.prow{flex-wrap:wrap}.prow .pans-input{flex:100%;order:3}.prow .btn.small{order:4;margin-left:auto}.file-upload-box{flex-wrap:wrap;align-items:flex-start;padding:14px}.file-upload-button{width:100%;min-height:var(--control-height)}.academy-filter-btn{min-height:var(--touch-target)}.overlay{padding:10px}.overlay-head{align-items:flex-start;gap:var(--space-3)}.overlay-head>span{overflow-wrap:anywhere;min-width:0}.overlay-body{padding:var(--space-3)}.form-message,[id$=Error],[id$=Success]{padding-left:var(--space-2);font-size:var(--text-sm);margin:var(--space-2) 0 var(--space-3)!important}.privacy-policy-wrap{margin-top:0}.privacy-policy-document{padding:var(--space-4);line-height:var(--leading-relaxed)}.privacy-policy-back{width:auto;min-height:var(--control-height);margin-bottom:var(--space-4)}.privacy-policy-document>h2:first-of-type{margin-bottom:var(--space-2);font-size:20px}.privacy-policy-document h3{margin-top:var(--space-6);margin-bottom:var(--space-3)}.privacy-policy-document h4{margin-top:var(--space-5)}.privacy-policy-document p{margin-bottom:var(--space-3)}.privacy-policy-document>.hint{margin-bottom:var(--space-5)}.privacy-policy-document ul,.privacy-policy-document ol{margin-bottom:var(--space-4);padding-left:20px}.privacy-policy-document li{padding-left:2px}.privacy-policy-document li>ul,.privacy-policy-document li>ol{padding-left:var(--space-4)}.coupon-card-header,.coupon-history-item{flex-direction:column;align-items:stretch}.teacher-coupon-management-layout,.teacher-coupon-high-balance-list{grid-template-columns:minmax(0,1fr)}.teacher-coupon-high-balance-item{min-height:var(--touch-target)}.teacher-coupon-filter-grid{grid-template-columns:minmax(0,1fr)}.teacher-coupon-student-list{max-height:280px}.teacher-coupon-student-option,.coupon-stamp-month-toggle,.coupon-stamp-week-toggle{min-height:var(--touch-target)}.coupon-card-header>.btn{width:100%;min-height:var(--touch-target)}.coupon-available-count{text-align:left}.coupon-summary-grid,.coupon-redemption-form{grid-template-columns:minmax(0,1fr)}.coupon-redemption-memo-field,.coupon-redemption-actions{grid-column:1}.coupon-redemption-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.coupon-redemption-actions .btn{width:100%;min-height:var(--touch-target)}.coupon-history-item>b{align-self:flex-start}.coupon-stamp-compact-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.coupon-stamp-compact-row .status{grid-column:2;justify-self:start}.student-result-file-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.student-result-file-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.student-result-file-actions .btn{width:100%;min-width:0;min-height:var(--touch-target)}.result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.result-summary-head{align-items:center}.submission-review-header{flex-direction:column;align-items:stretch}.submission-review-actions,.submission-review-actions .btn{width:100%}.submission-review-actions .btn{min-height:var(--touch-target)}.result-score strong{font-size:var(--text-stat)}.result-mark{width:44px;min-width:44px}}@media (width<=380px){#app{padding-inline:12px}.card{padding:14px}.result-stats{grid-template-columns:1fr}}@media (width<=600px){.student-search-field{max-width:none}.pending-bulk-actions{grid-template-columns:minmax(0,1fr);align-items:stretch}.affiliation-page-selection-bar{flex-wrap:wrap;align-items:center}.affiliation-page-selection-control,.affiliation-student-checkbox{min-height:var(--touch-target)}.affiliation-bulk-actions{grid-template-columns:minmax(0,1fr);align-items:stretch}.affiliation-bulk-submit{width:100%;min-height:var(--touch-target)}.affiliation-bulk-buttons{grid-column:1;grid-template-columns:minmax(0,1fr);display:grid}.affiliation-bulk-buttons .btn{width:100%;min-height:var(--touch-target);white-space:normal}.pending-bulk-selection{justify-content:space-between}.pending-page-selection-control,.pending-student-checkbox{min-height:var(--touch-target)}.pending-bulk-buttons{grid-template-columns:minmax(0,1fr);display:grid}.pending-bulk-buttons .btn{width:100%;min-width:0;min-height:var(--touch-target)}.student-status-tabs{gap:var(--space-1);margin:var(--space-3) 0 var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.student-status-tabs button{min-height:var(--touch-target);padding-inline:var(--space-2);font-size:14px}.academy-filter-tabs{gap:var(--space-2);margin:var(--space-4) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.academy-filter-btn{width:100%;min-width:0;min-height:var(--touch-target);padding:8px 10px}.student-pagination-button{min-height:var(--touch-target)}.student-list{gap:var(--space-3)}.student-card{align-items:stretch;gap:var(--space-3);flex-direction:column;min-height:0;padding:14px}.student-card-main,.pending-student-card-content,.affiliation-student-card-content,.student-card-name,.student-card-meta,.student-card-bottom,.student-affiliation-controls{min-width:0;max-width:100%}.pending-student-card-content{width:100%}.student-affiliation-controls{grid-template-columns:minmax(0,1fr)}.student-card-bottom{align-items:flex-start;gap:6px}.student-card-action{width:100%;min-width:0;padding-top:var(--space-3);border-top:1px solid var(--paper-line);flex-wrap:wrap}.student-card-action .btn{min-width:0;min-height:var(--touch-target);white-space:normal;flex:140px}.student-card-arrow{align-self:center;margin-left:auto}.class-management-toolbar{grid-template-columns:minmax(0,1fr);align-items:stretch}.class-management-toolbar>.btn{width:100%;min-height:var(--touch-target)}.class-management-list .list-item{flex-direction:row;align-items:center}.class-management-list .list-item>.btn{min-height:var(--touch-target)}.organization-management-list .list-item,.organization-management-edit-row{flex-direction:column;align-items:stretch}.organization-management-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.organization-management-actions .btn,.organization-management-edit-input{width:100%;min-height:var(--touch-target)}}@media (width<=380px){.student-status-tabs,.academy-filter-tabs,.pending-bulk-buttons{grid-template-columns:minmax(0,1fr)}}@media (width>=601px) and (width<=960px){.student-report-summary-grid,.student-monthly-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.student-report-control-row{align-items:flex-end}}@media (width<=600px){.student-report-actions{padding:var(--space-2);grid-template-columns:minmax(0,1fr);justify-content:stretch;display:grid}.student-report-actions .btn,.student-report-actions button{width:100%;min-width:0;min-height:var(--touch-target);white-space:normal}.student-detail-header{flex-direction:column;align-items:stretch!important;gap:var(--space-3)!important}.student-detail-header>.hint{text-align:left!important;white-space:normal!important}.student-report-controls{gap:var(--space-3);grid-template-columns:minmax(0,1fr);padding:14px!important}.student-report-controls>.student-report-actions{grid-area:2/1;width:100%}.student-report-control-row{grid-area:1/1;align-items:stretch!important;gap:var(--space-3)!important;grid-template-columns:minmax(0,1fr)!important;display:grid!important}.student-report-range-field{max-width:none}.student-report-granularity,.student-report-granularity-buttons{width:100%}.student-report-granularity-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.student-report-granularity-buttons .btn{min-height:var(--touch-target)}.student-report-custom-range{grid-area:3/1;max-width:none;grid-template-columns:minmax(0,1fr)!important}.student-report-date-display{min-height:var(--touch-target)}.student-report-calendar-popup,.student-report-calendar-popup.align-end{width:340px;max-width:calc(100vw - 28px);padding:var(--space-3);left:50%;right:auto;transform:translate(-50%)}.student-learning-granularity{align-items:stretch;gap:var(--space-2);flex-direction:column}.student-learning-granularity .student-report-granularity-buttons{width:100%}.student-report-control-row>*,.student-report-control-row .field,.student-report-control-row select,.student-report-control-row input{width:100%;max-width:100%}.student-report-control-row .btn{min-height:var(--touch-target)}.student-report-summary-grid,.student-monthly-summary-grid{gap:var(--space-2)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.student-report-summary-grid>div,.student-monthly-summary-grid>div{min-height:104px;padding:var(--space-3)!important}.student-report-chart-legend{gap:var(--space-3)!important;margin-bottom:var(--space-3)!important}.student-report-chart{margin-top:var(--space-3);padding:var(--space-3)}.student-report-chart-scroll,.student-report-table-scroll{max-width:100%}.student-report-table-scroll table{min-width:600px!important}.student-learning-calendar-scroll{margin-top:var(--space-2);padding-bottom:var(--space-3)}.student-learning-calendar-grid{width:680px;min-width:680px;gap:6px!important}.student-calendar-cell{min-height:104px!important;padding:8px!important}.student-calendar-event{padding:5px 6px!important}}@media (width<=380px){.student-report-actions{grid-template-columns:minmax(0,1fr)}.student-report-summary-grid,.student-monthly-summary-grid{grid-template-columns:minmax(0,1fr)!important}}@media (width<=600px){.assignment-title-field{max-width:none}.assignment-deadline-panel{padding:14px!important}.assignment-deadline-toggle{align-items:flex-start!important}.assignment-deadline-controls{grid-template-columns:minmax(0,1fr);align-items:stretch!important;gap:var(--space-4)!important}.assignment-deadline-group{width:100%}.assignment-date-controls,.assignment-time-controls{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px!important;display:grid!important}.assignment-date-controls select,.assignment-time-controls select{min-width:0;width:100%!important;padding-left:var(--space-2)!important;padding-right:42px!important}.assignment-deadline-preview{width:100%;display:block!important}.assignment-section-card{padding:14px}.assignment-section-header{grid-template-columns:minmax(0,1fr);align-items:stretch!important}.assignment-section-delete{min-height:var(--touch-target);justify-self:end}.assignment-editor .prow{gap:var(--space-2);padding:var(--space-3) 0;border-bottom:0;grid-template-columns:26px minmax(0,1fr);display:grid}.assignment-editor .prow:last-child{border-bottom:0}.assignment-editor .prow .pnum-badge{grid-area:1/1}.assignment-editor .prow .pnum-input{grid-area:1/2}.assignment-editor .prow .pans-input{grid-area:2/1/auto/-1}.assignment-editor .prow .btn.small{min-height:var(--touch-target);grid-area:3/1/auto/-1;justify-self:end}.assignment-editor .stu-check{gap:var(--space-3);padding:var(--space-3) 0}.assignment-editor .stu-check input[type=checkbox]{width:20px;height:20px}.assignment-editor .file-upload-box{flex-direction:column;align-items:stretch}.assignment-editor .file-upload-icon{align-self:flex-start}.assignment-editor .upload-file-item .btn{min-height:var(--touch-target)}.assignment-editor>.row:last-child{align-items:stretch}.assignment-editor>.row:last-child .btn,.assignment-editor button[onclick*=saveAssignment],.assignment-editor button[onclick*=updateAssignment]{width:100%;min-height:var(--touch-target)}}@media (width<=380px){.assignment-date-controls,.assignment-time-controls,.assignment-editor .upload-file-item{grid-template-columns:minmax(0,1fr)}.assignment-editor .upload-file-item .btn{width:100%}}.hwp-viewer-open{overflow:hidden}.hwp-viewer-overlay{z-index:10000;background:#e8eaed;display:none;position:fixed;inset:0}.hwp-viewer-overlay.open{display:block}.hwp-viewer-shell{font-family:var(--font-sans);flex-direction:column;width:100%;height:100%;display:flex;font-size:var(--text-body)!important;line-height:var(--leading-body)!important}.hwp-viewer-header{box-sizing:border-box;background:#fff;border-bottom:1px solid #d9dde3;justify-content:space-between;align-items:center;gap:20px;min-height:66px;padding:10px 20px;display:flex}.hwp-viewer-left{align-items:center;gap:14px;min-width:0;display:flex}.hwp-viewer-close,.hwp-page-button{font-family:var(--font-sans);color:#24272b;cursor:pointer;background:#fff;border:1px solid #d4d8de;border-radius:7px;padding:8px 12px;font-size:13px;font-weight:700;font-size:14px!important;font-weight:var(--weight-bold)!important;line-height:var(--leading-control)!important}.hwp-viewer-close:hover,.hwp-page-button:hover:not(:disabled){background:#f3f4f6}.hwp-page-button:disabled{opacity:.4;cursor:default}.hwp-viewer-title-wrap{min-width:0}.hwp-viewer-filename{text-overflow:ellipsis;white-space:nowrap;color:#22252a;max-width:520px;font-size:14px;font-weight:700;overflow:hidden;font-size:var(--text-list-title)!important;font-weight:var(--weight-bold)!important;line-height:var(--leading-control)!important}.hwp-viewer-status{color:#777d86;margin-top:2px;font-size:11.5px;font-size:var(--text-sm)!important;line-height:var(--leading-body)!important}.hwp-viewer-controls{flex-shrink:0;align-items:center;gap:10px;display:flex}.hwp-page-info{text-align:center;color:#60656d;min-width:70px;font-size:12.5px;font-weight:700;font-size:var(--text-sm)!important;font-weight:var(--weight-medium)!important;line-height:var(--leading-control)!important}.hwp-viewer-body{box-sizing:border-box;flex:1;padding:30px 20px 60px;overflow:auto}.hwp-page-container{background:#fff;width:fit-content;max-width:100%;margin:0 auto;box-shadow:0 3px 18px #00000024}.hwp-page-container svg{max-width:100%;height:auto;display:block}.hwp-viewer-loading,.hwp-viewer-error{box-sizing:border-box;text-align:center;color:#6d737c;background:#fff;border-radius:10px;width:min(520px,100% - 30px);margin:80px auto;padding:32px}.hwp-viewer-error strong{color:#25282d;margin-bottom:8px;display:block}.hwp-viewer-error p{margin:0;font-size:13px}@media (width<=600px){.hwp-viewer-header{padding:10px 12px}.hwp-viewer-filename{max-width:150px}.hwp-viewer-body{padding:16px 8px 40px}.hwp-page-button{padding:7px 8px}}
