:root{--font-body: "DM Sans", system-ui, sans-serif;--font-display: "Fraunces", Georgia, serif;--color-bg: #fafaf9;--color-bg-elevated: #ffffff;--color-bg-subtle: #f5f5f4;--color-bg-muted: #e7e5e4;--color-text: #1c1917;--color-text-secondary: #57534e;--color-text-muted: #a8a29e;--color-border: #e7e5e4;--color-border-subtle: #f5f5f4;--color-accent: #d97706;--color-accent-hover: #b45309;--color-accent-subtle: #fef3c7;--color-success: #059669;--color-warning: #d97706;--color-error: #dc2626;--color-info: #0284c7;--color-sidebar-bg: #1e293b;--color-sidebar-text: #e2e8f0;--color-sidebar-text-muted: #94a3b8;--color-sidebar-hover: #334155;--color-sidebar-active: #0f172a;--color-role-admin: #3b82f6;--color-role-super-admin: #8b5cf6;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .03);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .05), 0 10px 10px -5px rgba(0, 0, 0, .02);--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);--sidebar-width: 260px;--sidebar-width-collapsed: 68px;--header-height: 64px;--z-sidebar: 100;--z-view-as-banner: 900;--z-modal-backdrop: 1000;--z-modal-content: 1001;--z-tooltip: 1050;--z-lightbox: 1100;--z-toast: 1200}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:.9375rem;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);min-height:100vh}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");z-index:9999}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}img{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.3;color:var(--color-text)}h1{font-size:2rem;letter-spacing:-.02em}h2{font-size:1.5rem;letter-spacing:-.01em}h3{font-size:1.25rem}h4{font-size:1.125rem}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap}.btn--primary{background:var(--color-accent);color:#fff}.btn--primary:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.btn--primary:active{transform:translateY(0)}.btn--secondary{background:var(--color-bg-elevated);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:hover{background:var(--color-bg-subtle);border-color:var(--color-text-muted)}.btn--ghost{background:transparent;color:var(--color-text-secondary)}.btn--ghost:hover{background:var(--color-bg-subtle);color:var(--color-text)}.btn--danger{background:#dc2626;color:#fff}.btn--danger:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px)}.btn--danger:active{transform:translateY(0)}.btn--danger:disabled{opacity:.6;cursor:not-allowed}.btn--sm{padding:var(--space-xs) var(--space-md);font-size:.875rem}.btn--lg{padding:var(--space-md) var(--space-xl);font-size:1rem}.btn--icon{width:36px;height:36px;padding:0;border-radius:var(--radius-md)}.input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.input::placeholder{color:var(--color-text-muted)}.badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);font-size:.75rem;font-weight:500;border-radius:var(--radius-sm)}.badge--success{background:#d1fae5;color:#065f46}.badge--warning{background:#fef3c7;color:#92400e}.badge--error{background:#fee2e2;color:#991b1b}.badge--info{background:#e0f2fe;color:#0369a1}.badge--neutral{background:var(--color-bg-muted);color:var(--color-text-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-up{animation:slideUp var(--transition-slow) ease-out}.animate-slide-in{animation:slideIn var(--transition-slow) ease-out}.animate-delay-1{animation-delay:50ms;animation-fill-mode:backwards}.animate-delay-2{animation-delay:.1s;animation-fill-mode:backwards}.animate-delay-3{animation-delay:.15s;animation-fill-mode:backwards}.animate-delay-4{animation-delay:.2s;animation-fill-mode:backwards}.animate-delay-5{animation-delay:.25s;animation-fill-mode:backwards}.animate-delay-6{animation-delay:.3s;animation-fill-mode:backwards}.animate-delay-7{animation-delay:.35s;animation-fill-mode:backwards}.animate-delay-8{animation-delay:.4s;animation-fill-mode:backwards}.animate-delay-9{animation-delay:.45s;animation-fill-mode:backwards}.animate-delay-10{animation-delay:.5s;animation-fill-mode:backwards}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}
