/* Platform-level views: search, help, platform console, settings and institution additions. Reuses tokens from styles.css. */
.search-form { display: flex; gap: 0.5rem; margin-bottom: 1.25rem; }
.search-form input { flex: 1; min-width: 0; }
.search-group h2 { font-size: 1rem; }
.search-hit { display: grid; gap: 0.15rem; min-width: 0; color: var(--text); text-decoration: none; flex: 1; }
.search-hit:hover strong { color: var(--accent-strong); }
.search-hit .muted { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
mark { background: var(--accent-soft); color: inherit; border-radius: 3px; padding: 0 0.1em; }

.help-topic { border-top: 1px solid var(--border); padding: 0.7rem 0; }
.help-topic:first-of-type { border-top: 0; }
.help-topic summary { cursor: pointer; font-weight: 600; }
.help-topic summary:focus-visible { outline: 2px solid var(--accent-strong); outline-offset: 3px; border-radius: 4px; }
.help-topic p { margin: 0.5rem 0 0; color: var(--muted); }
.plain-list { margin: 0.5rem 0 0; padding-left: 1.1rem; display: grid; gap: 0.5rem; }

.pre-wrap { white-space: pre-wrap; overflow-wrap: anywhere; }
.feedback-list li { align-items: flex-start; }
.block { display: block; }
.space-lg { gap: 1rem; flex-wrap: nowrap; align-items: center; }
.stack-sm { display: grid; gap: 0.4rem; justify-items: start; }
.field.narrow { max-width: 14rem; }

.fieldset { border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 0.8rem 1rem 1rem; margin: 0 0 1.25rem; }
.fieldset legend { padding: 0 0.4rem; font-weight: 600; font-size: 0.86rem; }
.check-grid { display: grid; gap: 0.5rem 1.25rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.check-grid label { font-weight: 400; cursor: pointer; }

@media (max-width: 560px) {
  .search-form { flex-direction: column; }
  .fieldset { padding: 0.7rem; }
}
/* Desktop layout alignment fix */
@media (min-width: 1024px) {
  .app-shell {
    width: 100%;
    min-height: 100vh;
  }

  .main-content {
    flex: 1;
    min-width: 0;
    width: auto;
    max-width: none;
    margin-inline: auto;
  }

  .dashboard-grid {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}