﻿:root{--bg: #fff;--bg-surface: #f8f8f8e0;--sidebar-top: #ede8f9;--bg-elevated: #efefef;--bg-input: #fff;--border: #ddd;--border-subtle: #eee;--text: #333;--text-muted: #888;--text-subtle: #555;--accent: #333;--accent-fg: #fff;--input-border: #ccc;--link: #c2478a;--error: #c00;--error-bg: #fff0f0;--error-border: #f5c6cb;--sav-dep-bg: #cce5ff;--sav-dep-fg: #004085;--sav-wit-bg: #fff3cd;--sav-wit-fg: #856404;--sidebar-bg: var(--sidebar-top);--sidebar-border: rgba(0, 0, 0, .08);--sidebar-link: rgba(0, 0, 0, .45);--sidebar-link-hover: rgba(0, 0, 0, .85);--sidebar-hover-bg: rgba(0, 0, 0, .05);--sidebar-active-fg: #1a1a1a;--sidebar-label: rgba(0, 0, 0, .3);--success: #2da44e;--ai-refusal-color: #2db0ff}@media(prefers-color-scheme: dark){:root{--bg: #141414;--bg-surface: #1c1c1ce0;--sidebar-top: #170d28;--bg-elevated: #272727;--bg-input: #202020;--border: #333;--border-subtle: #282828;--text: #e0e0e0;--text-muted: #666;--text-subtle: #aaa;--accent: #e0e0e0;--accent-fg: #141414;--input-border: #3a3a3a;--link: #e06aaa;--error: #ff6b6b;--error-bg: #2a1515;--error-border: #4a2020;--sav-dep-bg: #0d2a4a;--sav-dep-fg: #7ec8f7;--sav-wit-bg: #3a2e00;--sav-wit-fg: #ffd966;--sidebar-bg: #0f0f1a;--sidebar-border: rgba(255, 255, 255, .06);--sidebar-link: rgba(255, 255, 255, .45);--sidebar-link-hover: rgba(255, 255, 255, .85);--sidebar-hover-bg: rgba(255, 255, 255, .05);--sidebar-active-fg: #fff;--sidebar-label: rgba(255, 255, 255, .22);--success: #2da44e;--ai-refusal-color: #2db0ff}}*,*::before,*::after{box-sizing:border-box}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}body{margin:0;font-family:sans-serif;color:var(--text);background:var(--bg)}header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:200}header .brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:1.1rem;text-decoration:none;color:var(--text)}header nav{display:flex;align-items:center;gap:16px}header nav a{text-decoration:none;color:var(--text);font-size:.95rem}header nav a:hover{text-decoration:underline}header nav .user-name{font-size:.95rem;font-weight:600;color:var(--text-subtle);text-decoration:none}header nav .user-name:hover{text-decoration:underline}header nav button{background:none;border:1px solid var(--border);border-radius:4px;padding:5px 12px;cursor:pointer;font-size:.9rem;color:var(--text)}header nav button:hover{background:var(--bg-elevated)}.header-left{display:flex;align-items:center}.header-user-actions{display:inline-flex;align-items:center;gap:16px}.header-user-actions form{margin:0}.header-user-identity{display:inline-flex;align-items:center;gap:16px}.header-user-identity form{margin:0}.user-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:block;object-fit:cover}.user-avatar--initials{display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:#fff;letter-spacing:.03em;user-select:none;text-transform:uppercase}.user-avatar--sm{width:20px;height:20px}.user-avatar--sm.user-avatar--initials{font-size:.5rem}.user-avatar--lg{width:72px;height:72px}.user-avatar--lg.user-avatar--initials{font-size:1.5rem}.avatar-wrap{position:relative;display:inline-block;flex-shrink:0}.avatar-wrap+.avatar-wrap{margin-left:-8px}.approval-badge{position:absolute;bottom:1px;left:1px;width:13px;height:13px;border-radius:50%;border:1.5px solid var(--bg-surface);display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:800;color:#fff;line-height:1;pointer-events:none}.approval-badge--neutral{background:#888}.approval-badge--approved{background:#2da44e}.approval-badge--rejected{background:#cf222e}.avatar-stack{display:flex;align-items:center}.avatar-stack .user-avatar{border:2px solid var(--bg-surface);box-sizing:content-box}.avatar-stack .user-avatar+.user-avatar{margin-left:-8px}.avatar-stack .avatar-wrap .user-avatar{border:2px solid var(--bg-surface);box-sizing:content-box}.notif-bell-wrap{position:relative}.notif-bell{background:none;border:none;cursor:pointer;padding:6px;color:var(--text);display:flex;align-items:center;justify-content:center;position:relative;border-radius:6px}.notif-bell:hover{background:var(--bg-elevated)}.notif-bell svg{width:20px;height:20px;display:block}.notif-badge{position:absolute;top:1px;right:1px;min-width:16px;height:16px;background:#e0305a;color:#fff;font-size:.62rem;font-weight:700;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;pointer-events:none;line-height:1}.notif-dropdown{position:absolute;top:calc(100% + 6px);right:-8px;width:340px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.14);z-index:300;display:flex;flex-direction:column;max-height:430px}.notif-dropdown[aria-hidden=true]{display:none}.notif-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:11px 14px 9px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.notif-dropdown-header>span:first-child{font-weight:600;font-size:.9rem}.notif-header-actions{display:flex;gap:10px;align-items:center}.notif-mark-all-read,.notif-clear-read{background:none;border:none;color:var(--link);font-size:.78rem;cursor:pointer;padding:0}.notif-mark-all-read:hover,.notif-clear-read:hover{text-decoration:underline}.notif-list{overflow-y:auto;flex:1}.notif-item{padding:8px 14px;border-bottom:1px solid var(--border-subtle);cursor:pointer;opacity:.45}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--bg-elevated)}.notif-item--unread{border-left:3px solid var(--link);padding-left:11px;background:var(--bg-elevated);opacity:1}.notif-item__message{font-size:.82rem;color:var(--text);margin-bottom:3px;line-height:1.4}.notif-item__time{font-size:.72rem;color:var(--text-muted)}.notif-empty,.notif-loading{padding:28px 16px;text-align:center;color:var(--text-muted);font-size:.85rem}.ppic-settings-row{display:flex;align-items:center;gap:20px}.ppic-settings-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ppic-settings-actions form{margin:0}.brand-logo{width:28px;height:28px;border-radius:7px;display:block;flex-shrink:0}.hamburger{display:none;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:6px 8px 6px 0;color:var(--text);flex-direction:column;gap:5px;margin-right:10px}.hamburger span{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s}body.has-backdrop header{background:hsla(0,0%,100%,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}@media(prefers-color-scheme: dark){body.has-backdrop header{background:rgba(20,20,20,.78)}}body.nav-open .hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg)}body.nav-open .hamburger span:nth-child(2){opacity:0}body.nav-open .hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.app-layout{display:flex;min-height:calc(100vh - 56px - 45px)}.sidebar-overlay{display:none;position:fixed;inset:56px 0 0 0;background:rgba(0,0,0,.45);z-index:149}body.nav-open .sidebar-overlay{display:block}.sidebar{width:180px;flex-shrink:0;background:var(--sidebar-bg, #0f0f1a);border-right:1px solid var(--sidebar-border, rgba(255, 255, 255, 0.06));padding:20px 0 20px 12px;position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto}.sidebar ul{list-style:none;margin:0;padding:0}.sidebar ul li a{display:block;position:relative;padding:10px 24px;text-decoration:none;color:var(--sidebar-link, rgba(255, 255, 255, 0.45));font-size:.92rem;border-left:3px solid rgba(0,0,0,0)}.sidebar ul li a:hover{color:var(--sidebar-link-hover, rgba(255, 255, 255, 0.85));background:var(--sidebar-hover-bg, rgba(255, 255, 255, 0.05))}.sidebar ul li a .action-badge{position:absolute;top:50%;right:8px;transform:translateY(-50%);margin-left:0;vertical-align:unset}.sidebar ul li.active a{color:var(--sidebar-active-fg, #fff);border-left-color:#c2478a;background:rgba(194,71,138,.14)}.sidebar ul li:first-child .sidebar-section-label{padding-top:4px}body.has-backdrop .sidebar{background:rgba(237,232,249,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}@media(prefers-color-scheme: dark){body.has-backdrop .sidebar{background:rgba(15,15,26,.78)}}.sidebar-section-label{display:block;padding:16px 24px 4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--sidebar-label, rgba(255, 255, 255, 0.22))}.app-main{flex:1;padding:24px 28px;min-width:0;overflow-x:hidden;background:rgba(0,0,0,0)}.app-content{max-width:1400px}.app-content>h1{font-size:1.85rem;font-weight:800;letter-spacing:-0.025em;margin-bottom:20px}main{max-width:860px;margin:40px auto;padding:0 24px}footer{border-top:1px solid var(--border);padding:14px 24px;font-size:.85rem;color:var(--text-muted);background:var(--bg);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}footer a{color:var(--text);opacity:.5;transition:opacity .2s;text-decoration:none !important}footer a:hover{opacity:1}@media(prefers-color-scheme: dark){footer a{color:#fff}}.footer-left{display:flex;flex-direction:row-reverse;align-items:center;gap:12px}.footer-copy{color:var(--text-muted)}.footer-version{color:var(--text-muted);font-size:.75em}.footer-github{display:inline-flex;align-items:center;gap:5px}.footer-right{display:flex;align-items:center;gap:16px}@media(max-width: 600px){footer{flex-direction:column-reverse;align-items:flex-start}.footer-left{flex-direction:column;align-items:flex-start;gap:4px}.footer-right{flex-direction:column;align-items:flex-start;gap:4px}}textarea{width:100%;padding:8px 10px;margin-top:4px;border:1px solid var(--input-border);border-radius:4px;font-size:1rem;font-family:inherit;background:var(--bg-input);color:var(--text);resize:vertical}textarea:focus{outline:2px solid var(--accent);outline-offset:1px}form label{display:block;margin-top:16px;font-weight:600;font-size:.95rem;color:var(--text)}form input[type=text],form input[type=email],form input[type=password],form input[type=number],form input[type=date],form select{width:100%;padding:8px 10px;margin-top:4px;border:1px solid var(--input-border);border-radius:4px;font-size:1rem;font-family:inherit;background:var(--bg-input);color:var(--text)}form input:focus,form select:focus{outline:2px solid var(--accent);outline-offset:1px}form select[multiple]{height:auto}.error-msg{color:var(--error);font-size:.875rem;margin-top:4px}.form-wrap{max-width:600px}.form-wrap--centered{max-width:480px;margin:3rem auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width: 500px){.form-row{grid-template-columns:1fr;gap:0}}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}@media(max-width: 500px){.form-row-3{grid-template-columns:1fr;gap:0}.form-row-3 .col-span-2{grid-column:1}}.col-span-2{grid-column:span 2}.form-actions{display:flex;gap:12px;margin-top:28px}.btn{display:inline-block;padding:8px 18px;margin-top:0;background:#c2478a;color:#fff;border:1px solid rgba(0,0,0,0);border-radius:6px;font-size:.95rem;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,opacity .15s}.btn:hover{background:#d4569b;opacity:1}.btn-sm{padding:4px 12px;font-size:.85rem}.btn-danger{background:#c00;color:#fff}.btn-danger:hover{background:#a00;opacity:1}.btn-secondary{background:var(--bg-input);color:var(--text);border-color:var(--input-border)}.btn-secondary:hover{background:var(--bg-elevated);opacity:1}.btn-success{background:var(--success);color:#fff;border-color:rgba(0,0,0,0)}.btn-success:hover{opacity:.88}.btn-xs{padding:4px 10px;font-size:.78rem}.btn-full{width:100%;text-align:center;display:block}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.78rem;font-weight:600;white-space:nowrap}.badge-income{background:#d4edda;color:#155724}.badge-expense{background:#f8d7da;color:#721c24}.badge-savings_dep{background:var(--sav-dep-bg);color:var(--sav-dep-fg)}.badge-savings_wit{background:var(--sav-wit-bg);color:var(--sav-wit-fg)}.badge-carry_over{background:#e8e0f7;color:#4a2d8a}.badge-tag{background:var(--bg-elevated);color:var(--text-subtle);margin:1px}.badge-deactivated{background:var(--bg-elevated);color:var(--text-muted)}@media(prefers-color-scheme: dark){.badge-income{background:#1a3326;color:#6ecf8a}.badge-expense{background:#331a1d;color:#cf7075}.badge-carry_over{background:#2a1a4a;color:#b89fe8}}.pill{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.76rem;font-weight:500;white-space:nowrap;background:var(--bg-elevated);color:var(--text-subtle);border:1px solid var(--border);line-height:1.5}.pill.pill--accent{background:var(--accent);color:var(--accent-fg);border-color:rgba(0,0,0,0);font-weight:700}.pill.pill--warning{background:color-mix(in srgb, #e3a008 14%, var(--bg-surface));color:#b07800;border-color:color-mix(in srgb, #e3a008 30%, var(--border));font-weight:600}@media(prefers-color-scheme: dark){.pill.pill--warning{color:#e3a008;background:color-mix(in srgb, #e3a008 14%, var(--bg-surface))}}.pill.pill--rounded{border-radius:20px}.pill.pill--muted{font-style:italic;color:var(--text-muted)}.pill.pill--sm{font-size:.7rem;padding:1px 6px}.pill.pill--green{background:color-mix(in srgb, var(--success) 12%, var(--bg-surface));color:var(--success);border-color:color-mix(in srgb, var(--success) 30%, var(--border));font-weight:600}.pill.pill--yellow{background:color-mix(in srgb, #e3a008 14%, var(--bg-surface));color:#b07800;border-color:color-mix(in srgb, #e3a008 30%, var(--border));font-weight:600}@media(prefers-color-scheme: dark){.pill.pill--yellow{color:#e3a008}}.action-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#d93025;color:#fff;font-size:.6rem;font-weight:700;line-height:1;vertical-align:super;margin-left:3px;box-shadow:0 1px 3px rgba(0,0,0,.3);pointer-events:none}.tag-cb-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tag-cb-wrap ul,.tag-cb-wrap>div{display:contents}.tag-cb-wrap li,.tag-cb-wrap ul li,.tag-cb-wrap>div>div{display:contents}.tag-cb-wrap input[type=checkbox]{display:none}.tag-cb-wrap label{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;background:var(--bg-elevated);border:1px solid var(--border);font-size:.82rem;color:var(--text-subtle);cursor:pointer;user-select:none;margin-top:0;transition:background .12s,border-color .12s,color .12s}.tag-cb-wrap label:hover{border-color:var(--text-muted);color:var(--text)}.tag-cb-wrap label:has(input:checked){background:var(--accent);color:var(--accent-fg);border-color:rgba(0,0,0,0)}.exp-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.exp-card{background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:10px;padding:12px 16px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto auto;row-gap:5px;column-gap:16px}.exp-card.unsettled{border-left-color:#c2478a}.exp-card--deactivated{opacity:.45}.exp-date-row{grid-column:1;grid-row:1;display:flex;align-items:center;gap:6px}.exp-date-label{font-size:.78rem;color:var(--text-muted)}.exp-row1{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;grid-column:1;grid-row:2}.exp-title{font-weight:600;font-size:1rem;color:var(--text)}.exp-payee{font-size:.88rem;color:var(--text-muted)}.exp-amount{margin-left:auto;font-weight:700;font-size:1rem;white-space:nowrap}.exp-amount.type-income{color:#155724}.exp-amount.type-expense{color:#721c24}.exp-amount.type-savings_dep{color:var(--sav-dep-fg)}.exp-amount.type-savings_wit{color:var(--sav-wit-fg)}.exp-amount.type-carry_over{color:#5a9e6f}@media(prefers-color-scheme: dark){.exp-amount.type-income{color:#6ecf8a}.exp-amount.type-expense{color:#cf7075}.exp-amount.type-carry_over{color:#7dbf94}}.exp-actions{grid-column:2;grid-row:1/-1;display:flex;flex-direction:column;gap:6px;align-items:stretch;justify-content:flex-start}.exp-actions .btn,.exp-actions form{width:100%}.exp-actions .btn,.exp-actions form .btn{width:100%;box-sizing:border-box;text-align:center}.exp-row2{display:flex;align-items:center;gap:8px;flex-wrap:wrap;grid-column:1;grid-row:3}.exp-row2 .sep{color:var(--border)}.exp-settled{font-size:.85rem;color:var(--text-muted)}.exp-settled.yes{color:var(--text-subtle)}.exp-category{font-size:.85rem;color:var(--text-subtle)}.exp-due{font-size:.85rem;color:var(--text-muted);white-space:nowrap}.exp-row3{grid-column:1;grid-row:4;font-size:.82rem;color:var(--text-muted);font-style:italic}.exp-buddy-shared{grid-column:1/-1;grid-row:5}.exp-buddy-shared .bexp-participants{padding-top:8px;padding-left:0;border-top:1px solid var(--border)}.exp-buddy-shared .bexp-participants .exp-payer-name{font-size:.82rem;color:var(--text-muted);margin-left:8px}.exp-buddy-shared .bexp-participants .exp-payer-name .exp-payer-br{display:none}@media(max-width: 600px){.exp-buddy-shared .bexp-participants .exp-payer-name .exp-payer-br{display:inline}}.exp-controls{margin-top:12px}.exp-controls .exp-search{width:100%;max-width:400px;padding:7px 12px;border:1px solid var(--input-border);border-radius:6px;background:var(--bg-input);color:var(--text);font-size:.9rem;box-sizing:border-box}.exp-controls .exp-search:focus{outline:2px solid var(--accent);outline-offset:1px}.exp-controls .exp-search::placeholder{color:var(--text-muted)}.exp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}@media(max-width: 600px){.exp-toolbar{flex-wrap:wrap}}.exp-toolbar-left{display:flex;align-items:center;gap:6px}@media(max-width: 600px){.exp-toolbar-left{flex-wrap:wrap}}.exp-toolbar-left #exp-bulk-form{display:flex;align-items:center;gap:6px;margin:0}.exp-toolbar-left #exp-bulk-form #exp-bulk-uids{display:none}.exp-toolbar-right{display:flex;align-items:center;gap:6px;white-space:nowrap}.exp-filter-checkbox{display:inline-flex;align-items:center;gap:5px;font-size:.88rem;color:var(--text-muted);cursor:pointer;user-select:none;white-space:nowrap}.exp-filter-checkbox input[type=checkbox]{accent-color:var(--link);cursor:pointer}.exp-sort-label{font-size:.88rem;color:var(--text-muted)}.exp-bulk-secondary{display:flex;align-items:center;gap:6px;margin-top:6px}.exp-toolbar-meta{margin-top:4px;font-size:.88rem;color:var(--text-muted);text-align:right}.exp-toolbar-meta span{font-weight:600;color:var(--text)}.expense-toolbar-dropdown{margin-top:0;padding:4px 10px;border:1px solid var(--input-border);border-radius:6px;background:var(--bg-input);color:var(--text);font-size:.85rem;line-height:1.2;cursor:pointer}.exp-checkbox-wrap{cursor:pointer;line-height:0;flex-shrink:0}.exp-checkbox{width:15px;height:15px;cursor:pointer;accent-color:var(--link)}.month-nav{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:20px}@media(max-width: 600px){.month-nav{flex-direction:column;align-items:stretch;width:fit-content;gap:10px}}.month-nav__toggles{display:flex;align-items:center;gap:16px;flex-wrap:wrap}@media(max-width: 600px){.month-nav__toggles{gap:10px}}.month-nav__controls{display:flex;align-items:center;gap:16px;order:-1}@media(max-width: 600px){.month-nav__controls{order:1;margin-top:4px}}.period-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}@media(max-width: 600px){.period-toggle{width:100%}.period-toggle__opt{flex:1;text-align:center}}.period-toggle__opt{padding:5px 13px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);text-decoration:none !important;background:var(--bg-surface);transition:background .12s,color .12s;border:none;cursor:pointer;font-family:inherit;line-height:inherit}.period-toggle__opt:hover{color:var(--text);background:var(--bg-elevated)}.period-toggle__opt.active{background:#c2478a;color:#fff}.month-nav__label{font-size:1.35rem;font-weight:700;color:var(--text);min-width:160px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px}.month-nav__range{font-size:.72rem;font-weight:400;color:var(--text-muted);letter-spacing:.01em}.month-nav__arrow{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg-surface);color:var(--text);text-decoration:none;font-size:1.4rem;line-height:1;transition:background .15s}.month-nav__arrow:hover{background:var(--bg-elevated)}.month-nav__arrow--disabled{opacity:.35;pointer-events:none}.date-range-nav{margin-bottom:20px}.date-range-nav__main{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px 32px}@media(max-width: 640px){.date-range-nav__main{flex-direction:column;gap:16px}}.date-range-nav__left{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.date-range-nav__preset-wrap{display:flex;flex-direction:column;gap:4px}.date-range-nav__select-wrap{display:flex;align-items:center;gap:4px}.date-range-nav__arrow-btn{display:flex;align-items:center;justify-content:center;width:28px;height:30px;padding:0;font-size:1.2rem;line-height:1;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-family:inherit;flex-shrink:0;transition:background .12s,color .12s,border-color .12s}.date-range-nav__arrow-btn:hover:not(:disabled){color:var(--text);background:var(--bg-elevated)}.date-range-nav__arrow-btn:disabled{opacity:.35;cursor:default}.date-range-nav__preset-select{padding:5px 28px 5px 10px;font-size:.82rem;color:var(--text);background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;font-family:inherit;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;transition:border-color .12s}.date-range-nav__preset-select:focus{border-color:#c2478a}.date-range-nav__inputs{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px}.date-range-nav__input-group{display:flex;flex-direction:column;gap:4px}.date-range-nav__label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;cursor:default}.date-range-nav__label[title]{text-decoration:underline dotted;text-underline-offset:3px}.date-range-nav__input{padding:5px 8px;font-size:.82rem;color:var(--text);background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;font-family:inherit;outline:none;transition:border-color .12s}.date-range-nav__input:focus{border-color:#c2478a}.date-range-nav__clear-btn{padding:5px 11px;font-size:.75rem;font-weight:600;letter-spacing:.04em;color:var(--text);background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-family:inherit;line-height:inherit;transition:background .12s,border-color .12s;align-self:flex-end}.date-range-nav__clear-btn:hover{background:var(--bg-elevated);border-color:var(--text-muted)}.date-range-nav__right{display:flex;flex-direction:column;gap:4px;padding-left:24px;border-left:1px solid var(--border)}@media(max-width: 640px){.date-range-nav__right{padding-left:0;border-left:none;padding-top:12px;border-top:1px solid var(--border)}}.date-range-nav__sharing{display:flex;align-items:center}table{width:100%;border-collapse:collapse;margin-top:20px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border-subtle);word-break:break-word;overflow-wrap:break-word}th{background:var(--bg-surface);font-weight:600;font-size:.9rem;color:var(--text-subtle);white-space:nowrap}tr:hover td{background:var(--bg-surface)}.empty{color:var(--text-muted);font-style:italic;margin-top:20px}.expenses-export-link{display:inline-block;margin-top:12px;font-size:.78rem;color:var(--text-muted);text-decoration:none}.expenses-export-link:hover{color:var(--text);text-decoration:underline}.nowrap{white-space:nowrap}@media(max-width: 1200px){.col-hide-md{display:none}}@media(max-width: 640px){.resp-table,.resp-table tbody,.resp-table tr{display:block}.resp-table thead{display:none}.resp-table tr{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;padding:4px 0}.resp-table tr:hover td{background:rgba(0,0,0,0)}.resp-table td{display:flex;align-items:flex-start;gap:12px;padding:8px 14px;border-bottom:1px solid var(--border-subtle)}.resp-table td:last-child{border-bottom:none}.resp-table td::before{content:attr(data-label);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);min-width:80px;flex-shrink:0;padding-top:2px}.resp-table td[data-label=""]{padding-top:6px}.resp-table td[data-label=""]::before{display:none;min-width:0}.resp-table .tag-list{flex-wrap:wrap}.resp-table .actions{flex-wrap:wrap}}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-header h1{margin:0}.group-description{font-size:.9rem;color:var(--text-subtle);margin:.25rem 0 0}.group-hero{margin-bottom:16px}.group-hero .page-header{margin-bottom:0}.group-hero--has-bg{border:1px solid var(--border);border-radius:10px;overflow:hidden}.group-hero--has-bg .group-hero-content{padding:1.2rem 1.6rem 1rem;background:var(--bg-surface)}.group-hero-image{height:130px;background-size:cover;background-position:center;background-color:var(--bg-elevated)}.page-subtitle{font-size:.95rem;color:var(--text-subtle);margin-top:-0.5rem;margin-bottom:1rem}.exp-repeat{font-size:.85rem;color:var(--text-subtle)}.dash-heading{margin:0 0 24px;font-size:1rem;color:var(--text-muted);font-weight:500}.panels{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:14px}.panel{border-radius:14px;padding:22px 20px 18px;box-shadow:0 2px 16px rgba(0,0,0,.07)}.panel .label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px;opacity:.75}.panel .amount{font-size:1.7rem;font-weight:800;letter-spacing:-0.025em;line-height:1.15;word-break:break-all}.panel .amount .currency{font-size:1.05rem;font-weight:700;margin-left:3px;opacity:.75}.panel-income{background:#d4edda;color:#155724}.panel-paid{background:#f8d7da;color:#721c24}.panel-outstanding{background:rgba(220,53,69,.12);color:#a0303a}.panel-savings{background:var(--sav-dep-bg);color:var(--sav-dep-fg)}.panel-savings-neg{background:var(--sav-wit-bg);color:var(--sav-wit-fg)}.panel-left{background:rgba(40,167,69,.12);color:#1a6b30}.panel-left-warn{background:#fff3cd;color:#856404}.panel-left-danger{background:#f8d7da;color:#721c24}@media(prefers-color-scheme: dark){.panel-income{background:#1a3326;color:#6ecf8a}.panel-paid{background:#331a1d;color:#cf7075}.panel-outstanding{background:#2b1a1c;color:#c97078}.panel-savings{background:var(--sav-dep-bg);color:var(--sav-dep-fg)}.panel-left{background:#182b1f;color:#6ecf8a}.panel-left-warn{background:var(--sav-wit-bg);color:var(--sav-wit-fg)}.panel-left-danger{background:#331a1d;color:#cf7075}}.charts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.chart-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 2px 12px rgba(0,0,0,.05)}.chart-card h2{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#c2478a;margin:0 0 20px}.chart-empty{color:var(--text-muted);font-size:.9rem;font-style:italic;padding:20px 0}@media(prefers-color-scheme: dark){.chart-card h2{color:#e06aaa}}@media(max-width: 900px){.panels{grid-template-columns:1fr 1fr}.charts{grid-template-columns:1fr}}@media(max-width: 480px){.panels{grid-template-columns:1fr 1fr;gap:10px}.panel{padding:16px 14px}.panel .amount{font-size:1.5rem}}.dash-grid{display:grid;grid-template-columns:repeat(6, 1fr);grid-auto-rows:var(--dash-row-h, 200px);gap:12px;min-height:200px;position:relative;padding-bottom:16px}.dash-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.05);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:box-shadow .15s,opacity .15s;cursor:grab}.dash-card:active{cursor:grabbing}.dash-card--drag-over{box-shadow:0 0 0 2px var(--link)}.dash-card--dragging{opacity:.45}.dash-card-header{display:flex;align-items:center;gap:6px;padding:10px 12px 8px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.dash-card-header .dash-card-title{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-card-header .dash-card-edit-btn{flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:4px;color:var(--text-muted);font-size:.78rem;line-height:1;opacity:0;transition:opacity .12s,color .12s}.dash-card-header .dash-card-edit-btn:hover{color:var(--link)}.dash-card-header:hover .dash-card-edit-btn,.dash-card:hover .dash-card-header .dash-card-edit-btn{opacity:1}.dash-card-body{flex:1;overflow:hidden;padding:0;min-height:0}.dash-card-body--cell{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:14px 16px}.dash-card-body--linked{cursor:pointer}.dash-card-body--linked:hover{background:rgba(128,128,128,.07)}.dash-card-body--chart{overflow-y:auto;padding:12px}.dash-cell-value{font-size:1.35rem;font-weight:500;letter-spacing:-0.01em;line-height:1.2;word-break:break-all;color:inherit}.dash-cell-value .dash-cell-currency{font-size:.85rem;font-weight:400;margin-left:4px;opacity:.55}.dash-card--colored .dash-card-header{border-bottom-color:rgba(128,128,128,.2)}.dash-card--colored .dash-card-header .dash-card-title{color:inherit;opacity:.85}.dash-card--colored .dash-card-header .dash-card-edit-btn{color:inherit;opacity:0}.dash-card--colored:hover .dash-card-header .dash-card-edit-btn{opacity:.85}.dash-card--spacer{background:rgba(0,0,0,0);border-color:rgba(0,0,0,0);box-shadow:none;transition:background .2s,border-color .2s}.dash-card--spacer .dash-card-header{border-bottom-color:rgba(0,0,0,0);transition:border-bottom-color .2s}.dash-card--spacer .dash-card-header .dash-card-title{display:none}.dash-card--spacer:hover{background:rgba(128,128,128,.05);border-color:rgba(128,128,128,.3)}.dash-card--spacer:hover .dash-card-header{border-bottom-color:var(--border-subtle)}.dash-card-resize{position:absolute;bottom:0;right:0;width:20px;height:20px;cursor:se-resize;touch-action:none;z-index:2}.dash-card-resize::after{content:"";position:absolute;bottom:4px;right:4px;width:0;height:0;border-style:solid;border-width:0 0 10px 10px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) var(--border) rgba(0,0,0,0);opacity:0;transition:opacity .12s}.dash-card:hover .dash-card-resize::after{opacity:1}.dash-empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--text-muted)}.dash-empty p{margin:0 0 16px;font-size:.95rem}.dash-chart-empty{padding:20px 0;color:var(--text-muted);font-size:.88rem;font-style:italic}.dash-card-error{font-size:.78rem;color:var(--error);padding:12px 14px;font-style:italic;word-break:break-word}.dash-loading{display:flex;align-items:center;justify-content:center;min-height:160px;color:var(--text-muted);font-size:.9rem}.dash-add-btn{margin-top:16px;display:flex;gap:8px}@media(max-width: 600px){.dash-add-btn{display:inline-flex;flex-direction:column;margin-top:24px}.dash-add-btn .btn{text-align:left}}.dash-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}.dash-modal{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:28px 28px 24px;width:100%;max-width:640px;box-shadow:0 8px 40px rgba(0,0,0,.18)}.dash-modal h3{margin:0 0 16px;font-size:1rem;font-weight:700}.dash-yaml-editor{width:100%;min-height:260px;box-sizing:border-box;border:1px solid var(--input-border);border-radius:8px;overflow:hidden}.dash-yaml-editor .cm-editor{min-height:260px;font-family:"Menlo","Monaco","Courier New",monospace;font-size:.82rem;border-radius:8px}.dash-yaml-editor .cm-editor.cm-focused{outline:2px solid var(--link);outline-offset:-1px}.dash-yaml-editor .cm-scroller{min-height:260px}.dash-modal-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.dash-modal-error{margin-top:10px;font-size:.85rem;color:var(--error)}.dash-new-card-hint{margin:0 0 12px;font-size:.83rem;color:var(--text-muted);line-height:1.5}.dash-new-card-hint a{color:var(--link)}.dash-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.dash-card-body--list{display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:0}.dash-card-body--list>.dash-chart-empty{padding-left:12px;padding-right:12px}.dash-list-sum{padding:5px 10px 5px 10px;font-size:.88rem;font-weight:600;border-bottom:1px solid var(--border-subtle);flex-shrink:0;line-height:1.3}.dash-list-sum--positive{color:#155724}.dash-list-sum--negative{color:#721c24}@media(prefers-color-scheme: dark){.dash-list-sum--positive{color:#6ecf8a}.dash-list-sum--negative{color:#cf7075}}.dash-list-scroll{flex:1;overflow-y:auto;min-height:0}.dash-list-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.82rem}.dash-list-col-type{width:30px}.dash-list-col-value{width:80px}.dash-list-item{border-bottom:1px solid var(--border-subtle)}.dash-list-item:last-child{border-bottom:none}.dash-list-item:hover td{background:inherit}.dash-list-item td{padding:3px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.dash-list-item .dash-list-type{font-size:.7rem;font-weight:700;letter-spacing:.03em;text-align:center;opacity:.75;padding-left:8px}.dash-list-item .dash-list-value{text-align:right;font-variant-numeric:tabular-nums;padding-right:8px;opacity:.9}.dash-list-item--income{background:rgba(212,237,218,.35);color:#155724}.dash-list-item--expense{background:rgba(248,215,218,.35);color:#721c24}.dash-list-item--savings_dep{background:rgba(204,229,255,.35);color:var(--sav-dep-fg)}.dash-list-item--savings_wit{background:rgba(255,243,205,.35);color:var(--sav-wit-fg)}.dash-list-item--carry_over{background:rgba(232,224,247,.35);color:#4a2d8a}@media(prefers-color-scheme: dark){.dash-list-item--income{background:rgba(26,51,38,.6);color:#6ecf8a}.dash-list-item--expense{background:rgba(51,26,29,.6);color:#cf7075}.dash-list-item--savings_dep{background:rgba(13,42,74,.6);color:var(--sav-dep-fg)}.dash-list-item--savings_wit{background:rgba(58,46,0,.6);color:var(--sav-wit-fg)}.dash-list-item--carry_over{background:rgba(42,26,74,.6);color:#b89fe8}}.dash-tabbar-wrap{display:flex;align-items:center;gap:6px;margin:14px 0 10px;min-width:0}.dash-tabbar-scroll{display:flex;align-items:center;gap:4px;overflow-x:auto;flex:1;min-width:0;padding-bottom:2px;scrollbar-width:none}.dash-tabbar-scroll::-webkit-scrollbar{display:none}.dash-tab{display:flex;align-items:center;gap:6px;padding:7px 16px;border-radius:8px 8px 0 0;border:1px solid var(--border);border-bottom:none;background:var(--bg-surface);cursor:pointer;white-space:nowrap;user-select:none;flex-shrink:0;font-size:.88rem;color:var(--text-muted);transition:background .12s,color .12s}.dash-tab:hover{background:var(--bg);color:var(--text)}.dash-tab--active{background:var(--bg);color:var(--text);font-weight:600;border-color:var(--border)}.dash-tab--drag-over{box-shadow:0 0 0 2px var(--link);background:color-mix(in srgb, var(--link) 15%, var(--bg))}.dash-tab-title{cursor:pointer;max-width:140px;overflow:hidden;text-overflow:ellipsis}.dash-tab-rename-input{width:100px;font-size:.82rem;padding:1px 4px;border:1px solid var(--input-border);border-radius:4px;background:var(--input-bg);color:var(--text);outline:none}.dash-tab-rename-input:focus{border-color:var(--link)}.dash-tab-close{background:none;border:none;cursor:pointer;padding:0 2px;color:var(--text-muted);font-size:.9rem;line-height:1;border-radius:3px;opacity:.6;transition:opacity .1s,color .1s}.dash-tab-close:hover:not(:disabled){opacity:1;color:var(--error)}.dash-tab-close:disabled{opacity:.2;cursor:not-allowed}.dash-tab-add-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:4px}.dash-tab-add-btn{width:28px;height:28px;padding:0;border-radius:8px;border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;font-size:1.1rem;line-height:1;color:var(--text-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s,color .12s}.dash-tab-add-btn:hover{background:var(--bg);color:var(--text)}.dash-tab-new-form{display:flex;align-items:center;gap:6px}.dash-tab-new-input{font-size:.82rem;padding:4px 8px;border:1px solid var(--input-border);border-radius:6px;background:var(--input-bg);color:var(--text);width:140px}.dash-tab-new-input:focus{outline:none;border-color:var(--link)}.dash-mobile-selector{display:none;position:relative;margin:10px 0 6px}@media(max-width: 559px){.dash-mobile-selector{display:block}}.dash-mobile-selector-btn{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:.88rem;cursor:pointer;color:var(--text);font-weight:500}.dash-mobile-selector-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:50;background:var(--bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.15);min-width:200px;max-width:280px;padding:6px 0}.dash-mobile-selector-item{display:block;width:100%;text-align:left;padding:8px 16px;border:none;background:none;cursor:pointer;font-size:.88rem;color:var(--text)}.dash-mobile-selector-item:hover{background:var(--bg-surface)}.dash-mobile-selector-item--active{font-weight:700;color:var(--link)}.dash-mobile-selector-actions{display:flex;flex-direction:column;gap:6px;padding:8px 12px 6px;border-top:1px solid var(--border-subtle);margin-top:4px}.dash-mobile-new-form{display:flex;gap:6px;align-items:center}.dash-edge-zone{position:fixed;top:0;bottom:0;width:15%;z-index:10;pointer-events:none;transition:background .15s}.dash-edge-zone--left{left:0}.dash-edge-zone--right{right:0}.dash-edge-zone--active{background:color-mix(in srgb, var(--link) 20%, transparent);border:2px solid var(--link)}.dash-card-move-select{font-size:.82rem;padding:4px 8px;border:1px solid var(--input-border);border-radius:6px;background:var(--input-bg);color:var(--text)}@media(max-width: 559px){.dash-tabbar-wrap{display:none}}.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:8px}@media(max-width: 600px){.ct-grid{grid-template-columns:1fr;gap:28px}}.ct-panel h2{font-size:1rem;font-weight:700;margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle)}.ct-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;min-height:48px;background:var(--bg-surface)}.ct-item{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-bottom:1px solid var(--border-subtle);font-size:.95rem;gap:8px}.ct-item:last-child{border-bottom:none}.ct-item:hover{background:var(--bg-surface)}.ct-name{flex:1;cursor:text;border-radius:3px;padding:1px 3px;margin:-1px -3px}.ct-name:hover{background:var(--bg-elevated)}.ct-name-input{flex:1;border:1px solid var(--input-border);border-radius:3px;padding:2px 6px;font-size:inherit;font-family:inherit;background:var(--bg-input);color:var(--text);outline:none}.ct-name-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(128,128,128,.15)}.ct-delete{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1.1rem;line-height:1;padding:0 4px;flex-shrink:0}.ct-delete:hover{color:var(--error)}.ct-add{margin-top:8px}.ct-add input{margin-top:0;border-radius:6px;padding:6px 10px;width:100%;box-sizing:border-box;background:var(--bg-input);color:var(--text);border:1px solid var(--input-border);font-size:inherit;font-family:inherit;outline:none}.ct-add input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(128,128,128,.15)}.ct-empty{padding:12px 14px;color:var(--text-muted);font-style:italic;font-size:.9rem}.partner-invite-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1.1rem;margin-bottom:1.25rem;background:color-mix(in srgb, var(--accent) 8%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:8px;font-size:.93rem;line-height:1.5}.partner-invite-card__body{flex:1}.partner-invite-card__actions{flex-shrink:0}.partnership-info-banner{padding:.6rem 1rem;margin-bottom:1.25rem;background:color-mix(in srgb, var(--success) 8%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--success) 25%, var(--border));border-radius:8px;font-size:.88rem;color:var(--text-subtle)}.partner-list-section{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.partner-list-section h2{font-size:1rem;font-weight:700;margin:0 0 1rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle)}.partner-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-surface)}.partner-list__item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border-subtle)}.partner-list__item:last-child{border-bottom:none}.partner-list__info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.partner-list__name{font-size:.93rem;font-weight:600}.partner-list__email{font-size:.8rem;color:var(--text-muted)}.partner-list__since{font-size:.78rem;color:var(--text-muted)}.partner-list__meta{flex-shrink:0}.partner-list__actions{flex-shrink:0}.partner-list__leave{margin-top:.75rem}.express-creation-wrap{max-width:100%}.smart-input{width:100%;padding:12px 14px;font-size:1rem;font-family:inherit;border:1px solid var(--input-border);border-radius:6px;resize:vertical;min-height:72px;background:var(--bg-input);color:var(--text)}.smart-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(128,128,128,.12)}.image-zone{margin-top:12px;border:2px dashed var(--border);border-radius:8px;transition:border-color .15s,background .15s;cursor:pointer;overflow:hidden}.image-zone:hover,.image-zone.drag-over{border-color:var(--text-subtle);background:var(--bg-surface)}.image-zone-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:22px 16px;color:var(--text-muted);font-size:.9rem;text-align:center}.image-zone-placeholder .icon{font-size:1.6rem;line-height:1}.image-zone-placeholder strong{color:var(--text-subtle)}.image-zone-placeholder small{font-size:.78rem}.image-preview-wrap{position:relative;display:none}.image-preview-wrap img{display:block;width:100%;max-height:340px;object-fit:contain;background:var(--bg-elevated)}.image-remove{position:absolute;top:8px;right:8px;padding:4px 10px;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:4px;font-size:.82rem;cursor:pointer;line-height:1.4}.image-remove:hover{background:rgba(0,0,0,.75)}.parse-actions{display:flex;align-items:center;gap:12px;margin-top:14px}.spinner{display:none;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--text-subtle);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.usage-pill{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:6px 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;font-size:.82rem;color:var(--text-subtle)}.usage-pill .cost{font-weight:700;color:var(--text)}.usage-pill .tokens{color:var(--text-muted)}.ai-error{color:var(--error);background:var(--error-bg);border:1px solid var(--error-border);border-radius:4px;padding:10px 14px;margin-top:14px;font-size:.9rem}.ai-refusal-modal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;margin-top:20px;padding:32px 28px 24px;border-radius:12px;background:color-mix(in srgb, #2db0ff 12%, color-mix(in srgb, var(--bg) 65%, transparent));border:1px solid #2db0ff;box-shadow:0 0 8px #2db0ff,0 0 24px color-mix(in srgb, #2db0ff 40%, transparent),inset 0 0 20px color-mix(in srgb, #2db0ff 5%, transparent)}.ai-refusal-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:2px solid #2db0ff;color:#2db0ff;font-size:1.2rem;font-weight:700;flex-shrink:0;box-shadow:0 0 8px #2db0ff,inset 0 0 8px color-mix(in srgb, #2db0ff 15%, transparent);text-shadow:0 0 6px #2db0ff}.ai-refusal-msg{margin:0;font-size:.95rem;color:#2db0ff;text-shadow:0 0 8px color-mix(in srgb, #2db0ff 60%, transparent);max-width:420px}.ai-refusal-details-toggle{font-size:.8rem;color:color-mix(in srgb, #2db0ff 60%, white);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.ai-refusal-raw{width:100%;max-height:200px;overflow:auto;text-align:left;font-size:.78rem;color:color-mix(in srgb, #2db0ff 70%, white);background:color-mix(in srgb, #2db0ff 5%, #0a0a0a);border:1px solid color-mix(in srgb, #2db0ff 40%, transparent);border-radius:6px;padding:10px 12px;white-space:pre-wrap;word-break:break-word;margin:0}.preview-section{margin-top:32px}.preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.preview-header h2{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);margin:0}.preview-header-right{display:flex;align-items:center;gap:16px}.preview-sum{font-size:.95rem;font-weight:700;color:var(--text);letter-spacing:.01em}.select-toggle{font-size:.82rem;color:var(--text-muted);cursor:pointer;user-select:none}.select-toggle:hover{color:var(--text)}.preview-hint{font-size:.82rem;color:var(--text-muted);margin:0 0 12px}.preview-cards{display:flex;flex-direction:column;gap:12px}.preview-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:0;transition:opacity .15s}.preview-card.deselected{opacity:.35}.preview-card.deselected .pcard-body{pointer-events:none}.pcard-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--border-subtle)}.pcard-include{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-muted);cursor:pointer;user-select:none}.pcard-include input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.pcard-body{display:flex;flex-direction:column;gap:0}.pcard-body>.pcard-field{margin-bottom:16px}.pcard-body>.pcard-field:last-child{margin-bottom:0}.pcard-row1,.pcard-row2{display:grid;gap:10px}.pcard-row1{grid-template-columns:1fr 1fr auto;margin-bottom:8px}.pcard-row2{grid-template-columns:auto 1fr auto;margin-bottom:20px}.pcard-field{display:flex;flex-direction:column;gap:3px;min-width:0}.pcard-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.pcard-value{min-width:100px}.val-wrap{display:flex;align-items:center;gap:6px}.val-wrap span{white-space:nowrap;color:var(--text-muted);font-size:.85rem}.val-wrap .edit-input{min-width:0}.pcard-type-wrap.type-income .edit-type{color:#155724;font-weight:600}.pcard-type-wrap.type-expense .edit-type{color:#721c24}.pcard-type-wrap.type-savings_dep .edit-type{color:var(--sav-dep-fg)}.pcard-type-wrap.type-savings_wit .edit-type{color:var(--sav-wit-fg)}@media(prefers-color-scheme: dark){.pcard-type-wrap.type-income .edit-type{color:#6ecf8a}.pcard-type-wrap.type-expense .edit-type{color:#cf7075}}.edit-input,.edit-select,.edit-textarea{border:1px solid rgba(0,0,0,0);border-radius:3px;background:rgba(0,0,0,0);padding:4px 6px;width:100%;font-size:.88rem;font-family:inherit;color:inherit;box-sizing:border-box;margin-top:0}.edit-input:hover,.edit-select:hover,.edit-textarea:hover{border-color:var(--border);background:var(--bg-elevated)}.edit-input:focus,.edit-select:focus,.edit-textarea:focus{border-color:var(--input-border);background:var(--bg-input);outline:none}.edit-textarea{resize:vertical;min-height:40px;line-height:1.4}.confirm-actions{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}.success-banner{background:#d4edda;color:#155724;border-radius:6px;padding:14px 18px;margin-top:20px;margin-bottom:20px;font-size:.95rem}.success-banner a{color:#155724;font-weight:600}@media(prefers-color-scheme: dark){.success-banner{background:#1a3326;color:#6ecf8a}.success-banner a{color:#6ecf8a}}.trial-banner{background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--link);border-radius:6px;padding:10px 14px;margin-bottom:18px;font-size:.88rem;color:var(--text-subtle);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.trial-banner .trial-meter{font-weight:600;color:var(--text)}.trial-blocked{background:#fff0f0;border:1px solid #f5c6cb;border-radius:6px;padding:20px;margin:20px 0;font-size:.95rem;color:#7a1a1a;line-height:1.6}.trial-blocked a{color:#7a1a1a;font-weight:600}@media(prefers-color-scheme: dark){.trial-blocked{background:#2a1515;border-color:#4a2020;color:#f5a0a0}.trial-blocked a{color:#f5a0a0}}@media(max-width: 600px){.pcard-row1{grid-template-columns:1fr}.pcard-row2{grid-template-columns:1fr}}main.page-narrow{max-width:480px}main.page-centered{text-align:center}.pow-status{font-size:.82rem;color:var(--text-muted);margin:4px 0 0}.settings-wrap{max-width:680px}.settings-wrap>h1{font-size:1.85rem;font-weight:800;letter-spacing:-0.025em;margin:0 0 24px}.settings-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:24px 28px;margin-bottom:16px}.settings-card--danger{border-color:rgba(204,0,0,.2)}@media(max-width: 600px){.settings-card{padding:18px 16px}}.settings-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}.settings-card-title{font-size:.95rem;font-weight:700;margin:0;color:var(--text);letter-spacing:.01em}.settings-badge{font-size:.75rem;font-weight:600;padding:2px 9px;border-radius:99px;white-space:nowrap}.settings-badge--on{background:rgba(46,160,67,.15);color:#2a7a3b}@media(prefers-color-scheme: dark){.settings-badge--on{background:rgba(110,207,138,.15);color:#6ecf8a}}.settings-badge--off{background:var(--bg-elevated);color:var(--text-muted)}.settings-current-value{font-size:.92rem;color:var(--text-subtle);margin:0 0 16px;padding:8px 12px;background:var(--bg-elevated);border-radius:6px;font-family:inherit}.settings-apikey-wrap{margin-bottom:12px}.settings-apikey-input{font-family:monospace;font-size:.85rem}.settings-apikey-actions{display:flex;gap:8px;flex-wrap:wrap}.settings-bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-bottom-row .settings-card{margin-bottom:0}@media(max-width: 560px){.settings-bottom-row{grid-template-columns:1fr}}.checkbox-inline{display:flex;align-items:center;gap:8px;margin-top:16px;font-weight:600;font-size:.95rem;cursor:pointer}.checkbox-inline input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;cursor:pointer}.pw-wrap{position:relative;display:flex;align-items:center}.pw-wrap input{padding-right:40px}.pw-eye{position:absolute;right:8px;top:50%;transform:translateY(-40%);background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;display:flex;align-items:center;flex-shrink:0}.pw-eye:hover{color:var(--text)}.totp-qr-wrap{margin:20px 0 16px;display:flex;justify-content:center}.totp-qr{width:200px;height:200px;border-radius:8px;border:1px solid var(--border)}.totp-secret-details{margin-bottom:20px;font-size:.88rem;color:var(--text-subtle)}.totp-secret-details summary{cursor:pointer}.totp-secret{display:block;margin-top:8px;padding:8px 12px;background:var(--bg-elevated);border-radius:4px;font-size:.85rem;letter-spacing:.08em;word-break:break-all}.totp-recovery-box{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;margin-bottom:8px}.totp-recovery-box code{flex:1;font-size:1.1rem;letter-spacing:.12em}.totp-status{font-weight:600;margin:0 0 8px}.totp-status--on{color:#2a7a3b}.totp-status--off{color:var(--text-muted)}@media(prefers-color-scheme: dark){.totp-status--on{color:#6ecf8a}}.month-offset-preview{margin:4px 0 0;font-size:.78rem;color:var(--text-muted);white-space:pre;line-height:1.6}.success-msg{color:#155724;background:#d4edda;border-radius:4px;padding:8px 12px;font-size:.9rem;margin-bottom:12px}@media(prefers-color-scheme: dark){.success-msg{color:#6ecf8a;background:#1a3326}}.cdialog-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000;align-items:center;justify-content:center}.cdialog-backdrop.cdialog-visible{display:flex}.cdialog{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:28px 28px 20px;max-width:480px;width:calc(100% - 40px);box-shadow:0 8px 32px rgba(0,0,0,.18)}.cdialog-msg{margin:0 0 20px;font-size:.95rem;line-height:1.5;color:var(--text);white-space:pre-wrap;max-width:440px}.cdialog-actions{display:flex;gap:10px;justify-content:flex-end}.cdialog-title{margin:0 0 .6rem;font-weight:600}.cdialog-body{margin:0 0 .75rem;font-size:.95rem;line-height:1.5}.cdialog-footer-note{margin:0 0 1.25rem;font-size:.875rem;color:var(--text-muted);line-height:1.5}.sidebar-user-actions{display:none}.sidebar-user-actions form{margin:0}@media(max-width: 768px){header{padding:0 16px}.hamburger{display:flex}.header-user-identity{display:none}.sidebar{position:fixed;top:56px;left:0;height:calc(100vh - 56px);width:240px;z-index:150;transform:translateX(-110%);transition:transform .25s ease;overflow-y:auto}body.nav-open .sidebar{transform:translateX(0)}.sidebar ul li a .action-badge{position:static;transform:none;margin-left:4px;vertical-align:middle}.sidebar-user-actions{display:flex;flex-direction:column;gap:8px;padding:16px 24px;border-top:1px solid hsla(0,0%,100%,.08);margin-top:8px}.sidebar-user-name{font-size:.85rem;color:hsla(0,0%,100%,.4)}.sidebar-logout-btn{background:none;border:1px solid hsla(0,0%,100%,.15);border-radius:4px;padding:5px 12px;cursor:pointer;font-size:.9rem;color:hsla(0,0%,100%,.6);text-align:left}.sidebar-logout-btn:hover{background:hsla(0,0%,100%,.07);color:#fff}.notif-dropdown{right:0;width:calc(100vw - 24px);max-width:340px}.app-main{padding:20px 16px}main{padding:0 16px;margin:24px auto}}.bodytext{line-height:1.7;color:var(--text)}.bodytext h1,.bodytext h2,.bodytext h3,.bodytext h4,.bodytext h5,.bodytext h6{margin-top:2em;margin-bottom:.4em;line-height:1.25;color:var(--text)}.bodytext h1:first-child,.bodytext h2:first-child,.bodytext h3:first-child,.bodytext h4:first-child,.bodytext h5:first-child,.bodytext h6:first-child{margin-top:0}.bodytext h1{font-size:1.75rem}.bodytext h2{font-size:1.35rem}.bodytext h3{font-size:1.1rem}.bodytext p{margin-top:0;margin-bottom:1em}.bodytext ul,.bodytext ol{margin:0 0 1em 0;padding-left:1.5em}.bodytext ul li,.bodytext ol li{margin-bottom:.3em}.bodytext a{color:var(--accent)}.bodytext a:hover{text-decoration:underline}.bodytext strong{font-weight:600}.bodytext hr{border:none;border-top:1px solid var(--border);margin:2em 0}.bodytext blockquote{margin:1em 0;padding-left:1em;border-left:3px solid var(--border);color:var(--text-muted)}.desc-surface{padding:.6rem 1rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;margin-bottom:1rem}.custom-backdrop{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;pointer-events:none}.backdrop-settings-form{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-subtle)}.backdrop-settings-row{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-end}.backdrop-settings-field{display:flex;flex-direction:column;gap:6px}.backdrop-settings-field label{font-size:.88rem;color:var(--text-subtle)}.backdrop-settings-field select{min-width:110px}.backdrop-settings-field--slider{flex:1;min-width:160px}.backdrop-settings-field--full{width:100%}.backdrop-css-input{font-family:monospace;font-size:.85rem;resize:vertical}.backdrop-opacity-slider{width:100%;accent-color:var(--link);cursor:pointer}.help-fab{position:fixed;top:68px;right:1rem;z-index:150;width:34px;height:34px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-subtle);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;text-decoration:none;box-shadow:0 2px 6px rgba(0,0,0,.12);opacity:.7;transition:opacity .15s,background .15s}.help-fab:hover{opacity:1;background:var(--bg-elevated);color:var(--link);border-color:var(--link);text-decoration:none}.page-tip{margin-bottom:3em;opacity:.5}.in-page-tip{font-size:.9rem;color:var(--text-subtle);margin:0 0 24px}.m-0{margin:0}.mb-0{margin-bottom:0}.mt-xs{margin-top:.25rem}.mt-sm{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-1{margin-top:1rem}.mt-md{margin-top:1.25rem}.mb-sm{margin-bottom:.5rem}.mb-1{margin-bottom:1rem}.mb-md{margin-bottom:1.25rem}.mb-lg{margin-bottom:1.5rem}.mt-lg{margin-top:1.5rem}.ml-sm{margin-left:.75rem}.ml-auto{margin-left:auto}.d-flex{display:flex}.d-block{display:block}.d-contents{display:contents}.flex-wrap{flex-wrap:wrap}.flex-col{flex-direction:column}.align-center{align-items:center}.flex-1{flex:1}.gap-xs{gap:.4rem}.gap-sm{gap:.75rem}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-subtle{color:var(--text-subtle)}.text-error{color:var(--error)}.text-success{color:var(--success)}.font-sm{font-size:.9rem}.font-xs{font-size:.8rem}.action-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.flex-col-gap-sm{display:flex;flex-direction:column;gap:8px}.flex-row-center{display:flex;align-items:center;gap:8px}.auth-hint{font-size:.9rem;color:var(--text-muted);margin:-8px 0 20px}.form-hint{color:var(--text-subtle);margin:-8px 0 24px;line-height:1.6;font-size:.97rem}.form-hint-sm{display:block;font-size:.82rem;color:var(--text-muted);margin-top:8px;margin-left:6px}.search-hint-link{display:block;margin-top:6px;font-size:.75rem;font-style:italic;text-decoration:underline;color:var(--text-muted)}.input-mono{font-family:monospace;letter-spacing:.05em}.input-inline--narrow{max-width:140px}.label-nowrap{white-space:nowrap;color:var(--text-muted);font-size:.95rem}.input-fixed-sm{width:72px;flex-shrink:0}.l-landingpage{overflow-x:clip}.l-landingpage .lp-accent{color:#c2478a}.l-landingpage .lp-accent-dark{color:#e07ab0}.l-landingpage .lp-section-eyebrow{display:inline-block;font-size:.73rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--link);margin-bottom:16px}.l-landingpage .lp-section-title{font-size:clamp(1.9rem,3.5vw,3rem);font-weight:800;line-height:1.1;color:var(--text);margin:0 0 20px;letter-spacing:-0.025em}.l-landingpage .lp-reveal{opacity:0;transform:translateY(36px);transition:opacity .6s ease,transform .6s ease}.l-landingpage .lp-reveal.lp-revealed{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion: reduce){.l-landingpage .lp-reveal{opacity:1;transform:none;transition:none}}.l-landingpage .lp-hero{position:relative;min-height:calc(100vh - 56px);background:linear-gradient(140deg, #0d0d1c 0%, #1a0b2e 55%, #0a1a2e 100%);color:#fff;display:flex;align-items:center;padding:80px 80px;gap:72px;overflow:hidden}@media(max-width: 1200px){.l-landingpage .lp-hero{padding:72px 60px;gap:56px}}@media(max-width: 1024px){.l-landingpage .lp-hero{padding:60px 40px;gap:40px}}@media(max-width: 768px){.l-landingpage .lp-hero{flex-direction:column;padding:64px 24px 72px;min-height:auto;text-align:center;gap:44px}}.l-landingpage .lp-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 28% 55%, rgba(194, 71, 138, 0.22) 0%, transparent 55%),radial-gradient(ellipse at 82% 20%, rgba(60, 120, 220, 0.12) 0%, transparent 45%);pointer-events:none}.l-landingpage .lp-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle, rgba(255, 255, 255, 0.045) 1px, transparent 1px);background-size:30px 30px;pointer-events:none}.l-landingpage .lp-hero-copy{position:relative;z-index:1;flex:0 0 auto;max-width:520px}@media(max-width: 768px){.l-landingpage .lp-hero-copy{max-width:100%}}.l-landingpage .lp-hero-title{font-size:clamp(2.6rem,5vw,4.4rem);font-weight:800;line-height:1.08;color:#fff;margin:0 0 22px;letter-spacing:-0.025em}.l-landingpage .lp-hero-sub{font-size:1.1rem;line-height:1.72;color:hsla(0,0%,100%,.62);margin:0 0 44px}@media(max-width: 768px){.l-landingpage .lp-hero-sub{font-size:1rem;margin-bottom:36px}}.l-landingpage .lp-hero-visual{position:relative;z-index:1;flex:1;min-width:0;display:flex;justify-content:center;align-items:center}@media(max-width: 768px){.l-landingpage .lp-hero-visual{width:100%}}.l-landingpage .lp-hero-img{width:100%;height:auto;max-width:680px;border-radius:16px;filter:drop-shadow(0 32px 60px rgba(0, 0, 0, 0.6));transform:rotate(2deg);transition:transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);display:block}.l-landingpage .lp-hero-img:hover{transform:rotate(0) scale(1.015)}@media(max-width: 1024px){.l-landingpage .lp-hero-img{transform:rotate(0)}}@media(max-width: 768px){.l-landingpage .lp-hero-img{max-width:100%}}.l-landingpage .lp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#c2478a;background:rgba(194,71,138,.12);border:1px solid rgba(194,71,138,.28);border-radius:100px;padding:5px 14px;margin-bottom:32px;white-space:nowrap}@media(max-width: 500px){.l-landingpage .lp-eyebrow{white-space:normal;text-align:center;justify-content:center;border-radius:12px;line-height:1.5}}.l-landingpage .lp-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:#c2478a;flex-shrink:0;animation:lp-pulse 2s ease-in-out infinite}@keyframes lp-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(0.7)}}.l-landingpage .lp-cta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.l-landingpage .lp-cta-row--center{justify-content:center}@media(max-width: 768px){.l-landingpage .lp-cta-row{justify-content:center}}.l-landingpage .lp-btn{display:inline-block;padding:13px 26px;border-radius:8px;font-size:1rem;font-weight:600;text-decoration:none !important;white-space:nowrap;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}.l-landingpage .lp-btn-primary{background:#c2478a;color:#fff !important;box-shadow:0 4px 22px rgba(194,71,138,.38)}.l-landingpage .lp-btn-primary:hover{background:#d4569b;transform:translateY(-2px);box-shadow:0 10px 36px rgba(194,71,138,.48)}.l-landingpage .lp-btn-primary--lg{font-size:1.08rem;padding:16px 36px}.l-landingpage .lp-btn-ghost{color:hsla(0,0%,100%,.7) !important;border:1px solid hsla(0,0%,100%,.2)}.l-landingpage .lp-btn-ghost:hover{color:#fff !important;border-color:hsla(0,0%,100%,.5);background:hsla(0,0%,100%,.06)}.l-landingpage .lp-forwho{background:var(--bg-surface);border-bottom:1px solid var(--border);padding:100px 40px;text-align:center}@media(max-width: 768px){.l-landingpage .lp-forwho{padding:72px 20px}}.l-landingpage .lp-forwho-inner{max-width:1100px;margin:0 auto}.l-landingpage .lp-forwho-cards{display:grid;grid-template-columns:repeat(3, 1fr);gap:24px;margin-top:56px}@media(max-width: 900px){.l-landingpage .lp-forwho-cards{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}}.l-landingpage .lp-forwho-card{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:36px 28px;text-align:left;transition:transform .22s,box-shadow .22s,border-color .22s}@media(max-width: 900px){.l-landingpage .lp-forwho-card{text-align:center}}.l-landingpage .lp-forwho-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.1);border-color:var(--link)}.l-landingpage .lp-forwho-card--featured{border-color:rgba(194,71,138,.4);background:linear-gradient(145deg, var(--bg) 0%, rgba(194, 71, 138, 0.04) 100%);box-shadow:0 0 0 1px rgba(194,71,138,.18),0 8px 32px rgba(194,71,138,.08)}.l-landingpage .lp-forwho-card h3{font-size:1.08rem;font-weight:700;color:var(--text);margin:16px 0 10px}.l-landingpage .lp-forwho-card p{font-size:.93rem;line-height:1.7;color:var(--text-subtle);margin:0}.l-landingpage .lp-forwho-icon{font-size:2.2rem;line-height:1;display:block}.l-landingpage .lp-feature{display:flex;align-items:center;gap:90px;padding:110px 100px;max-width:1350px;margin:0 auto}@media(max-width: 1200px){.l-landingpage .lp-feature{padding:90px 60px;gap:64px}}@media(max-width: 1024px){.l-landingpage .lp-feature{padding:72px 40px;gap:48px}}@media(max-width: 768px){.l-landingpage .lp-feature{flex-direction:column !important;padding:64px 20px;gap:36px;text-align:center}}.l-landingpage .lp-feature.lp-rev{flex-direction:row-reverse}.l-landingpage .lp-feature-copy{flex:1;min-width:0}.l-landingpage .lp-feature-num{display:inline-block;font-size:.73rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--link);margin-bottom:18px}.l-landingpage .lp-feature-title{font-size:clamp(1.9rem,3vw,2.9rem);font-weight:800;line-height:1.12;color:var(--text);margin:0 0 18px;letter-spacing:-0.022em}.l-landingpage .lp-feature-body{font-size:1.05rem;line-height:1.76;color:var(--text-subtle);margin:0 0 20px}.l-landingpage .lp-feature-body--mt{margin-top:20px}.l-landingpage .lp-feature-visual{flex:1;min-width:0;display:flex;justify-content:center;align-items:flex-start}@media(max-width: 768px){.l-landingpage .lp-feature-visual{width:100%}}.l-landingpage .lp-feature-img{width:100%;max-width:580px;max-height:500px;height:auto;object-fit:cover;object-position:top;border-radius:14px;filter:drop-shadow(0 16px 40px rgba(0, 0, 0, 0.18));display:block}@media(max-width: 768px){.l-landingpage .lp-feature-img{max-width:100%}}.l-landingpage .lp-feature:not(.lp-rev) .lp-feature-img{transform:rotate(-2deg)}.l-landingpage .lp-feature.lp-rev .lp-feature-img{transform:rotate(2deg)}@media(max-width: 768px){.l-landingpage .lp-feature:not(.lp-rev) .lp-feature-img,.l-landingpage .lp-feature.lp-rev .lp-feature-img{transform:none}}.l-landingpage .lp-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}@media(max-width: 768px){.l-landingpage .lp-checklist{width:100%}}.l-landingpage .lp-checklist li{display:flex;align-items:center;gap:11px;font-size:.96rem;color:var(--text-subtle);text-align:left}.l-landingpage .lp-checklist li::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;border-radius:50%;background:rgba(194,71,138,.14);color:var(--link);font-size:.72rem;font-weight:900;flex-shrink:0}.l-landingpage .lp-example-bubble{display:inline-flex;flex-direction:column;gap:4px;background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--link);border-radius:8px;padding:14px 18px;margin:8px 0 0;max-width:420px}@media(max-width: 768px){.l-landingpage .lp-example-bubble{text-align:left;width:100%;max-width:100%}}.l-landingpage .lp-example-bubble .lp-example-label{font-size:.71rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--link)}.l-landingpage .lp-example-bubble em{font-size:.98rem;line-height:1.6;color:var(--text);font-style:italic}.l-landingpage .lp-stripe{background:var(--bg-surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.l-landingpage .lp-dashboard-scroller{position:relative}.l-landingpage .lp-dashboard-sticky{position:sticky;top:0;background:var(--bg)}.l-landingpage .lp-dashboard-stack{position:relative;width:100%;max-width:560px;aspect-ratio:16/10}@media(max-width: 900px){.l-landingpage .lp-dashboard-stack{max-width:100%}}.l-landingpage .lp-stack-item{--rot: 0deg;--tx: 0px;--ty: 0px;position:absolute;inset:0;border-radius:14px;overflow:hidden;filter:drop-shadow(0 16px 40px rgba(0, 0, 0, 0.22));opacity:0;transform:translateX(calc(100% + 60px)) rotate(var(--rot));transition:opacity .55s ease,transform .7s cubic-bezier(0.22, 0.68, 0, 1.2)}.l-landingpage .lp-stack-item.lp-stack-item--in{opacity:1;transform:translateX(var(--tx)) translateY(var(--ty)) rotate(var(--rot))}.l-landingpage .lp-stack-item img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.l-landingpage .lp-stack-item--0{--rot: -5.0deg;--tx: -22px;--ty: 24px;z-index:1}.l-landingpage .lp-stack-item--1{--rot: -3.5deg;--tx: -16px;--ty: 18px;z-index:2}.l-landingpage .lp-stack-item--2{--rot: -2.0deg;--tx: -10px;--ty: 12px;z-index:3}.l-landingpage .lp-stack-item--3{--rot: -0.5deg;--tx: -5px;--ty: 6px;z-index:4}.l-landingpage .lp-stack-item--4{--rot: 1.0deg;--tx: 0px;--ty: 0px;z-index:5}.l-landingpage .lp-split-section{background:linear-gradient(140deg, #0d0d1c 0%, #1a0b2e 55%, #0a1a2e 100%);color:#fff;padding:110px 80px;position:relative;overflow:hidden}@media(max-width: 1024px){.l-landingpage .lp-split-section{padding:80px 40px}}@media(max-width: 768px){.l-landingpage .lp-split-section{padding:72px 20px}}.l-landingpage .lp-split-section::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 72% 38%, rgba(194, 71, 138, 0.18) 0%, transparent 55%),radial-gradient(ellipse at 15% 78%, rgba(60, 100, 220, 0.1) 0%, transparent 50%);pointer-events:none}.l-landingpage .lp-split-section::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle, rgba(255, 255, 255, 0.038) 1px, transparent 1px);background-size:30px 30px;pointer-events:none}.l-landingpage .lp-split-inner{position:relative;z-index:1;max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:80px}@media(max-width: 1024px){.l-landingpage .lp-split-inner{gap:48px}}@media(max-width: 768px){.l-landingpage .lp-split-inner{flex-direction:column;text-align:center;gap:48px}}.l-landingpage .lp-split-copy{flex:0 0 auto;max-width:440px}@media(max-width: 768px){.l-landingpage .lp-split-copy{max-width:100%}}.l-landingpage .lp-split-eyebrow{display:inline-block;font-size:.73rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c2478a;margin-bottom:16px}.l-landingpage .lp-split-title{font-size:clamp(1.9rem,3.5vw,3rem);font-weight:800;line-height:1.1;color:#fff;margin:0 0 20px;letter-spacing:-0.025em}.l-landingpage .lp-split-body{font-size:1.03rem;line-height:1.76;color:hsla(0,0%,100%,.6);margin:0 0 36px}.l-landingpage .lp-split-modes{display:flex;flex-direction:column;gap:12px}@media(max-width: 768px){.l-landingpage .lp-split-modes{align-items:stretch}}.l-landingpage .lp-split-mode{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:12px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.04);cursor:pointer;transition:background .2s,border-color .2s;text-align:left;appearance:none;color:inherit;font:inherit}.l-landingpage .lp-split-mode:hover{background:hsla(0,0%,100%,.08);border-color:rgba(194,71,138,.4)}.l-landingpage .lp-split-mode--active{background:rgba(194,71,138,.15);border-color:rgba(194,71,138,.55)}.l-landingpage .lp-split-mode-icon{font-size:1.6rem;line-height:1;flex-shrink:0}.l-landingpage .lp-split-mode-text strong{display:block;font-size:.95rem;font-weight:600;color:#fff}.l-landingpage .lp-split-mode-text span{display:block;font-size:.82rem;color:hsla(0,0%,100%,.48);margin-top:2px}.l-landingpage .lp-split-visual{flex:1;min-width:0;position:relative;min-height:280px;display:flex;align-items:center;justify-content:center}@media(max-width: 768px){.l-landingpage .lp-split-visual{min-height:auto;width:100%}}.l-landingpage .lp-split-img-wrap{width:100%;position:absolute;top:0;left:0;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease}.l-landingpage .lp-split-img-wrap--active{opacity:1;pointer-events:auto;transform:translateY(0);position:relative}.l-landingpage .lp-split-img{width:100%;height:auto;border-radius:14px;display:block;filter:drop-shadow(0 24px 50px rgba(0, 0, 0, 0.55))}.l-landingpage .lp-themes-section{padding:100px 40px;background:var(--bg);text-align:center;overflow:hidden}@media(max-width: 768px){.l-landingpage .lp-themes-section{padding:72px 20px}}.l-landingpage .lp-themes-inner{max-width:1100px;margin:0 auto}.l-landingpage .lp-themes-body{font-size:1.05rem;line-height:1.76;color:var(--text-subtle);max-width:540px;margin:0 auto 52px}.l-landingpage .lp-gallery{position:relative;padding:0 52px}@media(max-width: 600px){.l-landingpage .lp-gallery{padding:0}}.l-landingpage .lp-gallery-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:12px 4px 28px;scrollbar-width:none}.l-landingpage .lp-gallery-track::-webkit-scrollbar{display:none}@media(max-width: 600px){.l-landingpage .lp-gallery-track{gap:14px;padding:12px 20px 24px}}.l-landingpage .lp-gallery-slide{flex:0 0 420px;scroll-snap-align:start;cursor:zoom-in;border-radius:12px;overflow:hidden;background:none;border:1px solid var(--border);padding:0;filter:drop-shadow(0 6px 18px rgba(0, 0, 0, 0.12));transition:transform .25s,filter .25s}.l-landingpage .lp-gallery-slide:hover{transform:translateY(-5px) scale(1.01);filter:drop-shadow(0 16px 36px rgba(0, 0, 0, 0.22))}.l-landingpage .lp-gallery-slide:focus-visible{outline:2px solid var(--link);outline-offset:2px}.l-landingpage .lp-gallery-slide img{width:100%;height:auto;display:block}@media(max-width: 900px){.l-landingpage .lp-gallery-slide{flex:0 0 320px}}@media(max-width: 600px){.l-landingpage .lp-gallery-slide{flex:0 0 80vw}}.l-landingpage .lp-gallery-btn{position:absolute;top:50%;transform:translateY(calc(-50% - 8px));width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:background .18s,border-color .18s,box-shadow .18s;z-index:2}.l-landingpage .lp-gallery-btn:hover{background:var(--bg-elevated);border-color:var(--link);box-shadow:0 4px 16px rgba(0,0,0,.16)}.l-landingpage .lp-gallery-btn--prev{left:0}.l-landingpage .lp-gallery-btn--next{right:0}@media(max-width: 600px){.l-landingpage .lp-gallery-btn{display:none}}.l-landingpage .lp-lightbox{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .22s ease}.l-landingpage .lp-lightbox.lp-lightbox--open{opacity:1;pointer-events:auto}.l-landingpage .lp-lightbox-img{max-width:min(1200px,90vw);max-height:88vh;height:auto;border-radius:10px;object-fit:contain;filter:drop-shadow(0 24px 60px rgba(0, 0, 0, 0.6));display:block;transition:opacity .15s ease}.l-landingpage .lp-lightbox-close{position:absolute;top:20px;right:24px;width:40px;height:40px;border-radius:50%;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.18);color:#fff;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.l-landingpage .lp-lightbox-close:hover{background:hsla(0,0%,100%,.22)}.l-landingpage .lp-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:72px;border-radius:8px;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.12);color:#fff;font-size:2.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.l-landingpage .lp-lightbox-nav:hover{background:hsla(0,0%,100%,.16)}.l-landingpage .lp-lightbox-nav--prev{left:16px}.l-landingpage .lp-lightbox-nav--next{right:16px}@media(max-width: 600px){.l-landingpage .lp-lightbox-nav{top:auto;bottom:20px;transform:none}.l-landingpage .lp-lightbox-nav--prev{left:calc(50% - 58px)}.l-landingpage .lp-lightbox-nav--next{left:calc(50% + 6px)}}.l-landingpage .lp-pillars{background:var(--bg-surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:80px 40px}@media(max-width: 768px){.l-landingpage .lp-pillars{padding:64px 20px}}.l-landingpage .lp-pillars-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4, 1fr);gap:40px}@media(max-width: 900px){.l-landingpage .lp-pillars-inner{grid-template-columns:repeat(2, 1fr);gap:32px}}@media(max-width: 480px){.l-landingpage .lp-pillars-inner{grid-template-columns:1fr;gap:28px}}.l-landingpage .lp-pillar{text-align:center}@media(max-width: 480px){.l-landingpage .lp-pillar{display:flex;align-items:flex-start;gap:16px;text-align:left}}.l-landingpage .lp-pillar-icon{font-size:2rem;line-height:1;margin-bottom:16px;display:block}@media(max-width: 480px){.l-landingpage .lp-pillar-icon{margin-bottom:0;flex-shrink:0}}@media(max-width: 480px){.l-landingpage .lp-pillar-body-wrap{flex:1}}.l-landingpage .lp-pillar-title{font-size:1rem;font-weight:700;color:var(--text);margin:0 0 8px}.l-landingpage .lp-pillar-body{font-size:.88rem;line-height:1.65;color:var(--text-muted);margin:0}.l-landingpage .lp-pillar-body a{color:var(--link);text-decoration:none}.l-landingpage .lp-pillar-body a:hover{text-decoration:underline}.l-landingpage .lp-faq-section{padding:100px 40px;background:var(--bg)}@media(max-width: 768px){.l-landingpage .lp-faq-section{padding:72px 20px}}.l-landingpage .lp-faq-inner{max-width:760px;margin:0 auto}.l-landingpage .lp-faq-title{font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:800;letter-spacing:-0.025em;color:var(--text);margin:0 0 48px;text-align:center}.l-landingpage .lp-faq-list{display:flex;flex-direction:column}.l-landingpage .lp-faq-item{border-bottom:1px solid var(--border)}.l-landingpage .lp-faq-item:first-child{border-top:1px solid var(--border)}.l-landingpage .lp-faq-item[open] .lp-faq-q::after{transform:rotate(45deg)}.l-landingpage .lp-faq-q{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px;font-size:1rem;font-weight:600;color:var(--text);cursor:pointer;list-style:none;user-select:none}.l-landingpage .lp-faq-q::-webkit-details-marker{display:none}.l-landingpage .lp-faq-q::after{content:"+";flex-shrink:0;font-size:1.4rem;font-weight:300;color:var(--link);line-height:1;transition:transform .2s ease}.l-landingpage .lp-faq-a{margin:0;padding:0 4px 20px;font-size:.93rem;line-height:1.75;color:var(--text-muted)}.l-landingpage .lp-cta-section{background:linear-gradient(140deg, #0d0d1c 0%, #1a0b2e 100%);color:#fff;padding:130px 40px;text-align:center;position:relative;overflow:hidden}@media(max-width: 768px){.l-landingpage .lp-cta-section{padding:80px 20px}}.l-landingpage .lp-cta-section::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%, rgba(194, 71, 138, 0.22) 0%, transparent 60%);pointer-events:none}.l-landingpage .lp-cta-section::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle, rgba(255, 255, 255, 0.04) 1px, transparent 1px);background-size:30px 30px;pointer-events:none}.l-landingpage .lp-cta-section-inner{position:relative;z-index:1;max-width:620px;margin:0 auto}.l-landingpage .lp-cta-section-title{font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;color:#fff;margin:0 0 18px;letter-spacing:-0.025em;line-height:1.1}.l-landingpage .lp-cta-section-sub{font-size:1.08rem;color:hsla(0,0%,100%,.52);margin:0 0 44px;line-height:1.65}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px;min-height:calc(100vh - 57px)}.error-page .error-page-code{font-size:clamp(6rem,20vw,10rem);font-weight:700;line-height:1;color:var(--border);letter-spacing:-4px;margin-bottom:16px;user-select:none}.error-page .error-page-title{font-size:clamp(1.4rem,4vw,2rem);font-weight:600;color:var(--text);margin:0 0 12px}.error-page .error-page-message{font-size:1rem;color:var(--text-muted);max-width:380px;margin:0 0 32px;line-height:1.6}.buddies-section{margin-bottom:2.5rem}.buddies-section--narrow{max-width:560px}.buddies-section--sm{max-width:480px}.buddies-section--surface{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem}.buddies-section h2{font-size:1.1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.buddies-section h2~h2{margin-top:2.25rem}.buddies-section h3{font-size:.9rem;font-weight:600;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em;margin:1.2rem 0 .6rem}.buddy-list{display:flex;flex-direction:column;gap:.6rem}.buddy-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:.85rem 1rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px}.buddy-card.buddy-card-dummy{border-left:3px solid var(--text-muted)}.buddy-card-identity{display:flex;flex-direction:row;align-items:center;gap:.6rem}.buddy-card-identity-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.buddy-name{font-weight:600;color:var(--text)}.buddy-name--editable{cursor:text}.buddy-name--editable:hover{text-decoration:underline dotted var(--text-muted)}.buddy-email{font-size:.82rem;color:var(--text-muted)}@media(max-width: 560px){.group-member-list{display:none}}.buddy-card-balance{font-weight:600;font-size:.95rem;white-space:nowrap}.buddy-card-balance.balance-positive{color:#2da44e}.buddy-card-balance.balance-negative{color:var(--error)}.buddy-card-balance.balance-zero{color:var(--text-muted)}.buddy-card-actions{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}.buddy-balance-list{display:grid;grid-template-columns:1fr auto auto;border:1px solid var(--border);border-radius:8px}.buddy-balance-row{display:contents}.buddy-balance-row:not(:first-child)>*{border-top:1px solid var(--border)}.bbl-name-block{padding:.85rem .75rem .85rem 1rem;background:var(--bg-surface);display:flex;flex-direction:row;align-items:center;gap:.6rem;min-width:0}.bbl-name-block.bbl-name-block--dummy{border-left:3px solid var(--text-muted);padding-left:calc(1rem - 3px)}.bbl-name-text{display:flex;flex-direction:column;gap:2px;min-width:0}.bbl-balance{padding:.85rem .75rem;background:var(--bg-surface);white-space:nowrap;text-align:right;font-weight:600;font-size:.95rem;display:flex;align-items:center;justify-content:flex-end}.bbl-balance.balance-positive{color:#2da44e}.bbl-balance.balance-negative{color:var(--error)}.bbl-balance.balance-zero{color:var(--text-muted);font-weight:400}.bbl-actions{padding:.85rem 1rem .85rem .75rem;background:var(--bg-surface);display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end;align-items:center}.bbl-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}@media(max-width: 560px){.buddy-balance-list{display:flex;flex-direction:column}.buddy-balance-row{display:grid;grid-template-columns:1fr auto}.buddy-balance-row+.buddy-balance-row{border-top:1px solid var(--border)}.buddy-balance-row>*{border-top:none !important}.bbl-name-block{grid-column:1;grid-row:1;padding:.75rem .5rem .5rem 1rem}.bbl-balance{grid-column:2;grid-row:1;align-items:flex-start;justify-content:flex-end;padding:.7rem 1rem .5rem .5rem;font-size:.88rem}.bbl-actions{grid-column:1/-1;grid-row:2;justify-content:flex-end;padding:.25rem 1rem .9rem;gap:.5rem}}.invite-card{padding:.85rem 1rem;background:color-mix(in srgb, #2da44e 4%, var(--bg-surface));border:1px solid var(--border);border-left:3px solid #2da44e;border-radius:8px;margin-bottom:.5rem}.invite-card p{margin:0 0 .6rem}.invite-card.invite-card-outgoing{background:var(--bg-surface);border-left:3px solid var(--text-muted)}.invite-actions{display:flex;gap:.5rem}.add-buddy-forms{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width: 640px){.add-buddy-forms{grid-template-columns:1fr}}.add-buddy-panel{padding:1rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px}.add-buddy-panel h3{font-size:.9rem;font-weight:600;margin:0 0 .3rem;text-transform:none;color:var(--text);letter-spacing:0;border:none;padding:0}.add-buddy-panel p{margin:0 0 .75rem;font-size:.875rem}@media(max-width: 560px){.add-buddy-panel .btn{width:100%}}.stacked-form{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.stacked-form label{font-size:.875rem;font-weight:500;color:var(--text);width:100%}.stacked-form input,.stacked-form textarea{width:100%;padding:.45rem .7rem;border:1px solid var(--input-border);border-radius:6px;background:var(--bg-input);color:var(--text);font-size:.9rem;box-sizing:border-box}.stacked-form textarea{margin-bottom:.5rem;resize:vertical}.inline-form{display:flex;gap:.5rem;flex-wrap:wrap}@media(max-width: 560px){.inline-form{flex-direction:column;align-items:flex-start}}.input-inline{flex:1;min-width:0;padding:.45rem .7rem;border:1px solid var(--input-border);border-radius:6px;background:var(--bg-input);color:var(--text);font-size:.9rem}.input-inline:focus{outline:none;border-color:var(--accent)}.buddy-expense-list{display:flex;flex-direction:column;gap:.5rem}.bexp-title{font-weight:600;color:var(--text)}.bexp-participants{display:flex;align-items:center;padding:.5rem 1rem;border-bottom:1px solid var(--border)}.buddies-onboarding-hint{padding:1rem 1.25rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-subtle);font-size:.875rem;line-height:1.6}.warning-box{padding:1rem 1.25rem;background:color-mix(in srgb, #e3a008 10%, var(--bg-surface));border:1px solid color-mix(in srgb, #e3a008 40%, var(--border));border-radius:8px;margin-bottom:1rem;font-size:.9rem;line-height:1.6}.info-box{padding:1rem 1.25rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px}.info-box p{margin:0 0 .5rem}.info-box ul{margin:0;padding-left:1.25rem}.info-box li{margin-bottom:.3rem;font-size:.9rem;color:var(--text-subtle)}.buddy-payment-section{margin-top:1.25rem;padding:0;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.buddy-payment-section h3{font-size:.95rem;font-weight:600;margin:0 0 .85rem}.buddy-section-body{padding:1rem 1.25rem}.buddy-project-select-row{padding:.85rem 1.25rem 0}.buddy-project-select-row label{display:block;font-weight:500;margin-bottom:.3rem;font-size:.9rem}.buddy-project-select-row select{width:100%;max-width:380px}.buddy-payment-section:not(.buddy-section--project) .buddy-project-header-hero{display:none}.buddy-project-header-hero{display:block;height:130px;width:100%;background-size:cover;background-position:center;background-color:var(--bg-elevated);border-radius:7px 7px 0 0;transition:background-image .18s ease}.project-tab-nav{display:flex;border-bottom:2px solid var(--border);margin-bottom:1.5rem}.project-tab{padding:.65rem 1.25rem;font-size:.95rem;font-weight:500;color:var(--text-muted);text-decoration:none;border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-2px;transition:color .13s,border-color .13s;white-space:nowrap}.project-tab:hover{color:var(--text);text-decoration:none}.project-tab--active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.settings-group{margin-bottom:1.75rem}.settings-group:last-child{margin-bottom:0}.settings-group-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:0 0 .5rem}.settings-list{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.settings-row{padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.settings-row:last-child{border-bottom:none}.settings-row__title{font-size:.9rem;font-weight:600;color:var(--text);margin:0 0 .15rem}.settings-row__desc{font-size:.82rem;color:var(--text-muted);margin:0 0 .65rem;line-height:1.5}.project-pic-row{display:flex;flex-direction:row-reverse;justify-content:space-between;gap:1rem;align-items:flex-start;margin-top:.5rem}@media(max-width: 560px){.project-pic-row{flex-direction:column;justify-content:flex-start}.project-pic-row #project-pic-thumb-wrap{width:100%}}.project-pic-controls{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;text-align:center;gap:.4rem}.project-pic-controls form{margin:0}.project-pic-thumb{width:200px;height:112px;max-width:240px;max-height:135px;flex-shrink:0;border-radius:6px;border:1px solid var(--border);object-fit:cover;display:block}.project-pic-thumb--placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);color:var(--text-muted);font-size:.72rem;text-align:center}@media(max-width: 560px){.project-pic-thumb{width:100%;max-width:none;height:100px;max-height:none;flex-shrink:1}}.input-block{display:block;width:100%;padding:8px 10px;border:1px solid var(--input-border);border-radius:4px;font-size:1rem;font-family:inherit;background:var(--bg-input);color:var(--text);box-sizing:border-box}.input-block:focus{outline:2px solid var(--accent);outline-offset:1px}.assign-tab-group{display:flex;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;width:fit-content;margin-top:.35rem}.assign-tab{padding:.55rem 1.15rem;font-size:.9rem;font-weight:500;background:var(--bg-surface);color:var(--text-muted);border:none;border-right:1px solid var(--border);cursor:pointer;transition:background .13s,color .13s;line-height:1.3}.assign-tab:last-child{border-right:none}.assign-tab:hover{background:var(--bg-elevated);color:var(--text)}.assign-tab.assign-tab--active{background:var(--accent);color:var(--accent-fg);font-weight:600}.bgs-card.bgs-card--archived{opacity:.75}#projects-sortable .bgs-card:not(.bgs-card--archived){cursor:grab}.buddy-participants-row{margin-bottom:.75rem}.buddy-participants-row label{font-size:.85rem;color:var(--text-subtle);margin-bottom:.3rem}.buddy-participants-row select{width:100%}.buddy-sliders{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.buddy-slider-row{display:grid;grid-template-columns:130px 1fr 64px auto;align-items:center;gap:.5rem;font-size:.875rem}@media(max-width: 480px){.buddy-slider-row:first-child{margin-top:2rem}}@media(max-width: 480px){.buddy-slider-row{grid-template-columns:1fr auto auto;grid-template-rows:auto auto;margin-top:1rem}.buddy-slider-row .buddy-slider-name{grid-column:1;grid-row:1}.buddy-slider-row .buddy-slider-pct{grid-column:2;grid-row:1}.buddy-slider-row .buddy-slider-amt{grid-column:3;grid-row:1}.buddy-slider-row input[type=range]{grid-column:1/-1;grid-row:2;width:100%}}.buddy-slider-name{display:flex;align-items:center;gap:6px;overflow:hidden;color:var(--text-subtle)}.buddy-slider-name .buddy-slider-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buddy-single-select-wrap{display:flex;align-items:center;gap:6px}.buddy-single-select-wrap .buddy-single-avatar-wrap{flex-shrink:0;display:flex;align-items:center}.buddy-single-select-wrap select{flex:1;min-width:0}.buddy-slider-pct{text-align:right;font-weight:600;color:var(--text);min-width:48px}.buddy-slider-amt{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.buddy-share-sum{font-size:.85rem;margin-top:.5rem;color:var(--text-muted)}.buddy-share-sum.share-sum-ok{color:#2da44e}.buddy-share-sum.share-sum-error{color:var(--error)}.buddy-equal-btn{margin-top:.5rem}.buddy-mode-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1.25rem;margin-bottom:.85rem;font-size:.9rem}.radio-inline{display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:500}.buddy-approval-banner{background:color-mix(in srgb, #e3a008 10%, var(--bg-surface));border:1px solid color-mix(in srgb, #e3a008 40%, var(--border));border-radius:6px;padding:.5rem .75rem;font-size:.82rem;color:var(--text-subtle);display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.btn-danger-subtle{background:rgba(0,0,0,0);border:1px solid var(--error);color:var(--error)}.btn-danger-subtle:hover{background:var(--error-bg)}.btn-danger{background:var(--error);color:#fff;border:1px solid var(--error)}.btn-danger:hover{opacity:.88}.buddy-flash{padding:.7rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.88rem;line-height:1.5}.buddy-flash.buddy-flash-info{background:color-mix(in srgb, var(--accent) 10%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border))}.buddy-flash.buddy-flash-success{background:color-mix(in srgb, var(--success) 10%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--success) 40%, var(--border))}.buddy-flash.buddy-flash-warning{background:color-mix(in srgb, #e3a008 10%, var(--bg-surface));border:1px solid color-mix(in srgb, #e3a008 40%, var(--border))}.buddy-flash.buddy-flash-error{background:color-mix(in srgb, var(--error) 10%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--error) 40%, var(--border))}.buddy-debt-graph{width:100%;overflow-x:auto}.buddy-debt-graph svg{display:block;max-width:100%}.bgs-grid-section h2{margin-bottom:.9rem}.bgs-cards{display:grid;grid-template-columns:repeat(2, 1fr);gap:1rem}@media(max-width: 480px){.bgs-cards{grid-template-columns:1fr}}.bgs-card{display:flex;flex-direction:column;text-decoration:none;color:var(--text);border:1px solid var(--border);border-radius:12px;min-height:160px;position:relative;overflow:hidden;transition:box-shadow .22s ease,transform .22s ease,border-color .22s ease}.bgs-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:12px 12px 0 0;background:var(--border);transition:background .22s ease;z-index:1}.bgs-card.bgs-card-positive::before{background:#2da44e}.bgs-card.bgs-card-negative::before{background:#cf222e}.bgs-card:hover{box-shadow:0 10px 36px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.08);transform:translateY(-5px) scale(1.015);border-color:var(--accent);text-decoration:none;z-index:1}.bgs-card:hover .bgs-card-header{background:var(--bg-elevated)}.bgs-card.bgs-card-positive:hover{border-color:#2da44e}.bgs-card.bgs-card-negative:hover{border-color:#cf222e}.bgs-card-header{padding:.9rem 1.2rem .8rem;background:var(--bg-surface);display:flex;flex-direction:column;gap:.45rem;transition:background .22s ease}.bgs-card-image-area{height:130px;flex-shrink:0;background-size:cover;background-position:center;background-color:var(--bg-elevated)}.bgs-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.bgs-card-top-right{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}.bgs-name{font-size:1rem;font-weight:700;color:var(--text);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bgs-card-stats{display:flex;flex-direction:column;gap:.2rem}.bgs-stat{display:flex;align-items:baseline;gap:.45rem;line-height:1.2}.bgs-stat-label{font-size:.72rem;font-weight:500;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.bgs-stat-value{font-size:.72rem;font-weight:700;color:var(--text)}.bgs-stat--positive .bgs-stat-value{color:#2da44e}.bgs-stat--negative .bgs-stat-value{color:#cf222e}.bgs-stat--settled .bgs-stat-value{color:var(--text-muted)}.bgs-members{display:flex;flex-wrap:wrap;gap:.25rem .35rem}.bgs-description{margin:0;font-size:.8rem;color:var(--text-subtle);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bgs-section-note{font-size:.85rem;color:var(--text-muted);margin:-0.5rem 0 1rem;font-style:italic}.buddy-group-cards{display:flex;flex-direction:column;gap:.5rem}.buddy-group-card{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text);transition:border-color .15s,background .15s}.buddy-group-card:hover{border-color:var(--accent);background:var(--bg-elevated)}.buddy-group-card-name{font-weight:600}.buddy-group-card-arrow{color:var(--text-muted);font-size:1rem}.group-debt-graphs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem}@media(max-width: 600px){.group-debt-graphs{grid-template-columns:1fr}}.group-debt-graph-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem .6rem;min-width:0;overflow:hidden}.group-debt-graph-panel h3{margin:0 0 .15rem}.group-debt-graph-panel p{font-size:.8rem;color:var(--text-muted);margin:0 0 .5rem}.group-debt-graph-panel p.graph-total{font-size:.8rem;font-weight:600;color:var(--text);margin:.5rem 0 0}.group-spending-wrap{display:flex;align-items:flex-start;gap:2rem;flex-wrap:wrap}@media(max-width: 600px){.group-spending-wrap{flex-direction:column;align-items:center}}.group-spending-chart{flex-shrink:0}.group-spending-chart svg{display:block}.group-spending-legend{flex:1;min-width:160px;display:flex;flex-direction:column;gap:.45rem;padding-top:.25rem}.pie-legend-row{display:flex;align-items:center;gap:.55rem;font-size:.85rem;line-height:1.3}.pie-legend-row.pie-legend-row--me .pie-legend-label{font-weight:600}.pie-legend-dot{width:22px;height:22px;border-radius:50%;flex-shrink:0;background:var(--bg-muted)}.pie-legend-dot--initials{display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff}.pie-legend-label{color:var(--text);word-break:break-word}.group-pie-tooltip{position:fixed;background:var(--bg-elevated);border:1px solid var(--border);border-radius:7px;padding:.45rem .75rem;font-size:.82rem;line-height:1.45;z-index:1200;box-shadow:0 4px 16px rgba(0,0,0,.18);white-space:nowrap}.proj-chart-wrap{position:relative;width:100%}.proj-chart-wrap canvas{display:block}.settle-form-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.65rem;flex-wrap:wrap}.settle-form-label{font-size:.88rem;color:var(--text-muted);min-width:100px;flex-shrink:0}.settle-form-select{flex:1;min-width:160px;max-width:320px}.bexp-card-pending{opacity:.85;border-style:dashed !important}.consent-btns{display:flex;gap:4px;align-items:center}.btn-consent{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border);background:rgba(0,0,0,0);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;padding:0;line-height:1;transition:border-color .1s,background .1s,color .1s}.btn-consent:hover{border-color:var(--text-subtle);color:var(--text)}.btn-consent--approved{border-color:#2da44e;background:color-mix(in srgb, #2da44e 15%, var(--bg-surface));color:#2da44e}.btn-consent--rejected{border-color:#cf222e;background:color-mix(in srgb, #cf222e 15%, var(--bg-surface));color:#cf222e}.pill--success{background:color-mix(in srgb, #2da44e 18%, var(--bg-surface));color:#2da44e;border:1px solid color-mix(in srgb, #2da44e 35%, transparent);font-size:.75rem;padding:1px 7px}.pill--danger{background:color-mix(in srgb, #cf222e 18%, var(--bg-surface));color:#cf222e;border:1px solid color-mix(in srgb, #cf222e 35%, transparent);font-size:.75rem;padding:1px 7px}.pill--warn{background:color-mix(in srgb, #e3a000 18%, var(--bg-surface));color:#e3a000;border:1px solid color-mix(in srgb, #e3a000 35%, transparent);font-size:.75rem;padding:1px 7px;border-radius:99px}.group-settle-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.5rem}.group-settle-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.6rem .85rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;font-size:.9rem}.group-settle-row.settle-row-me-owes{border-left:3px solid var(--error);background:color-mix(in srgb, var(--error) 5%, var(--bg-surface))}.group-settle-row.settle-row-me-receives{border-left:3px solid #2da44e;background:color-mix(in srgb, #2da44e 5%, var(--bg-surface))}.settle-arrow{color:var(--text-muted);font-size:.8rem}.settle-amount{font-weight:700;margin-left:auto;color:var(--text)}.bexp-breakdown-list{display:flex;flex-direction:column;gap:.85rem}.bexp-breakdown-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.bexp-breakdown-card.bexp-card-i-paid{border-left:3px solid #cf222e;background:color-mix(in srgb, #cf222e 4%, var(--bg-surface))}.bexp-breakdown-card.bexp-card-other-paid{border-left:3px solid #2da44e;background:color-mix(in srgb, #2da44e 4%, var(--bg-surface))}.bexp-breakdown-card.bexp-card-neutral{border-left:3px solid var(--text-muted);opacity:.72}.bexp-breakdown-card.bexp-card-pending.bexp-card-approvable{opacity:1;border-style:solid !important}.bexp-breakdown-card.buddy-expense-pending{border-left:3px solid #e3a008;background:color-mix(in srgb, #e3a008 6%, var(--bg-surface))}.bexp-breakdown-header{padding:.7rem 1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:1rem}.bexp-breakdown-header-left{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:baseline;min-width:0}.bexp-breakdown-header-right{flex-shrink:0;display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.bexp-breakdown-meta{font-size:.82rem;color:var(--text-muted)}.settle-candidate-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.settle-candidate-row{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);transition:background .15s}.settle-candidate-row:hover{background:var(--bg-elevated)}.settle-candidate-name{flex:1;font-weight:500;color:var(--text)}.settle-candidate-amount-wrap{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.settle-candidate-amount-wrap .settle-candidate-currency{font-size:.875rem;font-weight:600;color:var(--danger, #cf222e)}.settle-candidate-amount-wrap .settle-amount-input{width:90px;font-size:.875rem;font-weight:600;color:var(--danger, #cf222e);text-align:right}.bexp-collapsible{display:block;width:100%;border-top:1px solid var(--border)}.bexp-collapsible .bexp-collapsible-summary{display:block;padding:.45rem 1rem;font-size:.8rem;color:var(--text-muted);cursor:pointer;user-select:none;list-style:none}.bexp-collapsible .bexp-collapsible-summary::-webkit-details-marker{display:none}.bexp-collapsible .bexp-collapsible-summary::before{content:"▶ ";font-size:.65rem;display:inline-block;transition:transform .15s}.bexp-collapsible .bexp-collapsible-summary:hover{color:var(--text)}.bexp-collapsible[open] .bexp-collapsible-summary::before{transform:rotate(90deg)}.bexp-breakdown-table{width:100%;border-collapse:collapse;font-size:.875rem}.bexp-breakdown-table th{padding:.45rem 1rem;font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;background:var(--bg-elevated);text-align:left}.bexp-breakdown-table td{padding:.5rem 1rem;border-top:1px solid var(--border);color:var(--text-subtle)}.bexp-breakdown-table tr.bexp-row-me td{background:color-mix(in srgb, var(--accent) 6%, var(--bg-surface));color:var(--text);font-weight:500}.bexp-breakdown-table td:last-child .pill{min-width:3.2rem;text-align:center}@media(max-width: 640px){.bexp-breakdown-table{font-size:.8rem}.bexp-breakdown-table th,.bexp-breakdown-table td{padding:.4rem .5rem}}.pill--faded{opacity:.7}.pill--ml{margin-left:.4rem}.settle-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.settle-table td{padding:6px 0;font-size:.9rem}.settle-table td:first-child{color:var(--text-muted)}.settle-table td:last-child{color:var(--text);text-align:right}.settle-table .settle-table-value{font-weight:600}.danger-box{border:2px solid var(--error);border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;background:color-mix(in srgb, var(--error) 8%, transparent)}.danger-box p{margin:0 0 .5rem}.danger-box p:last-child{margin-bottom:0}.danger-box-title{font-weight:700;font-size:1.05rem;margin:0 0 .6rem;color:var(--error)}.box--spaced{margin:1rem 0}.box--spaced{margin:1rem 0}.settled-up-msg{color:var(--success);font-size:.95rem;font-weight:600;margin:.5rem 0 0}#due-date-wrap{margin-top:16px}#buddy-group-select-row{margin-top:.5rem}#buddy-payer-notice{margin-top:.75rem}.fab-new-expense{position:fixed;bottom:2rem;right:2rem;z-index:900;width:3.5rem;height:3.5rem;border-radius:50%;background:#c2478a;color:#fff;font-size:2rem;line-height:1;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,.28);transition:transform .25s ease-in-out,box-shadow .25s ease-in-out,background .15s}.fab-new-expense:hover{background:#d4569b;color:#fff;text-decoration:none;transform:scale(1.1) rotate(90deg);box-shadow:0 6px 22px rgba(0,0,0,.36)}.partnership-wizard{max-width:560px;width:100%;max-height:85vh;overflow-y:auto;padding:0}.wizard-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--border-subtle)}.wizard-title{font-size:1rem;font-weight:700}.wizard-close{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1rem;line-height:1;padding:4px 6px;border-radius:4px}.wizard-close:hover{background:var(--bg-elevated);color:var(--text)}.wizard-steps{display:flex;align-items:center;justify-content:center;gap:0;padding:.85rem 1.25rem}.wizard-step-dot{width:26px;height:26px;border-radius:50%;background:var(--bg-elevated);border:2px solid var(--border);color:var(--text-muted);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,border-color .2s,color .2s}.wizard-step-dot.active{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.wizard-step-dot.done{background:color-mix(in srgb, var(--accent) 20%, var(--bg-elevated));border-color:color-mix(in srgb, var(--accent) 50%, var(--border));color:var(--accent)}.wizard-step-line{flex:1;height:2px;background:var(--border-subtle);max-width:48px}.wizard-step{padding:1rem 1.25rem 1.25rem}.wizard-section-title{font-size:.95rem;font-weight:700;margin:0 0 .5rem}.wizard-body{font-size:.93rem;line-height:1.6;margin:0 0 .75rem;color:var(--text-subtle)}.wizard-body--warn{color:#b07800;font-size:.88rem}@media(prefers-color-scheme: dark){.wizard-body--warn{color:#e3a008}}.wizard-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-top:1.1rem}.wizard-matched-section{margin-bottom:.75rem}.wizard-matched-pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.wizard-hint{font-size:.82rem;color:var(--text-muted);margin:0 0 .4rem}.wizard-warning{padding:.55rem .85rem;margin-bottom:.6rem;border-radius:6px;font-size:.85rem;line-height:1.5;background:color-mix(in srgb, #e3a008 10%, var(--bg-surface));border:1px solid color-mix(in srgb, #e3a008 35%, var(--border));color:#856000}@media(prefers-color-scheme: dark){.wizard-warning{color:#e3c060}}.wizard-info{padding:.55rem .85rem;margin-bottom:.6rem;border-radius:6px;font-size:.85rem;line-height:1.5;background:color-mix(in srgb, var(--accent) 8%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));color:var(--text-subtle)}.wizard-error{padding:.55rem .85rem;margin-bottom:.6rem;border-radius:6px;font-size:.85rem;background:color-mix(in srgb, var(--error) 10%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--error) 35%, var(--border));color:var(--error)}.wizard-ai-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.wizard-ai-status{font-size:.82rem;color:var(--text-muted);font-style:italic}.wizard-map-table{display:flex;flex-direction:column;gap:6px;margin-bottom:.5rem}.wizard-map-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px}.wizard-map-source{min-width:120px;font-size:.9rem;font-weight:500;flex-shrink:0}.wizard-map-arrow{color:var(--text-muted);flex-shrink:0}.wizard-map-select{flex:1;min-width:0;font-size:.88rem;padding:3px 6px;border:1px solid var(--input-border);border-radius:4px;background:var(--bg-input);color:var(--text)}.wizard-map-select:focus{border-color:var(--accent);outline:none}.wizard-map-select:disabled{opacity:.5}.wizard-map-drop{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--text-muted);flex-shrink:0;cursor:pointer;white-space:nowrap}.wizard-summary{margin-bottom:.75rem}.wizard-summary-list{padding-left:1.2rem;margin:0;font-size:.9rem;color:var(--text-subtle);line-height:1.8}.ctx-menu-wrap{position:relative;display:inline-flex;align-items:center}.ctx-menu-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:2px 10px 4px;cursor:pointer;color:var(--text-muted);font-size:1.3rem;letter-spacing:2px;line-height:1}.ctx-menu-btn:hover{background:var(--bg-elevated);color:var(--text)}.ctx-menu{display:none;position:absolute;right:0;top:calc(100% + 4px);min-width:160px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.15);z-index:200;overflow:hidden}.ctx-menu-wrap.ctx-open .ctx-menu{display:block}.ctx-menu-item{display:block;width:100%;padding:9px 16px;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;font-size:.9rem;color:var(--text);text-decoration:none;white-space:nowrap;box-sizing:border-box}.ctx-menu-item:last-child{border-bottom:none}.ctx-menu-item:hover{background:var(--bg-elevated)}.ctx-menu-item--danger{color:var(--error)}#img-cropper-modal{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,.78);align-items:center;justify-content:center}.img-cropper-dialog{background:var(--bg);border-radius:12px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 12px 40px rgba(0,0,0,.5);max-width:calc(100vw - 32px)}.img-cropper-hint{font-size:.82rem;color:var(--text-muted);margin:0;text-align:center}#img-cropper-canvas{border-radius:8px;display:block;max-width:100%;touch-action:none;user-select:none}.img-cropper-actions{display:flex;gap:10px;width:100%}.img-cropper-actions .btn{flex:1}
