:root{--red:#d71920;--red2:#a40f15;--yellow:#ffc72c;--ink:#20242b;--muted:#68707d;--line:#e5e7eb;--bg:#f5f6f8;--green:#15803d;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}
header{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;padding:17px 16px;position:sticky;top:0;z-index:20;box-shadow:0 3px 12px rgba(0,0,0,.15)}
.wrap{max-width:1180px;margin:auto}.header-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
h1{margin:0;font-size:27px}.tagline{font-size:14px;font-weight:700;opacity:.9;margin-top:3px}
nav{display:flex;gap:8px}nav button{border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;border-radius:999px;padding:9px 14px;cursor:pointer}nav button.active{background:#fff;color:var(--red);font-weight:800}
main.wrap{padding:18px 14px 45px}.view{display:none}.view.active{display:block}
.grid{display:grid;grid-template-columns:1.45fr .85fr;gap:18px}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:850px){.grid,.row{grid-template-columns:1fr}.sticky{position:static!important}.message-layout{grid-template-columns:1fr!important}}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:16px;box-shadow:0 5px 18px rgba(31,41,55,.05)}
.card h2,.card h3{margin-top:0}.sticky{position:sticky;top:96px}.login-card{max-width:430px;margin:30px auto}
label{font-size:13px;font-weight:800;display:block;margin:11px 0 6px}input,select,textarea{width:100%;padding:11px;border:1px solid #d1d5db;border-radius:10px;background:#fff;font:inherit}
button{font:inherit}button.primary,button.secondary,button.danger,button.success{border:0;border-radius:10px;padding:10px 13px;font-weight:800;cursor:pointer}
button.primary{background:var(--red);color:#fff}button.secondary{background:#eef2ff;color:#263244}button.danger{background:#fee2e2;color:#991b1b}button.success{background:#dcfce7;color:#166534}.full{width:100%}
.banner,.notice,.ok,.error{border-radius:10px;padding:11px 12px;margin:10px 0}.banner{background:#fff;border:1px solid var(--line)}.notice{background:#fff7d6;border:1px solid #f1d166}.ok{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.muted{font-size:12px;color:var(--muted)}.hidden{display:none!important}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service{padding:14px;border:2px solid var(--line);background:#fff;border-radius:13px;cursor:pointer;text-align:left}.service strong{display:block;font-size:16px}.service span{font-size:12px;color:var(--muted)}.service.selected{border-color:var(--red);background:#fff2f2}
.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:11px}.menu-item{border:1px solid var(--line);border-radius:13px;padding:13px}.menu-item h4{margin:8px 0}.price{color:var(--red);font-size:19px;font-weight:900}.badge{display:inline-block;background:#eef2ff;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}
.cart-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line)}.qty{display:flex;align-items:center;gap:7px}.qty button{border:0;border-radius:50%;width:28px;height:28px;cursor:pointer}
.pill-row{display:flex;gap:7px;flex-wrap:wrap}.pill{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;cursor:pointer}.pill.selected{background:var(--yellow);font-weight:800}
.totals{margin-top:12px}.totals div{display:flex;justify-content:space-between;padding:5px 0}.totals .grand{font-size:20px;font-weight:900;border-top:2px solid var(--line);padding-top:10px;margin-top:5px}
.toolbar{display:flex;gap:9px;align-items:center;justify-content:space-between;flex-wrap:wrap}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.tab{border:1px solid var(--line);background:#fff;padding:9px 11px;border-radius:9px;cursor:pointer;font-weight:800}.tab.active{background:var(--red);color:#fff;border-color:var(--red)}
.admin-tab{display:none}.admin-tab.active{display:block}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:9px 7px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f8fafc}
.chat-card{margin-top:16px}.messages{height:250px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fafafa;padding:10px;margin-bottom:9px}.msg{max-width:85%;padding:8px 10px;border-radius:12px;margin:6px 0;font-size:13px}.msg.customer{background:#fff1f1;margin-left:auto}.msg.admin{background:#eef2ff;margin-right:auto}.msg-meta{font-size:10px;color:var(--muted);margin-top:4px}
.status-dot{font-size:12px}.online{color:var(--green);font-weight:800}.offline{color:#9a3412;font-weight:800}.message-layout{display:grid;grid-template-columns:270px 1fr;gap:12px}.thread-list{border:1px solid var(--line);border-radius:10px;overflow:auto;max-height:390px}.thread{padding:10px;border-bottom:1px solid var(--line);cursor:pointer}.thread.active{background:#fff1f1}.admin-messages{height:310px}
.rider-order{border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:10px}.rider-order h4{margin:0 0 7px}.top-gap{margin-top:24px!important}
footer{text-align:center;color:var(--muted);padding:25px;font-size:12px}

.check-line{display:flex;gap:8px;align-items:center;margin:10px 0}
.check-line input{width:auto}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}
.modal.hidden{display:none}
.modal-card{background:white;border-radius:18px;max-width:520px;width:100%;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.rider-id-block{display:flex;gap:10px;align-items:center;margin:10px 0}
.rider-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid #e5e7eb}
.rider-chat-box{margin-top:10px;padding:10px;border:1px solid #e5e7eb;border-radius:12px}

.rider-grand-total{
  margin:14px 0;
  padding:16px 18px;
  border-radius:14px;
  background:#b91c1c;
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  font-weight:800;
  box-shadow:0 6px 16px rgba(185,28,28,.25);
}
.rider-grand-total span{font-size:1.1rem;letter-spacing:.04em}
.rider-grand-total strong{font-size:2rem;line-height:1}

.menu-category-section{margin:16px 0 26px}
.menu-category-title{margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid #e5e7eb}
.menu-grid-inner{display:grid;gap:12px}
.modifier-modal-card{max-height:85vh;overflow:auto}
.modifier-group{border:1px solid #e5e7eb;border-radius:12px;padding:12px;margin:10px 0}
.modifier-option{display:flex;align-items:center;gap:8px;padding:8px 0}
.modifier-option input{width:auto}
.modifier-option strong{margin-left:auto}
.required-badge{font-size:.72rem;padding:3px 7px;border-radius:999px;background:#b91c1c;color:white}
.soft-card{border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#fafafa}
.modifier-admin-list{display:grid;gap:10px;margin-top:10px}
.modifier-admin-group{border:1px solid #d1d5db;border-radius:12px;padding:12px;background:white}
.modifier-admin-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0}
.modifier-admin-row input:not([type=checkbox]){min-width:130px;flex:1}
.danger-lite{border:1px solid #dc2626;color:#b91c1c;background:white;border-radius:8px;padding:8px 10px;cursor:pointer}
.phone-link{font-weight:800;text-decoration:underline}
.phone-masked{font-weight:800;color:#6b7280;letter-spacing:.04em}
.chat-disabled,.chat-greyed{opacity:.58;filter:grayscale(1);pointer-events:none}
.chat-disabled{background:#e5e7eb;border-radius:12px;padding:12px;margin-top:10px}
.order-options-summary{margin:10px 0;padding:10px;border:1px solid #e5e7eb;border-radius:10px}

.thread.needs-reply{border-left:5px solid #dc2626;background:#fff7f7}
.needs-reply-badge{background:#dc2626;color:#fff;border-radius:999px;padding:3px 7px;font-size:.68rem;font-weight:800}
.replied-badge{background:#e5e7eb;color:#4b5563;border-radius:999px;padding:3px 7px;font-size:.68rem}
.service-town-readonly{display:inline-block;font-weight:700}
@media (display-mode:standalone){body{padding-top:env(safe-area-inset-top)}}

.rider-availability-grid{display:grid;gap:10px}
.availability-card{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.availability-card.on-duty{border-left:5px solid #15803d}
.availability-card.on-break{border-left:5px solid #d97706;background:#fffbeb}
.availability-card.off-duty{border-left:5px solid #6b7280;background:#f9fafb}
.availability-status{font-weight:800}.availability-actions{display:flex;gap:6px;flex-wrap:wrap}
.availability-badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#e5e7eb;font-weight:800}
.availability-badge.break-active,.break-notice{background:#fef3c7;color:#92400e}
@media(max-width:800px){.availability-card{grid-template-columns:1fr}.availability-actions button{flex:1}}

.access-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:8px 0 14px}
.access-option{display:flex;gap:8px;align-items:flex-start;padding:9px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.access-option input{width:auto;margin-top:3px}
.rider-order-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.rider-order-tabs .tab{flex:1;min-width:130px}
@media(max-width:700px){.rider-order-tabs .tab{min-width:46%}}


/* V36 public navigation, public pages, feedback, staff footer and menu images */
.public-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.public-nav button{white-space:nowrap}
.public-info-card{max-width:760px;margin:22px auto;text-align:center;padding:28px}
.public-info-icon{font-size:52px;margin-bottom:10px}
.job-list{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:18px 0}
.job-pill{background:#fff1f1;color:#991b1b;border:1px solid #fecaca;border-radius:999px;padding:10px 15px;font-weight:900}
.primary-link-button{display:inline-block;background:var(--red);color:white;text-decoration:none;padding:12px 16px;border-radius:10px;font-weight:900}
.customer-feedback-card{margin-top:20px}
.feedback-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:9px;margin:12px 0 14px}
.feedback-choice{display:flex;align-items:flex-start;gap:9px;margin:0;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fafafa;font-weight:700}
.feedback-choice input{width:auto;margin-top:2px}
.job-admin-options{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0 14px}
.menu-image{width:100%;height:145px;object-fit:cover;border-radius:10px;margin-bottom:10px;background:#f3f4f6}
.menu-image-admin{width:70px;height:52px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.menu-image-empty{font-size:11px;color:var(--muted)}
.staff-footer-nav{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-top:9px}
.staff-footer-nav button{border:1px solid #d1d5db;background:#fff;color:#4b5563;border-radius:999px;padding:6px 10px;font-size:11px;cursor:pointer}
.staff-footer-nav button.active{background:#e5e7eb;color:#111827;font-weight:800}
.floating-customer-help{position:fixed;right:18px;bottom:74px;z-index:40;display:flex;align-items:center;gap:8px;max-width:min(380px,calc(100vw - 28px))}
.floating-customer-help button{width:52px;height:52px;border:0;border-radius:50%;background:var(--red);color:#fff;font-size:24px;box-shadow:0 8px 24px rgba(0,0,0,.25);cursor:pointer;flex:0 0 auto}
.floating-help-prompt{background:#fff;border:1px solid var(--line);box-shadow:0 7px 22px rgba(0,0,0,.14);padding:9px 11px;border-radius:12px;font-size:12px;font-weight:800}
@media(max-width:700px){
  header{padding:13px 12px}
  .header-wrap{align-items:flex-start}
  .public-nav{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .public-nav button{padding:8px 9px;font-size:12px}
  .public-nav button:first-child{grid-column:1}
  .floating-customer-help{right:10px;bottom:76px;max-width:calc(100vw - 20px)}
  .floating-help-prompt{max-width:230px}
}


/* V37 running advertisement */
.running-ad-bar{
  width:100%;
  overflow:hidden;
  background:#111827;
  color:#fff;
  border-bottom:2px solid #f59e0b;
  position:relative;
  z-index:60;
  min-height:34px;
  display:flex;
  align-items:center;
}
.running-ad-track{
  display:flex;
  align-items:center;
  width:max-content;
  min-width:200%;
  white-space:nowrap;
  animation:pasabuy-running-ad 22s linear infinite;
  will-change:transform;
}
.running-ad-track span{
  display:inline-block;
  padding:7px 60px;
  font-weight:900;
  letter-spacing:.1px;
}
.running-ad-bar:hover .running-ad-track{animation-play-state:paused}
@keyframes pasabuy-running-ad{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion: reduce){
  .running-ad-track{animation:none;min-width:100%;justify-content:center;white-space:normal;text-align:center}
  .running-ad-track span:nth-child(2){display:none}
}


/* V38: reliable right-to-left running ad + side support button */
.running-ad-bar{
  overflow:hidden;
}
.running-ad-track{
  display:block;
  width:max-content;
  min-width:0;
  white-space:nowrap;
  padding-left:100vw;
  animation:pasabuy-running-ad-v38 18s linear infinite !important;
  will-change:transform;
}
.running-ad-track span{
  display:inline-block;
  padding:7px 48px 7px 0;
}
.running-ad-track span:nth-child(2){
  display:none;
}
.running-ad-bar:hover .running-ad-track{
  animation-play-state:running;
}
@keyframes pasabuy-running-ad-v38{
  from{transform:translateX(0)}
  to{transform:translateX(-100%)}
}

/* Keep customer help on the RIGHT SIDE of the screen on desktop and phones. */
.floating-customer-help{
  position:fixed;
  right:12px;
  top:56%;
  bottom:auto;
  transform:translateY(-50%);
  z-index:120;
  display:flex;
  flex-direction:row-reverse;
  align-items:center;
  gap:8px;
  max-width:min(390px,calc(100vw - 24px));
}
.floating-customer-help button{
  width:54px;
  height:54px;
  flex:0 0 54px;
}
.floating-help-prompt{
  max-width:270px;
}

/* Clicking the help icon opens messaging as a fixed panel so it is usable on PC/laptop too. */
.chat-card.support-chat-open{
  display:block !important;
  position:fixed;
  right:78px;
  bottom:24px;
  z-index:130;
  width:min(430px,calc(100vw - 110px));
  max-height:min(720px,calc(100vh - 48px));
  overflow:auto;
  margin:0 !important;
  box-shadow:0 18px 55px rgba(0,0,0,.30);
  border:1px solid #d1d5db;
}
.chat-card.support-chat-open .support-chat-close{
  display:inline-flex !important;
}
.chat-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}
.support-chat-close{
  border:0;
  background:#f3f4f6;
  color:#111827;
  border-radius:999px;
  width:34px;
  height:34px;
  line-height:30px;
  font-size:24px;
  font-weight:700;
  cursor:pointer;
  flex:0 0 auto;
}
.support-chat-close:hover{background:#e5e7eb}

@media(max-width:700px){
  .floating-customer-help{
    right:8px;
    top:58%;
    bottom:auto;
    transform:translateY(-50%);
    max-width:calc(100vw - 16px);
  }
  .floating-customer-help button{
    width:50px;
    height:50px;
    flex-basis:50px;
  }
  .floating-help-prompt{
    max-width:205px;
    font-size:11px;
  }
  .chat-card.support-chat-open{
    right:8px;
    bottom:10px;
    width:calc(100vw - 16px);
    max-height:calc(100vh - 20px);
  }
}

@media (prefers-reduced-motion: reduce){
  /* The user specifically requested a running ad; keep a slower motion rather than stopping it. */
  .running-ad-track{
    animation:pasabuy-running-ad-v38 30s linear infinite !important;
  }
}


/* V41 - reliable side message/help control on phones and desktop */
#floatingCustomerHelp.floating-customer-help{
  position:fixed !important;
  right:10px !important;
  left:auto !important;
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  z-index:100000 !important;
  width:56px !important;
  max-width:56px !important;
  display:block;
  overflow:visible !important;
  pointer-events:auto !important;
}
#floatingCustomerHelp.floating-customer-help.hidden{display:none !important}
#floatingHelpBtn{
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  position:relative !important;
  z-index:2 !important;
}
#floatingCustomerHelp .floating-help-prompt{
  position:absolute !important;
  right:64px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:230px !important;
  max-width:calc(100vw - 90px) !important;
  pointer-events:none !important;
}
@media(max-width:700px){
  #floatingCustomerHelp.floating-customer-help{
    right:6px !important;
    top:52% !important;
    bottom:auto !important;
    width:50px !important;
    max-width:50px !important;
  }
  #floatingHelpBtn{
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
  }
  #floatingCustomerHelp .floating-help-prompt{
    right:57px !important;
    width:185px !important;
    font-size:10px !important;
  }
}

/* V41 - continuous right-to-left running advertisement */
.running-ad-bar{
  overflow:hidden !important;
}
.running-ad-track{
  display:block !important;
  width:max-content !important;
  min-width:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
  transform:translateX(100vw);
  animation:none !important;
  will-change:transform;
}
.running-ad-track.running-ad-active{
  animation:pasabuy-running-ad-v41 var(--pasabuy-ad-duration,18s) linear infinite !important;
}
.running-ad-track span{
  display:inline-block !important;
  padding:7px 18px !important;
}
.running-ad-track span:nth-child(2){display:none !important}
@keyframes pasabuy-running-ad-v41{
  from{transform:translateX(100vw)}
  to{transform:translateX(-100%)}
}
@media(prefers-reduced-motion:reduce){
  .running-ad-track.running-ad-active{
    animation:pasabuy-running-ad-v41 var(--pasabuy-ad-duration,28s) linear infinite !important;
  }
}


/* V42 - public customer feedback list */
.public-feedback-wall-card{
  margin-top:18px;
  padding:14px 17px;
}
.public-feedback-wall-head h3{
  margin:0 0 2px;
  font-size:15px;
}
.small-text{font-size:11px !important}
.public-feedback-wall{
  display:flex;
  flex-direction:column;
  margin-top:6px;
  max-height:240px;
  overflow-y:auto;
}
.public-feedback-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:5px 4px;
  border-bottom:1px solid #eef0f3;
  font-size:11px;
  line-height:1.3;
}
.public-feedback-item:last-child{border-bottom:0}
.public-feedback-text{
  color:#4b5563;
  font-weight:650;
}
.public-feedback-date{
  color:#9ca3af;
  font-size:10px;
  white-space:nowrap;
  flex:0 0 auto;
}
@media(max-width:700px){
  .public-feedback-wall-card{padding:12px 13px}
  .public-feedback-item{align-items:flex-start}
}


/* V43 customer support image / screenshot attachments */
.support-attachment-tools{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:8px 0;
}
.support-image-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  width:auto;
  margin:0;
}
.support-image-preview{
  margin:6px 0 9px;
  padding:7px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#f9fafb;
}
.support-image-preview img{
  display:block;
  max-width:100%;
  max-height:220px;
  object-fit:contain;
  border-radius:8px;
}
.chat-message-text{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.chat-message-image{
  display:block;
  width:auto;
  max-width:min(100%,360px);
  max-height:360px;
  object-fit:contain;
  margin-top:6px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  cursor:zoom-in;
}
#adminMessageConversation .chat-message-image{
  max-width:min(100%,440px);
}
@media(max-width:700px){
  .chat-message-image{
    max-width:100%;
    max-height:300px;
  }
  .support-attachment-tools{
    gap:6px;
  }
}


/* V45 support team escalation */
.support-escalation-banner{
  margin:8px 0;padding:9px 11px;border:1px solid #f59e0b;background:#fffbeb;
  color:#92400e;border-radius:9px;font-size:12px;font-weight:800
}
.support-escalation-controls{
  display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:8px 0;padding:9px;
  border:1px solid #fecaca;background:#fff7f7;border-radius:9px
}
.support-escalation-controls label{width:100%;margin:0;font-size:11px}
.support-escalation-controls select{flex:1 1 220px}
.escalated-thread{border-color:#f59e0b !important;background:#fffbeb !important}
.escalated-badge{
  display:inline-flex;align-items:center;border-radius:999px;background:#f59e0b;color:#fff;
  padding:2px 7px;font-size:9px;font-weight:900;letter-spacing:.25px
}
#adminSupportImagePreview img{
  display:block;max-width:100%;max-height:240px;object-fit:contain;border-radius:8px
}
@media(max-width:700px){
  .support-escalation-controls{align-items:stretch}
  .support-escalation-controls select,.support-escalation-controls button{width:100%}
}


/* V49 - Rider status history */
.rider-history-filters{
  display:grid;
  grid-template-columns:minmax(180px,240px) minmax(180px,240px) auto;
  gap:12px;
  align-items:end;
  margin:14px 0;
  padding:12px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#f9fafb;
}
.rider-history-filter-action{
  display:flex;
  align-items:end;
}
.rider-status-history-table td{
  vertical-align:top;
}
.status-history-old,
.status-history-new{
  display:inline-block;
  padding:4px 7px;
  border-radius:7px;
  font-size:12px;
  font-weight:800;
}
.status-history-old{
  background:#f3f4f6;
  color:#4b5563;
}
.status-history-new{
  background:#ecfdf5;
  color:#065f46;
}
@media(max-width:760px){
  .rider-history-filters{
    grid-template-columns:1fr;
  }
  .rider-history-filter-action button{
    width:100%;
  }
}


/* V51 - Rider daily duty time + customer order count */
.rider-history-section-title{
  margin:20px 0 6px;
  font-size:16px;
}
.rider-daily-duty-table td{
  vertical-align:middle;
}
.duty-time-total{
  display:inline-block;
  padding:5px 9px;
  border-radius:8px;
  background:#ecfdf5;
  color:#065f46;
  font-weight:900;
  white-space:nowrap;
}
.duty-time-zero{
  display:inline-block;
  padding:5px 9px;
  border-radius:8px;
  background:#f3f4f6;
  color:#6b7280;
  font-weight:700;
  white-space:nowrap;
}
.customer-order-count-badge{
  display:inline-block;
  margin:4px 0;
  padding:3px 7px;
  border-radius:999px;
  background:#fff7ed;
  color:#9a3412;
  font-size:10px;
  font-weight:900;
}


/* V52 - Admin vouchers + automatic referral rewards */
.voucher-admin-grid{
  display:grid;
  grid-template-columns:minmax(180px,1.2fr) minmax(150px,.8fr) minmax(180px,.9fr);
  gap:12px;
  align-items:end;
  margin:12px 0 8px;
}
#adminVoucherCode{
  text-transform:uppercase;
  letter-spacing:.5px;
  font-weight:800;
}
@media(max-width:760px){
  .voucher-admin-grid{grid-template-columns:1fr}
}


/* V53 - customer top REFER-A-FRIEND ₱20 tab */
.refer-friend-top-tab{
  font-weight:900;
}
.refer-friend-hero{
  max-width:780px;
  margin:18px auto;
  padding:24px;
}
.refer-friend-badge{
  display:inline-block;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:999px;
  background:#fff7ed;
  color:#9a3412;
  font-size:12px;
  font-weight:900;
  letter-spacing:.35px;
}
.refer-friend-intro{
  color:#4b5563;
  line-height:1.5;
}
.refer-how-it-works{
  display:grid;
  gap:8px;
  margin:16px 0;
}
.refer-step{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#f9fafb;
}
.refer-step strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:25px;
  height:25px;
  flex:0 0 25px;
  border-radius:50%;
  background:#111827;
  color:#fff;
  font-size:12px;
}
.refer-step span{
  font-size:13px;
  line-height:1.4;
}
.refer-friend-form{
  margin-top:14px;
  padding:16px;
  border:1px solid #e5e7eb;
  border-radius:12px;
}
.refer-friend-rules{
  margin-top:12px;
  padding:12px;
  border-radius:10px;
  background:#fffbeb;
  color:#92400e;
  font-size:12px;
  line-height:1.5;
}
.refer-friend-rules strong,
.refer-friend-rules span{
  display:block;
}
.refer-rewards-check{
  margin-top:14px;
}
@media(max-width:700px){
  .refer-friend-hero{
    margin:10px 0;
    padding:15px;
  }
  .refer-friend-top-tab{
    font-size:11px;
  }
}


/* V54 - post-checkout Admin voucher */
.admin-order-voucher-box{
  margin:8px 0;
  padding:8px;
  border:1px solid #e5e7eb;
  border-radius:9px;
  background:#f9fafb;
}
.admin-order-voucher-box input{
  margin:4px 0 6px;
  text-transform:uppercase;
}
.voucher-applied-note{
  margin-top:4px;
  font-size:12px;
}


/* V55 - customer additional order / instructions */
.additional-order-help{
  margin-top:6px;
  line-height:1.4;
}
.customer-extra-order-note{
  margin-top:7px;
  padding:8px 10px;
  border:1px solid #fde68a;
  border-radius:9px;
  background:#fffbeb;
  color:#78350f;
  font-size:12px;
  line-height:1.45;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.rider-extra-order-note{
  margin:9px 0;
  font-size:13px;
}


/* V56 - Admin Site Coverage */
.site-coverage-card{
  margin-top:14px;
  padding:14px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#f9fafb;
}
.site-choice-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:8px;
  margin:10px 0 14px;
}
.site-choice{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 10px;
  border:1px solid #e5e7eb;
  border-radius:9px;
  background:#fff;
  font-size:13px;
}
.site-choice input{
  width:auto;
  margin:0;
}


/* V57 - Rider site selection before Login */
.rider-login-sites-box{
  margin:0 0 14px;
  padding:12px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#f9fafb;
}
.rider-login-sites-box h3{
  margin:0 0 4px;
}
.rider-login-site-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin-top:10px;
}
.rider-login-site-choice{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 10px;
  border:1px solid #e5e7eb;
  border-radius:9px;
  background:#fff;
  font-size:13px;
  cursor:pointer;
}
.rider-login-site-choice input{
  width:auto;
  margin:0;
}


/* V58 - Rider Soft Phone inside Customer Live Chat Support */
.rider-live-support-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #e5e7eb;
}
.rider-live-support-head h4{
  margin:0 0 3px;
}
.rider-softphone{
  min-width:170px;
  padding:10px;
  border:1px solid #d1d5db;
  border-radius:12px;
  background:#f9fafb;
  text-align:center;
}
.rider-softphone-label{
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.5px;
  color:#6b7280;
}
.rider-softphone-number{
  margin:4px 0 7px;
  font-size:13px;
  font-weight:900;
  overflow-wrap:anywhere;
}
.rider-softphone-call{
  display:block;
  padding:8px 10px;
  border-radius:9px;
  background:#111827;
  color:#fff !important;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
}
.rider-softphone-call:active{
  transform:scale(.98);
}
@media(max-width:650px){
  .rider-live-support-head{
    flex-direction:column;
  }
  .rider-softphone{
    width:100%;
  }
}


/* V59 - Private Rider Customer Live Support */
.rider-customer-live-support{
  margin-top:14px;
  padding:12px;
  border-top:1px solid #e5e7eb;
}
.rider-customer-live-support h4{
  margin:0 0 10px;
}
.rider-live-support-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.rider-live-support-actions .rider-chat-customer-btn,
.rider-live-support-actions .rider-call-customer-btn{
  flex:1 1 160px;
  text-align:center;
  text-decoration:none;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}


/* V60 - Small staff-only Change My Password bottom tab */
.staff-password-tab{
  position:fixed;
  right:12px;
  bottom:10px;
  z-index:1100;
  border:1px solid #d1d5db;
  border-radius:999px;
  padding:6px 10px;
  background:#fff;
  color:#374151;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
  font-size:10px;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
}
.staff-password-tab:hover{
  background:#f9fafb;
}
.staff-password-modal-card{
  width:min(430px,calc(100vw - 28px));
}
.staff-password-modal-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin-bottom:12px;
}
.staff-password-modal-head h2{
  margin:0 0 3px;
}
.staff-password-close{
  min-width:auto;
  padding:6px 9px;
}
@media(max-width:650px){
  .staff-password-tab{
    right:8px;
    bottom:8px;
    padding:5px 8px;
    font-size:9px;
  }
}

/* V61 Rider/customer communication gating */
.rider-private-order{padding:14px}.rider-private-order-number{font-size:15px;margin-bottom:10px}.rider-operational-details{margin:10px 0;padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb}.rider-live-support-actions.three-actions{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:8px}.rider-support-chat-panel,.admin-rider-chat-panel{margin-top:10px;padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.rider-support-chat-panel h5{margin:0 0 8px}.customer-track-chat-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.customer-track-chat-actions button{flex:1 1 160px}.admin-rider-chat-toggle{margin-top:8px}@media(max-width:700px){.rider-live-support-actions.three-actions{grid-template-columns:1fr}}


/* V62 - Main Admin All Conversations */
.all-conversations-filters{
  display:grid;
  grid-template-columns:minmax(240px,1fr) minmax(220px,320px);
  gap:10px;
  margin:12px 0;
}
.main-conversation-layout{min-height:520px}
.all-conversation-header{
  margin-bottom:8px;
  padding:9px 10px;
  border:1px solid #e5e7eb;
  border-radius:9px;
  background:#f9fafb;
}
.all-conversation-type{
  margin-bottom:3px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.4px;
  color:#9a3412;
}
#allConversationReply{margin-top:9px}
@media(max-width:760px){
  .all-conversations-filters{grid-template-columns:1fr}
}


/* V63 - Rider full order details after acceptance */
.rider-accepted-items{
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid #e5e7eb;
}
.rider-accepted-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:5px 10px;
  padding:7px 0;
  border-bottom:1px dashed #e5e7eb;
}
.rider-accepted-mods{
  grid-column:1 / -1;
  padding-left:12px;
}
.rider-billing-summary{
  margin-top:12px;
  padding:10px;
  border:1px solid #d1d5db;
  border-radius:10px;
  background:#fff;
}
.rider-billing-summary>div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:4px 0;
}
.rider-grand-total{
  margin-top:7px;
  padding-top:9px !important;
  border-top:2px solid #111827;
  font-size:18px;
  font-weight:900;
}


/* V64 - Rider chats stay open through automatic dashboard refreshes */
.rider-support-chat-panel:not(.hidden){
  scroll-margin-top:12px;
}


/* V65 - Barangay Pasabay management */
#pasabayLocationsBody input[data-location-town]{
  min-width:190px;
}
#pasabayFeesBody input[data-pasabay-fee]{
  min-width:95px;
  max-width:120px;
}
#locationSelect optgroup{
  font-weight:900;
}
#locationSelect option{
  font-weight:400;
}


/* V67 - expanded municipality/site coverage */
#customerTownCity optgroup,
#locationSelect optgroup{
  font-weight:900;
}
\n\n/* V68 - customer location/merchant privacy and fee visibility */\n#customerTownCity{font-weight:700}\n

/* V69 - Right-side Live Agent button remains clickable before/after order lookup */
#floatingHelpBtn{
  touch-action:manipulation;
  pointer-events:auto !important;
}
#floatingHelpBtn:active{
  transform:scale(.94);
}


/* V70 - Merchant-first customer ordering + required merchant logos */
.customer-merchant-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px;
  margin-top:12px;
}
.customer-merchant-card{
  appearance:none;
  border:2px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  padding:12px;
  cursor:pointer;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  min-height:155px;
}
.customer-merchant-card:hover,
.customer-merchant-card.selected{
  border-color:#991b1b;
  box-shadow:0 6px 18px rgba(0,0,0,.10);
}
.customer-merchant-card img{
  width:88px;
  height:88px;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
}
.customer-merchant-card strong{font-size:15px}
.customer-merchant-card span{font-size:11px;color:#6b7280}

.admin-merchant-logo{
  display:block;
  width:64px;
  height:64px;
  object-fit:contain;
  border:1px solid #e5e7eb;
  border-radius:10px;
  margin-bottom:6px;
  background:#fff;
}
.merchant-logo-required{
  width:72px;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px dashed #dc2626;
  border-radius:8px;
  font-size:10px;
  font-weight:800;
  color:#991b1b;
  margin-bottom:6px;
}

/* V70 - GCash proof of payment */
.gcash-rule-note{
  margin:10px 0;
  padding:9px;
  border-radius:9px;
  background:#fff;
  border:1px solid #d1d5db;
}
.gcash-proof-preview{
  margin:8px 0;
}
.gcash-proof-preview img{
  display:block;
  width:min(100%,320px);
  max-height:360px;
  object-fit:contain;
  border:1px solid #d1d5db;
  border-radius:10px;
  background:#fff;
}


/* V71 - Customer Live Agent general-assistance prompt */
.floating-help-prompt{
  max-width:245px;
  line-height:1.25;
  text-align:left;
}
#floatingCustomerHelp{
  pointer-events:auto;
}
#floatingHelpBtn{
  pointer-events:auto !important;
  cursor:pointer;
}


/* V72 - Persistent right-side Live Agent TEXT BUTTON */
#floatingCustomerHelp.floating-customer-help{
  position:fixed !important;
  right:10px !important;
  left:auto !important;
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  z-index:100000 !important;
  width:auto !important;
  max-width:calc(100vw - 20px) !important;
  display:block !important;
  overflow:visible !important;
  pointer-events:auto !important;
}

#floatingCustomerHelp.floating-customer-help.hidden{
  display:none !important;
}

#floatingHelpBtn{
  width:320px !important;
  max-width:calc(100vw - 20px) !important;
  height:auto !important;
  min-height:64px !important;
  padding:10px 14px !important;
  border:0 !important;
  border-radius:16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  text-align:left !important;
  background:var(--red) !important;
  color:#fff !important;
  box-shadow:0 10px 28px rgba(0,0,0,.28) !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  font-family:inherit !important;
}

#floatingHelpBtn .floating-help-icon{
  display:flex !important;
  width:42px !important;
  min-width:42px !important;
  height:42px !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.16) !important;
  font-size:24px !important;
}

