@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200";:root,[data-theme=dark]{--bg:#0a0a0a;--bg-low:#050505;--surface:#111;--surface-mid:#1a1a1a;--surface-high:#222;--surface-highest:#2c2c2c;--primary:#60a5fa;--primary-c:#3b82f6;--on-primary-c:#fff;--secondary:#93c5fd;--tertiary-c:#a78bfa;--text:#f5f5f5;--text-2:#d4d4d4;--text-3:#737373;--text-4:#404040;--border:#ffffff14;--border-mid:#ffffff1f;--outline:#525252;--sidebar-bg:linear-gradient(180deg, #111827 0%, #0a0d14 100%);--sidebar-text:#ffffffa6;--sidebar-active:#ffffff14;--sidebar-border:#ffffff0f;--card-bg:#111;--card-border:#ffffff12;--input-bg:#1a1a1a;--modal-bg:#111;--overlay:#000000d9;--green:#4ade80;--amber:#fbbf24;--red:#f87171;--shadow-card:0 2px 12px #0009, 0 0 0 1px #ffffff0f;--shadow-glow:0 0 24px #3b82f640;--transition:all .18s ease;--gantt-month-1:#1a2744;--gantt-month-2:#111d36;--gantt-day-bg:#111;--gantt-day-alt:#0a0a0a;--gantt-day-text:#525252;--gantt-today-txt:#92400e;--gantt-weekend:#ffffff0a;--gantt-even:#ffffff05;--gantt-grid:#ffffff0d;--gantt-row-proj:#3b82f614;--gantt-row-drag:#3b82f60f}[data-theme=light]{--bg:#f8f9fb;--bg-low:#eceef3;--surface:#fff;--surface-mid:#f3f4f8;--surface-high:#e8eaef;--surface-highest:#dde0e8;--primary:#1d4ed8;--primary-c:#2563eb;--on-primary-c:#fff;--secondary:#3b6fd4;--tertiary-c:#7c3aed;--text:#0f172a;--text-2:#334155;--text-3:#64748b;--text-4:#94a3b8;--border:#00000014;--border-mid:#0000001f;--outline:#94a3b8;--sidebar-bg:linear-gradient(180deg, #1e3a6e 0%, #162d57 100%);--sidebar-text:#fff9;--sidebar-active:#ffffff1f;--sidebar-border:#ffffff1a;--card-bg:#fff;--card-border:#00000012;--input-bg:#f3f4f8;--modal-bg:#fff;--overlay:#0006;--green:#16a34a;--amber:#d97706;--red:#dc2626;--shadow-card:0 1px 4px #00000014, 0 0 0 1px #0000000a;--shadow-glow:0 4px 16px #2563eb1f;--transition:all .18s ease;--gantt-month-1:#1b3a6b;--gantt-month-2:#0f2244;--gantt-day-bg:#f9fafb;--gantt-day-alt:#f3f4f6;--gantt-day-text:#9ca3af;--gantt-today-txt:#92400e;--gantt-weekend:#0000000d;--gantt-even:#00000005;--gantt-grid:#f3f4f6;--gantt-row-proj:#f0f4ff;--gantt-row-drag:#eff6ff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.6;transition:background-color .25s,color .25s}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24;-webkit-user-select:none;user-select:none;direction:ltr;font-family:Material Symbols Outlined;font-size:20px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.dot-green{background:var(--green);box-shadow:0 0 7px var(--green)}.dot-amber{background:var(--amber);box-shadow:0 0 7px var(--amber)}.dot-red{background:var(--red);box-shadow:0 0 7px var(--red)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-high);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--outline)}::selection{background:#2563eb40}a{text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{background-color:var(--input-bg);color:var(--text);border:1px solid var(--border-mid);transition:var(--transition);border-radius:8px;outline:none;padding:9px 12px;font-family:inherit;font-size:13px}input:focus,textarea:focus,select:focus{border-color:var(--primary-c);box-shadow:0 0 0 2px #2563eb26}select option{background-color:var(--surface-mid)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.anim-slide{animation:.2s slideUp}.anim-fade{animation:.2s fadeIn}.row-hover:hover{background-color:var(--surface-mid)!important}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)!important;border-color:#2563eb33!important}.btn-hover:hover{opacity:.85}
