:root{font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#4b5566;background-color:#f1f2f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#f1f2f5;color:inherit}a{font-weight:500;color:#1665d4;text-decoration:none}a:hover{color:#3484f5}button{font-family:inherit}#root{min-height:100vh}.app-header{position:sticky;top:0;z-index:10;width:100%;height:64px;background:#fff;border-bottom:1px solid #E5E7EB}.app-header-inner{max-width:1600px;margin:0 auto;padding:0 1.5rem;height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-header-left{display:flex;align-items:center;gap:.75rem}.app-header-title{font-size:1rem;font-weight:600;letter-spacing:-.02em;color:#232a39}.app-header-right{display:flex;align-items:center;gap:.75rem}.app-header-sep{display:inline-block;width:1px;height:1.25rem;background:#e5e7eb}.app-shell{max-width:1600px;margin:0 auto;width:100%;padding:1.5rem 1rem 2rem;display:flex;flex-direction:column;gap:1.75rem}.login-page{max-width:620px;margin:0 auto;width:100%}.app-title{font-size:1.9rem;font-weight:600;letter-spacing:-.02em;color:#232a39}.app-subtitle{color:#6b7280;max-width:640px}.layout-grid{display:flex;flex-direction:column;gap:1.5rem}.user-menu{position:relative}.user-menu-avatar{width:2rem;height:2rem;border-radius:50%;background-color:#14275f;color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.03em;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease;flex-shrink:0}.user-menu-avatar:hover{background-color:#1665d4}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:200px;background:#fff;border:1px solid #E5E7EB;border-radius:10px;box-shadow:0 4px 8px -2px #1018281a,0 2px 4px -2px #1018280f;overflow:hidden;z-index:50}.user-menu-info{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.15rem}.user-menu-name{font-size:.875rem;font-weight:600;color:#232a39}.user-menu-email{font-size:.775rem;color:#6b7280}.user-menu-divider{height:1px;background:#f1f2f5}.user-menu-item{display:block;width:100%;padding:.6rem 1rem;text-align:left;font-size:.875rem;font-weight:400;color:#4b5566;background:transparent;border:none;cursor:pointer;transition:background-color .2s ease,color .2s ease}.user-menu-item:hover{background-color:#f1f2f5;color:#232a39}.card{background:#fff;border-radius:12px;border:1px solid #E5E7EB;box-shadow:0 1px 3px #1018281a,0 1px 2px #1018280f;padding:1.5rem 1.75rem;color:#4b5566}.card--login{padding:2.5rem 3rem}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.card-title{font-size:1.1rem;font-weight:600;letter-spacing:-.02em;color:#232a39}.card-subtitle{margin:.2rem 0 0;color:#6b7280;font-size:.87rem}.card-header-actions{display:flex;align-items:center;gap:.5rem}.btn-primary,.btn-secondary,.btn-outline,.btn-ghost,.btn-small{border-radius:999px;border:1px solid transparent;padding:.5rem .95rem;font-size:.9rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease,transform .15s ease}.btn-primary{background-color:#14275f;color:#fff;box-shadow:0 1px 3px #14275f40}.btn-primary:hover{background-color:#1665d4;box-shadow:0 4px 12px #1665d44d;transform:translateY(-1px)}.btn-primary:active{background-color:#054bad;transform:none}.btn-secondary{background-color:#f1f6fd;color:#14275f;border-color:#d2e2f8}.btn-secondary:hover{background-color:#d2e2f8;color:#054bad}.btn-outline{background-color:transparent;color:#14275f;border-color:#14275f}.btn-outline:hover{background-color:#f1f6fd;border-color:#1665d4;color:#1665d4}.btn-ghost{background-color:transparent;color:#4b5566;border-color:transparent;padding-inline:.35rem}.btn-ghost:hover{color:#14275f;background-color:#f1f6fd}.btn-small{border-color:#d1d3d6;padding:.35rem .75rem;font-size:.8rem;background-color:#fff;color:#4b5566}.btn-small:hover{border-color:#3484f5;color:#3484f5}button:disabled,.btn-small:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-outline:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.input,.select,.textarea{width:100%;border-radius:999px;border:1px solid #979BA4;background-color:#fff;color:#232a39;padding:.4rem .75rem;font-size:.85rem;outline:none;transition:border-color .3s ease,box-shadow .3s ease}.textarea{border-radius:.9rem;min-height:6rem;resize:vertical}.input::placeholder,.textarea::placeholder{color:#979ba4}.input:hover,.select:hover,.textarea:hover{box-shadow:0 1px 3px #1018281a,0 1px 2px #1018280f}.input:focus,.select:focus,.textarea:focus{border-color:#3484f5;box-shadow:0 0 0 2px #3484f533}.input--error{border-color:#f6484a99;color:#c0393b}.input--error:focus{border-color:#c0393b;box-shadow:0 0 0 2px #c0393b33}.inline-code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background-color:#f1f2f5;border:1px solid #D1D3D6;border-radius:999px;padding:.15rem .5rem;margin-left:.15rem;margin-right:.15rem;font-size:.8rem;color:#14275f}.alert-error{margin-bottom:.75rem;padding:.6rem .9rem;border-radius:.75rem;background-color:#f6484a12;border:1px solid rgba(246,72,74,.35);color:#c0393b;font-size:.82rem}.alert-success{margin-bottom:.75rem;padding:.6rem .9rem;border-radius:.75rem;background-color:#10b98112;border:1px solid rgba(16,185,129,.35);color:#0a7a55;font-size:.82rem}.qb-table{--qb-control-h: 2.15rem;--qb-operator-w: 4.75rem;border-radius:.75rem;border:1px solid #E5E7EB;background:#fff;overflow:hidden;box-shadow:0 1px 3px #10182814,0 1px 2px #1018280a}.qb-header-row,.qb-row{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,3.5fr) var(--qb-control-h);gap:.55rem;padding:.65rem .9rem;align-items:start}.qb-header-row{background-color:#f8f9fb;border-bottom:1px solid #E5E7EB;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;align-items:center}.qb-row:nth-of-type(odd){background-color:#fff}.qb-row:nth-of-type(2n){background-color:#fafbfc}.qb-row+.qb-row{border-top:1px solid #F1F2F5}.qb-values{display:flex;align-items:center;gap:.4rem;min-height:var(--qb-control-h)}.qb-boolean-hint{font-size:.82rem;color:#6b7280}.qb-actions{display:flex;justify-content:flex-end;align-items:center;min-height:var(--qb-control-h)}.qb-conditions{display:flex;flex-direction:column;gap:.4rem}.qb-condition-row{display:grid;grid-template-columns:var(--qb-operator-w) minmax(0,15rem) minmax(0,1fr) var(--qb-control-h);gap:.4rem;align-items:center;min-height:var(--qb-control-h)}.qb-condition-operator{display:flex;align-items:center;justify-content:flex-start;min-height:var(--qb-control-h)}.qb-field-autocomplete .input,.qb-condition-row .select,.qb-condition-row .input{height:var(--qb-control-h)}.qb-icon-btn{width:var(--qb-control-h);height:var(--qb-control-h);flex:0 0 auto;padding:0;font-size:.95rem;line-height:1}.qb-operator-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#979ba4}.qb-operator-select{min-width:4.5rem}.qb-condition-add{align-self:flex-start;margin-top:.15rem;margin-left:calc(var(--qb-operator-w) + .4rem)}.qb-footer{margin-top:1rem;display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;justify-content:space-between}.qb-preview-options{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.qb-option{display:flex;flex-direction:column;gap:.25rem}.qb-option .input{min-width:10rem}.qb-option-label{font-size:.8rem;color:#6b7280}.qb-exclude-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.qb-switch-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.qb-switch{position:absolute;opacity:0;width:0;height:0}.qb-switch-track{position:relative;display:inline-block;flex-shrink:0;width:2.25rem;height:1.25rem;border-radius:999px;background-color:#d1d3d6;border:1px solid #979BA4;transition:background-color .3s ease,border-color .3s ease;cursor:pointer}.qb-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:.875rem;height:.875rem;border-radius:50%;background-color:#fff;transition:transform .3s ease;box-shadow:0 1px 2px #10182833}.qb-switch:checked+.qb-switch-track{background-color:#14275f;border-color:#14275f}.qb-switch:checked+.qb-switch-track:after{transform:translate(1rem)}.qb-switch-text{font-size:.875rem;color:#4b5566;flex-shrink:0}.qb-field-autocomplete{position:relative;width:100%}.qb-field-autocomplete .input{width:100%}.qb-field-dropdown{position:absolute;top:100%;left:0;right:0;margin:.2rem 0 0;padding:.35rem 0;list-style:none;background:#fff;border:1px solid #D1D3D6;border-radius:.75rem;max-height:14rem;overflow-y:auto;z-index:20;box-shadow:0 4px 8px -2px #1018281a,0 2px 4px -2px #1018280f}.qb-field-dropdown-item{padding:.4rem .75rem;cursor:pointer;display:flex;flex-direction:column;gap:.15rem}.qb-field-dropdown-item:hover{background:#f1f6fd}.qb-field-dropdown-label{font-size:.9rem;color:#232a39}.qb-field-dropdown-field{font-size:.75rem;color:#979ba4;font-family:ui-monospace,monospace}.qb-field-dropdown-empty{padding:.6rem .75rem;color:#979ba4;font-size:.85rem}.table-wrapper{border-radius:.75rem;border:1px solid #E5E7EB;overflow:hidden;box-shadow:0 1px 3px #10182814,0 1px 2px #1018280a}.table{width:100%;border-collapse:collapse;font-size:.86rem}.table th,.table td{padding:.6rem .9rem;text-align:left}.table thead{background-color:#f8f9fb;border-bottom:1px solid #E5E7EB;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.table tbody tr:nth-of-type(odd){background-color:#fff}.table tbody tr:nth-of-type(2n){background-color:#fafbfc}.table tbody tr{border-top:1px solid #F1F2F5;transition:background-color .3s ease}.table tbody tr:hover{background-color:#f1f6fd}.table-empty{text-align:center;color:#979ba4}.table-cell-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.table-footer{margin-top:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.8rem;color:#6b7280}.table-pagination{display:flex;align-items:center;gap:.25rem}.pagination-btn{min-width:2rem;height:2rem;border-radius:6px;border:1px solid #D1D3D6;background:#fff;color:#4b5566;font-size:.85rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 .4rem;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.pagination-btn:hover:not(:disabled){border-color:#14275f;color:#14275f}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn--active{background-color:#14275f;border-color:#14275f;color:#fff}.pagination-btn--active:hover:not(:disabled){background-color:#1665d4;border-color:#1665d4;color:#fff}.pagination-ellipsis{min-width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;color:#979ba4;font-size:.85rem}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;text-transform:capitalize;border:1px solid transparent;font-weight:500}.badge-completed{background-color:#10b9811a;border-color:#10b98166;color:#0a7a55}.badge-on-queue,.badge-created,.badge-exporting-to-csv,.badge-preview-pending{background-color:#f2bb0f1f;border-color:#f2bb0f80;color:#8a6800}.badge-preview-ready{background-color:#3484f51a;border-color:#3484f566;color:#1665d4}.badge-failed{background-color:#f6484a1a;border-color:#f6484a66;color:#c0393b}.badge-synced{background-color:#10b9811a;border-color:#10b98166;color:#0a7a55}.badge-pending{background-color:#f2bb0f1f;border-color:#f2bb0f80;color:#8a6800}.badge-syncing{background-color:#3484f51a;border-color:#3484f566;color:#1665d4}.badge-deleting{background-color:#f6484a12;border-color:#f6484a4d;color:#c0393b}.modal-backdrop{position:fixed;inset:0;background:#232a3966;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:40}.modal{width:min(720px,100% - 3rem);max-height:calc(100vh - 4rem);background:#fff;border-radius:12px;border:1px solid #E5E7EB;box-shadow:0 4px 8px -2px #1018281a,0 2px 4px -2px #1018280f;display:flex;flex-direction:column}.modal-header{padding:1rem 1.5rem .5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #F1F2F5}.modal-title{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.02em;color:#232a39}.modal-body{padding:.25rem 1.5rem 1rem;overflow:auto}.modal-footer{padding:.75rem 1.5rem 1rem;display:flex;justify-content:flex-end;border-top:1px solid #F1F2F5}.client-selector-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.client-selector-box{width:min(640px,100%);display:flex;flex-direction:column;gap:1.5rem}.client-selector-header{display:flex;flex-direction:column;gap:.25rem}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.85rem}.client-card{position:relative;display:flex;align-items:center;justify-content:center;min-height:6rem;border-radius:12px;border:1px solid #E5E7EB;background:#fff;box-shadow:0 1px 3px #1018281a,0 1px 2px #1018280f;cursor:pointer;padding:1.25rem 1rem;transition:border-color .3s ease,box-shadow .3s ease,transform .15s ease;outline:none}.client-card:hover,.client-card:focus-visible{border-color:#3484f5;box-shadow:0 4px 12px #3484f526,0 1px 3px #1018281a;transform:translateY(-2px)}.client-card-name{font-size:1rem;font-weight:600;color:#232a39;text-align:center;word-break:break-word}.client-card-delete{position:absolute;top:.5rem;right:.5rem;width:1.4rem;height:1.4rem;border-radius:50%;border:1px solid #D1D3D6;background:#f1f2f5;color:#979ba4;font-size:.9rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:color .3s ease,border-color .3s ease,background-color .3s ease}.client-card-delete:hover:not(:disabled){color:#c0393b;border-color:#f6484a80;background:#f6484a12}.client-card-delete:disabled{opacity:.5;cursor:not-allowed}.client-card-add{flex-direction:column;gap:.4rem;border-style:dashed;border-color:#d1d3d6;background:transparent;box-shadow:none;color:#979ba4;font-size:.9rem}.client-card-add:hover,.client-card-add:focus-visible{border-color:#3484f5;color:#1665d4;background:#f1f6fd;transform:translateY(-2px)}.client-card-add-icon{font-size:1.5rem;line-height:1;color:inherit}.client-card-confirm{flex-direction:column;gap:.75rem;border-color:#f6484a66;background:#f6484a0a;cursor:default}.client-card-confirm:hover,.client-card-confirm:focus-visible{transform:none;border-color:#f6484a80;box-shadow:none}.client-card-confirm-text{font-size:.88rem;color:#c0393b;text-align:center}.client-card-confirm-text strong{color:#a12f31}.client-card-add-form{flex-direction:column;gap:.65rem;cursor:default;pointer-events:auto;padding:1rem}.client-card-add-form:hover{transform:none;border-color:#3484f566}.client-add-actions{display:flex;gap:.4rem;justify-content:center}.config-section-title{font-size:.9rem;font-weight:600;color:#111827;margin:0 0 .25rem}.config-mode-selector{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.config-mode-option{flex:1;min-width:220px;display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;border:1px solid #E5E7EB;border-radius:10px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease;background:#fff}.config-mode-option input[type=radio]{margin-top:.2rem;flex-shrink:0;accent-color:#14275F;width:1rem;height:1rem;cursor:pointer}.config-mode-option--active{border-color:#14275f;background:#f1f6fd}.config-mode-content{display:flex;flex-direction:column;gap:.2rem}.config-mode-title{font-size:.9rem;font-weight:600;color:#232a39}.config-mode-desc{font-size:.8rem;color:#6b7280;line-height:1.4}.config-mode-count{font-weight:600;color:#14275f}.config-groups{display:flex;flex-direction:column;gap:1.25rem}.config-group{border:1px solid #E5E7EB;border-radius:10px;overflow:hidden}.config-group-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .9rem;background:#f8f9fb;border-bottom:1px solid #E5E7EB;width:100%;border:none;cursor:pointer;text-align:left;transition:background-color .2s ease}.config-group-header:hover{background-color:#f1f6fd}.config-group-chevron{font-size:.9rem;color:#979ba4;line-height:1;width:1rem;display:inline-block}.config-group-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#4b5566}.config-group-count{font-size:.75rem;color:#979ba4}.config-group-count--selected{color:#14275f;font-weight:600}.config-field-list{display:flex;flex-direction:column}.config-field-row{display:flex;align-items:center;gap:.75rem;padding:.45rem .9rem;border-top:1px solid #F1F2F5;transition:background-color .2s ease}.config-field-row:first-child{border-top:none}.config-field-row--checked{background-color:#f1f6fd}.config-field-label{display:flex;align-items:center;gap:.5rem;flex:1;cursor:pointer;min-width:0}.config-field-checkbox{flex-shrink:0;width:1rem;height:1rem;accent-color:#14275F;cursor:pointer}.config-field-name{font-size:.875rem;color:#232a39;white-space:nowrap}.config-field-column{font-size:.75rem;color:#979ba4;font-family:ui-monospace,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.config-field-alias{width:220px;flex-shrink:0;border-radius:6px;padding:.25rem .6rem;font-size:.8rem}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1.5rem;border:2px dashed #D1D3D6;border-radius:12px;background-color:#f8f9fb;cursor:pointer;transition:border-color .25s ease,background-color .25s ease;text-align:center;-webkit-user-select:none;user-select:none}.dropzone:hover,.dropzone--active{border-color:#3484f5;background-color:#f1f6fd}.dropzone--has-file{border-color:#10b981;background-color:#10b9810d}.dropzone-icon{color:#979ba4;transition:color .25s ease}.dropzone:hover .dropzone-icon,.dropzone--active .dropzone-icon{color:#3484f5}.dropzone--has-file .dropzone-icon{color:#10b981}.dropzone-label{font-size:.875rem;color:#4b5566;font-weight:500}.dropzone-hint{font-size:.78rem;color:#979ba4}.dropzone-filename{font-size:.85rem;font-weight:600;color:#0a7a55}.json-viewer{margin:0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.76rem;background-color:#f8f9fb;border-radius:.75rem;border:1px solid #E5E7EB;padding:.9rem 1rem;color:#232a39;min-height:6rem}