#floatingHelpBtn .floating-help-button-text{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  flex:1 1 auto !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.3 !important;
  font-weight:900 !important;
  white-space:normal !important;
}

#floatingHelpBtn:hover{
  filter:brightness(.96);
}

#floatingHelpBtn:active{
  transform:scale(.98) !important;
}

@media(max-width:700px){
  #floatingCustomerHelp.floating-customer-help{
    right:6px !important;
    top:53% !important;
    max-width:calc(100vw - 12px) !important;
  }

  #floatingHelpBtn{
    width:245px !important;
    max-width:calc(100vw - 12px) !important;
    min-height:58px !important;
    padding:8px 10px !important;
    border-radius:14px !important;
  }

  #floatingHelpBtn .floating-help-icon{
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    font-size:21px !important;
  }

  #floatingHelpBtn .floating-help-button-text{
    font-size:11px !important;
    line-height:1.25 !important;
  }
}


/* V73 - Keep Admin/Sub Admin Rider chat visibly open across dashboard refreshes */
.admin-rider-chat-panel:not(.hidden){
  display:block !important;
}
.admin-rider-chat-toggle{
  white-space:nowrap;
}


/* V74 - Simple staff calculator */
.staff-calculator-card{
  max-width:460px;
}
.simple-calculator{
  width:100%;
  max-width:360px;
}
.calculator-display{
  width:100%;
  box-sizing:border-box;
  text-align:right;
  font-size:24px;
  font-weight:800;
  padding:12px;
  margin-bottom:10px;
}
.calculator-keypad{
  display:grid;
  grid-template-columns:repeat(4,minmax(54px,1fr));
  gap:7px;
}
.calculator-key{
  min-height:45px;
  font-size:17px;
  font-weight:800;
  margin:0 !important;
}
.calculator-equals{
  grid-row:span 2;
}
.calculator-zero{
  grid-column:span 2;
}

