*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.6;color:#1f2937;background-color:#f9fafb;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh}button,input,select,textarea{font-family:inherit;font-size:inherit}button:focus,input:focus,select:focus,textarea:focus{outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}:root{--color-primary: #3B82F6;--color-primary-light: #60A5FA;--color-primary-dark: #1E40AF;--color-secondary: #6B7280;--color-secondary-light: #9CA3AF;--color-secondary-dark: #374151;--color-success: #10B981;--color-success-light: #34D399;--color-success-dark: #047857;--color-warning: #F59E0B;--color-warning-light: #FBBF24;--color-warning-dark: #D97706;--color-danger: #EF4444;--color-danger-light: #F87171;--color-danger-dark: #DC2626;--color-info: #0EA5E9;--color-info-light: #38BDF8;--color-info-dark: #0284C7;--color-white: #FFFFFF;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out;--transition-slow: .5s ease-in-out}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);border:1px solid transparent;border-radius:var(--radius-md);font-size:14px;font-weight:500;line-height:1.5;text-align:center;text-decoration:none;cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:focus{outline:2px solid transparent;outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:var(--spacing-2) var(--spacing-3);font-size:12px}.btn-lg{padding:var(--spacing-4) var(--spacing-6);font-size:16px}.btn-xl{padding:var(--spacing-5) var(--spacing-8);font-size:18px}.btn-primary{background-color:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:focus{box-shadow:0 0 0 3px #3b82f680}.btn-secondary{background-color:var(--color-gray-100);color:var(--color-gray-700);border-color:var(--color-gray-300);margin-left:1em}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-200);border-color:var(--color-gray-400)}.btn-success{background-color:var(--color-success);color:var(--color-white)}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark);transform:translateY(-1px)}.btn-warning{background-color:var(--color-warning);color:var(--color-white)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-dark);transform:translateY(-1px)}.btn-danger{background-color:var(--color-danger);color:var(--color-white)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-dark);transform:translateY(-1px)}.btn-outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white)}.btn-ghost{background-color:transparent;color:var(--color-gray-600);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100);color:var(--color-gray-900)}.form-group{margin-bottom:var(--spacing-6)}.form-label{display:block;margin-bottom:var(--spacing-2);font-size:14px;font-weight:500;color:var(--color-gray-700)}.form-label.required:after{content:"*";color:var(--color-danger);margin-left:var(--spacing-1)}.form-input{display:block;width:100%;padding:var(--spacing-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:14px;line-height:1.5;color:var(--color-gray-900);background-color:var(--color-white);transition:all var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background-color:var(--color-gray-50);color:var(--color-gray-500);cursor:not-allowed}.form-input.error{border-color:var(--color-danger)}.form-input.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-input.success{border-color:var(--color-success)}.form-input.success:focus{box-shadow:0 0 0 3px #10b9811a}.form-textarea{resize:vertical;min-height:80px}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--spacing-3) center;background-repeat:no-repeat;background-size:16px 12px;padding-right:var(--spacing-8)}.form-error-message{margin-top:var(--spacing-2);font-size:12px;color:var(--color-danger)}.form-help-text{margin-top:var(--spacing-2);font-size:12px;color:var(--color-gray-500)}.form-row{display:flex;gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.form-col{flex:1}.form-check{display:flex;align-items:center;margin-bottom:var(--spacing-3)}.form-check-input{margin-right:var(--spacing-3);width:16px;height:16px}.form-check-label{font-size:14px;color:var(--color-gray-700);cursor:pointer}.search-box{position:relative;display:flex;align-items:center}.search-input{padding-left:var(--spacing-10);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z'/%3e%3c/svg%3e");background-position:left var(--spacing-3) center;background-repeat:no-repeat;background-size:16px 16px}.search-clear{position:absolute;right:var(--spacing-3);background:none;border:none;color:var(--color-gray-400);cursor:pointer;padding:var(--spacing-1);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.search-clear:hover{color:var(--color-gray-600)}.search-suggestions{position:absolute;top:100%;left:0;right:0;z-index:10;margin-top:var(--spacing-1);background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:200px;overflow-y:auto}.search-suggestion{padding:var(--spacing-3);cursor:pointer;border-bottom:1px solid var(--color-gray-100);transition:background-color var(--transition-fast)}.search-suggestion:hover{background-color:var(--color-gray-50)}.search-suggestion:last-child{border-bottom:none}.search-suggestion.active{background-color:var(--color-primary);color:var(--color-white)}.list{list-style:none;padding:0;margin:0}.list-item{display:flex;align-items:center;padding:var(--spacing-4);border-bottom:1px solid var(--color-gray-200);transition:background-color var(--transition-fast)}.list-item:hover{background-color:var(--color-gray-50)}.list-item:last-child{border-bottom:none}.list-item-content{flex:1}.list-item-title{font-size:16px;font-weight:500;color:var(--color-gray-900);margin-bottom:var(--spacing-1)}.list-item-subtitle{font-size:14px;color:var(--color-gray-600);margin-bottom:var(--spacing-2)}.list-item-meta{font-size:12px;color:var(--color-gray-500)}.list-item-avatar{width:40px;height:40px;border-radius:var(--radius-full);margin-right:var(--spacing-3);object-fit:cover}.list-item-actions{display:flex;gap:var(--spacing-2)}.list-cards{display:grid;gap:var(--spacing-4);grid-template-columns:1fr}@media (min-width: 640px){.list-cards{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.list-cards{grid-template-columns:repeat(3,1fr)}}.list-card{background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.list-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.table{width:100%;border-collapse:collapse;background-color:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.table th,.table td{padding:var(--spacing-4);text-align:left;border-bottom:1px solid var(--color-gray-200)}.table th{background-color:var(--color-gray-50);font-weight:600;font-size:14px;color:var(--color-gray-700);text-transform:uppercase;letter-spacing:.05em}.table td{font-size:14px;color:var(--color-gray-900)}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background-color:var(--color-gray-50)}.table tbody tr:last-child td{border-bottom:none}.table-striped tbody tr:nth-child(2n){background-color:var(--color-gray-25)}.table-striped tbody tr:nth-child(2n):hover{background-color:var(--color-gray-50)}.table-bordered{border:1px solid var(--color-gray-200)}.table-bordered th,.table-bordered td{border-right:1px solid var(--color-gray-200)}.table-bordered th:last-child,.table-bordered td:last-child{border-right:none}.table-sm th,.table-sm td{padding:var(--spacing-2) var(--spacing-3)}.table-lg th,.table-lg td{padding:var(--spacing-6)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 767px){.table-responsive .table{min-width:600px}}.table .text-center{text-align:center}.table .text-right{text-align:right}.table .text-nowrap{white-space:nowrap}.table .w-auto{width:auto}.table .w-xs{width:60px}.table .w-sm{width:80px}.table .w-md{width:120px}.table .w-lg{width:160px}.table .w-xl{width:200px}.table .w-2xl{width:240px}.table .w-3xl{width:280px}.table .w-full{width:100%}.table .w-1-12{width:8.333333%}.table .w-2-12{width:16.666667%}.table .w-3-12{width:25%}.table .w-4-12{width:33.333333%}.table .w-6-12{width:50%}.table .w-8-12{width:66.666667%}.table .w-9-12{width:75%}.table .min-w-0{min-width:0}.table .min-w-xs{min-width:60px}.table .min-w-sm{min-width:80px}.table .min-w-md{min-width:120px}.table .min-w-lg{min-width:160px}.table .min-w-xl{min-width:200px}.table .max-w-xs{max-width:60px}.table .max-w-sm{max-width:80px}.table .max-w-md{max-width:120px}.table .max-w-lg{max-width:160px}.table .max-w-xl{max-width:200px}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-4)}.header{text-align:center;color:var(--color-gray-900)}.card{background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{padding:var(--spacing-6) var(--spacing-6) 0}.card-body{padding:var(--spacing-6)}.card-footer{padding:0 var(--spacing-6) var(--spacing-6);border-top:1px solid var(--color-gray-200);margin-top:var(--spacing-6);padding-top:var(--spacing-6)}.badge{display:inline-block;padding:var(--spacing-1) var(--spacing-3);font-size:12px;font-weight:500;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.badge-primary{background-color:var(--color-primary);color:var(--color-white)}.badge-success{background-color:var(--color-success);color:var(--color-white)}.badge-warning{background-color:var(--color-warning);color:var(--color-white)}.badge-danger{background-color:var(--color-danger);color:var(--color-white)}.badge-secondary{background-color:var(--color-gray-200);color:var(--color-gray-700)}@media (max-width: 767px){.form-row{flex-direction:column}.btn-xl{padding:var(--spacing-4) var(--spacing-6);font-size:16px}}.loading{display:inline-block;width:16px;height:16px;border:2px solid var(--color-gray-200);border-radius:50%;border-top-color:var(--color-primary);animation:loading-spin .8s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}.btn .loading{margin-right:var(--spacing-2)}.url-column{max-width:200px;word-break:break-all}.url-column a{color:#007bff;text-decoration:none}.url-column a:hover{text-decoration:underline}.loading-overlay[data-v-2514eebe]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.loading-spinner[data-v-2514eebe]{display:flex;flex-direction:column;align-items:center;gap:16px}.spinner[data-v-2514eebe]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin-2514eebe 1s linear infinite}@keyframes spin-2514eebe{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text[data-v-2514eebe]{color:#fff;font-size:16px;font-weight:500}.success-toast[data-v-b9d694ea]{position:fixed;left:50%;bottom:30%;transform:translate(-50%);z-index:9999;pointer-events:none;animation:fadeIn-b9d694ea .3s ease-out}.success-toast-content[data-v-b9d694ea]{background:#2d3748;border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #0000004d;max-width:300px}.success-icon[data-v-b9d694ea]{width:20px;height:20px;color:#68d391;flex-shrink:0}.success-text[data-v-b9d694ea]{color:#e2e8f0;font-size:14px;font-weight:500}@keyframes fadeIn-b9d694ea{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.confirm-overlay[data-v-7272dbec]{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-dialog[data-v-7272dbec]{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90%;max-width:400px;overflow:hidden;animation:confirmSlideIn-7272dbec .2s ease-out}@keyframes confirmSlideIn-7272dbec{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-header[data-v-7272dbec]{padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.confirm-title[data-v-7272dbec]{margin:0;font-size:18px;font-weight:600;color:#111827}.confirm-body[data-v-7272dbec]{padding:16px 24px 24px}.confirm-message[data-v-7272dbec]{margin:0;color:#6b7280;line-height:1.5;font-size:14px}.confirm-footer[data-v-7272dbec]{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end}.confirm-btn[data-v-7272dbec]{padding:8px 16px;border-radius:6px;border:1px solid;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:70px}.cancel-btn[data-v-7272dbec]{background:#fff;color:#6b7280;border-color:#d1d5db}.cancel-btn[data-v-7272dbec]:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.confirm-btn-primary[data-v-7272dbec]{background:#3b82f6;color:#fff;border-color:#3b82f6}.confirm-btn-primary[data-v-7272dbec]:hover{background:#2563eb;border-color:#2563eb}.confirm-btn[data-v-7272dbec]:active{transform:translateY(1px)}@media (prefers-color-scheme: dark){.confirm-dialog[data-v-7272dbec]{background:#1f2937}.confirm-header[data-v-7272dbec]{border-bottom-color:#374151}.confirm-title[data-v-7272dbec]{color:#f9fafb}.confirm-message[data-v-7272dbec]{color:#d1d5db}.cancel-btn[data-v-7272dbec]{background:#374151;color:#d1d5db;border-color:#4b5563}.cancel-btn[data-v-7272dbec]:hover{background:#4b5563;border-color:#6b7280;color:#f3f4f6}}
