[hidden]{display:none!important}
:root{--acc:#c8324f;--acc2:#a52641;--soft:#fde3e8;--ink:#2b1b21;--mute:#6f5a62;--bg:#fff6f5;--card:#fff;--line:#f0d5da}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:18px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);padding-bottom:env(safe-area-inset-bottom)}
body.bare{background:#fff5f6}
a{color:var(--acc2)}h1,h2{line-height:1.2}h2{font-size:21px;margin:24px 0 8px}h2 .opt{font-size:14px;font-weight:500;color:var(--mute)}
header.bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:8px 10px;padding-top:max(8px,env(safe-area-inset-top));background:var(--acc);color:#fff}
header.bar .bt{flex:1;margin:0;font-size:19px;font-weight:800;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iconbtn{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:#fff;text-decoration:none;font-size:26px;line-height:1}.iconbtn.ghost{visibility:hidden}.logo img{display:block;border-radius:8px;margin-left:6px}
main.pad{max-width:640px;margin:0 auto;padding:16px 16px 40px}
.muted{color:var(--mute)}.center{text-align:center}.small{font-size:15px}.hint{display:block;color:var(--mute);font-size:15px;margin:6px 0}
.lead{font-size:19px;margin:6px 0 14px}
.fld{display:block;margin:16px 0}.fld>span{display:block;font-weight:700;font-size:16px;margin-bottom:7px}.fld small{font-weight:400;color:var(--mute)}.fld .hint{margin:-2px 0 8px}
input,textarea{display:block;width:100%;font:inherit;padding:12px 13px;border-radius:12px;border:1.5px solid #dcc3c9;background:#fff;color:inherit;min-height:50px}
textarea{resize:vertical;line-height:1.5}input:focus,textarea:focus{outline:3px solid #f6c3cd;border-color:var(--acc)}
input[type=date],input[type=time]{min-width:0}.pair2{display:grid;grid-template-columns:1.6fr 1fr;gap:10px}
.seg{display:flex;flex-wrap:wrap;gap:8px}.seg button{flex:1 1 auto;min-height:50px;padding:10px 12px;border-radius:12px;border:1.5px solid #ecd0d6;background:#fff;color:var(--ink);font:inherit;font-size:16px;font-weight:600;cursor:pointer}
.seg button.on{background:var(--acc);border-color:var(--acc);color:#fff}.seg small{font-weight:400;opacity:.8}
.sw{display:inline-block;width:16px;height:16px;border-radius:50%;margin-right:6px;vertical-align:-2px;border:2px solid #fff;box-shadow:0 0 0 1px #0002}.sw-rosa{background:#c8324f}.sw-noche{background:#2a1a20}.sw-durazno{background:#e8705a}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:14px;background:var(--acc);color:#fff;font:inherit;font-weight:700;padding:13px 18px;text-decoration:none;cursor:pointer;min-height:52px;text-align:center}
.btn:active{background:var(--acc2)}.btn.big{font-size:20px;min-height:60px}.btn.wide{display:flex;width:100%;margin:10px 0}.btn.ghost{background:#fff;color:var(--acc2);border:2px solid #f3c6cf}.btn.danger{color:#b3261e;border-color:#f3c1bd}.btn[disabled]{opacity:.6}
.btn.accent2{background:#2b1b21}.btn.accent2:active{background:#000}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.two .btn{min-height:54px;font-size:16px;padding:10px}
.filebtn{position:relative;overflow:hidden}.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer;min-height:0}
.linkbtn{background:none;border:0;color:var(--acc2);font:inherit;font-size:15px;font-weight:600;padding:8px 0;cursor:pointer}.linkbtn.danger{color:#b3261e}
.msgline{min-height:1.3em;margin:8px 0;font-weight:600;text-align:center}.msgline.ok{color:#1f6f5c}.err{color:#b3261e}.saved{min-height:1.2em;text-align:center;color:#1f6f5c;font-weight:600;font-size:15px;margin:6px 0}
.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:92vw;background:#2b1b21;color:#fff;padding:12px 18px;border-radius:14px;font-size:16px;z-index:50;box-shadow:0 6px 20px #0004;text-align:center}
.note{border-radius:12px;padding:10px 14px;font-size:16px;margin:12px 0;background:#fff;border:1px solid var(--line)}.gentle{background:#eef6f2;border-color:#d5ebe0;color:#1f5a46}.nudge{background:#fff3d6;border-color:#f3e2b5;color:#6b4e00}.rules{font-size:15px;color:#6b4e00;background:#fff8e6;border-color:#f3e2b5}
.hcard{border-radius:20px;padding:22px 18px;text-align:center;color:#fff;background:radial-gradient(120% 90% at 50% 0%,#e9607a,#c8324f 60%,#8c1d38);display:flex;flex-direction:column;gap:6px;box-shadow:0 8px 26px #c8324f40}
.hcard.theme-noche{background:radial-gradient(120% 90% at 50% 0%,#4a1a2b,#2a1019 60%,#14080d)}.hcard.theme-durazno{background:radial-gradient(120% 90% at 50% 0%,#f7a072,#e8705a 60%,#bf4430)}
.henv{font-size:44px}.hcard b{font-family:Crimson,Georgia,serif;font-size:28px;line-height:1.15}.hcard small{font-size:15px;opacity:.95}
.slist{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px}.slist a{display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:10px 14px;text-decoration:none;color:var(--ink);min-height:60px;box-shadow:0 1px 4px #0000000a}
.sn{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--soft);color:var(--acc2);font-weight:800;font-size:15px;flex:none}.stt{flex:1;display:flex;flex-direction:column;min-width:0}.stt small{color:var(--mute);font-size:14px}.chev{color:var(--mute);font-size:24px}
.prog .pl{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--mute);margin-bottom:6px}.prog .pl span:first-child{font-weight:700;color:var(--acc2)}
.pbar{height:8px;background:#f6dde2;border-radius:99px;overflow:hidden}.pbar i{display:block;height:100%;background:var(--acc);border-radius:99px}
.step h2{font-family:Crimson,Georgia,serif;font-size:27px;margin:20px 0 6px}
.stepnav{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1.4fr;gap:10px;padding:12px 0 calc(8px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--bg) 26%);margin-top:18px}
.phlist{list-style:none;padding:0;margin:12px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.phlist li{background:#fff;border-radius:14px;padding:8px;box-shadow:0 1px 6px #0001;min-width:0}
.phimg{position:relative}.phimg img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;background:#f4e8ea}.phn{position:absolute;top:6px;left:6px;background:#000a;color:#fff;font-size:13px;font-weight:700;border-radius:99px;padding:1px 8px}
.phlist .cap{min-height:44px;font-size:15px;padding:8px 10px;margin:8px 0}.phbtns{display:flex;gap:6px}.mini{flex:1;min-height:42px;border-radius:10px;border:1.5px solid #ecd0d6;background:#fff;font-size:15px;cursor:pointer;color:var(--ink)}.mini[disabled]{opacity:.35}.mini.danger{color:#b3261e}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.chip{border:1.5px solid #f3c6cf;background:#fff;color:var(--acc2);border-radius:99px;padding:8px 14px;font:inherit;font-size:15px;font-weight:600;min-height:44px;cursor:pointer}
.card{background:#fff;border-radius:18px;padding:14px 16px;margin:16px 0;box-shadow:0 2px 12px #0000000d}.card h2{margin-top:4px}.owed{list-style:none;padding:0;margin:0}.owed .fld{margin:8px 0}
.how{background:#fff;border-radius:12px;padding:10px 14px;margin:8px 0;font-size:16px}.how summary{font-weight:700;cursor:pointer;min-height:28px}.how p{margin:8px 0 0;color:var(--mute)}
.picks{list-style:none;padding:0;margin:0;display:grid;gap:8px}.pick{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:14px;padding:12px 14px;cursor:pointer;box-shadow:0 1px 4px #0000000a}.pick.sub{margin-left:22px;background:#fffafb}
.pick input{width:24px;height:24px;min-height:0;flex:none;margin-top:2px;accent-color:var(--acc)}.pick span{display:flex;flex-direction:column;min-width:0}.pick b{font-size:16px}.pick small{color:var(--mute);font-size:14px;overflow-wrap:anywhere}
.warn{background:#fff3d6;color:#5a4300;border-radius:14px;padding:14px;font-size:16px;margin:12px 0}.warn ul{margin:6px 0 0;padding-left:20px}.warn .btn{margin-top:10px}
.status{display:flex;flex-direction:column;align-items:center;gap:4px;background:#e6f4ec;color:#1f5f3e;border-radius:14px;padding:14px;margin:10px 0;text-align:center}.status b{font-size:21px}.status.confirming{background:#fff3d6;color:#5a4300}
.soon{background:#fff;border:2px dashed #f3c6cf;border-radius:14px;padding:14px;text-align:center;margin:12px 0}.badge{display:inline-block;background:var(--soft);color:var(--acc2);font-weight:700;font-size:14px;border-radius:99px;padding:3px 12px}
form.inline,.inline{display:flex;gap:8px}form.inline input,.inline input{flex:1;min-width:0}code{word-break:break-all}
.qr{width:min(70vw,260px);margin:10px auto;background:#fff;padding:6px;border-radius:12px;border:1px solid var(--line)}.qr svg{display:block;width:100%;height:auto}
.mine{list-style:none;padding:0;margin:0}.mine li{display:flex;flex-direction:column;gap:2px}
.pvback{position:fixed;left:12px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:35;background:#2b1b21;color:#fff;text-decoration:none;font-weight:700;font-size:16px;border-radius:99px;padding:12px 18px;box-shadow:0 6px 18px #0005}
.embed{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 4px 18px #0000000f;margin:8px 0}.embed iframe{display:block;width:100%;border:0}.embed.youtube iframe{aspect-ratio:16/9;height:auto}.embed.spotify iframe{height:152px}.embed.spotify.tall iframe{height:352px}
