/* ERP admission form: MySchool look (forms-modern.css) + session chip and Refresh aligned inside the header banner */
.banner { display:flex; align-items:center; justify-content:space-between; gap:12px 18px; flex-wrap:wrap; }
.banner h1 { flex:1 1 320px; min-width:0; }
.hdr-right { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.hdr-right .logo { display:inline-flex; }
.hdr-right .blinklabel { margin:0; padding:7px 14px; border-radius:999px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.4); color:#fff; font:600 13.5px/1.3 var(--body); white-space:nowrap; }
.hdr-right .blinklabel:empty { display:none; }
.hdr-right .Submitbutton, .hdr-right a.Submitbutton { margin:0; height:36px; min-width:0; padding:0 18px; font-size:14px; background:#fff; color:#3a3380 !important; border:1px solid #fff; box-shadow:none; }
.hdr-right .Submitbutton:hover { background:#fff; filter:brightness(.96); color:#3a3380; font-size:14px; }
@media (max-width:720px) { .hdr-right { width:100%; justify-content:space-between; } }

/* admission type hint (Fresh / Lateral) */
.admhint { display:block; font:600 12px var(--body); text-transform:none; letter-spacing:0; color:#b4540a; margin:0 0 6px; }
.admhint:empty { display:none; }

/* ERP markup has bare label text inside .outer (MySchool wraps it in .inner): stack label over field, two columns per panel */
.outer { font:600 13px/1.5 var(--body); color:var(--fg); }
.outer:not(:has(> .inner)) { display:flex; flex-direction:column; gap:0; margin:0 0 10px; }
.outer input, .outer select { margin-top:6px; }
#PanelEnquiry, #PanelProspectus, #PanelAdmission > .item:nth-of-type(1), #PanelAdmission > .item:nth-of-type(1) > .item:first-child { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
#PanelAdmission > .item:nth-of-type(1) > .item:first-child { grid-column:1 / -1; }
#PanelEnquiry > p, #PanelEnquiry > .item, #PanelProspectus > .item, #PanelProspectus > hr, #PanelProspectus > p { grid-column:1 / -1; }
#PanelProspectus .name-item { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; font-size:15px; line-height:normal; }
#PanelProspectus .name-item > input { margin:4px 0; }
@media (max-width:720px) { #PanelEnquiry, #PanelProspectus, #PanelAdmission > .item:nth-of-type(1), #PanelAdmission > .item:nth-of-type(1) > .item:first-child, #PanelProspectus .name-item { grid-template-columns:1fr; } }

/* BM Group of Institutions logo colours: maroon #a3302e / orange #f28c28 / charcoal #2b2b2b */
:root { --p1:#a3302e; --p2:#f28c28; --grad:linear-gradient(135deg,#8c2322 0%,#b5403a 55%,#e07a2b 100%); --bg:#f6f3f1; --fg:#2b2b2b; --muted:#6b6560; --line:#e6dfda; --surface2:#faf7f5; }
.banner .brand { display:flex; align-items:center; gap:14px; flex:1 1 320px; min-width:0; }
.banner .brand img { height:60px; width:auto; background:#fff; border-radius:12px; padding:4px 8px; display:block; }
.banner .brand h1 { flex:1 1 auto; min-width:0; }
input:focus, select:focus, textarea:focus, .item input:focus, .item select:focus { border-color:#a3302e; box-shadow:0 0 0 4px rgba(163,48,46,.16); }
.Submitbutton, input.Submitbutton, a.Submitbutton { box-shadow:0 6px 16px rgba(163,48,46,.30); }
.hdr-right .Submitbutton, .hdr-right a.Submitbutton { color:#8c2322 !important; box-shadow:none; }
.hdr-right .Submitbutton:hover { color:#8c2322; }
input[type=checkbox], input[type=radio] { accent-color:#a3302e; }
a { color:#a3302e; }
#PanelEnquiry > p, .item > p:first-child { color:#8c2322; }
.mGrid th, .style1 th { color:#6b6560 !important; }
#Panel_RegFee { border-color:#f0b878 !important; background:#fff8f0; }
.MyCalendar .ajax__calendar_active .ajax__calendar_day, .MyCalendar .ajax__calendar_active .ajax__calendar_month, .MyCalendar .ajax__calendar_active .ajax__calendar_year { background:#a3302e; }
.MyCalendar .ajax__calendar_hover .ajax__calendar_day, .MyCalendar .ajax__calendar_hover .ajax__calendar_month, .MyCalendar .ajax__calendar_hover .ajax__calendar_year { color:#a3302e; }
.loading::before { border-color:#f3d6c4; border-top-color:#a3302e; }

/* Refresh first, then Session; slightly larger title */
.hdr-right a.Submitbutton { order:1; }
.hdr-right .logo { order:2; }
.banner h1 { font-size:29px; }
@media (max-width:720px) { .banner h1 { font-size:22px; } }

/* header per reference: title + subtitle left, Session above Refresh on the right */
.banner { align-items:center; padding:20px 24px; }
.banner .ttl { flex:1 1 280px; min-width:0; display:flex; flex-direction:column; gap:2px; }
.banner .ttl h1 { flex:none; font-size:29px; line-height:1.15; }
.banner .subttl { font:500 15px/1.3 var(--body); color:rgba(255,255,255,.92); }
.hdr-right { flex-direction:column; align-items:flex-end; gap:8px; flex-wrap:nowrap; }
.hdr-right .logo { order:1; }
.hdr-right a.Submitbutton { order:2; }
@media (max-width:720px) { .hdr-right { width:auto; justify-content:flex-start; } .banner .ttl h1 { font-size:22px; } .banner { flex-wrap:nowrap; } }

/* section heading with accent bar */
.sec-h { grid-column:1 / -1; margin:2px 0 12px; }
.sec-h h2 { margin:0; padding-left:12px; border-left:4px solid var(--p2); font:800 21px/1.2 var(--head); color:var(--fg); }
.sec-h small { display:block; margin-top:4px; font:500 13px var(--body); color:var(--muted); }
.req { color:#d93a3a; font-weight:700; }
.hint { order:5; display:block; margin:2px 0 0; font:500 12px/1.4 var(--body); color:var(--muted); text-transform:none; letter-spacing:0; }

.lbl { display:block; }
.outer .ReqFeild { order:9; }

/* header: Session and Refresh side by side, glass style */
.hdr-right { flex-direction:row; align-items:center; gap:10px; }
.hdr-right a.Submitbutton { order:2; background:rgba(255,255,255,.18); color:#fff !important; border:1px solid rgba(255,255,255,.4); }
.hdr-right a.Submitbutton:hover { background:rgba(255,255,255,.3); color:#fff !important; }
@media (max-width:720px) { .banner { flex-wrap:wrap; } .hdr-right { width:100%; justify-content:flex-start; } }

/* 3-step tracker */
.steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 16px; }
.steps:empty { display:none; }
.stp { display:flex; align-items:center; gap:9px; padding:10px 12px; background:#fff; border:1px solid var(--line); border-radius:12px; font:600 13px/1.3 var(--body); color:var(--muted); min-width:0; }
.stp i { flex:none; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#eee8e4; color:var(--muted); font:700 12px var(--body); font-style:normal; }
.stp.on { background:#fbeee9; border-color:#e8b9ad; color:var(--fg); }
.stp.on i { background:var(--p1); color:#fff; }
.stp.done { color:var(--fg); }
.stp.done i { background:var(--good); color:#fff; }
@media (max-width:720px) { .steps { grid-template-columns:1fr; gap:6px; } .stp { padding:8px 10px; } }

/* mobile: hide the 3-step tracker, tighten spacing */
@media (max-width:720px) {
  .steps { display:none !important; }
  .testbox { padding:10px 10px 28px; }
  .banner { padding:16px 16px; gap:10px; }
  .banner .ttl h1 { font-size:21px; }
  .banner .subttl { font-size:14px; }
  .hdr-right { gap:8px; }
  .sec-h h2 { font-size:19px; }
  #Panel_RegFee td:last-child { grid-template-columns:1fr; }
}
@media (max-width:380px) { .banner .ttl h1 { font-size:19px; } .hdr-right a.Submitbutton, .hdr-right .blinklabel { font-size:12.5px; padding-left:12px; padding-right:12px; } }
