@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
:root{--color-primary:#1b4d5c;--color-primary-light:#2a6b7e;--color-primary-dark:#0f2b33;--color-primary-50:#e8f4f8;--color-primary-100:#c5e3ec;--color-primary-200:#9ecdda;--color-primary-300:#6bafc2;--color-primary-400:#4591a8;--color-primary-500:#1b4d5c;--color-primary-600:#174250;--color-primary-700:#123643;--color-primary-800:#0e2a35;--color-primary-900:#091e28;--color-secondary:#e8cfb0;--color-secondary-light:#f2e4d0;--color-secondary-dark:#d4b48a;--color-secondary-50:#fdf8f2;--color-secondary-100:#f9efe2;--color-secondary-200:#f2e4d0;--color-secondary-300:#e8cfb0;--color-secondary-400:#d4b48a;--color-secondary-500:#c19a64;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-success:#22c55e;--color-success-light:#86efac;--color-success-dark:#15803d;--color-warning:#f59e0b;--color-warning-light:#fcd34d;--color-warning-dark:#b45309;--color-error:#ef4444;--color-error-light:#fca5a5;--color-error-dark:#b91c1c;--color-info:#3b82f6;--color-info-light:#93c5fd;--color-info-dark:#1d4ed8;--bg-main:#f4f6f9;--bg-page:#f4f6f9;--bg-surface:#fff;--bg-surface-hover:#f0f2f5;--bg-surface-active:#e8ebf0;--bg-sidebar:var(--color-primary-dark);--bg-topbar:#fff;--bg-card:#fff;--bg-modal:#fff;--bg-input:#fff;--text-primary:#111827;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--text-inverse:#f9fafb;--text-link:var(--color-primary);--text-link-hover:var(--color-primary-light);--border-color:#e5e7eb;--border-color-strong:#d1d5db;--border-radius-sm:6px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px;--border-radius-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000001a,0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--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;--topbar-height:64px;--content-max-width:1400px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family:var(--font-sans);--font-mono:"JetBrains Mono","Fira Code","Consolas",monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-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.75;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--z-dropdown:100;--z-sticky:200;--z-sidebar:300;--z-modal-backdrop:400;--z-modal:500;--z-tooltip:600;--z-notification:700}[data-theme=dark]{--bg-main:#0f1923;--bg-page:#0f1923;--bg-surface:#1a2735;--bg-surface-hover:#243342;--bg-surface-active:#2c3d4d;--bg-sidebar:#0a1219;--bg-topbar:#151f2b;--bg-card:#1c2a38;--bg-modal:#1a2735;--bg-input:#243342;--text-primary:#ecf0f3;--text-secondary:#a8b7c5;--text-tertiary:#6b7b8d;--border-color:#283848;--border-color-strong:#3a4f62;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #0006,0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #00000080,0 4px 6px -2px #0000004d}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-primary);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}a{color:var(--text-link);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--text-link-hover)}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:var(--text-base)}img{max-width:100%;height:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-page)}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.status-badge{border-radius:var(--border-radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-medium);text-transform:capitalize;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.status-badge:before{content:"";border-radius:50%;width:6px;height:6px}.status-badge.active,.status-badge.published,.status-badge.paid,.status-badge.present{color:var(--color-success-dark);background:#22c55e1a}.status-badge.active:before,.status-badge.published:before,.status-badge.paid:before,.status-badge.present:before{background:var(--color-success)}.status-badge.pending,.status-badge.draft,.status-badge.review{color:var(--color-warning-dark);background:#f59e0b1a}.status-badge.pending:before,.status-badge.draft:before,.status-badge.review:before{background:var(--color-warning)}.status-badge.overdue,.status-badge.blocked,.status-badge.absent,.status-badge.rejected,.status-badge.cancelled{color:var(--color-error-dark);background:#ef44441a}.status-badge.overdue:before,.status-badge.blocked:before,.status-badge.absent:before,.status-badge.rejected:before,.status-badge.cancelled:before{background:var(--color-error)}.status-badge.in_progress{color:var(--color-info-dark);background:#3b82f61a}.status-badge.in_progress:before{background:var(--color-info)}.status-badge.paused,.status-badge.churned,.status-badge.late{color:var(--color-gray-600);background:#6b72801a}.status-badge.paused:before,.status-badge.churned:before,.status-badge.late:before{background:var(--color-gray-400)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}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)}}.animate-fade-in{animation:.3s forwards fadeIn}.animate-slide-in{animation:.3s forwards slideInRight}.skeleton{background:linear-gradient(90deg,var(--color-gray-200)25%,var(--color-gray-100)50%,var(--color-gray-200)75%);border-radius:var(--border-radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite pulse}
