:root{--bg:#f2f4f8;--bg-2:#fff;--bg-3:#e9ecf2;--glass:#fffc;--glass-hi:#fffffff5;--card:#fff;--card-hover:#fafbfc;--border:#0001;--border-hi:#0000001c;--text:#0d1017;--text-2:#0d101780;--text-3:#0d101747;--green:#00b857;--green-2:#00e87a;--green-dk:#007a3a;--green-glow:#00b85724;--green-light:#00b85714;--indigo:#5b5fcf;--indigo-light:#5b5fcf12;--cyan:#0ea5e9;--amber:#d97706;--red:#dc2626;--shadow-sm:0 1px 2px #0000000d, 0 2px 4px #0000000a;--shadow-md:0 1px 2px #0000000a, 0 4px 8px #0000000d, 0 12px 24px #0000000a;--shadow-lg:0 2px 4px #0000000d, 0 8px 16px #00000012, 0 24px 48px #0000000d;--header-bg:#fafbfdf0;--sidebar-bg:linear-gradient(180deg, #fafbfd 0%, #f7f9fc 100%)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13.5px;line-height:1.5}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#0003}.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:14px}@media (prefers-reduced-motion:no-preference){.card-lift{transition:box-shadow .22s,transform .22s}.card-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}}.card-glow{color:#fff;background:linear-gradient(145deg,#006b33 0%,#009448 50%,#00c060 100%);border:none;border-radius:14px;box-shadow:0 4px 12px #009c4833,0 12px 32px #00b85747,inset 0 1px #ffffff26}.card-ai{background:var(--indigo-light);border:1px solid #5b5fcf21;border-radius:14px;box-shadow:0 1px 3px #5b5fcf0d,0 4px 12px #5b5fcf0a}.nav-item{color:#0f111752;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:background .12s,color .12s;display:flex}.nav-item:hover{color:#0f1117bf;background:#0000000d}.nav-item.active{color:var(--green);background:#00b85717;border-color:#00b85733}.badge{letter-spacing:.01em;border-radius:99px;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.badge-high{color:#c81e1e;background:#fef2f2;border:1px solid #fca5a5}.badge-medium{color:#b45309;background:#fffbeb;border:1px solid #fcd34d}.badge-low{color:#15803d;background:#f0fdf4;border:1px solid #86efac}.badge-inprogress{color:#008040;background:#00b85714;border:1px solid #00b85738}.badge-todo{color:#475569;background:#f8fafc;border:1px solid #cbd5e1}.badge-completed{color:#008040;background:#00b85714;border:1px solid #00b85738}.btn-primary{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(160deg,#009448 0%,#00b857 60%,#0c6 100%);border:none;border-radius:9px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:12.5px;font-weight:700;transition:box-shadow .18s,transform .15s;display:inline-flex;box-shadow:inset 0 1px #fff3,0 1px 2px #0000001a,0 4px 14px #00b85752,0 1px 3px #00642833}.btn-primary:hover{transform:translateY(-1px);box-shadow:inset 0 1px #fff3,0 2px 6px #0000001f,0 8px 24px #00b8576b,0 1px 3px #00642833}.btn-primary:active{transform:translateY(0)}.btn-outline{background:var(--card);border:1px solid var(--border-hi);color:var(--text-2);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:12.5px;font-weight:500;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #0000000a,inset 0 1px #fff9}.btn-outline:hover{background:var(--bg-3);color:var(--text);border-color:#00000026;box-shadow:0 2px 6px #00000012,inset 0 1px #fff9}.search-input{background:var(--bg-3);border:1px solid var(--border);width:100%;color:var(--text);border-radius:9px;outline:none;padding:8px 12px 8px 34px;font-family:inherit;font-size:12.5px;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:inset 0 1px 2px #0000000a}.search-input:focus{background:var(--card);border-color:#00b85773;box-shadow:0 0 0 4px #00b85714,inset 0 1px 2px #00000008}.search-input::placeholder{color:var(--text-3)}.tab-btn{color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 13px;font-family:inherit;font-size:12.5px;font-weight:500;transition:all .13s}.tab-btn:hover{color:var(--text);background:#0000000a}.tab-btn.active{background:var(--card);color:var(--text);border-color:var(--border);font-weight:600;box-shadow:0 1px 3px #00000012,0 0 0 1px #00000008}.section-label{letter-spacing:3px;text-transform:uppercase;color:var(--text-3);font-size:9px;font-weight:700}.gradient-text{background:linear-gradient(135deg,#007a3a 0%,#00b857 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gradient-text-indigo{background:linear-gradient(135deg,#5b5fcf 0%,#0ea5e9 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.dot-green{background:var(--green);border-radius:50%;flex-shrink:0;width:6px;height:6px}.dot-purple{background:#818cf8;border-radius:50%;flex-shrink:0;width:6px;height:6px}.dot-cyan{background:#0ea5e9;border-radius:50%;flex-shrink:0;width:6px;height:6px}.dot-amber{background:#f59e0b;border-radius:50%;flex-shrink:0;width:6px;height:6px}.dot-red{background:#ef4444;border-radius:50%;flex-shrink:0;width:6px;height:6px}.ai-chip{background:var(--indigo-light);color:var(--indigo);border:1px solid #5b5fcf29;border-radius:99px;align-items:center;gap:5px;padding:4px 10px;font-size:10.5px;font-weight:600;display:inline-flex;box-shadow:0 1px 3px #5b5fcf14}@keyframes ai-pulse{0%,to{opacity:.55}50%{opacity:1}}.ai-pulse{animation:2.6s ease-in-out infinite ai-pulse}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#0000000b!important}.recharts-tooltip-wrapper{outline:none}.card-glass{-webkit-backdrop-filter:blur(16px)saturate(180%);box-shadow:var(--shadow-md);background:#ffffffb8;border:1px solid #ffffff8c;border-radius:14px}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.animate-in{opacity:0;animation:.45s cubic-bezier(.16,1,.3,1) forwards fadeSlideUp}@media (prefers-reduced-motion:reduce){.animate-in{opacity:1;animation:none}}
