:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#f8fafc;--border:#e5e7eb;--hover:#f1f5f9;--text:#0f172a;--text-muted:#64748b;--primary:#2563eb;--primary-soft:#dbeafe;--positive:#16a34a;--positive-soft:#dcfce7;--negative:#dc2626;--negative-soft:#fee2e2;--warning:#d97706;--warning-soft:#fef3c7;--radius:12px;--shadow:0 1px 2px #0f172a0d, 0 1px 3px #0f172a0a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1120;--surface:#111827;--surface-2:#0f172a;--border:#1f2937;--hover:#1e293b;--text:#e5e7eb;--text-muted:#94a3b8;--primary:#3b82f6;--primary-soft:#1e3a8a55;--positive:#22c55e;--positive-soft:#14532d55;--negative:#f87171;--negative-soft:#7f1d1d55;--warning:#fbbf24;--warning-soft:#78350f55;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b1120;--surface:#111827;--surface-2:#0f172a;--border:#1f2937;--hover:#1e293b;--text:#e5e7eb;--text-muted:#94a3b8;--primary:#3b82f6;--primary-soft:#1e3a8a55;--positive:#22c55e;--positive-soft:#14532d55;--negative:#f87171;--negative-soft:#7f1d1d55;--warning:#fbbf24;--warning-soft:#78350f55;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3{margin:0}button{font:inherit;color:inherit}.muted{color:var(--text-muted)}.small{font-size:12px}.block{display:block}.positive{color:var(--positive)}.negative{color:var(--negative)}.warning-text{color:var(--warning);align-items:center;gap:4px;display:inline-flex}.inline{align-items:center;gap:10px;display:inline-flex}.link{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:none}.app{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;align-self:flex-start;gap:16px;width:248px;height:100vh;padding:16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.brand .icon-btn{margin-left:auto}.brand-logo{background:var(--primary);color:#fff;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.family-switch{flex-direction:column;gap:6px;display:flex}.nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.nav-section{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:14px 10px 6px;font-size:11px}.nav-link{color:var(--text-muted);border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{background:var(--hover);color:var(--text)}.nav-link.active{background:var(--primary-soft);color:var(--primary)}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:10px;padding-top:14px;display:flex}.reset-link{color:var(--text-muted);align-self:flex-start;margin-top:-6px}.reset-link:hover{color:var(--primary)}.sidebar-user{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:5;align-items:center;gap:12px;height:60px;padding:0 28px;display:flex;position:sticky;top:0}.topbar-family{font-weight:600}.month-picker{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;align-items:center;gap:4px;margin-left:auto;padding:2px;display:flex}.month-label{text-align:center;min-width:150px;font-weight:500}.month-label:first-letter{text-transform:uppercase}.content{flex-direction:column;gap:20px;width:100%;max-width:1400px;padding:24px 28px 48px;display:flex}.only-mobile,.icon-btn.only-mobile,.sidebar-backdrop{display:none}@media (width<=900px){.sidebar{z-index:30;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar-open{transform:none;box-shadow:0 0 40px #00000040}.sidebar-backdrop{z-index:20;background:#0000004d;display:block;position:fixed;inset:0}.only-mobile,.icon-btn.only-mobile{display:inline-grid}.topbar{padding:0 16px}.topbar-family{display:none}.month-label{min-width:120px}.content{padding:16px}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-header h1{letter-spacing:-.01em;font-size:24px}.page-header p{margin:4px 0 0}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-md{padding:8px 14px}.btn-sm{padding:5px 10px;font-size:13px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-secondary{background:var(--surface);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--hover)}.btn-ghost{color:var(--primary);background:0 0}.btn-ghost:hover{background:var(--hover)}.btn-danger{background:var(--negative);color:#fff}.icon-btn{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--hover);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.card-title{font-size:15px;font-weight:600}.card-actions{align-items:center;gap:4px;display:flex}.card-body{padding:18px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.stat-top{color:var(--text-muted);justify-content:space-between;align-items:center;display:flex}.stat-icon{background:var(--hover);border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.stat-positive .stat-icon{background:var(--positive-soft);color:var(--positive)}.stat-negative .stat-icon{background:var(--negative-soft);color:var(--negative)}.stat-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:8px;font-size:24px;font-weight:700}.stat-positive .stat-value{color:var(--positive)}.stat-negative .stat-value{color:var(--negative)}.stat-hint{color:var(--text-muted);margin-top:4px;font-size:12px}.grid-2{grid-template-columns:3fr 2fr;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.groups-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.accounts-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}@media (width<=1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3{grid-template-columns:1fr}}@media (width<=560px){.stats-grid,.stats-3,.groups-grid{grid-template-columns:1fr}}.simple-list,.budget-list,.tx-list,.category-list,.member-list,.budget-table,.legend-list{margin:0;padding:0;list-style:none}.simple-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.simple-list li:last-child{border-bottom:0}.budget-list li{flex-direction:column;gap:6px;padding:8px 0;display:flex}.budget-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.budget-name{flex:1;font-weight:500}.budget-values{font-variant-numeric:tabular-nums;font-size:13px}.tx-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 18px;display:flex}.tx-row:last-child{border-bottom:0}.tx-row:hover{background:var(--surface-2)}.tx-main{flex:1;min-width:0}.tx-desc{align-items:center;gap:8px;font-weight:500;display:flex}.tx-meta{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.tx-side{text-align:right}.tx-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.tx-date{font-size:12px}.row-actions{gap:2px;display:flex}.budget-table li{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:16px 18px;display:flex}.budget-table li:last-child{border-bottom:0}.budget-main{flex-direction:column;flex:1;gap:6px;display:flex}.category-list li{align-items:center;gap:8px;padding:4px 0;display:flex}.category-name{text-align:left;cursor:text;background:0 0;border:0;border-radius:6px;flex:1;padding:6px 8px}.category-name:hover{background:var(--hover)}.category-list .input{flex:1}.member-list li{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;display:flex}.member-list li:last-child{border-bottom:0}.member-info{flex-direction:column;flex:1;min-width:0;display:flex}.member-list .input{width:auto}.add-inline{border-top:1px dashed var(--border);gap:8px;margin-top:12px;padding-top:12px;display:flex}.add-inline .input{flex:1;min-width:0}.donut-wrap{flex-direction:column;gap:8px;display:flex}.legend-list li{align-items:center;gap:8px;padding:5px 0;font-size:13px;display:flex}.legend-name{flex:1}.legend-value{font-variant-numeric:tabular-nums}.legend-pct{text-align:right;width:38px}.dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.account-card{align-items:center;gap:12px;display:flex}.account-icon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:10px;place-items:center;display:grid}.account-info{flex-direction:column;flex:1;min-width:0;display:flex}.account-balance{font-variant-numeric:tabular-nums;margin:16px 0 8px;font-size:22px;font-weight:700}.account-footer{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.goal-head{justify-content:space-between;align-items:center;display:flex}.goal-values{align-items:baseline;gap:8px;display:flex}.badge{background:var(--hover);color:var(--text-muted);border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-positive{background:var(--positive-soft);color:var(--positive)}.badge-negative{background:var(--negative-soft);color:var(--negative)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-info{background:var(--primary-soft);color:var(--primary)}.avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:inline-grid}.group-icon{border-radius:10px;flex-shrink:0;place-items:center;display:inline-grid}.progress{background:var(--hover);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:var(--primary);border-radius:999px;height:100%;transition:width .3s}.progress-warn{background:var(--warning)}.progress-over{background:var(--negative)}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:36px 20px;display:flex}.empty p{margin:0}.loading{color:var(--text-muted);justify-content:center;align-items:center;gap:10px;padding:32px;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:8px 10px}.input:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.input-sm{padding:5px 8px;font-size:13px}textarea.input{resize:vertical}.field{flex-direction:column;gap:6px;display:flex}.field-full{grid-column:1/-1}.field-label{color:var(--text-muted);font-size:12px;font-weight:500}.field-hint{color:var(--text-muted);font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=560px){.form-grid{grid-template-columns:1fr}}.form-error{color:var(--negative);margin:12px 0 0}.color-picker{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px}.swatch-active{outline:2px solid var(--text);outline-offset:2px}.icon-picker{flex-wrap:wrap;gap:6px;display:flex}.icon-choice{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:36px;height:36px;color:var(--text-muted);border-radius:8px;place-items:center;display:grid}.icon-choice-active{border-width:2px}.segmented{background:var(--hover);border-radius:10px;margin-bottom:16px;padding:3px;display:flex}.segmented-inline{align-self:flex-start;margin-bottom:0}.segment{cursor:pointer;color:var(--text-muted);background:0 0;border:0;border-radius:8px;flex:1;padding:7px 16px;font-weight:500}.segment-active{background:var(--surface);box-shadow:var(--shadow)}.segment-despesa{color:var(--negative)}.segment-receita{color:var(--positive)}.filters{flex-wrap:wrap;gap:10px;display:flex}.filters .input{width:auto}.search{flex:1;min-width:220px;position:relative}.search svg{color:var(--text-muted);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search .input{width:100%;padding-left:32px}.totals-bar{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;gap:24px;margin-top:14px;padding-top:14px;display:flex}.totals-bar strong{font-variant-numeric:tabular-nums;margin-left:6px}.table-toolbar{border-bottom:1px solid var(--border);padding:14px 18px}.table-toolbar .input{max-width:320px}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 18px;font-size:12px;font-weight:500}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 18px}.table tr:last-child td{border-bottom:0}.row-inactive td{opacity:.55}.modal-backdrop{z-index:50;background:#0f172a73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:100%;max-height:calc(100vh - 32px);display:flex;box-shadow:0 20px 50px #00000040}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h3{font-size:16px}.modal-body{padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.toasts{z-index:60;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.toast{color:#fff;border-radius:10px;max-width:360px;padding:10px 14px;animation:.2s ease-out slide;box-shadow:0 8px 24px #0003}.toast-success{background:#15803d}.toast-error{background:#b91c1c}.toast-info{background:#1d4ed8}@keyframes slide{0%{opacity:0;transform:translateY(8px)}}.accent{color:var(--primary)}.num{font-variant-numeric:tabular-nums;text-align:right}.smart-actions{gap:8px;margin-left:auto;display:flex}.smart-actions+.month-picker{margin-left:0}@media (width<=900px){.smart-actions{display:none}.month-picker{margin-left:auto}}.ai-status{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.ai-status-claude,.ai-status-api{color:var(--positive)}.ai-status-demo{color:var(--warning)}.only-mobile-flex{display:none}@media (width<=900px){.only-mobile-flex{display:flex}}.fab-group{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:15;flex-direction:column;align-items:center;gap:10px;position:fixed}.fab{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 8px 24px #2563eb66}.fab-secondary{background:var(--surface);width:44px;height:44px;color:var(--primary);border:1px solid var(--border);box-shadow:0 4px 14px #0000001f}@media (width<=900px){.toasts{bottom:100px}.content{padding-bottom:110px}}.suggest-chip{border:1px dashed var(--primary);color:var(--primary);background:var(--primary-soft);cursor:pointer;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:2px 10px;font-size:12px;display:inline-flex}.insight-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.insight{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;gap:12px;padding:12px 14px;display:flex}.insight p{margin:4px 0 0}.insight-icon{background:var(--hover);width:30px;height:30px;color:var(--text-muted);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.insight-positive .insight-icon{background:var(--positive-soft);color:var(--positive)}.insight-negative .insight-icon{background:var(--negative-soft);color:var(--negative)}.insight-warning .insight-icon{background:var(--warning-soft);color:var(--warning)}.insight-info .insight-icon{background:var(--primary-soft);color:var(--primary)}.scan-pick{flex-direction:column;align-items:stretch;gap:14px;display:flex}.scan-pick>.link{align-self:center}.dropzone{border:2px dashed var(--border);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;transition:border-color .15s,background .15s;display:flex}.dropzone p{max-width:360px;margin:0}.dropzone-active{border-color:var(--primary);background:var(--primary-soft)}.dropzone-icon{background:var(--primary-soft);width:60px;height:60px;color:var(--primary);border-radius:16px;place-items:center;margin-bottom:4px;display:grid}.scan-buttons{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.ai-note{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;display:flex}.ai-note svg{color:var(--primary);flex-shrink:0;margin-top:2px}.scan-reading{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:8px 0;display:flex}.scan-reading p{margin:0}.scan-preview{border:1px solid var(--border);border-radius:10px;width:220px;max-width:100%;position:relative;overflow:hidden}.scan-preview img{object-fit:cover;width:100%;max-height:320px;display:block}.scan-beam{background:var(--primary);height:3px;box-shadow:0 0 16px 4px var(--primary);animation:1.6s ease-in-out infinite alternate beam;position:absolute;left:0;right:0}@keyframes beam{0%{top:4%}to{top:94%}}@media (prefers-reduced-motion:reduce){.scan-beam{animation:none;top:50%}}.scan-review{grid-template-columns:200px minmax(0,1fr);gap:20px;display:grid}@media (width<=700px){.scan-review{grid-template-columns:1fr}.scan-side{flex-direction:row;align-items:center}.scan-thumb{width:90px}}.scan-side{flex-direction:column;gap:12px;display:flex}.scan-thumb{border:1px solid var(--border);object-fit:cover;border-radius:10px;width:100%;max-height:320px}.scan-thumb-empty{aspect-ratio:3/4;color:var(--text-muted);background:var(--surface-2);place-items:center;display:grid}.confidence{flex-direction:column;flex:1;gap:4px;display:flex}.scan-main{flex-direction:column;gap:14px;min-width:0;display:flex}.callout{border-radius:10px;gap:10px;padding:10px 12px;font-size:13px;display:flex}.callout p{margin:0}.callout svg{flex-shrink:0;margin-top:2px}.callout-warning{background:var(--warning-soft);color:var(--text)}.callout-warning svg{color:var(--warning)}.items-head{justify-content:space-between;align-items:center;display:flex}.items-table-wrap{border:1px solid var(--border);border-radius:10px;max-height:300px;overflow:auto}.items-table{border-collapse:collapse;width:100%;font-size:13px}.items-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface);padding:8px 10px;font-size:12px;font-weight:500;position:sticky;top:0}.items-table td{border-bottom:1px solid var(--border);padding:6px 10px}.items-table tr:last-child td{border-bottom:0}.items-table td:first-child{min-width:180px}.items-table input.num{width:90px}.split-box{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.split-box p{margin:0}.switch{cursor:pointer;align-items:center;gap:8px;font-weight:500;display:inline-flex}.switch input{width:16px;height:16px;accent-color:var(--primary)}.split-list{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.split-list li{align-items:center;gap:10px;display:flex}.split-list strong{margin-left:auto}.chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chips-center{justify-content:center;max-width:640px}.chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);border-radius:999px;padding:5px 12px;font-size:13px}.chip:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.draft-list{flex-direction:column;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:flex}.draft-list li{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.draft-bad{border-color:var(--warning)!important}.draft-top{align-items:center;gap:8px;display:flex}.draft-desc{flex:1;min-width:0;font-weight:500}.draft-amount{width:110px}.draft-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.draft-meta .input{width:auto;max-width:100%}.input-error{border-color:var(--warning)}.tx-clickable{cursor:pointer}.src-icon{background:var(--primary-soft);width:20px;height:20px;color:var(--primary);border-radius:6px;place-items:center;display:inline-grid}.details{flex-direction:column;gap:16px;display:flex}.details-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.details-grid>div{flex-direction:column;gap:2px;display:flex}@media (width<=560px){.details-grid{grid-template-columns:1fr 1fr}}.details-receipt{border:1px solid var(--border);border-radius:10px;max-width:260px}.chat-card{flex-direction:column;height:calc(100vh - 220px);min-height:460px;display:flex}.chat-card>div{flex-direction:column;flex:1;min-height:0;display:flex}.chat-scroll{flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow-y:auto}.chat-empty{text-align:center;flex-direction:column;align-items:center;gap:6px;margin:auto;display:flex}.chat-empty p{margin:0}.chat-empty-icon{background:var(--primary-soft);width:48px;height:48px;color:var(--primary);border-radius:14px;place-items:center;display:grid}.bubble-row{align-items:flex-start;gap:10px;max-width:820px;display:flex}.bubble-user{flex-direction:row-reverse;align-self:flex-end}.bubble-avatar{background:var(--primary-soft);width:30px;height:30px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.bubble-user .bubble-avatar{background:var(--hover);color:var(--text-muted)}.bubble{background:var(--surface-2);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:14px;min-width:0;padding:10px 14px;line-height:1.5}.bubble p{margin:0 0 6px}.bubble p:last-child{margin-bottom:0}.bubble-user .bubble{background:var(--primary);color:#fff;border-color:#0000}.bubble-pending{color:var(--text-muted);font-style:italic}.chat-input{border-top:1px solid var(--border);align-items:flex-end;gap:8px;padding:12px;display:flex}.chat-input textarea{resize:none;min-height:40px;max-height:140px}.chat-error{margin:0 16px 8px}@media (width<=700px){.scan-side{flex-direction:row;align-items:center}.scan-thumb,.scan-thumb-empty{aspect-ratio:auto;width:90px;max-height:120px}}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:28px 24px;display:flex}.auth-card .brand{border:0;justify-content:center;padding:0}.auth-title{text-align:center;margin:0;font-size:20px}.auth-subtitle{text-align:center;color:var(--text-muted);margin:-8px 0 0;font-size:14px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-links{flex-direction:column;align-items:center;gap:6px;font-size:14px;display:flex}.auth-notice{background:var(--primary-soft);border-radius:8px;margin:0;padding:10px 12px;font-size:14px}.auth-check{align-items:center;gap:8px;font-size:14px;display:flex}.auth-actions{flex-wrap:wrap;gap:8px;display:flex}.sidebar-user-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;display:block;overflow:hidden}.account-stack{flex-direction:column;gap:16px;max-width:640px;display:flex}.qr-code{background:#fff;border-radius:8px;width:200px;height:200px;padding:8px;display:block}.secret-text{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.recovery-codes{background:var(--hover);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;list-style:none;display:grid}.device-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.device-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.device-list li:first-child{border-top:0}a.btn{text-decoration:none}a.btn-secondary{color:var(--text)}.input:disabled{color:var(--text-muted);background:var(--hover);cursor:not-allowed}.invite-title{margin-top:12px}.row-actions[hidden]{display:none}.chat-notice{margin:0;padding:0 16px 8px}.legal-page{background:var(--bg);min-height:100vh;padding:24px 16px}.legal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:760px;box-shadow:var(--shadow);margin:0 auto;padding:28px 24px;line-height:1.55}.legal-card .brand{border:0;padding:0}.legal-card h1{margin:16px 0 4px;font-size:24px}.legal-card h2{margin:24px 0 6px;font-size:16px}.legal-card p{margin:8px 0}.legal-card ul{margin:8px 0;padding-left:20px}.legal-links{justify-content:center;gap:12px;font-size:13px;display:flex}.danger-text{color:var(--negative)}.account-divider{border:0;border-top:1px solid var(--border);margin:16px 0}
