/* ═══════════════════════════════════════════════════════════
   Gastos — hoja de estilos
   ═══════════════════════════════════════════════════════════ */

:root{
  --bg:#08080e;
  --bg-2:#0f0f1a;
  --card:rgba(255,255,255,.055);
  --card-2:rgba(255,255,255,.09);
  --line:rgba(255,255,255,.09);
  --txt:#f2f2f7;
  --txt-2:rgba(242,242,247,.58);
  --txt-3:rgba(242,242,247,.34);

  --violet:#7c5cff;
  --violet-2:#a78bfa;
  --green:#32d583;
  --red:#ff6b6b;
  --yellow:#ffc531;
  --yellow-soft:rgba(255,197,49,.13);
  --yellow-line:rgba(255,197,49,.34);

  --r-lg:26px;
  --r-md:18px;
  --r-sm:13px;

  --safe-t:env(safe-area-inset-top,0px);
  --safe-b:env(safe-area-inset-bottom,0px);

  --font:-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI',Inter,system-ui,sans-serif;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}

html,body{height:100%;margin:0;}

body{
  background:var(--bg);
  color:var(--txt);
  font-family:var(--font);
  font-size:15px;
  line-height:1.45;
  overflow:hidden;
  overscroll-behavior:none;
  -webkit-font-smoothing:antialiased;
}

/* Fondo con auroras */
body::before{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(60% 42% at 12% -6%, rgba(124,92,255,.34), transparent 65%),
    radial-gradient(52% 38% at 96% 4%, rgba(50,213,131,.16), transparent 62%),
    radial-gradient(70% 46% at 50% 108%, rgba(255,197,49,.11), transparent 66%),
    linear-gradient(180deg,#0b0b16 0%, #08080e 55%);
}

button{font-family:inherit;color:inherit;border:0;background:none;cursor:pointer;}
input,select,textarea{font-family:inherit;font-size:16px;color:inherit;}
.hidden{display:none !important;}

/* ═══════════ PANTALLA DE BLOQUEO ═══════════ */

.lock{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;
  animation:lockIn .5s cubic-bezier(.2,.9,.25,1);}
@keyframes lockIn{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}

.lock.out{animation:lockOut .42s cubic-bezier(.5,0,.75,0) forwards;}
@keyframes lockOut{to{opacity:0;transform:scale(1.12);filter:blur(14px);}}

.lock-bg{position:absolute;inset:0;
  background:
    radial-gradient(70% 45% at 50% 8%, rgba(124,92,255,.4), transparent 62%),
    radial-gradient(60% 40% at 20% 96%, rgba(50,213,131,.16), transparent 60%),
    linear-gradient(180deg,#0d0d1c,#07070d);
}

.lock-inner{position:relative;flex:1;display:flex;flex-direction:column;
  padding:calc(var(--safe-t) + 34px) 22px calc(var(--safe-b) + 20px);
  max-width:420px;margin:0 auto;width:100%;}

.lock-clock{text-align:center;margin-bottom:auto;}
.lock-time{font-size:74px;font-weight:250;letter-spacing:-.03em;line-height:1;
  font-variant-numeric:tabular-nums;text-shadow:0 4px 40px rgba(0,0,0,.5);}
.lock-date{font-size:16px;font-weight:500;color:var(--txt-2);margin-top:6px;}
.lock-date::first-letter{text-transform:uppercase;}

.lock-prompt{display:flex;flex-direction:column;align-items:center;}

.lock-lockicon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.09);border:1px solid var(--line);color:var(--txt);
  margin-bottom:14px;transition:transform .3s;}
.lock-lockicon.open{transform:scale(.9);color:var(--green);border-color:rgba(50,213,131,.4);}

.lock-title{font-size:16px;font-weight:500;margin:0;}
.lock-sub{font-size:13px;color:var(--red);margin:5px 0 0;min-height:18px;font-weight:500;}

.dots{display:flex;gap:19px;margin:22px 0 30px;}
.dots.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97);}
@keyframes shake{
  10%,90%{transform:translateX(-7px)} 20%,80%{transform:translateX(9px)}
  30%,50%,70%{transform:translateX(-11px)} 40%,60%{transform:translateX(11px)}
}
.dot-pin{width:13px;height:13px;border-radius:50%;border:1.6px solid rgba(255,255,255,.62);
  transition:background .18s, transform .18s;}
