/* V134 targeted text-visibility repair only. No layout/card/logo changes. */
body.dark #portal .content :where(.page-heading p,.section-heading p,.panel p,.panel small,.location-privacy-note,.school-close-note,.register-upload-status,.admission-rule-note span,.face-only-note span,.camera-placeholder p,.verification-result p,.detail-list span,.auto-date-card span,.monthly-download-status){color:#dbe7f1!important;opacity:1!important}
body.dark #portal .content :where(label,th){color:#f6f9fc!important;opacity:1!important}
body.dark #portal .content td{color:#dfe9f2!important;opacity:1!important}
body.dark #portal .content input,body.dark #portal .content select,body.dark #portal .content textarea{color:#f8fbff!important;background:#0d1b28!important;border-color:#3a5368!important}
body.dark #portal .content input::placeholder,body.dark #portal .content textarea::placeholder{color:#aebfce!important;opacity:1!important}
body.dark #portal .school-module-card small,body.dark #portal .v133-cloud-save-state span{color:#dbe7f1!important;opacity:1!important}
body.dark #portal .tab-list .tab{color:#dbe7f1!important;opacity:1!important}
body.dark #portal .tab-list .tab.active{color:#fff!important}

/* V139: authentication surfaces must remain mutually exclusive even when legacy
   chooser-mode mobile rules use display:...!important. */
html body #loginScreen.is-hidden[hidden],
html body #loginScreen.is-hidden[aria-hidden="true"],
html body #portal.is-hidden[hidden],
html body #portal.is-hidden[aria-hidden="true"]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}


/* V163 TARGETED UI: final-load overrides for requested School/Staff/Attendance presentation. */
#portal .school-student-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
#portal #schoolStudentAttendanceModule .student-attendance-hero{background:#123d61!important;border:1px solid #2b648f!important;border-top:4px solid #56b6f2!important;color:#fff!important}
#portal #schoolStudentAttendanceModule .student-attendance-hero :is(h2,p,small,strong,span){color:#fff!important}
#portal #schoolAttendanceMergeHost .school-subworkspace{display:block!important}
#portal #schoolAttendanceMergeHost .tabs-panel{margin:0!important;border-radius:22px!important;border:1px solid #2d465d!important;background:#0e1e2d!important;box-shadow:0 18px 34px rgba(0,0,0,.22)!important}
#portal #schoolAttendanceMergeHost .tab-list{display:none!important}
#portal #schoolAttendanceMergeHost .filter-row{display:grid!important;grid-template-columns:minmax(150px,1.25fr) minmax(150px,1fr) repeat(4,minmax(105px,.72fr))!important;gap:12px!important;align-items:end!important}
#portal #schoolAttendanceMergeHost .mini-stat{margin:0!important;min-height:72px!important;border-radius:16px!important;background:#142b3f!important;border:1px solid #31516a!important;display:grid!important;align-content:center!important;padding:10px 14px!important}
#portal #schoolAttendanceMergeHost .mini-stat span{color:#b9cfdf!important;font-size:10px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important}
#portal #schoolAttendanceMergeHost .mini-stat strong{color:#fff!important;font-size:24px!important}

#portal #staffRecordForm.staff-record-form{grid-template-columns:minmax(280px,320px) minmax(0,1fr)!important;gap:28px!important;align-items:start!important;padding:8px 0 30px!important}
#portal #staffRecordForm .staff-photo-field{padding:24px!important;border-radius:24px!important;background:#0f2132!important;border:1px solid #2b455c!important;box-shadow:0 16px 32px rgba(0,0,0,.16)!important;display:grid!important;gap:14px!important;align-content:start!important}
#portal #staffRecordForm .staff-photo-preview{width:190px!important;height:190px!important;margin:0 auto 4px!important;border-radius:28px!important;background:#122d43!important;border:2px dashed #396a91!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)!important}
#portal #staffRecordForm .staff-photo-preview small{font-size:14px!important;font-weight:850!important;color:#f2f8fc!important}
#portal #staffRecordForm .camera-facing-field{width:100%!important;margin:0!important}
#portal #staffRecordForm .photo-button{min-height:54px!important;border-radius:14px!important;font-weight:900!important}
#portal #staffRecordForm .staff-photo-field>p{font-size:12px!important;line-height:1.45!important;text-align:center!important;margin:0!important;color:#c8d8e5!important}
#portal #staffRecordForm .staff-fields{grid-template-columns:repeat(2,minmax(220px,1fr))!important;gap:18px 20px!important;align-items:start!important;max-width:760px!important}
#portal #staffRecordForm .staff-fields label{display:grid!important;gap:8px!important;min-width:0!important;font-weight:850!important}
#portal #staffRecordForm .staff-fields input,#portal #staffRecordForm .staff-fields select{width:100%!important;min-width:0!important;height:56px!important;border-radius:14px!important;padding:0 16px!important;font-size:15px!important}
#portal #staffRecordForm .staff-fields .form-actions{margin-top:4px!important}
#portal #staffRecordForm .staff-fields .primary-button{min-height:56px!important;border-radius:14px!important;padding:0 24px!important}
#portal #staffRecordCards.staff-record-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr))!important;gap:18px!important}
#portal #staffRecordCards .staff-record-card{min-height:176px!important;padding:20px!important;border-radius:22px!important;background:#102439!important;border:1px solid #2c4a63!important;box-shadow:0 16px 32px rgba(0,0,0,.18)!important;align-items:flex-start!important;gap:16px!important}
#portal #staffRecordCards .staff-card-photo{width:92px!important;height:92px!important;flex:0 0 92px!important;border-radius:22px!important;background:#183c5c!important;border:1px solid #35658a!important}
#portal #staffRecordCards .staff-card-copy{display:grid!important;gap:3px!important;min-width:0!important;flex:1!important}
#portal #staffRecordCards .staff-card-copy small{color:#8fc8f2!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.05em!important}
#portal #staffRecordCards .staff-card-copy h3{margin:1px 0 5px!important;font-size:24px!important;line-height:1.15!important;color:#fff!important}
#portal #staffRecordCards .staff-card-copy p{font-size:12px!important;line-height:1.45!important;color:#d5e4ef!important;margin:1px 0!important;overflow-wrap:anywhere!important}
#portal #staffRecordCards .row-actions{margin-top:10px!important;gap:9px!important}
#portal #staffRecordCards .row-actions button{min-height:38px!important;border-radius:10px!important;padding:8px 14px!important;font-weight:900!important}

