/* ========== AAM 共通レイアウト ========== */
.agpb-heading{ margin-bottom:4px; }
.agpb-sub{ font-weight:normal; color:#666; }
.agpb-breadcrumb{ margin:4px 0 10px; font-size:13px; color:#555; }
.agpb-breadcrumb a{ color:#2271b1; text-decoration:none; }
.agpb-perpage-tabs{ margin:8px 0 12px; }

.agpb-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:16px; align-items:start; }
@media (max-width: 960px){ .agpb-grid{ grid-template-columns:1fr; } }

.agpb-card{ background:#fff; border:1px solid #e5e5e5; border-radius:8px; padding:16px; }
.agpb-card.-full{ grid-column:1 / -1; }

.agpb-row{ display:flex; gap:12px; align-items:center; margin:8px 0; }
.agpb-row > label{ min-width:120px; display:inline-block; color:#333; }
.agpb-row.-inline > *{ margin-right:8px; }

.agpb-flex{ display:flex; gap:16px; align-items:flex-start; }
.agpb-avatar{ width:96px; height:96px; border-radius:50%; object-fit:cover; border:1px solid #ccd0d4; }

/* テーブルの見やすさ強化（WordPress widefat を補助） */
table.widefat.fixed td, table.widefat.fixed th { word-break: break-word; }
table.widefat.striped thead th { background:#f7f7f7; }
table.widefat.striped tbody td { vertical-align:middle; }

/* ページャ/ツールバー（必要に応じて） */
.agpb-toolbar{ display:flex; gap:8px; margin:12px 0; }
.agpb-perpage{ display:flex; align-items:center; gap:6px; margin-left:auto; }

.agpb-btn{ display:inline-block; padding:6px 10px; border:1px solid #ccc; border-radius:6px; background:#fff; cursor:pointer; }
.agpb-btn.primary{ border-color:#2271b1; color:#fff; background:#2271b1; }

/* 上段2カードをPCで2列（各50%）、高さ揃え */
.agpb-grid.two { display:grid; grid-template-columns: 1fr 1fr; gap:16px; align-items:stretch; }
.agpb-card { height:100%; }
@media (max-width: 960px){ .agpb-grid.two { grid-template-columns:1fr; } }

/* form-tableの見栄え微調整 */
.agpb-form-table{ width:100%; }
.agpb-form-table th{ vertical-align:top; }
.agpb-form-table .agpb-table-heading{
  background:#f7f7f7; font-weight:600; padding:8px 12px; border-radius:6px; text-align:left;
}
.agpb-td-left input[type="file"]{ max-width:100%; }

/* ==== AAM 2列テーブル（30% / 70%） ==== */
.agpb-two-col { width:100%; table-layout:fixed; border-collapse:collapse; }
.agpb-two-col col.left  { width:30%; }
.agpb-two-col col.right { width:70%; }
.agpb-two-col th, .agpb-two-col td { padding:8px 12px; vertical-align:top; }
.agpb-two-col .agpb-table-heading{
  background:#f7f7f7; font-weight:600; padding:8px 12px; border-radius:6px; text-align:left;
}
@media (max-width: 960px){
  /* 画面が狭い時は比率を少し寄せる（任意） */
  .agpb-two-col col.left  { width:38%; }
  .agpb-two-col col.right { width:62%; }
}

/* 上段2カード（左右50%） */
.agpb-grid.two { display:grid; grid-template-columns: 1fr 1fr; gap:16px; align-items:stretch; }
.agpb-card { height:100%; }
@media (max-width: 960px){ .agpb-grid.two { grid-template-columns:1fr; } }


/* ==== AAM: レイアウト安定化・重なり防止 ==== */

/* 上段2カードの下に十分な余白 */
.agpb-grid.two { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:24px; align-items:stretch; }

/* カードは絶対配置/フロートを無効化して通常フローへ */
.agpb-card { position: relative !important; float: none !important; background:#fff; border:1px solid #dcdcde; border-radius:8px; padding:12px; box-sizing:border-box; min-width:0; }

/* 全幅カードの見た目 */
.agpb-card.-full { width:100%; }

/* 明示的な区切り（クリア用） */
.agpb-sep { clear: both; height: 1px; margin: 0; }

/* 30/70 の2列テーブル */
.agpb-two-col { width:100%; table-layout:fixed; border-collapse:collapse; }
.agpb-two-col col.left  { width:30%; }
.agpb-two-col col.right { width:70%; }
.agpb-two-col th, .agpb-two-col td { padding:8px 12px; vertical-align:top; }
.agpb-two-col .agpb-table-heading{
  background:#f7f7f7; font-weight:600; padding:8px 12px; border-radius:6px; text-align:left;
}

@media (max-width: 960px){
  .agpb-grid.two { grid-template-columns:1fr; }
  .agpb-two-col col.left  { width:38%; }
  .agpb-two-col col.right { width:62%; }
}




/* ===== AAM Front My Page Styles ===== */
.agpb-wrap{margin:24px auto;max-width:960px;padding:0 16px;box-sizing:border-box;font-size:16px;line-height:1.6}

/* Card & grid */
.agpb-card{background:#c7c7c7;border:1px solid #b9b9b9;border-radius:12px;padding:16px;margin:16px 0;box-shadow:0 1px 0 rgba(16,24,40,.04)}
.agpb-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
@media (max-width:768px){.agpb-grid-two{grid-template-columns:1fr}}

/* Tabs */
.agpb-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 12px;border-bottom:1px solid #b9b9b9;padding-bottom:6px}
.agpb-tab-btn{appearance:none;border:1px solid #000;background:#000;color:#fff;border-radius:8px;padding:.5em .9em;font-size:1em;cursor:pointer}
.agpb-tab-btn.is-active{background:#222;border-color:#222}
.agpb-tab-btn:hover{background:#111;border-color:#111}
.agpb-tab-panel{display:none}
.agpb-tab-panel.is-active{display:block}

/* Notices */
.agpb-note{padding:12px;border-radius:8px;margin:8px 0;border:1px solid #b9b9b9;background:#f6f6f6}
.agpb-note.-ok{background:#e8f8ff;border-color:#9ad7ff}
.agpb-note.-error{background:#ffecec;border-color:#ffb7b7}
.agpb-note.-warn{background:#fff2dd;border-color:#ffd393}

/* Table */
.agpb-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #b9b9b9;border-radius:8px;overflow:hidden;background:#fff}
.agpb-table th{background:#f1f1f1;text-align:left;font-weight:600;padding:8px;border-bottom:1px solid #e1e1e1;width:10em}
.agpb-table td{padding:8px;border-bottom:1px solid #efefef}
.agpb-table tbody tr:nth-child(even) td{background:#fafafa}

/* ===== プロフィール：ヘッダ（ユーザー名） ===== */
.agpb-userhead{
  width:100%;
  background:#fff;
  border:none;                  /* ご指定：ボーダー無し */
  border-radius:8px;
  padding:10px 12px;            /* ご指定：パディング維持 */
  margin-bottom:3px;            /* ご指定：下に 3px 余白 */
  box-sizing:border-box;
  font-weight:700;
}

/* ===== プロフィール：アイコン＆操作行 ===== */
.agpb-flex{display:flex;gap:16px;align-items:flex-start} /* アイコン上寄せ */
.agpb-avatar-col{display:flex;flex-direction:column;align-items:stretch;gap:8px;--aam-avatar-w:140px;width:var(--aam-avatar-w);max-width:100%}
@media (max-width:640px){.agpb-avatar-col{width:100%}}

.agpb-avatar-box{background:#fff;border:1px solid #9aa0a6;border-radius:8px;padding:8px;box-sizing:border-box;width:100%}
.agpb-avatar{width:100%;height:auto;display:block;object-fit:contain;border:1px solid #9aa0a6;border-radius:8px}

/* 参照ボタン（アイコン下・列幅いっぱい・薄い藍色・0.8em・パディング控えめ） */
.agpb-ref-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:100%;height:34px;padding:0 10px;border-radius:8px;
  font-size:.8em;line-height:1;
  background:#4962a8;border:1px solid #4962a8;color:#fff;
  cursor:pointer;text-decoration:none;transition:opacity .15s ease
}
.agpb-ref-btn:hover{opacity:.9}
.agpb-ref-btn input[type="file"]{display:none}

/* 削除・保存ボタン（デフォルト／黒） */
.agpb-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}

/* 下部のボタン行はカード下に“張り付かない”よう下余白だけ持たせる */
.agpb-actions.-bottom{width:100%;justify-content:flex-end;margin:10px 0 12px 0;padding:0;border:0;background:transparent}

/* ボタン共通 */
.agpb-btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:38px;padding:0 14px;border-radius:8px;font-size:1em;line-height:1;
  border:1px solid #000;background:#000;color:#fff;cursor:pointer;text-decoration:none;transition:opacity .15s ease
}
.agpb-btn:hover{opacity:.9}

/* ===== プロフィール：フィールド（ニックネーム・メール）をフォーム下に配置 ===== */
.agpb-fields{margin-top:0}
.agpb-fields p{margin:0}
.agpb-fields p + p{margin-top:0}
.agpb-input{width:260px;max-width:100%;padding:.8em .6em;border:1px solid #9aa0a6;border-radius:6px;background:#fff;}

/* 余白の最適化（テーマの block-gap 対策） */
.agpb-wrap{--wp--style--block-gap:0}
.agpb-wrap :where(.wp-block,.is-layout-flow,.is-layout-constrained){gap:0}
.agpb-card form{margin:0}

/* プロフィールカード専用（内側パディングは0で、外側の .agpb-card の margin で余白管理） */
.agpb-card.-profile{padding-bottom:0}

/* ==== アプリ作成カード（2列） ==== */
.agpb-apps-grid.-alt{ align-items:stretch }
.agpb-app-card{
  background:#fff;
  border:1px solid #b9b9b9;
  border-radius:12px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.agpb-app-head .ttl{ font-weight:700; font-size:1.05rem; }
.agpb-app-head .need{ font-size:.85rem; color:#333; }
.agpb-app-desc{ font-size:.92rem; color:#222; line-height:1.6; }
.agpb-btn.-disabled{
  background:#bbb; border-color:#bbb; color:#fff; cursor:not-allowed; opacity:.9;
}

/* ==== モーダル（課金ポップアップ） ==== */
.agpb-modal{ position:fixed; inset:0; display:none; z-index:9999; }
.agpb-modal[aria-hidden="false"]{ display:block; }
.agpb-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.4); }
.agpb-modal__dialog{
  position:relative; margin:8vh auto 0; max-width:560px; width:92%;
  background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,.2);
}
.agpb-modal__header{ display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid #eee; }
.agpb-modal__title{ font-weight:700; font-size:1.05rem; }
.agpb-modal__close{ background:transparent; border:0; font-size:20px; line-height:1; cursor:pointer; }
.agpb-modal__body{ padding:14px 16px; }
.agpb-modal__lead{ margin-bottom:8px; }
.agpb-modal__list{ margin:0; padding-left:18px; }
.agpb-modal__list li{ margin:4px 0; }
.agpb-modal__footnote{ margin-top:8px; font-size:.85rem; color:#555; }
.agpb-modal__footer{ padding:12px 16px; border-top:1px solid #eee; display:flex; justify-content:flex-end; gap:8px; }

/* モーダル表示時のスクロール抑止（任意） */
.agpb-modal-open{ overflow:hidden; }



