/* Keep the old renderer out of sight during the first V8 page load. */
.portal:not([data-pn-v8="ready"]):not([data-pn-v8="failed"]) .portal-sidebar,
.portal:not([data-pn-v8="ready"]):not([data-pn-v8="failed"]) .portal-topbar,
.portal:not([data-pn-v8="ready"]):not([data-pn-v8="failed"]) .mobile-bottom-nav{visibility:hidden!important}
.portal:not([data-pn-v8="ready"]):not([data-pn-v8="failed"]) #view>*{visibility:hidden!important}
.portal:not([data-pn-v8="ready"]):not([data-pn-v8="failed"]) #view{min-height:60vh;position:relative;background:var(--pn-bg,#f3f6fb)}
.portal:not([data-pn-v8="ready"]):not([data-pn-v8="failed"]) #view::before{content:"Ouverture du portail…";visibility:visible;position:absolute;top:35%;left:50%;transform:translateX(-50%);font:700 1rem system-ui,sans-serif;color:var(--pn-text,#253d5e);white-space:nowrap}

/* Theme variables also reach the legacy administration and fixed mobile chrome. */
.portal-main,.view-content{background:var(--pn-bg)!important;color:var(--pn-text)!important}
.portal-topbar,.pn-mobile-header,.mobile-bottom-nav{background:var(--pn-card)!important;color:var(--pn-text)!important;border-color:var(--pn-line)!important}
.portal-sidebar{background:var(--pn-side)!important}
.portal .section-card,.portal .record-card,.portal .data-card,.portal .settings-card,.portal .admin-card,.portal .form-card,.portal .schedule-daily,.portal .attendance-roster{background:var(--pn-card)!important;color:var(--pn-text)!important;border-color:var(--pn-line)!important}
.portal :where(.pn-card,.pn-modal,.pn-table-wrap,.pn-toolbar,.pn-history-item,.edr-school-filters,.edr-canteen-hero){color:var(--pn-text)}
.portal :where(input:not([type="color"]):not([type="checkbox"]):not([type="radio"]),select,textarea){background:var(--pn-input,var(--pn-card));color:var(--pn-text);border-color:var(--pn-line)}
.portal #view :where(.panel,.stat-card,.announcement-card,.day-col,.attendance-pupil,.data-table){background:var(--pn-card)!important;color:var(--pn-text)!important;border-color:var(--pn-line)!important}
.portal #view :where(.panel-head h2,.panel-head h3,.panel label,.edit-form label,.stat-card strong,.record-card h3,.data-table td){color:var(--pn-text)!important}
.portal #view :where(.panel-head p,.form-help,.record-card p,.record-card small,.list-row small,.stat-card small,.data-table th,.data-table td small){color:var(--pn-muted)!important}
.portal #view :where(.panel-head,.list-row,.data-table td,.data-table th){border-color:var(--pn-line)!important}
.portal #view .data-table th{background:color-mix(in srgb,var(--pn-card) 85%,var(--pn-bg))!important;color:var(--pn-text)!important}
.portal #view .text-button{color:var(--pn-accent)!important}
.portal #view .teacher-list-row{background:var(--pn-card)!important;border-color:var(--pn-line)!important;color:var(--pn-text)!important}
.portal #view .teacher-list-row strong{color:var(--pn-text)!important}
.portal #view .teacher-list-row small{color:var(--pn-muted)!important}

#edrPrintTimetable{display:none}
@media print{
  @page{size:A4 landscape;margin:7mm}
  body.edr-printing{background:#fff!important;color:#111!important}
  body.edr-printing>*:not(#edrPrintTimetable){display:none!important}
  body.edr-printing #edrPrintTimetable{display:block!important;position:static!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important;color:#111!important;font-family:Arial,Helvetica,sans-serif!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  #edrPrintTimetable *{box-sizing:border-box!important;color:#111!important;text-shadow:none!important;box-shadow:none!important}
  #edrPrintTimetable>header{display:flex;align-items:center;gap:3mm;min-height:13mm;margin-bottom:2mm;border-bottom:1px solid #444}
  #edrPrintTimetable>header img{width:10mm;height:10mm;object-fit:contain;filter:grayscale(1)}
  #edrPrintTimetable h1{margin:0;font-size:12pt;line-height:1.1}
  #edrPrintTimetable header p{margin:1mm 0 0;font-size:8pt}
  .edr-print-key{display:flex;gap:5mm;align-items:center;margin:0 0 2mm;font-size:7pt}
  .edr-print-key b{display:inline-block;border:1px solid #111;padding:.2mm 1.2mm;font-size:6pt}
  .edr-print-grid{display:grid;grid-template-columns:12mm repeat(5,minmax(0,1fr));border-left:1px solid #555;border-top:1px solid #555;width:100%}
  .edr-print-day,.edr-print-hours{min-width:0;border-right:1px solid #555}
  .edr-print-day-title{display:grid;place-items:center;height:8mm;border-bottom:1px solid #555;background:#f0f0f0!important;font-size:8pt;font-weight:800}
  .edr-print-day-body,.edr-print-hour-body{height:159mm;position:relative;overflow:hidden;background:repeating-linear-gradient(to bottom,#fff 0,#fff calc(12.5% - .15mm),#ddd calc(12.5% - .15mm),#ddd 12.5%)!important}
  .edr-print-hour-body span{position:absolute;left:1mm;transform:translateY(-50%);background:#fff!important;padding-right:1mm;font-size:6.5pt;font-weight:700;white-space:nowrap}
  .edr-print-hour-body span:first-child{transform:none}.edr-print-hour-body span:last-child{transform:translateY(-100%)}
  .edr-print-course{position:absolute;left:.55mm;right:.55mm;z-index:3;display:flex;overflow:hidden;border:1px solid #222;background:#fff!important;border-radius:0!important}
  .edr-print-course.split{border-width:1.3px}
  .edr-print-half{position:relative;flex:1 1 0;min-width:0;padding:1mm .8mm;overflow:hidden;background:#fff!important}
  .edr-print-course.split .edr-print-half:first-child{border-right:1px dashed #111;background:#ededed!important}
  .edr-print-half strong{display:block;padding-right:4mm;font-size:7pt;line-height:1.06;overflow-wrap:anywhere}
  .edr-print-half small{display:block;font-size:5.8pt;line-height:1.1;overflow-wrap:anywhere}
  .edr-print-tag{position:absolute;right:.5mm;top:.35mm;border:1px solid #111;background:#fff!important;padding:0 .7mm;font-size:5pt;font-weight:900}
  .edr-print-course.short .edr-print-half small{display:none}
  .edr-print-break{position:absolute;left:0;right:0;z-index:2;display:grid;place-items:center;padding:0 .4mm;text-align:center;border-top:1px solid #777;border-bottom:1px solid #777;background:#eee!important;font-size:5.5pt;font-weight:700}
  .edr-print-break.lunch{background:#f5f5f5!important}
}
