:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #dbeafe;--color-primary-dark: #1e40af;--color-secondary: #64748b;--color-secondary-hover: #475569;--color-secondary-light: #f1f5f9;--color-success: #22c55e;--color-success-light: #dcfce7;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-error: #ef4444;--color-error-light: #fee2e2;--color-info: #3b82f6;--color-info-light: #dbeafe;--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;--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-family-mono: "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--border-radius-sm: .375rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--border-radius-full: 9999px;--border-width: 1px;--border-width-md: 2px;--border-width-lg: 4px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:1.6;color:var(--color-gray-800);background-color:var(--color-gray-50)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:1.3;color:var(--color-gray-900);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.action-button-primary{background-color:#0d6efd;color:#fff;border:none;padding:10px 18px;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem;text-decoration:none;display:inline-block;vertical-align:middle;box-shadow:0 4px 12px #0d6efd4d;transition:background-color .3s ease,box-shadow .3s ease}.action-button-primary:hover{background-color:#0b5ed7;box-shadow:0 6px 14px #0d6efd66}.action-button-primary:disabled{background-color:#a0a0a0;cursor:not-allowed;box-shadow:none}.btn.btn-primary{background-color:#0d6efd;color:#fff;border:none;padding:10px 18px;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem;text-decoration:none;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 12px #0d6efd4d;transition:background-color .3s ease,box-shadow .3s ease}.btn.btn-primary:hover:not(:disabled){background-color:#0b5ed7;box-shadow:0 6px 14px #0d6efd66}._dashboardContainer_jltva_5{min-height:100vh;background-color:var(--color-gray-50)}._header_jltva_15{background-color:var(--color-white);border-bottom:1px solid var(--color-gray-200);padding:var(--spacing-lg) var(--spacing-xl);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky)}._headerContent_jltva_35{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg)}._logoContainer_jltva_53{display:flex;align-items:center;gap:var(--spacing-md)}._logoImage_jltva_65{height:48px;width:auto;object-fit:contain}._title_jltva_77{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900);margin:0;line-height:1}._subtitle_jltva_93{font-size:var(--font-size-sm);color:var(--color-gray-600);margin:2px 0 0}._userActions_jltva_107{display:flex;align-items:center;gap:var(--spacing-lg)}._greetingBadge_jltva_119{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-primary-light);border-radius:var(--border-radius-full);border:1px solid var(--color-primary)}._greetingText_jltva_133{font-size:var(--font-size-sm);color:var(--color-primary-dark)}._mainContent_jltva_143{max-width:1400px;margin:0 auto;padding:var(--spacing-xl)}.card{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);border:var(--border-width) solid var(--color-gray-200);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:var(--border-width) solid var(--color-gray-200)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);margin:0}.card-body{padding:var(--spacing-md) 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-md);border:var(--border-width) solid transparent;transition:all var(--transition-fast);cursor:pointer;white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-white);color:var(--color-gray-700);border-color:var(--color-gray-300)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-50);border-color:var(--color-gray-400)}.btn-success{background-color:var(--color-success);color:var(--color-white);border-color:var(--color-success)}.btn-success:hover:not(:disabled){background-color:#16a34a;box-shadow:var(--shadow-md)}.btn-danger{background-color:var(--color-error);color:var(--color-white);border-color:var(--color-error)}.btn-danger:hover:not(:disabled){background-color:#dc2626;box-shadow:var(--shadow-md)}.btn-ghost{background-color:transparent;color:var(--color-gray-700);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100)}.btn-sm{padding:calc(var(--spacing-xs) + 2px) var(--spacing-md);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.btn-icon{width:40px;height:40px;padding:0}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-700);margin-bottom:var(--spacing-sm)}.form-label-required:after{content:"*";color:var(--color-error);margin-left:var(--spacing-xs)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);line-height:1.5;color:var(--color-gray-900);background-color:var(--color-white);border:var(--border-width) solid var(--color-gray-300);border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input::placeholder{color:var(--color-gray-400)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--color-gray-100);cursor:not-allowed;opacity:.6}.form-error{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-error)}.form-helper{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-gray-500)}.table-container{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;border:var(--border-width) solid var(--color-gray-200)}.table-wrapper{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table thead{background-color:var(--color-gray-50)}.table th{padding:var(--spacing-md);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-gray-700);border-bottom:var(--border-width-md) solid var(--color-gray-200);white-space:nowrap}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast)}.table th.sortable:hover{background-color:var(--color-gray-100)}.table td{padding:var(--spacing-md);border-bottom:var(--border-width) solid var(--color-gray-200);color:var(--color-gray-800)}.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}.badge{display:inline-flex;align-items:center;padding:calc(var(--spacing-xs) + 1px) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;border-radius:var(--border-radius-full);white-space:nowrap}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary-dark)}.badge-success{background-color:var(--color-success-light);color:#166534}.badge-warning{background-color:var(--color-warning-light);color:#92400e}.badge-error{background-color:var(--color-error-light);color:#991b1b}.badge-gray{background-color:var(--color-gray-100);color:var(--color-gray-700)}.filters-panel{background:var(--color-white);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm);border:var(--border-width) solid var(--color-gray-200)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.filters-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}.alert{padding:var(--spacing-md);border-radius:var(--border-radius-md);border:var(--border-width) solid transparent;margin-bottom:var(--spacing-md)}.alert-success{background-color:var(--color-success-light);border-color:var(--color-success);color:#166534}.alert-warning{background-color:var(--color-warning-light);border-color:var(--color-warning);color:#92400e}.alert-error{background-color:var(--color-error-light);border-color:var(--color-error);color:#991b1b}.alert-info{background-color:var(--color-info-light);border-color:var(--color-info);color:#1e40af}.spinner{width:40px;height:40px;border:4px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:var(--border-radius-full);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--border-radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.w-full{width:100%}.h-full{height:100%}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.layout-container{min-height:100vh;background-color:var(--color-gray-50)}.layout-header{background-color:var(--color-white);border-bottom:var(--border-width) solid var(--color-gray-200);padding:var(--spacing-lg) var(--spacing-xl);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky)}.layout-header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg)}.layout-header-text{flex:1}.layout-back-link{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;margin-bottom:var(--spacing-sm);transition:all var(--transition-fast)}.layout-back-link:hover{color:var(--color-primary-hover);gap:calc(var(--spacing-sm) + 2px)}.layout-back-icon{font-size:var(--font-size-lg);line-height:1}.layout-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900);margin:0}.layout-subtitle{font-size:var(--font-size-sm);color:var(--color-gray-600);margin:var(--spacing-xs) 0 0}.layout-header-actions{display:flex;gap:var(--spacing-md);align-items:center}.layout-main{max-width:1400px;margin:0 auto;padding:var(--spacing-xl)}@media(max-width:768px){.layout-header{padding:var(--spacing-md)}.layout-header-content{flex-direction:column;align-items:flex-start}.layout-main{padding:var(--spacing-md)}}.layout-breadcrumb{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}.layout-breadcrumb-link{color:var(--color-gray-600);text-decoration:none;transition:color var(--transition-fast)}.layout-breadcrumb-link:hover{color:var(--color-primary)}.layout-breadcrumb-separator{color:var(--color-gray-400)}.image-uploader-container{margin-top:20px}.dropzone{border:2px dashed #dfe4ea;border-radius:8px;padding:40px 20px;text-align:center;color:#6c757d;cursor:pointer;transition:border-color .2s,background-color .2s}.dropzone.active,.dropzone:hover{border-color:#1a9ae2;background-color:#f8f9fa}.thumbs-container{display:flex;flex-direction:row;flex-wrap:wrap;margin-top:16px}.thumb{display:inline-flex;border-radius:8px;border:1px solid #eaeaea;margin-bottom:8px;margin-right:8px;width:100px;height:100px;padding:4px;box-sizing:border-box;position:relative}.thumb-inner{display:flex;min-width:0;overflow:hidden}.thumb-inner img{display:block;width:auto;height:100%}.progress-bar-container{position:absolute;bottom:4px;left:4px;right:4px;height:5px;background-color:#0003;border-radius:3px;overflow:hidden}.progress-bar{height:100%;background-color:#1a9ae2}.upload-button{margin-top:10px;background-color:#28a745;color:#fff;padding:10px 15px;border:none;border-radius:6px;font-weight:700;cursor:pointer}.delete-thumb-btn{position:absolute;top:-10px;right:-10px;background-color:#e74c3c;color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:16px;line-height:24px;text-align:center;cursor:pointer;font-weight:700;opacity:0;transition:opacity .2s,transform .2s;transform:scale(.8)}.thumb:hover .delete-thumb-btn{opacity:1;transform:scale(1)}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:30px;border-radius:12px;max-width:80%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 30px #0003}.modal-content h3{margin-top:0;font-size:1.5rem}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:15px;margin-top:20px}.image-option{border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s}.image-option:hover{border-color:#1a9ae2;transform:scale(1.05)}.image-option img{width:100%;height:100%;object-fit:cover;display:block}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}
