.teacher-login{width:min(420px,100%);margin:auto;padding:30px}.teacher-login h1,.teacher-heading h1{font-size:27px;color:#242244;margin:9px 0 5px}.teacher-login p,.teacher-heading p{color:#8a879c;font-size:12px;margin:0 0 20px}.teacher-login form label{display:block;color:#69677d;font-size:11px;font-weight:bold}.teacher-login input{display:block;width:100%;height:45px;border:1px solid #e4e1ef;border-radius:11px;margin:7px 0 13px;padding:0 12px}.teacher-login .primary-button{width:100%}.teacher-error{font-size:11px;color:#d45e66;min-height:20px;padding-top:8px}.teacher-records{width:100%;padding:24px 0}.teacher-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 17px}.teacher-heading p{margin:0}.teacher-heading .eyebrow{font-size:10px}.teacher-panel{padding:18px}.teacher-toolbar{display:flex;align-items:center;gap:12px}.teacher-toolbar .ranking-tabs{display:flex;flex:1;gap:8px}.teacher-toolbar .secondary-button{min-height:39px;font-size:11px}.record-summary{padding:14px 2px 9px;color:#908da2;font-size:11px}.table-scroll{width:100%;overflow:auto;border:1px solid #eeedf4;border-radius:12px}.records-table{width:100%;min-width:760px;border-collapse:collapse;font-size:11px}.records-table th{white-space:nowrap;background:#f8f7fc;color:#79768e;text-align:left;padding:11px 9px;font-weight:bold}.records-table td{white-space:nowrap;padding:10px 9px;border-top:1px solid #f0eff5;color:#48465f}.records-table td:nth-child(4){font-weight:bold;color:#5549bf}.records-table tbody tr:hover{background:#fcfbff}.no-records{text-align:center!important;padding:40px!important;color:#a3a1b1!important}.pagination{display:flex;align-items:center;justify-content:center;gap:15px;padding-top:15px;color:#8d8a9f;font-size:11px}.pagination button{min-height:34px;padding:0 12px;font-size:10px}.pagination button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:600px){.teacher-login{padding:24px 19px}.teacher-panel{padding:12px}.teacher-heading h1{font-size:23px}.teacher-heading p{max-width:230px;line-height:1.6}.teacher-toolbar{align-items:stretch;flex-wrap:wrap}.teacher-toolbar .ranking-tabs{flex-basis:100%}.teacher-toolbar .secondary-button{margin-left:auto}}

/* Keep the teacher page in the same high-contrast arcade palette. */
.teacher-login h1,.teacher-heading h1{color:#101014;font-weight:900}
.teacher-login p,.teacher-heading p,.teacher-login form label{color:#101014;font-weight:800}
.teacher-login input{background:#fff;border:2px solid #101014;border-radius:8px;font-weight:700}
.teacher-login input:focus{outline:3px solid #304ffe}
.teacher-error{color:#d50000;font-weight:900}
.teacher-heading{border-bottom:3px solid #101014;padding-bottom:12px}
.teacher-panel{background:#fff}
.record-summary{color:#101014;font-weight:900}
.table-scroll{border:3px solid #101014;border-radius:8px}
.records-table th{background:#00e5ff;color:#101014;border-bottom:3px solid #101014;font-weight:900}
.records-table td{border-top:2px solid #101014;color:#101014;font-weight:700}
.records-table td:nth-child(4){color:#d50000;font-weight:900}
.records-table tbody tr:hover{background:#ffeb3b}
.no-records{text-align:center!important;padding:40px!important;color:#30303a!important}
.pagination{color:#101014;font-weight:900}
.delete-status{min-height:18px;margin:8px 0 0;color:#007a32;font-size:11px;font-weight:800}
.teacher-toolbar .danger-button{min-height:39px;padding:0 12px;font-size:11px}
.teacher-toolbar .danger-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.records-table th:first-child,.records-table td:first-child{width:38px;text-align:center}
.records-table input[type=checkbox]{width:18px;height:18px;accent-color:#00a843;cursor:pointer}
.teacher-toolbar{flex-wrap:wrap}
.teacher-toolbar .ranking-tabs{flex:1 0 100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.teacher-toolbar .ranking-tab{min-width:0;padding:8px 5px;font-size:10px}
@media(max-width:760px){.teacher-toolbar .ranking-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.teacher-settings{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:14px 0 4px;padding:12px;border:3px solid #101014;border-radius:9px;background:#ffeb3b;color:#101014;font-size:11px;font-weight:900}
.teacher-settings input{width:76px;height:36px;padding:0 7px;border:2px solid #101014;border-radius:7px;background:#fff;color:#101014;font-weight:900;text-align:center}
.teacher-settings button{min-height:36px;padding:0 12px;font-size:10px;box-shadow:none}
.teacher-settings p{flex-basis:100%;min-height:15px;margin:0;color:#101014;font-size:10px;font-weight:800}
@media(max-width:600px){.teacher-settings{gap:6px;padding:9px}.teacher-settings button{margin-left:auto}}
.teacher-settings select{height:36px;padding:0 10px;border:2px solid #101014;border-radius:7px;background:#fff;color:#101014;font-weight:900}
.teacher-settings .iron-order-label{margin-top:8px}
.teacher-settings #iron-order{width:min(100%,520px);text-align:left}
/* Teacher dashboard identity and separated controls */
.teacher-page .teacher-login,.teacher-page .teacher-panel{border:2px solid #bba6e4;border-radius:18px;background:#fff}
.teacher-page .teacher-heading{border-color:#bba6e4}
.teacher-page .teacher-heading .eyebrow{color:#6948a0}
.teacher-toolbar{display:flex;align-items:center;gap:8px;margin:0 0 12px}
.teacher-toolbar .danger-button,.teacher-toolbar .secondary-button{min-height:39px;padding:0 12px;font-size:11px}
.record-mode-picker.mode-picker{background:#f5f1ff;border-color:#8c6fba}
.mode-category-tab.active{background:#6e4a9e;border-color:#553574}
.teacher-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.teacher-setting-card{min-width:0;padding:15px;border:2px solid #c5afe8;border-radius:12px;background:#f8f5ff;color:#2d2140}
.teacher-setting-card h2{margin:0 0 5px;font-size:15px}
.teacher-setting-card>p:not(.setting-status){margin:0 0 12px;color:#6b5d7b;font-size:11px;line-height:1.5}
.setting-control{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.setting-control label{font-size:11px;font-weight:900}
.setting-control input,.setting-control select,.setting-control textarea{height:38px;padding:0 9px;border:2px solid #4c3769;border-radius:7px;background:#fff;color:#241b31;font-weight:800}
.setting-control input[type=number]{width:82px;text-align:center}
.setting-control #iron-order{flex:1;min-width:180px;text-align:left;letter-spacing:.12em}
.setting-control button{min-height:38px;padding:0 10px;font-size:10px}
.setting-control.message-control{align-items:flex-start}
.message-control textarea{flex:1;min-width:100%;height:auto;min-height:58px;padding:8px;resize:vertical;line-height:1.5}
.setting-status{min-height:16px;margin:9px 0 0;color:#604387;font-size:10px;font-weight:800}
.teacher-page .records-table th{background:#e7def6;border-color:#c5afe8}
.teacher-page .records-table td{border-color:#eee7f7}
.teacher-page .records-table tbody tr:hover{background:#f4effb}
.teacher-page .teacher-toolbar .ranking-tab.active{background:#705095;color:#fff;border-color:#4e326e}
@media(max-width:760px){.teacher-settings-grid{grid-template-columns:1fr}.teacher-toolbar{align-items:stretch;flex-wrap:wrap}.teacher-toolbar button{flex:1 1 calc(50% - 8px)}.teacher-panel{padding:12px}}
@media(max-width:420px){.teacher-toolbar button{font-size:10px!important;padding:0 7px!important}.setting-control #iron-order{min-width:140px}.teacher-setting-card{padding:12px}}
.teacher-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 15px;padding:5px;border:2px solid #bba6e4;border-radius:12px;background:#f3edff}
.teacher-tab{min-height:43px;border:2px solid transparent;border-radius:8px;background:transparent;color:#503772;font-size:13px;font-weight:900}
.teacher-tab.active{border-color:#49306a;background:#705095;color:#fff;box-shadow:2px 2px 0 #49306a}
.teacher-tab-panel{min-width:0}.teacher-export-card,.reset-card{margin-top:12px;padding:15px;border:2px solid #c5afe8;border-radius:12px;background:#f8f5ff;color:#2d2140}
.teacher-export-card h2,.reset-card h2,.statistics-heading h2{margin:0 0 5px;font-size:15px}
.teacher-export-card>p,.reset-card>p:not(.setting-status),.statistics-heading p{margin:0 0 12px;color:#6b5d7b;font-size:11px;line-height:1.5}
.teacher-export-card select,.record-sort-control select{min-height:38px;padding:0 10px;border:2px solid #4c3769;border-radius:7px;background:#fff;color:#241b31;font-weight:800}
.reset-card .danger-button{min-height:38px;padding:0 12px;font-size:11px}
.record-sort-control{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:6px 0 0;color:#2d2140;font-size:11px;font-weight:900}
.record-summary{padding-top:8px}
.statistics-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px;color:#2d2140}
.statistics-heading>div{flex:1;min-width:200px}.statistics-heading p{margin:4px 0 0}
.statistics-table{min-width:560px}.statistics-table th,.statistics-table td{text-align:center!important}.statistics-table td:first-child{font-weight:900}
@media(max-width:600px){.teacher-tabs{gap:4px;padding:4px}.teacher-tab{min-height:42px;font-size:11px}.teacher-export-card,.reset-card{padding:12px}.record-sort-control{justify-content:space-between}}

.teacher-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.teacher-page .history-table{min-width:980px}
.teacher-page .difficulty-badge{display:inline-block;min-width:48px;padding:4px 8px;border:1px solid #19151e;border-radius:999px;font-size:10px;font-weight:900;text-align:center}
.teacher-page .difficulty-badge.iron-theme{background:#243d70;color:#fff;border-color:#101d3c}
.teacher-page .difficulty-badge.bronze-theme{background:#a85b1e;color:#fff}
.teacher-page .difficulty-badge.silver-theme{background:#d7dde1;color:#101014}
.teacher-page .difficulty-badge.gold-theme{background:#ffdf32;color:#101014}
.teacher-page .difficulty-badge.platinum-theme{background:#65dfbd;color:#073d31;border-color:#08775f}
.teacher-page .difficulty-badge.mosquito-theme{background:#ed3f87;color:#fff;border-color:#9f164d}
.teacher-page .statistics-table td:nth-child(2){font-weight:900}
@media(max-width:600px){.teacher-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.history-filters{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0 2px;padding:12px;border:1px solid #d7c8ec;border-radius:10px;background:#f8f5ff}
.history-period{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#2d2140;font-size:11px;font-weight:900}
.history-period input{min-height:38px;padding:0 8px;border:2px solid #4c3769;border-radius:7px;background:#fff;color:#241b31;font:inherit}
.history-period input[type=date]{width:155px}.history-period input[type=time]{width:112px;font-variant-numeric:tabular-nums}
.history-period button{min-height:38px;padding:0 10px;font-size:10px}
.history-filters .record-sort-control{margin:0}
.history-anonymous-filter{display:flex;align-items:center;gap:7px;min-height:36px;padding:0 10px;border:1px solid #d7c8ec;border-radius:8px;background:#fff;color:#3b2855;font-size:11px;font-weight:900;cursor:pointer}
.history-anonymous-filter input{width:17px;height:17px;margin:0;accent-color:#705095;cursor:pointer}
.statistics-category{margin-top:15px;padding:14px;border:2px solid #c5afe8;border-radius:12px;background:#fbf9ff}
.statistics-category h3{margin:0 0 10px;color:#3b2855;font-size:14px}
.statistics-category .statistics-table{min-width:460px}
.teacher-page .statistics-table .statistics-row.iron{background:linear-gradient(90deg,rgba(36,61,112,.13),rgba(36,61,112,.035))}
.teacher-page .statistics-table .statistics-row.bronze{background:linear-gradient(90deg,rgba(168,91,30,.15),rgba(168,91,30,.035))}
.teacher-page .statistics-table .statistics-row.silver{background:linear-gradient(90deg,rgba(120,135,145,.18),rgba(120,135,145,.04))}
.teacher-page .statistics-table .statistics-row.gold{background:linear-gradient(90deg,rgba(255,205,20,.22),rgba(255,205,20,.045))}
.teacher-page .statistics-table .statistics-row.platinum{background:linear-gradient(90deg,rgba(42,190,153,.17),rgba(42,190,153,.04))}
.teacher-page .statistics-table .statistics-row.mosquito{background:linear-gradient(90deg,rgba(237,63,135,.18),rgba(237,63,135,.04))}
.teacher-page .statistics-table .statistics-row:hover{filter:saturate(1.25)}
@media(max-width:760px){.history-filters{align-items:stretch}.history-period{width:100%}.history-period label{width:auto}.history-period input[type=date]{flex:1;min-width:145px}.history-period input[type=time]{flex:0 0 112px}.history-filters .record-sort-control{width:100%;justify-content:space-between}}
@media(max-width:480px){.history-period label{flex:0 0 100%;margin-top:3px}.history-period input[type=date]{flex:1;min-width:0;width:auto}.history-period input[type=time]{flex:0 0 112px}.history-period button{flex:1}}
