:root{--bs-primary: #4f46e5;--bs-primary-rgb: 79, 70, 229;--bs-link-color: #4f46e5;--bs-link-hover-color: #4338ca;--bs-link-color-rgb: 79, 70, 229;--bs-body-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bs-body-bg: #f8f9fb;--bs-body-color: #1f2937;--bs-body-font-size: .9375rem;--bs-border-color: #e8eaed;--bs-border-radius: 10px;--bs-border-radius-sm: 8px;--bs-border-radius-lg: 14px;--bs-border-radius-xl: 18px;--bs-border-radius-pill: 9999px;--bs-card-border-color: transparent;--bs-card-border-radius: 14px;--bs-card-cap-bg: transparent;--bs-card-bg: #ffffff;--bs-card-spacer-y: 1.25rem;--bs-card-spacer-x: 1.5rem;--bs-form-control-bg: #ffffff;--bs-secondary-bg: #f1f3f5;--bs-tertiary-bg: #f8f9fb;--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-active: #3730a3;--color-primary-light: #eef2ff;--color-primary-50: #eef2ff;--color-primary-100: #e0e7ff;--color-primary-200: #c7d2fe;--color-primary-600: #4f46e5;--color-primary-700: #4338ca;--color-success: #059669;--color-success-light: #ecfdf5;--color-warning: #d97706;--color-warning-light: #fffbeb;--color-danger: #dc2626;--color-danger-light: #fef2f2;--color-info: #0891b2;--color-info-light: #ecfeff;--color-gray-50: #f8f9fb;--color-gray-100: #f1f3f5;--color-gray-200: #e8eaed;--color-gray-300: #d0d4da;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--bg-body: #f8f9fb;--bg-surface: #ffffff;--bg-surface-raised: #ffffff;--bg-sidebar: #ffffff;--bg-navbar: #ffffff;--bg-input: #ffffff;--bg-muted: #f1f3f5;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 4px 16px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .03);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .04);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .1), 0 4px 12px rgba(0, 0, 0, .05);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .08), 0 2px 6px rgba(0, 0, 0, .03);--shadow-input-focus: 0 0 0 3px rgba(79, 70, 229, .12);--shadow-btn: 0 1px 2px rgba(0, 0, 0, .05);--shadow-btn-primary: 0 1px 3px rgba(79, 70, 229, .3), 0 1px 2px rgba(79, 70, 229, .2);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--sidebar-width: 260px;--sidebar-collapsed-width: 72px;--navbar-height: 60px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1)}body{font-family:var(--font-family);background-color:var(--bg-body);color:var(--color-gray-800);line-height:var(--line-height-normal);font-size:var(--font-size-base);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--color-primary-200);color:var(--color-primary-700)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}.card{--bs-card-border-color: transparent;border:none!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-card);background:var(--bg-surface);transition:box-shadow var(--transition-base),transform var(--transition-base);overflow:hidden}.card-hover{cursor:default}.card-hover:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.card-body{padding:1.5rem!important}.card-header{background:transparent!important;border-bottom:1px solid var(--color-gray-100)!important;padding:1rem 1.5rem!important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-gray-700);display:flex;align-items:center;gap:.5rem}.card-header .bi{color:var(--color-gray-400)}.btn{border-radius:var(--radius-md)!important;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);padding:.5rem 1.125rem;letter-spacing:-.005em;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:.4rem;line-height:1.5;border-width:1.5px;box-shadow:var(--shadow-btn)}.btn:active{transform:scale(.97)}.btn-primary{--bs-btn-bg: var(--color-primary);--bs-btn-border-color: var(--color-primary);--bs-btn-hover-bg: var(--color-primary-hover);--bs-btn-hover-border-color: var(--color-primary-hover);--bs-btn-active-bg: var(--color-primary-active);--bs-btn-active-border-color: var(--color-primary-active);background:var(--color-primary)!important;border-color:var(--color-primary)!important;box-shadow:var(--shadow-btn-primary)}.btn-primary:hover{background:var(--color-primary-hover)!important;border-color:var(--color-primary-hover)!important;box-shadow:0 2px 6px #4f46e559}.btn-outline-primary{--bs-btn-color: var(--color-primary);--bs-btn-border-color: var(--color-primary-200);--bs-btn-hover-bg: var(--color-primary-light);--bs-btn-hover-color: var(--color-primary);--bs-btn-hover-border-color: var(--color-primary);color:var(--color-primary)!important;border-color:var(--color-primary-200)!important;background:transparent!important}.btn-outline-primary:hover{background:var(--color-primary-light)!important;color:var(--color-primary-hover)!important;border-color:var(--color-primary)!important}.btn-outline-secondary{--bs-btn-color: var(--color-gray-600);--bs-btn-border-color: var(--color-gray-200);--bs-btn-hover-bg: var(--color-gray-50);--bs-btn-hover-color: var(--color-gray-700);--bs-btn-hover-border-color: var(--color-gray-300);border-color:var(--color-gray-200)!important;color:var(--color-gray-600)!important}.btn-outline-secondary:hover{background:var(--color-gray-50)!important;color:var(--color-gray-700)!important;border-color:var(--color-gray-300)!important}.btn-outline-danger{--bs-btn-color: var(--color-danger);--bs-btn-border-color: rgba(220, 38, 38, .2);--bs-btn-hover-bg: var(--color-danger-light);--bs-btn-hover-color: var(--color-danger);--bs-btn-hover-border-color: rgba(220, 38, 38, .4);border-color:#dc262633!important}.btn-outline-danger:hover{background:var(--color-danger-light)!important;color:var(--color-danger)!important}.btn-outline-info{--bs-btn-color: var(--color-info);--bs-btn-border-color: rgba(8, 145, 178, .2);--bs-btn-hover-bg: var(--color-info-light);--bs-btn-hover-color: var(--color-info);border-color:#0891b233!important}.btn-outline-info:hover{background:var(--color-info-light)!important;color:var(--color-info)!important}.btn-success{--bs-btn-bg: var(--color-success);--bs-btn-border-color: var(--color-success);background:var(--color-success)!important;border-color:var(--color-success)!important;box-shadow:0 1px 3px #0596694d}.btn-warning{--bs-btn-bg: var(--color-warning);--bs-btn-border-color: var(--color-warning);--bs-btn-color: #fff;background:var(--color-warning)!important;border-color:var(--color-warning)!important;color:#fff!important}.btn-danger{--bs-btn-bg: var(--color-danger);--bs-btn-border-color: var(--color-danger);background:var(--color-danger)!important;border-color:var(--color-danger)!important;box-shadow:0 1px 3px #dc26264d}.btn-light{--bs-btn-bg: #ffffff;--bs-btn-border-color: #ffffff;--bs-btn-color: var(--color-gray-800);background:#fff!important;border-color:#fff!important}.btn-sm{padding:.375rem .875rem;font-size:var(--font-size-xs);border-radius:var(--radius-sm)!important}.btn-lg{padding:.75rem 1.5rem;font-size:var(--font-size-base);border-radius:var(--radius-lg)!important}.btn i.bi{font-size:1em}.form-control,.form-select{border-radius:var(--radius-md)!important;border:1.5px solid var(--color-gray-200)!important;padding:.6875rem 1rem;font-size:var(--font-size-sm);background:var(--bg-input);color:var(--color-gray-800);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-shadow:none!important}.form-control::placeholder{color:var(--color-gray-400)}.form-control:hover,.form-select:hover{border-color:var(--color-gray-300)!important}.form-control:focus,.form-select:focus{border-color:var(--color-primary)!important;box-shadow:var(--shadow-input-focus)!important;outline:none}.form-control:disabled,.form-control[readonly]{background:var(--bg-muted);color:var(--color-gray-500)}.form-control-lg{padding:.8125rem 1.125rem;font-size:var(--font-size-base);border-radius:var(--radius-lg)!important}.form-label{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-gray-700);margin-bottom:.375rem}.form-check-input:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.form-check-input:focus{box-shadow:var(--shadow-input-focus)!important;border-color:var(--color-primary)}.input-group .form-control{border-right:none!important}.input-group .btn{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.form-control.is-valid,.form-control.is-invalid{background-image:none!important}.table{font-size:var(--font-size-sm);--bs-table-hover-bg: var(--color-gray-50);margin-bottom:0}.table>:not(caption)>*>*{border-bottom-color:var(--color-gray-100);padding:.9375rem 1.25rem}.table th{font-weight:var(--font-weight-semibold);text-transform:uppercase;font-size:.6875rem;letter-spacing:.06em;color:var(--color-gray-400);border-bottom:1px solid var(--color-gray-200)!important;background:transparent;white-space:nowrap}.table td{vertical-align:middle;color:var(--color-gray-600)}.table-hover>tbody>tr:hover>*{background-color:var(--color-gray-50)!important;--bs-table-accent-bg: var(--color-gray-50)}.table-responsive{border-radius:var(--radius-lg);overflow:hidden}.badge{font-weight:var(--font-weight-medium);font-size:.6875rem;padding:.35em .75em;border-radius:var(--radius-full)!important;letter-spacing:.01em}.bg-secondary{background:var(--color-gray-100)!important;color:var(--color-gray-600)!important}.bg-success{background:var(--color-success-light)!important;color:var(--color-success)!important}.bg-warning{background:var(--color-warning-light)!important;color:var(--color-warning)!important}.bg-danger{background:var(--color-danger-light)!important;color:var(--color-danger)!important}.bg-info{background:var(--color-info-light)!important;color:var(--color-info)!important}.alert{border-radius:var(--radius-md)!important;font-size:var(--font-size-sm);border:none!important;font-weight:var(--font-weight-medium);padding:.875rem 1.25rem}.alert-danger{background:var(--color-danger-light)!important;color:var(--color-danger)!important}.alert-success{background:var(--color-success-light)!important;color:var(--color-success)!important}.alert-warning{background:var(--color-warning-light)!important;color:var(--color-warning)!important}.alert-info{background:var(--color-info-light)!important;color:var(--color-info)!important}.alert .bi{margin-right:.375rem}.list-group{--bs-list-group-border-color: transparent}.list-group-item{border:none!important;border-bottom:1px solid var(--color-gray-100)!important;padding:1rem 1.5rem;transition:background var(--transition-fast)}.list-group-item:last-child{border-bottom:none!important}.list-group-flush .list-group-item{border-radius:0!important}.pagination{gap:4px;--bs-pagination-border-color: transparent}.pagination .page-link{border-radius:var(--radius-md)!important;border:none!important;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-600);padding:.4375rem .8125rem;background:transparent;transition:all var(--transition-fast)}.pagination .page-link:hover{background:var(--color-gray-100);color:var(--color-gray-800)}.pagination .page-item.active .page-link{background:var(--color-primary)!important;color:#fff;border:none!important;box-shadow:var(--shadow-btn-primary)}.pagination .page-item.disabled .page-link{background:transparent;color:var(--color-gray-300)}.modal-content{border-radius:var(--radius-xl)!important;border:none!important;box-shadow:var(--shadow-xl);overflow:hidden}.modal-header{border-bottom:1px solid var(--color-gray-100)!important;padding:1.25rem 1.5rem}.modal-header .modal-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--color-gray-100)!important;padding:1rem 1.5rem}.offcanvas{box-shadow:var(--shadow-xl);border:none!important}.offcanvas-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-gray-100)}.offcanvas-body{padding:1.5rem}.text-primary{color:var(--color-primary)!important}.text-success{color:var(--color-success)!important}.text-info{color:var(--color-info)!important}.text-muted{color:var(--color-gray-500)!important}.fw-medium{font-weight:var(--font-weight-medium)!important}.fw-semibold{font-weight:var(--font-weight-semibold)!important}.bg-primary-light{background-color:var(--color-primary-light)!important}.bg-success-light{background-color:var(--color-success-light)!important}.bg-warning-light{background-color:var(--color-warning-light)!important}.bg-danger-light{background-color:var(--color-danger-light)!important}.bg-info-light{background-color:var(--color-info-light)!important}.small,small{font-size:var(--font-size-xs)!important}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;color:var(--color-gray-900)}hr{border-color:var(--color-gray-100);opacity:1}code{background:var(--color-primary-light);color:var(--color-primary);padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.8em}.fade-in{animation:fadeIn var(--transition-slow) ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-fade-enter-active{transition:opacity var(--transition-slow)}.page-fade-leave-active{transition:opacity var(--transition-fast)}.page-fade-enter-from,.page-fade-leave-to{opacity:0}.skeleton{background:linear-gradient(90deg,var(--color-gray-100) 25%,var(--color-gray-50) 50%,var(--color-gray-100) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.gradient-text{background:linear-gradient(135deg,var(--color-primary) 0%,#7c3aed 50%,#ec4899 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.card .table{margin-bottom:0}.border-top{border-top-color:var(--color-gray-100)!important}.border-bottom{border-bottom-color:var(--color-gray-100)!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow{box-shadow:var(--shadow-md)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}
