@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ── Base typography / admin bg default ────────────────────── */
body { font-family: 'Poppins', system-ui, -apple-system, sans-serif; background: #f8f9fa; }

/* ── Brand CSS variable ─────────────────────────────────────── */
:root { --brand-color: #1d4ed8; --brand-color-dark: #0d1b3d; }

/* ── Shared admin navbar ────────────────────────────────────── */
.shared-admin-navbar .navbar-toggler { border-color: rgba(255,255,255,.35); }
.shared-admin-navbar .navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(255,255,255,.2); }
.shared-admin-nav-panel { width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.28) transparent; }
.shared-admin-nav-panel::-webkit-scrollbar { height: 3px; }
.shared-admin-nav-panel::-webkit-scrollbar-track { background: transparent; }
.shared-admin-nav-panel::-webkit-scrollbar-thumb { background: rgba(255,255,255,.28); border-radius: 4px; }
.shared-admin-nav-items { display: flex; align-items: center; justify-content: flex-end; gap: .3rem; flex-wrap: nowrap; width: 100%; min-width: max-content; }
.shared-admin-nav-items.is-pending .shared-admin-nav-action { pointer-events: none; }
.shared-admin-nav-items .btn,
.shared-admin-nav-items #userLabel,
.shared-admin-nav-items #branchLabel,
.shared-admin-nav-items #tenantLabel,
.shared-admin-nav-items #appVersionBadge,
.shared-admin-nav-items .shared-admin-context-switcher { white-space: nowrap; }
.shared-admin-context-switcher {
	display: flex; align-items: center; gap: .45rem;
	padding: .2rem .55rem; border-radius: 999px;
	background: rgba(255,255,255,.12);
}
.shared-admin-context-switcher label { color: rgba(255,255,255,.82); font-size: .75rem; font-weight: 700; margin: 0; }
.shared-admin-context-switcher select {
	min-width: 170px; background: rgba(255,255,255,.94); border: none;
	border-radius: 999px; padding: .2rem 1.8rem .2rem .7rem; font-size: .82rem; font-weight: 600;
}
.shared-admin-logout { border-color: rgba(248,113,113,.72); background: rgba(127,29,29,.18); color: #fee2e2; }
.shared-admin-logout:hover,
.shared-admin-logout:focus-visible { background: #fee2e2; border-color: #fee2e2; color: #991b1b; }
.shared-admin-nav-action.btn { border-radius: 999px; font-size: .78rem; padding: .2rem .6rem; }
/* Items that open in a new tab — amber tint + ↗ indicator */
.shared-admin-nav-items a[target="_blank"].shared-admin-nav-action,
.shared-admin-nav-items a[target="_blank"].btn { border-color: rgba(251,191,36,.65); color: #fde68a; }
.shared-admin-nav-items a[target="_blank"].shared-admin-nav-action:hover,
.shared-admin-nav-items a[target="_blank"].btn:hover { background: rgba(251,191,36,.18); border-color: #fde68a; color: #fef3c7; }
.shared-admin-nav-items a[target="_blank"].shared-admin-nav-action::after,
.shared-admin-nav-items a[target="_blank"].btn::after { content: ' \2197'; font-size: .7em; opacity: .75; }
.shared-admin-nav-items .btn-outline-light:hover,
.shared-admin-nav-items .btn-outline-light:focus-visible { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.78); }
.shared-admin-nav-items .btn-sm.active,
.shared-admin-nav-items .btn-sm[aria-pressed="true"],
.shared-admin-nav-items .btn-outline-light.active,
.shared-admin-nav-items .btn-outline-light:active { background: rgba(255,255,255,.24); border-color: rgba(255,255,255,.92); color: #fff; }
@media (max-width: 767.98px) {
	.shared-admin-nav-panel {
		margin-top: .75rem; padding: .9rem;
		background: rgba(15,23,42,.22); border: 1px solid rgba(255,255,255,.12); border-radius: 16px;
	}
	.shared-admin-nav-items { flex-direction: column; align-items: stretch; justify-content: flex-start; gap: .35rem; flex-wrap: wrap; min-width: unset; }
	.shared-admin-nav-items .btn,
	.shared-admin-nav-items #branchLabel,
	.shared-admin-nav-items #tenantLabel,
	.shared-admin-nav-items #appVersionBadge,
	.shared-admin-nav-items .shared-admin-context-switcher { width: 100%; margin: 0; text-align: left; justify-content: flex-start; }
	.shared-admin-nav-items #userLabel { width: 100%; margin: 0; text-align: left; white-space: normal; line-height: 1.7; }
	.shared-admin-nav-items #branchLabel,
	.shared-admin-nav-items #tenantLabel,
	.shared-admin-nav-items #appVersionBadge { max-width: fit-content; }
	.shared-admin-context-switcher { border-radius: 14px; padding: .55rem .65rem; }
	.shared-admin-context-switcher select { width: 100%; }
}

/* ── WebSocket status badge ────────────────────────────────── */
.ws-badge { font-size: 11px; padding: 3px 10px; border-radius: 12px; font-weight: 700; letter-spacing: .3px; transition: background .3s, color .3s; }
.ws-connecting   { background: #fef9c3; color: #854d0e; }
.ws-connected    { background: #dcfce7; color: #166534; }
.ws-disconnected { background: #fee2e2; color: #991b1b; }

/* ── Collapsible CRUD card ─────────────────────────────────── */
.crud-card-toggle { border: 0; background: transparent; color: #6b7280; font-weight: 700; font-size: .85rem; padding: 0; cursor: pointer; }
.crud-card-toggle:hover { color: #1f2937; }
.crud-card-body.is-collapsed,
.crud-card-footer.is-collapsed { display: none; }

/* ── Action cell / buttons ─────────────────────────────────── */
.action-cell { display: flex; flex-wrap: wrap; gap: .4rem; }
.action-btn { min-width: 92px; }

/* ── Password visibility toggle ────────────────────────────── */
.password-toggle-btn { display: inline-flex; align-items: center; justify-content: center; padding: .375rem .5rem; }

/* ── Section card (shared admin layout) ────────────────────── */
.section-card { border-radius: 12px; border: none; margin-bottom: 1.5rem; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.admin-section-title { font-size: 1rem; font-weight: 700; color: #374151; display: flex; align-items: center; gap: .5rem; }

/* ── Stat box ──────────────────────────────────────────────── */
.stat-box { border-radius: 10px; padding: 1rem 1.25rem; text-align: center; }
.stat-num { font-size: 2rem; font-weight: 800; line-height: 1; }
