/* Teacher-only skin: keep student screens and the approved river image unchanged. */
body:has(.teacher-mode){background:#f5f9f5!important}
main.teacher-mode{font-family:var(--entry-font-family);background:#f5f9f5!important}
main.teacher-mode>#notice:empty{display:none}
main.teacher-mode>#notice:not(:empty){position:fixed;z-index:12;right:24px;bottom:24px;display:block;max-width:min(460px,calc(100% - 48px));margin:0;padding:12px 18px;border:1px solid #d6e4db;border-radius:10px;background:#fff;color:#365c50;box-shadow:0 10px 30px #183b2b16;font-weight:400}
main.teacher-mode #teacher{width:100%;height:100%;min-height:0;overflow:hidden;color:#153c45;font-family:var(--entry-font-family);font-weight:400;animation:none}
main.teacher-mode #teacher .teacher-layout{grid-template-columns:240px minmax(0,1fr);gap:0;width:100%;height:100%;min-height:0}
#teacher .sidebar{display:flex;flex-direction:column;gap:0;height:100%;min-height:0;padding:30px 20px 20px;border:0;border-right:1px solid #dce7df;border-radius:0;background:#ffffffed;box-shadow:none}
#teacher .teacher-brand{display:flex;align-items:center;gap:12px;margin:0 0 32px;padding:0 0 26px;border-bottom:1px solid #e0e9e3}
#teacher .teacher-brand>svg{flex:none;width:48px;height:40px;overflow:hidden}
#teacher .teacher-brand h2{margin:0;color:#113541;font-family:inherit;font-size:23px;font-weight:600;line-height:1.4;letter-spacing:.02em}
#teacher .teacher-brand span{display:block;margin-top:6px;color:#8b9b92;font-size:12px;font-weight:400;letter-spacing:.08em}
#teacher .teacher-sidebar-caption{margin:0 12px 12px;color:#8a9b91;font-size:12px;font-weight:600;letter-spacing:.08em}
#teacher .teacher-nav{display:flex;flex-direction:column;gap:9px}
#teacher .teacher-nav button{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:50px;margin:0;padding:12px 15px;border:1px solid transparent;border-radius:9px;background:transparent;color:#647a72;font-family:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0;text-align:left;box-shadow:none;transform:none}
#teacher .teacher-nav button svg{flex:none;width:21px;height:21px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#teacher .teacher-nav button:hover{background:#f0f7f2;color:#007c6e}
#teacher .teacher-nav button.active{border-color:#d7eadd;background:#e8f5ec;color:#007c6e;box-shadow:none}
#teacher .teacher-sidebar-footer{margin-top:auto;padding-top:28px}
#teacher .teacher-sidebar-footer p{display:flex;align-items:center;gap:8px;margin:0 12px 16px;color:#85998c;font-size:12px}
#teacher .teacher-sidebar-footer p>span{width:7px;height:7px;border-radius:50%;background:#71a78b}
#teacher .teacher-sidebar-footer button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-width:0;margin:0;padding:11px 12px;border:1px solid #d6e3db;border-radius:9px;background:#fff;color:#537166;font-size:14px;font-weight:600;box-shadow:none}
#teacher .teacher-sidebar-footer button svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#teacher .teacher-main{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%}
#teacher .teacher-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;height:78px;padding:0 clamp(24px,3vw,44px);border-bottom:1px solid #e0e9e3;background:#fff}
#teacher .teacher-breadcrumb{display:flex;align-items:center;gap:14px;color:#8a9b92;font-size:14px}
#teacher .teacher-breadcrumb strong{color:#294d45;font-weight:600}
#teacher .teacher-role-badge{display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #dce8df;border-radius:99px;background:#f2f8f3;color:#43806a;font-size:13px;font-weight:600;white-space:nowrap}
#teacher .teacher-role-badge svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
main.teacher-mode #teacher-content{flex:1;min-width:0;min-height:0;overflow:auto;padding:30px clamp(24px,3vw,44px) 36px;background:radial-gradient(ellipse at 50% 30%,#f0f7f0 0,transparent 75%),#f7faf6!important;scrollbar-width:thin}
#teacher h2,#teacher h3,#teacher h4{color:#173c43;font-family:inherit;font-weight:600;letter-spacing:0}
#teacher button{font-family:inherit;font-weight:600;letter-spacing:0;box-shadow:none;transform:none;transition:background-color .15s,border-color .15s,color .15s}
#teacher button:hover{box-shadow:none;transform:none}
#teacher button:disabled{cursor:not-allowed;opacity:.55}
#teacher button:focus-visible{outline:2px solid #008674;outline-offset:3px}
#teacher input,#teacher select,body:has(.teacher-mode) .org-edit-form input,body:has(.teacher-mode) .org-edit-form select{height:46px;margin:8px 0 0;padding:10px 13px;border:1px solid #d0ded5;border-radius:8px;background:#fff;color:#244a42;font-family:var(--entry-font-family);font-size:15px;font-weight:600;line-height:1.5;box-shadow:none}
#teacher input::placeholder,body:has(.teacher-mode) .org-edit-form input::placeholder{color:#9aa89f;font-weight:400;opacity:1}
#teacher input:focus,#teacher select:focus,body:has(.teacher-mode) .org-edit-form input:focus,body:has(.teacher-mode) .org-edit-form select:focus{outline:0;border-color:#008674;box-shadow:0 0 0 3px #00867412}
#teacher select option{font-family:inherit;font-weight:600}
#teacher label{color:#49685b;font-size:14px;font-weight:600;letter-spacing:0}
#teacher .teacher-page-heading,#teacher .org-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 26px}
#teacher .teacher-eyebrow,#teacher .org-eyebrow{margin:0 0 6px;color:#008674;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.05em}
#teacher .teacher-page-heading h2,#teacher .org-header h2{margin:0;color:#163d44;font-size:30px;font-weight:600;line-height:1.5}
#teacher .teacher-page-heading>div>p:last-child,#teacher .org-header>div>p:last-child{margin:8px 0 0;color:#7b8e81;font-size:15px;font-weight:400;line-height:1.7}
#teacher .teacher-panel,#teacher .org-panel{min-width:0;margin:0;border:1px solid #d7e4da;border-radius:13px;background:#ffffffed;box-shadow:0 7px 24px #24442c04}
#teacher .teacher-panel+.teacher-panel{margin-top:24px}
#teacher .teacher-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid #e6eee7}
#teacher .teacher-panel-heading h3{margin:0;color:#264d43;font-size:17px;font-weight:600}
#teacher .teacher-panel-heading>span{color:#8b9c90;font-size:13px;font-weight:400}
#teacher .filters{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(170px,.9fr) auto auto;gap:16px;align-items:end;margin:0;padding:22px 24px 24px}
#teacher .filters button{width:auto;min-width:84px;height:46px;margin:0;padding:10px 20px;border:1px solid #008674;border-radius:8px;background:linear-gradient(115deg,#078b7e,#087166);color:#fff;font-size:15px;font-weight:600;white-space:nowrap}
#teacher .filters button.secondary{border-color:#d0e1d5;background:#fff;color:#678271}
#teacher .filters button:hover{background:#087266}
#teacher .filters button.secondary:hover{background:#edf6ef}
#teacher .teacher-table-panel{overflow:hidden}
#teacher .table-wrap{width:100%;max-height:min(56dvh,640px);overflow:auto;border:0;border-radius:0;scrollbar-width:thin}
#teacher .data-table{width:100%;min-width:960px;background:#fff}
#teacher .data-table th{position:sticky;top:0;z-index:1;background:#f1f7f2;color:#587364;font-size:13px;font-weight:600;letter-spacing:0}
#teacher .data-table th,#teacher .data-table td{padding:16px 18px;border-bottom:1px solid #e7eee8;line-height:1.6}
#teacher .data-table td{color:#446359;font-size:14px;font-weight:400}
#teacher .data-table tbody tr:hover{background:#f8fbf8}
#teacher .data-table td:nth-child(2){color:#244b42;font-weight:600}
#teacher .badge{padding:4px 10px;border-radius:99px;background:#eef3ef;color:#738579;font-size:12px;font-weight:600}
#teacher .badge[data-status="scored"]{background:#e0f3e7;color:#168568}
#teacher .badge[data-status="scoring"],#teacher .badge[data-status="pending"]{background:#fff3d9;color:#a1823c}
#teacher .badge[data-status="failed"]{background:#fbecea;color:#b25d51}
#teacher .data-table td button{min-height:32px;padding:6px 12px;border:1px solid #cde2d4;border-radius:7px;font-size:12px;font-weight:600}
#teacher .score-start{background:#078575!important;border-color:#078575!important;color:#fff}
#teacher .score-view{background:#f0f8f2!important;color:#16816b;border-color:#cde2d4}
#teacher .data-table td button:disabled{background:#eff3ef;color:#7e9084;border-color:#dce5dd;opacity:1}
#teacher .teacher-pagination{gap:8px;margin:0;padding:18px 24px;background:#fff;color:#8a9c8e;font-size:13px}
#teacher .teacher-pagination button{min-width:34px;margin:0;padding:6px 11px;border:1px solid #d7e4da;border-radius:7px;background:#fff;color:#63816c;font-size:13px;font-weight:600}
#teacher .teacher-pagination button.active{border-color:#078674;background:#078674;color:#fff}
#teacher .teacher-pagination .page-summary{margin-right:auto}
#teacher #teacher-notice:empty,#teacher #organization-notice:empty{display:none}
#teacher #teacher-notice:not(:empty){margin:16px 24px 0;padding:12px 15px;border:1px solid #e9e1c9;border-radius:8px;background:#fff9ec;color:#8f7847;font-size:14px;font-weight:400}
#teacher #organization-notice:not(:empty){margin:0 0 18px;padding:12px 16px;border:1px solid #d3e5d9;border-radius:8px;background:#edf8f0;color:#3e7c5e;font-size:14px;font-weight:400}
#teacher .teacher-loading,#teacher .empty{margin:0;padding:46px 24px;border:0;border-radius:0;background:transparent;color:#8b9d8f;font-size:15px;font-weight:400;line-height:1.8;text-align:center}
#teacher .org-page{width:100%;max-width:none;margin:0}
#teacher .org-year{min-width:170px}
#teacher .org-year select{margin-bottom:0}
#teacher .org-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 24px}
#teacher .org-metric{padding:22px 24px;border:1px solid #d6e5da;border-radius:12px;background:#fff;box-shadow:none}
#teacher .org-metric strong{margin-bottom:7px;color:#087f6f;font-size:30px;font-weight:600;line-height:1.2}
#teacher .org-metric span{color:#7f9585;font-size:13px}
#teacher .org-layout{grid-template-columns:minmax(230px,260px) minmax(0,1fr);gap:22px;align-items:start}
#teacher .org-school-panel,#teacher .org-workspace{padding:22px}
#teacher .org-panel-head{margin-bottom:18px}
#teacher .org-panel-head h3{font-size:17px}
#teacher .org-badge{padding:4px 9px;border-radius:99px;background:#e9f4ec;color:#5b9475;font-size:11px;font-weight:600}
#teacher .org-badge.off{background:#f1f3ef;color:#9aa69d}
#teacher .org-school-list{gap:8px;margin-bottom:20px}
#teacher .org-school-item{min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:#f6faf6;color:#607c69;font-size:14px;font-weight:600}
#teacher .org-school-item.active{border-color:#b9ddc9;background:#eaf6ee;color:#147f63}
#teacher .org-add-box{padding:16px;border:1px solid #dce9df;border-radius:10px;background:#f6faf5}
#teacher .org-add-box h4{margin:0 0 12px;color:#54785c;font-size:14px;font-weight:600}
#teacher .org-add-box input{margin-bottom:12px}
#teacher .org-add-box button,#teacher .org-grade-add button,#teacher .org-class-add button:not(.org-mini){min-width:0;margin:0;padding:10px 16px;border:1px solid #078674;border-radius:8px;background:#078674;color:#fff;font-size:14px;font-weight:600}
#teacher .org-title-row{padding-bottom:20px;border-bottom-color:#e4ede5}
#teacher .org-title-row h3{font-size:23px;font-weight:600}
#teacher .org-title-row p{margin-top:6px;color:#8a9c8e;font-size:13px}
#teacher .org-mini{border:1px solid #d3e3d8;border-radius:7px;background:#f1f8f2;color:#4c8a67;font-size:12px;font-weight:600}
#teacher .org-grade-add{gap:14px;padding:22px 0;border-bottom-color:#e4ede5}
#teacher .org-grade-add label{min-width:0}
#teacher .org-grade-card{padding:22px 0;border-bottom-color:#e4ede5}
#teacher .org-grade-head h4{color:#3c6a50;font-size:17px;font-weight:600}
#teacher .org-class-list{gap:8px;margin:16px 0}
#teacher .org-class-chip{padding:7px 12px;border-color:#d1e6d8;border-radius:8px;background:#edf8f0;color:#4b9367;font-size:13px;font-weight:600}
#teacher .org-class-chip.off{border-color:#e2e7e0;background:#f5f7f3;color:#a1aca0}
#teacher .org-class-add{grid-template-columns:minmax(130px,1fr) 82px 82px auto;gap:10px;margin-top:18px;padding:18px;border:1px solid #e1ebe0;border-radius:10px;background:#f6faf5}
#teacher .org-class-add .org-custom{gap:12px}
#teacher .org-class-add input{margin-bottom:0}
#teacher .org-hint{color:#97a78f;font-size:13px;line-height:1.7}
#teacher .teacher-empty-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px;padding:48px 24px;border:1px solid #d7e4da;border-radius:14px;background:#fff;text-align:center}
#teacher .teacher-empty-icon{display:grid;place-items:center;width:88px;height:88px;margin-bottom:20px;border:1px solid #d9eadd;border-radius:24px;background:#eff7f0;color:#549775}
#teacher .teacher-empty-icon svg{width:46px;height:46px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#teacher .teacher-unavailable{padding:4px 11px;border:1px solid #dce7db;border-radius:99px;background:#f5f8f2;color:#8b9c80;font-size:12px;font-weight:600}
#teacher .teacher-empty-panel h3{margin:18px 0 10px;color:#345d49;font-size:23px;font-weight:600}
#teacher .teacher-empty-panel>p{max-width:480px;margin:0 0 26px;color:#8b9d8c;font-size:15px;line-height:1.8}
#teacher .teacher-empty-panel>button{display:flex;align-items:center;gap:14px;min-width:0;margin:0;padding:11px 20px;border:1px solid #078674;border-radius:8px;background:#078674;color:#fff;font-size:15px;font-weight:600}
body:has(.teacher-mode) .modal article{background:#f7faf6!important;font-family:var(--entry-font-family);color:#244b42}
body:has(.teacher-mode) .modal article:has(.org-edit-form),body:has(.teacher-mode) .modal article:has(.score-error-dialog){width:min(640px,calc(100% - 32px));height:auto;max-height:90dvh;overflow:auto;padding:36px;border:1px solid #d4e4d9;border-radius:16px;background:#fff!important}
body:has(.teacher-mode) .modal-close{top:16px;right:16px;width:34px;height:34px;background:#eef6f0;color:#5e8a6e}
body:has(.teacher-mode) .org-edit-form h2{margin:8px 0 24px;color:#214d3d;font-size:27px;font-weight:600}
body:has(.teacher-mode) .org-edit-form .org-eyebrow{color:#6a9c7a;font-size:12px;font-weight:600;letter-spacing:0}
body:has(.teacher-mode) .org-edit-form label{color:#66866c;font-size:14px;font-weight:600}
body:has(.teacher-mode) .org-edit-form input,body:has(.teacher-mode) .org-edit-form select{margin-bottom:20px}
body:has(.teacher-mode) .org-edit-form .org-hint{color:#91a087;font-size:13px;line-height:1.8}
body:has(.teacher-mode) .org-edit-form>button{width:100%;margin:20px 0 0;border-radius:8px;background:#078674;font-family:inherit;font-size:15px;font-weight:600;box-shadow:none}
body:has(.teacher-mode) .score-hero{border:1px solid #d1e5d8;border-radius:14px;background:#e9f5ec;color:#315d44;box-shadow:none}
body:has(.teacher-mode) .score-hero h2{color:#1b5440;font-family:inherit;font-weight:600}
body:has(.teacher-mode) .score-kicker,body:has(.teacher-mode) .score-total span,body:has(.teacher-mode) .score-total em{color:#6b9d7a}
body:has(.teacher-mode) .score-total strong{color:#078674}
body:has(.teacher-mode) .score-context,body:has(.teacher-mode) .score-question-card{border-color:#d6e5da;border-radius:12px;box-shadow:none}
body:has(.teacher-mode) .score-question-head{background:#f0f7f1}
body:has(.teacher-mode) .score-chip{background:#e3f2e8;color:#389067}
body:has(.teacher-mode) .score-metric b{color:#388e66}
@media(max-width:1200px){
  #teacher .filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  #teacher .filters .teacher-filter-button{grid-column:2;justify-self:end;min-width:104px}
  #teacher .filters .teacher-reset-button{grid-column:3;justify-self:start;min-width:90px}
  #teacher .org-layout{grid-template-columns:1fr}
  #teacher .org-school-list{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
}
@media(min-width:721px) and (max-width:1000px){
  main.teacher-mode #teacher .teacher-layout{grid-template-columns:205px minmax(0,1fr)}
  #teacher .sidebar{padding:24px 14px 18px}
  #teacher .teacher-brand{gap:8px}
  #teacher .teacher-brand>svg{width:32px}
  #teacher .teacher-brand h2{font-size:21px}
  #teacher .teacher-topbar{padding:0 22px}
  main.teacher-mode #teacher-content{padding:26px 22px}
  #teacher .teacher-panel-heading{align-items:flex-start;flex-direction:column;gap:6px}
}
@media(max-width:720px){
  main.teacher-mode{position:static;inset:auto;width:100%!important;height:auto;min-height:100dvh;margin:0;padding:0;border:0;border-radius:0}
  main.teacher-mode #teacher{height:auto;overflow:visible}
  main.teacher-mode #teacher .teacher-layout{display:flex;flex-direction:column;height:auto}
  #teacher .sidebar{display:grid;grid-template-columns:1fr auto;gap:16px;height:auto;padding:18px 16px;border:0;border-bottom:1px solid #dce7df}
  #teacher .teacher-brand{gap:10px;margin:0;padding:0;border:0}
  #teacher .teacher-brand>svg{width:34px;height:36px}
  #teacher .teacher-brand h2{font-size:18px}
  #teacher .teacher-brand span{margin-top:3px;font-size:11px}
  #teacher .teacher-sidebar-caption{display:none}
  #teacher .teacher-nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  #teacher .teacher-nav button{flex-direction:column;justify-content:center;gap:6px;min-height:66px;padding:9px 4px;font-size:12px;text-align:center}
  #teacher .teacher-nav button svg{width:20px;height:20px}
  #teacher .teacher-sidebar-footer{grid-column:2;grid-row:1;align-self:center;margin:0;padding:0}
  #teacher .teacher-sidebar-footer p{display:none}
  #teacher .teacher-sidebar-footer button{width:auto;padding:9px 10px;font-size:12px}
  #teacher .teacher-sidebar-footer button svg{display:none}
  #teacher .teacher-main{height:auto}
  #teacher .teacher-topbar{height:62px;padding:0 16px}
  #teacher .teacher-breadcrumb{gap:9px;font-size:13px}
  #teacher .teacher-role-badge{padding:5px 9px;font-size:12px}
  main.teacher-mode #teacher-content{overflow:visible;padding:24px 16px 30px}
  #teacher .teacher-page-heading,#teacher .org-header{align-items:start;flex-direction:column;gap:18px;margin-bottom:22px}
  #teacher .teacher-page-heading h2,#teacher .org-header h2{font-size:26px}
  #teacher .teacher-page-heading>div>p:last-child,#teacher .org-header>div>p:last-child{font-size:14px}
  #teacher .teacher-panel-heading{align-items:start;flex-direction:column;gap:7px;padding:18px}
  #teacher .filters{grid-template-columns:1fr;gap:16px;padding:18px}
  #teacher .filters .teacher-filter-button,#teacher .filters .teacher-reset-button{grid-column:auto;justify-self:stretch;width:100%;min-width:0}
  #teacher .teacher-pagination{gap:7px;padding:16px}
  #teacher .teacher-pagination .page-summary{width:100%;margin-bottom:4px}
  #teacher .org-year{width:100%;min-width:0}
  #teacher .org-metrics{gap:8px;margin-bottom:20px}
  #teacher .org-metric{padding:16px 10px}
  #teacher .org-metric strong{font-size:25px}
  #teacher .org-metric span{font-size:11px}
  #teacher .org-school-panel,#teacher .org-workspace{padding:18px}
  #teacher .org-layout{gap:18px}
  #teacher .org-title-row h3{font-size:21px}
  #teacher .org-grade-add,#teacher .org-class-add{display:block}
  #teacher .org-grade-add button,#teacher .org-class-add button{width:100%;margin-top:10px}
  #teacher .org-class-add .org-custom{display:block}
  #teacher .org-class-add{padding:15px}
  #teacher .teacher-empty-panel{min-height:360px;padding:32px 20px}
  #teacher .teacher-empty-panel h3{font-size:21px}
  #teacher .teacher-empty-panel>p{font-size:14px}
  body:has(.teacher-mode) .modal article:has(.org-edit-form),body:has(.teacher-mode) .modal article:has(.score-error-dialog){padding:28px 22px}
}
@media(prefers-reduced-motion:reduce){#teacher *{transition:none!important}}
