/* admin.css – supplemental admin styles */
.admin-portal-body { background: #1a1a1a; }
.admin-portal-body .portal-right { background: #1e1e1e; }
.admin-portal-body .portal-card { background: #2a2a2a; border-color: #3a3a3a; box-shadow: 0 8px 40px rgba(0,0,0,.5); }
.admin-portal-body .portal-card-header h2 { color: var(--gold-light); }
.admin-portal-body .portal-card-header p { color: rgba(255,255,255,.4); }
.admin-portal-body .form-group label { color: rgba(255,255,255,.6); }
.admin-portal-body .form-group input, .admin-portal-body .form-group select {
  background: #333; border-color: #444; color: #fff;
}
.admin-portal-body .form-group input::placeholder { color: #666; }
.admin-portal-body .form-group input:focus, .admin-portal-body .form-group select:focus { border-color: var(--gold); }
.admin-portal-body .portal-help { border-top-color: #3a3a3a; }
.admin-portal-body .portal-help p, .admin-portal-body .portal-help a { color: rgba(255,255,255,.35); }
.admin-portal-body .portal-help a { color: var(--gold); }

/* ---- Admission cards in admin panel ---- */
.nav-badge { background: #dc3545; color: #fff; font-size: .68rem; font-weight: 700; padding: .1rem .4rem; border-radius: 10px; margin-left: auto; }
.admission-cards { display: flex; flex-direction: column; gap: 1rem; }
.admission-card { display: flex; align-items: center; gap: 1.25rem; background: #fff; border-radius: 10px; padding: 1.25rem; box-shadow: var(--shadow); border-left: 3px solid var(--gold); flex-wrap: wrap; }
.admission-photo { width: 60px; height: 70px; border-radius: 6px; overflow: hidden; background: var(--surface2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1.75rem; }
.admission-photo img { width: 100%; height: 100%; object-fit: cover; }
.admission-info { flex: 1; min-width: 200px; }
.admission-info h4 { margin: 0 0 .25rem; font-size: 1rem; color: var(--deep); }
.admission-info p { margin: 0 0 .35rem; font-size: .85rem; color: var(--text-muted); }
.admission-info .dot { color: var(--gold); }
.reg-no-tag { display: inline-block; background: var(--gold-pale); color: var(--gold-dark); font-size: .72rem; font-weight: 700; padding: .15rem .55rem; border-radius: 20px; margin-right: .6rem; }
.adm-date { font-size: .72rem; color: #aaa; }
.admission-status { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.admission-status select { padding: .4rem .7rem; border: 1.5px solid var(--border); border-radius: 6px; font-size: .82rem; }
.empty-state { text-align: center; padding: 3rem 1rem; color: var(--text-muted); background: #fff; border-radius: 10px; box-shadow: var(--shadow); }

/* ---- Print: only slip visible in admin detail view ---- */
@media print {
  .dash-header, .dash-sidebar, .tab-header, .footer { display: none !important; }
  .dash-main { padding: 0 !important; }
  body { background: #fff !important; }
  .reg-slip { border: none !important; }
}

/* ---- MANUAL REGISTRATION (compact) ---- */
#tab-manual-reg { font-size: .85rem; }
#tab-manual-reg .adm-section-title { font-size: 1rem; padding-bottom: .4rem; margin-bottom: .85rem; }
#tab-manual-reg .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem .9rem; margin-bottom: .6rem; }
#tab-manual-reg .form-group label { font-size: .72rem; margin-bottom: .2rem; }
#tab-manual-reg .form-group input,
#tab-manual-reg .form-group select { padding: .45rem .65rem; font-size: .82rem; }
#tab-manual-reg .admin-form { padding: 1.25rem; }
#tab-manual-reg .edu-table th, #tab-manual-reg .edu-table td { font-size: .68rem; padding: .3rem .2rem; text-align: center; }
#tab-manual-reg .edu-table input, #tab-manual-reg .edu-table select { padding: .3rem .25rem; font-size: .75rem; min-width: 0; width: 100%; box-sizing: border-box; }
#tab-manual-reg .table-wrap { overflow: visible; max-width: 100%; }
#tab-manual-reg .edu-table { min-width: 0; width: 100%; table-layout: fixed; }
#tab-manual-reg .upload-preview { max-width: 160px; height: 190px; }
#tab-manual-reg .sig-preview { height: 100px; }
#tab-manual-reg .form-actions { margin-top: 1rem; }

.manual-reg-layout { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 1.25rem; align-items: start; }
.slip-preview-wrap { position: sticky; top: 1rem; min-width: 0; }
.slip-preview-label { font-size: .72rem; font-weight: 700; color: var(--gold-dark); text-transform: uppercase; letter-spacing: .08em; margin-bottom: .5rem; }

/* Official slip - matches the printed registration format */
.official-slip { background: #fff; border: 2px solid #333; font-family: Arial, sans-serif; font-size: 10px; color: #000; max-width: 100%; overflow-x: auto; }
.os-header { display: flex; align-items: center; gap: .75rem; padding: .6rem 1rem; border-bottom: 2px solid #333; background: #f5f5f5; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.os-header-text h2 { font-size: 13px; color: #1a3c8c; margin: 0; font-family: Arial, sans-serif; font-weight: 700; }
.os-header-text h3 { font-size: 11px; color: #c00; margin: .15rem 0 0; font-weight: 700; }

.os-table { width: 100%; border-collapse: collapse; min-width: 480px; }
.os-table td { border: 1px solid #999; padding: .25rem .45rem; font-size: 10px; vertical-align: top; }
.os-label { background: #f0f0f0; font-weight: 700; width: 18%; white-space: nowrap; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.os-section { background: #d9534f; color: #fff; font-weight: 700; text-align: center; text-transform: uppercase; font-size: 11px; padding: .4rem; -webkit-print-color-adjust: exact; print-color-adjust: exact; }

.os-edu-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.os-edu-table th, .os-edu-table td { border: 1px solid #ccc; padding: .25rem .4rem; text-align: left; }
.os-edu-table th { background: #eee; font-weight: 700; }
.os-qual { font-weight: 700; }

.os-doc-box { border: 1px solid #999; display: flex; align-items: center; justify-content: center; background: #fafafa; }
.os-photo-box { width: 110px; height: 130px; }
.os-sig-box { width: 160px; height: 55px; }
.os-doc-box img { max-width: 100%; max-height: 100%; object-fit: contain; }

.os-declaration { font-size: 9.5px; line-height: 1.6; padding: .75rem; border-top: 2px solid #333; text-align: justify; }
.os-footer { display: flex; justify-content: space-between; font-size: 10px; padding: .5rem .75rem; border-top: 1px solid #999; font-weight: 600; }

/* ---- PRINT: only the official slip ---- */
@media print {
  body.printing-manual .dash-header,
  body.printing-manual .dash-sidebar,
  body.printing-manual .tab-header,
  body.printing-manual .footer,
  body.printing-manual .no-print,
  body.printing-manual p { display: none !important; }
  body.printing-manual .dash-main { padding: 0 !important; }
  body.printing-manual .manual-reg-layout { grid-template-columns: 1fr !important; display: block !important; }
  body.printing-manual .official-slip { border: 1px solid #000; font-size: 10px; max-width: 100%; }
  body.printing-manual .slip-preview-wrap { position: static; }
}

@media(max-width:1500px){
  .manual-reg-layout { grid-template-columns: 1fr; }
  .slip-preview-wrap { position: static; }
}

@media(max-width:900px){
  #tab-manual-reg .form-row { grid-template-columns: 1fr; }
  #tab-manual-reg .edu-table { display: block; overflow-x: auto; white-space: nowrap; }
  #tab-manual-reg .upload-grid { grid-template-columns: 1fr; }
  #tab-manual-reg .admin-form { padding: 1.25rem; }
  .official-slip { font-size: 10px; overflow-x: auto; }
  .os-table { min-width: 480px; }
}

@media(max-width:768px){
  .dash-main { padding: 1rem !important; overflow-x: hidden; }
  #tab-manual-reg .tab-header { flex-direction: column; align-items: stretch; }
  #tab-manual-reg .tab-header > div { display: flex; gap: .5rem; }
  #tab-manual-reg .tab-header button { flex: 1; }
}
