:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--bg-accent:#eef0f4;--surface:#fff;--surface-2:#f3f4f7;--surface-3:#e9ebf0;--elevated:#fff;--border:#e4e6eb;--border-strong:#cfd2d9;--text:#16181d;--text-muted:#5a5f6b;--text-subtle:#888e9a;--on-primary:#fff;--primary:#1e7a55;--primary-hover:#196747;--primary-active:#145539;--primary-soft:#1e7a551a;--primary-soft-strong:#1e7a5529;--primary-border:#1e7a5559;--success:#16a34a;--success-soft:#16a34a1a;--danger:#dc2626;--danger-text:#b91c1c;--danger-soft:#dc262614;--danger-border:#dc26264d;--debit:#1e7a55;--debit-soft:#1e7a5514;--credit:#2563eb;--credit-soft:#2563eb14;--ring:#1e7a5580;--scrim:#10182873;--radius-xs:6px;--radius-s:8px;--radius-m:12px;--radius-l:16px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--shadow-1:0 1px 2px #1018280f, 0 1px 3px #10182814;--shadow-2:0 4px 12px #10182814, 0 2px 6px #1018280d;--shadow-3:0 12px 32px #10182824, 0 4px 12px #10182814;--header-bg:#ffffffb8;--ease:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.13s;--dur:.22s;--dur-slow:.36s;--pane-shift:14px;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "Cascadia Mono", "SF Mono", Consolas, monospace;font:16px/1.5 var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0e12;--bg-accent:#101218;--surface:#16181e;--surface-2:#1b1e25;--surface-3:#23262e;--elevated:#1a1d24;--border:#2a2e37;--border-strong:#3a3f4a;--text:#e8eaee;--text-muted:#a0a6b0;--text-subtle:#737985;--on-primary:#06130d;--primary:#58c396;--primary-hover:#74cfa8;--primary-active:#47ab82;--primary-soft:#58c39624;--primary-soft-strong:#58c39638;--primary-border:#58c39666;--success:#4ade80;--success-soft:#4ade8024;--danger:#f87171;--danger-text:#fca5a5;--danger-soft:#f871711f;--danger-border:#f8717159;--debit:#58c396;--debit-soft:#58c3961f;--credit:#7ba7f7;--credit-soft:#7ba7f71f;--ring:#58c3968c;--scrim:#0009;--shadow-1:0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-2:0 4px 14px #00000073, 0 2px 6px #00000059;--shadow-3:0 16px 40px #0000008c, 0 6px 16px #0006;--header-bg:#13151bb8}*{box-sizing:border-box}body{margin:0}#app{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3,h4,p{margin:0}button{font:inherit;color:inherit}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.num{font-variant-numeric:tabular-nums;text-align:right}:focus{outline:none}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-xs)}.pane-enter{animation:pane-fade-in var(--dur) var(--ease-out) both}.pane-enter--from-right{animation-name:pane-slide-from-right}.pane-enter--from-left{animation-name:pane-slide-from-left}@keyframes pane-fade-in{0%{opacity:0}}@keyframes pane-slide-from-right{0%{opacity:0;transform:translateX(var(--pane-shift))}}@keyframes pane-slide-from-left{0%{opacity:0;transform:translateX(calc(-1 * var(--pane-shift)))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--text-subtle);background-clip:content-box}.app-shell{flex-direction:column;height:100dvh;display:flex}.app-header{z-index:10;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(10px);display:flex;position:sticky;top:0}.app-header-brand{align-items:center;gap:var(--space-2);letter-spacing:.01em;color:var(--primary);white-space:nowrap;font-size:1.05rem;font-weight:700;display:flex}.app-tabs{align-items:center;gap:var(--space-1);margin-left:auto;display:flex;overflow-x:auto}.app-tab{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:none;display:flex}.app-tab:hover{background:var(--surface-2);color:var(--text)}.app-tab-active{background:var(--primary-soft);color:var(--primary);font-weight:600}.app-header-links{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.theme-toggle,.app-link{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text-muted);cursor:pointer;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover,.app-link:hover{color:var(--text);border-color:var(--border-strong);text-decoration:none}.app-main{flex:1;min-height:0;overflow-y:auto}@media (width<=640px){.app-tab span{display:none}.app-header{padding:var(--space-3);gap:var(--space-2)}}.mistai-status-panel{border:1px solid var(--mistai-border,#d6dee8);background:var(--mistai-surface,#fff);border-radius:8px;flex-direction:column;gap:14px;padding:14px;display:flex}.mistai-status-line{color:var(--mistai-text,#1f2937);align-items:center;gap:8px;font-size:13px;display:flex}.mistai-status-dot{background:#94a3b8;border-radius:999px;flex:none;width:9px;height:9px}.mistai-status-dot.connecting,.mistai-status-dot.joining,.mistai-status-dot.searching{background:#b45309;animation:1.2s ease-in-out infinite mistai-status-pulse}.mistai-status-dot.connected{background:#16a34a}.mistai-status-dot.error{background:#dc2626}@keyframes mistai-status-pulse{0%,to{opacity:1}50%{opacity:.4}}.mistai-status-detail{color:var(--mistai-text-muted,#64748b);margin:4px 0 0;font-size:12px}.mistai-status-detail.error{color:#b91c1c}.mistai-status-details{margin-top:4px}.mistai-status-details>summary{cursor:pointer;color:var(--mistai-text-muted,#64748b);-webkit-user-select:none;user-select:none;font-size:12px}.mistai-status-details[open]>summary{margin-bottom:6px}.mistai-status-details h4{color:var(--mistai-text-strong,#0f172a);margin:10px 0 6px;font-size:13px}.mistai-hint{color:var(--mistai-text-muted,#64748b);margin:4px 0 0;font-size:12px}.mistai-peer-list,.mistai-log-list{flex-direction:column;gap:4px;margin:4px 0 0;padding:0;list-style:none;display:flex}.mistai-peer-list li,.mistai-log-list li{color:var(--mistai-text-muted,#64748b);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.mistai-log-more{border:1px solid var(--mistai-border,#d6dee8);background:var(--mistai-surface,#fff);color:var(--mistai-text-muted,#64748b);cursor:pointer;border-radius:999px;align-self:flex-start;margin-top:6px;padding:2px 8px;font-size:11px}.mistai-log-badge{color:var(--mistai-text-strong,#0f172a);background:#e2e8f0;border-radius:999px;align-items:center;margin-right:6px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.mistai-log-badge.started{color:#1d4ed8;background:#dbeafe}.mistai-log-badge.streaming{color:#b45309;background:#fef3c7}.mistai-log-badge.done{color:#15803d;background:#dcfce7}.mistai-log-badge.error{color:#b91c1c;background:#fee2e2}.mistai-consumer-indicator{align-items:center;display:flex;position:relative}.mistai-consumer-indicator-toggle{border:1px solid var(--mistai-border,#d6dee8);background:var(--mistai-surface,#fff);color:var(--mistai-text,#1f2937);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.mistai-consumer-indicator-label{white-space:nowrap}.mistai-consumer-indicator-detail{z-index:10;border:1px solid var(--mistai-border,#d6dee8);background:var(--mistai-surface,#fff);border-radius:8px;min-width:200px;padding:10px 12px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #0f172a2e}.mistai-consumer-indicator-detail p{color:var(--mistai-text-muted,#64748b);margin:0;font-size:12px}.mistai-consumer-indicator-detail p.error{color:#b91c1c}.mistai-status-timestamp{color:var(--mistai-text-muted,#64748b);font-variant-numeric:tabular-nums;font-size:11px}.mistai-step-indicator{flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.mistai-step-indicator li{border:1px solid var(--mistai-border,#d6dee8);background:var(--mistai-surface,#fff);color:var(--mistai-text-muted,#64748b);border-radius:999px;padding:2px 8px;font-size:11px}.mistai-step-indicator li.done{color:#16a34a;border-color:#16a34a}.mistai-step-indicator li.current{color:#b45309;border-color:#b45309;font-weight:700}.ocr-trigger{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--primary-border);border-radius:var(--radius-s);background:var(--primary-soft);color:var(--primary);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);font-weight:600;display:inline-flex}.ocr-trigger:hover{background:var(--primary-soft-strong)}.ocr-overlay{z-index:100;padding:var(--space-4);background:var(--scrim);-webkit-backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ocr-modal{border-radius:var(--radius-l);border:1px solid var(--border);background:var(--elevated);width:100%;max-width:460px;max-height:min(88vh,720px);box-shadow:var(--shadow-3);transition:max-width var(--dur) var(--ease);flex-direction:column;display:flex;overflow:hidden}.ocr-modal-wide{width:92vw;max-width:960px}.ocr-modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.ocr-modal-header h3{font-size:1rem;font-weight:700}.ocr-icon-btn{border-radius:var(--radius-pill);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.ocr-icon-btn:hover{background:var(--surface-2);color:var(--text)}.ocr-modal-body{gap:var(--space-4);padding:var(--space-5);flex-direction:column;display:flex;overflow-y:auto}.ocr-dropzone{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6);border:2px dashed var(--border-strong);border-radius:var(--radius-m);color:var(--text-muted);text-align:center;cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);flex-direction:column;display:flex}.ocr-dropzone:hover,.ocr-dropzone-active{border-color:var(--primary);background:var(--primary-soft);color:var(--text)}.ocr-dropzone p{font-size:.9rem}.ocr-file-input{display:none}.ocr-draft-list{gap:var(--space-2);flex-direction:column;display:flex}.ocr-draft-list-title{color:var(--text-muted);margin:0;font-size:.8rem;font-weight:600}.ocr-draft-list ul{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ocr-draft-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);display:flex}.ocr-draft-thumb{object-fit:cover;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface-2);flex-shrink:0;width:40px;height:40px}.ocr-draft-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ocr-draft-primary{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.85rem;font-weight:600;overflow:hidden}.ocr-draft-secondary{color:var(--text-subtle);margin:0;font-size:.75rem}.ocr-draft-actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.ocr-preview{gap:var(--space-3);flex-direction:column;display:flex}.ocr-preview-img{object-fit:contain;border-radius:var(--radius-m);border:1px solid var(--border);background:var(--surface-2);width:100%;max-height:280px}.ocr-preview-actions,.ocr-result-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.ocr-primary-btn,.ocr-secondary-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-s);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);font-weight:600;display:inline-flex}.ocr-primary-btn{background:var(--primary);color:var(--on-primary);border:1px solid #0000}.ocr-primary-btn:hover{background:var(--primary-hover)}.ocr-secondary-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.ocr-secondary-btn:hover{border-color:var(--border-strong);color:var(--text)}.ocr-scanning{gap:var(--space-2);flex-direction:column;display:flex}.ocr-scanning-status{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:.9rem;display:flex}.ocr-spin{animation:ocr-spin var(--dur-slow) linear infinite}@keyframes ocr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ocr-progress-text{max-height:96px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface-2);color:var(--text-subtle);font-family:var(--mono);white-space:pre-wrap;margin:0;font-size:.72rem;line-height:1.4;overflow-y:auto}.ocr-result-columns{align-items:flex-start;gap:var(--space-5);display:flex}.ocr-result-image-pane{gap:var(--space-2);flex-direction:column;flex:0 0 42%;max-width:42%;display:flex;position:sticky;top:0}.ocr-result-image{border-radius:var(--radius-m);border:1px solid var(--border);background:var(--surface-2);cursor:zoom-in;max-height:min(70vh,640px);overflow:auto}.ocr-result-image img{object-fit:contain;width:100%;max-height:min(70vh,640px);display:block}.ocr-result-image-zoomed{cursor:zoom-out}.ocr-result-image-zoomed img{width:auto;max-width:none;max-height:none}.ocr-result-image-hint{color:var(--text-subtle);text-align:center;margin:0;font-size:.75rem}.ocr-result-form{gap:var(--space-3);flex-direction:column;flex:1;min-width:0;display:flex}@media (width<=720px){.ocr-result-columns{flex-direction:column}.ocr-result-image-pane{flex:auto;width:100%;max-width:100%;position:static}.ocr-result-image,.ocr-result-image img{max-height:40vh}}.ocr-field{gap:var(--space-1);color:var(--text-muted);flex-direction:column;font-size:.85rem;display:flex}.ocr-field input,.ocr-field select,.ocr-field textarea{font:inherit;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text)}.ocr-field input:focus,.ocr-field select:focus,.ocr-field textarea:focus{border-color:var(--primary)}.ocr-field textarea{resize:vertical}.ocr-error{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-s);border:1px solid var(--danger-border);background:var(--danger-soft);color:var(--danger-text);font-size:.85rem;display:flex}.ocr-error ul{padding-left:var(--space-4);margin:0}.ocr-done{gap:var(--space-4);padding:var(--space-4) 0;flex-direction:column;align-items:center;display:flex}.ocr-done-message{align-items:center;gap:var(--space-2);color:var(--success);font-weight:600;display:flex}.home-view{gap:var(--space-5);max-width:880px;padding:var(--space-4) var(--space-4) var(--space-6);flex-direction:column;margin:0 auto;display:flex}.home-month-nav{justify-content:center;align-items:center;gap:var(--space-3);display:flex}.home-month-btn{width:36px;height:36px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);justify-content:center;align-items:center;padding:0;display:inline-flex}.home-month-btn:hover{color:var(--text);background:var(--surface-2);border-color:var(--border-strong)}.home-month-label{min-width:9em;padding:var(--space-1) var(--space-3);color:var(--text);text-align:center;border-radius:var(--radius-s);cursor:pointer;background:0 0;border:none;font-size:1.05rem;font-weight:700}.home-month-label:hover{background:var(--surface-2)}.home-summary-grid{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.home-summary-card{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-1);display:flex}.home-summary-icon{border-radius:var(--radius-pill);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.home-summary-icon--income{color:var(--debit);background:var(--debit-soft)}.home-summary-icon--expense{color:var(--credit);background:var(--credit-soft)}.home-summary-icon--net{color:var(--primary);background:var(--primary-soft)}.home-summary-body{flex-direction:column;gap:2px;min-width:0;display:flex}.home-summary-label{color:var(--text-subtle);font-size:.72rem;font-weight:600}.home-summary-value{color:var(--text);text-align:left;white-space:nowrap;font-size:1rem;font-weight:700}.home-net-positive{color:var(--debit)}.home-net-negative{color:var(--danger)}.home-card{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-1)}.home-card-title{align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);color:var(--text);font-size:.95rem;font-weight:700;display:flex}.home-card-title svg{color:var(--primary);flex-shrink:0}.home-quick-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.home-quick-header .home-card-title{margin-bottom:0}.home-quick-form{gap:var(--space-4);margin-top:var(--space-4);flex-direction:column;display:flex}.home-kind-toggle{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.home-kind-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3);font:inherit;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-m);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);font-size:.9rem;font-weight:700;display:inline-flex}.home-kind-btn:hover{border-color:var(--border-strong)}.home-kind-btn-active-expense{color:var(--credit);background:var(--credit-soft);border-color:var(--credit)}.home-kind-btn-active-income{color:var(--debit);background:var(--debit-soft);border-color:var(--debit)}.home-field{gap:var(--space-2);flex-direction:column;display:flex}.home-field-label{color:var(--text);font-size:.82rem;font-weight:600}.home-field-row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.home-amount-wrap{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-m);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);display:flex}.home-amount-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.home-amount-yen{color:var(--text-subtle);font-size:1.3rem;font-weight:700}.home-amount-input{padding:var(--space-2) 0;font:inherit;color:var(--text);text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:none;flex:1;font-size:1.6rem;font-weight:700}.home-amount-input:focus{outline:none}.home-chip-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.home-chip{padding:var(--space-2) var(--space-3);font:inherit;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);align-items:center;font-size:.82rem;font-weight:600;display:inline-flex}.home-chip:hover{border-color:var(--border-strong)}.home-chip-active{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.home-view input[type=text],.home-view input[type=date],.home-view select{width:100%;padding:var(--space-3) var(--space-4);font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-m);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);font-size:.9rem}.home-view input[type=text]::placeholder{color:var(--text-subtle)}.home-view input[type=text]:hover:not(:focus-visible),.home-view input[type=date]:hover:not(:focus-visible),.home-view select:hover:not(:focus-visible){border-color:var(--border-strong)}.home-view input[type=text]:focus-visible,.home-view input[type=date]:focus-visible,.home-view select:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.home-ai-row{display:flex}.home-ai-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font:inherit;color:var(--primary);background:var(--primary-soft);border:1px solid var(--primary);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);font-size:.84rem;font-weight:700;display:inline-flex}.home-ai-btn:hover:not(:disabled){color:var(--on-primary);background:var(--primary)}.home-ai-btn:disabled{color:var(--text-subtle);background:var(--surface-2);border-color:var(--border);cursor:not-allowed}.home-ai-btn svg{flex-shrink:0}@keyframes home-ai-pulse{0%,to{opacity:1}50%{opacity:.4}}.home-ai-btn-loading svg{animation:home-ai-pulse 1.1s var(--ease) infinite}.home-form-error{padding:var(--space-2) var(--space-3);color:var(--danger-text);background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--radius-s);margin:0;font-size:.82rem}.home-submit-btn{padding:var(--space-3);font:inherit;color:var(--on-primary);background:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-m);cursor:pointer;transition:background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);font-size:.95rem;font-weight:700}.home-submit-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow-1)}.home-empty-card{display:flex}.home-empty-state{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-5) var(--space-4);text-align:center;flex-direction:column;display:flex}.home-empty-icon{width:56px;height:56px;color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-pill);justify-content:center;align-items:center;display:flex}.home-empty-title{color:var(--text);margin:0;font-size:.95rem;font-weight:700}.home-empty-desc{max-width:32em;color:var(--text-subtle);margin:0;font-size:.84rem;line-height:1.6}.home-content-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=640px){.home-content-grid{grid-template-columns:1fr 1fr;align-items:start}}.home-breakdown-empty{color:var(--text-subtle);margin:0;font-size:.84rem}.home-breakdown-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.home-breakdown-list--small{gap:var(--space-2)}.home-breakdown-row{align-items:center;gap:var(--space-3);grid-template-columns:5.5em 1fr auto;display:grid}.home-breakdown-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;overflow:hidden}.home-breakdown-bar-track{background:var(--primary-soft);border-radius:var(--radius-pill);height:8px;display:block;overflow:hidden}.home-breakdown-bar-fill{background:var(--primary);border-radius:var(--radius-pill);height:100%;transition:width var(--dur) var(--ease);display:block}.home-breakdown-bar-track--income{background:var(--credit-soft)}.home-breakdown-bar-fill--income{background:var(--credit)}.home-breakdown-amount{color:var(--text);white-space:nowrap;font-size:.84rem;font-weight:700}.home-breakdown-income{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.home-breakdown-subtitle{margin:0 0 var(--space-3);color:var(--text-subtle);font-size:.78rem;font-weight:700}.home-recent-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.home-recent-row{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border);grid-template-columns:3em 1fr auto auto;display:grid}.home-recent-row:last-child{border-bottom:none}.home-recent-date{color:var(--text-subtle);white-space:nowrap;font-size:.78rem}.home-recent-desc{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.home-recent-category{padding:2px var(--space-3);color:var(--text-muted);white-space:nowrap;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;font-size:.72rem;font-weight:600;display:inline-flex}.home-recent-amount{color:var(--text);white-space:nowrap;font-size:.85rem;font-weight:700}.home-amount-expense{color:var(--credit)}.home-amount-income{color:var(--debit)}.jv-view{padding:var(--space-5)}.jv-inner{gap:var(--space-4);flex-direction:column;max-width:1120px;margin:0 auto;display:flex}.jv-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.jv-filters{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.jv-actions{align-items:center;gap:var(--space-2);display:flex}.jv-select{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);color:var(--text);cursor:pointer}.jv-search{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);color:var(--text-subtle);min-width:220px;display:inline-flex}.jv-search input{min-width:0;font:inherit;color:var(--text);background:0 0;border:none;outline:none;flex:1}.jv-select:focus-visible,.jv-search:focus-within{border-color:var(--primary-border)}.jv-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font:inherit;border-radius:var(--radius-s);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:1px solid #0000;font-size:.9rem;font-weight:600;display:inline-flex}.jv-btn-primary{background:var(--primary);color:var(--on-primary)}.jv-btn-primary:hover{background:var(--primary-hover)}.jv-icon-btn{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);justify-content:center;align-items:center;display:inline-flex}.jv-icon-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.jv-icon-btn--danger:hover{color:var(--danger-text);border-color:var(--danger-border);background:var(--danger-soft)}.jv-row-actions{align-items:center;gap:var(--space-2);display:flex}.jv-table-wrap{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);box-shadow:var(--shadow-1);overflow-x:auto}.jv-table{border-collapse:collapse;width:100%;min-width:760px}.jv-table th{padding:var(--space-3) var(--space-4);text-align:left;color:var(--text-subtle);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;font-size:.78rem;font-weight:700;position:sticky;top:0}.jv-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:top;color:var(--text);font-size:.9rem}.jv-table tbody tr:last-child td{border-bottom:none}.jv-table tbody tr:hover{background:var(--surface-2)}.jv-date{white-space:nowrap;color:var(--text-muted);font-variant-numeric:tabular-nums}.jv-desc-cell{min-width:180px}.jv-desc{font-weight:600}.jv-memo{color:var(--text-subtle);margin-top:2px;font-size:.8rem}.jv-lines{gap:var(--space-1);flex-direction:column;min-width:180px;display:flex}.jv-line-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.jv-account{color:var(--text-muted);white-space:nowrap}.jv-amount{white-space:nowrap;font-weight:600}.jv-amount--debit{color:var(--debit)}.jv-amount--credit{color:var(--credit)}.jv-badge{padding:2px var(--space-2);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;font-size:.74rem;font-weight:700;display:inline-flex}.jv-badge--manual{background:var(--surface-3);color:var(--text-muted)}.jv-badge--quick{background:var(--primary-soft);color:var(--primary)}.jv-badge--ocr{background:var(--success-soft);color:var(--success)}.jv-badge--receipt{background:var(--credit-soft);color:var(--credit)}.jv-empty{align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-l);color:var(--text-subtle);text-align:center;flex-direction:column;display:flex}.jv-empty-title{color:var(--text);font-weight:700}.jv-empty-sub{color:var(--text-subtle);font-size:.88rem}.ee-overlay{z-index:100;padding:var(--space-5);background:var(--scrim);-webkit-backdrop-filter:blur(6px);animation:ee-overlay-in .16s var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes ee-overlay-in{0%{opacity:0}to{opacity:1}}.ee-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);width:100%;max-width:640px;max-height:90vh;box-shadow:var(--shadow-3);animation:ee-panel-in .22s var(--ease-out);flex-direction:column;display:flex;overflow:hidden}@keyframes ee-panel-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.ee-overlay,.ee-panel{animation-duration:1ms!important}}.ee-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.ee-title{color:var(--text);margin:0;font-size:1.05rem;font-weight:700}.ee-close{width:32px;height:32px;color:var(--text-subtle);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.ee-close:hover{background:var(--surface-2);color:var(--text)}.ee-body{gap:var(--space-4);min-height:0;padding:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ee-ai{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px dashed var(--primary-border);border-radius:var(--radius-m);background:var(--primary-soft);flex-direction:column;display:flex}.ee-ai-row{align-items:center;gap:var(--space-2);display:flex}.ee-ai-input{min-width:0;font:inherit;color:var(--text);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);flex:1}.ee-ai-input:focus-visible{border-color:var(--primary-border)}.ee-ai-input:disabled{opacity:.6}.ee-ai-btn{background:var(--surface);flex-shrink:0}.ee-ai-status{color:var(--text-muted);margin:0;font-size:.82rem}.ee-ai-error{color:var(--danger-text);margin:0;font-size:.82rem}.ee-field-row{gap:var(--space-3);display:flex}.ee-field{gap:var(--space-1);color:var(--text-muted);flex-direction:column;font-size:.82rem;font-weight:600;display:flex}.ee-field--grow{flex:1}.ee-field input,.ee-field textarea{font:inherit;color:var(--text);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);resize:vertical;font-weight:400}.ee-field input:focus-visible,.ee-field textarea:focus-visible{border-color:var(--primary-border)}.ee-lines-head{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.82rem;font-weight:600;display:flex}.ee-lines{gap:var(--space-2);flex-direction:column;display:flex}.ee-line{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) auto;display:grid}.ee-line-account,.ee-line-amount{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);color:var(--text);min-width:0}.ee-line-remove{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);width:32px;height:32px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.ee-line-remove:hover:not(:disabled){color:var(--danger-text);border-color:var(--danger-border);background:var(--danger-soft)}.ee-line-remove:disabled{opacity:.4;cursor:not-allowed}.ee-totals{gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--surface-2);flex-wrap:wrap;display:flex}.ee-totals-item{align-items:baseline;gap:var(--space-2);color:var(--text-muted);font-size:.85rem;display:flex}.ee-totals-item .num{color:var(--text);font-weight:700}.ee-totals-diff--bad .num{color:var(--danger-text)}.ee-errors{padding:var(--space-3) var(--space-4);border:1px solid var(--danger-border);border-radius:var(--radius-m);background:var(--danger-soft);color:var(--danger-text);margin:0;font-size:.85rem;list-style:inside}.ee-footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);background:var(--surface);display:flex}.ee-footer-right{align-items:center;gap:var(--space-2);display:flex}.ee-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font:inherit;border-radius:var(--radius-s);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:1px solid #0000;font-size:.88rem;font-weight:600;display:inline-flex}.ee-btn-primary{background:var(--primary);color:var(--on-primary)}.ee-btn-primary:hover{background:var(--primary-hover)}.ee-btn-ghost{border-color:var(--border);color:var(--text-muted);background:0 0}.ee-btn-ghost:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.ee-btn-danger{border-color:var(--danger-border);color:var(--danger-text);background:0 0}.ee-btn-danger:hover{background:var(--danger-soft)}@media (width<=640px){.jv-view{padding:var(--space-3)}.jv-toolbar{flex-direction:column;align-items:stretch}.jv-actions{justify-content:space-between}.ee-overlay{padding:var(--space-3)}.ee-field-row{flex-direction:column}.ee-ai-row{flex-direction:column;align-items:stretch}.ee-line{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"account account""debit credit""remove remove"}.ee-line-account{grid-area:account}}.btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);font-size:.85rem;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-ghost{color:var(--primary);background:var(--primary-soft);border-color:var(--primary-border)}.btn-ghost:hover:not(:disabled){background:var(--primary-soft-strong)}.btn-small{padding:var(--space-1) var(--space-3);font-size:.78rem}.icon-btn{width:28px;height:28px;color:var(--text-subtle);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover:not(:disabled){color:var(--text);background:var(--surface-2);border-color:var(--border)}.icon-btn.danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft);border-color:var(--danger-border)}.field{gap:var(--space-1);flex-direction:column;display:flex}.field>span:first-child{color:var(--text-muted);font-size:.8rem;font-weight:600}input[type=text],input[type=number],select{width:100%;padding:var(--space-2) var(--space-3);font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-s);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);font-size:.86rem}input:focus-visible,select:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.amt-debit{color:var(--debit);font-weight:700}.amt-credit{color:var(--credit);font-weight:700}.rpt-table-wrap{overflow-x:auto}.rpt-table{border-collapse:collapse;width:100%;font-size:.86rem}.rpt-table th,.rpt-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.rpt-table th{color:var(--text-subtle);font-size:.76rem;font-weight:700}.rpt-table tbody tr:hover{background:var(--surface-2)}.rpt-table tfoot td{border-bottom:none;border-top:2px solid var(--border-strong);color:var(--text);font-weight:700}.rpt-table-subheader td{padding-top:var(--space-3);color:var(--text-subtle);background:var(--surface-2);border-bottom:1px solid var(--border);font-size:.76rem;font-weight:700}.rpt-table-total td{color:var(--text);border-top:1px solid var(--border-strong);font-weight:700}.rpt-page{max-width:1100px;padding:var(--space-5);gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.rpt-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.rpt-tab-group{gap:var(--space-1);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);padding:3px;display:inline-flex}.rpt-tab-btn{padding:var(--space-2) var(--space-4);font:inherit;color:var(--text-muted);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;font-size:.84rem;font-weight:600}.rpt-tab-btn:hover{color:var(--text)}.rpt-tab-btn--active{color:var(--on-primary);background:var(--primary)}.rpt-tab-btn--active:hover{color:var(--on-primary)}.rpt-period{align-items:center;gap:var(--space-2);display:flex}.rpt-period select{width:auto;min-width:8em}.rpt-section{padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-1)}.rpt-section-title{margin-bottom:var(--space-3);color:var(--text);font-size:.92rem;font-weight:700}.rpt-asof{margin:calc(var(--space-3) * -1) 0 0;color:var(--text-subtle);font-size:.8rem}.rpt-stack{gap:var(--space-4);flex-direction:column;display:flex}.rpt-empty{padding:var(--space-5);color:var(--text-subtle);text-align:center;font-size:.85rem}.bs-columns{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.bs-column-title{margin-bottom:var(--space-3);color:var(--text);font-size:.92rem;font-weight:700}@media (width<=720px){.bs-columns{grid-template-columns:1fr}}.is-net-income{padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-1);justify-content:space-between;align-items:center;display:flex}.is-net-income-label{color:var(--text);font-size:.9rem;font-weight:700}.is-net-income-value{font-size:1.15rem}.rpt-chart-breakdown{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}@media (width<=720px){.rpt-chart-breakdown{grid-template-columns:1fr}}.ledger-view{gap:var(--space-5);max-width:1440px;height:100%;padding:var(--space-5);grid-template-columns:minmax(260px,320px) minmax(0,1fr);margin:0 auto;display:grid}.ledger-sidebar{gap:var(--space-4);min-height:0;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-1);flex-direction:column;display:flex;overflow-y:auto}.ledger-sidebar-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.ledger-sidebar-head h2{color:var(--text);font-size:.95rem;font-weight:700}.ledger-add-form{gap:var(--space-2);padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-m);flex-direction:column;display:flex}.ledger-form-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-1);display:flex}.ledger-account-group-title{margin-bottom:var(--space-1);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em;font-size:.74rem;font-weight:700}.ledger-account-list{margin:0 0 var(--space-3);flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.ledger-account-list li{align-items:center;gap:var(--space-1);display:flex}.ledger-account-item{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3);font:inherit;color:var(--text);border-radius:var(--radius-s);cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;flex:1;display:flex}.ledger-account-item:hover{background:var(--surface-2)}.ledger-account-item--active{color:var(--on-primary);background:var(--primary)}.ledger-account-item--active:hover{background:var(--primary-hover)}.ledger-account-item--archived{opacity:.5}.ledger-account-name{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.ledger-account-balance{flex-shrink:0;font-size:.8rem}.ledger-account-actions{flex-shrink:0;gap:2px;display:flex}.ledger-account-actions .icon-btn{width:24px;height:24px}.ledger-main{gap:var(--space-4);min-width:0;min-height:0;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-1);flex-direction:column;display:flex;overflow-y:auto}.ledger-main:has(.empty-state){justify-content:center;align-items:center}.ledger-main-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ledger-main-title{flex-direction:column;gap:2px;display:flex}.ledger-main-title h2{color:var(--text);font-size:1.05rem;font-weight:700}.ledger-main-title span{color:var(--text-subtle);font-size:.78rem}.ledger-main-balance{font-size:1.1rem}.ledger-period{align-items:center;gap:var(--space-2);display:flex}.ledger-period select{width:auto;min-width:8em}.empty-state{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-5);color:var(--text-subtle);text-align:center;flex-direction:column;display:flex}.empty-state-title{color:var(--text);font-size:.92rem;font-weight:700}.empty-state-description{max-width:32em;font-size:.82rem;line-height:1.6}@media (width<=768px){.ledger-view{height:auto;padding:var(--space-4);display:block}.ledger-sidebar{margin-bottom:var(--space-4);overflow-y:visible}.ledger-main{overflow-y:visible}.rpt-page{padding:var(--space-4)}}.chart-card{padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-1)}.chart-empty{padding:var(--space-5);color:var(--text-subtle);text-align:center;font-size:.85rem}.chart-legend{align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);color:var(--text-muted);font-size:.8rem;display:flex}.chart-legend-item{align-items:center;gap:var(--space-2);display:inline-flex}.chart-legend-chip{border-radius:var(--radius-xs);flex-shrink:0;width:10px;height:10px;display:inline-block}.chart-legend-chip--income{background:var(--debit)}.chart-legend-chip--expense{background:var(--credit)}.chart-svg-wrap{position:relative}.chart-svg{width:100%;height:auto;display:block}.chart-gridline{stroke:var(--border);stroke-width:1px}.chart-tick-label,.chart-month-label{fill:var(--text-subtle);font-variant-numeric:tabular-nums;font-size:11px}.chart-bar-income{fill:var(--debit)}.chart-bar-expense{fill:var(--credit)}.chart-col-highlight{fill:var(--surface-2)}.chart-hit-rect{fill:#0000;cursor:pointer}.chart-tooltip{top:var(--space-2);z-index:1;min-width:9em;padding:var(--space-2) var(--space-3);background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow-2);color:var(--text);pointer-events:none;white-space:nowrap;font-size:.78rem;position:absolute;transform:translate(-50%)}.chart-tooltip-title{margin-bottom:var(--space-1);color:var(--text);font-weight:700}.chart-tooltip-row{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--text-muted);display:flex}.chart-tooltip-row .chart-legend-chip{margin-right:var(--space-1)}.chart-tooltip-net{margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--border);color:var(--text);font-weight:700}.chart-cat-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.chart-cat-row{gap:var(--space-1);flex-direction:column;display:flex}.chart-cat-row-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.chart-cat-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.chart-cat-amount{color:var(--text);flex-shrink:0;font-size:.86rem}.chart-cat-track{border-radius:var(--radius-pill);height:8px;overflow:hidden}.chart-cat-bar--income{background:var(--debit-soft)}.chart-cat-bar--expense{background:var(--credit-soft)}.chart-cat-fill{border-radius:var(--radius-pill);height:100%;transition:width var(--dur) var(--ease)}.chart-cat-bar--income .chart-cat-fill{background:var(--debit)}.chart-cat-bar--expense .chart-cat-fill{background:var(--credit)}.rv-view{padding:var(--space-5)}.rv-inner{gap:var(--space-4);flex-direction:column;max-width:1120px;margin:0 auto;display:flex}.rv-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.rv-heading{flex-direction:column;gap:2px;display:flex}.rv-title{color:var(--text);font-size:1.05rem;font-weight:700}.rv-subtitle{color:var(--text-subtle);font-size:.85rem}.rv-actions{align-items:center;gap:var(--space-2);display:flex}.rv-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font:inherit;border-radius:var(--radius-s);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:1px solid #0000;font-size:.9rem;font-weight:600;display:inline-flex}.rv-btn-primary{background:var(--primary);color:var(--on-primary)}.rv-btn-primary:hover{background:var(--primary-hover)}.rv-btn-ghost{border-color:var(--border);color:var(--text-muted);background:0 0}.rv-btn-ghost:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.rv-icon-btn{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);justify-content:center;align-items:center;display:inline-flex}.rv-icon-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.rv-icon-btn--danger:hover{color:var(--danger-text);border-color:var(--danger-border);background:var(--danger-soft)}.rv-row-actions{align-items:center;gap:var(--space-2);display:flex}.rv-table-wrap{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);box-shadow:var(--shadow-1);overflow-x:auto}.rv-table{border-collapse:collapse;width:100%;min-width:760px}.rv-table th{padding:var(--space-3) var(--space-4);text-align:left;color:var(--text-subtle);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;font-size:.78rem;font-weight:700;position:sticky;top:0}.rv-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:top;color:var(--text);font-size:.9rem}.rv-table tbody tr:last-child td{border-bottom:none}.rv-table tbody tr:hover{background:var(--surface-2)}.rv-no{white-space:nowrap;color:var(--text-muted);font-family:var(--mono);font-variant-numeric:tabular-nums}.rv-date{white-space:nowrap;color:var(--text-muted);font-variant-numeric:tabular-nums}.rv-note-cell{color:var(--text-muted);min-width:140px}.rv-badge{padding:2px var(--space-2);border-radius:var(--radius-pill);white-space:nowrap;background:var(--credit-soft);color:var(--credit);align-items:center;font-size:.74rem;font-weight:700;display:inline-flex}.rv-badge--none{color:var(--text-subtle);background:0 0;font-weight:400}.rv-empty{align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-l);color:var(--text-subtle);text-align:center;flex-direction:column;display:flex}.rv-empty-title{color:var(--text);font-weight:700}.rv-empty-sub{color:var(--text-subtle);font-size:.88rem}.rv-overlay{z-index:100;padding:var(--space-5);background:var(--scrim);-webkit-backdrop-filter:blur(6px);animation:rv-overlay-in .16s var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes rv-overlay-in{0%{opacity:0}to{opacity:1}}.rv-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);width:100%;max-width:560px;max-height:90vh;box-shadow:var(--shadow-3);animation:rv-panel-in .22s var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.rv-panel--wide{max-width:720px}@keyframes rv-panel-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.rv-overlay,.rv-panel{animation-duration:1ms!important}}.rv-modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.rv-modal-title{color:var(--text);margin:0;font-size:1.05rem;font-weight:700}.rv-close{width:32px;height:32px;color:var(--text-subtle);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.rv-close:hover{background:var(--surface-2);color:var(--text)}.rv-modal-body{gap:var(--space-4);min-height:0;padding:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.rv-modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);background:var(--surface);display:flex}.rv-field-row{gap:var(--space-3);display:flex}.rv-field{gap:var(--space-1);color:var(--text-muted);flex-direction:column;font-size:.82rem;font-weight:600;display:flex}.rv-field--grow{flex:1}.rv-field input,.rv-field select{font:inherit;color:var(--text);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);font-weight:400}.rv-field input:focus-visible,.rv-field select:focus-visible{border-color:var(--primary-border)}.rv-payer-row{align-items:flex-end;gap:var(--space-2);display:flex}.rv-payer-row .rv-field{flex:1}.rv-inline-btn{padding:var(--space-2) var(--space-3);font:inherit;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);color:var(--text-muted);cursor:pointer;white-space:nowrap;font-size:.82rem;font-weight:600}.rv-inline-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.rv-checkbox-field{align-items:center;gap:var(--space-2);color:var(--text);cursor:pointer;font-size:.88rem;font-weight:600;display:flex}.rv-checkbox-field input{cursor:pointer;width:16px;height:16px}.rv-journal-fields{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--surface-2);flex-direction:column;display:flex}.rv-errors{padding:var(--space-3) var(--space-4);border:1px solid var(--danger-border);border-radius:var(--radius-m);background:var(--danger-soft);color:var(--danger-text);margin:0;font-size:.85rem;list-style:inside}.rv-preview-body{background:var(--surface-2);align-items:center}.receipt-print-sheet{color:#171717;width:100%;max-width:640px;box-shadow:var(--shadow-2);background:#fff;border:1px solid #d0d0d0;border-radius:4px;margin:0 auto;padding:40px 44px;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,serif}.rps-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:28px;display:flex}.rps-title{letter-spacing:.3em;color:#171717;margin:0;font-size:1.8rem;font-weight:700}.rps-meta{color:#444;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:4px;font-size:.82rem;display:flex}.rps-payer{color:#171717;border-bottom:1.5px solid #171717;margin-bottom:24px;padding-bottom:8px;font-size:1.3rem;font-weight:700}.rps-amount-box{align-items:baseline;gap:var(--space-3);background:#fafafa;border:2px solid #171717;border-radius:4px;margin-bottom:20px;padding:16px 20px;display:flex}.rps-amount-label{color:#444;font-size:.9rem;font-weight:700}.rps-amount-value{font-variant-numeric:tabular-nums;letter-spacing:.05em;color:#171717;flex:1;font-size:1.6rem;font-weight:700}.rps-amount-tail{color:#171717;font-size:1.2rem;font-weight:700}.rps-note{color:#222;margin-bottom:6px;font-size:.95rem}.rps-confirm{color:#444;margin-bottom:32px;font-size:.85rem}.rps-foot{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.rps-stamp{color:#999;text-align:center;writing-mode:vertical-rl;border:1px dashed #999;border-radius:2px;justify-content:center;align-items:center;width:72px;height:88px;font-size:.7rem;display:flex}.rps-issuer{text-align:right}.rps-issuer-name{color:#171717;font-size:1.05rem;font-weight:700}@media print{@page{margin:12mm}body.receipt-printing *{visibility:hidden}body.receipt-printing .receipt-print-sheet,body.receipt-printing .receipt-print-sheet *{visibility:visible}body.receipt-printing .receipt-print-sheet{width:100%;max-width:none;box-shadow:none;margin:0;position:fixed;top:0;left:0}}@media (width<=640px){.rv-view{padding:var(--space-3)}.rv-toolbar{flex-direction:column;align-items:stretch}.rv-overlay{padding:var(--space-3)}.rv-field-row{flex-direction:column}.receipt-print-sheet{padding:28px 22px}.rps-head{gap:var(--space-2);flex-direction:column}.rps-meta{align-items:flex-start}}.book-switcher{flex-shrink:0;position:relative}.book-switcher-trigger{align-items:center;gap:var(--space-2);max-width:220px;padding:var(--space-2) var(--space-3);font:inherit;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);font-size:.85rem;font-weight:600;display:inline-flex}.book-switcher-trigger:hover{color:var(--text);border-color:var(--border-strong)}.book-switcher-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-switcher-chevron{color:var(--text-subtle);transition:transform var(--dur-fast) var(--ease);flex-shrink:0}.book-switcher-chevron--open{transform:rotate(180deg)}.book-switcher-menu{top:calc(100% + var(--space-2));z-index:50;gap:var(--space-2);width:max-content;min-width:220px;max-width:min(320px,90vw);padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow-2);animation:tc-bs-menu-in var(--dur-fast) var(--ease-out);flex-direction:column;display:flex;position:absolute;left:0}@keyframes tc-bs-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.book-switcher-list{flex-direction:column;gap:2px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.book-switcher-item{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font:inherit;color:var(--text);text-align:left;border-radius:var(--radius-s);cursor:pointer;background:0 0;border:none;font-size:.85rem;display:flex}.book-switcher-item:hover{background:var(--surface-2)}.book-switcher-item--active{color:var(--primary);background:var(--primary-soft);font-weight:600}.book-switcher-item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-switcher-new{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font:inherit;color:var(--text-muted);border:1px dashed var(--border-strong);border-radius:var(--radius-s);cursor:pointer;transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);background:0 0;font-size:.85rem;font-weight:600;display:flex}.book-switcher-new:hover{color:var(--primary);background:var(--primary-soft);border-color:var(--primary-border)}.book-switcher-form{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);flex-direction:column;display:flex}.book-switcher-field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.78rem;display:flex}.book-switcher-field input,.book-switcher-field select{font:inherit;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text)}.book-switcher-field input:focus,.book-switcher-field select:focus{border-color:var(--primary)}.book-switcher-form-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.book-switcher-btn{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font:inherit;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;font-size:.78rem;font-weight:600;display:inline-flex}.book-switcher-btn:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.book-switcher-btn:disabled{opacity:.5;cursor:not-allowed}.book-switcher-btn--primary{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.book-switcher-btn--primary:hover:not(:disabled){background:var(--primary-hover)}@media (width<=640px){.book-switcher-label{display:none}.book-switcher-trigger{padding:var(--space-2)}}.server-list-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.server-list-header label{margin-bottom:0}.settings-flat-section{margin-bottom:16px}.model-row-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:8px;display:grid}.model-row{border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-1);transition:background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);flex-direction:column;align-items:flex-start;gap:6px;padding:10px 26px 10px 10px;display:flex;position:relative}.model-row:hover{background:var(--surface-2);box-shadow:var(--shadow-2);transform:translateY(-1px)}.settings-flat-section-connection .model-row{background:var(--primary-soft)}.settings-flat-section-models .model-row{background:var(--surface-3)}.model-row-main{text-align:left;cursor:pointer;width:100%;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:0;display:flex}.model-row-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.82rem;font-weight:600;overflow:hidden}.model-row-model{max-width:100%;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.model-row-provider{max-width:100%;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;font-style:italic;overflow:hidden}.model-row-badges{flex-wrap:wrap;gap:4px;display:flex}.task-badge{background:var(--primary-soft);color:var(--primary);border-radius:var(--radius-pill);white-space:nowrap;padding:2px 6px;font-size:.62rem;font-weight:600}.model-row-remove{flex-shrink:0;position:absolute;top:6px;right:6px}.model-row.model-row-editing{background:var(--surface-2);border:1px solid var(--border);box-shadow:none;flex-direction:column;grid-column:1/-1;align-items:stretch;gap:8px;padding:10px;transform:none}.model-row-edit-fields{flex-direction:column;gap:8px;display:flex}.model-row-edit-fields input{font:inherit;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text)}.model-row-edit-fields input:focus{border-color:var(--primary);outline:none}.preset-chip-remove{width:16px;height:16px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.preset-chip-remove:hover{color:var(--danger);background:var(--danger-soft)}.connection-form-model-field{align-items:center;gap:8px;display:flex}.connection-form-model-field select,.connection-form-model-field input{min-width:0;font:inherit;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text);flex:auto}.model-row-add-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.grid-add-tile{border:1px dashed var(--border-strong);border-radius:var(--radius-s);min-height:64px;color:var(--text-muted);cursor:pointer;transition:all var(--dur-fast) var(--ease);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:.72rem;display:flex}.grid-add-tile:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.grid-add-tile:disabled{opacity:.4;cursor:not-allowed}.connection-form-btn{background:var(--border);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all var(--dur-fast) var(--ease);white-space:nowrap;border-radius:8px;flex:auto;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.78rem;display:flex}.connection-form-btn:hover{color:var(--text);background:var(--surface-2)}.connection-form-btn:disabled{opacity:.4;cursor:not-allowed}.connection-form-btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.connection-form-btn-primary:hover{background:var(--primary-hover);color:var(--on-primary)}.connection-form-warning{color:var(--danger-text);margin-top:-6px;font-size:.78rem;font-style:italic}.task-model-item{border-bottom:1px solid var(--border);grid-template-columns:84px minmax(0,1fr);align-items:start;gap:8px;margin-bottom:12px;padding-bottom:12px;display:grid}.task-model-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.task-model-item>span{color:var(--text-muted);min-width:0;padding-top:8px;font-size:.75rem}.task-model-item>span[data-tip]{cursor:help;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;position:relative}.task-model-item>span[data-tip]:hover:after{content:attr(data-tip);z-index:10;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-3);width:max-content;max-width:240px;color:var(--text);box-shadow:var(--shadow-2);padding:6px 8px;font-size:.7rem;line-height:1.5;position:absolute;top:calc(100% + 4px);left:0}.task-model-fields{flex-direction:column;gap:6px;min-width:0;display:flex}.task-model-field{min-width:0;display:block}.task-model-field select{width:100%;min-width:0;font:inherit;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text)}.task-model-field select:focus{border-color:var(--primary);outline:none}.settings-flat-section .model-row.model-row-network{border:1px dashed var(--primary);background:var(--primary-soft)}.settings-view{padding:var(--space-6) var(--space-4);justify-content:center;display:flex}.settings-inner{gap:var(--space-6);flex-direction:column;width:100%;max-width:640px;display:flex}.settings-title{align-items:center;gap:var(--space-2);font-size:1.25rem;font-weight:700;display:flex}.settings-tabs{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:2px;width:fit-content;max-width:100%;padding:4px;display:flex;overflow-x:auto}.settings-tab{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font:inherit;color:var(--text-subtle);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);background:0 0;border:none;font-size:.85rem;font-weight:600;display:inline-flex}.settings-tab:hover{color:var(--text)}.settings-tab--active,.settings-tab--active:hover{color:var(--primary);background:var(--surface);box-shadow:var(--shadow-1)}.settings-section{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.settings-heading{align-items:center;gap:var(--space-2);color:var(--text);font-size:.95rem;font-weight:700;display:flex}.settings-heading-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.settings-hint{color:var(--text-muted);margin:0;font-size:.82rem}.settings-empty{padding:var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius-s);color:var(--text-subtle);text-align:center;margin:0;font-size:.85rem}.settings-field{gap:var(--space-1);color:var(--text-muted);flex-direction:column;font-size:.85rem;display:flex}.settings-field input,.settings-field select{font:inherit;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text)}.settings-field input:focus,.settings-field select:focus{border-color:var(--primary)}.settings-field-hint{color:var(--text-subtle);font-size:.78rem}.settings-book-kind-row{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.settings-book-kind-select{font:inherit;padding:2px var(--space-2);border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.78rem}.settings-book-kind-select:focus{border-color:var(--primary)}.settings-checkbox-field{align-items:center;gap:var(--space-2);color:var(--text);cursor:pointer;font-size:.88rem;display:flex}.settings-checkbox-field input{width:16px;height:16px;accent-color:var(--primary)}.settings-card-list{gap:var(--space-3);flex-direction:column;display:flex}.settings-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2);flex-direction:column;display:flex}.settings-card-head{align-items:center;gap:var(--space-2);display:flex}.settings-card-label{font:inherit;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text);flex:1;font-weight:600}.settings-badge{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary);white-space:nowrap;font-size:.72rem;font-weight:700}.settings-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);font-size:.85rem;font-weight:600;display:inline-flex}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-btn-ghost{border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.settings-btn-ghost:hover:not(:disabled){border-color:var(--primary-border);color:var(--primary)}.settings-model-field{align-items:center;gap:var(--space-2);display:flex}.settings-model-field input{font:inherit;padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text);flex:1}.settings-icon-btn{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);flex:none;justify-content:center;align-items:center;display:inline-flex}.settings-icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.settings-icon-btn:disabled{opacity:.5;cursor:not-allowed}.settings-icon-btn-loading svg{animation:settings-spin var(--dur-slow) linear infinite}@keyframes settings-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--mistai-border:var(--border);--mistai-surface:var(--surface);--mistai-text:var(--text);--mistai-text-muted:var(--text-muted);--mistai-text-strong:var(--text)}.settings-role-group{flex-direction:column;gap:12px;display:flex}.settings-role-card{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface);flex-direction:column;gap:6px;padding:12px;display:flex}.settings-role-head{cursor:pointer;flex-direction:row;align-items:center;gap:8px;display:flex}.settings-role-head input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);flex:none;margin:0}.settings-role-title{color:var(--text);align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.settings-role-title svg{color:var(--primary);flex:none}.settings-role-desc{color:var(--text-muted);margin:0;font-size:12px;line-height:1.4}.settings-role-body{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:4px;padding-top:10px;display:flex}.ob-overlay{background:var(--scrim);padding:var(--space-5);z-index:100;animation:tc-ob-overlay-in var(--dur) var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ob-card{background:var(--surface);border-radius:var(--radius-l);width:100%;max-width:600px;max-height:min(90vh,720px);box-shadow:var(--shadow-3);animation:tc-ob-card-in var(--dur) var(--ease-out);border:none;flex-direction:column;display:flex;position:relative;overflow:hidden}@keyframes tc-ob-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes tc-ob-card-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ob-close{top:var(--space-3);right:var(--space-3);appearance:none;cursor:pointer;color:var(--text-subtle);padding:var(--space-2);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;border-radius:50%;line-height:0;position:absolute}.ob-close:hover{color:var(--text);background:var(--surface-2)}.ob-body{padding:var(--space-6) var(--space-6) var(--space-5);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.ob-hero{color:var(--primary);padding:var(--space-4) 0 0;justify-content:center;display:flex}.ob-hero>svg{box-sizing:content-box;padding:var(--space-4);background:var(--primary-soft);border-radius:50%}.ob-step-head{align-items:center;gap:var(--space-3);color:var(--primary);display:flex}.ob-step-head>svg{box-sizing:content-box;padding:var(--space-2);background:var(--primary-soft);border-radius:50%;flex:none}.ob-step-head .ob-title{margin:0}.ob-title{text-align:center;color:var(--text);margin:0;font-size:1.3rem}.ob-step-head .ob-title{text-align:left;font-size:1.15rem}.ob-text{color:var(--text);margin:0;line-height:1.7}.ob-text-subtle{color:var(--text-subtle);font-size:.9rem}.ob-field{gap:var(--space-1);flex-direction:column;display:flex}.ob-label{color:var(--text);font-size:.85rem;font-weight:600}.ob-input{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-s);padding:var(--space-2) var(--space-3);width:100%;min-width:0;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}.ob-input:hover:not(:focus){background:var(--surface-2)}.ob-input:focus{outline:2px solid var(--ring);outline-offset:0;border-color:#0000}.ob-model-row{gap:var(--space-2);align-items:center;display:flex}.ob-model-row .ob-input{flex:auto}.ob-icon-btn{appearance:none;font:inherit;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);padding:var(--space-2);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border-radius:50%;flex:none;line-height:0}.ob-icon-btn:hover:not(:disabled){background:var(--surface-2)}.ob-icon-btn:disabled{opacity:.5;cursor:default}.ob-model-footer{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.ob-model-status{color:var(--text-subtle);min-width:0;font-size:.8rem}.ob-link-btn{appearance:none;cursor:pointer;color:var(--primary);background:0 0;border:none;flex:none;padding:0;font-size:.8rem}.ob-link-btn:hover{text-decoration:underline}.ob-test-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ob-card .spinner{opacity:.6;border:2px solid;border-top-color:#0000;border-radius:50%;width:1em;height:1em;animation:.6s linear infinite tc-ob-spin;display:inline-block}@keyframes tc-ob-spin{to{transform:rotate(360deg)}}.ob-test-ok{align-items:center;gap:var(--space-1);color:var(--success);white-space:nowrap;font-size:.9rem;display:inline-flex}.ob-error{color:var(--danger);margin:0;font-size:.85rem}.ob-btn{appearance:none;font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);border:1px solid var(--border-strong);color:var(--text);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);white-space:nowrap;background:0 0;flex:none;align-self:flex-start;font-weight:500;display:inline-flex}.ob-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-subtle)}.ob-btn:disabled{opacity:.5;cursor:default}.ob-btn-accent{background:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-1)}.ob-btn-accent:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:var(--shadow-2)}.ob-feature-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ob-feature-list li{align-items:flex-start;gap:var(--space-3);line-height:1.6;display:flex}.ob-feature-list li>svg{color:var(--primary);background:var(--primary-soft);box-sizing:content-box;border-radius:50%;flex:none;padding:6px}.ob-footer{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4) var(--space-6) var(--space-5);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.ob-dots{gap:var(--space-2);display:flex}.ob-dot{border-radius:var(--radius-pill);background:var(--border-strong);width:8px;height:8px;transition:background var(--dur-fast) var(--ease), width var(--dur) var(--ease)}.ob-dot.is-active{background:var(--primary);width:22px}.ob-footer-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=480px){.ob-body{padding:var(--space-5) var(--space-5) var(--space-4)}.ob-footer{padding:var(--space-4) var(--space-5) var(--space-5);justify-content:center}.ob-dots{order:1;justify-content:center;width:100%}.ob-footer-actions{order:2;justify-content:center;width:100%}}
