  :root{
    --bg:#f5f3ef; --card:#fff; --ink:#2a2320; --muted:#6b6259; --line:#ececea;
    --accent:#c0392b; --accent-d:#9b2d20; --ok:#1e7a3e; --ok-soft:#e7f3ec;
    --chip:#f3efe9; --food:#b9770e; --drink:#2563eb; --extra:#0f6e56; --blue:#2563eb;
  }
  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
  body.dark{
    --bg:#1a1816; --card:#242220; --ink:#f0ede8; --muted:#9a9490;
    --line:#3a3634; --chip:#2e2c2a; --ok-soft:#1a2e22; --blue:#5b9cf6;
  }
  body.dark input, body.dark select, body.dark textarea{background:#2e2c2a;color:var(--ink);border-color:var(--line)}
  body.dark .toolbar button{background:var(--chip);color:var(--ink)}
  body.dark dialog{background:var(--card);color:var(--ink)}
  body.dark .totbar{background:var(--ink);color:var(--bg)}
  body.dark .wh-item{background:var(--card)!important}
  #btn-dark{flex:0 0 auto;padding:9px 13px;font-size:16px}
  body{margin:0;background:var(--bg);color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    padding:18px 14px 60px;max-width:560px;margin-inline:auto;font-size:16px}
  header{margin-bottom:10px}
  h1{font-size:23px;margin:0;display:flex;align-items:center;gap:8px}
  .tag{color:var(--muted);font-size:13.5px;margin:2px 0 0;font-style:italic}
  .date{color:var(--muted);font-size:12.5px;margin-top:2px}
  .toolbar{display:flex;gap:8px;margin:10px 0}
  .toolbar button{flex:1;background:var(--chip);color:var(--ink);padding:9px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px}
  .tabs{display:flex;background:var(--chip);border-radius:11px;padding:4px;gap:4px;margin-bottom:6px}
  .tabs .tab{flex:1;text-align:center;font-size:14px;padding:9px;border-radius:8px;color:var(--muted);cursor:pointer;font-weight:600}
  .tabs .tab.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.06)}
  section.card{background:var(--card);border:1px solid var(--line);border-radius:16px;
    padding:14px;margin:14px 0;box-shadow:0 1px 3px rgba(0,0,0,.04)}
  h2{font-size:15px;margin:0 0 10px;display:flex;align-items:center;gap:7px}
  .hint{color:var(--muted);font-size:12.5px;margin:-4px 0 10px}
  input,select{font:inherit;color:var(--ink);background:#fff;border:1.5px solid var(--line);
    border-radius:9px;padding:9px 10px;outline:none;width:100%}
  input:focus,select:focus{border-color:var(--accent)}
  input[type=number]{text-align:right}
  .row{display:flex;gap:8px;align-items:center}
  .row+.row{margin-top:8px}
  button{font:inherit;cursor:pointer;border:none;border-radius:9px}
  .add{background:var(--accent);color:#fff;font-weight:600;padding:10px 14px}
  .add:active{background:var(--accent-d)}
  .x{background:none;color:var(--muted);font-size:20px;line-height:1;padding:4px 8px;flex:0 0 auto}
  .pill{display:inline-flex;align-items:center;gap:6px;background:var(--chip);
    border-radius:999px;padding:5px 10px;font-size:13px;cursor:pointer;user-select:none;border:1.5px solid transparent}
  .pill.on{background:#fdeceb;border-color:var(--accent);color:var(--accent-d);font-weight:600}
  .plist .prow,.ilist .irow{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px;margin-bottom:10px}
  .plist .prow:last-child,.ilist .irow:last-child{margin-bottom:0}
  .lbl{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}
  .totbar{display:flex;justify-content:space-between;align-items:center;background:var(--ink);
    color:#fff;border-radius:14px;padding:13px 16px;margin-top:12px}
  .totbar .v{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
  .sub{display:flex;gap:14px;color:var(--muted);font-size:12px;margin-top:8px;flex-wrap:wrap}
  .splitcards{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
  .scard{display:flex;align-items:center;justify-content:space-between;border-radius:13px;padding:11px 13px;border:1.5px solid transparent}
  .scard.food{background:#fdf6ea;border-color:#f0dcb8;color:var(--food)}
  .scard.drink{background:#eef4fd;border-color:#cfe0fa;color:var(--drink)}
  .scard.extra{background:#e6f5ee;border-color:#bfe3cd;color:var(--extra)}
  .scard.postre{background:#fbeef4;border-color:#f3cfe0;color:#a83b6f}
  .scard .nm{font-size:13.5px;font-weight:600}
  .scard .dt{font-size:11px;opacity:.8}
  .scard .pv{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
  .roundbar{display:flex;align-items:center;gap:8px;margin:10px 0;flex-wrap:wrap}
  .roundbar .lbl2{font-size:13px;color:var(--muted)}
  .seg{display:flex;border:1.5px solid var(--line);border-radius:9px;overflow:hidden}
  .seg button{background:#fff;color:var(--muted);padding:7px 12px;border-radius:0;font-size:13px}
  .seg button.on{background:var(--ink);color:#fff;font-weight:600}
  .res .pp{display:flex;justify-content:space-between;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line)}
  .res .pp:last-child{border-bottom:none}
  .res .pp .nm{font-weight:600}
  .res .pp .meta{color:var(--muted);font-size:12px}
  .res .pp .amt{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
  .settle{background:var(--ok-soft);border:1px solid #bfe3cd;border-radius:12px;padding:12px;margin-top:12px}
  .settle h3{margin:0 0 8px;font-size:13.5px;color:var(--ok)}
  .settle .t{font-size:14px;padding:5px 0;line-height:1.4}
  .settle .alias{color:var(--muted);font-size:12px}
  .note{color:var(--muted);font-size:11.5px;margin-top:8px;font-style:italic}
  .actions{display:flex;gap:8px;margin-top:14px}
  .wa{background:#25d366;color:#0a3d1f;font-weight:700;padding:13px;flex:1}
  .share{background:#e6f5ee;color:var(--extra);border:1.5px solid #bfe3cd;font-weight:700;padding:13px;flex:1}
  .ghost{background:var(--chip);color:var(--ink);padding:13px;flex:0 0 auto}
  .planrow{display:flex;justify-content:space-between;align-items:center;background:var(--chip);border-radius:11px;padding:11px 13px;margin-top:7px}
  .planrow .q{font-size:14px;display:flex;align-items:center;gap:8px}
  .planrow .a{font-weight:700;font-variant-numeric:tabular-nums}
  dialog{border:none;border-radius:16px;padding:0;max-width:520px;width:92%}
  dialog .d-in{padding:16px}
  dialog textarea{width:100%;height:230px;border:1.5px solid var(--line);border-radius:10px;padding:10px;font:inherit;resize:vertical}
  .empty{color:var(--muted);font-size:13.5px;text-align:center;padding:8px 0}
  .histitem{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}
  .histitem:last-child{border-bottom:none}
  .histitem .hi-info{font-size:14px}
  .histitem .hi-info small{display:block;color:var(--muted);font-size:12px}
  .histitem .hi-btns{display:flex;gap:6px;flex:0 0 auto}
  .histitem .hi-btns button{padding:7px 10px;font-size:12.5px}
  .mini{background:var(--chip);color:var(--ink)}
  .rlist .rrow{display:flex;gap:10px;align-items:flex-start;border-bottom:1px solid var(--line);padding:11px 0}
  .rlist .rrow:last-child{border-bottom:none}
  .rnum{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}
  .rtext{flex:1;font-size:14.5px;line-height:1.45}
  .foot{text-align:center;color:var(--muted);font-size:11.5px;margin-top:24px}
  .pagos-row{display:flex;justify-content:space-between;align-items:center;background:var(--ok-soft);border:1px solid #bfe3cd;border-radius:12px;padding:12px 14px;margin-bottom:8px}
.pagos-amt{font-size:18px;font-weight:800;color:var(--ok);font-variant-numeric:tabular-nums;white-space:nowrap}
.pagos-row{display:flex;align-items:center;gap:10px}
.pagos-check{background:none;border:none;font-size:20px;cursor:pointer;padding:2px;flex:0 0 auto;line-height:1}
.pagos-done{opacity:.5}
.pagos-done .nm{text-decoration:line-through}
.pagos-done .pagos-amt{text-decoration:line-through;color:var(--muted)}
.hidden{display:none!important}
