@media print {
  @page { size: A4 portrait; margin: 12mm; }
  html:has(body.print-portal-active), body.print-portal-active { height: auto !important; min-height: 0 !important; max-height: none !important; overflow: visible !important; display: block !important; background: #fff !important; }
  body.print-portal-active #printPortal { position: static !important; height: auto !important; max-height: none !important; overflow: visible !important; }
  body.print-portal-active > :not(#printPortal) { display: none !important; }
  #printPortal { display: block !important; color: #111827; background: #fff; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  #printPortal.print-landscape { page: nephscola-landscape; }
  #printPortal.print-portrait { page: nephscola-portrait; }
  body.print-portal-active #printPortal, body.print-portal-active #printPortal * { visibility: visible !important; }
  #printPortal table { width: 100%; border-collapse: collapse; }
  #printPortal thead { display: table-header-group; }
  #printPortal tr, #printPortal img, #printPortal .ns-print-keep { break-inside: avoid; }
  #printPortal .ns-print-page-footer { position: running(ns-print-footer); font-size: 9pt; color: #64748b; }
}

@page nephscola-landscape { size: A4 landscape; margin: 10mm; }
@page nephscola-portrait { size: A4 portrait; margin: 12mm; }
.student-account-print-document .print-account-block{margin:6px 0!important;padding:5px!important;break-inside:auto}
.student-account-print-document .print-account-block>h2{background:#163c67!important;color:white!important;font:11pt Arial!important;margin:0 0 6px!important;padding:5px 7px!important}
.student-account-print-document :is(td,th,dt,dd){font:9pt/1.3 Arial!important;padding:4px 6px!important}
.student-account-print-document .print-detail-grid>div{min-height:29px!important;padding-block:3px!important}
/* Shared screen dialogs; fixed print geometry is isolated in the preview frame. */
.ns-print-dialog:has(.ns-preview-viewport){width:min(960px,100%)}
.ns-print-dialog:has(.ns-preview-viewport)>.ns-print-body{display:grid;grid-template-columns:minmax(0,1fr) 210px;grid-template-rows:minmax(0,1fr) auto;gap:10px;padding:10px}
.ns-print-dialog:has(.ns-preview-viewport)>header{padding:8px 12px}
.ns-preview-controls{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:8px;align-items:stretch;align-self:start}
.ns-preview-controls label{display:grid!important;grid-template-columns:1fr!important;margin:0!important;gap:4px!important}
.ns-preview-zoom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}
.ns-preview-zoom output{text-align:center;min-width:42px;font-variant-numeric:tabular-nums}
.ns-preview-viewport[data-fit="page"]{overflow:hidden}
.ns-print-dialog .ns-preview-controls~footer{grid-column:2;grid-row:2;display:flex;flex-direction:column}
.ns-preview-viewport{grid-column:1;grid-row:1/3;height:calc(100dvh - 115px);min-height:200px;overflow:auto;background:#e5e7eb;padding:12px;box-sizing:border-box}
.ns-preview-space{position:relative;margin-inline:auto;overflow:hidden}
.ns-preview-paper{box-sizing:border-box;position:absolute;top:0;left:0;transform-origin:top left;background:white;color:#142740;padding:12mm}
.ns-print-fiche{display:grid;gap:6mm;color:#142740;background:white}
.ns-print-fiche[data-copy-sheet]{min-height:var(--ns-fiche-page-height,273mm);align-content:space-evenly;grid-auto-rows:max-content;box-sizing:border-box}
@media print{body.print-portal-active #printPortal .ns-print-fiche[data-copy-sheet]{display:grid!important;min-height:var(--ns-fiche-page-height,273mm)!important;align-content:space-evenly!important;grid-auto-rows:max-content!important}}
.ns-print-fiche .saf-profile-hero{display:grid!important;grid-template-columns:24mm minmax(0,1fr) 21mm!important;padding:3mm!important;border:1px solid #b7c8db;gap:4mm!important;break-inside:avoid;background:white!important;color:#142740!important}
.ns-print-fiche .saf-profile-main h2{font-size:13pt!important;margin:0!important}
.ns-print-fiche .saf-profile-facts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2mm!important}
.ns-print-fiche .saf-profile-fact-column{padding:0!important;display:block!important;border:1px solid #c9d8e8!important;margin:0!important}
.ns-print-fiche .saf-profile-fact-column>div{display:grid!important;grid-template-columns:max-content minmax(0,1fr);gap:1mm!important;padding:1.5mm 1mm!important;border-bottom:1px solid #c9d8e8!important;min-height:6mm;box-sizing:border-box}
.ns-print-fiche .saf-profile-fact-column>div:last-child{border-bottom:0!important}
.ns-print-fiche dt{font:6pt Arial!important;white-space:nowrap!important}.ns-print-fiche dd{font:6.5pt Arial!important;margin:0!important;white-space:nowrap!important;min-width:0;overflow:visible!important;text-overflow:clip!important}
.ns-print-fiche .saf-profile-photo{width:24mm!important;height:31mm!important;min-height:0!important;padding:0!important;border:0!important;align-self:start}
.ns-print-fiche .saf-profile-photo img{width:24mm!important;height:31mm!important;object-fit:cover}
.ns-print-fiche .saf-profile-qr svg{width:24mm!important;height:24mm!important}
.ns-print-fiche .saf-school-info{grid-column:1/-1!important;display:flex!important;flex-wrap:nowrap!important;justify-content:center!important;align-items:center!important;gap:1mm!important;padding:2mm 0!important;font:6pt Arial!important;border-top:1px solid #c9d8e8!important;min-width:0!important}
.ns-print-fiche .saf-school-info .saf-school-block{display:flex!important;align-items:center!important;gap:1mm!important;flex:0 1 auto!important;min-width:0!important;padding:0 1mm!important;border-right:1px solid #c9d8e8}
.ns-print-fiche .saf-school-info :is(p,h3,span){font:6pt Arial!important;margin:0!important;white-space:nowrap!important;text-overflow:clip!important}
.ns-print-fiche .saf-school-info svg{width:3mm!important;height:3mm!important}
.ns-print-fiche .saf-student-meta{font:8pt Arial!important;margin:2mm 0!important}
.ns-print-fiche .saf-profile-hero{min-height:0!important;height:auto!important;box-shadow:none!important}
.ns-print-fiche .saf-profile-photo{grid-column:1!important;grid-row:1!important}
.ns-print-fiche .saf-profile-main{grid-column:2!important;grid-row:1!important;min-width:0!important}
.ns-print-fiche .saf-profile-qr{grid-column:3!important;grid-row:1!important;align-self:center!important;padding:0!important;border:0!important;min-width:0!important;width:24mm!important}
.ns-print-fiche .saf-profile-hero{grid-template-columns:24mm minmax(0,1fr) 24mm!important}
.ns-print-fiche .saf-student-meta{display:flex!important;align-items:center!important;gap:7px!important}
.ns-print-fiche .saf-student-meta>span{display:inline-flex!important;align-items:center!important;gap:4px!important;min-height:0!important;height:auto!important;padding:2px 7px!important;border-radius:35px!important;white-space:nowrap!important;font:8pt/1.3 Arial!important}
.ns-print-fiche .saf-matricule-capsule{border:1px solid #c9d8e8!important;background:#f1f5f9!important;color:#142740!important}
.ns-print-fiche .saf-school-info{grid-row:2!important}
.ns-print-overlay{position:fixed;inset:0;z-index:calc(var(--ns-layer-confirmation,11000) + 20);display:grid;place-items:center;padding:var(--ns-card-padding,16px);background:rgb(15 18 24 / .55)}
.ns-print-dialog{width:min(850px,100%);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--color-border);border-radius:var(--ns-card-radius,14px);background:var(--ns-modal-surface,var(--color-surface));color:var(--color-text);box-shadow:0 18px 60px rgb(0 0 0 / .25);font-size:var(--ns-value-font-size,12.5px)}
.ns-print-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:var(--ns-card-padding,16px);border-bottom:1px solid var(--color-border)}
.ns-print-dialog>header.is-primary{background:var(--color-primary);color:var(--color-text-on-primary)}
.ns-print-dialog h2{display:flex;align-items:center;gap:.6em;margin:0;font-size:var(--ns-card-title-font-size,16px);color:inherit}
.ns-print-dialog button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--ns-control-height,34px);font-size:var(--ns-control-font-size,12.5px);cursor:pointer}
.ns-print-dialog>header button{color:inherit;background:transparent;border:0}
.ns-print-body{padding:var(--ns-card-padding,16px);display:grid;gap:12px}
.ns-print-body p{margin:.3em 0;line-height:1.5}
.ns-print-body footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.ns-print-choices{display:grid;gap:8px}
.ns-print-choices button{width:100%;text-align:left;justify-content:flex-start;padding:10px}
.ns-print-choices span{display:grid;gap:4px}.ns-print-choices small,.ns-print-muted{color:var(--color-text-secondary)}
.ns-print-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ns-print-role-grid section,.ns-print-body fieldset{border:1px solid var(--color-border);border-radius:10px;padding:12px;min-width:0}
.ns-print-body h3{display:flex;align-items:center;gap:7px;font-size:var(--ns-card-title-font-size,16px);margin:0 0 8px}
.ns-print-body label{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0}
.ns-print-role-grid label{display:grid}.ns-print-body input:not([type=checkbox]),.ns-print-body select{max-width:100%;min-height:var(--ns-control-height,34px);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px}
.ns-print-body iframe{width:100%;height:min(55dvh,550px);border:1px solid var(--color-border);background:white}
.ns-print-body [data-error]{color:var(--color-danger)}
@media(max-width:600px){.ns-print-role-grid{grid-template-columns:minmax(0,1fr)}.ns-print-body footer button{flex:1}}

/* Neutral grouping and relaxed document-option sizing, scoped to print dialogs. */
.ns-print-dialog {
  --ns-print-group-bg: color-mix(in srgb, var(--color-surface) 94%, var(--color-text) 6%);
}
.ns-print-dialog:has(.ns-print-choices) { width: min(640px, 100%); }
.ns-print-dialog:has(.ns-print-role-grid) > header,
.ns-print-dialog .ns-print-role-grid > section,
.ns-print-dialog:has(.ns-print-role-grid) .ns-print-body > fieldset {
  background: var(--ns-print-group-bg);
}
.ns-print-dialog:has(.ns-print-role-grid) .ns-print-body > section {
  padding: 14px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--ns-print-group-bg);
}
.ns-print-dialog .ns-print-role-grid input,
.ns-print-dialog .ns-print-role-grid select,
.ns-print-dialog .ns-print-body fieldset select {
  background: var(--color-surface);
}
.ns-print-dialog .ns-print-choices > button.outline-action {
  height: auto;
  min-height: calc(var(--ns-control-height, 34px) + 22px);
  padding: 12px 14px;
  gap: 12px;
  white-space: normal;
}
.ns-print-dialog .ns-print-choices > button > span { min-width: 0; line-height: 1.4; }
.ns-print-dialog .ns-print-body > footer {
  padding: 12px 0 8px;
  border-top: 1px solid var(--color-border);
}
.ns-print-dialog .ns-print-body > footer > button {
  height: auto;
  padding-top: 9px;
  padding-bottom: 9px;
}
.ns-print-dialog .ns-print-body > [data-error]:empty { display: none; }
.ns-preview-controls label[hidden]{display:none!important}
.ns-print-embedded .ns-print-dialog{width:100%;max-width:none;max-height:none;border-radius:var(--ui-card-radius);box-shadow:none}
.ns-print-embedded .ns-print-dialog>header,.ns-print-embedded [data-cancel]{display:none}
.ns-print-embedded .ns-preview-viewport{height:min(700px,75dvh)}
.ns-print-fiche .saf-profile-photo>span{width:24mm;height:31mm;display:grid;place-items:center;background:#edf3fa;color:#163c67;font:bold 22pt Arial;border-radius:2mm}
@page student-account-document{size:A4 portrait;margin:12mm;@bottom-right{content:"Page " counter(page) " / " counter(pages);font:9pt Arial;color:#163c67}}
@media print{
 #printPortal .student-account-print-document{page:student-account-document}
 #printPortal .student-account-print-document th{background:#e4eff9!important;color:#163c67!important;min-height:0;height:auto!important}
 #printPortal .student-account-print-document .table-wrap{overflow:visible!important;max-height:none!important;border-radius:0}
 #printPortal .student-account-print-document .ns-print-keep{break-inside:avoid!important}
 #printPortal .student-account-print-document h2{break-after:avoid!important}
 #printPortal .student-account-print-document .print-signatures{gap:3mm;margin-top:5mm;padding-top:2mm}
 #printPortal .student-account-print-document .print-signatures div{min-height:12mm}
}
