.modal-overlay[data-v-61308bc2]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-container[data-v-61308bc2]{position:relative;background:#fff;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);max-width:90vw;max-height:90vh;overflow:auto}.modal-content[data-v-61308bc2]{position:relative;padding:24px}.modal-close[data-v-61308bc2]{position:absolute;top:12px;right:12px;background:none;border:none;font-size:24px;cursor:pointer;color:#666;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close[data-v-61308bc2]:hover{background-color:#f0f0f0;color:#333}.modal-enter-active[data-v-61308bc2],.modal-leave-active[data-v-61308bc2]{transition:all .3s ease}.modal-enter[data-v-61308bc2],.modal-leave-to[data-v-61308bc2]{opacity:0;transform:translateY(-30px)}.modal-enter-to[data-v-61308bc2],.modal-leave[data-v-61308bc2]{opacity:1;transform:translateY(0)}.btn[data-v-a43fb3b8]{border-radius:8px;border-style:none;box-shadow:inset 0 1px 2px hsla(0,0%,100%,.26);box-sizing:border-box;color:#fff;cursor:pointer;font-size:100%;line-height:1.15;margin:0;padding:10px 21px;text-align:center;text-transform:none;transition:color .13s ease-in-out,background .13s ease-in-out,opacity .13s ease-in-out,box-shadow .13s ease-in-out;user-select:none;-webkit-user-select:none;touch-action:manipulation;background-color:#c5c5c5}.btn.btn-outline[data-v-a43fb3b8]{border:1px solid #b5b5b5;color:#b5b5b5}.btn.btn-outline[data-v-a43fb3b8]:hover{background-color:#f0f0f0}.btn.btn-primary[data-v-a43fb3b8]{background-color:#0276ff}.btn.btn-success[data-v-a43fb3b8]{background-color:#00b777}.btn.btn-error[data-v-a43fb3b8]{background-color:#d50000}.btn.btn-error-secondary[data-v-a43fb3b8]{color:#d50000;background-color:#ffebee}h4[data-v-a43fb3b8]{margin:16px 0}.csv-upload-btn[data-v-a43fb3b8]{display:flex;align-items:center;margin:0 8px;position:relative}.csv-upload-btn p[data-v-a43fb3b8]{margin-right:4px}.csv-upload-btn .info-icon[data-v-a43fb3b8]{display:block;margin-left:8px}.csv-upload-btn:hover .pointer[data-v-a43fb3b8],.csv-upload-btn:hover .structure-hint[data-v-a43fb3b8]{display:block}.csv-upload-btn .pointer[data-v-a43fb3b8]{width:0;height:0;border-style:solid;border-width:12px 6px 0;border-color:#fff transparent transparent;display:none;position:absolute;bottom:100%;left:50%;transform:translateX(-50%);z-index:1}.csv-upload-btn .structure-hint[data-v-a43fb3b8]{position:absolute;bottom:calc(100% + 12px);left:0;background-color:#fff;box-shadow:4px 5px 5px 0 rgba(0,0,0,.37);-webkit-box-shadow:4px 5px 5px 0 rgba(0,0,0,.37);-moz-box-shadow:4px 5px 5px 0 rgba(0,0,0,.37);padding:8px;border-radius:4px;font-size:12px;color:#666;white-space:nowrap;display:none;z-index:0}.file-input[data-v-a43fb3b8]{display:none}.loading[data-v-a43fb3b8]{text-align:center;padding:20px;font-style:italic;color:#666}.validation-errors[data-v-a43fb3b8]{background-color:#ffebee;border:1px solid #f44336;border-radius:4px;padding:12px;margin-bottom:12px}.validation-errors h4[data-v-a43fb3b8]{color:#f44336;margin-top:0}.error-item[data-v-a43fb3b8]{color:#d32f2f;margin-bottom:5px}.error-item[data-v-a43fb3b8] strong{color:#d32f2f}.data-preview[data-v-a43fb3b8]{margin-bottom:20px}.table-container[data-v-a43fb3b8]{max-height:400px;overflow-y:auto;border:1px solid #ddd;border-radius:4px}.data-table[data-v-a43fb3b8]{width:100%;border-collapse:collapse}.data-table input[data-v-a43fb3b8],.data-table textarea[data-v-a43fb3b8]{width:100%;border:none;padding:4px;font-size:12px}.data-table td[data-v-a43fb3b8],.data-table th[data-v-a43fb3b8]{border:1px solid #ddd;padding:8px;text-align:left}.data-table th[data-v-a43fb3b8]{background-color:#f5f5f5;font-weight:700;position:sticky;top:0}.data-table tr[data-v-a43fb3b8]:nth-child(2n){background-color:#f9f9f9}.stats[data-v-a43fb3b8]{background-color:#f5f5f5;padding:12px;border-radius:4px;border:1px solid #ddd}.stats p[data-v-a43fb3b8]{margin:5px 0}.csv-upload-res[data-v-a43fb3b8]{width:80vw;max-width:1000px;padding-top:24px;display:flex;flex-direction:column}.text-success[data-v-a43fb3b8]{color:#00b777;font-weight:700}.text-error[data-v-a43fb3b8]{color:#d50000;font-weight:700}.upload-btn[data-v-a43fb3b8]{margin-top:24px;width:fit-content;margin-left:auto}.supabase-sync-modal[data-v-330d81bf]{display:flex;flex-direction:column;align-items:center;width:400px}.supabase-sync-modal strong[data-v-330d81bf]{font-size:28px;margin-bottom:12px}.supabase-sync-modal p[data-v-330d81bf]{margin:12px 0;text-align:center}.supabase-sync-modal__icon[data-v-330d81bf]{margin-top:20px;font-size:48px;margin-bottom:16px}.supabase-sync-modal__actions[data-v-330d81bf]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:80%}.batch-delete-confirm[data-v-61df93fc]{text-align:center;padding:20px;max-width:500px}.batch-delete-confirm__icon[data-v-61df93fc]{font-size:48px;color:#f56565;margin-bottom:16px;display:block}.batch-delete-confirm__text[data-v-61df93fc]{margin-bottom:24px}.batch-delete-confirm__text h3[data-v-61df93fc]{margin:0 0 12px 0;color:#2d3748;font-size:20px;font-weight:600}.batch-delete-confirm__text p[data-v-61df93fc]{margin:0 0 16px 0;color:#4a5568;font-size:16px;line-height:1.5}.batch-delete-confirm__warning[data-v-61df93fc]{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background-color:#fed7d7;border:1px solid #feb2b2;border-radius:6px;color:#c53030;font-size:14px;font-weight:500}.batch-delete-confirm__warning svg[data-v-61df93fc]{font-size:16px}.batch-delete-confirm__actions[data-v-61df93fc]{display:flex;gap:12px;justify-content:center}.batch-delete-confirm__actions .btn[data-v-61df93fc]{padding:10px 24px;border-radius:6px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease}.batch-delete-confirm__actions .btn.btn-outline[data-v-61df93fc]{background:transparent;border:1px solid #e2e8f0;color:#4a5568}.batch-delete-confirm__actions .btn.btn-outline[data-v-61df93fc]:hover{background-color:#f7fafc;border-color:#cbd5e0}.batch-delete-confirm__actions .btn.btn-error[data-v-61df93fc]{background-color:#e53e3e;border:1px solid #e53e3e;color:#fff}.batch-delete-confirm__actions .btn.btn-error[data-v-61df93fc]:hover{background-color:#c53030;border-color:#c53030}