@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-primary:#4f6ef7;--color-primary-hover:#3b5de7;--color-primary-light:#4f6ef714;--color-primary-glow:#4f6ef759;--color-secondary:#f43f5e;--color-success:#10b981;--color-success-light:#10b9811a;--color-warning:#f59e0b;--color-warning-light:#f59e0b1a;--color-danger:#ef4444;--color-danger-light:#ef444414;--color-background:#f0f2f5;--color-surface:#fff;--color-surface-hover:#f8f9fb;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--color-border:#e5e7eb;--color-border-light:#f3f4f6;--color-divider:#0000000f;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 24px #0000001a;--shadow-glass:0 8px 32px #1f26870f;--shadow-primary:0 4px 14px var(--color-primary-glow);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--color-background);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);letter-spacing:-.01em;font-weight:600}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1rem}.text-center{text-align:center}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.glass-panel{-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-glass);border-radius:var(--radius-lg);background:#ffffffeb;border:1px solid #fff9}input,button,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer;background:0 0;border:none}.form-group{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.form-label{color:var(--color-text-secondary);font-size:.8125rem;font-weight:500}.form-control{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:100%;color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.5625rem .875rem}.form-control:hover{border-color:#d1d5db}.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-control:disabled{background-color:var(--color-border-light);color:var(--color-text-muted);cursor:not-allowed}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.25rem}.btn{border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:.5625rem 1.125rem;font-size:.875rem;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--color-primary) 0%, #3b5de7 100%);color:#fff;box-shadow:var(--shadow-primary)}.btn-primary:hover{background:linear-gradient(135deg, var(--color-primary-hover) 0%, #2f4fd6 100%);box-shadow:0 6px 20px var(--color-primary-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)scale(.98)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text-primary);border:1.5px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-surface-hover);border-color:#d1d5db}.btn-danger{background-color:var(--color-danger-light);color:var(--color-danger);border:1.5px solid #0000}.btn-danger:hover{background-color:#ef444426}.btn-sm{padding:.3rem .6rem;font-size:.75rem}.btn-xs{padding:.2rem .45rem;font-size:.7rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.animate-fade-in{animation:.35s forwards fadeIn}.animate-slide-in{animation:.3s forwards slideInRight}.badge{border-radius:var(--radius-full);letter-spacing:.01em;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:600;line-height:1.6;display:inline-flex}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary)}.badge-success{background-color:var(--color-success-light);color:#059669}.badge-warning{background-color:var(--color-warning-light);color:#b45309}.badge-danger{background-color:var(--color-danger-light);color:var(--color-danger)}.badge-neutral{background-color:var(--color-border-light);color:var(--color-text-secondary)}.app-layout{background-color:var(--color-background);width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.sidebar{border-right:1px solid var(--color-border);width:260px;transition:margin-left var(--transition-normal), transform var(--transition-normal);z-index:1000;background:linear-gradient(#fff 0%,#fafbfc 100%);flex-direction:column;flex-shrink:0;height:100vh;margin-left:-260px;display:flex}.sidebar.open{margin-left:0}.sidebar-header{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.sidebar-content{flex-direction:column;flex:1;gap:2px;padding:.5rem 0;display:flex;overflow-y:auto}.sidebar-footer{border-top:1px solid var(--color-border-light);background:linear-gradient(#0000 0%,#00000003 100%);padding:1rem}.nav-link{color:var(--color-text-secondary);transition:all var(--transition-fast);border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.625rem 1.5rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-link:hover{background-color:var(--color-surface-hover);color:var(--color-primary)}.nav-link.active{background-color:var(--color-primary-light);color:var(--color-primary);border-left-color:var(--color-primary);font-weight:600}.nav-section-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;padding:.75rem 1.5rem .375rem;font-size:.6875rem;font-weight:600}.app-main{background-color:var(--color-background);flex:1;height:100vh;padding:1.5rem 2rem;overflow-y:auto}.mobile-toggle{z-index:900;background-color:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;color:var(--color-text-primary);transition:all var(--transition-fast);justify-content:center;align-items:center;padding:.5rem;display:flex;position:fixed;top:1rem;left:1rem}.mobile-toggle:hover{background-color:var(--color-surface-hover);box-shadow:var(--shadow-md)}.sidebar-overlay{z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0006;display:none;position:fixed;inset:0}@media (width>=1025px){.app-main{padding:1.5rem 2.5rem}.app-layout:not(:has(.sidebar.open)) .app-main{padding-left:4.5rem}}@media (width<=1024px){.app-main{padding:4.5rem 1rem 2rem}.sidebar{box-shadow:var(--shadow-lg);margin-left:0;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{margin-left:0;transform:translate(0)}.sidebar-overlay.open{display:block}}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.stat-card{border-radius:var(--radius-lg);border:1px solid var(--color-border-light);background-color:var(--color-surface);transition:box-shadow var(--transition-fast), transform var(--transition-fast);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);font-size:.75rem;font-weight:600}.stat-value{color:var(--color-text-primary);letter-spacing:-.02em;font-size:1.75rem;font-weight:700}.table-container{background-color:var(--color-surface);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-xs);border:1px solid var(--color-border);overflow-x:auto}.table{border-collapse:collapse;white-space:nowrap;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-border-light);padding:.625rem .75rem}.table th{background-color:var(--color-background);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;z-index:1;font-size:.75rem;font-weight:600;position:sticky;top:0}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background-color:var(--color-primary-light)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:1.5rem}.card-header{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.card-title{font-size:1rem;font-weight:600}.status-pill{border-radius:var(--radius-full);letter-spacing:.01em;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.status-pill--success{color:#166534;background-color:#dcfce7}.status-pill--pending{color:#854d0e;background-color:#fef9c3}.status-pill--danger{color:#991b1b;background-color:#fee2e2}.empty-state{text-align:center;color:var(--color-text-muted);padding:3rem 1rem}.empty-state svg{opacity:.4;margin-bottom:1rem}.alert{border-radius:var(--radius-md);align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.alert-error{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca}.alert-success{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.alert-warning{color:#92400e;background-color:#fffbeb;border:1px solid #fde68a}.skeleton{background:linear-gradient(90deg, var(--color-border-light) 25%, #eaecef 50%, var(--color-border-light) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}
