/* ==========================================================================
   [wpab_owner_panel] — a distinct, premium "executive console" theme for
   the business owner, layered on top of the same .wpab-mgr-* markup and
   layout mechanics used by public/css/wpab-manage.css. Nothing structural
   changes here — only color, type, and spacing, scoped under .wpab-owner
   so the plain staff-facing [wpab_manage] panel is completely unaffected.
   ========================================================================== */

.wpab-owner {
	/* Aligned to the shared brand palette declared in
	   public/css/wpab-public.css (:root) — kept as local, prefixed
	   variables here too since this stylesheet is sometimes the only one
	   loaded standalone (defense in depth, not a hard dependency). */
	--wpab-owner-navy: #1e3a5c;
	--wpab-owner-navy-2: #14283f;
	--wpab-owner-gold: #c89a5b;
	--wpab-owner-gold-2: #d8b475;
	--wpab-owner-teal: #4c7c6c;
	--wpab-owner-teal-tint: #e3efe9;
	--wpab-owner-cream: #f8f6f1;
	--wpab-owner-ink: #1b2430;
	--wpab-owner-muted: #6b7280;
	--wpab-owner-border: #e7e2d6;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var( --wpab-owner-ink );
	max-width: 1200px;
}

.wpab-owner h2, .wpab-owner h3, .wpab-owner h4 {
	font-family: Georgia, "Iowan Old Style", "Palatino Linotype", serif;
	letter-spacing: .01em;
}

/* -------------------------------------------------------------------- */
/* Login screen                                                          */
/* -------------------------------------------------------------------- */

.wpab-owner-login-shell {
	display: flex;
	justify-content: center;
	padding: 48px 20px;
	background: radial-gradient( circle at top, var( --wpab-owner-navy-2 ), var( --wpab-owner-navy ) 70% );
	border-radius: 16px;
}

.wpab-owner-login-card {
	width: 100%;
	max-width: 380px;
	background: #fff;
	border-radius: 14px;
	padding: 36px 32px;
	box-shadow: 0 20px 50px rgba( 0, 0, 0, .35 );
	text-align: center;
}

.wpab-owner-badge {
	display: inline-block;
	background: linear-gradient( 135deg, var( --wpab-owner-gold-2 ), var( --wpab-owner-gold ) );
	color: var( --wpab-owner-navy );
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 5px 14px;
	border-radius: 20px;
	margin-bottom: 14px;
}

.wpab-owner-login-card h2 {
	margin: 6px 0 8px;
	font-size: 22px;
	color: var( --wpab-owner-navy );
}

.wpab-owner-sub {
	font-size: 13px;
	color: var( --wpab-owner-muted );
	line-height: 1.5;
	margin: 0 0 24px;
}

.wpab-owner-login-form { text-align: left; }
.wpab-owner-login-form label { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var( --wpab-owner-muted ); margin-bottom: 18px; }
.wpab-owner-login-form input[type=password] {
	display: block;
	width: 100%;
	margin-top: 8px;
	padding: 12px 14px;
	font-size: 15px;
	border: 1px solid var( --wpab-owner-border );
	border-radius: 8px;
	box-sizing: border-box;
	background: var( --wpab-owner-cream );
}
.wpab-owner-login-form input[type=password]:focus {
	outline: none;
	border-color: var( --wpab-owner-gold );
	box-shadow: 0 0 0 3px rgba( 200, 162, 74, .2 );
}

