/* Shared Razino palette. Colors only: preserve layout, logos and status semantics. */
:root {
  color-scheme:light;
  --razino-red:#b42332; --razino-red-dark:#831d2c; --razino-soft:#fff1f3;
  --razino-canvas:#c4d8ec; --razino-border:#ecc9cf; --razino-ink:#35262b;
  --admin-purple:var(--razino-red); --admin-sidebar:var(--razino-red-dark);
  --admin-grid:#ddcdd1; --admin-gray:#912434;
}
html body { background-color:var(--razino-canvas); color:var(--razino-ink); accent-color:var(--razino-red); }
html body :focus-visible { outline-color:var(--razino-red); }
html body input:focus,html body select:focus,html body textarea:focus { border-color:var(--razino-red); }
/* Visitor panels and the five existing actions. */
body.visitor-mobile { background:var(--razino-canvas); color:var(--razino-ink); }
body.visitor-mobile a { color:var(--razino-red-dark); }
body.visitor-mobile button { background:var(--razino-red); color:#fff; border-color:var(--razino-red); }
body.visitor-mobile .shop-create-invoice { background:var(--razino-red); color:#fff; }
body.visitor-home { color-scheme:light; background:linear-gradient(160deg,#eef7ff 0%,#f8f6ff 55%,#fff8ed 100%); color:#243445; }
body.visitor-home .kpi-card { background:#fff; border-color:#e1e7ed; box-shadow:none; }
body.visitor-home .kpi-card strong { color:#243445; }
body.visitor-home .visitor-actions a { background:#fff; color:#243445; border-color:#e1e7ed; box-shadow:0 2px 6px #24344506; }
body.visitor-home .action-icon { background:#f1f4f7; }
/* Main role choice and installation cards; identity and icon URLs remain unchanged. */
body.role-landing { background:radial-gradient(ellipse at top,#a7c3df,transparent 60%),#cfdff0; }
body.role-landing .role-brand,body.role-landing .role-card { color:var(--razino-red-dark); }
body.role-landing .role-card { --role-accent:#b42332; --role-tint:#fff1f3; border-color:var(--razino-border); border-inline-start-color:var(--razino-red); background:#fff; }
body.role-install { --accent:#b42332; background:linear-gradient(145deg,#d3e3f2,#b2cbe3); color:var(--razino-ink); }
body.role-install .install-card { border-color:var(--razino-border); box-shadow:0 12px 36px #831d2c12; }
body.role-install section { background:var(--razino-soft); }
/* Login pages: supersedes role-specific blue/teal without filtering logo images. */
body.login-page:is(.login-admin,.login-driver,.login-visitor),body.login-page:not(.login-admin):not(.login-driver):not(.login-visitor) { --login-accent:#b42332; --login-accent-dark:#831d2c; --login-soft:#fff1f3; --login-glow:#efb5be; background:linear-gradient(135deg,#d3e3f2,#b2cbe3); color:var(--razino-ink); }
body.login-page .card.login-card::before { background:linear-gradient(90deg,#831d2c,#e8a7b1,#b42332); }
body.login-page .login-hero-icon { color:var(--razino-red); background:linear-gradient(145deg,#fff,#ffe7ec); }
body.login-page #loginForm>button { background:linear-gradient(110deg,#831d2c,#b42332); border-color:#831d2c; color:#fff; }
body.login-page .role-login-links a,body.login-page .quick-login { color:#831d2c; background:#fff1f3; border-color:var(--razino-border); }
body.login-page:is(.login-admin,.login-driver,.login-visitor) .login-install-action { background:linear-gradient(110deg,#831d2c,#b42332)!important; color:#fff!important; }
body.login-page .login-install-banner { border-color:var(--razino-border)!important; background:linear-gradient(125deg,#fff,#fff1f3)!important; }
body.login-page .input-shell:focus-within input { border-color:#b42332; box-shadow:0 0 0 4px #b423321a; }
/* Management pages: keep their existing grid, sidebar widths and input sizes. */
body.admin-shell,body.admin-shell .main-wrapper { background:var(--razino-canvas); }
body.admin-shell .sidebar { background:#831d2c; }
body.admin-shell .admin-avatar { background:#fff1f3; border-color:#e8a7b1; color:#831d2c; }
body.admin-shell .sidebar .menu-item,body.admin-shell .sidebar .submenu li { color:#ffe7ec; }
body.admin-shell .sidebar .menu-item:hover,body.admin-shell .sidebar .menu-item.active { background:#b42332; color:#fff; }
body.admin-shell .sidebar .submenu li.active,body.admin-shell .sidebar .menu-arrow { color:#fff; }
body.admin-shell .admin-page h1,body.admin-shell .admin-page h2,body.admin-shell .admin-page a { color:#831d2c; }
body.admin-shell .admin-page button:not(.btn):not(.calendar-toggle),body.admin-shell .admin-page .btn-primary { background:#b42332; color:#fff; border-color:#b42332; }
body.admin-shell .admin-page .btn { background:#b42332; border-color:#b42332; color:#fff; }
body.admin-shell .admin-page a.btn { background:#fff1f3; color:#831d2c; border-color:var(--razino-border); }
body.admin-shell .admin-page .header-title-bar { background:#b42332; color:#fff; }
body.admin-shell .admin-page .header-title-bar h4 { color:inherit; }
body.admin-shell .page-box.active,body.admin-shell .btn-small { background:#b42332; color:#fff; border-color:#b42332; }
body.admin-shell .chart-title i { color:#b42332!important; }
body.admin-shell .admin-page table:not(.invoice-lines) tbody tr:hover { background:#fff1f3; }
/* Driver pages and payment sheets. Status badges retain their semantic colors. */
body.driver-mobile { --ink:#35262b; --muted:#78646a; --line:#ecd9dd; --surface:#fff; --canvas:var(--razino-canvas); --navy:#831d2c; --blue:#b42332; }
body.driver-mobile .hero { background:radial-gradient(circle at 82% 12%,#e8a7b155,transparent 32%),linear-gradient(120deg,#731b29,#b42332); box-shadow:0 16px 36px #831d2c20; }
body.driver-mobile .brand-mark,body .map-mark { background:linear-gradient(145deg,#b42332,#831d2c); }
body.driver-mobile .metric .metric-icon { color:#b42332; background:#fff1f3; }
body.driver-mobile .map-link { color:#831d2c; background:#fff1f3; border-color:var(--razino-border); }
body.driver-mobile .filter-chip.active { background:#b42332; border-color:#831d2c; color:#fff; }
body.driver-mobile .store-toggle { background:linear-gradient(135deg,#fff,#fff8f9); }
body.driver-mobile .store-toggle:hover { background:#fff1f3; }
body.driver-mobile .store-mark { color:#b42332; background:#fff1f3; border-color:var(--razino-border); }
body.driver-mobile .store-panel { background:#fff8f9; }
body.driver-mobile .payment-invoice-summary { border-color:#831d2c; background:linear-gradient(135deg,#831d2c,#b42332); }
body.driver-mobile .method-option input:checked + label,body.driver-mobile .reason-option input:checked + label { color:#831d2c; background:#fff1f3; border-color:#b42332; box-shadow:inset 0 0 0 1px #b42332; }
body.driver-mobile .reason-option input:checked + label::before { border-color:#b42332; }
body .back-link { background:#b42332; color:#fff; }
body .neshan-link { background:#b42332!important; color:#fff!important; border-color:#831d2c; }
@media print { html body { background:#fff; color:#000; } }

body.driver-mobile .action-primary:not(:disabled) { background:linear-gradient(120deg,#b42332,#831d2c); border-color:#831d2c; color:#fff; box-shadow:0 6px 16px #b4233224; }
body.driver-mobile .action-primary:hover { box-shadow:0 9px 20px #b4233230; }
body.driver-mobile .action-call,body.driver-mobile .action-map,body.driver-mobile .map-link { color:#831d2c!important; background:#fff1f3!important; border-color:#ecc9cf!important; box-shadow:0 4px 12px #831d2c10; }
body.driver-mobile .quantity-control:not(:disabled) { color:#831d2c; background:#fff1f3; border-color:#ecc9cf; }

/* Supersede the driver's older !important surface and hover palettes. */
body.driver-mobile { background:linear-gradient(145deg,#d3e3f2,#b2cbe3); }
body.driver-mobile .hero { color:#fff; background:radial-gradient(circle at 82% 12%,#e8a7b155,transparent 32%),linear-gradient(120deg,#731b29,#b42332)!important; border-color:#831d2c; }
body.driver-mobile .hero-note { color:#ffedf0; }
body.driver-mobile .hero .eyebrow { color:#ffe4e8; }
body.driver-mobile .hero-symbol { background:#ffffff20; border-color:#ffffff66; color:#fff; }
body.driver-mobile .card-actions .action-primary:hover:not(:disabled) { color:#fff; background:#831d2c; border-color:#831d2c; }
body.driver-mobile .card-actions .action-call:hover,body.driver-mobile .card-actions .action-map:hover,body.driver-mobile .map-link:hover { color:#831d2c!important; background:#ffe4e8!important; border-color:#b42332!important; }

body.access-page .actions button { background:#b42332; color:#fff; }
body.access-page .actions a { background:#fff1f3; color:#831d2c; border-color:#ecc9cf; }

body .pwa-install-banner { color:#35262b; background:linear-gradient(120deg,#fff,#fff1f3); border-color:#ecc9cf; box-shadow:0 12px 30px #831d2c20; }
body .pwa-install-mark { color:#b42332; background:#fff1f3; border-color:#ecc9cf; }
body .pwa-install-description { color:#76555d; }
body .pwa-install-action,body .pwa-install-help-close { color:#fff; background:linear-gradient(110deg,#831d2c,#b42332); }
body .pwa-install-close { color:#831d2c; background:#fff; border-color:#ecc9cf; }
