:root{
  --clay:#ee6236;--clay-dk:#cf5020;--clay-lt:#f78461;
  --ink:#153f42;--ink-soft:#5a6560;--cream:#eef3e2;--cream-2:#e4e9d6;
  --paper:#ffffff;--sage:#1e7a4d;--sage-dk:#155f3b;--mustard:#9bcc3c;
  --line:rgba(21,63,66,.13);--line-2:rgba(21,63,66,.07);
  --shadow:0 28px 60px -30px rgba(21,63,66,.42);--shadow-sm:0 10px 28px -18px rgba(21,63,66,.34);--shadow-xs:0 2px 8px -3px rgba(21,63,66,.22);
  --disp:"Bricolage Grotesque",system-ui,sans-serif;--body:"Figtree",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--cream);line-height:1.45;font-weight:400;-webkit-font-smoothing:antialiased;position:relative;min-height:100dvh}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(70% 55% at 88% -8%,rgba(244,206,58,.20),transparent 60%),radial-gradient(55% 50% at -5% 8%,rgba(247,132,97,.16),transparent 58%),radial-gradient(60% 55% at 20% 108%,rgba(155,204,60,.20),transparent 60%)}
button,input,select{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}::selection{background:var(--clay);color:#fff}
.shell{max-width:1140px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem) 3rem}
.appbar,.msection,.botnav{display:none}
.hero{padding:clamp(2.6rem,6vw,4.2rem) 0 1.2rem;text-align:center;position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.34em;color:var(--clay);font-weight:700;margin-bottom:1rem;padding-left:.34em}
.eyebrow::before,.eyebrow::after{content:"";width:26px;height:1px;background:currentColor;opacity:.55}
.hero h1{font-family:var(--disp);font-weight:800;font-size:clamp(2.6rem,8vw,4.6rem);line-height:.94;letter-spacing:-.025em;color:var(--ink);margin:0}
.hero p{font-style:italic;font-size:clamp(1.08rem,2.6vw,1.35rem);color:var(--ink-soft);margin:.8rem auto 0;max-width:720px}
.hero-create{margin-top:1.15rem;border-radius:999px;background:linear-gradient(135deg,var(--clay-lt),var(--clay));color:#fff;padding:.85rem 1.25rem;font-weight:800;box-shadow:0 14px 26px -14px rgba(207,80,32,.9)}
.hero::after{content:"✿";display:block;margin:1.1rem auto 0;color:var(--clay-lt);font-size:.9rem;opacity:.7}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.card{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:26px;padding:1.1rem;box-shadow:var(--shadow-sm)}
.setup{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:end;margin:0 0 .2rem;position:sticky;top:12px;z-index:30;border-radius:50px;padding:.7rem 1rem;background:rgba(255,255,255,.84);backdrop-filter:blur(12px) saturate(1.2)}
.card h2{font-family:var(--disp);font-size:1.24rem;letter-spacing:-.01em;color:var(--ink)}
.card h3{font-family:var(--disp);font-size:1.02rem;margin:1rem 0 .45rem;color:var(--ink)}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem;gap:.8rem}
.pill{display:inline-flex;align-items:center;border-radius:999px;background:var(--cream-2);color:var(--sage-dk);font-weight:800;padding:.35rem .65rem;font-size:.82rem;white-space:nowrap}.pill.ok{background:rgba(30,122,77,.14)}
label{display:grid;gap:.35rem;color:var(--ink-soft);font-weight:700;font-size:.86rem}
input,select{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:.78rem .9rem;background:var(--paper);color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--clay)}
.card button:not(.buy-toggle),.setup button{border-radius:14px;background:linear-gradient(135deg,var(--clay-lt),var(--clay));color:white;padding:.85rem 1rem;font-weight:800;box-shadow:0 14px 26px -14px rgba(207,80,32,.9)}
.inline-form,.row{display:grid;grid-template-columns:1fr auto;gap:.6rem}.stack-form{display:grid;gap:.6rem}
.list{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.55rem}.list li{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:.75rem;display:flex;justify-content:space-between;gap:.8rem;align-items:center}.list small{color:var(--ink-soft);margin-left:.25rem}.empty{color:var(--ink-soft);justify-content:center!important}
.hint{color:var(--ink-soft);font-size:.9rem;margin:-.35rem 0 .8rem}.share-compact{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.share-compact h2{font-size:1.08rem}.share-compact .hint{margin:.1rem 0 0}.share-compact button{white-space:nowrap}.url-row{display:grid;grid-template-columns:1fr auto;gap:.6rem}.url-row input{font-weight:700;color:var(--sage-dk);background:var(--cream-2)}.delete-member{border-radius:999px!important;background:var(--cream-2)!important;color:var(--clay-dk)!important;box-shadow:none!important;padding:.45rem .75rem!important;font-size:.78rem!important;font-weight:800!important;white-space:nowrap}
.check{display:flex;align-items:center;gap:.75rem;width:100%}.shopping-item{cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}.shopping-item:hover{border-color:rgba(30,122,77,.36);transform:translateY(-1px)}.shopping-item:focus-visible{outline:3px solid rgba(238,98,54,.24);outline-offset:2px}
.icon-btn{width:40px!important;height:40px!important;min-width:40px!important;display:grid!important;place-items:center!important;border-radius:999px!important;padding:0!important;font-size:1.05rem!important;line-height:1!important;box-shadow:none!important}.buy-toggle.icon-btn{background:var(--sage)!important;color:#fff!important}.delete-item.icon-btn{background:var(--cream-2)!important;color:var(--clay-dk)!important}.bought{background:#edf6ef!important;border-color:#bddfc9!important}.bought .buy-toggle{background:var(--cream-2)!important;color:var(--sage-dk)!important;border:1px solid rgba(30,122,77,.24)}.bought .name{text-decoration:line-through;color:var(--ink-soft)}
.money-pos{color:var(--sage);font-weight:900}.money-neg{color:var(--clay-dk);font-weight:900}.balances{display:grid;gap:.55rem}.balance-row{display:flex;justify-content:space-between;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:.8rem}
.botnav-badge{position:absolute;top:.18rem;left:calc(50% + .35rem);background:var(--clay);color:#fff;font-size:.58rem;font-weight:800;padding:.02rem .34rem;border-radius:50px}
.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:1rem}.modal-backdrop{position:absolute;inset:0;background:rgba(21,63,66,.36);backdrop-filter:blur(7px)}.modal-card{position:relative;width:min(520px,100%);display:grid!important;grid-template-columns:1fr!important;gap:.9rem;border-radius:26px;background:var(--paper)}.modal-x{width:38px;height:38px;border-radius:12px!important;background:var(--cream-2)!important;color:var(--ink)!important;box-shadow:none!important;padding:0!important;font-size:1.5rem!important;line-height:1!important}.plus{font-size:1.35rem!important}.share-icon svg{width:20px;height:20px;display:block;fill:currentColor}
@media(max-width:820px){
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.shell{padding:0 1rem 1rem}.hero{display:none}.appbar{display:flex;align-items:center;gap:.6rem;padding:1rem 0 .55rem}.ab-icon{width:34px;height:34px;flex:none;border-radius:10px;background:linear-gradient(140deg,var(--clay-lt),var(--clay));display:grid;place-items:center;color:#fff;font-family:var(--disp);font-weight:800;font-size:1.15rem;box-shadow:var(--shadow-xs)}.ab-title{font-family:var(--disp);font-weight:800;font-size:1.18rem;letter-spacing:-.01em}.acctbtn{margin-left:0;flex:none;width:40px;height:40px;border-radius:12px;background:var(--cream-2);color:var(--ink);display:grid;place-items:center;font-weight:900}.ab-title+.acctbtn{margin-left:auto}
  .msection{display:flex;align-items:center;justify-content:space-between;margin:0 0 .9rem}.ms-title{font-family:var(--disp);font-weight:800;font-size:1.22rem;letter-spacing:-.01em}
  .grid{display:block;margin-top:0}.section-card{display:none}.setup{position:static;display:none;grid-template-columns:1fr;gap:.75rem;margin:0 0 .85rem;border-radius:22px;padding:1rem;background:var(--paper)}body[data-section="viaje"] [data-section="viaje"],body[data-section="compra"] [data-section="compra"],body[data-section="gastos"] [data-section="gastos"],body[data-section="balance"] [data-section="balance"]{display:block;animation:fade .22s ease}.card{border-radius:24px;padding:1rem}.url-row{grid-template-columns:1fr}.inline-form,.row{grid-template-columns:1fr}.stack-form{gap:.7rem}.shopping-item{padding:.62rem}.check{align-items:center}
  .botnav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;left:0;right:auto;bottom:0;width:100vw;max-width:100vw;overflow:hidden;z-index:90;background:rgba(255,255,255,.94);backdrop-filter:blur(16px) saturate(1.3);border-top:1px solid var(--line);padding:.32rem .3rem calc(.35rem + env(safe-area-inset-bottom));box-shadow:0 -12px 32px -22px rgba(21,63,66,.6)}.botnav-item{min-width:0;display:flex;flex-direction:column;align-items:center;gap:.13rem;padding:.36rem 0 .28rem;color:var(--ink-soft);position:relative;transition:color .2s,transform .15s}.botnav-item span{font-size:1.18rem;line-height:1}.botnav-item small{font-size:.66rem;font-weight:700;letter-spacing:.01em}.botnav-item.active{color:var(--clay)}.botnav-item:active{transform:scale(.93)}
}
@media(min-width:821px){.section-card{display:block!important}}
@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
