/* v1_admin 共通スタイル — 提供者側であることを視覚的に区別 (赤系) */
body { font-family:'Noto Sans JP', sans-serif; margin:0; color:#333; background:#f8fafc; }
.admin-header { background:#1e293b; color:#fff; padding:14px 24px; display:flex; align-items:center; gap:24px; }
.admin-header h1 { font-size:18px; font-weight:600; }
.admin-header h1 .scope { color:#fca5a5; font-size:13px; margin-left:8px; }
.admin-header nav { margin-left:auto; display:flex; gap:16px; }
.admin-header nav a { color:#fff; text-decoration:none; opacity:0.8; }
.admin-header nav a:hover, .admin-header nav a.active { opacity:1; border-bottom:2px solid #dc2626; padding-bottom:2px; }
.admin-container { display:flex; min-height:calc(100vh - 56px); }
.admin-side { width:220px; background:#fff; border-right:1px solid #e5e7eb; padding:20px 0; }
.admin-side a { display:flex; align-items:center; gap:10px; padding:10px 20px; color:#374151; text-decoration:none; }
.admin-side a:hover { background:#f3f4f6; }
.admin-side a.active { background:#fee2e2; border-left:3px solid #dc2626; color:#991b1b; font-weight:600; }
.admin-main { flex:1; padding:24px 32px; }
.page-title { font-size:24px; font-weight:700; margin-bottom:20px; padding-bottom:10px; border-bottom:2px solid #dc2626; }
.toolbar { display:flex; gap:10px; margin-bottom:16px; flex-wrap:wrap; align-items:center; }
.toolbar input, .toolbar select { padding:6px 10px; border:1px solid #d1d5db; border-radius:4px; }
.toolbar .right { margin-left:auto; }
.btn { padding:8px 14px; border:1px solid #d1d5db; background:#fff; border-radius:4px; cursor:pointer; text-decoration:none; color:#333; }
.btn-primary { background:#dc2626; color:#fff; border-color:#dc2626; }
.btn-secondary { background:#4982ff; color:#fff; border-color:#4982ff; }
.btn-danger { background:#dc2626; color:#fff; border:none; }
table.admin-table { width:100%; border-collapse:collapse; background:#fff; }
table.admin-table th, table.admin-table td { padding:10px 12px; border-bottom:1px solid #e5e7eb; text-align:left; }
table.admin-table th { background:#f3f4f6; font-weight:600; font-size:13px; }
.stat-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; margin-bottom:24px; }
.stat-card { background:#fff; padding:20px; border-radius:8px; border-left:4px solid #dc2626; }
.stat-card .label { color:#6b7280; font-size:13px; }
.stat-card .value { font-size:32px; font-weight:700; color:#111827; margin-top:4px; }
.badge { display:inline-block; padding:3px 10px; border-radius:4px; font-size:12px; color:#fff; }
.badge-active { background:#16a34a; }
.badge-pending { background:#f59e0b; }
.badge-suspended { background:#6b7280; }
.badge-cancelled { background:#dc2626; }
.badge-plan-free { background:#6b7280; }
.badge-plan-starter { background:#4982ff; }
.badge-plan-business { background:#7c3aed; }
