/* ==========================================================================
   ACME REVISION TEST SESSIONS — MAIN STYLESHEET
   File: assets/css/style.css
   Sections are marked with BEGIN / END comments for maintainability.
   ========================================================================== */

/* BEGIN: Design tokens and base reset */
:root {
    --acme-red: #ed1c24;
    --acme-red-dark: #b90f18;
    --acme-green: #24a653;
    --acme-green-dark: #075c38;
    --acme-gold: #ffd43b;
    --ink: #14283b;
    --muted: #607181;
    --line: #d9e4e9;
    --surface: #ffffff;
    --page: #f1f6f8;
    --radius: 12px;
    --shadow-soft: 0 8px 24px rgba(14, 40, 55, .08);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; color: var(--ink); background: var(--page); font: 14px/1.5 Arial, Helvetica, sans-serif; }
img { max-width: 100%; }
a { color: inherit; }
button, input, select { font: inherit; }
button, a, input { -webkit-tap-highlight-color: transparent; }
.required { color: var(--acme-red); }
.optional { color: var(--muted); font-size: 11px; font-weight: 400; }
/* END: Design tokens and base reset */

/* BEGIN: Header and responsive navigation */
.brand-stripe { height: 6px; background: linear-gradient(90deg, var(--acme-red) 0 34%, var(--acme-green) 34% 68%, #f58220 68% 100%); }
.site-header { position: relative; z-index: 10; background: #fff; border-bottom: 3px solid var(--acme-green); box-shadow: 0 3px 14px rgba(20, 40, 59, .06); }
.header-inner { width: min(1760px, 100%); min-height: 78px; margin: 0 auto; padding: 10px clamp(14px, 2.5vw, 36px); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand-logo { display: block; flex: 0 1 330px; min-width: 180px; line-height: 0; }
.brand-logo img { display: block; width: 100%; height: auto; object-fit: contain; }
.main-navigation { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: clamp(10px, 1.35vw, 24px); }
.main-navigation a { padding: 9px 0; color: #1e2d3b; text-decoration: none; font-size: 12px; font-weight: 700; white-space: nowrap; border-bottom: 2px solid transparent; }
.main-navigation a:hover, .main-navigation a:focus-visible { color: var(--acme-green-dark); border-color: var(--acme-green); }
.main-navigation .apply-link { padding: 11px 19px; color: #fff; background: var(--acme-green); border: 0; border-radius: 7px; }
.main-navigation .apply-link:hover { background: var(--acme-green-dark); }
.menu-toggle { display: none; padding: 8px 11px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
/* END: Header and responsive navigation */

/* BEGIN: Main three-column page grid */
.page-shell { width: min(1760px, 100%); margin: 0 auto; padding: 18px clamp(12px, 1.6vw, 26px) 28px; }
.three-column-layout { display: grid; grid-template-columns: minmax(235px, .78fr) minmax(480px, 1.55fr) minmax(290px, .92fr); align-items: start; gap: clamp(13px, 1.2vw, 22px); }
.promotion-sidebar, .registration-column, .scholarship-sidebar { min-width: 0; }
.panel { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-soft); }
/* END: Main three-column page grid */

/* BEGIN: Left promotional sidebar and separate ribbon badge */
.promotion-card { overflow: hidden; border: 1px solid #c7d9d0; border-radius: 13px; background: #073c2a; box-shadow: 0 8px 22px rgba(8, 55, 38, .16); }
.promotion-image { display: block; width: 100%; height: auto; object-fit: contain; /* Keep original art intact: no crop, no stretch, no image edits. */ }
.class-size-ribbon { margin: 0; padding: 10px 12px 12px; color: #fff; background: linear-gradient(135deg, #0b603b, #073d2b); border-top: 3px solid var(--acme-gold); }
.ribbon-main { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 8px 12px; background: linear-gradient(110deg, #f21d2a, #c90d1b); border: 2px solid #fff; border-radius: 5px 13px 5px 13px; box-shadow: 0 5px 0 rgba(0,0,0,.16); transform: skew(-3deg); }
.ribbon-main > * { transform: skew(3deg); }
.ribbon-main strong { font-size: clamp(31px, 2.4vw, 48px); line-height: .95; font-weight: 900; letter-spacing: -1.5px; }
.ribbon-main span { font-size: clamp(11px, .85vw, 15px); line-height: 1.08; font-weight: 900; }
.ribbon-sub { width: 82%; margin: 7px auto 0; padding: 5px 8px; color: #123a2b; background: linear-gradient(180deg, #ffe45e, #ffbd16); border-radius: 2px 2px 8px 8px; text-align: center; font-size: clamp(10px, .75vw, 12px); font-weight: 900; letter-spacing: .3px; transform: skew(-3deg); }
.promotion-caption { margin: 0; padding: 10px 12px 12px; color: #e4f5e9; text-align: center; font-size: 11px; }
/* END: Left promotional sidebar and separate ribbon badge */

/* BEGIN: Center form heading and input fields */
.form-heading { margin: 1px 0 13px; }
.eyebrow { margin: 0 0 3px; color: var(--acme-green-dark); font-size: 10px; font-weight: 800; letter-spacing: 1.4px; }
.form-heading h1 { margin: 0; color: #18334a; font-size: clamp(25px, 2vw, 34px); line-height: 1.15; letter-spacing: -.5px; }
.form-heading h1 span { color: var(--acme-green); }
.intro { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.registration-form { display: grid; gap: 13px; }
.form-section { padding: clamp(13px, 1.2vw, 19px); }
.form-section h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding-bottom: 11px; border-bottom: 1px solid #e7edf0; color: #172d41; font-size: 16px; line-height: 1.25; }
.section-number { display: inline-flex; width: 28px; height: 28px; flex: 0 0 28px; align-items: center; justify-content: center; color: #fff; border-radius: 7px; font-size: 15px; font-weight: 900; box-shadow: 0 3px 0 rgba(0,0,0,.1); }
.section-number-blue { background: linear-gradient(135deg, #2ca8f2, #0879c5); }
.section-number-green { background: linear-gradient(135deg, #27b861, #087d42); }
.form-grid-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 13px; }
.form-grid-two label { display: block; min-width: 0; margin: 0; color: #203347; font-size: 11px; font-weight: 800; }
input:not([type="radio"]):not([type="checkbox"]), select { display: block; width: 100%; min-width: 0; margin-top: 5px; padding: 10px 11px; border: 1px solid #cad8e2; border-radius: 7px; background: #fff; color: #172d41; font-size: 12px; transition: border-color .15s, box-shadow .15s; }
input::placeholder { color: #8a9aaa; }
input:focus, select:focus { outline: none; border-color: var(--acme-green); box-shadow: 0 0 0 3px rgba(36,166,83,.13); }
.field-help { margin: 10px 0 0; color: var(--muted); font-size: 10px; }
/* END: Center form heading and input fields */

/* BEGIN: Academic choices and instructions */
.academic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.choice-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.choice-fieldset legend { width: 100%; margin: 0 0 7px; padding: 0; color: #203347; font-size: 11px; font-weight: 800; }
.full-width { grid-column: 1 / -1; }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.choice-card { display: flex; align-items: center; gap: 7px; min-width: 0; min-height: 48px; margin: 0; padding: 8px; border: 1px solid #d4dfe6; border-radius: 8px; background: #fff; cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; }
.choice-card:has(input:checked) { border-color: var(--acme-green); background: #effaf3; box-shadow: inset 0 0 0 1px rgba(36,166,83,.14); }
.choice-card input { flex: 0 0 auto; margin: 0; accent-color: var(--acme-green); }
.choice-card span { min-width: 0; }
.choice-card strong { display: block; color: #183046; font-size: 11px; line-height: 1.2; }
.choice-card small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.25; font-weight: 400; }
.campus-line { display: flex; align-items: center; gap: 10px; margin-top: 13px; padding: 10px 12px; border: 1px solid #bfe7cb; border-radius: 8px; background: #effaf3; }
.campus-pin { color: var(--acme-green-dark); font-size: 23px; line-height: 1; }
.campus-line strong, .campus-line small { display: block; }
.campus-line strong { font-size: 11px; }
.campus-line small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.instructions { margin-top: 13px; padding: 11px 12px; border: 1px solid #f4d0d2; border-left: 4px solid var(--acme-red); border-radius: 8px; background: #fff3f3; }
.instructions h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; color: #b5161d; font-size: 12px; }
.instructions h3 span { display: inline-flex; width: 21px; height: 21px; align-items: center; justify-content: center; border-radius: 5px; background: var(--acme-red); color: #fff; font-size: 14px; }
.instructions ul { margin: 0; padding-left: 18px; color: #34495a; font-size: 10px; }
.instructions li { margin: 3px 0; }
.after-submission { display: grid; gap: 3px; margin-top: 12px; padding: 10px 12px; border: 1px solid #ccebd5; border-radius: 8px; background: #f0fbf3; }
.after-submission strong { color: #087d42; font-size: 12px; }
.after-submission span { color: #415e4c; font-size: 10px; }
.confirmation-check { display: flex; align-items: flex-start; gap: 8px; margin: 13px 1px 10px; color: #24384a; font-size: 11px; font-weight: 700; line-height: 1.4; }
.confirmation-check input { flex: 0 0 auto; margin: 2px 0 0; accent-color: var(--acme-green); }
.submit-button { display: flex; width: 100%; min-height: 46px; align-items: center; justify-content: center; gap: 9px; padding: 12px 16px; border: 0; border-radius: 8px; color: #fff; background: linear-gradient(180deg, #20ad59, #078443); box-shadow: 0 4px 0 #086936, 0 8px 15px rgba(9,125,64,.16); font-size: 14px; font-weight: 900; cursor: pointer; transition: transform .15s, filter .15s; }
.submit-button:hover { filter: brightness(1.04); transform: translateY(-1px); }
.submit-button:active { transform: translateY(1px); box-shadow: 0 2px 0 #086936; }
.alert { margin: 0 0 12px; padding: 11px 13px; border-radius: 8px; font-size: 12px; }
.alert-error { border: 1px solid #f3c6c9; color: #9c1118; background: #fff0f1; }
.empty-state { margin: 35px auto; max-width: 650px; }
/* END: Academic choices and instructions */

/* BEGIN: 3D Scholarship Test sidebar (all text remains HTML) */
.scholarship-card { --panel-red: #ed1c24; --panel-green: #078b49; --panel-gold: #ffd43b; overflow: hidden; padding: 13px; border: 1px solid color-mix(in srgb, var(--panel-red) 55%, white); border-radius: 15px; color: #fff; background: linear-gradient(145deg, color-mix(in srgb, var(--panel-red) 82%, white) 0%, var(--panel-red) 42%, color-mix(in srgb, var(--panel-red) 82%, black) 100%); box-shadow: 0 8px 0 color-mix(in srgb, var(--panel-red) 70%, black), 0 15px 28px rgba(130, 10, 18, .18), inset 0 2px 0 rgba(255,255,255,.55); }
.scholarship-card-top { padding: 8px 5px 13px; text-align: left; text-shadow: 0 2px 0 rgba(90,0,0,.16); }
.scholarship-kicker { display: block; margin-bottom: 5px; color: #ffe8a1; font-size: 9px; font-weight: 900; letter-spacing: 1.3px; }
.scholarship-card-top h2 { margin: 0; font-size: clamp(23px, 1.8vw, 31px); line-height: 1.02; letter-spacing: -.5px; }
.scholarship-card-top h2 span { color: #ffe13d; }
.scholarship-audience { margin: 8px 0 1px; font-size: 17px; font-weight: 900; line-height: 1.2; }
.scholarship-boards { margin: 0; font-size: 11px; }
.syllabus-card { position: relative; margin: 0 0 12px; padding: 10px; border: 1px solid rgba(255,255,255,.75); border-radius: 11px; color: var(--ink); background: linear-gradient(180deg, #fff, #f4f7f6); box-shadow: 0 5px 0 rgba(117,0,0,.35), inset 0 1px 0 #fff; }
.syllabus-card h3 { margin: -1px -1px 8px; padding: 8px 10px; border-radius: 6px; color: #fff; background: linear-gradient(180deg, color-mix(in srgb, var(--panel-green) 75%, white), var(--panel-green)); box-shadow: 0 3px 0 color-mix(in srgb, var(--panel-green) 70%, black); text-align: center; font-size: 13px; line-height: 1.2; }
.marks-summary { display: grid; grid-template-columns: .7fr 1.6fr; gap: 7px; }
.total-marks { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 8px 5px; border: 1px solid var(--panel-green); border-radius: 7px; color: #fff; background: linear-gradient(145deg, color-mix(in srgb, var(--panel-green) 75%, white), color-mix(in srgb, var(--panel-green) 78%, black)); box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 3px 0 color-mix(in srgb, var(--panel-green) 70%, black); text-align: center; }
.total-marks span { font-size: 11px; font-weight: 800; line-height: 1.15; }
.total-marks strong { margin-top: 4px; color: var(--panel-gold); font-size: 27px; line-height: 1; }
.subject-marks { display: grid; grid-template-columns: 1fr 44px; overflow: hidden; border: 1px solid #e7b0b2; border-radius: 6px; }
.subject-marks div { display: contents; }
.subject-marks span, .subject-marks strong { display: flex; min-width: 0; align-items: center; padding: 7px 6px; border-bottom: 1px solid #e8b0b2; font-size: 10px; line-height: 1.15; }
.subject-marks span { background: #fff; font-weight: 700; }
.subject-marks strong { justify-content: center; color: #fff; background: linear-gradient(180deg, color-mix(in srgb, var(--panel-green) 75%, white), var(--panel-green)); font-size: 12px; }
.subject-marks span:nth-last-of-type(1), .subject-marks strong:last-child { border-bottom: 0; }
.syllabus-note { margin: 8px 0 0; padding: 7px 8px; border-radius: 6px; color: #fff; background: linear-gradient(180deg, color-mix(in srgb, var(--panel-green) 75%, white), var(--panel-green)); text-align: center; font-size: 9px; font-weight: 700; }
.schedule-card { margin-bottom: 13px; padding: 4px 11px; border: 1px solid color-mix(in srgb, var(--panel-green) 50%, white); border-radius: 13px; color: #fff; background: linear-gradient(145deg, color-mix(in srgb, var(--panel-green) 78%, white), color-mix(in srgb, var(--panel-green) 78%, black)); box-shadow: 0 5px 0 color-mix(in srgb, var(--panel-green) 70%, black), inset 0 1px 0 rgba(255,255,255,.35); }
.schedule-row { display: grid; grid-template-columns: 35px minmax(0, 1fr); align-items: center; gap: 9px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.34); }
.schedule-row:last-child { border-bottom: 0; }
.schedule-icon { display: flex; width: 32px; height: 32px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; color: #fff; background: linear-gradient(145deg, #08703b, #0b5d34); box-shadow: inset 0 1px 0 rgba(255,255,255,.25); font-size: 21px; font-weight: 900; }
.schedule-row small, .schedule-row strong { display: block; }
.schedule-row small { margin-bottom: 2px; color: #e0ffe9; font-size: 10px; }
.schedule-row strong { font-size: 11px; line-height: 1.25; overflow-wrap: anywhere; }
.prize-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin: 0 0 11px; }
.prize-card { min-width: 0; padding: 9px 4px 10px; border: 1px solid rgba(255,255,255,.7); border-radius: 7px; text-align: center; box-shadow: 0 3px 0 rgba(100,0,0,.24), inset 0 1px 0 rgba(255,255,255,.4); }
.prize-first { background: linear-gradient(160deg, #ffe66b, #f4a900); color: #4c2600; }
.prize-second { background: linear-gradient(160deg, #d9f0ff, #76b8ed); color: #113c64; }
.prize-third { background: linear-gradient(160deg, #ffdd9e, #f18430); color: #642900; }
.prize-card span, .prize-card strong { display: block; }
.prize-card span { margin-bottom: 4px; font-size: 10px; font-weight: 900; }
.prize-card strong { font-size: clamp(10px, .9vw, 14px); line-height: 1.15; white-space: nowrap; }
.prize-note { margin: 0; padding: 10px 8px 4px; border-top: 1px solid rgba(255,255,255,.48); color: #fff5f5; text-align: center; font-size: 10px; line-height: 1.35; }
/* END: 3D Scholarship Test sidebar */

/* BEGIN: Footer and campus contact information */
.site-footer { color: #eaf6f2; background: linear-gradient(135deg, #073c35, #052b28); border-top: 4px solid transparent; border-image: linear-gradient(90deg, var(--acme-red) 0 34%, var(--acme-green) 34% 68%, #f58220 68% 100%) 1; }
.footer-inner { display: grid; grid-template-columns: 1.1fr repeat(3, 1fr); gap: 0; width: min(1760px, 100%); margin: 0 auto; padding: 24px clamp(15px, 2.4vw, 36px); }
.footer-brand-block, .footer-campus { min-width: 0; padding: 0 20px; border-right: 1px solid rgba(255,255,255,.28); }
.footer-brand-block { padding-left: 0; }
.footer-campus:last-child { padding-right: 0; border-right: 0; }
.footer-brand-block img { display: block; width: min(210px, 100%); height: auto; padding: 4px; border-radius: 4px; background: #fff; }
.footer-brand-block p { max-width: 270px; margin: 10px 0; color: #c8e0d8; font-size: 11px; }
.footer-social { color: #fff; font-size: 16px; font-weight: 900; letter-spacing: 2px; }
.footer-campus h2 { margin: 0 0 8px; color: #fff; font-size: 12px; }
.footer-campus p { margin: 0 0 7px; color: #d4e6df; font-size: 11px; line-height: 1.45; }
.footer-campus .footer-phone { color: #fff; font-weight: 800; }
.footer-bottom { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 22px; padding: 12px 16px; color: #d3e5df; background: rgba(0,0,0,.18); font-size: 10px; }
.footer-bottom a { color: #fff; text-decoration: none; }
.footer-bottom a:hover { text-decoration: underline; }
/* END: Footer and campus contact information */

/* BEGIN: Admin screens */
.adminbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px clamp(14px, 3vw, 42px); color: #fff; background: #102d24; }
.adminbar b { font-size: 21px; }
.adminbar nav { display: flex; flex-wrap: wrap; gap: 15px; }
.adminbar a { color: #fff; text-decoration: none; font-size: 12px; font-weight: 700; }
.adminbar a:hover { text-decoration: underline; }
.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.stat { padding: 17px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.stat small { display: block; color: var(--muted); }
.stat strong { display: block; color: var(--acme-green); font-size: 29px; }
.rowhead { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.rowhead h2 { margin: 0; }
.tablewrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 12px; }
th, td { padding: 10px; border-bottom: 1px solid #e4eaee; text-align: left; vertical-align: top; }
th { color: #273d49; background: #f0f5f7; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 15px; border: 0; border-radius: 7px; color: #fff; background: var(--acme-red); text-decoration: none; font-size: 12px; font-weight: 800; cursor: pointer; }
.btn:hover { filter: brightness(.96); }
.btn.green { background: var(--acme-green); }
.smallbtn { padding: 7px 9px; border: 1px solid #c8d5dc; border-radius: 6px; background: #fff; cursor: pointer; }
.loginwrap { max-width: 480px; margin: 7vh auto; padding: 16px; }
.loginwrap .panel { text-align: center; }
.loginwrap form { text-align: left; }
.loginwrap .btn { width: 100%; margin-top: 8px; }
.login-logo { width: min(300px, 100%); margin: 0 auto 16px; }
.login-logo img { display: block; width: 100%; height: auto; }
.filters { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.filters label { min-width: 150px; }
/* END: Admin screens */

/* BEGIN: Registration slip */
.slip { max-width: 820px; margin: 30px auto; text-align: center; }
.slip-logo { width: min(310px, 100%); margin: 0 auto 18px; }
.slip-logo img { display: block; width: 100%; height: auto; }
.slip h1 { margin: 0; color: #18334a; font-size: 30px; }
.slip h2 { margin: 8px 0 0; font-size: 16px; }
.roll { display: inline-block; margin: 12px 0 20px; padding: 10px 22px; border: 2px dashed var(--acme-green); color: #087d42; background: #e9f8ee; font-size: 24px; font-weight: 900; }
.slip-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.sliprow { display: flex; justify-content: space-between; gap: 12px; padding: 10px; border-bottom: 1px solid var(--line); text-align: left; }
.sliprow span { text-align: right; overflow-wrap: anywhere; }
.no-print { margin-top: 18px; }
/* END: Registration slip */

/* BEGIN: Tablet and mobile responsiveness */
@media (max-width: 1250px) {
    .header-inner { gap: 14px; }
    .brand-logo { flex-basis: 265px; }
    .main-navigation { gap: 10px; }
    .main-navigation a { font-size: 11px; }
    .three-column-layout { grid-template-columns: minmax(210px, .72fr) minmax(420px, 1.45fr) minmax(270px, .9fr); gap: 12px; }
    .scholarship-card { padding: 10px; }
    .scholarship-card-top h2 { font-size: 24px; }
    .scholarship-audience { font-size: 15px; }
    .prize-card strong { font-size: 11px; }
}
@media (max-width: 1000px) {
    .three-column-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
    .registration-column { grid-column: 1 / -1; grid-row: 1; }
    .promotion-sidebar { grid-column: 1; grid-row: 2; }
    .scholarship-sidebar { grid-column: 2; grid-row: 2; }
    .promotion-card { position: sticky; top: 12px; }
    .brand-logo { flex-basis: 245px; }
    .main-navigation { gap: 9px; }
}
@media (max-width: 720px) {
    .header-inner { min-height: 68px; padding: 9px 12px; flex-wrap: wrap; gap: 8px; }
    .brand-logo { flex: 0 1 255px; max-width: 70%; min-width: 0; }
    .menu-toggle { display: block; margin-left: auto; }
    .main-navigation { display: none; flex: 1 0 100%; order: 3; align-items: stretch; gap: 0; padding-top: 7px; border-top: 1px solid #e7edf0; }
    .main-navigation.is-open { display: flex; flex-direction: column; }
    .main-navigation a { padding: 10px 5px; border-bottom: 1px solid #edf1f3; font-size: 13px; }
    .main-navigation .apply-link { margin-top: 7px; text-align: center; }
    .page-shell { padding: 12px 10px 20px; }
    .three-column-layout { display: flex; flex-direction: column; gap: 14px; }
    .registration-column { order: 1; width: 100%; }
    .promotion-sidebar { order: 0; width: 100%; }
    .scholarship-sidebar { order: 2; width: 100%; }
    .promotion-card { position: static; }
    .promotion-image { width: 100%; height: auto; object-fit: contain; }
    .class-size-ribbon { padding: 9px 10px; }
    .ribbon-main { max-width: 340px; margin: 0 auto; }
    .ribbon-main strong { font-size: 34px; }
    .ribbon-main span { font-size: 12px; }
    .ribbon-sub { max-width: 280px; font-size: 11px; }
    .form-heading h1 { font-size: 27px; }
    .form-section { padding: 13px; }
    .form-grid-two { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .academic-grid { grid-template-columns: minmax(0, 1fr); gap: 13px; }
    .full-width { grid-column: auto; }
    .choice-card { min-height: 48px; }
    input:not([type="radio"]):not([type="checkbox"]), select { padding: 11px; font-size: 16px; }
    .scholarship-card { padding: 13px; }
    .scholarship-card-top h2 { font-size: 29px; }
    .scholarship-audience { font-size: 18px; }
    .subject-marks span, .subject-marks strong { padding: 9px 8px; font-size: 12px; }
    .total-marks span { font-size: 13px; }
    .total-marks strong { font-size: 32px; }
    .schedule-row { grid-template-columns: 40px minmax(0, 1fr); padding: 11px 0; }
    .schedule-icon { width: 36px; height: 36px; }
    .schedule-row small { font-size: 12px; }
    .schedule-row strong { font-size: 13px; }
    .prize-card span { font-size: 11px; }
    .prize-card strong { font-size: clamp(11px, 3.1vw, 15px); }
    .prize-note { font-size: 11px; }
    .footer-inner { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 18px 16px; }
    .footer-brand-block, .footer-campus, .footer-campus:last-child { padding: 13px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.23); }
    .footer-brand-block { padding-top: 0; }
    .footer-campus:last-child { border-bottom: 0; padding-bottom: 0; }
    .footer-campus h2 { font-size: 13px; }
    .footer-campus p { font-size: 12px; }
    .footer-bottom { flex-direction: column; gap: 6px; text-align: center; font-size: 11px; }
    .adminbar { align-items: flex-start; flex-direction: column; }
    .adminbar nav { gap: 10px; }
    .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .slip-details { grid-template-columns: minmax(0, 1fr); }
    .filters { display: grid; grid-template-columns: minmax(0, 1fr); }
    .filters label { min-width: 0; }
}
@media (max-width: 390px) {
    .brand-logo { max-width: 67%; }
    .choice-grid { grid-template-columns: minmax(0, 1fr); }
    .prize-grid { gap: 4px; }
    .prize-card { padding: 8px 2px; }
    .prize-card strong { font-size: 10px; }
    .scholarship-card-top h2 { font-size: 25px; }
}
/* END: Tablet and mobile responsiveness */

/* BEGIN: Print styles */
@media print {
    body { color: #000; background: #fff; }
    .brand-stripe, .site-header, .site-footer, .no-print, .menu-toggle { display: none !important; }
    .page-shell { width: 100%; max-width: none; margin: 0; padding: 0; }
    .three-column-layout { display: block; }
    .promotion-sidebar, .scholarship-sidebar { display: none; }
    .panel { box-shadow: none; border: 1px solid #aaa; }
    .slip { margin: 0; }
}
/* END: Print styles */


/* ========================================================================== 
   BEGIN: Approved Scholarship sidebar refinements (SS2 mockup)
   These are HTML/CSS cards; no flyer image is substituted or edited.
   ========================================================================== */
.scholarship-card { position: relative; isolation: isolate; }
.scholarship-card::before { content: ""; position: absolute; z-index: -1; inset: 0 0 auto; height: 7px; background: linear-gradient(90deg, #fff 0 5%, var(--panel-gold) 5% 95%, #fff 95%); opacity: .95; }
.scholarship-card-top { padding-top: 12px; }
.syllabus-card { box-shadow: 0 5px 0 rgba(117,0,0,.35), 0 8px 15px rgba(70,0,0,.10), inset 0 1px 0 #fff; }
.schedule-card { position: relative; }
.prize-card { transition: transform .15s ease, box-shadow .15s ease; }
.prize-card:hover { transform: translateY(-2px); box-shadow: 0 5px 0 rgba(100,0,0,.24), 0 8px 12px rgba(60,0,0,.12), inset 0 1px 0 rgba(255,255,255,.4); }
@media (max-width: 1000px) {
    .three-column-layout { align-items: start; }
    .promotion-sidebar, .scholarship-sidebar { position: static; }
}
/* END: Approved Scholarship sidebar refinements */

/* ========================================================================== 
   BEGIN: Registration slip — screen view
   ========================================================================== */
.single-slip-page { min-height: 100vh; background: #eef3f6; }
.single-slip-page .slip { position: relative; max-width: 900px; margin: 24px auto; padding: 0; overflow: hidden; border: 1px solid #d3e0e6; border-radius: 12px; background: #fff; box-shadow: 0 12px 32px rgba(20,40,59,.12); text-align: left; }
.single-slip-page .slip-header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 15px 18px; color: #fff; background: linear-gradient(110deg, #12364c, #0a2638); }
.single-slip-page .slip-brand-title { margin: 0; color: #fff; font-size: 18px; line-height: 1.2; }
.single-slip-page .slip-brand-subtitle { margin: 3px 0 0; color: #dbeaf2; font-size: 11px; }
.single-slip-page .slip-logo { width: 175px; margin: 0; padding: 5px; border-radius: 5px; background: #fff; }
.single-slip-page .slip-logo img { display: block; width: 100%; height: auto; }
.single-slip-page .slip-roll-box { min-width: 155px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.55); border-radius: 8px; text-align: center; background: rgba(255,255,255,.08); }
.single-slip-page .slip-roll-box small, .single-slip-page .slip-roll-box strong { display: block; }
.single-slip-page .slip-roll-box small { color: #e6f2f7; font-size: 10px; }
.single-slip-page .slip-roll-box strong { margin-top: 2px; color: #fff; font-size: 19px; line-height: 1.1; overflow-wrap: anywhere; }
.single-slip-page .slip-body { padding: 18px; }
.single-slip-page .slip-event-title { margin: 0; color: #17364b; font-size: 21px; line-height: 1.2; }
.single-slip-page .slip-event-subtitle { margin: 3px 0 13px; color: #526b7a; font-size: 12px; }
.single-slip-page .slip-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 22px; }
.single-slip-page .sliprow { display: grid; grid-template-columns: minmax(100px,.8fr) minmax(0,1.2fr); align-items: start; gap: 8px; padding: 8px 2px; border-bottom: 1px solid #e5edf1; font-size: 12px; }
.single-slip-page .sliprow strong { color: #203c4e; }
.single-slip-page .sliprow span { color: #263e4e; text-align: left; }
.single-slip-page .slip-instructions { margin-top: 15px; padding: 12px 14px; border: 1px solid #f4c9cd; border-left: 4px solid #ed1c24; border-radius: 8px; color: #3b4a55; background: #fff1f2; font-size: 11px; }
.single-slip-page .slip-instructions strong { display: block; margin-bottom: 4px; color: #bd1520; font-size: 12px; }
.single-slip-page .slip-actions { display: flex; flex-wrap: wrap; gap: 10px; padding: 0 18px 18px; }
.single-slip-page .slip-actions .btn { display: inline-flex; align-items: center; justify-content: center; padding: 10px 15px; border: 0; border-radius: 7px; color: #fff; background: #173d52; text-decoration: none; cursor: pointer; }
.single-slip-page .slip-actions .btn.green { background: #078443; }
@media (max-width: 620px) {
    .single-slip-page .slip { margin: 10px; }
    .single-slip-page .slip-header { grid-template-columns: 1fr; }
    .single-slip-page .slip-roll-box { justify-self: start; }
    .single-slip-page .slip-logo { width: 160px; }
    .single-slip-page .slip-details { grid-template-columns: 1fr; }
    .single-slip-page .slip-body { padding: 13px; }
}
/* END: Registration slip — screen view */

/* ========================================================================== 
   BEGIN: A4 bulk printing — four student slips per page
   ========================================================================== */
.bulk-print-page { color: #1a3040; background: #e9eef2; }
.bulk-print-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 1200px; margin: 18px auto; padding: 12px 16px; border: 1px solid #d5e0e6; border-radius: 9px; background: #fff; }
.bulk-print-toolbar h1 { margin: 0; font-size: 18px; }
.bulk-print-toolbar p { margin: 3px 0 0; color: #627483; font-size: 12px; }
.bulk-print-toolbar .toolbar-actions { display: flex; gap: 8px; }
.bulk-print-toolbar button, .bulk-print-toolbar a { padding: 9px 13px; border: 0; border-radius: 6px; color: #fff; background: #0b7d43; text-decoration: none; cursor: pointer; font-size: 12px; font-weight: 700; }
.bulk-print-toolbar a { color: #20394a; background: #e8eef2; }
.bulk-print-sheet { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(0,1fr)); gap: 5mm; width: 194mm; min-height: 281mm; margin: 0 auto 18px; padding: 0; page-break-after: always; break-after: page; }
.bulk-print-sheet:last-child { page-break-after: auto; break-after: auto; }
.bulk-slip { display: flex; min-width: 0; height: 138mm; flex-direction: column; overflow: hidden; border: 1px solid #b7c9d3; border-radius: 5px; background: #fff; box-shadow: 0 2px 7px rgba(20,40,59,.08); }
.bulk-slip-head { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 5px; padding: 6px 7px; color: #fff; background: #12364c; }
.bulk-slip-head h2 { margin: 0; color: #fff; font-size: 10px; line-height: 1.2; }
.bulk-slip-head p { margin: 2px 0 0; color: #d9e9f0; font-size: 7px; }
.bulk-slip-logo { width: 65px; padding: 2px; border-radius: 2px; background: #fff; }
.bulk-slip-logo img { display: block; width: 100%; height: auto; }
.bulk-slip-roll { margin: 5px 6px 0; padding: 4px; border: 1px solid #d4e0e6; border-radius: 4px; text-align: center; }
.bulk-slip-roll small { display: block; color: #607181; font-size: 7px; }
.bulk-slip-roll strong { display: block; color: #d71924; font-size: 12px; line-height: 1.2; overflow-wrap: anywhere; }
.bulk-slip-event { padding: 5px 7px 0; }
.bulk-slip-event h3 { margin: 0; color: #18394f; font-size: 11px; line-height: 1.2; }
.bulk-slip-event p { margin: 2px 0 0; color: #607181; font-size: 7px; }
.bulk-slip-details { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 7px; padding: 4px 7px; }
.bulk-slip-row { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 3px; align-content: start; padding: 4px 0; border-bottom: 1px solid #e7edf0; font-size: 7.3px; line-height: 1.25; }
.bulk-slip-row b { color: #203c4e; }
.bulk-slip-row span { overflow-wrap: anywhere; }
.bulk-slip-instructions { margin: auto 6px 6px; padding: 6px; border: 1px solid #f4d1d3; border-left: 3px solid #ed1c24; border-radius: 4px; color: #3d4b54; background: #fff2f3; font-size: 7px; line-height: 1.3; }
.bulk-slip-instructions b { display: block; margin-bottom: 2px; color: #c71923; font-size: 7.5px; }
@media (max-width: 800px) {
    .bulk-print-toolbar { margin: 10px; align-items: flex-start; flex-direction: column; }
    .bulk-print-sheet { width: calc(100% - 20px); min-height: auto; grid-template-columns: 1fr; grid-template-rows: auto; gap: 12px; margin-bottom: 12px; }
    .bulk-slip { height: auto; min-height: 230px; }
}
@media print {
    @page { size: A4 portrait; margin: 8mm; }
    body.bulk-print-page { margin: 0 !important; padding: 0 !important; background: #fff !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .bulk-print-toolbar { display: none !important; }
    .bulk-print-sheet { width: 194mm !important; height: 281mm !important; min-height: 281mm !important; margin: 0 !important; padding: 0 !important; gap: 5mm !important; page-break-after: always !important; break-after: page !important; }
    .bulk-print-sheet:last-child { page-break-after: auto !important; break-after: auto !important; }
    .bulk-slip { height: 138mm !important; min-height: 0 !important; border-radius: 2mm !important; box-shadow: none !important; break-inside: avoid; page-break-inside: avoid; }
    .bulk-print-page * { visibility: visible; }
    body.single-slip-page { margin: 0 !important; padding: 0 !important; background: #fff !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .single-slip-page .slip { max-width: none !important; margin: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
    .single-slip-page .slip-actions { display: none !important; }
}
/* END: A4 bulk printing — four student slips per page */

/* ========================================================================== 
   BEGIN: Final SS2 mockup match — scholarship sidebar and balanced left card
   Keep all event text editable in HTML/PHP; do not replace artwork with a flat image.
   ========================================================================== */
@media (min-width: 1001px) {
    /* Match the approved mockup: do not stretch the left card to the form height. */
    .promotion-card { min-height: 0; display: block; }
    .promotion-image { display: block; width: 100%; height: auto; object-fit: contain; }
    .class-size-ribbon { flex: none; }
    .promotion-caption { margin: 0; padding: 8px 10px 10px; }
}

.scholarship-card { padding: 12px; border-radius: 18px; background: radial-gradient(ellipse at 50% 0%, #ff555b 0, var(--panel-red) 38%, #c90013 100%); box-shadow: 0 7px 0 #a90b13, 0 16px 27px rgba(120,0,8,.22), inset 0 2px 0 rgba(255,255,255,.8); }
.scholarship-card::before { height: 8px; inset: 0 8px auto; border-radius: 15px 15px 0 0; background: linear-gradient(90deg, #fff 0 5%, var(--panel-gold) 5% 95%, #fff 95%); }
.scholarship-card-top { position: relative; padding: 12px 7px 14px; text-align: left; }
.scholarship-kicker { margin-bottom: 8px; color: #fff4ba; font-size: 8px; letter-spacing: 1.2px; }
.scholarship-card-top h2 { display: block; max-width: calc(100% - 4px); margin: 0 0 7px; padding: 8px 11px 9px; border: 1px solid rgba(255,255,255,.65); border-radius: 9px 17px 12px 17px; color: #fff; background: linear-gradient(160deg, #ff555b, #e50919 72%); box-shadow: 0 4px 0 rgba(117,0,0,.35), inset 0 1px 0 rgba(255,255,255,.55); font-size: clamp(21px, 1.65vw, 29px); line-height: 1.04; letter-spacing: -.45px; text-shadow: 0 2px 0 rgba(100,0,0,.25); }
.scholarship-card-top h2 span { color: #ffec37; }
.cap-deco { position: absolute; top: 2px; right: 3px; z-index: 2; display: flex; width: 46px; height: 43px; align-items: center; justify-content: center; transform: rotate(12deg); filter: drop-shadow(0 3px 1px rgba(75,0,0,.3)); font-size: 32px; pointer-events: none; }
.scholarship-audience { display: inline-block; margin: 0 0 4px; padding: 4px 12px; border-radius: 5px 12px 5px 12px; color: #10243b; background: linear-gradient(180deg, #fff, #eaf0f5); box-shadow: 0 3px 0 rgba(100,0,0,.24); font-size: 16px; font-weight: 900; line-height: 1.15; }
.scholarship-boards { display: table; margin: 3px 0 0 12px; padding: 4px 11px; border-radius: 4px 4px 12px 12px; color: #172c26; background: linear-gradient(180deg, #ffe94e, #ffbe00); box-shadow: 0 3px 0 rgba(100,0,0,.22); font-size: 10px; font-weight: 900; line-height: 1.2; }
.syllabus-card { margin: 0 0 12px; padding: 9px; border: 2px solid rgba(255,255,255,.94); border-radius: 13px; background: linear-gradient(180deg, #fff, #edf4f0); box-shadow: 0 5px 0 rgba(111,0,0,.35), 0 8px 13px rgba(90,0,0,.12), inset 0 1px 0 #fff; }
.syllabus-card h3 { position: relative; margin: -1px -1px 9px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.65); border-radius: 7px 7px 2px 2px; color: #fff; background: linear-gradient(180deg, #22ca68, #078743 75%, #056c36); box-shadow: 0 4px 0 #075d32, inset 0 1px 0 rgba(255,255,255,.4); text-align: center; font-size: 12px; font-weight: 900; line-height: 1.2; }
.syllabus-card h3::after { content: ""; position: absolute; right: -8px; top: 0; width: 0; height: 0; border-top: 17px solid transparent; border-bottom: 17px solid transparent; border-left: 9px solid #078743; }
.marks-summary { grid-template-columns: .62fr 1.72fr; gap: 6px; }
.total-marks { border-radius: 9px; background: linear-gradient(150deg, #18b75e, #006c39); box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 4px 0 #07542f; }
.total-marks span { font-size: 12px; }
.total-marks strong { color: #ffec32; font-size: clamp(25px, 2vw, 35px); }
.subject-marks { display: block; border: 1px solid #d4e3d9; border-radius: 7px; background: #fff; }
.subject-row { display: grid !important; grid-template-columns: 26px minmax(0,1fr) 42px; align-items: center; min-height: 32px; border-bottom: 1px solid #e2e7e4; }
.subject-row:last-child { border-bottom: 0; }
.subject-icon { display: flex; width: 22px; height: 22px; align-items: center; justify-content: center; margin-left: 4px; border-radius: 50%; color: #fff; background: #e31b35; font-size: 13px; font-weight: 900; }
.subject-icon-1 { background: #1488e7; }
.subject-icon-2 { background: #159b55; }
.subject-icon-3 { border-radius: 5px; background: #ff8a18; }
.subject-marks .subject-name { display: block; min-width: 0; padding: 6px 5px; border: 0; color: #172d41; background: #fff; font-size: 10px; font-weight: 800; line-height: 1.12; overflow-wrap: anywhere; }
.subject-marks .subject-row strong { display: flex; height: 100%; min-height: 31px; align-items: center; justify-content: center; padding: 4px 3px; border: 0; border-left: 1px solid #d5e6db; color: #fff; background: linear-gradient(180deg, #16b85d, #07803e); font-size: 13px; }
.syllabus-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 8px -1px -1px; padding: 7px 6px; border: 1px solid rgba(255,255,255,.5); border-radius: 8px 8px 14px 14px; background: linear-gradient(180deg, #19bd5e, #05733a); box-shadow: 0 4px 0 #07542f; font-size: 9px; line-height: 1.2; }
.syllabus-note > span:first-child { font-size: 17px; }
.schedule-card { display: grid; gap: 7px; margin: 0 0 14px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.schedule-row { position: relative; grid-template-columns: 42px minmax(0,1fr); gap: 10px; min-height: 55px; padding: 7px 10px; border: 1px solid #e4e8eb; border-right: 6px solid #e31b35; border-radius: 22px 11px 11px 22px; color: #172d41; background: linear-gradient(100deg, #fff, #f5f6f7); box-shadow: 0 4px 0 rgba(100,0,0,.25), inset 0 1px 0 #fff; }
.schedule-row + .schedule-row { border-top: 1px solid #e4e8eb; }
.schedule-row.schedule-time { border-right-color: #138be3; }
.schedule-row.schedule-venue { border-right-color: #079548; }
.schedule-row .schedule-icon { width: 36px; height: 36px; border: 2px solid rgba(255,255,255,.9); color: #fff; background: linear-gradient(145deg, #ff505b, #d60020); box-shadow: 0 2px 0 rgba(90,0,0,.24); font-size: 21px; }
.schedule-row.schedule-time .schedule-icon { background: linear-gradient(145deg, #25a9ff, #0758b8); }
.schedule-row.schedule-venue .schedule-icon { background: linear-gradient(145deg, #20bd69, #006b39); }
.schedule-row small { margin: 0 0 1px; color: #1b3045; font-size: 10px; font-weight: 900; }
.schedule-row strong { color: #ed1c24; font-size: 11px; font-weight: 900; line-height: 1.2; }
.prize-grid { gap: 5px; margin: 0 0 12px; padding-top: 15px; }
.prize-card { position: relative; display: flex; flex-direction: column; align-items: center; min-height: 72px; padding: 22px 3px 7px; border: 2px solid rgba(255,255,255,.9); border-radius: 9px; box-shadow: 0 4px 0 rgba(95,0,0,.32), inset 0 1px 0 rgba(255,255,255,.75); }
.prize-trophy { position: absolute; top: -21px; left: 50%; z-index: 2; transform: translateX(-50%); filter: drop-shadow(0 2px 1px rgba(80,0,0,.35)); font-size: 27px; line-height: 1; }
.prize-ribbon { display: block; width: calc(100% + 8px); margin: 0 0 4px; padding: 4px 1px; border: 1px solid rgba(255,255,255,.65); border-radius: 3px; color: #fff; background: linear-gradient(180deg, #f2262c, #b90012); box-shadow: 0 3px 0 rgba(90,0,0,.2); font-size: 9px; font-weight: 900; line-height: 1.1; }
.prize-second .prize-ribbon { background: linear-gradient(180deg, #168eea, #0752a6); }
.prize-third .prize-ribbon { background: linear-gradient(180deg, #f45c2a, #b82b12); }
.prize-card strong { color: inherit; font-size: clamp(10px, .85vw, 14px); font-weight: 900; white-space: nowrap; }
.prize-note { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; padding: 9px 8px; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; color: #fff; background: linear-gradient(180deg, #a90012, #85000c); font-size: 9px; line-height: 1.25; }
.prize-note span:first-child { flex: 0 0 auto; font-size: 21px; }
@media (max-width: 1250px) {
    .scholarship-card { padding: 10px; }
    .scholarship-card-top h2 { font-size: clamp(19px, 1.9vw, 25px); }
    .scholarship-audience { font-size: 14px; }
    .subject-row { grid-template-columns: 23px minmax(0,1fr) 34px; }
    .subject-marks .subject-name { font-size: 9px; }
    .prize-card strong { font-size: 10px; }
}
@media (max-width: 1000px) {
    .promotion-card { min-height: 0; }
    .promotion-benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; padding: 10px; }
    .promotion-benefits > div { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 8px 4px; }
    .promotion-benefits > div > span { grid-row: auto; margin-bottom: 4px; }
    .promotion-benefits small { font-size: 9px; }
}
@media (max-width: 720px) {
    .promotion-benefits { grid-template-columns: 1fr; gap: 7px; padding: 10px; }
    .promotion-benefits > div { grid-template-columns: 25px minmax(0,1fr); justify-items: start; text-align: left; }
    .promotion-benefits > div > span { grid-row: span 2; margin: 0; }
    .scholarship-card { padding: 11px; }
    .scholarship-card-top h2 { font-size: clamp(22px, 6vw, 30px); }
    .cap-deco { right: 0; font-size: 28px; }
    .scholarship-audience { font-size: 16px; }
    .schedule-row { min-height: 58px; }
    .prize-card strong { font-size: clamp(10px, 3vw, 14px); }
}
/* END: Final SS2 mockup match — scholarship sidebar and balanced left card */


/* ==========================================================================
   BEGIN: Final viewport-fit correction — no artificial sidebar height/scroll
   Keep all form fields visible in normal document flow; sidebars size to content.
   ========================================================================== */
@media (min-width: 1001px) {
    .page-shell { padding-top: 12px; padding-bottom: 16px; }
    .three-column-layout { align-items: start; gap: clamp(12px, 1vw, 18px); }
    .promotion-sidebar, .scholarship-sidebar { align-self: start; height: auto; min-height: 0; }
    .promotion-card { height: auto; min-height: 0; }
    .promotion-benefits { display: none !important; }
    .promotion-caption { margin-top: 0 !important; padding: 8px 10px 10px; }
    .form-heading { margin-bottom: 9px; }
    .registration-form { gap: 10px; }
    .form-section { padding: 13px; }
    .form-section h2 { margin-bottom: 10px; padding-bottom: 8px; }
    .form-grid-two { gap: 8px 12px; }
    input:not([type="radio"]):not([type="checkbox"]), select { padding: 8px 10px; }
    .academic-grid { gap: 10px; }
    .choice-card { min-height: 42px; padding: 6px 7px; }
    .campus-line { margin-top: 9px; padding: 8px 10px; }
    .instructions { margin-top: 9px; padding: 8px 10px; }
    .after-submission { margin-top: 8px; padding: 8px 10px; }
    .confirmation-check { margin: 9px 1px 8px; }
    .submit-button { min-height: 42px; padding: 9px 14px; }
    .scholarship-card { padding: 10px; }
    .scholarship-card-top { padding: 8px 5px 9px; }
    .scholarship-card-top h2 { font-size: clamp(20px, 1.45vw, 26px); padding: 7px 9px; margin-bottom: 5px; }
    .scholarship-audience { font-size: 14px; padding: 3px 9px; }
    .scholarship-boards { margin-top: 2px; padding: 3px 9px; }
    .syllabus-card { margin-bottom: 9px; padding: 7px; }
    .syllabus-card h3 { margin-bottom: 6px; padding: 6px 8px; font-size: 11px; }
    .subject-row { min-height: 27px; grid-template-columns: 23px minmax(0,1fr) 36px; }
    .subject-icon { width: 19px; height: 19px; font-size: 11px; }
    .subject-row .subject-name { font-size: 9px; }
    .subject-row strong { padding: 5px 4px; font-size: 11px; }
    .syllabus-note { margin-top: 6px; padding: 5px 6px; font-size: 8px; }
    .schedule-card { gap: 5px; margin-bottom: 10px; }
    .schedule-row { min-height: 46px; padding: 5px 8px; grid-template-columns: 34px minmax(0,1fr); gap: 8px; }
    .schedule-row .schedule-icon { width: 30px; height: 30px; font-size: 18px; }
    .schedule-row small { font-size: 9px; }
    .schedule-row strong { font-size: 10px; }
    .prize-grid { margin-bottom: 8px; padding-top: 12px; gap: 4px; }
    .prize-card { min-height: 62px; padding: 19px 3px 6px; }
    .prize-trophy { top: -17px; font-size: 23px; }
    .prize-ribbon { padding: 3px 1px; font-size: 8px; }
    .prize-card strong { font-size: clamp(9px, .75vw, 12px); }
    .prize-note { padding: 7px 6px; font-size: 8px; }
}
/* END: Final viewport-fit correction */

/* BEGIN: Compact ACME dashboard UX */
.dashboard-kicker{margin:0 0 7px;color:#52667b;font-size:10px;font-weight:900;letter-spacing:1.4px}
.stats{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:10px 0 14px}
.stat{display:flex;align-items:center;gap:9px;min-width:0;min-height:86px;padding:12px;border:0;border-radius:12px;color:#fff;box-shadow:0 3px 8px rgba(20,42,75,.12);overflow:hidden}
.stat-icon{display:flex;flex:0 0 34px;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35);border-radius:9px;background:rgba(255,255,255,.16);font-size:12px;font-weight:900}
.stat-copy{min-width:0}.stat small{color:rgba(255,255,255,.94);font-size:10px;font-weight:700;line-height:1.25}.stat strong{display:block;margin:3px 0;color:#fff;font-size:24px;line-height:1.05;overflow-wrap:anywhere}.stat em{display:block;color:rgba(255,255,255,.85);font-size:9px;font-style:normal;line-height:1.2}
.stat-total{background:linear-gradient(115deg,#07866c,#20b88a)}.stat-c9{background:linear-gradient(115deg,#2056c8,#4288f4)}.stat-c10{background:linear-gradient(115deg,#4839b6,#7669e9)}.stat-bio{background:linear-gradient(115deg,#b94d0b,#f59e0b)}.stat-comp{background:linear-gradient(115deg,#5b32b8,#8d5ce6)}.stat-fed{background:linear-gradient(115deg,#087b83,#20aeb0)}.stat-rwp{background:linear-gradient(115deg,#147d40,#32b66a)}
.panel{margin-bottom:10px;padding:14px 16px;border-radius:12px;box-shadow:0 4px 15px rgba(24,48,72,.05)}.panel h2{font-size:18px}.rowhead{margin-bottom:8px}.panel-subtitle{display:block;margin-top:3px;color:var(--muted);font-size:11px}.dashboard-link,.table-action{color:#1769c2;font-weight:800;text-decoration:none}.dashboard-link:hover,.table-action:hover{text-decoration:underline}.count-pill{display:inline-flex;min-width:28px;justify-content:center;padding:3px 8px;border-radius:20px;color:#087d42;background:#e5f8ed;font-weight:800}.recent-panel table{min-width:850px}.recent-panel th,.recent-panel td,.daily-panel th,.daily-panel td{padding:8px 9px;font-size:11px}.recent-panel td strong{color:#174d87}.daily-panel table{min-width:460px}
@media(max-width:1200px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{min-height:76px;padding:9px}.stat strong{font-size:21px}.stat-icon{flex-basis:30px;width:30px;height:30px}.panel{padding:12px 10px}.panel h2{font-size:16px}.recent-panel .tablewrap{overflow-x:auto}.recent-panel table{min-width:850px}.daily-panel table{min-width:460px}.adminbar{align-items:flex-start;flex-direction:column;gap:10px}.adminbar nav{gap:10px}}
/* END: Compact ACME dashboard UX */

/* Approved original scholarship poster artwork: keep the full image visible and responsive. */
.scholarship-card-artwork{padding:0!important;overflow:hidden;background:transparent!important;box-shadow:none!important;border:0!important}
.scholarship-poster-artwork{display:block;width:100%;height:auto;max-width:100%;border-radius:12px;object-fit:contain}

/* BEGIN: Approved matching dashboard sub-cards */
.stats-extra{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}
.stat-c9bio{background:linear-gradient(115deg,#2056c8,#4288f4)}.stat-c9comp{background:linear-gradient(115deg,#5b32b8,#8d5ce6)}.stat-c10bio{background:linear-gradient(115deg,#b94d0b,#f59e0b)}.stat-c10comp{background:linear-gradient(115deg,#147d40,#32b66a)}
@media(max-width:1200px){.stats-extra{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.stats-extra{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* END: Approved matching dashboard sub-cards */

/* ACME UX: compact, readable Students actions and WhatsApp controls */
.admin-students table td:last-child { min-width: 145px; line-height: 1.55; }
.admin-students table td:last-child a { display: inline-block; margin: 1px 2px 2px 0; padding: 3px 6px; border-radius: 5px; background: #f2f8f5; color: #075b3b; text-decoration: none; font-weight: 600; }
.admin-students table td:last-child a:hover { background: #e0f2e8; text-decoration: underline; }
.admin-students table td:nth-last-child(2) a { display:inline-block; margin: 2px 2px 2px 0; padding: 3px 6px; border-radius: 5px; background:#f4f7f8; }
@media(max-width:800px){ .admin-students .table-wrap, .admin-students .table-responsive { overflow-x:auto; } .admin-students table { min-width:1050px; } }
