:root{--primary:#4338ca;--primary-strong:#3730a3;--primary-soft:#eef0fe;--primary-contrast:#fff;--accent:#0d9488;--warn:#b45309;--danger:#be123c;--info:#1d4ed8;--stat-cyan:#0891b2;--chart-mark:#4338ca;--canvas:#f4f5fb;--surface:#fff;--surface-sunken:#f8f9fd;--surface-hover:#f5f6fc;--line:#e2e5ee;--line-strong:#ced3e2;--ink:#14161c;--ink-soft:#565c6b;--ink-muted:#737a8c;--on-dark:#f6f7fc;--on-dark-soft:#a9b0c6;--rail:linear-gradient(180deg, #1e1b4b 0%, #191a3d 55%, #14152e 100%);--rail-line:#ffffff1a;--rail-hover:#ffffff14;--source-task:#4f46e5;--source-task-soft:#eceefe;--source-task-line:#d3d8fc;--source-task-ink:#3730a3;--source-meeting:#0d9488;--source-meeting-soft:#ddf5f1;--source-meeting-line:#b4e8df;--source-meeting-ink:#0f766e;--source-subscription:#b45309;--source-subscription-1:#be123c;--source-subscription-2:#6d28d9;--source-subscription-3:#1d4ed8;--source-subscription-4:#0e7490;--source-subscription-5:#047857;--source-subscription-6:#a21caf;--source-subscription-7:#4338ca;--shadow-sm:0 2px 8px #1c223d0d;--shadow-md:0 10px 28px #1c223d12;--shadow-lg:0 24px 60px #14182e29;--ring:color-mix(in srgb, var(--primary) 38%, transparent);--text-2xs:12px;--text-xs:13px;--text-sm:14px;--text-base:16px;--text-md:17px;--text-lg:19px;--text-xl:22px;--text-2xl:26px;--text-display:clamp(28px, 2.8vw, 40px);--text-metric:clamp(25px, 2.3vw, 34px);--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--tap:44px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--primary:#818cf8;--primary-strong:#a5b4fc;--primary-soft:#262a48;--primary-contrast:#12132a;--accent:#2dd4bf;--warn:#fbbf24;--danger:#fb7185;--info:#7dd3fc;--stat-cyan:#22d3ee;--chart-mark:#6366f1;--source-task:#a5b4fc;--source-task-soft:#23264a;--source-task-line:#383e73;--source-task-ink:#ccd2fd;--source-meeting:#2dd4bf;--source-meeting-soft:#10352f;--source-meeting-line:#1c524a;--source-meeting-ink:#9df0e2;--source-subscription:#fbbf24;--source-subscription-1:#fb7185;--source-subscription-2:#c4b5fd;--source-subscription-3:#60a5fa;--source-subscription-4:#67e8f9;--source-subscription-5:#6ee7b7;--source-subscription-6:#f0abfc;--source-subscription-7:#a5b4fc;--canvas:#0f1117;--surface:#181b23;--surface-sunken:#14171e;--surface-hover:#1f232d;--line:#2a2f3b;--line-strong:#3a4150;--ink:#f1f3f8;--ink-soft:#a3aab9;--ink-muted:#8b93a4;--rail:linear-gradient(180deg, #171a24 0%, #14161f 55%, #101219 100%);--rail-line:#ffffff14;--rail-hover:#ffffff0f;--shadow-sm:0 2px 8px #0006;--shadow-md:0 10px 28px #00000073;--shadow-lg:0 24px 60px #0009}}:root[data-theme=dark]{--primary:#818cf8;--primary-strong:#a5b4fc;--primary-soft:#262a48;--primary-contrast:#12132a;--accent:#2dd4bf;--warn:#fbbf24;--danger:#fb7185;--info:#7dd3fc;--stat-cyan:#22d3ee;--chart-mark:#6366f1;--source-task:#a5b4fc;--source-task-soft:#23264a;--source-task-line:#383e73;--source-task-ink:#ccd2fd;--source-meeting:#2dd4bf;--source-meeting-soft:#10352f;--source-meeting-line:#1c524a;--source-meeting-ink:#9df0e2;--source-subscription:#fbbf24;--source-subscription-1:#fb7185;--source-subscription-2:#c4b5fd;--source-subscription-3:#60a5fa;--source-subscription-4:#67e8f9;--source-subscription-5:#6ee7b7;--source-subscription-6:#f0abfc;--source-subscription-7:#a5b4fc;--canvas:#0f1117;--surface:#181b23;--surface-sunken:#14171e;--surface-hover:#1f232d;--line:#2a2f3b;--line-strong:#3a4150;--ink:#f1f3f8;--ink-soft:#a3aab9;--ink-muted:#8b93a4;--rail:linear-gradient(180deg, #171a24 0%, #14161f 55%, #101219 100%);--rail-line:#ffffff14;--rail-hover:#ffffff0f;--shadow-sm:0 2px 8px #0006;--shadow-md:0 10px 28px #00000073;--shadow-lg:0 24px 60px #0009}*{box-sizing:border-box}html,body{background:var(--canvas)}body{color:var(--ink);font-family:Inter,Avenir Next,Avenir,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:var(--text-base);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--ring);outline-offset:2px}.visually-hidden{clip:rect(1px, 1px, 1px, 1px)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.app-shell{background:radial-gradient(circle at 40% -12%, color-mix(in srgb, var(--primary) 12%, transparent), transparent 30%), radial-gradient(circle at 96% 12%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 24%), var(--canvas);min-height:100vh}.sidebar{z-index:20;background:var(--rail);width:272px;color:var(--on-dark);flex-direction:column;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{width:fit-content;color:var(--on-dark);font-size:var(--text-xl);letter-spacing:-.6px;background:0 0;border:0;align-items:center;gap:12px;padding:0 8px;font-weight:800;display:flex}.brand>span:last-child{text-align:left;gap:2px;display:grid}.brand small{color:var(--on-dark-soft);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;font-weight:650}.brand-mark{border-radius:var(--radius-md);color:#fff;background:linear-gradient(145deg,#6366f1,#4338ca);flex:none;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 10px 24px #4338ca66}.main-nav{gap:6px;margin-top:40px;display:grid}.nav-section-label{color:var(--on-dark-soft);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;padding:0 12px 8px;font-weight:800}.nav-button{min-height:var(--tap);border-radius:var(--radius-md);width:100%;color:var(--ink-soft);font-size:var(--text-sm);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0 13px;transition:background .16s,color .16s;display:flex}.nav-button span{flex:1;font-weight:650}.nav-button b{min-width:26px;height:26px;font-size:var(--text-2xs);background:#ffffff24;border-radius:8px;place-items:center;padding:0 7px;display:grid}.sidebar .nav-button{min-height:48px;color:var(--on-dark-soft)}.sidebar .nav-button:hover{background:var(--rail-hover);color:#fff}.sidebar .nav-button.active{color:#fff;background:linear-gradient(100deg,#4f46e5,#6366f1);box-shadow:0 10px 24px #4338ca59}.sidebar-bottom{gap:12px;margin-top:auto;display:grid}.sidebar-tools{gap:2px;display:grid}.sidebar-tools .nav-button{min-height:42px;font-size:var(--text-xs)}.account-card{border-top:1px solid var(--rail-line);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding-top:14px;display:grid}.account-avatar{border-radius:var(--radius-sm);color:#fff;width:38px;height:38px;font-size:var(--text-sm);background:linear-gradient(145deg,#0d9488,#4338ca);place-items:center;font-weight:850;display:grid}.account-card>span:nth-child(2){gap:2px;min-width:0;display:grid}.account-card strong{color:var(--on-dark);font-size:var(--text-xs)}.account-card small{color:var(--on-dark-soft);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-card button{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--on-dark-soft);background:0 0;border:0;place-items:center;display:grid}.account-card button:hover{background:var(--rail-hover);color:#fff}.theme-toggle{border:1px solid var(--rail-line);border-radius:var(--radius-md);background:#ffffff0d;gap:3px;padding:4px;display:flex}.theme-toggle button{border-radius:var(--radius-sm);min-height:36px;color:var(--on-dark-soft);font-size:var(--text-2xs);background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:7px;font-weight:750;display:flex}.theme-toggle button:hover{color:#fff}.theme-toggle button[aria-pressed=true]{color:#fff;background:#ffffff24}.topbar-theme-toggle{display:none}.main-content{width:calc(100% - 272px);min-height:100vh;margin-left:272px;padding:28px clamp(20px,2.4vw,44px) 72px}.topbar{justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;display:flex}.topbar-copy{min-width:0}.topbar h1{letter-spacing:-1.1px;margin:0;font-size:clamp(24px,2.2vw,32px);font-weight:800;line-height:1.15}.page-subtitle{color:var(--ink-soft);font-size:var(--text-sm);margin:4px 0 0}.topbar-actions{align-items:center;gap:10px;display:flex}.primary-button,.secondary-button{border-radius:var(--radius-md);min-height:48px;font-size:var(--text-sm);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:750;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(110deg,#4f46e5,#6366f1);border:0;box-shadow:0 12px 24px #4338ca42}.primary-button:hover{background:linear-gradient(110deg,#4338ca,#4f46e5);transform:translateY(-1px);box-shadow:0 16px 30px #4338ca52}.secondary-button{border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.secondary-button:hover{border-color:var(--line-strong);transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.6;transform:none}.text-button{color:var(--primary);font-size:var(--text-xs);background:0 0;border:0;align-items:center;gap:6px;padding:8px 0;font-weight:750;display:inline-flex}.text-button:hover{color:var(--primary-strong)}.danger-text{color:var(--danger)}.database-banner,.storage-reconcile{border-radius:var(--radius-lg);font-size:var(--text-sm);margin:0 0 18px}.database-banner{border:1px solid color-mix(in srgb, var(--danger) 35%, var(--line));background:color-mix(in srgb, var(--danger) 9%, var(--surface));color:var(--danger);justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;display:flex}.database-banner span{align-items:center;gap:9px;display:flex}.database-banner strong{color:var(--danger)}.database-banner button{border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);border-radius:var(--radius-sm);background:var(--surface);min-height:40px;color:var(--danger);font-size:var(--text-xs);white-space:nowrap;padding:0 14px;font-weight:750}.storage-reconcile{border:1px solid color-mix(in srgb, var(--primary) 30%, var(--line));background:color-mix(in srgb, var(--primary) 8%, var(--surface));color:var(--ink);box-shadow:var(--shadow-sm);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.storage-reconcile-icon{border-radius:var(--radius-md);background:color-mix(in srgb, var(--primary) 16%, var(--surface));width:44px;height:44px;color:var(--primary);place-items:center;display:grid}.storage-reconcile strong{font-size:var(--text-sm)}.storage-reconcile p{color:var(--ink-soft);font-size:var(--text-xs);margin:4px 0 0}.storage-reconcile-actions{gap:8px;display:flex}.storage-reconcile-actions button{min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--text-xs);padding:0 15px;font-weight:750}.storage-reconcile-actions button:last-child{border-color:var(--primary);background:var(--primary);color:var(--primary-contrast)}.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.stat-card{border:1px solid var(--line);border-top:3px solid var(--stat-tone,var(--primary));border-radius:var(--radius-xl);background:var(--surface);min-width:0;min-height:164px;box-shadow:var(--shadow-sm);padding:20px;position:relative;overflow:hidden}.stat-card:after{background:var(--stat-tone,var(--primary));content:"";opacity:.1;border-radius:50%;width:96px;height:96px;position:absolute;top:-30px;right:-26px}.stat-purple{--stat-tone:var(--primary)}.stat-orange{--stat-tone:var(--warn)}.stat-blue{--stat-tone:var(--info)}.stat-green{--stat-tone:var(--accent)}.stat-cyan{--stat-tone:var(--stat-cyan)}.stat-top{align-items:center;gap:10px;margin-bottom:18px;display:flex}.stat-icon,.icon-tile{border-radius:var(--radius-md);background:color-mix(in srgb, var(--stat-tone,var(--primary)) 15%, var(--surface));width:42px;height:42px;color:var(--stat-tone,var(--primary));flex:none;place-items:center;display:grid}.stat-label{color:var(--ink-soft);font-size:var(--text-xs);letter-spacing:.02em;font-weight:750;line-height:1.3}.stat-value{color:var(--ink);font-size:var(--text-metric);letter-spacing:-1.1px;text-overflow:ellipsis;font-weight:780;line-height:1.15;display:block;overflow:hidden}.money-stack{gap:1px;min-width:0;display:grid}.money-stack strong{color:var(--ink);letter-spacing:-1px;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:780;line-height:1.18;overflow:hidden}.money-stack.count-1 strong{font-size:var(--text-metric)}.money-stack.count-2 strong{font-size:clamp(20px,1.7vw,25px)}.money-stack.count-3 strong{font-size:clamp(17px,1.4vw,20px)}.stat-card .money-stack.count-2 strong{font-size:clamp(17px,1.4vw,21px)}.stat-card .money-stack.count-3 strong{font-size:clamp(15px,1.2vw,18px)}.money-stack strong~strong{color:var(--ink-soft);letter-spacing:-.6px}.stat-card p{color:var(--ink-muted);font-size:var(--text-2xs);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;line-height:1.35;display:-webkit-box;overflow:hidden}.dashboard-grid{grid-template-columns:minmax(0,1.75fr) minmax(300px,.8fr);gap:16px;margin-top:16px;display:grid}.panel{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.panel-header{justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 16px;display:flex}.eyebrow{color:var(--primary);font-size:var(--text-2xs);letter-spacing:.13em;text-transform:uppercase;margin:0 0 6px;font-weight:800}.panel h2,.modal h2{color:var(--ink);font-size:var(--text-lg);letter-spacing:-.4px;margin:0;font-weight:780}.import-badge{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 13%, var(--surface));color:var(--accent);font-size:var(--text-2xs);align-items:center;gap:6px;padding:8px 12px;font-weight:700;display:inline-flex}.upcoming-list{padding:0 12px 12px}.upcoming-row{border-radius:var(--radius-md);grid-template-columns:minmax(180px,1.2fr) minmax(160px,.85fr) auto;align-items:center;gap:14px;min-height:84px;padding:12px;display:grid}.upcoming-row+.upcoming-row{border-top:1px solid var(--line)}.upcoming-row:hover{background:var(--surface-hover)}.upcoming-service,.subscription-name{text-align:left;background:0 0;border:0;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.upcoming-service>span:last-child,.subscription-name>span:last-child{gap:3px;min-width:0;display:grid}.upcoming-service strong,.subscription-name strong{color:var(--ink);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.upcoming-service small,.subscription-name small{color:var(--ink-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.payment-method-badge{--payment-tone:var(--ink-muted);background:color-mix(in srgb, var(--payment-tone) 12%, var(--surface));width:max-content;max-width:100%;min-height:23px;color:color-mix(in srgb, var(--payment-tone) 74%, var(--ink));font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 8px;font-weight:750;line-height:1.25;display:inline-flex;overflow:hidden}.payment-method-badge i{background:var(--payment-tone);border-radius:50%;flex:none;width:7px;height:7px}.payment-tone-0{--payment-tone:var(--source-subscription)}.payment-tone-1{--payment-tone:var(--source-subscription-1)}.payment-tone-2{--payment-tone:var(--source-subscription-2)}.payment-tone-3{--payment-tone:var(--source-subscription-3)}.payment-tone-4{--payment-tone:var(--source-subscription-4)}.payment-tone-5{--payment-tone:var(--source-subscription-5)}.payment-tone-6{--payment-tone:var(--source-subscription-6)}.payment-tone-7{--payment-tone:var(--source-subscription-7)}.payment-tone-unset{--payment-tone:var(--ink-muted)}.subscription-name:hover strong{color:var(--primary)}.service-mark{border-radius:var(--radius-md);width:44px;height:44px;font-size:var(--text-md);flex:none;place-items:center;font-weight:850;display:grid}.mark-0{background:color-mix(in srgb, #6366f1 18%, var(--surface));color:color-mix(in srgb, #6366f1 82%, var(--ink))}.mark-1{background:color-mix(in srgb, #0ea5e9 18%, var(--surface));color:color-mix(in srgb, #0ea5e9 82%, var(--ink))}.mark-2{background:color-mix(in srgb, #14b8a6 18%, var(--surface));color:color-mix(in srgb, #14b8a6 82%, var(--ink))}.mark-3{background:color-mix(in srgb, #f59e0b 20%, var(--surface));color:color-mix(in srgb, #f59e0b 82%, var(--ink))}.mark-4{background:color-mix(in srgb, #ec4899 18%, var(--surface));color:color-mix(in srgb, #ec4899 82%, var(--ink))}.mark-5{background:color-mix(in srgb, #8b5cf6 18%, var(--surface));color:color-mix(in srgb, #8b5cf6 82%, var(--ink))}.action-callout{border-left:3px solid var(--tone,var(--accent));justify-content:space-between;align-items:center;gap:10px;min-width:0;padding-left:14px;display:flex}.action-callout span{gap:3px;display:grid}.action-callout small{color:var(--ink-muted);font-size:var(--text-2xs);letter-spacing:.07em;text-transform:uppercase;font-weight:750}.action-callout strong{color:var(--tone,var(--ink));font-size:var(--text-sm)}.action-callout time{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--tone,var(--accent)) 13%, var(--surface));min-height:32px;color:color-mix(in srgb, var(--tone,var(--accent)) 82%, var(--ink));font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;padding:5px 9px;font-weight:800;display:inline-flex}.tone-urgent{--tone:var(--danger)}.tone-soon{--tone:var(--warn)}.tone-calm{--tone:var(--accent)}.decision-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.decision-pair{flex-wrap:nowrap;gap:6px;display:flex}td .decision-actions{justify-content:flex-start}.chip-button{border:1px solid var(--line-strong);background:var(--surface);min-height:36px;color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-weight:750;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.chip-button:hover{color:var(--ink)}.chip-button:disabled{cursor:wait;opacity:.55}.chip-keep:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));color:var(--accent)}.chip-cancel:hover{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, var(--surface));color:var(--danger)}.chip-renew{border-color:color-mix(in srgb, var(--primary) 45%, var(--line));background:color-mix(in srgb, var(--primary) 11%, var(--surface));color:var(--primary)}.chip-renew:hover{background:color-mix(in srgb, var(--primary) 20%, var(--surface))}.chip-select{background-color:var(--chip-bg,var(--surface-hover));max-width:100%;min-height:36px;color:var(--chip-ink,var(--ink-soft));font-size:var(--text-xs);appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:right 14px center,right 9px center;background-repeat:no-repeat;background-size:5px 5px,5px 5px;border:1px solid #0000;border-radius:999px;outline:0;padding:0 30px 0 12px;font-weight:750;transition:box-shadow .14s,background-color .14s}.chip-select:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--chip-ink,var(--ink-soft)) 45%, transparent)}.chip-select:disabled{cursor:wait;opacity:.6}.chip-select option{background:var(--surface);color:var(--ink);font-weight:600}.status-select.status-active,.status-pill.status-active{--chip-ink:var(--accent)}.status-select.status-trial,.status-pill.status-trial{--chip-ink:var(--primary)}.status-select.status-paused,.status-pill.status-paused{--chip-ink:var(--warn)}.status-select.status-cancelled,.status-pill.status-cancelled{--chip-ink:var(--danger)}.status-select.status-expired,.status-pill.status-expired{--chip-ink:var(--ink-muted)}.status-select{--chip-bg:color-mix(in srgb, var(--chip-ink) 14%, var(--surface))}.mode-select{--chip-ink:var(--ink-soft);--chip-bg:var(--surface-hover)}.mode-select.mode-auto{--chip-ink:var(--info);--chip-bg:color-mix(in srgb, var(--info) 12%, var(--surface))}.mode-select.mode-manual{--chip-ink:var(--warn);--chip-bg:color-mix(in srgb, var(--warn) 13%, var(--surface))}.status-pill{background:color-mix(in srgb, var(--chip-ink,var(--ink-muted)) 14%, var(--surface));color:var(--chip-ink,var(--ink-muted));font-size:var(--text-xs);border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-weight:750;display:inline-flex}.status-pill i{background:currentColor;border-radius:50%;width:7px;height:7px}.inline-date{gap:3px;min-width:0;display:grid}.inline-date>small{color:var(--ink-muted);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;font-weight:750}.inline-date input{border-radius:var(--radius-sm);background:var(--surface-hover);max-width:150px;min-height:38px;color:var(--ink);font-size:var(--text-sm);font-variant-numeric:tabular-nums;border:1px solid #0000;outline:0;padding:0 10px;font-weight:700}.inline-date-value{border-radius:var(--radius-sm);background:var(--surface-hover);max-width:170px;min-height:38px;color:var(--ink);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap;cursor:pointer;border:1px solid #0000;padding:0 10px;font-weight:700}.inline-date-value:hover{border-color:var(--line-strong)}.inline-date.tone-urgent .inline-date-value{color:var(--danger)}.inline-date.tone-soon .inline-date-value{color:var(--warn)}.inline-date input:hover{border-color:var(--line-strong)}.inline-date input:focus{border-color:var(--primary);background:var(--surface)}.inline-date input:disabled{cursor:wait;opacity:.6}.inline-date.tone-urgent input{color:var(--danger)}.inline-date.tone-soon input{color:var(--warn)}.row-quick{flex-wrap:wrap;align-items:center;gap:6px;display:flex}td .row-quick{flex-direction:column;align-items:flex-start;gap:7px}td .chip-select{max-width:158px}.monthly-panel{background:radial-gradient(circle at 100% 0, color-mix(in srgb, var(--primary) 12%, transparent), transparent 40%), var(--surface);padding-bottom:22px}.monthly-total{gap:2px;margin:2px 24px 0}.muted-copy{color:var(--ink-soft);font-size:var(--text-xs);line-height:1.6}.monthly-panel>.muted-copy{margin:10px 24px 20px}.chart-shortcut{cursor:pointer;border:0;transition:transform .14s,background .14s}.chart-shortcut:hover{background:color-mix(in srgb, var(--primary) 22%, var(--surface));transform:translateY(-2px)}.cost-list{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:12px;margin:0 24px;padding-top:18px;display:grid}.cost-row{font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:10px;display:flex}.cost-row span{min-width:0;color:var(--ink-soft);align-items:center;gap:9px;font-weight:700;display:flex}.cost-row strong{font-size:var(--text-base)}.cost-row small{color:var(--ink-muted);font-size:var(--text-2xs);font-weight:550}.currency-dot{background:var(--primary);border-radius:50%;width:10px;height:10px}.currency-usd{background:var(--accent)}.currency-pkr{background:var(--warn)}.currency-eur{background:var(--info)}.other-plan-row{border-radius:var(--radius-sm);text-align:left;background:0 0;border:0;width:100%;margin-inline:-10px;padding:8px 10px}.other-plan-row:hover{background:var(--surface-hover)}.other-plan-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.other-plan-row strong{white-space:nowrap;justify-items:end;gap:1px;display:grid}.cost-group{border-radius:var(--radius-md);background:var(--surface-sunken)}.cost-group-summary{border-radius:var(--radius-md);cursor:pointer;padding:10px 12px;list-style:none}.cost-group-summary::-webkit-details-marker{display:none}.cost-group-summary:hover{background:var(--surface-hover)}.cost-group-summary>span>svg{color:var(--ink-muted);flex:none;transition:transform .12s}.cost-group[open]>.cost-group-summary>span>svg{transform:rotate(90deg)}.cost-group-summary strong{white-space:nowrap;justify-items:end;gap:1px;display:grid}.cost-row .cost-group-copy{gap:1px;min-width:0;display:grid}.cost-group-copy small{color:var(--ink-muted);white-space:nowrap}.cost-group-members{grid-template-columns:minmax(0,1fr);gap:8px;padding:4px 12px 10px 18px;display:grid}.cost-group-members .other-plan-row{margin-inline:0}.cost-list-total{border-top:1px solid var(--line);color:var(--ink-soft);font-size:var(--text-xs);justify-content:space-between;align-items:flex-start;gap:10px;margin:14px 24px 0;padding:12px 0 20px;font-weight:700;display:flex}.cost-list-total strong{color:var(--ink);font-size:var(--text-base);text-align:right;white-space:nowrap;justify-items:end;gap:2px;display:grid}.cost-list-total small{color:var(--ink-muted);font-size:var(--text-2xs);font-weight:550}.list-total{margin:0 24px;padding:14px 0 2px}.recent-panel{margin-top:16px}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}th{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-sunken);color:var(--ink-muted);font-size:var(--text-2xs);letter-spacing:.09em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:12px 18px;font-weight:800}th:first-child,td:first-child{min-width:190px;padding-left:20px}th:nth-child(2),td:nth-child(2){width:138px}th:nth-child(3),td:nth-child(3){width:186px}th:nth-child(4),td:nth-child(4){width:178px}th:last-child,td:last-child{width:76px;padding-right:14px}td{border-bottom:1px solid var(--line);vertical-align:middle;height:86px;padding:10px 14px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-hover)}.price{gap:3px;display:grid}.price strong{font-size:var(--text-base);font-variant-numeric:tabular-nums;font-weight:750}.price small{color:var(--ink-muted);font-size:var(--text-2xs);white-space:nowrap}.row-actions{justify-content:flex-end;gap:4px;display:flex}.icon-button{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--ink-muted);background:0 0;border:1px solid #0000;place-items:center;display:grid}.icon-button:hover{border-color:var(--line);background:var(--surface-hover);color:var(--ink)}.delete-button:hover{border-color:color-mix(in srgb, var(--danger) 35%, transparent);background:color-mix(in srgb, var(--danger) 10%, var(--surface));color:var(--danger)}.card-label{display:none}.row-menu-trigger.is-open{border-color:var(--line-strong);background:var(--surface-hover);color:var(--ink)}.row-menu-backdrop{z-index:59;position:fixed;inset:0}.row-menu{z-index:60;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:210px;box-shadow:var(--shadow-lg);gap:2px;padding:6px;animation:.12s ease-out menu-in;display:grid;position:fixed}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.row-menu-item{border-radius:var(--radius-sm);min-height:40px;color:var(--ink);font-size:var(--text-sm);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-weight:650;display:flex}.row-menu-item:hover{background:var(--surface-hover)}.row-menu-danger{color:var(--danger)}.row-menu-danger:hover{background:color-mix(in srgb, var(--danger) 10%, var(--surface))}.settings-view{grid-template-columns:minmax(228px,272px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.settings-tabs{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-sunken);width:100%;box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1fr);gap:4px;padding:6px;display:grid;position:sticky;top:20px}.settings-tabs button{border-radius:var(--radius-md);min-width:0;min-height:64px;color:var(--ink-soft);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 13px;display:grid}.settings-tabs button:hover{background:var(--surface-hover);color:var(--ink)}.settings-tabs button.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm), inset 3px 0 0 var(--primary)}.settings-tab-icon{border-radius:var(--radius-sm);background:color-mix(in srgb, currentColor 10%, var(--surface));place-items:center;width:38px;height:38px;display:grid}.settings-tabs button>span:nth-child(2){gap:2px;min-width:0;display:grid}.settings-tabs strong{color:inherit;font-size:var(--text-sm)}.settings-tabs small{color:var(--ink-muted);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-tabs b{background:var(--surface-hover);min-width:28px;height:28px;color:var(--ink-muted);font-size:var(--text-2xs);border-radius:999px;place-items:center;padding-inline:7px;display:grid}.settings-tabs button.active b{background:color-mix(in srgb, var(--primary) 13%, var(--surface));color:var(--primary)}.settings-tab-content,.settings-panel{min-width:0}.settings-section-header{border-bottom:1px solid var(--line);background:radial-gradient(circle at 100% 0, color-mix(in srgb, var(--primary) 8%, transparent), transparent 42%), var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:22px 24px;display:grid}.settings-section-icon{border-radius:var(--radius-md);background:var(--primary-soft);width:44px;height:44px;color:var(--primary);place-items:center;display:grid}.settings-section-copy{min-width:0}.settings-section-copy .eyebrow{margin-bottom:4px}.settings-section-copy p:last-child{color:var(--ink-muted);font-size:var(--text-xs);margin:5px 0 0;line-height:1.45}.settings-section-meta{border:1px solid var(--line);background:var(--surface-sunken);color:var(--ink-soft);font-size:var(--text-2xs);white-space:nowrap;border-radius:999px;padding:7px 10px;font-weight:800}.stat-detail-action{color:var(--primary);font-size:var(--text-2xs);text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-weight:750;display:inline-flex}.stat-detail-action:hover{color:var(--primary-strong);text-decoration:underline}.stat-card p .stat-detail-action{margin-left:5px}.money-converted{border-top:1px solid var(--line);gap:1px;margin-top:4px;padding-top:6px;display:grid;color:var(--ink-soft)!important;letter-spacing:-.4px!important}.money-stack .money-converted{font-size:clamp(15px,1.3vw,18px)!important}.money-converted small{color:var(--ink-muted);font-size:var(--text-2xs);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.currency-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px 24px 24px;display:grid}.settings-detail-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunken);justify-content:space-between;align-items:center;gap:20px;min-width:0;padding:16px;display:flex}.settings-detail-row>span:first-child{gap:3px;display:grid}.settings-detail-row strong{color:var(--ink)}.settings-detail-row small{color:var(--ink-muted);font-size:var(--text-2xs)}.settings-detail-row>span:last-child{color:var(--ink-soft);font-size:var(--text-sm);text-align:right;font-weight:750}.currency-base-field,.currency-form>.muted-copy,.currency-form-actions{grid-column:1/-1}.currency-base-field{max-width:420px}.rate-input{align-items:center;gap:8px;display:flex}.rate-input input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunken);min-width:0;min-height:48px;color:var(--ink);font-size:var(--text-base);outline:0;flex:1;padding:0 14px}.rate-input input:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px var(--ring)}.rate-suffix{color:var(--ink-soft);font-size:var(--text-sm);font-weight:700}.currency-form-actions{border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:2px;padding-top:18px;display:flex}.currency-form-actions small{color:var(--ink-muted);font-size:var(--text-2xs)}.settings-add{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface-sunken) 62%, var(--surface));grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:20px 24px;display:grid}.settings-add label{color:var(--ink-soft);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;font-weight:800}.settings-add input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunken);min-width:0;min-height:48px;color:var(--ink);font-size:var(--text-base);outline:0;flex:1;padding:0 14px}.settings-add input:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px var(--ring)}.settings-list{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px;margin:0;padding:20px 24px 24px;list-style:none;display:grid}.settings-list li{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunken);justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:12px 14px;transition:border-color .14s,background .14s,transform .14s;display:flex}.settings-list li:hover{border-color:color-mix(in srgb, var(--primary) 30%, var(--line));background:var(--surface);transform:translateY(-1px)}.settings-item{gap:3px;min-width:0;display:grid}.settings-item strong{font-size:var(--text-base);font-weight:750}.settings-item>.payment-method-badge{font-size:var(--text-sm);font-weight:800}.settings-item small{color:var(--ink-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-empty{color:var(--ink-muted);font-size:var(--text-sm);grid-column:1/-1;justify-content:center!important}.modal-compact{width:min(560px,100%)}.start-mode-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.start-mode-option{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);min-height:68px;color:var(--ink-muted);text-align:left;align-items:center;gap:11px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.start-mode-option:hover{border-color:var(--line-strong)}.start-mode-option.is-selected{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface));color:var(--primary)}.start-mode-option span{gap:2px;min-width:0;display:grid}.start-mode-option strong{color:var(--ink);font-size:var(--text-sm)}.start-mode-option small{color:var(--ink-muted);font-size:var(--text-2xs);line-height:1.35}.source-search{gap:10px;margin-top:14px;display:grid}.source-results{gap:4px;margin:0;padding:0;list-style:none;display:grid}.source-results button{border-radius:var(--radius-sm);background:var(--surface-sunken);text-align:left;border:1px solid #0000;align-items:center;width:100%;min-height:56px;padding:8px 12px;display:flex}.source-results button:hover{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.source-summary{gap:2px;min-width:0;display:grid}.source-summary strong{color:var(--ink);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.source-summary small{color:var(--ink-muted);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-selected{border:1px solid var(--primary);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--primary) 8%, var(--surface));justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.source-note{border:1px solid color-mix(in srgb, var(--warn) 30%, var(--line));border-radius:var(--radius-md);background:color-mix(in srgb, var(--warn) 8%, var(--surface));justify-items:start;gap:8px;margin-top:14px;padding:14px 16px;display:grid}.source-note p{color:var(--ink);font-size:var(--text-sm);margin:0;line-height:1.5}.source-note-alt{color:var(--ink-soft)!important}.renew-note{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 9%, var(--surface));color:var(--ink);font-size:var(--text-sm);align-items:flex-start;gap:9px;margin:0 0 16px;padding:12px 14px;line-height:1.5;display:flex}.renew-note svg{color:var(--accent);flex:none;margin-top:2px}.renew-summary{color:var(--ink-soft);font-size:var(--text-sm);margin:16px 0 0}.renew-summary strong{color:var(--ink)}.period-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.period-row{border-radius:var(--radius-sm);background:var(--surface-sunken);justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;display:flex}.period-range{gap:3px;min-width:0;display:grid}.period-range strong{font-size:var(--text-sm);font-weight:750}.period-range small{color:var(--ink-muted);font-size:var(--text-2xs)}.period-meta{white-space:nowrap;align-items:center;gap:10px;display:flex}.period-meta strong{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.period-badge{background:color-mix(in srgb, var(--warn) 15%, var(--surface));color:var(--warn);font-size:var(--text-2xs);border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-weight:750;display:inline-flex}.statistics-view{gap:16px;display:grid}.statistics-toolbar{flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.breakdown-description{color:var(--ink-muted);font-size:var(--text-xs);margin:7px 0 0}.range-presets{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunken);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.basis-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-toolbar .basis-presets{flex:none}.statistics-toolbar .date-presets{flex:520px;grid-template-columns:repeat(5,minmax(max-content,1fr))}.statistics-trend-link{min-height:var(--tap);white-space:nowrap;flex:none;padding-inline:10px}.toolbar-custom-range{flex:1 0 100%;max-width:720px}.range-presets button{min-height:var(--tap);border-radius:var(--radius-sm);color:var(--ink-soft);font-size:var(--text-xs);background:0 0;border:0;padding:0 12px;font-weight:750}.range-presets button:hover{background:var(--surface-hover);color:var(--ink)}.range-presets button.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.custom-range{grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;display:grid}.custom-range label{gap:5px;display:grid}.custom-range label>span{color:var(--ink-soft);font-size:var(--text-2xs);letter-spacing:.07em;text-transform:uppercase;font-weight:800}.custom-range input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:48px;color:var(--ink);font-size:var(--text-base);padding:0 12px}.custom-range .secondary-button{min-height:48px}.range-error{color:var(--danger);font-size:var(--text-xs);grid-column:1/-1}.spend-summary-grid{grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:14px;display:grid}.spend-total-card,.spend-average-card,.history-coverage-card{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);min-height:156px;box-shadow:var(--shadow-sm);grid-template-columns:auto minmax(0,1fr);gap:16px;padding:22px;display:grid}.spend-total-card{border-top:3px solid var(--primary);background:radial-gradient(circle at 94% 8%, color-mix(in srgb, var(--primary) 14%, transparent), transparent 35%), var(--surface)}.spend-average-card{border-top:3px solid var(--info)}.spend-summary-grid .money-stack.count-1 strong{font-size:clamp(21px,1.9vw,27px)}.spend-summary-grid .money-stack.count-2 strong{font-size:clamp(18px,1.5vw,22px)}.spend-summary-grid .money-stack.count-3 strong{font-size:clamp(16px,1.3vw,19px)}.history-coverage-card{border-top:3px solid var(--accent)}.spend-total-card>div,.spend-average-card>div,.history-coverage-card>div{align-content:start;gap:7px;min-width:0;display:grid}.spend-total-card p,.spend-average-card p,.history-coverage-card p{color:var(--ink-soft);font-size:var(--text-xs);margin:0;font-weight:750}.spend-total-card small,.spend-average-card small,.history-coverage-card small{color:var(--ink-muted);font-size:var(--text-xs)}.spend-total.money-stack strong{font-size:clamp(24px,2.6vw,38px)}.spend-count{color:var(--ink);letter-spacing:-1px;font-size:clamp(30px,3vw,42px);line-height:1.1}.history-coverage-card>div>strong{color:var(--ink);font-size:var(--text-xl);letter-spacing:-.4px}.breakdown-tabs{border-bottom:1px solid var(--line);background:var(--surface-sunken);gap:4px;padding:10px 12px 0;display:flex;overflow-x:auto}.breakdown-tabs button{border-radius:var(--radius-md) var(--radius-md) 0 0;min-height:46px;color:var(--ink-muted);font-size:var(--text-xs);white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:0;align-items:center;gap:8px;padding:0 15px;font-weight:750;display:inline-flex}.breakdown-tabs button svg{color:currentColor;opacity:.75}.breakdown-tabs button:hover{color:var(--ink)}.breakdown-tabs button.active{border-color:var(--line);background:var(--surface);color:var(--primary);margin-bottom:-1px;padding-bottom:1px}.breakdown-description{max-width:680px}.currency-spend-tables{gap:22px;padding:4px 20px 22px;display:grid}.currency-spend-table{gap:10px;min-width:0;display:grid}.currency-spend-table+.currency-spend-table{border-top:1px solid var(--line);padding-top:18px}.currency-spend-title{justify-content:space-between;align-items:center;gap:12px;padding:0 4px;display:flex}.currency-spend-title>strong{background:color-mix(in srgb, var(--primary) 13%, var(--surface));min-width:48px;min-height:28px;color:var(--primary);font-size:var(--text-2xs);letter-spacing:.06em;border-radius:999px;justify-content:center;align-items:center;padding:0 9px;display:inline-flex}.currency-spend-title span{color:var(--ink-muted);font-size:var(--text-2xs)}.spend-table-wrap{min-width:0;overflow-x:auto}.spend-table{table-layout:auto;min-width:520px}.spend-table th,.spend-table td{border-bottom:1px solid var(--line);text-align:left;padding:11px 12px}.spend-table thead th{border-top:1px solid var(--line);background:var(--surface-sunken);color:var(--ink-muted);font-size:var(--text-2xs);letter-spacing:.07em;text-transform:uppercase}.spend-table th,.spend-table td{width:auto;min-width:0}.spend-table tbody th{letter-spacing:normal;background:0 0;border-top:0}.spend-table tbody th,.spend-table tbody td{height:auto}.spend-table tbody tr:last-child th,.spend-table tbody tr:last-child td{border-bottom:0}.spend-table thead th{text-align:right}.spend-table thead th:first-child,.spend-table thead th:nth-child(2){text-align:left}.month-spend-body .spend-table thead th:nth-child(2){text-align:right}.spend-table thead th:first-child{width:54px}.month-spend-body .spend-table thead th:first-child{width:auto}.spend-sort-button{border-radius:var(--radius-sm);color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.spend-sort-button:hover{color:var(--ink)}.spend-sort-button.active{color:var(--primary)}.spend-sort-button span{opacity:.65;font-size:11px}.spend-table-permonth{color:var(--ink-muted)}.spend-tone-0{--spend-tone:var(--source-subscription)}.spend-tone-1{--spend-tone:var(--source-subscription-1)}.spend-tone-2{--spend-tone:var(--source-subscription-2)}.spend-tone-3{--spend-tone:var(--source-subscription-3)}.spend-tone-4{--spend-tone:var(--source-subscription-4)}.spend-tone-5{--spend-tone:var(--source-subscription-5)}.spend-tone-6{--spend-tone:var(--source-subscription-6)}.spend-tone-7{--spend-tone:var(--source-subscription-7)}.spend-currency-usd{--spend-tone:var(--accent)}.spend-currency-pkr{--spend-tone:var(--warn)}.spend-currency-eur{--spend-tone:var(--info)}.spend-currency-gbp{--spend-tone:var(--source-subscription-6)}.currency-chip{border:1px solid color-mix(in srgb, var(--spend-tone) 40%, transparent);background:color-mix(in srgb, var(--spend-tone) 14%, var(--surface))!important;color:color-mix(in srgb, var(--spend-tone) 76%, var(--ink))!important}.currency-spend-title b{color:color-mix(in srgb, var(--spend-tone) 72%, var(--ink))}.spend-row-name{align-items:center;gap:9px;min-width:0;display:inline-flex}.spend-dot{background:var(--spend-tone);border-radius:50%;flex:none;width:8px;height:8px}.spend-summary-grid .money-stack strong[class*=spend-tone-],.spend-summary-grid .money-stack strong[class*=spend-currency-]{color:color-mix(in srgb, var(--spend-tone) 70%, var(--ink))}.spend-row-empty th,.spend-row-empty td{color:var(--ink-muted)}.month-order-presets{flex:none;grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-empty .secondary-button{margin-top:18px}.month-spend-body .currency-spend-tables{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.month-spend-body .currency-spend-table+.currency-spend-table{border-top:0;padding-top:0}.month-spend-body .spend-table{min-width:300px}.month-quiet-footer{padding:0 20px 20px}.spend-table tbody tr:hover{background:var(--surface-hover)}.spend-table tbody th{max-width:360px;color:var(--ink);font-size:var(--text-sm);text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-weight:750;overflow:hidden}.spend-table tbody td{color:var(--ink-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.spend-table tbody td:first-child{text-align:left}.spend-table .payment-method-badge{font-size:var(--text-xs)}.rank-number{border-radius:var(--radius-sm);background:var(--surface-sunken);width:34px;height:34px;color:var(--ink-muted);font-size:var(--text-xs);place-items:center;font-weight:800;display:grid}.spend-table-amount{color:var(--ink);font-weight:800;font-size:var(--text-sm)!important}.trend-page{gap:16px}.trend-section-heading h2{color:var(--ink);font-size:var(--text-xl);letter-spacing:-.5px;margin:0}.back-button svg{transform:rotate(180deg)}.trend-toolbar .back-button{margin-right:auto}.trend-presets{grid-template-columns:repeat(2,minmax(0,1fr));width:240px}.trend-panel{gap:14px;display:grid}.trend-section-heading{padding:8px 4px 0}.trend-charts{grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:16px;display:grid}.trend-chart{margin:0;padding:22px}.trend-chart figcaption{color:var(--ink-soft);font-size:var(--text-xs);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.trend-chart figcaption strong{color:var(--ink);font-size:var(--text-sm)}.trend-plot{position:relative}.trend-grid{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(var(--line) 1px, transparent 1px);background-position:0 0,0,0 100%;background-repeat:no-repeat;background-size:100% 1px,100% 1px,100% 1px;position:absolute;inset:0 0 26px}.trend-columns{align-items:flex-end;gap:2px;height:210px;margin:0;padding:0;list-style:none;display:flex;position:relative}.trend-columns li{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.trend-track{flex:1;justify-content:center;align-items:flex-end;width:100%;max-width:24px;display:flex}.trend-fill{background:var(--chart-mark);border-radius:4px 4px 0 0;width:100%;transition:height .2s}.trend-label{color:var(--ink-muted);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.statistics-empty{text-align:center;align-content:center;place-items:center;min-height:320px;padding:40px 24px;display:grid}.statistics-empty h3{font-size:var(--text-md);margin:16px 0 6px}.statistics-empty p{max-width:560px;color:var(--ink-muted);font-size:var(--text-sm);margin:0}.statistics-loading{grid-template-columns:1.4fr 1fr;gap:14px;display:grid}.statistics-loading i{border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(90deg, var(--surface) 25%, var(--surface-hover) 50%, var(--surface) 75%);background-size:200% 100%;min-height:156px;animation:1.4s infinite loading}.statistics-loading i:last-child{grid-column:1/-1;min-height:360px}.subscriptions-panel{min-height:560px}.toolbar{align-items:flex-end;gap:12px;padding:18px 20px;display:flex}.search-field{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);min-height:48px;color:var(--ink-muted);flex:1;align-items:center;gap:10px;padding:0 14px;display:flex}.search-field:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.search-field input{width:100%;color:var(--ink);font-size:var(--text-base);background:0 0;border:0;outline:0}.filter-field{gap:5px;display:grid}.filter-field>span{color:var(--ink-soft);font-size:var(--text-2xs);letter-spacing:.07em;text-transform:uppercase;font-weight:800}.filter-field select{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);min-height:48px;color:var(--ink);font-size:var(--text-sm);padding:0 36px 0 14px}.mobile-data-button{min-height:48px}.panel-footer{border-top:1px solid var(--line);background:var(--surface-sunken);justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;display:flex}.panel-footer p{color:var(--ink-soft);font-size:var(--text-xs);align-items:center;gap:8px;margin:0;display:flex}.no-results,.empty-state{text-align:center;justify-items:center;padding:56px 24px;display:grid}.empty-state{align-content:center;min-height:260px}.compact-empty{min-height:320px}.empty-icon{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--primary) 13%, var(--surface));width:60px;height:60px;color:var(--primary);place-items:center;display:grid}.empty-state h3,.no-results h3{font-size:var(--text-md);margin:16px 0 8px}.empty-state p,.no-results p{max-width:340px;color:var(--ink-soft);font-size:var(--text-sm);margin:0 0 18px;line-height:1.6}.loading-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.loading-grid i{border-radius:var(--radius-xl);background:linear-gradient(100deg, var(--surface-hover) 20%, var(--surface) 40%, var(--surface-hover) 60%);background-size:200% 100%;height:160px;animation:1.4s infinite shimmer}.loading-grid i:last-child{grid-column:1/-1;height:360px}@keyframes shimmer{to{background-position-x:-200%}}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c0e189e;place-items:start center;padding:32px 20px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);width:min(760px,100%);box-shadow:var(--shadow-lg);animation:.18s ease-out modal-in}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:24px 26px 20px;display:flex}.form-section{border-bottom:1px solid var(--line);padding:22px 26px}.form-section-head{align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.form-section-head h3{font-size:var(--text-base);margin:0;font-weight:780}.form-section-head span{color:var(--ink-muted);font-size:var(--text-xs)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field{gap:7px;min-width:0;display:grid}.field-span{grid-column:1/-1}.calendar-color-field{border:0;grid-column:1/-1;gap:8px;min-width:0;margin:0;padding:0;display:grid}.calendar-color-field legend{color:var(--ink-soft);font-size:var(--text-xs);padding:0;font-weight:750}.calendar-color-field>p{color:var(--ink-muted);font-size:var(--text-2xs);margin:-5px 0 0}.calendar-color-options{flex-wrap:wrap;gap:8px;display:flex}.calendar-color-auto,.calendar-color-option{min-height:var(--tap);border:1px solid var(--line);background:var(--surface-sunken);border-radius:999px}.calendar-color-auto{color:var(--ink-soft);font-size:var(--text-xs);padding:0 14px;font-weight:750}.calendar-color-option{width:var(--tap);place-items:center;padding:0;display:grid}.calendar-color-option span{background:var(--calendar-tone);border-radius:999px;place-items:center;width:26px;height:26px;display:grid}.calendar-color-auto:hover,.calendar-color-option:hover{border-color:var(--line-strong);background:var(--surface-hover)}.calendar-color-auto.selected,.calendar-color-option.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--ring)}.calendar-color-option.selected span:after{content:"✓";color:#fff;text-shadow:0 1px 2px #000c;font-size:15px;font-weight:900;line-height:1}.field>span{color:var(--ink-soft);font-size:var(--text-xs);font-weight:750}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunken);width:100%;min-height:48px;color:var(--ink);font-size:var(--text-base);outline:0;padding:11px 13px}.field textarea{resize:vertical;min-height:88px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px var(--ring)}.field-note{color:var(--ink-muted);font-size:var(--text-xs);margin:-4px 0 0;line-height:1.5}.details-toggle{border:0;border-bottom:1px solid var(--line);background:var(--surface-sunken);width:100%;min-height:52px;color:var(--ink-soft);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:10px;padding:0 26px;font-weight:750;display:flex}.details-toggle:hover{color:var(--ink)}.details-toggle svg{transition:transform .16s}.details-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.modal-actions{border-top:1px solid var(--line);border-radius:0 0 var(--radius-xl) var(--radius-xl);background:var(--surface-sunken);justify-content:flex-end;gap:10px;padding:18px 26px 22px;display:flex}.toast{z-index:80;border-radius:var(--radius-md);color:#fff;box-shadow:var(--shadow-lg);font-size:var(--text-sm);background:#1e1b4b;align-items:center;gap:10px;padding:14px 18px;font-weight:700;animation:.18s ease-out toast-in;display:flex;position:fixed;bottom:24px;right:24px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mobile-nav{display:none}.connectivity-banner{z-index:120;border:1px solid color-mix(in srgb, var(--warn) 45%, var(--line));background:color-mix(in srgb, var(--surface) 92%, var(--warn));max-width:calc(100% - 28px);min-height:42px;color:var(--ink);box-shadow:var(--shadow-md);font-size:var(--text-xs);border-radius:999px;align-items:center;gap:9px;padding:9px 14px;font-weight:750;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.connectivity-banner span{background:var(--warn);width:9px;height:9px;box-shadow:0 0 0 4px color-mix(in srgb, var(--warn) 18%, transparent);border-radius:50%;flex:none}.login-page{background:var(--surface);grid-template-columns:minmax(440px,1.1fr) minmax(420px,.9fr);min-height:100vh;display:grid}.login-visual{color:#fff;background:radial-gradient(circle at 80% 12%,#2dd4bf47,#0000 26%),radial-gradient(circle at 12% 88%,#818cf85c,#0000 32%),linear-gradient(145deg,#16173a,#1e1b4b 55%,#312e81);flex-direction:column;justify-content:space-between;padding:clamp(36px,5vw,72px);display:flex;position:relative;overflow:hidden}.login-visual:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:300px;height:300px;position:absolute;bottom:11%;right:-80px;box-shadow:0 0 0 55px #ffffff06,0 0 0 110px #ffffff05}.login-brand,.login-mobile-brand{font-size:var(--text-xl);letter-spacing:-.7px;align-items:center;gap:12px;font-weight:850;display:flex}.login-brand span,.login-mobile-brand span{border-radius:var(--radius-md);color:#fff;width:42px;height:42px;font-size:var(--text-lg);background:linear-gradient(145deg,#6366f1,#4338ca);place-items:center;display:grid}.login-message{z-index:1;max-width:650px;margin-block:auto;padding-block:72px;position:relative}.login-kicker,.login-lock{color:#d3d5fb;font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;padding:9px 13px;font-weight:800;display:inline-flex}.login-message h1{letter-spacing:-2.8px;margin:24px 0 18px;font-size:clamp(40px,4.6vw,66px);font-weight:800;line-height:1.04}.login-message p{color:#c3c5df;max-width:500px;font-size:var(--text-md);margin:0;line-height:1.7}.login-preview-card{z-index:1;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff14;border:1px solid #ffffff24;gap:7px;max-width:480px;padding:18px 20px;display:grid;position:relative}.login-preview-card>span{color:#b9bbdb;font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:750}.login-preview-card strong{font-size:var(--text-base)}.login-preview-card div{align-items:end;gap:6px;height:32px;margin-top:4px;display:flex}.login-preview-card i{background:linear-gradient(#818cf8,#4338ca);border-radius:5px 5px 2px 2px;width:18%;display:block}.login-preview-card i:first-child{height:35%}.login-preview-card i:nth-child(2){height:65%}.login-preview-card i:nth-child(3){height:45%}.login-preview-card i:nth-child(4){background:linear-gradient(#5eead4,#0d9488);height:90%}.login-panel{background:radial-gradient(circle at 100% 0, color-mix(in srgb, var(--primary) 10%, transparent), transparent 32%), var(--surface);place-items:center;padding:40px;display:grid}.login-card{gap:16px;width:min(430px,100%);display:grid}.login-mobile-brand{color:var(--ink);display:none}.login-lock{border-color:color-mix(in srgb, var(--primary) 30%, var(--line));background:color-mix(in srgb, var(--primary) 10%, var(--surface));width:fit-content;color:var(--primary)}.login-card h2{color:var(--ink);letter-spacing:-1.3px;margin:8px 0 -8px;font-size:clamp(30px,3vw,36px)}.login-card>p{color:var(--ink-soft);font-size:var(--text-sm);margin:0 0 12px}.login-field{gap:7px;display:grid}.login-field span{color:var(--ink-soft);font-size:var(--text-xs);font-weight:750}.login-field input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunken);width:100%;min-height:54px;color:var(--ink);font-size:var(--text-base);outline:0;padding:0 15px}.login-field input:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 4px var(--ring)}.login-error{border:1px solid color-mix(in srgb, var(--danger) 35%, var(--line));border-radius:var(--radius-md);background:color-mix(in srgb, var(--danger) 9%, var(--surface));color:var(--danger);font-size:var(--text-sm);padding:12px 14px}.login-submit{border-radius:var(--radius-md);color:#fff;min-height:54px;font-size:var(--text-sm);background:linear-gradient(110deg,#4f46e5,#6366f1);border:0;justify-content:space-between;align-items:center;margin-top:6px;padding:0 18px;font-weight:750;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 12px 25px #4338ca42}.login-submit:hover{transform:translateY(-1px);box-shadow:0 16px 30px #4338ca54}.login-submit:disabled{cursor:wait;opacity:.7}.login-card>small{color:var(--ink-muted);font-size:var(--text-2xs);text-align:center}.auth-alternate{color:var(--ink-soft);text-align:center;font-size:var(--text-xs)!important;margin:0!important}.auth-alternate a{color:var(--primary);font-weight:800}.registration-panel{padding-block:28px}.registration-card{gap:12px}.registration-card h2{margin-top:2px}.registration-card .login-field input{min-height:48px}@media (max-width:1240px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar{width:240px}.main-content{width:calc(100% - 240px);margin-left:240px;padding-inline:24px}.dashboard-grid{grid-template-columns:1fr}.upcoming-row{grid-template-columns:minmax(190px,1fr) minmax(170px,.8fr) auto}}@media (max-width:1080px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid>.stat-card:nth-child(odd):last-child{grid-column:1/-1}.spend-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-toolbar .date-presets{flex-basis:100%}.settings-view{grid-template-columns:minmax(0,1fr);gap:14px}.settings-tabs{grid-template-columns:repeat(4,minmax(0,1fr));position:static}.settings-tabs button{grid-template-columns:auto minmax(0,1fr)}.settings-tabs button.active{box-shadow:var(--shadow-sm), inset 0 -3px 0 var(--primary)}.settings-tabs b{display:none}}@media (max-width:900px){.login-page{grid-template-columns:minmax(320px,.9fr) minmax(380px,1.1fr)}.login-visual{padding:34px}.login-preview-card{display:none}}@media (max-width:760px){body{padding-bottom:84px}.sidebar{display:none}.main-content{width:100%;margin-left:0;padding:22px 15px 32px}.topbar{align-items:center;gap:12px;margin-bottom:16px}.topbar h1{letter-spacing:-.9px;font-size:24px}.page-subtitle{max-width:260px;font-size:var(--text-xs);margin-top:4px}.topbar-actions{gap:8px}.topbar-actions .primary-button{min-height:44px;padding:0 14px}.topbar-theme-toggle{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:44px;height:44px;color:var(--ink-soft);place-items:center;display:grid}.database-banner,.storage-reconcile{align-items:flex-start}.database-banner{flex-direction:column;gap:12px}.storage-reconcile{grid-template-columns:auto 1fr}.storage-reconcile-actions{grid-column:1/-1;width:100%}.storage-reconcile-actions button{flex:1}.stats-grid{gap:10px}.stat-card{border-radius:var(--radius-lg);min-height:140px;padding:15px}.stat-top{margin-bottom:14px}.stat-icon{width:36px;height:36px}.stat-value,.money-stack.count-1 strong{font-size:24px}.money-stack.count-2 strong{font-size:20px}.money-stack.count-3 strong{font-size:17px}.stat-card p{font-size:var(--text-2xs)}.dashboard-grid{gap:10px;margin-top:10px}.statistics-view{gap:10px}.statistics-toolbar{padding:8px}.statistics-toolbar .basis-presets{width:100%}.statistics-toolbar .date-presets{scrollbar-width:none;width:100%;display:flex;overflow-x:auto}.statistics-toolbar .date-presets::-webkit-scrollbar{display:none}.statistics-toolbar .date-presets button{flex:none}.range-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-range{grid-template-columns:1fr}.custom-range .secondary-button{grid-column:auto}.spend-summary-grid,.statistics-loading{grid-template-columns:1fr;gap:10px}.trend-toolbar .back-button{width:100%;margin-right:0}.trend-presets{width:100%}.trend-charts{padding-inline:0}.trend-chart{padding:18px 16px}.trend-columns{height:180px}.spend-total-card,.history-coverage-card{border-radius:var(--radius-lg);min-height:142px;padding:17px}.currency-spend-tables{padding-inline:10px}.breakdown-tabs{padding-inline:8px}.breakdown-tabs button{padding-inline:11px}.statistics-loading i:last-child{grid-column:auto}.settings-view{gap:10px}.settings-tabs{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.settings-tabs button{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:3px;min-height:62px;padding:6px 3px}.settings-tab-icon{width:27px;height:27px}.settings-tabs strong{font-size:11px;line-height:1.15}.settings-tabs small,.settings-tabs b{display:none}.settings-section-header{grid-template-columns:auto minmax(0,1fr);padding:18px 16px}.settings-section-icon{width:40px;height:40px}.settings-section-meta{grid-column:2;width:max-content}.start-mode-choice{grid-template-columns:1fr}.settings-add{padding:16px}.settings-list{grid-template-columns:minmax(0,1fr);padding:16px}.currency-form{grid-template-columns:minmax(0,1fr);padding:18px 16px}.settings-detail-row{flex-direction:column;align-items:flex-start;gap:8px}.settings-detail-row>span:last-child{text-align:left}.currency-base-field,.currency-form>.muted-copy,.currency-form-actions{grid-column:auto;max-width:none}.backup-parts{grid-template-columns:minmax(0,1fr);padding:18px 16px 14px}.settings-backup{grid-template-columns:minmax(0,1fr);padding-inline:16px}.settings-backup button{justify-content:center;width:100%}.settings-backup .danger-text{justify-self:stretch}.settings-tab-content>.field-note{padding:0 16px 18px}.panel{border-radius:var(--radius-lg)}.panel-header{padding:20px 16px 14px}.import-badge{display:none}.upcoming-list{padding-inline:8px}.upcoming-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;min-height:92px;padding:12px 10px}.action-callout{text-align:right;border:0;flex-direction:column;align-items:flex-end;gap:5px;padding:0}.action-callout time{min-height:27px;font-size:var(--text-xs);padding:3px 7px}.decision-actions{grid-column:1/-1;justify-self:end}.recent-panel .table-wrap,.subscriptions-panel .table-wrap{background:var(--surface-sunken);padding:0 10px 10px}table,tbody{display:block}thead{display:none}tbody{gap:10px;display:grid}tbody tr{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;display:grid}tbody tr:hover{background:var(--surface)}tbody td{border:0;align-items:center;height:auto;width:auto!important;padding:0!important;display:flex!important}tbody td:first-child{grid-area:1/1}tbody td:nth-child(2){grid-area:1/2;justify-content:flex-end}tbody td:nth-child(3){grid-area:2/1/auto/-1}tbody td:nth-child(4){grid-area:3/1}tbody td:last-child{grid-area:3/2;justify-content:flex-end;align-items:flex-end}tbody td .chip-select{max-width:none}tbody td .decision-actions{flex-wrap:wrap}.inline-date input{width:100%;max-width:none}.inline-date,.row-quick{width:100%}.card-label{color:var(--ink-muted);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-weight:800;display:block}td>.stacked{gap:6px;width:100%;display:grid}.spend-table{display:table}.spend-table thead{display:table-header-group}.spend-table tbody{gap:0;display:table-row-group}.spend-table tbody tr{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:table-row}.spend-table tbody th,.spend-table tbody td{border-bottom:1px solid var(--line);width:auto!important;padding:10px!important;display:table-cell!important}.spend-table tbody tr:last-child th,.spend-table tbody tr:last-child td{border-bottom:0}.breakdown-panel .panel-header{flex-direction:column;gap:12px}.month-order-presets{width:100%}.toolbar{flex-wrap:wrap;gap:10px;padding:14px}.search-field{flex-basis:100%}.filter-field{flex:1}.filter-field select{width:100%}.panel-footer{flex-direction:column;align-items:flex-start;padding-inline:16px}.modal-backdrop{padding:10px}.modal{border-radius:var(--radius-lg)}.modal-header{padding:20px}.form-section{padding:18px 20px}.details-toggle{padding-inline:20px}.form-grid{grid-template-columns:1fr}.field-span{grid-column:auto}.modal-actions{padding:14px 20px;position:sticky;bottom:0}.modal-actions button{flex:1}.toast{justify-content:center;bottom:92px;left:14px;right:14px}.mobile-nav{z-index:40;min-height:76px;padding:6px 22px max(6px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:1fr 1fr 72px 1fr;align-items:center;display:grid;position:fixed;inset:auto 0 0}.mobile-nav .nav-button{min-height:58px;color:var(--ink-muted);text-align:center;background:0 0;justify-items:center;gap:4px;padding:6px;display:grid}.mobile-nav .nav-button span{font-size:var(--text-2xs);flex:none;font-weight:700}.mobile-nav .nav-button.active{color:var(--primary)}.mobile-nav .nav-button b{display:none}.mobile-add{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(145deg,#4f46e5,#6366f1);border:0;place-self:center;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 10px 24px #4338ca59}.loading-grid{grid-template-columns:repeat(2,1fr)}.login-page{display:block}.login-visual{display:none}.login-panel{min-height:100vh;padding:28px 20px}.login-mobile-brand{margin-bottom:32px;display:flex}}@media (max-width:400px){.stats-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:132px;padding:14px}.stat-value,.money-stack.count-1 strong{font-size:22px}.money-stack.count-2 strong{font-size:18px}.money-stack.count-3 strong{font-size:16px}.subscription-name strong{max-width:150px}.topbar-actions .primary-button{width:44px;padding:0;font-size:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.flip{display:inline-flex;transform:scaleX(-1)}.calendar-panel{flex-direction:column;gap:14px;display:flex;position:relative}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-nav{align-items:center;gap:8px;display:flex}.calendar-title{font-size:var(--text-md);margin-left:6px}.calendar-modes,.calendar-actions{align-items:center;gap:8px;display:flex}.calendar-actions button{border-color:color-mix(in srgb, var(--tone) 35%, var(--line));background:color-mix(in srgb, var(--tone) 9%, var(--surface));color:color-mix(in srgb, var(--tone) 78%, var(--ink))}.calendar-actions button:hover{border-color:var(--tone);background:color-mix(in srgb, var(--tone) 16%, var(--surface))}.calendar-actions button svg{color:var(--tone)}.calendar-actions .add-task{--tone:var(--source-task)}.calendar-actions .add-meeting{--tone:var(--source-meeting)}.calendar-actions .add-subscription{--tone:var(--source-subscription)}.calendar-modes{background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-md);gap:2px;padding:3px}.calendar-mode{color:var(--ink-soft);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;padding:7px 14px;font-weight:600}.calendar-mode:hover{color:var(--ink)}.calendar-mode.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.calendar-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-filter{border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);font-size:var(--text-xs);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-weight:600;display:inline-flex}.calendar-filter.active{color:var(--ink);border-color:var(--line-strong)}.calendar-filter-mark{border:1.5px solid;border-radius:3px;width:9px;height:9px}.calendar-filter.tone-task{--tone:var(--source-task)}.calendar-filter.tone-meeting{--tone:var(--source-meeting)}.calendar-filter.tone-muted{--tone:var(--ink-muted)}.calendar-filter.active .calendar-filter-mark{background:var(--tone);border-color:var(--tone)}.calendar-filter.tone-meeting .calendar-filter-mark{border-radius:999px}.calendar-quick-add{flex:260px;gap:8px;max-width:420px;margin-left:auto;display:flex}.calendar-quick-add input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--text-sm);flex:1;min-width:0;padding:9px 12px}.calendar-quick-add input:focus{outline:2px solid var(--ring);outline-offset:1px}.calendar-notice{color:var(--accent);font-size:var(--text-xs);margin:0;font-weight:600}.calendar-body{min-height:320px}.calendar-body.loading{opacity:.55}.calendar-grid{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.calendar-weekdays{background:var(--surface-sunken);border-bottom:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);padding:9px 12px;font-weight:700}.calendar-cells{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:4px;min-height:112px;padding:6px;display:flex}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell:nth-last-child(-n+7){border-bottom:0}.calendar-cell.outside{background:var(--surface-sunken)}.calendar-cell.outside .calendar-day-number{color:var(--ink-muted)}.calendar-cell.today{box-shadow:inset 0 2px 0 var(--primary)}.calendar-cell-head{justify-content:space-between;align-items:center;display:flex}.calendar-day-number{color:var(--ink);font-size:var(--text-xs);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;padding:2px 4px;font-weight:700}.calendar-cell.today .calendar-day-number{color:var(--primary)}.calendar-day-number:hover{background:var(--surface-hover)}.calendar-cell-add{color:var(--ink-muted);cursor:pointer;border-radius:var(--radius-sm);opacity:0;background:0 0;border:0;padding:2px;display:inline-flex}.calendar-cell:hover .calendar-cell-add,.calendar-week-day:hover .calendar-cell-add,.calendar-cell-add:focus-visible{opacity:1}.calendar-cell-items{flex-direction:column;gap:3px;display:flex;overflow:hidden}.calendar-chip{border:1px solid var(--chip-line);border-left:3px solid var(--chip-mark);border-radius:var(--radius-sm);width:100%;font-size:var(--text-2xs);text-align:left;cursor:pointer;color:var(--chip-ink);background:var(--chip-soft);align-items:center;gap:6px;padding:4px 7px;display:flex}.chip-task{--chip-mark:var(--source-task);--chip-soft:var(--source-task-soft);--chip-line:var(--source-task-line);--chip-ink:var(--source-task-ink)}.chip-meeting{--chip-mark:var(--source-meeting);--chip-soft:var(--source-meeting-soft);--chip-line:var(--source-meeting-line);--chip-ink:var(--source-meeting-ink)}.chip-subscription{--chip-mark:var(--source-subscription);--chip-soft:color-mix(in srgb, var(--source-subscription) 12%, var(--surface));--chip-line:color-mix(in srgb, var(--source-subscription) 30%, var(--surface));--chip-ink:color-mix(in srgb, var(--source-subscription) 72%, var(--ink))}.calendar-tone-0{--calendar-tone:var(--source-subscription)}.calendar-tone-1{--calendar-tone:var(--source-subscription-1)}.calendar-tone-2{--calendar-tone:var(--source-subscription-2)}.calendar-tone-3{--calendar-tone:var(--source-subscription-3)}.calendar-tone-4{--calendar-tone:var(--source-subscription-4)}.calendar-tone-5{--calendar-tone:var(--source-subscription-5)}.calendar-tone-6{--calendar-tone:var(--source-subscription-6)}.calendar-tone-7{--calendar-tone:var(--source-subscription-7)}.calendar-chip.calendar-tone{--chip-mark:var(--calendar-tone);--chip-soft:color-mix(in srgb, var(--calendar-tone) 12%, var(--surface));--chip-line:color-mix(in srgb, var(--calendar-tone) 30%, var(--surface));--chip-ink:color-mix(in srgb, var(--calendar-tone) 72%, var(--ink))}.calendar-chip:hover{border-color:var(--chip-mark)}.calendar-chip.selected{box-shadow:0 0 0 2px var(--ring);border-color:var(--chip-mark)}.calendar-chip.finished{opacity:.6}.calendar-chip.finished .calendar-chip-title{text-decoration:line-through}.calendar-chip-mark{background:var(--chip-mark);flex:none;width:8px;height:8px}.chip-task .calendar-chip-mark{border-radius:2px}.chip-meeting .calendar-chip-mark{border-radius:999px}.chip-subscription .calendar-chip-mark{border-radius:2px;width:7px;height:7px;margin:0 1px;transform:rotate(45deg)}.calendar-chip-time{font-variant-numeric:tabular-nums;opacity:.75;font-weight:700}.calendar-chip-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-more{color:var(--ink-muted);font-size:var(--text-2xs);text-align:left;cursor:pointer;background:0 0;border:0;padding:2px 4px;font-weight:600}.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.calendar-week-day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;gap:6px;min-height:180px;padding:10px;display:flex}.calendar-week-day.today{border-color:var(--primary)}.calendar-week-day header{font-size:var(--text-2xs);color:var(--ink-soft);justify-content:space-between;align-items:center;display:flex}.calendar-empty-day,.calendar-empty{color:var(--ink-muted);font-size:var(--text-2xs);margin:0}.calendar-empty{font-size:var(--text-sm);padding:24px 0}.calendar-day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.calendar-allday{border-bottom:1px solid var(--line);background:var(--surface-sunken);grid-template-columns:84px 1fr;gap:10px;padding:12px;display:grid}.calendar-allday>div{flex-direction:column;gap:4px;display:flex}.calendar-allday-label,.calendar-hour-label{font-size:var(--text-2xs);color:var(--ink-muted);font-variant-numeric:tabular-nums}.calendar-hour{border-bottom:1px solid var(--line);grid-template-columns:84px 1fr;gap:10px;min-height:44px;padding:8px 12px;display:grid}.calendar-hour:last-child{border-bottom:0}.calendar-hour-items{flex-direction:column;gap:4px;display:flex}.calendar-list{flex-direction:column;gap:18px;display:flex}.calendar-list-day{flex-direction:column;gap:6px;display:flex}.calendar-list-day h3{font-size:var(--text-xs);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;margin:0}.calendar-details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(360px,100vw - 36px);box-shadow:var(--shadow-lg);z-index:40;flex-direction:column;gap:12px;max-height:min(70vh,620px);padding:16px;display:flex;position:fixed;bottom:18px;right:18px;overflow-y:auto}.calendar-details-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.calendar-details-head h3{font-size:var(--text-md);margin:0}.calendar-details-facts{flex-direction:column;gap:8px;margin:0;display:flex}.calendar-details-facts>div{font-size:var(--text-xs);justify-content:space-between;gap:12px;display:flex}.calendar-details-facts dt{color:var(--ink-muted)}.calendar-details-facts dd{text-align:right;color:var(--ink);margin:0}.calendar-details-notes{font-size:var(--text-xs);color:var(--ink-soft);white-space:pre-wrap;margin:0}.calendar-move,.calendar-details-actions{flex-wrap:wrap;gap:8px;display:flex}.calendar-move .secondary-button{font-size:var(--text-2xs);flex:1;justify-content:center}.schedule-mode{gap:6px;margin-bottom:12px;display:flex}.schedule-mode-option{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;padding:8px 14px;font-weight:600}.schedule-mode-option.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-strong)}.dialog-error{color:var(--danger);font-size:var(--text-xs);margin:0 0 8px;font-weight:600}@media (max-width:900px){.calendar-week{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-quick-add{margin-left:0}}@media (max-width:760px){.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-modes{justify-content:space-between}.calendar-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.calendar-actions button{font-size:var(--text-2xs);justify-content:center;gap:5px;padding-inline:6px}.calendar-actions button svg{width:15px;height:15px}.calendar-mode{text-align:center;flex:1}.calendar-week{grid-template-columns:1fr}.calendar-chip-title{font-size:12px}.calendar-cell-add{opacity:1}.calendar-details{width:auto;bottom:84px;left:10px;right:10px}}.calendar-filter.tone-subscription{--tone:var(--source-subscription)}.calendar-filter.tone-subscription .calendar-filter-mark{border-radius:2px;transform:rotate(45deg)}.settings-tab-content>.field-note{color:var(--ink-muted);margin:0;padding:0 24px 22px;line-height:1.55}.settings-backup{grid-template-columns:max-content max-content minmax(0,1fr);align-items:center;gap:10px;margin-bottom:12px;padding-inline:24px;display:grid}.settings-backup .danger-text{justify-self:end}.backup-parts{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:22px 24px 18px;display:grid}.backup-parts label{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);min-height:68px;color:var(--ink-soft);font-size:var(--text-sm);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:12px 14px;font-weight:700;display:grid}.backup-parts label.active{border-color:color-mix(in srgb, var(--primary) 45%, var(--line));background:color-mix(in srgb, var(--primary) 8%, var(--surface));color:var(--ink)}.backup-parts label span{font-weight:800}.backup-parts input{width:17px;height:17px;accent-color:var(--primary)}.backup-parts small{color:var(--ink-muted);font-size:var(--text-2xs);grid-column:2;font-weight:550}.calendar-chip[draggable=true]{cursor:grab}.calendar-chip.dragging{opacity:.4;cursor:grabbing}.calendar-cell.drop-target,.calendar-week-day.drop-target{background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary)}.calendar-cell.compact{min-height:0;padding:0;display:block}.calendar-day-pick{width:100%;min-height:52px;color:var(--ink);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 2px;display:flex}.calendar-cell.compact.outside .calendar-day-pick{color:var(--ink-muted)}.calendar-cell.compact .calendar-day-number{font-size:var(--text-sm);border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:600;line-height:1;display:inline-flex}.calendar-cell.compact.today .calendar-day-number{color:var(--primary);font-weight:800}.calendar-cell.compact.open .calendar-day-number{background:var(--primary);color:var(--primary-contrast)}.calendar-day-dots{gap:3px;min-height:6px;display:flex}.calendar-day-dots .dot{width:5px;height:5px;display:block}.calendar-day-dots .dot-task{background:var(--source-task);border-radius:1px}.calendar-day-dots .dot-meeting{background:var(--source-meeting);border-radius:999px}.calendar-day-dots .dot-subscription{background:var(--source-subscription);border-radius:1px;transform:rotate(45deg)}.calendar-day-dots .dot.calendar-tone{background:var(--calendar-tone)}.calendar-agenda{flex-direction:column;gap:6px;margin-top:14px;display:flex}.calendar-agenda header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:2px;display:flex}.calendar-agenda h3{font-size:var(--text-xs);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;margin:0}.calendar-agenda .calendar-chip{font-size:var(--text-xs);min-height:var(--tap);padding:10px 12px}
