/* css/accounts.css */

.accounts-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* =====================
   共通カード
   ===================== */
.accounts-card {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-sm);
  padding: 20px 24px;
}

.accounts-card-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 16px;
}

/* =====================
   学校選択
   ===================== */
.school-select-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.school-select-row .form-select {
  flex: 1;
}

.btn-switch {
  padding: 9px 18px;
  background: var(--color-primary);
  color: var(--color-white);
  border: none;
  border-radius: var(--radius-sm);
  font-size: 1rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--transition);
}
.btn-switch:hover { background: var(--color-primary-dk); }

/* =====================
   フォーム共通
   ===================== */
.form-label {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 6px;
}

.form-select,
.form-input {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-size: 1rem;
  color: var(--color-text);
  background: var(--color-white);
  font-family: inherit;
  transition: border-color var(--transition), box-shadow var(--transition);
}
.form-select {
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748B' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  cursor: pointer;
}
.form-select:focus,
.form-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(79,107,237,.12);
}

/* =====================
   アカウント情報フォーム
   ===================== */
.account-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.form-group {
  display: flex;
  flex-direction: column;
}

/* =====================
   座標セクション
   ===================== */
.map-section-label {
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 4px;
}

.map-section-note {
  font-size: .85rem;
  color: var(--color-primary);
  margin-bottom: 10px;
}

.map-container {
  width: 100%;
  height: 300px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  overflow: hidden;
  background: #e8e0d8;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-muted);
  font-size: .9rem;
}

/* =====================
   保存ボタン（枠外・右寄せ）
   ===================== */
.accounts-save-bar {
  display: flex;
  justify-content: flex-end;
}

.btn-save {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 28px;
  background: var(--color-primary);
  color: var(--color-white);
  border: none;
  border-radius: var(--radius-md);
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: .04em;
  box-shadow: var(--shadow-sm);
  transition: background var(--transition), box-shadow var(--transition), transform var(--transition);
}
.btn-save:hover {
  background: var(--color-primary-dk);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}
.btn-save:active { transform: translateY(0); }
.btn-save:disabled { opacity: .7; cursor: default; transform: none; }

/* =====================
   レスポンシブ
   ===================== */
@media (max-width: 768px) {
  .form-row { grid-template-columns: 1fr; }
  .accounts-card { padding: 16px; }
}
