
:root{
  --purple:#4B168A; --purple2:#5D22C7; --gold:#F5B400; --ink:#15122A;
  --muted:#6F7484; --line:#E9EAF0; --bg:#F7F8FB; --green:#17A668;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;font-size:14px}
button,input,select,textarea{font:inherit}
.app{display:grid;grid-template-columns:215px minmax(0,1fr) 315px;min-height:100vh}
.sidebar{
  border-right:1px solid var(--line);
  padding:16px 12px;
  display:flex;
  flex-direction:column;
  background:#ffffff;
  position:sticky;
  top:0;
  height:100vh;
  overflow:auto;
}
.brand img{width:188px;height:auto;display:block;margin:0 auto 18px}
#nav{display:flex;flex-direction:column;gap:4px}
.nav-item{
  border:0;
  background:transparent;
  text-align:left;
  padding:10px 12px;
  border-radius:7px;
  color:#1F2340;
  cursor:pointer;
  display:flex;
  gap:10px;
  align-items:center;
}
.nav-item:hover{
  background:#F5F1FF;
  color:#4B168A;
}
.nav-item.active{
  background:#4B168A;
  color:#ffffff;
}
.badge{
  background:#4B168A;
  color:#ffffff;
  border-radius:999px;
  padding:1px 6px;
  font-size:11px;
  margin-left:4px;
}
.nav-item.active .badge{
  background:#ffffff;
  color:#4B168A;
}
.grow-card{
  margin-top:auto;
  background:#ffffff;
  border:1px solid #E8EAF0;
  border-radius:12px;
  padding:16px;
}
.grow-illus{font-size:42px;color:#6C35DB}
.grow-card h4{color:#3E1485;margin:8px 0}.grow-card p{font-size:12px;color:var(--muted);line-height:1.5}
.grow-card button{width:100%;background:var(--purple);color:#fff;border:0;border-radius:6px;padding:10px;cursor:pointer}

.main{min-width:0;background:#fff}
.topbar{height:69px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:180px minmax(300px,1fr) auto auto;align-items:center;gap:20px;padding:0 22px;position:sticky;top:0;background:#fff;z-index:20}
.location{border:1px solid var(--line);border-radius:8px;padding:11px 14px}
.search{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;padding-left:12px;overflow:hidden;max-width:720px}
.search input{flex:1;border:0;outline:0;padding:11px;background:transparent}
.search button{border:0;background:var(--purple);color:#fff;padding:11px 20px;margin:4px;border-radius:5px;cursor:pointer}
.topicons{display:flex;gap:14px}.topicons span{position:relative;font-size:18px}.topicons b{position:absolute;top:-8px;right:-8px;background:#FF9F1C;color:#fff;font-size:9px;border-radius:10px;padding:2px 5px}
.user{display:flex;align-items:center;gap:8px;white-space:nowrap}.avatar{width:34px;height:34px;background:#EDE9FE;color:#4B168A;border-radius:50%;display:grid;place-items:center;font-weight:700}.user small{display:block;color:var(--muted);font-size:11px;margin-top:2px}

.content{padding:20px;background:#fff}.page{display:none}.page.active{display:block}
.company-hero{display:grid;grid-template-columns:130px 1fr auto;gap:20px;align-items:center;margin-bottom:20px}
.company-logo-box{border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center}.company-logo-box .jlogo{font-size:30px;color:#B99144}.verified{display:inline-block;background:#E9F8F0;color:#13945A;border-radius:8px;padding:3px 8px;font-size:11px}
.hero-title h1{font-size:26px;margin:0 0 8px}.hero-title .meta{color:var(--muted);display:flex;gap:16px;flex-wrap:wrap}
.hero-actions button{padding:10px 16px;border-radius:7px;border:1px solid #CFC6EC;background:white;color:var(--purple);font-weight:600;cursor:pointer}.hero-actions .primary{background:var(--purple);color:white}

.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.kpi{border:1px solid var(--line);border-radius:12px;padding:18px;background:white;box-shadow:0 1px 2px rgba(0,0,0,.02)}.kpi .icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#F1EAFE;color:var(--purple);font-size:20px;float:left;margin-right:12px}.kpi h3{margin:4px 0;font-size:21px}.kpi small{color:var(--green)}
.grid2{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:16px}
.panel{border:1px solid var(--line);border-radius:12px;background:white;padding:16px}.panel h3{margin:0 0 12px;font-size:16px}
.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.product{border:1px solid var(--line);border-radius:10px;overflow:hidden}.product .thumb{height:90px;background:linear-gradient(135deg,#F8F8FA,#EEEAF9);display:grid;place-items:center;font-size:36px}.product .pbody{padding:10px}.product h4{margin:0 0 5px;font-size:13px}.product small{color:var(--muted)}.stars{color:#F5A623;font-size:12px}
.quick-list{display:grid;gap:8px}.quick{display:flex;justify-content:space-between;border:1px solid var(--line);border-radius:8px;padding:11px;cursor:pointer}.quick:hover{background:#FAF8FF}
.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.table th{color:#4A4D5B;background:#FAFAFC}.status{padding:4px 8px;border-radius:999px;font-size:11px;background:#F0EBFF;color:#5D22C7}.status.green{background:#E9F8F0;color:#15955C}.status.orange{background:#FFF3DA;color:#C87800}.status.red{background:#FFECEC;color:#D64B4B}

.verify{border:1px solid #D6F0E2;background:#F7FFFA;border-radius:10px;padding:14px}.verify h3{color:#158B59}.verify ul{padding-left:18px;margin:8px 0}.verify li{margin:7px 0}
.tabs{display:flex;border-bottom:1px solid var(--line);gap:12px;margin:8px 0 16px}.tabs button{border:0;background:transparent;padding:10px;color:#555;cursor:pointer}.tabs button.active{color:var(--purple);border-bottom:2px solid var(--purple);font-weight:700}

.filterbar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.filterbar input,.filterbar select{border:1px solid var(--line);border-radius:7px;padding:10px;background:#fff}
.chiprow{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.chip{background:#F2F3F7;border-radius:999px;padding:7px 10px;font-size:12px}

.page-title{font-size:26px;margin:0 0 4px}.subtitle{color:var(--muted);margin:0 0 18px}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.supplier-card,.auction-card,.truck-card{border:1px solid var(--line);border-radius:10px;padding:14px}.supplier-card h4,.auction-card h4,.truck-card h4{margin:6px 0}.mapbox{height:250px;border:1px solid var(--line);border-radius:12px;background:
radial-gradient(circle at 30% 50%,#d7dce8 1px,transparent 1px) 0 0/24px 24px,
linear-gradient(135deg,#F8FAFD,#E8F1F7);position:relative;overflow:hidden}.pin{position:absolute;width:18px;height:18px;background:var(--purple);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.pin:after{content:"";width:6px;height:6px;background:#fff;border-radius:50%;position:absolute;top:6px;left:6px}
.pin.p1{left:22%;top:35%}.pin.p2{left:48%;top:28%}.pin.p3{left:67%;top:51%}.pin.p4{left:38%;top:65%}
.chat-panel{border-left:1px solid var(--line);height:100vh;position:sticky;top:0;background:#fff;display:flex;flex-direction:column}
.chat-head{padding:18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.chat-head small{display:block;color:var(--muted);margin-top:4px}.chat-head i{display:inline-block;width:7px;height:7px;background:#18A66D;border-radius:50%}
.chat-company{padding:15px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center}.company-logo{width:42px;height:42px;border:1px solid var(--line);border-radius:7px;display:grid;place-items:center;color:#B99144;font-weight:700}.chat-company small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.chat-body{padding:15px;overflow:auto;flex:1}.day{text-align:center;background:#F2F3F6;border-radius:10px;width:max-content;margin:0 auto 12px;padding:3px 9px;color:#777;font-size:11px}.msg{max-width:82%;padding:11px 12px;border-radius:10px;margin:10px 0;font-size:12px;line-height:1.5}.msg.me{background:#F2EAFE;margin-left:auto}.msg.them{background:#F8F8FA;border:1px solid var(--line)}.msg time{display:block;text-align:right;color:#8A8D98;font-size:9px;margin-top:6px}
.chat-input{display:flex;padding:10px;border-top:1px solid var(--line)}.chat-input input{flex:1;border:1px solid var(--line);border-radius:7px 0 0 7px;padding:10px}.chat-input button{border:0;background:var(--purple);color:#fff;width:44px;border-radius:0 7px 7px 0;cursor:pointer}.powered{text-align:center;font-size:10px;color:#777;padding:0 0 10px}

.company-tabs{display:flex;gap:18px;border:1px solid var(--line);border-radius:10px;padding:0 14px;margin-bottom:14px;overflow:auto}.company-tabs button{white-space:nowrap;border:0;background:transparent;padding:14px 4px;cursor:pointer}.company-tabs button.active{color:var(--purple);border-bottom:2px solid var(--purple);font-weight:700}
.settings-layout{display:grid;grid-template-columns:220px 1fr 220px;gap:16px}.settings-menu{border:1px solid var(--line);border-radius:10px;padding:8px}.settings-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:10px;border-radius:7px}.settings-menu button.active{background:#F3EDFF;color:var(--purple)}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.field label{display:block;font-size:11px;color:#666;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px}.field textarea{min-height:80px}
.subscription-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.plan{border:1px solid var(--line);border-radius:12px;padding:16px}.plan.popular{border:2px solid #6C35DB;box-shadow:0 5px 18px rgba(92,34,199,.08)}.plan .price{font-size:24px;font-weight:800;margin:10px 0}.plan ul{padding-left:18px;color:#555;line-height:1.8;font-size:12px}.plan button{width:100%;border:1px solid #BBADE4;background:white;color:#4B168A;border-radius:7px;padding:10px}.plan.popular button{background:#4B168A;color:white}
.payment-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pay{border:1px solid var(--line);padding:13px;border-radius:8px}.pay.active{border:2px solid #6C35DB;background:#FBF9FF}

@media(max-width:1200px){
  .app{grid-template-columns:200px minmax(0,1fr)}
  .chat-panel{display:none}
  .cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.topbar{grid-template-columns:1fr;height:auto;padding:12px;gap:10px}.location{display:none}.topicons{display:none}.user{display:none}
  .cards,.products,.cards3,.subscription-grid{grid-template-columns:1fr 1fr}.grid2,.settings-layout{grid-template-columns:1fr}.company-hero{grid-template-columns:1fr}.hero-actions{display:flex;gap:8px}
}
@media(max-width:520px){.cards,.products,.cards3,.subscription-grid,.payment-methods,.formgrid{grid-template-columns:1fr}.content{padding:12px}}


/* ===== QProcure live Supabase company profile ===== */
.live-loading{padding:40px;text-align:center;color:#6F7484}
.live-empty{border:1px dashed #D8D9E2;border-radius:12px;padding:28px;text-align:center;background:#FCFCFE}
.live-empty h3{margin:0 0 8px}.live-empty p{color:#6F7484}
.live-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.live-btn{border:1px solid #D8D4E8;background:#fff;color:#4B168A;border-radius:7px;padding:9px 13px;cursor:pointer;font-weight:600}
.live-btn.primary{background:#4B168A;color:#fff;border-color:#4B168A}
.live-btn.danger{color:#B4232D;border-color:#F0C7CB}
.live-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.live-form .full{grid-column:1/-1}
.live-form label{display:block;font-size:11px;color:#5F6370;margin:0 0 5px;font-weight:600}
.live-form input,.live-form select,.live-form textarea{width:100%;border:1px solid #E4E5EC;border-radius:7px;padding:10px;background:#fff;outline:none}
.live-form textarea{min-height:90px;resize:vertical}
.live-form input:focus,.live-form select:focus,.live-form textarea:focus{border-color:#A488E0;box-shadow:0 0 0 3px #F4F0FC}
.live-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.live-toolbar h3{margin:0}
.live-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.live-card{border:1px solid #E8EAF0;border-radius:10px;padding:14px;background:#fff}
.live-card h4{margin:5px 0 7px}.live-card p{color:#6F7484;font-size:12px;line-height:1.5}
.live-price{font-size:18px;font-weight:800;color:#17152A}
.live-modal-backdrop{position:fixed;inset:0;background:rgba(10,13,28,.52);z-index:1000;display:grid;place-items:center;padding:20px}
.live-modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;padding:20px;box-shadow:0 30px 80px rgba(0,0,0,.28)}
.live-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.live-modal-head h3{margin:0}.live-modal-head button{border:0;background:transparent;font-size:23px;cursor:pointer}
.live-toast{position:fixed;right:24px;bottom:24px;z-index:1200;background:#17152A;color:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 10px 35px rgba(0,0,0,.25)}
.live-toast.error{background:#B4232D}
.live-verify-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid #E8EAF0}
.live-hero-logo{width:86px;height:86px;border-radius:12px;border:1px solid #E8EAF0;object-fit:contain;background:#fff}
@media(max-width:760px){.live-form,.live-card-grid{grid-template-columns:1fr}}


/* =========================================================
   QPROCURE RESPONSIVE COLLAPSIBLE MENU
   ========================================================= */
.mobile-menu-toggle{
  display:none;
  border:0;
  background:#4B168A;
  color:#fff;
  width:42px;
  height:42px;
  border-radius:9px;
  font-size:22px;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.mobile-menu-overlay{
  display:none;
}

@media (max-width: 900px){
  html,body{overflow-x:hidden}

  .app{
    display:block !important;
    width:100% !important;
  }

  .main{
    width:100% !important;
    min-width:0 !important;
  }

  .mobile-menu-toggle{
    display:flex !important;
    grid-area:menu !important;
  }

  .sidebar{
    display:flex !important;
    position:fixed !important;
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:min(300px,82vw) !important;
    height:100dvh !important;
    z-index:1002 !important;
    transform:translateX(-105%) !important;
    transition:transform .28s ease !important;
    box-shadow:0 0 35px rgba(10,12,30,.18) !important;
    overflow-y:auto !important;
  }

  .sidebar.mobile-open{
    transform:translateX(0) !important;
  }

  .mobile-menu-overlay{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    background:rgba(10,13,30,.42) !important;
    z-index:1001 !important;
    opacity:0 !important;
    visibility:hidden !important;
    transition:opacity .25s ease, visibility .25s ease !important;
  }

  .mobile-menu-overlay.open{
    opacity:1 !important;
    visibility:visible !important;
  }

  .topbar{
    position:sticky !important;
    top:0 !important;
    z-index:900 !important;
    height:auto !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) auto !important;
    grid-template-areas:"menu search user" !important;
    gap:9px !important;
    padding:9px 10px !important;
  }

  .location,.topicons{display:none !important}

  .search{
    grid-area:search !important;
    min-width:0 !important;
    width:100% !important;
    max-width:none !important;
  }

  .search input{
    min-width:0 !important;
    width:100% !important;
  }

  .search button{
    display:none !important;
  }

  .user{
    grid-area:user !important;
    display:flex !important;
    min-width:0 !important;
    max-width:120px !important;
  }

  .user b{
    display:block !important;
    max-width:68px !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
    font-size:12px !important;
  }

  .user small{font-size:10px !important}

  .chat-panel{
    display:none !important;
  }

  .content{
    width:100% !important;
    min-width:0 !important;
    padding:14px 12px 30px !important;
  }

  .cards{grid-template-columns:1fr 1fr !important}
  .grid2,.grid3,.settings-layout{grid-template-columns:1fr !important}
  .products,.cards3,.subscription-grid,.payment-methods,.live-card-grid,.live-form,.formgrid{grid-template-columns:1fr !important}
  .live-form .full{grid-column:1 !important}

  .company-tabs{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .company-tabs button{
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  .panel{overflow-x:auto !important}
  .table{min-width:620px !important}
}

@media (max-width:520px){
  .topbar{
    grid-template-columns:42px minmax(0,1fr) 72px !important;
  }
  .user{max-width:72px !important}
  .user b{max-width:38px !important}
  .cards{grid-template-columns:1fr !important}
}


/* =========================================================
   QPROCURE PUBLIC GUEST MODE
   ========================================================= */
.guest-state{
  display:none;
  align-items:center;
  gap:7px;
}
.guest-state.visible{
  display:flex;
}
.guest-state a{
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  border-radius:7px;
  padding:8px 11px;
}
.guest-state .guest-login{
  color:#4B168A;
  border:1px solid #D8CDEA;
  background:#fff;
}
.guest-state .guest-register{
  color:#fff;
  background:#4B168A;
}
body.qp-guest .user{
  display:none !important;
}
.qp-protected{
  position:relative;
}
.qp-protected::after{
  content:"";
}
@media(max-width:900px){
  .guest-state.visible{
    grid-area:user;
    justify-content:flex-end;
  }
  .guest-state .guest-register{display:none}
  .guest-state a{padding:7px 9px;font-size:11px}
}


/* =========================================================
   QPROCURE PUBLIC HOME — BANNER + MATERIALS + TENDERS
   ========================================================= */
.public-home-hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);
  gap:18px;
  border-radius:18px;
  padding:34px;
  background:
    radial-gradient(circle at 82% 18%,rgba(245,180,0,.20),transparent 26%),
    linear-gradient(135deg,#25104A,#4B168A 58%,#5C21B5);
  color:#fff;
  overflow:hidden;
  margin-bottom:24px;
}
.public-home-kicker,.home-eyebrow{
  display:inline-block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1.3px;
  font-weight:800;
}
.public-home-kicker{color:#F7C641}
.public-home-copy h1{
  font-size:38px;
  line-height:1.12;
  margin:10px 0 12px;
  max-width:780px;
}
.public-home-copy p{
  max-width:720px;
  line-height:1.6;
  color:#EEE9F7;
}
.public-home-search{
  display:flex;
  max-width:760px;
  margin-top:22px;
  background:#fff;
  border-radius:10px;
  overflow:hidden;
}
.public-home-search input{
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  padding:14px 16px;
}
.public-home-search button{
  border:0;
  background:#F5B400;
  color:#26123F;
  font-weight:800;
  padding:0 20px;
  cursor:pointer;
}
.public-home-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}
.public-home-actions .live-btn{
  background:#fff;
  color:#4B168A;
  border-color:#fff;
}
.public-home-actions .live-btn.primary{
  background:#F5B400;
  color:#27133B;
  border-color:#F5B400;
}
.public-home-banner-card{
  align-self:stretch;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(8px);
  border-radius:15px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
}
.banner-badge{
  margin:0 auto 14px;
  width:max-content;
  max-width:100%;
  background:#fff;
  color:#4B168A;
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  font-weight:800;
}
.banner-visual{font-size:78px;line-height:1}
.public-home-banner-card h3{font-size:22px;margin:14px 0 5px}
.public-home-banner-card p{margin:0;color:#EEE9F7}

.home-section{
  margin:24px 0;
}
.home-section-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:end;
  margin-bottom:14px;
}
.home-section-head h2{margin:4px 0 0;font-size:24px}
.home-eyebrow{color:#6C35C8}

.home-category-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:11px;
}
.home-category-card{
  border:1px solid #E8EAF0;
  border-radius:12px;
  padding:15px;
  background:#fff;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease;
}
.home-category-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 25px rgba(31,23,61,.07);
}
.home-category-icon{font-size:32px}
.home-category-card h3{font-size:14px;margin:9px 0 5px}
.home-category-card p{font-size:11px;color:#6F7484;line-height:1.45;margin:0}

.home-product-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.home-product-card{
  border:1px solid #E8EAF0;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.home-product-image{
  height:120px;
  display:grid;
  place-items:center;
  font-size:46px;
  background:linear-gradient(135deg,#F9F9FC,#EEE9F8);
}
.home-product-body{padding:12px}
.home-product-body small{color:#6F7484}
.home-product-body h3{font-size:14px;margin:5px 0 8px;min-height:34px}
.home-stock{
  display:block;
  color:#13945A;
  font-size:11px;
  margin-top:5px;
}
.home-product-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-top:10px;
}
.home-product-actions .live-btn{padding:8px 5px;font-size:11px}

.home-tender-section{
  background:#FAF9FD;
  border:1px solid #EEEAF8;
  border-radius:15px;
  padding:18px;
}
.home-tender-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.home-tender-card{
  background:#fff;
  border:1px solid #E8EAF0;
  border-radius:11px;
  padding:15px;
}
.home-tender-top,.home-tender-bottom{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
}
.home-tender-top small{color:#6F7484}
.home-tender-card h3{font-size:16px;margin:14px 0 6px}
.home-tender-card p{color:#6F7484;font-size:12px}
.home-tender-value{
  font-size:21px;
  font-weight:800;
  color:#3C156F;
  margin:13px 0;
}
.home-tender-bottom span{font-size:11px;color:#6F7484}

.home-trust-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  border-top:1px solid #E8EAF0;
  padding-top:18px;
  margin:25px 0 10px;
}
.home-trust-strip div{
  padding:13px;
  border-radius:10px;
  background:#FAFAFC;
}
.home-trust-strip b{display:block;margin-bottom:5px}
.home-trust-strip span{font-size:11px;color:#6F7484}

@media(max-width:1200px){
  .home-category-grid,.home-product-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .public-home-hero{grid-template-columns:1fr;padding:24px}
  .public-home-copy h1{font-size:30px}
  .public-home-banner-card{display:none}
  .home-category-grid,.home-product-grid{grid-template-columns:repeat(2,1fr)}
  .home-tender-grid,.home-trust-strip{grid-template-columns:1fr}
}
@media(max-width:520px){
  .public-home-hero{padding:20px 16px;border-radius:14px}
  .public-home-copy h1{font-size:25px}
  .public-home-search{display:block;background:transparent}
  .public-home-search input{width:100%;border-radius:9px}
  .public-home-search button{width:100%;padding:12px;border-radius:9px;margin-top:7px}
  .home-category-grid,.home-product-grid{grid-template-columns:1fr 1fr}
  .home-section-head{align-items:flex-start;flex-direction:column}
  .home-product-actions{grid-template-columns:1fr}
}


/* =========================================================
   QPROCURE HOME MAP
   ========================================================= */
.home-map-layout{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(270px,.55fr);
  gap:14px;
}
.home-map-panel{
  border:1px solid #E8EAF0;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.home-map-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px;
  border-bottom:1px solid #E8EAF0;
}
.home-map-toolbar small{
  display:block;
  color:#6F7484;
  margin-top:3px;
  font-size:11px;
}
.home-map-canvas{
  height:360px;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(219,225,232,.55) 1px,transparent 1px) 0 0/36px 36px,
    linear-gradient(rgba(219,225,232,.55) 1px,transparent 1px) 0 0/36px 36px,
    linear-gradient(135deg,#EFF4F7,#DDE9EE);
}
.home-map-canvas::before{
  content:"";
  position:absolute;
  inset:18% -10% auto 15%;
  height:130px;
  border:24px solid rgba(199,210,216,.75);
  border-color:transparent transparent rgba(199,210,216,.75) transparent;
  transform:rotate(-18deg);
}
.map-road{
  position:absolute;
  background:#fff;
  box-shadow:0 0 0 3px #CDD6DD;
  border-radius:999px;
}
.road-a{
  width:120%;
  height:12px;
  left:-8%;
  top:43%;
  transform:rotate(-14deg);
}
.road-b{
  width:90%;
  height:10px;
  left:20%;
  top:67%;
  transform:rotate(19deg);
}
.road-c{
  width:70%;
  height:9px;
  left:-10%;
  top:22%;
  transform:rotate(27deg);
}
.supplier-pin{
  position:absolute;
  width:38px;
  height:38px;
  border:0;
  border-radius:50% 50% 50% 8px;
  transform:rotate(-45deg);
  background:#4B168A;
  color:#fff;
  box-shadow:0 6px 16px rgba(75,22,138,.28);
  cursor:pointer;
  z-index:4;
}
.supplier-pin span{
  display:block;
  transform:rotate(45deg);
  font-weight:800;
}
.pin-a{left:23%;top:31%}
.pin-b{left:48%;top:20%}
.pin-c{left:65%;top:53%}
.pin-d{left:37%;top:67%}
.map-location-chip{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:5;
  background:#fff;
  border:1px solid #DFE3E8;
  border-radius:999px;
  padding:7px 11px;
  box-shadow:0 4px 14px rgba(20,30,40,.08);
  font-size:12px;
}
.home-map-sidebar{
  display:grid;
  gap:10px;
  align-content:start;
}
.home-map-card{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:10px;
  border:1px solid #E8EAF0;
  border-radius:12px;
  padding:12px;
  background:#fff;
}
.home-map-card .live-btn{
  grid-column:1/-1;
}
.home-map-card h3{
  margin:4px 0;
  font-size:14px;
}
.home-map-card p{
  margin:0 0 4px;
  color:#6F7484;
  font-size:11px;
}
.map-supplier-icon{
  width:48px;
  height:48px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#F2ECFF;
  font-size:25px;
}
.map-supplier-popup{
  position:absolute;
  right:18px;
  top:18px;
  z-index:10;
  width:230px;
  background:#fff;
  border:1px solid #E8EAF0;
  border-radius:12px;
  padding:13px;
  box-shadow:0 12px 35px rgba(30,35,45,.18);
}
.map-supplier-popup h4{margin:7px 0 4px}
.map-supplier-popup p{margin:0 0 4px;color:#6F7484;font-size:11px}
.map-popup-close{
  position:absolute;
  right:7px;
  top:6px;
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:18px;
}
.home-map-canvas.map-searching::after{
  content:"Searching this area...";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  z-index:20;
  background:rgba(255,255,255,.72);
  color:#4B168A;
  font-weight:800;
}

@media(max-width:1000px){
  .home-map-layout{
    grid-template-columns:1fr;
  }
  .home-map-sidebar{
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:700px){
  .home-map-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .home-map-canvas{
    height:300px;
  }
  .home-map-sidebar{
    grid-template-columns:1fr;
  }
  .map-supplier-popup{
    left:12px;
    right:12px;
    top:auto;
    bottom:12px;
    width:auto;
  }
}


/* =========================================================
   QPROCURE iOS / SAFARI HOTFIX
   ========================================================= */

/* Prevent iOS text-size surprises */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

/* Smooth touch scrolling */
.sidebar,
.content,
.company-tabs,
.panel,
.home-map-canvas{
  -webkit-overflow-scrolling:touch;
}

/* Remove Safari tap highlight */
button,
a,
.nav-item{
  -webkit-tap-highlight-color:transparent;
}

/* Prevent iPhone zooming inputs on focus */
@supports (-webkit-touch-callout: none){
  input,
  select,
  textarea{
    font-size:16px !important;
  }
}

/* Modern iPhone safe areas */
@media (max-width:900px){
  body{
    min-height:100dvh !important;
    min-height:-webkit-fill-available !important;
    overscroll-behavior-x:none;
  }

  .app{
    min-height:100dvh !important;
    min-height:-webkit-fill-available !important;
  }

  .topbar{
    padding-top:max(9px, env(safe-area-inset-top)) !important;
    padding-left:max(10px, env(safe-area-inset-left)) !important;
    padding-right:max(10px, env(safe-area-inset-right)) !important;
  }

  .content{
    padding-left:max(12px, env(safe-area-inset-left)) !important;
    padding-right:max(12px, env(safe-area-inset-right)) !important;
    padding-bottom:max(30px, calc(env(safe-area-inset-bottom) + 18px)) !important;
  }

  .sidebar{
    height:100dvh !important;
    height:-webkit-fill-available !important;
    padding-top:max(0px, env(safe-area-inset-top)) !important;
    padding-bottom:max(12px, env(safe-area-inset-bottom)) !important;
  }

  .mobile-menu-overlay{
    height:100dvh !important;
  }

  /* Safari sometimes clips sticky/fixed children under transforms */
  .topbar{
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }

  /* Keep modal above Safari bottom toolbar */
  .live-modal-backdrop{
    min-height:100dvh !important;
    padding-bottom:env(safe-area-inset-bottom) !important;
  }

  .live-modal{
    max-height:calc(100dvh - env(safe-area-inset-top) - 12px) !important;
    overflow-y:auto !important;
  }

  /* Map must not overflow narrow iPhones */
  .home-map-layout,
  .home-map-panel,
  .home-map-sidebar,
  .home-map-canvas{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  .home-map-canvas{
    overflow:hidden !important;
  }

  /* Public hero/search */
  .public-home-search input{
    min-height:44px;
  }

  .public-home-search button,
  .live-btn,
  .mobile-menu-toggle{
    min-height:44px;
    touch-action:manipulation;
  }
}

/* iPhone narrow widths */
@media (max-width:430px){
  .topbar{
    grid-template-columns:44px minmax(0,1fr) 70px !important;
    gap:7px !important;
  }

  .mobile-menu-toggle{
    width:44px !important;
    height:44px !important;
  }

  .search input{
    padding:10px 8px !important;
  }

  .guest-state a{
    white-space:nowrap;
  }

  .public-home-copy h1{
    font-size:24px !important;
  }

  .home-category-grid,
  .home-product-grid{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   QPROCURE MOBILE APP VERSION
   ========================================================= */
.mobile-bottom-nav{
  display:none;
}

@media (max-width: 900px){

  :root{
    --qp-mobile-header:64px;
    --qp-mobile-bottom:70px;
  }

  body{
    background:#F7F8FC !important;
  }

  /* App shell */
  .app{
    display:block !important;
    min-height:100dvh !important;
  }

  .main{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }

  /* Mobile header */
  .topbar{
    position:sticky !important;
    top:0 !important;
    z-index:950 !important;
    min-height:var(--qp-mobile-header) !important;
    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) auto !important;
    grid-template-areas:"menu search user" !important;
    align-items:center !important;
    gap:8px !important;
    padding:
      max(9px, env(safe-area-inset-top))
      max(10px, env(safe-area-inset-right))
      9px
      max(10px, env(safe-area-inset-left)) !important;
    background:rgba(255,255,255,.96) !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
    border-bottom:1px solid #E7E9F0 !important;
    box-shadow:0 4px 18px rgba(36,20,66,.04) !important;
  }

  .mobile-menu-toggle{
    grid-area:menu !important;
    display:flex !important;
    width:44px !important;
    height:44px !important;
    border-radius:12px !important;
    background:#4B168A !important;
    color:#fff !important;
    font-size:21px !important;
  }

  .location,
  .topicons{
    display:none !important;
  }

  .search{
    grid-area:search !important;
    width:100% !important;
    min-width:0 !important;
    height:44px !important;
    border:1px solid #E0E3EA !important;
    border-radius:12px !important;
    padding:0 9px !important;
    background:#F8F9FC !important;
  }

  .search input{
    font-size:16px !important;
    height:42px !important;
    padding:0 7px !important;
  }

  .search button{
    display:none !important;
  }

  .user{
    grid-area:user !important;
    max-width:74px !important;
    min-width:0 !important;
    gap:5px !important;
  }

  .user .avatar{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
  }

  .user b{
    display:none !important;
  }

  .user small{
    display:none !important;
  }

  #qpLogout,
  #adminLogout{
    display:none !important;
  }

  .guest-state.visible{
    grid-area:user !important;
  }

  .guest-state .guest-register{
    display:none !important;
  }

  /* Drawer menu */
  .sidebar{
    display:flex !important;
    position:fixed !important;
    inset:
      0 auto 0 0 !important;
    width:min(310px,84vw) !important;
    height:100dvh !important;
    z-index:1100 !important;
    transform:translateX(-105%) !important;
    transition:transform .28s ease !important;
    box-shadow:18px 0 45px rgba(19,12,36,.22) !important;
    overflow-y:auto !important;
    padding-bottom:max(22px, env(safe-area-inset-bottom)) !important;
  }

  .sidebar.mobile-open{
    transform:translateX(0) !important;
  }

  .mobile-menu-overlay{
    z-index:1090 !important;
  }

  /* Main content */
  .content{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    padding:
      14px
      max(12px, env(safe-area-inset-right))
      calc(var(--qp-mobile-bottom) + 24px + env(safe-area-inset-bottom))
      max(12px, env(safe-area-inset-left)) !important;
    background:#F7F8FC !important;
    overflow-x:hidden !important;
  }

  .page,
  .page.active{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  /* Public home */
  .public-home-hero{
    grid-template-columns:1fr !important;
    padding:22px 17px !important;
    border-radius:18px !important;
    margin-bottom:18px !important;
  }

  .public-home-copy h1{
    font-size:27px !important;
    line-height:1.13 !important;
  }

  .public-home-copy p{
    font-size:13px !important;
  }

  .public-home-banner-card{
    display:none !important;
  }

  .public-home-search{
    display:block !important;
    background:transparent !important;
    margin-top:16px !important;
  }

  .public-home-search input{
    width:100% !important;
    min-height:48px !important;
    border-radius:12px !important;
    background:#fff !important;
  }

  .public-home-search button{
    width:100% !important;
    min-height:46px !important;
    border-radius:12px !important;
    margin-top:8px !important;
  }

  .public-home-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }

  .public-home-actions .live-btn:last-child{
    grid-column:1 / -1 !important;
  }

  /* Sections */
  .home-section{
    margin:18px 0 !important;
  }

  .home-section-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin-bottom:12px !important;
  }

  .home-section-head h2{
    font-size:20px !important;
  }

  .home-section-head .live-btn{
    padding:8px 10px !important;
    font-size:11px !important;
  }

  /* Categories: horizontal swipe */
  .home-category-grid{
    display:flex !important;
    overflow-x:auto !important;
    gap:10px !important;
    padding-bottom:4px !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .home-category-card{
    flex:0 0 148px !important;
    scroll-snap-align:start !important;
    min-height:145px !important;
  }

  /* Products: two cards per row */
  .home-product-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .home-product-image{
    height:105px !important;
  }

  .home-product-body{
    padding:10px !important;
  }

  .home-product-body h3{
    font-size:13px !important;
  }

  .home-product-actions{
    grid-template-columns:1fr !important;
  }

  .home-product-actions .live-btn{
    min-height:40px !important;
  }

  /* Map becomes full-width card */
  .home-map-layout{
    grid-template-columns:1fr !important;
  }

  .home-map-panel{
    border-radius:16px !important;
  }

  .home-map-toolbar{
    align-items:flex-start !important;
    flex-direction:column !important;
  }

  .home-map-toolbar .live-btn{
    width:100% !important;
  }

  .home-map-canvas{
    width:100% !important;
    height:290px !important;
    border-radius:0 0 16px 16px !important;
  }

  .home-map-sidebar{
    display:flex !important;
    overflow-x:auto !important;
    gap:10px !important;
    padding-bottom:4px !important;
  }

  .home-map-card{
    flex:0 0 250px !important;
  }

  /* Tenders become stacked cards */
  .home-tender-grid{
    grid-template-columns:1fr !important;
  }

  .home-tender-card{
    border-radius:14px !important;
    padding:14px !important;
  }

  .home-trust-strip{
    grid-template-columns:1fr !important;
  }

  /* General grids */
  .cards,
  .grid2,
  .grid3,
  .settings-layout,
  .products,
  .cards3,
  .subscription-grid,
  .payment-methods,
  .live-card-grid,
  .live-form,
  .formgrid{
    grid-template-columns:1fr !important;
  }

  /* Company profile */
  .company-hero{
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) !important;
    gap:12px !important;
  }

  .company-logo-box{
    width:72px !important;
    min-width:72px !important;
    padding:7px !important;
  }

  .company-logo-box .live-hero-logo{
    width:56px !important;
    height:56px !important;
  }

  .hero-title h1{
    font-size:19px !important;
  }

  .hero-actions{
    grid-column:1/-1 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }

  .company-tabs{
    display:flex !important;
    overflow-x:auto !important;
    gap:5px !important;
    padding-bottom:2px !important;
  }

  .company-tabs button{
    flex:0 0 auto !important;
  }

  /* Tables */
  .panel{
    border-radius:14px !important;
    overflow-x:auto !important;
  }

  .table{
    min-width:620px !important;
  }

  /* Hide desktop chat on mobile */
  .chat-panel{
    display:none !important;
  }

  /* Bottom app navigation */
  .mobile-bottom-nav{
    display:grid !important;
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:1050 !important;
    grid-template-columns:repeat(5,1fr) !important;
    min-height:var(--qp-mobile-bottom) !important;
    padding:
      7px
      max(6px, env(safe-area-inset-right))
      max(7px, env(safe-area-inset-bottom))
      max(6px, env(safe-area-inset-left)) !important;
    background:rgba(255,255,255,.97) !important;
    border-top:1px solid #E4E6EC !important;
    box-shadow:0 -8px 25px rgba(27,17,48,.08) !important;
    backdrop-filter:blur(14px) !important;
    -webkit-backdrop-filter:blur(14px) !important;
  }

  .mobile-bottom-nav button{
    border:0 !important;
    background:transparent !important;
    min-width:0 !important;
    min-height:52px !important;
    border-radius:12px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:2px !important;
    color:#707486 !important;
    cursor:pointer !important;
  }

  .mobile-bottom-nav button span{
    font-size:20px !important;
    line-height:1 !important;
  }

  .mobile-bottom-nav button small{
    font-size:10px !important;
  }

  .mobile-bottom-nav button.active{
    background:#F1EAFE !important;
    color:#4B168A !important;
    font-weight:800 !important;
  }

  /* Larger touch targets */
  button,
  .nav-item,
  .live-btn{
    touch-action:manipulation !important;
  }

  .live-btn{
    min-height:42px !important;
  }
}

@media (max-width:430px){
  .home-product-grid{
    grid-template-columns:1fr !important;
  }

  .public-home-actions{
    grid-template-columns:1fr !important;
  }

  .public-home-actions .live-btn:last-child{
    grid-column:auto !important;
  }

  .hero-actions{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   QPROCURE FLOATING CHAT
   ========================================================= */

/* Hide fixed desktop chat rail and turn it into popup */
.chat-panel{
  position:fixed !important;
  right:24px !important;
  bottom:92px !important;
  top:auto !important;
  width:360px !important;
  max-width:calc(100vw - 32px) !important;
  height:520px !important;
  max-height:calc(100dvh - 130px) !important;
  z-index:1200 !important;
  border:1px solid #E3E6ED !important;
  border-radius:16px !important;
  box-shadow:0 22px 60px rgba(24,18,40,.22) !important;
  overflow:hidden !important;
  background:#fff !important;
  display:none !important;
}

.chat-panel.floating-open{
  display:flex !important;
}

.floating-chat-button{
  position:fixed !important;
  right:24px !important;
  bottom:22px !important;
  z-index:1210 !important;
  width:58px !important;
  height:58px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#4B168A !important;
  color:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 10px 28px rgba(75,22,138,.28) !important;
  cursor:pointer !important;
}

.floating-chat-icon{
  font-size:25px !important;
  line-height:1 !important;
}

.floating-chat-badge{
  position:absolute !important;
  right:-2px !important;
  top:-2px !important;
  min-width:20px !important;
  height:20px !important;
  padding:0 5px !important;
  border-radius:999px !important;
  background:#F5B400 !important;
  color:#28183A !important;
  font-size:10px !important;
  font-weight:800 !important;
  display:grid !important;
  place-items:center !important;
  border:2px solid #fff !important;
}

.floating-chat-button.active{
  background:#2F0E5A !important;
}

@media (max-width:900px){
  .chat-panel{
    display:none !important;
    right:12px !important;
    left:12px !important;
    bottom:calc(var(--qp-mobile-bottom) + 20px + env(safe-area-inset-bottom)) !important;
    width:auto !important;
    max-width:none !important;
    height:min(520px,72dvh) !important;
    max-height:72dvh !important;
    border-radius:18px !important;
  }

  .chat-panel.floating-open{
    display:flex !important;
  }

  .floating-chat-button{
    right:16px !important;
    bottom:calc(var(--qp-mobile-bottom) + 12px + env(safe-area-inset-bottom)) !important;
    width:56px !important;
    height:56px !important;
  }
}

@media (max-width:430px){
  .chat-panel{
    left:8px !important;
    right:8px !important;
    height:68dvh !important;
  }
}


/* =========================================================
   QPROCURE HOME RIGHT-SIDE LIVE TENDERS
   ========================================================= */
.home-main-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:18px;
  align-items:start;
}
.home-main-left{
  min-width:0;
}
.home-live-tenders{
  position:sticky;
  top:82px;
  border:1px solid #E7E9F0;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(37,16,74,.05);
}
.live-tender-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  padding:16px 16px 12px;
  border-bottom:1px solid #ECEEF3;
}
.live-tender-header h2{
  margin:4px 0 0;
  font-size:20px;
}
.live-dot{
  color:#11945A;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.live-tender-ticker{
  max-height:610px;
  overflow-y:auto;
  scroll-behavior:smooth;
  scrollbar-width:thin;
}
.live-tender-item{
  padding:15px 16px;
  border-bottom:1px solid #F0F1F5;
  opacity:.72;
  transition:background .2s ease,opacity .2s ease,transform .2s ease;
}
.live-tender-item.active{
  opacity:1;
  background:#FAF7FF;
  box-shadow:inset 3px 0 0 #4B168A;
}
.live-tender-item:hover{
  opacity:1;
  background:#FBFAFD;
}
.live-tender-meta,
.live-tender-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
.live-tender-meta span{
  font-size:10px;
  color:#6C35C8;
  font-weight:800;
}
.live-tender-meta small,
.live-tender-footer small{
  color:#7A7F8D;
  font-size:10px;
}
.live-tender-item h3{
  margin:8px 0 5px;
  font-size:14px;
  line-height:1.35;
}
.live-tender-item p{
  margin:0;
  color:#727788;
  font-size:11px;
}
.live-tender-price{
  margin:10px 0;
  color:#341063;
  font-size:18px;
  font-weight:800;
}
.live-tender-footer .live-btn{
  min-height:34px !important;
  padding:6px 9px !important;
  font-size:10px !important;
}
.live-tender-controls{
  display:grid;
  grid-template-columns:36px 1fr 36px;
  gap:7px;
  padding:10px;
  background:#FBFBFD;
  border-top:1px solid #ECEEF3;
}
.live-tender-controls>button:not(.live-btn){
  border:1px solid #E0E3EA;
  background:#fff;
  border-radius:8px;
  cursor:pointer;
  font-size:20px;
  color:#4B168A;
}

@media(max-width:1180px){
  .home-main-layout{
    grid-template-columns:minmax(0,1fr) 300px;
  }
}

@media(max-width:900px){
  .home-main-layout{
    grid-template-columns:1fr !important;
  }
  .home-live-tenders{
    position:static !important;
    order:2;
    width:100%;
  }
  .live-tender-ticker{
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
    max-height:none;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .live-tender-item{
    flex:0 0 86%;
    scroll-snap-align:start;
    border-right:1px solid #F0F1F5;
    border-bottom:0;
  }
  .live-tender-item.active{
    box-shadow:inset 0 3px 0 #4B168A;
  }
}

@media(max-width:520px){
  .live-tender-item{
    flex-basis:92%;
  }
}


/* =========================================================
   QPROCURE CHAT VISIBILITY + DESKTOP FULL WIDTH FIX
   ========================================================= */

/* The old fixed chat column must not reserve layout space anymore */
.app{
  grid-template-columns:190px minmax(0,1fr) !important;
}

.main{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  grid-column:auto !important;
}

.content{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}

/* Floating chat always visible above page UI */
.floating-chat-button{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  z-index:99999 !important;
  width:60px !important;
  height:60px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#4B168A !important;
  color:#fff !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 12px 30px rgba(75,22,138,.35) !important;
  cursor:pointer !important;
}

.floating-chat-button:hover{
  transform:translateY(-2px);
}

.floating-chat-icon{
  font-size:26px !important;
  line-height:1 !important;
}

.floating-chat-badge{
  display:grid !important;
  position:absolute !important;
  top:-3px !important;
  right:-3px !important;
  min-width:21px !important;
  height:21px !important;
  padding:0 5px !important;
  place-items:center !important;
  border-radius:999px !important;
  background:#F5B400 !important;
  color:#26123F !important;
  border:2px solid #fff !important;
  font-size:10px !important;
  font-weight:800 !important;
}

/* Chat popup */
.chat-panel{
  position:fixed !important;
  right:22px !important;
  bottom:92px !important;
  top:auto !important;
  width:360px !important;
  max-width:calc(100vw - 30px) !important;
  height:520px !important;
  max-height:calc(100dvh - 120px) !important;
  z-index:99990 !important;
  display:none !important;
  border:1px solid #E4E6ED !important;
  border-radius:16px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 22px 60px rgba(20,15,35,.24) !important;
}

.chat-panel.floating-open{
  display:flex !important;
}

/* Let home content use the full available desktop width */
.home-main-layout{
  width:100% !important;
  grid-template-columns:minmax(0,1fr) 340px !important;
}

@media(max-width:900px){
  .app{
    display:block !important;
  }

  .floating-chat-button{
    right:15px !important;
    bottom:calc(var(--qp-mobile-bottom,70px) + 12px + env(safe-area-inset-bottom)) !important;
    width:56px !important;
    height:56px !important;
  }

  .chat-panel{
    left:10px !important;
    right:10px !important;
    bottom:calc(var(--qp-mobile-bottom,70px) + 18px + env(safe-area-inset-bottom)) !important;
    width:auto !important;
    height:min(520px,70dvh) !important;
    max-height:70dvh !important;
  }

  .home-main-layout{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   QPROCURE AI SEARCH MODE
   ========================================================= */
.search-wrap{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  flex:1;
}
.search-wrap .search{
  flex:1;
  min-width:0;
}
.ai-search-toggle{
  flex:0 0 auto;
  border:1px solid #DCCFF0;
  background:#fff;
  color:#4B168A;
  border-radius:9px;
  min-height:40px;
  padding:0 12px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.ai-search-toggle.active{
  color:#fff;
  background:linear-gradient(135deg,#4B168A,#7B35D4);
  border-color:#4B168A;
  box-shadow:0 7px 18px rgba(75,22,138,.18);
}
.ai-search-panel{
  position:fixed;
  left:50%;
  top:86px;
  transform:translateX(-50%);
  width:min(760px,calc(100vw - 30px));
  z-index:99970;
  border:1px solid #E5E1ED;
  border-radius:16px;
  background:#fff;
  box-shadow:0 24px 70px rgba(28,17,46,.18);
  overflow:hidden;
  display:none;
}
.ai-search-panel.open{display:block}
.ai-search-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:15px 16px;
  border-bottom:1px solid #ECEEF3;
}
.ai-search-head h3{margin:0 0 4px;font-size:18px}
.ai-search-head p{margin:0;color:#74798A;font-size:12px}
.ai-search-close{
  border:0;
  background:transparent;
  font-size:22px;
  cursor:pointer;
}
.ai-search-body{padding:15px 16px}
.ai-search-query{
  display:flex;
  gap:8px;
}
.ai-search-query input{
  flex:1;
  min-width:0;
  min-height:46px;
  border:1px solid #DDE1E8;
  border-radius:10px;
  padding:0 12px;
  font-size:14px;
}
.ai-search-query button{
  border:0;
  border-radius:10px;
  background:#4B168A;
  color:#fff;
  font-weight:800;
  padding:0 16px;
  cursor:pointer;
}
.ai-search-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.ai-search-suggestions button{
  border:1px solid #E3DCEE;
  background:#FAF7FF;
  color:#4B168A;
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  cursor:pointer;
}
.ai-search-results{
  margin-top:14px;
  display:grid;
  gap:9px;
}
.ai-result-card{
  border:1px solid #E8EAF0;
  border-radius:11px;
  padding:12px;
  background:#fff;
}
.ai-result-card small{
  color:#7A7F8B;
}
.ai-result-card h4{
  margin:5px 0;
  font-size:14px;
}
.ai-result-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:7px;
}
.ai-chip{
  background:#F3EDFF;
  color:#5B1FA0;
  border-radius:999px;
  padding:4px 7px;
  font-size:10px;
}
.ai-search-loading{
  padding:18px;
  text-align:center;
  color:#6E7381;
}
@media(max-width:900px){
  .search-wrap{
    grid-area:search;
    gap:6px;
  }
  .ai-search-toggle{
    min-height:44px;
    padding:0 9px;
    font-size:11px;
  }
  .ai-search-panel{
    top:max(72px,calc(env(safe-area-inset-top) + 65px));
  }
}
@media(max-width:520px){
  .ai-search-toggle{
    width:44px;
    padding:0;
    font-size:0;
  }
  .ai-search-toggle::before{
    content:"✦";
    font-size:18px;
  }
  .ai-search-query{
    display:grid;
    grid-template-columns:1fr;
  }
  .ai-search-query button{
    min-height:44px;
  }
}


/* =========================================================
   QPROCURE LANGUAGE SWITCHER + RTL
   ========================================================= */
.language-switcher{
  display:flex;
  align-items:center;
  gap:3px;
  border:1px solid #E0E3E8;
  background:#fff;
  border-radius:9px;
  padding:3px;
  flex:0 0 auto;
}
.language-switcher button{
  border:0;
  background:transparent;
  color:#626879;
  min-height:30px;
  padding:0 8px;
  border-radius:6px;
  cursor:pointer;
  font-size:11px;
  font-weight:800;
}
.language-switcher button.active{
  background:#4B168A;
  color:#fff;
}

/* Arabic RTL support */
html[dir="rtl"] body{
  direction:rtl;
  text-align:right;
}
html[dir="rtl"] .sidebar{
  left:auto !important;
  right:0 !important;
}
html[dir="rtl"] .sidebar.mobile-open{
  transform:translateX(0) !important;
}
@media(max-width:900px){
  html[dir="rtl"] .sidebar{
    transform:translateX(105%) !important;
  }
  html[dir="rtl"] .sidebar.mobile-open{
    transform:translateX(0) !important;
  }
}
html[dir="rtl"] .floating-chat-button{
  right:auto !important;
  left:22px !important;
}
html[dir="rtl"] .chat-panel{
  right:auto !important;
  left:22px !important;
}
html[dir="rtl"] .home-live-tenders{
  direction:rtl;
}
html[dir="rtl"] .live-tender-item.active{
  box-shadow:inset -3px 0 0 #4B168A;
}
html[dir="rtl"] .supplier-pin{
  transform:rotate(45deg);
}
html[dir="rtl"] .supplier-pin span{
  transform:rotate(-45deg);
}
html[dir="rtl"] .search input,
html[dir="rtl"] .public-home-search input,
html[dir="rtl"] .ai-search-query input{
  text-align:right;
}
html[dir="rtl"] .public-home-copy,
html[dir="rtl"] .home-section-head,
html[dir="rtl"] .home-map-toolbar,
html[dir="rtl"] .live-tender-header{
  text-align:right;
}
html[dir="rtl"] .nav-item{
  text-align:right;
}
html[dir="rtl"] .home-tender-meta,
html[dir="rtl"] .home-tender-bottom,
html[dir="rtl"] .live-tender-meta,
html[dir="rtl"] .live-tender-footer{
  flex-direction:row-reverse;
}

@media(max-width:900px){
  .language-switcher{
    display:none;
  }
}

.mobile-language-choice{
  margin:14px 12px 8px;
  padding:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
}
.mobile-language-choice>span{
  display:block;
  font-size:11px;
  margin-bottom:8px;
  opacity:.8;
}
.mobile-language-choice>div{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.mobile-language-choice button{
  border:1px solid rgba(255,255,255,.18);
  background:transparent;
  color:inherit;
  border-radius:7px;
  min-height:34px;
  cursor:pointer;
}
.mobile-language-choice button.active{
  background:#fff;
  color:#4B168A;
}


/* =========================================================
   QPROCURE PHASE 6 LIVE
   ========================================================= */
.qp-full-toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:#2d164f;color:#fff;padding:10px 16px;border-radius:10px;z-index:200000;opacity:0;pointer-events:none;transition:.2s}.qp-full-toast.show{opacity:1;transform:translate(-50%,0)}
.qp-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px}
.qp-live-filterbar{display:grid;grid-template-columns:minmax(220px,1fr) 230px auto;gap:9px;margin:16px 0}.qp-live-filterbar input,.qp-live-filterbar select{border:1px solid #dfe3ea;border-radius:9px;padding:11px;background:#fff}
.qp-market-tabs{display:flex;gap:6px;margin:12px 0}.qp-market-tabs button{border:1px solid #e4e6ed;background:#fff;border-radius:8px;padding:8px 11px}.qp-market-tabs .active{background:#4B168A;color:#fff}
.qp-live-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.qp-live-product-card,.qp-live-service-card,.qp-live-supplier-card,.qp-live-tender-card,.qp-groupbuy-card{background:#fff;border:1px solid #e7e9ef;border-radius:13px;overflow:hidden}
.qp-live-product-img{height:155px;background:#f5f2fb;display:grid;place-items:center;font-size:42px}.qp-live-product-img img{width:100%;height:100%;object-fit:cover}.qp-live-product-body{padding:12px}.qp-live-product-body h3{font-size:14px;margin:5px 0}.qp-product-supplier{font-size:11px;color:#6d7280;margin:4px 0}.qp-product-price{font-size:18px;font-weight:800;color:#35105f;margin:9px 0}.qp-product-meta{display:flex;justify-content:space-between;gap:6px;font-size:10px;color:#697080}.qp-product-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.qp-live-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.qp-live-service-card{padding:15px}.qp-service-icon{font-size:32px}.qp-live-service-card h3{margin:7px 0}.qp-live-service-card p{font-size:12px;color:#6f7482;min-height:38px}.qp-live-service-card .live-btn{width:100%;margin-top:10px}
.qp-real-map{height:340px;border:1px solid #e5e8ee;border-radius:14px;overflow:hidden;background:#eef3f6}.qp-real-map-large{height:520px}
.qp-supplier-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px}.qp-live-supplier-list{display:grid;gap:10px;align-content:start}.qp-live-supplier-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;padding:12px;align-items:center}.qp-supplier-logo{width:54px;height:54px;border-radius:10px;background:#f2ecff;display:grid;place-items:center;font-size:26px;overflow:hidden}.qp-supplier-logo img{width:100%;height:100%;object-fit:contain}.qp-live-supplier-card h3{font-size:14px;margin:0 0 4px}.qp-live-supplier-card p,.qp-live-supplier-card small{margin:0;color:#747988;font-size:11px}
.qp-live-tender-grid,.qp-live-rfq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.qp-live-tender-card{padding:15px}.qp-live-tender-card h3{font-size:15px;margin:9px 0}.qp-live-tender-card p{font-size:11px;color:#737887}
.qp-groupbuy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.qp-groupbuy-card{padding:15px;position:relative}.qp-groupbuy-badge{font-size:9px;font-weight:800;color:#fff;background:#6c2ac5;display:inline-block;border-radius:999px;padding:5px 8px}.qp-groupbuy-card h3{margin:9px 0 5px}.qp-groupbuy-card p{color:#747987;font-size:11px}.qp-groupbuy-price{font-size:21px;font-weight:800;color:#35105f;margin:11px 0}.qp-groupbuy-progress{height:8px;background:#eeeaf5;border-radius:999px;overflow:hidden}.qp-groupbuy-progress span{display:block;height:100%;background:#6c2ac5}.qp-groupbuy-stats{display:flex;justify-content:space-between;gap:5px;font-size:10px;color:#6d7280;margin:7px 0 12px}.qp-groupbuy-card .live-btn{width:100%}
.qp-full-modal-backdrop{position:fixed;inset:0;background:rgba(17,12,27,.48);z-index:150000;display:grid;place-items:center;padding:18px}.qp-full-modal{width:min(680px,100%);max-height:90dvh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 25px 70px rgba(0,0,0,.25)}.qp-full-modal-head{position:sticky;top:0;background:#fff;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid #e9ebef}.qp-full-modal-head h2{font-size:19px;margin:0}.qp-full-modal-head button{border:0;background:transparent;font-size:24px;cursor:pointer}.qp-full-modal-body{padding:17px}.qp-live-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}.qp-live-form label{display:grid;gap:5px;font-size:11px;font-weight:700}.qp-live-form input,.qp-live-form select,.qp-live-form textarea{border:1px solid #dfe3ea;border-radius:9px;padding:10px;font:inherit}.qp-live-form textarea{min-height:90px}.qp-live-form .full{grid-column:1/-1}.qp-wide{width:100%}
.qp-cart-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border-bottom:1px solid #eee;padding:10px 0}.qp-cart-row small{display:block;color:#747987}.qp-cart-row button{border:0;background:#fff;color:#b01d3b;cursor:pointer}.qp-cart-total{display:flex;justify-content:space-between;font-size:18px;padding:15px 0}
.home-live-tenders{position:sticky;top:82px}.live-tender-ticker{max-height:680px;overflow:auto}
@media(max-width:1200px){.qp-live-product-grid{grid-template-columns:repeat(3,1fr)}.qp-live-tender-grid,.qp-live-rfq-grid,.qp-groupbuy-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.qp-page-head{align-items:flex-start;flex-direction:column}.qp-live-filterbar{grid-template-columns:1fr}.qp-live-product-grid{grid-template-columns:repeat(2,1fr)}.qp-live-service-grid,.qp-live-tender-grid,.qp-live-rfq-grid,.qp-groupbuy-grid{grid-template-columns:1fr}.qp-supplier-layout{grid-template-columns:1fr}.qp-real-map-large{height:350px}.home-live-tenders{position:static}.qp-full-modal-backdrop{align-items:end;padding:0}.qp-full-modal{border-radius:18px 18px 0 0;max-height:90dvh}.qp-live-form{grid-template-columns:1fr}.qp-live-form .full{grid-column:1}.qp-cart-row{grid-template-columns:1fr auto}.qp-cart-row button{grid-column:1/-1;text-align:left}.qp-live-product-grid{gap:9px}}
@media(max-width:480px){.qp-live-product-grid{grid-template-columns:1fr}.qp-product-actions{grid-template-columns:1fr}}


/* =========================================================
   QPROCURE USER MENU VISIBILITY
   ========================================================= */
.qp-auth-only{
  display:none !important;
}
body.qp-authenticated .qp-auth-only{
  display:flex !important;
}


/* =========================================================
   QPROCURE SPLIT SIDEBAR — PUBLIC FIXED + USER SCROLL
   ========================================================= */

/* User account section is hidden until login */
.qp-auth-section{
  display:none !important;
}
body.qp-authenticated .qp-auth-section{
  display:flex !important;
}

/* Avoid individual auth buttons being hidden once inside visible user section */
body.qp-authenticated .qp-auth-section .qp-auth-only{
  display:flex !important;
}

@media (min-width:901px){

  .sidebar{
    position:sticky !important;
    top:0 !important;
    height:100vh !important;
    max-height:100vh !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
  }

  /* Public menu stays fixed */
  .sidebar > .nav{
    flex:0 0 auto !important;
    overflow:visible !important;
    min-height:0 !important;
  }

  /* Account menu gets its own scroll only */
  .user-menu-scroll{
    flex-direction:column !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    margin-top:8px !important;
    padding:8px 4px 8px 0 !important;
    border-top:1px solid #ECEAF2 !important;
    scrollbar-width:thin !important;
    scrollbar-color:#C9C0D8 transparent !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .user-menu-scroll::-webkit-scrollbar{
    width:5px !important;
  }

  .user-menu-scroll::-webkit-scrollbar-track{
    background:transparent !important;
  }

  .user-menu-scroll::-webkit-scrollbar-thumb{
    background:#C9C0D8 !important;
    border-radius:999px !important;
  }

  .user-menu-title{
    position:sticky !important;
    top:0 !important;
    z-index:2 !important;
    padding:6px 10px 8px !important;
    background:#fff !important;
    color:#7B7488 !important;
    font-size:10px !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    letter-spacing:.8px !important;
  }

  /* Promotional card stays below public menu for guests,
     but hides after login so the account scroll gets more room */
  body.qp-authenticated .grow-card{
    display:none !important;
  }

  body:not(.qp-authenticated) .grow-card{
    display:block !important;
    flex:0 0 auto !important;
  }
}

/* Mobile/tablet: account links remain inside drawer,
   and drawer itself handles scrolling */
@media (max-width:900px){
  .sidebar{
    overflow-y:auto !important;
  }

  body.qp-authenticated .qp-auth-section{
    display:flex !important;
    flex-direction:column !important;
    overflow:visible !important;
    border-top:1px solid rgba(255,255,255,.12) !important;
    margin-top:8px !important;
    padding-top:8px !important;
  }

  .user-menu-title{
    padding:8px 12px !important;
    font-size:10px !important;
    opacity:.65 !important;
  }

  body.qp-authenticated .grow-card{
    display:none !important;
  }
}

/* =========================================================
   QPROCURE USER HEADER POSITION FIX
   ========================================================= */

/* Desktop: user account stays in top header on the right */
@media (min-width:901px){

  .topbar{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    min-height:64px !important;
    padding:8px 16px !important;
    background:#fff !important;
  }

  .location{
    flex:0 0 auto !important;
  }

  .search-wrap{
    flex:1 1 auto !important;
    min-width:220px !important;
  }

  .topicons{
    flex:0 0 auto !important;
    margin-left:auto !important;
  }

  .language-switcher{
    flex:0 0 auto !important;
  }

  .guest-state{
    flex:0 0 auto !important;
  }

  .user{
    position:static !important;
    inset:auto !important;
    float:none !important;
    transform:none !important;
    margin:0 !important;
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    min-width:0 !important;
    max-width:180px !important;
    white-space:nowrap !important;
    background:transparent !important;
    z-index:auto !important;
  }

  .user .avatar{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    border-radius:50% !important;
    display:grid !important;
    place-items:center !important;
  }

  .user > div{
    min-width:0 !important;
  }

  .user b{
    display:block !important;
    max-width:110px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:12px !important;
    line-height:1.2 !important;
  }

  .user small{
    display:block !important;
    font-size:10px !important;
    line-height:1.2 !important;
    color:#777c89 !important;
  }

  #qpLogout,
  #adminLogout{
    position:static !important;
    inset:auto !important;
    float:none !important;
    transform:none !important;
    flex:0 0 auto !important;
    margin:0 !important;
    min-height:36px !important;
    padding:0 10px !important;
    border:1px solid #e0e3ea !important;
    background:#fff !important;
    color:#202331 !important;
    border-radius:8px !important;
    font-size:11px !important;
    cursor:pointer !important;
    z-index:auto !important;
  }

  body.qp-authenticated .user{
    display:flex !important;
  }

  body.qp-guest .user{
    display:none !important;
  }
}

/* Mobile: compact user avatar in header */
@media (max-width:900px){
  .user{
    position:static !important;
    transform:none !important;
    margin:0 !important;
    max-width:44px !important;
    width:44px !important;
    overflow:hidden !important;
  }

  .user .avatar{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
  }

  .user > div:not(.avatar),
  .user b,
  .user small,
  #qpLogout,
  #adminLogout{
    display:none !important;
  }
}

/* Arabic keeps account aligned correctly inside the header */
html[dir="rtl"] .topicons{
  margin-left:0 !important;
  margin-right:auto !important;
}


/* =========================================================
   QPROCURE AUTO TRANSLATION UI
   Additive only — does not change existing site layout
   ========================================================= */
.qp-translation-box{
  border:1px solid #e5dff0;
  background:#fbf9fe;
  border-radius:11px;
  padding:12px;
}
.qp-translation-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.qp-translation-head small{
  display:block;
  color:#737887;
  font-weight:400;
  margin-top:3px;
}
.qp-auto-check{
  display:flex !important;
  align-items:center;
  gap:7px;
  margin:9px 0;
  font-weight:500 !important;
}
.qp-auto-check input{
  width:auto !important;
}
.qp-translation-box details{
  margin-top:8px;
}
.qp-translation-box summary{
  cursor:pointer;
  color:#4b168a;
  font-weight:700;
  font-size:12px;
}
.qp-translation-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:10px;
}
.qp-translation-grid textarea{
  min-height:75px;
}
.qp-translation-status{
  font-size:11px;
  margin-top:8px;
}
.qp-translation-status.ok{color:#087a45;}
.qp-translation-status.error{color:#b42335;}

@media(max-width:700px){
  .qp-translation-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .qp-translation-head .live-btn{
    width:100%;
  }
  .qp-translation-grid{
    grid-template-columns:1fr;
  }
}



/* =========================================================
   QPROCURE CATEGORY IMAGE + PRODUCT PLACEHOLDER FIX V13
   ========================================================= */

/* Category image belongs ONLY to category cards */
.home-category-icon{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  border-radius:9px !important;
  background:#f5f1fb !important;
  color:#5417a1 !important;
  font-size:0 !important;
}

.home-category-icon img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  padding:3px !important;
  box-sizing:border-box !important;
  background:#fff !important;
}

.home-category-icon .qp-category-fallback-icon{
  display:grid !important;
  place-items:center !important;
  width:100% !important;
  height:100% !important;
  font-size:0 !important;
}

/* No icon/grid symbol in product cards when product has no image */
.qp-live-product-img.no-image{
  background:#f7f4fb !important;
}

.qp-live-product-img.no-image::before,
.qp-live-product-img.no-image::after,
.qp-live-product-img.no-image > *{
  display:none !important;
  content:none !important;
}

/* Real product images remain visible inside Materials */
.qp-live-product-img.has-image img,
.qp-product-media-v11 img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}



/* Chat must not reserve a third grid column */
  .chat-panel,
  #companyChatPanel{
    grid-column:auto !important;
    position:fixed !important;
    right:18px !important;
    bottom:82px !important;
    width:min(360px,calc(100vw - 36px)) !important;
    max-height:min(620px,calc(100vh - 120px)) !important;
    z-index:1000 !important;
  }

  /* Let marketplace sections use available width cleanly */
  .home-main-layout{
    width:100% !important;
    max-width:none !important;
  }

  .home-main-left{
    min-width:0 !important;
  }

  .qp-live-product-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    width:100% !important;
  }
}

@media (min-width:1450px){
  .qp-live-product-grid{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  }
}



/* =========================================================
   QPROCURE DESKTOP SHELL HARD FIX V20
   Eliminates old 3-column app grid conflicts.
   Sidebar fixed left, main uses all remaining width,
   chat floats above page and reserves zero layout space.
   ========================================================= */

@media (min-width:901px){

  html, body{
    width:100% !important;
    max-width:none !important;
    overflow-x:hidden !important;
  }

  body > .app,
  .app{
    display:block !important;
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    min-height:100vh !important;
    grid-template-columns:none !important;
    grid-template-rows:none !important;
  }

  .app > .sidebar,
  .sidebar{
    position:fixed !important;
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:185px !important;
    min-width:185px !important;
    max-width:185px !important;
    height:100vh !important;
    z-index:900 !important;
    transform:none !important;
    overflow-y:auto !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }

  .app > .main,
  .main{
    display:block !important;
    position:relative !important;
    margin-left:185px !important;
    width:calc(100vw - 185px) !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:100vh !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }

  .main > .topbar,
  .topbar{
    width:100% !important;
    max-width:none !important;
  }

  .main > .content,
  .content{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }

  .content > .page,
  .page{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }

  /* Home page internal layout only */
  .home-main-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 300px !important;
    gap:16px !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }

  .home-main-left{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }

  .home-live-tenders{
    width:300px !important;
    min-width:0 !important;
    max-width:300px !important;
  }

  /* Chat is overlay only — never a grid column */
  .app > .chat-panel,
  .chat-panel,
  #companyChatPanel{
    position:fixed !important;
    right:18px !important;
    bottom:82px !important;
    left:auto !important;
    top:auto !important;
    width:360px !important;
    max-width:calc(100vw - 36px) !important;
    max-height:calc(100vh - 120px) !important;
    z-index:2000 !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }

  .mobile-menu-overlay{
    display:none !important;
  }
}

/* DevTools / narrower desktop widths */
@media (min-width:901px) and (max-width:1200px){
  .home-main-layout{
    grid-template-columns:minmax(0,1fr) 270px !important;
    gap:12px !important;
  }

  .home-live-tenders{
    width:270px !important;
    max-width:270px !important;
  }
}

/* If desktop viewport becomes too tight, stack tenders under content
   rather than crushing the main hero/cards. */
@media (min-width:901px) and (max-width:1050px){
  .home-main-layout{
    grid-template-columns:minmax(0,1fr) !important;
  }

  .home-live-tenders{
    width:100% !important;
    max-width:none !important;
  }
}



/* =========================================================
   QPROCURE SIDEBAR SCROLLBAR / GAP FIX V21
   Hide the visible scrollbar and remove the white gutter
   between sidebar and main content while keeping scroll.
   ========================================================= */

@media (min-width:901px){

  .app > .sidebar,
  .sidebar{
    width:185px !important;
    min-width:185px !important;
    max-width:185px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    scrollbar-width:none !important;        /* Firefox */
    -ms-overflow-style:none !important;     /* old Edge */
    border-right:1px solid #ece8f3 !important;
    padding-right:0 !important;
  }

  .app > .sidebar::-webkit-scrollbar,
  .sidebar::-webkit-scrollbar{
    width:0 !important;
    height:0 !important;
    display:none !important;
  }

  .app > .main,
  .main{
    margin-left:185px !important;
    width:calc(100vw - 185px) !important;
  }

  /* Remove any leftover spacer/gutter immediately after sidebar */
  .mobile-menu-overlay{
    width:0 !important;
    min-width:0 !important;
    max-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }

  .sidebar + .mobile-menu-overlay{
    display:none !important;
  }

  /* Ensure content starts flush with sidebar edge */
  .topbar,
  .content{
    margin-left:0 !important;
  }
}



/* =========================================================
   QPROCURE FAVORITES / MARKETPLACE FULL WIDTH V22
   Remove unused right-side whitespace on normal pages.
   ========================================================= */

@media (min-width:901px){

  /* General SPA pages should use the full main width */
  .content,
  .page,
  #page-favorites,
  #page-marketplace,
  #page-categories,
  #page-suppliers,
  #page-rfq,
  #page-tenders,
  #page-auctions,
  #page-logistics,
  #page-orders,
  #page-invoices,
  #page-messages,
  #page-notifications,
  #page-company,
  #page-settings{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }

  /* Legacy marketplace/favorites cards */
  #page-favorites .cards3,
  #page-marketplace .cards3{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
    width:100% !important;
    max-width:none !important;
  }

  #page-favorites .panel,
  #page-marketplace .panel{
    width:100% !important;
    max-width:none !important;
  }

  #page-favorites .products,
  #page-marketplace .products{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:14px !important;
    width:100% !important;
  }

  #page-favorites .filterbar,
  #page-marketplace .filterbar,
  #page-favorites .chiprow,
  #page-marketplace .chiprow{
    width:100% !important;
    max-width:none !important;
  }

  /* Prevent old fixed widths from creating a blank strip */
  #page-favorites > *,
  #page-marketplace > *{
    max-width:none !important;
  }
}

@media (min-width:1500px){
  #page-favorites .products,
  #page-marketplace .products{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  }
}

@media (min-width:901px) and (max-width:1200px){
  #page-favorites .cards3,
  #page-marketplace .cards3{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  #page-favorites .products,
  #page-marketplace .products{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}



/* =========================================================
   QPROCURE USER DROPDOWN + PROFILE BUTTON V23
   ========================================================= */

@media (min-width:901px){
  /* Hide My Account block from left sidebar on desktop */
  .sidebar .user-menu-scroll{
    display:none !important;
  }

  .sidebar .grow-card{
    margin-top:auto !important;
  }
}

/* User account dropdown */
.user{
  position:relative !important;
  cursor:pointer !important;
  user-select:none !important;
}

.qp-user-menu-toggle{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  border:0 !important;
  background:transparent !important;
  padding:4px 6px !important;
  border-radius:10px !important;
  cursor:pointer !important;
  color:inherit !important;
  font:inherit !important;
}

.qp-user-menu-toggle:hover,
.qp-user-menu-toggle[aria-expanded="true"]{
  background:#f6f2fb !important;
}

.qp-user-caret{
  font-size:12px !important;
  opacity:.7 !important;
  transition:transform .18s ease !important;
}

.qp-user-menu-toggle[aria-expanded="true"] .qp-user-caret{
  transform:rotate(180deg) !important;
}

.qp-user-dropdown{
  position:absolute !important;
  top:calc(100% + 10px) !important;
  right:0 !important;
  width:230px !important;
  background:#fff !important;
  border:1px solid #e8e3ef !important;
  border-radius:14px !important;
  box-shadow:0 16px 42px rgba(37,18,75,.16) !important;
  padding:8px !important;
  z-index:3000 !important;
  display:none !important;
}

.qp-user-dropdown.open{
  display:block !important;
}

.qp-user-dropdown .qp-user-menu-head{
  padding:10px 12px 11px !important;
  border-bottom:1px solid #eeeaf3 !important;
  margin-bottom:6px !important;
}

.qp-user-dropdown .qp-user-menu-head b{
  display:block !important;
  font-size:13px !important;
  margin-bottom:2px !important;
}

.qp-user-dropdown .qp-user-menu-head small{
  display:block !important;
  font-size:11px !important;
  color:#85899a !important;
  text-transform:capitalize !important;
}

.qp-user-dropdown button{
  width:100% !important;
  min-height:38px !important;
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  border:0 !important;
  border-radius:9px !important;
  background:#fff !important;
  padding:9px 10px !important;
  text-align:left !important;
  color:#23233a !important;
  font-size:12px !important;
  font-weight:600 !important;
  cursor:pointer !important;
}

.qp-user-dropdown button:hover{
  background:#f6f2fb !important;
  color:#5617a6 !important;
}

.qp-user-dropdown button.qp-user-logout{
  color:#b42335 !important;
  border-top:1px solid #eeeaf3 !important;
  border-radius:0 0 9px 9px !important;
  margin-top:5px !important;
  padding-top:11px !important;
}

/* Better supplier View Profile button */
.supplier-card button:first-of-type,
.qp-live-supplier-card .live-btn,
button.qp-view-profile-btn{
  border:1px solid #5b1aa9 !important;
  background:#fff !important;
  color:#5b1aa9 !important;
  border-radius:9px !important;
  padding:8px 14px !important;
  min-height:36px !important;
  font-weight:700 !important;
  font-size:12px !important;
  cursor:pointer !important;
  transition:all .18s ease !important;
  box-shadow:none !important;
}

.supplier-card button:first-of-type:hover,
.qp-live-supplier-card .live-btn:hover,
button.qp-view-profile-btn:hover{
  background:#5b1aa9 !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
  box-shadow:0 6px 16px rgba(91,26,169,.16) !important;
}

/* Keep secondary Message button lighter */
.supplier-card button:nth-of-type(2){
  border:1px solid #ded7e8 !important;
  background:#fff !important;
  color:#4c4558 !important;
  border-radius:9px !important;
  padding:8px 14px !important;
  min-height:36px !important;
  font-weight:600 !important;
  font-size:12px !important;
}

.supplier-card button:nth-of-type(2):hover{
  border-color:#b9a7cf !important;
  background:#faf8fc !important;
}

/* Mobile keeps sidebar account nav usable */
@media (max-width:900px){
  .sidebar .user-menu-scroll{
    display:block !important;
  }
  .qp-user-dropdown{
    right:0 !important;
    width:min(230px,calc(100vw - 24px)) !important;
  }
}



/* =========================================================
   QPROCURE CART DRAWER V25
   ========================================================= */
body.qp-cart-open{overflow:hidden !important}

.qp-cart-backdrop{
  position:fixed;
  inset:0;
  background:rgba(18,13,28,.28);
  backdrop-filter:blur(1px);
  opacity:0;
  visibility:hidden;
  transition:.2s ease;
  z-index:4000;
}
.qp-cart-backdrop.open{opacity:1;visibility:visible}

.qp-cart-drawer{
  position:fixed;
  top:0;
  right:0;
  width:min(430px,100vw);
  height:100vh;
  background:#fff;
  box-shadow:-18px 0 50px rgba(34,18,58,.18);
  transform:translateX(102%);
  transition:transform .24s ease;
  z-index:4001;
  display:flex;
  flex-direction:column;
}
.qp-cart-drawer.open{transform:translateX(0)}

.qp-cart-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 20px 16px;
  border-bottom:1px solid #ece8f2;
}
.qp-cart-head small{
  display:block;
  color:#6b2bc7;
  font-weight:800;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.qp-cart-head h2{margin:3px 0 0;font-size:22px}
.qp-cart-close{
  width:38px;height:38px;border:1px solid #e5dfec;border-radius:10px;
  background:#fff;font-size:23px;cursor:pointer;color:#4d405a;
}
.qp-cart-close:hover{background:#f8f4fc;color:#5b1aa9}

.qp-cart-body{
  flex:1;
  overflow:auto;
  padding:12px 16px 20px;
}

.qp-cart-loading,
.qp-cart-empty{
  min-height:320px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#777083;
}
.qp-cart-empty-icon{font-size:44px;margin-bottom:10px}
.qp-cart-empty h3{margin:0 0 7px;color:#1d1724}
.qp-cart-empty p{margin:0 0 16px;font-size:13px}

.qp-cart-item{
  display:grid;
  grid-template-columns:78px minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  padding:13px 0;
  border-bottom:1px solid #eeeaf3;
}
.qp-cart-thumb{
  width:78px;height:78px;border-radius:10px;background:#f5f1fa;
  display:grid;place-items:center;overflow:hidden;
}
.qp-cart-thumb img{width:100%;height:100%;object-fit:contain;padding:4px}
.qp-cart-info h3{font-size:13px;margin:0 0 2px}
.qp-cart-info small{display:block;color:#8a8393;font-size:11px;margin-bottom:5px}
.qp-cart-info b{font-size:12px;color:#5a1ba8}
.qp-cart-side{text-align:right;min-width:84px}
.qp-cart-side strong{display:block;font-size:12px;margin-bottom:16px}
.qp-cart-remove{
  border:0;background:transparent;color:#b42335;font-size:10px;
  cursor:pointer;padding:4px;
}

.qp-cart-qty{
  display:inline-grid;
  grid-template-columns:28px 32px 28px;
  align-items:center;
  margin-top:8px;
  border:1px solid #dfd7e9;
  border-radius:8px;
  overflow:hidden;
}
.qp-cart-qty button{
  height:28px;border:0;background:#faf8fc;color:#5b1aa9;
  font-size:16px;cursor:pointer;
}
.qp-cart-qty span{text-align:center;font-size:11px;font-weight:700}

.qp-cart-footer{
  border-top:1px solid #ece8f2;
  padding:16px 18px 20px;
  background:#fff;
}
.qp-cart-total-row{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:12px;font-size:15px;
}
.qp-cart-total-row strong{font-size:18px;color:#5417a1}
.qp-cart-checkout{
  width:100%;min-height:44px;border:0;border-radius:10px;
  background:#5819a7;color:#fff;font-weight:800;cursor:pointer;
}
.qp-cart-checkout:hover{background:#461188}
.qp-cart-continue{
  width:100%;min-height:40px;border:0;background:#fff;color:#5b1aa9;
  font-weight:700;cursor:pointer;margin-top:6px;
}

#cartTopIcon{position:relative}
#cartCount.has-items{
  background:#ffb000 !important;
  color:#2a1642 !important;
}

.qp-cart-toast{
  position:fixed;right:20px;bottom:20px;z-index:5000;
  background:#24142f;color:#fff;padding:10px 14px;border-radius:9px;
  opacity:0;transform:translateY(10px);transition:.2s ease;
  font-size:12px;
}
.qp-cart-toast.show{opacity:1;transform:translateY(0)}
.qp-cart-toast.error{background:#a52335}

@media(max-width:600px){
  .qp-cart-drawer{width:100vw}
  .qp-cart-item{grid-template-columns:66px minmax(0,1fr)}
  .qp-cart-thumb{width:66px;height:66px}
  .qp-cart-side{grid-column:2;text-align:left;display:flex;gap:12px;align-items:center}
  .qp-cart-side strong{margin:0}
}



/* QPROCURE GROUP BUY ACTIVE STATE V26 */
.qp-groupbuy-card{
  position:relative;
}
.qp-groupbuy-card::before{
  content:"ACTIVE";
  position:absolute;
  top:12px;
  right:12px;
  background:#e8f8ef;
  color:#14804a;
  border-radius:999px;
  padding:4px 8px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.04em;
}
.qp-groupbuy-progress{
  height:8px;
  background:#eee8f5;
  border-radius:999px;
  overflow:hidden;
}
.qp-groupbuy-progress span{
  display:block;
  height:100%;
  background:#5b1aa9;
  border-radius:999px;
}



/* =========================================================
   QPROCURE SIDEBAR FIXED + MY ACCOUNT SCROLL V27
   - Logo always visible
   - Main menu stays fixed
   - Only My Account section scrolls up/down
   ========================================================= */

@media (min-width:901px){

  .sidebar{
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    height:100vh !important;
    min-height:100vh !important;
  }

  /* Logo never scrolls away */
  .sidebar .brand{
    flex:0 0 auto !important;
    position:relative !important;
    z-index:3 !important;
    background:#fff !important;
    padding-top:14px !important;
    padding-bottom:10px !important;
  }

  .sidebar .brand img{
    display:block !important;
    margin:0 auto !important;
    max-height:130px !important;
    object-fit:contain !important;
  }

  /* Main navigation remains visible */
  .sidebar #nav{
    flex:1 1 auto !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
  }

  /* Primary menu items above My Account do not scroll */
  .sidebar #nav > .nav-item{
    flex:0 0 auto !important;
  }

  /* Only the My Account block scrolls */
  .sidebar .user-menu-scroll{
    display:block !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    margin-top:8px !important;
    padding-top:8px !important;
    padding-bottom:10px !important;
    border-top:1px solid #ece8f3 !important;

    scrollbar-width:thin !important;
    scrollbar-color:#c7b8d8 transparent !important;
  }

  .sidebar .user-menu-scroll::-webkit-scrollbar{
    width:4px !important;
  }

  .sidebar .user-menu-scroll::-webkit-scrollbar-track{
    background:transparent !important;
  }

  .sidebar .user-menu-scroll::-webkit-scrollbar-thumb{
    background:#c7b8d8 !important;
    border-radius:999px !important;
  }

  .sidebar .user-menu-title{
    position:sticky !important;
    top:0 !important;
    z-index:2 !important;
    background:#fff !important;
    padding-top:4px !important;
    padding-bottom:7px !important;
  }

  /* Business promo stays fixed at the bottom */
  .sidebar .grow-card{
    flex:0 0 auto !important;
    margin-top:8px !important;
    margin-bottom:10px !important;
  }
}

/* On short desktop screens, keep logo and menu usable */
@media (min-width:901px) and (max-height:760px){
  .sidebar .brand img{
    max-height:92px !important;
  }

  .sidebar .brand{
    padding-top:8px !important;
    padding-bottom:6px !important;
  }

  .sidebar #nav > .nav-item{
    min-height:34px !important;
    padding-top:6px !important;
    padding-bottom:6px !important;
  }

  .sidebar .grow-card{
    display:none !important;
  }
}



/* =========================================================
   QPROCURE MOBILE HOME + PRODUCT CARDS V29
   iPhone: readable cards, no text overlap, 2-column products,
   horizontal category cards.
   ========================================================= */

@media (max-width:700px){

  html,body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .main,
  .content,
  .page,
  .home-main-layout,
  .home-main-left{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .content{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  /* Categories: horizontal swipe instead of squeezed cards */
  .home-category-grid{
    display:flex !important;
    gap:10px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
    padding:2px 0 8px !important;
    margin:0 !important;
  }

  .home-category-grid::-webkit-scrollbar{
    display:none !important;
  }

  .home-category-card{
    flex:0 0 150px !important;
    width:150px !important;
    min-width:150px !important;
    min-height:132px !important;
    padding:14px !important;
    scroll-snap-align:start !important;
    overflow:hidden !important;
  }

  .home-category-card h3{
    font-size:15px !important;
    line-height:1.2 !important;
    margin:10px 0 5px !important;
    word-break:normal !important;
  }

  .home-category-card p{
    font-size:12px !important;
    line-height:1.2 !important;
    margin:0 !important;
  }

  /* Featured Materials: 2 clean columns */
  .qp-live-product-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
  }

  .qp-live-product-card{
    width:100% !important;
    min-width:0 !important;
    border-radius:12px !important;
  }

  .qp-product-media-safe,
  .qp-live-product-card > .qp-live-product-img{
    height:145px !important;
    min-height:145px !important;
    max-height:145px !important;
    flex-basis:145px !important;
  }

  .qp-product-media-safe img{
    padding:6px !important;
    object-fit:contain !important;
  }

  /* Stack product details vertically on mobile to avoid overlap */
  .qp-live-product-card .qp-live-product-body{
    display:flex !important;
    flex-direction:column !important;
    gap:3px !important;
    padding:10px !important;
    min-height:168px !important;
  }

  .qp-live-product-card .qp-live-product-body > small{
    order:1 !important;
    font-size:10px !important;
    line-height:1.2 !important;
    margin:0 !important;
    color:#56505f !important;
  }

  .qp-live-product-card .qp-live-product-body > h3{
    order:2 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    margin:0 !important;
    min-height:34px !important;
    overflow-wrap:anywhere !important;
  }

  .qp-live-product-card .qp-product-supplier{
    order:3 !important;
    font-size:10px !important;
    line-height:1.2 !important;
    margin:0 !important;
  }

  .qp-live-product-card .qp-product-price{
    order:4 !important;
    align-self:flex-start !important;
    text-align:left !important;
    font-size:15px !important;
    line-height:1.15 !important;
    margin-top:4px !important;
    white-space:normal !important;
  }

  .qp-live-product-card .qp-product-meta{
    order:5 !important;
    align-self:flex-start !important;
    align-items:flex-start !important;
    text-align:left !important;
    font-size:9px !important;
    line-height:1.2 !important;
    white-space:normal !important;
    margin-top:2px !important;
  }

  .qp-live-product-card .qp-product-actions{
    order:6 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
    width:100% !important;
    margin-top:auto !important;
    padding-top:8px !important;
  }

  .qp-live-product-card .qp-product-actions button,
  .qp-live-product-card .qp-product-actions .live-btn{
    min-height:36px !important;
    padding:6px 5px !important;
    font-size:10px !important;
    line-height:1.05 !important;
    white-space:normal !important;
    word-break:normal !important;
  }

  /* Section headings stay aligned and don't float in center */
  .home-section-head{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:8px !important;
  }

  .home-section-head h2{
    font-size:23px !important;
    line-height:1.15 !important;
    margin:2px 0 0 !important;
  }

  .home-section-head .live-btn{
    flex:0 0 auto !important;
    padding:8px 10px !important;
    font-size:11px !important;
  }

  .home-eyebrow{
    font-size:10px !important;
  }

  /* Floating chat smaller and out of product text */
  .floating-chat-button{
    width:52px !important;
    height:52px !important;
    right:14px !important;
    bottom:86px !important;
  }
}

@media (max-width:390px){
  .qp-live-product-grid{
    gap:8px !important;
  }

  .qp-product-media-safe,
  .qp-live-product-card > .qp-live-product-img{
    height:132px !important;
    min-height:132px !important;
    max-height:132px !important;
    flex-basis:132px !important;
  }

  .qp-live-product-card .qp-live-product-body{
    padding:9px !important;
  }

  .qp-live-product-card .qp-product-actions button,
  .qp-live-product-card .qp-product-actions .live-btn{
    font-size:9.5px !important;
  }
}



/* =========================================================
   QPROCURE MOBILE MARKETPLACE V34
   Mobile layout inspired by leading B2B marketplace apps.
   ========================================================= */
.qp-mobile-marketplace-head,
.qp-mobile-bottom-nav{display:none}

@media(max-width:700px){
  body{
    padding-bottom:72px !important;
    background:#f6f7fb !important;
  }

  /* Compact sticky top search */
  .topbar{
    position:sticky !important;
    top:0 !important;
    z-index:1200 !important;
    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) auto !important;
    gap:8px !important;
    align-items:center !important;
    min-height:62px !important;
    padding:8px 12px !important;
    background:#fff !important;
    border-bottom:1px solid #ebe7f1 !important;
  }

  .topbar .location,
  .topbar .ai-search-toggle,
  .topbar .topicons,
  .topbar .language-switcher{
    display:none !important;
  }

  .mobile-menu-toggle{
    display:grid !important;
    place-items:center !important;
    width:48px !important;
    height:48px !important;
    border-radius:12px !important;
    background:#5a1aa8 !important;
    color:#fff !important;
    font-size:22px !important;
  }

  .search-wrap{
    display:block !important;
    min-width:0 !important;
  }

  .search{
    width:100% !important;
    display:grid !important;
    grid-template-columns:24px minmax(0,1fr) !important;
    align-items:center !important;
    background:#f5f6f8 !important;
    border:1px solid #dfe2e7 !important;
    border-radius:12px !important;
    overflow:hidden !important;
    min-height:48px !important;
    padding:0 10px !important;
  }

  .search input{
    border:0 !important;
    background:transparent !important;
    min-width:0 !important;
    width:100% !important;
    font-size:16px !important;
    padding:0 !important;
  }

  #globalSearchButton{
    display:none !important;
  }

  .guest-state{
    display:flex !important;
    align-items:center !important;
    gap:4px !important;
  }

  .guest-state a{
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:8px 10px !important;
    border-radius:9px !important;
    font-size:12px !important;
  }

  /* Home hero is hidden on phone: shopping content starts immediately */
  .public-home-hero{
    display:none !important;
  }

  .home-live-tenders{
    display:none !important;
  }

  .home-main-layout{
    display:block !important;
  }

  .qp-mobile-marketplace-head{
    display:block !important;
    width:100% !important;
    margin:0 0 14px !important;
  }

  .qp-mobile-trust-strip{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:1px !important;
    margin:0 -12px 10px !important;
    padding:10px 14px !important;
    background:linear-gradient(90deg,#fff6df,#fff9ec) !important;
    border-top:1px solid #f4e5bc !important;
    border-bottom:1px solid #f4e5bc !important;
  }

  .qp-mobile-trust-strip > div{
    min-width:0 !important;
    padding:0 8px !important;
  }
  .qp-mobile-trust-strip > div + div{
    border-left:1px solid #eadbb4 !important;
  }
  .qp-mobile-trust-strip b{
    display:block !important;
    font-size:12px !important;
    line-height:1.2 !important;
    color:#28173b !important;
  }
  .qp-mobile-trust-strip small{
    display:block !important;
    margin-top:2px !important;
    font-size:9px !important;
    line-height:1.2 !important;
    color:#8b8492 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .qp-mobile-quick-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    margin-bottom:12px !important;
  }
  .qp-mobile-quick-grid button{
    min-height:74px !important;
    border:1px solid #ebe6f1 !important;
    border-radius:12px !important;
    background:#fff !important;
    padding:10px 7px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:6px !important;
    text-align:left !important;
    color:#1c1724 !important;
  }
  .qp-mobile-quick-grid span{font-size:24px !important}
  .qp-mobile-quick-grid b{
    font-size:11px !important;
    line-height:1.15 !important;
  }

  .qp-mobile-ranking,
  .qp-mobile-secure{
    background:#fff !important;
    border:1px solid #ebe7f0 !important;
    border-radius:14px !important;
    padding:12px !important;
    margin-bottom:12px !important;
  }

  .qp-mobile-section-title{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin-bottom:10px !important;
  }
  .qp-mobile-section-title h2{
    margin:0 !important;
    font-size:18px !important;
    line-height:1.15 !important;
  }
  .qp-mobile-section-title p{
    margin:2px 0 0 !important;
    color:#77717f !important;
    font-size:10px !important;
  }
  .qp-mobile-section-title button{
    border:0 !important;
    background:transparent !important;
    font-size:28px !important;
    color:#655b6e !important;
  }

  .qp-mobile-ranking-grid,
  .qp-mobile-secure-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  .qp-mobile-ranking-grid article,
  .qp-mobile-secure-grid article{
    min-width:0 !important;
    cursor:pointer !important;
  }

  .qp-mobile-rank-image,
  .qp-mobile-secure-grid article > div{
    width:100% !important;
    aspect-ratio:1/1 !important;
    display:grid !important;
    place-items:center !important;
    overflow:hidden !important;
    border-radius:8px !important;
    background:#f5f1fa !important;
  }

  .qp-mobile-rank-image img,
  .qp-mobile-secure-grid img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .qp-mobile-rank-label{
    display:block !important;
    margin-top:-20px !important;
    position:relative !important;
    z-index:2 !important;
    width:max-content !important;
    max-width:95% !important;
    padding:3px 6px !important;
    border-radius:0 7px 0 0 !important;
    background:#f9c8d6 !important;
    color:#8f304b !important;
    font-size:8px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .qp-mobile-ranking-grid b,
  .qp-mobile-secure-grid b{
    display:block !important;
    margin-top:5px !important;
    font-size:11px !important;
    line-height:1.15 !important;
    color:#22192b !important;
  }
  .qp-mobile-ranking-grid small,
  .qp-mobile-secure-grid small{
    display:block !important;
    font-size:9px !important;
    color:#88818f !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* Hide duplicate desktop home sections on phone */
  .home-section{
    display:none !important;
  }

  /* Fixed bottom navigation */
  .qp-mobile-bottom-nav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:2100 !important;
    height:68px !important;
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    background:#fff !important;
    border-top:1px solid #e8e4ec !important;
    padding-bottom:env(safe-area-inset-bottom) !important;
    box-shadow:0 -5px 20px rgba(30,20,40,.06) !important;
  }

  .qp-mobile-bottom-nav button{
    border:0 !important;
    background:#fff !important;
    color:#31283a !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    padding:5px 2px !important;
  }
  .qp-mobile-bottom-nav span{
    font-size:23px !important;
    line-height:1 !important;
  }
  .qp-mobile-bottom-nav b{
    font-size:10px !important;
    font-weight:600 !important;
  }
  .qp-mobile-bottom-nav button:first-child{
    color:#5a1aa8 !important;
  }

  /* Chat button sits above bottom navigation */
  #companyChatPanel + *,
  .floating-chat-button{
    bottom:78px !important;
  }
}



/* =========================================================
   QPROCURE MOBILE MARKETPLACE V35
   App-style sourcing experience inspired by modern B2B marketplaces.
   ========================================================= */
.qp-mobile-marketplace-v35{display:none}

@media(max-width:700px){
  .qp-mobile-marketplace-head{display:none !important}
  .qp-mobile-marketplace-v35{
    display:block !important;
    width:100% !important;
    padding:8px 0 82px !important;
  }

  .qp-mobile-tabs-v35{
    display:flex !important;
    gap:18px !important;
    overflow-x:auto !important;
    padding:8px 12px 6px !important;
    background:#fff !important;
    border-radius:14px 14px 0 0 !important;
    white-space:nowrap !important;
  }
  .qp-mobile-tabs-v35 button{
    border:0 !important;
    background:transparent !important;
    font-size:14px !important;
    font-weight:800 !important;
    padding:8px 0 !important;
    color:#28212f !important;
    position:relative !important;
  }
  .qp-mobile-tabs-v35 button.active::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:3px !important;
    background:#5b1aa9 !important;
    border-radius:999px !important;
  }

  .qp-mobile-search-v35{
    margin:8px 12px 10px !important;
    display:grid !important;
    grid-template-columns:24px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:7px !important;
    border:2px solid #5b1aa9 !important;
    border-radius:12px !important;
    background:#fff !important;
    padding:4px 5px 4px 10px !important;
  }
  .qp-mobile-search-v35 input{
    border:0 !important;
    outline:0 !important;
    min-width:0 !important;
    height:40px !important;
    font-size:15px !important;
  }
  .qp-mobile-search-v35 button{
    border:0 !important;
    border-radius:9px !important;
    background:linear-gradient(90deg,#5b1aa9,#7b2dd2) !important;
    color:#fff !important;
    min-height:40px !important;
    padding:0 14px !important;
    font-weight:800 !important;
  }

  .qp-mobile-actions-v35{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
    padding:0 12px 10px !important;
  }
  .qp-mobile-actions-v35 button{
    min-height:70px !important;
    border:1px solid #ece7f1 !important;
    border-radius:10px !important;
    background:#fff !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    padding:9px !important;
    text-align:left !important;
  }
  .qp-mobile-actions-v35 span{font-size:22px !important;color:#5b1aa9 !important}
  .qp-mobile-actions-v35 b{font-size:10px !important;line-height:1.15 !important}

  .qp-mobile-history-v35{
    display:flex !important;
    gap:8px !important;
    overflow-x:auto !important;
    padding:0 12px 12px !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .qp-mobile-history-v35 article{
    flex:0 0 132px !important;
    background:#fff !important;
    border:1px solid #ece7f1 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    padding-bottom:8px !important;
  }
  .qp-mobile-history-v35 article > div{
    width:100% !important;
    aspect-ratio:1/1 !important;
    background:#f5f1fa !important;
    overflow:hidden !important;
  }
  .qp-mobile-history-v35 img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  .qp-mobile-history-v35 b,
  .qp-mobile-history-v35 small{
    display:block !important;
    padding:0 8px !important;
  }
  .qp-mobile-history-v35 b{margin-top:7px !important;font-size:10px !important}
  .qp-mobile-history-v35 small{font-size:10px !important;color:#5b1aa9 !important;font-weight:800 !important}

  .qp-mobile-chipbar-v35{
    display:flex !important;
    gap:7px !important;
    overflow-x:auto !important;
    padding:8px 12px !important;
    background:#fff !important;
    border-top:1px solid #eeeaf3 !important;
    border-bottom:1px solid #eeeaf3 !important;
  }
  .qp-mobile-chipbar-v35 button{
    flex:0 0 auto !important;
    border:0 !important;
    border-radius:999px !important;
    background:#f3f1f5 !important;
    color:#433a4d !important;
    min-height:34px !important;
    padding:0 14px !important;
    font-size:11px !important;
  }
  .qp-mobile-chipbar-v35 button.active{
    background:#fff !important;
    border:1.5px solid #2b2432 !important;
    color:#231c29 !important;
    font-weight:800 !important;
  }

  .qp-mobile-feed-v35{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    padding:10px 8px !important;
  }
  .qp-mobile-feed-v35 article{
    background:#fff !important;
    border:1px solid #ece7f1 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    min-width:0 !important;
  }
  .qp-mobile-feed-img-v35{
    width:100% !important;
    aspect-ratio:1/1 !important;
    background:#f5f1fa !important;
    display:grid !important;
    place-items:center !important;
    overflow:hidden !important;
  }
  .qp-mobile-feed-img-v35 img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  .qp-mobile-feed-body-v35{padding:8px !important}
  .qp-mobile-feed-body-v35 h3{
    margin:0 0 5px !important;
    font-size:12px !important;
    line-height:1.25 !important;
    min-height:30px !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }
  .qp-mobile-feed-price-v35{
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    color:#22192b !important;
    margin-bottom:3px !important;
  }
  .qp-mobile-feed-meta-v35{
    font-size:9px !important;
    color:#7f7887 !important;
  }
  .qp-mobile-feed-meta-v35 b{
    color:#1683bd !important;
    margin-right:3px !important;
  }

  .qp-mobile-bottom-nav{
    grid-template-columns:repeat(5,1fr) !important;
  }

  /* Hide previous desktop/mobile home blocks on phone */
  .home-main-layout{display:none !important}
  .home-section{display:none !important}
  .public-home-hero{display:none !important}
}



/* =========================================================
   QPROCURE MOBILE MARKETPLACE V36
   Manufacturer + samples mobile sourcing layout.
   ========================================================= */
.qp-mobile-marketplace-v36{display:none}

@media(max-width:700px){
  .qp-mobile-marketplace-v35{display:none !important}
  .qp-mobile-marketplace-v36{
    display:block !important;
    width:100% !important;
    padding:4px 0 86px !important;
    background:#f6f7fb !important;
  }

  .qp-mobile-tabs-v36{
    display:flex !important;
    gap:24px !important;
    overflow-x:auto !important;
    padding:10px 14px 7px !important;
    background:#fff !important;
    white-space:nowrap !important;
  }
  .qp-mobile-tabs-v36 button{
    border:0 !important;
    background:transparent !important;
    font-size:14px !important;
    font-weight:800 !important;
    color:#28212f !important;
    padding:7px 0 !important;
    position:relative !important;
  }
  .qp-mobile-tabs-v36 button.active::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:3px !important;
    background:#5b1aa9 !important;
    border-radius:999px !important;
  }

  .qp-mobile-search-v36{
    margin:8px 12px !important;
    display:grid !important;
    grid-template-columns:30px minmax(0,1fr) 28px 44px !important;
    gap:6px !important;
    align-items:center !important;
    border:2px solid #5b1aa9 !important;
    background:#fff !important;
    border-radius:12px !important;
    padding:4px 5px 4px 8px !important;
  }
  .qp-mobile-search-v36 input{
    border:0 !important;
    outline:0 !important;
    min-width:0 !important;
    height:40px !important;
    font-size:15px !important;
  }
  .qp-mobile-search-v36 .cam,
  .qp-mobile-search-v36 .mic{
    font-size:20px !important;
    color:#2f2738 !important;
    text-align:center !important;
  }
  .qp-mobile-search-v36 button{
    width:40px !important;
    height:40px !important;
    border:0 !important;
    border-radius:10px !important;
    background:linear-gradient(135deg,#5b1aa9,#8a35d6) !important;
    color:#fff !important;
    font-size:18px !important;
  }

  .qp-mobile-category-tabs-v36{
    display:flex !important;
    gap:16px !important;
    overflow-x:auto !important;
    padding:5px 14px 7px !important;
    background:#fff !important;
    border-bottom:1px solid #ece8f2 !important;
  }
  .qp-mobile-category-tabs-v36 button{
    flex:0 0 auto !important;
    border:0 !important;
    background:transparent !important;
    font-size:12px !important;
    color:#77717f !important;
    padding:7px 0 !important;
    white-space:nowrap !important;
  }
  .qp-mobile-category-tabs-v36 button.active{
    color:#1e1825 !important;
    font-weight:800 !important;
    position:relative !important;
  }
  .qp-mobile-category-tabs-v36 button.active::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:3px !important;
    border-radius:99px !important;
    background:#5b1aa9 !important;
  }

  .qp-mobile-actions-v36{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
    padding:8px 12px 12px !important;
  }
  .qp-mobile-actions-v36 button{
    min-height:68px !important;
    border:1px solid #ebe7f0 !important;
    border-radius:10px !important;
    background:#fff !important;
    padding:9px !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    text-align:left !important;
  }
  .qp-mobile-actions-v36 span{
    font-size:22px !important;
    color:#5b1aa9 !important;
  }
  .qp-mobile-actions-v36 b{
    font-size:10px !important;
    line-height:1.15 !important;
  }

  .qp-mobile-samples-v36,
  .qp-mobile-manufacturers-v36{
    background:#fff !important;
    margin-bottom:10px !important;
    padding:12px 0 !important;
  }

  .qp-mobile-v36-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:0 14px 10px !important;
  }
  .qp-mobile-v36-head h2{
    margin:0 !important;
    font-size:18px !important;
    line-height:1.1 !important;
  }
  .qp-mobile-v36-head button{
    border:0 !important;
    background:transparent !important;
    font-size:26px !important;
  }

  .qp-mobile-samples-row-v36,
  .qp-mobile-manufacturers-row-v36{
    display:flex !important;
    gap:8px !important;
    overflow-x:auto !important;
    padding:0 12px 4px !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .qp-mobile-samples-row-v36 article{
    flex:0 0 140px !important;
  }
  .qp-mobile-samples-row-v36 article > div{
    width:140px !important;
    height:130px !important;
    border-radius:8px !important;
    overflow:hidden !important;
    background:#f4f1f7 !important;
  }
  .qp-mobile-samples-row-v36 img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  .qp-mobile-samples-row-v36 small{
    display:block !important;
    margin-top:5px !important;
    font-size:10px !important;
    color:#8c8592 !important;
  }
  .qp-mobile-samples-row-v36 b{
    display:block !important;
    font-size:12px !important;
    color:#221a2a !important;
  }

  .qp-mobile-manufacturers-row-v36 article{
    flex:0 0 140px !important;
    min-height:220px !important;
    background:#f7f7f9 !important;
    border-radius:9px !important;
    padding:10px !important;
    text-align:center !important;
  }
  .qp-mobile-manufacturers-row-v36 strong{
    display:block !important;
    min-height:32px !important;
    font-size:11px !important;
    line-height:1.15 !important;
  }
  .qp-mobile-manufacturers-row-v36 article > div{
    width:100% !important;
    height:130px !important;
    display:grid !important;
    place-items:center !important;
    overflow:hidden !important;
  }
  .qp-mobile-manufacturers-row-v36 img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }
  .qp-mobile-manufacturers-row-v36 small{
    display:block !important;
    font-size:10px !important;
    color:#77717f !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .qp-mobile-manufacturers-row-v36 b{
    display:block !important;
    margin-top:4px !important;
    font-size:9px !important;
    color:#1683bd !important;
  }

  .qp-mobile-quality-chips-v36{
    display:flex !important;
    gap:8px !important;
    overflow-x:auto !important;
    padding:8px 12px !important;
    background:#fff !important;
    border-top:1px solid #ece8f2 !important;
    border-bottom:1px solid #ece8f2 !important;
  }
  .qp-mobile-quality-chips-v36 button{
    flex:0 0 auto !important;
    min-height:34px !important;
    border:1px solid #8d8793 !important;
    border-radius:999px !important;
    background:#fff !important;
    padding:0 14px !important;
    font-size:10px !important;
  }

  .qp-mobile-supplier-highlight-v36{
    padding:8px 12px !important;
    background:#fff !important;
  }
  .qp-mobile-supplier-highlight-v36 article{
    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:center !important;
    padding:10px 0 !important;
    border-bottom:1px solid #eeeaf3 !important;
  }
  .qp-mobile-supplier-highlight-v36 .logo{
    width:52px !important;
    height:52px !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#f5f1fa !important;
    display:grid !important;
    place-items:center !important;
  }
  .qp-mobile-supplier-highlight-v36 .logo img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }
  .qp-mobile-supplier-highlight-v36 h3{
    margin:0 0 4px !important;
    font-size:12px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .qp-mobile-supplier-highlight-v36 p{
    margin:0 !important;
    font-size:9px !important;
    color:#77717f !important;
  }
  .qp-mobile-supplier-highlight-v36 p b{
    color:#1683bd !important;
  }

  .qp-mobile-bottom-nav{
    grid-template-columns:repeat(5,1fr) !important;
  }

  .home-main-layout,
  .home-section,
  .public-home-hero{
    display:none !important;
  }
}



/* =========================================================
   QPROCURE DESKTOP RECOVERY V37
   Mobile marketplace markup must NEVER render on desktop.
   ========================================================= */

/* Default = hidden everywhere */
.qp-mobile-marketplace-v35,
.qp-mobile-marketplace-v36,
.qp-mobile-marketplace-head,
.qp-mobile-bottom-nav{
  display:none !important;
}

/* Desktop explicitly restores normal home layout */
@media (min-width:701px){
  .qp-mobile-marketplace-v35,
  .qp-mobile-marketplace-v36,
  .qp-mobile-marketplace-head,
  .qp-mobile-bottom-nav{
    display:none !important;
    visibility:hidden !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:0 !important;
    max-height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    position:absolute !important;
    pointer-events:none !important;
  }

  .home-main-layout{
    display:grid !important;
  }

  .public-home-hero{
    display:grid !important;
  }

  .home-section{
    display:block !important;
  }
}

/* Mobile only */
@media (max-width:700px){
  .qp-mobile-marketplace-v36{
    display:block !important;
    visibility:visible !important;
    width:100% !important;
    height:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
    overflow:visible !important;
    margin:0 !important;
    padding:4px 0 86px !important;
    position:static !important;
    pointer-events:auto !important;
  }

  .qp-mobile-bottom-nav{
    display:grid !important;
    visibility:visible !important;
  }
}

/* =========================================================
   QPROCURE MOBILE FIXED GLOBAL NAV V38
   2026-08-30
   - Global topbar + main search stays fixed on every phone page
   - Fixed primary row: Materials / Companies / Tenders / AI
   - Removes the duplicate marketplace search + old tabs
   - Bottom navigation remains fixed on every phone page
   ========================================================= */
.qp-mobile-primary-nav{
  display:none;
}

@media (max-width:700px){
  :root{
    --qp-mobile-topbar-h:64px;
    --qp-mobile-primary-h:54px;
    --qp-mobile-bottom-h:68px;
    --qp-mobile-purple:#5a1aa8;
  }

  /* Reserve space for the two fixed rows. */
  .main{
    padding-top:calc(var(--qp-mobile-topbar-h) + var(--qp-mobile-primary-h) + env(safe-area-inset-top)) !important;
  }

  body{
    padding-bottom:calc(var(--qp-mobile-bottom-h) + env(safe-area-inset-bottom)) !important;
    background:#f6f7fb !important;
  }

  /* Fixed global header / search on ALL SPA pages. */
  .topbar{
    position:fixed !important;
    top:env(safe-area-inset-top) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:var(--qp-mobile-topbar-h) !important;
    min-height:var(--qp-mobile-topbar-h) !important;
    max-height:var(--qp-mobile-topbar-h) !important;
    z-index:3200 !important;
    margin:0 !important;
    padding:8px 12px !important;
    box-sizing:border-box !important;
    background:#fff !important;
    border-bottom:1px solid #ebe7f1 !important;
    box-shadow:0 2px 12px rgba(34,20,49,.05) !important;
  }

  /* The new primary navigation is fixed immediately under search. */
  .qp-mobile-primary-nav{
    position:fixed !important;
    top:calc(env(safe-area-inset-top) + var(--qp-mobile-topbar-h)) !important;
    left:0 !important;
    right:0 !important;
    z-index:3190 !important;
    width:100% !important;
    height:var(--qp-mobile-primary-h) !important;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    align-items:stretch !important;
    direction:rtl !important;
    background:#fff !important;
    border-bottom:1px solid #e8e3ee !important;
    box-shadow:0 3px 10px rgba(34,20,49,.035) !important;
  }

  .qp-mobile-primary-nav button{
    position:relative !important;
    min-width:0 !important;
    border:0 !important;
    background:#fff !important;
    color:#251d2d !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    padding:0 4px !important;
    font-family:inherit !important;
    cursor:pointer !important;
  }

  .qp-mobile-primary-nav button + button{
    border-right:1px solid #f0edf3 !important;
  }

  .qp-mobile-primary-nav button b{
    font-size:13px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    line-height:1 !important;
  }

  .qp-mobile-primary-nav .qp-primary-icon{
    font-size:17px !important;
    color:#6a27b7 !important;
    line-height:1 !important;
  }

  .qp-mobile-primary-nav button.active{
    color:var(--qp-mobile-purple) !important;
  }

  .qp-mobile-primary-nav button.active::after{
    content:"" !important;
    position:absolute !important;
    left:20% !important;
    right:20% !important;
    bottom:0 !important;
    height:3px !important;
    border-radius:999px 999px 0 0 !important;
    background:var(--qp-mobile-purple) !important;
  }

  .qp-mobile-primary-nav .qp-mobile-ai-primary{
    direction:ltr !important;
    color:var(--qp-mobile-purple) !important;
  }

  /* Old home-only top row and duplicate search are removed. */
  .qp-mobile-tabs-v35,
  .qp-mobile-tabs-v36,
  .qp-mobile-search-v35,
  .qp-mobile-search-v36{
    display:none !important;
  }

  /* Content starts naturally below the fixed two-row header. */
  .content{
    padding-top:10px !important;
  }

  .qp-mobile-marketplace-v36{
    padding-top:0 !important;
    padding-bottom:calc(var(--qp-mobile-bottom-h) + 16px) !important;
  }

  /* Keep category chips visible directly below the fixed header. */
  .qp-mobile-category-tabs-v36{
    margin-top:0 !important;
  }

  /* Fixed bottom navigation on every mobile page. */
  .qp-mobile-bottom-nav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:3300 !important;
    width:100% !important;
    height:var(--qp-mobile-bottom-h) !important;
    min-height:var(--qp-mobile-bottom-h) !important;
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    direction:rtl !important;
    padding-bottom:env(safe-area-inset-bottom) !important;
    background:rgba(255,255,255,.98) !important;
    border-top:1px solid #e8e4ec !important;
    box-shadow:0 -5px 20px rgba(30,20,40,.06) !important;
  }

  .qp-mobile-bottom-nav button{
    min-width:0 !important;
    direction:ltr !important;
  }

  /* First DOM item = Home; RTL grid places it on the right like the approved mockup. */
  .qp-mobile-bottom-nav button:first-child{
    color:var(--qp-mobile-purple) !important;
  }

  /* Floating chat must stay above the fixed bottom menu. */
  .floating-chat-button{
    bottom:calc(var(--qp-mobile-bottom-h) + env(safe-area-inset-bottom) + 12px) !important;
  }
}

@media (min-width:701px){
  .qp-mobile-primary-nav{
    display:none !important;
  }
}


/* =========================================================
   QPROCURE V40 — MOBILE TOP-RANKING COMPANIES + MATERIALS
   Company name first, materials/products directly underneath
   ========================================================= */

@media (max-width: 768px) {

  .qp-mobile-top-ranking-v40{
    padding:0 !important;
    background:#f4f4f6 !important;
  }

  .qp-mobile-top-ranking-v40 > .qp-mobile-v36-head{
    padding:14px 14px 10px !important;
    background:#fff !important;
    border-bottom:1px solid #ececf0 !important;
  }

  .qp-mobile-top-ranking-v40 > .qp-mobile-v36-head h2{
    font-size:20px !important;
    font-weight:800 !important;
    letter-spacing:-0.25px !important;
  }

  .qp-top-ranking-list-v40{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    padding:8px 0 12px !important;
  }

  .qp-top-ranking-company-v40{
    background:#fff !important;
    border-top:1px solid #ececf0 !important;
    border-bottom:1px solid #ececf0 !important;
    padding:0 12px 12px !important;
  }

  .qp-company-head-v40{
    width:100% !important;
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr) 22px !important;
    gap:10px !important;
    align-items:center !important;
    padding:12px 0 10px !important;
    border:0 !important;
    background:transparent !important;
    color:#211d24 !important;
    text-align:left !important;
  }

  .qp-company-logo-v40{
    width:46px !important;
    height:46px !important;
    display:grid !important;
    place-items:center !important;
    overflow:hidden !important;
    border:1px solid #ebe8ee !important;
    border-radius:8px !important;
    background:#fff !important;
    font-size:22px !important;
  }

  .qp-company-logo-v40 img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }

  .qp-company-info-v40{
    min-width:0 !important;
    display:block !important;
  }

  .qp-company-info-v40 strong{
    display:block !important;
    margin:0 0 3px !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
    font-size:16px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    color:#211d24 !important;
  }

  .qp-company-info-v40 small{
    display:block !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
    font-size:11px !important;
    line-height:1.3 !important;
    color:#77727b !important;
  }

  .qp-company-info-v40 small b{
    color:#1685d1 !important;
    font-weight:800 !important;
  }

  .qp-company-arrow-v40{
    font-size:25px !important;
    line-height:1 !important;
    color:#8b8790 !important;
  }

  .qp-company-products-v40{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  .qp-company-product-v40{
    min-width:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    text-align:left !important;
    color:#211d24 !important;
  }

  .qp-company-product-img-v40{
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    display:grid !important;
    place-items:center !important;
    overflow:hidden !important;
    border-radius:7px !important;
    background:#f5f5f7 !important;
  }

  .qp-company-product-img-v40 img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .qp-product-placeholder-v40{
    font-size:30px !important;
    color:#aaa4ae !important;
  }

  .qp-company-product-name-v40{
    display:block !important;
    height:30px !important;
    margin-top:6px !important;
    overflow:hidden !important;
    font-size:11px !important;
    line-height:15px !important;
    color:#4c4750 !important;
  }

  .qp-company-product-v40 b{
    display:block !important;
    margin-top:2px !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
    font-size:13px !important;
    line-height:1.2 !important;
    color:#211d24 !important;
  }

  .qp-company-product-v40 small{
    display:block !important;
    margin-top:2px !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
    font-size:10px !important;
    color:#89838c !important;
  }

  .qp-company-no-products-v40{
    grid-column:1/-1 !important;
    padding:18px !important;
    border-radius:8px !important;
    background:#f7f7f9 !important;
    text-align:center !important;
    font-size:12px !important;
    color:#837d87 !important;
  }

}


/* =========================================================
   QPROCURE V41 — DESKTOP PROCUREMENT DASHBOARD REDESIGN
   ========================================================= */
@media (min-width: 901px){
  body{background:#f7f8fb}
  .app{grid-template-columns:215px minmax(0,1fr) !important;background:#f7f8fb}
  .chat-panel{display:none !important}
  .main{background:#f7f8fb !important}
  .content{padding:12px 14px 18px !important;background:#f7f8fb !important}
  .topbar{height:64px !important;grid-template-columns:170px minmax(340px,1fr) auto auto auto !important;gap:14px !important;padding:0 18px !important;box-shadow:0 1px 0 #e8e9ef}
  .sidebar{padding:14px 12px !important;box-shadow:1px 0 0 #ececf2}
  .brand img{width:175px !important;margin-bottom:14px !important}
  .nav-item{padding:8px 10px !important;font-size:12px !important}
  .grow-card{padding:13px !important}
  .qp-mobile-marketplace-v36,.qp-mobile-primary-nav,.qp-mobile-bottom-nav{display:none !important}

  .qp-desktop-dashboard-v41{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:12px;max-width:1500px;margin:0 auto}
  .qp-dash-v41-main{min-width:0}.qp-dash-v41-rail{display:flex;flex-direction:column;gap:12px;min-width:0}

  .qp-dash-hero-v41{min-height:196px;border-radius:12px;overflow:hidden;display:grid;grid-template-columns:1.18fr .82fr;background:linear-gradient(115deg,#321071 0%,#4d198d 54%,#24105e 100%);color:#fff;position:relative;box-shadow:0 8px 22px rgba(55,15,120,.12)}
  .qp-dash-hero-copy-v41{padding:22px 24px 15px;position:relative;z-index:2}.qp-dash-kicker-v41{font-size:9px;letter-spacing:1.4px;color:#d8c8ff;font-weight:800}.qp-dash-hero-v41 h1{font-size:25px;line-height:1.08;margin:7px 0 7px;letter-spacing:-.7px}.qp-dash-hero-v41 h1 em{font-style:normal;color:#ffbd00}.qp-dash-hero-v41 p{max-width:530px;color:#eee7ff;font-size:12px;line-height:1.45;margin:0 0 12px}
  .qp-dash-hero-actions-v41{display:flex;gap:9px}.qp-dash-hero-actions-v41 button{border:1px solid rgba(255,255,255,.65);background:transparent;color:#fff;padding:9px 15px;border-radius:7px;font-size:11px;font-weight:750;cursor:pointer}.qp-dash-hero-actions-v41 .primary{background:#fff;color:#391078;border-color:#fff}.qp-dash-hero-actions-v41 span{margin-left:13px}
  .qp-dash-stats-v41{display:flex;gap:24px;margin-top:14px}.qp-dash-stats-v41 span{display:grid;grid-template-columns:auto 1fr;column-gap:6px;align-items:center}.qp-dash-stats-v41 b{font-size:14px}.qp-dash-stats-v41 small{font-size:8px;color:#d8cbef;max-width:65px;line-height:1.2}
  .qp-dash-city-v41{position:relative;overflow:hidden;background:radial-gradient(circle at 55% 40%,rgba(239,76,255,.38),transparent 42%),linear-gradient(180deg,transparent 0 66%,rgba(5,3,36,.5) 67%)}.qp-city-glow-v41{position:absolute;width:280px;height:280px;border:2px solid rgba(246,196,0,.65);border-radius:50%;right:40px;bottom:-195px;box-shadow:0 0 40px rgba(255,143,0,.35)}
  .qp-city-buildings-v41{position:absolute;left:8%;right:6%;bottom:28px;height:125px;display:flex;align-items:flex-end;gap:6px}.qp-city-buildings-v41 i{flex:1;min-width:18px;background:linear-gradient(90deg,#160843,#6b29ac 48%,#1a0a51);border-radius:5px 5px 0 0;box-shadow:inset 5px 0 0 rgba(255,255,255,.04);position:relative}.qp-city-buildings-v41 i:after{content:"";position:absolute;inset:9px 5px;background:repeating-linear-gradient(180deg,#f5b500 0 2px,transparent 2px 10px);opacity:.45}.qp-city-buildings-v41 i:nth-child(1){height:42%}.qp-city-buildings-v41 i:nth-child(2){height:64%}.qp-city-buildings-v41 i:nth-child(3){height:52%}.qp-city-buildings-v41 i:nth-child(4){height:88%}.qp-city-buildings-v41 i:nth-child(5){height:68%}.qp-city-buildings-v41 i:nth-child(6){height:100%}.qp-city-buildings-v41 i:nth-child(7){height:74%}.qp-city-buildings-v41 i:nth-child(8){height:94%}.qp-city-buildings-v41 i:nth-child(9){height:58%}.qp-city-road-v41{position:absolute;left:-10%;right:-10%;bottom:18px;height:3px;background:#f5a900;box-shadow:0 4px 18px #ff8a00}

  .qp-quick-actions-v41{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:9px 0}.qp-quick-actions-v41 button{min-width:0;height:84px;background:#fff;border:1px solid #e5e6ec;border-radius:10px;padding:10px 9px;display:grid;grid-template-columns:31px 1fr 15px;align-items:center;gap:7px;text-align:left;cursor:pointer;box-shadow:0 2px 8px rgba(18,18,36,.025)}.qp-quick-actions-v41 button:hover{border-color:#c9b8ef;box-shadow:0 4px 14px rgba(75,22,138,.08)}.qp-quick-actions-v41 .ico{font-size:24px;color:#4b168a}.qp-quick-actions-v41 b{display:block;font-size:10px;line-height:1.15}.qp-quick-actions-v41 small{display:block;font-size:8px;color:#888c98;line-height:1.35;margin-top:3px}.qp-quick-actions-v41 i{font-style:normal;width:19px;height:19px;border:1px solid #e2e3e9;border-radius:50%;display:grid;place-items:center;color:#727787}

  .qp-dash-panel-v41{background:#fff;border:1px solid #e5e6ec;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(18,18,36,.02)}.qp-panel-head-v41{height:36px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f0f4}.qp-panel-head-v41 h3{font-size:11px;margin:0}.qp-panel-head-v41 button{border:0;background:transparent;color:#4b168a;font-size:9px;font-weight:700;cursor:pointer}
  .qp-categories-v41{margin-bottom:9px}.qp-category-row-v41{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;padding:8px}.qp-category-row-v41 button{border:1px solid #ececf1;background:#fff;border-radius:8px;padding:7px 4px;min-width:0;cursor:pointer}.qp-category-row-v41 .pic{height:42px;display:grid;place-items:center;font-size:24px}.qp-category-row-v41 .pic img{width:100%;height:100%;object-fit:contain}.qp-category-row-v41 b{display:block;font-size:8px;line-height:1.15;margin-top:4px;white-space:normal}

  .qp-dash-lower-grid-v41{display:grid;grid-template-columns:.95fr 1.45fr 1.05fr;gap:9px;min-height:230px}.qp-company-list-v41{padding:5px 8px}.qp-company-list-v41>button{position:relative;width:100%;border:0;border-bottom:1px solid #f0f0f3;background:#fff;padding:6px 0;display:grid;grid-template-columns:38px 1fr auto;gap:7px;text-align:left;align-items:center;cursor:pointer}.qp-company-list-v41 .logo{width:34px;height:34px;border:1px solid #e6e7ed;border-radius:7px;display:grid;place-items:center;color:#4b168a;font-weight:800;overflow:hidden}.qp-company-list-v41 .logo img{width:100%;height:100%;object-fit:contain}.qp-company-list-v41 .info{min-width:0}.qp-company-list-v41 .info b{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qp-company-list-v41 .info small{font-size:7px;color:#848793}.qp-company-list-v41 em{font-style:normal;color:#fff;background:#19a964;border-radius:3px;font-size:6px;padding:2px 4px;align-self:start}.qp-company-list-v41 i{position:absolute;right:0;bottom:4px;font-style:normal;background:#4b168a;color:#fff;border-radius:3px;font-size:6px;padding:3px 5px}

  .qp-trending-row-v41{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:7px}.qp-trending-row-v41 button{position:relative;border:0;background:#fff;text-align:left;padding:0;min-width:0;cursor:pointer}.qp-trending-row-v41 .discount{position:absolute;left:4px;top:4px;z-index:2;background:#e93238;color:#fff;border-radius:3px;font-size:7px;padding:2px 4px}.qp-trending-row-v41 .photo{height:92px;background:#f4f4f6;border-radius:6px;display:grid;place-items:center;overflow:hidden}.qp-trending-row-v41 .photo img{width:100%;height:100%;object-fit:cover}.qp-trending-row-v41 b{display:block;font-size:8px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qp-trending-row-v41 strong{display:block;color:#4b168a;font-size:9px;margin-top:3px}.qp-trending-row-v41 small{display:block;color:#92949d;font-size:6px}.qp-trending-row-v41 em{display:inline-block;background:#e9f8f0;color:#16945b;font-style:normal;font-size:6px;padding:2px 4px;border-radius:3px;margin-top:4px}

  .qp-tender-mini-list-v41{padding:5px 8px}.qp-tender-mini-list-v41 button{position:relative;width:100%;border:0;border-bottom:1px solid #f0f0f3;background:#fff;padding:7px 2px;display:grid;grid-template-columns:20px 1fr auto;gap:5px;text-align:left;cursor:pointer}.qp-tender-mini-list-v41 button>span:nth-child(1){color:#4b168a}.qp-tender-mini-list-v41 b{display:block;font-size:8px;line-height:1.2}.qp-tender-mini-list-v41 small{display:block;color:#8d909a;font-size:6px;margin-top:2px}.qp-tender-mini-list-v41 strong{display:block;font-size:7px;margin-top:2px}.qp-tender-mini-list-v41 em{font-style:normal;background:#f3edff;color:#4b168a;border-radius:3px;padding:2px 4px;font-size:6px;height:max-content}.qp-purple-wide-v41{margin:6px 8px 8px;width:calc(100% - 16px);border:0;border-radius:5px;background:#4b168a;color:#fff;padding:7px;font-size:8px;font-weight:700;cursor:pointer}

  .qp-nearby-v41 .qp-real-map{height:255px !important;border:0 !important;border-radius:0 !important}.qp-map-filters-v41{display:flex;gap:4px;padding:6px;overflow:auto}.qp-map-filters-v41 button{border:1px solid #e7e8ed;background:#fff;border-radius:5px;padding:5px 7px;font-size:7px;white-space:nowrap}
  .qp-auctions-v41{flex:1}.qp-auction-mini-list-v41{padding:5px 8px}.qp-auction-mini-list-v41>button{width:100%;display:grid;grid-template-columns:76px 1fr 62px;gap:7px;align-items:center;border:0;border-bottom:1px solid #efeff3;background:#fff;padding:7px 0;text-align:left;cursor:pointer}.qp-auction-mini-list-v41 .photo{width:76px;height:53px;border-radius:5px;overflow:hidden;background:#f3f3f5;display:grid;place-items:center}.qp-auction-mini-list-v41 .photo img{width:100%;height:100%;object-fit:cover}.qp-auction-mini-list-v41 b{display:block;font-size:8px}.qp-auction-mini-list-v41 small{display:block;font-size:6px;color:#8a8d97;margin-top:2px}.qp-auction-mini-list-v41 strong{display:block;color:#d93238;font-size:7px;margin-top:4px}.qp-auction-mini-list-v41 .bid{text-align:right}.qp-auction-mini-list-v41 .bid em{display:inline-block;color:#16a463;border:1px solid #82d7ae;border-radius:3px;font-style:normal;font-size:6px;padding:2px 4px}.qp-auction-mini-list-v41 .bid b{font-size:7px;margin-top:2px}

  .qp-logistics-strip-v41{grid-column:1/-1;background:#fff;border:1px solid #e5e6ec;border-radius:11px;margin-top:1px;min-height:125px;display:grid;grid-template-columns:195px minmax(420px,1.1fr) 205px minmax(300px,.9fr);gap:8px;align-items:stretch;padding:9px}.qp-logistics-strip-v41 .intro{padding:7px 10px}.qp-logistics-strip-v41 .intro h3{font-size:14px;color:#3b147b;margin:0 0 5px}.qp-logistics-strip-v41 .intro p{font-size:8px;color:#838793;line-height:1.4}.qp-logistics-strip-v41 .intro button{background:#4b168a;color:#fff;border:0;border-radius:5px;padding:8px 12px;font-size:8px;font-weight:700}.qp-logistics-strip-v41 .trucks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.qp-logistics-strip-v41 .trucks button{border:1px solid #ececf1;background:#fff;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.qp-logistics-strip-v41 .trucks span{font-size:30px;line-height:1}.qp-logistics-strip-v41 .trucks b{font-size:8px;margin-top:4px}.qp-logistics-strip-v41 .trucks small{font-size:6px;color:#8d9099}.delivery-proof-v41{border:1px solid #ececf1;border-radius:7px;display:flex;align-items:center;gap:8px;padding:8px}.delivery-proof-v41>span{font-size:38px}.delivery-proof-v41 b{font-size:8px;line-height:1.3}.delivery-proof-v41 small{display:block;font-size:6px;color:#8c8e99;margin-top:5px;line-height:1.4}.trust-v41{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #ececf1;border-radius:7px}.trust-v41 span{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#4b168a;font-size:19px}.trust-v41 b{font-size:7px;margin-top:4px}.trust-v41 small{font-size:6px;color:#8d9099;margin-top:2px}
}

@media (min-width:901px) and (max-width:1180px){
  .qp-desktop-dashboard-v41{grid-template-columns:1fr}.qp-dash-v41-rail{display:grid;grid-template-columns:1fr 1fr}.qp-logistics-strip-v41{grid-template-columns:180px 1fr}.delivery-proof-v41,.trust-v41{display:none}.qp-quick-actions-v41{grid-template-columns:repeat(3,1fr)}.qp-category-row-v41{grid-template-columns:repeat(5,1fr)}
}
@media (max-width:900px){.qp-desktop-dashboard-v41{display:none !important}}


/* =========================================================
   QPROCURE V48 — DESKTOP DASHBOARD POLISH
   Better scale, spacing, logo sizing and readable cards.
   ========================================================= */
@media (min-width:901px){
  .app{grid-template-columns:214px minmax(0,1fr) !important}
  .sidebar{padding:18px 12px !important}
  .sidebar .brand{min-height:104px !important;display:flex !important;align-items:center !important;justify-content:center !important;margin-bottom:10px !important}
  .sidebar .brand img,.brand img{width:148px !important;max-width:148px !important;height:auto !important;margin:0 !important;object-fit:contain !important}
  .nav-item{min-height:38px !important;padding:9px 10px !important;font-size:12px !important;border-radius:7px !important}
  .content{padding:14px 18px 22px !important}
  .topbar{height:60px !important;padding:0 18px !important}

  .qp-desktop-dashboard-v41{grid-template-columns:minmax(0,1fr) 320px !important;gap:14px !important;max-width:1560px !important}
  .qp-dash-v41-rail{gap:14px !important}

  .qp-dash-hero-v41{min-height:220px !important;border-radius:14px !important;grid-template-columns:1.22fr .78fr !important}
  .qp-dash-hero-copy-v41{padding:26px 28px 18px !important}
  .qp-dash-kicker-v41{font-size:10px !important}
  .qp-dash-hero-v41 h1{font-size:30px !important;line-height:1.05 !important;margin:8px 0 !important}
  .qp-dash-hero-v41 p{font-size:13px !important;max-width:610px !important;margin-bottom:14px !important}
  .qp-dash-hero-actions-v41 button{font-size:11px !important;padding:10px 16px !important}
  .qp-dash-stats-v41{gap:28px !important;margin-top:16px !important}
  .qp-dash-stats-v41 b{font-size:16px !important}.qp-dash-stats-v41 small{font-size:9px !important;max-width:72px !important}

  .qp-quick-actions-v41{gap:10px !important;margin:11px 0 !important}
  .qp-quick-actions-v41 button{height:88px !important;padding:11px !important;border-radius:11px !important}
  .qp-quick-actions-v41 b{font-size:10.5px !important}.qp-quick-actions-v41 small{font-size:8.5px !important}

  .qp-dash-panel-v41{border-radius:11px !important}
  .qp-panel-head-v41{height:40px !important;padding:0 13px !important}.qp-panel-head-v41 h3{font-size:12px !important}.qp-panel-head-v41 button{font-size:9.5px !important}
  .qp-category-row-v41{gap:8px !important;padding:9px !important}
  .qp-category-row-v41 button{min-height:82px !important;padding:8px 5px !important}
  .qp-category-row-v41 .pic{height:46px !important;font-size:25px !important}.qp-category-row-v41 .pic img{object-fit:contain !important;border-radius:5px !important}
  .qp-category-row-v41 b{font-size:8.5px !important}.qp-category-row-v41 small{display:block;font-size:6.5px;color:#989aa4;margin-top:3px}

  .qp-dash-lower-grid-v41{grid-template-columns:1.02fr 1.5fr 1.08fr !important;gap:10px !important;min-height:252px !important}
  .qp-company-list-v41>button{padding:8px 0 !important}.qp-company-list-v41 .logo{width:38px !important;height:38px !important}.qp-company-list-v41 .info b{font-size:10px !important}.qp-company-list-v41 .info small{font-size:7.5px !important}.qp-company-list-v41 em{font-size:6.5px !important}.qp-company-list-v41 i{font-size:6.5px !important}

  .qp-trending-row-v41{gap:7px !important;padding:8px !important}.qp-trending-row-v41 .photo{height:104px !important}.qp-trending-row-v41 b{font-size:8.5px !important}.qp-trending-row-v41 strong{font-size:10px !important}.qp-trending-row-v41 small,.qp-trending-row-v41 em{font-size:6.5px !important}

  .qp-tender-mini-list-v41 button{padding:8px 2px !important}.qp-tender-mini-list-v41 b{font-size:8.5px !important}.qp-tender-mini-list-v41 small{font-size:6.5px !important}.qp-tender-mini-list-v41 strong{font-size:7.5px !important}

  .qp-nearby-v41 .qp-real-map{height:270px !important}
  .qp-auction-mini-list-v41>button{grid-template-columns:82px 1fr 68px !important;padding:8px 0 !important}.qp-auction-mini-list-v41 .photo{width:82px !important;height:58px !important}.qp-auction-mini-list-v41 b{font-size:8.5px !important}

  .qp-logistics-strip-v41{min-height:132px !important;margin-top:3px !important;padding:10px !important;grid-template-columns:205px minmax(430px,1.15fr) 215px minmax(320px,.95fr) !important}
  .qp-logistics-strip-v41 .intro h3{font-size:15px !important}.qp-logistics-strip-v41 .intro p{font-size:8.5px !important}.qp-logistics-strip-v41 .trucks b{font-size:8.5px !important}.qp-logistics-strip-v41 .trucks small{font-size:6.5px !important}

  .qp-empty-verified-v48{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;color:#747785}
  .qp-empty-verified-v48>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eaf8ef;color:#15a05a;font-size:21px;font-weight:800;margin-bottom:9px}
  .qp-empty-verified-v48 b{font-size:11px;color:#292b33;margin-bottom:5px}.qp-empty-verified-v48 small{max-width:220px;font-size:8px;line-height:1.45}
  .qp-empty-verified-v48 button{margin-top:10px;border:1px solid #4b168a;background:#fff;color:#4b168a;border-radius:6px;padding:7px 10px;font-size:8px;font-weight:700;cursor:pointer}
}

@media (min-width:901px) and (max-width:1250px){
  .app{grid-template-columns:180px minmax(0,1fr) !important}
  .qp-desktop-dashboard-v41{grid-template-columns:1fr !important}
  .qp-dash-v41-rail{display:grid !important;grid-template-columns:1fr 1fr !important}
}


/* =========================================================
   QPROCURE V49 — TENDERS PAGE
   ========================================================= */
.qp-tenders-page-v49{padding:2px 0 24px}.qp-tenders-head-v49{align-items:center;margin-bottom:14px}.qp-breadcrumb-v49{font-size:12px;color:#7c8392;margin-bottom:6px}.qp-breadcrumb-v49 span{padding:0 6px;color:#a4a9b3}.qp-open-tender-v49{min-width:132px}
.qp-tender-stats-v49{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.qp-tender-stat-v49{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid #e5e7ef;border-radius:14px;background:#fff}.qp-tender-stat-v49>span{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#f3edff;color:#5b1898;font-weight:800}.qp-tender-stat-v49 small{display:block;color:#7c8392}.qp-tender-stat-v49 b{display:block;font-size:20px;margin:3px 0}.qp-tender-stat-v49 p{margin:0;color:#8a909c;font-size:11px}
.qp-tender-toolbar-v49{display:flex;gap:10px;align-items:center;padding:12px;margin-bottom:14px}.qp-tender-toolbar-v49 select{height:42px;border:1px solid #dddfe8;border-radius:9px;padding:0 12px;background:#fff}.qp-tender-search-v49{display:flex;align-items:center;gap:8px;flex:1;border:1px solid #dddfe8;border-radius:9px;height:42px;padding:0 12px;background:#fff}.qp-tender-search-v49 input{width:100%;border:0;outline:0;background:transparent}
.qp-tenders-layout-v49{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px}.qp-tender-tabs-v49{display:flex;gap:20px;border-bottom:1px solid #e4e6ee;margin-bottom:12px}.qp-tender-tabs-v49 button{border:0;background:transparent;padding:10px 0 12px;font-weight:700;color:#6f7582;cursor:pointer}.qp-tender-tabs-v49 button.active{color:#541694;border-bottom:2px solid #541694}.qp-tender-tabs-v49 span{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:#f2edf9;margin-left:4px;font-size:10px}
.qp-tender-results-v49{display:grid;gap:12px}.qp-tender-card-v49{border:1px solid #e3e5ed;border-radius:14px;background:#fff;padding:16px;box-shadow:0 1px 2px rgba(17,24,39,.02)}.qp-tender-card-top-v49{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:start}.qp-tender-icon-v49{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:#f3edff;color:#59179d;font-size:22px}.qp-tender-meta-v49{display:flex;gap:8px;align-items:center;margin-bottom:4px}.qp-tender-meta-v49 span{font-size:11px;color:#777e8b}.qp-tender-meta-v49 em{font-style:normal;font-size:10px;padding:3px 7px;border-radius:999px;background:#e9f8ef;color:#158a58}.qp-tender-card-copy-v49 h3{margin:0 0 4px;font-size:17px}.qp-tender-card-copy-v49 p{margin:0;color:#7b818d;font-size:12px}.qp-tender-value-v49{text-align:right}.qp-tender-value-v49 small{display:block;color:#8b919c}.qp-tender-value-v49 b{display:block;margin-top:4px;color:#42147d;font-size:16px}
.qp-tender-info-v49{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0;padding:12px;background:#fafafd;border-radius:10px}.qp-tender-info-v49 span{min-width:0}.qp-tender-info-v49 small{display:block;color:#9499a3;font-size:10px}.qp-tender-info-v49 b{display:block;margin-top:3px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qp-tender-info-v49 b.urgent{color:#d97706}
.qp-tender-card-footer-v49{display:flex;align-items:center;justify-content:space-between;gap:14px}.qp-tender-card-footer-v49 p{margin:0;color:#6f7581;font-size:12px;line-height:1.5;max-width:72%}
.qp-tender-empty-v49{min-height:330px;border:1px dashed #d9dce5;border-radius:16px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px}.qp-tender-empty-icon-v49{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;background:#f4effb;color:#571895;font-size:32px}.qp-tender-empty-v49 h2{margin:16px 0 6px}.qp-tender-empty-v49 p{max-width:440px;color:#7b818c}.qp-tender-empty-actions-v49{display:flex;gap:10px;margin-top:10px}
.qp-tenders-side-v49{display:flex;flex-direction:column;gap:12px}.qp-tender-side-card-v49 h3{margin:0 0 12px}.qp-tender-side-card-v49>p{color:#777e89;font-size:12px;line-height:1.55}.qp-tender-step-v49{display:flex;gap:10px;margin:13px 0}.qp-tender-step-v49>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f1ebff;color:#581895;font-weight:800;flex:0 0 28px}.qp-tender-step-v49 b{display:block;font-size:12px}.qp-tender-step-v49 small{display:block;color:#858b96;margin-top:3px;line-height:1.4}.qp-tender-side-card-v49 ul{padding-left:18px;margin:8px 0 0}.qp-tender-side-card-v49 li{margin:8px 0;color:#6f7581;font-size:12px}
@media(max-width:1100px){.qp-tender-stats-v49{grid-template-columns:repeat(2,minmax(0,1fr))}.qp-tenders-layout-v49{grid-template-columns:1fr}.qp-tenders-side-v49{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.qp-tender-stats-v49{grid-template-columns:1fr 1fr}.qp-tender-toolbar-v49{flex-direction:column;align-items:stretch}.qp-tender-toolbar-v49 select,.qp-tender-search-v49{width:100%}.qp-tender-card-top-v49{grid-template-columns:44px 1fr}.qp-tender-value-v49{grid-column:2;text-align:left}.qp-tender-info-v49{grid-template-columns:1fr 1fr}.qp-tender-card-footer-v49{flex-direction:column;align-items:stretch}.qp-tender-card-footer-v49 p{max-width:none}.qp-tenders-side-v49{display:flex}.qp-tender-empty-actions-v49{flex-direction:column;width:100%}}


/* =========================================================
   QPROCURE V50 — BUYER MARKETPLACE
   ========================================================= */
.qp-marketplace-page-v50{padding:0 0 30px}.qp-marketplace-heading-v50{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 14px}.qp-marketplace-heading-v50 h1{font-size:28px;margin:0 0 4px}.qp-marketplace-heading-v50 p{margin:0;color:#6b7280}.qp-marketplace-heading-v50>button{border:1px solid #d7d1e7;background:#fff;color:#3d176c;border-radius:9px;padding:11px 16px;font-weight:700;cursor:pointer}
.qp-market-hero-v50{min-height:220px;border:1px solid #e8e1f2;border-radius:16px;overflow:hidden;display:grid;grid-template-columns:1fr 1.45fr;background:linear-gradient(100deg,#fbf8ff 0%,#f3eafb 50%,#f6f5f2 100%);margin-bottom:16px}.qp-market-hero-copy-v50{padding:32px 34px;display:flex;flex-direction:column;justify-content:center}.qp-market-hero-copy-v50 h2{font-size:30px;line-height:1.12;margin:0 0 14px;color:#352149}.qp-market-hero-copy-v50 h2 strong{color:#1d1a23}.qp-market-hero-copy-v50 p{max-width:450px;color:#62606a;line-height:1.55;margin:0 0 18px}.qp-market-hero-copy-v50 button{align-self:flex-start;border:0;border-radius:8px;background:#5b179a;color:#fff;padding:11px 18px;font-weight:700;cursor:pointer}.qp-market-hero-art-v50{position:relative;overflow:hidden;background:linear-gradient(160deg,#ede6f1,#fff)}
.qp-market-building-v50{position:absolute;inset:24px 28px 0;display:flex;align-items:flex-end;gap:14px;justify-content:center}.qp-market-building-v50 span{display:block;background:linear-gradient(180deg,#fdfdfd,#c9c0b9);border:2px solid #8d847e;box-shadow:0 12px 20px rgba(0,0,0,.12);position:relative}.qp-market-building-v50 span:after{content:"";position:absolute;inset:14px;background:repeating-linear-gradient(90deg,rgba(77,73,70,.2) 0 2px,transparent 2px 26px),repeating-linear-gradient(0deg,rgba(77,73,70,.15) 0 2px,transparent 2px 24px)}.qp-market-building-v50 span:nth-child(1){width:16%;height:50%}.qp-market-building-v50 span:nth-child(2){width:22%;height:74%}.qp-market-building-v50 span:nth-child(3){width:30%;height:88%}.qp-market-building-v50 span:nth-child(4){width:18%;height:64%}.qp-market-building-v50 span:nth-child(5){width:12%;height:44%}
.qp-market-cat-strip-v50{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px;margin-bottom:16px}.qp-market-cat-strip-v50 button{border:1px solid #e5e1eb;background:#fff;border-radius:12px;padding:12px 8px;min-width:0;cursor:pointer;color:#31273b}.qp-market-cat-strip-v50 button.active{border-color:#6b1db4;box-shadow:inset 0 0 0 1px #6b1db4}.qp-market-cat-img-v50{width:54px;height:44px;margin:0 auto 7px;display:grid;place-items:center;border-radius:9px;overflow:hidden;background:#faf9fb;font-size:24px}.qp-market-cat-img-v50 img{width:100%;height:100%;object-fit:cover}.qp-market-cat-strip-v50 b{display:block;font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qp-market-cat-strip-v50 small{display:block;color:#8a8490;margin-top:4px;font-size:10px}
.qp-market-main-v50{display:grid;grid-template-columns:235px minmax(0,1fr);gap:16px}.qp-market-filter-v50{border:1px solid #e7e3eb;background:#fff;border-radius:13px;padding:16px;height:max-content}.qp-market-filter-head-v50{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.qp-market-filter-head-v50 h3{margin:0}.qp-market-filter-head-v50 button{border:0;background:transparent;color:#5b179a;font-weight:700;cursor:pointer}.qp-market-filter-v50 label{display:grid;gap:7px;font-size:12px;font-weight:700;margin-bottom:14px}.qp-market-filter-v50 select,.qp-market-filter-v50 input{width:100%;border:1px solid #ded9e5;border-radius:8px;background:#fff;padding:10px;box-sizing:border-box}.qp-market-price-inputs-v50{display:grid;grid-template-columns:1fr 1fr;gap:7px}.qp-market-apply-v50{width:100%;border:0;border-radius:8px;padding:11px;background:#5b179a;color:#fff;font-weight:700;cursor:pointer}.qp-market-bulk-v50{margin-top:18px;border-radius:12px;padding:16px;background:linear-gradient(145deg,#29104a,#5d1d9b);color:#fff}.qp-market-bulk-v50 h4{margin:0 0 6px}.qp-market-bulk-v50 p{font-size:11px;color:#ddd0ed;line-height:1.5}.qp-market-bulk-v50 button{width:100%;border:1px solid rgba(255,255,255,.7);border-radius:8px;background:transparent;color:#fff;padding:9px;font-weight:700;cursor:pointer}
.qp-market-results-v50{min-width:0}.qp-market-search-v50{display:flex;gap:10px;margin-bottom:12px}.qp-market-search-v50 input{flex:1;border:1px solid #ded9e5;border-radius:9px;padding:11px 13px}.qp-market-search-v50 button{border:0;background:#5b179a;color:#fff;border-radius:8px;padding:0 22px;font-weight:700;cursor:pointer}.qp-market-tabs-v50{display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid #e9e5ee;margin-bottom:12px}.qp-market-tabs-v50>div:first-child{display:flex;gap:20px}.qp-market-tabs-v50 button{border:0;background:transparent;padding:10px 2px 11px;color:#6c6673;font-weight:700;position:relative;cursor:pointer}.qp-market-tabs-v50 button.active{color:#5b179a}.qp-market-tabs-v50 button.active:after{content:"";position:absolute;height:2px;background:#5b179a;left:0;right:0;bottom:-1px}.qp-market-sort-v50{display:flex;align-items:center;gap:7px;font-size:11px;color:#77717c}.qp-market-sort-v50 select{border:1px solid #ded9e5;border-radius:8px;padding:8px;background:#fff}.qp-market-results-head-v50{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.qp-market-results-head-v50 h2{margin:0;font-size:18px}.qp-market-results-head-v50 p{margin:3px 0 0;color:#85808b;font-size:11px}
.qp-market-products-grid-v50{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.qp-market-product-v50{border:1px solid #e7e3eb;border-radius:11px;background:#fff;overflow:hidden;min-width:0}.qp-market-product-photo-v50{height:175px;background:#f7f6f8;position:relative;display:grid;place-items:center;overflow:hidden}.qp-market-product-photo-v50 img{width:100%;height:100%;object-fit:cover}.qp-market-discount-v50{position:absolute;left:8px;top:8px;background:#dc3131;color:#fff;border-radius:5px;padding:4px 6px;font-size:10px;z-index:2}.qp-market-heart-v50{position:absolute;right:8px;top:8px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:18px;z-index:2;cursor:pointer}.qp-market-photo-empty-v50{font-size:34px;color:#aaa3b0}.qp-market-product-body-v50{padding:11px}.qp-market-product-body-v50 h3{margin:0 0 5px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qp-market-product-body-v50>small{display:block;color:#77717d;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qp-market-verified-v50{color:#17a45d;font-size:9px;margin-left:4px}.qp-market-rating-v50{margin-top:6px;font-size:11px;color:#f59e0b}.qp-market-rating-v50 span{color:#8b8590}.qp-market-price-v50{font-size:15px;font-weight:800;color:#5b179a;margin-top:5px}.qp-market-price-v50 small{font-size:10px;color:#6f6875;font-weight:500}.qp-market-old-price-v50{text-decoration:line-through;color:#99929f;font-size:10px}.qp-market-stock-v50{display:flex;justify-content:space-between;gap:5px;align-items:center;margin:8px 0}.qp-market-stock-v50 span{font-size:9px;padding:4px 6px;border-radius:4px}.qp-market-stock-v50 span.in{background:#eaf9ef;color:#169653}.qp-market-stock-v50 span.out{background:#fff0f0;color:#c94747}.qp-market-stock-v50 small{font-size:9px;color:#85808b}.qp-market-cart-v50{width:100%;border:1px solid #7d43af;border-radius:7px;background:#fff;color:#5b179a;padding:8px;font-weight:700;cursor:pointer}.qp-market-cart-v50:hover{background:#f8f2ff}.qp-market-cart-v50:disabled{opacity:.45;cursor:not-allowed}.qp-market-empty-v50{grid-column:1/-1;border:1px dashed #d8d3de;border-radius:12px;padding:36px;text-align:center;color:#7f7886}
@media(max-width:1350px){.qp-market-cat-strip-v50{grid-template-columns:repeat(5,1fr)}.qp-market-products-grid-v50{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.qp-market-main-v50{grid-template-columns:1fr}.qp-market-filter-v50{order:2}.qp-market-products-grid-v50{grid-template-columns:repeat(2,minmax(0,1fr))}.qp-market-hero-v50{grid-template-columns:1fr}.qp-market-hero-art-v50{min-height:160px}}
@media(max-width:640px){.qp-marketplace-heading-v50{align-items:flex-start}.qp-marketplace-heading-v50>button{display:none}.qp-market-hero-copy-v50{padding:24px}.qp-market-hero-copy-v50 h2{font-size:25px}.qp-market-cat-strip-v50{display:flex;overflow-x:auto}.qp-market-cat-strip-v50 button{min-width:105px}.qp-market-tabs-v50{align-items:flex-start;flex-direction:column}.qp-market-products-grid-v50{grid-template-columns:1fr 1fr}.qp-market-product-photo-v50{height:135px}}


/* =========================================================
   QPROCURE V51 — BUYER CATEGORIES PAGE
   ========================================================= */
.qp-cat-page-v51{max-width:100%;padding-bottom:24px}.qp-cat-head-v51{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.qp-cat-head-actions-v51{display:flex;gap:10px}.qp-cat-breadcrumb-v51{font-size:12px;color:#77718a;margin-bottom:6px}.qp-cat-breadcrumb-v51 span{margin:0 6px;color:#aaa4b3}
.qp-cat-layout-v51{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.qp-cat-main-v51{min-width:0}.qp-cat-side-v51{display:flex;flex-direction:column;gap:14px}.qp-cat-feature-grid-v51{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-bottom:12px}.qp-cat-feature-card-v51{border:1px solid #e6e1ef;background:#fff;border-radius:10px;min-height:132px;padding:9px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;color:#241634}.qp-cat-feature-card-v51:hover{border-color:#6b21a8;box-shadow:0 4px 14px rgba(77,26,128,.08);transform:translateY(-1px)}.qp-cat-feature-img-v51{width:72px;height:54px;display:grid;place-items:center;overflow:hidden;font-size:32px}.qp-cat-feature-img-v51 img{width:100%;height:100%;object-fit:contain}.qp-cat-feature-card-v51 b{text-align:center;font-size:12px;line-height:1.15}.qp-cat-feature-card-v51 small{font-size:10px;color:#5b21b6;font-weight:700}
.qp-cat-body-v51{display:grid;grid-template-columns:210px minmax(0,1fr);gap:10px}.qp-cat-filter-v51{display:flex;flex-direction:column;gap:10px}.qp-cat-filter-card-v51{border:1px solid #e6e1ef;background:#fff;border-radius:10px;padding:12px}.qp-cat-construction-v51{display:flex;gap:10px;align-items:center}.qp-cat-construction-v51>span{width:54px;height:54px;display:grid;place-items:center;border-radius:8px;background:#f5f1fb;font-size:28px}.qp-cat-construction-v51 b{font-size:12px;line-height:1.2}.qp-cat-construction-v51 small{display:block;color:#6b21a8;font-size:10px;margin-top:4px}.qp-cat-filter-title-v51{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.qp-cat-filter-title-v51 b{font-size:13px}.qp-cat-filter-title-v51 button{border:0;background:none;color:#6b21a8;font-size:10px;cursor:pointer}.qp-cat-filter-card-v51 label{display:block;font-size:10px;font-weight:800;margin:11px 0 6px}.qp-cat-filter-card-v51 input{width:100%;border:1px solid #ded8e9;border-radius:7px;padding:8px 9px;box-sizing:border-box;font-size:11px}.qp-cat-radio-v51,.qp-cat-check-v51{width:100%;border:0;background:none;display:flex;align-items:center;gap:7px;padding:5px 0;font-size:11px;color:#34303a;text-align:left;cursor:pointer}.qp-cat-radio-v51 i{width:10px;height:10px;border-radius:50%;border:1px solid #8b8496;box-shadow:inset 0 0 0 2px #fff}.qp-cat-radio-v51.active i{background:#6b21a8;border-color:#6b21a8}.qp-cat-check-v51 i{width:11px;height:11px;border:1px solid #aaa3b2;border-radius:2px;font-size:8px;color:transparent}.qp-cat-apply-v51{width:100%;margin-top:10px;border:1px solid #6b21a8;border-radius:7px;background:#fff;color:#5b1792;padding:9px;font-weight:800;cursor:pointer}
.qp-cat-explore-v51{min-width:0}.qp-cat-section-head-v51{display:flex;justify-content:space-between;align-items:center;margin:3px 0 8px}.qp-cat-section-head-v51 h2{font-size:16px;margin:0}.qp-cat-section-head-v51 span{font-size:10px;color:#80788b}.qp-cat-accordion-v51{border:1px solid #e6e1ef;border-radius:10px;background:#fff;margin-bottom:8px;overflow:hidden}.qp-cat-accordion-head-v51{width:100%;border:0;background:#fff;display:grid;grid-template-columns:46px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:10px 12px;text-align:left;cursor:pointer}.qp-cat-accordion-img-v51{width:46px;height:38px;display:grid;place-items:center;overflow:hidden;font-size:24px}.qp-cat-accordion-img-v51 img{width:100%;height:100%;object-fit:contain}.qp-cat-accordion-copy-v51 b{display:block;font-size:13px}.qp-cat-accordion-copy-v51 small{display:block;margin-top:3px;color:#766f80;font-size:10px}.qp-cat-chevron-v51{font-size:18px;text-align:center}.qp-cat-subrow-v51{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:7px;padding:0 12px 11px}.qp-cat-subrow-v51.collapsed{display:none}.qp-cat-subrow-v51 button{border:1px solid #ede9f2;border-radius:7px;background:#fff;padding:7px 8px;text-align:left;cursor:pointer;min-width:0}.qp-cat-subrow-v51 button b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.qp-cat-subrow-v51 button small{display:block;color:#8b8494;font-size:9px;margin-top:3px}.qp-cat-subrow-v51 .view-all{color:#5b1792;font-weight:800;white-space:nowrap}.qp-cat-empty-v51{border:1px dashed #d8d1e1;border-radius:10px;padding:40px;text-align:center;background:#fff}
.qp-cat-bottom-actions-v51{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.qp-cat-bottom-actions-v51 button{border:1px solid #e6e1ef;border-radius:9px;background:#fff;padding:10px;display:flex;gap:9px;align-items:center;text-align:left;cursor:pointer}.qp-cat-bottom-actions-v51 button>span{font-size:21px;color:#5b1792}.qp-cat-bottom-actions-v51 button b{display:block;font-size:11px}.qp-cat-bottom-actions-v51 button small{display:block;color:#81798a;font-size:9px;margin-top:2px}.qp-cat-bottom-actions-v51 button.primary{background:#5b1792;color:#fff}.qp-cat-bottom-actions-v51 button.primary>span,.qp-cat-bottom-actions-v51 button.primary small{color:#fff}
.qp-cat-side-card-v51{padding:12px}.qp-cat-side-head-v51{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.qp-cat-side-head-v51 h3{margin:0;font-size:13px}.qp-cat-side-head-v51 button{border:0;background:none;color:#5b1792;font-size:9px;font-weight:800;cursor:pointer}.qp-cat-popular-v51{display:grid;gap:5px}.qp-cat-popular-v51>button{border:0;background:#fff;display:grid;grid-template-columns:18px 30px minmax(0,1fr);align-items:center;gap:7px;text-align:left;padding:5px 0;cursor:pointer}.qp-cat-popular-v51 em{width:16px;height:16px;border-radius:50%;background:#5b1792;color:#fff;font-style:normal;font-size:8px;display:grid;place-items:center}.qp-cat-popular-v51 .pic{width:28px;height:24px;display:grid;place-items:center;overflow:hidden;font-size:16px}.qp-cat-popular-v51 .pic img{width:100%;height:100%;object-fit:contain}.qp-cat-popular-v51 b{display:block;font-size:10px}.qp-cat-popular-v51 small{display:block;color:#7a7385;font-size:9px;margin-top:2px}.qp-cat-requested-v51{display:grid;gap:6px}.qp-cat-requested-v51 button{border:0;background:#fff;display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;align-items:center;text-align:left;padding:5px 0;cursor:pointer}.qp-cat-requested-v51 button>span{width:38px;height:32px;border-radius:5px;background:#f3f1f5;display:grid;place-items:center;overflow:hidden}.qp-cat-requested-v51 img{width:100%;height:100%;object-fit:cover}.qp-cat-requested-v51 b{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qp-cat-requested-v51 small{display:block;color:#857e8e;font-size:8px;margin-top:2px}.qp-cat-map-v51{height:160px;border-radius:7px;overflow:hidden}.qp-cat-map-copy-v51{padding-top:9px}.qp-cat-map-copy-v51 b{display:block;font-size:11px}.qp-cat-map-copy-v51 small{display:block;color:#5b1792;font-size:9px;margin:2px 0 8px}.qp-cat-map-copy-v51 button{border:1px solid #d5c9e5;background:#fff;border-radius:6px;padding:7px 10px;color:#5b1792;font-weight:800;font-size:9px;cursor:pointer}
@media(max-width:1400px){.qp-cat-feature-grid-v51{grid-template-columns:repeat(6,minmax(0,1fr))}.qp-cat-layout-v51{grid-template-columns:minmax(0,1fr) 260px}.qp-cat-subrow-v51{grid-template-columns:repeat(3,minmax(0,1fr)) auto}}
@media(max-width:1100px){.qp-cat-layout-v51{grid-template-columns:1fr}.qp-cat-side-v51{display:grid;grid-template-columns:repeat(3,1fr)}.qp-cat-feature-grid-v51{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.qp-cat-head-v51{flex-direction:column}.qp-cat-head-actions-v51{width:100%}.qp-cat-head-actions-v51 button{flex:1}.qp-cat-feature-grid-v51{grid-template-columns:repeat(2,minmax(0,1fr))}.qp-cat-body-v51{grid-template-columns:1fr}.qp-cat-filter-v51{order:2}.qp-cat-explore-v51{order:1}.qp-cat-side-v51{display:flex}.qp-cat-subrow-v51{grid-template-columns:repeat(2,minmax(0,1fr))}.qp-cat-bottom-actions-v51{grid-template-columns:1fr 1fr}}



/* =========================================================
   QPROCURE V147 - REAL MARKETPLACE V50 PRODUCT CARDS
   Targets the actual marketplace classes used by qprocure-live.js
   ========================================================= */

/* More products visible and tighter spacing */
.qp-market-products-grid-v50{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:10px !important;
  align-items:stretch !important;
}

/* Card */
.qp-market-product-v50{
  display:flex !important;
  flex-direction:column !important;
  min-height:315px !important;
  border-radius:10px !important;
  overflow:hidden !important;
  background:#fff !important;
}

/* Image: this is the ACTUAL marketplace image class */
.qp-market-product-photo-v50{
  height:128px !important;
  min-height:128px !important;
  max-height:128px !important;
  flex:0 0 128px !important;
  background:#f7f6f8 !important;
}

.qp-market-product-photo-v50 img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* Smaller badges */
.qp-market-discount-v50{
  left:7px !important;
  top:7px !important;
  padding:3px 5px !important;
  font-size:8px !important;
}

.qp-market-heart-v50{
  right:7px !important;
  top:7px !important;
  width:24px !important;
  height:24px !important;
  font-size:14px !important;
}

/* Compact and aligned product information */
.qp-market-product-body-v50{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  padding:9px 9px 8px !important;
  min-height:0 !important;
}

.qp-market-product-body-v50 h3{
  margin:0 0 3px !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  height:29px !important;
  white-space:normal !important;
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
}

.qp-market-product-body-v50 > small{
  font-size:9px !important;
  line-height:1.2 !important;
  height:13px !important;
  margin:0 !important;
}

.qp-market-verified-v50{
  font-size:8px !important;
  margin-left:3px !important;
}

.qp-market-rating-v50{
  margin-top:4px !important;
  font-size:9px !important;
  line-height:1.15 !important;
  min-height:11px !important;
}

.qp-market-price-v50{
  margin-top:4px !important;
  font-size:14px !important;
  line-height:1.05 !important;
  min-height:16px !important;
}

.qp-market-price-v50 small{
  font-size:8px !important;
}

.qp-market-old-price-v50{
  font-size:8px !important;
  min-height:10px !important;
  line-height:1.1 !important;
}

/* Stock / minimum order on one clean row */
.qp-market-stock-v50{
  margin:5px 0 6px !important;
  gap:4px !important;
  min-height:20px !important;
}

.qp-market-stock-v50 span{
  padding:3px 5px !important;
  font-size:8px !important;
}

.qp-market-stock-v50 small{
  font-size:8px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Button always aligned at bottom */
.qp-market-cart-v50{
  margin-top:auto !important;
  min-height:30px !important;
  height:30px !important;
  padding:5px 7px !important;
  font-size:10px !important;
  line-height:1 !important;
  border-radius:6px !important;
}

/* Slightly reduce heading spacing */
.qp-market-results-head-v50{
  margin-bottom:7px !important;
}
.qp-market-results-head-v50 h2{
  font-size:16px !important;
}
.qp-market-results-head-v50 p{
  font-size:9px !important;
}

/* Responsive */
@media(max-width:1550px){
  .qp-market-products-grid-v50{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

@media(max-width:1200px){
  .qp-market-products-grid-v50{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:950px){
  .qp-market-products-grid-v50{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:640px){
  .qp-market-products-grid-v50{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .qp-market-product-photo-v50{
    height:115px !important;
    min-height:115px !important;
    max-height:115px !important;
    flex-basis:115px !important;
  }

  .qp-market-product-body-v50{
    padding:7px !important;
  }

  .qp-market-product-body-v50 h3{
    font-size:11px !important;
  }

  .qp-market-price-v50{
    font-size:13px !important;
  }

  .qp-market-cart-v50{
    font-size:9px !important;
    height:28px !important;
    min-height:28px !important;
  }
}




/* =========================================================
   QPROCURE V148 - PRODUCT IMAGE CLARITY + TWO-SIDED INFO
   ========================================================= */

/* Don't enlarge/crop product photos. Show the whole original image. */
.qp-market-product-photo-v50{
  height:150px !important;
  min-height:150px !important;
  max-height:150px !important;
  flex-basis:150px !important;
  padding:7px !important;
  background:#f8f8fa !important;
}

.qp-market-product-photo-v50 img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  image-rendering:auto !important;
  filter:none !important;
  transform:none !important;
}

/* Product name stays clear and separated */
.qp-market-product-body-v50 h3{
  height:auto !important;
  min-height:30px !important;
  max-height:30px !important;
  margin:0 0 6px !important;
  font-size:13px !important;
}

/* Company LEFT / product type RIGHT */
.qp-market-meta-v148{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:8px !important;
  min-height:24px !important;
  padding:5px 0 !important;
  border-top:1px solid #f0edf4 !important;
  border-bottom:1px solid #f0edf4 !important;
}

.qp-market-company-v148{
  min-width:0 !important;
  font-size:9.5px !important;
  color:#716a79 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  text-align:left !important;
}

.qp-market-type-v148{
  max-width:115px !important;
  font-size:9px !important;
  font-weight:700 !important;
  color:#4f276e !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  text-align:right !important;
}

/* Price LEFT / rating RIGHT */
.qp-market-price-info-v148{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:8px !important;
  padding:6px 0 3px !important;
}

.qp-market-price-side-v148{
  min-width:0 !important;
}

.qp-market-price-v50{
  margin:0 !important;
  font-size:15px !important;
  font-weight:800 !important;
  color:#5b17a4 !important;
}

.qp-market-old-price-v50{
  margin-top:2px !important;
  font-size:8px !important;
}

.qp-market-rating-v50{
  margin:0 !important;
  min-height:auto !important;
  font-size:9px !important;
  white-space:nowrap !important;
  text-align:right !important;
}

/* Stock LEFT / MOQ RIGHT */
.qp-market-stock-v50{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:8px !important;
  margin:4px 0 7px !important;
}

.qp-market-stock-v50 small{
  text-align:right !important;
}

/* Four cards gives text enough room and keeps image clearer. */
@media(min-width:1200px){
  .qp-market-products-grid-v50{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

@media(max-width:700px){
  .qp-market-product-photo-v50{
    height:125px !important;
    min-height:125px !important;
    max-height:125px !important;
    flex-basis:125px !important;
    padding:5px !important;
  }

  .qp-market-meta-v148,
  .qp-market-price-info-v148{
    gap:5px !important;
  }

  .qp-market-type-v148{
    max-width:80px !important;
  }
}




/* =========================================================
   QPROCURE V151 - SQUARE MARKETPLACE PRODUCT IMAGE
   Fixed 1:1 image area, no stretching, clearer product data
   ========================================================= */

/* Product cards keep a clean stable structure */
.qp-market-product-v50{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  background:#fff !important;
  border-radius:10px !important;
}

/* IMPORTANT: image area is ALWAYS square */
.qp-market-product-photo-v50{
  position:relative !important;
  width:100% !important;
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  flex:0 0 auto !important;
  padding:8px !important;
  overflow:hidden !important;
  background:#f7f7f9 !important;
}

/* Never stretch or crop the product image */
.qp-market-product-photo-v50 img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
  transform:none !important;
  filter:none !important;
}

/* Keep product information clear under the square image */
.qp-market-product-body-v50{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:150px !important;
  padding:10px !important;
  gap:4px !important;
  background:#fff !important;
}

/* Name */
.qp-market-product-body-v50 h3{
  margin:0 0 5px !important;
  min-height:32px !important;
  max-height:32px !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
}

/* Company left / Product type right */
.qp-market-meta-v148{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:8px !important;
  min-height:24px !important;
  padding:5px 0 !important;
  border-top:1px solid #eeeaf2 !important;
  border-bottom:1px solid #eeeaf2 !important;
}

.qp-market-company-v148{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  text-align:left !important;
  font-size:9.5px !important;
}

.qp-market-type-v148{
  max-width:120px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  text-align:right !important;
  font-size:9px !important;
  font-weight:700 !important;
  color:#5b2a7d !important;
}

/* Price left / rating right */
.qp-market-price-info-v148{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:8px !important;
  padding:5px 0 !important;
}

.qp-market-price-v50{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  color:#5b17a4 !important;
}

.qp-market-rating-v50{
  margin:0 !important;
  font-size:9px !important;
  white-space:nowrap !important;
  text-align:right !important;
}

/* Stock left / MOQ right */
.qp-market-stock-v50{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:8px !important;
  margin:4px 0 7px !important;
}

.qp-market-stock-v50 small{
  text-align:right !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Button remains aligned */
.qp-market-cart-v50{
  margin-top:auto !important;
  min-height:31px !important;
  height:31px !important;
  font-size:10px !important;
}

/* Four columns keeps each square large enough to see clearly */
@media(min-width:1200px){
  .qp-market-products-grid-v50{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:12px !important;
  }
}

@media(max-width:1199px) and (min-width:800px){
  .qp-market-products-grid-v50{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:799px){
  .qp-market-products-grid-v50{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .qp-market-product-photo-v50{
    padding:6px !important;
  }

  .qp-market-product-body-v50{
    padding:8px !important;
  }

  .qp-market-type-v148{
    max-width:72px !important;
  }
}




/* =========================================================
   QPROCURE V153 - 8 PRODUCTS PER ROW
   Smaller square product icons/cards for All Products
   ========================================================= */

/* Wide desktop: 8 products in one row */
@media(min-width:1500px){
  .qp-market-products-grid-v50{
    grid-template-columns:repeat(8,minmax(0,1fr)) !important;
    gap:8px !important;
  }
}

/* Normal desktop: 6 products */
@media(max-width:1499px) and (min-width:1200px){
  .qp-market-products-grid-v50{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:8px !important;
  }
}

/* Tablet: 4 products */
@media(max-width:1199px) and (min-width:800px){
  .qp-market-products-grid-v50{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:8px !important;
  }
}

/* Mobile: 2 products */
@media(max-width:799px){
  .qp-market-products-grid-v50{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }
}

/* Smaller compact card */
.qp-market-product-v50{
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  min-height:0 !important;
  border-radius:9px !important;
}

/* Square image area, intentionally smaller */
.qp-market-product-photo-v50{
  width:100% !important;
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  flex:0 0 auto !important;
  padding:5px !important;
  background:#f7f7f9 !important;
}

/* Full image visible, never stretched */
.qp-market-product-photo-v50 img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
}

/* Tighter product info */
.qp-market-product-body-v50{
  min-height:120px !important;
  padding:7px !important;
  gap:2px !important;
}

.qp-market-product-body-v50 h3{
  min-height:26px !important;
  max-height:26px !important;
  font-size:10.5px !important;
  line-height:1.15 !important;
  margin:0 0 3px !important;
  -webkit-line-clamp:2 !important;
}

.qp-market-meta-v148{
  min-height:18px !important;
  gap:4px !important;
  padding:3px 0 !important;
}

.qp-market-company-v148{
  font-size:7.5px !important;
  max-width:72px !important;
}

.qp-market-type-v148{
  font-size:7px !important;
  max-width:58px !important;
}

.qp-market-price-info-v148{
  gap:4px !important;
  padding:3px 0 !important;
}

.qp-market-price-v50{
  font-size:11px !important;
}

.qp-market-rating-v50{
  font-size:7px !important;
}

.qp-market-old-price-v50{
  font-size:7px !important;
}

.qp-market-stock-v50{
  gap:4px !important;
  margin:2px 0 4px !important;
  min-height:16px !important;
}

.qp-market-stock-v50 span,
.qp-market-stock-v50 small{
  font-size:7px !important;
}

.qp-market-cart-v50{
  min-height:26px !important;
  height:26px !important;
  padding:3px 5px !important;
  font-size:8px !important;
  border-radius:5px !important;
}

.qp-market-discount-v50{
  left:5px !important;
  top:5px !important;
  font-size:7px !important;
  padding:2px 4px !important;
}

.qp-market-heart-v50{
  right:5px !important;
  top:5px !important;
  width:20px !important;
  height:20px !important;
  font-size:12px !important;
}




/* =========================================================
   QPROCURE V154 - TABLET DASHBOARD FIX
   Fixes the broken 701–900px gap between phone and desktop layouts.
   ========================================================= */

@media (min-width:701px) and (max-width:900px){

  html,body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body{
    padding-bottom:64px !important;
    background:#f6f7fb !important;
  }

  .app{
    display:block !important;
    width:100% !important;
    min-height:100dvh !important;
  }

  /* Remove the large empty tablet offset visible above the header. */
  .main{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding-top:0 !important;
  }

  /* Tablet header */
  .topbar{
    position:sticky !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:3200 !important;
    width:100% !important;
    min-height:64px !important;
    padding:8px 12px !important;
    display:grid !important;
    grid-template-columns:48px auto minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:8px !important;
    background:#fff !important;
    border-bottom:1px solid #e9e5ef !important;
  }

  .mobile-menu-toggle{
    display:grid !important;
    place-items:center !important;
    width:46px !important;
    height:46px !important;
    border:0 !important;
    border-radius:12px !important;
    background:#5a1aa8 !important;
    color:#fff !important;
  }

  .topbar .location{
    display:none !important;
  }

  .topbar .ai-search-toggle{
    display:inline-flex !important;
    min-height:42px !important;
    white-space:nowrap !important;
  }

  .search-wrap,
  .search{
    min-width:0 !important;
    width:100% !important;
  }

  .search{
    min-height:46px !important;
  }

  .topbar .topicons,
  .topbar .language-switcher{
    display:none !important;
  }

  /* The root problem: desktop dashboard was hidden at <=900,
     while the mobile dashboard only existed at <=700.
     Restore the real dashboard for tablet. */
  .qp-desktop-dashboard-v41{
    display:grid !important;
    visibility:visible !important;
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:12px !important;
    margin:0 !important;
    position:static !important;
    overflow:visible !important;
  }

  .qp-dash-v41-main{
    min-width:0 !important;
    width:100% !important;
  }

  .qp-dash-v41-rail{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
    width:100% !important;
  }

  .qp-dash-hero-v41{
    width:100% !important;
    min-height:190px !important;
    border-radius:14px !important;
    grid-template-columns:1.1fr .9fr !important;
  }

  .qp-dash-hero-copy-v41{
    padding:20px !important;
  }

  .qp-dash-hero-v41 h1{
    font-size:24px !important;
  }

  .qp-quick-actions-v41{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .qp-quick-actions-v41 button{
    height:76px !important;
  }

  .qp-dash-lower-grid-v41{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    min-height:0 !important;
  }

  .qp-dash-lower-grid-v41 > *:last-child{
    grid-column:1 / -1 !important;
  }

  .qp-category-row-v41{
    overflow-x:auto !important;
    grid-auto-flow:column !important;
  }

  .qp-logistics-strip-v41{
    width:100% !important;
    overflow-x:auto !important;
  }

  /* Phone-only home must stay hidden on tablet. */
  .qp-mobile-marketplace-v35,
  .qp-mobile-marketplace-v36,
  .qp-mobile-marketplace-head,
  .qp-mobile-primary-nav{
    display:none !important;
    visibility:hidden !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }

  /* Proper tablet bottom navigation instead of raw browser-style buttons. */
  .qp-mobile-bottom-nav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:3500 !important;
    width:100% !important;
    height:62px !important;
    min-height:62px !important;
    display:grid !important;
    visibility:visible !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    background:rgba(255,255,255,.98) !important;
    border-top:1px solid #e7e2eb !important;
    box-shadow:0 -5px 20px rgba(30,20,40,.07) !important;
    padding:0 !important;
    margin:0 !important;
    position:fixed !important;
    pointer-events:auto !important;
  }

  .qp-mobile-bottom-nav button{
    border:0 !important;
    background:transparent !important;
    color:#31283a !important;
    min-width:0 !important;
    height:62px !important;
    padding:5px 2px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    font-family:inherit !important;
    border-radius:0 !important;
  }

  .qp-mobile-bottom-nav button span{
    font-size:18px !important;
    line-height:1 !important;
  }

  .qp-mobile-bottom-nav button b{
    font-size:9px !important;
    line-height:1.1 !important;
    font-weight:650 !important;
  }

  .qp-mobile-bottom-nav button:first-child{
    color:#5a1aa8 !important;
  }

  .floating-chat-button{
    bottom:76px !important;
  }

  .content{
    width:100% !important;
    max-width:100% !important;
    padding:0 0 74px !important;
  }
}

/* Small tablet portrait */
@media (min-width:701px) and (max-width:780px){
  .qp-dash-v41-rail{
    grid-template-columns:1fr !important;
  }

  .qp-dash-lower-grid-v41{
    grid-template-columns:1fr !important;
  }

  .qp-dash-lower-grid-v41 > *{
    grid-column:auto !important;
  }

  .qp-quick-actions-v41{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .qp-dash-hero-v41{
    grid-template-columns:1fr !important;
  }
}




/* =========================================================
   QPROCURE V155 - TABLET DASHBOARD CLEAN LAYOUT
   Keep ONE hero, remove duplicate hero, restore card styling
   for 701px–900px tablet widths.
   ========================================================= */

@media (min-width:701px) and (max-width:900px){

  /* Keep the global/top homepage banner only.
     The dashboard hero below it was causing the duplicate banner. */
  .qp-dash-hero-v41{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  /* Dashboard container */
  .qp-desktop-dashboard-v41{
    display:block !important;
    width:100% !important;
    padding:10px !important;
    margin:0 !important;
  }

  .qp-dash-v41-main{
    width:100% !important;
    min-width:0 !important;
  }

  /* Quick actions - clean 2x2 tablet cards */
  .qp-quick-actions-v41{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    margin:0 0 12px !important;
  }

  .qp-quick-actions-v41 > *,
  .qp-quick-actions-v41 button,
  .qp-quick-actions-v41 a{
    min-width:0 !important;
    min-height:82px !important;
    height:82px !important;
    padding:12px !important;
    border:1px solid #e6e1ec !important;
    border-radius:12px !important;
    background:#fff !important;
    color:#241b2f !important;
    box-shadow:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    text-align:left !important;
    overflow:hidden !important;
  }

  .qp-quick-actions-v41 button b,
  .qp-quick-actions-v41 a b{
    font-size:13px !important;
    line-height:1.15 !important;
    display:block !important;
  }

  .qp-quick-actions-v41 button small,
  .qp-quick-actions-v41 a small{
    font-size:9px !important;
    line-height:1.2 !important;
    color:#80788c !important;
    display:block !important;
  }

  /* Categories panel */
  .qp-categories-v41,
  .qp-dash-panel-v41,
  .qp-category-panel-v41{
    background:#fff !important;
    border:1px solid #e6e1ec !important;
    border-radius:12px !important;
    overflow:hidden !important;
    margin-bottom:12px !important;
  }

  .qp-panel-head-v41,
  .qp-dash-panel-head-v41{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:44px !important;
    padding:10px 12px !important;
    border-bottom:1px solid #eeeaf2 !important;
    background:#fff !important;
  }

  .qp-panel-head-v41 h3,
  .qp-dash-panel-head-v41 h3{
    margin:0 !important;
    font-size:15px !important;
    line-height:1.2 !important;
  }

  .qp-panel-head-v41 button,
  .qp-dash-panel-head-v41 button{
    border:0 !important;
    background:transparent !important;
    color:#5b17a4 !important;
    font-size:10px !important;
    font-weight:700 !important;
  }

  .qp-category-row-v41{
    display:grid !important;
    grid-auto-flow:column !important;
    grid-auto-columns:minmax(115px,1fr) !important;
    gap:8px !important;
    overflow-x:auto !important;
    padding:10px !important;
    scrollbar-width:thin !important;
  }

  .qp-category-row-v41 > *{
    min-width:115px !important;
    min-height:88px !important;
    border:1px solid #eeeaf2 !important;
    border-radius:10px !important;
    background:#fff !important;
    padding:9px !important;
  }

  /* Lower dashboard panels */
  .qp-dash-lower-grid-v41{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin-top:0 !important;
  }

  .qp-dash-lower-grid-v41 > *{
    min-width:0 !important;
    min-height:180px !important;
    background:#fff !important;
    border:1px solid #e6e1ec !important;
    border-radius:12px !important;
    overflow:hidden !important;
  }

  .qp-dash-lower-grid-v41 > *:last-child{
    grid-column:1 / -1 !important;
  }

  /* Right rail below main content on tablet */
  .qp-dash-v41-rail{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin-top:10px !important;
  }

  .qp-dash-v41-rail > *{
    background:#fff !important;
    border:1px solid #e6e1ec !important;
    border-radius:12px !important;
    overflow:hidden !important;
  }

  /* Logistics strip */
  .qp-logistics-strip-v41{
    margin-top:10px !important;
    background:#fff !important;
    border:1px solid #e6e1ec !important;
    border-radius:12px !important;
    overflow-x:auto !important;
  }

  /* Remove any accidental raw button look from dashboard controls */
  .qp-desktop-dashboard-v41 button{
    font-family:inherit !important;
    outline:none !important;
  }

  /* Bottom nav */
  .qp-mobile-bottom-nav{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    height:62px !important;
    min-height:62px !important;
    background:#fff !important;
    border-top:1px solid #e7e2eb !important;
  }

  .qp-mobile-bottom-nav button{
    border:0 !important;
    background:transparent !important;
    color:#33283d !important;
    height:62px !important;
    padding:5px 2px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:2px !important;
  }

  /* Do not show phone-only home blocks on tablet */
  .qp-mobile-marketplace-v35,
  .qp-mobile-marketplace-v36,
  .qp-mobile-marketplace-head,
  .qp-mobile-primary-nav{
    display:none !important;
  }

  /* Ensure no mystery top blank zone */
  .main,
  .content,
  #page-dashboard{
    margin-top:0 !important;
    padding-top:0 !important;
  }
}

@media (min-width:701px) and (max-width:760px){
  .qp-dash-lower-grid-v41,
  .qp-dash-v41-rail{
    grid-template-columns:1fr !important;
  }

  .qp-dash-lower-grid-v41 > *:last-child{
    grid-column:auto !important;
  }
}




/* =========================================================
   QPROCURE V156 - TABLET VERIFIED + TRENDING PANELS
   Fixes overflowing Verified Companies and oversized Trending cards
   at 701px–900px tablet widths.
   ========================================================= */

@media (min-width:701px) and (max-width:900px){

  /* Lower dashboard cards: keep equal clean heights */
  .qp-dash-lower-grid-v41{
    align-items:stretch !important;
  }

  .qp-dash-lower-grid-v41 > *{
    min-height:260px !important;
    height:260px !important;
    overflow:hidden !important;
    background:#fff !important;
  }

  /* VERIFIED COMPANIES ----------------------------------- */
  .qp-verified-list-v41,
  .qp-verified-companies-v41,
  [class*="verified-compan"]{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  /* Empty verified state */
  .qp-verified-empty-v41,
  [class*="verified"][class*="empty"]{
    min-height:190px !important;
    height:190px !important;
    padding:18px 14px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:7px !important;
    overflow:hidden !important;
  }

  .qp-verified-empty-v41 h4,
  .qp-verified-empty-v41 b,
  [class*="verified"][class*="empty"] h4,
  [class*="verified"][class*="empty"] b{
    margin:0 !important;
    font-size:13px !important;
    line-height:1.2 !important;
    white-space:normal !important;
  }

  .qp-verified-empty-v41 p,
  .qp-verified-empty-v41 small,
  [class*="verified"][class*="empty"] p,
  [class*="verified"][class*="empty"] small{
    display:block !important;
    margin:0 auto !important;
    max-width:250px !important;
    font-size:9px !important;
    line-height:1.35 !important;
    color:#777080 !important;
    white-space:normal !important;
  }

  .qp-verified-empty-v41 button,
  [class*="verified"][class*="empty"] button{
    min-height:30px !important;
    padding:0 11px !important;
    border:1px solid #5b17a4 !important;
    border-radius:7px !important;
    background:#fff !important;
    color:#5b17a4 !important;
    font-size:9px !important;
    font-weight:700 !important;
  }

  /* Actual verified supplier cards */
  .qp-verified-card-v41,
  [class*="verified-company-card"],
  [class*="verified-supplier-card"]{
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) !important;
    align-items:center !important;
    gap:8px !important;
    width:100% !important;
    min-width:0 !important;
    padding:8px !important;
    margin:0 0 7px !important;
    border:1px solid #eee9f3 !important;
    border-radius:9px !important;
    overflow:hidden !important;
  }

  .qp-verified-card-v41 img,
  [class*="verified-company-card"] img,
  [class*="verified-supplier-card"] img{
    width:42px !important;
    height:42px !important;
    object-fit:contain !important;
    border-radius:8px !important;
  }

  /* TRENDING PRODUCTS / DEALS ---------------------------- */
  .qp-trending-products-v41,
  .qp-trending-list-v41,
  [class*="trending-product"],
  [class*="trending-deal"]{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  /* Trending wrapper should scroll horizontally instead of stretching vertically */
  .qp-trending-row-v41,
  .qp-trending-products-row-v41,
  [class*="trending"][class*="row"]{
    display:grid !important;
    grid-auto-flow:column !important;
    grid-auto-columns:minmax(120px,145px) !important;
    gap:8px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:10px !important;
    height:205px !important;
    min-height:205px !important;
    align-items:start !important;
    scrollbar-width:thin !important;
  }

  /* Trending product card */
  .qp-trending-card-v41,
  [class*="trending-card"],
  [class*="deal-card"]{
    width:100% !important;
    min-width:0 !important;
    height:180px !important;
    min-height:180px !important;
    max-height:180px !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    border:1px solid #eee9f3 !important;
    border-radius:9px !important;
    background:#fff !important;
  }

  .qp-trending-card-v41 img,
  [class*="trending-card"] img,
  [class*="deal-card"] img{
    width:100% !important;
    height:112px !important;
    min-height:112px !important;
    max-height:112px !important;
    object-fit:contain !important;
    object-position:center !important;
    background:#f7f7f9 !important;
    display:block !important;
  }

  /* Prevent any raw oversized image directly inside Trending panel */
  .qp-dash-lower-grid-v41 img{
    max-width:100% !important;
  }

  .qp-dash-lower-grid-v41 > *:nth-child(2) img{
    object-fit:contain !important;
    max-height:125px !important;
  }

  /* Deal discount badge */
  .qp-trending-card-v41 [class*="discount"],
  [class*="trending-card"] [class*="discount"],
  [class*="deal-card"] [class*="discount"]{
    font-size:8px !important;
    padding:2px 4px !important;
  }

  /* Card text */
  .qp-trending-card-v41 h4,
  .qp-trending-card-v41 h3,
  [class*="trending-card"] h4,
  [class*="trending-card"] h3,
  [class*="deal-card"] h4,
  [class*="deal-card"] h3{
    margin:5px 7px 1px !important;
    font-size:10px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .qp-trending-card-v41 p,
  .qp-trending-card-v41 small,
  [class*="trending-card"] p,
  [class*="trending-card"] small,
  [class*="deal-card"] p,
  [class*="deal-card"] small{
    margin:1px 7px !important;
    font-size:8px !important;
    line-height:1.2 !important;
  }

  /* Generic protection for the two first lower panels */
  .qp-dash-lower-grid-v41 > :nth-child(1),
  .qp-dash-lower-grid-v41 > :nth-child(2){
    overflow:hidden !important;
  }

  .qp-dash-lower-grid-v41 > :nth-child(1) > *,
  .qp-dash-lower-grid-v41 > :nth-child(2) > *{
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}

@media (min-width:701px) and (max-width:760px){
  .qp-dash-lower-grid-v41 > *{
    height:auto !important;
    min-height:230px !important;
  }

  .qp-trending-row-v41,
  .qp-trending-products-row-v41,
  [class*="trending"][class*="row"]{
    grid-auto-columns:minmax(115px,135px) !important;
  }
}




/* =========================================================
   QPROCURE V157 - PRECISE TABLET DASHBOARD PANELS
   Exact classes from qprocure-live.js.
   Applies through 1100px so 910/1024px tablets are included.
   ========================================================= */

@media (min-width:701px) and (max-width:1100px){

  /* Lower dashboard grid */
  .qp-dash-lower-grid-v41{
    display:grid !important;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr) !important;
    gap:10px !important;
    align-items:stretch !important;
    width:100% !important;
  }

  .qp-dash-lower-grid-v41 > section{
    min-width:0 !important;
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
    overflow:hidden !important;
    background:#fff !important;
    border:1px solid #e4e0e9 !important;
    border-radius:12px !important;
  }

  .qp-dash-lower-grid-v41 > .qp-latest-tenders-v41{
    grid-column:1 / -1 !important;
    height:auto !important;
    min-height:150px !important;
    max-height:none !important;
  }

  /* Shared panel header */
  .qp-dash-lower-grid-v41 .qp-panel-head-v41{
    height:46px !important;
    min-height:46px !important;
    padding:0 10px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    border-bottom:1px solid #ece8f0 !important;
    background:#fff !important;
  }

  .qp-dash-lower-grid-v41 .qp-panel-head-v41 h3{
    margin:0 !important;
    font-size:15px !important;
    line-height:1.1 !important;
    font-weight:800 !important;
    color:#201828 !important;
  }

  .qp-dash-lower-grid-v41 .qp-panel-head-v41 > button{
    border:0 !important;
    background:transparent !important;
    color:#5b17a4 !important;
    padding:4px !important;
    font-size:9px !important;
    font-weight:700 !important;
    min-height:0 !important;
    height:auto !important;
    width:auto !important;
  }

  /* VERIFIED COMPANIES - exact markup */
  .qp-company-list-v41{
    height:calc(100% - 46px) !important;
    min-height:0 !important;
    padding:10px !important;
    overflow:auto !important;
    background:#fff !important;
  }

  .qp-company-list-v41 > button{
    position:relative !important;
    width:100% !important;
    min-height:62px !important;
    margin:0 0 8px !important;
    padding:8px !important;
    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:8px !important;
    border:1px solid #e9e4ee !important;
    border-radius:10px !important;
    background:#fff !important;
    text-align:left !important;
    box-shadow:none !important;
  }

  .qp-company-list-v41 .logo{
    width:42px !important;
    height:42px !important;
    border-radius:8px !important;
  }

  .qp-company-list-v41 .info{
    min-width:0 !important;
  }

  .qp-company-list-v41 .info b{
    display:block !important;
    font-size:11px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .qp-company-list-v41 .info small{
    display:block !important;
    margin-top:3px !important;
    font-size:8px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .qp-company-list-v41 em{
    position:static !important;
    align-self:center !important;
    font-size:7px !important;
    padding:3px 5px !important;
  }

  .qp-company-list-v41 i{
    display:none !important;
  }

  .qp-empty-verified-v48{
    height:100% !important;
    min-height:0 !important;
    padding:14px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    text-align:center !important;
  }

  .qp-empty-verified-v48 > span{
    width:36px !important;
    height:36px !important;
    margin:0 0 2px !important;
    font-size:18px !important;
  }

  .qp-empty-verified-v48 b{
    margin:0 !important;
    font-size:11px !important;
  }

  .qp-empty-verified-v48 small{
    max-width:240px !important;
    font-size:8px !important;
    line-height:1.35 !important;
  }

  .qp-empty-verified-v48 button{
    margin-top:4px !important;
    min-height:28px !important;
    padding:0 10px !important;
    border:1px solid #5b17a4 !important;
    border-radius:6px !important;
    background:#fff !important;
    color:#5b17a4 !important;
    font-size:8px !important;
    font-weight:700 !important;
  }

  /* TRENDING - exact direct child buttons */
  .qp-trending-v41{
    overflow:hidden !important;
  }

  .qp-trending-row-v41{
    display:grid !important;
    grid-auto-flow:column !important;
    grid-auto-columns:126px !important;
    grid-template-columns:none !important;
    gap:8px !important;
    width:100% !important;
    height:calc(100% - 46px) !important;
    min-height:0 !important;
    padding:9px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    align-items:start !important;
    background:#fff !important;
    scrollbar-width:thin !important;
  }

  .qp-trending-row-v41 > button{
    position:relative !important;
    width:126px !important;
    min-width:126px !important;
    max-width:126px !important;
    height:184px !important;
    min-height:184px !important;
    max-height:184px !important;
    margin:0 !important;
    padding:6px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:2px !important;
    border:1px solid #e7e3eb !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#211829 !important;
    text-align:left !important;
    box-shadow:none !important;
    overflow:hidden !important;
    font-family:inherit !important;
  }

  .qp-trending-row-v41 > button .discount{
    position:absolute !important;
    top:5px !important;
    left:5px !important;
    z-index:2 !important;
    padding:2px 4px !important;
    border-radius:4px !important;
    background:#e93238 !important;
    color:#fff !important;
    font-size:7px !important;
    line-height:1 !important;
  }

  .qp-trending-row-v41 > button .photo{
    width:100% !important;
    height:98px !important;
    min-height:98px !important;
    max-height:98px !important;
    margin:0 0 4px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-radius:6px !important;
    background:#f5f4f7 !important;
  }

  .qp-trending-row-v41 > button .photo img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
  }

  .qp-trending-row-v41 > button > b{
    display:block !important;
    margin:0 !important;
    font-size:9px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .qp-trending-row-v41 > button > strong{
    display:block !important;
    margin:1px 0 0 !important;
    color:#5b17a4 !important;
    font-size:10px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
  }

  .qp-trending-row-v41 > button > small{
    display:block !important;
    margin:0 !important;
    color:#8b8492 !important;
    font-size:7px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .qp-trending-row-v41 > button > em{
    display:inline-flex !important;
    align-self:flex-start !important;
    margin-top:2px !important;
    padding:2px 4px !important;
    border-radius:4px !important;
    background:#eaf8ef !important;
    color:#148a50 !important;
    font-style:normal !important;
    font-size:7px !important;
    line-height:1 !important;
  }

  /* LATEST TENDERS - exact markup */
  .qp-latest-tenders-v41{
    overflow:hidden !important;
  }

  .qp-tender-mini-list-v41{
    padding:8px 10px 4px !important;
  }

  .qp-tender-mini-list-v41 .panel{
    min-height:58px !important;
    padding:16px !important;
    display:flex !important;
    align-items:center !important;
    border:1px solid #e9e5ed !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#29212f !important;
    font-size:11px !important;
  }

  .qp-tender-mini-list-v41 > button{
    width:100% !important;
    min-height:52px !important;
    padding:7px !important;
    display:grid !important;
    grid-template-columns:20px minmax(0,1fr) auto !important;
    gap:7px !important;
    align-items:center !important;
    border:0 !important;
    border-bottom:1px solid #eeeaf1 !important;
    background:#fff !important;
    text-align:left !important;
    font-family:inherit !important;
  }

  .qp-purple-wide-v41{
    display:block !important;
    width:calc(100% - 20px) !important;
    min-height:32px !important;
    margin:6px 10px 10px !important;
    padding:0 10px !important;
    border:0 !important;
    border-radius:7px !important;
    background:#5b17a4 !important;
    color:#fff !important;
    font-family:inherit !important;
    font-size:9px !important;
    font-weight:700 !important;
    text-align:center !important;
  }
}

/* Stack lower panels on smaller portrait tablets */
@media (min-width:701px) and (max-width:820px){
  .qp-dash-lower-grid-v41{
    grid-template-columns:1fr !important;
  }

  .qp-dash-lower-grid-v41 > section{
    height:auto !important;
    min-height:220px !important;
    max-height:none !important;
  }

  .qp-dash-lower-grid-v41 > .qp-latest-tenders-v41{
    grid-column:auto !important;
  }

  .qp-trending-row-v41{
    height:205px !important;
  }
}




/* =========================================================
   QPROCURE V158 - TABLET LIVE AUCTIONS + BOOK A TRUCK
   Exact dashboard classes from qprocure-live.js
   ========================================================= */

@media (min-width:701px) and (max-width:1100px){

  /* LIVE AUCTIONS --------------------------------------- */
  .qp-auctions-v41{
    min-width:0 !important;
    min-height:250px !important;
    height:250px !important;
    max-height:250px !important;
    overflow:hidden !important;
    background:#fff !important;
    border:1px solid #e4e0e9 !important;
    border-radius:12px !important;
  }

  .qp-auctions-v41 .qp-panel-head-v41{
    height:46px !important;
    min-height:46px !important;
    padding:0 10px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    border-bottom:1px solid #ece8f0 !important;
    background:#fff !important;
  }

  .qp-auctions-v41 .qp-panel-head-v41 h3{
    margin:0 !important;
    font-size:15px !important;
    line-height:1.1 !important;
    font-weight:800 !important;
  }

  .qp-auction-mini-list-v41{
    height:158px !important;
    min-height:158px !important;
    max-height:158px !important;
    padding:8px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    background:#fff !important;
  }

  .qp-auction-mini-list-v41 > button{
    width:100% !important;
    min-width:0 !important;
    min-height:48px !important;
    margin:0 0 6px !important;
    padding:5px !important;
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr) auto !important;
    gap:7px !important;
    align-items:center !important;
    border:1px solid #eee9f2 !important;
    border-radius:8px !important;
    background:#fff !important;
    text-align:left !important;
    font-family:inherit !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  .qp-auction-mini-list-v41 > button .photo{
    width:44px !important;
    height:38px !important;
    min-width:44px !important;
    border-radius:6px !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#f7f6f8 !important;
  }

  .qp-auction-mini-list-v41 > button .photo img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
  }

  .qp-auction-mini-list-v41 > button > span:nth-child(2){
    min-width:0 !important;
  }

  .qp-auction-mini-list-v41 > button > span:nth-child(2) b{
    display:block !important;
    font-size:9px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .qp-auction-mini-list-v41 > button > span:nth-child(2) small,
  .qp-auction-mini-list-v41 > button > span:nth-child(2) strong{
    display:block !important;
    margin-top:1px !important;
    font-size:7px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
  }

  .qp-auction-mini-list-v41 .bid{
    min-width:58px !important;
    text-align:right !important;
  }

  .qp-auction-mini-list-v41 .bid em,
  .qp-auction-mini-list-v41 .bid small,
  .qp-auction-mini-list-v41 .bid b{
    display:block !important;
    white-space:nowrap !important;
  }

  .qp-auction-mini-list-v41 .bid em{
    color:#15945a !important;
    font-size:7px !important;
    font-style:normal !important;
  }

  .qp-auction-mini-list-v41 .bid small{
    font-size:6.5px !important;
    color:#8a8390 !important;
  }

  .qp-auction-mini-list-v41 .bid b{
    margin-top:1px !important;
    font-size:8px !important;
    color:#2b2133 !important;
  }

  .qp-auctions-v41 .qp-purple-wide-v41{
    height:30px !important;
    min-height:30px !important;
    margin:5px 8px 8px !important;
    width:calc(100% - 16px) !important;
    padding:0 8px !important;
    border:0 !important;
    border-radius:6px !important;
    background:#5b17a4 !important;
    color:#fff !important;
    font-size:8px !important;
    font-weight:700 !important;
    font-family:inherit !important;
  }

  .qp-auction-mini-list-v41 .panel{
    min-height:110px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:14px !important;
    border:1px solid #eee9f2 !important;
    border-radius:8px !important;
    background:#fff !important;
    font-size:10px !important;
    color:#5d5664 !important;
  }

  /* BOOK A TRUCK --------------------------------------- */
  .qp-logistics-strip-v41{
    display:grid !important;
    grid-template-columns:170px minmax(0,1.6fr) minmax(150px,.8fr) !important;
    grid-template-areas:
      "intro trucks proof"
      "intro trust trust" !important;
    gap:8px !important;
    width:100% !important;
    min-height:170px !important;
    margin-top:10px !important;
    padding:10px !important;
    overflow:hidden !important;
    background:#fff !important;
    border:1px solid #e4e0e9 !important;
    border-radius:12px !important;
  }

  .qp-logistics-strip-v41 .intro{
    grid-area:intro !important;
    min-width:0 !important;
    padding:8px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    border-right:1px solid #eee9f2 !important;
  }

  .qp-logistics-strip-v41 .intro h3{
    margin:0 0 5px !important;
    font-size:14px !important;
    line-height:1.15 !important;
    color:#5b17a4 !important;
  }

  .qp-logistics-strip-v41 .intro p{
    margin:0 0 8px !important;
    font-size:8px !important;
    line-height:1.35 !important;
    color:#7c7484 !important;
  }

  .qp-logistics-strip-v41 .intro button{
    align-self:flex-start !important;
    min-height:28px !important;
    padding:0 9px !important;
    border:0 !important;
    border-radius:6px !important;
    background:#5b17a4 !important;
    color:#fff !important;
    font-size:8px !important;
    font-weight:700 !important;
    font-family:inherit !important;
  }

  .qp-logistics-strip-v41 .trucks{
    grid-area:trucks !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:repeat(5,minmax(72px,1fr)) !important;
    gap:6px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:0 !important;
    align-items:stretch !important;
  }

  .qp-logistics-strip-v41 .trucks > button{
    min-width:72px !important;
    height:84px !important;
    padding:6px 4px !important;
    border:1px solid #eee9f2 !important;
    border-radius:8px !important;
    background:#fff !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:2px !important;
    font-family:inherit !important;
    text-align:center !important;
    box-shadow:none !important;
  }

  .qp-logistics-strip-v41 .trucks > button > span{
    font-size:22px !important;
    line-height:1 !important;
  }

  .qp-logistics-strip-v41 .trucks > button > b{
    font-size:8px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    max-width:68px !important;
  }

  .qp-logistics-strip-v41 .trucks > button > small{
    font-size:6.5px !important;
    line-height:1.1 !important;
    color:#847c8a !important;
  }

  .delivery-proof-v41{
    grid-area:proof !important;
    min-width:0 !important;
    min-height:84px !important;
    padding:8px !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    border:1px solid #eee9f2 !important;
    border-radius:8px !important;
    background:#fff !important;
  }

  .delivery-proof-v41 > span{
    font-size:26px !important;
    line-height:1 !important;
  }

  .delivery-proof-v41 b{
    display:block !important;
    font-size:8px !important;
    line-height:1.2 !important;
  }

  .delivery-proof-v41 small{
    display:block !important;
    margin-top:3px !important;
    font-size:6px !important;
    line-height:1.25 !important;
    color:#8a8290 !important;
  }

  .trust-v41{
    grid-area:trust !important;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:5px !important;
    min-width:0 !important;
  }

  .trust-v41 > span{
    min-width:0 !important;
    min-height:56px !important;
    padding:5px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:1px !important;
    text-align:center !important;
    border:1px solid #f0ecf3 !important;
    border-radius:7px !important;
  }

  .trust-v41 > span > b{
    display:block !important;
    margin-top:2px !important;
    font-size:7px !important;
    line-height:1.1 !important;
  }

  .trust-v41 > span > small{
    display:block !important;
    font-size:5.8px !important;
    line-height:1.1 !important;
    color:#8b8391 !important;
  }
}

/* Portrait tablet: stack logistics more cleanly */
@media (min-width:701px) and (max-width:820px){
  .qp-auctions-v41{
    height:auto !important;
    min-height:235px !important;
    max-height:none !important;
  }

  .qp-logistics-strip-v41{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "intro"
      "trucks"
      "proof"
      "trust" !important;
    min-height:0 !important;
  }

  .qp-logistics-strip-v41 .intro{
    border-right:0 !important;
    border-bottom:1px solid #eee9f2 !important;
  }

  .qp-logistics-strip-v41 .trucks{
    grid-template-columns:repeat(5,minmax(76px,1fr)) !important;
  }

  .trust-v41{
    grid-template-columns:repeat(4,minmax(76px,1fr)) !important;
    overflow-x:auto !important;
  }
}




/* =========================================================
   QPROCURE V160 - CONNECTED LOGISTICS PAGE
   ========================================================= */
.qp-log-page-v160{padding:16px 18px 30px;background:#f7f8fc;min-height:100vh;color:#20152c}
.qp-log-title-row-v160 h1{margin:0;font-size:26px}.qp-log-title-row-v160 p{margin:5px 0 12px;color:#756b7f}
.qp-log-tabs-v160{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}
.qp-log-tabs-v160 button{min-height:82px;border:1px solid #e7e2ec;border-radius:10px;background:#fff;padding:12px;text-align:left;display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:10px;cursor:pointer}
.qp-log-tabs-v160 button>span{grid-row:1/3;font-size:25px}.qp-log-tabs-v160 b{font-size:12px}.qp-log-tabs-v160 small{font-size:9px;color:#80768b}
.qp-log-layout-v160{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px}.qp-log-layout-v160 main,.qp-log-side-v160{display:grid;gap:12px;align-content:start}
.qp-log-panel-v160,.qp-log-route-v160{background:#fff;border:1px solid #e7e2ec;border-radius:12px;overflow:hidden}
.qp-log-panel-head-v160{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid #eeeaf1}.qp-log-panel-head-v160 h2{margin:0;font-size:14px}.qp-log-panel-head-v160 button,.qp-log-panel-head-v160 select{border:0;background:transparent;color:#5b17a4;font-size:9px;font-weight:700}
.qp-log-search-grid-v160{display:grid;grid-template-columns:1fr 38px 1fr 1fr 1fr auto;gap:8px;padding:14px}.qp-log-search-grid-v160 label{display:grid;gap:5px;font-size:9px;font-weight:700}.qp-log-search-grid-v160 input,.qp-log-search-grid-v160 select{height:38px;border:1px solid #ddd7e4;border-radius:7px;padding:0 9px;font:inherit}.qp-log-swap-v160{align-self:end;height:38px;border:0;background:#f4f0f8;border-radius:7px}.qp-log-primary-v160{align-self:end;height:38px;border:0;border-radius:7px;background:#5b17a4;color:#fff;padding:0 15px;font-weight:700}
.qp-log-route-v160{display:grid;grid-template-columns:270px 1fr;min-height:235px}.qp-log-route-copy-v160{padding:18px}.qp-log-route-copy-v160>small{font-weight:700}.qp-log-route-copy-v160 h3{font-size:16px}.qp-log-route-stats-v160{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}.qp-log-route-stats-v160 span{display:grid;font-size:11px}.qp-log-route-stats-v160 small{color:#706878;margin-top:3px}.qp-log-route-copy-v160 button{border:0;background:transparent;color:#5b17a4;font-size:9px;font-weight:700}.qp-log-map-v160{min-height:235px}
.qp-log-filter-tabs-v160{display:flex;gap:20px;padding:10px 15px;border-bottom:1px solid #eeeaf1}.qp-log-filter-tabs-v160 button{border:0;background:transparent;padding:7px 0;font-size:9px}.qp-log-filter-tabs-v160 button.active{color:#5b17a4;border-bottom:2px solid #5b17a4;font-weight:700}
.qp-log-truck-grid-v160{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px}.qp-log-truck-card-v160{position:relative;border:1px solid #e7e2ec;border-radius:10px;overflow:hidden;background:#fff}.qp-log-heart-v160{position:absolute;right:7px;top:7px;width:26px;height:26px;border-radius:50%;border:1px solid #ddd5e4;background:#fff;z-index:2}.qp-log-truck-photo-v160{height:125px;background:#f5f4f7;display:flex;align-items:center;justify-content:center;overflow:hidden}.qp-log-truck-photo-v160 img{width:100%;height:100%;object-fit:cover}.qp-log-truck-photo-v160 span{font-size:50px}.qp-log-truck-info-v160{padding:9px;display:grid;gap:4px}.qp-log-truck-info-v160>div{display:flex;justify-content:space-between;gap:6px}.qp-log-truck-info-v160 b{font-size:10px}.qp-log-truck-info-v160 small{font-size:8px;color:#7d7485}.qp-log-truck-info-v160 strong{font-size:13px}.qp-log-truck-info-v160 em{justify-self:start;padding:3px 5px;border-radius:5px;font-size:7px;font-style:normal;background:#eaf8ef;color:#168753}.qp-log-truck-info-v160 em.busy{background:#fff0e6;color:#ad5d16}.qp-log-truck-info-v160 p{font-size:8px;margin:0;color:#766e7d}.qp-log-truck-info-v160 button{height:30px;border:1px solid #5b17a4;border-radius:6px;background:#fff;color:#5b17a4;font-size:8px;font-weight:700}.qp-log-truck-info-v160 button:disabled{opacity:.5}
.qp-log-wallet-v160{background:linear-gradient(135deg,#35105f,#6b1cb2);border-radius:12px;color:#fff;padding:16px;display:grid;gap:6px}.qp-log-wallet-v160>small{font-weight:700}.qp-log-wallet-v160>span{font-size:9px;opacity:.8}.qp-log-wallet-v160>strong{font-size:21px}.qp-log-wallet-v160>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.qp-log-wallet-v160 button{height:32px;border:1px solid rgba(255,255,255,.5);border-radius:6px;background:rgba(255,255,255,.12);color:#fff;font-size:8px}
.qp-log-active-v160{padding:12px}.qp-log-active-card-v160{display:grid;gap:8px}.qp-log-active-card-v160>b{font-size:13px}.qp-log-active-card-v160>em{justify-self:end;margin-top:-30px;background:#e9f8ef;color:#148b51;padding:4px 6px;border-radius:6px;font-size:8px;font-style:normal}.qp-log-active-card-v160>div{padding:10px 0;border-top:1px solid #eeeaf1}.qp-log-active-card-v160 p{display:grid;grid-template-columns:1fr 1fr;gap:8px}.qp-log-active-card-v160 p span{font-size:8px;color:#7d7485}.qp-log-active-card-v160 p b{display:block;color:#271c30;margin-top:3px}.qp-log-active-card-v160 button{height:34px;border:1px solid #5b17a4;border-radius:6px;background:#fff;color:#5b17a4;font-weight:700;font-size:8px}
.qp-log-stats-v160{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.qp-log-stats-v160 span{border:1px solid #eee9f2;border-radius:8px;padding:10px;display:grid}.qp-log-stats-v160 b{font-size:15px}.qp-log-stats-v160 small{font-size:8px;color:#756d7c}
.qp-log-rate-card-v160{padding:8px 12px}.qp-log-rate-card-v160>div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #f0edf3;font-size:8px}.qp-log-rate-card-v160 b{font-size:8px}
.qp-log-my-bookings-v160{padding:10px}.qp-log-booking-row-v160{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:center;padding:9px;border-bottom:1px solid #eeeaf1}.qp-log-booking-row-v160 b{display:block;font-size:9px}.qp-log-booking-row-v160 small,.qp-log-booking-row-v160 span{font-size:8px}.qp-log-booking-row-v160 em{font-size:7px;font-style:normal;background:#f0e8fa;color:#5b17a4;padding:4px 5px;border-radius:5px}
.qp-log-modal-v160{position:fixed;inset:0;z-index:99999;background:rgba(20,14,29,.52);display:flex;align-items:center;justify-content:center;padding:18px}.qp-log-modal-card-v160{width:min(680px,96vw);background:#fff;border-radius:12px;overflow:hidden}.qp-log-modal-head-v160{display:flex;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eeeaf1}.qp-log-modal-head-v160 h3,.qp-log-modal-head-v160 p{margin:0}.qp-log-modal-head-v160 p{font-size:9px;color:#756d7c;margin-top:3px}.qp-log-modal-head-v160 button{border:0;background:transparent;font-size:24px}.qp-log-form-v160{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}.qp-log-form-v160 label{display:grid;gap:5px;font-size:9px;font-weight:700}.qp-log-form-v160 input,.qp-log-form-v160 textarea{border:1px solid #ddd7e4;border-radius:7px;padding:9px;font:inherit}.qp-log-form-v160 textarea{min-height:70px}.qp-log-form-v160 .wide{grid-column:1/-1}.qp-log-modal-status-v160{padding:0 14px 8px;font-size:9px}.qp-log-modal-status-v160.success{color:#168753}.qp-log-modal-status-v160.error{color:#b42318}.qp-log-modal-foot-v160{display:flex;justify-content:flex-end;padding:12px 14px;border-top:1px solid #eeeaf1}.qp-log-modal-foot-v160 button{height:34px;border:0;border-radius:6px;background:#5b17a4;color:#fff;padding:0 14px;font-weight:700}
@media(max-width:1100px){.qp-log-layout-v160{grid-template-columns:1fr}.qp-log-side-v160{grid-template-columns:1fr 1fr}.qp-log-tabs-v160{grid-template-columns:repeat(3,1fr)}.qp-log-truck-grid-v160{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.qp-log-search-grid-v160{grid-template-columns:1fr 36px 1fr}.qp-log-search-grid-v160 label:nth-of-type(3),.qp-log-search-grid-v160 label:nth-of-type(4),.qp-log-primary-v160{grid-column:auto}.qp-log-route-v160{grid-template-columns:1fr}.qp-log-map-v160{min-height:220px}.qp-log-side-v160{grid-template-columns:1fr}.qp-log-truck-grid-v160{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.qp-log-page-v160{padding:10px}.qp-log-tabs-v160{grid-template-columns:1fr 1fr}.qp-log-search-grid-v160{grid-template-columns:1fr}.qp-log-swap-v160{display:none}.qp-log-truck-grid-v160{grid-template-columns:1fr 1fr}.qp-log-truck-photo-v160{height:100px}.qp-log-booking-row-v160{grid-template-columns:1fr 1fr}.qp-log-form-v160{grid-template-columns:1fr}}




/* =========================================================
   QPROCURE V161 - CONNECTED RFQ PAGE
   ========================================================= */
.qp-rfq-page-v161{padding:16px 18px 30px;background:#f7f8fc;min-height:100vh;color:#23172f}
.qp-rfq-head-v161{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.qp-rfq-head-v161 h1{margin:0;font-size:26px}.qp-rfq-head-v161 p{margin:5px 0 0;color:#746b7d;font-size:11px}.qp-rfq-primary-v161{height:38px;border:0;border-radius:7px;background:#5b17a4;color:#fff;padding:0 15px;font-weight:700}
.qp-rfq-stats-v161{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.qp-rfq-stats-v161 span{background:#fff;border:1px solid #e6e2eb;border-radius:10px;padding:12px;display:grid}.qp-rfq-stats-v161 b{font-size:20px}.qp-rfq-stats-v161 small{font-size:8px;color:#7d7486;margin-top:2px}
.qp-rfq-tabs-v161{display:flex;gap:5px;margin-bottom:10px}.qp-rfq-tabs-v161 button{height:34px;border:1px solid #dfd9e5;border-radius:7px;background:#fff;padding:0 13px;color:#493d50;font-size:9px;font-weight:700}.qp-rfq-tabs-v161 button.active{background:#5b17a4;color:#fff;border-color:#5b17a4}
.qp-rfq-searchbar-v161{display:grid;grid-template-columns:minmax(0,1fr) 200px 150px auto;gap:7px;background:#fff;border:1px solid #e6e2eb;border-radius:10px;padding:10px;margin-bottom:12px}.qp-rfq-searchbar-v161 input,.qp-rfq-searchbar-v161 select{height:38px;border:1px solid #ddd7e4;border-radius:7px;padding:0 9px;font:inherit}.qp-rfq-searchbar-v161 button{height:38px;border:0;border-radius:7px;background:#5b17a4;color:#fff;padding:0 15px;font-weight:700}
.qp-rfq-layout-v161{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px}.qp-rfq-list-v161{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qp-rfq-card-v161,.qp-rfq-quote-card-v161{background:#fff;border:1px solid #e6e2eb;border-radius:11px;padding:12px;display:grid;gap:8px;min-width:0}.qp-rfq-card-top-v161{display:flex;justify-content:space-between;gap:8px}.qp-rfq-card-top-v161>div{display:flex;gap:6px;align-items:center}.qp-rfq-card-top-v161 span{font-size:7px;font-weight:800;background:#f0e8fa;color:#5b17a4;padding:4px 5px;border-radius:5px}.qp-rfq-card-top-v161 small{font-size:8px;color:#8a8190}.qp-rfq-card-top-v161 em{font-style:normal;font-size:7px;padding:4px 6px;border-radius:5px;background:#eaf8ef;color:#168753}.qp-rfq-card-top-v161 em.closed,.qp-rfq-card-top-v161 em.cancelled{background:#f6ecec;color:#a23d3d}
.qp-rfq-card-v161 h3,.qp-rfq-quote-card-v161 h3{margin:0;font-size:14px;line-height:1.2}.qp-rfq-company-v161{margin:0;font-size:8px;color:#716978}.qp-rfq-desc-v161{margin:0;font-size:9px;line-height:1.35;color:#5f5766;min-height:38px}
.qp-rfq-item-row-v161{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:6px;padding:8px;background:#faf9fc;border-radius:8px}.qp-rfq-item-row-v161 span{display:grid;min-width:0}.qp-rfq-item-row-v161 small{font-size:7px;color:#8b8291}.qp-rfq-item-row-v161 b{font-size:8px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qp-rfq-card-foot-v161{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:3px}.qp-rfq-card-foot-v161>small{font-size:8px;color:#7c7383}.qp-rfq-card-foot-v161 button{height:30px;border:1px solid #5b17a4;border-radius:6px;background:#fff;color:#5b17a4;padding:0 10px;font-size:8px;font-weight:700}.qp-rfq-card-foot-v161 button.primary{background:#5b17a4;color:#fff}.qp-rfq-quote-count-v161{display:flex;align-items:baseline;gap:4px}.qp-rfq-quote-count-v161 b{font-size:15px}.qp-rfq-quote-count-v161 small{font-size:7px;color:#7d7485}
.qp-rfq-quote-price-v161{font-size:20px;font-weight:800;color:#5b17a4}
.qp-rfq-side-v161{display:grid;gap:10px;align-content:start}.qp-rfq-side-card-v161{background:#fff;border:1px solid #e6e2eb;border-radius:10px;padding:13px}.qp-rfq-side-card-v161 h3{margin:0 0 9px;font-size:13px}.qp-rfq-side-card-v161>div{display:grid;grid-template-columns:26px 1fr;gap:8px;margin:9px 0}.qp-rfq-side-card-v161>div>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#f0e8fa;color:#5b17a4;font-size:8px;font-weight:800}.qp-rfq-side-card-v161 p{margin:0;font-size:9px;line-height:1.35;color:#6f6677}.qp-rfq-side-card-v161 p b,.qp-rfq-side-card-v161 p small{display:block}.qp-rfq-side-card-v161 p small{margin-top:2px;color:#8a8190}.qp-rfq-side-card-v161 button{width:100%;height:32px;margin-top:9px;border:0;border-radius:6px;background:#5b17a4;color:#fff;font-size:8px;font-weight:700}.qp-rfq-side-card-v161 ul{padding-left:18px;margin:0}.qp-rfq-side-card-v161 li{font-size:8px;margin:6px 0;color:#6e6575}
.qp-rfq-empty-v161{grid-column:1/-1;min-height:200px;background:#fff;border:1px solid #e6e2eb;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px}.qp-rfq-empty-v161 b{font-size:13px}.qp-rfq-empty-v161 small{font-size:9px;color:#7b7282}.qp-rfq-empty-v161 button{height:32px;border:0;border-radius:6px;background:#5b17a4;color:#fff;padding:0 12px;font-size:8px;font-weight:700}
.qp-rfq-compare-v161{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.qp-rfq-compare-v161 article{border:1px solid #e6e2eb;border-radius:9px;padding:11px;display:grid;gap:6px}.qp-rfq-compare-v161 article>div{display:flex;justify-content:space-between}.qp-rfq-compare-v161 article h3{margin:0;font-size:12px}.qp-rfq-compare-v161 article strong{font-size:18px;color:#5b17a4}.qp-rfq-compare-v161 article p,.qp-rfq-compare-v161 article small{margin:0;font-size:8px}
@media(max-width:1100px){.qp-rfq-layout-v161{grid-template-columns:1fr}.qp-rfq-side-v161{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.qp-rfq-list-v161{grid-template-columns:1fr}.qp-rfq-searchbar-v161{grid-template-columns:1fr 1fr}.qp-rfq-side-v161{grid-template-columns:1fr}.qp-rfq-stats-v161{grid-template-columns:1fr 1fr}.qp-rfq-item-row-v161{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.qp-rfq-page-v161{padding:10px}.qp-rfq-head-v161{align-items:flex-start}.qp-rfq-head-v161 h1{font-size:21px}.qp-rfq-searchbar-v161{grid-template-columns:1fr}.qp-rfq-tabs-v161{overflow-x:auto}.qp-rfq-compare-v161{grid-template-columns:1fr}}




/* =========================================================
   QPROCURE V162 - RFQ REFERENCE LAYOUT
   ========================================================= */
.qp-rfq2-page-v162{padding:18px 22px 28px;background:#f7f8fb;min-height:100vh;color:#241830}
.qp-rfq2-head-v162{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.qp-rfq2-head-v162 h1{margin:0;font-size:25px}.qp-rfq2-head-v162 p{margin:5px 0 0;font-size:11px;color:#756d7d}.qp-rfq2-head-actions-v162{display:flex;gap:8px}.qp-rfq2-head-actions-v162 button{height:36px;border:1px solid #ddd6e4;border-radius:7px;background:#fff;padding:0 13px;font-size:9px;font-weight:700}.qp-rfq2-head-actions-v162 button.primary{background:#5b17a4;color:#fff;border-color:#5b17a4}
.qp-rfq2-shell-v162{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:14px}
.qp-rfq2-stats-v162{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid #e7e3eb;border-radius:10px;overflow:hidden;margin-bottom:12px}.qp-rfq2-stats-v162 article{min-height:90px;padding:15px 13px;border-right:1px solid #eeeaf1;display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center}.qp-rfq2-stats-v162 article:last-child{border-right:0}.qp-rfq2-stats-v162 article>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f2ebfb;color:#5b17a4;font-size:18px}.qp-rfq2-stats-v162 article div{display:grid}.qp-rfq2-stats-v162 b{font-size:19px}.qp-rfq2-stats-v162 small{font-size:9px;font-weight:700}.qp-rfq2-stats-v162 em{font-size:7px;color:#8d8494;font-style:normal;margin-top:2px}
.qp-rfq2-main-panel-v162{background:#fff;border:1px solid #e7e3eb;border-radius:10px;overflow:hidden}.qp-rfq2-tabs-v162{display:flex;gap:25px;padding:0 15px;border-bottom:1px solid #eeeaf1}.qp-rfq2-tabs-v162 button{height:48px;border:0;background:transparent;font-size:9px;color:#52485a;position:relative}.qp-rfq2-tabs-v162 button.active{color:#5b17a4;font-weight:700}.qp-rfq2-tabs-v162 button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#5b17a4}
.qp-rfq2-filters-v162{display:grid;grid-template-columns:minmax(0,1fr) 180px 170px auto;gap:8px;padding:12px;border-bottom:1px solid #eeeaf1}.qp-rfq2-filters-v162 .search{position:relative}.qp-rfq2-filters-v162 .search span{position:absolute;right:12px;top:11px;color:#766d7e}.qp-rfq2-filters-v162 input,.qp-rfq2-filters-v162 select,.qp-rfq2-filters-v162>button{height:36px;border:1px solid #ddd7e4;border-radius:7px;background:#fff;padding:0 10px;font:inherit;font-size:9px}.qp-rfq2-filters-v162>button{color:#5b17a4;font-weight:700}
.qp-rfq2-table-wrap-v162{overflow:auto}.qp-rfq2-table-v162{width:100%;border-collapse:collapse;min-width:850px}.qp-rfq2-table-v162 th{padding:10px 12px;background:#faf9fc;border-bottom:1px solid #eeeaf1;text-align:left;font-size:8px}.qp-rfq2-table-v162 td{padding:10px 12px;border-bottom:1px solid #eeeaf1;font-size:8px;vertical-align:middle}.qp-rfq2-detail-v162{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center}.qp-rfq2-detail-v162 .thumb{width:70px;height:55px;border-radius:6px;background:#f4f2f6;display:grid;place-items:center;overflow:hidden}.qp-rfq2-detail-v162 .thumb img{width:100%;height:100%;object-fit:cover}.qp-rfq2-detail-v162 b{display:block;font-size:10px;color:#351058}.qp-rfq2-detail-v162 small{display:block;margin-top:4px;color:#766e7d;white-space:nowrap}
.qp-rfq2-status-v162{display:inline-flex;padding:4px 6px;border-radius:5px;background:#fff4d9;color:#9a6800;font-size:7px;font-weight:700;text-transform:capitalize}.qp-rfq2-status-v162.awarded,.qp-rfq2-status-v162.closed,.qp-rfq2-status-v162.completed{background:#e9f8ef;color:#178851}.qp-rfq2-status-v162.cancelled{background:#fdecec;color:#b84242}.qp-rfq2-table-v162 td>small{display:block;margin-top:4px;color:#8a8191}.qp-rfq2-table-v162 .quote-num{font-size:13px}.qp-rfq2-table-v162 td button{border:0;background:transparent;color:#5b17a4;font-size:7px;font-weight:700}.qp-rfq2-table-v162 .view-btn{height:30px;border:1px solid #ddd6e4;border-radius:6px;background:#fff;color:#5b17a4;padding:0 10px}
.qp-rfq2-footer-v162{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px}.qp-rfq2-footer-v162 small{font-size:8px;color:#817889}.qp-rfq2-pagination-v162{display:flex;gap:4px}.qp-rfq2-pagination-v162 button{width:30px;height:30px;border:1px solid #ddd7e4;border-radius:6px;background:#fff;font-size:8px}.qp-rfq2-pagination-v162 button.active{border-color:#5b17a4;color:#5b17a4}.qp-rfq2-footer-v162 select{height:30px;border:1px solid #ddd7e4;border-radius:6px;background:#fff;font-size:8px}
.qp-rfq2-side-v162{display:grid;gap:12px;align-content:start}.qp-rfq2-side-card-v162{background:#fff;border:1px solid #e7e3eb;border-radius:10px;padding:14px}.qp-rfq2-side-card-v162 h3{margin:0 0 10px;font-size:12px}.qp-rfq2-side-card-v162 .title-row{display:flex;align-items:center;justify-content:space-between}.qp-rfq2-side-card-v162 .title-row button{border:0;background:transparent;color:#5b17a4;font-size:8px;font-weight:700}
.qp-rfq2-donut-v162{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center}.qp-rfq2-donut-v162 .donut{width:100px;height:100px;border-radius:50%;background:conic-gradient(#5b17a4 0 37%,#19a765 37% 62%,#4d88c9 62% 79%,#ef5a5a 79% 100%);position:relative}.qp-rfq2-donut-v162 .donut:after{content:"";position:absolute;inset:24px;border-radius:50%;background:#fff}.qp-rfq2-donut-v162 .legend{display:grid;gap:7px}.qp-rfq2-donut-v162 .legend span{font-size:7px;display:flex;align-items:center;gap:6px}.qp-rfq2-donut-v162 i{width:7px;height:7px;border-radius:50%}.qp-rfq2-donut-v162 .purple{background:#5b17a4}.qp-rfq2-donut-v162 .green{background:#19a765}.qp-rfq2-donut-v162 .blue{background:#4d88c9}.qp-rfq2-donut-v162 .red{background:#ef5a5a}
.qp-rfq2-activity-v162{display:grid}.qp-rfq2-activity-v162>div{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid #eeeaf1}.qp-rfq2-activity-v162>div>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f0e8fa;color:#5b17a4}.qp-rfq2-activity-v162 p{margin:0}.qp-rfq2-activity-v162 b,.qp-rfq2-activity-v162 small{display:block}.qp-rfq2-activity-v162 b{font-size:8px}.qp-rfq2-activity-v162 small{font-size:7px;color:#81788a;margin-top:3px}
.qp-rfq2-templates-v162{display:grid}.qp-rfq2-templates-v162 button{height:32px;border:0;border-bottom:1px solid #eeeaf1;background:#fff;text-align:left;font-size:8px}.qp-rfq2-side-card-v162 .manage{width:100%;height:34px;margin-top:10px;border:1px solid #5b17a4;border-radius:6px;background:#fff;color:#5b17a4;font-size:8px;font-weight:700}
.qp-rfq2-empty-v162{padding:30px;text-align:center}.qp-rfq2-empty-v162 b,.qp-rfq2-empty-v162 small{display:block}.qp-rfq2-empty-v162 small{margin-top:5px;color:#81788a}
.qp-rfq2-detail-modal-v162{display:grid;gap:10px}.qp-rfq2-detail-modal-v162 h3,.qp-rfq2-detail-modal-v162 p{margin:0}.qp-rfq2-detail-modal-v162 p{font-size:9px;color:#6d6574}.qp-rfq2-detail-modal-v162>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.qp-rfq2-detail-modal-v162 span{border:1px solid #eeeaf1;border-radius:8px;padding:8px;display:grid}.qp-rfq2-detail-modal-v162 small{font-size:7px;color:#8b8291}.qp-rfq2-detail-modal-v162 b{font-size:9px;margin-top:3px}.qp-rfq2-detail-modal-v162 button{height:34px;border:0;border-radius:6px;background:#5b17a4;color:#fff;font-weight:700}
.qp-rfq2-template-modal-v162{display:grid;gap:8px}.qp-rfq2-template-modal-v162 button{height:42px;border:1px solid #e6e1ea;border-radius:7px;background:#fff;text-align:left;padding:0 12px}
@media(max-width:1150px){.qp-rfq2-shell-v162{grid-template-columns:1fr}.qp-rfq2-side-v162{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.qp-rfq2-stats-v162{grid-template-columns:repeat(3,1fr)}.qp-rfq2-stats-v162 article:nth-child(3){border-right:0}.qp-rfq2-filters-v162{grid-template-columns:1fr 1fr}.qp-rfq2-side-v162{grid-template-columns:1fr}.qp-rfq2-tabs-v162{overflow-x:auto;gap:18px}.qp-rfq2-head-v162{align-items:flex-start}}
@media(max-width:600px){.qp-rfq2-page-v162{padding:10px}.qp-rfq2-head-v162{display:grid}.qp-rfq2-head-actions-v162{width:100%}.qp-rfq2-head-actions-v162 button{flex:1}.qp-rfq2-stats-v162{grid-template-columns:1fr 1fr}.qp-rfq2-filters-v162{grid-template-columns:1fr}.qp-rfq2-footer-v162{grid-template-columns:1fr}.qp-rfq2-pagination-v162{justify-content:center}}




/* =========================================================
   QPROCURE V166 - AUCTIONS & LIQUIDATIONS
   ========================================================= */
.qp-auctions-page-v166{padding:16px 18px 30px;background:#f7f8fc;min-height:100vh;color:#24182f}
.qp-auctions-head-v166{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:12px}.qp-auctions-head-v166 h1{margin:0;font-size:25px}.qp-auctions-head-v166 p{margin:4px 0 0;font-size:10px;color:#746b7d}.qp-auctions-primary-v166{height:36px;border:1px solid #5b17a4;border-radius:7px;background:#fff;color:#5b17a4;padding:0 13px;font-size:9px;font-weight:700}
.qp-auctions-shell-v166{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px}
.qp-auctions-stats-v166{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid #e6e2eb;border-radius:10px;overflow:hidden;margin-bottom:12px}.qp-auctions-stats-v166 article{min-height:82px;padding:12px;border-right:1px solid #eeeaf1;display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center}.qp-auctions-stats-v166 article:last-child{border-right:0}.qp-auctions-stats-v166 article>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f0e8fa;color:#5b17a4}.qp-auctions-stats-v166 article div{display:grid}.qp-auctions-stats-v166 b{font-size:17px}.qp-auctions-stats-v166 small{font-size:8px;font-weight:700}.qp-auctions-stats-v166 em{font-size:6.5px;color:#8b8292;font-style:normal;margin-top:2px}
.qp-auctions-filterbar-v166{display:grid;grid-template-columns:minmax(0,1fr) 170px 150px 140px auto;gap:7px;background:#fff;border:1px solid #e6e2eb;border-radius:10px;padding:10px;margin-bottom:10px}.qp-auctions-filterbar-v166 .search{position:relative}.qp-auctions-filterbar-v166 .search span{position:absolute;right:10px;top:10px;color:#756d7c}.qp-auctions-filterbar-v166 input,.qp-auctions-filterbar-v166 select,.qp-auctions-filterbar-v166>button{height:34px;border:1px solid #ddd7e4;border-radius:6px;background:#fff;padding:0 9px;font:inherit;font-size:8px}.qp-auctions-filterbar-v166>button{color:#5b17a4;font-weight:700}
.qp-auctions-tabs-v166{display:flex;align-items:center;gap:23px;border-bottom:1px solid #e9e5ed;margin-bottom:9px}.qp-auctions-tabs-v166 button{height:40px;border:0;background:transparent;font-size:8px;position:relative}.qp-auctions-tabs-v166 button.active{color:#5b17a4;font-weight:700}.qp-auctions-tabs-v166 button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#5b17a4}.qp-auctions-tabs-v166 button span{background:#f0e8fa;color:#5b17a4;padding:2px 4px;border-radius:5px}.qp-auctions-tabs-v166 select{margin-left:auto;height:30px;border:1px solid #ddd7e4;border-radius:6px;background:#fff;font-size:7px}
.qp-auctions-list-v166{display:grid;gap:9px}.qp-auction-row-v166{display:grid;grid-template-columns:160px minmax(0,1fr) 210px;gap:12px;background:#fff;border:1px solid #e6e2eb;border-radius:10px;padding:9px}.qp-auction-photo-v166{position:relative;height:118px;border-radius:7px;background:#f4f3f6;display:grid;place-items:center;overflow:hidden}.qp-auction-photo-v166 img{width:100%;height:100%;object-fit:cover}.qp-auction-photo-v166>span{font-size:42px}.qp-auction-photo-v166 em{position:absolute;left:7px;top:7px;background:#20a55a;color:#fff;border-radius:4px;padding:3px 5px;font-size:6px;font-style:normal;font-weight:800}
.qp-auction-copy-v166{min-width:0}.qp-auction-copy-v166 h3{margin:4px 0;font-size:12px}.qp-auction-copy-v166>p{margin:0;font-size:7px;color:#77707e}.qp-auction-copy-v166>small{display:block;margin-top:8px;font-size:8px;color:#645c6b;line-height:1.3}.qp-auction-meta-v166{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.qp-auction-meta-v166 span{display:grid;font-size:7px}.qp-auction-meta-v166 b{font-size:7px}.qp-auction-meta-v166 small{font-size:7px;color:#77707e;margin-top:2px}
.qp-auction-bid-v166{border-left:1px solid #eeeaf1;padding-left:12px;display:grid;align-content:center}.qp-auction-bid-v166>small{font-size:7px;color:#7b7382}.qp-auction-bid-v166 strong{font-size:17px;color:#5b17a4;margin:3px 0}.qp-auction-bid-v166 p{font-size:7px;color:#77707e}.qp-auction-bid-v166 button{height:31px;border:0;border-radius:6px;background:#5b17a4;color:#fff;font-size:8px;font-weight:700}.qp-auction-bid-v166 button:disabled{opacity:.45}
.qp-auctions-side-v166{display:grid;gap:10px;align-content:start}.qp-auction-spotlight-v166{background:linear-gradient(150deg,#281052,#6716a7);color:#fff;border-radius:10px;padding:10px;display:grid;gap:6px}.qp-auction-spotlight-v166 .spot-head{display:flex;justify-content:space-between;font-size:8px}.qp-auction-spotlight-v166 .spot-head em{background:#23ad61;padding:3px 5px;border-radius:4px;font-size:6px;font-style:normal}.qp-auction-spotlight-v166 .spot-photo{height:120px;border-radius:7px;background:#fff2;display:grid;place-items:center;overflow:hidden}.qp-auction-spotlight-v166 .spot-photo img{width:100%;height:100%;object-fit:cover}.qp-auction-spotlight-v166 h3,.qp-auction-spotlight-v166 p{margin:0}.qp-auction-spotlight-v166 h3{font-size:11px}.qp-auction-spotlight-v166 p{font-size:6.5px;opacity:.8}.qp-auction-spotlight-v166>small{font-size:6.5px;opacity:.75}.qp-auction-spotlight-v166 .spot-countdown{font-size:10px}.qp-auction-spotlight-v166 strong{font-size:16px}.qp-auction-spotlight-v166 button{height:30px;border:0;border-radius:5px;background:#fff;color:#5b17a4;font-size:8px;font-weight:700}
.qp-auctions-side-card-v166{background:#fff;border:1px solid #e6e2eb;border-radius:10px;padding:12px}.qp-auctions-side-card-v166 .title-row{display:flex;justify-content:space-between}.qp-auctions-side-card-v166 h3{margin:0 0 8px;font-size:11px}.qp-auctions-side-card-v166 .title-row button{border:0;background:transparent;color:#5b17a4;font-size:7px;font-weight:700}.qp-auction-cat-grid-v166{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.qp-auction-cat-grid-v166 button{min-height:54px;border:0;background:#fff;text-align:center}.qp-auction-cat-grid-v166 span{display:block;font-size:18px}.qp-auction-cat-grid-v166 b{display:block;font-size:6px;margin-top:3px}.qp-auction-how-v166{display:grid;grid-template-columns:24px 1fr;gap:8px;margin:8px 0}.qp-auction-how-v166>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#f0e8fa;color:#5b17a4;font-size:7px;font-weight:800}.qp-auction-how-v166 p{margin:0}.qp-auction-how-v166 b,.qp-auction-how-v166 small{display:block}.qp-auction-how-v166 b{font-size:7.5px}.qp-auction-how-v166 small{font-size:6.5px;color:#77707e;margin-top:2px}.qp-auctions-side-card-v166>p{font-size:7px;color:#756d7d}.qp-auction-sub-v166{display:grid;grid-template-columns:1fr auto;gap:5px}.qp-auction-sub-v166 input{height:29px;border:1px solid #ddd7e4;border-radius:5px;padding:0 7px;font-size:7px}.qp-auction-sub-v166 button{border:0;border-radius:5px;background:#5b17a4;color:#fff;font-size:7px;padding:0 9px}
.qp-auction-empty-v166{min-height:180px;background:#fff;border:1px solid #e6e2eb;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.qp-auction-empty-v166 b{font-size:12px}.qp-auction-empty-v166 small{font-size:8px;color:#77707e}
.qp-auction-detail-modal-v166{display:grid;grid-template-columns:220px 1fr;gap:13px}.qp-auction-detail-modal-v166 .photo{height:220px;background:#f4f3f6;border-radius:8px;display:grid;place-items:center;overflow:hidden}.qp-auction-detail-modal-v166 .photo img{width:100%;height:100%;object-fit:contain}.qp-auction-detail-modal-v166 .copy .status{display:inline-flex;background:#e9f8ef;color:#148a50;padding:4px 6px;border-radius:5px;font-size:7px}.qp-auction-detail-modal-v166 h3{margin:8px 0;font-size:16px}.qp-auction-detail-modal-v166 p{font-size:9px;color:#665e6d}.qp-auction-detail-modal-v166 .details{display:grid;grid-template-columns:1fr 1fr;gap:7px}.qp-auction-detail-modal-v166 .details span{border:1px solid #eeeaf1;border-radius:7px;padding:8px;display:grid}.qp-auction-detail-modal-v166 .details small{font-size:7px;color:#817888}.qp-auction-detail-modal-v166 .details b{font-size:9px;margin-top:3px}.qp-auction-detail-modal-v166 .bidbox{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:10px}.qp-auction-detail-modal-v166 .bidbox input{height:36px;border:1px solid #ddd7e4;border-radius:6px;padding:0 9px}.qp-auction-detail-modal-v166 .bidbox button{border:0;border-radius:6px;background:#5b17a4;color:#fff;padding:0 13px;font-weight:700}.qp-auction-detail-modal-v166 .history{grid-column:1/-1;border-top:1px solid #eeeaf1;padding-top:10px}.qp-auction-detail-modal-v166 .history h4{margin:0 0 7px}.qp-auction-detail-modal-v166 .history>div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #f0edf3;font-size:8px}
@media(max-width:1100px){.qp-auctions-shell-v166{grid-template-columns:1fr}.qp-auctions-side-v166{grid-template-columns:repeat(3,1fr)}.qp-auction-spotlight-v166{grid-row:span 2}.qp-auctions-filterbar-v166{grid-template-columns:1fr 1fr 1fr}.qp-auctions-filterbar-v166 .search{grid-column:1/-1}}
@media(max-width:820px){.qp-auctions-stats-v166{grid-template-columns:repeat(3,1fr)}.qp-auction-row-v166{grid-template-columns:120px minmax(0,1fr)}.qp-auction-bid-v166{grid-column:1/-1;border-left:0;border-top:1px solid #eeeaf1;padding:9px 0 0}.qp-auctions-side-v166{grid-template-columns:1fr}.qp-auctions-tabs-v166{overflow-x:auto}.qp-auctions-filterbar-v166{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.qp-auctions-page-v166{padding:10px}.qp-auctions-head-v166{display:grid}.qp-auctions-stats-v166{grid-template-columns:1fr 1fr}.qp-auctions-filterbar-v166{grid-template-columns:1fr}.qp-auctions-filterbar-v166 .search{grid-column:auto}.qp-auction-row-v166{grid-template-columns:1fr}.qp-auction-photo-v166{height:180px}.qp-auction-meta-v166{grid-template-columns:1fr 1fr}.qp-auction-detail-modal-v166{grid-template-columns:1fr}}


/* QPROCURE V169 - Auction image upload */
.qp-auction-upload-hint-v169{display:block;margin-top:4px;font-size:7px;color:#817889;font-weight:400}
#qpCreateAuctionV166 input[type="file"]{height:auto;padding:8px;background:#fff}

/* =========================================================
   QPROCURE V170 - MY ORDERS PER USER
   ========================================================= */
.qp-orders-page-v170{padding:16px 18px 30px;background:#f7f8fc;min-height:100vh;color:#24182f}
.qp-orders-head-v170 h1{margin:0;font-size:25px}.qp-orders-head-v170 p{margin:4px 0 12px;color:#756d7d;font-size:10px}
.qp-orders-shell-v170{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px}
.qp-orders-stats-v170{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid #e7e3eb;border-radius:10px;overflow:hidden;margin-bottom:12px}
.qp-orders-stats-v170 article{min-height:82px;padding:12px;border-right:1px solid #eeeaf1;display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center}.qp-orders-stats-v170 article:last-child{border-right:0}
.qp-orders-stats-v170 article>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f0e8fa;color:#5b17a4}.qp-orders-stats-v170 article div{display:grid}.qp-orders-stats-v170 b{font-size:17px}.qp-orders-stats-v170 small{font-size:8px;font-weight:700}.qp-orders-stats-v170 em{font-size:6.5px;color:#8a8190;font-style:normal}
.qp-orders-panel-v170,.qp-orders-side-card-v170{background:#fff;border:1px solid #e7e3eb;border-radius:10px;overflow:hidden}
.qp-orders-filters-v170{display:grid;grid-template-columns:minmax(0,1fr) 150px 180px auto;gap:7px;padding:10px;border-bottom:1px solid #eeeaf1}
.qp-orders-filters-v170 .search{position:relative}.qp-orders-filters-v170 .search span{position:absolute;right:10px;top:10px}.qp-orders-filters-v170 input,.qp-orders-filters-v170 select,.qp-orders-filters-v170>button{height:34px;border:1px solid #ddd7e4;border-radius:6px;background:#fff;padding:0 9px;font:inherit;font-size:8px}.qp-orders-filters-v170>button{color:#5b17a4;font-weight:700}
.qp-orders-table-wrap-v170{overflow:auto}.qp-orders-table-v170{width:100%;border-collapse:collapse;min-width:760px}.qp-orders-table-v170 th{background:#faf9fc;padding:9px 10px;border-bottom:1px solid #eeeaf1;text-align:left;font-size:7.5px}.qp-orders-table-v170 td{padding:9px 10px;border-bottom:1px solid #eeeaf1;font-size:8px;vertical-align:middle}.qp-orders-table-v170 td>b{display:block}.qp-orders-table-v170 td>small{display:block;margin-top:3px;color:#817888}
.qp-order-detail-v170{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:center}.qp-order-detail-v170 .thumb{width:52px;height:42px;border-radius:6px;background:#f4f3f6;display:grid;place-items:center}.qp-order-detail-v170 b,.qp-order-detail-v170 small{display:block}.qp-order-detail-v170 b{color:#5b17a4}.qp-order-detail-v170 small{font-size:7px;color:#7d7484;margin-top:3px}
.qp-order-status-v170{display:inline-flex;padding:4px 6px;border-radius:5px;background:#fff4db;color:#9e6a00;font-size:7px;text-transform:capitalize}.qp-order-status-v170.delivered,.qp-order-status-v170.completed{background:#e9f8ef;color:#148850}.qp-order-status-v170.processing,.qp-order-status-v170.in_progress,.qp-order-status-v170.shipped{background:#e8f3fd;color:#2c78b9}.qp-order-status-v170.cancelled{background:#fdecec;color:#b84242}
.qp-orders-table-v170 .view{height:28px;border:1px solid #ddd7e4;border-radius:6px;background:#fff;color:#5b17a4;font-size:7px;font-weight:700}
.qp-orders-footer-v170{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px}.qp-orders-footer-v170 small{font-size:7px;color:#817888}.qp-orders-footer-v170>div{display:flex;gap:4px}.qp-orders-footer-v170 button{width:28px;height:28px;border:1px solid #ddd7e4;border-radius:5px;background:#fff}.qp-orders-footer-v170 button.active{border-color:#5b17a4;color:#5b17a4}.qp-orders-footer-v170 select{height:28px;border:1px solid #ddd7e4;border-radius:5px;background:#fff;font-size:7px}
.qp-orders-side-v170{display:grid;gap:10px;align-content:start}.qp-orders-side-card-v170{padding:12px}.qp-orders-side-card-v170 h3{margin:0 0 8px;font-size:11px}.qp-orders-side-card-v170 .title-row{display:flex;justify-content:space-between}.qp-orders-side-card-v170 .title-row small{font-size:7px;color:#817888}
.qp-orders-overview-v170{display:grid;grid-template-columns:95px 1fr;gap:10px;align-items:center}.qp-orders-overview-v170 .donut{width:88px;height:88px;border-radius:50%;background:conic-gradient(#18a765 0 40%,#3288d4 40% 65%,#f4a620 65% 85%,#e94d4d 85% 100%);position:relative}.qp-orders-overview-v170 .donut:after{content:"";position:absolute;inset:22px;background:#fff;border-radius:50%}.qp-orders-overview-v170 .legend{display:grid;gap:6px}.qp-orders-overview-v170 .legend span{font-size:6.5px;display:flex;align-items:center;gap:5px}.qp-orders-overview-v170 i{width:6px;height:6px;border-radius:50%}.qp-orders-overview-v170 .green{background:#18a765}.qp-orders-overview-v170 .blue{background:#3288d4}.qp-orders-overview-v170 .orange{background:#f4a620}.qp-orders-overview-v170 .red{background:#e94d4d}
.qp-orders-totals-v170{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #eeeaf1;margin-top:10px;padding-top:10px}.qp-orders-totals-v170 span{display:grid}.qp-orders-totals-v170 small{font-size:7px;color:#817888}.qp-orders-totals-v170 b{font-size:11px;margin-top:2px}
.qp-orders-suppliers-v170{display:grid}.qp-orders-suppliers-v170>div{display:grid;grid-template-columns:25px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid #eeeaf1}.qp-orders-suppliers-v170>div>span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#f0e8fa;color:#5b17a4;font-size:7px;font-weight:800}.qp-orders-suppliers-v170 p{margin:0}.qp-orders-suppliers-v170 b,.qp-orders-suppliers-v170 small{display:block}.qp-orders-suppliers-v170 b{font-size:8px}.qp-orders-suppliers-v170 small{font-size:7px;color:#817888;margin-top:2px}
.qp-orders-side-card-v170>button{width:100%;height:31px;border:0;border-bottom:1px solid #eeeaf1;background:#fff;text-align:left;font-size:8px}
.qp-orders-empty-v170{padding:30px;text-align:center}.qp-orders-empty-v170 b,.qp-orders-empty-v170 small{display:block}.qp-orders-empty-v170 small{margin-top:4px;color:#817888}
.qp-order-modal-v170{display:grid;gap:12px}.qp-order-summary-v170{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.qp-order-summary-v170 span{border:1px solid #eeeaf1;border-radius:7px;padding:8px;display:grid}.qp-order-summary-v170 small{font-size:7px;color:#817888}.qp-order-summary-v170 b{font-size:9px;margin-top:3px}.qp-order-items-v170{width:100%;border-collapse:collapse}.qp-order-items-v170 th,.qp-order-items-v170 td{padding:8px;border-bottom:1px solid #eeeaf1;text-align:left;font-size:8px}
@media(max-width:1100px){.qp-orders-shell-v170{grid-template-columns:1fr}.qp-orders-side-v170{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.qp-orders-stats-v170{grid-template-columns:repeat(3,1fr)}.qp-orders-filters-v170{grid-template-columns:1fr 1fr}.qp-orders-side-v170{grid-template-columns:1fr}}
@media(max-width:560px){.qp-orders-page-v170{padding:10px}.qp-orders-stats-v170{grid-template-columns:1fr 1fr}.qp-orders-filters-v170{grid-template-columns:1fr}.qp-order-summary-v170{grid-template-columns:1fr 1fr}}

/* =========================================================
   QPROCURE V171 - MESSAGES
   ========================================================= */
.qp-msg-page-v171{padding:16px 18px 30px;background:#f7f8fc;min-height:100vh;color:#24182f}
.qp-msg-head-v171{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.qp-msg-head-v171 h1{margin:0;font-size:25px}.qp-msg-head-v171 p{margin:4px 0 0;color:#756d7d;font-size:10px}.qp-msg-head-v171>button{height:36px;border:0;border-radius:7px;background:#5b17a4;color:#fff;padding:0 13px;font-size:9px;font-weight:700}
.qp-msg-shell-v171{display:grid;grid-template-columns:300px minmax(0,1fr) 250px;gap:12px;height:calc(100vh - 145px);min-height:560px}
.qp-msg-sidebar-v171,.qp-msg-chat-v171,.qp-msg-tools-v171 section{background:#fff;border:1px solid #e6e2eb;border-radius:10px;overflow:hidden}
.qp-msg-search-v171{padding:10px}.qp-msg-search-v171 input{width:100%;height:34px;border:1px solid #ddd7e4;border-radius:7px;padding:0 10px;font-size:8px}
.qp-msg-tabs-v171{display:flex;border-bottom:1px solid #eeeaf1;padding:0 10px}.qp-msg-tabs-v171 button{height:36px;border:0;background:transparent;font-size:8px;position:relative;margin-right:15px}.qp-msg-tabs-v171 button.active{color:#5b17a4;font-weight:700}.qp-msg-tabs-v171 button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#5b17a4}
.qp-msg-thread-list-v171{height:calc(100% - 82px);overflow:auto}.qp-msg-thread-v171{width:100%;border:0;border-bottom:1px solid #eeeaf1;background:#fff;padding:10px;display:grid;grid-template-columns:36px 1fr auto;gap:8px;text-align:left}.qp-msg-thread-v171.active{background:#f7f1fd}.qp-msg-thread-v171 .avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f0e8fa;color:#5b17a4;font-weight:800}.qp-msg-thread-v171 .copy{min-width:0}.qp-msg-thread-v171 .copy>div{display:flex;justify-content:space-between;gap:8px}.qp-msg-thread-v171 b{font-size:8px}.qp-msg-thread-v171 strong{display:block;font-size:8px;margin-top:3px}.qp-msg-thread-v171 p{margin:3px 0 0;font-size:7px;color:#7d7484;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qp-msg-thread-v171 small{font-size:6.5px;color:#8a8290}.qp-msg-thread-v171 .badge{align-self:center;background:#5b17a4;color:#fff;border-radius:10px;min-width:18px;height:18px;display:grid;place-items:center;font-size:7px}
.qp-msg-chat-v171{display:flex;min-width:0}.qp-msg-empty-v171{margin:auto;text-align:center;color:#817888}.qp-msg-empty-v171>div{font-size:40px}.qp-msg-empty-v171 h3{margin:8px 0 4px}.qp-msg-empty-v171 p{font-size:8px}.qp-msg-conversation-v171{display:grid;grid-template-rows:auto 1fr auto;width:100%;height:100%}.qp-msg-conv-head-v171{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #eeeaf1}.qp-msg-conv-head-v171 .avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f0e8fa;color:#5b17a4;font-weight:800}.qp-msg-conv-head-v171 h3,.qp-msg-conv-head-v171 p{margin:0}.qp-msg-conv-head-v171 h3{font-size:11px}.qp-msg-conv-head-v171 p{font-size:7px;color:#817888;margin-top:2px}
.qp-msg-messages-v171{overflow:auto;padding:14px;background:#fbfafc}.qp-msg-bubble-wrap-v171{display:flex;margin:6px 0}.qp-msg-bubble-wrap-v171.mine{justify-content:flex-end}.qp-msg-bubble-v171{max-width:72%;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #ebe6ef}.qp-msg-bubble-wrap-v171.mine .qp-msg-bubble-v171{background:#5b17a4;color:#fff;border-color:#5b17a4}.qp-msg-bubble-v171 p{margin:0;font-size:8px;line-height:1.45}.qp-msg-bubble-v171 small{display:block;margin-top:5px;font-size:6px;opacity:.7}
.qp-msg-reply-v171{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border-top:1px solid #eeeaf1}.qp-msg-reply-v171 textarea{resize:none;min-height:54px;border:1px solid #ddd7e4;border-radius:7px;padding:9px;font:inherit;font-size:8px}.qp-msg-reply-v171 button{align-self:end;height:34px;border:0;border-radius:6px;background:#5b17a4;color:#fff;padding:0 14px;font-size:8px;font-weight:700}
.qp-msg-tools-v171{display:grid;gap:10px;align-content:start}.qp-msg-tools-v171 section{padding:12px}.qp-msg-tools-v171 h3{margin:0 0 8px;font-size:11px}.qp-msg-tools-v171 button{width:100%;height:34px;border:1px solid #e6e2eb;border-radius:6px;background:#fff;text-align:left;padding:0 9px;font-size:8px;margin-bottom:6px}
.qp-msg-no-threads-v171,.qp-msg-no-messages-v171{padding:20px;text-align:center;font-size:8px;color:#817888}
@media(max-width:1050px){.qp-msg-shell-v171{grid-template-columns:260px 1fr}.qp-msg-tools-v171{display:none}}
@media(max-width:700px){.qp-msg-shell-v171{grid-template-columns:1fr;height:auto}.qp-msg-sidebar-v171{height:360px}.qp-msg-chat-v171{min-height:500px}.qp-msg-head-v171{gap:10px}.qp-msg-head-v171 h1{font-size:21px}}

/* QPROCURE V173 - ACTIVE NOTIFICATIONS */
#qpTopNotificationBellV173{position:relative;cursor:pointer}
#qpTopNotificationCountV173{position:absolute;right:-7px;top:-8px;min-width:18px;height:18px;border-radius:9px;background:#f0a000;color:#fff;place-items:center;font-size:8px}
.qp-notify-dropdown-v173{position:fixed;z-index:100000;width:360px;max-width:calc(100vw - 20px);background:#fff;border:1px solid #e5e0ea;border-radius:11px;box-shadow:0 18px 45px rgba(32,18,44,.2);overflow:hidden}.qp-notify-dropdown-v173 .head{height:46px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eeeaf1}.qp-notify-dropdown-v173 .head b{font-size:12px}.qp-notify-dropdown-v173 .head button{border:0;background:transparent;color:#5b17a4;font-size:8px;font-weight:700}.qp-notify-dropdown-v173 .list{max-height:380px;overflow:auto}.qp-notify-dropdown-v173 .list>button{width:100%;display:grid;grid-template-columns:32px 1fr 8px;gap:8px;align-items:center;padding:10px;border:0;border-bottom:1px solid #f0edf3;background:#fff;text-align:left}.qp-notify-dropdown-v173 .list>button.unread{background:#faf6ff}.qp-notify-dropdown-v173 .list>button>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f1e9fa}.qp-notify-dropdown-v173 p{margin:0}.qp-notify-dropdown-v173 p b,.qp-notify-dropdown-v173 p small{display:block}.qp-notify-dropdown-v173 p b{font-size:8px}.qp-notify-dropdown-v173 p small{font-size:7px;color:#776e7f;margin-top:3px}.qp-notify-dropdown-v173 i{width:7px;height:7px;border-radius:50%;background:#5b17a4}.qp-notify-dropdown-v173 .all{width:100%;height:38px;border:0;background:#fff;color:#5b17a4;font-size:8px;font-weight:700}.qp-notify-dropdown-v173 .empty{padding:25px;text-align:center;color:#817888;font-size:8px}
.qp-notify-page-v173{padding:16px 18px 30px;background:#f7f8fc;min-height:100vh}.qp-notify-head-v173{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.qp-notify-head-v173 h1{margin:0;font-size:25px}.qp-notify-head-v173 p{margin:4px 0 0;font-size:10px;color:#756d7d}.qp-notify-head-v173>button{height:34px;border:1px solid #5b17a4;border-radius:6px;background:#fff;color:#5b17a4;padding:0 10px;font-size:8px;font-weight:700}.qp-notify-stats-v173{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.qp-notify-stats-v173 span{background:#fff;border:1px solid #e6e2eb;border-radius:10px;padding:12px;display:grid}.qp-notify-stats-v173 b{font-size:20px}.qp-notify-stats-v173 small{font-size:8px;color:#777}.qp-notify-tabs-v173{display:flex;gap:5px;margin-bottom:10px}.qp-notify-tabs-v173 button{height:33px;border:1px solid #ddd7e4;border-radius:6px;background:#fff;padding:0 11px;font-size:8px}.qp-notify-tabs-v173 button.active{background:#5b17a4;color:#fff}.qp-notify-list-v173{display:grid;gap:8px}.qp-notify-card-v173{display:grid;grid-template-columns:42px 1fr 8px;gap:10px;align-items:center;background:#fff;border:1px solid #e6e2eb;border-radius:10px;padding:11px;cursor:pointer}.qp-notify-card-v173.unread{border-left:3px solid #5b17a4;background:#fcf9ff}.qp-notify-card-v173 .icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#f0e8fa;font-size:18px}.qp-notify-card-v173 .copy>div{display:flex;justify-content:space-between;gap:12px}.qp-notify-card-v173 h3{margin:0;font-size:10px}.qp-notify-card-v173 small{font-size:7px;color:#817888}.qp-notify-card-v173 p{margin:4px 0 0;font-size:8px;color:#605866}.qp-notify-card-v173 .copy button{margin-top:7px;height:27px;border:1px solid #5b17a4;border-radius:5px;background:#fff;color:#5b17a4;font-size:7px}.qp-notify-card-v173 .dot{width:7px;height:7px;border-radius:50%;background:#5b17a4}.qp-notify-empty-v173{min-height:250px;background:#fff;border:1px solid #e6e2eb;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.qp-notify-empty-v173>div{font-size:34px}.qp-notify-empty-v173 b{font-size:11px}.qp-notify-empty-v173 small{font-size:8px;color:#817888}

/* QPROCURE V174 - ACTIVE MESSAGES */
#topChatIcon{position:relative;cursor:pointer}
#qpTopMessageCountV174{position:absolute;right:-7px;top:-8px;min-width:18px;height:18px;border-radius:9px;background:#f0a000;color:#fff;place-items:center;font-size:8px}
.qp-msg2-dropdown-v174{position:fixed;z-index:100000;width:360px;max-width:calc(100vw - 20px);background:#fff;border:1px solid #e5e0ea;border-radius:11px;box-shadow:0 18px 45px rgba(32,18,44,.2);overflow:hidden}.qp-msg2-dropdown-v174 .head{height:46px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eeeaf1}.qp-msg2-dropdown-v174 .head b{font-size:12px}.qp-msg2-dropdown-v174 .head button{border:0;background:transparent;color:#5b17a4;font-size:8px;font-weight:700}.qp-msg2-dropdown-v174 .list{max-height:360px;overflow:auto}.qp-msg2-dropdown-v174 .list>button{width:100%;display:grid;grid-template-columns:32px 1fr;gap:8px;align-items:center;padding:10px;border:0;border-bottom:1px solid #f0edf3;background:#fff;text-align:left}.qp-msg2-dropdown-v174 .list>button>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f1e9fa;color:#5b17a4;font-weight:800}.qp-msg2-dropdown-v174 p{margin:0}.qp-msg2-dropdown-v174 p b,.qp-msg2-dropdown-v174 p small{display:block}.qp-msg2-dropdown-v174 p b{font-size:8px}.qp-msg2-dropdown-v174 p small{font-size:7px;color:#776e7f;margin-top:3px}.qp-msg2-dropdown-v174 .all{width:100%;height:38px;border:0;background:#fff;color:#5b17a4;font-size:8px;font-weight:700}.qp-msg2-dropdown-v174 .empty{padding:25px;text-align:center;color:#817888;font-size:8px}
.qp-msg2-page-v174{padding:16px 18px 28px;background:#f7f8fc;min-height:100vh}.qp-msg2-head-v174{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.qp-msg2-head-v174 h1{margin:0;font-size:25px}.qp-msg2-head-v174 p{margin:4px 0 0;color:#756d7d;font-size:10px}.qp-msg2-head-v174>button{height:36px;border:0;border-radius:7px;background:#5b17a4;color:#fff;padding:0 13px;font-size:9px;font-weight:700}
.qp-msg2-shell-v174{display:grid;grid-template-columns:310px minmax(0,1fr) 260px;gap:12px;height:calc(100vh - 145px);min-height:560px}.qp-msg2-inbox-v174,.qp-msg2-chat-v174,.qp-msg2-tools-v174 section{background:#fff;border:1px solid #e6e2eb;border-radius:10px;overflow:hidden}
.qp-msg2-inbox-head-v174{padding:12px;border-bottom:1px solid #eeeaf1}.qp-msg2-inbox-head-v174 h3{margin:0 0 8px;font-size:12px}.qp-msg2-inbox-head-v174 input{width:100%;height:34px;border:1px solid #ddd7e4;border-radius:6px;padding:0 9px;font-size:8px}.qp-msg2-tabs-v174{display:flex;padding:0 10px;border-bottom:1px solid #eeeaf1}.qp-msg2-tabs-v174 button{height:34px;border:0;background:transparent;margin-right:16px;font-size:8px;position:relative}.qp-msg2-tabs-v174 button.active{color:#5b17a4;font-weight:700}.qp-msg2-tabs-v174 button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#5b17a4}
.qp-msg2-thread-list-v174{height:calc(100% - 94px);overflow:auto}.qp-msg2-thread-v174{width:100%;display:grid;grid-template-columns:36px 1fr auto;gap:8px;padding:10px;border:0;border-bottom:1px solid #eeeaf1;background:#fff;text-align:left}.qp-msg2-thread-v174.active{background:#f8f2fd}.qp-msg2-thread-v174 .avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f0e8fa;color:#5b17a4;font-weight:800}.qp-msg2-thread-v174 .copy{min-width:0}.qp-msg2-thread-v174 .copy>div{display:flex;justify-content:space-between;gap:8px}.qp-msg2-thread-v174 b{font-size:8px}.qp-msg2-thread-v174 strong{display:block;margin-top:3px;font-size:8px}.qp-msg2-thread-v174 p{margin:3px 0 0;font-size:7px;color:#7d7484;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qp-msg2-thread-v174 small{font-size:6px;color:#8a8190}.qp-msg2-thread-v174 .badge{align-self:center;min-width:18px;height:18px;border-radius:9px;background:#5b17a4;color:#fff;display:grid;place-items:center;font-size:7px}
.qp-msg2-chat-v174{display:flex;min-width:0}.qp-msg2-empty-v174{margin:auto;text-align:center;color:#817888}.qp-msg2-empty-v174>div{font-size:42px}.qp-msg2-empty-v174 h3{margin:8px 0 4px}.qp-msg2-empty-v174 p{font-size:8px}.qp-msg2-conversation-v174{display:grid;grid-template-rows:auto 1fr auto;width:100%;height:100%}.qp-msg2-chat-head-v174{display:flex;gap:10px;align-items:center;padding:12px;border-bottom:1px solid #eeeaf1}.qp-msg2-chat-head-v174 .avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f0e8fa;color:#5b17a4;font-weight:800}.qp-msg2-chat-head-v174 h3,.qp-msg2-chat-head-v174 p{margin:0}.qp-msg2-chat-head-v174 h3{font-size:11px}.qp-msg2-chat-head-v174 p{font-size:7px;color:#817888;margin-top:2px}
.qp-msg2-messages-v174{overflow:auto;padding:14px;background:#fbfafc}.qp-msg2-bubble-wrap-v174{display:flex;margin:6px 0}.qp-msg2-bubble-wrap-v174.mine{justify-content:flex-end}.qp-msg2-bubble-v174{max-width:72%;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #ebe6ef}.qp-msg2-bubble-wrap-v174.mine .qp-msg2-bubble-v174{background:#5b17a4;color:#fff;border-color:#5b17a4}.qp-msg2-bubble-v174 p{margin:0;font-size:8px;line-height:1.45}.qp-msg2-bubble-v174 small{display:block;margin-top:5px;font-size:6px;opacity:.7}
.qp-msg2-reply-v174{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border-top:1px solid #eeeaf1}.qp-msg2-reply-v174 textarea{min-height:54px;resize:none;border:1px solid #ddd7e4;border-radius:7px;padding:9px;font:inherit;font-size:8px}.qp-msg2-reply-v174 button{align-self:end;height:34px;border:0;border-radius:6px;background:#5b17a4;color:#fff;padding:0 14px;font-size:8px;font-weight:700}
.qp-msg2-tools-v174{display:grid;gap:10px;align-content:start}.qp-msg2-tools-v174 section{padding:12px}.qp-msg2-tools-v174 h3{margin:0 0 8px;font-size:11px}.qp-msg2-tools-v174 button{width:100%;height:34px;border:1px solid #e6e2eb;border-radius:6px;background:#fff;text-align:left;padding:0 9px;font-size:8px;margin-bottom:6px}.qp-msg2-no-v174{padding:20px;text-align:center;font-size:8px;color:#817888}
@media(max-width:1050px){.qp-msg2-shell-v174{grid-template-columns:260px 1fr}.qp-msg2-tools-v174{display:none}}@media(max-width:700px){.qp-msg2-shell-v174{grid-template-columns:1fr;height:auto}.qp-msg2-inbox-v174{height:360px}.qp-msg2-chat-v174{min-height:500px}}

/* =========================================================
   QPROCURE V176 - CHAT CHOICE UI
   ========================================================= */

/* Default state: legacy supplier chat is CLOSED */
#companyChatPanel{
  display:none !important;
}
#companyChatPanel.floating-open{
  display:flex !important;
}

/* Hide previous floating launcher(s) */
.floating-chat-button{
  display:none !important;
}

/* Main launcher */
.qp-chat-launcher-v176{
  position:fixed !important;
  right:24px !important;
  bottom:22px !important;
  z-index:1215 !important;
  width:58px !important;
  height:58px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#4B168A !important;
  color:#fff !important;
  display:grid !important;
  place-items:center !important;
  box-shadow:0 10px 28px rgba(75,22,138,.28) !important;
  cursor:pointer !important;
}
.qp-chat-launcher-v176>span{
  font-size:25px !important;
  line-height:1 !important;
}
.qp-chat-launcher-v176>b{
  position:absolute !important;
  right:-2px !important;
  top:-2px !important;
  min-width:20px !important;
  height:20px !important;
  padding:0 5px !important;
  border-radius:999px !important;
  background:#F5B400 !important;
  color:#28183A !important;
  font-size:10px !important;
  font-weight:800 !important;
  place-items:center !important;
}

/* Choice menu */
.qp-chat-choice-v176{
  position:fixed !important;
  right:24px !important;
  bottom:90px !important;
  z-index:1216 !important;
  width:250px !important;
  padding:8px !important;
  background:#fff !important;
  border:1px solid #e5e0ea !important;
  border-radius:14px !important;
  box-shadow:0 16px 40px rgba(32,18,44,.18) !important;
}
.qp-chat-choice-v176[hidden]{
  display:none !important;
}
.qp-chat-choice-v176>button{
  width:100% !important;
  min-height:62px !important;
  border:0 !important;
  border-radius:10px !important;
  background:#fff !important;
  display:grid !important;
  grid-template-columns:42px 1fr !important;
  align-items:center !important;
  gap:10px !important;
  padding:9px 10px !important;
  text-align:left !important;
  cursor:pointer !important;
}
.qp-chat-choice-v176>button:hover{
  background:#f8f4fc !important;
}
.qp-chat-choice-v176>button>span{
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  background:#f1e9fa !important;
  display:grid !important;
  place-items:center !important;
  font-size:19px !important;
}
.qp-chat-choice-v176 b{
  display:block !important;
  font-size:11px !important;
  color:#25172f !important;
}
.qp-chat-choice-v176 small{
  display:block !important;
  margin-top:3px !important;
  font-size:8px !important;
  color:#7d7484 !important;
}

/* Supplier chat remains a floating panel */
#companyChatPanel.floating-open{
  position:fixed !important;
  right:24px !important;
  bottom:90px !important;
  width:min(360px,calc(100vw - 32px)) !important;
  height:520px !important;
  max-height:calc(100dvh - 130px) !important;
  z-index:1214 !important;
  border:1px solid #E3E6ED !important;
  border-radius:16px !important;
  box-shadow:0 22px 60px rgba(24,18,40,.22) !important;
  overflow:hidden !important;
  background:#fff !important;
}

@media(max-width:700px){
  .qp-chat-launcher-v176{
    right:16px !important;
    bottom:78px !important;
    width:54px !important;
    height:54px !important;
  }
  .qp-chat-choice-v176{
    right:16px !important;
    bottom:140px !important;
    width:min(250px,calc(100vw - 32px)) !important;
  }
  #companyChatPanel.floating-open{
    right:12px !important;
    bottom:138px !important;
    width:calc(100vw - 24px) !important;
    height:min(520px,calc(100dvh - 170px)) !important;
  }
}


/* QPROCURE V178 - BIGGER SIDEBAR LOGO */
@media (min-width:901px){
  .app{grid-template-columns:214px minmax(0,1fr) !important;}
  .sidebar{padding:18px 14px !important;}
  .sidebar .brand{min-height:104px !important;margin-bottom:10px !important;}
  .sidebar .brand img,.brand img{width:148px !important;max-width:148px !important;}
}


/* QPROCURE V179 - REMOVE TOP SPACE ABOVE SIDEBAR LOGO */
@media (min-width:901px){
  .sidebar{padding-top:8px !important;}
  .sidebar .brand{
    padding-top:0 !important;
    margin-top:0 !important;
    min-height:auto !important;
    margin-bottom:8px !important;
  }
  .sidebar .brand img,.brand img{
    display:block !important;
    margin:0 auto !important;
  }
}


/* =========================================================
   QPROCURE V181 - GCC COUNTRY SELECTOR
   ========================================================= */
.qp-gcc-location-v181{position:relative !important;display:block !important;min-width:0 !important}
#qpGccLocationButtonV181{height:38px;min-width:160px;max-width:220px;border:1px solid #dfe1e8;border-radius:8px;background:#fff;display:flex;align-items:center;gap:7px;padding:0 12px;cursor:pointer;color:#24182f;font:inherit}
#qpGccLocationButtonV181 b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}
#qpGccLocationButtonV181 .arrow{font-size:8px}
.qp-gcc-location-menu-v181{position:absolute;left:0;top:45px;z-index:20000;width:290px;max-width:calc(100vw - 24px);background:#fff;border:1px solid #e4e0e9;border-radius:11px;box-shadow:0 16px 40px rgba(32,18,44,.18);padding:8px;overflow:hidden}
.qp-gcc-location-menu-v181[hidden]{display:none!important}
.qp-gcc-location-search-v181{padding:3px 3px 7px}
.qp-gcc-location-search-v181 input{width:100%;height:34px;border:1px solid #ddd7e4;border-radius:7px;padding:0 9px;font:inherit;font-size:9px}
.qp-gcc-location-list-v181{max-height:300px;overflow-y:auto;display:grid;gap:3px}
.qp-gcc-location-list-v181 button{width:100%;height:43px;border:0;border-radius:7px;background:#fff;display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:7px;text-align:left;padding:0 8px;cursor:pointer}
.qp-gcc-location-list-v181 button:hover,.qp-gcc-location-list-v181 button.active{background:#f6f0fc}
.qp-gcc-location-list-v181 button>span{font-size:18px}
.qp-gcc-location-list-v181 b{font-size:9px}
.qp-gcc-location-list-v181 i{color:#5b17a4;font-style:normal;font-weight:800}
@media(max-width:900px){#qpGccLocationButtonV181{min-width:0;width:100%;max-width:none}.qp-gcc-location-menu-v181{width:min(290px,calc(100vw - 24px))}}


/* =========================================================
   QPROCURE V184 - AI MATERIAL RESULT ACTIONS
   ========================================================= */
.qp-ai-material-result-v184{padding-bottom:12px!important}
.qp-ai-material-actions-v184{margin-top:12px;display:grid;gap:8px;direction:rtl}
.qp-ai-material-actions-v184>button.order{width:100%;min-height:42px;border:0;border-radius:999px;background:#e94700;color:#fff;font-size:12px;font-weight:800;cursor:pointer}
.qp-ai-material-actions-v184>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qp-ai-material-actions-v184>div>button{min-height:42px;border:1px solid #222;border-radius:999px;background:#fff;color:#171717;font-size:11px;font-weight:700;cursor:pointer;padding:0 12px}
.qp-ai-material-actions-v184 button:hover{filter:brightness(.98)}
@media(max-width:600px){.qp-ai-material-actions-v184>div{grid-template-columns:1fr 1fr}.qp-ai-material-actions-v184>div>button{font-size:10px;padding:0 8px}}
