@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";
:root{--font-family:"Outfit", sans-serif;--bg-app:#080b11;--bg-card:#111827b3;--bg-card-hover:#1f2937cc;--border-color:#ffffff14;--border-focus:#6366f1;--color-primary:#5f5dec;--color-primary-hover:#4e4bc9;--color-secondary:#0ea5e9;--color-secondary-hover:#0284c7;--text-main:#f3f4f6;--text-muted:#9ca3af;--text-inverse:#fff;--status-success:#10b981;--status-error:#ef4444;--status-warn:#f59e0b;--status-info:#3b82f6;--status-testing:#a855f7;--transition-fast:.2s ease;--transition-normal:.3s ease;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 12px #0000004d;--shadow-glow:0 0 15px #6366f126;--radius-sm:6px;--radius-md:10px;--radius-lg:16px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-main);min-height:100vh;font-size:14px;line-height:1.5;overflow-x:hidden}.app-container{flex-direction:column;gap:20px;max-width:1400px;margin:0 auto;padding:24px;display:flex}.app-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.logo-area{align-items:center;gap:12px;display:flex}.logo-icon{filter:drop-shadow(0 0 8px #6366f199);font-size:28px}.logo-text h1{letter-spacing:-.025em;background:linear-gradient(90deg,#fff,#93c5fd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:20px;font-weight:700}.version-tag{color:var(--text-muted);font-size:10px}.tab-navigation{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:#ffffff05;gap:8px;padding:4px;display:flex;overflow-x:auto}.tab-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;padding:8px 16px;font-size:13px;font-weight:500}.tab-btn:hover{color:var(--text-main);background-color:#ffffff08}.tab-btn.active{color:var(--text-inverse);background-color:var(--color-primary);box-shadow:var(--shadow-glow)}.grid-two-columns{grid-template-columns:1fr;align-items:start;gap:24px;display:grid}@media (min-width:992px){.grid-two-columns{grid-template-columns:1fr 1fr}}.badge{border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-disconnected{color:var(--status-error);background-color:#ef44441a;border:1px solid #ef444433}.badge-connected{color:var(--status-success);background-color:#10b9811a;border:1px solid #10b98133}.badge-testing{color:var(--status-testing);background-color:#a855f71a;border:1px solid #a855f733}.form-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:24px}.form-card h2{color:var(--text-main);margin-bottom:20px;font-size:16px;font-weight:600}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-row{gap:16px;display:flex}.form-row .form-group{flex:1}label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}input,select,textarea{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-main);transition:all var(--transition-fast);background-color:#00000040;padding:10px 14px;font-family:inherit;font-size:13px}input[type=checkbox],input[type=radio]{background:0 0;border:none;width:auto;height:auto;padding:0}input:focus,select:focus,textarea:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 2px #6366f126}.required{color:var(--status-error)}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:var(--text-inverse);box-shadow:var(--shadow-glow)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{color:var(--text-main);border:1px solid var(--border-color);background-color:#ffffff0d}.btn-secondary:hover:not(:disabled){background-color:#ffffff14}.btn-secondary-outline{color:var(--text-muted);border:1px solid var(--border-color);background:0 0}.btn-secondary-outline:hover:not(:disabled){color:var(--text-main);border-color:var(--text-muted)}.btn-danger{background-color:var(--status-error);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-full{width:100%}.btn-small{padding:6px 12px;font-size:11px}.btn:disabled{opacity:.5;cursor:not-allowed}.drop-zone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--transition-normal);background-color:#ffffff03;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;display:flex}.drop-zone:hover,.drop-zone.dragover{border-color:var(--border-focus);background-color:#6366f105}.drop-zone-icon{font-size:40px}.drop-zone-text{font-size:14px;font-weight:500}.drop-zone-or{color:var(--text-muted);font-size:12px}.autocomplete-container{width:100%;position:relative}.autocomplete-dropdown{border:1px solid var(--border-color);border-radius:var(--radius-sm);z-index:100;width:100%;max-height:200px;box-shadow:var(--shadow-md);background-color:#111827;margin-top:4px;position:absolute;top:100%;left:0;overflow-y:auto}.autocomplete-item{cursor:pointer;transition:all var(--transition-fast);padding:10px 14px;font-size:13px}.autocomplete-item:hover{background-color:#ffffff0d}.hidden{display:none!important}.table-container{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:#00000026;width:100%;overflow-x:auto}.items-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.items-table th,.items-table td{border-bottom:1px solid var(--border-color);padding:12px}.items-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background-color:#ffffff05;font-size:11px;font-weight:600}.btn-delete-row{cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:4px;font-size:14px}.btn-delete-row:hover{background-color:#ef44441a}.totals-section{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:#ffffff03;flex-direction:column;gap:12px;margin-top:16px;padding:16px;display:flex}.total-row{justify-content:space-between;align-items:center;font-weight:600;display:flex}.total-value{color:var(--color-secondary);font-size:18px}.unpaid-invoices-container{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:#00000026;flex-direction:column;gap:8px;max-height:400px;padding:8px;display:flex;overflow-y:auto}.unpaid-invoices-container::-webkit-scrollbar{width:8px}.unpaid-invoices-container::-webkit-scrollbar-track{background:#0003;border-radius:4px}.unpaid-invoices-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.unpaid-invoices-container::-webkit-scrollbar-thumb:hover{background:#fff6}.invoice-checkbox-item{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background-color:#ffffff05;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.invoice-checkbox-item input[type=checkbox]{cursor:pointer;flex-shrink:0;width:18px;height:18px;margin:0}.invoice-checkbox-item:hover{background-color:#ffffff0a;border-color:#ffffff1f}.invoice-checkbox-details{flex-direction:column;flex:1;gap:4px;margin-left:14px;display:flex}.invoice-checkbox-name{color:#fff;font-size:15px;font-weight:700}.invoice-checkbox-date{color:var(--text-muted);font-size:12px;line-height:1.4}.invoice-checkbox-amount{color:#38bdf8;font-size:16px;font-weight:700}.console-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:#05070b;padding:16px;font-family:Courier New,Courier,monospace}.console-header{color:var(--text-muted);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;font-size:12px;font-weight:700;display:flex}.console-body{flex-direction:column;gap:6px;max-height:200px;font-size:12px;display:flex;overflow-y:auto}.log-line{word-break:break-all;white-space:pre-wrap}.log-info{color:#60a5fa}.log-success{color:var(--status-success)}.log-warn{color:var(--status-warn)}.log-err{color:var(--status-error)}.status-card{border-radius:var(--radius-md);background-color:#6366f108;border:1px solid #6366f126;align-items:center;gap:16px;margin-top:16px;padding:16px;display:flex}.spinner-container{width:32px;height:32px;position:relative}.double-bounce1,.double-bounce2{background-color:var(--color-primary);opacity:.6;border-radius:50%;width:100%;height:100%;animation:2s ease-in-out infinite sk-bounce;position:absolute;top:0;left:0}.double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}.status-details{flex-direction:column;flex:1;gap:4px;display:flex}.status-details h3{font-size:13px;font-weight:600}.status-details p{color:var(--text-muted);font-size:11px}.progress-bar-bg{background-color:#ffffff0d;border-radius:3px;width:100%;height:6px;margin-top:4px;overflow:hidden}.progress-bar-fill{background-color:var(--color-primary);height:100%;transition:width var(--transition-fast);border-radius:3px}.analytics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.analytic-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:20px;display:flex}.analytic-title{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.analytic-val{color:var(--text-main);font-size:24px;font-weight:700}.analytic-sub{color:var(--status-success);font-size:11px}
