:root{
  --xm-navy:#0B3D46;
  --xm-green:#A6E22E;
  --xm-orange:#8FD400;
  --xm-light:#F7FAF8;
  --xm-charcoal:#0F1720;
  --xm-mint:#EFFBD9;
}
html{accent-color:var(--xm-green)}
body{color:var(--xm-charcoal)}
.top{background:var(--xm-navy)!important}
.brand{
  display:inline-block!important;
  width:190px!important;
  height:42px!important;
  min-width:148px;
  overflow:hidden!important;
  font-size:0!important;
  line-height:0!important;
  color:transparent!important;
  background:transparent url('/assets/brand/devolada-logo.svg?v=0.19.1-preprod.1') left center/contain no-repeat!important;
  vertical-align:middle;
  flex:0 0 auto;
  text-decoration:none!important;
}
.brand b{display:none!important}
.auth-card>.brand{display:block!important;margin:0 auto 12px;width:min(100%,300px)!important;height:72px!important;background-position:center!important}
.admin-sidebar{background:var(--xm-navy)!important}
.admin-logo .logo-mark{
  width:46px!important;height:46px!important;font-size:0!important;
  background:transparent url('/assets/brand/devolada-mark.svg?v=0.19.1-preprod.1') center/contain no-repeat!important;
  border-radius:10px!important;
}
.admin-logo strong span{color:var(--xm-green)!important}
.admin-nav a.active{background:var(--xm-green)!important;color:var(--xm-navy)!important}
.eyebrow{color:var(--xm-orange)!important}
.btn.alt{background:var(--xm-green)!important;color:var(--xm-navy)!important}
.market-hero,.welcome-strip{background:linear-gradient(135deg,var(--xm-navy),#123f67)!important}
.badge{background:var(--xm-mint)!important;color:#08735a!important}
@media(max-width:720px){.brand{width:148px!important;height:34px!important}.auth-card>.brand{width:250px!important;height:62px!important}}


/* RC1.5.7.9 · Selector de perfiles definitivo */
.xm-role-switcher{
  display:inline-flex!important;
  align-items:center!important;
  margin:0!important;
  min-width:0!important;
  flex:0 0 auto!important;
}
.xm-role-switcher .xm-role-select{
  appearance:auto!important;
  -webkit-appearance:menulist!important;
  -moz-appearance:auto!important;
  width:auto!important;
  min-width:132px!important;
  height:40px!important;
  margin:0!important;
  padding:0 10px!important;
  border:1px solid #d7e0e8!important;
  border-radius:12px!important;
  background:#fff!important;
  background-image:none!important;
  color:var(--xm-navy)!important;
  font:inherit!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:40px!important;
  box-shadow:0 1px 2px rgba(11,45,74,.08)!important;
  cursor:pointer!important;
}
.xm-role-switcher .xm-role-select:focus{
  outline:3px solid rgba(166,226,46,.24)!important;
  outline-offset:2px!important;
  border-color:var(--xm-green)!important;
}
.xm-role-switcher .xm-role-select option{
  color:var(--xm-charcoal)!important;
  background:#fff!important;
  font-weight:700!important;
}
.top .profile-chip,
.top .profile-chip span{
  color:#fff!important;
}
.top .profile-chip{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.10)!important;
}
.top .top-links{min-width:0}
.top .top-links>a:not(.btn){color:#fff}
.courier-top .xm-role-switcher{display:inline-flex!important}
@media(max-width:760px){
  .xm-role-switcher .xm-role-select{min-width:118px!important;height:38px!important;font-size:13px!important}
  .courier-top .top-links{gap:6px!important}
  .courier-top .profile-chip span{display:none!important}
  .courier-top .courier-logout{display:none!important}
  .courier-top .xm-role-switcher{display:inline-flex!important}
  .market-top-mobile-role{display:inline-flex!important}
}
@media(min-width:761px){.market-top-mobile-role{display:none!important}}


/* DeVolada Express · identidad 0.19.1 y página de contacto */
:root{
  --dv-teal:#0B3D46;
  --dv-teal-2:#075661;
  --dv-lime:#A6E22E;
  --dv-lime-2:#8FD400;
  --dv-ink:#0F1720;
  --dv-soft:#F5F8F6;
  --dv-line:#DDE7E3;
}
.top{background:#fff!important;color:var(--dv-ink)!important;border-bottom:1px solid rgba(11,61,70,.08)}
.top .top-links>a:not(.btn),.contact-nav a{color:var(--dv-teal)!important}
.brand{width:215px!important;height:54px!important}
.admin-sidebar{background:linear-gradient(180deg,#0B3D46,#072E35)!important}
.admin-nav a.active{background:var(--dv-lime)!important;color:var(--dv-teal)!important}
.admin-logo .logo-mark{background:transparent url('/assets/brand/devolada-mark.svg?v=0.19.1-preprod.1') center/contain no-repeat!important;border-radius:12px!important}
.admin-logo strong{font-size:18px!important}
.admin-logo strong span{color:var(--dv-lime)!important}
.btn.alt{background:var(--dv-lime)!important;color:var(--dv-ink)!important}
.btn.alt:hover{background:#B7F238!important}
.market-hero,.welcome-strip{background:linear-gradient(135deg,#0B3D46,#075661)!important}
.badge{background:#EFFBD9!important;color:#456800!important}
.eyebrow{color:var(--dv-lime-2)!important}
.category-strip a.active,.cart-fab,.btn:not(.alt):not(.ghost){background:var(--dv-teal)!important}
.location-pill{border-color:rgba(11,61,70,.14)!important}
.contact-page{background:#f7faf8;color:var(--dv-ink);padding-bottom:0}
.contact-top{position:sticky;top:0;z-index:80;padding:8px max(18px,calc((100vw - 1180px)/2));box-shadow:0 8px 28px rgba(15,23,32,.05)}
.contact-nav{display:flex;align-items:center;gap:22px;margin-left:auto;margin-right:22px}
.contact-nav a{text-decoration:none;font-size:14px;font-weight:850;padding:18px 0;position:relative}
.contact-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:7px;height:3px;border-radius:9px;background:var(--dv-lime)}
.contact-hero{background:
 radial-gradient(circle at 80% 20%,rgba(166,226,46,.22),transparent 28%),
 linear-gradient(120deg,#062F36 0%,#0B3D46 48%,#0E5A63 100%);color:#fff;overflow:hidden}
.contact-hero-inner{max-width:1180px;margin:auto;padding:58px 18px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:center;gap:50px}
.contact-hero-copy h1{font-size:clamp(52px,7vw,86px);line-height:.92;letter-spacing:-3px;margin:8px 0 18px}
.contact-hero-copy h1 span,.contact-section-head h2 span,.contact-promo h2 span{color:var(--dv-lime)}
.contact-hero-copy>p{font-size:20px;line-height:1.5;max-width:680px;color:#dbe8e7;margin:0}
.contact-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.contact-whatsapp{background:#20bf55!important;color:#fff!important}
.contact-hero-actions .ghost{background:#fff!important;color:var(--dv-teal)!important}
.contact-trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;font-weight:850;color:#e7f2ef;font-size:13px}
.contact-hero-art{position:relative;min-height:310px;display:grid;place-items:center}
.contact-hero-art:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;border:2px dashed rgba(166,226,46,.38)}
.contact-hero-art img{position:relative;z-index:2;width:min(100%,560px);filter:drop-shadow(0 24px 38px rgba(0,0,0,.18))}
.route-line{position:absolute;inset:auto 10% 8% auto;display:flex;gap:12px;transform:rotate(-13deg)}
.route-line i{display:block;width:44px;height:7px;border-radius:99px;background:var(--dv-lime)}
.contact-wrap{padding-top:28px;padding-bottom:40px}
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-58px;position:relative;z-index:5}
.contact-cards article{background:#fff;border:1px solid var(--dv-line);border-radius:19px;padding:18px;display:flex;gap:13px;box-shadow:0 12px 30px rgba(11,61,70,.07)}
.contact-cards h3{margin:0 0 4px}.contact-cards p{margin:0 0 8px;color:#64748b;font-size:13px;line-height:1.4}
.contact-cards a{color:var(--dv-teal);font-weight:850;text-decoration:none;font-size:12px;word-break:break-word}
.contact-cards small{color:#8a97a2;font-weight:800}
.contact-icon{width:42px;height:42px;border-radius:13px;background:#e7f1f1;color:var(--dv-teal);display:grid;place-items:center;font-weight:1000;flex:0 0 auto}
.contact-icon.lime{background:#effbd9;color:#507c00}
.contact-main-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:18px;margin-top:20px}
.contact-form-card,.contact-promo{background:#fff;border:1px solid var(--dv-line);border-radius:24px;box-shadow:0 10px 30px rgba(11,61,70,.05)}
.contact-form-card{padding:28px}
.contact-section-head h2{font-size:34px;margin:4px 0 6px}.contact-section-head p{color:#64748b;margin:0 0 22px}
.contact-form{margin:0;max-width:none;background:none;padding:0;border:0}
.contact-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px}
.contact-fields .wide{grid-column:1/-1}
.contact-form label{display:block;font-size:12px;font-weight:850;color:#334155}
.contact-form input,.contact-form select,.contact-form textarea{margin:6px 0 0!important;border-color:#cedbd8!important;background:#fbfdfc}
.contact-consent{margin:18px 0!important;font-size:12px!important;line-height:1.45}
.contact-consent input{width:auto!important;margin-right:8px!important}
.contact-submit{width:100%;font-size:16px}
.contact-side{display:grid;gap:14px}
.contact-promo{padding:24px;position:relative;overflow:hidden}
.contact-promo:after{content:"";position:absolute;width:170px;height:170px;border:22px solid rgba(166,226,46,.11);border-radius:50%;right:-65px;bottom:-80px}
.contact-promo h2{font-size:29px;margin:5px 0 10px;max-width:330px}.contact-promo p{color:#64748b;line-height:1.55}
.contact-promo.business{background:linear-gradient(145deg,#0B3D46,#075661);color:#fff}.contact-promo.business p{color:#d5e5e4}
.contact-promo.courier{background:#effbd9}.contact-promo.coverage{display:flex;align-items:flex-start;gap:13px}
.contact-mark{width:46px;height:46px;border-radius:15px;background:var(--dv-lime);display:grid;place-items:center;font-size:22px;color:var(--dv-teal);flex:0 0 auto}
.contact-promo.coverage h3{margin:0 0 6px}.contact-promo.coverage p{margin:0;font-size:13px}
.contact-footer{background:#072F36;color:#d9e5e3;padding:26px 0}
.contact-footer>.wrap{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:22px;padding-top:0;padding-bottom:0}
.contact-footer img{width:170px}.contact-footer strong,.contact-footer span{display:block}.contact-footer span{font-size:12px;color:#9fb6b2;margin-top:4px}
.contact-footer nav{display:flex;gap:16px}.contact-footer a{color:#fff;text-decoration:none;font-size:13px;font-weight:750}
@media(max-width:900px){
 .contact-nav{display:none}.contact-hero-inner{grid-template-columns:1fr;padding-top:38px}.contact-hero-art{min-height:220px}.contact-hero-art img{width:440px}
 .contact-cards{grid-template-columns:repeat(2,1fr);margin-top:-34px}.contact-main-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
 .brand{width:165px!important;height:42px!important}.contact-top{padding:7px 12px}
 .contact-hero-inner{padding:34px 14px 56px}.contact-hero-copy h1{font-size:52px;letter-spacing:-2px}.contact-hero-copy>p{font-size:17px}
 .contact-hero-art{display:none}.contact-trust{gap:10px}.contact-cards{grid-template-columns:1fr;margin-top:-30px}
 .contact-form-card{padding:18px}.contact-fields{grid-template-columns:1fr}.contact-fields .wide{grid-column:auto}
 .contact-footer>.wrap{grid-template-columns:1fr;text-align:center}.contact-footer img{margin:auto}.contact-footer nav{justify-content:center;flex-wrap:wrap}
}


/* DeVolada 0.19.2 · seguimiento vivo y avisos push */
.order-progress-card{margin:18px 0}
.order-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;position:relative}
.order-progress-step{position:relative;display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid #dfe8e5;border-radius:14px;background:#fff;min-height:82px}
.order-progress-step.done{background:#f1fbdc;border-color:#cfe79c}
.order-progress-step.current{border:2px solid var(--dv-lime,#A6E22E);box-shadow:0 8px 20px rgba(166,226,46,.15)}
.order-progress-step.cancelled{opacity:.45}
.order-progress-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#e9efed;color:#65716f;font-weight:900;font-size:12px}
.order-progress-step.done .order-progress-dot,.order-progress-step.current .order-progress-dot{background:var(--dv-lime,#A6E22E);color:#0B3D46}
.order-progress-step strong,.order-progress-step small{display:block}
.order-progress-step strong{font-size:13px;color:#102c31;margin:2px 0 4px}
.order-progress-step small{font-size:11px;color:#71807e;line-height:1.35}
.dv-push-prompt{position:fixed;right:18px;bottom:18px;z-index:1000;max-width:390px;background:#0B3D46;color:#fff;border:1px solid rgba(166,226,46,.35);box-shadow:0 20px 50px rgba(0,0,0,.24);border-radius:18px;padding:16px;display:flex;gap:14px;align-items:center}
.dv-push-prompt>div{flex:1}.dv-push-prompt strong,.dv-push-prompt span{display:block}.dv-push-prompt strong{font-size:14px;margin-bottom:4px}.dv-push-prompt span{font-size:11px;line-height:1.4;color:#cfddda}.dv-push-prompt .btn{flex:0 0 auto}
@media(max-width:700px){.order-progress{grid-template-columns:1fr}.dv-push-prompt{left:12px;right:12px;bottom:76px;max-width:none}.dv-push-prompt{align-items:flex-start;flex-direction:column}.dv-push-prompt .btn{width:100%}}


/* DeVolada · modal de instalación PWA */
.xm-pwa-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(7,25,30,.72);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.xm-pwa-modal-card{
  position:relative;
  width:min(760px,96vw);
  max-height:min(88vh,900px);
  overflow:auto;
  background:#fff;
  color:#102c31;
  border:1px solid rgba(11,61,70,.12);
  border-radius:24px;
  box-shadow:0 28px 80px rgba(0,0,0,.28);
  padding:28px;
}
.xm-pwa-modal-card h2{
  margin:6px 42px 8px 0;
  font-size:clamp(24px,4vw,34px);
  line-height:1.1;
  color:#0B3D46;
}
.xm-pwa-modal-card>p{
  margin:0 0 20px;
  color:#5d6c69;
  line-height:1.55;
}
.xm-pwa-x{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#eef4f2;
  color:#0B3D46;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.xm-pwa-kicker{
  display:inline-block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#7cb500;
}
.xm-pwa-guide-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:20px 0;
}
.xm-pwa-device{
  border:1px solid #dfe8e5;
  background:#f8fbfa;
  border-radius:16px;
  padding:16px;
}
.xm-pwa-device strong{
  display:block;
  margin-bottom:8px;
  color:#0B3D46;
}
.xm-pwa-device ol{
  margin:8px 0 0;
  padding-left:19px;
  font-size:12px;
  line-height:1.55;
  color:#586763;
}
.xm-pwa-device-icon{
  display:block;
  font-size:24px;
  margin-bottom:8px;
}
.xm-pwa-install-now{
  display:flex;
  justify-content:center;
  margin:16px 0 8px;
}
.xm-pwa-install-now .btn{
  min-width:220px;
}
.xm-pwa-remember{
  display:flex;
  gap:9px;
  align-items:flex-start;
  margin:18px 0 14px;
  font-size:13px;
  color:#455451;
}
.xm-pwa-remember input{
  margin-top:3px;
}
.xm-pwa-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:14px;
}
.xm-pwa-modal-card>small{
  display:block;
  margin-top:12px;
  color:#7a8885;
  font-size:11px;
}
body:has(.xm-pwa-modal){
  overflow:hidden;
}
@media(max-width:760px){
  .xm-pwa-modal{
    align-items:flex-end;
    padding:10px;
  }
  .xm-pwa-modal-card{
    width:100%;
    max-height:92vh;
    border-radius:22px 22px 14px 14px;
    padding:22px 18px calc(18px + env(safe-area-inset-bottom));
  }
  .xm-pwa-guide-grid{
    grid-template-columns:1fr;
  }
  .xm-pwa-desktop-guide{
    display:none;
  }
  .xm-pwa-modal-actions .btn,
  .xm-pwa-install-now .btn{
    width:100%;
  }
}