.wpab-owner-login-btn {
	width: 100%;
	background: var( --wpab-owner-navy ) !important;
	border-color: var( --wpab-owner-navy ) !important;
	padding: 12px !important;
	font-weight: 700;
	letter-spacing: .02em;
	border-radius: 8px !important;
}
.wpab-owner-login-btn:hover { background: #060b16 !important; }

/* -------------------------------------------------------------------- */
/* App shell — sidebar navigation instead of a top tab bar               */
/* -------------------------------------------------------------------- */

.wpab-owner .wpab-mgr-app {
	display: flex;
	align-items: stretch;
	border: 1px solid var( --wpab-owner-border );
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 10px 40px rgba( 15, 23, 42, .1 );
	background: #fff;
}

.wpab-owner .wpab-mgr-header {
	flex: 0 0 240px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 28px;
	background: linear-gradient( 180deg, var( --wpab-owner-navy ), var( --wpab-owner-navy-2 ) );
	color: #fff;
	padding: 28px 20px;
	border-bottom: none;
}

.wpab-mgr-brand { display: flex; flex-direction: column; gap: 8px; }
.wpab-mgr-brand-badge {
	align-self: flex-start;
	background: linear-gradient( 135deg, var( --wpab-owner-gold-2 ), var( --wpab-owner-gold ) );
	color: var( --wpab-owner-navy );
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 20px;
}
.wpab-mgr-brand-name {
	font-family: Georgia, "Iowan Old Style", "Palatino Linotype", serif;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
}

.wpab-owner .wpab-mgr-tabs { flex-direction: column; gap: 3px; flex: 1; }
.wpab-owner .wpab-mgr-tab-btn {
	width: 100%;
	text-align: left;
	border-radius: 8px;
	padding: 10px 14px;
	color: #cbd5e1;
	font-weight: 600;
}
.wpab-owner .wpab-mgr-tab-btn:hover { background: rgba( 255, 255, 255, .06 ); color: #fff; }
.wpab-owner .wpab-mgr-tab-btn.active {
	background: linear-gradient( 135deg, var( --wpab-owner-gold-2 ), var( --wpab-owner-gold ) );
	color: var( --wpab-owner-navy );
}

.wpab-owner .wpab-mgr-logout {
	margin-left: 0;
	color: #cbd5e1;
	border: 1px solid rgba( 255, 255, 255, .18 );
	border-radius: 8px;
	padding: 9px 14px;
	text-align: center;
	font-weight: 600;
}
.wpab-owner .wpab-mgr-logout:hover { border-color: rgba( 255, 255, 255, .4 ); color: #fff; }

.wpab-owner .wpab-mgr-panels {
	flex: 1;
	min-width: 0;
	padding: 30px 34px;
	background: var( --wpab-owner-cream );
}

/* -------------------------------------------------------------------- */
/* Content refinements                                                   */
/* -------------------------------------------------------------------- */

.wpab-owner .wpab-mgr-stat-grid { gap: 16px; margin-bottom: 28px; }
.wpab-owner .wpab-mgr-stat-card {
	border: 1px solid var( --wpab-owner-border );
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 1px 2px rgba( 15, 23, 42, .04 );
}
.wpab-owner .wpab-mgr-stat-value { color: var( --wpab-owner-navy ); font-family: Georgia, serif; font-size: 26px; }
.wpab-owner .wpab-mgr-stat-label { color: var( --wpab-owner-muted ); }

.wpab-owner .wpab-mgr-table {
	background: #fff;
	border: 1px solid var( --wpab-owner-border );
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba( 15, 23, 42, .04 );
}
.wpab-owner .wpab-mgr-table th {
	background: var( --wpab-owner-cream );
	color: var( --wpab-owner-navy );
	font-weight: 700;
}
.wpab-owner .wpab-mgr-table td, .wpab-owner .wpab-mgr-table th { border-bottom-color: var( --wpab-owner-border ); }

.wpab-owner .wpab-link-btn { color: var( --wpab-owner-navy ); font-weight: 600; text-decoration: none; border-bottom: 1px solid var( --wpab-owner-gold ); }
.wpab-owner .wpab-link-btn:hover { color: var( --wpab-owner-gold ); }

.wpab-owner .wpab-mgr-col-side {
	background: #fff;
	border: 1px solid var( --wpab-owner-border );
	box-shadow: 0 1px 2px rgba( 15, 23, 42, .04 );
}
.wpab-owner .wpab-mgr-col-side h3 { color: var( --wpab-owner-navy ); }

.wpab-owner .wpab-mgr-form input[type=text],
.wpab-owner .wpab-mgr-form input[type=email],
.wpab-owner .wpab-mgr-form input[type=url],
.wpab-owner .wpab-mgr-form input[type=number],
.wpab-owner .wpab-mgr-form input[type=password],
.wpab-owner .wpab-mgr-form input[type=search],
.wpab-owner .wpab-mgr-form select,
.wpab-owner .wpab-mgr-form textarea {
	border-color: var( --wpab-owner-border );
	background: var( --wpab-owner-cream );
}
.wpab-owner .wpab-mgr-form input:focus,
.wpab-owner .wpab-mgr-form select:focus,
.wpab-owner .wpab-mgr-form textarea:focus {
	outline: none;
	border-color: var( --wpab-owner-gold );
	box-shadow: 0 0 0 3px rgba( 200, 162, 74, .18 );
}

.wpab-owner .wpab-btn-primary {
	background: var( --wpab-owner-navy );
	border-color: var( --wpab-owner-navy );
}
.wpab-owner .wpab-btn-primary:hover { background: #060b16; }

.wpab-owner .wpab-pill-active, .wpab-owner .wpab-pill-confirmed { background: #e7f4ea; color: #1e5631; }
.wpab-owner .wpab-pill-pending { background: #faf1de; color: #8a5a12; }
.wpab-owner .wpab-pill-cancelled, .wpab-owner .wpab-pill-inactive { background: #f8e6e6; color: #8a2c2c; }
.wpab-owner .wpab-pill-completed { background: var( --wpab-owner-teal-tint ); color: var( --wpab-owner-navy ); }
.wpab-owner .wpab-pill-no_show { background: #ece7f2; color: #4a3d63; }

.wpab-owner .wpab-mgr-flash-ok { background: #e7f4ea; color: #1e5631; }
.wpab-owner .wpab-mgr-flash-error { background: #f8e6e6; color: #8a2c2c; }

.wpab-owner .wpab-mgr-warning { background: #faf1de; border-color: #ecd9ad; color: #8a5a12; }

/* Bookings tab reuses the [wpab_front_desk] widget markup; blend it into
   the same cream/navy palette instead of its default light-blue accents. */
.wpab-owner .wpab-fd-toolbar input[type=search],
.wpab-owner .wpab-fd-toolbar select { border-color: var( --wpab-owner-border ); background: #fff; }
.wpab-owner .wpab-fd-card { background: #fff; border-color: var( --wpab-owner-border ); }
.wpab-owner .wpab-fd-ref { color: var( --wpab-owner-navy ); }
.wpab-owner .wpab-fd-doc { background: var( --wpab-owner-cream ); color: var( --wpab-owner-navy ); }

@media ( max-width: 760px ) {
	.wpab-owner .wpab-mgr-app { flex-direction: column; }
	.wpab-owner .wpab-mgr-header { flex-direction: row; flex-wrap: wrap; align-items: center; }
	.wpab-owner .wpab-mgr-tabs { flex-direction: row; flex-wrap: wrap; }
	.wpab-owner .wpab-mgr-panels { padding: 20px; }
}
