/* FlowERP Partner Sales — Hope UI design system (Bootstrap-5 based).
   Tokens mirror hope-ui-design-system/_variable.scss: Inter, primary #3a57e8,
   secondary/navy #001F4D, soft shadows, ~8–12px radii. RTL-aware. */
:root {
	--ps-primary: #1aa053;       /* Hope UI green */
	--ps-primary-600: #15824a;
	--ps-primary-tint: rgba(26, 160, 83, 0.08);
	--ps-navy: #0a3d2a;          /* deep green panel */
	--ps-navy-2: #11543a;
	--ps-gold: #c9a227;          /* Alhaddaq brand accent */
	--ps-success: #1aa053;
	--ps-danger: #c03221;
	--ps-warning: #f16a1b;
	--ps-bg: #f5f6fa;            /* Hope UI body bg */
	--ps-surface: #ffffff;
	--ps-text: #232d42;          /* headings color */
	--ps-muted: #8a92a6;         /* body color */
	--ps-border: #e9ecef;        /* gray-200 */
	--ps-radius: 12px;
	--ps-radius-sm: 8px;
	--ps-shadow: 0 10px 30px 0 rgba(26, 160, 83, 0.07);
	--ps-shadow-sm: 0 2px 6px 0 rgba(26, 160, 83, 0.08);
	--ps-font: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
}

.ps-app {
	max-width: 1140px;
	margin: 0 auto;
	padding: 24px 16px 48px;
	color: var(--ps-text);
	font-family: var(--ps-font);
	font-size: 0.95rem;
	line-height: 1.5;
}
.ps-app * { box-sizing: border-box; }

.ps-topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.ps-brand { font-size: 1.35rem; font-weight: 600; color: var(--ps-navy); letter-spacing: -0.01em; }
.ps-gold { color: var(--ps-gold); }
.ps-lang {
	border: 1px solid var(--ps-border); background: var(--ps-surface); color: var(--ps-text);
	border-radius: var(--ps-radius-sm); padding: 7px 14px; cursor: pointer; font-weight: 600;
	font-family: inherit; transition: all 0.15s ease;
}
.ps-lang:hover { border-color: var(--ps-primary); color: var(--ps-primary); }

.ps-grid { display: grid; grid-template-columns: 1fr 380px; gap: 20px; align-items: start; }
@media (max-width: 860px) { .ps-grid { grid-template-columns: 1fr; } }

.ps-card {
	background: var(--ps-surface); border: 1px solid var(--ps-border);
	border-radius: var(--ps-radius); padding: 22px; box-shadow: var(--ps-shadow);
}

.ps-section { padding: 16px 0; border-bottom: 1px solid var(--ps-border); }
.ps-section:first-child { padding-top: 4px; }
.ps-section:last-child { border-bottom: 0; padding-bottom: 4px; }
.ps-section-title { font-weight: 600; color: var(--ps-text); margin-bottom: 12px; font-size: 1rem; }
.ps-label { display: block; font-weight: 600; margin-bottom: 10px; color: var(--ps-text); }

