:root{--bg: #0f1117;--bg-surface: #181c27;--bg-hover: #1e2336;--bg-selected: #1a2340;--border: #252b3d;--border-light: #1e2436;--text-primary: #e8eaf0;--text-secondary: #7b8299;--text-muted: #4a5168;--accent: #4f7fff;--accent-hover: #6b93ff;--accent-light: rgba(79, 127, 255, .12);--success: #22c55e;--success-light: rgba(34, 197, 94, .12);--warning: #f59e0b;--warning-light: rgba(245, 158, 11, .12);--danger: #ef4444;--danger-light: rgba(239, 68, 68, .1);--radius: 8px;--radius-sm: 4px;--font: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--sidebar-w: 280px;--header-h: 56px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text-primary);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;z-index:10}.header-left,.header-right{display:flex;align-items:center;gap:12px}.logo{display:flex;align-items:center;gap:8px}.logo-icon{font-size:20px}.logo-text{font-size:16px;font-weight:600;color:var(--text-primary)}.logo-sub{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--accent);background:var(--accent-light);padding:2px 6px;border-radius:3px;text-transform:uppercase}.layout{display:flex;flex:1;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--bg-surface);border-right:1px solid var(--border);overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column;gap:0}.sidebar-section{padding:16px;border-bottom:1px solid var(--border)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-grid .stat-card:first-child{grid-column:1 / -1}.stat-card{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.stat-total{border-left:3px solid var(--accent)}.stat-new{border-left:3px solid var(--warning)}.stat-sent{border-left:3px solid var(--success)}.stat-number{font-size:24px;font-weight:700;color:var(--text-primary);line-height:1}.stat-label{font-size:11px;color:var(--text-secondary);margin-top:4px}.empty-accounts{text-align:center;padding:16px 0;color:var(--text-secondary);font-size:13px}.empty-accounts p{margin-bottom:12px}.account-card{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius);cursor:pointer;transition:background .15s;margin-bottom:4px;border:1px solid transparent}.account-card:hover{background:var(--bg-hover)}.account-active{background:var(--accent-light)!important;border-color:var(--accent)!important}.avatar-img{width:32px;height:32px;border-radius:50%;flex-shrink:0}.avatar-initials{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.account-info{flex:1;min-width:0}.account-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-email{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-sync{font-size:10px;color:var(--text-muted);margin-top:2px}.account-actions{display:flex;gap:4px;flex-shrink:0}.compta-info{margin-top:auto}.compta-email{font-size:12px;color:var(--accent);font-family:var(--font-mono);margin-top:6px}.compta-hint{font-size:11px;color:var(--text-muted);margin-top:4px}.main{flex:1;overflow:hidden;display:flex;flex-direction:column;background:var(--bg)}.filters-bar{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0}.search-input{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;color:var(--text-primary);font-size:13px;outline:none;transition:border-color .15s}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--text-muted)}.filter-select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;color:var(--text-primary);font-size:13px;outline:none;cursor:pointer}.filter-chip{background:var(--accent-light);border:1px solid var(--accent);border-radius:20px;padding:4px 10px;color:var(--accent);font-size:12px;cursor:pointer;white-space:nowrap}.action-bar{display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--bg-selected);border-bottom:1px solid var(--accent);flex-shrink:0;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.selection-count{font-size:13px;color:var(--text-secondary)}.table-wrapper{flex:1;overflow-y:auto}.invoice-table{width:100%;border-collapse:collapse}.invoice-table thead{position:sticky;top:0;background:var(--bg-surface);z-index:5}.invoice-table th{padding:10px 12px;text-align:left;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.invoice-row{cursor:pointer;transition:background .1s;border-bottom:1px solid var(--border-light)}.invoice-row:hover{background:var(--bg-hover)}.row-selected{background:var(--bg-selected)!important}.row-sent{opacity:.7}.invoice-table td{padding:10px 12px;vertical-align:middle}.col-check{width:40px}.col-date{width:110px;white-space:nowrap;color:var(--text-secondary);font-size:12px}.col-amount{width:110px}.col-account{width:100px}.col-status{width:120px}.col-confidence{width:80px}.col-actions{width:50px;text-align:center}.checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.vendor-name{font-size:13px;font-weight:500;color:var(--text-primary)}.invoice-number{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);margin-top:2px}.subject-text{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.pdf-badge{display:inline-block;font-size:9px;font-weight:700;background:var(--danger-light);color:var(--danger);padding:1px 5px;border-radius:3px;margin-top:3px;letter-spacing:.05em}.amount{font-size:13px;font-weight:600;color:var(--text-primary);font-family:var(--font-mono)}.amount-unknown{color:var(--text-muted)}.account-chip{display:inline-block;font-size:11px;background:var(--bg-hover);border:1px solid var(--border);border-radius:20px;padding:2px 8px;color:var(--text-secondary);font-family:var(--font-mono)}.status-badge{display:inline-block;font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px}.status-new{background:var(--warning-light);color:var(--warning)}.status-sent{background:var(--success-light);color:var(--success)}.sent-date{font-size:10px;color:var(--text-muted);margin-top:3px}.confidence-badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 7px;border-radius:4px;font-family:var(--font-mono)}.badge-high{background:var(--success-light);color:var(--success)}.badge-mid{background:var(--warning-light);color:var(--warning)}.badge-low{background:var(--danger-light);color:var(--danger)}.table-footer{padding:12px 20px;font-size:12px;color:var(--text-muted);border-top:1px solid var(--border);background:var(--bg-surface)}.empty-state,.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-secondary)}.empty-icon{font-size:48px}.empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary)}.empty-state p{font-size:14px;color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;border:none;transition:background .15s,transform .1s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-selected)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-compta{background:var(--success);color:#fff;font-weight:600}.btn-compta:hover:not(:disabled){background:#16a34a}.btn-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:16px;font-weight:600;transition:background .15s}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon-sm{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;transition:background .15s}.btn-icon-sm:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon-sm.btn-danger:hover{background:var(--danger-light);color:var(--danger)}.spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.spinner-large{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:var(--radius);font-size:14px;font-weight:500;z-index:1000;animation:slideUp .3s ease;max-width:360px}.toast-success{background:var(--success);color:#fff}.toast-error{background:var(--danger);color:#fff}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;width:420px;max-width:90vw;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:16px;font-weight:600}.modal-close{width:28px;height:28px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:20px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border)}.field-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.field-input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;color:var(--text-primary);font-size:13px;outline:none}.field-input:focus{border-color:var(--accent)}.field-hint{font-size:12px;color:var(--text-muted);margin-top:8px}.interval-selector{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.interval-btn{padding:6px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.interval-btn:hover{border-color:var(--accent);color:var(--accent)}.interval-active{background:var(--accent-light)!important;border-color:var(--accent)!important;color:var(--accent)!important;font-weight:600}
