:root{--text:#5b5347;--text-h:#2b2620;--bg:#f2efe3;--bg-subtle:#ede7d4;--border-color:#d9cfb4;--card-bg:#f7f4ea;--card-bg-raised:#f7f4ea;--accent:#a63d1c;--accent-hover:#83301a;--accent-contrast:#f7f4ea;--accent-soft:#f0ddd3;--secondary:#8a5a1e;--secondary-container:#f3e6d2;--tertiary:#3e5f7e;--tertiary-container:#dde6ee;--badge-neutral-bg:#ede7d4;--badge-neutral-fg:#5b5347;--badge-ok-bg:#e3ece0;--badge-ok-fg:#3f6b4a;--badge-warn-bg:#f3e6d2;--badge-warn-fg:#8a5a1e;--badge-error-bg:#f5e3de;--badge-error-fg:#a33b2e;--sans:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-pill:9999px;--radius-card:.5rem;--radius-control:.375rem;--content-max-width:1080px;--bottom-nav-height:64px;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--shadow-focus:0 0 0 2px #a63d1c59;font:16px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#b8ad98;--text-h:#ede7d4;--bg:#211d17;--bg-subtle:#29241d;--border-color:#3b3428;--card-bg:#29241d;--card-bg-raised:#332c22;--accent:#e07a4f;--accent-hover:#e8956f;--accent-contrast:#211d17;--accent-soft:#e07a4f29;--secondary:#d9a66a;--secondary-container:#3a2e1c;--tertiary:#8faacb;--tertiary-container:#2a3441;--badge-neutral-bg:#332c22;--badge-neutral-fg:#b8ad98;--badge-ok-bg:#2a3326;--badge-ok-fg:#9cc49a;--badge-warn-bg:#3a2e1c;--badge-warn-fg:#d9a66a;--badge-error-bg:#3a2620;--badge-error-fg:#c97a63;--shadow-focus:0 0 0 2px #e07a4f66}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#b8ad98;--text-h:#ede7d4;--bg:#211d17;--bg-subtle:#29241d;--border-color:#3b3428;--card-bg:#29241d;--card-bg-raised:#332c22;--accent:#e07a4f;--accent-hover:#e8956f;--accent-contrast:#211d17;--accent-soft:#e07a4f29;--secondary:#d9a66a;--secondary-container:#3a2e1c;--tertiary:#8faacb;--tertiary-container:#2a3441;--badge-neutral-bg:#332c22;--badge-neutral-fg:#b8ad98;--badge-ok-bg:#2a3326;--badge-ok-fg:#9cc49a;--badge-warn-bg:#3a2e1c;--badge-warn-fg:#d9a66a;--badge-error-bg:#3a2620;--badge-error-fg:#c97a63;--shadow-focus:0 0 0 2px #e07a4f66}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-h);margin:0 0 var(--space-2);font-size:32px;font-weight:700;line-height:40px}@media (width<=639px){h1{font-size:28px;line-height:36px}}h2{font-family:var(--sans);letter-spacing:normal;color:var(--text-h);margin:0;font-size:18px;font-weight:600;line-height:24px}a{color:var(--accent)}button,input,select{font:inherit;color:inherit}input,select{border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--bg);width:100%;height:35px;padding:0 .75rem;transition:border-color .15s,box-shadow .15s}select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--text) 50%), linear-gradient(135deg, var(--text) 50%, transparent 50%);background-position:calc(100% - 1.1rem),calc(100% - .8rem);background-repeat:no-repeat;background-size:.3rem .3rem,.3rem .3rem;padding-right:2.25rem}input[type=checkbox],input[type=radio]{width:auto;height:auto;accent-color:var(--accent);background:0 0;border:none;padding:0}input:focus-visible,select:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.btn{border-radius:var(--radius-control);cursor:pointer;background:var(--accent);color:var(--accent-contrast);box-shadow:none;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.15rem;font-weight:600;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex}.btn:hover{background:var(--accent-hover)}.btn:active{transform:scale(.98)}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.icon-btn,.icon-danger-btn{border-radius:var(--radius-control);width:2rem;height:2rem;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--accent);background:var(--accent-soft)}.icon-danger-btn:hover{color:var(--badge-error-fg);background:var(--badge-error-bg)}.btn-secondary{color:var(--accent);border:1px solid var(--accent);box-shadow:none;background:0 0}.btn-secondary:hover{background:var(--accent-soft);color:var(--accent);box-shadow:none}.badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;padding:.25rem .6rem;font-size:.75rem;display:inline-flex}.badge-neutral{background:var(--badge-neutral-bg);color:var(--badge-neutral-fg)}.badge-ok{background:var(--badge-ok-bg);color:var(--badge-ok-fg)}.badge-warn{background:var(--badge-warn-bg);color:var(--badge-warn-fg)}.badge-error{background:var(--badge-error-bg);color:var(--badge-error-fg)}.figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.01em}.page{max-width:var(--content-max-width);width:100%;margin-inline:auto}.card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s}a.card:hover,.card.card-interactive:hover{box-shadow:var(--shadow-md);border-color:var(--accent)}.card.card-interactive:active{transform:scale(.98)}.empty-state{align-items:center;gap:var(--space-3);text-align:center;color:var(--text);background:var(--card-bg);border:1px dashed var(--border-color);border-radius:var(--radius-card);padding:var(--space-6) var(--space-4);flex-direction:column;display:flex}.empty-state svg{color:var(--text);opacity:.5}@media (width<=767px){.toolbar-create-btn{display:none}}.ui-form{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.ui-form{grid-template-columns:repeat(2,1fr);align-items:end}}.ui-field{flex-direction:column;gap:.35rem;display:flex}.ui-field label{font-size:.85rem;font-weight:600}.ui-field-full{grid-column:1/-1}.ui-form-error{background:var(--badge-error-bg);color:var(--badge-error-fg);border-radius:var(--radius-control);padding:.6rem .85rem;font-size:.85rem}.ui-form-card{margin-bottom:var(--space-5)}.auth-page{background:var(--bg-subtle);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--card-bg-raised);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-lg);padding:2rem}.auth-card h1{color:var(--accent);margin:0 0 1.5rem;font-size:1.4rem}.auth-error{background:var(--badge-error-bg);color:var(--badge-error-fg);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.6rem .75rem;font-size:.85rem}.auth-card .btn{width:100%;margin-top:.5rem}.auth-switch{text-align:center;margin-top:1.5rem;font-size:.85rem}.user-autocomplete{flex:1;position:relative}.user-autocomplete-list{z-index:10;background:var(--card-bg);border:1px solid var(--border-color);box-shadow:none;border-radius:8px;max-height:220px;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow-y:auto}.user-autocomplete-list li{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex}.user-autocomplete-list li:hover{background:var(--bg)}.user-autocomplete-info{flex-direction:column;min-width:0;display:flex}.user-autocomplete-name{font-size:.9rem;font-weight:600}.user-autocomplete-email{color:var(--text);font-size:.75rem}.ui-segmented{gap:.5rem;display:flex}.ui-segmented-btn{border-radius:var(--radius-control);border:1px solid var(--border-color);background:var(--bg);cursor:pointer;font-weight:600;font:inherit;flex:1;padding:.5rem;transition:background .15s,border-color .15s,color .15s}.ui-segmented-btn.active-accent{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.ui-segmented-btn.active-ok{background:var(--badge-ok-bg);color:var(--badge-ok-fg);border-color:var(--badge-ok-fg)}.ui-segmented-btn.active-error{background:var(--badge-error-bg);color:var(--badge-error-fg);border-color:var(--badge-error-fg)}.more-menu-backdrop{z-index:40;background:#2b262059;animation:.15s more-menu-fade-in;position:fixed;inset:0}.more-menu-panel{z-index:41;background:var(--card-bg-raised);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-2) var(--space-3) calc(var(--space-4) + env(safe-area-inset-bottom));flex-direction:column;gap:.15rem;max-height:70vh;animation:.18s more-menu-slide-up;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.more-menu-handle{border-radius:var(--radius-pill);background:var(--border-color);flex-shrink:0;width:36px;height:4px;margin:.35rem auto .75rem}.more-menu-item{align-items:center;gap:var(--space-3);padding:.85rem var(--space-3);border-radius:var(--radius-sm);color:var(--text-h);font-weight:500;text-decoration:none;display:flex}.more-menu-item svg{color:var(--text);flex-shrink:0}.more-menu-item:hover,.more-menu-item.active{background:var(--accent-soft);color:var(--accent)}.more-menu-item.active svg{color:var(--accent)}@keyframes more-menu-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes more-menu-fade-in{0%{opacity:0}to{opacity:1}}@media (width>=768px){.more-menu-backdrop{background:0 0}.more-menu-panel{top:4.25rem;right:var(--space-4);border-radius:var(--radius-md);width:230px;padding:var(--space-2);max-height:none;animation:.12s more-menu-dropdown-in;position:fixed;bottom:auto;left:auto}.more-menu-handle{display:none}.more-menu-item{padding:.6rem var(--space-3)}}@keyframes more-menu-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.fab-root{display:none}@media (width<=767px){.fab-root{right:var(--space-4);bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + var(--space-3));z-index:45;pointer-events:none;display:block;position:fixed}}.fab-backdrop{z-index:44;background:#2b262040;position:fixed;inset:0}.fab-actions{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-3);z-index:46;pointer-events:none;flex-direction:column;display:flex;position:relative}.fab-action{align-items:center;gap:var(--space-3);cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:none;padding:0;transition:opacity .15s,transform .15s;display:flex;transform:translateY(8px)scale(.9)}.fab-actions:not(.open){visibility:hidden;transition:visibility 0s linear .2s}.fab-actions.open .fab-action{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.fab-action-label{background:var(--card-bg-raised);color:var(--text-h);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);white-space:nowrap;padding:.45rem .85rem;font-size:.85rem;font-weight:600}.fab-action-icon{background:var(--card-bg-raised);width:44px;height:44px;color:var(--accent);box-shadow:var(--shadow-md);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.fab-trigger{cursor:pointer;background:var(--accent);width:56px;height:56px;color:var(--accent-contrast);box-shadow:var(--shadow-lg);z-index:46;pointer-events:auto;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;transition:background .15s,transform .1s;display:flex;position:relative}.fab-trigger:hover{background:var(--accent-hover)}.fab-trigger:active{transform:scale(.95)}.ui-modal{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--card-bg);color:var(--text);box-shadow:var(--shadow-lg);width:min(32rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:0;overflow:hidden}.ui-modal[open]{flex-direction:column;display:flex}.ui-modal::backdrop{background:#2b262073}.ui-modal-panel{flex-direction:column;flex:1;min-height:0;display:flex}.ui-modal-header{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border-color);padding:1rem 1.25rem;display:flex}.ui-modal-header h2{margin:0;font-size:1.15rem}.ui-modal-close{border-radius:var(--radius-control);border:1px solid var(--border-color);background:var(--card-bg);width:2rem;height:2rem;color:var(--text-h);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.ui-modal-close:hover{border-color:var(--accent)}.ui-modal-body{padding:1.25rem;overflow-y:auto}.ui-modal-body .ui-form{grid-template-columns:1fr;align-items:stretch}@media (width<=767px){.ui-modal{border-radius:var(--radius-card) var(--radius-card) 0 0;border-bottom:none;width:100vw;max-width:100vw;max-height:78dvh;margin:auto 0 0}.ui-modal-header{padding:.75rem 1rem}.ui-modal-body{padding:1rem}.ui-modal-body .ui-form{gap:.7rem}}.user-menu{position:relative}.user-menu-block{width:100%}.user-menu-trigger{cursor:pointer;border-radius:var(--radius-pill);color:var(--text-h);font:inherit;background:0 0;border:none;align-items:center;gap:.5rem;padding:.2rem .35rem .2rem .2rem;transition:background .15s;display:flex}.user-menu-trigger:hover{background:var(--bg-subtle)}.user-menu-block .user-menu-trigger{border-radius:var(--radius-control);width:100%;padding:.4rem .5rem}.user-menu-avatar{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;font-size:.85rem;font-weight:600;overflow:hidden}.user-menu-block .user-menu-name{text-align:left;flex:1;max-width:none}@media (width<=1023px){.user-menu:not(.user-menu-block) .user-menu-name{display:none}}.user-menu-chevron{flex-shrink:0;transition:transform .15s}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu-popup{z-index:41;background:var(--card-bg-raised);border:1px solid var(--border-color);border-radius:var(--radius-md);width:14rem;padding:var(--space-2);flex-direction:column;gap:.25rem;display:flex;position:absolute}.user-menu-popup-down{top:calc(100% + .5rem);right:0}.user-menu-popup-up{width:100%;min-width:13rem;bottom:calc(100% + .5rem);left:0}.user-menu-popup-name{color:var(--text-h);padding:.35rem .5rem 0;font-weight:600}.user-menu-popup-rate{color:var(--text);padding:0 .5rem .35rem;font-size:.8rem}.user-menu-item{width:100%;color:var(--text-h);border-radius:var(--radius-sm);cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;padding:.55rem .5rem;font-size:.85rem;font-weight:500;display:flex}.user-menu-item:hover{background:var(--bg-subtle);color:var(--accent)}.user-menu-item-danger:hover{background:var(--badge-error-bg);color:var(--badge-error-fg)}.settings-options{flex-direction:column;gap:.5rem;display:flex}.settings-option{border:1px solid var(--border-color);background:var(--card-bg);width:100%;color:var(--text-h);border-radius:var(--radius-control);cursor:pointer;font:inherit;text-align:left;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.settings-option:hover{border-color:var(--accent)}.settings-option-icon{border-radius:var(--radius-control);background:var(--accent-soft);width:2.25rem;height:2.25rem;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.settings-option-text{flex-direction:column;flex:1;min-width:0;display:flex}.settings-option-text small{color:var(--text);font-size:.8rem}.notif-bell{flex-shrink:0;position:relative}.notif-bell-trigger{border:1px solid var(--border-color);background:var(--card-bg);width:34px;height:34px;color:var(--text);border-radius:var(--radius-pill);cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.notif-bell-trigger:hover{border-color:var(--accent);color:var(--accent)}.notif-bell-badge{border-radius:var(--radius-pill);background:var(--accent);min-width:17px;height:17px;color:var(--bg);font-family:var(--font-mono);justify-content:center;align-items:center;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-5px;right:-5px}.notif-panel{z-index:41;background:var(--card-bg-raised);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;width:min(22rem,100vw - 2rem);max-height:min(28rem,70vh);display:flex;position:absolute;top:calc(100% + .5rem);overflow:hidden}.notif-panel-down-right{right:0}.notif-panel-down-left{left:0}.notif-panel-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color);color:var(--text-h);display:flex}.notif-panel-readall{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;display:inline-flex}.notif-empty{padding:var(--space-4);color:var(--text);text-align:center;margin:0;font-size:.85rem}.notif-list{margin:0;padding:0;list-style:none;overflow-y:auto}.notif-item{border-bottom:1px solid var(--border-color);align-items:flex-start;display:flex}.notif-item:last-child{border-bottom:none}.notif-item.unread{background:var(--accent-soft)}.notif-item-main{min-width:0;padding:var(--space-2) var(--space-3);font:inherit;text-align:left;color:var(--text-h);cursor:pointer;background:0 0;border:none;flex:1;gap:.6rem;display:flex}.notif-item-main:hover{background:var(--bg-subtle)}.notif-item-dot{background:0 0;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.4rem}.notif-item.unread .notif-item-dot{background:var(--accent)}.notif-item-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.notif-item-title{overflow-wrap:anywhere;font-size:.85rem;font-weight:600}.notif-item-body{color:var(--text);overflow-wrap:anywhere;font-size:.8rem}.notif-item-time{color:var(--text);font-size:.72rem}.notif-item-dismiss{width:32px;height:32px;color:var(--text);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:.25rem .25rem 0 0;display:flex}.notif-item-dismiss:hover{background:var(--badge-error-bg);color:var(--badge-error-fg)}@media (width<=767px){.notif-panel{top:var(--notif-top,4rem);left:var(--space-3);right:var(--space-3);width:auto;max-height:calc(100dvh - var(--notif-top,4rem) - var(--bottom-nav-height) - env(safe-area-inset-bottom) - var(--space-4));position:fixed}}.ui-empty-state{color:var(--text);text-align:center;background:var(--card-bg);border:1px dashed var(--border-color);border-radius:var(--radius-card);padding:var(--space-6) var(--space-4);margin:0}.tx-template-toggle{align-items:center;gap:.75rem;font-size:.85rem;display:flex}.tx-template-toggle label{align-items:center;gap:.4rem;font-weight:400;display:flex}.tx-scan-row{flex-wrap:wrap;gap:.5rem;display:flex}.tx-scan-status{color:var(--text);background:var(--bg-subtle);border-radius:var(--radius-control);padding:.5rem .75rem;font-size:.85rem}.tx-scan-status-error{background:var(--badge-warn-bg);color:var(--badge-warn-fg)}.layout{flex-direction:column;min-height:100vh;display:flex}@media (width>=1024px){.layout{flex-direction:row}}.layout-sidebar{display:none}@media (width>=1024px){.layout-sidebar{background:var(--card-bg);border-right:1px solid var(--border-color);width:260px;height:100vh;padding:var(--space-5) var(--space-4);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0}}.layout-sidebar-top{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-5);padding-right:var(--space-2);display:flex}.layout-sidebar-brand{font-family:var(--font-display);color:var(--accent);padding:0 var(--space-2);font-size:1.4rem;font-weight:600;text-decoration:none}.layout-sidebar-nav{flex-direction:column;flex:1;gap:.15rem;display:flex;overflow-y:auto}.layout-sidebar-link{padding:.6rem var(--space-3);border-radius:var(--radius-control);color:var(--text);align-items:center;gap:.75rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.layout-sidebar-link:hover{background:var(--bg-subtle);color:var(--text-h)}.layout-sidebar-link.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.layout-sidebar-footer{padding-top:var(--space-4);border-top:1px solid var(--border-color);flex-direction:column;gap:.6rem;display:flex}.layout-sidebar-rate{color:var(--text);background:var(--bg);border:1px solid var(--border-color);border-radius:var(--radius-pill);text-align:center;padding:.3rem .7rem;font-size:.75rem}.layout-sidebar-privacy{border:1px solid var(--border-color);color:var(--text);border-radius:var(--radius-control);cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.85rem;font-weight:600;display:flex}.layout-sidebar-privacy:hover{border-color:var(--accent);color:var(--accent)}.layout-header{z-index:30;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);position:sticky;top:0}@media (width>=1024px){.layout-header{display:none}}.layout-header-inner{align-items:center;gap:var(--space-4);padding:max(.85rem, env(safe-area-inset-top)) var(--space-4) .85rem;display:flex}@media (width>=768px){.layout-header-inner{padding-left:var(--space-6);padding-right:var(--space-6);padding-top:.85rem}}.layout-brand{color:var(--accent);flex-shrink:0;font-size:1.1rem;font-weight:700;text-decoration:none}.layout-nav-desktop{display:none}@media (width>=768px){.layout-nav-desktop{flex:1;justify-content:center;align-items:center;gap:.15rem;display:flex}}.layout-nav-link{border-radius:var(--radius-sm);color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:.4rem;padding:.5rem .6rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.layout-nav-label{display:none}@media (width>=1024px){.layout-nav-link{padding:.45rem .85rem}.layout-nav-label{display:inline}}.layout-nav-link:hover{background:var(--bg-subtle);color:var(--text-h)}.layout-nav-link.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.layout-more-trigger{font:inherit}.layout-chevron{transition:transform .15s}.layout-chevron.open{transform:rotate(180deg)}.layout-user{flex-shrink:0;align-items:center;gap:.6rem;margin-left:auto;display:flex;position:relative}.layout-usd-rate{color:var(--text);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-pill);white-space:nowrap;padding:.3rem .7rem;font-size:.75rem}@media (width<=1023px){.layout-usd-rate{display:none}}.layout-privacy-toggle{border:1px solid var(--border-color);background:var(--card-bg);width:34px;height:34px;color:var(--text);border-radius:var(--radius-pill);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.layout-privacy-toggle:hover{border-color:var(--accent);color:var(--accent)}.layout-content{min-width:0;padding:var(--space-4);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom));flex:1}@media (width<=767px){.layout-content{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + var(--space-4))}}@media (width>=768px){.layout-content{padding:var(--space-6)}}@media (width>=1024px){.layout-content{padding:var(--space-6) var(--space-7)}}.layout-bottom-nav{z-index:30;height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--card-bg-raised) 90%, transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border-color);box-shadow:var(--shadow-lg);justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=768px){.layout-bottom-nav{display:none}}.layout-bottom-nav-item{cursor:pointer;color:var(--text);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;padding:.35rem 0;font-size:.68rem;font-weight:600;text-decoration:none;display:flex}.layout-bottom-nav-item.active{color:var(--accent)}.layout-sidebar-quick{width:100%;margin:0 0 var(--space-3)}@media (width<=767px){.layout-quick-header-btn{display:none}}.ui-progress-track{border-radius:var(--radius-pill);background:var(--badge-neutral-bg);overflow:hidden}.ui-progress-fill{border-radius:var(--radius-pill);height:100%;transition:width .2s}.ui-progress-fill-accent{background:var(--accent)}.ui-progress-fill-ok{background:var(--badge-ok-fg)}.ui-progress-fill-warn{background:var(--badge-warn-fg)}.ui-progress-fill-error{background:var(--badge-error-fg)}.home-row{min-width:0;margin:1.75rem 0}.home-row-header{justify-content:space-between;align-items:baseline;gap:.25rem var(--space-3);flex-wrap:wrap;margin-bottom:.75rem;display:flex}.home-row-title{font-family:var(--font-display);color:var(--text-h);white-space:nowrap;align-items:center;gap:.15rem;font-size:1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.home-row-title:hover{color:var(--accent)}.home-row-summary{color:var(--text);text-align:right;font-size:.8rem}.home-row-track{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;gap:.75rem;padding:2px 2px .5rem;display:flex;overflow-x:auto}.home-tile{scroll-snap-align:start;min-width:16rem;color:var(--text-h);flex-direction:column;flex:none;padding:1.1rem 1.25rem;text-decoration:none;display:flex}.home-tile-label{text-transform:uppercase;letter-spacing:.02em;min-height:1.6rem;color:var(--text);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.75rem;font-weight:500;display:flex}.home-tile-label>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-tile-value{letter-spacing:-.02em;white-space:nowrap;font-size:1.25rem;font-weight:600}.home-tile-sub{color:var(--text);margin-top:.25rem;font-size:.75rem}.home-tile-progress{margin-top:auto;padding-top:.75rem}.home-tile-add{border:1px dashed var(--border-color);border-radius:var(--radius-card);min-height:6.5rem;color:var(--text);background:0 0;flex-basis:9rem;justify-content:center;align-items:center;gap:.35rem;font-size:.8rem;font-weight:500;transition:border-color .15s,color .15s}.home-tile-add:hover{border-color:var(--accent);color:var(--accent)}button.home-tile-add{cursor:pointer;font-family:inherit}.home-tile-lines{flex-direction:column;gap:.2rem;display:flex}.home-tile-lines>div{justify-content:space-between;gap:1rem;display:flex}.ui-list-row{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:inherit;align-items:center;gap:.85rem;padding:.75rem 1rem;font-size:.9rem;text-decoration:none;display:flex}.ui-list-row.muted{opacity:.6}.ui-list-row-leading{flex-shrink:0;align-items:center;font-size:1.2rem;display:flex}.ui-list-row-main{flex:1;min-width:0}.ui-list-row-title{color:var(--text-h);text-overflow:ellipsis;font-weight:600;overflow:hidden}.ui-list-row-subtitle{color:var(--text);margin-top:.1rem;font-size:.78rem}.ui-list-row-trailing{text-align:right;flex-shrink:0}.ui-list-row-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}@media (width<=480px){.ui-list-row{flex-wrap:wrap}}.ui-money-sm{font-size:.85rem}.ui-money-lg{font-size:1.5rem;font-weight:600}.ui-money-negative{color:var(--badge-error-fg)}.ui-money-positive{color:var(--badge-ok-fg)}.ui-section-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:.75rem;display:flex}.ui-section-header-page{margin-bottom:1.25rem}.ui-section-header h1,.ui-section-header h2{margin:0}.ui-section-header-subtitle{color:var(--text);margin:.25rem 0 0;font-size:.9rem}.ui-section-header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.home-requests-list{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.ui-card{flex-direction:column;gap:.6rem;padding:1.25rem;display:flex}.ui-card-accent{border-top:3px solid var(--accent)}.ui-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.ui-card-header h3{color:var(--text-h);margin:0;font-size:1.05rem}.ui-card-header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.ui-card-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.ui-card-grid{grid-template-columns:repeat(auto-fill, minmax(var(--ui-card-grid-min,260px), 1fr))}}.account-type,.account-credit-info{color:var(--text);font-size:.8rem}.account-meta{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.link-danger{color:var(--badge-error-fg);cursor:pointer;background:0 0;border:none;padding:.25rem 0;font-size:.8rem}.ui-card[role=link]{cursor:pointer}.ui-icon-chip{border-radius:var(--radius-pill);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.ui-icon-chip-accent{background:var(--accent-soft);color:var(--accent)}.ui-icon-chip-neutral{background:var(--badge-neutral-bg);color:var(--text)}.ui-icon-chip-ok{background:var(--badge-ok-bg);color:var(--badge-ok-fg)}.ui-icon-chip-warn{background:var(--badge-warn-bg);color:var(--badge-warn-fg)}.ui-icon-chip-error{background:var(--badge-error-bg);color:var(--badge-error-fg)}.tx-back{margin-bottom:.75rem;font-size:.85rem;display:inline-block}.tx-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.account-credit-info{color:var(--text);margin-top:.25rem;font-size:.8rem}.purchases-section{margin:1.5rem 0}.statement-preview{flex-direction:column;gap:.6rem;margin-bottom:1.5rem;display:flex}.statement-row-meta{color:var(--text);font-size:.78rem}.statement-row-catchup{align-items:center;gap:.5rem;display:flex}.link{color:var(--accent,inherit);cursor:pointer;background:0 0;border:none;padding:.25rem 0;font-size:.8rem;text-decoration:underline}.tx-header-actions{gap:.5rem;display:flex}.transfer-preview{background:var(--bg);border:1px solid var(--border-color);border-radius:var(--radius-control);padding:.6rem .75rem;font-size:.85rem}.tx-row-meta{color:var(--text);font-size:.75rem}.tx-list{flex-direction:column;gap:.5rem;display:flex}.tx-row-note{color:var(--text);font-size:.8rem}.tx-row-creator{color:var(--text);opacity:.7;margin-top:.15rem;font-size:.75rem}.tx-row-date{color:var(--text);white-space:nowrap;font-size:.75rem}.tx-row-locked{opacity:.6;font-size:.8rem}.members-list{flex-direction:column;gap:.5rem;display:flex}.invite-form{gap:.5rem;margin-top:1rem;display:flex}.invite-form input{flex:1}.pending-invites{flex-direction:column;gap:.4rem;margin-top:1rem;display:flex}.pending-invite-row{color:var(--text);justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.tx-back{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:0;font-size:.85rem;font-weight:600;display:inline-flex}.tx-back:hover{color:var(--accent)}.tx-account-card{gap:.35rem;padding:1.25rem}.tx-account-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.tx-account-top h1{margin:0}.tx-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin:.75rem 0 1.5rem;display:flex}.tx-load-more{flex-direction:column;align-items:center;gap:.35rem;margin:1rem 0 .5rem;display:flex}.tx-load-more-btn{border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--card-bg);width:2.75rem;height:2.75rem;color:var(--text-h);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.tx-load-more-btn:hover{border-color:var(--accent);color:var(--accent)}.tx-load-more-note{color:var(--text);font-size:.75rem}@media (width<=639px){.tx-actions{grid-template-columns:1fr 1fr;display:grid}.tx-actions>:last-child{grid-column:1/-1}}.tx-account-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.tx-account-owner{color:var(--text);font-size:.8rem}.tx-share-btn{border-radius:var(--radius-control);border:1px solid var(--border-color);background:var(--card-bg);width:2.25rem;height:2.25rem;color:var(--text-h);cursor:pointer;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.tx-share-btn:hover{border-color:var(--accent);color:var(--accent)}.invite-form .btn{height:35px;padding-top:0;padding-bottom:0}.loan-card-header{justify-content:space-between;align-items:flex-start;display:flex}.loan-card-header h3{margin:0;font-size:1.05rem}.loan-meta{color:var(--text);font-size:.75rem}.loan-amounts{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.loan-pay{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.loan-pay select{flex:auto;min-width:8rem}.loan-pay input{flex:auto;min-width:10rem}.loan-no-account{color:var(--text);margin:.25rem 0 0;font-size:.8rem}.loan-card-actions{flex-shrink:0;gap:.75rem;display:flex}.loan-next{color:var(--text);margin:0;font-size:.8rem}.loan-next strong{font-weight:600}.loan-inline-input{align-items:stretch;gap:.5rem;display:flex}.loan-inline-input input{flex:auto;min-width:0}.loan-field-hint{font-size:.8rem}.loan-list{flex-direction:column;gap:.75rem;display:flex}.loan-row-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.loan-row-header h3{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .15rem;font-size:1.05rem;display:flex}.loan-row-actions{flex-shrink:0;gap:.15rem;display:flex}.loan-percent{font-size:.8rem;font-weight:600}.loan-row-pay{margin-top:.25rem;display:flex}.loan-paid-section{margin:1.5rem 0}.loan-paid-toggle{color:var(--text-h);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;margin-bottom:.75rem;padding:.25rem 0;font-size:1.1rem;font-weight:600;display:inline-flex}.loan-paid-toggle:hover{color:var(--accent)}.loan-paid-chevron{transition:transform .15s}.loan-paid-chevron.open{transform:rotate(180deg)}.categories-columns{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=768px){.categories-columns{grid-template-columns:1fr 1fr}}.categories-column h2{color:var(--text);margin:0 0 .75rem}.category-list{flex-direction:column;gap:.5rem;display:flex}.category-row-edit{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:.65rem;padding:.75rem 1rem;display:flex}.category-row-actions{gap:.5rem;font-size:.8rem;display:flex}.category-row-actions button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:.15rem .3rem}.category-row-actions .link-danger{color:var(--badge-error-fg)}.ui-summary-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.ui-summary-card{gap:.6rem}.ui-summary-label{text-transform:uppercase;letter-spacing:.02em;color:var(--text);font-size:.75rem;font-weight:500}.ui-summary-main{color:var(--text);flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.85rem;display:flex}.ui-summary-foot{color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.ui-summary-foot-right{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.budget-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.budget-card-header h3{margin:0 0 .15rem;font-size:1.05rem}.budget-period{color:var(--text);font-size:.75rem}.budget-amounts{justify-content:space-between;font-size:.85rem;display:flex}.budget-percent{font-size:.8rem;font-weight:600}.budget-list{flex-direction:column;gap:.75rem;display:flex}.budget-row-actions{flex-shrink:0;gap:.15rem;display:flex}.goal-list{flex-direction:column;gap:.75rem;display:flex}.goal-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.goal-card-header h3{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .15rem;font-size:1.05rem;display:flex}.goal-meta{color:var(--text);font-size:.75rem}.goal-row-actions{flex-shrink:0;gap:.15rem;display:flex}.goal-amounts{justify-content:space-between;font-size:.85rem;display:flex}.goal-percent{font-size:.8rem;font-weight:600}.goal-pace{color:var(--text);font-size:.8rem}.goal-flow-actions{gap:.5rem;margin-top:.25rem;display:flex}.link-neutral{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.debts-list{flex-direction:column;gap:.75rem;display:flex}.debt-section{margin:1.5rem 0}.debt-section h2,.debt-confirm h2{align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:1.1rem;display:flex}.debt-section-count{color:var(--text);background:var(--bg-subtle);border-radius:var(--radius-pill);padding:.1rem .55rem;font-size:.75rem;font-weight:600}.debt-confirm{margin-bottom:1.5rem}.debt-confirm-list{flex-direction:column;gap:.5rem;display:flex}.debt-confirm-card{border-color:var(--badge-warn-fg);background:var(--badge-warn-bg);flex-flow:wrap;justify-content:space-between;align-items:center;gap:.75rem}.debt-confirm-text{color:var(--text-h);font-size:.9rem}.debt-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.debt-header-right{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.debt-party{flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:600;display:flex}.debt-unregistered{color:var(--text);background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:.1rem .5rem;font-size:.7rem;font-weight:500}.debt-description{color:var(--text);font-size:.85rem}.debt-amounts{justify-content:space-between;font-size:.85rem;display:flex}.debt-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.debt-toggle,.debt-settled-toggle{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.25rem 0;font-size:.85rem;font-weight:600;display:inline-flex}.debt-settled-toggle{color:var(--text-h);font-size:1.1rem}.debt-toggle:hover,.debt-settled-toggle:hover{color:var(--accent)}.debt-toggle-chevron{transition:transform .15s}.debt-toggle-chevron.open{transform:rotate(180deg)}.debt-settled{color:var(--badge-ok-fg);font-size:.8rem}.debt-waiting{color:var(--text);font-size:.8rem;font-style:italic}.debt-payments{border-top:1px solid var(--border-color);flex-direction:column;gap:.4rem;padding-top:.5rem;display:flex}.debt-payment-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.debt-payment-row.is-resolved{color:var(--text);opacity:.75}.debt-payment-info{flex-direction:column;display:flex}.debt-payment-note{color:var(--text);font-size:.75rem}.debt-payment-row-actions{align-items:center;gap:.4rem;display:flex}.friends-section{margin:1.75rem 0}.friends-list{flex-direction:column;gap:.75rem;display:flex}.friends-received{margin:0 0 1.5rem}.friends-received h2{margin:0 0 .5rem;font-size:1rem}.friends-received-card{border-color:var(--badge-warn-fg);background:var(--badge-warn-bg);flex-flow:wrap;justify-content:space-between;align-items:center;gap:.75rem}.friends-person{align-items:center;gap:.75rem;display:flex}.friends-email{color:var(--text);font-size:.8rem}.friends-actions{gap:.5rem;display:flex}.invitations-list{flex-direction:column;gap:.75rem;display:flex}.forecast-section{margin-bottom:2rem}.forecast-hint{color:var(--text);margin:0 0 .75rem;font-size:.85rem}.forecast-list{flex-direction:column;gap:.5rem;display:flex}.forecast-list .ui-list-row{flex-wrap:wrap}.forecast-list .ui-list-row-main{flex:11rem}.forecast-list .ui-list-row-actions{flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;margin-left:auto}.forecast-row-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.forecast-include{color:var(--text);cursor:pointer;align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.forecast-foot-note{font-size:.75rem}.settings-container{flex-direction:column;gap:.75rem;max-width:640px;display:flex}.settings-card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.settings-card-head h2{align-items:center;gap:.4rem;margin:0;font-size:1.05rem;display:flex}.settings-meta{color:var(--text);margin:0;font-size:.85rem;line-height:1.5}.settings-token{font-family:var(--font-mono,"IBM Plex Mono", monospace);word-break:break-all;background:var(--bg);border:1px solid var(--border-color);border-radius:var(--radius-sm,6px);-webkit-user-select:all;user-select:all;padding:.6rem .75rem;font-size:.85rem}.settings-token-hidden{-webkit-user-select:none;user-select:none;color:var(--text)}.settings-warning{border:1px solid var(--badge-warn-fg);background:var(--badge-warn-bg);color:var(--badge-warn-fg);border-radius:var(--radius-sm,6px);align-items:flex-start;gap:.5rem;padding:.6rem .75rem;font-size:.85rem;display:flex}.settings-warning svg{flex-shrink:0;margin-top:.1rem}.settings-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.settings-steps{margin:0;padding-left:1.25rem;font-size:.9rem;line-height:1.6}.settings-steps code{font-family:var(--font-mono,"IBM Plex Mono", monospace);word-break:break-all;font-size:.8rem}.notif-settings{max-width:40rem}.notif-settings .card{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.notif-settings-row{align-items:flex-start;gap:var(--space-3);width:100%;display:flex}.notif-settings-icon{border-radius:var(--radius-control);background:var(--accent-soft);width:38px;height:38px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.notif-settings-text{min-width:0;color:var(--text-h);flex-direction:column;flex:1;gap:.2rem;display:flex}.notif-settings-text small{color:var(--text);font-size:.82rem;line-height:1.4}.notif-settings-note{color:var(--text);margin:0;font-size:.85rem;line-height:1.45}.notif-settings-install ol{margin:var(--space-2) 0;color:var(--text-h);flex-direction:column;gap:.4rem;padding-left:1.2rem;font-size:.85rem;line-height:1.5;display:flex}.notif-settings-install svg{vertical-align:-2px}.notif-settings-error{padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--badge-error-bg);color:var(--badge-error-fg);margin:0;font-size:.85rem}
