:root{--bg:#f4f6f6;--card:#fff;--text:#17201f;--muted:#5d6b69;--line:#dfe5e4;--accent:#0f766e;--accent-ink:#fff;--accent-soft:#e2f3f1;--danger:#b42318;--ok:#157f3b;--warn:#9a6700;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000f;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1514;--card:#182120;--text:#e8eeed;--muted:#9aa9a7;--line:#2a3634;--accent:#2bb3a5;--accent-ink:#062a27;--accent-soft:#163633;--danger:#ff7b6e;--ok:#5fd38b;--warn:#e3b341;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);padding-bottom:calc(96px + env(safe-area-inset-bottom));margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{margin:0;line-height:1.2}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.pad-top{padding-top:40vh}.error{color:var(--danger);margin:0}.file-ready{background:var(--accent-soft);word-break:break-word;border-radius:10px;margin:0;padding:10px 12px}.sync-status{width:100%;font:inherit;text-align:center;cursor:pointer;border:0;padding:6px 16px;font-size:.85rem;font-weight:600;display:block}.sync-status.offline{color:#fff;background:#3b4544}.sync-status.pending{background:color-mix(in srgb, var(--warn) 18%, var(--card));color:var(--text)}.warning-banner{background:color-mix(in srgb, var(--warn) 14%, var(--card));border:1px solid var(--warn);color:var(--text);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:.92rem;display:flex}.topbar{z-index:5;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--accent);color:var(--accent-ink);align-items:center;gap:8px;display:flex;position:sticky;top:0}.topbar select{min-width:0;font:inherit;color:var(--accent-ink);appearance:none;background-color:#ffffff26;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-repeat:no-repeat;background-size:5px 5px;border:0;border-radius:10px;flex:1;padding:9px 32px 9px 12px;font-size:1.05rem;font-weight:600}.topbar select option{color:#000}.icon-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:inline-grid}.icon-btn:hover{background:#7f7f7f26}.icon-btn.danger{color:var(--danger)}main{max-width:760px;margin:0 auto;padding:16px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);padding:16px}.btn{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--text);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:10px 14px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.ghost{background:0 0}.btn.danger{color:var(--danger)}.btn.small{min-height:34px;padding:6px 10px;font-size:.85rem}.btn:disabled{opacity:.6;cursor:progress}.auth{place-items:center;min-height:100vh;padding:16px;display:grid}.auth-card{text-align:center;flex-direction:column;gap:14px;width:min(380px,100%);display:flex}.auth-card img{border-radius:14px;margin:0 auto}.auth-card label{text-align:left}.empty{text-align:center;padding:48px 16px}.empty-icon{font-size:56px}.empty h1{margin:12px 0 8px}.empty p{color:var(--muted);max-width:360px;margin:0 auto 20px}.small-empty{padding:32px 16px}.small-empty p{margin:4px auto}.summary-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.summary-head h1{font-size:1.3rem}.summary-head p{margin:4px 0 0;font-size:.9rem}.total-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:14px;font-size:.8rem}.total{letter-spacing:-.02em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:700}.total.over{color:var(--danger)}.sub{margin:2px 0 0}.breakdown{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.breakdown summary{cursor:pointer;color:var(--accent);font-weight:600}.breakdown-grid{grid-template-columns:1fr;gap:16px;margin-top:10px;display:grid}@media (width>=560px){.breakdown-grid{grid-template-columns:1fr 1fr}}.breakdown h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px;font-size:.8rem}table.mini{border-collapse:collapse;width:100%;font-size:.92rem}table.mini td{border-bottom:1px solid var(--line);padding:4px 0}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.actions .btn{flex:1}.list-tools{margin:16px 0 8px}.list-tools input{width:100%;font:inherit;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:10px 12px}.day{margin-top:14px}.day-head{color:var(--muted);justify-content:space-between;padding:0 4px 6px;font-size:.85rem;font-weight:600;display:flex}.day ul{background:var(--card);border-radius:var(--radius);border:1px solid var(--line);margin:0;padding:0;list-style:none;overflow:hidden}.day li+li{border-top:1px solid var(--line)}.spend{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:12px 14px;display:flex}.spend:hover{background:var(--accent-soft)}.thumb{object-fit:cover;border-radius:8px;flex:none;width:42px;height:42px}.spend-main{flex-direction:column;flex:1;min-width:0;display:flex}.spend-desc{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.spend-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.icons{letter-spacing:2px;margin-left:4px}.pending{color:var(--warn);margin-left:6px;font-weight:600}.spend-amt{font-variant-numeric:tabular-nums;flex-direction:column;flex:none;align-items:flex-end;display:flex}.amt{font-weight:600}.gbp{color:var(--muted);font-size:.82rem}.gbp.actual{color:var(--ok)}.fab{right:16px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:4;background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:14px 20px 14px 16px;font-weight:700;display:inline-flex;position:fixed;box-shadow:0 6px 20px #0f766e59}dialog.sheet{background:var(--card);width:min(560px,100% - 32px);max-height:min(92vh,100%);color:var(--text);border:0;border-radius:18px;padding:0;box-shadow:0 20px 60px #0000004d}dialog.small-sheet{width:min(400px,100% - 32px)}dialog::backdrop{background:#0a141473}@media (width<=600px){dialog.sheet{width:100%;max-width:100%;max-height:94vh;padding-bottom:env(safe-area-inset-bottom);border-radius:18px 18px 0 0;margin:auto 0 0}}dialog.sheet[open],dialog.sheet>form{flex-direction:column;min-height:0;display:flex}dialog.sheet>form{flex:1;overflow:hidden}.dlg-head{justify-content:space-between;align-items:center;padding:14px 12px 6px 18px;display:flex}.dlg-head h2{font-size:1.15rem}.dlg-body{flex-direction:column;flex:1;gap:12px;padding:6px 18px 14px;display:flex;overflow-y:auto}.dlg-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 18px 16px;display:flex}.spacer{flex:1}label{color:var(--muted);flex-direction:column;gap:5px;font-size:.85rem;font-weight:600;display:flex}label.inline{flex-flow:wrap;align-items:center;gap:8px}label.check{color:var(--text);flex-direction:row;align-items:center;gap:10px;font-size:1rem;font-weight:500}label.check input{width:20px;height:20px;accent-color:var(--accent)}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;min-width:0;padding:10px 12px;font-size:1rem;font-weight:400}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}input[readonly]{opacity:.7}textarea{resize:vertical}fieldset{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;margin:0;padding:10px 12px 12px;display:flex}legend{padding:0 4px;font-weight:600}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.amount-row{grid-template-columns:1fr 1.3fr}.with-btn{gap:6px;display:flex}.with-btn select{flex:1}.rate-row input{width:120px}.approx{background:var(--accent-soft);border-radius:10px;padding:10px 12px;font-size:1rem}.approx strong{color:var(--accent);font-size:1.15rem}.media{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=420px){.media{grid-template-columns:1fr}}.media-block{border:1px dashed var(--line);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.media-label{color:var(--muted);font-size:.85rem;font-weight:600}.media-btns{flex-wrap:wrap;gap:6px;display:flex}.media-btns label.btn{color:var(--text);flex-direction:row}.photo-preview{align-items:center;gap:8px;display:flex}.photo-preview img{object-fit:cover;cursor:zoom-in;border-radius:8px;width:72px;height:72px}.loc-info{flex-direction:column;align-items:flex-start;gap:6px;font-size:.9rem;display:flex}.loc-info a{color:var(--accent);word-break:break-all}.photo-full{border-radius:10px;width:100%;height:auto}.menu-list{flex-direction:column;margin:0 -10px;display:flex}.menu-list button,.menu-list a{text-align:left;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:14px 12px;text-decoration:none}.menu-list button:hover,.menu-list a:hover{background:var(--accent-soft)}.cur-grid{grid-template-columns:74px 1fr 96px 40px;align-items:center;gap:6px;display:grid}.cur-grid input{padding:8px}.grid-head{color:var(--muted);font-size:.78rem;font-weight:600}.method-row{gap:6px;display:flex}.people{margin:0;padding:0;list-style:none}.people li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:6px 0;display:flex}#toast{left:50%;bottom:calc(90px + env(safe-area-inset-bottom));color:#fff;opacity:0;pointer-events:none;z-index:100;background:#1f2a29;border-radius:10px;max-width:calc(100% - 32px);padding:10px 16px;font-size:.92rem;transition:all .2s;position:fixed;transform:translate(-50%,20px)}#toast.show{opacity:1;transform:translate(-50%)}#print-root{display:none}@page{size:A4 landscape;margin:12mm}@media print{body{color:#000;background:#fff;padding:0;font-size:10pt}#root,dialog,#toast{display:none!important}#print-root{display:block}.p-head{border-bottom:2px solid #0f766e;justify-content:space-between;align-items:flex-start;margin-bottom:8px;padding-bottom:6px;display:flex}.p-head h1{color:#0f766e;font-size:18pt}.p-head p{color:#444;margin:2px 0 0}.p-total{text-align:right}.p-total strong{font-size:18pt}.p-small{color:#444;font-size:9pt}.p-summary{gap:24px;margin-bottom:10px;display:flex}.p-summary table{border-collapse:collapse;min-width:220px}.p-summary th,.p-summary td{text-align:left;border-bottom:1px solid #ccc;padding:2px 6px}.p-table{border-collapse:collapse;width:100%}.p-table th{text-align:left;background:#e2f3f1;border-bottom:1px solid #999;padding:4px}.p-table td{vertical-align:top;border-bottom:1px solid #ddd;padding:3px 4px}.p-table th.num,.p-table td.num,.p-summary .num{text-align:right}.p-table thead{display:table-header-group}.p-table tfoot{display:table-row-group}.p-day{break-after:avoid}.p-table tr{break-inside:avoid}.p-day td{background:#f2f2f2;padding-top:6px;font-weight:700}.p-sub td{color:#333;border-bottom:1px solid #999;font-style:italic}.p-table tfoot td{border-top:2px solid #000;border-bottom:3px double #000;padding:5px 4px;font-weight:700}.p-notes{color:#444;white-space:pre-wrap;font-size:8.5pt}.p-loc{color:#666;font-size:8pt}.p-table img{object-fit:cover;width:22mm;height:22mm}.p-foot{color:#666;margin-top:8px;font-size:8pt}}
