/* Admission flow polish: Fresh/Lateral segmented choice, locked step-3 facts, gender buttons (as in the flow demo) */
.seg { display:flex; gap:8px; margin:6px 0 4px; flex-wrap:wrap; }
.seg .opt { flex:1 1 180px; min-height:44px; padding:0 14px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--fg); font:700 14px var(--body); text-transform:none; letter-spacing:0; display:flex; align-items:center; justify-content:center; text-align:center; cursor:pointer; transition:.2s; }
.seg .opt:hover { border-color:var(--p1); }
.seg .opt.sel { background:var(--grad); color:#fff; border-color:transparent; box-shadow:0 6px 16px rgba(163,48,46,.28); }
.seg.frozen .opt { background:var(--surface2); color:var(--muted); cursor:not-allowed; }
.seg.frozen .opt:hover { border-color:var(--line); }
.seg.frozen .opt.sel { background:var(--surface2); color:var(--muted); border:1px dashed var(--muted); box-shadow:none; }
.seg.frozen .opt.sel::after { content:" \1F512"; margin-left:6px; }
select.segged { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0; }

.lockcard { border:1px solid var(--line); background:var(--surface2); border-radius:14px; padding:12px 14px; margin:8px 0 12px; }
.regpaid { display:inline-block; font:700 12px var(--body); border-radius:999px; padding:3px 12px; background:rgba(15,163,107,.10); color:var(--good); border:1px solid rgba(15,163,107,.35); margin-bottom:10px; text-transform:none; letter-spacing:0; }
.lockgrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 16px; }
.lockgrid .lk { display:block; font:700 11px var(--body); text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.lockgrid .lkv { display:block; margin-top:4px; min-height:40px; padding:9px 12px; border:1px solid var(--line); border-radius:10px; background:#f1ece9; color:var(--muted); font:600 14px var(--body); }
.lockgrid .lkv::after { content:" \1F512"; font-size:11px; }
@media (max-width:720px) { .lockgrid { grid-template-columns:1fr; } }

/* gender radios as buttons */
.container1 { display:inline-flex; align-items:center; justify-content:center; min-width:110px; height:44px; padding:0 18px; margin:6px 8px 4px 0; border:1px solid var(--line); border-radius:12px; background:#fff; font:700 14px var(--body); color:var(--fg); cursor:pointer; position:relative; left:0; top:0; transition:.2s; }
.container1 .checkmark { display:none; }
.container1 input { position:absolute; opacity:0; width:100%; height:100%; left:0; top:0; margin:0; cursor:pointer; }
.container1:has(input:checked) { background:var(--grad); color:#fff; border-color:transparent; box-shadow:0 6px 16px rgba(163,48,46,.28); }

/* tabs: Apply / How to apply */
.tabs { display:flex; gap:8px; margin:0 0 12px; flex-wrap:wrap; }
.tabs button { font:700 14px var(--body); padding:10px 18px; border-radius:12px; border:1px solid var(--line); background:#fff; color:var(--fg); cursor:pointer; transition:.2s; }
.tabs button:hover { border-color:var(--p1); }
.tabs button.on { background:var(--grad); color:#fff; border-color:transparent; box-shadow:0 6px 16px rgba(163,48,46,.28); }
.tabs button .pl { display:inline-block; margin-right:6px; font-size:12px; }
#guidePane { display:none; }
#guidePane iframe { width:100%; height:880px; border:1px solid var(--line); border-radius:16px; background:#fff; display:block; }
#guidePane .gnote { color:var(--muted); font-size:12.5px; margin:8px 2px 0; }
@media (max-width:760px) { #guidePane iframe { height:1020px; } }

.tabs button { appearance:none; -webkit-appearance:none; background:#fff !important; border:1px solid var(--line) !important; color:var(--fg) !important; line-height:1.2; }
.tabs button.on { background:var(--grad) !important; color:#fff !important; border-color:transparent !important; }
.testbox .tabs { margin-bottom:14px; }

/* mobile: tabs side by side, guide frame grows with its content */
#guidePane iframe { overflow:hidden; }
@media (max-width:760px) {
  .tabs { flex-wrap:nowrap; gap:6px; }
  .tabs button { flex:1 1 0; padding:10px 6px; font-size:13px; }
  #guidePane iframe { height:900px; border-radius:12px; }
}

@media (max-width:760px) { #guidePane iframe { height:calc(100vh - 96px); height:calc(100svh - 96px); min-height:460px; } #guidePane .gnote { display:none; } }

/* validation messages */
.ReqFeild { display:none !important; }
.ferr { display:block; margin:6px 0 4px; padding:7px 10px; border-radius:10px; background:#fff1f2; border:1px solid #f5c2cd; color:#a61d3a; font:600 12.5px/1.4 var(--body); text-transform:none; letter-spacing:0; }
.ferr::before { content:"!"; display:inline-grid; place-items:center; width:15px; height:15px; margin-right:7px; border-radius:50%; background:#c62d3f; color:#fff; font:800 10px var(--head); vertical-align:1px; }
input.bad, select.bad { border-color:#c62d3f !important; background-color:#fff7f8 !important; }
input.bad:focus, select.bad:focus { box-shadow:0 0 0 4px rgba(198,45,63,.16) !important; }
