/* ==========================================================================
   SG Directory — Manager portal ([sg_directory_manager])
   Self-contained styles; does not depend on wp-admin core CSS since this
   renders on the public front-end.
   ========================================================================== */

.sg-directory-manager-wrap {
	max-width: 1000px;
	margin: 0 auto;
}

/* ---- Login screen ---- */
.sg-mgr-login {
	max-width: 380px;
	margin: 0 auto;
	background: var(--sg-bg-card);
	border: 1px solid var(--sg-border);
	border-radius: var(--sg-radius);
	padding: 32px;
}

.sg-mgr-login-title {
	margin-top: 0;
	text-align: center;
}

.sg-mgr-login-form .sg-directory-btn {
	width: 100%;
	margin-top: 6px;
}

.sg-mgr-login-message {
	margin-top: 12px;
	font-size: 14px;
	text-align: center;
	min-height: 20px;
}

.sg-mgr-login-message.is-error {
	color: #b91c1c;
}

.sg-mgr-login-message.is-success {
	color: #15803d;
}

/* ---- Dashboard shell ---- */
.sg-mgr-dashboard[hidden],
.sg-mgr-login[hidden] {
	display: none;
}

.sg-mgr-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 18px;
}

.sg-mgr-tabs {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.sg-mgr-tab-btn {
	padding: 9px 16px;
	border: 1px solid var(--sg-border);
	background: #fff;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--sg-muted);
	cursor: pointer;
}

.sg-mgr-tab-btn.is-active {
	background: var(--sg-primary);
	border-color: var(--sg-primary);
	color: #fff;
}

.sg-mgr-logout-btn {
	background: #64748b;
}

.sg-mgr-logout-btn:hover {
	background: #475569;
}

.sg-mgr-notice {
	margin-bottom: 14px;
}

.sg-mgr-notice .sg-mgr-alert {
	padding: 10px 14px;
	border-radius: 8px;
	font-size: 14px;
	margin-bottom: 10px;
}

.sg-mgr-alert.is-success {
	background: #dcfce7;
	color: #15803d;
}

.sg-mgr-alert.is-error {
	background: #fee2e2;
	color: #b91c1c;
}

.sg-mgr-panel[hidden] {
	display: none;
}

.sg-mgr-panel-toolbar {
	margin-bottom: 14px;
}

/* ---- Forms ---- */
.sg-mgr-form-panel {
	background: var(--sg-bg-card);
	border: 1px solid var(--sg-border);
	border-radius: var(--sg-radius);
	padding: 24px;
	margin-bottom: 20px;
}

.sg-mgr-form-panel[hidden] {
	display: none;
}

.sg-mgr-form-title {
	margin-top: 0;
}

.sg-mgr-form-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4px 20px;
}

.sg-mgr-category-form {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 18px;
}

.sg-mgr-category-form input[type="text"] {
	padding: 9px 12px;
	border: 1px solid var(--sg-border);
	border-radius: 8px;
	font-size: 14px;
	flex: 1 1 220px;
}

/* ---- Tables ---- */
.sg-mgr-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--sg-border);
	border-radius: var(--sg-radius);
}

.sg-mgr-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	background: #fff;
}

.sg-mgr-table th,
.sg-mgr-table td {
	padding: 10px 14px;
	text-align: left;
	border-bottom: 1px solid var(--sg-border);
	vertical-align: middle;
}

.sg-mgr-table thead th {
	background: #f8fafc;
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--sg-muted);
}

.sg-mgr-table tbody tr:last-child td {
	border-bottom: none;
}

.sg-mgr-thumb {
	width: 44px;
	height: 44px;
	object-fit: cover;
	border-radius: 4px;
	display: block;
}

.sg-mgr-row-btn {
	padding: 6px 12px;
	border: 1px solid var(--sg-border);
	background: #fff;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	margin-right: 6px;
	margin-bottom: 4px;
}

.sg-mgr-row-btn:hover {
	background: #f1f5f9;
}

.sg-mgr-row-btn.is-primary {
	background: var(--sg-primary);
	border-color: var(--sg-primary);
	color: #fff;
}

.sg-mgr-row-btn.is-danger {
	color: #b91c1c;
	border-color: #fecaca;
}

.sg-mgr-empty-row td {
	text-align: center;
	color: var(--sg-muted);
	padding: 24px;
}

/* ---- Responsive ---- */
@media (max-width: 720px) {
	.sg-mgr-form-grid {
		grid-template-columns: 1fr;
	}
	.sg-mgr-header {
		flex-direction: column;
		align-items: stretch;
	}
	.sg-mgr-logout-btn {
		width: 100%;
	}
}
