@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
:root{--background:#fff;--foreground:#1e293b;--surface:#f8fafc;--surface-border:#e2e8f0;--primary:#2563eb;--primary-light:#eff6ff;--primary-hover:#1d4ed8;--danger:#ef4444;--danger-light:#fef2f2;--success:#22c55e;--muted:#64748b;--radius:12px;--radius-sm:8px;--shadow-sm:0 1px 3px #00000014;--shadow:0 4px 12px #00000014}[data-theme=dark]{--background:#0f172a;--foreground:#f1f5f9;--surface:#1e293b;--surface-border:#334155;--primary-light:#1e3a5f;--muted:#94a3b8;--shadow-sm:0 1px 3px #0000004d;--shadow:0 4px 12px #0000004d}*,:before,:after{box-sizing:border-box}body{color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.6}.page-wrapper{max-width:1000px;margin:0 auto;padding:1rem}@media (min-width:640px){.page-wrapper{padding:2rem}}.dash-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.dash-header-brand{align-items:center;gap:.6rem;min-width:0;display:flex}.dash-header-brand h1{white-space:nowrap;margin:0;font-size:1.25rem;font-weight:700}.version-badge{color:var(--muted);background:var(--surface);border:1px solid var(--surface-border);white-space:nowrap;border-radius:20px;align-self:center;padding:.1rem .5rem;font-size:.7rem;font-weight:500}@media (min-width:640px){.dash-header-brand h1{font-size:1.5rem}}.lang-switcher{background:var(--background);color:var(--foreground);border:1px solid var(--surface-border);cursor:pointer;border-radius:20px;padding:.3rem .5rem;font-size:.875rem}.dash-header-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dash-user-name{color:var(--muted);font-size:.85rem;display:none}@media (min-width:640px){.dash-user-name{display:inline}}.dash-main{flex-direction:column;gap:1.5rem;display:flex}@media (min-width:768px){.dash-main{flex-direction:row;align-items:flex-start;gap:2rem}.dash-left{flex-direction:column;flex:350px;gap:1.5rem;display:flex}.dash-right{flex:2 420px}}.card{background:var(--background);border:1px solid var(--surface-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem}@media (min-width:640px){.card{padding:1.5rem}}.form-label{color:var(--foreground);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.form-input,.form-select{border:1.5px solid var(--surface-border);border-radius:var(--radius-sm);background:var(--background);width:100%;min-height:44px;color:var(--foreground);box-sizing:border-box;outline:none;padding:.625rem .75rem;font-family:inherit;font-size:1rem;transition:border-color .15s}.form-input:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.form-group{margin-bottom:1rem}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.4rem;min-height:44px;padding:0 1rem;font-family:inherit;font-size:.9rem;font-weight:600;text-decoration:none;transition:opacity .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);color:#fff;width:100%}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-scan{background:var(--primary-light);color:var(--primary);border:1.5px dashed var(--primary);width:100%}.btn-scan:hover:not(:disabled){background:#dbeafe}.btn-secondary{background:var(--surface);color:var(--muted);border:1.5px solid var(--surface-border);width:100%}.btn-secondary:hover:not(:disabled){background:var(--surface-border)}.btn-icon{border:1.5px solid var(--surface-border);background:var(--surface);min-width:36px;min-height:36px;color:var(--foreground);border-radius:6px;padding:0 .6rem;font-size:.8rem}.btn-icon-danger{border-color:var(--danger);color:var(--danger);background:var(--danger-light)}.btn-capture{background:var(--success);color:#fff;border:none;flex:1}.btn-stop{background:var(--danger);color:#fff;border:none;padding:0 1.25rem}.btn-link{background:var(--primary-light);min-height:36px;color:var(--primary);border:1px solid #bfdbfe;border-radius:20px;padding:0 .75rem;font-size:.85rem;font-weight:500}.btn-danger-text{color:var(--danger);background:0 0;border:none;min-height:36px;padding:0 .5rem;font-size:.9rem;font-weight:600}.btn-theme-toggle{border:1.5px solid var(--surface-border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;padding:0;font-size:1rem;transition:background .15s;display:inline-flex}.btn-theme-toggle:hover{background:var(--surface-border)}.dash-import-btn{border:1.5px solid var(--surface-border);border-radius:var(--radius-sm);background:var(--surface);width:36px;min-width:36px;height:36px;color:var(--foreground);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;text-decoration:none;transition:background .15s;display:inline-flex}.dash-import-btn:hover{background:var(--surface-border)}.trx-list{margin:0;padding:0;list-style:none}.trx-item{border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:center;gap:.75rem;padding:.875rem 0;display:flex}.trx-item:last-child{border-bottom:none}.trx-info{flex:1;min-width:0}.trx-desc{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.trx-meta{color:var(--muted);margin-top:.2rem;font-size:.8rem}.trx-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.trx-amount{color:var(--foreground);text-align:right;min-width:60px;font-size:1rem;font-weight:700}.trx-edit-row{flex-direction:column;gap:.5rem;width:100%;display:flex}.trx-edit-inputs{flex-wrap:wrap;gap:.5rem;display:flex}.trx-edit-inputs input,.trx-edit-inputs select{border:1.5px solid var(--surface-border);background:var(--background);min-height:40px;color:var(--foreground);border-radius:6px;outline:none;padding:.4rem .6rem;font-family:inherit;font-size:.9rem}.trx-edit-inputs input:focus,.trx-edit-inputs select:focus{border-color:var(--primary)}.trx-edit-desc{flex:140px}.trx-edit-cat{flex:120px}.trx-edit-amt{flex:0 90px}.trx-edit-actions{gap:.5rem;display:flex}.trx-edit-actions .btn{flex:1;min-height:40px}.section-title{color:var(--foreground);margin:0 0 1rem;font-size:1rem;font-weight:700}.analyzing-badge{text-align:center;background:var(--primary-light);color:var(--primary);border-radius:var(--radius-sm);padding:.75rem;font-size:.9rem;font-weight:500;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.header-menu-wrap{position:relative}.btn-header-menu{border:1.5px solid var(--surface-border);border-radius:var(--radius-sm);background:var(--surface);width:36px;height:36px;color:var(--foreground);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;transition:background .15s;display:inline-flex}.btn-header-menu:hover{background:var(--surface-border)}.header-menu-dropdown{background:var(--background);border:1px solid var(--surface-border);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow);z-index:100;padding:.5rem 0;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.header-menu-user{color:var(--muted);padding:.5rem 1rem .25rem;font-size:.8rem;font-weight:500}.header-menu-section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:.25rem 1rem;font-size:.75rem}.header-menu-lang-grid{grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem .75rem;display:grid}.header-menu-lang-btn{border:1px solid var(--surface-border);background:var(--surface);color:var(--foreground);cursor:pointer;text-align:left;border-radius:6px;padding:.3rem .4rem;font-size:.8rem;transition:background .1s}.header-menu-lang-btn:hover{background:var(--surface-border)}.header-menu-lang-btn.active{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.header-menu-divider{background:var(--surface-border);height:1px;margin:.4rem 0}.header-menu-item{width:100%;color:var(--foreground);text-align:left;cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .1s;display:block}.header-menu-item:hover{background:var(--surface)}.header-menu-signout{color:var(--danger)}.header-menu-theme{align-items:center;gap:.5rem;display:flex}.page-footer{text-align:center;color:var(--muted);opacity:.6;padding:1.5rem 0 .5rem;font-size:.7rem}.empty-state{text-align:center;color:var(--muted);padding:2rem 1rem;font-size:.95rem}
