/* v13.3.0: Visa & Pass Centre plus safe responsive scrolling */
.iam-app,.iam-app .iam-shell,.iam-app .iam-main,.iam-app .iam-view{max-width:100%;min-width:0}
.iam-app .iam-main{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.iam-app .iam-view{overflow-x:auto;overflow-y:visible;scrollbar-gutter:stable}
.iam-app .iam-toolbar,.iam-app .iam-head-tools{max-width:100%}
.iam-app .iam-table-wrap{max-width:100%;overflow:auto;overscroll-behavior:contain}
.iam-app img{max-width:100%}
.iam-app input,.iam-app select,.iam-app textarea,.iam-app button{max-width:100%}

/* Every long registration window keeps its header and actions reachable. */
.iam-modal{padding:12px;overflow:hidden;align-items:center}
.iam-modal .iam-modal-dialog{width:min(1040px,calc(100vw - 24px));max-height:calc(100dvh - 24px);display:flex;flex-direction:column;overflow:hidden}
.iam-modal .iam-modal-dialog>header{flex:0 0 auto;background:#fff;z-index:4}
.iam-modal .iam-modal-dialog>form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.iam-modal .iam-modal-dialog>form>footer{position:sticky;bottom:0;z-index:5;flex:0 0 auto;background:#fff;box-shadow:0 -8px 22px rgba(25,32,52,.08)}
.iam-staff-modal .iam-modal-dialog{height:min(900px,calc(100dvh - 24px))}
.iam-staff-modal .iam-modal-dialog>form{display:block;overflow-y:auto}
.iam-staff-modal .iam-photo-box{position:relative}
.iam-staff-modal .iam-form-grid{padding-bottom:28px}

.iam-visa-view{padding-bottom:40px!important;background:#f7f7fb}
.iam-visa-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 25px;border-radius:22px;color:#fff;background:linear-gradient(120deg,#6130cf,#7b46f0 65%,#9f72ff);box-shadow:0 16px 32px rgba(88,45,178,.16)}
.iam-visa-intro span{font-size:9px;font-weight:900;letter-spacing:.14em;opacity:.72}.iam-visa-intro h2{margin:3px 0 5px;font-size:28px}.iam-visa-intro p{max-width:760px;margin:0;color:#eee8ff}.iam-visa-security{padding:9px 12px;border:1px solid #ffffff40;border-radius:12px;background:#ffffff16;font-size:11px;white-space:nowrap}
.iam-visa-kpis{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:15px 0}.iam-visa-kpis article{min-height:105px;display:flex;flex-direction:column;padding:16px;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(38,35,62,.06)}.iam-visa-kpis span{color:#74798a;font-size:11px}.iam-visa-kpis strong{margin:auto 0 0;font-size:28px}.iam-visa-kpis small{color:#74798a}.iam-visa-kpis .tone-1{border-top:4px solid #7a3ff2}.iam-visa-kpis .tone-2{border-top:4px solid #34b9d2}.iam-visa-kpis .tone-3{border-top:4px solid #f1b515}.iam-visa-kpis .tone-4{border-top:4px solid #ef6b61}
.iam-visa-command{margin-bottom:13px;padding:12px;border:1px solid #e5e5ef;border-radius:17px;background:#fff}.iam-visa-tabs{display:flex;gap:6px;margin-bottom:10px}.iam-visa-tabs button{min-height:40px;padding:8px 18px;border:0;border-radius:10px;background:#f0f1f6;color:#626779;cursor:pointer;font-weight:800}.iam-visa-tabs button.is-active{color:#fff;background:#7038e4}.iam-visa-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.iam-visa-filters input,.iam-visa-filters select,.iam-visa-filters button{min-height:39px;padding:8px 11px;border:1px solid #dde0e8;border-radius:9px;background:#fff}.iam-visa-filters #visa-search{flex:1 1 250px}.iam-visa-filters button{cursor:pointer}.iam-visa-filters .iam-primary{margin-left:auto}
.iam-visa-table{min-width:1050px}.iam-visa-table td b,.iam-visa-table td small{display:block}.iam-visa-table td small{margin-top:3px;color:#7d8291}.iam-visa-table td button{padding:6px 10px;border:1px solid #d9dce5;border-radius:7px;background:#fff;cursor:pointer}.iam-visa-status,.iam-visa-expiry{display:inline-block;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.iam-visa-status{color:#514e62;background:#eeeef4}.iam-visa-status.status-approved{color:#087046;background:#e2f7ed}.iam-visa-status.status-processing,.iam-visa-status.status-submitted{color:#175e93;background:#e4f2ff}.iam-visa-status.status-expired,.iam-visa-status.status-rejected{color:#9b2e2e;background:#ffe5e5}.iam-visa-expiry{margin-top:4px}.iam-visa-expiry.valid{color:#087046;background:#e2f7ed}.iam-visa-expiry.warning{color:#876200;background:#fff4c8}.iam-visa-expiry.urgent,.iam-visa-expiry.expired{color:#9b2e2e;background:#ffe5e5}.iam-visa-expiry.neutral{color:#666b78;background:#f0f1f4}
.iam-visa-modal .iam-modal-dialog>header small{display:block;color:#7441dc;font-size:9px;font-weight:900;letter-spacing:.13em}.iam-visa-modal .iam-modal-dialog>header h2{margin:2px 0 0}.iam-visa-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px;overflow-y:auto}.iam-visa-form>h3{grid-column:1/-1;margin:0;padding:4px 0 8px;border-bottom:2px solid #e6def8;color:#6534c7}.iam-visa-form label{font-size:12px;font-weight:700}.iam-visa-form label>span{display:block;margin-bottom:5px}.iam-visa-form input,.iam-visa-form select,.iam-visa-form textarea{width:100%;min-height:42px;padding:9px 10px;border:1px solid #dce0e9;border-radius:9px;background:#fff}.iam-visa-form textarea{min-height:95px;resize:vertical}.iam-visa-form .span-2{grid-column:span 2}.iam-visa-form .span-3{grid-column:1/-1}

@media(max-width:1180px){.iam-app .iam-shell{grid-template-columns:210px minmax(0,1fr)}.iam-visa-kpis{grid-template-columns:repeat(2,1fr)}.iam-visa-form{grid-template-columns:repeat(2,minmax(0,1fr))}.iam-visa-form .span-3{grid-column:1/-1}}
@media(max-width:900px){.iam-app .iam-shell{grid-template-columns:190px minmax(0,1fr)}.iam-app .iam-sidebar nav button{font-size:12px;padding-left:8px}.iam-view{padding:13px}.iam-split{grid-template-columns:minmax(270px,36%) minmax(430px,1fr);overflow-x:auto}.iam-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.iam-visa-intro{align-items:flex-start;flex-direction:column}.iam-visa-security{white-space:normal}}
@media(max-width:720px){.iam-modal{padding:0}.iam-modal .iam-modal-dialog,.iam-staff-modal .iam-modal-dialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.iam-modal .iam-modal-dialog>header{padding:12px 14px}.iam-modal .iam-modal-dialog>form{max-height:none}.iam-form-grid,.iam-visa-form{grid-template-columns:1fr;padding:14px}.iam-form-grid .span-2,.iam-form-grid .span-3,.iam-visa-form .span-2,.iam-visa-form .span-3{grid-column:1}.iam-app .iam-sidebar nav{scrollbar-width:thin}.iam-app .iam-sidebar nav button{flex:0 0 74px;min-width:74px}.iam-app .iam-view{padding:11px 11px 82px}.iam-visa-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.iam-visa-intro{padding:18px}.iam-visa-intro h2{font-size:24px}.iam-visa-filters>*{flex:1 1 135px}.iam-visa-filters #visa-search{flex-basis:100%}.iam-visa-filters .iam-primary{margin-left:0}.iam-settings-grid{grid-template-columns:1fr}.iam-split{display:block;min-width:0}.iam-list-card{max-height:45vh;margin-bottom:10px}.iam-student-card{min-width:0}.iam-detail-grid{grid-template-columns:1fr}.iam-toolbar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.iam-toolbar>*{flex:0 0 auto}.iam-staff-command,.iam-staff-filter{max-width:100%;overflow-x:auto}}
@media(max-width:420px){.iam-visa-kpis{grid-template-columns:1fr 1fr}.iam-visa-kpis article{min-height:88px;padding:12px}.iam-visa-kpis strong{font-size:23px}.iam-visa-tabs button{flex:1;padding:8px}.iam-visa-intro p{font-size:12px}}
