/*
 * PrimeSpot Restaurant Operations visual system — v1.20.1
 * Consistent public portals, staff workspaces and operational dashboards.
 */
:root {
	--ps-brand-black: #090909;
	--ps-brand-charcoal: #171510;
	--ps-brand-gold: #c89524;
	--ps-brand-gold-light: #e8bd55;
	--ps-brand-gold-soft: #f6ecd3;
	--ps-brand-ivory: #f7f4ed;
	--ps-brand-white: #fff;
	--ps-brand-ink: #191711;
	--ps-brand-muted: #716b60;
	--ps-brand-line: #e2dacb;
	--ps-brand-success: #247147;
	--ps-brand-warning: #9a6417;
	--ps-brand-danger: #9d342a;
	--ps-brand-radius: 20px;
	--ps-brand-shadow: 0 16px 46px rgba( 26, 19, 6, .08 );
	--ps-brand-shadow-lg: 0 28px 78px rgba( 16, 11, 3, .14 );
	--ps-brand-serif: Georgia, "Times New Roman", serif;
	--ps-brand-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Shared layout */
:where( .ps-access-page, .ps-growth-front, .ps-growth-login, .ps-corp-public, .ps-corporate-portal, .ps-tracker, .ps-cashier, .ps-ops, .ps-loyalty, .ps-feedback-card, .ps-rider-summary ) { box-sizing: border-box; font-family: var( --ps-brand-sans ); color: var( --ps-brand-ink ); }
:where( .ps-access-page, .ps-growth-front, .ps-growth-login, .ps-corp-public, .ps-corporate-portal, .ps-tracker, .ps-cashier, .ps-ops, .ps-loyalty, .ps-feedback-card ) *, .ps-wrap * { box-sizing: border-box; }
:where( .ps-access-page, .ps-growth-front, .ps-corp-public, .ps-corporate-portal, .ps-tracker, .ps-cashier, .ps-ops, .ps-loyalty, .ps-feedback-card ) a { text-underline-offset: 3px; }
:where( .ps-access-page, .ps-growth-front, .ps-corp-public, .ps-corporate-portal, .ps-tracker, .ps-cashier, .ps-ops, .ps-loyalty, .ps-feedback-card ) :where( input, select, textarea, button ) { font: inherit; }
:where( .ps-access-page, .ps-growth-front, .ps-corp-public, .ps-corporate-portal, .ps-tracker, .ps-cashier, .ps-ops, .ps-loyalty, .ps-feedback-card ) :where( a, button, input, select, textarea ):focus-visible { outline: 3px solid rgba( 232, 189, 85, .58 ); outline-offset: 3px; }

/* Signature hero panels */
.ps-access-page > header,
.ps-growth-front > header,
.ps-growth-login,
.ps-corp-public-hero,
.ps-corporate-portal > header,
.ps-corp-login,
.ps-tracker-intro,
.ps-cashier > header,
.ps-ops-hero,
.ps-loyalty > header,
.ps-feedback-card {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border: 1px solid rgba( 232, 189, 85, .55 ) !important;
	border-radius: 26px !important;
	background: radial-gradient( circle at 84% 16%, rgba( 199, 145, 30, .28 ), transparent 26% ), linear-gradient( 125deg, #060606, #18150e ) !important;
	color: #fff !important;
	box-shadow: var( --ps-brand-shadow-lg );
}
.ps-access-page > header:before,
.ps-growth-front > header:before,
.ps-corp-public-hero:before,
.ps-corporate-portal > header:before,
.ps-tracker-intro:before,
.ps-cashier > header:before,
.ps-ops-hero:before,
.ps-loyalty > header:before,
.ps-feedback-card:before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	opacity: .15;
	background-image: linear-gradient( rgba( 255, 255, 255, .03 ) 1px, transparent 1px ), linear-gradient( 90deg, rgba( 255, 255, 255, .03 ) 1px, transparent 1px );
	background-size: 48px 48px;
}
:where( .ps-access-page > header, .ps-growth-front > header, .ps-corp-public-hero, .ps-corporate-portal > header, .ps-tracker-intro, .ps-cashier > header, .ps-ops-hero, .ps-loyalty > header, .ps-feedback-card ) :where( small, span:first-child ) { color: var( --ps-brand-gold-light ) !important; font-size: 11px; font-weight: 900; letter-spacing: 2.2px; text-transform: uppercase; }
:where( .ps-access-page > header, .ps-growth-front > header, .ps-corp-public-hero, .ps-corporate-portal > header, .ps-tracker-intro, .ps-cashier > header, .ps-ops-hero, .ps-loyalty > header, .ps-feedback-card ) h1 { max-width: 880px; margin: 10px 0 12px !important; color: #fff !important; font: 700 clamp( 42px, 5.5vw, 68px )/.98 var( --ps-brand-serif ) !important; letter-spacing: -2.4px; text-wrap: balance; }
:where( .ps-access-page > header, .ps-growth-front > header, .ps-corp-public-hero, .ps-corporate-portal > header, .ps-tracker-intro, .ps-cashier > header, .ps-ops-hero, .ps-loyalty > header, .ps-feedback-card ) p { max-width: 790px; margin-bottom: 0; color: #c5c0b8 !important; font-size: 17px; line-height: 1.7; }

/* Public access, membership and affiliate pages */
.ps-access-page { width: min( 1220px, calc( 100% - 40px ) ); margin: 38px auto 86px; }
.ps-access-page > header { min-height: 315px; display: grid; align-content: center; padding: clamp( 40px, 5vw, 64px ) !important; }
.ps-access-page > header:after { right: 18px !important; bottom: -45px !important; color: rgba( 255, 255, 255, .035 ) !important; font: 900 clamp( 68px, 10vw, 140px )/1 var( --ps-brand-sans ) !important; letter-spacing: -7px; }
.ps-access-benefit-block { grid-template-columns: minmax( 220px, .6fr ) minmax( 0, 1.4fr ); gap: 30px; margin: 24px 0; padding: 34px; border-color: var( --ps-brand-line ); border-radius: var( --ps-brand-radius ); box-shadow: var( --ps-brand-shadow ); }
.ps-access-benefit-block h2, .ps-access-grid h2, .ps-role-card h2 { color: var( --ps-brand-ink ); font-family: var( --ps-brand-serif ) !important; letter-spacing: -.7px; }
.ps-access-benefits { gap: 13px; }
.ps-access-benefits article { min-height: 102px; align-items: flex-start; padding: 17px; border-color: #e9dfcc; border-radius: 14px; background: #fbf8f1; }
.ps-access-benefits i { width: 30px; height: 30px; flex-basis: 30px; background: var( --ps-brand-black ); color: var( --ps-brand-gold-light ); box-shadow: 0 6px 16px rgba( 0, 0, 0, .12 ); }
.ps-access-benefits strong { color: var( --ps-brand-ink ); font-size: 14px; }
.ps-access-benefits span { color: var( --ps-brand-muted ); font-size: 12px; }
.ps-access-grid { grid-template-columns: minmax( 0, 1.12fr ) minmax( 320px, .88fr ); gap: 24px; margin-top: 24px; }
.ps-access-grid > div, .ps-access-grid > aside { padding: clamp( 28px, 4vw, 42px ); border-color: var( --ps-brand-line ); border-radius: var( --ps-brand-radius ); box-shadow: var( --ps-brand-shadow ); }
.ps-access-grid > aside { border-color: #3a3120; background: radial-gradient( circle at 100% 0, rgba( 200, 149, 36, .17 ), transparent 32% ), #10100f; }
.ps-access-grid > aside h2 { color: #fff; }
.ps-access-grid > aside li, .ps-access-grid > aside p { color: #bcb8b0; }
.ps-access-grid > aside ol { gap: 17px; }
.ps-access-grid > aside ol li::marker { color: var( --ps-brand-gold-light ); font-weight: 900; }
.ps-access-form, .ps-access-grid form#loginform { gap: 17px; }
.ps-access-form label, .ps-access-grid form#loginform p { color: #39342a; font-size: 13px; }
.ps-access-form input, .ps-access-grid form#loginform input[type="text"], .ps-access-grid form#loginform input[type="password"] { min-height: 54px; border: 1px solid #d5cbb7; border-radius: 11px; background: #fff; transition: border-color .2s, box-shadow .2s; }
.ps-access-form input:focus, .ps-access-grid form#loginform input:focus { border-color: var( --ps-brand-gold ); box-shadow: 0 0 0 4px rgba( 200, 149, 36, .11 ); outline: 0; }
.ps-access-form button, .ps-access-grid form#loginform input[type="submit"], .ps-primary-action { min-height: 54px; border-radius: 11px; background: linear-gradient( 135deg, #efca6c, #c69120 ); box-shadow: 0 10px 24px rgba( 176, 122, 10, .19 ); }
.ps-access-switch { margin: 20px 0 0; padding-top: 18px; border-top: 1px solid var( --ps-brand-line ); color: var( --ps-brand-muted ); }
.ps-access-switch a, .ps-forgot { color: #886112; }
.ps-account-intro { border-radius: 24px; box-shadow: var( --ps-brand-shadow-lg ); }
.ps-role-card { border-color: var( --ps-brand-line ); border-radius: var( --ps-brand-radius ); box-shadow: var( --ps-brand-shadow ); }
.ps-role-icon { background: var( --ps-brand-black ); color: var( --ps-brand-gold-light ); }

/* Growth, affiliate, rider and club surfaces */
.ps-growth-front { width: min( 1240px, calc( 100% - 40px ) ); margin: 38px auto 86px; padding: 0; }
.ps-growth-front > header { min-height: 315px; padding: clamp( 40px, 5vw, 64px ) !important; }
.ps-growth-front .ps-growth-kpis { gap: 16px; margin-block: 22px; }
.ps-growth-kpis article, .ps-rider-summary > div, .ps-rider-summary > a { min-width: 0; padding: 23px; border-color: var( --ps-brand-line ); border-radius: 16px; box-shadow: var( --ps-brand-shadow ); }
.ps-growth-kpis strong, .ps-rider-summary strong { color: #765410; }
.ps-referral-link, .ps-club-form, .ps-plan-grid article, .ps-club-steps article { border-color: var( --ps-brand-line ); box-shadow: var( --ps-brand-shadow ); }
.ps-referral-link, .ps-club-form { border-radius: var( --ps-brand-radius ); }
.ps-referral-link input, .ps-growth-form input, .ps-growth-form select, .ps-growth-form textarea, .ps-club-form input, .ps-club-form select, .ps-club-form textarea { min-height: 52px; border: 1px solid #d5cbb7; border-radius: 10px; background: #fff; }
.ps-plan-grid { gap: 18px; }
.ps-plan-grid article { min-height: 300px; padding: 30px; border-radius: 20px; }
.ps-plan-grid article.is-featured { border: 2px solid var( --ps-brand-gold ); transform: translateY( -4px ); box-shadow: 0 22px 55px rgba( 173, 119, 10, .16 ); }
.ps-plan-grid h2 { font-size: 27px; }
.ps-plan-grid strong { color: #805b11; font-size: 29px; }
.ps-plan-grid ul { margin-top: auto; font-size: 13px; }
.ps-club-steps { gap: 16px; }
.ps-club-steps article { min-height: 112px; align-content: center; border-radius: 16px; }
.ps-club-steps b { background: var( --ps-brand-black ); color: var( --ps-brand-gold-light ); }
.ps-member-status { border-color: var( --ps-brand-gold ); border-radius: 20px; background: radial-gradient( circle at 85% 15%, rgba( 200, 149, 36, .22 ), transparent 30% ), linear-gradient( 135deg, #090909, #201909 ); box-shadow: var( --ps-brand-shadow-lg ); }
.ps-member-status h2 { color: #fff; }
.ps-rider-summary { width: min( 1200px, calc( 100% - 40px ) ); padding: 0; }
.ps-rider-summary > a { background: linear-gradient( 135deg, #efca6c, #c69120 ); color: #111; }

/* Corporate portal */
.ps-corp-public { width: min( 1240px, calc( 100% - 40px ) ); margin: 38px auto 86px; padding: 0; }
.ps-corp-public-hero { min-height: 350px; display: grid; align-content: center; padding: clamp( 42px, 6vw, 74px ) !important; }
.ps-corp-public-hero > div { flex-wrap: wrap; }
.ps-corp-process { gap: 18px; margin: 24px 0; }
.ps-corp-process article { min-height: 190px; padding: 29px; border-color: var( --ps-brand-line ); border-radius: 18px; box-shadow: var( --ps-brand-shadow ); }
.ps-corp-process b { color: #eee5d2; font: 700 44px/1 var( --ps-brand-serif ); }
.ps-corp-process h3 { margin-top: 26px; }
.ps-corp-public-grid { grid-template-columns: minmax( 0, 1.65fr ) minmax( 310px, .7fr ); gap: 24px; }
.ps-corp-form-panel, .ps-corp-aside { padding: clamp( 30px, 4vw, 44px ); border-color: var( --ps-brand-line ); border-radius: 22px; box-shadow: var( --ps-brand-shadow ); }
.ps-corp-form-panel h2, .ps-corp-aside h2, .ps-corp-panel h2 { color: var( --ps-brand-ink ); font-family: var( --ps-brand-serif ); }
.ps-corp-aside { top: 106px; border-color: #3a3120; background: radial-gradient( circle at 100% 0, rgba( 200, 149, 36, .17 ), transparent 34% ), #10100f; }
.ps-corp-aside h2 { color: #fff; }
.ps-corp-form-grid { gap: 18px; }
.ps-corp-form-grid input, .ps-corp-form-grid select, .ps-corp-form-grid textarea, .ps-corp-panel input, .ps-corp-panel select, .ps-corp-panel textarea { min-height: 52px; border-color: #d5cbb7; border-radius: 10px; background: #fff; }
.ps-corp-submit { min-height: 56px !important; }
.ps-corporate-portal { width: min( 1240px, calc( 100% - 40px ) ); margin: 38px auto 86px; padding: 0; }
.ps-corporate-portal > header { min-height: 280px; display: grid; align-content: center; padding: clamp( 38px, 5vw, 60px ) !important; }
.ps-corp-stats { gap: 16px; margin: 22px 0; }
.ps-corp-stats > div, .ps-corp-panel { border-color: var( --ps-brand-line ); border-radius: 18px; box-shadow: var( --ps-brand-shadow ); }
.ps-corp-payment-panel { border-radius: 22px; background: radial-gradient( circle at 85% 10%, rgba( 200, 149, 36, .17 ), transparent 28% ), #10100f; box-shadow: var( --ps-brand-shadow-lg ); }

/* Order tracking, cashier and live operational cards */
.ps-tracker, .ps-cashier, .ps-ops { width: min( 1180px, calc( 100% - 40px ) ); margin: 38px auto 86px; padding: 0; --green: var( --ps-brand-black ); --lime: var( --ps-brand-gold-light ); }
.ps-tracker-intro, .ps-cashier > header, .ps-ops-hero { min-height: 260px; display: flex; align-items: center; padding: clamp( 38px, 5vw, 58px ) !important; }
.ps-track-form, .ps-track-card, .ps-op-order, .ps-ops .ps-empty, .ps-cashier-table { border-color: var( --ps-brand-line ); border-radius: 18px; box-shadow: var( --ps-brand-shadow ); }
.ps-track-form { gap: 16px; padding: 28px; }
.ps-track-form input { min-height: 52px; border-color: #d5cbb7; border-radius: 10px; }
.ps-track-form button, .ps-payment-action, .ps-action, .ps-action-primary { min-height: 46px; border-radius: 10px !important; background: var( --ps-brand-black ) !important; color: #fff !important; }
.ps-action-primary { background: linear-gradient( 135deg, #efca6c, #c69120 ) !important; color: #111 !important; }
.ps-track-card { padding: 28px; }
.ps-track-card header > span { background: var( --ps-brand-gold-soft ); color: #765410; }
.ps-track-step.is-done { color: #805d16; }
.ps-track-step.is-done i, .ps-track-step.is-done:not( :last-child ):after { background: var( --ps-brand-gold ); }
.ps-track-summary > div, .ps-cashier-stats > div { border: 1px solid #e8dfce; border-radius: 13px; background: #fbf9f4; }
.ps-cashier-stats strong { color: #765410; }
.ps-cashier-table { background: #fff; }
.ps-cashier th { background: #f7f3ea; color: #5d5547; font-size: 11px; letter-spacing: .7px; text-transform: uppercase; }
.ps-ops-toolbar { align-items: center; gap: 14px; }
.ps-ops .ps-orders { gap: 18px; }
.ps-op-order { padding: 22px; }
.ps-op-order h3 { font-family: var( --ps-brand-serif ); font-size: 23px; }
.ps-op-order header span, .ps-status { background: #f0eadf; color: #675c4a; }
.ps-note { border-left-color: var( --ps-brand-gold ); background: #fbf5e5; }
.ps-rider-delivery { border-color: #dfd2b8; border-radius: 14px; background: #fbf7ed; }
.ps-rider-delivery h4 { color: #805b12; }

/* Loyalty and feedback */
.ps-loyalty, .ps-feedback-card { width: min( 1080px, calc( 100% - 40px ) ); margin: 38px auto 86px; }
.ps-loyalty > header, .ps-feedback-card { padding: clamp( 38px, 5vw, 58px ); }
.ps-loyalty-grid { gap: 20px; margin: 22px 0; }
.ps-loyalty-grid article, .ps-loyalty-history { padding: 30px; border-color: var( --ps-brand-line ); border-radius: 18px; box-shadow: var( --ps-brand-shadow ); }
.ps-loyalty input, .ps-feedback-card select, .ps-feedback-card textarea { min-height: 52px; border-color: #d5cbb7; border-radius: 10px; }

/* PWA prompt */
.ps-install-app { right: 20px; bottom: calc( 20px + env( safe-area-inset-bottom ) ); border-color: var( --ps-brand-gold ); border-radius: 20px; background: rgba( 9, 9, 9, .97 ); box-shadow: 0 24px 78px rgba( 0, 0, 0, .42 ); }
.ps-install-accept { min-height: 44px; border-radius: 10px; background: linear-gradient( 135deg, #efca6c, #c69120 ); }

/* WordPress admin command centre */
body.wp-admin { overflow-x: hidden; }
body.wp-admin #wpwrap, body.wp-admin #wpcontent, body.wp-admin #wpbody, body.wp-admin #wpbody-content { min-width: 0; max-width: 100%; }
.ps-wrap { --green: var( --ps-brand-black ); --lime: var( --ps-brand-gold-light ); width: calc( 100% - 20px ); min-width: 0; max-width: 1500px; margin: 26px 20px 50px 0; color: var( --ps-brand-ink ); font-family: var( --ps-brand-sans ); }
.ps-wrap, .ps-wrap *, .ps-wrap *:before, .ps-wrap *:after { box-sizing: border-box; }
.ps-wrap .ps-hero, .ps-command-hero { border: 1px solid rgba( 232, 189, 85, .55 ) !important; border-radius: 22px !important; background: radial-gradient( circle at 85% 15%, rgba( 200, 149, 36, .24 ), transparent 28% ), linear-gradient( 125deg, #060606, #18150e ) !important; box-shadow: var( --ps-brand-shadow-lg ); }
.ps-wrap .ps-hero, .ps-wrap .ps-grid, .ps-wrap .ps-card, .ps-wrap .ps-panel { min-width: 0; max-width: 100%; }
.ps-wrap .ps-hero h1, .ps-command-hero h1 { color: #fff !important; font-family: var( --ps-brand-serif ); letter-spacing: -1px; }
.ps-wrap .ps-kicker, .ps-command-hero small { color: var( --ps-brand-gold-light ) !important; }
.ps-wrap .ps-grid, .ps-command-kpis { gap: 16px; }
.ps-wrap .ps-card, .ps-wrap .ps-panel, .ps-command-panel, .ps-command-kpis article, .ps-admin-corp-card { border-color: var( --ps-brand-line ) !important; border-radius: 16px !important; background: #fff; box-shadow: var( --ps-brand-shadow ); }
.ps-wrap .ps-card strong, .ps-command-kpis strong { color: #765410 !important; }
.ps-wrap input, .ps-wrap select, .ps-wrap textarea { min-height: 44px; border-color: #cfc5b1; border-radius: 8px; }
.ps-wrap table { border-collapse: collapse; }
.ps-wrap th { color: #655c4d; font-size: 11px; letter-spacing: .6px; text-transform: uppercase; }
.ps-wrap .button-primary { border-color: var( --ps-brand-gold ) !important; background: var( --ps-brand-gold ) !important; color: #111 !important; }
.ps-wrap .ps-actions { flex-wrap: wrap; }
.ps-wrap .ps-actions form { min-width: 0; margin: 0; }
.ps-wrap .ps-actions .button { min-height: 44px; height: auto; white-space: normal; }
.ps-wrap .ps-panel > form.ps-promotion-form { display: grid; grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 14px; align-items: end; }
.ps-promotion-form label { display: grid; min-width: 0; gap: 6px; color: #403a30; font-weight: 700; }
.ps-promotion-form :where( input, select, button ) { width: 100%; max-width: none; }
.ps-promotion-form .button { min-height: 44px; }

/* Table resilience */
.ps-growth-table, .ps-corp-table-wrap, .ps-corp-panel, .ps-loyalty-history, .ps-report-table, .ps-cashier-table { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
:where( .ps-growth-table, .ps-corp-table-wrap, .ps-loyalty-history, .ps-report-table, .ps-cashier-table ) table { min-width: 680px; }
.ps-table-scroll { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; border: 1px solid #d7d2c8; border-radius: 10px; background: #fff; -webkit-overflow-scrolling: touch; overscroll-behavior-inline: contain; }
.ps-table-scroll:focus-visible { outline: 3px solid rgba( 200, 149, 36, .45 ); outline-offset: 3px; }
.ps-table-scroll table { width: 100%; min-width: 680px; margin: 0; border: 0; }
.ps-table-scroll th, .ps-table-scroll td { padding: 12px 14px; vertical-align: top; }
.ps-table-scroll th { white-space: nowrap; }
.ps-table-scroll td { overflow-wrap: anywhere; }
.ps-table-scroll .ps-inline-form { min-width: 230px; }
.ps-empty-row td { height: 92px; color: #766f63; text-align: center; vertical-align: middle; font-style: italic; }
.ps-feedback-admin { overflow: visible; }

@media ( hover: hover ) {
	.ps-access-form button:hover, .ps-access-grid form#loginform input[type="submit"]:hover, .ps-primary-action:hover, .ps-rider-summary > a:hover { filter: brightness( 1.04 ); transform: translateY( -2px ); }
	.ps-access-benefits article:hover, .ps-corp-process article:hover, .ps-plan-grid article:hover, .ps-op-order:hover { border-color: #d2b66f; transform: translateY( -2px ); }
}

@media ( max-width: 980px ) {
	.ps-access-benefit-block, .ps-access-grid, .ps-corp-public-grid, .ps-growth-columns { grid-template-columns: 1fr; }
	.ps-corp-aside { position: static; }
	.ps-corp-process { grid-template-columns: 1fr 1fr; }
	.ps-plan-grid { grid-template-columns: 1fr; }
	.ps-plan-grid article.is-featured { transform: none; }
	.ps-ops .ps-orders { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
}

@media ( max-width: 760px ) {
	body.wp-admin #wpcontent { margin-left: 0; padding-left: 0; }
	body.wp-admin #wpbody-content { padding-bottom: 48px; }
	.ps-wrap { width: calc( 100% - 20px ); margin: 16px 10px 50px; }
	.ps-wrap .ps-hero { align-items: flex-start; padding: 28px 22px !important; border-radius: 20px !important; }
	.ps-wrap .ps-hero h1 { overflow-wrap: anywhere; font-size: clamp( 34px, 9.5vw, 45px ) !important; line-height: 1.02; }
	.ps-wrap .ps-hero p { font-size: 14px; line-height: 1.55; }
	.ps-wrap .ps-panel { padding: 20px 16px !important; overflow: visible; }
	.ps-wrap .ps-panel h2 { overflow-wrap: anywhere; font-size: 22px; line-height: 1.12; }
	.ps-wrap .ps-card { padding: 18px; }
	.ps-wrap .ps-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
	.ps-wrap .ps-actions form, .ps-wrap .ps-actions .button { width: 100%; }
	.ps-wrap .ps-panel > form.ps-promotion-form { grid-template-columns: 1fr; }
	.ps-wrap .form-table :where( input:not( [type="checkbox"] ):not( [type="radio"] ), select, textarea ) { width: 100%; max-width: none; }
	.ps-table-scroll { box-shadow: inset -18px 0 16px -20px rgba( 0, 0, 0, .45 ); }
	.ps-table-scroll table { min-width: 640px; font-size: 13px; }
	.ps-table-scroll th, .ps-table-scroll td { padding: 11px 12px; }
	.ps-access-page, .ps-growth-front, .ps-corp-public, .ps-corporate-portal, .ps-tracker, .ps-cashier, .ps-ops, .ps-loyalty, .ps-feedback-card { width: min( 100% - 24px, 1240px ); margin-top: 18px; margin-bottom: 64px; }
	.ps-access-page > header, .ps-growth-front > header, .ps-corp-public-hero, .ps-corporate-portal > header, .ps-tracker-intro, .ps-cashier > header, .ps-ops-hero, .ps-loyalty > header, .ps-feedback-card { min-height: 0; padding: 36px 25px !important; border-radius: 21px !important; }
	:where( .ps-access-page > header, .ps-growth-front > header, .ps-corp-public-hero, .ps-corporate-portal > header, .ps-tracker-intro, .ps-cashier > header, .ps-ops-hero, .ps-loyalty > header, .ps-feedback-card ) h1 { font-size: clamp( 40px, 11vw, 54px ) !important; letter-spacing: -1.8px; }
	:where( .ps-access-page > header, .ps-growth-front > header, .ps-corp-public-hero, .ps-corporate-portal > header, .ps-tracker-intro, .ps-cashier > header, .ps-ops-hero, .ps-loyalty > header, .ps-feedback-card ) p { font-size: 15px; }
	.ps-access-benefit-block, .ps-access-grid > div, .ps-access-grid > aside, .ps-corp-form-panel, .ps-corp-aside, .ps-club-form, .ps-referral-link, .ps-track-form, .ps-track-card { padding: 24px 20px; }
	.ps-access-benefits, .ps-access-form, .ps-access-grid form#loginform, .ps-growth-form, .ps-corp-form-grid, .ps-corp-process, .ps-corp-stats, .ps-corp-grid, .ps-track-form, .ps-loyalty-grid { grid-template-columns: 1fr; }
	.ps-access-form button, .ps-access-grid form#loginform input[type="submit"], .ps-corp-wide, .ps-growth-form .wide { grid-column: auto; }
	.ps-club-steps { grid-template-columns: 1fr; }
	.ps-rider-summary { grid-template-columns: 1fr 1fr; }
	.ps-ops-hero { align-items: flex-start; flex-direction: column; gap: 18px; }
	.ps-ops .ps-orders { grid-template-columns: 1fr; }
	.ps-cashier-stats, .ps-track-summary { grid-template-columns: 1fr 1fr; }
	.ps-corp-payment-panel > article { grid-template-columns: 1fr; }
	.ps-install-app { left: 12px; right: 12px; bottom: calc( 12px + env( safe-area-inset-bottom ) ); }
}

@media ( max-width: 520px ) {
	.ps-access-benefit-block, .ps-role-card, .ps-plan-grid article, .ps-member-status { padding: 21px 17px; }
	.ps-access-benefits { grid-template-columns: 1fr; }
	.ps-access-benefits article { min-height: 0; }
	.ps-referral-link { grid-template-columns: 1fr; }
	.ps-rider-summary, .ps-cashier-stats, .ps-track-summary { grid-template-columns: 1fr; }
	.ps-rider-summary > a { grid-column: auto; }
	.ps-member-meta { display: grid; grid-template-columns: 1fr; }
	.ps-member-meta span { min-width: 0; }
	.ps-ops-toolbar { align-items: stretch; flex-direction: column; }
	.ps-op-order { padding: 18px; }
	.ps-op-order header, .ps-op-order footer { align-items: flex-start; flex-direction: column; }
	.ps-status-actions, .ps-status-actions button { width: 100%; }
	.ps-action, .ps-action-primary { width: 100%; }
	.ps-role-actions { display: grid; }
	.ps-role-actions a { width: 100%; }
}

/* Keep every PrimeSpot admin screen anchored to the mobile viewport. */
@media ( max-width: 782px ) {
	html.wp-toolbar, body.wp-admin { width: 100% !important; min-width: 0 !important; max-width: 100vw !important; overflow-x: hidden !important; }
	body.wp-admin #wpadminbar { right: 0 !important; left: 0 !important; width: 100vw !important; min-width: 0 !important; max-width: 100vw !important; }
	body.wp-admin #wpwrap, body.wp-admin #wpcontent, body.wp-admin #wpbody, body.wp-admin #wpbody-content { width: 100% !important; min-width: 0 !important; max-width: 100vw !important; overflow-x: hidden !important; }
	body.wp-admin #wpcontent { margin-left: 0 !important; padding-left: 0 !important; }
	.ps-wrap { width: auto !important; min-width: 0 !important; max-width: none !important; margin: 16px 10px 50px !important; overflow: hidden !important; }
	.ps-wrap > *, .ps-wrap .ps-grid > *, .ps-wrap .ps-growth-columns > *, .ps-wrap .ps-report-grid > * { min-width: 0 !important; max-width: 100% !important; }
	.ps-wrap .ps-hero, .ps-wrap .ps-card, .ps-wrap .ps-panel { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
	.ps-wrap .ps-panel { overflow: hidden !important; }
	.ps-wrap .ps-growth-form, .ps-wrap .ps-actions, .ps-wrap .ps-panel > form.ps-promotion-form { grid-template-columns: minmax( 0, 1fr ) !important; }
	.ps-wrap .ps-actions form, .ps-wrap .ps-actions button, .ps-wrap .ps-actions .button { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
	.ps-wrap :where( input:not( [type="checkbox"] ):not( [type="radio"] ), select, textarea ) { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
	.ps-wrap :where( .ps-growth-table, .ps-corp-table-wrap, .ps-loyalty-history, .ps-report-table, .ps-cashier-table, .ps-table-scroll, .ps-feedback-admin ) { display: block !important; width: 100% !important; min-width: 0 !important; max-width: 100% !important; overflow-x: auto !important; overflow-y: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior-inline: contain; }
	.ps-wrap :where( .ps-growth-table, .ps-corp-table-wrap, .ps-loyalty-history, .ps-report-table, .ps-cashier-table, .ps-table-scroll, .ps-feedback-admin ) table { width: max-content !important; min-width: 100% !important; max-width: none !important; }
}

@media ( prefers-reduced-motion: reduce ) {
	.ps-access-benefits article, .ps-corp-process article, .ps-plan-grid article, .ps-op-order, .ps-access-form button, .ps-primary-action { transition: none !important; transform: none !important; }
}
