/* Catrina admin + tablet styles. Loaded AFTER the existing theme in layouts/admin and layouts/branch.
   Colors from Direction A; every text/background pair below meets WCAG AA. */
:root {
  --cat-magenta: #C2196E;      /* primary action, white text 5.74:1 */
  --cat-magenta-dark: #9E1259;
  --cat-teal-deep: #0B6E70;    /* secondary / success, white text 6.04:1 */
  --cat-teal-deep-dark: #08585A;
  --cat-purple: #782072;       /* headings */
  --cat-marigold: #F39C1F;     /* dark text only */
  --cat-orange: #F57A00;       /* alerts, dark text only (white on it: 2.74:1 FAIL) */
  --cat-wax: #F8F7F4;
  --cat-charcoal: #2A2829;
  --cat-muted: #5E5466;
  --cat-line: #E4E0DA;
}

/* Quick status buttons (order list rows, order detail "next step") */
.catrina-quick-btn { font-weight: 600; border-radius: 10px; white-space: nowrap; }
.catrina-quick-btn--sm { min-height: 44px; min-width: 104px; padding: 10px 16px; font-size: 16px; line-height: 1.5; }
.catrina-quick-btn--lg { display: block; width: 100%; min-height: 56px; padding: 14px 20px; font-size: 19px; }
.catrina-quick-btn.btn-primary { background: var(--cat-magenta); border-color: var(--cat-magenta); color: #fff; }
.catrina-quick-btn.btn-primary:hover, .catrina-quick-btn.btn-primary:focus { background: var(--cat-magenta-dark); border-color: var(--cat-magenta-dark); color: #fff; }
.catrina-quick-btn.btn-success { background: var(--cat-teal-deep); border-color: var(--cat-teal-deep); color: #fff; }
.catrina-quick-btn.btn-success:hover, .catrina-quick-btn.btn-success:focus { background: var(--cat-teal-deep-dark); border-color: var(--cat-teal-deep-dark); color: #fff; }
.catrina-quick-btn:focus-visible { outline: 3px solid var(--cat-charcoal); outline-offset: 2px; }
.catrina-quick-btn.disabled { opacity: .55; pointer-events: none; }
.catrina-next-step:empty { display: none; }

/* "Closed automatically" tag: word + dot, never color alone */
.catrina-auto-closed { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px;
  background: #EDE9F3; color: #3F2A55; font-size: 14px; font-weight: 600; white-space: nowrap; }
.catrina-auto-closed__dot { width: 8px; height: 8px; border-radius: 50%; background: #3F2A55; }

/* Page patterns: "How this works" note, big controls, 16px base text */
.catrina-page { font-size: 16px; color: var(--cat-charcoal); max-width: 960px; }
.catrina-page__title { color: var(--cat-purple); font-size: 28px; font-weight: 700; margin-bottom: 16px; }
.catrina-howto { background: #FFF; border-left: 6px solid var(--cat-teal-deep); border-radius: 12px; padding: 16px 20px; margin-bottom: 20px; }
.catrina-howto__title { font-size: 18px; font-weight: 700; margin: 0 0 6px; color: var(--cat-charcoal); }
.catrina-howto p { margin: 0; font-size: 16px; line-height: 1.55; }
.catrina-card { border-radius: 14px; border: 1px solid var(--cat-line); }
.catrina-subtitle { font-size: 18px; font-weight: 700; margin: 24px 0 8px; }
.catrina-switch { display: flex; align-items: center; gap: 14px; min-height: 48px; font-size: 17px; font-weight: 600; cursor: pointer; }
.catrina-switch input { width: 28px; height: 28px; accent-color: var(--cat-teal-deep); }
.catrina-fieldset { border: 0; padding: 0; margin: 20px 0 0; }
.catrina-fieldset legend { font-size: 17px; font-weight: 700; margin-bottom: 8px; }
.catrina-choices { display: flex; flex-wrap: wrap; gap: 10px; }
.catrina-choice { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 16px; border: 2px solid var(--cat-line);
  border-radius: 12px; font-size: 16px; cursor: pointer; background: #FFF; }
.catrina-choice input { width: 22px; height: 22px; accent-color: var(--cat-teal-deep); }
.catrina-choice:has(input:checked) { border-color: var(--cat-teal-deep); background: #E6F2F2; }
.catrina-rules { padding-left: 22px; line-height: 1.6; }
.catrina-help { color: var(--cat-muted); margin: 4px 0 20px; }
.catrina-btn-primary { background: var(--cat-magenta); border-color: var(--cat-magenta); color: #FFF; min-height: 48px; min-width: 140px;
  font-size: 17px; font-weight: 600; border-radius: 10px; }
.catrina-btn-primary:hover, .catrina-btn-primary:focus { background: var(--cat-magenta-dark); color: #FFF; }

/* The old theme capitalizes every word inside .text-capitalize cards; keep our plain-language text as written. */
.catrina-quick-btn, .catrina-auto-closed, .catrina-page, .catrina-page * { text-transform: none; }

/* Status pills: word + dot, never colour alone (all pairs >= 7:1) */
.catrina-pill { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; font-size: 15px; font-weight: 600; white-space: nowrap; }
.catrina-pill__dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.catrina-pill--new { background: #FDE6CC; color: #6A3000; }
.catrina-pill--accepted { background: #E3F4F2; color: #0B4446; }
.catrina-pill--cooking { background: #F1DDF0; color: #5B1660; }
.catrina-pill--done { background: #DDF2E6; color: #0A5C45; }
.catrina-pill--stopped { background: #FBE0E0; color: #8A1C1C; }
.catrina-open-tag { display: inline-block; margin-left: 6px; padding: 4px 10px; border-radius: 999px; background: #FDEBCB; color: #6A3E00; font-size: 14px; font-weight: 600; white-space: nowrap; }
.catrina-open-tag--late { background: #FBE0E0; color: #8A1C1C; }

/* Status tabs */
.catrina-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 16px 20px 4px; }
.catrina-tab { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 18px; border-radius: 999px;
  border: 2px solid var(--cat-line); background: #FFF; color: var(--cat-charcoal); font-size: 16px; font-weight: 600; text-decoration: none; }
.catrina-tab:hover { border-color: var(--cat-teal-deep); color: var(--cat-teal-deep); text-decoration: none; }
.catrina-tab--active, .catrina-tab--active:hover { background: var(--cat-teal-deep); border-color: var(--cat-teal-deep); color: #FFF; }
.catrina-tab__count { min-width: 28px; padding: 2px 8px; border-radius: 999px; background: #EFEDE9; color: var(--cat-charcoal); font-size: 14px; text-align: center; }
.catrina-tab--active .catrina-tab__count { background: #FFF; color: var(--cat-teal-deep-dark); }

/* "More filters" fold */
.catrina-more-filters { margin: 8px 20px 0; }
.catrina-more-filters > summary { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; cursor: pointer;
  color: var(--cat-teal-deep); font-weight: 600; font-size: 16px; border: 2px solid var(--cat-line); background: #FFF; }
.catrina-more-filters[open] > summary { margin-bottom: 10px; }
.catrina-page--wide { max-width: none; }

/* Sidebar: task groups, bigger targets, readable text */
.navbar-vertical-content .nav-link { min-height: 44px; font-size: 15px; }
.navbar-vertical-content .catrina-nav-group .nav-subtitle { font-size: 13px; font-weight: 700; letter-spacing: .08em; color: #5E5466; text-transform: uppercase; }
.catrina-pill, .catrina-open-tag, .catrina-tab, .catrina-more-filters, .catrina-next-bar, .catrina-other-options { text-transform: none; }

/* Order detail: progress + next step bar + other options */
.catrina-progress { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.catrina-progress__step { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: #5E5466; text-align: center; }
.catrina-progress__dot { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 2px solid #E2DFDA; background: #FFF; color: #5E5466; font-weight: 700; }
.catrina-progress__step.is-done .catrina-progress__dot { background: var(--cat-teal-deep); border-color: var(--cat-teal-deep); color: #FFF; }
.catrina-progress__step.is-current { color: var(--cat-charcoal); }
.catrina-progress__step.is-current .catrina-progress__dot { border-color: var(--cat-magenta); color: var(--cat-magenta); box-shadow: 0 0 0 3px #F7D3E5; }
.catrina-progress--stopped { justify-content: center; }
.catrina-next-bar { background: var(--cat-charcoal); border-radius: 16px; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.catrina-next-bar__label { color: #F8F7F4; font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.catrina-next-bar .catrina-quick-btn { min-height: 60px; font-size: 20px; }
.catrina-next-bar__none { display: none; color: #F8F7F4; font-size: 15px; }
.catrina-next-bar:not(:has(.catrina-quick-btn)) .catrina-next-bar__none { display: block; }
.catrina-other-options > summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 600; font-size: 16px; color: var(--cat-teal-deep); }
.catrina-other-options[open] > summary { margin-bottom: 8px; }
.catrina-other-options .custom-select { min-height: 48px; font-size: 16px; }

/* Location tablet (branch panel): big touch targets, 17px+ text */
.catrina-tablet { font-size: 17px; }
.catrina-tablet .btn, .catrina-tablet .custom-select, .catrina-tablet .form-control { min-height: 56px; font-size: 17px; }
.catrina-tablet .catrina-quick-btn--sm { min-height: 56px; min-width: 128px; font-size: 18px; }
.catrina-tablet .catrina-quick-btn--lg, .catrina-tablet .catrina-next-bar .catrina-quick-btn { min-height: 68px; font-size: 22px; }
.catrina-tablet .navbar-vertical-content .nav-link { min-height: 56px; font-size: 17px; }
.catrina-tablet .catrina-pill { font-size: 16px; padding: 7px 14px; }
.catrina-tablet .catrina-tab { min-height: 56px; font-size: 18px; }
.catrina-new-orders { display: flex; align-items: center; gap: 20px; margin: 16px 24px 0; padding: 18px 22px; border-radius: 18px;
  background: var(--cat-orange); color: var(--cat-charcoal); }
.catrina-new-orders[hidden] { display: none; }
.catrina-new-orders__count { font-family: 'Bebas Neue', Impact, sans-serif; font-size: 72px; line-height: .9; font-weight: 700; }
.catrina-new-orders__text { flex: 1; }
.catrina-new-orders__title { font-size: 26px; font-weight: 700; }
.catrina-new-orders__sub { font-size: 18px; }
.catrina-new-orders__btn { min-height: 60px; padding: 0 22px; border-radius: 14px; background: var(--cat-charcoal); color: #FFF; font-size: 19px;
  font-weight: 700; display: inline-flex; align-items: center; text-decoration: none; }
.catrina-new-orders__btn:hover, .catrina-new-orders__btn:focus { color: #FFF; text-decoration: none; background: #000; }

/* Tablet Today board: New -> Accepted -> Cooking (draft/backend-redesign) */
.catrina-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.catrina-board__col { background: var(--cat-fill, #EFEDE9); border-radius: 16px; padding: 12px; min-height: 140px; }
.catrina-board__title { display: flex; align-items: center; gap: 8px; font-size: 18px; margin: 4px 4px 12px; }
.catrina-board__card { background: #FFF; border-radius: 14px; padding: 14px; margin-bottom: 12px; box-shadow: 0 1px 2px rgba(42, 40, 41, .12); }
.catrina-board__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.catrina-board__num { font-size: 24px; font-weight: 800; color: var(--cat-charcoal, #2A2829); }
.catrina-board__num:hover, .catrina-board__num:focus { color: var(--cat-teal-deep); text-decoration: underline; }
.catrina-board__who { font-size: 17px; font-weight: 600; margin-top: 6px; color: var(--cat-charcoal, #2A2829); }
.catrina-board__meta { font-size: 16px; color: #5E5466; margin-top: 2px; }
.catrina-board__actions { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.catrina-board__open { min-height: 48px; font-size: 16px; display: flex; align-items: center; justify-content: center; }
.catrina-board__empty { color: #5E5466; font-size: 16px; margin: 8px 4px; }
.catrina-section-title { color: var(--cat-purple); font-size: 22px; font-weight: 700; }
@media (max-width: 900px) { .catrina-board { grid-template-columns: 1fr; } }

/* Tablet top bar: location + clock */
.catrina-topbar { display: flex; align-items: baseline; gap: 12px; margin-right: 16px; }
.catrina-topbar__place { font-size: 17px; font-weight: 700; color: var(--cat-purple); }
.catrina-topbar__clock { font-size: 20px; font-weight: 700; color: var(--cat-charcoal, #2A2829); font-variant-numeric: tabular-nums; }
.catrina-board__pay { font-weight: 700; margin-left: 4px; }
.catrina-board__pay--paid { color: var(--cat-teal-deep); }      /* 6.04:1 on white */
.catrina-board__pay--unpaid { color: #A3123F; }                 /* 7.4:1 on white */
.catrina-board__open { background: #FFF; border: 2px solid var(--cat-line); color: var(--cat-charcoal); font-weight: 600; }
.catrina-board__open:hover, .catrina-board__open:focus { border-color: var(--cat-teal-deep); color: var(--cat-teal-deep); }

/* Owner dashboard "Right now" tiles */
.catrina-right-now__tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.catrina-right-now__tile { display: flex; align-items: center; gap: 14px; min-height: 76px; padding: 14px 18px; border-radius: 14px; background: #FFF; border: 2px solid var(--cat-line); color: var(--cat-charcoal); }
.catrina-right-now__tile:hover, .catrina-right-now__tile:focus { border-color: var(--cat-teal-deep); color: var(--cat-charcoal); text-decoration: none; }
.catrina-right-now__num { font-size: 32px; font-weight: 800; min-width: 44px; }
.catrina-right-now__label { font-size: 17px; font-weight: 600; }
.catrina-right-now__tile--pending { border-left: 8px solid var(--cat-orange); }
.catrina-right-now__tile--confirmed { border-left: 8px solid var(--cat-teal-deep); }
.catrina-right-now__tile--processing { border-left: 8px solid var(--cat-purple); }
@media (max-width: 700px) { .catrina-right-now__tiles { grid-template-columns: 1fr; } }
.catrina-big-search .form-control { min-height: 52px; font-size: 17px; min-width: 320px; }
.catrina-big-search .btn { min-height: 52px; font-size: 17px; }

/* Accent colour: the stock theme coral #FF6767 is 2.84:1 with white (fails WCAG AA as a
   button fill and as text). Catrina magenta #C2196E is 5.74:1. Colour only; no layout change. */
:root { --c1: #C2196E; }
.btn-primary, .btn--primary { background-color: var(--cat-magenta); border-color: var(--cat-magenta); color: #FFF; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn--primary:hover, .btn--primary:focus { background-color: var(--cat-magenta-dark) !important; border-color: var(--cat-magenta-dark) !important; color: #FFF; }
.btn-outline-primary { color: var(--cat-magenta); border-color: var(--cat-magenta); }
.btn-outline-primary:hover, .btn-outline-primary:focus { background-color: var(--cat-magenta); border-color: var(--cat-magenta); color: #FFF; }

/* Stock theme status colours that fail WCAG AA on white (measured):
   #00C9A7 2.0:1, #00C9DB 2.0:1, #ED4C78 3.6:1, #FC6A57 2.9:1. Same meaning, darker shades. */
.text-success { color: #0B6E70 !important; }                    /* 6.04:1 */
.text-danger { color: #A3123F !important; }                     /* 7.4:1 */
.badge-soft-success { color: #0B6E70 !important; background-color: #E3F4F2 !important; }
.badge-soft-info { color: #0B5C73 !important; background-color: #E2F2F7 !important; }
.badge-soft-danger { color: #A3123F !important; background-color: #FBE3EA !important; }
.badge-soft-warning { color: #6A3E00 !important; background-color: #FDEBCB !important; }
.btn-outline-success { color: #0B6E70; border-color: #0B6E70; }
.btn-outline-success:hover, .btn-outline-success:focus { background-color: #0B6E70; border-color: #0B6E70; color: #FFF; }
.btn-outline-success:hover i, .btn-outline-success:focus i { color: #FFF; }
.btn-outline-success i { color: #0B6E70; }
.topbar-link, .topbar-link span { color: var(--cat-magenta) !important; }
.navbar-vertical .nav-link.active, .navbar-vertical .active > .nav-link,
.navbar-vertical .active > .nav-link .nav-icon, .navbar-vertical .active > .nav-link span { color: var(--cat-magenta) !important; }
.navbar-vertical-aside-has-menu.show > .nav-link, .navbar-vertical-aside-has-menu.show > .nav-link span,
.navbar-vertical-aside-has-menu.show > .nav-link .nav-icon { color: var(--cat-magenta) !important; }
.badge-danger { background-color: #A3123F !important; color: #FFF !important; }   /* 7.73:1 */
.btn-info { background-color: #0B5C73; border-color: #0B5C73; color: #FFF; }       /* 7.3:1 */
.btn-info:hover, .btn-info:focus { background-color: #08475A; border-color: #08475A; color: #FFF; }
.text-primary { color: var(--cat-magenta) !important; }
.text-warning { color: #6A3E00 !important; }
.order-stats__title { color: var(--cat-magenta) !important; }
.apex-legends span, .apex-legends p, .card-body p:not([class]), .card-body p[class=""] { color: #5E5466; }
.navbar-vertical-content .nav-subtitle { color: #5E5466 !important; opacity: 1; }
.input-label-secondary { color: #A3123F; }

/* Round 2: missing pickup time (was printed as 31 Dec 1969) */
.catrina-no-time { color: #6A3E00; background: #FDEBCB; border-radius: 999px; padding: 2px 10px; font-weight: 600; font-size: 14px; white-space: nowrap; }
