
/* NW Admissions v1.8 - Premium attractive admissions UI */
:root {
    --nwa-navy:#0d2340;
    --nwa-blue:#1468e8;
    --nwa-blue2:#2795ff;
    --nwa-gold:#f5b42a;
    --nwa-orange:#f28b16;
    --nwa-green:#1f9d67;
    --nwa-red:#dc3545;
    --nwa-bg:#eef3f9;
    --nwa-card:#ffffff;
    --nwa-border:#dbe3ee;
    --nwa-text:#172033;
    --nwa-muted:#6b778c;
    --nwa-shadow:0 12px 34px rgba(21,43,77,.10);
}

body.path-local-nwadmissions {
    background:
      radial-gradient(circle at top right, rgba(39,149,255,.10), transparent 30%),
      linear-gradient(180deg,#f7fafe 0,#eef3f9 100%) !important;
}

.path-local-nwadmissions #page-header {display:none !important;}
.path-local-nwadmissions #page,
.path-local-nwadmissions #page-content,
.path-local-nwadmissions #region-main,
.path-local-nwadmissions .main-inner {
    background:transparent !important;
}

.nwa-shell{max-width:1440px;margin:0 auto;}

.nwa-premium-hero{
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,var(--nwa-navy) 0%,#143d76 55%,var(--nwa-blue) 100%);
    color:#fff;
    border-radius:22px;
    padding:34px 36px;
    margin:10px 0 20px;
    box-shadow:0 18px 40px rgba(13,35,64,.18);
}
.nwa-premium-hero:before,
.nwa-premium-hero:after{
    content:"";
    position:absolute;
    border-radius:50%;
    background:rgba(255,255,255,.07);
}
.nwa-premium-hero:before{width:260px;height:260px;right:-70px;top:-90px;}
.nwa-premium-hero:after{width:170px;height:170px;right:150px;bottom:-110px;}
.nwa-hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1.5fr .5fr;
    gap:24px;
    align-items:center;
}
.nwa-kicker{
    display:inline-block;
    background:rgba(245,180,42,.16);
    border:1px solid rgba(245,180,42,.42);
    color:#ffd470;
    padding:7px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    letter-spacing:.5px;
    text-transform:uppercase;
}
.nwa-premium-hero h1{
    margin:12px 0 8px;
    color:#fff;
    font-size:34px;
    font-weight:950;
    letter-spacing:-.5px;
}
.nwa-premium-hero p{
    max-width:880px;
    margin:0;
    color:rgba(255,255,255,.9);
    font-size:15px;
    line-height:1.65;
}
.nwa-fee-badge{
    justify-self:end;
    background:#fff;
    color:var(--nwa-navy);
    border-radius:18px;
    padding:18px 22px;
    min-width:210px;
    box-shadow:0 10px 24px rgba(0,0,0,.16);
}
.nwa-fee-badge small{display:block;color:var(--nwa-muted);font-weight:800;}
.nwa-fee-badge strong{display:block;font-size:30px;color:var(--nwa-orange);margin-top:3px;}
.nwa-fee-badge span{font-size:12px;color:#6b7280;}

.nwa-journey{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:10px;
    margin:18px 0 24px;
}
.nwa-journey-step{
    background:#fff;
    border:1px solid var(--nwa-border);
    border-radius:14px;
    padding:14px 14px;
    box-shadow:0 3px 10px rgba(21,43,77,.04);
    display:flex;
    gap:10px;
    align-items:center;
}
.nwa-step-no{
    flex:none;
    width:32px;height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(135deg,var(--nwa-blue),var(--nwa-blue2));
    color:#fff;
    font-weight:900;
    box-shadow:0 4px 10px rgba(20,104,232,.23);
}
.nwa-journey-step b{font-size:13px;color:var(--nwa-text);}

.nwa-app-tabs{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    background:#fff;
    border:1px solid var(--nwa-border);
    border-radius:16px;
    padding:8px;
    margin-bottom:22px;
    box-shadow:0 4px 14px rgba(21,43,77,.05);
}
.nwa-app-tabs a{
    padding:12px 18px;
    border-radius:10px;
    color:#3d4a5f;
    text-decoration:none;
    font-size:14px;
    font-weight:850;
    transition:.18s ease;
}
.nwa-app-tabs a:hover{background:#f1f6fd;color:var(--nwa-blue);}
.nwa-app-tabs a.active{
    background:linear-gradient(135deg,var(--nwa-blue),var(--nwa-blue2));
    color:#fff;
    box-shadow:0 5px 13px rgba(20,104,232,.25);
}

.nwa-page-intro{display:none;}

.path-local-nwadmissions .mform{
    max-width:none!important;width:100%!important;
    background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;
}

.path-local-nwadmissions .mform fieldset{
    background:#fff!important;
    border:1px solid var(--nwa-border)!important;
    border-radius:18px!important;
    box-shadow:var(--nwa-shadow)!important;
    padding:28px 30px 26px!important;
    margin:0 0 22px!important;
    position:relative;
    overflow:hidden;
}
.path-local-nwadmissions .mform fieldset:before{
    content:"";
    position:absolute;
    left:0;top:0;bottom:0;width:5px;
    background:linear-gradient(180deg,var(--nwa-blue),var(--nwa-gold));
}
.path-local-nwadmissions .mform fieldset legend{
    width:100%;
    margin:0 0 24px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--nwa-navy)!important;
    font-size:25px!important;
    font-weight:950!important;
    line-height:1.25;
}
.path-local-nwadmissions .mform fieldset .fcontainer{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:18px 24px!important;
}
.path-local-nwadmissions .mform .form-group,
.path-local-nwadmissions .mform .fitem{
    display:block!important;width:100%!important;margin:0!important;
}
.path-local-nwadmissions .mform .col-form-label,
.path-local-nwadmissions .mform .fitemtitle,
.path-local-nwadmissions .mform .form-label{
    width:100%!important;max-width:none!important;flex:none!important;
    padding:0 0 7px!important;text-align:left!important;
    font-size:14px!important;font-weight:850!important;color:#273248!important;
}
.path-local-nwadmissions .mform .felement,
.path-local-nwadmissions .mform .col-md-9,
.path-local-nwadmissions .mform .col-md-3,
.path-local-nwadmissions .mform .form-inline{
    width:100%!important;max-width:none!important;flex:none!important;margin:0!important;padding:0!important;
}
.path-local-nwadmissions .mform .fitem:has(textarea),
.path-local-nwadmissions .mform .fitem:has(.filepicker-container),
.path-local-nwadmissions .mform .fitem:has(.filemanager),
.path-local-nwadmissions .mform .fitem:has(.alert),
.path-local-nwadmissions .mform .fitem:has(.static),
.path-local-nwadmissions .mform .fitem:has(.form-check),
.path-local-nwadmissions .mform .fitem.fitem_actionbuttons{
    grid-column:1/-1!important;
}

.path-local-nwadmissions .form-control,
.path-local-nwadmissions select,
.path-local-nwadmissions .custom-select,
.path-local-nwadmissions input[type=text],
.path-local-nwadmissions input[type=email],
.path-local-nwadmissions input[type=number],
.path-local-nwadmissions input[type=date],
.path-local-nwadmissions textarea{
    width:100%!important;max-width:none!important;
    min-height:50px!important;
    border:1px solid #cfd8e6!important;
    border-radius:11px!important;
    background:#fbfdff!important;
    padding:11px 14px!important;
    font-size:15px!important;color:#172033!important;
    transition:.18s ease;
}
.path-local-nwadmissions textarea{min-height:110px!important;}
.path-local-nwadmissions .form-control:focus,
.path-local-nwadmissions select:focus,
.path-local-nwadmissions textarea:focus{
    background:#fff!important;
    border-color:var(--nwa-blue)!important;
    box-shadow:0 0 0 4px rgba(20,104,232,.10)!important;
}
.path-local-nwadmissions .req,
.path-local-nwadmissions .text-danger{color:var(--nwa-red)!important;}

.path-local-nwadmissions .filepicker-container,
.path-local-nwadmissions .filepicker-filelist,
.path-local-nwadmissions .filemanager{
    border:1.5px dashed #aab8cb!important;
    border-radius:13px!important;
    background:linear-gradient(180deg,#fbfdff,#f7faff)!important;
    padding:16px!important;
}

.path-local-nwadmissions .alert-info{
    background:linear-gradient(135deg,#eff7ff,#f8fbff)!important;
    border:1px solid #cfe4ff!important;
    border-left:5px solid var(--nwa-blue)!important;
    color:#23456c!important;
    border-radius:12px!important;
    padding:16px 18px!important;
}
.path-local-nwadmissions .btn-primary{
    background:linear-gradient(135deg,var(--nwa-blue),var(--nwa-blue2))!important;
    border:0!important;color:#fff!important;
    min-height:50px;padding:0 24px!important;
    border-radius:12px!important;font-weight:900!important;
    box-shadow:0 7px 16px rgba(20,104,232,.22);
}
.path-local-nwadmissions .btn-primary:hover{transform:translateY(-1px);filter:brightness(.98);}
.path-local-nwadmissions .btn-success,
.path-local-nwadmissions .btn-danger,
.path-local-nwadmissions .btn-secondary,
.path-local-nwadmissions .btn-outline-primary{
    border-radius:10px!important;font-weight:850!important;
}

.path-local-nwadmissions table.generaltable{
    width:100%!important;background:#fff!important;
    border:1px solid var(--nwa-border)!important;
    border-radius:16px!important;overflow:hidden;
    box-shadow:var(--nwa-shadow)!important;
}
.path-local-nwadmissions table.generaltable thead th{
    background:linear-gradient(180deg,#f9fbfe,#f2f6fb)!important;
    color:var(--nwa-navy)!important;
    font-weight:900!important;border-bottom:1px solid var(--nwa-border)!important;
}
.path-local-nwadmissions table.generaltable tbody tr:hover{background:#f8fbff!important;}

.nwa-footer-note{
    text-align:center;color:var(--nwa-muted);font-size:12px;padding:24px 0 12px;
}
.path-local-nwadmissions .fdate_selector .form-inline{
    display:flex!important;gap:8px;flex-wrap:wrap;
}

@media(max-width:980px){
    .nwa-hero-grid{grid-template-columns:1fr;}
    .nwa-fee-badge{justify-self:start;}
    .nwa-journey{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:850px){
    .path-local-nwadmissions .mform fieldset{padding:23px 18px 20px!important;}
    .path-local-nwadmissions .mform fieldset .fcontainer{grid-template-columns:1fr!important;}
    .path-local-nwadmissions .mform .fitem{grid-column:1!important;}
    .nwa-journey{grid-template-columns:1fr;}
    .nwa-premium-hero h1{font-size:27px;}
    .nwa-app-tabs a{flex:1 1 46%;text-align:center;}
}


/* v1.9 custom-rendered application page */
.nwa-custom-form{display:block;width:100%;margin:0;padding:0}
.nwa-form-card{
    background:#fff;border:1px solid #dbe3ee;border-radius:18px;
    box-shadow:0 10px 30px rgba(21,43,77,.08);
    padding:28px 30px;margin:0 0 22px;position:relative;overflow:hidden
}
.nwa-form-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#1468e8,#f5b42a)}
.nwa-section-head{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.nwa-section-icon{
    width:48px;height:48px;flex:none;border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,#1468e8,#2795ff);color:#fff;font-weight:900;
    box-shadow:0 6px 14px rgba(20,104,232,.22)
}
.nwa-section-head h2{margin:0;color:#0d2340;font-size:24px;font-weight:900}
.nwa-section-head p{margin:4px 0 0;color:#6b778c;font-size:13px}
.nwa-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 24px}
.nwa-full{grid-column:1/-1}
.nwa-field label{display:block;font-size:14px;font-weight:800;color:#273248;margin-bottom:7px}
.nwa-field label span{color:#dc3545}
.nwa-field input,.nwa-field select,.nwa-field textarea{
    width:100%;min-height:50px;border:1px solid #cfd8e6;border-radius:11px;
    background:#fbfdff;padding:11px 14px;font-size:15px;color:#172033;outline:none;
    transition:.18s ease
}
.nwa-field textarea{min-height:110px;resize:vertical}
.nwa-field input:focus,.nwa-field select:focus,.nwa-field textarea:focus{
    background:#fff;border-color:#1468e8;box-shadow:0 0 0 4px rgba(20,104,232,.10)
}
.nwa-upload-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.nwa-upload-card{
    display:flex;flex-direction:column;gap:7px;border:1.5px dashed #aab8cb;border-radius:14px;
    background:linear-gradient(180deg,#fbfdff,#f7faff);padding:18px;cursor:pointer;transition:.18s ease
}
.nwa-upload-card:hover{border-color:#1468e8;transform:translateY(-1px);box-shadow:0 7px 18px rgba(21,43,77,.07)}
.nwa-upload-card strong{color:#172033;font-size:14px}
.nwa-upload-card small{color:#6b778c;font-size:12px}
.nwa-upload-card input{margin-top:6px;width:100%}
.nwa-upload-highlight{border-color:#f0c663;background:#fffaf0}
.nwa-payment-card{background:linear-gradient(135deg,#fff,#f8fbff)}
.nwa-payment-box{display:grid;grid-template-columns:1.4fr .6fr;gap:18px;align-items:stretch}
.nwa-payment-box>div:first-child{background:linear-gradient(135deg,#0d2340,#1468e8);color:#fff;border-radius:16px;padding:22px}
.nwa-payment-label{display:block;font-size:13px;font-weight:800;color:#cfe2ff}
.nwa-payment-box strong{display:block;font-size:34px;margin:5px 0;color:#ffd26d}
.nwa-payment-box p{margin:0;color:rgba(255,255,255,.88);font-size:13px}
.nwa-bank-card{border:1px solid #dbe3ee;border-radius:16px;background:#fff;padding:20px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.nwa-bank-card b{color:#0d2340;font-size:16px}.nwa-bank-card span{color:#5e6a7d;font-size:13px}
.nwa-confirm-row{display:flex;gap:10px;align-items:center;margin-top:16px;font-weight:700;color:#273248}
.nwa-confirm-row input{width:18px;height:18px}
.nwa-terms-box{background:#fffdf5;border:1px solid #f0dfad;border-radius:14px;padding:19px 20px}
.nwa-terms-box h3{margin:0 0 10px;color:#5d4612;font-size:17px}
.nwa-terms-box ul{margin:0;padding-left:20px;color:#554c36;line-height:1.55;font-size:13px}
.nwa-declarations{display:grid;gap:11px;margin:18px 0}
.nwa-declarations label{display:flex;align-items:flex-start;gap:10px;color:#273248;font-size:13px;line-height:1.45}
.nwa-declarations input{margin-top:2px;width:17px;height:17px;flex:none}
.nwa-submit-row{
    display:flex;align-items:center;justify-content:space-between;gap:18px;
    background:#f6f9fd;border:1px solid #dbe3ee;border-radius:14px;padding:16px 18px
}
.nwa-submit-row strong{display:block;color:#0d2340}.nwa-submit-row span{display:block;color:#6b778c;font-size:12px;margin-top:3px}
.nwa-submit-btn{
    border:0;border-radius:12px;background:linear-gradient(135deg,#1468e8,#2795ff);
    color:#fff;font-weight:900;font-size:15px;padding:14px 21px;cursor:pointer;
    box-shadow:0 8px 18px rgba(20,104,232,.24)
}
.nwa-submit-btn:hover{filter:brightness(.98);transform:translateY(-1px)}
.nwa-error-card{background:#fff0f1;border:1px solid #f4b8bd;border-left:5px solid #dc3545;border-radius:14px;padding:16px 18px;margin-bottom:18px;color:#7c252d}
.nwa-error-card ul{margin:8px 0 0}
.nwa-success-card{
    max-width:760px;margin:25px auto;background:#fff;border:1px solid #dbe3ee;border-radius:20px;
    box-shadow:0 14px 34px rgba(21,43,77,.10);padding:34px;text-align:center
}
.nwa-success-icon{
    width:66px;height:66px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    margin:0 auto 14px;background:#e7f7ef;color:#1f9d67;font-size:34px;font-weight:900
}
.nwa-success-card h2{color:#0d2340}
@media(max-width:850px){
    .nwa-grid,.nwa-upload-grid,.nwa-payment-box{grid-template-columns:1fr}
    .nwa-full{grid-column:1}.nwa-form-card{padding:22px 18px}
    .nwa-submit-row{flex-direction:column;align-items:stretch}.nwa-submit-btn{width:100%}
}


/* v2.3 upload reliability */
.nwa-upload-limit-note {
    background: #eef6ff;
    border: 1px solid #cfe4ff;
    border-left: 5px solid #1468e8;
    color: #28425f;
    border-radius: 12px;
    padding: 13px 16px;
    margin: 0 0 18px;
    font-size: 13px;
    line-height: 1.5;
}
.nwa-upload-card input[type="file"] {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    padding: 8px;
    border: 1px solid #d5deea;
    border-radius: 10px;
    background: #fff;
    color: #263247;
}
.nwa-upload-card input[type="file"]::file-selector-button {
    border: 0;
    border-radius: 8px;
    padding: 9px 13px;
    margin-right: 10px;
    background: #1468e8;
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}


/* ==========================================================
   v2.4 Admission Redesign — clean 6-step application layout
   ========================================================== */

.nwa-shell {
    max-width: 1480px;
    margin: 0 auto;
    padding: 0 18px 40px;
}

.nwa-premium-hero {
    background: linear-gradient(135deg, #0b2f5b 0%, #114983 56%, #1468e8 100%);
    border-radius: 22px;
    padding: 34px 38px;
    margin: 16px 0 18px;
    box-shadow: 0 16px 42px rgba(18, 55, 96, .16);
}

.nwa-hero-grid {
    display: block !important;
}

.nwa-premium-hero h1 {
    font-size: clamp(30px, 3vw, 46px);
    letter-spacing: -.5px;
    margin-bottom: 8px;
}

.nwa-premium-hero p {
    max-width: 860px;
    font-size: 15px;
    line-height: 1.65;
    color: rgba(255,255,255,.92);
}

.nwa-fee-badge,
.nwa-payment-card {
    display: none !important;
}

.nwa-journey {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 20px;
    padding: 0;
    background: transparent;
}

.nwa-journey-step {
    border: 1px solid #dbe5f2;
    border-radius: 16px;
    background: #fff;
    min-height: 70px;
    padding: 12px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    text-align: left;
    box-shadow: 0 6px 18px rgba(30, 64, 110, .05);
}

.nwa-step-no {
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #1468e8;
    color: #fff;
    font-weight: 800;
}

.nwa-journey-step b {
    font-size: 12px;
    line-height: 1.2;
    color: #17355c;
}

.nwa-app-tabs {
    margin-bottom: 20px;
    border-radius: 15px;
}

.nwa-upload-limit-note {
    max-width: 1120px;
    margin: 0 auto 18px;
}

.nwa-custom-form {
    position: relative;
}

.nwa-form-layout {
    display: grid;
    grid-template-columns: 285px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.nwa-form-sidebar {
    position: sticky;
    top: 18px;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.nwa-side-step {
    display: grid;
    grid-template-columns: 34px 28px 1fr 24px;
    gap: 9px;
    align-items: center;
    min-height: 66px;
    padding: 11px 13px;
    border: 1px solid #dce5ef;
    border-radius: 13px;
    background: #fff;
    color: #183a64 !important;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(21, 60, 103, .04);
    transition: .2s ease;
}

.nwa-side-step:hover,
.nwa-side-step.active {
    background: #edf5ff;
    border-color: #b7d6ff;
    transform: translateY(-1px);
}

.nwa-side-icon {
    font-size: 19px;
    text-align: center;
    filter: grayscale(.3);
}

.nwa-side-no {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 26px;
    height: 26px;
    border-radius: 6px;
    background: #1468e8;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}

.nwa-side-label {
    font-weight: 750;
    font-size: 13px;
}

.nwa-side-check {
    color: #25a75a;
    font-weight: 900;
}

.nwa-form-main {
    min-width: 0;
}

.nwa-form-card {
    scroll-margin-top: 18px;
    margin-bottom: 18px;
    padding: 26px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #dce6f1;
    box-shadow: 0 10px 28px rgba(27, 62, 105, .05);
}

.nwa-section-head {
    border-bottom: 1px solid #e6edf5;
    padding-bottom: 17px;
    margin-bottom: 22px;
}

.nwa-section-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #1468e8, #2687ff);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(20,104,232,.22);
}

.nwa-section-head h2 {
    color: #102f57;
    font-size: 24px;
    letter-spacing: -.2px;
}

.nwa-section-head p {
    color: #667a96;
    margin-top: 4px;
}

.nwa-field label {
    color: #183a64;
    font-weight: 700;
}

.nwa-field input,
.nwa-field select,
.nwa-field textarea {
    border-radius: 10px !important;
    border: 1px solid #ccd8e6 !important;
    min-height: 44px;
    background: #fff;
}

.nwa-field input:focus,
.nwa-field select:focus,
.nwa-field textarea:focus {
    border-color: #1468e8 !important;
    box-shadow: 0 0 0 3px rgba(20,104,232,.11) !important;
}

.nwa-upload-card {
    border-radius: 14px;
    border: 1px dashed #b8cbe0;
    background: #f8fbff;
    padding: 16px;
}

.nwa-upload-card:hover {
    border-color: #1468e8;
    background: #f1f7ff;
}

.nwa-review-summary {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    border: 1px solid #bfe5ca;
    background: #f1fbf4;
    color: #235e37;
    border-radius: 12px;
    padding: 15px 16px;
    margin: 0 0 18px;
}

.nwa-review-ok {
    width: 29px;
    height: 29px;
    border-radius: 50%;
    background: #2cad5b;
    color: #fff;
    font-weight: 900;
    display: flex;
    justify-content: center;
    align-items: center;
}

.nwa-review-summary p {
    margin: 3px 0 0;
    color: #587365;
}

.nwa-next-box {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 19px;
    margin: 22px 0 18px;
    border: 1px solid #cfe0f6;
    background: #f4f9ff;
    border-radius: 14px;
}

.nwa-next-icon {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1468e8;
    color: white;
    font-weight: 900;
}

.nwa-next-box h3 {
    margin: 0 0 7px;
    color: #163b67;
    font-size: 18px;
}

.nwa-next-box ul {
    margin: 0;
    padding-left: 18px;
    color: #506985;
}

.nwa-submit-btn {
    border-radius: 10px !important;
    padding: 13px 24px !important;
    font-weight: 800 !important;
    background: linear-gradient(135deg, #1468e8, #287fff) !important;
    box-shadow: 0 10px 22px rgba(20,104,232,.20) !important;
}

@media (max-width: 1100px) {
    .nwa-form-layout {
        grid-template-columns: 1fr;
    }

    .nwa-form-sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .nwa-journey {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nwa-form-sidebar {
        grid-template-columns: 1fr;
    }

    .nwa-premium-hero {
        padding: 25px 22px;
    }

    .nwa-form-card {
        padding: 19px;
    }
}


/* ==========================================================
   v2.5 Wizard Navigation Fix
   ========================================================== */

.nwa-wizard-step[hidden] {
    display: none !important;
}

.nwa-wizard-step.nwa-step-active {
    display: block;
    animation: nwaStepIn .2s ease-out;
}

@keyframes nwaStepIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

button.nwa-side-step {
    width: 100%;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.nwa-side-step.completed .nwa-side-check {
    opacity: 1;
}

.nwa-side-step:not(.completed) .nwa-side-check {
    opacity: .2;
}

.nwa-side-step.active .nwa-side-check {
    color: #1468e8;
    opacity: 1;
}

.nwa-journey-clickable {
    cursor: pointer;
    user-select: none;
    transition: .18s ease;
}

.nwa-journey-clickable:hover {
    border-color: #a9cfff;
    transform: translateY(-1px);
}

.nwa-journey-step.active {
    border-color: #1468e8;
    box-shadow: 0 8px 20px rgba(20, 104, 232, .12);
    background: #f4f9ff;
}

.nwa-journey-step.completed {
    border-color: #b8e1c6;
    background: #f5fcf7;
}

.nwa-wizard-controls {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid #e6edf5;
}

.nwa-wizard-controls-final {
    justify-content: flex-start;
}

.nwa-wizard-btn {
    border: 0;
    border-radius: 10px;
    min-height: 44px;
    padding: 11px 20px;
    font-weight: 800;
    cursor: pointer;
}

.nwa-wizard-back {
    background: #eef3f8;
    color: #183a64;
    border: 1px solid #d4e0ec;
}

.nwa-wizard-next {
    background: linear-gradient(135deg, #1468e8, #287fff);
    color: #fff;
    box-shadow: 0 8px 18px rgba(20,104,232,.18);
}

.nwa-wizard-btn:hover {
    transform: translateY(-1px);
}

@media (max-width: 820px) {
    .nwa-wizard-controls {
        flex-direction: column-reverse;
    }

    .nwa-wizard-btn {
        width: 100%;
    }
}


/* v2.9 Paystack R170 admission payment */
.nwa-paystack-card {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    margin: 0 0 20px;
    padding: 22px 24px;
    border: 1px solid #cfe0f4;
    border-radius: 16px;
    background: linear-gradient(135deg, #0d396b 0%, #1260bd 62%, #1e7bf0 100%);
    color: #fff;
    box-shadow: 0 12px 28px rgba(20, 78, 145, .15);
}

.nwa-paystack-copy {
    min-width: 0;
}

.nwa-paystack-kicker {
    display: block;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #d8e9ff;
    margin-bottom: 5px;
}

.nwa-paystack-copy > strong {
    display: block;
    font-size: 32px;
    line-height: 1.1;
    color: #ffd86b;
    margin-bottom: 7px;
}

.nwa-paystack-copy p {
    margin: 0 0 10px;
    color: rgba(255,255,255,.91);
}

.nwa-paystack-status {
    display: inline-block;
    border-radius: 999px;
    padding: 7px 11px;
    background: rgba(255,255,255,.12);
    font-size: 12px;
    font-weight: 700;
}

.nwa-paystack-status.is-paid {
    background: #e8f8ed;
    color: #176c35;
}

.nwa-paystack-status.is-error {
    background: #fff0f0;
    color: #a82020;
}

.nwa-paystack-status.is-working {
    background: #fff6d8;
    color: #785700;
}

.nwa-paystack-action {
    min-width: 230px;
    text-align: center;
}

.nwa-paystack-button {
    width: 100%;
    min-height: 48px;
    border: 0;
    border-radius: 11px;
    padding: 12px 18px;
    background: #fff;
    color: #0f4a91;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(0,0,0,.14);
}

.nwa-paystack-button:hover {
    transform: translateY(-1px);
}

.nwa-paystack-button:disabled {
    cursor: default;
    opacity: .82;
}

.nwa-paystack-button.is-paid,
.nwa-paid-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border-radius: 10px;
    padding: 10px 18px;
    background: #e8f8ed;
    color: #176c35;
    font-weight: 900;
}

.nwa-paystack-action small {
    display: block;
    margin-top: 7px;
    color: #dceaff;
}

.nwa-admin-payment-card {
    margin: 18px 0;
    padding: 18px;
    border: 1px solid #cfe5d5;
    border-radius: 12px;
    background: #f3fbf5;
}

@media (max-width: 760px) {
    .nwa-paystack-card {
        flex-direction: column;
        align-items: stretch;
    }
    .nwa-paystack-action {
        min-width: 0;
    }
}


/* v2.10 Delete Admission */
.nwa-admin-delete-row {
    margin: 18px 0;
    padding-top: 14px;
    border-top: 1px solid #e3eaf2;
}

.nwa-delete-confirm-card {
    max-width: 820px;
    margin: 24px auto;
    padding: 26px;
    border: 1px solid #e0e6ee;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(24, 58, 100, .08);
}

.nwa-delete-confirm-card h2 {
    margin-top: 0;
    color: #9d1c1c;
}

.nwa-delete-form {
    margin-top: 20px;
}

.nwa-delete-final-btn {
    font-weight: 800;
}


/* v2.11 Staff-created admission payment bypass */
.nwa-staff-bypass-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin: 0 0 20px;
    padding: 22px 24px;
    border: 1px solid #bfe2ca;
    border-radius: 16px;
    background: linear-gradient(135deg, #eefaf2 0%, #f8fffa 100%);
    color: #204d31;
}

.nwa-staff-bypass-kicker {
    display: block;
    margin-bottom: 5px;
    color: #2b7a48;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .5px;
}

.nwa-staff-bypass-card strong {
    display: block;
    margin-bottom: 5px;
    color: #195c34;
    font-size: 20px;
}

.nwa-staff-bypass-card p {
    margin: 0;
    color: #55715f;
}

.nwa-staff-bypass-badge {
    white-space: nowrap;
    border-radius: 999px;
    padding: 9px 14px;
    background: #218c4b;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.nwa-admin-staff-bypass {
    border-color: #bfe2ca;
    background: #f2fbf5;
}

@media (max-width: 760px) {
    .nwa-staff-bypass-card {
        flex-direction: column;
        align-items: flex-start;
    }
}


/* v2.12 Moodle 5.2 clean admin filters/actions */
.local-nwadmissions-admin .nwa-admin-filters,
.local-nwadmissions-admin .nwa-admin-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.local-nwadmissions-admin .nwa-admin-filters .btn,
.local-nwadmissions-admin .nwa-admin-actions .btn {
    margin: 0 !important;
    border-radius: 9px;
    line-height: 1.2;
    white-space: nowrap;
}

/* Fallback for current admin markup where buttons are direct siblings. */
.local-nwadmissions-admin form .btn + .btn,
.local-nwadmissions-admin td .btn + .btn {
    margin-left: 8px !important;
}

.local-nwadmissions-admin td .btn {
    margin-bottom: 5px !important;
}

.local-nwadmissions-admin .btn-success {
    font-weight: 700;
}

.local-nwadmissions-admin .btn-danger,
.local-nwadmissions-admin .btn-outline-danger {
    font-weight: 600;
}


/* ==========================================================
   v2.13 Admission Applications Admin Dashboard Redesign
   ========================================================== */

.local-nwadmissions-admin .nwa-admin-page {
    max-width: 1500px;
    margin: 0 auto;
    padding: 8px 0 30px;
}

.local-nwadmissions-admin .nwa-admin-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 22px 6px 24px;
    border-bottom: 1px solid #e1e8f0;
}

.local-nwadmissions-admin .nwa-admin-title-left {
    display: flex;
    align-items: center;
    gap: 18px;
}

.local-nwadmissions-admin .nwa-admin-title-icon {
    width: 62px;
    height: 62px;
    border-radius: 16px;
    background: #eef5ff;
    color: #1468e8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
}

.local-nwadmissions-admin .nwa-admin-title-row h1 {
    margin: 0 0 4px;
    font-size: 30px;
    color: #102f57;
    letter-spacing: -.3px;
}

.local-nwadmissions-admin .nwa-admin-title-row p {
    margin: 0;
    color: #6b7f98;
}

.local-nwadmissions-admin .nwa-admin-breadcrumb {
    padding: 12px 16px;
    border: 1px solid #dbe5f0;
    border-radius: 12px;
    background: #fff;
    color: #46607e;
    white-space: nowrap;
}

.local-nwadmissions-admin .nwa-admin-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 28px 0 22px;
}

.local-nwadmissions-admin .nwa-filter-card {
    min-width: 180px;
    min-height: 68px;
    padding: 14px 18px;
    border: 1px solid #dce5ef;
    border-radius: 12px;
    background: #fff;
    color: #17355c !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 5px 16px rgba(31, 67, 109, .04);
    transition: .18s ease;
}

.local-nwadmissions-admin .nwa-filter-card:hover {
    transform: translateY(-1px);
    border-color: #b8d4f5;
}

.local-nwadmissions-admin .nwa-filter-card.active {
    border-bottom: 3px solid #1468e8;
    background: #f5f9ff;
}

.local-nwadmissions-admin .nwa-filter-icon {
    font-size: 20px;
    font-weight: 900;
}

.local-nwadmissions-admin .nwa-filter-label {
    font-weight: 800;
    font-size: 15px;
}

.local-nwadmissions-admin .nwa-filter-count {
    margin-left: auto;
    min-width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #1468e8;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 12px;
}

.local-nwadmissions-admin .nwa-filter-approved .nwa-filter-count {
    background: #24a148;
}

.local-nwadmissions-admin .nwa-filter-rejected .nwa-filter-count {
    background: #e3342f;
}

.local-nwadmissions-admin .nwa-admin-table-card {
    border: 1px solid #dde6f0;
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(32, 63, 102, .05);
}

.local-nwadmissions-admin .nwa-admin-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

.local-nwadmissions-admin .nwa-admin-table thead th {
    background: #f5f8fc;
    color: #17355c;
    font-weight: 850;
    padding: 18px 16px;
    border-bottom: 1px solid #dde6f0;
    vertical-align: middle;
}

.local-nwadmissions-admin .nwa-admin-table tbody td {
    padding: 20px 16px;
    border-bottom: 1px solid #edf1f5;
    vertical-align: middle;
    color: #304a68;
}

.local-nwadmissions-admin .nwa-admin-actions {
    display: grid;
    grid-template-columns: minmax(78px, auto) minmax(220px, 1fr) minmax(92px, auto) minmax(96px, auto);
    gap: 10px;
    align-items: stretch;
    min-width: 520px;
}

.local-nwadmissions-admin .nwa-action-btn {
    min-height: 46px;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid transparent;
    text-decoration: none !important;
    font-weight: 800;
    font-size: 13px;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    margin: 0 !important;
    transition: .15s ease;
}

.local-nwadmissions-admin .nwa-action-btn:hover {
    transform: translateY(-1px);
}

.local-nwadmissions-admin .nwa-action-view {
    background: #fff;
    color: #1468e8 !important;
    border-color: #1468e8;
}

.local-nwadmissions-admin .nwa-action-approve {
    background: linear-gradient(135deg, #1b9b4c, #2bad5e);
    color: #fff !important;
    border-color: #1b9b4c;
}

.local-nwadmissions-admin .nwa-action-reject {
    background: #e3342f;
    color: #fff !important;
    border-color: #e3342f;
}

.local-nwadmissions-admin .nwa-action-delete {
    background: #fff;
    color: #d62424 !important;
    border-color: #e34c4c;
}

.local-nwadmissions-admin .nwa-payment-badge,
.local-nwadmissions-admin .nwa-proof-badge,
.local-nwadmissions-admin .nwa-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 9px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.local-nwadmissions-admin .nwa-payment-paid,
.local-nwadmissions-admin .nwa-proof-uploaded {
    background: #effaf2;
    color: #218447;
    border: 1px solid #bfe1c9;
}

.local-nwadmissions-admin .nwa-payment-waived {
    background: #eef6ff;
    color: #28669e;
    border: 1px solid #c9def4;
}

.local-nwadmissions-admin .nwa-payment-unpaid,
.local-nwadmissions-admin .nwa-proof-missing {
    background: #fff4f4;
    color: #b52c2c;
    border: 1px solid #efc4c4;
}

.local-nwadmissions-admin .nwa-status-pending {
    background: #fff7e8;
    color: #b87800;
    border: 1px solid #f0c76a;
}

.local-nwadmissions-admin .nwa-status-approved {
    background: #effaf2;
    color: #218447;
    border: 1px solid #bfe1c9;
}

.local-nwadmissions-admin .nwa-status-rejected {
    background: #fff0f0;
    color: #c52828;
    border: 1px solid #efc0c0;
}

.local-nwadmissions-admin .nwa-admin-table-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    background: #fff;
}

.local-nwadmissions-admin .nwa-admin-entry-count {
    color: #667b95;
    font-size: 13px;
}

.local-nwadmissions-admin .nwa-admin-pagination {
    display: flex;
    gap: 8px;
}

.local-nwadmissions-admin .nwa-page-btn {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    border: 1px solid #d8e2ee;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #55708e;
    font-weight: 800;
}

.local-nwadmissions-admin .nwa-page-btn.active {
    background: #1468e8;
    color: #fff;
    border-color: #1468e8;
}

.local-nwadmissions-admin .nwa-page-btn.disabled {
    opacity: .45;
}

@media (max-width: 1200px) {
    .local-nwadmissions-admin .nwa-admin-table-card {
        overflow-x: auto;
    }

    .local-nwadmissions-admin .nwa-admin-table {
        min-width: 1200px;
    }
}

@media (max-width: 760px) {
    .local-nwadmissions-admin .nwa-admin-title-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .local-nwadmissions-admin .nwa-admin-breadcrumb {
        width: 100%;
    }

    .local-nwadmissions-admin .nwa-filter-card {
        width: 100%;
    }
}
\n\n/* v2.15 Reference number, Created At, compact action buttons */\n.local-nwadmissions-admin .nwa-reference-number { color:#0b66d4; font-weight:850; white-space:nowrap; }\n.local-nwadmissions-admin .nwa-created-at { line-height:1.45; white-space:nowrap; color:#2f4968; }\n.local-nwadmissions-admin .nwa-created-time { color:#6b8099; font-size:12px; }\n.local-nwadmissions-admin .nwa-admin-actions { display:flex !important; flex-wrap:nowrap !important; gap:8px !important; align-items:center; min-width:0 !important; }\n.local-nwadmissions-admin .nwa-action-btn { min-height:36px !important; height:36px !important; padding:7px 11px !important; border-radius:8px !important; font-size:12px !important; line-height:1 !important; white-space:nowrap; flex:0 0 auto; margin:0 !important; }\n.local-nwadmissions-admin .nwa-action-view { min-width:68px; }\n.local-nwadmissions-admin .nwa-action-approve { min-width:86px; }\n.local-nwadmissions-admin .nwa-action-reject { min-width:78px; }\n.local-nwadmissions-admin .nwa-action-delete { min-width:78px; }\n.local-nwadmissions-admin .nwa-admin-table thead th, .local-nwadmissions-admin .nwa-admin-table tbody td { padding-left:13px; padding-right:13px; }\n@media (max-width:1350px) { .local-nwadmissions-admin .nwa-admin-table { min-width:1320px; } }\n

/* ==========================================================
   v2.16 Compact action buttons
   ========================================================== */

.local-nwadmissions-admin .nwa-admin-actions {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
}

.local-nwadmissions-admin .nwa-action-btn {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 7px 12px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

.local-nwadmissions-admin .nwa-action-view {
    min-width: 72px !important;
}

.local-nwadmissions-admin .nwa-action-approve {
    min-width: 92px !important;
    width: 92px !important;
}

.local-nwadmissions-admin .nwa-action-reject {
    min-width: 82px !important;
}

.local-nwadmissions-admin .nwa-action-delete {
    min-width: 84px !important;
}

/* Prevent table/action column from stretching the Approve button. */
.local-nwadmissions-admin .nwa-admin-table td:last-child {
    width: 1%;
    white-space: nowrap;
}


/* ==========================================================
   v2.17 Compact table layout and balanced action spacing
   ========================================================== */

/* Let the browser size columns from their content instead of stretching
   the whole Actions column across unused space. */
.local-nwadmissions-admin .nwa-admin-table {
    width: 100% !important;
    table-layout: auto !important;
}

.local-nwadmissions-admin .nwa-admin-table th,
.local-nwadmissions-admin .nwa-admin-table td {
    vertical-align: middle !important;
}

/* Compact predictable column widths. */
.local-nwadmissions-admin .nwa-admin-table th:nth-child(1),
.local-nwadmissions-admin .nwa-admin-table td:nth-child(1) {
    width: 105px;
}

.local-nwadmissions-admin .nwa-admin-table th:nth-child(2),
.local-nwadmissions-admin .nwa-admin-table td:nth-child(2) {
    width: 120px;
}

.local-nwadmissions-admin .nwa-admin-table th:nth-child(3),
.local-nwadmissions-admin .nwa-admin-table td:nth-child(3) {
    width: 150px;
}

.local-nwadmissions-admin .nwa-admin-table th:nth-child(4),
.local-nwadmissions-admin .nwa-admin-table td:nth-child(4) {
    width: 190px;
}

.local-nwadmissions-admin .nwa-admin-table th:nth-child(5),
.local-nwadmissions-admin .nwa-admin-table td:nth-child(5) {
    width: 95px;
}

.local-nwadmissions-admin .nwa-admin-table th:nth-child(6),
.local-nwadmissions-admin .nwa-admin-table td:nth-child(6) {
    width: 125px;
}

.local-nwadmissions-admin .nwa-admin-table th:nth-child(7),
.local-nwadmissions-admin .nwa-admin-table td:nth-child(7) {
    width: 120px;
}

.local-nwadmissions-admin .nwa-admin-table th:nth-child(8),
.local-nwadmissions-admin .nwa-admin-table td:nth-child(8) {
    width: 105px;
}

/* Keep the actions only as wide as the buttons need. */
.local-nwadmissions-admin .nwa-admin-table th:nth-child(9),
.local-nwadmissions-admin .nwa-admin-table td:nth-child(9) {
    width: 395px !important;
    min-width: 395px !important;
    max-width: 395px !important;
}

/* Remove the large blank space between Approve and Reject. */
.local-nwadmissions-admin .nwa-admin-actions {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 8px !important;
    width: max-content !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.local-nwadmissions-admin .nwa-action-btn {
    width: auto !important;
    min-width: 0 !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 7px 11px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
}

.local-nwadmissions-admin .nwa-action-view {
    width: 76px !important;
}

.local-nwadmissions-admin .nwa-action-approve {
    width: 92px !important;
}

.local-nwadmissions-admin .nwa-action-reject {
    width: 92px !important;
}

.local-nwadmissions-admin .nwa-action-delete {
    width: 92px !important;
}

/* Tighter rows without making the dashboard cramped. */
.local-nwadmissions-admin .nwa-admin-table thead th {
    padding: 14px 12px !important;
}

.local-nwadmissions-admin .nwa-admin-table tbody td {
    padding: 16px 12px !important;
}

/* Prevent badge columns from creating extra width. */
.local-nwadmissions-admin .nwa-payment-badge,
.local-nwadmissions-admin .nwa-proof-badge,
.local-nwadmissions-admin .nwa-status-badge {
    min-height: 32px !important;
    padding: 6px 9px !important;
    font-size: 11px !important;
}

/* Keep the table inside one clean card. Scroll only on smaller screens. */
.local-nwadmissions-admin .nwa-admin-table-card {
    overflow-x: auto !important;
}

@media (max-width: 1280px) {
    .local-nwadmissions-admin .nwa-admin-table {
        min-width: 1250px !important;
    }
}


/* ==========================================================
   v2.18 Navigation / footer / button reaction fixes
   ========================================================== */

.nwa-app-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.nwa-app-tabs a {
    margin: 0 !important;
    transition:
        background-color .15s ease,
        border-color .15s ease,
        color .15s ease,
        transform .08s ease,
        box-shadow .15s ease;
}

.nwa-app-tabs a:hover {
    transform: translateY(-1px);
}

.nwa-app-tabs a:active {
    transform: translateY(0) scale(.98);
}

.nwa-app-tabs a.active {
    box-shadow: 0 6px 16px rgba(20,104,232,.16);
}

/* Admin action buttons respond visibly to mouse/touch interaction. */
.local-nwadmissions-admin .nwa-action-btn {
    transition:
        transform .08s ease,
        box-shadow .15s ease,
        filter .15s ease !important;
}

.local-nwadmissions-admin .nwa-action-btn:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 12px rgba(28,56,91,.12);
    filter: brightness(.98);
}

.local-nwadmissions-admin .nwa-action-btn:active {
    transform: translateY(0) scale(.97) !important;
    box-shadow: none;
}

/* Keep filter buttons reacting consistently too. */
.local-nwadmissions-admin .nwa-filter-card {
    transition:
        transform .08s ease,
        box-shadow .15s ease,
        border-color .15s ease;
}

.local-nwadmissions-admin .nwa-filter-card:active {
    transform: scale(.98);
}

/* Prevent footer text/code artifacts from appearing as plain page content. */
.nwa-footer-note {
    clear: both;
}


/* ==========================================================
   v2.19 Student Search + Student Profile
   ========================================================== */

.local-nwadmissions-admin .nwa-student-search-form {
    margin: 0 0 14px;
}

.local-nwadmissions-admin .nwa-student-search-box {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border: 1px solid #d8e4f1;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 7px 20px rgba(25, 59, 101, .05);
}

.local-nwadmissions-admin .nwa-student-search-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #eef5ff;
    color: #1468e8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 900;
}

.local-nwadmissions-admin .nwa-student-search-input {
    flex: 1 1 auto;
    min-width: 180px;
    min-height: 42px;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    padding: 7px 6px;
    font-size: 14px;
}

.local-nwadmissions-admin .nwa-student-search-button,
.local-nwadmissions-admin .nwa-student-search-clear {
    min-height: 40px;
    padding: 9px 15px;
    border-radius: 9px;
    font-weight: 800;
    text-decoration: none !important;
}

.local-nwadmissions-admin .nwa-student-search-button {
    border: 0;
    background: #1468e8;
    color: #fff;
    cursor: pointer;
}

.local-nwadmissions-admin .nwa-student-search-clear {
    border: 1px solid #ccd9e7;
    background: #fff;
    color: #49647f;
}

.local-nwadmissions-admin .nwa-search-result-summary {
    margin: 0 0 14px;
    padding: 10px 13px;
    border-radius: 10px;
    background: #f2f7fd;
    color: #46617e;
    font-size: 13px;
}

.local-nwadmissions-admin .nwa-action-profile {
    width: 86px !important;
    color: #6a3fc4 !important;
    border-color: #8a66d2 !important;
    background: #fff !important;
}

/* Student profile */
.local-nwadmissions-student-profile .nwa-student-profile-page {
    max-width: 1250px;
    margin: 0 auto;
    padding: 10px 0 34px;
}

.local-nwadmissions-student-profile .nwa-profile-hero {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 24px;
    margin-bottom: 20px;
    border: 1px solid #dbe6f2;
    border-radius: 18px;
    background: linear-gradient(135deg, #f7fbff, #eef5ff);
}

.local-nwadmissions-student-profile .nwa-profile-avatar {
    width: 68px;
    height: 68px;
    min-width: 68px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1468e8;
    color: #fff;
    font-size: 30px;
}

.local-nwadmissions-student-profile .nwa-profile-identity {
    flex: 1 1 auto;
}

.local-nwadmissions-student-profile .nwa-profile-identity h1 {
    margin: 0 0 5px;
    color: #102f57;
    font-size: 28px;
}

.local-nwadmissions-student-profile .nwa-profile-identity p {
    margin: 0 0 5px;
    color: #6a7e96;
}

.local-nwadmissions-student-profile .nwa-profile-status {
    padding: 8px 13px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

.local-nwadmissions-student-profile .nwa-profile-status-approved {
    background: #eaf8ef;
    color: #208347;
}

.local-nwadmissions-student-profile .nwa-profile-status-pending {
    background: #fff6df;
    color: #956900;
}

.local-nwadmissions-student-profile .nwa-profile-status-rejected {
    background: #fff0f0;
    color: #be2b2b;
}

.local-nwadmissions-student-profile .nwa-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.local-nwadmissions-student-profile .nwa-profile-card {
    padding: 22px;
    border: 1px solid #dce6f1;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(27, 62, 105, .05);
}

.local-nwadmissions-student-profile .nwa-profile-card h2 {
    margin: 0 0 15px;
    color: #173b67;
    font-size: 19px;
}

.local-nwadmissions-student-profile .nwa-course-profile-card {
    background: linear-gradient(135deg, #f7fbff, #eef6ff);
}

.local-nwadmissions-student-profile .nwa-profile-course-icon {
    font-size: 30px;
    margin-bottom: 8px;
}

.local-nwadmissions-student-profile .nwa-course-profile-card h3 {
    color: #134f96;
    font-size: 19px;
}

.local-nwadmissions-student-profile .nwa-profile-account-table {
    width: 100%;
}

.local-nwadmissions-student-profile .nwa-profile-account-table td {
    padding: 9px 10px;
    border-bottom: 1px solid #edf2f7;
}

.local-nwadmissions-student-profile .nwa-profile-account-table td:first-child {
    width: 42%;
    font-weight: 800;
    color: #526a84;
}

.local-nwadmissions-student-profile .nwa-profile-actions {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 800px) {
    .local-nwadmissions-admin .nwa-student-search-box {
        flex-wrap: wrap;
    }

    .local-nwadmissions-admin .nwa-student-search-input {
        flex-basis: calc(100% - 52px);
    }

    .local-nwadmissions-student-profile .nwa-profile-grid {
        grid-template-columns: 1fr;
    }

    .local-nwadmissions-student-profile .nwa-profile-hero {
        align-items: flex-start;
        flex-wrap: wrap;
    }
}


/* ==========================================================
   v2.20 Existing / Pre-update Moodle Student Search
   ========================================================== */

.local-nwadmissions-admin .nwa-existing-students-card {
    margin-top: 18px;
    border: 1px solid #d9e5f2;
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 9px 26px rgba(26, 61, 104, .05);
}

.local-nwadmissions-admin .nwa-existing-students-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
    background: #f5f9ff;
    border-bottom: 1px solid #e0e9f3;
}

.local-nwadmissions-admin .nwa-existing-students-head h2 {
    margin: 0 0 4px;
    color: #163b67;
    font-size: 20px;
}

.local-nwadmissions-admin .nwa-existing-students-head p {
    margin: 0;
    color: #6b7f98;
    font-size: 13px;
}

.local-nwadmissions-admin .nwa-existing-count {
    min-width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #6a45c6;
    color: #fff;
    font-weight: 900;
}

.local-nwadmissions-admin .nwa-existing-student-table {
    width: 100%;
    margin: 0;
}

.local-nwadmissions-admin .nwa-existing-student-table th {
    background: #fbfcfe;
    color: #284a70;
    font-weight: 800;
}

.local-nwadmissions-admin .nwa-existing-student-table th,
.local-nwadmissions-admin .nwa-existing-student-table td {
    padding: 13px 14px;
    vertical-align: middle;
}

.local-nwadmissions-admin .nwa-existing-profile-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid #7652cc;
    border-radius: 8px;
    color: #6741bd !important;
    background: #fff;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none !important;
}

/* Existing Moodle student profile */
.local-nwadmissions-existing-profile .nwa-existing-profile-page {
    max-width: 1250px;
    margin: 0 auto;
    padding-bottom: 34px;
}

.local-nwadmissions-existing-profile .nwa-existing-profile-hero {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
    padding: 24px;
    border: 1px solid #dbe6f2;
    border-radius: 18px;
    background: linear-gradient(135deg, #f7fbff, #eef5ff);
}

.local-nwadmissions-existing-profile .nwa-existing-profile-avatar {
    width: 68px;
    height: 68px;
    min-width: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: #6847c2;
    color: #fff;
    font-size: 30px;
}

.local-nwadmissions-existing-profile .nwa-existing-profile-name {
    flex: 1;
}

.local-nwadmissions-existing-profile .nwa-existing-profile-name h1 {
    margin: 0 0 5px;
    color: #102f57;
    font-size: 28px;
}

.local-nwadmissions-existing-profile .nwa-existing-profile-name p {
    margin: 0 0 5px;
    color: #697e97;
}

.local-nwadmissions-existing-profile .nwa-existing-profile-status {
    padding: 8px 13px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

.local-nwadmissions-existing-profile .nwa-existing-profile-status.is-active {
    background: #e9f8ee;
    color: #218247;
}

.local-nwadmissions-existing-profile .nwa-existing-profile-status.is-suspended {
    background: #fff0f0;
    color: #bd2929;
}

.local-nwadmissions-existing-profile .nwa-existing-profile-grid {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 18px;
}

.local-nwadmissions-existing-profile .nwa-existing-profile-card {
    padding: 22px;
    border: 1px solid #dce6f1;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(27, 62, 105, .05);
}

.local-nwadmissions-existing-profile .nwa-existing-profile-card h2 {
    margin: 0 0 15px;
    color: #173b67;
    font-size: 19px;
}

.local-nwadmissions-existing-profile .nwa-existing-profile-info-table {
    width: 100%;
}

.local-nwadmissions-existing-profile .nwa-existing-profile-info-table td {
    padding: 9px 10px;
    border-bottom: 1px solid #edf2f7;
}

.local-nwadmissions-existing-profile .nwa-existing-profile-info-table td:first-child {
    width: 40%;
    color: #556e89;
    font-weight: 800;
}

.local-nwadmissions-existing-profile .nwa-existing-courses-card {
    background: linear-gradient(135deg, #fbfdff, #f4f8ff);
}

.local-nwadmissions-existing-profile .nwa-existing-course-item {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px;
    margin-bottom: 10px;
    border: 1px solid #dce6f1;
    border-radius: 12px;
    background: #fff;
}

.local-nwadmissions-existing-profile .nwa-existing-course-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef5ff;
    font-size: 20px;
}

.local-nwadmissions-existing-profile .nwa-existing-course-copy {
    flex: 1;
}

.local-nwadmissions-existing-profile .nwa-existing-course-copy h3 {
    margin: 0 0 3px;
    color: #144f94;
    font-size: 16px;
}

.local-nwadmissions-existing-profile .nwa-existing-course-copy p {
    margin: 0 0 3px;
    color: #607993;
    font-size: 13px;
}

.local-nwadmissions-existing-profile .nwa-open-course-btn {
    display: inline-flex;
    padding: 8px 11px;
    border-radius: 8px;
    background: #1468e8;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 800;
}

.local-nwadmissions-existing-profile .nwa-linked-admission-card {
    margin-top: 18px;
}

.local-nwadmissions-existing-profile .nwa-existing-info-note {
    padding: 13px 15px;
    border-left: 4px solid #6a45c6;
    border-radius: 9px;
    background: #f6f2ff;
    color: #5e5276;
}

.local-nwadmissions-existing-profile .nwa-existing-profile-actions {
    display: flex;
    gap: 10px;
    margin-top: 18px;
}

@media (max-width: 850px) {
    .local-nwadmissions-existing-profile .nwa-existing-profile-grid {
        grid-template-columns: 1fr;
    }

    .local-nwadmissions-existing-profile .nwa-existing-profile-hero {
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .local-nwadmissions-existing-profile .nwa-existing-course-item {
        flex-wrap: wrap;
    }
}