.dot-pin.on{background:#fff;transform:scale(1.12);}

.keypad{display:grid;grid-template-columns:repeat(3,79px);gap:19px 25px;justify-content:center;}
.key{width:79px;height:79px;border-radius:50%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:1px;
  background:rgba(255,255,255,.13);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:.5px solid rgba(255,255,255,.08);
  transition:transform .09s, background .12s;}
.key:active{background:rgba(255,255,255,.34);transform:scale(.94);}
.kn{font-size:33px;font-weight:340;line-height:1;}
.kl{font-size:9.5px;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.72);}
.key-ghost{background:transparent;border:0;font-size:15px;font-weight:450;color:var(--txt);}
.key-ghost:active{background:rgba(255,255,255,.1);transform:scale(.94);}

/* ═══════════ ESTRUCTURA DE LA APP ═══════════ */

.app{position:fixed;inset:0;display:flex;flex-direction:column;
  animation:appIn .5s cubic-bezier(.2,.9,.25,1);}
@keyframes appIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}

.topbar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:calc(var(--safe-t) + 10px) 14px 10px;
  background:linear-gradient(180deg,rgba(10,10,20,.9),rgba(10,10,20,.35));
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  border-bottom:.5px solid var(--line);z-index:12;
}

.person-chip{display:flex;align-items:center;gap:9px;padding:6px 13px 6px 6px;
  border-radius:999px;background:var(--card);border:.5px solid var(--line);
  transition:transform .12s,background .15s;max-width:62vw;}
.person-chip:active{transform:scale(.96);background:var(--card-2);}
.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-size:16px;
  background:linear-gradient(140deg,var(--violet),var(--violet-2));flex:0 0 auto;}
.person-name{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.chev{color:var(--txt-3);flex:0 0 auto;}

.icon-btn{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:var(--card);border:.5px solid var(--line);transition:transform .12s,background .15s;}
.icon-btn:active{transform:scale(.92);background:var(--card-2);}

.scroller{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 14px;
  overscroll-behavior:contain;}
.footer-pad{height:calc(var(--safe-b) + 96px);}

/* Selector de mes */
.monthbar{display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 0 12px;}
.mb-arrow{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--txt-2);
  transition:transform .12s,background .15s;}
.mb-arrow:active{background:var(--card);transform:scale(.9);}
.mb-label{font-size:16px;font-weight:650;letter-spacing:-.01em;padding:6px 16px;border-radius:999px;
  text-transform:capitalize;min-width:172px;transition:background .15s;}
.mb-label:active{background:var(--card);}

/* Tarjeta principal */
.hero{
  border-radius:var(--r-lg);padding:19px 19px 17px;
  background:linear-gradient(155deg,rgba(124,92,255,.24),rgba(255,255,255,.05) 52%,rgba(255,255,255,.03));
  border:.5px solid rgba(255,255,255,.12);
  box-shadow:0 18px 44px -18px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.09);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
.hero-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.hero-label{font-size:12.5px;font-weight:600;color:var(--txt-2);letter-spacing:.03em;text-transform:uppercase;}

.cur-toggle{display:flex;gap:2px;padding:2px;border-radius:999px;background:rgba(0,0,0,.32);
  border:.5px solid var(--line);}
.cur{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;color:var(--txt-3);
  letter-spacing:.04em;transition:.16s;}
.cur.active{background:rgba(255,255,255,.16);color:var(--txt);}

.hero-amount{font-size:41px;font-weight:700;letter-spacing:-.035em;margin:8px 0 2px;
  font-variant-numeric:tabular-nums;line-height:1.05;}
.hero-amount.danger{color:var(--red);}
.hero-note{font-size:12.5px;color:var(--txt-2);margin-bottom:15px;}

