@import "https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f4;--panel:#fff;--panel-soft:#eef3ee;--text:#17201a;--muted:#6a756f;--line:#dfe6df;--primary:#176f5b;--primary-strong:#0d4d43;--brand-primary:#176f5b;--brand-primary-strong:#0d4d43;--accent:#c4743e;--danger:#b64242;--good:#1f8c5a;--save:#356fbe;--shadow:0 18px 45px #18241d1a;--income:#15803d;--income-strong:#166534;--expense:#dc2626;--expense-strong:#991b1b;--savings:#ea7a1a;--savings-strong:#c25f10;--wallet:#2563eb;--wallet-strong:#1d4ed8;--bank:#7c3aed;--bank-strong:#6d28d9}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101511;--panel:#18201b;--panel-soft:#222d26;--text:#eef6ef;--muted:#a8b5ad;--line:#314038;--primary:#6cd2b2;--primary-strong:#9ee6cf;--brand-primary:#6cd2b2;--brand-primary-strong:#9ee6cf;--accent:#e0a16f;--danger:#f07f7f;--good:#65d995;--save:#8ab6ff;--shadow:0 20px 55px #00000047;--income:#4ade80;--income-strong:#86efac;--expense:#fb7185;--expense-strong:#fda4af;--savings:#fb923c;--savings-strong:#fdba74;--wallet:#60a5fa;--wallet-strong:#93c5fd;--bank:#a78bfa;--bank-strong:#c4b5fd}.app[data-accent=income]{--primary:var(--income);--primary-strong:var(--income-strong)}.app[data-accent=expense]{--primary:var(--expense);--primary-strong:var(--expense-strong)}.app[data-accent=savings]{--primary:var(--savings);--primary-strong:var(--savings-strong)}.app[data-accent=wallet]{--primary:var(--wallet);--primary-strong:var(--wallet-strong)}.app[data-accent=bank]{--primary:var(--bank);--primary-strong:var(--bank-strong)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Figtree,system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}svg{flex:none;width:18px;height:18px}.app{grid-template-columns:260px 1fr;min-height:100vh;transition:grid-template-columns .24s;display:grid}.app.sidebar-collapsed{grid-template-columns:84px 1fr}.sidebar{background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 98%, white), var(--panel));border-right:1px solid var(--line);height:100vh;padding:18px 14px;transition:padding .24s,width .24s;position:sticky;top:0}.brand,.topbar,.top-actions,.profile-chip,.sidebar button,.quick-grid button,.button-row,.inline-add,.chat-window header,.mini-list div,.row-actions,.attach{align-items:center;display:flex}.brand{border-bottom:1px solid var(--line);justify-content:flex-start;gap:10px;min-width:0;margin-bottom:18px;padding:8px 0 14px 8px;font-size:20px}.brand span,.brand-mark{background:var(--brand-primary);color:#fff;border-radius:8px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.brand strong{white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.sidebar .sidebar-collapse{background:var(--panel-soft);width:36px;max-width:36px;height:36px;min-height:36px;color:var(--brand-primary);text-align:center;border-radius:8px;flex:0 0 36px;justify-content:center;gap:0;margin-left:auto;padding:0}.sidebar .sidebar-collapse svg{transition:transform .24s;transform:rotate(90deg)}.sidebar.collapsed .sidebar-collapse svg{transform:rotate(-90deg)}.sidebar nav{gap:14px;display:grid}.nav-section{border-bottom:1px solid var(--line);gap:6px;padding:0 0 14px;display:grid}.nav-section:last-child{border-bottom:0;padding-bottom:0}.nav-group{--item-color:var(--primary);--item-strong:var(--primary-strong);gap:4px;display:grid}.nav-parent{grid-template-columns:minmax(0,1fr) 36px;gap:6px;display:grid}.sidebar button{width:100%;min-height:40px;color:var(--muted);text-align:left;background:0 0;border-radius:8px;gap:10px;padding:0 10px;font-size:14px;font-weight:700;transition:background .18s,color .18s,box-shadow .18s,transform .18s;box-shadow:inset 0 0 0 1px #0000}.sidebar button svg{width:18px;height:18px}.sidebar .nav-toggle{color:color-mix(in srgb, var(--item-strong) 76%, var(--muted));background:color-mix(in srgb, var(--item-color) 7%, transparent);justify-content:center;padding:0}.nav-toggle svg{transition:transform .16s}.nav-toggle svg.open{transform:rotate(180deg)}.nav-dashboard{--item-color:var(--brand-primary);--item-strong:var(--brand-primary)}.nav-income{--item-color:var(--income);--item-strong:var(--income-strong)}.nav-expense{--item-color:var(--expense);--item-strong:var(--expense-strong)}.nav-savings{--item-color:var(--savings);--item-strong:var(--savings-strong)}.nav-wallet{--item-color:var(--wallet);--item-strong:var(--wallet-strong)}.nav-bank{--item-color:var(--bank);--item-strong:var(--bank-strong)}.nav-analytics{--item-color:var(--brand-primary);--item-strong:var(--brand-primary)}.nav-goal{--item-color:var(--savings);--item-strong:var(--savings-strong)}.nav-settings{--item-color:var(--muted);--item-strong:var(--text)}.sidebar button.active,.sidebar button:hover{background:color-mix(in srgb, var(--item-color,var(--primary)) 12%, var(--panel));color:var(--item-strong,var(--primary-strong));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--item-color,var(--primary)) 22%, var(--line))}.mobile-nav button.active{background:var(--panel-soft);color:var(--primary-strong)}.sidebar button:hover{transform:translate(2px)}.sidebar .nav-toggle:hover{transform:none}.sidebar button.sub-item{width:calc(100% - 16px);min-height:36px;color:color-mix(in srgb, var(--item-strong) 78%, var(--muted));border-left:1px solid color-mix(in srgb, var(--item-color) 30%, var(--line));margin-left:16px;padding-left:12px;font-size:13px}.sidebar button.sub-item svg{width:16px;height:16px}.sidebar.collapsed{padding:18px 12px}.sidebar.collapsed .brand{justify-content:center;padding-inline:0}.sidebar.collapsed .brand strong,.sidebar.collapsed .brand span{display:none}.sidebar.collapsed .sidebar-collapse{background:var(--panel-soft);width:36px;max-width:36px;height:36px;min-height:36px;box-shadow:none;border:0;flex-basis:36px;position:static}.sidebar.collapsed nav{gap:12px}.sidebar.collapsed .nav-section{justify-items:center;gap:8px}.sidebar.collapsed .nav-parent{grid-template-columns:40px}.sidebar.collapsed .nav-toggle{display:none}.sidebar.collapsed button{width:40px;min-height:40px;color:var(--muted);justify-content:center;padding:0;overflow:hidden}.sidebar.collapsed button svg{margin:0}.sidebar.collapsed button:not(.sidebar-collapse){gap:0;font-size:0}.sidebar.collapsed button.sub-item{border-left:0;width:40px;min-height:40px;margin-left:0;padding:0}.main{min-width:0;padding:22px 28px 48px}.topbar{justify-content:space-between;gap:18px;margin-bottom:24px}.topbar h2,.topbar p,.page-title h1,.page-title p{margin:0}.eyebrow{color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:700}.top-actions{gap:10px}.icon-button,.profile-chip,.chat-toggle{background:var(--panel);min-height:42px;color:var(--text);box-shadow:0 0 0 1px var(--line);border-radius:8px}.top-action{isolation:isolate;background:var(--panel);min-height:42px;color:var(--text);box-shadow:0 0 0 1px var(--line);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:700;transition:transform .18s,box-shadow .18s,color .18s;display:inline-flex;position:relative;overflow:hidden}.top-action:before{content:"";z-index:-1;background:color-mix(in srgb, currentColor 16%, transparent);opacity:0;border-radius:999px;transition:transform .36s cubic-bezier(.2,.8,.2,1),opacity .22s;position:absolute;inset:-80%;transform:translateY(76%)scale(.7)}.top-action:hover{color:#fff;box-shadow:0 14px 28px color-mix(in srgb, currentColor 16%, transparent);transform:translateY(-2px)}.top-action:hover:before{opacity:1;transform:translateY(0)scale(1)}.top-action:active{transform:translateY(0)scale(.98)}.top-action.income-action{background:color-mix(in srgb, var(--income) 12%, var(--panel));color:var(--income-strong);box-shadow:0 0 0 1px color-mix(in srgb, var(--income) 28%, var(--line))}.top-action.expense-action{background:color-mix(in srgb, var(--expense) 12%, var(--panel));color:var(--expense-strong);box-shadow:0 0 0 1px color-mix(in srgb, var(--expense) 28%, var(--line))}.top-action.savings-action{background:color-mix(in srgb, var(--savings) 14%, var(--panel));color:var(--savings-strong);box-shadow:0 0 0 1px color-mix(in srgb, var(--savings) 30%, var(--line))}.top-action.wallet-action{background:color-mix(in srgb, var(--wallet) 12%, var(--panel));color:var(--wallet-strong);box-shadow:0 0 0 1px color-mix(in srgb, var(--wallet) 30%, var(--line))}.top-action.bank-action{background:color-mix(in srgb, var(--bank) 13%, var(--panel));color:var(--bank-strong);box-shadow:0 0 0 1px color-mix(in srgb, var(--bank) 30%, var(--line))}.icon-button{place-items:center;width:42px;display:grid;position:relative}.badge span{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:21px;height:21px;font-size:11px;display:grid;position:absolute;top:-8px;right:-6px}.profile-chip{gap:8px;padding:0 12px}.menu-wrap{position:relative}.popover{z-index:10;background:color-mix(in srgb, var(--panel) 96%, transparent);border:1px solid color-mix(in srgb, var(--line) 84%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;width:min(380px,100vw - 24px);max-height:440px;padding:10px;position:absolute;top:50px;right:0;overflow:auto;box-shadow:0 24px 70px #0e181229}.popover h3{margin:0}.notifications-head{justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 12px;display:flex}.notifications-head span{background:var(--panel-soft);min-width:28px;height:28px;color:var(--muted);border-radius:999px;place-items:center;padding:0 8px;font-size:12px;font-weight:800;display:grid}.notification-item{border-radius:12px;grid-template-columns:34px 1fr;gap:10px;padding:10px 8px;display:grid}.notification-item:hover{background:var(--panel-soft)}.notification-item .avatar{width:34px;height:34px;margin:0}.notification-item p{color:var(--text);margin:0;font-size:13px;line-height:1.35}.notification-item strong{font-weight:800}.notifications small,.mini-list small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.profile-menu button{width:100%;color:var(--text);background:0 0;border-radius:8px;align-items:center;gap:8px;padding:11px;display:flex}.content{gap:18px;display:grid}.page-heading-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-title h1{font-size:clamp(30px,4vw,46px);line-height:1}.page-title p{color:var(--muted);margin-top:8px}.metric-grid,.card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric,.panel,.account-card,.login-panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.metric{padding:18px}.metric span{color:var(--muted);margin-bottom:10px;display:block}.metric strong{font-size:28px}.metric-value{justify-content:space-between;align-items:center;gap:10px;display:flex}.metric.good strong{color:var(--good)}.metric.warn strong{color:var(--danger)}.metric.save strong,.metric.saving strong{color:var(--savings)}.metric.wallet strong{color:var(--wallet)}.metric.bank strong{color:var(--bank)}.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.category-layout{grid-template-columns:minmax(280px,.72fr) minmax(520px,1.55fr);align-items:stretch;gap:16px;display:grid}.panel{min-width:0;padding:16px}.panel h3{margin:0 0 14px}.quick-grid,.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quick-grid button,.primary,.filter-grid button,.button-row button,.inline-add button,.mini-list button,.chat form button{background:var(--panel-soft);min-height:42px;color:var(--text);border-radius:8px;justify-content:center;gap:8px;padding:0 14px}.primary{background:var(--primary);color:#fff;justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex}.action-button{isolation:isolate;border-radius:8px;flex:none;min-height:46px;padding:0 16px;transition:transform .18s,box-shadow .18s,background .18s;position:relative;overflow:hidden}.primary.action-button,.modal .primary{isolation:isolate;box-shadow:0 12px 22px color-mix(in srgb, var(--primary) 18%, transparent);transition:transform .18s,box-shadow .18s,background .18s,color .18s;position:relative;overflow:hidden}.primary.action-button:before,.modal .primary:before{content:"";z-index:-1;background:radial-gradient(circle at 30% 30%, #ffffff57, transparent 34%), color-mix(in srgb, white 16%, var(--primary));opacity:0;border-radius:999px;transition:transform .36s cubic-bezier(.2,.8,.2,1),opacity .22s;position:absolute;inset:-70%;transform:translateY(72%)scale(.68)}.primary.action-button:hover,.modal .primary:hover{color:#fff;box-shadow:0 18px 34px color-mix(in srgb, var(--primary) 28%, transparent);transform:translateY(-2px)}.primary.action-button:hover:before,.modal .primary:hover:before{opacity:1;transform:translateY(0)scale(1)}.primary.action-button:active,.modal .primary:active{box-shadow:0 8px 18px color-mix(in srgb, var(--primary) 20%, transparent);transform:translateY(0)scale(.98)}[data-theme=dark] .top-action:hover,[data-theme=dark] .primary.action-button:hover,[data-theme=dark] .modal .primary:hover{color:#101511}.primary.action-button svg,.primary.action-button span,.modal .primary svg,.modal .primary span{z-index:1;position:relative}.header-actions{flex-wrap:wrap;justify-content:flex-end}.entry-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}.entry-main{gap:14px;min-width:0;display:grid}.entry-side{min-width:0;position:sticky;top:18px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}label{color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--line);background:var(--bg);width:100%;min-height:42px;color:var(--text);border-radius:8px;outline:0;padding:0 11px}textarea{resize:vertical;min-height:84px;padding-top:10px}.span-2{grid-column:1/-1}.password-field{grid-template-columns:1fr 42px;display:grid}.password-field input{border-radius:10px 0 0 10px}.password-field button{background:var(--panel-soft);color:var(--text);border-radius:0 10px 10px 0}.login-panel .form-grid{gap:14px}.login-panel label{color:var(--text);font-size:13px}.login-panel input{background:color-mix(in srgb, var(--bg) 72%, var(--panel));border-color:color-mix(in srgb, var(--line) 86%, transparent);border-radius:10px;min-height:46px}.login-panel input:focus{border-color:color-mix(in srgb, var(--brand-primary) 70%, var(--line));box-shadow:0 0 0 4px color-mix(in srgb, var(--brand-primary) 12%, transparent)}.login-panel .primary{background:var(--brand-primary);min-height:46px;box-shadow:0 14px 28px color-mix(in srgb, var(--brand-primary) 24%, transparent);border-radius:10px}.category-list{gap:8px;display:grid}.category-add{gap:8px;margin-top:12px;display:grid}.category-item{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.category-item>span:not(.category-chip),.status{background:var(--panel-soft);min-height:34px;color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:7px 9px;font-size:13px;display:inline-flex}.category-item small{color:var(--muted);margin-left:auto}.category-actions{gap:6px;display:flex}.category-actions button,.category-edit button{background:var(--panel-soft);width:34px;height:34px;color:var(--text);border-radius:8px}.category-actions button:last-child{color:var(--danger)}.category-edit{grid-template-columns:minmax(0,1fr) 34px;gap:6px;display:grid}.category-edit input{min-height:34px;font-size:13px}.category-edit .icon-picker,.category-edit .color-picker{grid-column:1/-1}.category-icon{--chip-color:var(--primary);background:color-mix(in srgb, var(--chip-color) 18%, var(--panel));width:28px;height:28px;color:var(--chip-color);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--chip-color) 32%, transparent);border-radius:999px;flex:none;place-items:center;display:inline-grid}.category-chip{--chip-color:var(--primary);background:linear-gradient(135deg, color-mix(in srgb, var(--chip-color) 13%, transparent), transparent 68%), color-mix(in srgb, var(--chip-color) 8%, var(--panel-soft));width:max-content;max-width:100%;min-height:38px;color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--chip-color) 22%, var(--line));border-radius:999px;align-items:center;gap:8px;padding:5px 11px 5px 5px;font-size:13px;font-weight:800;display:inline-flex}.category-chip>span:last-child{gap:1px;min-width:0;display:grid}.category-chip small{color:color-mix(in srgb, var(--chip-color) 56%, var(--muted));text-transform:capitalize;margin-left:0;font-size:11px;font-weight:800}.user-chip{background:var(--panel-soft);min-height:36px;color:var(--text);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:13px;font-weight:800;display:inline-flex}.user-chip .avatar{width:28px;height:28px;margin-top:0}.account-chip{--chip-color:var(--muted);background:linear-gradient(135deg, color-mix(in srgb, var(--chip-color) 12%, transparent), transparent 70%), color-mix(in srgb, var(--chip-color) 8%, var(--panel-soft));width:max-content;max-width:100%;min-height:36px;color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--chip-color) 24%, var(--line));border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:13px;font-weight:800;display:inline-flex}.account-chip.wallet{--chip-color:var(--wallet)}.account-chip.bank{--chip-color:var(--bank)}.account-chip.card{--chip-color:#0f766e}.account-chip.deleted{--chip-color:var(--muted);color:var(--muted)}.account-chip .category-icon{background:color-mix(in srgb, var(--chip-color) 18%, var(--panel));width:28px;height:28px;color:var(--chip-color);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--chip-color) 32%, transparent)}.category-icon svg{width:16px;height:16px}.category-cell,.record-summary{align-items:center;gap:8px;min-width:0;display:inline-flex}.record-summary>span:last-child:not(.category-chip){display:grid}.icon-picker,.color-picker{border:1px solid var(--line);background:var(--bg);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:6px;padding:8px;display:grid;overflow:auto}.icon-picker{max-height:164px}.icon-picker.compact{max-height:118px}.color-picker{grid-template-columns:repeat(12,minmax(24px,1fr));overflow:visible}.color-picker.compact{grid-template-columns:repeat(6,minmax(24px,1fr))}.icon-picker button{aspect-ratio:1;background:var(--panel-soft);width:100%;min-height:34px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.icon-picker button.active{background:var(--primary);color:#fff;box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 26%, transparent)}.icon-picker button:hover{color:var(--primary-strong)}.icon-picker button.active:hover{color:#fff}.color-picker button{aspect-ratio:1;background:var(--swatch);width:100%;min-height:28px;box-shadow:inset 0 0 0 2px #ffffff8c, 0 0 0 1px color-mix(in srgb, var(--swatch) 38%, var(--line));border-radius:999px;place-items:center;display:grid;position:relative}.color-picker button.active:after{content:"";background:#fff;border-radius:999px;width:9px;height:9px;box-shadow:0 0 0 2px #0000001f}.color-picker button:hover,.color-picker button.active{box-shadow:inset 0 0 0 2px #ffffffbf, 0 8px 16px color-mix(in srgb, var(--swatch) 26%, transparent);transform:translateY(-1px)}.inline-add{gap:8px;margin-top:12px}.inline-add button{width:42px;padding:0}.filter-grid label svg{display:none}.compact-filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:12px;display:grid}.compact-filters.single{grid-template-columns:1fr}.compact-filters label{display:block;position:relative}.compact-filters svg{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.compact-filters input,.compact-filters select{background:var(--panel-soft);border-radius:8px;min-height:36px;padding-left:34px;font-size:13px}.trash-action{color:var(--danger)}.trash-action.active{background:color-mix(in srgb, var(--danger) 16%, var(--panel-soft));color:var(--danger)}.modal-backdrop{z-index:30;background:#0000006b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);width:min(720px,100%);max-height:min(760px,100vh - 36px);box-shadow:var(--shadow);border-radius:8px;padding:16px;overflow:auto}.modal header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.modal h3{margin:0}.modal header button{background:var(--panel-soft);width:38px;height:38px;color:var(--text);border-radius:8px}.monthly-total{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 13%, transparent), transparent 70%), var(--panel-soft);width:max-content;color:var(--muted);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 22%, var(--line));border-radius:8px;justify-content:flex-end;align-items:center;gap:10px;margin:14px 0 0 auto;padding:12px 14px;font-size:15px;font-weight:800;display:flex}.monthly-total strong{color:var(--primary-strong);font-size:22px}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;padding:13px 10px}th{color:var(--muted);font-size:13px}.record-table .date-col{width:12%}.record-table .person-col{width:14%}.record-table .category-col{width:22%}.record-table .source-col{width:24%}.record-table .status-col{width:10%}.record-table .value-col{width:12%}.record-table .actions-col{width:6%}.record-table td{vertical-align:middle}.record-table .category-cell,.record-table .user-chip,.record-table .account-chip,.record-table .status,.record-table .row-actions{margin-inline:auto}.record-row td{transition:background .16s}.record-row.income-row td{background:color-mix(in srgb, var(--income) 5%, var(--panel))}.record-row.expense-row td{background:color-mix(in srgb, var(--expense) 5%, var(--panel))}.record-row.income-row:hover td{background:color-mix(in srgb, var(--income) 9%, var(--panel))}.record-row.expense-row:hover td{background:color-mix(in srgb, var(--expense) 9%, var(--panel))}.record-row td:first-child{border-radius:8px 0 0 8px}.record-row td:last-child{border-radius:0 8px 8px 0}.value-cell{color:var(--text);font-size:16px;font-weight:900;display:inline-block}.value-cell.income{color:var(--income-strong)}.value-cell.expense{color:var(--expense-strong)}.status.paid{background:color-mix(in srgb, var(--good) 18%, transparent);color:var(--good)}.status.unpaid{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger)}.status-choice{border:1px solid var(--line);background:var(--bg);border-radius:8px;grid-template-columns:1fr 1fr;gap:6px;min-height:42px;padding:5px;display:grid}.status-choice button{color:var(--muted);background:0 0;border-radius:8px;font-weight:800}.status-choice button.paid.active{background:color-mix(in srgb, var(--good) 18%, var(--panel));color:var(--good)}.status-choice button.unpaid.active{background:color-mix(in srgb, var(--danger) 18%, var(--panel));color:var(--danger)}.date-field{width:100%;position:relative}.date-input{border:1px solid var(--line);background:var(--bg);width:100%;min-height:42px;color:var(--muted);text-align:left;border-radius:8px;padding:0 11px}.date-input.has-value{color:var(--text)}.compact-filters .date-input{background:var(--panel-soft);border-radius:8px;min-height:36px;padding-left:34px;font-size:13px}.calendar-popover{z-index:40;border:1px solid color-mix(in srgb, var(--line) 84%, transparent);background:color-mix(in srgb, var(--panel) 97%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;width:292px;padding:12px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 24px 70px #0e181229}.calendar-head{grid-template-columns:34px 1fr 34px;align-items:center;gap:6px;margin-bottom:10px;display:grid}.calendar-head strong{text-align:center;font-size:14px}.calendar-head button,.calendar-grid button,.calendar-quick button{color:var(--text);background:0 0;border-radius:10px}.calendar-head button{height:34px;font-size:22px}.calendar-head button:hover,.calendar-grid button:hover{background:var(--panel-soft)}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays span{height:28px;color:var(--muted);place-items:center;font-size:12px;font-weight:800;display:grid}.calendar-grid button{height:34px;font-size:13px;font-weight:700}.calendar-grid button.outside{color:color-mix(in srgb, var(--muted) 45%, transparent)}.calendar-grid button.today{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 45%, var(--line))}.calendar-grid button.selected{background:var(--primary);color:#fff}.calendar-quick{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px;padding-top:12px;display:grid}.calendar-quick button{background:var(--panel-soft);min-height:34px;color:var(--text);font-size:12px;font-weight:800}.calendar-quick button:hover{background:color-mix(in srgb, var(--primary) 14%, var(--panel-soft));color:var(--primary-strong)}.row-actions{gap:6px}.row-actions button{background:var(--panel-soft);width:34px;height:34px;color:var(--text);border-radius:8px}.account-card{padding:18px 58px 18px 18px;position:relative}.spotlight-card{--spotlight-x:50%;--spotlight-y:50%;isolation:isolate;transition:transform .22s,border-color .22s,box-shadow .22s;overflow:hidden}.spotlight-card:before,.spotlight-card:after{content:"";pointer-events:none;opacity:0;transition:opacity .22s;position:absolute;inset:0}.spotlight-card:before{z-index:-1;background:radial-gradient(260px circle at var(--spotlight-x) var(--spotlight-y), color-mix(in srgb, var(--primary) 22%, transparent), transparent 58%)}.spotlight-card:after{z-index:0;background:radial-gradient(180px circle at var(--spotlight-x) var(--spotlight-y), #ffffff38, transparent 62%);mix-blend-mode:soft-light}.spotlight-card:hover{border-color:color-mix(in srgb, var(--primary) 42%, var(--line));box-shadow:0 20px 42px color-mix(in srgb, var(--primary) 16%, transparent), var(--shadow);transform:translateY(-3px)}.spotlight-card:hover:before,.spotlight-card:hover:after{opacity:1}.spotlight-card>*{z-index:1;position:relative}.card-actions{gap:6px;display:flex;position:absolute;top:10px;right:10px}.card-actions button{background:var(--panel-soft);width:34px;height:34px;color:var(--text);border-radius:8px}.card-actions button:last-child{color:var(--danger)}.account-card p{color:var(--muted);text-transform:capitalize}.account-card h3{min-height:46px}.account-card strong{font-size:26px}.privacy-button{background:color-mix(in srgb, var(--primary) 10%, var(--panel-soft));width:36px;height:36px;color:var(--primary-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 22%, var(--line));border-radius:8px;flex:none;place-items:center;transition:transform .18s,background .18s,color .18s,box-shadow .18s;display:inline-grid}.privacy-button svg{width:18px;height:18px}.privacy-button:hover{background:var(--primary);color:#fff;box-shadow:0 10px 20px color-mix(in srgb, var(--primary) 20%, transparent);transform:translateY(-1px)}[data-theme=dark] .privacy-button:hover{color:#101511}.card-privacy{z-index:2;position:absolute;bottom:14px;right:14px}.mini-list{gap:8px;display:grid}.mini-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:10px 0}.pagination{justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;display:flex}.pagination button{background:var(--panel-soft);min-height:36px;color:var(--text);border-radius:8px;padding:0 12px}.pagination button:disabled{opacity:.45;cursor:default}.bar-list{gap:12px;display:grid}.bar-list>div{grid-template-columns:180px 1fr 100px;align-items:center;gap:12px;display:grid}.bar-list div div{background:var(--panel-soft);border-radius:999px;height:10px;overflow:hidden}.bar-list i{background:var(--primary);border-radius:999px;height:100%;display:block}.performance-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.performance-summary div{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 11%, transparent), transparent 70%), var(--panel-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 16%, var(--line));border-radius:8px;padding:14px}.performance-summary span,.performance-label small{color:var(--muted);text-transform:capitalize;font-size:12px;font-weight:800;display:block}.performance-summary em{color:var(--primary);text-transform:lowercase;margin-left:8px;font-size:18px;font-style:normal;font-weight:500}.performance-summary.income em{color:var(--income)}.performance-summary.expense em{color:var(--expense)}.performance-summary strong{margin-top:5px;font-size:22px;display:block}.performance-chart{gap:12px;display:grid}.performance-row{background:color-mix(in srgb, var(--panel-soft) 70%, transparent);box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;grid-template-columns:minmax(150px,.9fr) minmax(180px,1.7fr) 110px;align-items:center;gap:12px;padding:12px;display:grid}.performance-row.income{--chart-main:var(--income)}.performance-row.expense{--chart-main:var(--expense)}.performance-label{align-items:center;gap:10px;min-width:0;font-weight:800;display:flex}.performance-label span{text-overflow:ellipsis;min-width:0;overflow:hidden}.performance-track{background:repeating-linear-gradient(90deg, transparent 0 18px, color-mix(in srgb, var(--line) 55%, transparent) 18px 19px), var(--panel);border-radius:999px;height:22px;padding:3px;overflow:hidden}.performance-fill{background:color-mix(in srgb, var(--chart-main,var(--primary)) 18%, var(--panel-soft));min-width:10px;height:100%;box-shadow:0 8px 18px color-mix(in srgb, var(--chart-main,var(--primary)) 20%, transparent);border-radius:999px;display:flex;overflow:hidden}.performance-fill i{height:100%;display:block}.father-fill{background:linear-gradient(90deg, var(--wallet), color-mix(in srgb, var(--wallet) 64%, white))}.mother-fill{background:linear-gradient(90deg, var(--savings), color-mix(in srgb, var(--savings) 62%, white))}.performance-row strong{text-align:right;color:var(--chart-main,var(--primary))}.goal-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.goal-tabs{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.goal-tabs button{background:var(--panel);min-height:42px;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:800;display:inline-flex}.goal-tabs button.active,.goal-tabs button:hover{background:color-mix(in srgb, var(--savings) 14%, var(--panel));color:var(--savings-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--savings) 32%, var(--line))}.world-map{background:linear-gradient(90deg, color-mix(in srgb, var(--line) 36%, transparent) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--line) 36%, transparent) 1px, transparent 1px), radial-gradient(circle at 18% 24%, color-mix(in srgb, var(--brand-primary) 10%, transparent), transparent 24%), radial-gradient(circle at 74% 36%, color-mix(in srgb, var(--savings) 8%, transparent), transparent 32%), radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--wallet) 8%, transparent), transparent 60%), var(--panel-soft);cursor:crosshair;background-size:44px 44px,44px 44px,auto,auto,auto,auto;border-radius:8px;min-height:560px;position:relative;overflow:hidden}.world-map-shape{background:color-mix(in srgb, var(--brand-primary) 86%, #22c55e);filter:drop-shadow(0 18px 26px color-mix(in srgb, var(--brand-primary) 18%, transparent));opacity:.95;pointer-events:none;position:absolute;inset:18px 24px;-webkit-mask:url(/world.svg) 50%/contain no-repeat;mask:url(/world.svg) 50%/contain no-repeat}.map-pin{background:var(--expense);color:#fff;width:34px;height:34px;min-height:34px;box-shadow:0 10px 22px color-mix(in srgb, var(--expense) 30%, transparent);z-index:4;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-100%)}.goal-pin-list,.goal-list{gap:10px;margin-top:14px;display:grid}.goal-pin-list>div,.goal-list>div{background:var(--panel-soft);box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;grid-template-columns:34px minmax(0,1fr) max-content 38px;align-items:center;gap:12px;padding:12px;display:grid}.goal-pin-list svg{color:var(--expense)}.goal-pin-list span,.goal-list span{min-width:0;display:grid}.goal-pin-list small,.goal-list small{color:var(--muted);font-weight:700}.goal-author{background:color-mix(in srgb, var(--panel) 76%, transparent);width:max-content;box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;justify-self:end;align-items:center;gap:6px;margin-top:0;padding:3px 8px 3px 3px;display:inline-flex}.goal-author .avatar{width:22px;height:22px;margin:0}.goal-pin-list button,.goal-list>div>button:last-child,.goal-check{background:var(--panel);width:36px;height:36px;min-height:36px;color:var(--text);border-radius:8px;place-items:center;padding:0;display:grid}.goal-add{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:14px;display:grid}.goal-add input{min-height:44px}.goal-check{background:var(--panel);color:var(--good);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--muted) 30%, var(--line));border-radius:8px}.goal-list .done{opacity:.72}.goal-list .done span{color:var(--muted);text-decoration:line-through}.login-screen{background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 72%, transparent), transparent 48%), linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 10%, transparent), transparent 44%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid color-mix(in srgb, var(--line) 82%, transparent);background:color-mix(in srgb, var(--panel) 96%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;width:min(420px,100%);padding:26px;box-shadow:0 24px 70px #0e181224,inset 0 1px #ffffff80}.login-panel h1{letter-spacing:0;margin:18px 0 8px;font-size:32px;line-height:1}.login-panel p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.login-panel .brand-mark{background:var(--brand-primary);width:44px;height:44px;box-shadow:0 12px 24px color-mix(in srgb, var(--brand-primary) 28%, transparent);border-radius:13px}.segmented{background:color-mix(in srgb, var(--panel-soft) 78%, var(--panel));border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;margin:22px 0 18px;padding:4px;display:grid}.segmented button{min-height:38px;color:var(--muted);background:0 0;border-radius:9px;font-size:14px;font-weight:800}.segmented button.active{background:var(--panel);color:var(--text);box-shadow:0 6px 16px #0d1a1214}.theme-toggle{width:68px;height:38px;color:var(--text);background:0 0;border-radius:999px;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.theme-toggle-track{background:linear-gradient(135deg, #ffffffb8, transparent 42%), color-mix(in srgb, var(--panel-soft) 78%, var(--panel));border:1px solid color-mix(in srgb, var(--line) 84%, transparent);border-radius:999px;grid-template-columns:1fr 1fr;align-items:center;width:68px;height:38px;padding:4px;transition:background .24s,border-color .24s,box-shadow .24s;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 26px #0e18121f,inset 0 1px #ffffffa6}.theme-toggle.dark .theme-toggle-track{background:radial-gradient(circle at 70% 22%, #a78bfa47, transparent 34%), color-mix(in srgb, #111827 74%, var(--panel));border-color:color-mix(in srgb, var(--bank) 28%, var(--line));box-shadow:0 14px 30px #070c1647,inset 0 1px #ffffff14}.theme-toggle-thumb{z-index:2;color:#eab308;background:#fff;border-radius:999px;place-items:center;width:28px;height:28px;transition:transform .26s cubic-bezier(.2,.8,.2,1),color .22s,background .22s;display:grid;position:absolute;top:4px;left:4px;box-shadow:0 8px 18px #1118272e,inset 0 0 0 1px #1118270f}.theme-toggle.dark .theme-toggle-thumb{color:#c4b5fd;background:#0f172a;transform:translate(30px)}.theme-toggle-icon{z-index:1;color:var(--muted);opacity:.72;place-items:center;transition:opacity .18s,color .18s,transform .18s;display:grid;position:relative}.theme-toggle.light .sun-icon,.theme-toggle.dark .moon-icon{opacity:0;transform:scale(.82)}.theme-toggle.light .moon-icon{color:#64748b}.theme-toggle.dark .sun-icon{color:#facc15}.theme-toggle svg{width:15px;height:15px}.theme-toggle:hover .theme-toggle-track{border-color:color-mix(in srgb, var(--brand-primary) 24%, var(--line));box-shadow:0 16px 32px color-mix(in srgb, var(--brand-primary) 16%, transparent), inset 0 1px 0 #ffffff80}.theme-toggle:active .theme-toggle-thumb{transform:scale(.94)}.theme-toggle.dark:active .theme-toggle-thumb{transform:translate(30px)scale(.94)}.theme-float{z-index:2;position:fixed;top:20px;right:20px}.form-error{color:var(--danger);grid-column:1/-1;margin:0}.chat{z-index:20;position:fixed;bottom:22px;right:22px}.chat-toggle{background:var(--brand-primary);color:#fff;place-items:center;width:56px;height:56px;display:grid}.chat-window{background:var(--panel);border:1px solid var(--line);width:min(380px,100vw - 28px);height:520px;box-shadow:var(--shadow);border-radius:8px;grid-template-rows:auto 1fr auto;display:grid;position:absolute;bottom:68px;right:0;overflow:hidden}.chat-window header{border-bottom:1px solid var(--line);justify-content:space-between;padding:13px}.chat-window header button,.message button{background:var(--panel-soft);width:32px;height:32px;color:var(--text);border-radius:8px}.messages{flex-direction:column-reverse;gap:10px;padding:12px;display:flex;overflow:auto}.message-row{align-items:flex-start;gap:8px;width:100%;max-width:none;display:flex}.message-row.mine{flex-direction:row-reverse;margin-left:0}.avatar{border-radius:999px;flex:none;place-items:center;width:32px;height:32px;margin-top:2px;display:grid;overflow:hidden}.avatar.father{color:#fff7ef;background:#8b5a3c}.avatar.mother{color:#62451b;background:#f3d58a}.avatar img{object-fit:cover;width:100%;height:100%}.message{background:var(--panel-soft);border-radius:8px;flex:1;max-width:none;padding:10px;position:relative}.message p{padding-right:34px}.message-row.mine .message{background:color-mix(in srgb, var(--primary) 18%, var(--panel))}.message-menu-button{width:28px;height:28px;color:var(--muted);background:0 0;border-radius:8px;position:absolute;top:6px;right:6px}.message-menu{z-index:2;border:1px solid var(--line);background:var(--panel);width:120px;box-shadow:var(--shadow);border-radius:8px;gap:4px;padding:6px;display:grid;position:absolute;top:34px;right:6px}.message-menu button{width:100%;min-height:34px;color:var(--text);background:0 0;border-radius:8px;align-items:center;gap:7px;padding:0 8px;display:flex}.message-edit{gap:8px;margin-top:8px;padding-right:34px;display:grid}.message-edit input{background:color-mix(in srgb, var(--panel) 72%, transparent);border-radius:8px;min-height:38px}.message-edit div{flex-wrap:wrap;gap:6px;display:flex}.message-edit button{background:var(--panel);width:auto;min-height:32px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.message img{object-fit:cover;border-radius:8px;width:100%;max-height:170px;margin:8px 0;display:block}.message p{margin:5px 0}.chat-composer-form{border-top:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 86%, transparent), var(--panel));grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;display:grid}.composer-shell{border:1px solid color-mix(in srgb, var(--line) 82%, transparent);background:color-mix(in srgb, var(--panel-soft) 62%, var(--panel));border-radius:14px;gap:8px;min-width:0;padding:6px;display:grid;box-shadow:inset 0 1px #ffffff73}[data-theme=dark] .composer-shell{box-shadow:inset 0 1px #ffffff0f}.composer{position:relative}.composer input{min-height:42px;box-shadow:none;background:0 0;border:0;padding-right:44px}.attach{background:var(--panel-soft);width:34px;height:34px;color:var(--text);border-radius:8px;place-items:center;position:absolute;top:4px;right:4px}.attach input{display:none}.attachment-preview{background:color-mix(in srgb, var(--brand-primary) 8%, var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-primary) 18%, var(--line));border-radius:11px;grid-template-columns:42px minmax(0,1fr) 30px;align-items:center;gap:9px;padding:6px;display:grid}.attachment-preview img{object-fit:cover;border-radius:8px;width:42px;height:42px}.attachment-preview span{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.attachment-preview button{background:color-mix(in srgb, var(--panel-soft) 70%, var(--panel));width:30px;height:30px;min-height:30px;color:var(--muted);border-radius:8px;padding:0}.chat-send{background:var(--brand-primary);color:#fff;min-width:66px;min-height:54px;box-shadow:0 12px 24px color-mix(in srgb, var(--brand-primary) 22%, transparent);border-radius:14px;align-self:end;padding:0 16px;font-weight:800}.toast-stack{z-index:50;pointer-events:none;gap:8px;width:min(420px,100vw - 28px);display:grid;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.toast-alert{background:color-mix(in srgb, var(--panel) 94%, transparent);min-height:48px;color:var(--text);border:1px solid color-mix(in srgb, var(--brand-primary) 24%, var(--line));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;animation:.26s both toast-in;display:flex;box-shadow:0 18px 44px #0d1a1229,inset 0 1px #ffffff73}.toast-alert svg{color:var(--brand-primary)}.toast-alert span{min-width:0;font-size:14px;font-weight:800}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.mobile-nav{display:none}.toggle{color:var(--text);align-items:center;gap:10px;font-size:15px;display:flex}.profile-photo-field{grid-template-columns:64px 1fr;align-items:center;gap:12px;display:grid}.profile-photo-field .avatar{width:64px;height:64px;margin:0}.file-upload{gap:8px;display:grid}.file-upload span{background:var(--panel-soft);width:max-content;min-height:42px;color:var(--text);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:800;display:inline-flex}.file-upload span:hover{background:color-mix(in srgb, var(--brand-primary) 12%, var(--panel-soft));color:var(--brand-primary)}.file-upload input{display:none}.toggle input{width:20px;min-height:20px}.muted,.empty{color:var(--muted)}.settings-divider{background:var(--line);height:1px;margin:16px 0}@media (width<=980px){.app{grid-template-columns:1fr}.sidebar{display:none}.main{padding:18px 16px 98px}.metric-grid,.card-grid,.two-col,.category-layout,.entry-layout{grid-template-columns:1fr 1fr}.entry-layout{grid-template-columns:minmax(0,1fr)}.entry-side{position:static}.mobile-nav{z-index:15;background:color-mix(in srgb, var(--panel) 92%, transparent);border:1px solid var(--line);width:min(460px,100vw - 18px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:14px;grid-template-columns:repeat(4,1fr);gap:3px;padding:7px;display:grid;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}.mobile-nav button{min-height:54px;color:var(--muted);background:0 0;border-radius:10px;place-items:center;gap:3px;font-size:11px;display:grid}.mobile-more{background:var(--panel);border:1px solid var(--line);width:min(280px,100vw - 34px);max-height:min(520px,100vh - 118px);box-shadow:var(--shadow);border-radius:12px;gap:6px;padding:8px;display:grid;position:absolute;bottom:74px;right:8px;overflow:auto}.mobile-more button{justify-content:flex-start;gap:9px;min-height:42px;padding:0 10px;font-size:14px;display:flex}.toast-stack{bottom:90px}}@media (width<=680px){.page-heading-row{display:grid}.action-button{width:100%}.header-actions{grid-template-columns:1fr;width:100%;display:grid}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px}.top-action{display:none}.profile-chip{justify-content:center;width:42px;padding:0}.profile-chip svg+text,.profile-chip{font-size:0}.metric-grid,.card-grid,.two-col,.category-layout,.quick-grid,.filter-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.page-title h1{font-size:34px}.bar-list>div,.performance-summary,.performance-row,.goal-head{grid-template-columns:1fr}.goal-tabs{justify-content:flex-start;margin-top:0}.performance-row strong{text-align:left}.chat{bottom:88px;right:14px}.chat-window{height:min(520px,100vh - 172px)}.modal-backdrop{align-items:end;padding:10px}.modal{width:100%;max-height:calc(100vh - 28px)}}
