@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&display=swap";.gantt-calendar .fc{--fc-border-color:var(--border);--fc-page-bg-color:var(--bg-card);--fc-neutral-bg-color:var(--bg-secondary);--fc-today-bg-color:#c9a84c0f;--fc-now-indicator-color:var(--gold);font-family:DM Sans,sans-serif}.gantt-calendar .fc .fc-button{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);text-transform:none;border-radius:6px;padding:6px 14px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;transition:all .15s}.gantt-calendar .fc .fc-button:hover{background:var(--bg-card-hover);color:var(--gold);border-color:var(--gold-border)}.gantt-calendar .fc .fc-button-active,.gantt-calendar .fc .fc-button.fc-button-active{background:var(--gold-muted)!important;color:var(--gold)!important;border-color:var(--gold-border)!important}.gantt-calendar .fc .fc-toolbar-title{color:var(--text-primary);font-family:Playfair Display,serif;font-size:18px;font-weight:600}.gantt-calendar .fc .fc-col-header-cell,.gantt-calendar .fc .fc-timegrid-axis,.gantt-calendar .fc .fc-datagrid-cell-frame{background:var(--bg-secondary)}.gantt-calendar .fc .fc-col-header-cell-cushion,.gantt-calendar .fc .fc-datagrid-cell-cushion{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:8px 10px;font-size:11px;font-weight:500}.gantt-calendar .fc .fc-resource-area .fc-datagrid-cell-cushion{color:var(--text-primary);text-transform:none;letter-spacing:0;font-size:12px;font-weight:500}.gantt-calendar .fc .fc-timeline-slot-cushion{color:var(--text-muted);font-size:10px}.gantt-calendar .fc-event{cursor:pointer;border-radius:4px!important}.gantt-calendar .fc-event:hover{opacity:.9;filter:brightness(1.1)}.gantt-calendar .fc .fc-scrollgrid{border:none}.gantt-calendar .fc .fc-scrollgrid td,.gantt-calendar .fc .fc-scrollgrid th{border-color:var(--border)}.gantt-calendar .fc .fc-resource-header .fc-col-header-cell-cushion{color:var(--gold);font-weight:600}.gantt-tooltip{z-index:10000;background:var(--bg-card);border:1px solid var(--gold-border);pointer-events:none;border-radius:10px;min-width:200px;padding:12px 16px;animation:.15s fadeIn;position:fixed;transform:translate(-50%,-100%);box-shadow:0 8px 24px #00000080}.gantt-tooltip-header{color:var(--gold);border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600}.gantt-tooltip-row{justify-content:space-between;gap:16px;padding:2px 0;font-family:DM Sans,sans-serif;display:flex}.gantt-tooltip-row span:first-child{color:var(--text-muted);font-size:11px}.gantt-tooltip-row span:last-child{color:var(--text-primary);font-size:12px;font-weight:500}:root{--bg-primary:#0a0a0a;--bg-secondary:#111;--bg-card:#1a1a1a;--bg-card-hover:#212121;--bg-input:#161616;--bg-modal:#1a1a1a;--bg-overlay:#000000b3;--gold:#c9a84c;--gold-light:#e8c96a;--gold-dark:#a0832e;--gold-muted:#c9a84c26;--gold-border:#c9a84c4d;--gold-glow:#c9a84c33;--text-primary:#fff;--text-secondary:#aaa;--text-muted:#555;--text-disabled:#333;--border:#252525;--border-light:#2a2a2a;--border-focus:#c9a84c;--success:#22c55e;--success-bg:#22c55e1a;--warning:#f59e0b;--warning-bg:#f59e0b1a;--danger:#ef4444;--danger-bg:#ef44441a;--info:#3b82f6;--info-bg:#3b82f61a;--chart-gold:#c9a84c;--chart-blue:#3b82f6;--chart-purple:#8b5cf6;--chart-teal:#14b8a6;--chart-orange:#f97316;--chart-pink:#ec4899;--chart-gray:#6b7280;--font-display:"Playfair Display", Georgia, serif;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--text-3xl:32px;--text-4xl:40px;--text-5xl:52px;--transition-fast:.1s;--transition-base:.2s;--transition-slow:.3s;--transition-chart:.6s;--sidebar-width:240px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5}#root{min-height:100vh}a{color:var(--gold);text-decoration:none}a:hover{color:var(--gold-light)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--gold-muted);color:var(--text-primary)}.app-layout{background:var(--bg-primary);min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);max-width:calc(100vw - var(--sidebar-width));flex:1;min-height:100vh;padding:32px}.page-title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--text-primary);letter-spacing:-.3px;margin-bottom:24px;font-weight:600}.page-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:-16px;margin-bottom:24px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.donut-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.kpi-grid>:first-child{animation:.3s forwards cardEnter}.kpi-grid>:nth-child(2){animation:.3s 60ms forwards cardEnter}.kpi-grid>:nth-child(3){animation:.3s .12s forwards cardEnter}.kpi-grid>:nth-child(4){animation:.3s .18s forwards cardEnter}@media (width<=1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.donut-grid,.grid-2,.grid-3{grid-template-columns:1fr}}@media (width<=768px){.main-content{max-width:100vw;margin-left:0;padding:16px 16px 80px}.kpi-grid{grid-template-columns:1fr}.page-title{font-size:var(--text-xl)}.desktop-only{display:none!important}}@media (width>=769px){.mobile-nav,.mobile-only{display:none!important}}
