/* ユーザー一覧ページ特有のスタイル */
.users-index-content {
	background-color: #fff;
	padding: 2rem;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.users-actions {
	margin-bottom: 1rem;
}

.users-button {
	background-color: #349f75;
	color: #fff;
	padding: 0.5rem 1rem;
	border-radius: 4px;
	text-decoration: none;
	transition: background-color 0.3s;
}

.users-button:hover {
	background-color: #287f5b;
}

.users-title {
	color: #333;
	margin-bottom: 1.5rem;
}

.users-table-responsive {
	overflow-x: auto;
}

.users-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background-color: #fff;
	border: 1px solid #dee2e6;
	border-radius: 8px;
	overflow: hidden;
}

.users-table th,
.users-table td {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid #dee2e6;
}

.users-table th {
	background-color: #f8f9fa;
	color: #333;
	font-weight: 600;
	text-align: left;
}

.users-table tr:last-child td {
	border-bottom: none;
}

.users-role-badge,
.users-approval-badge {
	display: inline-block;
	padding: 0.25rem 0.5rem;
	border-radius: 4px;
	font-size: 0.875rem;
}

.users-role-admin {
	background-color: #007bff;
	color: #fff;
}

.users-role-system {
	background-color: #6c757d;
	color: #fff;
}

.users-role-staff {
	background-color: #28a745;
	color: #fff;
}

.users-approved {
	background-color: #28a745;
	color: #fff;
}

.users-not-approved {
	background-color: #dc3545;
	color: #fff;
}

.users-actions-cell {
	white-space: nowrap;
}

.users-action-link {
	display: inline-block;
	padding: 0.25rem 0.5rem;
	margin-right: 0.5rem;
	border-radius: 4px;
	text-decoration: none;
	transition: background-color 0.3s;
}

.users-view-link {
	background-color: #17a2b8;
	color: #fff;
}

.users-edit-link {
	background-color: #ffc107;
	color: #000;
}

.users-delete-link {
	background-color: #dc3545;
	color: #fff;
}

.users-action-link:hover {
	opacity: 0.8;
}

.users-pagination {
	margin-top: 2rem;
}

.users-pagination-list {
	display: flex;
	justify-content: center;
	list-style-type: none;
	padding: 0;
}

.users-pagination-link {
	display: inline-block;
	padding: 0.5rem 0.75rem;
	margin: 0 0.25rem;
	border-radius: 4px;
	background-color: #f8f9fa;
	color: #333;
	text-decoration: none;
	transition: background-color 0.3s;
}

.users-pagination-link:hover {
	background-color: #e9ecef;
}

.users-pagination-counter {
	text-align: center;
	margin-top: 1rem;
	color: #6c757d;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
	.users-table {
		font-size: 0.875rem;
	}

	.users-table th,
	.users-table td {
		padding: 0.5rem;
	}

	.users-action-link {
		padding: 0.2rem 0.4rem;
		font-size: 0.8rem;
	}
}

/* ユーザー編集ページのスタイル */
.users.form.content {
	background-color: var(--bg-card);
	padding: 2rem;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.side-nav {
	background-color: var(--bg-card);
	padding: 1.5rem;
	border-radius: 8px;
	margin-bottom: 1rem;
}

.side-nav h4 {
	color: var(--text-light);
	font-size: 1.1rem;
	margin-bottom: 1rem;
}

.side-nav-item {
	display: block;
	padding: 0.5rem 0;
	color: var(--text-light);
	text-decoration: none;
	transition: color 0.3s;
}

.side-nav-item:hover {
	color: var(--bs-primary);
}

.users.form legend {
	color: var(--text-light);
	font-size: 1.2rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding-bottom: 0.5rem;
}

.users.form .input {
	margin-bottom: 1.5rem;
}

.users.form label {
	display: block;
	margin-bottom: 0.5rem;
	color: var(--text-light);
}

.users.form input[type="text"],
.users.form input[type="email"],
.users.form input[type="password"],
.users.form select {
	width: 100%;
	padding: 0.5rem;
	background-color: var(--bg-dark);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 4px;
	font-size: 1rem;
	color: var(--text-light);
}

.users.form select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23e9ecef' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 12px;
	padding-right: 2rem;
}

.users.form button[type="submit"] {
	background-color: var(--bs-primary);
	color: #fff;
	border: none;
	padding: 0.6rem 1.2rem;
	border-radius: 4px;
	cursor: pointer;
	transition: background-color 0.3s;
}

.users.form button[type="submit"]:hover {
	background-color: rgba(var(--bs-primary-rgb), 0.8);
}