/* V74 - Referral website sharing */
.referral-share-card{
  margin:14px 0;
}
.referral-share-link{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  margin-bottom:10px;
}
.referral-share-link input{
  margin:0;
}

/* V74 - Public website visitor counter */
.footer-brand-block{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.website-visitor-counter{
  font-size:12px;
  opacity:.9;
}
.website-visitor-counter strong{
  font-size:13px;
}

@media(max-width:700px){
  .staff-calculator-card{
    max-width:none;
  }
  .simple-calculator{
    max-width:none;
  }
  .referral-share-link{
    grid-template-columns:1fr;
  }
}


/* V77 - Optional ₱25 special food-wrap message */
.special-wrap-message-box{
  margin-top:16px;
  padding:14px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  background:rgba(255,255,255,.72);
}
.special-wrap-choice{
  display:flex;
  align-items:flex-start;
  gap:10px;
  cursor:pointer;
}
.special-wrap-choice input{
  width:auto;
  margin-top:3px;
}
.special-wrap-choice span{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.special-wrap-choice small{
  font-weight:800;
}
#specialWrapMessageFields{
  margin-top:12px;
}
.special-wrap-admin-note,
.special-wrap-rider-note{
  margin-top:9px;
  padding:10px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.12);
  font-weight:600;
}


