/* New-institution form only; shared header, footer and theme remain authoritative. */
.vius-page [hidden]{display:none!important}
.vius-page fieldset{border:0;padding:0;margin:0;min-width:0}
.vius-page .vius-form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;width:100%}
.vius-page .vius-wide{grid-column:1/-1}
.vius-page label{display:block;font:inherit}
.vius-page input,.vius-page select,.vius-page textarea{box-sizing:border-box;display:block;width:100%;min-width:0;min-height:44px;margin-top:.35rem;padding:.65rem .8rem;border:1px solid var(--v-line-strong);border-radius:var(--v-radius-md);background:var(--v-surface-input);color:var(--v-text);font:inherit}
.vius-page textarea{resize:vertical}
.vius-page .vius-note{margin:.4rem 0 0;color:var(--v-muted);font-size:.9rem;line-height:1.5}
.vius-page details{margin-block:1rem;border:1px solid var(--v-line);border-radius:var(--v-radius-md)}
.vius-page summary{min-height:44px;align-content:center;padding:.4rem .8rem;cursor:pointer;font-weight:650}
.vius-page details>.vius-form-grid{box-sizing:border-box;padding:.8rem}
.vius-page .button{min-height:44px;white-space:normal}
.vius-page .vius-city-results{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.35rem}
.vius-page .vius-city-results button{width:100%;min-height:44px;padding:.5rem .8rem;text-align:start;border:1px solid var(--v-line);border-radius:var(--v-radius-md);background:var(--v-surface);color:var(--v-text);font:inherit;cursor:pointer}
.vius-page :focus-visible{outline:3px solid var(--v-info-text);outline-offset:3px}
.vius-page #vius-feedback{white-space:pre-line;overflow-wrap:anywhere}
.vius-page .vius-hero-visual{margin:0;max-inline-size:22rem}
.vius-page .vius-hero-visual img{display:block;inline-size:100%;block-size:auto;object-fit:contain}
.vius-page .vius-form-section {
  margin-block: 1.5rem;
  padding-block-start: 1rem;
  border-block-start: 1px solid var(--v-line);
}
.vius-page .vius-form-section h3 { margin: 0; }
.vius-page .vius-form-section .vius-form-grid { margin-block-start: .8rem; }
.vius-page .vp-app .vius-map {
  height: clamp(15rem, 44vh, 24rem);
  margin-block-start: .8rem;
  overflow: hidden;
  border: 1px solid var(--v-line);
  border-radius: var(--v-radius-md);
}
.vius-page .vius-map[inert] { pointer-events: none; }
.vius-page #vius-clear-point { margin-block-start: .8rem; }
.vius-page input[type="file"] { padding: .35rem; }
.vius-page input::file-selector-button {
  min-height: 2rem;
  margin-inline-end: .6rem;
  padding-inline: .7rem;
  border: 1px solid var(--v-line-strong);
  border-radius: var(--v-radius-md);
  background: var(--v-surface);
  color: var(--v-text);
  font: inherit;
}
.vius-page .vius-photo-preview {
  display: grid;
  justify-items: start;
  gap: .7rem;
  margin: .8rem 0 0;
}
.vius-page .vius-photo-preview img {
  max-inline-size: min(100%, 24rem);
  max-block-size: 16rem;
  object-fit: contain;
  border-radius: var(--v-radius-md);
}
@media (pointer: coarse) {
  .vius-page .vius-map .leaflet-control-zoom a { width: 44px; height: 44px; line-height: 44px; }
}
@media(min-width:48rem){.vius-page .vius-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(width > 62rem){.vius-page .vius-hero-visual{align-self:stretch;contain:size;display:grid;grid-template-rows:minmax(0,1fr);max-inline-size:none}.vius-page .vius-hero-visual img{block-size:100%;min-block-size:0}}
