/*
Theme Name: TondeSoft HotelERP Pro
Theme URI: https://tondesoft.com
Author: TondeSoft Ltd.
Author URI: https://tondesoft.com
Description: Luxury navy-and-gold operations dashboard theme for TondeSoft HotelERP — a full hotel management system covering reservations, rooms, F&B, finance, HR and more.
Requires at least: 6.6
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tondesoft-hotelerp
*/

/* ==========================================================
   RESET / BASE
   ========================================================== */
* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.erp-app {
	background: var(--wp--preset--color--erp-navy);
	color: var(--wp--preset--color--erp-offwhite);
	font-family: var(--wp--preset--font-family--erp-body);
	margin: 0;
	min-height: 100vh;
	-webkit-font-smoothing: antialiased;
	/* Bare custom properties referenced directly by inline style="" attributes
	   in the plugin's PHP-rendered shortcode output (e.g. style="color:var(--erp-gold)").
	   Defined here so that markup resolves without depending on the WP preset naming. */
	--erp-text-secondary: var(--wp--preset--color--erp-gray-400);
	--erp-gold: var(--wp--preset--color--erp-gold);
	--erp-gold-light: var(--wp--preset--color--erp-gold-light);
	--erp-red: var(--wp--preset--color--erp-red);
	--erp-green: var(--wp--preset--color--erp-green);
	--erp-navy: var(--wp--preset--color--erp-navy);
}

.erp-app :where(h1, h2, h3, h4, h5, h6) {
	color: var(--wp--preset--color--erp-white);
	margin: 0;
}

.erp-app a { text-decoration: none; }

.erp-app img { max-width: 100%; display: block; }

.erp-app table { border-collapse: collapse; width: 100%; }

/* Zero out top-level block-gap between the html/main wrapper sections */
.erp-shell.wp-block-group,
.erp-shell { margin: 0; gap: 0; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--wp--preset--color--erp-navy); }
::-webkit-scrollbar-thumb { background: var(--wp--preset--color--erp-navy-light); border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: var(--wp--preset--color--erp-gold-dark); }

/* ==========================================================
   APP SHELL — sidebar + main layout
   ========================================================== */
.erp-shell {
	/* sidebar is position:fixed (removed from flow), so this container just
	   needs to stack main + footer vertically in normal block flow */
	display: block;
	min-height: 100vh;
	width: 100%;
}

.erp-sidebar {
	width: 272px;
	flex-shrink: 0;
	background: linear-gradient(180deg, #0D1E38 0%, var(--wp--preset--color--erp-navy) 100%);
	border-right: var(--wp--custom--erp-border-gold);
	display: flex;
	flex-direction: column;
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	overflow-y: auto;
	z-index: 40;
	transition: var(--wp--custom--erp-transition);
}

.erp-sidebar__logo { padding: 28px 22px 20px; border-bottom: 1px solid rgba(201,168,76,0.18); }
.erp-sidebar__logo-mark { display: flex; align-items: center; gap: 12px; }
.erp-sidebar__logo-icon {
	font-size: 1.6rem;
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	background: var(--wp--preset--gradient--erp-gold-gradient);
	border-radius: var(--wp--custom--erp-radius-md);
	box-shadow: var(--wp--custom--erp-shadow-gold);
}
.erp-sidebar__logo-text { display: flex; flex-direction: column; line-height: 1.3; }
.erp-sidebar__logo-text strong {
	font-family: var(--wp--preset--font-family--erp-display);
	color: var(--wp--preset--color--erp-white);
	font-size: 1.05rem;
	letter-spacing: 0.01em;
}
.erp-sidebar__logo-text span { font-size: 0.7rem; color: var(--wp--preset--color--erp-gold-light); text-transform: uppercase; letter-spacing: 0.08em; }

.erp-nav { padding: 18px 14px; flex: 1; }
.erp-nav__section-label {
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--erp-gray-400);
	margin: 18px 12px 8px;
	font-weight: 600;
}
.erp-nav__section-label:first-child { margin-top: 4px; }
.erp-nav__item {
	display: block;
	color: var(--wp--preset--color--erp-offwhite);
	opacity: 0.82;
	font-size: 0.88rem;
	padding: 10px 14px;
	border-radius: var(--wp--custom--erp-radius-sm);
	margin-bottom: 2px;
	transition: var(--wp--custom--erp-transition);
	border-left: 2px solid transparent;
}
.erp-nav__item:hover {
	background: rgba(201,168,76,0.1);
	opacity: 1;
	color: var(--wp--preset--color--erp-gold-light);
	border-left-color: var(--wp--preset--color--erp-gold);
}
.erp-nav__item.is-active,
.erp-nav__item[aria-current] {
	background: rgba(201,168,76,0.14);
	opacity: 1;
	color: var(--wp--preset--color--erp-gold-light);
	border-left-color: var(--wp--preset--color--erp-gold);
}