.bar{height:9px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden;display:flex;}
.bar-seg{height:100%;transition:width .5s cubic-bezier(.2,.9,.25,1);}
.bar-ess{background:linear-gradient(90deg,#ffc531,#ffb020);}
.bar-spent{background:linear-gradient(90deg,#ff8a5c,#ff6b6b);}
.bar-legend{display:flex;gap:13px;margin-top:9px;font-size:10.5px;color:var(--txt-3);font-weight:600;}
.bar-legend span{display:flex;align-items:center;gap:4px;}
.dot{width:7px;height:7px;border-radius:50%;display:inline-block;}
.dot-ess{background:var(--yellow);} .dot-spent{background:var(--red);} .dot-free{background:rgba(255,255,255,.28);}

.hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px;}
.hg{background:rgba(0,0,0,.24);border:.5px solid var(--line);border-radius:var(--r-sm);padding:9px 10px;}
.hg-k{display:block;font-size:10.5px;color:var(--txt-3);font-weight:600;text-transform:uppercase;letter-spacing:.04em;}
.hg-v{font-size:15px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.pos{color:var(--green);} .neg{color:var(--red);} .warn{color:var(--yellow);}

/* Accesos rápidos */
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:13px;}
.q{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  padding:13px 4px;border-radius:var(--r-md);font-size:11.5px;font-weight:650;
  background:var(--card);border:.5px solid var(--line);transition:transform .12s,background .15s;}
.q:active{transform:scale(.94);background:var(--card-2);}
.q-out svg{color:var(--red);} .q-in svg{color:var(--green);}
.q-ess svg{color:var(--yellow);} .q-cfg svg{color:var(--violet-2);}

/* Bloques */
.block{margin-top:24px;}
.block-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 3px;}
.block-head h2{font-size:16px;font-weight:700;margin:0;letter-spacing:-.015em;}
.pill{font-size:11px;font-weight:750;padding:2px 9px;border-radius:999px;}
.pill-warn{background:var(--yellow-soft);color:var(--yellow);border:.5px solid var(--yellow-line);}
.link{font-size:13px;font-weight:600;color:var(--violet-2);}

.list{display:flex;flex-direction:column;gap:7px;}

/* Renglón de movimiento */
.row{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:var(--r-md);
  background:var(--card);border:.5px solid var(--line);transition:transform .12s,background .15s;}
.row:active{transform:scale(.985);background:var(--card-2);}
.row.essential{background:var(--yellow-soft);border-color:var(--yellow-line);}
.row.essential .row-title{color:#ffd978;}
.row.pending{border-style:dashed;}

.row-ico{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;font-size:17px;
  background:rgba(255,255,255,.08);flex:0 0 auto;}
.row.essential .row-ico{background:rgba(255,197,49,.19);}

.row-mid{flex:1;min-width:0;}
.row-title{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.row-sub{font-size:11.5px;color:var(--txt-3);display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:1px;}
.tag{font-size:9.5px;font-weight:750;padding:1px 6px;border-radius:5px;letter-spacing:.05em;
  background:rgba(255,255,255,.09);text-transform:uppercase;}
.tag-pend{background:rgba(255,197,49,.22);color:var(--yellow);}

.row-amt{font-size:15px;font-weight:700;letter-spacing:-.02em;text-align:right;flex:0 0 auto;
  font-variant-numeric:tabular-nums;}
.row-amt small{display:block;font-size:9.5px;font-weight:600;color:var(--txt-3);letter-spacing:.05em;}

.empty{text-align:center;padding:26px 16px;color:var(--txt-3);font-size:13.5px;
  border:1px dashed var(--line);border-radius:var(--r-md);}

/* Botón flotante */
.fab{position:absolute;right:18px;bottom:calc(var(--safe-b) + 22px);
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:linear-gradient(145deg,var(--violet),#5b3ce0);
  box-shadow:0 12px 30px -8px rgba(124,92,255,.75), inset 0 1px 0 rgba(255,255,255,.28);
  transition:transform .13s;z-index:11;}
.fab:active{transform:scale(.9) rotate(45deg);}

/* ═══════════ HOJA INFERIOR ═══════════ */

.sheet-wrap{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;}
.sheet-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .25s;}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

.sheet{position:relative;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;
  background:linear-gradient(180deg,#191926,#101019);
  border-radius:28px 28px 0 0;border-top:.5px solid rgba(255,255,255,.14);
  box-shadow:0 -18px 50px rgba(0,0,0,.65);
  padding:9px 18px calc(var(--safe-b) + 22px);
  animation:sheetUp .36s cubic-bezier(.2,.9,.25,1);
  overscroll-behavior:contain;}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
.sheet.closing{animation:sheetDown .26s cubic-bezier(.5,0,.75,0) forwards;}
@keyframes sheetDown{to{transform:translateY(100%)}}

.grabber{width:38px;height:4.5px;border-radius:99px;background:rgba(255,255,255,.24);
  margin:0 auto 14px;}

.sheet h3{font-size:20px;font-weight:750;margin:0 0 4px;letter-spacing:-.02em;}
.sheet .sub{font-size:13px;color:var(--txt-2);margin:0 0 18px;}

/* Formularios */
.field{margin-bottom:13px;}
.field label{display:block;font-size:11.5px;font-weight:700;color:var(--txt-2);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;}
.input,select.input{width:100%;padding:13px 14px;border-radius:var(--r-sm);
  background:rgba(255,255,255,.07);border:1px solid var(--line);outline:none;
  transition:border-color .15s, background .15s;-webkit-appearance:none;appearance:none;}
.input:focus{border-color:var(--violet);background:rgba(124,92,255,.09);}
select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:38px;}

.amount-row{display:flex;gap:9px;}
.amount-row .input{flex:1;font-size:26px;font-weight:700;letter-spacing:-.02em;padding:12px 14px;}
.seg{display:flex;gap:2px;padding:3px;border-radius:var(--r-sm);background:rgba(0,0,0,.34);
  border:1px solid var(--line);flex:0 0 auto;}
.seg button{padding:0 13px;border-radius:10px;font-size:12.5px;font-weight:700;color:var(--txt-3);transition:.15s;}
.seg button.on{background:rgba(255,255,255,.15);color:var(--txt);}

.chips{display:flex;flex-wrap:wrap;gap:7px;}
.chip{padding:8px 13px;border-radius:999px;font-size:13px;font-weight:600;
  background:rgba(255,255,255,.07);border:1px solid var(--line);transition:.15s;}
.chip.on{background:rgba(124,92,255,.24);border-color:var(--violet);color:#dcd0ff;}
.chip.on-warn{background:var(--yellow-soft);border-color:var(--yellow-line);color:#ffd978;}

.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 14px;border-radius:var(--r-sm);background:rgba(255,255,255,.05);
  border:1px solid var(--line);margin-bottom:13px;}
.switch-row.warn{background:var(--yellow-soft);border-color:var(--yellow-line);}
.switch-txt b{display:block;font-size:14px;font-weight:650;}
.switch-txt span{font-size:11.5px;color:var(--txt-2);}
.switch{width:50px;height:30px;border-radius:99px;background:rgba(255,255,255,.16);
  position:relative;flex:0 0 auto;transition:background .22s;}
.switch::after{content:'';position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;
  background:#fff;transition:transform .22s cubic-bezier(.3,1.4,.6,1);}
.switch.on{background:var(--yellow);}
.switch.on::after{transform:translateX(20px);}

.btn{width:100%;padding:15px;border-radius:var(--r-md);font-size:16px;font-weight:700;
  background:linear-gradient(145deg,var(--violet),#5b3ce0);color:#fff;
  box-shadow:0 10px 24px -10px rgba(124,92,255,.85);transition:transform .12s,opacity .15s;margin-top:6px;}
.btn:active{transform:scale(.97);}
.btn:disabled{opacity:.5;}
.btn-ghost{background:rgba(255,255,255,.07);border:1px solid var(--line);box-shadow:none;color:var(--txt);}
.btn-danger{background:rgba(255,107,107,.15);border:1px solid rgba(255,107,107,.4);
  box-shadow:none;color:var(--red);}
.btn-row{display:flex;gap:9px;}
.btn-row .btn{margin-top:0;}

/* Menú */
.menu-item{display:flex;align-items:center;gap:13px;padding:14px 13px;border-radius:var(--r-md);
  width:100%;text-align:left;transition:background .15s,transform .12s;}
.menu-item:active{background:var(--card-2);transform:scale(.985);}
.mi-ico{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto;
  background:rgba(255,255,255,.08);}
.mi-txt b{display:block;font-size:15px;font-weight:600;}
.mi-txt span{font-size:11.5px;color:var(--txt-3);}
.menu-sep{height:.5px;background:var(--line);margin:8px 4px;}

/* Lista de personas dentro de la hoja */
.person-row{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:var(--r-md);
  width:100%;text-align:left;border:1px solid transparent;transition:.15s;}
.person-row.on{background:rgba(124,92,255,.16);border-color:rgba(124,92,255,.42);}
.person-row .avatar{width:38px;height:38px;font-size:19px;}
.person-row b{font-size:15px;font-weight:600;flex:1;}
.check{color:var(--violet-2);}

/* Resumen / consulta del mes */
.summary-card{border-radius:var(--r-md);padding:15px;background:rgba(255,255,255,.05);
  border:1px solid var(--line);margin-bottom:11px;}
.srow{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;
  border-bottom:.5px solid var(--line);font-size:14px;}
.srow:last-child{border-bottom:0;}
.srow span{color:var(--txt-2);}
.srow b{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;}
.srow.total{margin-top:5px;padding-top:11px;border-top:1px solid var(--line);border-bottom:0;font-size:17px;}
.cat-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden;margin-top:5px;}
.cat-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--violet),var(--violet-2));}
.cat-item{margin-bottom:11px;}
.cat-top{display:flex;justify-content:space-between;font-size:13px;}
.cat-top b{font-weight:650;font-variant-numeric:tabular-nums;}

/* Historial agrupado */
.hgroup{margin-bottom:18px;}
.hgroup-title{font-size:12px;font-weight:750;color:var(--txt-3);text-transform:uppercase;
  letter-spacing:.06em;margin:0 3px 8px;display:flex;justify-content:space-between;}

/* Aviso */
.toast{position:fixed;left:50%;bottom:calc(var(--safe-b) + 90px);transform:translateX(-50%);
  z-index:99;padding:11px 19px;border-radius:999px;font-size:13.5px;font-weight:600;
  background:rgba(28,28,42,.96);border:.5px solid var(--line);
  box-shadow:0 10px 30px rgba(0,0,0,.55);backdrop-filter:blur(14px);
  animation:toastIn .3s cubic-bezier(.2,.9,.25,1);max-width:88vw;text-align:center;}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}
.toast.err{background:rgba(70,22,28,.96);border-color:rgba(255,107,107,.4);color:#ffc9c9;}
.toast.okey{border-color:rgba(50,213,131,.4);}

/* Tarjeta del viaje en curso */
.trip{display:block;width:100%;text-align:left;margin-bottom:11px;padding:13px 15px;
  border-radius:var(--r-md);background:linear-gradient(150deg,color-mix(in srgb,var(--tc) 18%,transparent),rgba(255,255,255,.04));
  border:.5px solid color-mix(in srgb,var(--tc) 34%,transparent);transition:transform .12s;}
.trip:active{transform:scale(.985);}
.trip-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;}
.trip-name{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.trip-days{font-size:10.5px;font-weight:700;color:var(--txt-3);letter-spacing:.04em;
  background:rgba(0,0,0,.28);padding:2px 8px;border-radius:99px;flex:0 0 auto;}
.trip-main{display:flex;align-items:baseline;gap:7px;margin-bottom:9px;flex-wrap:wrap;}
.trip-main b{font-size:25px;font-weight:750;letter-spacing:-.03em;color:var(--tc);
  font-variant-numeric:tabular-nums;}
.trip-main span{font-size:11.5px;color:var(--txt-2);}
.trip-foot{display:flex;justify-content:space-between;gap:8px;margin-top:7px;
  font-size:11px;color:var(--txt-3);font-weight:600;}
.trip-foot b{color:var(--txt-2);}

/* Aviso de ritmo dentro del registro general */
.ritmo{margin-top:12px;padding:10px 13px;border-radius:var(--r-sm);border:1px solid;}
.ritmo b{display:block;font-size:13.5px;font-weight:750;}
.ritmo span{font-size:11.5px;color:var(--txt-2);}

/* Pista del tipo de cambio */
.rate-hint{font-size:11.5px;color:var(--txt-3);margin-top:8px;line-height:1.5;}
.rate-hint b{color:var(--violet-2);font-variant-numeric:tabular-nums;}
.rate-diff{color:var(--yellow);font-weight:600;}

/* Pantallas anchas */
@media(min-width:560px){
  .scroller{max-width:560px;margin:0 auto;width:100%;}
  .fab{right:calc(50% - 280px + 18px);}
  .hero-amount{font-size:46px;}
}
@media(max-height:700px){
  .lock-time{font-size:56px;}
  .key{width:70px;height:70px;} .keypad{grid-template-columns:repeat(3,70px);gap:14px 22px;}
  .kn{font-size:29px;}
}
