/* ================================
   pages/app.css
   home以外（teagleye / forum / companion / consult / account）共通

   POLICY:
   - NO layout control for page frame / widths handled by core.css
   - NO typography control (font-size / weight / line-height / color)
   - Keep only app-page scoped visual helpers that do not duplicate core.css
================================ */

/* フォーム全体の見た目上の上限だけを共通化 */
.page-app .l-content form{
  max-width:860px;
}

/* label の“上方向の余白”だけ付与
   ※ core.css の label 基本定義は維持 */
.page-app .l-content label{
  margin-top:14px;
}

/* app系フォームの入力欄は読みやすさ優先でやや狭める
   ※ border / color / typography は core.css に委譲 */
.page-app .l-content input[type="text"],
.page-app .l-content input[type="email"],
.page-app .l-content input[type="password"],
.page-app .l-content input[type="tel"],
.page-app .l-content textarea,
.page-app .l-content select{
  width:min(720px, 100%);
}

/* ボタン列だけ左右に振る共通補助
   ※ .actions 自体の基本構造は core.css */
.page-app .l-content :is(.actions, .form-actions, .btn-row){
  justify-content:space-between;
}

@media (max-width:980px){
  .page-app .l-content input[type="text"],
  .page-app .l-content input[type="email"],
  .page-app .l-content input[type="password"],
  .page-app .l-content input[type="tel"],
  .page-app .l-content textarea,
  .page-app .l-content select{
    width:100%;
  }
}