*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#fff;color:#090909;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}.phone{width:min(100%,480px);min-height:100vh;margin:0 auto;background:#fff;padding:0 20px calc(122px + env(safe-area-inset-bottom));position:relative}.top{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:22px;font-weight:750;letter-spacing:-.6px}.brand .uno{color:#0b8fd8}.table-pill{font-size:13px;color:#777;padding:8px 12px;border-radius:999px;background:#f5f5f5}.back{border:0;background:transparent;width:42px;height:42px;padding:0;text-align:left;font-size:34px;line-height:1;cursor:pointer}.progress{display:flex;gap:8px;margin:4px 0 30px}.progress span{height:5px;flex:1;border-radius:99px;background:#e8e8e8}.progress span.on{background:#050505}.intro{padding:0 0 24px}.eyebrow{font-size:13px;color:#777;margin-bottom:7px}.intro h1{font-size:34px;line-height:1.03;letter-spacing:-1.25px;margin:0 0 10px;font-weight:680}.intro p{margin:0;color:#747474;font-size:16px;line-height:1.4}.primary,.secondary{width:100%;height:64px;border-radius:32px;border:0;font-size:17px;font-weight:680;cursor:pointer}.primary{background:#000;color:#fff}.primary:disabled{background:#e5e5e5;color:#fff}.secondary{background:#efefef}.sticky{position:fixed;z-index:10;left:50%;transform:translateX(-50%);bottom:0;width:min(100%,480px);padding:18px 20px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 18%,#fff)}
/* Sunday-style bill */
.bill-hero{height:255px;margin:0 -20px 0;position:relative;background:#191919 center/cover no-repeat}.bill-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.08),rgba(0,0,0,.04))}.hero-action{position:absolute;z-index:2;top:22px;width:58px;height:58px;border:0;border-radius:50%;background:#fff;font-size:25px;display:grid;place-items:center;box-shadow:0 1px 5px #0001}.hero-action.share{left:18px}.hero-action.menu{right:18px}.restaurant-mark{position:absolute;z-index:3;left:50%;bottom:-45px;transform:translateX(-50%);width:96px;height:96px;border-radius:50%;background:#050505;color:#fff;border:3px solid #fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 2px 6px #0002}.restaurant-mark strong{font-size:17px;letter-spacing:-.4px}.restaurant-mark strong span{color:#0b8fd8}.restaurant-mark small{font-size:8px;letter-spacing:3px;margin-top:2px}.bill-main{padding-top:72px}.bill-meta{font-size:15px;color:#777;margin-bottom:20px}.due-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.due-row h1{font-size:28px;margin:0;letter-spacing:-.8px}.due-row strong{font-size:28px}.rule{height:7px;border-radius:10px;background:#f6f6f6;margin-bottom:23px}.bill-lines{border-bottom:1px solid #eee}.bill-line{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;min-height:72px;border-bottom:1px solid #eee}.bill-line:last-child{border-bottom:0}.qty{width:32px;height:32px;border-radius:8px;background:#f6f6f6;display:grid;place-items:center;font-size:15px}.bill-line .name{font-size:16px}.bill-line .price{font-size:16px;white-space:nowrap}.bill-cta{margin-top:26px}.sync-note{text-align:center;color:#aaa;font-size:10px;margin:13px 0 0}
/* selection */
.options{display:flex;flex-direction:column;gap:11px}.option{width:100%;display:grid;grid-template-columns:24px 1fr;gap:13px;text-align:left;border:1px solid #ddd;background:#fff;border-radius:18px;padding:18px;cursor:pointer}.option.selected{border:1.5px solid #111;background:#f7f7f7}.option div{display:flex;flex-direction:column;gap:4px}.option strong{font-size:17px}.option small,.subcard small{font-size:13px;color:#777}.radio{width:21px;height:21px;border:1.5px solid #aaa;border-radius:50%;position:relative}.option.selected .radio{background:#000;border-color:#000}.option.selected .radio:after{content:"✓";position:absolute;color:#fff;font-size:12px;left:5px;top:1px}.subcard{padding:17px;border:1px solid #ddd;border-radius:18px}.subcard>label{display:block;color:#777;font-size:13px;margin-bottom:12px}.stepper{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;text-align:center;border:1px solid #ddd;border-radius:14px;overflow:hidden}.stepper button{height:46px;border:0;background:#f5f5f5;font-size:24px}.your-part,.picker-total{display:flex;justify-content:space-between;margin-top:15px}.pick-item{width:100%;display:grid;grid-template-columns:1fr 26px;gap:10px;align-items:center;text-align:left;padding:14px 0;border:0;border-bottom:1px solid #eee;background:#fff}.pick-item div{display:flex;flex-direction:column;gap:4px}.pick-item small{color:#777}.checkmark{width:23px;height:23px;border:1px solid #ccc;border-radius:50%;display:grid;place-items:center}.pick-item.picked .checkmark{background:#000;color:#fff}.money-input{height:58px;border:1px solid #ccc;border-radius:14px;display:flex;align-items:center;padding:0 16px;gap:8px}.money-input input{border:0;outline:0;width:100%;font-size:23px}
/* Sunday tip */
.tip-page{padding-top:55px;text-align:center}.tip-page h1{font-size:36px;line-height:1.05;letter-spacing:-1.3px;max-width:360px;margin:0 auto 46px}.tip-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tip-choice{height:145px;border:1px solid #ddd;border-radius:28px;background:#fff;position:relative;font-size:22px;cursor:pointer}.tip-choice.selected{background:#f1f1f1;border:1.5px solid #000}.tip-choice .emoji{position:absolute;left:0;right:0;bottom:-28px;font-size:43px}.tip-choice .popular{position:absolute;top:-15px;right:8px;background:#000;color:#fff;border-radius:10px;padding:5px 9px;font-size:11px}.tip-bottom{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(100%,480px);padding:26px 20px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,rgba(255,255,255,.6),#fff 22%);text-align:center}.tip-bottom .tip-amount{color:#777;font-size:16px;margin-bottom:5px}.tip-bottom .paying{font-size:18px;margin-bottom:22px}.tip-custom-link{position:absolute;right:20px;top:22px;border:0;background:none;font-size:14px}.custom-tip-input{margin:22px auto 0;max-width:180px;height:55px;border:1px solid #111;border-radius:14px;display:flex;align-items:center;padding:0 14px}.custom-tip-input input{border:0;outline:0;min-width:0;width:100%;font-size:22px;text-align:center}
/* payment */
.checkout-head{padding-top:5px}.checkout-summary{padding:15px 0 25px;border-bottom:10px solid #f6f6f6;margin:0 -20px 28px;padding-left:20px;padding-right:20px}.checkout-summary>div{display:flex;justify-content:space-between;padding:6px 0;font-size:18px}.checkout-summary .muted{color:#777}.checkout-summary .total{font-size:21px}.pay-title{font-size:24px;margin:0 0 22px}.payment-card{border:1.5px solid #111;border-radius:18px;padding:20px;margin-bottom:14px}.payment-select{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center}.black-check{width:25px;height:25px;border-radius:50%;background:#000;color:#fff;display:grid;place-items:center;font-size:13px}.payment-select strong{font-size:18px}.logos{display:flex;gap:5px}.logo-chip{font-size:9px;font-weight:800;border:1px solid #ddd;border-radius:5px;padding:7px 6px;background:#fff}.save-card{margin-top:24px;display:flex;gap:10px;align-items:center;font-size:16px}.square{width:23px;height:23px;border:1px solid #ccc}.wallet-card{border-color:#ddd}.receipt-title{font-size:22px;margin:28px 0 7px}.receipt-copy{color:#777;line-height:1.45;margin:0 0 20px}.field{margin:15px 0}.field label{font-weight:650;display:block;margin-bottom:8px}.field input{width:100%;height:58px;border:1px solid #ddd;border-radius:14px;padding:0 16px;font-size:18px;outline:0}.legal{font-size:12px;color:#777;text-align:center;line-height:1.4;margin:25px 12px}.future{font-size:12px;color:#999;line-height:1.4}.method-head{padding-top:30px}.summary-card{border:1px solid #ddd;border-radius:18px;padding:16px}.summary-card>div,.receipt>div{display:flex;justify-content:space-between;padding:8px 0}.summary-card span,.receipt span{color:#777}.summary-card .grand{border-top:1px solid #eee;margin-top:7px;padding-top:15px;font-size:19px}.sandbox-note{margin-top:14px;padding:14px;border-radius:14px;background:#fff8d9;border:1px solid #eadb8c;font-size:12px;line-height:1.45}#pct-qr{display:flex;justify-content:center;margin:32px auto;padding:16px;background:#fff}.success{text-align:center;padding-top:80px}.success-icon{width:70px;height:70px;border-radius:50%;background:#000;color:#fff;display:grid;place-items:center;font-size:30px;margin:0 auto 25px}.success h1{font-size:38px;margin:0 0 8px}.success p{color:#777}.receipt{text-align:left;border:1px solid #ddd;border-radius:18px;padding:16px;margin-top:28px}.loading{text-align:center;padding-top:38vh}.loading h1{font-size:26px}.loading p{color:#777}@media(max-width:480px){.phone{box-shadow:none}.tip-page h1{font-size:34px}}

/* V0.2.1 — Kansas + reconciliación + receipt + pagoUno card demo */
.kansas-hero{background-color:#2a201b;background-size:cover;background-position:center 46%}
.kansas-mark{background:#f4efe5!important;border:3px solid #fff!important;color:#6d1f2b!important;width:112px!important;height:112px!important}
.kansas-mark strong{font-family:Georgia,'Times New Roman',serif!important;font-size:22px!important;letter-spacing:-1.5px}.kansas-mark small{color:#28211f!important;letter-spacing:3px!important;font-size:7px!important;margin-top:3px}
.total-reconciled{font-size:11px;color:#999;text-align:right;margin:-3px 0 18px}.tip-custom-link{position:static!important;display:block;margin:10px auto 28px!important;border:0;background:transparent;text-decoration:underline;font-size:15px;font-weight:650;cursor:pointer}.custom-tip-box{max-width:330px;margin:22px auto 0;padding:18px;border:1px solid #ddd;border-radius:18px;text-align:left}.custom-tip-box label{font-weight:700;display:block;margin-bottom:12px}.custom-tip-box small{display:block;color:#888;margin-top:8px}.receipt-block{margin-top:30px;padding-top:4px}.receipt-field{display:flex;align-items:center;border:1px solid #d9d9d9;border-radius:14px;min-height:56px;overflow:hidden;background:#fff}.receipt-field .country{padding:0 13px;border-right:1px solid #e5e5e5;font-size:14px;white-space:nowrap}.receipt-field input{border:0;outline:0;width:100%;height:54px;padding:0 14px;font-size:16px;background:transparent}.receipt-or{display:flex;align-items:center;gap:12px;color:#aaa;font-size:12px;margin:12px 0}.receipt-or span{height:1px;background:#eee;flex:1}.text-action{border:0;background:transparent;padding:14px 0 0;font-weight:650;text-decoration:underline;cursor:pointer}.pagouno-checkout-brand{font-size:23px;font-weight:850;letter-spacing:-1px;margin:2px 0 24px}.pagouno-checkout-brand span{color:#00a7e1}.pagouno-checkout-brand small{font-size:10px;font-weight:650;color:#999;letter-spacing:1.5px;margin-left:7px;text-transform:uppercase}.card-form{border-color:#ddd}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.save-card input{width:20px;height:20px;accent-color:#000}.sandbox-note{margin-top:18px}.tip-page{padding-top:34px!important}


/* V0.16.1 — branding dinámico multi-tenant */
.bill-hero.dynamic-hero{background-size:cover;background-position:center;background-repeat:no-repeat}
.restaurant-mark.dynamic-mark{overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff}
.restaurant-mark.dynamic-mark img{width:100%;height:100%;object-fit:contain;padding:10px;box-sizing:border-box}
.restaurant-mark.dynamic-mark.text-mark{padding:12px 18px;width:auto;min-width:112px;max-width:220px;text-align:center}
.restaurant-mark.dynamic-mark.text-mark strong{font-size:16px;line-height:1.1;color:#111}


/* V0.17.0 — checkout tarjeta */
.card-form-error{margin:8px 0 14px;padding:11px 12px;border-radius:10px;background:#fff0f0;color:#b42318;font-size:13px;font-weight:650}
.logo-chip[data-brand]{transition:.15s ease;opacity:.62}
.logo-chip[data-brand].active{opacity:1;outline:2px solid #111;outline-offset:2px}
.payment-method-settings{margin:18px 0 24px;padding:18px;border:1px solid #e2e2dd;border-radius:16px;background:#fafaf8}
.payment-brand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.payment-brand-toggle{display:flex;align-items:center;gap:10px;border:1px solid #deded8;border-radius:12px;padding:12px;background:#fff;cursor:pointer}
.payment-brand-toggle input{width:18px;height:18px;margin:0}
.payment-brand-toggle span{display:flex;flex-direction:column;gap:2px}
.payment-brand-toggle small{color:#777;font-size:11px}
@media(max-width:800px){.payment-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* V0.17.1 — UX medios de pago */
.payment-brand-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px 12px !important;
  margin:14px 0 16px !important;
}
.payment-brand-toggle{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  min-height:58px;
  border:1px solid #deded8 !important;
  border-radius:12px !important;
  padding:11px 13px !important;
  background:#fff !important;
  cursor:pointer;
}
.payment-brand-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.payment-brand-copy b{font-size:14px;line-height:1.2}
.payment-brand-copy small{font-size:11px;color:#777}
.payment-brand-toggle input{flex:0 0 auto;width:18px !important;height:18px !important;margin:0 !important}

.payment-choice{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  border:1px solid #d9d9d6;
  background:#fff;
  border-radius:18px;
  padding:18px 20px;
  margin:0 0 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
  box-shadow:none;
}
.payment-choice:hover{border-color:#aaa;background:#fcfcfb}
.payment-choice-copy{display:flex;flex-direction:column;gap:10px;min-width:0}
.payment-choice-copy>strong{font-size:18px;line-height:1.2}
.choice-arrow{font-size:25px;line-height:1;color:#555}
.payuno-option-brand{font-weight:800;font-size:16px;letter-spacing:-.4px;color:#111}
.payuno-option-brand span{color:#09a5e5}
.wallet-wordmarks{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.wallet-brand{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 8px;
  border:1px solid #e0e0dc;
  border-radius:7px;
  background:#fff;
  font-size:11px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.wallet-brand.mp{font-weight:700}
.wallet-brand.modo{letter-spacing:.3px}
.wallet-brand.uala{font-weight:800}

.card-form .field{position:relative}
.card-form .field input{transition:border-color .15s ease,box-shadow .15s ease}
.card-form .field.has-error input{
  border-color:#d92d20 !important;
  box-shadow:0 0 0 2px rgba(217,45,32,.08);
}
.field-error{
  min-height:0;
  margin-top:6px;
  color:#d92d20;
  font-size:12px;
  line-height:1.25;
}
.field-error:empty{display:none}

@media(max-width:560px){
  .payment-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .payment-brand-toggle{min-height:54px;padding:10px 11px !important}
}


/* V0.18.0 — Checkout refinement inspired by the reviewed live flow */
:root{
  --ui-font:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html,body,button,input,select,textarea{font-family:var(--ui-font)}
.phone{font-family:var(--ui-font)}
.phone h1,.phone h2,.phone h3{letter-spacing:-.02em}
.phone h1{font-weight:650}
.phone h2{font-weight:620}
.phone h3{font-weight:600}
.phone strong{font-weight:600}
.phone button{font-weight:560}
.bill-main .due-row h1{font-weight:600}
.bill-main .due-row strong{font-weight:620}
.option strong,.method-title{font-weight:580}
.option small,.method-subtitle,.receipt-copy,.future,.legal,.muted{font-weight:400}
.primary{font-weight:600}
.pay-title.sunday-title{font-size:25px;font-weight:610;margin:30px 0 16px}

.sunday-checkout{padding-bottom:20px}
.sunday-summary{
  padding:12px 2px 22px;
  margin-bottom:6px;
  border-bottom:1px solid #ededeb;
}
.sunday-summary>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:30px;
  font-size:16px;
}
.sunday-summary>div span:first-child{color:#666;font-weight:400}
.sunday-summary>div span:last-child{font-weight:480}
.sunday-summary .total{margin-top:3px}
.sunday-summary .total span:first-child{color:#111;font-weight:520}
.sunday-summary .total span:last-child{font-size:19px;font-weight:620}

.payment-accordion{
  border:1px solid #dededb;
  border-radius:17px;
  background:#fff;
  margin:0 0 13px;
  overflow:hidden;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.payment-accordion.open{
  border-color:#bdbdb9;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}
.payment-accordion-head{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  border:0;
  background:transparent;
  padding:18px 17px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  text-align:left;
  color:#111;
  cursor:pointer;
  font:inherit;
}
.method-radio{
  width:18px;
  height:18px;
  border:1.5px solid #aaa;
  border-radius:50%;
  display:block;
  position:relative;
  box-sizing:border-box;
}
.method-radio.selected{border-color:#111}
.method-radio.selected:after{
  content:"";
  position:absolute;
  width:8px;height:8px;
  border-radius:50%;
  background:#111;
  left:4px;top:4px;
}
.method-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.method-title{font-size:16px;line-height:1.25}
.method-subtitle{font-size:12px;color:#858585;line-height:1.3}
.payment-accordion-body{
  border-top:1px solid #efefed;
  padding:17px;
  background:#fff;
}
.payment-help{margin:0 0 12px;font-size:14px;line-height:1.45;color:#666;font-weight:400}
.wallet-wordmarks.compact{justify-content:flex-end;gap:5px;flex-wrap:nowrap}
.wallet-wordmarks.compact .wallet-brand{height:22px;padding:0 6px;font-size:9px;border-radius:6px}
.payuno-option-brand{font-size:14px;font-weight:650;white-space:nowrap}
.payuno-option-brand span{color:#09a5e5}

.sunday-card-form{
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:none !important;
}
.sunday-card-form .logos{margin:0 0 17px}
.sunday-card-form .field{margin-bottom:15px}
.sunday-card-form label{font-size:12px;font-weight:540;margin-bottom:7px}
.sunday-card-form input{
  height:48px;
  border-radius:11px;
  border:1px solid #dbdbd7;
  padding:0 13px;
  font-size:15px;
  font-weight:400;
  background:#fff;
}
.sunday-card-form input:focus{
  outline:none;
  border-color:#999;
  box-shadow:0 0 0 2px rgba(0,0,0,.04);
}
.single-payment-note{
  margin:3px 0 2px;
  padding:11px 12px;
  border-radius:10px;
  background:#f7f7f4;
  color:#666;
  font-size:11px;
  line-height:1.4;
  font-weight:400;
}
.receipt-block{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #efefed;
}
.receipt-title{font-size:19px !important;font-weight:590 !important}
.receipt-copy{color:#777;font-size:13px}
.text-action{font-weight:520 !important}
.choose-method-hint{font-size:12px;color:#999;text-align:center;margin:16px 0 4px}
.sunday-legal{margin-top:20px;font-size:10px;color:#aaa;text-align:center}

.sticky{
  position:sticky;
  bottom:0;
  z-index:20;
  padding:12px 0 max(12px,env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff 22%,#fff 100%);
}
.sunday-primary{
  border-radius:999px;
  min-height:54px;
  font-size:15px;
  font-weight:600;
}

.progress span{height:3px}
.table-pill{font-weight:450}
.bill-meta{font-weight:400}
.bill-line .name{font-weight:420}
.bill-line .price{font-weight:450}
.qty{font-weight:500}
.sync-note{font-weight:400}

@media(max-width:520px){
  .payment-accordion-head{grid-template-columns:20px minmax(0,1fr) auto;padding:16px 14px;gap:11px}
  .wallet-wordmarks.compact .wallet-brand{padding:0 5px}
  .method-title{font-size:15px}
  .method-subtitle{font-size:11px}
}


/* V0.18.1 — compact mobile polish */
:root{
  --content-max:520px;
}

/* overall density */
.phone{
  width:min(100%,var(--content-max));
}
.top{
  padding-top:14px !important;
  margin-bottom:8px !important;
}
.progress{
  margin:4px 0 18px !important;
}
.progress span{
  height:3px !important;
}
.intro{
  padding-top:0 !important;
  margin-bottom:14px !important;
}
.intro .eyebrow{
  margin-bottom:4px !important;
  font-size:13px !important;
  font-weight:400 !important;
}
.intro h1{
  font-size:31px !important;
  line-height:1.08 !important;
  margin:0 0 7px !important;
  font-weight:590 !important;
  letter-spacing:-.028em !important;
}
.intro p{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:400 !important;
  color:#666 !important;
}

/* split-payment options: less empty space */
.options{
  display:flex;
  flex-direction:column;
  gap:9px !important;
}
.option{
  min-height:0 !important;
  padding:14px 16px !important;
  border-radius:15px !important;
  gap:12px !important;
  align-items:flex-start !important;
}
.option>div{
  gap:2px !important;
}
.option strong{
  font-size:16px !important;
  font-weight:560 !important;
  line-height:1.22 !important;
}
.option small{
  margin-top:3px !important;
  font-size:12px !important;
  line-height:1.25 !important;
  color:#777 !important;
}
.option.selected{
  background:#fafafa !important;
  border-color:#888 !important;
}
.radio{
  margin-top:1px !important;
}
.subcard{
  margin:-2px 0 2px !important;
  padding:13px 15px !important;
  border-radius:14px !important;
}
.stepper{
  margin-top:8px !important;
}
.your-part{
  margin-top:10px !important;
}

/* sticky CTA aligned to the phone, not the viewport */
.sticky{
  position:sticky !important;
  left:auto !important;
  right:auto !important;
  bottom:0 !important;
  width:100% !important;
  margin:10px 0 0 !important;
  padding:10px 0 max(10px,env(safe-area-inset-bottom)) !important;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff 28%,#fff 100%) !important;
}
.sticky .primary{
  width:100% !important;
  margin:0 !important;
  min-height:50px !important;
}

/* payment screen density */
.sunday-checkout{
  padding-bottom:8px !important;
}
.sunday-summary{
  padding:4px 0 14px !important;
  margin-bottom:4px !important;
}
.sunday-summary>div{
  min-height:24px !important;
  font-size:14px !important;
}
.sunday-summary .total span:last-child{
  font-size:17px !important;
}
.pay-title.sunday-title{
  margin:20px 0 12px !important;
  font-size:23px !important;
  font-weight:580 !important;
}
.payment-accordion{
  margin-bottom:9px !important;
  border-radius:15px !important;
}
.payment-accordion-head{
  padding:13px 14px !important;
  gap:10px !important;
}
.method-title{
  font-size:15px !important;
  font-weight:550 !important;
}
.method-subtitle{
  font-size:11px !important;
  margin-top:1px !important;
}
.payment-accordion-body{
  padding:13px 14px !important;
}
.payment-help{
  margin-bottom:9px !important;
  font-size:13px !important;
}
.sunday-card-form .logos{
  margin-bottom:12px !important;
}
.sunday-card-form .field{
  margin-bottom:10px !important;
}
.sunday-card-form label{
  margin-bottom:5px !important;
  font-size:11px !important;
  font-weight:500 !important;
}
.sunday-card-form input{
  height:43px !important;
  border-radius:10px !important;
  font-size:14px !important;
  padding:0 12px !important;
}
.field-row{
  gap:9px !important;
}
.field-error{
  margin-top:4px !important;
  font-size:11px !important;
}
.single-payment-note{
  margin-top:0 !important;
  padding:8px 10px !important;
  font-size:10px !important;
}

/* receipt section more compact */
.receipt-block{
  margin-top:16px !important;
  padding-top:15px !important;
}
.receipt-title{
  font-size:17px !important;
  margin-bottom:2px !important;
  font-weight:560 !important;
}
.receipt-copy{
  margin:0 0 10px !important;
  font-size:12px !important;
}
.receipt-field{
  min-height:43px !important;
}
.receipt-field input{
  height:43px !important;
  font-size:14px !important;
}
.receipt-or{
  margin:8px 0 !important;
}
.text-action{
  margin-top:8px !important;
  font-size:12px !important;
}
.sunday-legal{
  margin-top:13px !important;
  font-size:9px !important;
}
.choose-method-hint{
  margin:10px 0 0 !important;
}

/* reduce excessive bold globally in consumer flow */
.checkout-head strong,
.checkout-summary strong,
.summary-card strong,
.receipt-block strong,
.tip-bottom strong,
.your-part strong{
  font-weight:560 !important;
}
.table-pill{
  font-weight:420 !important;
}
.logo-chip{
  font-weight:520 !important;
}
.wallet-brand{
  font-weight:560 !important;
}
.payuno-option-brand{
  font-weight:600 !important;
}

/* tip screen tightening */
.tip-section{
  padding-top:0 !important;
}
.tip-choice-grid{
  gap:8px !important;
}
.tip-choice{
  min-height:70px !important;
  padding:12px 10px !important;
  font-weight:560 !important;
}
.tip-bottom{
  margin-top:16px !important;
}
.tip-amount,.paying{
  font-size:13px !important;
}

/* desktop screenshot width: keep content centered, no floating CTA offset */
@media(min-width:700px){
  .phone{
    width:520px !important;
  }
  .sticky{
    width:100% !important;
  }
}

@media(max-width:560px){
  .phone{
    width:100% !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .intro h1{
    font-size:29px !important;
  }
  .option{
    padding:13px 14px !important;
  }
  .payment-accordion-head{
    grid-template-columns:20px minmax(0,1fr) auto !important;
  }
}


/* V0.18.2 — fix definitivo de alineación del CTA */
.sticky{
  transform:none !important;
  left:auto !important;
  right:auto !important;
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
.sticky .primary{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}


/* V0.18.3 — payment polish + brand assets */
.payment-logo{
  display:block;
  width:auto;
  height:24px;
  object-fit:contain;
}
.pagouno-logo{
  height:25px;
  max-width:92px;
}
.wallet-head-logos{
  display:flex;
  align-items:center;
  gap:4px;
}
.wallet-head-logos .payment-logo{
  height:22px;
  max-width:48px;
}
.wallet-logo-row{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin:0 0 9px;
}
.wallet-logo-row .payment-logo{
  height:27px;
  max-width:88px;
  border:1px solid #ecece8;
  border-radius:7px;
}
.card-logos-real{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin:0 0 9px !important;
}
.card-logo-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:29px;
  min-width:54px;
  border:1px solid #e8e8e4;
  border-radius:7px;
  opacity:.72;
  background:#fff;
}
.card-logo-wrap.active{
  opacity:1;
  border-color:#777;
  box-shadow:0 0 0 1px #777;
}
.card-brand-logo{
  height:26px;
  max-width:64px;
}

/* Card form tighter still */
.card-body{
  padding:10px 12px 11px !important;
}
.sunday-card-form .field{
  margin-bottom:7px !important;
}
.sunday-card-form label{
  margin-bottom:3px !important;
  font-size:10.5px !important;
  line-height:1.1 !important;
}
.sunday-card-form input{
  height:39px !important;
  padding:0 10px !important;
  font-size:13px !important;
}
.sunday-card-form .field-row{
  gap:7px !important;
}
.single-payment-note{
  padding:6px 8px !important;
  font-size:9px !important;
  margin-top:1px !important;
}
.card-body .receipt-block{
  margin-top:11px !important;
  padding-top:11px !important;
}
.card-body .receipt-title{
  font-size:15px !important;
  margin:0 0 1px !important;
}
.card-body .receipt-copy{
  margin-bottom:7px !important;
}
.card-body .receipt-field,
.card-body .receipt-field input{
  height:39px !important;
  min-height:39px !important;
}
.card-body .receipt-or{
  margin:5px 0 !important;
}
.card-body .text-action{
  margin-top:5px !important;
}
.field-error{
  margin-top:2px !important;
}

/* Inline interoperable QR */
.wallet-body{
  padding:11px 12px 12px !important;
}
.inline-pct-qr{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:6px 0 4px;
}
.inline-pct-title{
  font-size:17px;
  font-weight:570;
  margin-bottom:2px;
}
.inline-pct-total{
  font-size:12px;
  color:#777;
  margin-bottom:10px;
}
#pct-qr-inline{
  padding:9px;
  background:#fff;
  border-radius:12px;
  border:1px solid #eeeeea;
}
#pct-qr-inline img,
#pct-qr-inline canvas{
  display:block;
  max-width:100%;
  height:auto !important;
}
.inline-pct-note{
  margin-top:8px;
  font-size:10px;
  color:#8a8a8a;
}
.wallet-body .receipt-block{
  margin-top:12px !important;
  padding-top:11px !important;
}

/* tip: visible progress + lighter */
.tip-page{
  padding-top:0 !important;
}
.tip-page h1{
  font-weight:580 !important;
}
.popular{
  font-weight:600 !important;
}


/* V0.18.4 — bugfix + density */
.bill-main{
  padding-top:8px !important;
  padding-bottom:14px !important;
}
.bill-meta{
  margin:8px 0 10px !important;
  font-size:12px !important;
}
.due-row{
  margin:0 0 8px !important;
  align-items:center !important;
}
.due-row h1{
  font-size:23px !important;
  margin:0 !important;
  font-weight:570 !important;
}
.due-row strong{
  font-size:22px !important;
  font-weight:590 !important;
}
.rule{
  margin:8px 0 4px !important;
}
.bill-lines{
  margin-top:0 !important;
}
.bill-line{
  min-height:0 !important;
  padding:10px 0 !important;
  gap:10px !important;
}
.bill-line .qty{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  font-size:12px !important;
}
.bill-line .name{
  font-size:13px !important;
  line-height:1.2 !important;
}
.bill-line .price{
  font-size:13px !important;
}
.total-reconciled{
  margin:4px 0 8px !important;
  font-size:9px !important;
}
.bill-cta{
  min-height:48px !important;
  margin-top:10px !important;
}
.sync-note{
  margin-top:7px !important;
}
.bill-hero{
  min-height:210px !important;
}
.restaurant-mark.dynamic-mark{
  width:74px !important;
  height:74px !important;
}
@media(max-width:560px){
  .bill-hero{min-height:185px !important}
  .bill-main{padding-left:16px !important;padding-right:16px !important}
  .bill-line{padding:8px 0 !important}
}

/* Payment accordion clickability + logos */
.payment-accordion-head{
  position:relative;
  z-index:2;
  pointer-events:auto !important;
}
.payment-accordion-head *{
  pointer-events:none;
}
.payment-logo{
  pointer-events:none;
}


/* V0.18.5 — inline logos + smaller QR */
.hero-action{display:none !important}
.brand-inline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:0;
  flex:0 0 auto;
}
.brand-inline svg{
  display:block;
  width:auto;
  height:100%;
}
.wallet-head-logos .brand-inline{
  height:22px;
  max-width:52px;
}
.wallet-logo-row .brand-inline{
  height:27px;
  max-width:96px;
  border:1px solid #ecece8;
  border-radius:7px;
  overflow:hidden;
  background:#fff;
}
.pagouno-logo{
  height:27px !important;
  width:94px;
}
.card-logo-wrap .brand-inline{
  height:26px;
  width:64px;
}
#pct-qr-inline{
  padding:8px !important;
}
#pct-qr-inline canvas,
#pct-qr-inline img{
  width:168px !important;
  height:168px !important;
}


/* V0.18.6 — real uploaded logos + circular restaurant mark */
.brand-inline{
  overflow:hidden;
}
.brand-inline img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.restaurant-mark.dynamic-mark{
  border-radius:50% !important;
  overflow:hidden !important;
  padding:0 !important;
  background:#fff !important;
}
.restaurant-mark.dynamic-mark img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  padding:0 !important;
  border-radius:50% !important;
}

/* Keep the real logos legible without adding fake wordmarks */
.wallet-head-logos .brand-inline{height:24px; width:46px}
.wallet-logo-row .brand-inline{height:30px; width:auto; min-width:48px; max-width:100px}
.wallet-logo-row .brand-inline img{max-width:100px; width:auto}
.pagouno-logo{height:28px !important; width:94px !important}
.card-logo-wrap .brand-inline{height:27px; width:62px}
.card-logo-wrap .brand-inline img{object-fit:contain}


/* V0.18.7 — compact wallet logos in a single row */
.wallet-head-logos{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:nowrap;
}
.wallet-head-logos .brand-inline{
  height:20px !important;
  width:auto !important;
  min-width:0 !important;
  max-width:44px !important;
  flex:0 1 auto;
}
.wallet-head-logos .brand-inline img{
  width:auto;
  max-width:44px;
  height:20px;
  object-fit:contain;
}


/* V0.18.8 — email-only receipt */
.receipt-email-error{
  min-height:0;
  margin-top:5px;
  color:#d92d20;
  font-size:11px;
  line-height:1.25;
}
.receipt-email-error:empty{display:none}


/* V0.18.9 — loader + express payment methods */
.brand-real{
  display:flex;
  justify-content:center;
  align-items:center;
}
.brand-real img{
  display:block;
  width:112px;
  height:auto;
  object-fit:contain;
}
.loading-payattable{
  min-height:70vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.loading-payattable .brand-real img{
  width:128px;
}
.loading-product{
  margin-top:11px;
  font-size:11px;
  letter-spacing:.18em;
  color:#777;
}
.loading-payattable h1{
  margin:13px 0 6px;
  font-size:24px;
  font-weight:580;
}
.loading-payattable p{
  margin:0;
  color:#888;
  font-size:13px;
}

.express-payment-option{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  border:1px solid #dededb;
  background:#fff;
  border-radius:15px;
  margin:0 0 9px;
  padding:13px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  text-align:left;
  color:#111;
  font:inherit;
  cursor:pointer;
}
.express-payment-option:hover{
  border-color:#aaa;
  background:#fcfcfb;
}
.express-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.express-logo{
  width:88px;
  height:28px;
}
.express-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}


/* V0.18.11 — express methods use the same radio pattern */
.express-payment-option{
  display:grid !important;
  grid-template-columns:20px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:12px !important;
}
.express-payment-option.selected{
  border-color:#999 !important;
  background:#fafafa !important;
}
.express-payment-option .method-radio{
  pointer-events:none;
}
.express-logo{
  width:94px !important;
  height:32px !important;
}
.express-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
@media(max-width:520px){
  .express-logo{width:82px !important;height:28px !important}
}


/* V0.18.12 — exact Apple Pay / Google Pay assets supplied by user */
.express-pay-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  line-height:0;
  overflow:hidden;
}
.express-pay-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.express-payment-option .express-logo{
  width:94px !important;
  height:30px !important;
}
.express-payment-option .express-logo.on-light{
  background:transparent;
}

/* CTA negro: texto + versión del logo preparada para fondo oscuro */
.express-cta-logo{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
}
.express-cta-logo > span:first-child{
  font-size:15px;
  font-weight:560;
}
.express-cta-brand{
  height:27px;
  width:88px;
}
.express-cta-brand.on-dark img{
  max-width:100%;
  max-height:27px;
}
.express-cta-brand.on-dark{
  background:transparent;
}

/* Google dark asset already has its own light capsule, so keep it compact. */
.express-cta-brand.on-dark img[src*="googlepay-dark"]{
  height:25px;
  width:auto;
}

@media(max-width:560px){
  .express-payment-option .express-logo{
    width:86px !important;
    height:27px !important;
  }
  .express-cta-brand{
    width:82px;
    height:25px;
  }
}


/* V0.18.13 — shrink light logos ~10% and center dark CTA content */
.express-payment-option .express-logo{
  width:85px !important;
  height:27px !important;
}

.express-cta-logo{
  padding-left:24px !important;
  padding-right:24px !important;
}
.express-cta-content{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:0 auto;
}
.express-cta-content > span:first-child{
  line-height:1;
}
.express-cta-brand{
  width:84px;
  height:25px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.express-cta-brand img{
  display:block;
  margin:0 auto;
}
.express-cta-brand.on-dark img[src*="applepay-dark"]{
  max-height:24px;
  width:auto;
}
.express-cta-brand.on-dark img[src*="googlepay-dark"]{
  height:24px;
  width:auto;
}

@media(max-width:560px){
  .express-payment-option .express-logo{
    width:77px !important;
    height:24px !important;
  }
  .express-cta-content{
    gap:8px;
  }
  .express-cta-brand{
    width:78px;
    height:24px;
  }
}

/* V0.18.23 — tipografía consistente en títulos del checkout */
.intro h1,
.tip-page h1,
.pay-title.sunday-title,
.success h1{
  font-size:31px !important;
  line-height:1.08 !important;
  font-weight:590 !important;
  letter-spacing:-.028em !important;
}

/* Conservamos el ritmo propio de cada pantalla sin cambiar la jerarquía tipográfica */
.tip-page h1{
  max-width:360px !important;
}
.pay-title.sunday-title{
  margin:20px 0 12px !important;
}
.success h1{
  margin:0 0 8px !important;
}

@media(max-width:560px){
  .intro h1,
  .tip-page h1,
  .pay-title.sunday-title,
  .success h1{
    font-size:29px !important;
  }
}

/* V0.18.24 — checkout responsive para celulares angostos + CTA limpio */
.bill-cta{
  letter-spacing:0 !important;
}

/* Prevent text/logo collisions in payment rows. */
.payment-accordion-head,
.express-payment-option{
  min-width:0 !important;
}
.method-copy,
.express-copy{
  min-width:0 !important;
}
.method-title,
.method-subtitle{
  overflow-wrap:normal;
  word-break:normal;
}

/* Normal mobile phones */
@media(max-width:430px){
  .phone{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .checkout-summary{
    margin-left:-16px !important;
    margin-right:-16px !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .payment-accordion-head,
  .express-payment-option{
    padding:12px 12px !important;
    gap:9px !important;
  }

  .method-title{
    font-size:14px !important;
    line-height:1.22 !important;
  }

  .method-subtitle{
    font-size:10.5px !important;
    line-height:1.25 !important;
  }

  .express-payment-option .express-logo{
    width:72px !important;
    height:24px !important;
  }
}

/* 320–390 px: give the wallet copy a full row and place logos underneath.
   This avoids squeezing “Billetera / QR Interoperable” into a very narrow column. */
@media(max-width:390px){
  .wallet-accordion .payment-accordion-head{
    grid-template-columns:20px minmax(0,1fr) !important;
    grid-template-areas:
      "radio copy"
      ". logos";
    column-gap:10px !important;
    row-gap:7px !important;
    align-items:start !important;
  }

  .wallet-accordion .method-radio{
    grid-area:radio;
    margin-top:2px;
  }

  .wallet-accordion .method-copy{
    grid-area:copy;
  }

  .wallet-accordion .wallet-head-logos{
    grid-area:logos;
    width:100%;
    min-width:0;
    justify-content:flex-start !important;
    gap:5px !important;
    overflow:hidden;
  }

  .wallet-accordion .wallet-head-logos .brand-inline{
    height:18px !important;
    max-width:39px !important;
    flex:0 1 auto !important;
  }

  .wallet-accordion .wallet-head-logos .brand-inline img{
    height:18px !important;
    max-width:39px !important;
    width:auto !important;
  }

  .express-payment-option{
    grid-template-columns:18px minmax(0,1fr) auto !important;
    gap:8px !important;
  }

  .express-payment-option .express-logo{
    width:65px !important;
    height:22px !important;
  }

  .pay-title.sunday-title{
    font-size:27px !important;
    line-height:1.08 !important;
  }
}

/* Very narrow legacy phones */
@media(max-width:340px){
  .phone{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .checkout-summary{
    margin-left:-12px !important;
    margin-right:-12px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .payment-accordion-head,
  .express-payment-option{
    padding:11px 10px !important;
  }

  .pay-title.sunday-title{
    font-size:25px !important;
  }

  .express-payment-option .express-logo{
    width:58px !important;
    height:20px !important;
  }
}



/* V0.18.40 · pagos parciales visibles */
.payment-history{margin:18px 0 4px;padding:14px 0 4px;border-top:1px solid #e8e8e5}
.payment-history-title{font-size:13px;font-weight:800;letter-spacing:.02em;margin-bottom:8px}
.payment-history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0}
.payment-history-label{font-size:13px;font-weight:400;color:#555;min-width:0}
.payment-history-amount{font-size:14px;font-weight:700;white-space:nowrap}
.payment-history-total{display:flex;justify-content:space-between;align-items:center;margin-top:5px;padding-top:10px;border-top:1px dashed #ddddda;font-size:13px}

.bill-summary-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:13px;color:#666}
.bill-summary-row strong{font-size:14px;color:#222}
.bill-summary-remaining{padding-bottom:10px}
.option:disabled{opacity:.55;cursor:not-allowed}


/* V0.18.40.8 · payment summary cleanup */
.payment-history{margin:18px 0 6px;padding-top:16px;border-top:1px solid #e6e6e2}
.payment-history-title{font-size:14px;font-weight:700;margin-bottom:9px}
.payment-history-card{border:1px solid #ecece8;border-radius:12px;padding:2px 12px;background:#fafaf8}
.payment-history-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #ecece8}
.payment-history-row:last-child{border-bottom:0}
.payment-history-label{font-size:12.5px;font-weight:400;color:#666;min-width:0}
.payment-history-amount{font-size:13px;font-weight:650;color:#111;white-space:nowrap}
.payment-history-empty{padding:11px 0;font-size:12.5px;color:#888}
.payment-summary-line{display:flex;justify-content:space-between;align-items:center;padding:12px 2px 0;font-size:13px;color:#555}
.payment-summary-line strong{font-size:14px;color:#111}
.payment-summary-balance{margin-top:10px;padding-top:11px;border-top:1px solid #e6e6e2;font-size:15px;color:#111}
.payment-summary-balance strong{font-size:18px}

.bill-discount-row{display:flex;justify-content:space-between;align-items:center;padding:10px 2px 14px;border-top:1px solid #eee;font-size:13px;color:#555}
.bill-discount-row strong{color:#111;font-size:13px}

.table-totals{padding:4px 0 2px}
.table-total-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0;font-size:13px;color:#666}
.table-total-row strong{font-size:14px;color:#111;white-space:nowrap}
.table-discount span,.table-discount strong{color:#666}
.table-net-total{margin-top:4px;padding-top:9px;border-top:1px solid #ecece8}
.empty-bill-main{padding-bottom:28px}
.empty-bill-copy{padding:25px 0 20px;text-align:center}
.empty-bill-copy h1{font-size:25px;line-height:1.15;margin:0 0 12px}
.empty-bill-copy p{font-size:14px;line-height:1.55;color:#777;margin:0 auto;max-width:340px}
.empty-bill-screen .bill-cta{margin-top:8px}

/* Feedback de pago, sin ocultar la página ni permitir dobles clics. */
.card-processing-overlay{position:fixed;inset:0;z-index:99999;background:rgba(255,255,255,.86);display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}
.card-processing-dialog{display:flex;flex-direction:column;gap:13px;align-items:center;text-align:center;width:min(330px,100%);padding:30px 20px;background:#fff;border:1px solid #e5e5e5;border-radius:20px;box-shadow:0 14px 50px #00000016;color:#171717}
.card-processing-dialog strong{font-size:19px}.card-processing-dialog>span:last-child{font-size:13px;color:#666;line-height:1.5}
.card-processing-spinner{width:40px;height:40px;border:4px solid #e7e7e7;border-top-color:#161616;border-radius:50%;animation:card-processing-rotate .75s linear infinite}@keyframes card-processing-rotate{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.card-processing-spinner{animation-duration:2s}}

/* Pantalla de cuenta cerrada: confirmación amable sin CTA inactivo. */
.closed-confirmation{text-align:center;padding:25px 14px 18px;margin:16px 0 6px;border-top:1px solid #ebebe8}
.closed-confirmation-icon{width:48px;height:48px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#e8f6ec;color:#22834c;font-size:27px;font-weight:700}
.closed-confirmation h2{font-size:23px;letter-spacing:-.55px;margin:0 0 7px;color:#141414}
.closed-confirmation p{font-size:13px;line-height:1.55;color:#777;max-width:315px;margin:0 auto}
.payment-history-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.payment-history-info strong{font-size:13px;font-weight:650;color:#262626}
.payment-history-info small{font-size:11.5px;color:#888}
.closed-readonly-label{margin:20px auto 7px;padding:11px 18px;border-radius:12px;background:#f5f5f4;color:#777;font-size:13px;font-weight:600;text-align:center}

/* Tooltip sobre opción deshabilitada: el contenedor recibe hover/foco. */
.item-option-tooltip{display:block;position:relative}
.item-option-tooltip>.option{width:100%}
.item-option-tooltip.is-blocked{cursor:help}
.item-option-tooltip .item-option-hint{display:none;position:absolute;bottom:calc(100% + 8px);left:12px;right:12px;z-index:15;padding:10px 12px;background:#222;color:#fff;border-radius:9px;font-size:12px;line-height:1.45;box-shadow:0 6px 18px #0002;pointer-events:none}
.item-option-tooltip.is-blocked:hover .item-option-hint,.item-option-tooltip.is-blocked:focus .item-option-hint,.item-option-tooltip.is-blocked:focus-within .item-option-hint{display:block}