.erp-sidebar__footer { padding: 16px 18px 22px; border-top: 1px solid rgba(201,168,76,0.18); }
.erp-user-card { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.erp-user-avatar {
	width: 36px; height: 36px; border-radius: 50%;
	background: var(--wp--preset--gradient--erp-gold-gradient);
	display: flex; align-items: center; justify-content: center;
	font-weight: 700; color: var(--wp--preset--color--erp-navy); flex-shrink: 0;
}
.erp-user-info { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.erp-user-info strong { font-size: 0.85rem; color: var(--wp--preset--color--erp-white); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.erp-user-info span { font-size: 0.72rem; color: var(--wp--preset--color--erp-gray-400); }
.erp-user-logout {
	display: block; text-align: center;
	font-size: 0.78rem; color: var(--wp--preset--color--erp-gray-400);
	padding: 8px; border-radius: var(--wp--custom--erp-radius-sm);
	border: 1px solid rgba(201,168,76,0.18);
	transition: var(--wp--custom--erp-transition);
}
.erp-user-logout:hover { color: var(--wp--preset--color--erp-red); border-color: var(--wp--preset--color--erp-red); }

.erp-main { margin-left: 272px; min-height: 100vh; display: flex; flex-direction: column; background: var(--wp--preset--color--erp-navy); }

.erp-footer {
	margin-left: 272px;
	padding: 18px 32px;
	text-align: center;
	font-size: 0.76rem;
	color: var(--wp--preset--color--erp-gray-600);
	border-top: 1px solid rgba(201,168,76,0.1);
}
@media (max-width: 980px) { .erp-footer { margin-left: 0; } }

.erp-topbar {
	display: flex; align-items: center; justify-content: space-between;
	padding: 16px 32px;
	background: rgba(17,34,68,0.6);
	border-bottom: 1px solid rgba(201,168,76,0.16);
	position: sticky; top: 0; z-index: 30;
	backdrop-filter: blur(8px);
}
.erp-topbar__left { display: flex; align-items: center; gap: 14px; }
.erp-topbar__hamburger { display: none; cursor: pointer; font-size: 1.3rem; color: var(--wp--preset--color--erp-gold); }
.erp-topbar__breadcrumb { margin: 0; font-size: 0.95rem; color: var(--wp--preset--color--erp-white); }
.erp-topbar__breadcrumb #erp-page-title { font-weight: 600; font-family: var(--wp--preset--font-family--erp-display); }
.erp-topbar__branch-tag { color: var(--wp--preset--color--erp-gold-light); font-size: 0.82rem; }
.erp-topbar__right { display: flex; align-items: center; gap: 18px; }
.erp-topbar__date { margin: 0; font-size: 0.82rem; color: var(--wp--preset--color--erp-gray-400); }
.erp-topbar__action {
	width: 38px; height: 38px; border-radius: 50%;
	background: rgba(201,168,76,0.12);
	display: flex; align-items: center; justify-content: center;
	cursor: pointer; transition: var(--wp--custom--erp-transition);
}
.erp-topbar__action:hover { background: rgba(201,168,76,0.22); }

.erp-app main.erp-main > * { padding-left: 32px; padding-right: 32px; }
.erp-app main.erp-main > .erp-topbar { padding-left: 32px; padding-right: 32px; }
.erp-app main.erp-main > div:not(.erp-topbar) { max-width: 1320px; }

@media (max-width: 980px) {
	.erp-sidebar { transform: translateX(-100%); }
	.erp-sidebar.open { transform: translateX(0); }
	.erp-main { margin-left: 0; }
	.erp-topbar__hamburger { display: inline-block; }
	.erp-app main.erp-main > * { padding-left: 16px; padding-right: 16px; }
	.erp-app main.erp-main > .erp-topbar { padding-left: 16px; padding-right: 16px; }
}

/* ==========================================================
   BRANCH SWITCHER
   ========================================================== */
.erp-branch-switcher {
	margin: 16px 18px 4px;
	padding: 12px 14px;
	background: rgba(201,168,76,0.08);
	border: var(--wp--custom--erp-border-gold);
	border-radius: var(--wp--custom--erp-radius-md);
	display: flex; align-items: center; justify-content: space-between;
	cursor: pointer; position: relative;
	transition: var(--wp--custom--erp-transition);
}
.erp-branch-switcher:hover { background: rgba(201,168,76,0.14); }
.erp-branch-switcher--locked { cursor: default; }
.erp-branch-switcher--locked:hover { background: rgba(201,168,76,0.08); }
.erp-branch-switcher__label { display: block; font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--wp--preset--color--erp-gray-400); margin-bottom: 2px; }
.erp-branch-switcher__name { font-size: 0.86rem; color: var(--wp--preset--color--erp-white); font-weight: 600; }
.erp-branch-switcher__chevron { color: var(--wp--preset--color--erp-gold); }
.erp-branch-switcher__lock { color: var(--wp--preset--color--erp-gray-400); font-size: 0.8rem; }
.erp-branch-dropdown {
	display: none;
	position: absolute; top: calc(100% + 6px); left: 18px; right: 18px;
	background: var(--wp--preset--color--erp-navy-mid);
	border: var(--wp--custom--erp-border-gold);
	border-radius: var(--wp--custom--erp-radius-md);
	box-shadow: var(--wp--custom--erp-shadow-lg);
	z-index: 50; overflow: hidden;
}
.erp-branch-dropdown.is-open { display: block; }
.erp-branch-option {
	display: block; padding: 10px 14px; font-size: 0.84rem;
	color: var(--wp--preset--color--erp-offwhite);
	border-bottom: 1px solid rgba(201,168,76,0.1);
}
.erp-branch-option:last-child { border-bottom: none; }
.erp-branch-option:hover { background: rgba(201,168,76,0.14); color: var(--wp--preset--color--erp-gold-light); }

/* ==========================================================
   KPI CARDS
   ========================================================== */
.erp-kpi-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin: 24px 0;
}
.erp-kpi-card {
	background: var(--wp--preset--gradient--erp-card-gradient);
	border: 1px solid rgba(201,168,76,0.16);
	border-radius: var(--wp--custom--erp-radius-lg);
	padding: 22px;
	box-shadow: var(--wp--custom--erp-shadow-md);
	transition: var(--wp--custom--erp-transition);
	position: relative; overflow: hidden;
}
.erp-kpi-card::before {
	content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
	background: var(--wp--preset--gradient--erp-gold-gradient);
}
.erp-kpi-card:hover { transform: translateY(-3px); box-shadow: var(--wp--custom--erp-shadow-lg); border-color: rgba(201,168,76,0.32); }
.erp-kpi-card__icon { font-size: 1.6rem; margin-bottom: 10px; opacity: 0.9; }
.erp-kpi-card__label { font-size: 0.78rem; color: var(--wp--preset--color--erp-gray-400); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 6px; }
.erp-kpi-card__value { font-family: var(--wp--preset--font-family--erp-display); font-size: 2rem; font-weight: 700; line-height: 1.1; margin-bottom: 6px; }
.erp-kpi-card__delta { font-size: 0.78rem; color: var(--wp--preset--color--erp-gray-400); }

@media (max-width: 1200px) { .erp-kpi-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .erp-kpi-grid { grid-template-columns: 1fr; } }

/* ==========================================================
   TEXT COLOR UTILITIES
   ========================================================== */
.erp-text--gold { color: var(--wp--preset--color--erp-gold-light); }
.erp-text--green { color: #4CAF82; }
.erp-text--red { color: #E85B4A; }

/* ==========================================================
   BADGES
   ========================================================== */
.erp-badge {
	display: inline-flex; align-items: center;
	font-size: 0.72rem; font-weight: 600;
	padding: 4px 10px; border-radius: 100px;
	letter-spacing: 0.02em;
	background: rgba(154,153,168,0.18); color: var(--wp--preset--color--erp-gray-400);
}
.erp-badge--green { background: rgba(76,175,130,0.16); color: #6FCF9E; }
.erp-badge--red { background: rgba(232,91,74,0.16); color: #F08B7C; }
.erp-badge--gold { background: rgba(201,168,76,0.18); color: var(--wp--preset--color--erp-gold-light); }
.erp-badge--teal { background: rgba(26,122,138,0.2); color: #5FC7D6; }
.erp-badge--amber { background: rgba(212,130,10,0.18); color: #F0A94F; }

/* ==========================================================
   BUTTONS
   ========================================================== */
.erp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	font-family: var(--wp--preset--font-family--erp-body);
	font-size: 0.84rem; font-weight: 600;
	padding: 9px 16px; border-radius: var(--wp--custom--erp-radius-sm);
	background: rgba(201,168,76,0.12);
	color: var(--wp--preset--color--erp-gold-light);
	border: 1px solid rgba(201,168,76,0.28);
	cursor: pointer; transition: var(--wp--custom--erp-transition);
	white-space: nowrap; user-select: none;
}
.erp-btn:hover { background: rgba(201,168,76,0.22); border-color: var(--wp--preset--color--erp-gold); transform: translateY(-1px); }
.erp-btn--primary {
	background: var(--wp--preset--gradient--erp-gold-gradient);
	color: var(--wp--preset--color--erp-navy);
	border-color: transparent;
	box-shadow: var(--wp--custom--erp-shadow-gold);
}
.erp-btn--primary:hover { filter: brightness(1.08); transform: translateY(-1px); }
.erp-btn--danger { background: rgba(192,57,43,0.14); color: #F08B7C; border-color: rgba(192,57,43,0.35); }
.erp-btn--danger:hover { background: rgba(192,57,43,0.26); border-color: #C0392B; }
.erp-btn--sm { font-size: 0.74rem; padding: 6px 12px; }
.erp-btn--icon { padding: 6px 9px; }
.erp-btn:focus-visible, .erp-action:focus-visible, .erp-modal-open:focus-visible, .erp-nav__item:focus-visible { outline: 2px solid var(--wp--preset--color--erp-gold); outline-offset: 2px; }

/* ==========================================================
   SECTION CARDS
   ========================================================== */
.erp-section-card {
	background: var(--wp--preset--gradient--erp-card-gradient);
	border: 1px solid rgba(201,168,76,0.14);
	border-radius: var(--wp--custom--erp-radius-lg);
	margin-bottom: 24px;
	box-shadow: var(--wp--custom--erp-shadow-md);
	overflow: hidden;
}
.erp-section-card__header {
	display: flex; align-items: center; gap: 10px;
	padding: 18px 24px;
	border-bottom: 1px solid rgba(201,168,76,0.14);
	flex-wrap: wrap;
}
.erp-section-card__header strong { font-family: var(--wp--preset--font-family--erp-display); color: var(--wp--preset--color--erp-white); font-size: 1.05rem; flex: 1; }
.erp-section-card__title-dot {
	width: 8px; height: 8px; border-radius: 50%;
	background: var(--wp--preset--color--erp-gold);
	box-shadow: 0 0 8px rgba(201,168,76,0.7);
	flex-shrink: 0;
}
.erp-section-card__body { padding: 22px 24px; }

/* ==========================================================
   TABLES
   ========================================================== */
.erp-table-wrap { overflow-x: auto; }
.erp-table { font-size: 0.85rem; }
.erp-table thead th {
	text-align: left; padding: 10px 14px;
	color: var(--wp--preset--color--erp-gray-400);
	font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em;
	border-bottom: 1px solid rgba(201,168,76,0.18);
	white-space: nowrap;
}
.erp-table tbody td {
	padding: 12px 14px;
	color: var(--wp--preset--color--erp-offwhite);
	border-bottom: 1px solid rgba(255,255,255,0.05);
	vertical-align: middle;
}
.erp-table tbody tr:hover td { background: rgba(201,168,76,0.05); }
.erp-table tbody tr:last-child td { border-bottom: none; }
.erp-row-actions { display: flex; gap: 6px; flex-wrap: wrap; }

/* ==========================================================
   FORMS
   ========================================================== */
.erp-form-row { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 4px; }
.erp-form-group { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 160px; }
.erp-label { font-size: 0.76rem; color: var(--wp--preset--color--erp-gray-400); font-weight: 500; }
.erp-input, .erp-select {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(201,168,76,0.2);
	border-radius: var(--wp--custom--erp-radius-sm);
	color: var(--wp--preset--color--erp-white);
	padding: 10px 12px; font-size: 0.86rem;
	font-family: var(--wp--preset--font-family--erp-body);
	width: 100%;
	transition: var(--wp--custom--erp-transition);
}
.erp-input::placeholder { color: var(--wp--preset--color--erp-gray-600); }
.erp-input:focus, .erp-select:focus {
	outline: none; border-color: var(--wp--preset--color--erp-gold);
	box-shadow: 0 0 0 3px rgba(201,168,76,0.15);
}
.erp-input--sm { padding: 6px 10px; font-size: 0.8rem; }
.erp-select { appearance: none; cursor: pointer; }
select.erp-select option, select.erp-input option {
	background: var(--wp--preset--color--erp-navy);
	color: var(--wp--preset--color--erp-white);
}

/* ==========================================================
   MODULE GRID (home dashboard)
   ========================================================== */
.erp-module-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.erp-module-card {
	display: block;
	background: rgba(255,255,255,0.02);
	border: 1px solid rgba(201,168,76,0.14);
	border-radius: var(--wp--custom--erp-radius-md);
	padding: 20px;
	transition: var(--wp--custom--erp-transition);
}
.erp-module-card:hover {
	background: rgba(201,168,76,0.07);
	border-color: var(--wp--preset--color--erp-gold);
	transform: translateY(-2px);
	box-shadow: var(--wp--custom--erp-shadow-md);
}
.erp-module-card__icon { font-size: 1.7rem; margin-bottom: 10px; }
.erp-module-card__name { font-weight: 600; color: var(--wp--preset--color--erp-white); font-size: 0.94rem; margin: 0 0 6px; }
.erp-module-card__desc { font-size: 0.78rem; color: var(--wp--preset--color--erp-gray-400); margin: 0; line-height: 1.4; }
.erp-module-card__stats { display: flex; gap: 14px; margin-top: 10px; }
.erp-module-card__stat { display: flex; flex-direction: column; }
.erp-module-card__stat-val { font-weight: 700; color: var(--wp--preset--color--erp-gold-light); font-size: 0.9rem; }
.erp-module-card__stat-label { font-size: 0.68rem; color: var(--wp--preset--color--erp-gray-600); }

@media (max-width: 1200px) { .erp-module-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .erp-module-grid { grid-template-columns: 1fr; } }

/* ==========================================================
   AUTH / LOGIN SCREEN
   ========================================================== */
.erp-auth-screen {
	min-height: 100vh;
	display: flex; align-items: center; justify-content: center;
	background: var(--wp--preset--gradient--erp-hero-gradient);
	padding: 24px;
	position: relative; overflow: hidden;
}
.erp-auth-screen::before {
	content: "";
	position: absolute; inset: 0;
	background-image: radial-gradient(circle at 20% 20%, rgba(201,168,76,0.12) 0%, transparent 45%),
		radial-gradient(circle at 80% 80%, rgba(201,168,76,0.08) 0%, transparent 45%);
	pointer-events: none;
}
.erp-auth-card {
	position: relative;
	width: 100%; max-width: 420px;
	background: rgba(17,34,68,0.75);
	backdrop-filter: blur(12px);
	border: var(--wp--custom--erp-border-gold);
	border-radius: var(--wp--custom--erp-radius-xl);
	padding: 44px 38px;
	box-shadow: var(--wp--custom--erp-shadow-lg);
}
.erp-auth-card__title {
	font-size: 1.7rem !important;
}
.erp-auth-card__title::before { content: "\1F3E8  "; }
.erp-auth-card__subtitle { color: var(--wp--preset--color--erp-gray-400); font-size: 0.9rem; margin-top: 8px !important; }
.erp-auth-divider {
	display: flex; align-items: center; gap: 10px;
	margin: 26px 0 20px;
	color: var(--wp--preset--color--erp-gray-600);
	font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.1em;
}
.erp-auth-divider::before, .erp-auth-divider::after { content: ""; flex: 1; height: 1px; background: rgba(201,168,76,0.2); }
.erp-auth-form .erp-form-group { margin-bottom: 16px; }
.erp-auth-submit {
	width: 100%;
	background: var(--wp--preset--gradient--erp-gold-gradient);
	color: var(--wp--preset--color--erp-navy);
	border: none; border-radius: var(--wp--custom--erp-radius-sm);
	padding: 13px; font-size: 0.95rem; font-weight: 700;
	cursor: pointer; margin-top: 6px;
	box-shadow: var(--wp--custom--erp-shadow-gold);
	transition: var(--wp--custom--erp-transition);
	font-family: var(--wp--preset--font-family--erp-body);
}
.erp-auth-submit:hover { filter: brightness(1.08); transform: translateY(-1px); }
.erp-auth-legal { text-align: center; color: var(--wp--preset--color--erp-gray-600); font-size: 0.74rem; }

/* ==========================================================
   BOOKING CALENDAR
   ========================================================== */
.erp-cal-nav { display: flex; gap: 8px; }
.erp-cal-table th {
	text-align: center; padding: 8px 4px;
	color: var(--wp--preset--color--erp-gray-400);
	font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em;
	border-bottom: 1px solid rgba(201,168,76,0.16);
}
.erp-cal-cell {
	width: 14.28%; height: 78px; vertical-align: top;
	padding: 6px 8px; border: 1px solid rgba(255,255,255,0.04);
	border-radius: var(--wp--custom--erp-radius-sm);
	background: rgba(255,255,255,0.02);
}
.erp-cal-cell--empty { background: transparent; border-color: transparent; }
.erp-cal-cell--light { background: rgba(76,175,130,0.08); }
.erp-cal-cell--busy { background: rgba(212,130,10,0.1); }
.erp-cal-cell--full { background: rgba(192,57,43,0.12); }
.erp-cal-cell--today { border-color: var(--wp--preset--color--erp-gold); box-shadow: inset 0 0 0 1px var(--wp--preset--color--erp-gold); }
.erp-cal-day__num { display: block; font-weight: 600; color: var(--wp--preset--color--erp-white); font-size: 0.82rem; margin-bottom: 3px; }
.erp-cal-day__tag { display: block; font-size: 0.62rem; color: var(--wp--preset--color--erp-gray-400); }
.erp-cal-day__tag--in { color: #6FCF9E; }
.erp-cal-day__tag--out { color: #F0A94F; }
.erp-cal-day__occ { display: block; font-size: 0.62rem; color: var(--wp--preset--color--erp-gold-light); margin-top: 2px; }
.erp-cal-legend { display: flex; gap: 18px; margin-top: 14px; font-size: 0.76rem; color: var(--wp--preset--color--erp-gray-400); flex-wrap: wrap; }
.erp-cal-swatch { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 5px; vertical-align: middle; }
.erp-cal-swatch--light { background: rgba(76,175,130,0.4); }
.erp-cal-swatch--busy { background: rgba(212,130,10,0.45); }
.erp-cal-swatch--full { background: rgba(192,57,43,0.5); }

/* ==========================================================
   ROOM STATUS MAP
   ========================================================== */
.erp-room-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 12px;
}
.erp-room-tile {
	position: relative;
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(201,168,76,0.16);
	border-radius: var(--wp--custom--erp-radius-sm);
	padding: 12px 10px 26px;
	font-weight: 700; font-size: 0.95rem; color: var(--wp--preset--color--erp-white);
	text-align: center;
	transition: var(--wp--custom--erp-transition);
}
.erp-room-tile:hover { border-color: var(--wp--preset--color--erp-gold); transform: translateY(-2px); }
.erp-room-tile small { display: block; font-weight: 400; font-size: 0.66rem; color: var(--wp--preset--color--erp-gray-400); margin-top: 2px; }
.erp-room-badge {
	position: absolute; bottom: 6px; left: 50%; transform: translateX(-50%);
	font-size: 0.6rem; padding: 2px 8px; border-radius: 100px; white-space: nowrap;
	background: rgba(154,153,168,0.2); color: var(--wp--preset--color--erp-gray-400);
}
.erp-room-tile--occupied { border-color: rgba(192,57,43,0.4); }
.erp-room-tile--occupied .erp-room-badge { background: rgba(192,57,43,0.22); color: #F08B7C; }
.erp-room-tile--available .erp-room-badge,
.erp-room-tile--free .erp-room-badge { background: rgba(76,175,130,0.2); color: #6FCF9E; }
.erp-room-tile--cleaning .erp-room-badge,
.erp-room-tile--maintenance .erp-room-badge { background: rgba(212,130,10,0.2); color: #F0A94F; }

@media (max-width: 1200px) { .erp-room-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 700px) { .erp-room-grid { grid-template-columns: repeat(2, 1fr); } }

/* ==========================================================
   STAT PILLS
   ========================================================== */
.erp-stats-bar { display: flex; gap: 14px; flex-wrap: wrap; margin: 18px 0; }
.erp-stat-pill {
	display: flex; align-items: center; gap: 8px;
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(201,168,76,0.14);
	border-radius: 100px; padding: 8px 16px;
}
.erp-stat-pill__dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.erp-stat-pill__text { margin: 0; font-size: 0.82rem; color: var(--wp--preset--color--erp-gray-400); }
.erp-stat-pill__text strong { color: var(--wp--preset--color--erp-white); margin-left: 4px; }

/* ==========================================================
   PAGE HEADER
   ========================================================== */
.erp-page-header__title {
	font-size: 1.9rem !important;
	display: flex; align-items: center; gap: 12px;
}
.erp-page-header__subtitle {
	color: var(--wp--preset--color--erp-gray-400);
	font-size: 0.9rem;
	margin-top: 4px !important;
}

/* ==========================================================
   TABS
   ========================================================== */
.erp-tabs {
	display: flex; gap: 4px; flex-wrap: wrap;
	margin: 22px 0 18px;
	border-bottom: 1px solid rgba(201,168,76,0.16);
	padding-bottom: 0;
}
.erp-tab {
	padding: 10px 18px;
	font-size: 0.86rem; font-weight: 600;
	color: var(--wp--preset--color--erp-gray-400);
	cursor: pointer; user-select: none;
	border-bottom: 2px solid transparent;
	transition: var(--wp--custom--erp-transition);
}
.erp-tab:hover { color: var(--wp--preset--color--erp-gold-light); }
.erp-tab.active {
	color: var(--wp--preset--color--erp-gold-light);
	border-bottom-color: var(--wp--preset--color--erp-gold);
}
.erp-tab-panel--hidden { display: none; }

/* ==========================================================
   GRA / INFO BANNER
   ========================================================== */
.erp-gra-banner {
	background: rgba(201,168,76,0.08);
	border: var(--wp--custom--erp-border-gold);
	border-radius: var(--wp--custom--erp-radius-md);
	padding: 14px 18px;
	font-size: 0.86rem;
	color: var(--wp--preset--color--erp-offwhite);
	line-height: 1.55;
	margin: 16px 0;
}
.erp-gra-banner strong { color: var(--wp--preset--color--erp-gold-light); }

/* ==========================================================
   MODALS
   ========================================================== */
.erp-modal-overlay {
	display: none;
	position: fixed; inset: 0; z-index: 200;
	background: rgba(6,12,24,0.72);
	backdrop-filter: blur(3px);
	align-items: center; justify-content: center;
	padding: 20px;
}
.erp-modal-overlay.open { display: flex; }
.erp-modal {
	background: var(--wp--preset--color--erp-navy-mid);
	border: var(--wp--custom--erp-border-gold);
	border-radius: var(--wp--custom--erp-radius-lg);
	box-shadow: var(--wp--custom--erp-shadow-lg);
	width: 100%; max-width: 520px;
	max-height: 88vh; overflow-y: auto;
}
.erp-modal--wide { max-width: 720px; }
.erp-modal__header {
	display: flex; align-items: center; justify-content: space-between;
	padding: 18px 22px;
	border-bottom: 1px solid rgba(201,168,76,0.16);
}
.erp-modal__title { font-family: var(--wp--preset--font-family--erp-display); font-size: 1.1rem; color: var(--wp--preset--color--erp-white); font-weight: 600; }
.erp-modal__close {
	background: none; border: none; color: var(--wp--preset--color--erp-gray-400);
	font-size: 1.3rem; cursor: pointer; line-height: 1; padding: 0 4px;
	transition: var(--wp--custom--erp-transition);
}
.erp-modal__close:hover { color: var(--wp--preset--color--erp-gold); }
.erp-modal__body { padding: 20px 22px; }
.erp-modal__msg { font-size: 0.84rem; min-height: 0; margin: 0 0 10px; }
.erp-modal__msg:empty { display: none; }
.erp-modal__footer {
	display: flex; justify-content: flex-end; gap: 10px;
	padding: 16px 22px; border-top: 1px solid rgba(201,168,76,0.16);
}

/* ==========================================================
   NOTIFICATIONS DROPDOWN
   ========================================================== */
.erp-notif-wrap { position: relative; }
.erp-notif-dropdown {
	display: none;
	position: absolute; top: calc(100% + 10px); right: 0;
	width: 320px; max-height: 400px; overflow-y: auto;
	background: var(--wp--preset--color--erp-navy-mid);
	border: var(--wp--custom--erp-border-gold);
	border-radius: var(--wp--custom--erp-radius-md);
	box-shadow: var(--wp--custom--erp-shadow-lg);
	z-index: 60;
}
.erp-notif-dropdown.open { display: block; }
.erp-notif-dropdown__header {
	padding: 14px 18px; font-weight: 600; color: var(--wp--preset--color--erp-white);
	border-bottom: 1px solid rgba(201,168,76,0.16); font-size: 0.86rem;
}
.erp-notif-dropdown__item {
	padding: 12px 18px; font-size: 0.82rem; color: var(--wp--preset--color--erp-offwhite);
	border-bottom: 1px solid rgba(255,255,255,0.05);
}
.erp-notif-dropdown__item:last-child { border-bottom: none; }
.erp-notif-dropdown__empty { padding: 24px 18px; text-align: center; color: var(--wp--preset--color--erp-gray-600); font-size: 0.82rem; }
.erp-topbar__notif-dot {
	position: absolute; top: 6px; right: 7px;
	width: 8px; height: 8px; border-radius: 50%;
	background: var(--wp--preset--color--erp-red);
	box-shadow: 0 0 0 2px var(--wp--preset--color--erp-navy);
}

/* ==========================================================
   POS ITEM GRID (restaurant / bar)
   ========================================================== */
.erp-pos-items {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}
.erp-pos-item {
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(201,168,76,0.16);
	border-radius: var(--wp--custom--erp-radius-sm);
	padding: 14px; text-align: center; cursor: pointer;
	transition: var(--wp--custom--erp-transition);
}
.erp-pos-item:hover { border-color: var(--wp--preset--color--erp-gold); background: rgba(201,168,76,0.08); transform: translateY(-2px); }
.erp-pos-item__name { font-weight: 600; color: var(--wp--preset--color--erp-white); font-size: 0.86rem; margin: 0 0 4px; }
.erp-pos-item__price { color: var(--wp--preset--color--erp-gold-light); font-size: 0.8rem; margin: 0; }

@media (max-width: 900px) { .erp-pos-items { grid-template-columns: repeat(2, 1fr); } }

/* ==========================================================
   PAGINATION
   ========================================================== */
.erp-pagination .erp-btn { min-width: 34px; }
.erp-pagination span { color: var(--wp--preset--color--erp-gray-400); font-size: 0.82rem; padding: 0 6px; }

/* ==========================================================
   MISC TEXT / PLACEHOLDER STATES
   ========================================================== */
.erp-app [style*="color:var(--erp-text-secondary)"],
.erp-section-card__body > p:only-child {
	color: var(--wp--preset--color--erp-gray-400) !important;
}

/* ==========================================================
   ALFRED — AI OPERATIONS ASSISTANT WIDGET
   ========================================================== */
.erp-alfred-fab {
	position: fixed; right: 28px; bottom: 28px; z-index: 300;
	width: 56px; height: 56px; border-radius: 50%;
	background: var(--wp--preset--gradient--erp-gold-gradient);
	box-shadow: var(--wp--custom--erp-shadow-gold);
	border: none; font-size: 1.6rem; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: var(--wp--custom--erp-transition);
}
.erp-alfred-fab:hover { transform: scale(1.08); }
.erp-alfred-panel {
	position: fixed; right: 28px; bottom: 96px; z-index: 300;
	width: 340px; max-width: calc(100vw - 40px); height: 460px; max-height: 70vh;
	background: var(--wp--preset--color--erp-navy-mid);
	border: var(--wp--custom--erp-border-gold);
	border-radius: var(--wp--custom--erp-radius-md);
	box-shadow: 0 12px 40px rgba(0,0,0,0.5);
	display: flex; flex-direction: column; overflow: hidden;
}
.erp-alfred-panel__header {
	display: flex; align-items: center; justify-content: space-between;
	padding: 14px 16px; border-bottom: 1px solid rgba(201,168,76,0.18);
	background: rgba(201,168,76,0.06);
}
.erp-alfred-panel__header strong { color: var(--wp--preset--color--erp-white); font-size: 0.95rem; display: block; }
.erp-alfred-panel__header span { color: var(--wp--preset--color--erp-gold-light); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.04em; }
.erp-alfred-panel__header button { background: none; border: none; color: var(--wp--preset--color--erp-gray-400); font-size: 1.3rem; cursor: pointer; line-height: 1; }
.erp-alfred-panel__body { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.erp-alfred-msg { padding: 9px 12px; border-radius: 10px; font-size: 0.82rem; line-height: 1.45; max-width: 88%; }
.erp-alfred-msg--user { align-self: flex-end; background: var(--wp--preset--gradient--erp-gold-gradient); color: var(--wp--preset--color--erp-navy); font-weight: 500; }
.erp-alfred-msg--assistant { align-self: flex-start; background: rgba(255,255,255,0.05); color: var(--wp--preset--color--erp-offwhite); border: 1px solid rgba(201,168,76,0.14); }
.erp-alfred-panel__footer { display: flex; gap: 8px; padding: 12px; border-top: 1px solid rgba(201,168,76,0.18); }
.erp-alfred-panel__footer .erp-input { flex: 1; padding: 8px 10px; font-size: 0.82rem; }
@media (max-width: 620px) {
	.erp-alfred-fab { right: 16px; bottom: 16px; }
	.erp-alfred-panel { right: 16px; bottom: 80px; }
}

/* ==========================================================
   ACCESSIBILITY: REDUCED MOTION
   Disables/simplifies hover-lift, scale and easing transitions
   for users who have requested less motion at the OS level.
   ========================================================== */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
	.erp-kpi-card:hover, .erp-btn:hover, .erp-btn--primary:hover, .erp-auth-submit:hover, .erp-alfred-fab:hover {
		transform: none !important;
	}
}

/* ==========================================================
   PRINTING
   Guards against accidental Ctrl+P on the live app chrome —
   the branded letterhead documents (erp.js erpBuildPrintDoc /
   class-pdf.php) are the intended print surface and open in
   their own tab, so this is a safety net, not the primary path.
   ========================================================== */
@media print {
	.erp-sidebar, .erp-topbar, .erp-alfred-fab, .erp-alfred-panel,
	.erp-modal, .erp-btn, .erp-print-section, .erp-row-actions,
	#erp-notif-wrap, .erp-user-card, .erp-user-logout {
		display: none !important;
	}
	.erp-main { margin: 0 !important; padding: 0 !important; }
	body { background: #fff !important; }
	.erp-section-card { box-shadow: none !important; border: 1px solid #ddd !important; break-inside: avoid; }
	.erp-table th, .erp-table td { color: #111 !important; }
}
