.exam-app{max-width:1250px;margin:auto;color:#16324a}.exam-app h1{font-size:24px;margin:0}.exam-app h2{font-size:18px}.ex-head,.ex-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:space-between;margin-bottom:12px}.ex-tabs{display:flex;gap:5px;border-bottom:1px solid #dbe3eb;margin:14px 0}.ex-tabs button{border:0;border-radius:5px 5px 0 0;padding:10px 22px;background:transparent}.ex-tabs .active{background:#123d61;color:white}.ex-panel{background:white;border:1px solid #dbe3eb;border-radius:7px;padding:14px;margin:12px 0}.ex-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px}.exam-app input,.exam-app select{padding:7px;border-radius:4px;width:100%;min-width:0}.exam-app input[type=checkbox]{width:auto}.exam-app button{padding:8px 12px;border-radius:4px;cursor:pointer}.exam-app label{font-size:13px}.ex-table{overflow:auto;max-height:60vh}.ex-table table{width:100%;border-collapse:collapse;font-size:13px}.ex-table th,.ex-table td{padding:8px;border-bottom:1px solid #e4e9ef;text-align:left;white-space:nowrap}.ex-table th{background:#f4f7fa;position:sticky;top:0}.ex-small{font-size:12px;color:#627486}.ex-status{padding:8px;background:#edf4f9;border-radius:4px;margin:8px 0}.ex-error{color:#9d2424}.ex-rooms{display:flex;gap:8px;flex-wrap:wrap}.ex-seat-grid{display:grid;gap:7px}.ex-seat{border:1px solid #ccd8e4;padding:6px;font-size:11px;min-height:60px;background:#f6f9fc}.ex-blank{opacity:.4}.ex-selects{display:flex;gap:8px;flex-wrap:wrap}.ex-selects label{padding:5px;border:1px solid #ddd;border-radius:4px}.exam-app details>summary{cursor:pointer;font-weight:600;padding:6px}.ex-status:empty{display:none}@media(max-width:600px){.ex-grid{grid-template-columns:1fr 1fr}.ex-head{align-items:flex-start}.ex-tabs button{padding:9px 14px}}
.cal-toolbar{display:flex;justify-content:space-between;gap:8px;margin-bottom:12px}.cal-toolbar button{background:#f5f7fa;border:1px solid #d4dde6}.cal-toolbar button.active{background:#123d61;color:white}.cal-grid{max-height:65vh}.cal-grid select{min-width:155px;max-width:210px;font-size:12px;border:1px solid #d9e2ea}.cal-grid td:first-child,.cal-grid th:first-child{position:sticky;left:0;z-index:1;background:#f7f9fc;min-width:100px}.cal-grid th:first-child{z-index:3}.cal-grid .cal-time{width:100px}.exam-app .ex-panel label:has(input[type=checkbox]){display:flex;align-items:center;gap:7px}

.cal-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.cal-groups>div{border:1px solid #dbe3ed;border-radius:8px;padding:12px}.cal-groups strong,.cal-groups span{display:block;margin-bottom:8px}.cal-members{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;max-height:280px;overflow:auto}.cal-members input{width:auto!important}.ex-bar button.active{background:#092f63;color:white}

#content:has(.exam-app){max-width:none;width:100%;min-width:0}.exam-app{max-width:none;width:100%;min-width:0}.cal-grid{width:100%;max-width:100%;overflow-x:hidden}.cal-grid table{table-layout:fixed;width:100%}.cal-grid th,.cal-grid td{white-space:normal;overflow-wrap:anywhere;padding:5px 3px;min-width:0!important}.cal-grid select{width:100%;min-width:0;max-width:100%;font-size:11px;padding:5px 1px}.cal-grid .cal-time{width:100%;font-size:11px;padding:4px 0}.cal-cell button{width:100%;font-size:10px;padding:4px 1px;margin-top:3px}.cal-row-menu summary{font-size:11px;padding:3px!important}.cal-row-menu button{width:100%;font-size:10px;padding:4px 1px;margin-top:3px}.cal-grid th{font-size:11px}.cal-grid td:first-child{font-size:11px}.cal-grid .cal-cell{min-width:0}@media(max-width:700px){.cal-grid select{font-size:10px}.cal-grid th{font-size:10px}.cal-grid col:first-child{width:58px!important}.cal-grid col:nth-child(2){width:64px!important}.cal-grid col:last-child{width:62px!important}}

.ex-selects .ex-room-grade{max-width:160px}.exam-app .ex-selects label{max-width:100%}.exam-app .ex-selects input[type=checkbox]{flex-shrink:0}

#modal:has(.ex-room-editor){width:min(1400px,96vw);max-width:96vw;max-height:92vh;padding:0}#modal:has(.ex-room-editor) form{padding:18px} .ex-room-bulk{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:10px 0}.ex-room-bulk label{max-width:130px}.ex-room-table{max-height:62vh;overflow-y:auto;overflow-x:hidden}.ex-room-table table{table-layout:fixed;width:100%;border-collapse:collapse}.ex-room-table th,.ex-room-table td{padding:5px;text-align:left;border-bottom:1px solid #e0e5ec;white-space:normal}.ex-room-table th{position:sticky;top:0;background:#edf4f9}.ex-room-table input{box-sizing:border-box;width:100%;min-width:0;padding:6px}.ex-room-table th:first-child{width:38px}.ex-room-table input[type=checkbox]{width:auto}.ex-room-footer{position:sticky;bottom:0;background:white;padding:10px 0}.ex-room-footer .primary{width:auto;min-width:160px}.ex-paper-upload{display:block;margin-top:8px}.ex-paper-upload input{max-width:260px}.exam-app .ex-tabs{flex-wrap:wrap}

.cal-course-label{white-space:normal;overflow-wrap:anywhere;line-height:1.35;font-size:12px;font-weight:600;margin:3px 2px 5px}.cal-cell select{font-size:10px}.cal-grid td{vertical-align:top}

.ex-report-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.ex-report-list{display:flex;flex-direction:column;gap:7px}.ex-report-list button{text-align:left;width:100%}

.ex149-access-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #d4e1eb}.ex149-access-row>label{display:flex;align-items:center;gap:8px;white-space:nowrap}#ex149AccessError{color:#a42b2b}
.menu150-table{width:100%;border-collapse:collapse;font-size:14px}.menu150-table th,.menu150-table td{padding:10px 12px;border-bottom:1px solid #dbe5ed;text-align:left}.menu150-table th{background:#e9f1f9}.menu150-table td:not(:first-child){white-space:nowrap}.menu150-table label{display:inline-flex!important;align-items:center;gap:8px;margin:0!important;font-size:14px!important}.menu150-table input{width:18px!important;height:18px!important;margin:0!important}.menu150-scroll{overflow:auto}.menu150-fixed{color:#5f7083;font-size:13px}.menu150-flow{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.menu150-flow b{background:#e9f1f9;padding:8px;border-radius:7px;font-size:13px}.menu150-status{background:#f3f7fb;border-left:3px solid #176caa;padding:12px;margin:12px 0;line-height:1.6}.menu150-actions{display:flex;flex-wrap:wrap;gap:10px}.menu150-error{min-height:20px;color:#b42318}#menuCenter150{max-width:1050px;margin:auto;background:white;border:1px solid #dbe5ed;border-radius:14px;padding:20px}
.pub151{max-width:1250px;margin:auto}.pub151-tabs,.pub151-toolbar,.pub151-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0}.pub151-toolbar label,.pub151-actions label{display:flex;align-items:center;gap:8px}.pub151-table{overflow:auto;background:#fff;border:1px solid #d5e1ed;border-radius:10px}.pub151-table table{width:100%;border-collapse:collapse;font-size:14px}.pub151-table th,.pub151-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #dce5ed}.pub151-table th{background:#e9f1f9}.pub151-table small{display:block;color:#62758b;margin-top:4px}.pub151-table tr.selected{background:#edf6ff}.pub151-table input[type=radio],.pub151-actions input[type=checkbox]{width:18px;height:18px}.pub151-table select{min-width:110px;padding:7px}.pub151-error{color:#b42318}.pub151 details{margin-top:18px}.pub151>p{font-size:14px}
.pub151 button{font-family:inherit;font-size:14px;font-weight:650;padding:9px 13px;border:1px solid #bfd0e1;border-radius:8px;background:#fff;color:#163f66;cursor:pointer}.pub151 button.primary{display:inline-flex!important;width:auto!important;background:#176caa!important;color:#fff!important;border-color:#176caa}.pub151 button:disabled{opacity:.5;cursor:default}.pub151 .pub151-tabs{display:flex!important;gap:8px;justify-content:flex-start}.pub151 .pub151-actions{display:flex!important;gap:12px}.pub151 select{width:auto!important;margin:0!important;min-height:36px}.pub151 .pub151-toolbar label,.pub151 .pub151-actions label{width:auto!important;margin:0!important}.pub151 input[type=radio],.pub151 input[type=checkbox]{margin:0!important}.pub151 .page-head{margin-bottom:12px}

.ex-session-context{position:sticky;top:0;z-index:5;background:#eef5fa;border:1px solid #b4cadd;border-radius:8px;padding:10px;gap:12px;margin:8px 0 12px}.ex-session-context label{min-width:250px}.ex-session-context select{max-width:100%;width:360px}@media(max-width:650px){.ex-session-context{position:static}.ex-session-context label,.ex-session-context select{width:100%;min-width:0}}

/* v195: readable session time and compact actions dialog */
.cal-time-value{display:block;white-space:nowrap;text-align:center;font-size:12px;margin-bottom:4px;font-variant-numeric:tabular-nums}.cal-grid .cal-time{min-width:0;max-width:100%;font-size:10px}.cal-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;max-height:60vh;overflow:auto}.cal-actions button{margin:0;padding:10px;white-space:normal;text-align:center}[data-responsible-row][hidden]{display:none!important}

.cal-grid .cal-session-name{width:100%;min-width:0;padding:5px 3px;font-size:11px}.cal-grid .cal-session-name:focus{outline:2px solid #376a9d}

/* v204: aligned calendar controls; columns stay readable at every viewport width. */
.exam-app .cal-grid{overflow:auto;max-height:68vh;border:1px solid #d5e0eb;border-radius:9px;background:#fff;scrollbar-gutter:stable}
.exam-app .cal-grid table{table-layout:fixed;border-collapse:separate;border-spacing:0;min-width:calc(460px + var(--cal-course-columns,4)*64px);width:100%}
.exam-app .cal-grid th,.exam-app .cal-grid td{box-sizing:border-box;text-align:center;vertical-align:middle;padding:6px 8px;border-right:1px solid #e1e8f0;border-bottom:1px solid #dce5ef;overflow-wrap:normal;word-break:normal;line-height:1.35}
.exam-app .cal-grid th{height:50px;background:#e8eff7;color:#23415f;font-size:11px;font-weight:700;letter-spacing:.15px;z-index:2}
.exam-app .cal-grid th:first-child{z-index:4}
.exam-app .cal-grid td{background:#fff;font-size:12px}
.exam-app .cal-grid tbody tr:nth-child(even)>td{background:#f5f8fc}
.exam-app .cal-grid tbody tr:hover>td{background:#edf5fd}
.exam-app .cal-grid td:first-child{font-size:11px}
.exam-app .cal-grid td:nth-child(2){white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}
.exam-app .cal-grid .cal-cell{display:grid;grid-template-rows:22px 12px 26px 16px;gap:1px;align-items:center;width:100%;min-height:79px}
.exam-app .cal-grid .cal-course-label{margin:0;display:flex;align-items:center;justify-content:center;line-height:1.2;font-size:11px;font-weight:600;overflow:auto;max-height:22px;overflow-wrap:break-word}
.exam-app .cal-grid .cal-categories{display:flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap;overflow:auto;font-size:9px;color:#64758b}
.exam-app .cal-grid .cal-category{font-size:9px;line-height:1.2}
.exam-app .cal-grid select,.exam-app .cal-grid .cal-time,.exam-app .cal-grid .cal-session-name{height:32px;min-height:32px;box-sizing:border-box;margin:0;padding:5px 6px;border:1px solid #cbd9e8;border-radius:6px;background:#fff;color:#18354e;font:inherit;font-size:11px;width:100%;min-width:0;max-width:100%;line-height:normal}
.exam-app .cal-grid .cal-time{text-align:center;font-variant-numeric:tabular-nums}
.exam-app .cal-grid .cal-time-value{display:none}
.exam-app .cal-grid .cal-session-name{text-align:left}
.exam-app .cal-grid button{box-sizing:border-box;white-space:nowrap;overflow-wrap:normal;word-break:normal;min-height:32px;margin:0;padding:6px 9px;font-size:11px;line-height:1.2;border:1px solid #c9d8e8;border-radius:6px;background:#fff;color:#21496d}
.exam-app .cal-grid .cal-cell-action button{width:100%;min-height:18px;height:18px;padding:2px 5px;font-size:10px}
.exam-app .cal-grid .cal-staff-names{margin:0 0 9px;line-height:1.45;overflow-wrap:break-word}
.exam-app .cal-grid col:first-child{width:112px!important}.exam-app .cal-grid col:nth-child(2){width:80px!important}.exam-app .cal-grid col:last-child{width:72px!important}