.ps-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 520px) { .ps-fields { grid-template-columns: 1fr; } }
.ps-field label { display: block; font-size: 0.8rem; color: var(--ps-muted); margin-bottom: 6px; font-weight: 500; }
.ps-field input, .ps-num {
	width: 100%; padding: 10px 14px; border: 1px solid var(--ps-border);
	border-radius: var(--ps-radius-sm); font: inherit; color: var(--ps-text);
	background: var(--ps-surface); transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ps-field input::placeholder { color: var(--ps-muted); }
.ps-field input:focus, .ps-num:focus {
	outline: 0; border-color: var(--ps-primary); box-shadow: 0 0 0 3px var(--ps-primary-tint);
}
.ps-num { max-width: 160px; }

/* segmented toggle — checked option fills with primary */
.ps-toggle { display: inline-flex; border: 1px solid var(--ps-border); border-radius: var(--ps-radius-sm); overflow: hidden; background: var(--ps-bg); }
.ps-toggle-opt {
	padding: 9px 18px; cursor: pointer; display: flex; align-items: center; gap: 7px;
	border-inline-end: 1px solid var(--ps-border); font-weight: 500; transition: all 0.15s ease;
}
.ps-toggle-opt:last-child { border-inline-end: 0; }
.ps-toggle-opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.ps-toggle-opt:has(input:checked) { background: var(--ps-primary); color: #fff; }
.ps-toggle-opt:has(input:checked) .ps-gold { color: #fff; }

.ps-checklist { display: grid; gap: 10px; }
.ps-check {
	display: flex; align-items: center; gap: 10px; padding: 11px 14px;
	border: 1px solid var(--ps-border); border-radius: var(--ps-radius-sm); cursor: pointer;
	transition: all 0.15s ease;
}
.ps-check:hover { border-color: var(--ps-primary); }
.ps-check:has(input:checked) { border-color: var(--ps-primary); background: var(--ps-primary-tint); }
.ps-check input, .ps-check-inline input { accent-color: var(--ps-primary); width: 16px; height: 16px; }
.ps-check input:disabled { cursor: not-allowed; }
.ps-check input:disabled + .ps-check-meta { color: var(--ps-muted); opacity: 0.6; }
.ps-check-inline { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.ps-hint { font-size: 0.8rem; color: var(--ps-muted); margin-top: 10px; }

/* price panel — Hope UI secondary (navy) with the brand gold accent */
.ps-price { position: sticky; top: 16px; background: var(--ps-navy); color: #fff; border: 0; box-shadow: var(--ps-shadow); }
.ps-price-head { display: flex; align-items: center; justify-content: space-between; font-weight: 600; font-size: 1.05rem; margin-bottom: 16px; }
.ps-badge { background: var(--ps-gold); color: var(--ps-navy); font-size: 0.7rem; font-weight: 700; padding: 4px 10px; border-radius: 50rem; letter-spacing: 0.02em; }
.ps-lines { width: 100%; border-collapse: collapse; margin-bottom: 14px; }
.ps-lines td { padding: 8px 0; border-bottom: 1px solid var(--ps-navy-2); font-size: 0.85rem; }
.ps-line-amt { text-align: end; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ps-line-qty { color: #9fb0d6; text-align: center; }
.ps-totals { border-top: 2px solid var(--ps-gold); padding-top: 12px; }
.ps-total-row { display: flex; justify-content: space-between; padding: 5px 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.ps-vat { font-size: 0.72rem; color: #9fb0d6; margin: 12px 0; line-height: 1.4; }
.ps-submit {
	width: 100%; padding: 12px; border: 0; border-radius: var(--ps-radius-sm);
	background: var(--ps-gold); color: var(--ps-navy); font-weight: 700; font-size: 0.95rem;
	font-family: inherit; cursor: pointer; transition: filter 0.15s ease;
}
.ps-submit:hover:not(:disabled) { filter: brightness(1.06); }
.ps-submit:disabled { opacity: 0.55; cursor: not-allowed; }
.ps-submit[aria-busy="true"] { opacity: 0.7; cursor: progress; }
.ps-error { margin-top: 12px; background: rgba(192, 50, 33, 0.12); color: #ffd9d4; border-radius: var(--ps-radius-sm); padding: 10px 12px; font-size: 0.82rem; }
.ps-result { margin-top: 12px; background: rgba(26, 160, 83, 0.15); color: #c7f3d8; border-radius: var(--ps-radius-sm); padding: 12px; font-size: 0.85rem; }
.ps-result b { color: #fff; }

/* honeypot — off-screen */
.ps-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* ---- RTL (Arabic default): right-align text + inputs ---- */
.ps-app[dir="rtl"] { text-align: right; }
.ps-app[dir="rtl"] .ps-label,
.ps-app[dir="rtl"] .ps-section-title,
.ps-app[dir="rtl"] .ps-field label,
.ps-app[dir="rtl"] .ps-hint { text-align: right; }
.ps-app[dir="rtl"] .ps-field input,
.ps-app[dir="rtl"] .ps-num,
.ps-app[dir="rtl"] input[type="text"],
.ps-app[dir="rtl"] input[type="email"],
.ps-app[dir="rtl"] input[type="number"],
.ps-app[dir="rtl"] input[type="date"] { text-align: right; direction: rtl; }
.ps-app[dir="rtl"] .ps-field input::placeholder { text-align: right; }
/* price panel: label on the right, amount on the left edge (correct for RTL) */
.ps-app[dir="rtl"] .ps-line-amt { text-align: left; }
.ps-app[dir="rtl"] .ps-check,
.ps-app[dir="rtl"] .ps-check-inline,
.ps-app[dir="rtl"] .ps-toggle-opt { flex-direction: row; }

/* --- Per-partner branding -----------------------------------------------------
   Each branded route fixes its partner (.ps-marn / .ps-foodics on #ps-app). The
   .ps-partner chip names the partner in the topbar; the accent var lets future
   partner-specific styling diverge from one place. */
.ps-partner {
	font-weight: 700;
	color: var(--ps-accent, var(--ps-primary));
}
.ps-marn { --ps-accent: #1aa053; }      /* Marn — green */
.ps-foodics { --ps-accent: #6c2bd9; }   /* Foodics — purple */

/* --- Landing chooser (/partner-sales) ----------------------------------------- */
.ps-chooser-grid { margin-top: 8px; }
.ps-chooser-head {
	font-size: 1.15rem; font-weight: 600; color: var(--ps-text); margin-bottom: 16px;
}
.ps-chooser-cards {
	display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
@media (max-width: 640px) { .ps-chooser-cards { grid-template-columns: 1fr; } }
.ps-chooser-card {
	display: flex; flex-direction: column; gap: 10px; text-decoration: none;
	border-top: 4px solid var(--ps-accent, var(--ps-primary));
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.ps-chooser-card:hover { box-shadow: var(--ps-shadow); transform: translateY(-2px); }
.ps-chooser-card .ps-partner { font-size: 1.5rem; }
.ps-chooser-go { color: var(--ps-muted); font-weight: 600; }
