/* Faculty Management v158 — scoped to the new module */
body:has(.nx158-form) #main,body:has(.nx158-table) #main{min-width:0}
.nx158-form label,.nx158-filters label,#nx158-email label{font-weight:600;display:flex;flex-direction:column;gap:7px;color:#26334e;font-size:13px}
.nx158-form input,.nx158-form select,.nx158-filters input,.nx158-filters select,#nx158-email input,#nx158-email select,#nx158-email textarea{width:100%;min-width:0;border:1px solid #ced7e5;border-radius:5px;min-height:42px;padding:9px 12px;background:#fff;color:#172a44;font:inherit;box-sizing:border-box}
.nx158-form input:focus,.nx158-form select:focus,.nx158-filters input:focus{outline:2px solid #5055a4;outline-offset:1px}
.nx158-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}
.nx158-fields [hidden]{display:none!important}
.nx158-photo-row{display:flex;gap:20px;align-items:center;padding:18px;background:#f5f6fb;border:1px solid #e2e5f0;border-radius:7px}
.nx158-photo-holder{width:104px;height:114px;background:#e6e9f2;border:1px dashed #aab8d1;border-radius:5px;display:flex;align-items:center;justify-content:center;flex:none}
.nx158-photo-holder img{width:100%;height:100%;object-fit:contain}
.nx158-photo-holder img[hidden]{display:none}
.nx158-photo-pick{flex:1}.nx158-photo-pick small,.nx158-help{display:block;color:#687691;font-size:12px;font-weight:400}
.nx158-form .nx158-check-label{justify-content:end;flex-direction:row;align-items:center;gap:12px;padding-top:18px;font-weight:500}
.nx158-check-label input{width:18px!important;min-height:18px!important;accent-color:#292d77}
.nx158-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin:16px 0}
.nx158-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
.nx158-filters button{min-height:43px}.nx158-scroll{width:100%;overflow:auto}
.nx158-table{width:100%;border-collapse:collapse;min-width:850px;font-size:13px}
.nx158-table th{background:#ecedf8;color:#292d77;text-align:left;font-weight:700}
.nx158-table td,.nx158-table th{border-bottom:1px solid #dde3ed;padding:13px 11px;vertical-align:top}
.nx158-table small{font-size:11px;color:#76839a}
.nx158-profile{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);gap:16px}
.nx158-information{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nx158-information>div{border-bottom:1px solid #e2e8f2;display:flex;flex-direction:column;gap:6px;padding:9px 0;overflow-wrap:anywhere}
.nx158-information small{color:#65758d}.nx158-information strong{font-size:14px}
.nx158-profile-photo{display:flex;justify-content:center;margin-bottom:14px}
.nx158-profile-photo img{width:115px;height:126px;object-fit:contain;border:1px solid #d1d8e5}
.nx158-card-actions{text-align:center;margin-bottom:18px}
.nx158-faculty-card{width:min(100%,280px);min-height:415px;background:#fff;border:1px solid #d9e0ed;display:flex;margin:0 auto;box-sizing:border-box;box-shadow:0 6px 24px #17295b14;padding:5px}
.nx158-orange{writing-mode:vertical-rl;transform:rotate(180deg);background:#f77c20;color:white;font-weight:900;font-size:30px;letter-spacing:5px;display:flex;align-items:center;justify-content:center;width:46px;flex:none}
.nx158-badge-body{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 5px 5px;gap:6px;flex:1;min-width:0}
.nx158-logo{width:110px;height:57px;object-fit:contain}.nx158-badge-photo{height:90px;width:82px;object-fit:contain;border:1px solid #dde5ef}
.nx158-badge-body strong{font-size:17px;overflow-wrap:anywhere}.nx158-badge-body b{font-size:14px}.nx158-badge-body small{font-size:11px}
.nx158-ref{font-size:23px;font-weight:900;color:#34349c;letter-spacing:1px}
.nx158-qr{background:white;min-height:132px;min-width:132px;display:flex;align-items:center;justify-content:center}.nx158-qr img{max-width:none!important}
.nx158-serial{align-self:flex-end;font-size:10px;font-weight:700;margin-top:auto}
.nx158-history{border-bottom:1px solid #e4e9f2;padding:8px 0}
#nx158-email{display:flex;flex-direction:column;gap:14px}.nx158-email-frame{width:100%;height:420px;border:1px solid #e2e5ef;background:#fff}
@media(max-width:1150px){.nx158-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.nx158-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.nx158-profile{grid-template-columns:1fr}}
@media(max-width:700px){.nx158-fields,.nx158-information,.nx158-filters{grid-template-columns:1fr}.nx158-photo-row{align-items:flex-start;flex-wrap:wrap}.nx158-actions{justify-content:stretch}.nx158-actions button,.nx158-actions a{flex:1;min-width:120px;text-align:center}.nx158-profile{grid-template-columns:1fr}}
@media print{header,#topnav,#sidebar,footer,.nx158-filters,.nx158-actions,.nx158-photo-row,.nx158-card-actions,#nx158-email,.button{display:none!important}.workspace,#main{width:100%!important;margin:0!important;padding:0!important}.card{box-shadow:none!important;border:none!important}}

.nx158-review-dialog{border:1px solid #d7dcec;border-radius:12px;padding:25px;width:min(92vw,580px);max-height:85vh;overflow:auto;box-shadow:0 25px 90px #16285b55;color:#1c3050}
.nx158-review-dialog::backdrop{background:rgba(15,26,62,.62)}
.nx158-review-dialog h2{color:#292d77;margin:0 0 8px}
.nx158-review-dialog p{font-size:13px;color:#66738c;margin:0 0 12px}

/* v172 Faculty Create/Edit: approved three-row field arrangement (scoped). */
.nx172-faculty-form .nx172-row{display:grid;gap:16px;align-items:start;margin:0 0 20px;min-width:0}
.nx172-faculty-form .nx172-row-primary{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,2.4fr) minmax(0,1.25fr)}
.nx172-faculty-form .nx172-row-organization{grid-template-columns:repeat(4,minmax(0,1fr))}
.nx172-faculty-form .nx172-row-contact{grid-template-columns:repeat(3,minmax(0,1fr))}
.nx172-faculty-form .nx172-row>*,.nx172-faculty-form .nx172-whatsapp-field{min-width:0}
.nx172-faculty-form .nx172-photo-field{display:flex;flex-direction:column;gap:7px;color:#26334e;font-size:13px;font-weight:600;min-width:0}
.nx172-faculty-form .nx172-photo-field input[type=file]{padding:7px;min-height:44px;font-size:12px;max-width:100%}
.nx172-faculty-form .nx172-photo-field small{color:#687691;font-size:12px;font-weight:400}
.nx172-faculty-form .nx172-photo-preview{width:74px;height:80px;object-fit:contain;border:1px solid #d8e0eb;border-radius:4px;background:#f5f6fb}
.nx172-faculty-form .nx172-photo-preview[hidden]{display:none!important}
.nx172-faculty-form #nx158-other-wrap input:disabled{background:#edf0f4;color:#67758b;border-color:#cbd6e4;cursor:not-allowed;opacity:1}
.nx172-faculty-form .nx172-whatsapp-field{display:flex;flex-direction:column;gap:10px}
.nx172-faculty-form .nx158-check-label{justify-content:flex-start;align-items:center;flex-direction:row;gap:8px;padding:0;margin:0;font-weight:500}
.nx172-faculty-form .nx158-check-label input{margin:0;flex:none}
@media(max-width:1250px){
 .nx172-faculty-form .nx172-row-primary{grid-template-columns:repeat(6,minmax(0,1fr))}
 .nx172-faculty-form .nx172-row-primary>:nth-child(1){grid-column:span 3}
 .nx172-faculty-form .nx172-row-primary>:nth-child(2),.nx172-faculty-form .nx172-row-primary>:nth-child(3){grid-column:span  1}
 .nx172-faculty-form .nx172-row-primary>:nth-child(4){grid-column:span 4}
 .nx172-faculty-form .nx172-row-primary>:nth-child(5){grid-column:span 2}
 .nx172-faculty-form .nx172-row-organization{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .nx172-faculty-form .nx172-row-primary,.nx172-faculty-form .nx172-row-organization,.nx172-faculty-form .nx172-row-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .nx172-faculty-form .nx172-row-primary>*{grid-column:auto!important}
 .nx172-faculty-form .nx172-row-primary>:first-child,.nx172-faculty-form .nx172-row-primary>:nth-child(4){grid-column:span 2!important}
 .nx172-faculty-form .nx172-row-contact>:first-child{grid-column:span 2}
}
@media(max-width:480px){
 .nx172-faculty-form .nx172-row-primary,.nx172-faculty-form .nx172-row-organization,.nx172-faculty-form .nx172-row-contact{grid-template-columns:minmax(0,1fr)}
 .nx172-faculty-form .nx172-row-primary>*,.nx172-faculty-form .nx172-row-contact>:first-child{grid-column:auto!important}
}


/* v173 Faculty ID Card Print Centre — scoped, accessible row selection */
.nx173-badge-print{min-width:0}
.nx173-badge-print .nx173-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:14px 16px;border:1px solid #dce2ef;background:#f7f8fc;border-radius:6px}
.nx173-badge-print .nx173-toolbar-heading{display:flex;flex-direction:column;gap:5px;color:#292d77}
.nx173-badge-print .nx173-toolbar-heading strong{font-size:16px}
.nx173-badge-print .nx173-toolbar-heading span{color:#64718a;font-size:12px}
.nx173-badge-print .nx173-toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.nx173-badge-print .nx173-select-all{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:#283457;cursor:pointer;white-space:nowrap}
.nx173-badge-print .nx173-select-all input{width:19px;height:19px;accent-color:#292d77;cursor:pointer}
.nx173-badge-print .nx173-count{padding:7px 11px;background:#eceef9;color:#292d77;border-radius:4px;min-width:85px;text-align:center;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.nx173-badge-print #nx158-batch{min-height:42px;padding:10px 16px;border-radius:5px;font-weight:700}
.nx173-badge-print #nx158-batch:disabled{opacity:.52;cursor:not-allowed}
.nx173-badge-print .nx173-guide{font-size:12px;color:#65738d;padding:8px 2px 14px;margin:0;line-height:1.6}
.nx173-badge-print .nx173-table-wrap{border:1px solid #e0e5ef;border-radius:6px}
.nx173-badge-print .nx173-card-table{min-width:760px;margin:0}
.nx173-badge-print .nx173-card-table th{background:#f0f2fa;color:#303773;font-size:12px;text-transform:uppercase;letter-spacing:.025em;padding:14px}
.nx173-badge-print .nx173-card-table td{padding:14px;vertical-align:middle}
.nx173-badge-print .nx173-card-table tbody tr{transition:background-color .13s ease}
.nx173-badge-print .nx173-card-table tbody tr:hover{background:#f7f8fc}
.nx173-badge-print .nx173-card-table tbody tr.nx173-row-selected,.nx173-badge-print .nx173-card-table tbody tr.nx173-row-selected:hover{background:#f0f1fb}
.nx173-badge-print .nx173-card-table tbody tr.nx173-row-inactive{background:#fafbfe}
.nx173-badge-print .nx173-select-col,.nx173-badge-print .nx173-select-cell{text-align:center;width:75px}
.nx173-badge-print .nx173-check{display:inline-flex;align-items:center;justify-content:center;position:relative;width:36px;height:36px;cursor:pointer;border-radius:5px}
.nx173-badge-print .nx173-check input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer;z-index:1}
.nx173-badge-print .nx173-check-box{display:flex;align-items:center;justify-content:center;width:23px;height:23px;background:#fff;border:2px solid #a8b4c9;border-radius:5px;box-shadow:0 1px 2px #14295a12;transition:background .14s,border-color .14s}
.nx173-badge-print .nx173-check-box svg{height:16px;width:16px;color:#fff;opacity:0}
.nx173-badge-print .nx173-check input:checked+.nx173-check-box{background:#292d77;border-color:#292d77}
.nx173-badge-print .nx173-check input:checked+.nx173-check-box svg{opacity:1}
.nx173-badge-print .nx173-check input:focus-visible+.nx173-check-box{outline:3px solid #7b89e0;outline-offset:3px}
.nx173-badge-print .nx173-check input:disabled{cursor:not-allowed}
.nx173-badge-print .nx173-check input:disabled+.nx173-check-box{background:#edf0f4;border-color:#cdd4df;opacity:.6}
.nx173-badge-print .nx173-faculty-name{font-weight:700;color:#273454}
.nx173-badge-print .nx173-status{font-size:11px;font-weight:800;display:inline-block;padding:6px 9px;border-radius:4px}
.nx173-badge-print .nx173-status-active{background:#e8f6ee;color:#12653b}
.nx173-badge-print .nx173-status-inactive{background:#fff1e6;color:#995116}
.nx173-badge-print .nx173-individual{display:inline-flex;white-space:nowrap;align-items:center;justify-content:center;padding:8px 12px;font-size:12px;text-decoration:none;border:1px solid #bfcbe0;border-radius:4px;color:#292d77;background:#fff}
.nx173-badge-print .nx173-individual:hover{background:#eceef9}
.nx173-badge-print .nx173-empty{text-align:center;color:#68758a;padding:30px!important}
.nx173-badge-print .nx173-loading{padding:24px;text-align:center;color:#65738d}
@media(max-width:800px){.nx173-badge-print .nx173-toolbar{align-items:stretch;flex-direction:column}.nx173-badge-print .nx173-toolbar-actions{justify-content:space-between}.nx173-badge-print #nx158-batch{flex:1;min-width:200px}}
@media(max-width:480px){.nx173-badge-print .nx173-toolbar-actions{gap:10px}.nx173-badge-print #nx158-batch{flex-basis:100%;min-width:0}.nx173-badge-print .nx173-count{margin-left:auto}.nx173-badge-print .nx173-table-wrap{margin-inline:-8px}}

/* v174 — Faculty badge parity with Delegate: coloured top strip, rounded outline, conference footer. */
.nx158-faculty-card{position:relative;border-radius:8px!important;overflow:hidden;border-top:5px solid #f77c20!important;box-sizing:border-box;min-height:535px;}
.nx158-orange{border-radius:0 0 1px 1px;}
.nx158-badge-body{padding-top:11px;gap:5px;}
.nx158-badge-body .nx158-qr{min-height:105px;min-width:105px;}
.nx158-badge-body .nx158-qr img,.nx158-badge-body .nx158-qr canvas{width:105px!important;height:105px!important;}
.nx174-footer{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1px;margin:3px 0 7px;color:#292d77;line-height:1.12;width:100%;}
.nx174-footer strong{font-weight:850;font-size:12px!important;}
.nx174-footer span{color:#538b42;font-size:9px;font-weight:750;}
.nx174-footer small{color:#1b263c;font-size:8px;line-height:1.15;font-weight:700;}
.nx158-serial{margin-top:auto;}

/* v175 — prominent curved corners and clipped identity band, aligned with PDF */
body .nx158-faculty-card{border-radius:17px!important;overflow:hidden!important;clip-path:inset(0 round 17px);border:1px solid #c4d2e4!important;border-top:5px solid #f77c20!important;isolation:isolate;}
body .nx158-faculty-card .nx158-orange{border-radius:0 0 5px 5px;}
@media print{body .nx158-faculty-card{border-radius:17px!important;overflow:hidden!important;clip-path:inset(0 round 17px)!important;}}