@media (max-width: 768px) {
	.users.form.content {
		padding: 1.5rem;
	}

	.side-nav {
		margin-bottom: 1.5rem;
	}
}

/* customer-edit-page (Users/edit.php) */
.customer-edit-page .container-fluid {
	max-width: 1200px;
	margin: 0 auto;
}

.customer-edit-page .card {
	background-color: #fff;
	border: 1px solid #dee2e6;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

.customer-edit-page .card-header {
	/* background-color: #349f75; */
	color: #fff;
	padding: 0.75rem 1rem;
}

.customer-edit-page .card-header h4 {
	margin: 0;
	font-size: 1.1rem;
}

.customer-edit-page .card-body {
	padding: 1rem;
}

/* サイドメニューカード */
.customer-edit-page .side-menu-card .card-header {
	/* background-color: #2e7150; */
}

.customer-edit-page .side-menu-card .card-body .btn {
	width: 100%;
	text-align: left;
	margin-bottom: 8px;
}

/* フォーム */
.custom-form {
	background-color: #fff;
	padding: 1rem;
	border-radius: 4px;
}

/* フォームコントロール */
.custom-form-control {
	display: block;
	width: 100%;
	margin-bottom: 15px;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 8px;
}

/* ボタン */
.custom-button {
	/* background-color: #349f75; */
	color: #fff;
	border: none;
	padding: 10px 15px;
	border-radius: 5px;
	cursor: pointer;
	font-size: 0.95rem;
	transition: background-color 0.3s ease;
}

.custom-button:hover {
	background-color: #287f5b;
}

/* customer-view-page (Users/view.php) */
.customer-view-page .container-fluid {
	max-width: 1200px;
	margin: 0 auto;
}

.customer-view-page .card {
	background-color: #fff;
	border: 1px solid #dee2e6;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

.customer-view-page .card-header {
	/* background-color: #349f75; */
	color: #fff;
	padding: 0.75rem 1rem;
}

.customer-view-page .card-header h4 {
	margin: 0;
	font-size: 1.1rem;
}

.customer-view-page .card-body {
	padding: 1rem;
}

/* サイドメニューカード */
.customer-view-page .side-menu-card .card-header {
	/* background-color: #2e7150; */
}

.customer-view-page .side-menu-card .card-body .btn {
	width: 100%;
	text-align: left;
	margin-bottom: 8px;
}

/* テーブル */
.customer-view-page .table {
	width: 100%;
	margin-bottom: 1rem;
	color: #212529;
}

.customer-view-page .table th,
.customer-view-page .table td {
	padding: 0.75rem;
	vertical-align: top;
	border-top: 1px solid #dee2e6;
}

.customer-view-page .table thead th {
	vertical-align: bottom;
	border-bottom: 2px solid #dee2e6;
}

.customer-view-page .table tbody+tbody {
	border-top: 2px solid #dee2e6;
}

.customer-view-page .table-striped tbody tr:nth-of-type(odd) {
	background-color: rgba(0, 0, 0, 0.05);
}

/* ステータスバッジ */
.customer-view-page .status-badge {
	display: inline-block;
	padding: 0.25em 0.4em;
	font-size: 0.75em;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	border-radius: 0.25rem;
}

/* BG COLOR */
.customer-view-page .bg-success {
	/* background-color: #28a745 !important; */
}

.customer-view-page .bg-danger {
	background-color: #dc3545 !important;
}

/* customer-add-page */
/* ▼ 全体を囲むコンテナ */
.customer-add-page .container-fluid {
	max-width: 1200px;
	margin: 0 auto;
}

/* ▼ カードのベース */
.customer-add-page .card {
	background-color: #fff;
	border: 1px solid #dee2e6;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

/* ▼ カードヘッダー */
.customer-add-page .card-header {
	/* background-color: #349f75; */
	color: #fff;
	padding: 0.75rem 1rem;
}

.customer-add-page .card-header h4 {
	margin: 0;
	font-size: 1.1rem;
}

/* ▼ カードボディ */
.customer-add-page .card-body {
	padding: 1rem;
}

/* ▼ フォーム */
.customer-add-page .custom-form {
	background-color: #fff;
	padding: 1rem;
	border-radius: 4px;
}

/* フォームコントロール */
.customer-add-page .custom-form-control {
	display: block;
	width: 100%;
	margin-bottom: 15px;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 8px;
}

/* ボタン */
.customer-add-page .custom-button {
	/* background-color: #349f75; */
	color: #fff;
	border: none;
	padding: 10px 15px;
	border-radius: 5px;
	cursor: pointer;
	font-size: 0.95rem;
	transition: background-color 0.3s ease;
}

.customer-add-page .custom-button:hover {
	/* background-color: #287f5b; */
}
