@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");:root{--primary:#7B8CDE;--primary-light:#A8B4F0;--primary-dark:#5A6BC7;--primary-bg:#EEF0FF;--primary-gradient:linear-gradient(135deg,#7B8CDE,#5A6BC7);--secondary:#5EC4B6;--secondary-light:#8AD9CF;--secondary-dark:#3BA99A;--secondary-gradient:linear-gradient(135deg,#5EC4B6,#3BA99A);--accent:#F4A261;--accent-light:#F8C08E;--accent-gradient:linear-gradient(135deg,#F4A261,#E8914E);--success:#6BCB77;--success-light:#8DD89B;--success-bg:#E8F8EA;--success-gradient:linear-gradient(135deg,#6BCB77,#4DB85E);--warning:#FFD166;--warning-light:#FFE08A;--warning-bg:#FFF8E1;--danger:#EF476F;--danger-light:#F4758D;--danger-bg:#FFF0F3;--danger-gradient:linear-gradient(135deg,#EF476F,#D63B5A);--bg:#F5F6FF;--bg-subtle:#ECEEF8;--surface:#FFFFFF;--surface-hover:#F0F1FA;--surface-active:#E8E9F5;--surface-elevated:#FFFFFF;--border:#E2E4F0;--border-light:#ECEDF5;--border-focus:#7B8CDE;--text:#1A1B2E;--text-secondary:#3D3E56;--text-muted:#6B7280;--text-subtle:#9CA3AF;--text-inverse:#FFFFFF;--shadow-xs:0 1px 2px rgba(123,140,222,0.04);--shadow-sm:0 1px 4px rgba(123,140,222,0.06),0 2px 6px rgba(27,28,46,0.04);--shadow-md:0 4px 12px rgba(123,140,222,0.08),0 2px 4px rgba(27,28,46,0.04);--shadow-lg:0 8px 24px rgba(123,140,222,0.12),0 4px 8px rgba(27,28,46,0.04);--shadow-xl:0 16px 48px rgba(123,140,222,0.16),0 8px 16px rgba(27,28,46,0.06);--shadow-primary:0 4px 14px rgba(123,140,222,0.35);--shadow-success:0 4px 14px rgba(107,203,119,0.30);--shadow-danger:0 4px 14px rgba(239,71,111,0.30);--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font-sans:"Inter",system-ui,-apple-system,sans-serif;--font-mono:"Geist Mono","Fira Code",monospace;--sidebar-width:260px;--sidebar-collapsed:72px;--header-height:64px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--transition-bounce:500ms cubic-bezier(0.34,1.56,0.64,1)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text);line-height:1.6}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 rgba(123,140,222,.4)}50%{box-shadow:0 0 0 8px rgba(123,140,222,0)}}.layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border-light);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:width var(--transition-base);box-shadow:2px 0 16px rgba(123,140,222,.06)}.sidebar-logo{padding:var(--space-6);border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:var(--space-3);min-height:72px}.sidebar-logo h1{font-size:21px;font-weight:800;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.3px}.sidebar-nav{flex:1 1;padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-4);border-radius:var(--radius-md);color:var(--text-muted);font-weight:500;font-size:14px;transition:all var(--transition-fast);cursor:pointer;border:none;background:none;width:100%;text-align:left;position:relative}.sidebar-link:hover{background:var(--surface-hover);color:var(--primary);transform:translateX(2px)}.sidebar-link.active{background:var(--primary-bg);color:var(--primary-dark);font-weight:600}.sidebar-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--primary-gradient);border-radius:0 var(--radius-full) var(--radius-full) 0}.sidebar-link .icon,.sidebar-link .nav-icon,.sidebar-link svg{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sidebar-link .nav-icon{font-size:16px}.main-content{flex:1 1;margin-left:var(--sidebar-width);min-height:100vh;animation:fadeIn .3s ease}.page-header{background:rgba(255,255,255,.85);border-bottom:1px solid var(--border-light);padding:var(--space-5) var(--space-8);display:flex;justify-content:space-between;align-items:center;position:-webkit-sticky;position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.page-title{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.02em}.page-body{padding:var(--space-8);animation:fadeInUp .4s ease}.card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);overflow:hidden}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border)}.card-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.card-header h3{font-weight:600;color:var(--text);letter-spacing:-.01em}.card-body{padding:var(--space-6)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--space-5);gap:var(--space-5);margin-bottom:var(--space-8)}.metric-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--border-light);display:flex;flex-direction:column;gap:var(--space-2);transition:all var(--transition-fast);position:relative;overflow:hidden;animation:fadeInUp .4s ease backwards}.metric-card:first-child{animation-delay:.05s}.metric-card:nth-child(2){animation-delay:.1s}.metric-card:nth-child(3){animation-delay:.15s}.metric-card:nth-child(4){animation-delay:.2s}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-gradient);opacity:0;transition:opacity var(--transition-fast)}.metric-card:nth-child(2):before{background:var(--secondary-gradient)}.metric-card:nth-child(3):before{background:var(--accent-gradient)}.metric-card:nth-child(4):before{background:var(--success-gradient)}.metric-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:transparent}.metric-card:hover:before{opacity:1}.metric-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px}.metric-value{font-size:32px;font-weight:800;color:var(--text);font-family:var(--font-sans);letter-spacing:-.02em}.metric-value.success{color:var(--success)}.metric-value.warning{color:var(--warning)}.metric-value.danger{color:var(--danger)}.metric-value.primary{color:var(--primary)}.metric-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-light);background:var(--surface)}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table thead{background:var(--bg)}.data-table th{text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.data-table td,.data-table th{padding:var(--space-3) var(--space-4)}.data-table td{border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:13.5px}.data-table tbody tr{transition:all var(--transition-fast)}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.row-valid:hover{background:#F0FBF1}.data-table tbody tr.row-suspicious:hover{background:#FFFBF0}.data-table tbody tr.row-rejected:hover{background:#FFF5F7}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:.3px;line-height:1}.badge-valid{background:var(--success-bg);color:#2E7D32}.badge-suspicious{background:var(--warning-bg);color:#E6A700}.badge-rejected{background:var(--danger-bg);color:#C62828}.badge-active{background:var(--success-bg);color:#2E7D32}.badge-inactive{background:var(--bg-subtle);color:var(--text-muted)}.badge-synced{background:var(--primary-bg);color:var(--primary-dark)}.badge-pending{background:var(--warning-bg);color:#E6A700}.badge-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.badge-valid .badge-dot{background:#2E7D32}.badge-suspicious .badge-dot{background:#E6A700}.badge-rejected .badge-dot{background:#C62828}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast);font-family:var(--font-sans);height:40px;letter-spacing:.01em;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,0));pointer-events:none}.btn-primary{background:var(--primary-gradient);color:var(--text-inverse);box-shadow:var(--shadow-primary)}.btn-primary:hover{box-shadow:0 6px 20px rgba(123,140,222,.45);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(123,140,222,.3)}.btn-secondary{background:var(--surface);color:var(--text-secondary);border-color:var(--border)}.btn-secondary:after{display:none}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--primary-light);color:var(--primary)}.btn-danger{background:var(--danger-gradient);color:var(--text-inverse);box-shadow:var(--shadow-danger)}.btn-danger:hover{box-shadow:0 6px 20px rgba(239,71,111,.4);transform:translateY(-1px)}.btn-success{background:var(--success-gradient);color:var(--text-inverse);box-shadow:var(--shadow-success)}.btn-success:hover{box-shadow:0 6px 20px rgba(107,203,119,.4);transform:translateY(-1px)}.btn-sm{height:32px;padding:var(--space-1) var(--space-3);font-size:13px;border-radius:var(--radius-sm)}.btn-lg{height:48px;padding:var(--space-3) var(--space-8);font-size:16px;border-radius:var(--radius-lg)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--surface-hover);color:var(--primary);border-color:var(--border)}.btn-icon.danger:hover{background:var(--danger-bg);color:var(--danger);border-color:transparent}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.form-label{font-size:13px;font-weight:600;color:var(--text-secondary);letter-spacing:.01em}.form-input{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:14px;font-family:var(--font-sans);color:var(--text);background:var(--surface);transition:all var(--transition-fast);height:44px}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(123,140,222,.12)}.form-input:hover:not(:focus){border-color:var(--primary-light)}.form-input::placeholder{color:var(--text-subtle)}.form-error{font-size:12px;color:var(--danger);font-weight:500}.form-input-wrapper{position:relative}.form-input-wrapper .form-input{padding-left:42px}.form-input-wrapper .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);width:18px;height:18px;pointer-events:none}.toolbar{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-5)}.toolbar .form-input{max-width:260px}.skeleton{background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--surface-hover) 50%,var(--bg-subtle) 75%);background-size:200% 100%;animation:shimmer 1.8s infinite;border-radius:var(--radius-sm)}.pagination{gap:var(--space-2);margin-top:var(--space-6)}.pagination,.pagination-btn{display:flex;align-items:center;justify-content:center}.pagination-btn{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font-size:13px;font-weight:500;transition:all var(--transition-fast);color:var(--text-secondary);min-width:36px}.pagination-btn:hover{background:var(--surface-hover);border-color:var(--primary-light);color:var(--primary)}.pagination-btn.active{background:var(--primary-gradient);color:var(--text-inverse);border-color:transparent;box-shadow:var(--shadow-primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.alert{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);font-size:14px;font-weight:500;display:flex;align-items:center;gap:var(--space-3)}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid rgba(239,71,111,.15)}.alert-success{background:var(--success-bg);color:#2E7D32;border:1px solid rgba(107,203,119,.15)}.alert-warning{background:var(--warning-bg);color:#E6A700;border:1px solid rgba(255,209,102,.25)}.empty-state{flex-direction:column;padding:var(--space-16) var(--space-8);color:var(--text-muted)}.empty-state,.empty-state-icon{display:flex;align-items:center;justify-content:center}.empty-state-icon{width:64px;height:64px;border-radius:var(--radius-xl);background:var(--primary-bg);margin-bottom:var(--space-5);color:var(--primary)}@media (max-width:768px){.sidebar{width:var(--sidebar-collapsed)}.sidebar-link span:not(.icon):not(.nav-icon),.sidebar-logo h1{display:none}.main-content{margin-left:var(--sidebar-collapsed)}.metrics-grid{grid-template-columns:repeat(2,1fr)}.page-body,.page-header{padding:var(--space-4)}}@media (max-width:480px){.metrics-grid{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.text-muted{color:var(--text-muted)}.text-sm{font-size:13px}.font-medium{font-weight:500}.font-semibold{font-weight:600}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:rgba(123,140,222,.2);color:var(--text)}