#portal #adminSchools .metric-grid .metric-card{min-height:138px!important;border-radius:22px!important;box-shadow:0 16px 32px rgba(0,0,0,.20)!important;border:0!important}
#portal #adminSchools .metric-grid .metric-card.metric-blue{background:#174f8c!important}
#portal #adminSchools .metric-grid .metric-card.metric-teal{background:#116f75!important}
#portal #adminSchools .metric-grid .metric-card.metric-violet{background:#51449b!important}
#portal #adminSchools .metric-grid .metric-card.metric-coral{background:#a24e20!important}
#portal #adminSchools .metric-grid .metric-card :is(span,strong,small){color:#fff!important;opacity:1!important}
#portal #adminSchools .metric-grid .metric-card strong{font-size:34px!important}

#portal #adminSchoolBformCards.admin-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
#portal #adminSchoolBformCards .admin-school-summary-card{position:relative!important;overflow:hidden!important;padding:22px!important;border-radius:24px!important;border:0!important;box-shadow:0 18px 36px rgba(0,0,0,.24)!important;color:#fff!important}
#portal #adminSchoolBformCards .admin-school-summary-card.org-pef{background:#0f5fae!important}
#portal #adminSchoolBformCards .admin-school-summary-card.org-peima{background:#16834f!important}
#portal #adminSchoolBformCards .admin-school-summary-card :is(h2,p,strong,span,small,.eyebrow){color:#fff!important;opacity:1!important}
#portal #adminSchoolBformCards .admin-school-summary-card .section-heading{align-items:flex-start!important;margin-bottom:12px!important}
#portal #adminSchoolBformCards .admin-school-card-subtitle{font-size:12px!important;line-height:1.45!important;opacity:.9!important}
#portal #adminSchoolBformCards .admin-school-org-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:80px!important;padding:9px 13px!important;border-radius:999px!important;background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff!important;font-weight:900!important;letter-spacing:.08em!important}
#portal #adminSchoolBformCards .admin-school-summary-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:16px 0!important}
#portal #adminSchoolBformCards .admin-school-summary-stats>div{min-width:0!important;padding:13px 12px!important;border-radius:15px!important;background:rgba(255,255,255,.13)!important;border:1px solid rgba(255,255,255,.18)!important}
#portal #adminSchoolBformCards .admin-school-summary-stats span{display:block!important;font-size:9px!important;font-weight:850!important;letter-spacing:.06em!important;text-transform:uppercase!important;white-space:nowrap!important}
#portal #adminSchoolBformCards .admin-school-summary-stats strong{display:block!important;margin-top:5px!important;font-size:26px!important;line-height:1!important}
#portal #adminSchoolBformCards .admin-school-card-note{min-height:42px!important;margin:0 0 14px!important;line-height:1.5!important}
#portal #adminSchoolBformCards .admin-school-card-actions{display:flex!important;flex-wrap:wrap!important;gap:9px!important}
#portal #adminSchoolBformCards .admin-school-card-actions .secondary-button{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.25)!important;color:#fff!important}
#portal #adminSchoolBformCards .admin-school-card-actions .danger-button{background:#fff!important;border:1px solid #fff!important;color:#8c2020!important}

@media(max-width:1100px){
  #portal #schoolAttendanceMergeHost .filter-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #portal #adminSchoolBformCards .admin-school-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:820px){
  #portal .school-student-tabs{grid-template-columns:1fr!important}
  #portal #staffRecordForm.staff-record-form{grid-template-columns:1fr!important}
  #portal #staffRecordForm .staff-fields{grid-template-columns:1fr!important;max-width:none!important}
  #portal #adminSchoolBformCards.admin-location-grid{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  #portal #schoolAttendanceMergeHost .filter-row{grid-template-columns:1fr 1fr!important}
  #portal #adminSchoolBformCards .admin-school-summary-stats{grid-template-columns:1fr 1fr!important}
  #portal #adminSchoolBformCards .admin-school-card-actions{display:grid!important;grid-template-columns:1fr!important}
  #portal #adminSchoolBformCards .admin-school-card-actions button{width:100%!important}
}
