.vx-notify-container{position:fixed;display:flex;flex-direction:column;gap:10px;z-index:9999;pointer-events:none;max-width:380px;width:calc(100vw - 32px)}.vx-notify-container[data-position=top-right]{top:20px;right:20px;align-items:flex-end}.vx-notify-container[data-position=top-left]{top:20px;left:20px;align-items:flex-start}.vx-notify-container[data-position=top-center]{top:20px;left:50%;transform:translateX(-50%);align-items:center}.vx-notify-container[data-position=bottom-right]{bottom:20px;right:20px;align-items:flex-end;flex-direction:column-reverse}.vx-notify-container[data-position=bottom-left]{bottom:20px;left:20px;align-items:flex-start;flex-direction:column-reverse}.vx-notify-container[data-position=bottom-center]{bottom:20px;left:50%;transform:translateX(-50%);align-items:center;flex-direction:column-reverse}.vx-toast{position:relative;display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,.14);color:#fff;font-family:inherit;font-size:14px;line-height:1.5;min-width:280px;max-width:380px;pointer-events:all;overflow:hidden;cursor:default;user-select:none;animation:vx-slide-in .22s ease forwards}.vx-toast.vx-toast--dismissing{animation:vx-slide-out .22s ease forwards}.vx-toast[data-type=success]{background:#16a34a}.vx-toast[data-type=error]{background:#dc2626}.vx-toast[data-type=warning]{background:#d97706}.vx-toast[data-type=info]{background:#2563eb}.vx-toast__icon{flex-shrink:0;width:18px;height:18px;margin-top:1px}.vx-toast__icon svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.vx-toast__message{flex:1;white-space:pre-line;word-break:break-word}.vx-toast__close{flex-shrink:0;background:none;border:none;cursor:pointer;padding:0;margin-top:1px;color:hsla(0,0%,100%,.75);line-height:1;transition:color .22s ease}.vx-toast__close:hover{color:#fff}.vx-toast__close svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.vx-toast__progress{position:absolute;bottom:0;left:0;height:3px;width:100%;background:hsla(0,0%,100%,.35);transform-origin:left;animation:vx-progress linear forwards}@keyframes vx-slide-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes vx-slide-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(24px)}}@keyframes vx-progress{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.vx-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9997;opacity:0;animation:vx-fade-in .22s ease forwards}.vx-backdrop.vx-backdrop--out{animation:vx-fade-out .22s ease forwards}.vx-modal-wrap{position:fixed;inset:0;z-index:9998;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}@media(min-width: 640px){.vx-modal-wrap{align-items:center}}.vx-modal{background:#fff;width:100%;max-width:480px;border-radius:12px 12px 0 0;box-shadow:0 4px 24px rgba(0,0,0,.14);font-family:inherit;font-size:14px;color:#111827;pointer-events:all;overflow:hidden;animation:vx-sheet-in .22s ease forwards}.vx-modal.vx-modal--out{animation:vx-sheet-out .22s ease forwards}@media(min-width: 640px){.vx-modal{border-radius:12px;animation:vx-scale-in .22s ease forwards}.vx-modal.vx-modal--out{animation:vx-scale-out .22s ease forwards}}.vx-modal__header{display:flex;align-items:flex-start;gap:12px;padding:20px 20px 0}.vx-modal__icon{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.vx-modal__icon svg{width:22px;height:22px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.vx-modal__icon[data-icon=warning]{background:#fef3c7}.vx-modal__icon[data-icon=warning] svg{stroke:#d97706}.vx-modal__icon[data-icon=error]{background:#fee2e2}.vx-modal__icon[data-icon=error] svg{stroke:#dc2626}.vx-modal__icon[data-icon=success]{background:#dcfce7}.vx-modal__icon[data-icon=success] svg{stroke:#16a34a}.vx-modal__icon[data-icon=info]{background:#dbeafe}.vx-modal__icon[data-icon=info] svg{stroke:#2563eb}.vx-modal__icon[data-icon=question]{background:#f3f4f6}.vx-modal__icon[data-icon=question] svg{stroke:#6b7280}.vx-modal__titles{flex:1;padding-top:8px}.vx-modal__title{font-size:16px;font-weight:600;color:#111827;margin:0 0 4px;line-height:1.3}.vx-modal__close{flex-shrink:0;background:none;border:none;cursor:pointer;padding:4px;border-radius:6px;color:#6b7280;transition:background .22s ease,color .22s ease;margin-top:2px}.vx-modal__close:hover{background:#f3f4f6;color:#111827}.vx-modal__close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;display:block}.vx-modal__body{padding:14px 20px 20px}.vx-modal__message{color:#6b7280;line-height:1.6;margin:0;white-space:pre-line}.vx-modal__image{width:100%;max-height:200px;object-fit:cover;border-radius:8px;margin-top:12px}.vx-modal__input-label{display:block;font-size:13px;font-weight:500;color:#111827;margin:14px 0 6px}.vx-modal__input{width:100%;padding:9px 12px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;color:#111827;background:#fff;box-sizing:border-box;transition:border-color .22s ease,box-shadow .22s ease;outline:none}.vx-modal__input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.vx-modal__input.vx-input--error{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.1)}textarea.vx-modal__input{resize:vertical;min-height:90px}.vx-modal__validation-error{display:none;margin-top:6px;font-size:12px;color:#dc2626;font-weight:500}.vx-modal__validation-error.vx-visible{display:block}.vx-modal__footer{text-align:center;font-size:13px;color:#6b7280;padding:0 20px 16px}.vx-modal__footer a{color:#2563eb;text-decoration:none}.vx-modal__footer a:hover{text-decoration:underline}.vx-modal__steps{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 20px 0}.vx-step-dot{width:8px;height:8px;border-radius:50%;background:#d1d5db;transition:background .22s ease,transform .22s ease}.vx-step-dot[data-state=active]{background:#2563eb;transform:scale(1.3)}.vx-step-dot[data-state=done]{background:#16a34a}.vx-modal__actions{display:flex;flex-direction:column;gap:8px;padding:0 20px 20px}.vx-modal__btn{width:100%;padding:11px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .22s ease,opacity .22s ease;display:flex;align-items:center;justify-content:center;gap:8px}.vx-modal__btn:disabled{opacity:.65;cursor:not-allowed}.vx-modal__btn[data-type=danger]{background:#dc2626;color:#fff}.vx-modal__btn[data-type=danger]:hover:not(:disabled){background:#b91c1c}.vx-modal__btn[data-type=primary]{background:#2563eb;color:#fff}.vx-modal__btn[data-type=primary]:hover:not(:disabled){background:#1d4ed8}.vx-modal__btn[data-type=default]{background:#2563eb;color:#fff}.vx-modal__btn[data-type=default]:hover:not(:disabled){background:#1d4ed8}.vx-modal__btn[data-role=cancel]{background:#f3f4f6;color:#374151;font-weight:500}.vx-modal__btn[data-role=cancel]:hover:not(:disabled){background:#e5e7eb}.vx-btn-spinner{width:15px;height:15px;border:2px solid hsla(0,0%,100%,.4);border-top-color:#fff;border-radius:50%;animation:vx-spin .6s linear infinite;flex-shrink:0}.vx-modal__timer{height:3px;background:#e5e7eb;margin:0 20px 16px;border-radius:99px;overflow:hidden}.vx-modal__timer-bar{height:100%;background:#2563eb;transform-origin:left;animation:vx-progress linear forwards}.vx-modal--loading .vx-modal__body{display:flex;align-items:center;justify-content:center;gap:12px;padding:32px 20px}.vx-modal--loading .vx-modal__actions{display:none}.vx-modal__loading-spinner{width:22px;height:22px;border:2.5px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:vx-spin .7s linear infinite;flex-shrink:0}@keyframes vx-fade-in{from{opacity:0}to{opacity:1}}@keyframes vx-fade-out{from{opacity:1}to{opacity:0}}@keyframes vx-sheet-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes vx-sheet-out{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes vx-scale-in{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}@keyframes vx-scale-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0.95)}}@keyframes vx-progress{from{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes vx-spin{to{transform:rotate(360deg)}}.vx-content-wrap{position:fixed;inset:0;z-index:9998;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;padding:0}@media(min-width: 640px){.vx-content-wrap{align-items:center;padding:24px}}.vx-content-modal{background:#fff;width:100%;max-height:92dvh;border-radius:12px 12px 0 0;box-shadow:0 4px 24px rgba(0,0,0,.14);font-family:inherit;font-size:14px;color:#111827;pointer-events:all;display:flex;flex-direction:column;overflow:hidden;animation:vx-sheet-in .22s ease forwards}.vx-content-modal.vx-modal--out{animation:vx-sheet-out .22s ease forwards}@media(min-width: 640px){.vx-content-modal{border-radius:12px;max-height:88dvh;animation:vx-scale-in .22s ease forwards}.vx-content-modal.vx-modal--out{animation:vx-scale-out .22s ease forwards}}@media(min-width: 640px){.vx-content-modal--sm{max-width:480px}}@media(min-width: 640px){.vx-content-modal--md{max-width:640px}}@media(min-width: 640px){.vx-content-modal--lg{max-width:860px}}@media(min-width: 640px){.vx-content-modal--xl{max-width:1080px}}@media(min-width: 640px){.vx-content-modal--full{max-width:calc(100vw - 48px)}}.vx-content-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;flex-shrink:0;gap:12px}.vx-content-modal__title{font-size:16px;font-weight:600;color:#111827;margin:0;line-height:1.3}.vx-content-modal__body{padding:20px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.vx-content-modal__body::-webkit-scrollbar{width:5px}.vx-content-modal__body::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.vx-content-modal__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:99px}.vx-backdrop--drawer{z-index:9997}.vx-drawer{position:fixed;top:0;bottom:0;z-index:9998;background:#fff;box-shadow:-4px 0 32px rgba(0,0,0,.12);font-family:inherit;font-size:14px;color:#111827;display:flex;flex-direction:column;overflow:hidden}.vx-drawer--right{right:0;border-radius:12px 0 0 12px;animation:vx-drawer-in-right .22s ease forwards}.vx-drawer--right.vx-drawer--out{animation:vx-drawer-out-right .22s ease forwards}.vx-drawer--left{left:0;border-radius:0 12px 12px 0;box-shadow:4px 0 32px rgba(0,0,0,.12);animation:vx-drawer-in-left .22s ease forwards}.vx-drawer--left.vx-drawer--out{animation:vx-drawer-out-left .22s ease forwards}.vx-drawer--sm{width:min(380px,100vw)}.vx-drawer--md{width:min(480px,100vw)}.vx-drawer--lg{width:min(640px,100vw)}.vx-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;flex-shrink:0;gap:12px}.vx-drawer__title{font-size:16px;font-weight:600;color:#111827;margin:0;line-height:1.3}.vx-drawer__body{padding:20px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.vx-drawer__body::-webkit-scrollbar{width:5px}.vx-drawer__body::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.vx-drawer__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:99px}@keyframes vx-drawer-in-right{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes vx-drawer-out-right{from{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes vx-drawer-in-left{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes vx-drawer-out-left{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.vx-select{position:relative;display:block;width:100%;font-size:.9375rem;line-height:1.5}.vx-select *,.vx-select *::before,.vx-select *::after{box-sizing:border-box}.vx-select__trigger{display:flex;align-items:center;gap:.375rem;width:100%;min-height:calc(1.5em + 0.75rem + 2px);padding:.375rem .75rem;padding-right:2rem;background-color:var(--bs-body-bg, #fff);border:1px solid var(--bs-border-color, #dee2e6);border-radius:var(--bs-border-radius, 0.375rem);color:var(--bs-body-color, #212529);cursor:pointer;user-select:none;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.vx-select__trigger:focus,.vx-select.is-open .vx-select__trigger{border-color:var(--bs-primary, #0d6efd);box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.vx-select.is-disabled .vx-select__trigger{background-color:var(--bs-secondary-bg, #e9ecef);pointer-events:none;opacity:.65}.vx-select.is-loading .vx-select__trigger{pointer-events:none}.vx-select__trigger-text{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.vx-select--multi .vx-select__trigger-text{white-space:normal;max-height:72px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.vx-select--multi .vx-select__trigger-text::-webkit-scrollbar{display:none}.vx-select__placeholder{color:var(--bs-secondary-color, #6c757d)}.vx-select__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:.15rem;color:var(--bs-secondary-color, #6c757d);cursor:pointer;border-radius:50%;transition:color .15s ease,background .15s ease}.vx-select__clear svg{display:block;width:8px;height:8px;pointer-events:none}.vx-select__clear:hover{color:var(--bs-body-color, #212529);background:rgba(0,0,0,.08)}.vx-select.is-disabled .vx-select__clear{pointer-events:none}.vx-select__arrow{flex-shrink:0;position:absolute;right:.65rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--bs-secondary-color, #6c757d);transition:transform .2s ease}.vx-select__arrow svg{display:block;width:10px;height:6px}.vx-select.is-open .vx-select__arrow{transform:translateY(-50%) rotate(180deg)}.vx-select.is-loading .vx-select__trigger::after{content:"";position:absolute;right:.65rem;top:50%;transform:translateY(-50%);width:14px;height:14px;border:2px solid var(--bs-border-color, #dee2e6);border-top-color:var(--bs-primary, #0d6efd);border-radius:50%;animation:vx-select-spin .6s linear infinite}.vx-select.is-loading .vx-select__arrow{display:none}@keyframes vx-select-spin{to{transform:translateY(-50%) rotate(360deg)}}.vx-select__tag{display:inline-flex;align-items:center;gap:.2rem;padding:1px .4rem 1px .5rem;background:var(--bs-primary-bg-subtle, #cfe2ff);color:var(--bs-primary-text-emphasis, #084298);border-radius:.25rem;font-size:.8125rem;font-weight:500;max-width:180px;min-width:0;white-space:nowrap;overflow:hidden}.vx-select__tag-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-select__tag-remove{cursor:pointer;font-size:1rem;line-height:1;opacity:.6;flex-shrink:0;margin-left:1px}.vx-select__tag-remove:hover{opacity:1}.vx-select__dropdown{position:fixed;z-index:1050;background:var(--bs-body-bg, #fff);border:1px solid var(--bs-border-color, #dee2e6);border-radius:var(--bs-border-radius, 0.375rem);box-shadow:0 4px 16px rgba(0,0,0,.1);display:none;flex-direction:column;overflow:hidden}.vx-select.is-open .vx-select__dropdown{display:flex;animation:vx-select-fade-in .12s ease}.vx-select__dropdown--up{animation:vx-select-fade-in-up .12s ease !important}@keyframes vx-select-fade-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes vx-select-fade-in-up{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.vx-select__search{padding:.5rem .5rem .25rem;flex-shrink:0}.vx-select__search input{display:block;width:100%;padding:.3rem .6rem;font-size:.875rem;border:1px solid var(--bs-border-color, #dee2e6);border-radius:calc(var(--bs-border-radius, 0.375rem) - 2px);background:var(--bs-body-bg, #fff);color:var(--bs-body-color, #212529);outline:none;transition:border-color .15s ease}.vx-select__search input:focus{border-color:var(--bs-primary, #0d6efd);box-shadow:0 0 0 .15rem rgba(13,110,253,.15)}.vx-select__search input::placeholder{color:var(--bs-secondary-color, #6c757d)}.vx-select__list{list-style:none;margin:0;padding:.25rem 0;overflow-y:auto;flex:1;min-height:0}.vx-select__list::-webkit-scrollbar{width:5px}.vx-select__list::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.vx-select__list::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:3px}.vx-select__option{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;cursor:pointer;font-size:.9375rem;color:var(--bs-body-color, #212529);transition:background .1s ease;user-select:none}.vx-select__option:hover:not(.is-disabled){background:var(--bs-tertiary-bg, #f8f9fa)}.vx-select__option.is-selected{background:var(--bs-primary-bg-subtle, #cfe2ff);color:var(--bs-primary-text-emphasis, #084298);font-weight:500}.vx-select__option.is-disabled{opacity:.45;cursor:not-allowed}.vx-select__option--select-all{border-bottom:1px solid var(--bs-border-color, #dee2e6);margin-bottom:.25rem;padding-bottom:.5rem;font-weight:500}.vx-select__option-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-select__checkbox{flex-shrink:0;width:16px;height:16px;border:1.5px solid var(--bs-border-color, #dee2e6);border-radius:3px;background:var(--bs-body-bg, #fff);display:flex;align-items:center;justify-content:center;transition:background .1s ease,border-color .1s ease;position:relative}.vx-select__checkbox[data-checked]{background:var(--bs-primary, #0d6efd);border-color:var(--bs-primary, #0d6efd)}.vx-select__checkbox[data-checked]::after{content:"";display:block;width:4px;height:7px;border:1.5px solid #fff;border-top:none;border-left:none;transform:rotate(45deg) translate(-0.5px, -1px)}.vx-select__checkbox[data-indeterminate]{background:var(--bs-primary, #0d6efd);border-color:var(--bs-primary, #0d6efd)}.vx-select__checkbox[data-indeterminate]::after{content:"";display:block;width:8px;height:1.5px;background:#fff;border-radius:1px}.vx-select__group-header{padding:.35rem .75rem .2rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--bs-secondary-color, #6c757d);pointer-events:none}.vx-select__empty{padding:.75rem .75rem;text-align:center;color:var(--bs-secondary-color, #6c757d);font-size:.875rem;font-style:italic}
.vx-import{width:100%;font-size:.9375rem;color:var(--bs-body-color, #212529)}.vx-import *,.vx-import *::before,.vx-import *::after{box-sizing:border-box}.vx-import__zone{border:2px dashed var(--bs-border-color, #dee2e6);border-radius:var(--bs-border-radius, 0.375rem);background:var(--bs-body-bg, #fff);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.vx-import__zone:hover,.vx-import__zone.is-dragover{border-color:var(--bs-primary, #0d6efd);background:var(--bs-primary-bg-subtle, #cfe2ff)}.vx-import__zone-icon{margin-bottom:.75rem;color:var(--bs-secondary-color, #6c757d)}.vx-import__zone-icon svg{width:48px;height:48px;display:inline-block}.vx-import__zone-text{margin:0 0 .35rem;line-height:1.5;color:var(--bs-body-color, #212529)}.vx-import__zone-link{color:var(--bs-primary, #0d6efd);text-decoration:underline;cursor:pointer}.vx-import__zone-hint{margin:0;font-size:.8125rem;color:var(--bs-secondary-color, #6c757d)}.vx-import__zone-error{border:1px solid var(--bs-danger, #dc3545);border-radius:var(--bs-border-radius, 0.375rem);background:var(--bs-danger-bg-subtle, #f8d7da);padding:1rem 1.25rem;color:var(--bs-danger, #dc3545)}.vx-import__zone-error p{margin:0 0 .75rem}.vx-import__parsing{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border:1px solid var(--bs-border-color, #dee2e6);border-radius:var(--bs-border-radius, 0.375rem);background:var(--bs-secondary-bg, #f8f9fa)}.vx-import__parsing-name{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-import__parsing-text{font-size:.875rem;color:var(--bs-secondary-color, #6c757d)}.vx-import__parsing-spinner{width:16px;height:16px;border:2px solid var(--bs-border-color, #dee2e6);border-top-color:var(--bs-primary, #0d6efd);border-radius:50%;animation:vx-import-spin .6s linear infinite;flex-shrink:0}@keyframes vx-import-spin{to{transform:rotate(360deg)}}.vx-import__file-bar{display:flex;align-items:center;gap:.75rem;padding:.6rem .875rem;border:1px solid var(--bs-border-color, #dee2e6);border-radius:var(--bs-border-radius, 0.375rem);background:var(--bs-secondary-bg, #f8f9fa);margin-bottom:.75rem}.vx-import__file-name{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-import__file-size{font-size:.8125rem;color:var(--bs-secondary-color, #6c757d);flex-shrink:0}.vx-import__file-change{font-size:.8125rem;color:var(--bs-primary, #0d6efd);background:none;border:none;cursor:pointer;padding:0;flex-shrink:0;text-decoration:underline}.vx-import__file-change:hover{opacity:.75}.vx-import__sheets{display:flex;gap:.25rem;margin-bottom:.75rem;flex-wrap:wrap}.vx-import__sheet-tab{padding:.3rem .75rem;font-size:.875rem;border:1px solid var(--bs-border-color, #dee2e6);border-radius:var(--bs-border-radius, 0.375rem);background:var(--bs-body-bg, #fff);color:var(--bs-body-color, #212529);cursor:pointer;transition:background .12s ease,border-color .12s ease}.vx-import__sheet-tab.is-active{background:var(--bs-primary, #0d6efd);border-color:var(--bs-primary, #0d6efd);color:#fff}.vx-import__sheet-tab:not(.is-active):hover{background:var(--bs-secondary-bg, #f8f9fa);border-color:#b8bfc8}.vx-import__summary{border:1px solid var(--bs-border-color, #dee2e6);border-radius:var(--bs-border-radius, 0.375rem);background:var(--bs-body-bg, #fff);margin-bottom:.75rem;overflow:hidden}.vx-import__summary-header{padding:.6rem 1rem;font-weight:600;font-size:.875rem;background:var(--bs-secondary-bg, #f8f9fa);border-bottom:1px solid var(--bs-border-color, #dee2e6);text-transform:uppercase;letter-spacing:.04em;color:var(--bs-secondary-color, #6c757d)}.vx-import__summary-list{padding:.5rem 0}.vx-import__summary-row{display:flex;align-items:center;gap:.6rem;padding:.4rem 1rem;font-size:.875rem}.vx-import__summary-row.is-error{background:var(--bs-danger-bg-subtle, #f8d7da)}.vx-import__summary-icon{font-size:.9rem;font-weight:700;flex-shrink:0;width:18px;text-align:center}.vx-import__summary-icon.is-ok{color:var(--bs-success, #198754)}.vx-import__summary-icon.is-warn{color:var(--bs-warning-text-emphasis, #664d03)}.vx-import__summary-icon.is-error{color:var(--bs-danger, #dc3545)}.vx-import__summary-icon.is-muted{color:var(--bs-secondary-color, #6c757d)}.vx-import__summary-label{font-weight:500;width:110px;flex-shrink:0}.vx-import__summary-detail{color:var(--bs-secondary-color, #6c757d);font-size:.8125rem;flex:1}.vx-import__map-select{flex:1;padding:.2rem .5rem;font-size:.8125rem;border:1px solid var(--bs-border-color, #dee2e6);border-radius:calc(var(--bs-border-radius, 0.375rem) - 2px);background:var(--bs-body-bg, #fff);color:var(--bs-body-color, #212529);outline:none}.vx-import__map-select:focus{border-color:var(--bs-primary, #0d6efd)}.vx-import__val-bar{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;border-top:1px solid var(--bs-border-color, #dee2e6);font-size:.875rem;flex-wrap:wrap}.vx-import__val-progress{flex:1;min-width:120px;height:6px;background:var(--bs-border-color, #dee2e6);border-radius:3px;overflow:hidden}.vx-import__val-progress-fill{height:100%;background:var(--bs-primary, #0d6efd);border-radius:3px;transition:width .2s ease}.vx-import__val-text{color:var(--bs-secondary-color, #6c757d);white-space:nowrap}.vx-import__val-ok{color:var(--bs-success, #198754);font-weight:500}.vx-import__val-err{color:var(--bs-danger, #dc3545);font-weight:500}.vx-import__val-filter{margin-left:auto;font-size:.8125rem;color:var(--bs-primary, #0d6efd);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.vx-import__val-filter:hover{opacity:.75}.vx-import__actions{padding:.75rem 1rem;border-top:1px solid var(--bs-border-color, #dee2e6)}.vx-import__import-btn{display:block;width:100%;padding:.5rem 1rem;font-size:.9375rem;font-weight:500;border:none;border-radius:var(--bs-border-radius, 0.375rem);cursor:pointer;background:var(--bs-primary, #0d6efd);color:#fff;transition:opacity .15s ease,background .15s ease}.vx-import__import-btn:disabled{background:var(--bs-secondary-bg, #f8f9fa);color:var(--bs-secondary-color, #6c757d);border:1px solid var(--bs-border-color, #dee2e6);cursor:not-allowed}.vx-import__import-btn.is-warn{background:var(--bs-warning, #ffc107);color:#000}.vx-import__import-btn:not(:disabled):hover{opacity:.88}.vx-import__preview{border:1px solid var(--bs-border-color, #dee2e6);border-radius:var(--bs-border-radius, 0.375rem);overflow:hidden}.vx-import__preview-empty{padding:1.25rem;margin:0;text-align:center;color:var(--bs-secondary-color, #6c757d);font-style:italic}.vx-import__table-wrap{overflow-x:auto;overflow-y:auto;max-height:420px}.vx-import__table-wrap::-webkit-scrollbar{width:5px;height:5px}.vx-import__table-wrap::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.vx-import__table-wrap::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:3px}.vx-import__table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.875rem}.vx-import__table thead{position:sticky;top:0;z-index:2}.vx-import__table .vx-import__head-row th{padding:.45rem .75rem;text-align:left;font-weight:600;font-size:.8125rem;background:var(--bs-secondary-bg, #f8f9fa);border-bottom:1px solid var(--bs-border-color, #dee2e6);white-space:nowrap;min-width:140px;color:var(--bs-secondary-color, #6c757d)}.vx-import__table .vx-import__col-unmapped{color:#a8b3bd;font-style:italic}.vx-import__table .vx-import__map-row td{padding:.3rem .5rem;background:var(--bs-primary-bg-subtle, #eef4ff);border-bottom:2px solid var(--bs-primary, #0d6efd);vertical-align:middle}.vx-import__table tbody tr{border-bottom:1px solid var(--bs-border-color, #dee2e6)}.vx-import__table tbody tr:last-child{border-bottom:none}.vx-import__table tbody tr:nth-child(even){background:var(--bs-tertiary-bg, #f8f9fa)}.vx-import__table tbody tr.vx-import__row--error{border-left:3px solid var(--bs-danger, #dc3545)}.vx-import__table td{padding:.38rem .75rem;white-space:nowrap;min-width:140px;max-width:260px;overflow:hidden;text-overflow:ellipsis}.vx-import__table td.vx-import__cell--empty{color:var(--bs-secondary-color, #6c757d);font-style:italic}.vx-import__table td.vx-import__cell--unmapped{color:#a8b3bd;font-style:italic}.vx-import__table td.vx-import__cell--error{background:var(--bs-danger-bg-subtle, #f8d7da);color:var(--bs-danger, #dc3545);cursor:help}.vx-import__map-cell{position:relative}.vx-import__map-cell--unmapped{color:var(--bs-secondary-color, #6c757d);font-style:italic;font-size:.8rem}.vx-import__map-cell--required .vx-import__map-select{border-color:var(--bs-danger, #dc3545)}.vx-import__map-select{width:100%;padding:.2rem .4rem;font-size:.8rem;border:1px solid var(--bs-border-color, #dee2e6);border-radius:calc(var(--bs-border-radius, 0.375rem) - 2px);background:var(--bs-body-bg, #fff);color:var(--bs-body-color, #212529);outline:none;max-width:200px}.vx-import__map-select:focus{border-color:var(--bs-primary, #0d6efd)}.vx-import__map-badge{display:inline-block;font-size:.7rem;padding:1px 5px;border-radius:3px;margin-left:4px;font-weight:600;vertical-align:middle;white-space:nowrap}.vx-import__map-badge.is-ok{background:var(--bs-success-bg-subtle, #d1e7dd);color:var(--bs-success, #198754)}.vx-import__map-badge.is-warn{background:var(--bs-warning-bg-subtle, #fff3cd);color:var(--bs-warning-text-emphasis, #664d03)}.vx-import__map-badge.is-error{background:var(--bs-danger-bg-subtle, #f8d7da);color:var(--bs-danger, #dc3545)}.vx-import__col-num{color:var(--bs-secondary-color, #6c757d);font-size:.75rem;width:48px;text-align:right;padding-right:1rem !important;user-select:none}.vx-import__pagination{display:flex;align-items:center;justify-content:space-between;padding:.5rem .875rem;border-top:1px solid var(--bs-border-color, #dee2e6);background:var(--bs-secondary-bg, #f8f9fa)}.vx-import__page-btn{padding:.25rem .75rem;font-size:.8125rem;border:1px solid var(--bs-border-color, #dee2e6);border-radius:var(--bs-border-radius, 0.375rem);background:var(--bs-body-bg, #fff);color:var(--bs-body-color, #212529);cursor:pointer}.vx-import__page-btn:disabled{opacity:.4;cursor:default}.vx-import__page-btn:not(:disabled):hover{background:var(--bs-secondary-bg, #f8f9fa)}.vx-import__page-info{font-size:.8125rem;color:var(--bs-secondary-color, #6c757d)}
.is-invalid{border-color:#e57373 !important;outline:none;transition:border-color .18s ease}.vx-error-msg{display:block;font-size:12px;font-weight:500;color:#e57373;line-height:1.4;margin-top:4px;max-height:0;overflow:hidden;opacity:0;transform:translateY(-4px);transition:max-height .18s ease,opacity .18s ease,transform .18s ease}.vx-error-msg--visible{max-height:80px;opacity:1;transform:translateY(0)}@keyframes vx-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.vx-btn-spinner{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-top-color:rgba(0,0,0,0);border-radius:50%;animation:vx-spin .6s linear infinite;margin-right:7px;vertical-align:middle;opacity:.85}
