:root{--bg: #fef9f0;--card: #ffffff;--ink: #2b2b2b;--muted: #7a7a7a;--line: #eee4d2;--brand: #f0a500;--brand-dark: #c47a00;--brand-soft: #fef3d0;--red: #dc2626;--red-soft: #fee2e2;--orange: #ea7a12;--orange-soft: #ffedd5;--yellow: #ca9a04;--yellow-soft: #fef9c3;--green: #16a34a;--green-soft: #dcfce7;--tap: 48px;--col: 560px;--gap: 10px;--surround: #f2ead9;--shadow: 0 1px 2px rgba(43, 43, 43, .04), 0 10px 30px rgba(43, 43, 43, .07)}@media (min-width: 1024px){:root{--col: 620px}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:16px;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}input[type=number]{-moz-appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}.app{display:flex;flex-direction:column;height:100%;max-width:var(--col);margin:0 auto;background:var(--bg);position:relative}@media (min-width: 720px){body{background:var(--surround)}.app{border-inline:1px solid var(--line);box-shadow:var(--shadow)}.screen{padding:16px 20px 104px}}@media (min-width: 900px){.fab{right:calc((100vw - var(--col)) / 2 - 76px);bottom:96px}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:2px solid var(--brand);background:var(--bg);position:sticky;top:0;z-index:5}.topbar h1{font-size:1.05rem;font-weight:800;color:var(--brand-dark)}.topbar .sub{font-size:.75rem;color:var(--muted)}.screen{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 100px}.tabbar{display:flex;border-top:1px solid var(--line);background:var(--card);position:sticky;bottom:0;z-index:5;padding-bottom:env(safe-area-inset-bottom)}.tabbar button{flex:1;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.72rem;font-weight:600;color:var(--muted)}.tabbar button.active{color:var(--brand-dark)}.tabbar .ico{font-size:1.3rem}.fab{position:fixed;right:max(16px,calc((100vw - var(--col)) / 2 + 16px));bottom:76px;z-index:6;width:60px;height:60px;border-radius:50%;background:var(--brand);color:#fff;font-size:2rem;font-weight:800;box-shadow:0 6px 16px #0003}.fab-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:7;background:#00000059;display:flex;align-items:flex-end;justify-content:center}.fab-menu .panel{width:100%;max-width:var(--col);background:var(--card);border-radius:18px 18px 0 0;padding:16px 16px calc(24px + env(safe-area-inset-bottom))}.fab-menu .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fab-menu .grid button{min-height:72px;border-radius:14px;background:var(--brand-soft);font-weight:700;font-size:1.05rem;color:var(--brand-dark)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:var(--gap)}.card.soft{background:var(--brand-soft);border-color:transparent}.card.soft>button.grow{min-height:44px}.icon-btn{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem}.card.flag{background:var(--yellow-soft);border-color:transparent;font-weight:600}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.muted{color:var(--muted);font-size:.85rem}.small{font-size:.8rem}.bold{font-weight:700}.big{font-size:1.4rem;font-weight:800}h2{font-size:1.2rem;font-weight:800;color:var(--brand-dark);margin:4px 0 12px;line-height:1.3}h3{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:20px 0 8px}h3:first-child{margin-top:4px}.btn{min-height:var(--tap);padding:10px 18px;border-radius:12px;font-weight:700;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--brand);color:#fff;width:100%}.btn.secondary{background:var(--brand-soft);color:var(--brand-dark)}.btn.ghost{color:var(--brand-dark);text-decoration:underline;min-height:var(--tap)}.btn.danger{background:var(--red-soft);color:var(--red)}.btn:disabled{opacity:.5;cursor:default}.btn.sm{min-height:44px;padding:6px 12px;font-size:.9rem}.btn.disclosure{display:inline-flex;align-items:center;gap:8px}.field{margin-bottom:14px}.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--muted)}.field input,.field select{width:100%;min-height:var(--tap);padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:1.05rem}.field input:focus{outline:2px solid var(--brand);border-color:transparent}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:44px;padding:6px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:600}.chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}.line{display:flex;flex-wrap:wrap;gap:10px;padding:4px 0;border-top:1px solid var(--line);align-items:flex-start}.line>button.grow{min-height:var(--tap);padding:8px 0}.line .line-cta{flex-basis:100%;text-align:left;padding-left:20px;color:var(--brand-dark);font-weight:700;font-size:.9rem;min-height:44px}.line:first-child{border-top:none}.line .name{font-weight:700}.line .qty{font-weight:800;white-space:nowrap}.line .reason{color:var(--muted);font-size:.82rem;margin-top:2px;line-height:1.35}.line .cta{color:var(--brand-dark);font-weight:700}.dot{width:10px;height:10px;border-radius:50%;margin-top:18px;flex-shrink:0}.dot.red{background:var(--red)}.dot.orange{background:var(--orange)}.dot.yellow{background:var(--yellow)}.dot.green{background:var(--green)}.dot.grey{background:#ccc}.badge{font-size:.7rem;font-weight:800;padding:2px 8px;border-radius:999px}.badge.red{background:var(--red-soft);color:var(--red)}.badge.orange{background:var(--orange-soft);color:var(--orange)}.badge.yellow{background:var(--yellow-soft);color:var(--yellow)}.badge.green{background:var(--green-soft);color:var(--green)}.badge.grey{background:#eee;color:#666}.tripbar{position:sticky;top:0;z-index:4;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin-bottom:10px}.banner{background:var(--red-soft);color:var(--red);font-weight:600;font-size:.92rem;line-height:1.4;padding:10px 14px;border-radius:12px;margin-bottom:var(--gap)}.empty{text-align:center;padding:48px 12px;color:var(--muted)}.empty .ico{font-size:3rem;margin-bottom:8px}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;background:#0006;display:flex;align-items:flex-end;justify-content:center}@media (min-width: 720px){.sheet-bg{align-items:center;padding:24px}.sheet{border-radius:18px;max-height:86vh}@supports (height: 100dvh){.sheet{max-height:86dvh}}.fab-menu .grid{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion: reduce){.sheet{transition:none}}.sheet{width:100%;max-width:var(--col);max-height:92vh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);border-radius:18px 18px 0 0;padding:16px 16px calc(24px + env(safe-area-inset-bottom));transition:transform .18s ease}@supports (height: 100dvh){.sheet{max-height:92dvh}}.sheet .handle{width:44px;height:5px;background:#ddd;border-radius:3px;margin:0 auto}.sheet-grip{display:flex;align-items:center;justify-content:center;min-height:32px;margin:-6px -16px 6px;padding:10px 0;touch-action:none;cursor:grab}.sheet-grip:active{cursor:grabbing}.sheet-grip:active .handle{background:#c8c8c8}@media (min-width: 720px){.sheet-grip{display:none}}.sheet h2{margin-top:0}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.numpad button{min-height:56px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:1.4rem;font-weight:700}.numpad button.wide{grid-column:span 2}.numdisplay{font-size:2.4rem;font-weight:800;text-align:center;padding:8px;min-height:64px}.numdisplay .unit{font-size:1rem;color:var(--muted);font-weight:600}.segment{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden}.segment button{flex:1;min-height:44px;font-weight:700;background:#fff}.segment button.on{background:var(--brand);color:#fff}.timeline .ev{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--line);font-size:.9rem}.timeline .ev.voided{text-decoration:line-through;color:var(--muted)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:140px;background:#333;color:#fff;padding:10px 16px;border-radius:12px;z-index:20;font-size:.9rem;max-width:90vw}.list-plain{list-style:none}.kv{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:.92rem}.kv .k{color:var(--muted)}.search{width:100%;min-height:var(--tap);padding:10px 14px;border-radius:12px;border:1px solid var(--line);margin-bottom:10px;font-size:1rem}.cat-row{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--line);width:100%;text-align:left}.cat-row .meta{color:var(--muted);font-size:.8rem}.onboarding-lang{justify-content:center;margin-bottom:16px}.step-dots{display:flex;gap:6px;justify-content:center;margin-bottom:12px}.step-dots span{width:8px;height:8px;border-radius:50%;background:var(--line)}.step-dots span.on{background:var(--brand)}.tripbar input{min-height:var(--tap);padding:8px 12px;border:1px solid var(--line);border-radius:12px;font-size:1rem;background:#fff}.tripbar input:focus{outline:2px solid var(--brand);border-color:transparent}.section-toggle{min-height:var(--tap);display:inline-flex;align-items:center}.budget-hint{color:var(--brand-dark);font-weight:600}.sync-status{display:flex;align-items:flex-start;gap:8px;font-weight:600;font-size:.88rem;line-height:1.4;padding:10px 12px;border-radius:12px;background:var(--brand-soft);color:var(--ink)}.sync-status:before{content:"";width:10px;height:10px;border-radius:50%;margin-top:5px;flex:none;background:var(--muted)}.sync-status.idle{background:var(--green-soft)}.sync-status.idle:before{background:var(--green)}.sync-status.syncing:before{background:var(--brand)}.sync-status.offline{background:#f0efec}.sync-status.offline:before{background:#9a9a9a}.sync-status.unavailable{background:var(--yellow-soft)}.sync-status.unavailable:before{background:var(--yellow)}.sync-status.auth{background:var(--orange-soft)}.sync-status.auth:before{background:var(--orange)}.sync-status.error{background:var(--red-soft);color:var(--red)}.sync-status.error:before{background:var(--red)}.sync-status.gone{background:#f0efec}.sync-status.gone:before{background:#9a9a9a}:where(button,a,input,select,[tabindex]):focus-visible{outline:3px solid var(--brand);outline-offset:2px}textarea,select{font:inherit;color:inherit}textarea,.card select,.card>input[list],.row>input:not([type=checkbox]){min-height:var(--tap);padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:1rem;min-width:0}textarea{width:100%;resize:vertical}.bubble{padding:10px 12px;border-radius:14px;margin:8px 0;line-height:1.4;overflow-wrap:anywhere}.bubble.me{background:var(--brand-soft);margin-left:15%}.bubble.bot{background:var(--card);border:1px solid var(--line);margin-right:8%}.flag-text{color:var(--orange);font-weight:600}.invite-code{font-size:1.6rem;font-weight:800;letter-spacing:.15em;font-family:ui-monospace,monospace}
