/* Shared presentation for the admission portal; printed slips use their original styles. */
body.portal-auth,body.portal-registration,body.portal-slip-login{font-family:'Poppins',Arial,sans-serif;background:#edf8f0;color:#243d35;box-sizing:border-box;line-height:1.6}
.portal-auth *,.portal-registration *,.portal-slip-login *{box-sizing:border-box}
body.portal-auth{padding:40px 24px;display:flex;align-items:center}
.admission-layout{display:grid;grid-template-columns:1.12fr 1fr;max-width:1100px;width:100%;margin:auto;background:#fff;border:1px solid #dce5df;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px #153a2910}
.admission-intro{padding:58px 44px;background:#064e3b;color:#fff;position:relative}
.eyebrow{font-size:11px;letter-spacing:2px;color:#a7f3d0;font-weight:600}
.admission-intro h1{font-family:Georgia,serif;font-size:43px;line-height:1.17;font-weight:400;letter-spacing:-1px;margin:32px 0 20px}
.admission-intro>p{font-size:14px;color:#d0dfd6;max-width:360px}
.journey{list-style:none;padding:0;margin:38px 0;display:grid;gap:25px}
.journey li{display:flex;gap:16px;align-items:flex-start}.journey li>span{border:1px solid #557265;color:#a7f3d0;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;flex-shrink:0;font-size:12px}
.journey strong{font-size:14px;font-weight:600}.journey p{font-size:12px;color:#c2d5ca;margin:5px 0 0}.intro-note{border-top:1px solid #466759;padding-top:24px;color:#a7f3d0;font-size:15px}.intro-note small{color:#c2d5ca;font-size:11px}
.portal-auth .container{width:100%;max-width:none;padding:36px 40px;color:#243d35;background:white;box-shadow:none;border-radius:0;backdrop-filter:none}
.portal-auth .logo{height:76px;width:auto;object-fit:contain;margin-bottom:16px}.portal-auth h2{font-family:Georgia,serif;font-size:25px;line-height:1.25;color:#064e3b}.portal-auth .container>p{font-size:12px}
.portal-auth .tabs{padding:4px;background:#eaf7ee;border-radius:10px;gap:3px;margin-top:24px}.portal-auth .tabs button{background:transparent;color:#596e64;border-radius:7px;margin:0;padding:10px 5px;font-size:12px}.portal-auth .tabs button.active{background:#fff;color:#064e3b;box-shadow:0 2px 8px #064e3b10}
.portal-auth form{text-align:left;margin-top:22px}.portal-auth form input:not([type=submit]):not([type=reset]){width:100%;margin:5px 0 13px;padding:12px 14px;border:1px solid #cbd9d0;background:#fbfcfb;border-radius:8px;color:#243d35;font:inherit;font-size:13px;min-height:46px}
.portal-auth form input[type=submit],.portal-auth form input[type=reset]{width:auto;min-width:100px;margin:10px 8px 0 0;border-radius:8px;padding:12px 20px;border:1px solid #cbd9d0;font-size:13px}
.portal-auth form input[type=submit]{background:#087443;color:#fff;border-color:#087443}.portal-auth form input[type=reset]{background:#f3f6f3;color:#456253}
.portal-auth footer{color:#738077;font-size:10px;line-height:1.7;margin-top:24px}.technology-credit{text-align:center;border-top:1px solid #e2e9e4;margin-top:18px;padding-top:16px;font-size:10px;color:#718078}.technology-credit strong{font-size:11px;color:#245340;font-weight:600}
body.portal-registration{padding:30px 20px}.portal-registration .card-glass{max-width:1100px;border:1px solid #dce5df;border-radius:18px;box-shadow:0 16px 50px #153a290a;background:#fff}
.portal-registration .brand-bar{background:#064e3b;padding:24px 32px;gap:18px}.portal-registration .brand-bar .logo{object-fit:contain;background:#fff;padding:4px;width:62px;height:72px}.portal-registration .brand-title{font-family:Georgia,serif;font-size:24px;font-weight:400}.portal-registration .brand-sub{color:#d2dfd6;font-size:12px}.portal-registration .brand-bar .ms-auto{font-size:13px}
.registration-guide{padding:22px 34px;border-bottom:1px solid #e1e9e3;background:#f0fdf4}.registration-guide span{font-size:11px;font-weight:700;letter-spacing:1.8px;color:#166534}.registration-guide p{margin:7px 0 0;color:#68786d;font-size:12px}
.portal-registration .inner{padding:30px 34px}.portal-registration .section-title{font-size:23px;color:#064e3b}.portal-registration .form-section-heading{display:flex;align-items:center;gap:13px;border-top:1px solid #e0e8e2;padding-top:26px;margin-top:28px;margin-bottom:4px}.form-section-heading>span{background:#dcfce7;color:#2a5c44;font-size:12px;font-weight:600;border-radius:10px;padding:9px 12px}.form-section-heading h4{font-size:16px;font-weight:600;margin:0;color:#1e4a38}.form-section-heading small{display:block;font-size:11px;color:#79877c;font-weight:400;margin-top:4px}
.portal-registration .form-label{font-size:12px;font-weight:500;color:#425b4d;margin-bottom:8px}.portal-registration .form-control,.portal-registration .form-select{min-height:47px;border:1px solid #cfdbd2;border-radius:8px;background-color:#fcfdfb;font-size:14px;padding:11px 13px;color:#243d35}.portal-registration input[readonly]{background:#edf1ed;color:#687a6d}.portal-registration .form-check-input:checked{background-color:#245d46;border-color:#245d46}
.portal-registration .btn-cta{background:#087443;border-radius:8px;font-size:14px;padding:13px 28px;box-shadow:none}.portal-registration .btn-outline-secondary{border-color:#c4d2c8;color:#345642;font-size:14px;padding:12px 22px;border-radius:8px}.portal-registration .instructions{background:#ecfdf3;border-color:#22a06b;padding:20px;font-size:12px;line-height:1.9;margin-top:30px}.portal-registration footer.small-note{background:#f6f8f4;border-top:1px solid #e1e9e3;padding:22px;color:#6d7e71;font-size:11px;line-height:1.9}.portal-registration footer strong{color:#245340}
.portal-registration .img-preview{background:#f0f4ef;border:1px dashed #aebfb2;object-fit:contain}.portal-registration .img-preview:not([src]),.portal-registration .img-preview[src=""]{visibility:hidden}
body.portal-slip-login{background:#edf8f0}.portal-slip-login .form-container{background:white;color:#243d35;border:1px solid #dce5df;box-shadow:0 20px 60px #153a2910;border-radius:20px;max-width:520px}.portal-slip-login .form-container::before,.portal-slip-login .form-container::after{display:none}.portal-slip-login h1{font-family:Georgia,serif;font-size:25px;line-height:1.3;color:#064e3b;text-transform:none}.portal-slip-login h2{color:#718078;font-size:12px;margin-top:12px}.portal-slip-login legend{font-size:17px;color:#234f3c;letter-spacing:1px}.portal-slip-login legend::after{background:#22a06b;width:55px}.portal-slip-login .form-control{border:1px solid #cbd9d0;background:#fbfcfb;min-height:47px}.portal-slip-login .btn-submit{background:#087443;color:#fff}.back-link{display:block;text-align:center;color:#416851;font-size:12px;margin-top:22px}
.portal-auth input:focus-visible,.portal-registration .form-control:focus,.portal-registration .form-select:focus,.portal-slip-login .form-control:focus{outline:2px solid #15965b;outline-offset:2px;border-color:#15965b;box-shadow:none}.portal-auth button:focus-visible,.portal-registration a:focus-visible,.portal-registration button:focus-visible,.portal-slip-login button:focus-visible{outline:3px solid #22a06b;outline-offset:3px}
@media(max-width:760px){body.portal-auth{padding:18px 12px}.admission-layout{grid-template-columns:1fr;border-radius:16px}.admission-intro{padding:28px}.admission-intro h1{font-size:33px;margin:18px 0 12px}.admission-intro>p{margin-bottom:0}.journey,.intro-note{display:none}.portal-auth .container{padding:28px 24px}.portal-registration .brand-bar{flex-wrap:wrap;padding:22px}.portal-registration .brand-title{font-size:20px}.portal-registration .brand-bar .ms-auto{margin-left:0!important;width:100%;text-align:left!important;border-top:1px solid #527060;padding-top:12px}.portal-registration .inner{padding:22px 16px}.registration-guide{padding:20px}.portal-registration .section-title{font-size:20px}body.portal-registration{padding:12px 8px}.portal-registration .btn{margin:6px!important}.portal-slip-login .form-container{padding:28px 22px}}

/* Emerald admission theme */
body.portal-auth,body.portal-registration,body.portal-slip-login{background:radial-gradient(ellipse at top left,#d4f5df 0,transparent 55%),linear-gradient(135deg,#f0fdf4,#e7f5ed);color:#163e2b}
.admission-layout{border-color:#c3e5ce;box-shadow:0 24px 70px #065f4614}
.admission-intro{background:linear-gradient(145deg,#064e3b 0%,#087443 65%,#15803d 100%)}
.admission-intro::after{content:"";position:absolute;width:180px;height:180px;border:1px solid #ffffff12;border-radius:50%;right:-85px;bottom:-65px;pointer-events:none}
.eyebrow{display:inline-block;padding:7px 11px;border:1px solid #a7f3d040;border-radius:6px;background:#ffffff08;letter-spacing:1.5px}
.journey li>span{border-color:#86efac60;background:#ffffff0a;color:#bbf7d0}
.intro-note{border-color:#86efac40;color:#bbf7d0}
.portal-auth .tabs{border:1px solid #cfebd8}.portal-auth .tabs button.active{background:#087443;color:#fff;box-shadow:0 3px 9px #08744324}
.portal-auth form input:not([type=submit]):not([type=reset]){background:#f8fdf9;border-color:#c6e1cf}
.portal-auth form input[type=submit],.portal-registration .btn-cta,.portal-slip-login .btn-submit{background:linear-gradient(135deg,#087443,#15803d);color:#fff;border:1px solid #087443;box-shadow:0 4px 12px #08744318;transition:background .18s ease,box-shadow .18s ease}
.portal-auth form input[type=submit]:hover,.portal-registration .btn-cta:hover,.portal-slip-login .btn-submit:hover{background:#065f3e;color:#fff;box-shadow:0 6px 16px #08744328}
.portal-auth form input[type=reset]:hover{background:#dcfce7;color:#166534}
.portal-registration .brand-bar{background:linear-gradient(110deg,#064e3b,#087443 70%,#15803d);border-bottom:4px solid #86efac}
.portal-registration .brand-sub{color:#dcfce7}.portal-registration .brand-bar .logo{border-color:#bbf7d0;border-radius:10px}
.portal-registration .card-glass{border-color:#c3e5ce}.registration-guide{background:#f0fdf4;border-bottom-color:#d3ecdc}
.portal-registration .form-section-heading{border-top:0;border-left:3px solid #22a06b;background:#effaf2;border-radius:0 10px 10px 0;padding:13px 16px;margin-top:28px;margin-bottom:6px}
.form-section-heading>span{background:#d1f5dd;color:#166534;border:1px solid #b6e7c7}.form-section-heading h4{color:#14532d}.form-section-heading small{color:#4c755b}
.portal-registration .form-control,.portal-registration .form-select{background-color:#fbfefb;border-color:#c6e1cf}.portal-registration input[readonly]{background:#edf7ef;color:#52735c}
.portal-registration .form-check-input:checked{background-color:#087443;border-color:#087443}
.portal-registration .btn-outline-secondary{color:#166534;border-color:#93cfa8;background:#f0fdf4}.portal-registration .btn-outline-secondary:hover{color:#fff;background:#166534;border-color:#166534}
.portal-registration .instructions{color:#245139;background:#ecfdf3;border-left-color:#22a06b}.portal-registration .instructions strong{color:#166534}
.portal-registration footer.small-note{background:#f0fdf4;border-top-color:#d3ecdc}.technology-credit{border-top-color:#d3ecdc}.technology-credit strong,.portal-registration footer strong{color:#166534}
.portal-slip-login .form-container{border-top:5px solid #087443;box-shadow:0 20px 60px #065f4614}.portal-slip-login .form-control{border-color:#c6e1cf;background:#f8fdf9}.portal-slip-login legend::after{background:#22a06b}
.back-link:hover{color:#087443;text-decoration:underline}
@media(prefers-reduced-motion:reduce){.portal-auth *, .portal-registration *, .portal-slip-login *{transition:none!important;animation:none!important}}