/* V78 - persistent Site Coverage + Select All */
.site-select-all-row{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 10px;
  margin-bottom:4px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
}
.site-select-all-choice{
  margin:0;
  font-weight:800;
}
.site-select-all-choice input{
  transform:scale(1.12);
}


/* V81 - floating customer live support changed into compact icon so it no longer blocks customer view */
#floatingCustomerHelp.floating-customer-help{
  position:fixed !important;
  right:14px !important;
  left:auto !important;
  bottom:16px !important;
  top:auto !important;
  transform:none !important;
  width:60px !important;
  max-width:60px !important;
  z-index:100000 !important;
  display:block !important;
  overflow:visible !important;
  pointer-events:auto !important;
}
#floatingCustomerHelp.floating-customer-help.hidden{
  display:none !important;
}
#floatingHelpBtn{
  width:60px !important;
  height:60px !important;
  min-width:60px !important;
  min-height:60px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  text-align:center !important;
  background:var(--red) !important;
  color:#fff !important;
  box-shadow:0 12px 28px rgba(0,0,0,.28) !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}
#floatingHelpBtn .floating-help-icon{
  display:flex !important;
  width:42px !important;
  min-width:42px !important;
  height:42px !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.14) !important;
  font-size:25px !important;
  line-height:1 !important;
}
#floatingHelpBtn .floating-help-button-text,
#floatingCustomerHelp .floating-help-prompt{
  display:none !important;
}
#floatingHelpBtn:hover{
  filter:brightness(.97);
}
#floatingHelpBtn:active{
  transform:scale(.96) !important;
}
.chat-card.support-chat-open{
  right:16px !important;
  bottom:88px !important;
  width:min(430px,calc(100vw - 32px)) !important;
  max-height:min(720px,calc(100vh - 120px)) !important;
}
@media(max-width:700px){
  #floatingCustomerHelp.floating-customer-help{
    right:10px !important;
    bottom:12px !important;
    width:54px !important;
    max-width:54px !important;
    top:auto !important;
  }
  #floatingHelpBtn{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
  }
  #floatingHelpBtn .floating-help-icon{
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    font-size:22px !important;
  }
  .chat-card.support-chat-open{
    right:8px !important;
    bottom:76px !important;
    width:calc(100vw - 16px) !important;
    max-height:calc(100vh - 96px) !important;
  }
}


