/* App de clientes — Ross, Martinolich & Asoc. */
@font-face{font-family:"Poppins";font-weight:300;font-display:swap;src:url(/static/fonts/Poppins-Light.ttf) format("truetype")}
@font-face{font-family:"Poppins";font-weight:500;font-display:swap;src:url(/static/fonts/Poppins-Medium.ttf) format("truetype")}
@font-face{font-family:"Lora";font-style:italic;font-weight:400 700;font-display:swap;src:url(/static/fonts/Lora-Italic-Variable.ttf) format("truetype")}
:root{--ink:#14282b;--indigo:#0f4f66;--deep:#0f4f66;--brand:#1b6f8a;--crim:#b3402a;--paper:#f6f8f7;--card:#fff;--line:#d5dfdd;--mut:#4a5f62;--ok:#17734a;--gold:#f2b53d;--accent:#f2b53d;--tint:#dcedf2;
 --grad:linear-gradient(135deg,#1b6f8a 0%,#0f4f66 100%);--sh:0 1px 2px rgba(20,40,43,.08),0 14px 30px -16px rgba(15,79,102,.35)}
@media (prefers-color-scheme:dark){:root{--ink:#eaf3f1;--paper:#10201f;--card:#172b2a;--line:#2c4543;--mut:#a9bfbc;--ok:#5fd19a;--crim:#ff9a85;--brand:#6cc3dd;--tint:#1c3b44;--deep:#0b2a33;--grad:linear-gradient(135deg,#4aa9c4 0%,#1b6f8a 100%);--sh:0 1px 2px rgba(0,0,0,.4),0 14px 30px -16px rgba(0,0,0,.7)}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,.monto,.btn,.tabs,b{font-family:"Poppins",system-ui,sans-serif}
h2{font-size:17px;font-weight:500;margin:0 0 10px}
a{color:var(--brand);text-decoration:none}
.ca{max-width:560px;margin:0 auto;padding:0 16px 110px}
small{color:var(--mut);font-size:12.5px}

/* cinta de cotizaciones */
.cinta{background:#14173f;color:#e8eaff;overflow:hidden;white-space:nowrap;font:500 12px/30px "Poppins",system-ui,sans-serif;padding-top:env(safe-area-inset-top)}
.cinta[hidden]{display:none}
.cinta-in{display:inline-flex;width:max-content;animation:cinta 46s linear infinite}
.cinta-in span{padding:0 22px}.cinta-in b{font-weight:500;color:var(--gold);margin-right:6px}
@keyframes cinta{to{transform:translateX(-50%)}}

/* cabecera con la moneda */
.hero{background:linear-gradient(168deg,#0f4f66 0%,#30337f 58%,#5d2f77 100%);color:#fff;text-align:center;padding:26px 20px 70px}
.hero-entrada{padding-bottom:40px}
.hola{font:italic 400 30px/1.15 "Lora",Georgia,serif;margin:18px 0 2px}
.sub{margin:0;color:#c9ccf0;font-size:14px}
.marca{font:italic 400 24px/1.2 "Lora",Georgia,serif;margin:18px 0 4px}.marca i{color:var(--gold)}
.barra{background:linear-gradient(168deg,#0f4f66,#30337f);color:#fff;padding:22px 20px 58px;padding-top:calc(22px + env(safe-area-inset-top))}
.barra h1{margin:0;font-size:22px;font-weight:500}.barra p{margin:2px 0 0;color:#c9ccf0;font-size:14px}
.coin-wrap{perspective:760px;width:112px;height:112px;margin:0 auto;position:relative}
.coin-wrap::after{content:"";position:absolute;left:14px;right:14px;bottom:-14px;height:12px;border-radius:50%;background:rgba(0,0,0,.35);filter:blur(7px)}
.coin{position:relative;width:112px;height:112px;transform-style:preserve-3d;animation:giro 9s linear infinite}
.coin i{position:absolute;inset:0;border-radius:50%;display:block}
.coin .f,.coin .b{background:url(/static/ca/ca-coin.png) center/100% 100% no-repeat;backface-visibility:hidden}
.coin .f{transform:translateZ(7px)}.coin .b{transform:rotateY(180deg) translateZ(7px)}
.coin .r{background:linear-gradient(135deg,#8c6b2b,#ecd193 45%,#b98c3b)}
.coin .r:nth-child(2){transform:translateZ(-6px)}.coin .r:nth-child(3){transform:translateZ(-4.9px)}.coin .r:nth-child(4){transform:translateZ(-3.8px)}
.coin .r:nth-child(5){transform:translateZ(-2.7px)}.coin .r:nth-child(6){transform:translateZ(-1.6px)}.coin .r:nth-child(7){transform:translateZ(-.5px)}
.coin .r:nth-child(8){transform:translateZ(.5px)}.coin .r:nth-child(9){transform:translateZ(1.6px)}.coin .r:nth-child(10){transform:translateZ(2.7px)}
.coin .r:nth-child(11){transform:translateZ(3.8px)}.coin .r:nth-child(12){transform:translateZ(4.9px)}.coin .r:nth-child(13){transform:translateZ(6px)}
@keyframes giro{from{transform:rotateX(-10deg) rotateY(0)}to{transform:rotateX(-10deg) rotateY(360deg)}}
@media (prefers-reduced-motion:reduce){.coin{animation:none;transform:rotateX(-8deg) rotateY(-20deg)}.cinta-in{animation:none}}

/* tarjetas */
.card{background:var(--card);border-radius:20px;box-shadow:var(--sh);padding:18px;margin:14px 0}
.saldo{margin-top:-46px;position:relative;text-align:center;padding:20px 18px 16px}
.saldo.chico{margin-top:-34px}
.saldo .et{display:block;color:var(--mut);font-size:14px}
.monto{display:block;font-size:40px;font-weight:500;letter-spacing:-.02em;margin:2px 0 4px}
.saldo.debe .monto{color:var(--crim)}.saldo.ok .monto{color:var(--ok)}
.mas{display:inline-block;font-size:14px;font-weight:500;padding:6px 4px}
.cta{display:flex;gap:14px;align-items:center;background:var(--grad);color:#fff;border-radius:20px;padding:16px 18px;margin:14px 0;box-shadow:0 16px 30px -14px rgba(106,58,128,.6)}
.cta b{display:block;font-weight:500;font-size:16px}.cta small{color:#e7e2f6}
.cta .ico{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;flex:none}
svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dos .card{margin:0}
.mini{display:flex;flex-direction:column;gap:2px;color:var(--ink)}.mini svg{color:var(--brand);margin-bottom:6px}.mini b{font-weight:500;font-size:15px}
.novedad{border-left:4px solid var(--crim)}.novedad p{margin:4px 0 0;color:var(--mut)}
.mov,.doc{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.mov:last-of-type,.doc:last-of-type{border-bottom:0}
.mov b,.doc b{display:block;font-weight:500;font-size:14.5px}
.mov .der{text-align:right}.mov .der small{display:block}
.pos{color:var(--crim);font:500 14.5px "Poppins",sans-serif;white-space:nowrap}.neg{color:var(--ok);font:500 14.5px "Poppins",sans-serif;white-space:nowrap}
.doc span{font:500 14px "Poppins",sans-serif;color:var(--brand);white-space:nowrap}
.vacio{color:var(--mut);margin:6px 0}
.tag{font-size:12px;padding:3px 10px;border-radius:99px;background:rgba(59,63,148,.12);color:var(--brand)}
.pie{text-align:center;color:var(--mut);font-size:12px;margin:26px 0 0}
.salir{text-align:center;margin-top:8px}.link{background:none;border:0;color:var(--mut);font:inherit;font-size:13px;padding:8px;text-decoration:underline}

/* formularios */
.form label{display:block;font-size:14px;color:var(--mut);margin:12px 0 6px}
.form input:not([type=checkbox]),#nota{width:100%;height:54px;border:1.5px solid var(--line);border-radius:16px;padding:0 16px;font-size:18px;background:var(--paper);color:var(--ink)}
.form input:focus,#nota:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px rgba(59,63,148,.14)}
.form .cod{text-align:center;font:500 30px "Poppins",sans-serif;letter-spacing:.38em}
.chk{display:flex!important;gap:10px;align-items:center;color:var(--ink)!important}.chk input{width:22px;height:22px;accent-color:var(--brand)}
.ayuda{font-size:13px;color:var(--mut);margin:10px 0 0}
.btn{display:block;width:100%;border:0;border-radius:99px;background:var(--grad);color:#fff;font-weight:500;font-size:17px;padding:16px;margin-top:18px;text-align:center;box-shadow:0 14px 26px -14px rgba(106,58,128,.7)}
.btn:disabled{opacity:.45;box-shadow:none}
.chico{text-align:center;font-size:14px}
.flash{border-radius:14px;padding:12px 14px;margin:14px 0 0;font-size:14.5px}.flash.err{background:#fde8e6;color:#8c1d18}.flash.ok{background:#e1f5ea;color:#14663f}
.entrada .hero{padding-top:calc(34px + env(safe-area-inset-top))}
.qr{text-align:center}.qr img{border-radius:12px;background:#fff;padding:8px}

/* fotos */
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1.5px solid var(--line);background:var(--paper);color:var(--ink);border-radius:99px;padding:9px 16px;font:500 14px "Poppins",sans-serif}
.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}
.elegir{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed var(--brand);border-radius:20px;padding:28px 12px;margin:16px 0;color:var(--brand);text-align:center}
.elegir svg{width:34px;height:34px}.elegir b{font-weight:500;font-size:17px}
.miniaturas{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:6px}
.mi{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--paper)}
.mi img{width:100%;height:100%;object-fit:cover;display:block}
.mi button{position:absolute;top:4px;right:4px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(20,22,60,.75);color:#fff;font-size:16px;line-height:1}
.mi.ok::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;background:rgba(30,138,90,.75);color:#fff;font-size:30px}
.chico-l{display:block;font-size:14px;color:var(--mut);margin:14px 0 6px}
.estado{margin:12px 0 0;text-align:center;font-size:15px;min-height:1.4em}.estado.ok{color:var(--ok)}.estado.err{color:var(--crim)}

/* barra inferior */
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:var(--card);border-radius:22px 22px 0 0;box-shadow:0 -10px 28px -14px rgba(27,30,75,.4);padding:8px 8px calc(8px + env(safe-area-inset-bottom))}
.tabs a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font:500 11px "Poppins",sans-serif;color:var(--mut)}
.tabs a.on{color:var(--brand)}
.tabs .mid span{width:50px;height:50px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;margin-top:-26px;box-shadow:0 10px 20px -8px rgba(106,58,128,.8)}
.tabs .mid.on{color:var(--brand)}

/* saludo de cumpleaños */
.velo{position:fixed;inset:0;z-index:50;background:rgba(18,20,56,.86);display:flex;align-items:center;justify-content:center;padding:18px}
.velo[hidden]{display:none}
.saludo{text-align:center;max-width:420px;width:100%}
.saludo img{max-width:100%;max-height:72vh;width:auto;height:auto;border-radius:18px;box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}

.velo .fx{position:absolute;inset:0;z-index:2;pointer-events:none}
.velo .saludo{position:relative;z-index:1}

/* aviso guiado de instalación */
.instala{position:fixed;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:40;background:#fff;color:#0f4f66;border-radius:18px;padding:14px 38px 14px 16px;box-shadow:0 18px 40px -12px rgba(18,20,56,.55);font-size:.92rem;line-height:1.35}
.instala[hidden]{display:none}
.instala .x{position:absolute;top:6px;right:8px;border:0;background:none;font-size:1.5rem;line-height:1;color:#6b6e9c;padding:6px 8px;cursor:pointer}
.instala ol{margin:8px 0 2px;padding-left:20px}.instala li{margin:3px 0}
.instala .ic{display:inline-block;border:1.5px solid #1b6f8a;border-radius:6px;padding:0 5px;font-weight:700}
.instala .btn{margin-top:10px;width:100%}
.instala.ios:not(.ipad){bottom:calc(70px + env(safe-area-inset-bottom))}
.instala.ios:not(.ipad) .fle{display:block;text-align:center;font-size:1.9rem;line-height:1;color:#b5302c;animation:ca-rebote 1.1s ease-in-out infinite;margin-top:2px}
.instala.ipad{bottom:auto;top:12px}
.instala.ipad .fle{display:none}
@keyframes ca-rebote{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@media (prefers-color-scheme:dark){.instala{background:#1d2058;color:#eceeff}.instala .x{color:#aab}.instala .ic{border-color:#8f94ff}}
@media (prefers-reduced-motion:reduce){.instala .fle{animation:none}}
.instala .btn[hidden]{display:none}

/* ===== Tema App Estudio 2026: azul río, esfera, Don Balance ===== */
.cinta{background:var(--deep)}.cinta-in b{color:var(--accent)}
.hero{background:linear-gradient(160deg,#1b6f8a 0%,#0f4f66 100%);padding:30px 20px 76px}
.hero .hola,.hero .marca,.hero .sub{color:#fff}.hero .sub{opacity:.92}
.hola{font:600 28px/1.15 "Poppins",system-ui,sans-serif;margin:18px 0 4px}
.marca{font:600 22px/1.2 "Poppins",system-ui,sans-serif;margin:18px 0 4px}.marca i{color:var(--accent);font-style:normal}
.barra{background:linear-gradient(160deg,#1b6f8a,#0f4f66)}
.barra p{color:#e6f3f7}
.cta{background:var(--grad);color:#fff;box-shadow:0 16px 30px -14px rgba(15,79,102,.6)}.cta small{color:#eaf6fa}
.btn{background:var(--grad);color:#fff;box-shadow:0 14px 26px -14px rgba(15,79,102,.7)}
@media (prefers-color-scheme:dark){.btn,.cta,.tabs .mid span{color:#0b2a33}.cta small{color:#0b2a33}.hero{background:linear-gradient(160deg,#245b6e 0%,#0b2a33 100%)}}
.novedad{background:var(--tint);border-left:0}.novedad p{color:var(--ink)}
.tag{background:var(--tint);color:var(--brand)}
.form input:focus,#nota:focus{box-shadow:0 0 0 4px rgba(27,111,138,.2)}
.chip.on{color:#fff}
.tabs .mid span{box-shadow:0 10px 20px -8px rgba(15,79,102,.8)}
.instala{background:var(--card);color:var(--ink)}.instala .ic{border-color:var(--brand)}
.flash.err{background:#fbe9e5;color:#8a2c1b}.flash.ok{background:#e1f3ea;color:#125c3a}

/* esfera giratoria (logo) */
.esf-wrap{perspective:760px;width:112px;height:112px;margin:0 auto;position:relative}
.esf-wrap::after{content:"";position:absolute;left:12px;right:12px;bottom:-16px;height:12px;border-radius:50%;background:rgba(0,0,0,.28);filter:blur(7px)}
.esf{position:relative;width:112px;height:112px;border-radius:50%;transform-style:preserve-3d;
 background:radial-gradient(circle at 34% 28%,#eaf6fa 0%,#8ccbe0 18%,#1b6f8a 52%,#0f4f66 100%);box-shadow:inset -10px -14px 24px rgba(5,40,55,.45),0 18px 30px -12px rgba(0,0,0,.45)}
.esf .giro{position:absolute;inset:0;transform-style:preserve-3d;animation:giro 16s linear infinite}
.esf .giro i{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(255,255,255,.32);transform:rotateY(var(--a))}
.esf .brillo{position:absolute;left:20px;top:17px;width:30px;height:17px;border-radius:50%;background:radial-gradient(#fbd069,#f2b53d);opacity:.92;transform:rotate(-35deg);filter:blur(.3px)}
@keyframes giro{from{transform:rotateY(0)}to{transform:rotateY(360deg)}}
@media (prefers-reduced-motion:reduce){.esf .giro{animation:none}}

/* Don Balance: botón flotante y tarjeta */
.fab{position:fixed;right:14px;bottom:calc(88px + env(safe-area-inset-bottom));z-index:30;width:64px;height:64px;border-radius:50%;background:var(--accent);border:3px solid var(--card);box-shadow:0 12px 24px -8px rgba(15,79,102,.6);display:grid;place-items:end center;overflow:hidden}
.fab img{width:54px;height:54px;display:block}
.fab-burbuja{position:fixed;right:84px;bottom:calc(104px + env(safe-area-inset-bottom));z-index:30;background:var(--card);color:var(--ink);border-radius:18px 18px 4px 18px;padding:9px 13px;font:500 13.5px "Poppins",sans-serif;box-shadow:var(--sh);max-width:170px}
.fab-burbuja[hidden]{display:none}
.don{display:flex;align-items:center;gap:14px;color:var(--ink)}
.don .av{flex:none;width:68px;height:68px;border-radius:50%;background:var(--tint);display:grid;place-items:end center;overflow:hidden}
.don .av img{width:60px;height:60px}
.don b{display:block;font-weight:500;font-size:16px}.don small{display:block;margin-top:2px}

/* chat */
.chat-top{display:flex;align-items:center;gap:12px;background:var(--grad);color:#fff;padding:calc(16px + env(safe-area-inset-top)) 18px 20px}
.chat-top .av{width:52px;height:52px;border-radius:50%;background:var(--card);display:grid;place-items:end center;overflow:hidden;flex:none}.chat-top .av img{width:46px;height:46px}
.chat-top b{display:block;font-weight:500;font-size:17px}.chat-top small{color:#e6f3f7}
.aviso{background:var(--tint);color:var(--ink);border-radius:14px;padding:11px 14px;font-size:13.5px;margin:14px 0}
#chat{display:flex;flex-direction:column;gap:10px;min-height:46vh;padding-bottom:6px}
.bur{max-width:86%;padding:11px 15px;border-radius:20px;line-height:1.4;font-size:15.5px;white-space:pre-line}
.bur.bot{align-self:flex-start;background:var(--card);box-shadow:var(--sh);border-bottom-left-radius:6px}
.bur.yo{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:6px}
@media (prefers-color-scheme:dark){.bur.yo{color:#0b2a33}}
.bur small{display:block;margin-top:8px;color:var(--mut)}
.bur a{font-weight:600;text-decoration:underline}
.rapidas{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.rap{min-height:44px;border:2px solid var(--brand);background:var(--card);color:var(--brand);border-radius:99px;padding:0 16px;font:500 14px "Poppins",sans-serif}
.rap.sol{background:var(--brand);color:#fff}
@media (prefers-color-scheme:dark){.rap.sol{color:#0b2a33}}
.escribir{display:flex;gap:8px;margin-top:10px}
.escribir input{flex:1;height:50px;border:1.5px solid var(--line);border-radius:99px;padding:0 18px;font-size:16px;background:var(--card);color:var(--ink)}
.escribir button{height:50px;border:0;border-radius:99px;background:var(--brand);color:#fff;font:500 15px "Poppins",sans-serif;padding:0 20px}
@media (prefers-color-scheme:dark){.escribir button{color:#0b2a33}}
.bur form label{display:block;font-size:13px;color:var(--mut);margin:8px 0 4px}
.bur form input{width:100%;height:46px;border:1.5px solid var(--line);border-radius:12px;padding:0 12px;font-size:16px;background:var(--paper);color:var(--ink)}
.bur form .btn{margin-top:12px;padding:13px;font-size:15px}

/* guía de instalación, un paso por pantalla */
.guia{margin-top:-46px;position:relative}
.puntos{display:flex;gap:8px;justify-content:center;margin:2px 0 12px}
.puntos i{width:10px;height:10px;border-radius:99px;background:var(--line)}.puntos i.on{width:28px;background:var(--brand)}
.paso{text-align:center}
.paso h2{font:600 21px/1.25 "Poppins",sans-serif}
.paso .dibujo{background:var(--tint);border-radius:18px;padding:18px;margin:14px 0;display:flex;justify-content:center;align-items:center;gap:10px}
.paso .dibujo svg{width:56px;height:56px;color:var(--brand)}
.paso .fila{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card);border-radius:14px;padding:12px 16px;width:100%;box-shadow:var(--sh);font:500 16px "Poppins",sans-serif}
.paso .fila svg{width:28px;height:28px}
.paso p{color:var(--mut);margin:6px 0}
.flecha-b{display:block;text-align:center;font-size:2rem;line-height:1;color:var(--crim);animation:ca-rebote 1.1s ease-in-out infinite;margin-top:6px}
.guia .nav{display:flex;gap:10px;margin-top:6px}.guia .nav .btn{margin-top:12px}
.guia .nav .btn.sec{background:var(--card);color:var(--brand);box-shadow:none;border:2px solid var(--line-strong,#6f8a87)}
.guia .salto{display:block;text-align:center;margin-top:14px;font-size:14px;color:var(--mut);text-decoration:underline}
.copiar{margin-top:10px}

/* logo del estudio (RM) dentro de la esfera */
.esf .rm{position:absolute;left:50%;top:50%;width:52%;height:52%;margin:-26% 0 0 -26%;border-radius:50%;box-shadow:0 2px 10px rgba(20,40,70,.35);animation:rmgira 8s ease-in-out infinite;backface-visibility:visible}
@keyframes rmgira{0%,100%{transform:translateZ(46px) rotateY(-24deg)}50%{transform:translateZ(46px) rotateY(24deg)}}
@media (prefers-reduced-motion:reduce){.esf .rm{animation:none;transform:translateZ(46px)}}
