.print31-central { display:grid; gap:18px; }
.print31-info { padding:12px 14px; border:1px solid #cfe0eb; border-radius:11px; background:#f4f9fc; color:#496b7c; line-height:1.45; }
.print31-period-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.print31-period-card,.print31-professor-card,.print31-tips>div { border:1px solid #dfe6eb; border-radius:13px; background:#fff; }
.print31-period-card { padding:15px; }
.print31-period-card>header { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.print31-period-card h2,.print31-professor-card h2 { margin:3px 0 0; }
.print31-kicker { color:#758590; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.print31-status { padding:5px 8px; border-radius:999px; font-size:9px; font-weight:800; text-transform:uppercase; }
.print31-status.ok { background:#e2f3e7; color:#2f7545; }
.print31-status.neutral { background:#edf1f3; color:#667681; }
.print31-metrics { display:flex; flex-wrap:wrap; gap:5px; margin:11px 0; }
.print31-metrics span { padding:4px 7px; border-radius:999px; background:#f1f5f7; color:#60737f; font-size:9px; }
.print31-actions { display:grid; gap:6px; }
.print31-actions a { padding:8px 9px; border-radius:8px; background:#eef4f7; color:#35647f; text-decoration:none; font-size:11px; font-weight:700; }
.print31-professor-card { display:grid; grid-template-columns:1fr minmax(340px,.9fr); gap:18px; padding:16px; }
.print31-professor-card p { color:#687985; line-height:1.45; }
.print31-professor-card form { display:grid; gap:7px; }
.print31-professor-card label { color:#536873; font-size:11px; font-weight:700; }
.print31-professor-card select { width:100%; padding:9px 10px; border:1px solid #ccd8df; border-radius:8px; background:#fff; }
.print31-tips { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.print31-tips>div { display:grid; gap:4px; padding:12px; }
.print31-tips strong { color:#2f617e; }
.print31-tips span { color:#6a7b86; font-size:10px; line-height:1.4; }

.print31-document { margin:0; background:#eef1f3; color:#111; font-family:Arial,Helvetica,sans-serif; }
.print31-toolbar { position:sticky; top:0; z-index:50; display:flex; flex-wrap:wrap; gap:8px; align-items:end; padding:10px 14px; border-bottom:1px solid #ccd6dc; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.print31-toolbar a,.print31-toolbar button { display:inline-flex; align-items:center; min-height:34px; padding:7px 10px; border:1px solid #bfcbd2; border-radius:7px; background:#fff; color:#315e78; text-decoration:none; font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.print31-toolbar>button { background:#246b98; border-color:#246b98; color:#fff; }
.print31-toolbar form { display:flex; flex-wrap:wrap; gap:7px; align-items:end; }
.print31-toolbar label { display:grid; gap:3px; color:#566a75; font-size:10px; font-weight:700; }
.print31-toolbar select { min-width:150px; padding:7px; border:1px solid #cbd6dc; border-radius:7px; background:#fff; }
.print31-toolbar .print31-check { display:flex; align-items:center; gap:5px; padding-bottom:8px; }

.print31-sheet { box-sizing:border-box; margin:10px auto; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.08); break-after:page; page-break-after:always; }
.print31-sheet:last-of-type { break-after:auto; page-break-after:auto; }
.print31-landscape .print31-sheet { width:297mm; min-height:210mm; padding:7mm; }
.print31-portrait .print31-sheet { width:210mm; min-height:297mm; padding:7mm 6mm; }
.print31-header { display:grid; gap:2px; margin-bottom:4mm; text-align:center; }
.print31-header strong { font-size:12pt; }
.print31-header>span { font-size:9pt; font-weight:700; }
.print31-header small { font-size:7pt; }

.print31-official-table,.print31-insp-table,.print31-individual-table,.print31-prof-card table { width:100%; border-collapse:collapse; table-layout:fixed; }
.print31-official-table th,.print31-official-table td { border:.35pt solid #777; padding:1.2mm; text-align:center; vertical-align:middle; font-size:6.3pt; }
.print31-official-table thead th { background:#e7ebee; font-weight:700; }
.print31-official-table tbody th { background:#f2f4f5; font-weight:700; }
.print31-official-table small { display:block; font-size:5.5pt; font-weight:400; }

.print31-insp-table th,.print31-insp-table td { border:.45pt solid #333; padding:1.2mm; text-align:center; vertical-align:top; font-size:6.5pt; }
.print31-insp-table thead th { background:#e5e9ec; height:6mm; }
.print31-insp-table tbody th { width:15mm; vertical-align:middle; background:#f2f4f5; }
.print31-insp-table tbody tr { height:var(--insp-row-mm,20mm); }
.print31-insp-table td strong,.print31-insp-table td span { display:block; }
.print31-insp-table td strong { margin-top:.5mm; font-size:7pt; }
.print31-insp-table td span { margin-top:1mm; font-size:6.5pt; }
.print31-insp-table tbody th small { display:block; margin-top:.8mm; font-size:5.5pt; font-weight:400; }
.print31-signature { display:grid; justify-content:end; gap:1mm; margin-top:6mm; text-align:center; font-size:7pt; }

.print31-general-sheet { padding-top:6mm!important; }
.print31-general-grid { display:grid; grid-template-columns:1fr 1fr; gap:4mm 7mm; }
.print31-prof-card { break-inside:avoid; page-break-inside:avoid; }
.print31-prof-card>header { display:flex; justify-content:space-between; gap:4px; margin-bottom:1mm; font-size:6.5pt; }
.print31-prof-card table th,.print31-prof-card table td { border:.25pt solid #9aa3a8; padding:.6mm; text-align:center; vertical-align:middle; font-size:5.2pt; line-height:1.08; }
.print31-prof-card table thead th { background:#dfe6ee; }
.print31-prof-card table tbody th { background:#eef3f7; }

.print31-individual-table th,.print31-individual-table td { border:.45pt solid #444; padding:2mm; text-align:center; vertical-align:middle; font-size:8pt; }
.print31-individual-table thead th { background:#dfe6ee; }
.print31-individual-table tbody th { width:18mm; background:#f2f4f6; }
.print31-individual-table tbody th small { display:block; margin-top:1mm; font-size:6pt; font-weight:400; }
.print31-individual-table td { height:12mm; }

.print31-empty { margin:20px auto; max-width:850px; padding:18px; border:1px dashed #aebbc3; border-radius:9px; background:#fff; color:#697b86; }

@media (max-width:1000px) {
    .print31-period-grid { grid-template-columns:1fr 1fr; }
    .print31-tips { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
    .print31-period-grid,.print31-tips,.print31-professor-card { grid-template-columns:1fr; }
}
@media print {
    .print31-toolbar { display:none!important; }
    .print31-document { background:#fff; }
    .print31-sheet { margin:0; box-shadow:none; }
    .print31-landscape .print31-sheet,.print31-portrait .print31-sheet { width:auto; min-height:0; padding:0; }
}