/* V82 - Live Chat Close Sale / Create Order */
.admin-support-sales-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.admin-support-sales-actions button{flex:1 1 180px}
.support-create-order-modal-card{width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 28px);overflow:auto}
.support-order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:12px}.support-order-span-2{grid-column:1/-1}.support-order-grid label{display:block;font-size:12px;font-weight:800;margin-bottom:4px}.support-order-grid input,.support-order-grid select,.support-order-grid textarea{width:100%}
#supportCreateOrderSummary{margin-top:12px}.support-created-order-highlight{font-weight:900;font-size:16px}
@media(max-width:700px){.support-order-grid{grid-template-columns:1fr}.support-order-span-2{grid-column:auto}.support-create-order-modal-card{width:calc(100vw - 12px);max-height:calc(100vh - 12px)}}


/* V84 - Order via Chat top navigation tab */
.public-nav .order-via-chat-top-tab{
  font-weight:900;
  white-space:nowrap;
  border:1px solid rgba(255,255,255,.45);
  background:#fff;
  color:var(--red);
}
.public-nav .order-via-chat-top-tab:hover,
.public-nav .order-via-chat-top-tab:focus-visible{
  filter:brightness(.97);
  box-shadow:0 4px 12px rgba(0,0,0,.14);
}
@media(max-width:700px){
  .public-nav .order-via-chat-top-tab{
    flex:1 1 145px;
  }
}


