/* NPMC MMed Registration: page styles (loads after styles.css + tot.css) */
/* Long hospital names in <select> must not force the grid wider than the viewport */
.panel__grid>*{min-width:0}
.field,.field-row>.field{min-width:0}
.field select{width:100%;max-width:100%}

.form__section{display:flex;align-items:baseline;gap:14px;font:600 1.5rem/1.1 var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--ink);margin:56px 0 22px;padding-top:22px;border-top:2px solid var(--forest)}
.form__section:first-of-type{margin-top:8px}
.form__step{font-size:1rem;color:var(--raspberry);letter-spacing:.06em}

/* Pathway / qualification choices */
.pathway{border:0;padding:0;margin:0 0 18px}
.pathway legend{font:500 .875rem var(--font-ui);color:var(--ink);margin-bottom:8px;padding:0}
.choice-row{display:flex;gap:12px}
.choice{flex:1;display:flex;cursor:pointer}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice__body{flex:1;display:flex;flex-direction:column;gap:4px;border:1.5px solid var(--field-border);border-radius:var(--radius);padding:14px 16px;transition:border-color .2s,background .2s,color .2s}
.choice__body strong{font:700 1rem var(--font-ui);color:var(--ink);transition:color .2s}
.choice__body span{font-size:.84rem;color:var(--ink-mute);line-height:1.45;transition:color .2s}
.choice:hover .choice__body{border-color:var(--forest)}
.choice input:checked + .choice__body{background:var(--forest);border-color:var(--forest)}
.choice input:checked + .choice__body strong{color:var(--acid-mint)}
.choice input:checked + .choice__body span{color:var(--on-dark-soft)}
.choice input:focus-visible + .choice__body{outline:3px solid var(--quantum-blue);outline-offset:3px}

/* Upload control */
.upload{position:relative;display:flex;align-items:center;gap:10px;border:1.5px solid var(--field-border);border-radius:12px;padding:11px 14px;min-height:50px;color:var(--ink-mute);font:500 .9rem var(--font-ui);cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.upload:hover{border-color:var(--forest);color:var(--ink)}
.upload.has-file{border-color:var(--quantum-blue);background:var(--pale-sky);color:var(--ink)}
.upload.is-invalid{border-color:var(--raspberry)}
.upload input{position:absolute;width:1px;height:1px;opacity:0}
.upload svg{flex-shrink:0;color:var(--raspberry)}
.upload span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Result below the minimum */
.band-warn{color:var(--raspberry);background:var(--pale-sky);box-shadow:inset 0 0 0 1.5px var(--raspberry);padding:12px 16px;border-radius:12px;font:500 .9375rem var(--font-ui);margin-bottom:18px}
.band-warn[hidden]{display:none}

/* Status view detail rows */
.ticklist--tight{display:grid;gap:10px;font-size:.9375rem;margin:0}
.kv{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:.9375rem}
.kv:last-child{border-bottom:0}
.kv span{color:var(--ink-mute)}
.kv strong{font:500 .9375rem var(--font-ui);color:var(--ink);text-align:right}

/* HLP check before the form */
.gate{margin-bottom:40px}
.gate__result{margin-top:24px;padding:20px 22px;border-radius:var(--radius);background:var(--pale-sky);color:var(--ink)}
.gate__result[hidden]{display:none}
.gate__result--hit{background:var(--aqua-foam);color:var(--cyber-teal)}
.gate__result strong{display:block;font:700 1.0625rem var(--font-ui);margin-bottom:6px}
.gate__result p{margin:0 0 16px;font-size:.9375rem;max-width:60ch}
.gate__actions{display:flex;gap:12px;flex-wrap:wrap}
#appForm[hidden]{display:none}

/* Registration closed banner */
.closed-note{background:var(--raspberry);color:var(--pale-sky);padding:16px 20px;border-radius:var(--radius);margin-bottom:32px}
.closed-note[hidden]{display:none}

/* Offer on the status page */
.offer{border-radius:var(--radius-lg);padding:40px;margin-bottom:48px;color:var(--ice-glass);background:var(--forest);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px 48px;align-items:end}
.offer[hidden]{display:none}
.offer__main{display:flex;flex-direction:column;gap:14px}
.offer__main strong{font:600 clamp(2rem,4.4vw,3.4rem)/.98 var(--font-display);text-transform:uppercase;color:var(--acid-mint)}
.offer__main>span{color:var(--on-dark-soft);font-size:.9375rem}
.offer__places{display:grid}
.offer__place{display:flex;flex-direction:column;gap:2px;padding:14px 0;border-top:1px solid var(--on-dark-rule)}
.offer__place span{font:500 .75rem var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--aqua-foam)}
.offer__place strong{font:700 1.0625rem var(--font-ui)}
.offer__place--pending strong{color:var(--on-dark-soft)}
.offer__place a{align-self:flex-start;margin-top:4px;font:500 .875rem var(--font-ui);color:var(--acid-mint);text-underline-offset:3px}
.offer__place a:hover{color:var(--aqua-foam)}
.offer__note{grid-column:1/-1;font-size:.9375rem;color:var(--forest);background:var(--acid-mint);border-radius:12px;padding:12px 16px}

@media (max-width:900px){
  .choice-row{flex-direction:column}
  .offer{grid-template-columns:1fr;padding:28px}
}

/* Database sign-in (js/cloud.js) */
#cloudSignIn[hidden],#hlpGate[hidden],#loginBox[hidden],.field[hidden]{display:none}
