:root{--color-bg-primary: #0a0e1a;--color-bg-secondary: #0f172a;--color-bg-tertiary: #1e293b;--color-bg-card: #162032;--color-bg-card-hover: #1c2d45;--color-bg-input: #0f172a;--color-bg-sidebar: #080c16;--color-bg-overlay: rgba(0, 0, 0, .6);--color-glass: rgba(22, 32, 50, .7);--color-glass-border: rgba(255, 255, 255, .08);--color-glass-hover: rgba(30, 41, 59, .8);--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-tertiary: #64748b;--color-text-muted: #475569;--color-text-inverse: #0f172a;--color-accent: #06b6d4;--color-accent-hover: #22d3ee;--color-accent-muted: rgba(6, 182, 212, .15);--color-accent-glow: rgba(6, 182, 212, .3);--color-teal: #14b8a6;--color-teal-muted: rgba(20, 184, 166, .15);--color-indigo: #6366f1;--color-indigo-muted: rgba(99, 102, 241, .15);--color-violet: #8b5cf6;--color-violet-muted: rgba(139, 92, 246, .15);--color-success: #10b981;--color-success-bg: rgba(16, 185, 129, .12);--color-success-border: rgba(16, 185, 129, .3);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .12);--color-warning-border: rgba(245, 158, 11, .3);--color-danger: #ef4444;--color-danger-bg: rgba(239, 68, 68, .12);--color-danger-border: rgba(239, 68, 68, .3);--color-info: #3b82f6;--color-info-bg: rgba(59, 130, 246, .12);--color-info-border: rgba(59, 130, 246, .3);--color-orange: #f97316;--color-orange-bg: rgba(249, 115, 22, .12);--color-neutral: #6b7280;--color-neutral-bg: rgba(107, 114, 128, .12);--border-color: rgba(255, 255, 255, .06);--border-color-hover: rgba(255, 255, 255, .12);--border-color-focus: var(--color-accent);--border-radius-sm: 6px;--border-radius-md: 10px;--border-radius-lg: 14px;--border-radius-xl: 20px;--border-radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .5);--shadow-xl: 0 12px 48px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px var(--color-accent-glow);--shadow-card: 0 2px 8px rgba(0, 0, 0, .25), 0 0 0 1px var(--border-color);--font-body: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-heading: "Outfit", "Inter", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--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;--sidebar-width: 260px;--sidebar-collapsed-width: 72px;--navbar-height: 64px;--content-max-width: 1400px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--transition-spring: .3s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background-color:var(--color-bg-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.3;color:var(--color-text-primary)}h1{font-size:var(--text-4xl);font-weight:700}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}img{max-width:100%;height:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.material-symbols-rounded{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;vertical-align:middle}.icon-filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.gf-card,.gf-stat-card{background:var(--color-bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--space-6);transition:all var(--transition-base);box-shadow:var(--shadow-card)}.gf-card:hover,.gf-stat-card:hover{border-color:var(--border-color-hover);background:var(--color-bg-card-hover)}.gf-card-glass{background:var(--color-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-glass-border);border-radius:var(--border-radius-lg);padding:var(--space-6)}.gf-btn,.gf-btn-success,.gf-btn-ghost,.gf-btn-danger,.gf-btn-secondary,.gf-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);height:40px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;border-radius:var(--border-radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;text-decoration:none}.gf-btn:disabled,.gf-btn-success:disabled,.gf-btn-ghost:disabled,.gf-btn-danger:disabled,.gf-btn-secondary:disabled,.gf-btn-primary:disabled{opacity:.5;cursor:not-allowed}.gf-btn .material-symbols-rounded,.gf-btn-success .material-symbols-rounded,.gf-btn-ghost .material-symbols-rounded,.gf-btn-danger .material-symbols-rounded,.gf-btn-secondary .material-symbols-rounded,.gf-btn-primary .material-symbols-rounded{font-size:18px}.gf-btn-primary{background:linear-gradient(135deg,var(--color-accent),var(--color-teal));color:var(--color-text-inverse);box-shadow:0 2px 8px var(--color-accent-glow)}.gf-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px var(--color-accent-glow)}.gf-btn-primary:active:not(:disabled){transform:translateY(0)}.gf-btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--border-color)}.gf-btn-secondary:hover:not(:disabled){background:var(--color-bg-card-hover);border-color:var(--border-color-hover)}.gf-btn-danger{background:var(--color-danger);color:#fff}.gf-btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.gf-btn-ghost{background:transparent;color:var(--color-text-secondary)}.gf-btn-ghost:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary)}.gf-btn-success{background:var(--color-success);color:#fff}.gf-btn-success:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.gf-btn-sm{height:32px;padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.gf-btn-lg{height:48px;padding:var(--space-3) var(--space-8);font-size:var(--text-md)}.gf-btn-icon{width:40px;padding:0}.gf-input-group{display:flex;flex-direction:column;gap:var(--space-2)}.gf-input-group label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.gf-input{width:100%;height:42px;padding:0 var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-md);outline:none;transition:all var(--transition-base)}.gf-input::placeholder{color:var(--color-text-muted)}.gf-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.gf-input:disabled{opacity:.5;cursor:not-allowed}textarea.gf-input{height:auto;min-height:100px;padding:var(--space-3) var(--space-4);resize:vertical}select.gf-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2394a3b8' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.gf-badge,.gf-badge-neutral,.gf-badge-info,.gf-badge-danger,.gf-badge-warning,.gf-badge-success{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 10px;font-size:var(--text-xs);font-weight:600;border-radius:var(--border-radius-full);letter-spacing:.02em;text-transform:uppercase}.gf-badge-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.gf-badge-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border)}.gf-badge-danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.gf-badge-info{background:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info-border)}.gf-badge-neutral{background:var(--color-neutral-bg);color:var(--color-neutral);border:1px solid rgba(107,114,128,.3)}.gf-table-container{width:100%;overflow-x:auto;border-radius:var(--border-radius-lg);border:1px solid var(--border-color)}.gf-table{width:100%;border-collapse:collapse}.gf-table th,.gf-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.gf-table th{background:var(--color-bg-tertiary);font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:1}.gf-table td{font-size:var(--text-sm);color:var(--color-text-primary)}.gf-table tbody tr{transition:background var(--transition-fast)}.gf-table tbody tr:hover{background:var(--color-bg-card-hover)}.gf-table tbody tr:last-child td{border-bottom:none}.gf-page{padding:var(--space-8);max-width:var(--content-max-width);margin:0 auto}.gf-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-4)}.gf-page-header h1{font-size:var(--text-2xl)}.gf-page-header p{color:var(--color-text-secondary);font-size:var(--text-sm);margin-top:var(--space-1)}.gf-page-actions{display:flex;align-items:center;gap:var(--space-3)}.gf-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-5);margin-bottom:var(--space-8)}.gf-stat-card{display:flex;align-items:flex-start;gap:var(--space-4)}.gf-stat-card .stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--border-radius-md);flex-shrink:0}.gf-stat-card .stat-icon .material-symbols-rounded{font-size:24px}.gf-stat-card .stat-content{flex:1}.gf-stat-card .stat-content .stat-value{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;line-height:1;margin-bottom:var(--space-1)}.gf-stat-card .stat-content .stat-label{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.gf-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);text-align:center}.gf-empty-state .material-symbols-rounded{font-size:64px;color:var(--color-text-muted);margin-bottom:var(--space-4)}.gf-empty-state h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}.gf-empty-state p{color:var(--color-text-secondary);font-size:var(--text-sm);max-width:400px}.gf-modal-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.gf-modal{background:var(--color-bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);width:90%;max-width:560px;max-height:90vh;overflow-y:auto;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}.gf-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6);border-bottom:1px solid var(--border-color)}.gf-modal-header h2{font-size:var(--text-lg)}.gf-modal-body{padding:var(--space-6)}.gf-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-color)}.gf-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}@media(max-width:640px){.gf-form-grid{grid-template-columns:1fr}}.gf-form-full{grid-column:1/-1}.gf-search{position:relative}.gf-search .material-symbols-rounded{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:20px}.gf-search input{padding-left:40px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gf-loading-spinner{width:24px;height:24px;border:3px solid var(--border-color);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.gf-toast{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);z-index:9999;animation:slideUp .3s ease;min-width:300px}.gf-toast.toast-success{border-left:3px solid var(--color-success)}.gf-toast.toast-error{border-left:3px solid var(--color-danger)}.gf-toast.toast-warning{border-left:3px solid var(--color-warning)}@media(max-width:768px){.gf-page{padding:var(--space-4)}.gf-page-header{flex-direction:column;align-items:flex-start}.gf-stats-grid{grid-template-columns:1fr}}