/* V85 - final compact live chat icon to avoid blocking customer screen */
#floatingCustomerHelp,
#floatingCustomerHelp.floating-customer-help{
  position: fixed !important;
  right: 8px !important;
  bottom: 12px !important;
  left: auto !important;
  top: auto !important;
  width: 46px !important;
  max-width: 46px !important;
  z-index: 100000 !important;
  overflow: visible !important;
}
#floatingCustomerHelp.floating-customer-help.hidden{display:none !important;}
#floatingHelpBtn{
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  background: var(--red) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.20) !important;
}
#floatingHelpBtn .floating-help-icon{
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background: transparent !important;
  border-radius: 50% !important;
  font-size: 20px !important;
  line-height:1 !important;
}
#floatingHelpBtn .floating-help-button-text,
#floatingCustomerHelp .floating-help-prompt{
  display:none !important;
}
.chat-card.support-chat-open{
  right: 8px !important;
  bottom: 64px !important;
  width: min(410px, calc(100vw - 16px)) !important;
  max-height: calc(100vh - 80px) !important;
}
@media (max-width: 700px){
  #floatingCustomerHelp,
  #floatingCustomerHelp.floating-customer-help{
    right: 6px !important;
    bottom: 10px !important;
    width: 42px !important;
    max-width: 42px !important;
  }
  #floatingHelpBtn{
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
  }
  #floatingHelpBtn .floating-help-icon{font-size:18px !important;}
  .chat-card.support-chat-open{
    right: 6px !important;
    bottom: 58px !important;
    width: calc(100vw - 12px) !important;
    max-height: calc(100vh - 72px) !important;
  }
}


