.overview-shell{max-width:1320px;margin:auto;padding:28px}
.overview-heading{display:flex;justify-content:space-between;gap:20px;align-items:end}
.overview-heading h1{font-size:27px;margin:5px 0 7px}
.overview-heading p{margin:0;color:#687c85;font-size:13px}
.overview-legend{display:flex;gap:18px;color:#5a6d77;font-size:12px;white-space:nowrap}
.overview-legend span{display:inline-flex;gap:6px;align-items:center}
.mark{width:9px;height:9px;border-radius:50%;display:inline-block;background:#9bafb8}
.mark.confirmed{background:#17617a}
.overview-controls{display:inline-flex;gap:4px;background:#e8eff2;padding:4px;border-radius:10px;margin:24px 0 14px}
.overview-controls button{border:0;background:transparent;color:#566b75;padding:9px 15px;border-radius:7px;font-weight:700;font-size:12px}
.overview-controls button.active{background:#fff;color:#155a71;box-shadow:0 1px 4px #193a481b}
.overview-secondary{display:flex;align-items:center;gap:9px;margin:0 0 15px;flex-wrap:wrap}.overview-secondary .save-status{margin-left:auto}.overview-secondary .checkline{margin-left:9px}
.overview-summary{color:#49616d;font-size:12px;margin-bottom:17px}
.day-application-period{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin:10px 0 14px;font-size:13px;line-height:1.6}.day-application-period dt{color:#687c85}.day-application-period dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.overview-months{display:block}
.overview-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}
.overview-pair-head{display:none}
.overview-month{background:#fff;border:1px solid #d9e4e8;border-radius:12px;padding:17px;break-inside:avoid}
.overview-month h2{font-size:18px;margin:0 0 13px;color:#244d5f}
.overview-month>summary{font-size:18px;font-weight:800;color:#244d5f;cursor:pointer;margin-bottom:12px;list-style-position:inside}.overview-month:not([open])>summary{margin-bottom:0}.overview-month[open]{padding-bottom:17px}.overview-month:not([open]){align-self:start;background:#f9fbfc}
.overview-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.overview-weekday{text-align:center;font-size:11px;font-weight:800;color:#738790;padding:7px 0}
.overview-weekday.sat{color:#246aab}.overview-weekday.sun{color:#b55260}
.overview-day{min-width:0;min-height:106px;border:1px solid #e4eaed;border-radius:5px;padding:6px;background:#fff}
.overview-day.empty{background:#f7f9fa;border-color:#f2f4f5}
.overview-day.sat{background:#f5f9ff}.overview-day.sun{background:#fff6f6}
.overview-day.busy{box-shadow:inset 0 3px #a4c6d2}
.overview-day.consecutive{box-shadow:inset 0 3px #17617a}
.overview-day .number{font-size:12px;font-weight:800;color:#485b64}
.overview-day.sat .number{color:#246aab}.overview-day.sun .number{color:#b55260}
.overview-day .exam-label{display:block;margin-top:5px;padding:4px 5px;border-radius:4px;background:#eef4f6;color:#255b70;font-size:10px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.overview-day .exam-label.candidate{background:#f1f3f4;color:#667981}
.overview-day .exam-label.application{background:#fff3dc;color:#795718}
.overview-day .exam-label.result{background:#eaf5e8;color:#32633b}
.overview-day .exam-label.enrollment{background:#f8eaf0;color:#874b65}
.overview-day .exam-label.fixed{background:#e9ebf7;color:#454e87}
.overview-day .exam-label.application.candidate,.overview-day .exam-label.result.candidate,.overview-day .exam-label.enrollment.candidate{opacity:.72}
.overview-day .exam-label small{font-size:9px;font-weight:400}
.overview-day.has-exams{cursor:pointer}.overview-day.has-exams:hover{outline:2px solid #4c93aa}.overview-day .hidden-candidates{display:block;margin-top:5px;color:#8b6a40;font-size:9px}.day-exam{border:1px solid #dce7eb;border-radius:9px;padding:13px;margin-bottom:10px}.day-exam h3{font-size:14px;margin:0}.day-exam p{font-size:11px;color:#5d727d;line-height:1.5}.day-exam .state{font-size:10px;font-weight:700;color:#17617a}.day-exam .state.candidate{color:#7b8c93}.day-exam button{margin-top:8px}
.day-event-kind{display:inline-block;margin-bottom:7px;padding:3px 7px;border-radius:4px;background:#eaf1f4;color:#255b70;font-size:11px;font-weight:700}
.day-event-kind.application{background:#fff3dc;color:#795718}.day-event-kind.result{background:#eaf5e8;color:#32633b}.day-event-kind.enrollment{background:#f8eaf0;color:#874b65}
.day-event-kind.fixed{background:#e9ebf7;color:#454e87}
.day-action-help{margin:0 0 12px;color:#667981;font-size:11px;line-height:1.5}.day-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.day-exam .day-actions button{margin-top:0}
.day-actions .button[data-next="excluded"]{border:1px solid #e7a8ae;background:#fff0f1;color:#a33b45;box-shadow:0 1px 2px rgba(122,39,48,.08)}
.day-actions .button[data-next="excluded"]:hover{border-color:#d9828c;background:#ffe2e5;color:#8f2833}
.day-actions .button[data-next="excluded"]:focus-visible{outline:3px solid #d9828c;outline-offset:2px}
.overview-empty{background:#fff;border:1px dashed #c7d9df;padding:50px;text-align:center;color:#66808a;border-radius:12px}
@media(max-width:850px){.overview-pair{grid-template-columns:1fr}}
@media(max-width:600px){.overview-shell{padding:12px}.overview-heading{display:block}.overview-legend{margin-top:12px}.overview-day{min-height:72px;padding:3px}.overview-day .exam-label{font-size:8px;padding:2px}.overview-day .exam-label small{display:none}}
@media print{
  @page{size:A4 landscape;margin:8mm}
  body{background:#fff;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .topbar,.overview-controls,.overview-secondary,.overview-heading,.overview-summary,.overlay,.drawer{display:none!important}
  .overview-shell{max-width:none;padding:0}
  .overview-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:4mm;margin:0;break-inside:avoid;page-break-inside:avoid;break-after:page;page-break-after:always}
  .overview-pair:last-child{break-after:auto;page-break-after:auto}
  .overview-pair-head{display:block;grid-column:1/-1;font-size:11pt;font-weight:800;color:#244d5f;border-bottom:1px solid #9eb3bd;padding-bottom:2mm}
  .overview-pair-head .print-notice{margin:1.5mm 0 0;padding:1.5mm 2mm;background:#fff1dc;color:#603d0c;font-size:7pt;line-height:1.3;font-weight:600}
  .overview-month,.overview-month[open],.overview-month:not([open]){display:block;min-width:0;padding:2.5mm;border-radius:0;background:#fff;box-shadow:none;align-self:stretch}
  .overview-month>summary{font-size:11pt;list-style:none;margin:0 0 2mm}
  .overview-month>summary::marker{content:""}
  .overview-month>summary small{font-size:7pt}
  .overview-grid{gap:.6mm}
  .overview-weekday{font-size:7pt;padding:1mm 0}
  .overview-day{min-height:21mm;padding:1mm;border-radius:0}
  .overview-day .number{font-size:7.5pt}
  .overview-day .exam-label{font-size:6.3pt;line-height:1.16;padding:.7mm;margin-top:.8mm;border-radius:0}
  .overview-day .exam-label small{font-size:5.5pt}
  .overview-day .hidden-candidates{font-size:6pt;margin-top:.8mm}
}

.day-result{border-block:1px solid #e1e9ed;padding:12px 0;margin:14px 0}
.day-result-heading{display:flex;align-items:center;gap:10px;font-size:12px}
.day-result dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:12px;margin:12px 0;color:#607985}
.day-result dd{margin:0;color:#345867;font-weight:700;font-variant-numeric:tabular-nums}
.day-result-message{font-size:12px;color:#6c818b;line-height:1.7}
#overviewResultStatus{font-size:12px;color:#216e67;line-height:1.7}#overviewResultStatus:empty{display:none}
@media print{#resultDialog,#overviewResultStatus,#resultsPreviewNote{display:none!important}}
