:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f8fb;--surface:#fff;--surface-muted:#fbfcff;--surface-strong:#f0f5ff;--surface-hover:#f8fbff;--line:#d9e2ef;--line-strong:#c4d2e4;--text:#172033;--muted:#65738a;--primary:#1e6bff;--primary-dark:#1754c7;--primary-soft:#e7efff;--success:#07805a;--on-primary:#fff;--danger:#c93535;--danger-soft:#fff0f0;--table-head:#f8fbff;--tag-bg:#eef4fa;--tag-text:#31516f;--backdrop:#17203373;--shadow:0 16px 40px #20304e14;--radius:8px;--sidebar-width:300px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101622;--surface:#172033;--surface-muted:#121a29;--surface-strong:#1e2b43;--surface-hover:#202d45;--line:#2b3952;--line-strong:#3a4c6a;--text:#eef4ff;--muted:#a7b3c7;--primary:#6ea2ff;--primary-dark:#9bc0ff;--primary-soft:#203a67;--success:#55d49f;--on-primary:#0b1426;--danger:#ff7474;--danger-soft:#3b2027;--table-head:#131c2c;--tag-bg:#243854;--tag-text:#c7dcf5;--backdrop:#04080fad;--shadow:0 18px 42px #0000003d}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;max-width:100%;min-height:100%;overflow-x:hidden}body{max-width:100%;min-height:100vh;color:var(--text);background:var(--bg);overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{border-radius:var(--radius);cursor:pointer;appearance:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;min-height:44px;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s}button:hover{transform:translateY(-1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:2px}button:active{transition-duration:80ms;transform:scale(.97)}button:disabled{cursor:not-allowed;opacity:.55;transform:none}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);width:100%;max-width:100vw;min-height:100vh;display:grid;overflow-x:hidden}.sidebar{height:100vh;padding:22px;padding-top:calc(22px + var(--safe-top));padding-bottom:calc(22px + var(--safe-bottom));padding-left:calc(22px + var(--safe-left));border-right:1px solid var(--line);background:var(--surface-muted);flex-direction:column;gap:22px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg, var(--primary), #18a778);place-items:center;width:44px;height:44px;font-size:.9rem;font-weight:900;display:grid}.brand p{margin:0;font-size:1.1rem;font-weight:900}.brand span{color:var(--muted);margin-top:2px;font-size:.83rem;display:block}.sidebar-section{min-height:0}.section-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.section-heading h2{margin:0;font-size:.95rem}.section-heading span{min-width:28px;color:var(--primary-dark);background:var(--primary-soft);text-align:center;border-radius:999px;padding:3px 8px;font-size:.8rem;font-weight:800}.trip-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;gap:10px;max-height:calc(100vh - 310px);padding-right:3px;display:grid;overflow:auto}.trip-card{border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--text);background:var(--surface);text-align:left;padding:13px;box-shadow:0 8px 20px #20304e0a}.trip-card.active{background:var(--primary-soft);border-color:#1e6bff73}.trip-card strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.trip-card span{color:var(--muted);margin-top:5px;font-size:.8rem;display:block}.sidebar-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;display:flex}.sidebar-actions .save-status{flex:100%;margin-top:4px}.icon-square{border:1px solid var(--line);border-radius:var(--radius);width:44px;height:44px;color:var(--text);background:var(--surface);cursor:pointer;appearance:none;touch-action:manipulation;place-items:center;padding:0;transition:background .16s,border-color .16s,transform .16s;display:grid}.icon-square:hover{border-color:var(--line-strong);background:var(--surface-hover);transform:translateY(-1px)}.icon-square:active{transition-duration:80ms;transform:scale(.93)}.icon-square[aria-pressed=true]{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.icon-moon,[data-theme=dark] .icon-sun{display:none}[data-theme=dark] .icon-moon,.icon-sun{display:block}.main-content{width:100%;min-width:0;max-width:100%;padding:28px;padding-top:calc(28px + var(--safe-top));padding-right:calc(28px + var(--safe-right));padding-bottom:calc(28px + var(--safe-bottom));overflow-x:hidden}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.topbar h1{overflow-wrap:anywhere;max-width:760px;margin:2px 0 5px;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.05}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.eyebrow{color:var(--primary-dark);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.73rem;font-weight:900}.muted{color:var(--muted);margin:0}.workspace{grid-template-columns:minmax(240px,.72fr) minmax(0,1.85fr);align-items:start;gap:18px;width:100%;min-width:0;display:grid}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;max-width:100%;box-shadow:var(--shadow);padding:18px;overflow:hidden}.expenses-panel,.totals-panel{grid-column:2}.members-panel{grid-row:span 2;align-self:start}.panel-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.panel-header h2{margin:2px 0 0;font-size:1.25rem}.panel-header.split{align-items:center}.primary-button,.secondary-button,.danger-button{white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.primary-button{color:var(--on-primary);background:var(--primary);box-shadow:0 10px 20px #1e6bff2e}.primary-button:hover{background:var(--primary-dark)}.secondary-button{border:1px solid var(--line);color:var(--text);background:var(--surface)}.secondary-button:hover{border-color:var(--line-strong);background:var(--surface-hover)}.danger-button{color:var(--on-primary);background:var(--danger)}.danger-soft{color:var(--danger);background:var(--danger-soft);border-color:#ffd1d1}.compact{min-height:44px;padding-inline:12px}.full-width{width:100%}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);place-items:center;min-height:65vh;padding:40px;display:grid}.empty-state>div{text-align:center;max-width:520px}.empty-state h2{margin:8px 0 10px;font-size:clamp(1.7rem,3vw,2.5rem)}.empty-state p{color:var(--muted);line-height:1.6}.empty-kicker{color:var(--success);text-transform:uppercase;margin:0;font-size:.78rem;font-weight:900}.member-list{gap:10px;display:grid}.member-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.member-row strong{overflow-wrap:anywhere;min-width:0}.row-actions{flex:none;gap:7px;display:inline-flex}.icon-button{border:1px solid var(--line);width:44px;min-height:44px;color:var(--text);background:var(--surface);touch-action:manipulation;place-items:center;padding:0;display:grid}.icon-button.danger{color:var(--danger);background:var(--danger-soft);border-color:#ffd1d1}.toolbar{grid-template-columns:minmax(220px,1fr) minmax(190px,240px);gap:12px;margin-bottom:14px;display:grid}.search-field,.select-field,.form-field{gap:7px;display:grid}.search-field span,.select-field span,.form-field span,.checkbox-group legend{color:var(--muted);font-size:.8rem;font-weight:800}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--text);background:var(--surface);appearance:none;font-size:16px}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--muted) 72%, transparent)}input,select{height:44px;padding:0 12px}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238b98ac' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px 14px;padding-right:38px}textarea{resize:vertical;min-height:92px;padding:10px 12px}.table-wrap{scrollbar-color:var(--line-strong) transparent;border:1px solid var(--line);border-radius:var(--radius);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;width:100%;max-width:100%;overflow:auto}.table-wrap.small{max-height:320px}table{border-collapse:collapse;table-layout:fixed;background:var(--surface);width:100%;min-width:0}.summary-block table{min-width:0}.name-col{width:18%}.amount-col{width:13%}.payer-col{width:15%}.split-col{width:28%}.date-col{width:108px}.actions-col{width:124px}.person-col{width:34%}.summary-amount-col{width:22%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere;word-break:normal;padding:12px}th{overflow-wrap:normal;color:var(--muted);background:var(--table-head);text-transform:uppercase;font-size:.78rem;font-weight:900}td{font-size:.93rem}tbody tr:last-child td{border-bottom:0}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.positive{color:var(--success)}.negative{color:var(--danger)}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag{min-height:24px;color:var(--tag-text);background:var(--tag-bg);border-radius:999px;align-items:center;padding:3px 8px;font-size:.78rem;font-weight:800;line-height:1.25;display:inline-flex}.note-line{color:var(--muted);margin-top:5px;font-size:.82rem;display:block}.table-actions{text-align:right}td.table-actions{white-space:nowrap}.total-pill{min-height:38px;color:var(--primary-dark);background:var(--primary-soft);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:7px 12px;font-size:1.05rem;font-weight:900;display:inline-flex}.summary-grid{grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:16px;display:grid}.summary-block{min-width:0}.summary-block h3{margin:0 0 10px;font-size:1rem}.settlement-list{gap:10px;display:grid}.settlement-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.settlement-item span{overflow-wrap:anywhere;min-width:0}.settlement-item strong{font-variant-numeric:tabular-nums;flex:none}.empty-row,.empty-list{color:var(--muted);text-align:center;padding:18px}.modal-root{z-index:20;padding:18px;padding:max(18px, var(--safe-top)) max(18px, var(--safe-right)) max(18px, var(--safe-bottom)) max(18px, var(--safe-left));background:var(--backdrop);place-items:center;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius);background:var(--surface);width:min(620px,100%);max-height:min(760px,92vh);overflow:auto;box-shadow:0 28px 80px #11192847}.modal-header,.modal-footer{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:18px;display:flex}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{border:1px solid var(--line);width:36px;min-height:36px;color:var(--text);background:var(--surface);padding:0}.modal form{gap:15px;padding:18px;display:grid}.modal-footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end;padding:0}.modal-footer button{min-width:112px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-field.full,.checkbox-group{grid-column:1/-1}.checkbox-group{border:0;gap:10px;margin:0;padding:0;display:grid}.checkbox-list{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;display:grid}.checkbox-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);cursor:pointer;align-items:center;gap:8px;min-height:38px;padding:8px 10px;transition:background .16s,border-color .16s;display:flex}.checkbox-item:hover{border-color:var(--line-strong);background:var(--surface-hover)}.checkbox-item:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.checkbox-item input,input[type=checkbox],input[type=radio]{appearance:auto;width:18px;height:18px;accent-color:var(--primary);flex:none;padding:0}.error-message{border-radius:var(--radius);color:var(--danger);background:var(--danger-soft);border:1px solid #ffd1d1;padding:10px 12px;font-weight:800;display:none}.save-status{min-height:18px;color:var(--muted);text-align:center;margin:0;font-size:.76rem;line-height:1.35}.print-report{display:none}.error-message.visible{display:block}@media (max-width:1280px){.summary-grid{grid-template-columns:1fr}}@media (max-width:1080px){.workspace{grid-template-columns:1fr}.expenses-panel,.totals-panel,.members-panel{grid-area:auto}.summary-grid{grid-template-columns:1fr}}@media (max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.trip-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));max-height:none}.main-content{padding:20px}.topbar{display:grid}.topbar-actions{justify-content:flex-start}.toolbar,.form-grid{grid-template-columns:1fr}}@media (max-width:720px){.table-wrap,.table-wrap.small{border:0;max-height:none;overflow:visible}table,thead,tbody,tr,td{width:100%;display:block}table{background:0 0}thead,colgroup{display:none}tbody{gap:10px;display:grid}tr{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}td{grid-template-columns:minmax(96px,36%) minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px;display:grid}td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:900}td.empty-row{border:1px solid var(--line);border-radius:var(--radius);display:block}td.empty-row:before{content:""}.table-actions{text-align:left}td.table-actions{white-space:normal}}@media (max-width:560px){.sidebar,.main-content{padding:16px}.panel{padding:14px}.panel-header,.panel-header.split{display:grid}.topbar-actions{grid-template-columns:1fr;display:grid}.member-row,.settlement-item{align-items:stretch;display:grid}}@media print{.sidebar,.modal-root,.topbar-actions,button{display:none!important}.app-shell{display:block}.main-content{padding:0}.topbar h1{font-size:1.5rem}body.is-printing .workspace,body.is-printing .empty-state,body.is-printing .topbar{display:none!important}@page{margin:14mm;size:A4}html,body{color:#111827;background:#fff;overflow:visible}body.is-printing .app-shell,body.is-printing .modal-root{display:none!important}body.is-printing .print-report{display:block}.print-report{color:#111827;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.print-header{border-bottom:2px solid #1e6bff;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;padding-bottom:14px;display:flex}.print-header p,.print-header h1,.print-header span{margin:0}.print-header p{color:#1e6bff;text-transform:uppercase;font-size:11px;font-weight:900}.print-header h1{margin-top:3px;font-size:28px;line-height:1.12}.print-header span{color:#5d6b82;margin-top:5px;font-size:11px;display:block}.print-header strong{white-space:nowrap;color:#1e6bff;font-size:22px}.print-section{break-inside:avoid;margin-top:18px}.print-section h2{margin:0 0 8px;font-size:15px}.print-section table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:10px}.print-section th,.print-section td{overflow-wrap:anywhere;text-align:left;vertical-align:top;border:1px solid #d6deea;padding:7px 8px}.print-section th{color:#42526a;text-transform:uppercase;background:#edf3fb;font-size:9px;font-weight:900}.print-settlements{gap:6px;display:grid}.print-settlements p{border:1px solid #d6deea;justify-content:space-between;gap:14px;margin:0;padding:8px 10px;display:flex}}.auth-screen{min-height:100vh;min-height:100dvh;padding:calc(24px + var(--safe-top)) 16px calc(24px + var(--safe-bottom));place-items:center;display:grid}.auth-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(100%,400px);box-shadow:var(--shadow);gap:14px;padding:28px;display:grid}.auth-card h1{margin:8px 0 0;font-size:1.5rem}.auth-card .muted{margin:0}.app-notice{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);background:var(--surface-strong);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 12px;font-weight:700;display:flex}.app-notice.error{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.modal-list{margin:8px 0 0;padding-left:20px}button[aria-busy=true]{cursor:progress;opacity:.7}.data-actions{gap:10px;display:grid}.data-actions h3{margin:8px 0 0;font-size:.95rem}.data-actions .muted{margin:0;font-size:.9rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (min-width:721px){.expenses-table{min-width:640px}.expenses-table td[data-label=Datum],.expenses-table td.amount{white-space:nowrap}}.auth-section{gap:12px;display:grid}.auth-section h1,.auth-section h2{margin:4px 0 0;font-size:1.3rem}.auth-section .muted{margin:0}#joinCode{letter-spacing:.08em;text-transform:uppercase;font-size:1.15rem}.auth-divider{color:var(--muted);align-items:center;gap:12px;font-size:.85rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--line);flex:1}.guest-info{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.share-code{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-strong);letter-spacing:.1em;text-align:center;-webkit-user-select:all;user-select:all;margin:0;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.5rem;font-weight:800}.share-link{width:100%;font-size:.9rem}.share-actions{gap:10px;display:grid}.member-choice{gap:8px;display:grid}.created-by{color:var(--muted);margin-top:4px;font-size:.8rem;display:block}.mobile-bar,.tabbar,.fab{display:none}@media (max-width:720px){:root{--tabbar-height:64px}.sidebar,.topbar-actions,.topbar .eyebrow,#addExpenseBtn,#addMemberBtn{display:none!important}.app-shell{display:block}.main-content{padding:0 12px;padding-left:calc(12px + var(--safe-left));padding-right:calc(12px + var(--safe-right));padding-bottom:calc(var(--tabbar-height) + 88px + var(--safe-bottom))}.mobile-bar{z-index:10;padding:calc(8px + var(--safe-top)) 12px 8px;border-bottom:1px solid var(--line);background:var(--bg);align-items:center;gap:10px;margin:0 -12px 12px;display:flex;position:sticky;top:0}.mobile-bar .brand-mark{flex:none;width:36px;height:36px;font-size:.8rem}.mobile-trip-select{flex:1;min-width:0;min-height:44px;font-weight:800}.mobile-bar .icon-square{flex:none}.topbar{margin-bottom:12px;display:block}.topbar h1{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar .muted{margin:0;font-size:.85rem}.workspace{display:block}.workspace>.panel{display:none}.workspace[data-tab=expenses]>.expenses-panel,.workspace[data-tab=summary]>.totals-panel,.workspace[data-tab=group]>.members-panel{display:block}.panel{box-shadow:none;padding:14px}.panel-header,.panel-header.split{margin-bottom:12px;display:flex}.panel-header .eyebrow{display:none}.toolbar{grid-template-columns:minmax(0,1fr) minmax(0,42%);gap:8px}.toolbar .search-field>span,.toolbar .select-field>span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.expenses-table tbody{gap:8px}.expenses-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name amount""payer date""split actions";gap:4px 12px;padding:12px 14px;display:grid}.expenses-table tr:has(.empty-row){padding:0;display:block}.expenses-table td{border:0;padding:0;display:block}.expenses-table td:before{content:none}.expenses-table td[data-label=Name]{grid-area:name}.expenses-table td.amount{text-align:right;grid-area:amount;font-size:1.05rem;font-weight:900}.expenses-table td[data-label=Bezahlt\ von]{color:var(--muted);grid-area:payer;font-size:.85rem}.expenses-table td[data-label=Bezahlt\ von]:before{content:"bezahlt von ";color:var(--muted);font-size:inherit;text-transform:none;font-weight:400}.expenses-table td[data-label=Datum]{color:var(--muted);text-align:right;grid-area:date;font-size:.85rem}.expenses-table td[data-label=Aufgeteilt\ auf]{grid-area:split;align-self:center}.expenses-table td.table-actions{grid-area:actions}.expenses-table .tag{font-size:.75rem}.summary-grid{flex-direction:column;display:flex}.summary-block:last-child{order:-1}.summary-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"person balance""paid share";gap:2px 12px;padding:10px 14px;display:grid}.summary-table td{border:0;padding:0;display:block}.summary-table td:before{content:attr(data-label) " ";color:var(--muted);text-transform:none;font-size:.8rem;font-weight:400}.summary-table td[data-label=Person]{grid-area:person;font-weight:800}.summary-table td[data-label=Person]:before,.summary-table td[data-label=Saldo]:before{content:none}.summary-table td[data-label=Saldo]{text-align:right;grid-area:balance;font-size:1.05rem}.summary-table td[data-label=Bezahlt]{grid-area:paid;font-size:.85rem;font-weight:600}.summary-table td[data-label=Anteil]{text-align:right;grid-area:share;font-size:.85rem;font-weight:600}.summary-table tr:has(.empty-row){display:block}.settlement-item{padding:14px;font-size:1rem;display:flex}.settlement-item strong{font-size:1.1rem}.member-row{align-items:center;display:flex}.tabbar{z-index:15;padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);border-top:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{min-height:var(--tabbar-height);color:var(--muted);background:0 0;border-radius:0;justify-items:center;gap:2px;padding:8px 4px;font-size:.75rem;font-weight:800;display:grid}.tabbar button:hover,.tabbar button:active{transform:none}.tabbar button[aria-current=page]{color:var(--primary-dark)}[data-theme=dark] .tabbar button[aria-current=page]{color:var(--primary)}.fab{right:calc(16px + var(--safe-right));bottom:calc(var(--tabbar-height) + 16px + var(--safe-bottom));z-index:16;width:60px;height:60px;color:var(--on-primary);background:var(--primary);border-radius:50%;place-items:center;display:grid;position:fixed;box-shadow:0 10px 24px #1e6bff59}.modal-root{place-items:end stretch;padding:0}.modal{width:100%;max-height:calc(100dvh - 24px - var(--safe-top));border-radius:16px 16px 0 0}.modal form{padding-bottom:calc(18px + var(--safe-bottom))}.modal-footer{bottom:calc(-18px - var(--safe-bottom));margin:0 -18px calc(-18px - var(--safe-bottom));padding:12px 18px calc(12px + var(--safe-bottom));background:var(--surface);position:sticky}.modal-footer button{flex:1}.menu-list{gap:8px;display:grid}.menu-list .secondary-button,.menu-list .danger-button{justify-content:flex-start;width:100%}.menu-list hr{border:0;border-top:1px solid var(--line);width:100%;margin:4px 0}}