/* V86 - active merchants stay visible even when no uploaded logo is available */
.customer-merchant-logo-placeholder{
  width:88px;
  height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#f3f4f6;
  border:1px solid #e5e7eb;
  font-size:38px;
}


/* V91 Daily ₱5 vouchers */
.daily-five-voucher-card{overflow:hidden}
.daily-five-voucher-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.daily-five-voucher-badge{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.04em;padding:5px 9px;border-radius:999px;background:#fff3cd;border:1px solid #ffe08a;margin-bottom:5px}
.daily-five-voucher-count{font-weight:800;white-space:nowrap}
.daily-five-voucher-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px;margin:12px 0}
.daily-five-voucher-slot{border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center;font-size:12px;font-weight:800}
.daily-five-voucher-slot.available{background:#f0fdf4}
.daily-five-voucher-slot.claimed{background:#f3f4f6;color:var(--muted)}


/* V94 automatic support queue */
.support-queue-status,.support-assignment-banner{
  margin:8px 0 10px;padding:9px 11px;border-radius:10px;font-size:13px;font-weight:800;
  border:1px solid var(--line);background:#f8fafc;
}
.support-queue-status.waiting{background:#fff8e1}
.support-queue-status.active{background:#eefbf3}
.support-queue-status.closed{background:#f3f4f6;color:var(--muted)}
.support-assignment-banner{margin-top:0}


/* V95 Dedicated Live Chat Agent Dashboard */
.agent-load-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.agent-load-summary>div{
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.agent-load-summary strong{font-size:20px}
@media(max-width:700px){
  .agent-load-summary{grid-template-columns:1fr}
}


/* V96 Agent order tools */
.agent-order-fee-box{
  min-width:190px;
}
.agent-order-rider-select{
  min-width:220px;
}
#agentCreateOrderModal .support-order-grid{
  margin-top:10px;
}


/* V97 Agent Conversation Reviews */
.agent-review-summary{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:10px 0 14px;
}
.agent-review-performance-card{
  border:1px solid var(--line);
  border-radius:12px;
  padding:9px 11px;
  min-width:170px;
}
.agent-review-performance-card strong{
  display:block;
  font-size:18px;
}
.agent-conversation-review-box{
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px;
}
.agent-review-tag{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid var(--line);
  font-size:12px;
  font-weight:800;
}
.agent-rating-chip{
  display:inline-block;
  margin:3px 5px 3px 0;
  padding:4px 7px;
  border-radius:999px;
  background:#f3f4f6;
  font-size:12px;
}
