:root,[data-theme=midnight-violet]{--bg-app: #0b1020;--bg-app-alt: #0f1730;--bg-surface: #111a2e;--line: #24314d;--line-strong: #2a3858;--text-primary: #eaf2ff;--text-secondary: #a8b6d8;--text-muted: #7f8fb2;--brand-primary: #6d5ef7;--brand-primary-hover: #7b6dff;--brand-primary-pressed: #5d4fe0;--brand-accent: #2fe3c7;--btn-primary-text: #f6f2ff;--ok: #2bcb8a;--warn: #f7b84b;--error: #ff6b6b;--focus-ring: 0 0 0 3px rgba(47, 227, 199, .35);--body-gradient-1: rgba(109, 94, 247, .17);--body-gradient-2: rgba(47, 227, 199, .1);--card-bg: linear-gradient(180deg, rgba(17, 26, 46, .98) 0%, rgba(17, 26, 46, .92) 100%);--card-shadow: 0 0 0 1px rgba(109, 94, 247, .14), 0 12px 30px rgba(6, 11, 24, .35);--brand-title-gradient: linear-gradient(135deg, #6d5ef7 0%, #2fe3c7 100%);--chip-text: #c8d5f0;--chip-active-bg: rgba(47, 227, 199, .15);--chip-active-text: #cffdf5;--surface-muted: rgba(11, 16, 32, .82);--surface-border-soft: rgba(168, 182, 216, .18);--surface-elevated: rgba(10, 18, 37, .65);--surface-elevated-soft: rgba(10, 18, 37, .55);--link-hover: #7cf2de;--error-bg: rgba(255, 107, 107, .16);--error-text: #ffd3d3;--ok-bg: rgba(43, 203, 138, .15);--ok-text: #b7f4d8;--output-bg: linear-gradient(180deg, #0a132b 0%, #0a1022 100%);--output-text: #d7e6ff;--secondary-hover-bg: rgba(168, 182, 216, .1);--accent-soft-bg: rgba(47, 227, 199, .12);--accent-border-soft: rgba(47, 227, 199, .35);--accent-border-medium: rgba(47, 227, 199, .45);--accent-border-strong: rgba(47, 227, 199, .5);--highlight-text: #e7efff;--review-text: #d8e4ff;--danger-bg: rgba(220, 80, 80, .2);--danger-border: rgba(220, 80, 80, .55);--danger-text: #ffb4b4;--danger-hover-bg: rgba(220, 80, 80, .35);--scrollbar-thumb: rgba(47, 227, 199, .6);--scrollbar-track: rgba(11, 16, 32, .55);--security-banner-bg: rgba(16, 27, 51, .88);--security-banner-warn-bg: rgba(247, 184, 75, .12);--table-header-bg: rgba(255, 255, 255, .03);--table-row-border: rgba(168, 182, 216, .18);--image-border: rgba(168, 182, 216, .3);--warn-border-soft: rgba(255, 196, 86, .45);font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;color:var(--text-primary);background:var(--bg-app)}[data-theme=forest-haven]{--bg-app: #0a1410;--bg-app-alt: #0f1c14;--bg-surface: #122018;--line: #24382c;--line-strong: #2d4535;--text-primary: #e8f5ea;--text-secondary: #a8c4ad;--text-muted: #7a9a82;--brand-primary: #3d9b5f;--brand-primary-hover: #47ad6c;--brand-primary-pressed: #348652;--brand-accent: #9ef01a;--btn-primary-text: #f4fff5;--ok: #4ade80;--warn: #facc15;--error: #f87171;--focus-ring: 0 0 0 3px rgba(158, 240, 26, .35);--body-gradient-1: rgba(61, 155, 95, .18);--body-gradient-2: rgba(158, 240, 26, .08);--card-bg: linear-gradient(180deg, rgba(18, 32, 24, .98) 0%, rgba(15, 28, 20, .92) 100%);--card-shadow: 0 0 0 1px rgba(61, 155, 95, .14), 0 12px 30px rgba(4, 12, 8, .35);--brand-title-gradient: linear-gradient(135deg, #3d9b5f 0%, #9ef01a 100%);--chip-text: #c8dcc9;--chip-active-bg: rgba(158, 240, 26, .14);--chip-active-text: #eaffc7;--surface-muted: rgba(10, 20, 16, .82);--surface-border-soft: rgba(168, 196, 173, .18);--surface-elevated: rgba(12, 24, 18, .65);--surface-elevated-soft: rgba(12, 24, 18, .55);--link-hover: #c8f56a;--error-bg: rgba(248, 113, 113, .16);--error-text: #ffd8d8;--ok-bg: rgba(74, 222, 128, .15);--ok-text: #c7f9d4;--output-bg: linear-gradient(180deg, #0a1812 0%, #081410 100%);--output-text: #d8f0dc;--secondary-hover-bg: rgba(168, 196, 173, .1);--accent-soft-bg: rgba(158, 240, 26, .12);--accent-border-soft: rgba(158, 240, 26, .35);--accent-border-medium: rgba(158, 240, 26, .45);--accent-border-strong: rgba(158, 240, 26, .5);--highlight-text: #edf8ee;--review-text: #d4ecd8;--danger-bg: rgba(220, 80, 80, .2);--danger-border: rgba(220, 80, 80, .55);--danger-text: #ffb4b4;--danger-hover-bg: rgba(220, 80, 80, .35);--scrollbar-thumb: rgba(158, 240, 26, .55);--scrollbar-track: rgba(10, 20, 16, .55);--security-banner-bg: rgba(14, 28, 20, .88);--security-banner-warn-bg: rgba(250, 204, 21, .12);--table-header-bg: rgba(255, 255, 255, .03);--table-row-border: rgba(168, 196, 173, .18);--image-border: rgba(168, 196, 173, .3);--warn-border-soft: rgba(250, 204, 21, .45)}[data-theme=ember-dusk]{--bg-app: #16110f;--bg-app-alt: #1d1713;--bg-surface: #221915;--line: #3d2f28;--line-strong: #4a3931;--text-primary: #f8ece6;--text-secondary: #c9b0a4;--text-muted: #9a8175;--brand-primary: #c45c26;--brand-primary-hover: #d66a30;--brand-primary-pressed: #ad4f20;--brand-accent: #ff8f6b;--btn-primary-text: #fff8f4;--ok: #34d399;--warn: #fbbf24;--error: #fb7185;--focus-ring: 0 0 0 3px rgba(255, 143, 107, .35);--body-gradient-1: rgba(196, 92, 38, .16);--body-gradient-2: rgba(255, 143, 107, .1);--card-bg: linear-gradient(180deg, rgba(34, 25, 21, .98) 0%, rgba(29, 23, 19, .92) 100%);--card-shadow: 0 0 0 1px rgba(196, 92, 38, .14), 0 12px 30px rgba(10, 6, 4, .35);--brand-title-gradient: linear-gradient(135deg, #c45c26 0%, #ff8f6b 100%);--chip-text: #dcc8be;--chip-active-bg: rgba(255, 143, 107, .15);--chip-active-text: #ffe8df;--surface-muted: rgba(22, 17, 15, .82);--surface-border-soft: rgba(201, 176, 164, .18);--surface-elevated: rgba(24, 18, 15, .65);--surface-elevated-soft: rgba(24, 18, 15, .55);--link-hover: #ffb497;--error-bg: rgba(251, 113, 133, .16);--error-text: #ffd6dc;--ok-bg: rgba(52, 211, 153, .15);--ok-text: #c7f5e3;--output-bg: linear-gradient(180deg, #1a1411 0%, #15100e 100%);--output-text: #f0ddd4;--secondary-hover-bg: rgba(201, 176, 164, .1);--accent-soft-bg: rgba(255, 143, 107, .12);--accent-border-soft: rgba(255, 143, 107, .35);--accent-border-medium: rgba(255, 143, 107, .45);--accent-border-strong: rgba(255, 143, 107, .5);--highlight-text: #f8ece6;--review-text: #ecd8cf;--danger-bg: rgba(220, 80, 80, .2);--danger-border: rgba(220, 80, 80, .55);--danger-text: #ffb4b4;--danger-hover-bg: rgba(220, 80, 80, .35);--scrollbar-thumb: rgba(255, 143, 107, .55);--scrollbar-track: rgba(22, 17, 15, .55);--security-banner-bg: rgba(28, 20, 17, .88);--security-banner-warn-bg: rgba(251, 191, 36, .12);--table-header-bg: rgba(255, 255, 255, .03);--table-row-border: rgba(201, 176, 164, .18);--image-border: rgba(201, 176, 164, .3);--warn-border-soft: rgba(251, 191, 36, .45)}[data-theme=arctic-night]{--bg-app: #0b1218;--bg-app-alt: #101a24;--bg-surface: #121c26;--line: #243544;--line-strong: #2d4254;--text-primary: #e8f4ff;--text-secondary: #a8c0d8;--text-muted: #7f9ab2;--brand-primary: #4a8fd4;--brand-primary-hover: #5a9de0;--brand-primary-pressed: #3f7fc4;--brand-accent: #7dd3fc;--btn-primary-text: #f4fbff;--ok: #2dd4bf;--warn: #fbbf24;--error: #f87171;--focus-ring: 0 0 0 3px rgba(125, 211, 252, .35);--body-gradient-1: rgba(74, 143, 212, .16);--body-gradient-2: rgba(125, 211, 252, .1);--card-bg: linear-gradient(180deg, rgba(18, 28, 38, .98) 0%, rgba(16, 26, 36, .92) 100%);--card-shadow: 0 0 0 1px rgba(74, 143, 212, .14), 0 12px 30px rgba(4, 10, 16, .35);--brand-title-gradient: linear-gradient(135deg, #4a8fd4 0%, #7dd3fc 100%);--chip-text: #c8d9ea;--chip-active-bg: rgba(125, 211, 252, .15);--chip-active-text: #dff4ff;--surface-muted: rgba(11, 18, 24, .82);--surface-border-soft: rgba(168, 192, 216, .18);--surface-elevated: rgba(12, 20, 28, .65);--surface-elevated-soft: rgba(12, 20, 28, .55);--link-hover: #a8e4ff;--error-bg: rgba(248, 113, 113, .16);--error-text: #ffd8d8;--ok-bg: rgba(45, 212, 191, .15);--ok-text: #c7f5ef;--output-bg: linear-gradient(180deg, #0c1620 0%, #0a121a 100%);--output-text: #d8ebff;--secondary-hover-bg: rgba(168, 192, 216, .1);--accent-soft-bg: rgba(125, 211, 252, .12);--accent-border-soft: rgba(125, 211, 252, .35);--accent-border-medium: rgba(125, 211, 252, .45);--accent-border-strong: rgba(125, 211, 252, .5);--highlight-text: #e8f4ff;--review-text: #d4e8ff;--danger-bg: rgba(220, 80, 80, .2);--danger-border: rgba(220, 80, 80, .55);--danger-text: #ffb4b4;--danger-hover-bg: rgba(220, 80, 80, .35);--scrollbar-thumb: rgba(125, 211, 252, .55);--scrollbar-track: rgba(11, 18, 24, .55);--security-banner-bg: rgba(16, 26, 36, .88);--security-banner-warn-bg: rgba(251, 191, 36, .12);--table-header-bg: rgba(255, 255, 255, .03);--table-row-border: rgba(168, 192, 216, .18);--image-border: rgba(168, 192, 216, .3);--warn-border-soft: rgba(251, 191, 36, .45)}[data-theme=clean-slate]{--bg-app: #f4f6fb;--bg-app-alt: #eef1f8;--bg-surface: #ffffff;--line: #d8deea;--line-strong: #c5cde0;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #6b7280;--brand-primary: #4f46e5;--brand-primary-hover: #5b52ef;--brand-primary-pressed: #4338ca;--brand-accent: #0d9488;--btn-primary-text: #ffffff;--ok: #059669;--warn: #d97706;--error: #dc2626;--focus-ring: 0 0 0 3px rgba(13, 148, 136, .28);--body-gradient-1: rgba(79, 70, 229, .08);--body-gradient-2: rgba(13, 148, 136, .07);--card-bg: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(248, 250, 252, .96) 100%);--card-shadow: 0 0 0 1px rgba(79, 70, 229, .08), 0 12px 30px rgba(15, 23, 42, .08);--brand-title-gradient: linear-gradient(135deg, #4f46e5 0%, #0d9488 100%);--chip-text: #374151;--chip-active-bg: rgba(13, 148, 136, .12);--chip-active-text: #065f46;--surface-muted: rgba(241, 245, 249, .95);--surface-border-soft: rgba(148, 163, 184, .35);--surface-elevated: rgba(248, 250, 252, .95);--surface-elevated-soft: rgba(241, 245, 249, .9);--link-hover: #0f766e;--error-bg: rgba(220, 38, 38, .1);--error-text: #991b1b;--ok-bg: rgba(5, 150, 105, .12);--ok-text: #065f46;--output-bg: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);--output-text: #1f2937;--secondary-hover-bg: rgba(148, 163, 184, .14);--accent-soft-bg: rgba(13, 148, 136, .1);--accent-border-soft: rgba(13, 148, 136, .28);--accent-border-medium: rgba(13, 148, 136, .38);--accent-border-strong: rgba(13, 148, 136, .45);--highlight-text: #111827;--review-text: #374151;--danger-bg: rgba(220, 38, 38, .1);--danger-border: rgba(220, 38, 38, .35);--danger-text: #991b1b;--danger-hover-bg: rgba(220, 38, 38, .16);--scrollbar-thumb: rgba(79, 70, 229, .45);--scrollbar-track: rgba(226, 232, 240, .9);--security-banner-bg: rgba(255, 255, 255, .92);--security-banner-warn-bg: rgba(217, 119, 6, .1);--table-header-bg: rgba(15, 23, 42, .04);--table-row-border: rgba(148, 163, 184, .28);--image-border: rgba(148, 163, 184, .45);--warn-border-soft: rgba(217, 119, 6, .35)}[data-theme=warm-linen]{--bg-app: #f7f2ea;--bg-app-alt: #f1ebe1;--bg-surface: #fffdf8;--line: #e4d8c8;--line-strong: #d4c4af;--text-primary: #3f2f22;--text-secondary: #6b5747;--text-muted: #8a7564;--brand-primary: #b45309;--brand-primary-hover: #c45f0c;--brand-primary-pressed: #9a4608;--brand-accent: #d97706;--btn-primary-text: #fffaf5;--ok: #15803d;--warn: #ca8a04;--error: #dc2626;--focus-ring: 0 0 0 3px rgba(217, 119, 6, .28);--body-gradient-1: rgba(180, 83, 9, .08);--body-gradient-2: rgba(217, 119, 6, .07);--card-bg: linear-gradient(180deg, rgba(255, 253, 248, .98) 0%, rgba(251, 246, 238, .96) 100%);--card-shadow: 0 0 0 1px rgba(180, 83, 9, .08), 0 12px 30px rgba(63, 47, 34, .08);--brand-title-gradient: linear-gradient(135deg, #b45309 0%, #d97706 100%);--chip-text: #5c4637;--chip-active-bg: rgba(217, 119, 6, .12);--chip-active-text: #92400e;--surface-muted: rgba(247, 242, 234, .95);--surface-border-soft: rgba(180, 152, 120, .28);--surface-elevated: rgba(255, 251, 245, .95);--surface-elevated-soft: rgba(247, 242, 234, .9);--link-hover: #b45309;--error-bg: rgba(220, 38, 38, .1);--error-text: #991b1b;--ok-bg: rgba(21, 128, 61, .12);--ok-text: #166534;--output-bg: linear-gradient(180deg, #fffaf3 0%, #f5ede2 100%);--output-text: #3f2f22;--secondary-hover-bg: rgba(180, 152, 120, .14);--accent-soft-bg: rgba(217, 119, 6, .1);--accent-border-soft: rgba(217, 119, 6, .28);--accent-border-medium: rgba(217, 119, 6, .38);--accent-border-strong: rgba(217, 119, 6, .45);--highlight-text: #3f2f22;--review-text: #5c4637;--danger-bg: rgba(220, 38, 38, .1);--danger-border: rgba(220, 38, 38, .35);--danger-text: #991b1b;--danger-hover-bg: rgba(220, 38, 38, .16);--scrollbar-thumb: rgba(180, 83, 9, .45);--scrollbar-track: rgba(228, 216, 200, .9);--security-banner-bg: rgba(255, 253, 248, .92);--security-banner-warn-bg: rgba(202, 138, 4, .1);--table-header-bg: rgba(63, 47, 34, .04);--table-row-border: rgba(180, 152, 120, .28);--image-border: rgba(180, 152, 120, .4);--warn-border-soft: rgba(202, 138, 4, .35)}[data-theme=sage-garden]{--bg-app: #eef3ec;--bg-app-alt: #e6ece3;--bg-surface: #fafcf9;--line: #d5dfd2;--line-strong: #c3d0bf;--text-primary: #243126;--text-secondary: #4f5f51;--text-muted: #708073;--brand-primary: #4d7c59;--brand-primary-hover: #578f65;--brand-primary-pressed: #426b4d;--brand-accent: #65a30d;--btn-primary-text: #f8fff8;--ok: #15803d;--warn: #ca8a04;--error: #dc2626;--focus-ring: 0 0 0 3px rgba(101, 163, 13, .28);--body-gradient-1: rgba(77, 124, 89, .08);--body-gradient-2: rgba(101, 163, 13, .07);--card-bg: linear-gradient(180deg, rgba(250, 252, 249, .98) 0%, rgba(244, 248, 242, .96) 100%);--card-shadow: 0 0 0 1px rgba(77, 124, 89, .08), 0 12px 30px rgba(36, 49, 38, .08);--brand-title-gradient: linear-gradient(135deg, #4d7c59 0%, #65a30d 100%);--chip-text: #3f4f41;--chip-active-bg: rgba(101, 163, 13, .12);--chip-active-text: #3f6212;--surface-muted: rgba(238, 243, 236, .95);--surface-border-soft: rgba(127, 150, 128, .28);--surface-elevated: rgba(248, 251, 247, .95);--surface-elevated-soft: rgba(238, 243, 236, .9);--link-hover: #4d7c59;--error-bg: rgba(220, 38, 38, .1);--error-text: #991b1b;--ok-bg: rgba(21, 128, 61, .12);--ok-text: #166534;--output-bg: linear-gradient(180deg, #f8fbf7 0%, #edf2ea 100%);--output-text: #243126;--secondary-hover-bg: rgba(127, 150, 128, .14);--accent-soft-bg: rgba(101, 163, 13, .1);--accent-border-soft: rgba(101, 163, 13, .28);--accent-border-medium: rgba(101, 163, 13, .38);--accent-border-strong: rgba(101, 163, 13, .45);--highlight-text: #243126;--review-text: #3f4f41;--danger-bg: rgba(220, 38, 38, .1);--danger-border: rgba(220, 38, 38, .35);--danger-text: #991b1b;--danger-hover-bg: rgba(220, 38, 38, .16);--scrollbar-thumb: rgba(77, 124, 89, .45);--scrollbar-track: rgba(213, 223, 210, .9);--security-banner-bg: rgba(250, 252, 249, .92);--security-banner-warn-bg: rgba(202, 138, 4, .1);--table-header-bg: rgba(36, 49, 38, .04);--table-row-border: rgba(127, 150, 128, .28);--image-border: rgba(127, 150, 128, .4);--warn-border-soft: rgba(202, 138, 4, .35)}[data-theme=ocean-breeze]{--bg-app: #edf6ff;--bg-app-alt: #e3f0fb;--bg-surface: #ffffff;--line: #cfe3f5;--line-strong: #b8d4ec;--text-primary: #0f2942;--text-secondary: #47627a;--text-muted: #68839a;--brand-primary: #0284c7;--brand-primary-hover: #0ea5e9;--brand-primary-pressed: #0369a1;--brand-accent: #06b6d4;--btn-primary-text: #f8fdff;--ok: #059669;--warn: #d97706;--error: #dc2626;--focus-ring: 0 0 0 3px rgba(6, 182, 212, .28);--body-gradient-1: rgba(2, 132, 199, .08);--body-gradient-2: rgba(6, 182, 212, .08);--card-bg: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(245, 251, 255, .96) 100%);--card-shadow: 0 0 0 1px rgba(2, 132, 199, .08), 0 12px 30px rgba(15, 41, 66, .08);--brand-title-gradient: linear-gradient(135deg, #0284c7 0%, #06b6d4 100%);--chip-text: #27465f;--chip-active-bg: rgba(6, 182, 212, .12);--chip-active-text: #0e7490;--surface-muted: rgba(237, 246, 255, .95);--surface-border-soft: rgba(120, 163, 196, .28);--surface-elevated: rgba(248, 252, 255, .95);--surface-elevated-soft: rgba(237, 246, 255, .9);--link-hover: #0284c7;--error-bg: rgba(220, 38, 38, .1);--error-text: #991b1b;--ok-bg: rgba(5, 150, 105, .12);--ok-text: #065f46;--output-bg: linear-gradient(180deg, #f8fcff 0%, #e8f3fb 100%);--output-text: #0f2942;--secondary-hover-bg: rgba(120, 163, 196, .14);--accent-soft-bg: rgba(6, 182, 212, .1);--accent-border-soft: rgba(6, 182, 212, .28);--accent-border-medium: rgba(6, 182, 212, .38);--accent-border-strong: rgba(6, 182, 212, .45);--highlight-text: #0f2942;--review-text: #27465f;--danger-bg: rgba(220, 38, 38, .1);--danger-border: rgba(220, 38, 38, .35);--danger-text: #991b1b;--danger-hover-bg: rgba(220, 38, 38, .16);--scrollbar-thumb: rgba(2, 132, 199, .45);--scrollbar-track: rgba(207, 227, 245, .9);--security-banner-bg: rgba(255, 255, 255, .92);--security-banner-warn-bg: rgba(217, 119, 6, .1);--table-header-bg: rgba(15, 41, 66, .04);--table-row-border: rgba(120, 163, 196, .28);--image-border: rgba(120, 163, 196, .4);--warn-border-soft: rgba(217, 119, 6, .35)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 700px at 100% -10%,var(--body-gradient-1),transparent 60%),radial-gradient(900px 500px at -10% 10%,var(--body-gradient-2),transparent 55%),var(--bg-app);color:var(--text-primary)}h1,h2,h3{margin-top:0;letter-spacing:.01em}p{margin:0}.page{max-width:1200px;margin:0 auto;padding:24px}.app-shell{display:grid;gap:16px}.auth-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.auth-hero{display:grid;gap:12px;align-content:start}.auth-card{display:grid;gap:14px;align-content:start}.auth-switch{display:flex;gap:8px}.auth-switch .chip{min-width:110px}.brand-title{font-size:clamp(1.9rem,2.4vw,2.5rem);line-height:1.1;margin-bottom:8px;background:var(--brand-title-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.meta{color:var(--text-secondary)}.section-title{margin-bottom:12px;font-weight:650}.row{display:flex;gap:12px}.between{justify-content:space-between;align-items:center}.page-header{margin-bottom:6px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.card{background:var(--card-bg);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}form{display:flex;flex-direction:column;gap:8px}.inline-form{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}.inline-form input{min-width:220px;flex:1 1 280px}.field-label{color:var(--text-secondary);font-size:.82rem;font-weight:600}input,button{padding:10px;border-radius:10px;transition:background-color .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1),transform .12s ease}input{background:var(--bg-app-alt);border:1px solid var(--line-strong);color:var(--text-primary)}input::placeholder{color:var(--text-muted)}input:focus-visible,button:focus-visible{outline:none;box-shadow:var(--focus-ring)}button{background:var(--brand-primary);color:var(--btn-primary-text);border:1px solid var(--brand-primary);cursor:pointer;font-weight:600}button:hover{background:var(--brand-primary-hover);border-color:var(--brand-primary-hover);transform:translateY(-1px)}button:active{background:var(--brand-primary-pressed);border-color:var(--brand-primary-pressed);transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--line-strong)}.btn-secondary:hover{background:var(--secondary-hover-bg);border-color:var(--text-secondary)}.header-action-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip{background:transparent;color:var(--chip-text);border:1px solid var(--line-strong)}.chip.active{background:var(--chip-active-bg);color:var(--chip-active-text);border-color:var(--brand-accent)}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.metrics div,.metric-tile{background:var(--surface-muted);border:1px solid var(--surface-border-soft);border-radius:10px;padding:10px;transition:border-color .18s cubic-bezier(.22,1,.36,1),transform .12s ease}.metric-tile{cursor:pointer;text-align:left;color:inherit;font:inherit}.metric-tile-static{cursor:default}.metrics div:hover,.metric-tile:hover{border-color:var(--accent-border-strong);transform:translateY(-1px)}.metric-tile-static:hover{border-color:var(--surface-border-soft);transform:none}.metric-hint{margin-top:10px}.link-button{background:none;border:none;color:var(--brand-accent);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.link-button:hover{color:var(--link-hover)}.metrics strong{display:block;font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums}.metrics span{color:var(--text-secondary);font-size:12px}.error,.status{margin:4px 0 12px;padding:10px 12px;border-radius:10px;border:1px solid transparent}.error{background:var(--error-bg);color:var(--error-text);border-color:var(--error)}.status{background:var(--ok-bg);color:var(--ok-text);border-color:var(--ok)}.security-banner{border:1px solid var(--line-strong);border-radius:12px;padding:12px;background:var(--security-banner-bg);display:grid;gap:10px}.security-banner-warn{border-color:var(--warn);background:var(--security-banner-warn-bg)}.security-banner-head{display:grid;gap:4px}.security-banner-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.output{background:var(--output-bg);color:var(--output-text);border:1px solid var(--surface-border-soft);padding:12px;border-radius:10px;max-height:280px;overflow:auto;white-space:pre-wrap;font-family:Cascadia Code,Consolas,SFMono-Regular,Menlo,Monaco,monospace;font-size:.82rem;line-height:1.45;margin-top:12px;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.output::-webkit-scrollbar{width:9px;height:9px}.output::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--brand-primary),var(--brand-accent));border-radius:999px}.output::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}.review-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;color:var(--text-secondary);background:var(--surface-elevated)}.passkey-inline{margin-top:12px}.passkey-list{margin-top:12px;display:grid;gap:10px}.passkey-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-elevated-soft)}.review-item-text{color:var(--review-text);font-size:.92rem}.review-item-link{text-align:left}.empty-state{color:var(--text-muted);border:1px dashed var(--line);border-radius:10px;padding:10px;margin-top:10px}.receipt-explorer{display:grid;grid-template-columns:260px 1fr;gap:14px}.receipt-list{display:grid;gap:8px;max-height:560px;overflow:auto;padding-right:4px}.ledger-table{width:100%;border-collapse:collapse;font-size:.9rem}.ledger-table th,.ledger-table td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left}.ledger-table th{color:var(--text-secondary);font-weight:600}.match-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.match-header-actions{display:flex;gap:8px;flex-wrap:wrap}.match-summary{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px;color:var(--text-secondary);font-size:.9rem}.match-suggestions{display:grid;gap:12px}.match-card{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--surface-elevated-soft)}.match-card.confidence-high{border-color:var(--accent-border-medium)}.match-card.confidence-medium{border-color:var(--warn-border-soft)}.match-card-score{display:flex;align-items:center;gap:10px;margin-bottom:10px}.match-card-score strong{font-size:1.2rem;color:var(--highlight-text)}.match-card-score span{color:var(--text-secondary);font-size:.85rem}.match-source{text-transform:capitalize}.match-card-body{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.match-card-body h4{margin:0 0 4px}.match-card-body p{margin:0}.match-arrow{color:var(--brand-accent);font-size:1.4rem}.match-reasons{margin:10px 0;padding-left:18px;color:var(--text-secondary);font-size:.85rem}.match-badge{display:inline-block;border-radius:999px;padding:2px 8px;font-size:.75rem}.match-badge.linked{background:var(--accent-soft-bg);color:var(--link-hover);border:1px solid var(--accent-border-soft)}.manual-link-row{display:flex;gap:6px;align-items:center;min-width:220px}.manual-link-row select{flex:1;min-width:0}.receipt-chip{text-align:left;display:grid;gap:4px;background:var(--surface-elevated);border:1px solid var(--line)}.receipt-chip strong{color:var(--highlight-text);font-size:.92rem}.receipt-chip span{color:var(--text-secondary);font-size:.8rem}.receipt-chip.active{border-color:var(--brand-accent);background:var(--accent-soft-bg)}.receipt-detail{display:grid;gap:12px}.receipt-detail-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.receipt-detail-header h4{margin:0 0 4px}.receipt-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.receipt-status-pending_review{color:#e8b84a}.receipt-status-approved{color:var(--brand-accent)}.receipt-status-rejected{color:#f08080}.receipt-review-hint{margin-top:4px;font-style:italic}.receipt-edit-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.btn-danger{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text)}.btn-danger:hover{background:var(--danger-hover-bg)}.receipt-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.receipt-image-card{display:grid;gap:6px;text-decoration:none;color:var(--text-secondary);border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--surface-elevated-soft)}.receipt-image-card img{width:100%;height:180px;object-fit:cover;border-radius:7px;border:1px solid var(--image-border);background:#000}.receipt-image-card span{font-size:.75rem;word-break:break-all}.receipt-totals{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.line-items-wrap{display:grid;gap:8px}.line-items-wrap h5{margin:0}.line-items-table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:10px;overflow:hidden}.line-items-table th,.line-items-table td{text-align:left;font-size:.84rem;padding:8px 10px;border-bottom:1px solid var(--table-row-border)}.line-items-table th{color:var(--text-secondary);background:var(--table-header-bg);font-weight:600}.line-items-table tr:last-child td{border-bottom:none}.statement-textarea{width:100%;min-height:180px;resize:vertical;border-radius:10px;border:1px solid var(--line);background:var(--surface-elevated);color:var(--text-primary);padding:10px 12px;font:inherit}.statement-textarea:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--brand-accent)}.account-list,.upload-list{margin:0;padding-left:18px;color:var(--text-secondary);font-size:.86rem}.import-review-header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.import-bulk-account{margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--table-header-bg)}.import-bulk-account .field-label{margin-bottom:6px}.import-bulk-account-row select{width:100%;max-width:420px}.import-bulk-account .meta{margin:8px 0 0}.inbound-address-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.inbound-address-list li{margin:0}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.section-title-row .section-title{margin:0}.section-title-actions{display:flex;gap:12px;flex-wrap:wrap}.transactions-filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 14px;margin-bottom:14px}.transactions-filter-grid label{display:flex;flex-direction:column;gap:4px}.transactions-list-header,.transactions-list-footer .transactions-list-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.transactions-list-header{margin-bottom:12px}.transactions-list-footer{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.transactions-pagination{display:flex;align-items:center;gap:10px}.transactions-table-wrap{overflow-x:auto}.transactions-table{min-width:720px}.transactions-table .note-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transactions-table .amount-cell{white-space:nowrap}.transactions-subnav-card .row{gap:8px}.subscriptions-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:16px;align-items:start}@media (max-width: 900px){.subscriptions-layout{grid-template-columns:1fr}}.subscriptions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.subscription-card{display:flex;gap:12px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text-primary);font:inherit;font-weight:400;cursor:pointer}.subscription-card:hover{background:var(--secondary-hover-bg);border-color:var(--accent-border-strong);color:var(--text-primary);transform:translateY(-1px)}.subscription-card:active{background:var(--secondary-hover-bg);border-color:var(--accent-border-strong);color:var(--text-primary)}.subscription-card.active{background:var(--chip-active-bg, var(--surface));color:var(--text-primary);border-color:var(--accent, #3b82f6);box-shadow:0 0 0 1px var(--accent, #3b82f6)}.subscription-card-body strong{color:var(--text-primary);font-weight:600}.subscription-card .meta{color:var(--text-secondary)}.subscription-card-logo{flex-shrink:0;width:48px;height:48px}.merchant-logo-img,.merchant-logo-placeholder{width:48px;height:48px;border-radius:8px;object-fit:contain;background:var(--table-header-bg);display:block}.subscription-detail-header .merchant-logo-img{width:64px;height:64px}.merchant-logo-placeholder{background:var(--line)}.subscription-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.subscription-detail-header{display:flex;gap:14px;align-items:center;margin-bottom:16px}.subscription-detail-header .section-title{color:var(--text-primary)}.subscriptions-charges{display:flex;flex-direction:column;gap:14px}.subscription-charge{padding:12px 0;border-bottom:1px solid var(--table-row-border)}.subscription-charge-summary{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;margin-bottom:8px}.transaction-comments-list{list-style:none;margin:0 0 8px;padding:0}.transaction-comments-list li{margin-bottom:8px;font-size:.86rem}.transaction-comment-meta{color:var(--text-secondary);font-size:.78rem}.transaction-comment-form{display:flex;gap:8px;flex-wrap:wrap}.transaction-comment-form input{flex:1;min-width:160px}.import-table-wrap{overflow-x:auto}.import-review-table{width:100%;min-width:980px;border-collapse:collapse;border:1px solid var(--line);border-radius:10px;overflow:hidden}.import-review-table th,.import-review-table td{text-align:left;font-size:.82rem;padding:8px;border-bottom:1px solid var(--table-row-border);vertical-align:top}.import-review-table th{color:var(--text-secondary);background:var(--table-header-bg)}.import-review-table input,.import-review-table select{width:100%;min-width:90px}.import-review-table tr.imported-row{opacity:.65}@media (max-width: 680px){.page{padding:16px}.auth-layout{grid-template-columns:1fr}.row.between{flex-direction:column;align-items:flex-start}.receipt-explorer{grid-template-columns:1fr}.receipt-list{max-height:none}.match-header{flex-direction:column}.match-card-body{grid-template-columns:1fr}.match-arrow{display:none}}.admin-shell{max-width:1400px}.admin-kicker{margin:0 0 4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-accent)}.admin-header{align-items:flex-start}.admin-nav{display:flex;flex-wrap:wrap;gap:8px}.admin-auth-card{max-width:420px}.admin-filters{display:grid;gap:12px}.admin-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:center}.admin-check{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.admin-grid-single{grid-template-columns:1fr}.admin-stat h3{margin-bottom:8px;font-size:15px;color:var(--text-secondary)}.admin-stat-value{margin:0;font-size:32px;font-weight:700;color:var(--text-primary)}.admin-table-card{overflow:hidden}.admin-table-wrap{overflow:auto;max-height:72vh}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}.admin-table th{position:sticky;top:0;background:var(--bg-surface);z-index:1}.admin-code{margin:0;max-width:420px;max-height:220px;overflow:auto;padding:8px;border-radius:8px;background:#00000040;border:1px solid var(--line);font-family:Consolas,Courier New,monospace;font-size:12px;white-space:pre-wrap;word-break:break-word}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.pill-ok{background:#2bcb8a26;color:var(--ok)}.pill-error{background:#ff6b6b26;color:var(--error)}.pill-warn{background:#f7b84b26;color:var(--warn)}.admin-schema-gaps{display:grid;gap:8px;margin:12px 0}.gap-sm{gap:8px}.account-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.appearance-card{grid-column:1 / -1}.appearance-active{margin-top:8px}.appearance-section{margin-top:18px;display:grid;gap:12px}.appearance-section-title{margin:0;font-size:.95rem;color:var(--text-secondary)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.theme-option{display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:start;text-align:left;padding:12px;background:var(--surface-elevated-soft);border:1px solid var(--line);color:inherit;font:inherit}.theme-option:hover{border-color:var(--brand-accent);transform:translateY(-1px)}.theme-option.active{border-color:var(--brand-accent);background:var(--accent-soft-bg);box-shadow:var(--focus-ring)}.theme-preview{position:relative;display:block;width:88px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--line-strong)}.theme-preview-bg,.theme-preview-surface,.theme-preview-brand,.theme-preview-accent{position:absolute;display:block}.theme-preview-bg{top:0;right:0;bottom:0;left:0}.theme-preview-surface{top:10px;left:10px;right:10px;height:28px;border-radius:6px;box-shadow:0 1px 2px #0000001f}.theme-preview-brand{bottom:8px;left:8px;width:28px;height:10px;border-radius:999px}.theme-preview-accent{bottom:8px;right:8px;width:18px;height:18px;border-radius:999px}.theme-option-copy{display:grid;gap:6px}.theme-option-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.theme-option-head strong{color:var(--highlight-text)}.theme-option-description{color:var(--text-secondary);font-size:.86rem;line-height:1.4}.theme-mode-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--line-strong)}.theme-mode-dark{background:#0f172a1f;color:var(--text-secondary)}.theme-mode-light{background:#ffffff8c;color:var(--text-secondary)}.automations-page{display:grid;gap:14px}.automation-address-card code.automation-address{display:inline-block;padding:8px 12px;border-radius:8px;background:var(--output-bg);border:1px solid var(--surface-border-soft);font-family:Cascadia Code,Consolas,SFMono-Regular,Menlo,Monaco,monospace;font-size:.92rem;color:var(--highlight-text)}.automation-copy-row{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-top:10px}.automation-copy-btn{flex-shrink:0}.automation-quick-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 4px}.automation-selection-count{margin-left:auto}.automation-tier{margin-top:16px;display:grid;gap:10px}.automation-merchant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.automation-merchant-chip{display:flex;align-items:flex-start;gap:10px;text-align:left;padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--surface-elevated-soft);color:inherit;font:inherit;cursor:pointer;transition:border-color .18s ease,transform .12s ease}.automation-merchant-chip:hover{border-color:var(--brand-accent);transform:translateY(-1px)}.automation-merchant-chip.active{border-color:var(--brand-accent);background:var(--accent-soft-bg);box-shadow:var(--focus-ring)}.automation-merchant-check{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;border:1px solid var(--line-strong);font-size:.75rem;font-weight:700;flex-shrink:0;color:var(--chip-active-text);background:var(--surface-muted)}.automation-merchant-chip.active .automation-merchant-check{background:var(--brand-accent);border-color:var(--brand-accent)}.automation-merchant-label{display:grid;gap:2px}.automation-merchant-label strong{color:var(--highlight-text);font-size:.95rem}.automation-merchant-note{color:var(--text-muted);font-size:.78rem}.automation-provider-chips{margin-top:10px}.automation-provider-note{margin-top:8px}.automation-instruction-block{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.automation-instruction-block:first-of-type{margin-top:8px;padding-top:0;border-top:none}.automation-instruction-block h4{margin:0 0 8px;font-size:.95rem;color:var(--highlight-text)}.automation-steps{margin:0;padding-left:1.25rem;display:grid;gap:8px;color:var(--text-secondary);line-height:1.5}.automation-tips-list{margin:0;padding-left:1.25rem;display:grid;gap:6px;color:var(--text-secondary);line-height:1.45}.automation-query{flex:1;min-width:200px;max-height:120px;margin-top:0;font-size:.78rem}.automation-vendor-list{display:grid;gap:10px;margin-top:12px}.automation-vendor-card{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--surface-elevated-soft)}.automation-vendor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.automation-vendor-actions{display:flex;gap:8px;flex-wrap:wrap}.automation-vendor-detail{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.automation-vendor-detail .output{max-height:160px}.automation-filter-hint code{font-size:.85em}.automation-footer-card{margin-bottom:8px}
