/* components/forms.css */
.form-card { max-width: 520px; margin: 1rem auto; }
.form-card.wide { max-width: 900px; }

.field { margin-bottom: .75rem; }
.field { min-width: 0; }
label { font-weight: 600; font-size: .9rem; display:block; margin-bottom:.25rem; }

.control {
  width: 100%;
  max-width: 100%;
  padding: .45rem .65rem;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: .75rem;
  background: var(--card, #fff);
  outline: none;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.control:focus{
  border-color:#93c5fd;
  box-shadow: 0 0 0 4px rgba(59,130,246,0.15);
}

select.control { width: 100%; }

textarea.control { resize: vertical; }

.form-actions { margin-top: 1rem; display:flex; gap:.5rem; flex-wrap:wrap; }

/* сетка для форм вместо инлайна */
.form-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

@media (max-width: 900px){
  .form-grid{ grid-template-columns: 1fr; }
}

/* page header helpers (можно переиспользовать на других формах) */
.page-head {
  display:flex;
  justify-content: space-between;
  align-items:flex-start;
  gap:.75rem;
  flex-wrap: wrap;
  margin-bottom: .75rem;
}
.page-title { margin: 0; }

.field-span { grid-column: 1 / -1; }

.help-text { font-size: .85em; margin-top: .35rem; }

.note-box {
  background: var(--panel, #f3f4f6);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: .75rem;
  padding: .6rem .75rem;
  margin: .75rem 0;
}

/* чекбокс-строка */
.checkline{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-weight:500;
}

.field{ display:flex; flex-direction:column; gap:.25rem; }
.field-wide{ grid-column: 1 / -1; }

.hint{ font-size:.9em; }

.sep{ border:0; border-top:1px solid var(--border); margin: .9rem 0; }

.check-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:.4rem .75rem;
}
@media (max-width: 900px){
  .form-grid{ grid-template-columns: 1fr; }
  .check-grid{ grid-template-columns: 1fr; }
}

/* teacher suggest dropdown */
.inline-row{ display:flex; gap:.5rem; align-items:center; }
.suggest{
  margin-top:.35rem;
  border:1px solid var(--border);
  background: var(--card);
  border-radius:.75rem;
  overflow:hidden;
  box-shadow: var(--shadow-soft);
}
.suggest-item{
  display:block;
  width:100%;
  text-align:left;
  padding:.45rem .6rem;
  border:0;
  background:transparent;
  cursor:pointer;
}
.suggest-item:hover{ background: var(--panel); }