/* Shared screen preview and A4 print format, isolated to the Principal module. */
.principal-shell .principal-print-summary{display:none}
.principal-shell .summary-shortcut{display:flex;align-items:center;gap:12px;margin:0 0 20px;flex-wrap:wrap}
.principal-shell .summary-shortcut span{color:#64748b;font-size:12px;flex:1;min-width:180px}
.principal-shell .principal-summary{font-family:Arial,sans-serif;color:#172b4d;background:#fff;border:1px solid #dce3eb;border-radius:12px;padding:30px;max-width:1100px;margin:20px auto;box-sizing:border-box}
.principal-shell .summary-letterhead{border-bottom:2px solid #17366b;padding-bottom:18px;margin-bottom:22px}
.principal-shell .summary-school{font-size:20px;font-weight:700;letter-spacing:.2px}
.principal-shell .summary-letterhead p{font-size:12px;color:#53657c;margin:7px 0 18px}
.principal-shell .summary-letterhead h2{font-size:24px;margin:0 0 14px;line-height:1.3}
.principal-shell .summary-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:11px;color:#53657c}
.principal-shell .summary-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 24px}
.principal-shell .summary-totals>div{padding:14px;border:1px solid #dce3eb;border-radius:6px;min-width:0}
.principal-shell .summary-totals dt{font-size:11px;color:#53657c;line-height:1.5}
.principal-shell .summary-totals dd{font-size:20px;font-weight:700;margin:8px 0 0;overflow-wrap:anywhere}
.principal-shell .summary-section{margin:24px 0}
.principal-shell .summary-section h3{font-size:15px;margin:0 0 12px}
.principal-shell .principal-summary table{width:100%;min-width:0;border-collapse:collapse;font-size:12px;table-layout:auto}
.principal-shell .principal-summary th,.principal-shell .principal-summary td{padding:10px 9px;border-bottom:1px solid #dce3eb;text-align:left;white-space:normal;overflow-wrap:anywhere}
.principal-shell .principal-summary th{background:#edf2f8;color:#17366b;font-weight:700}
.principal-shell .summary-note,.principal-shell .summary-end{font-size:11px;line-height:1.6;color:#53657c;margin:12px 0 0}
.principal-shell .summary-end{border-top:1px solid #dce3eb;padding-top:15px}
@media(max-width:700px){
 .principal-shell .principal-summary{padding:18px 12px;border-radius:8px}
 .principal-shell .summary-totals{grid-template-columns:repeat(2,minmax(0,1fr))}
 .principal-shell .summary-totals dd{font-size:17px}
 .principal-shell .summary-letterhead h2{font-size:21px}
 .principal-shell .summary-meta{display:grid;gap:7px}
 .principal-shell .principal-summary table{font-size:11px}
 .principal-shell .principal-summary th,.principal-shell .principal-summary td{padding:9px 5px}
}
@page{size:A4 portrait;margin:14mm 12mm}
@media print{
 body.principal-shell .main,body.principal-shell .principal-summary,body.principal-shell .principal-summary *{visibility:visible!important}
 html:has(.principal-summary),body.principal-shell{height:auto!important;min-height:0!important;background:#fff!important;overflow:visible!important}
 body.principal-shell> :not(.main){display:none!important}
 body.principal-shell .main{display:block!important;width:auto!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}
 body.principal-shell .main:has(>.principal-summary)> :not(.principal-summary),
 body.principal-shell .main:has(>.principal-print-summary)> :not(.principal-print-summary){display:none!important}
 body.principal-shell .main>.principal-print-summary{display:block!important}
 body.principal-shell .principal-summary{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#111!important;font-size:10pt!important}
 body.principal-shell .summary-letterhead{break-inside:avoid;break-after:avoid}
 body.principal-shell .summary-letterhead h2{font-size:18pt!important}
 body.principal-shell .summary-totals{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;break-inside:avoid}
 body.principal-shell .summary-totals dd{font-size:13pt!important}
 body.principal-shell .summary-section{break-inside:auto!important;margin:18px 0!important}
 body.principal-shell .summary-section h3{break-after:avoid;font-size:11pt!important}
 body.principal-shell .principal-summary .ps-table-wrap{display:block!important;overflow:visible!important;max-height:none!important;border:0!important}
 body.principal-shell .principal-summary table{display:table!important;width:100%!important;min-width:0!important;font-size:9pt!important}
 body.principal-shell .principal-summary thead{display:table-header-group!important}
 body.principal-shell .principal-summary tr{break-inside:avoid!important}
 body.principal-shell .principal-summary th,body.principal-shell .principal-summary td{padding:7px 6px!important;white-space:normal!important;color:#111!important}
 body.principal-shell .summary-note,body.principal-shell .summary-end{font-size:8pt!important;color:#444!important}
 body.principal-shell .summary-controls{display:none!important}
}
