*{box-sizing:border-box;margin:0;padding:0}body{background:#f0f2f5;color:#1a1a2e;font-family:Inter,sans-serif;font-size:14px}.app{display:flex;min-height:100vh}.sidebar{background:linear-gradient(180deg,#1a1a2e,#16213e,#0f3460);color:#fff;display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:fixed;width:250px;z-index:100}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff14;display:flex;gap:12px;padding:20px}.logo-icon{font-size:28px}.sidebar-header h2{color:#00d4ff;font-size:18px;font-weight:800;letter-spacing:2px}.sidebar-header p{font-size:10px;opacity:.5}.sidebar-nav{flex:1 1;padding:12px 8px}.nav-item{align-items:center;background:0 0;border:none;border-radius:8px;color:#fff9;cursor:pointer;display:flex;font-size:13px;gap:10px;margin-bottom:3px;padding:11px 14px;position:relative;text-align:left;transition:.2s;width:100%}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.active{background:#00d4ff26;border-left:3px solid #00d4ff;color:#00d4ff;font-weight:600}.nav-icon{font-size:16px;min-width:22px;text-align:center}.nav-badge{background:#dc3545;border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:1px 6px;position:absolute;right:10px}.sidebar-footer{align-items:center;border-top:1px solid #ffffff14;display:flex;flex-wrap:wrap;font-size:11px;gap:6px;opacity:.5;padding:12px 16px}.status-dot-green{animation:pulse 2s infinite;background:#198754;border-radius:50%;height:8px;width:8px}.version{margin-left:auto}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.main-wrapper{flex:1 1;margin-left:250px;min-height:100vh}.top-bar{align-items:center;background:#fff;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;padding:12px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.top-bar h1{font-size:18px;font-weight:700}.top-bar-right{align-items:center;display:flex;gap:16px}.notif-bell{cursor:pointer;font-size:18px;position:relative}.notif-count{background:#dc3545;border-radius:8px;color:#fff;font-size:9px;padding:1px 4px;position:absolute;right:-8px;top:-6px}.date-display{color:#888;font-size:12px}.user-avatar{align-items:center;background:linear-gradient(135deg,#0d6efd,#6f42c1);border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:700;height:30px;justify-content:center;width:30px}.content-area{padding:20px 24px}.loading{align-items:center;color:#888;display:flex;flex-direction:column;justify-content:center;padding:80px}.spinner{animation:spin .8s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#0d6efd;height:36px;margin-bottom:12px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.kpi-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:18px}.kpi-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;gap:12px;padding:16px;transition:.15s}.kpi-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.kpi-icon{font-size:30px}.kpi-card h3{font-size:24px;font-weight:800;line-height:1.1}.kpi-card p{color:#666;font-size:12px}.kpi-card small{color:#999;font-size:10px}.kpi-blue{border-left:4px solid #0d6efd}.kpi-orange{border-left:4px solid #fd7e14}.kpi-red{border-left:4px solid #dc3545}.kpi-yellow{border-left:4px solid #ffc107}.kpi-green{border-left:4px solid #198754}.kpi-purple{border-left:4px solid #6f42c1}.charts-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:14px}.chart-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:18px}.card-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:14px;padding-bottom:8px}.card-header h3{font-size:14px;font-weight:700}.card-header h4{color:#555;font-size:12px}.badge-info{background:#e8f4fd;border-radius:10px;color:#0d6efd;font-size:10px;font-weight:600;padding:2px 8px}.bar-item{margin-bottom:10px}.bar-label{display:flex;font-size:12px;justify-content:space-between;margin-bottom:4px}.bar-track{background:#f0f0f0;border-radius:4px;height:7px;overflow:hidden}.bar-fill{border-radius:4px;height:100%;transition:width .5s}.priority-boxes{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.priority-box{border-radius:8px;padding:12px 6px;text-align:center}.priority-number{display:block;font-size:24px;font-weight:800}.priority-name{font-size:10px;font-weight:600;text-transform:uppercase}.priority-critical{background:#ffebed;color:#dc3545}.priority-high{background:#fff3e0;color:#e65100}.priority-medium{background:#fff9e6;color:#856404}.priority-low{background:#e8f5e9;color:#1b5e20}.pt{border-radius:10px;font-size:10px;font-weight:600;padding:2px 8px;white-space:nowrap}.pt-critical{background:#ffebed;color:#dc3545}.pt-high{background:#fff3e0;color:#e65100}.pt-medium{background:#fff9e6;color:#856404}.pt-low{background:#e8f5e9;color:#1b5e20}.type-item{border-bottom:1px solid #f8f8f8;display:flex;font-size:12px;justify-content:space-between;padding:5px 0}.type-count{font-weight:700}.activity-list{max-height:350px;overflow-y:auto}.activity-item{align-items:flex-start;border-bottom:1px solid #f5f5f5;display:flex;gap:8px;padding:8px 0}.si{border-radius:50%;display:inline-block;flex-shrink:0;height:8px;margin-top:5px;width:8px}.si-open{background:#0d6efd}.si-in-progress{background:#ffc107}.si-in-review{background:#fd7e14}.si-testing{background:#6f42c1}.si-resolved{background:#198754}.si-closed{background:#6c757d}.si-reopened{background:#dc3545}.activity-content{flex:1 1;min-width:0}.activity-content strong{font-size:12px}.activity-content small{color:#888;display:block;font-size:10px}.issue-id{background:#e8f4fd;border-radius:3px;color:#0d6efd;font-size:9px;font-weight:700;margin-right:4px;padding:1px 5px}.pp-item{border-bottom:1px solid #f0f0f0;margin-bottom:12px;padding-bottom:12px}.pp-header{display:flex;justify-content:space-between;margin-bottom:4px}.pp-header strong{font-size:13px}.pp-header span{font-weight:800}.pp-item small{color:#888;display:block;font-size:10px;margin-top:3px}.last-updated{align-items:center;color:#999;display:flex;font-size:11px;gap:8px;justify-content:center;padding:12px;text-align:center}.btn-refresh{background:#f0f0f0;border:none;border-radius:5px;cursor:pointer;font-size:11px;padding:3px 10px}.btn-primary{background:#0d6efd;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.toolbar select{background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;padding:8px 12px}.count{background:#f8f8f8;border-radius:6px;color:#888;font-size:11px;padding:5px 10px}.table-wrap{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:auto}.data-table{border-collapse:collapse;min-width:800px;width:100%}.data-table th{background:#f8f9fa;border-bottom:2px solid #eee;color:#666;font-size:10px;font-weight:700;letter-spacing:.5px;padding:9px 12px;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #f5f5f5;font-size:12px;padding:9px 12px}.data-table tr:hover{background:#fafbfc}.row-crit{background:#fff5f5!important}.sp{border-radius:10px;font-size:10px;font-weight:600;padding:2px 8px;white-space:nowrap}.sp-open{background:#e8f4fd;color:#0d6efd}.sp-in-progress{background:#fff9e6;color:#856404}.sp-in-review{background:#fff3e0;color:#e65100}.sp-testing{background:#f3e8fd;color:#6f42c1}.sp-resolved{background:#e8f5e9;color:#198754}.sp-closed{background:#f0f0f0;color:#666}.sp-reopened{background:#ffebed;color:#dc3545}.tb{border-radius:4px;font-size:10px;font-weight:600;padding:2px 6px}.tb-bug{background:#ffebed;color:#dc3545}.tb-feature{background:#e8f4fd;color:#0d6efd}.tb-enhancement{background:#e8f5e9;color:#198754}.tb-task{background:#f0f0f0;color:#555}.tb-security{background:#fff3e0;color:#e65100}.tb-performance{background:#f3e8fd;color:#6f42c1}.tb-documentation{background:#e0f7fa;color:#00838f}.proj-code{background:#f3e8fd;border-radius:3px;color:#6f42c1;font-size:10px;font-weight:700;padding:2px 6px}.labels{display:flex;gap:3px;margin-top:2px}.label{background:#f0f0f0;border-radius:3px;color:#666;font-size:9px;padding:1px 5px}.muted{color:#ccc;font-size:11px;font-style:italic}.text-danger{color:#dc3545!important;font-weight:600}.empty{color:#888;padding:40px;text-align:center}.projects-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.project-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:18px;transition:.2s}.project-card:hover{box-shadow:0 4px 16px #0000001a}.pc-top{margin-bottom:8px}.pc-code{background:#f3e8fd;border-radius:3px;color:#6f42c1;font-size:9px;font-weight:700;margin-bottom:3px;padding:2px 6px}.pc-top h3{font-size:15px}.status-badge{border-radius:10px;font-size:10px;padding:3px 10px}.pc-desc{color:#666;font-size:12px;line-height:1.4}.pc-desc,.pc-progress{margin-bottom:12px}.pc-info{grid-gap:6px;background:#fafbfc;border-radius:6px;display:grid;font-size:11px;gap:6px;grid-template-columns:1fr 1fr;margin-bottom:10px;padding:8px}.pc-info small{color:#888;display:block;font-size:9px;text-transform:uppercase}.pc-budget{color:#555;font-size:11px;margin-bottom:8px}.pc-tech{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:8px}.tech-tag{background:#e8f4fd;border-radius:10px;color:#0d6efd;font-size:10px;padding:2px 8px}.pc-miles{font-size:11px}.mile{display:block;padding:2px 0}.tab-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.tab-btn{background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;padding:7px 16px;transition:.2s}.tab-btn:hover{border-color:#0d6efd;color:#0d6efd}.tab-btn.active{background:#0d6efd;border-color:#0d6efd;color:#fff}.approvals-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.approval-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:18px}.ac-pending{border-left:4px solid #ffc107}.ac-approved{border-left:4px solid #198754}.ac-rejected{border-left:4px solid #dc3545}.ac-escalated{border-left:4px solid #fd7e14}.ac-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.ac-left{display:flex;gap:10px}.ac-icon{font-size:24px}.ac-id{color:#888;display:block;font-size:9px}.ac-top h3{font-size:14px;margin:2px 0}.ac-type{background:#e8f4fd;border-radius:3px;color:#0d6efd;font-size:9px;padding:2px 6px}.ac-right{font-size:11px;text-align:right}.ac-status{border-radius:10px;display:block;font-size:10px;font-weight:600;margin-top:3px;padding:2px 8px}.ac-pending .ac-status{background:#fff9e6;color:#856404}.ac-approved .ac-status{background:#e8f5e9;color:#198754}.ac-rejected .ac-status{background:#ffebed;color:#dc3545}.ac-escalated .ac-status{background:#fff3e0;color:#e65100}.ac-desc{color:#666;font-size:12px}.ac-desc,.ac-meta{margin-bottom:10px}.ac-meta{grid-gap:8px;background:#fafbfc;border-radius:6px;display:grid;font-size:11px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding:10px}.ac-meta b{display:block}.dept{color:#888;font-size:10px}.ac-comments{background:#f8f9fa;border-radius:4px;color:#555;font-size:11px;font-style:italic;margin-bottom:10px;padding:6px 10px}.ac-actions{display:flex;flex-wrap:wrap;gap:6px}.btn-approve{background:#198754;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:7px 16px}.btn-approve:hover{background:#157347}.btn-reject{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:7px 16px}.btn-reject:hover{background:#bb2d3b}.btn-escalate{background:#ffc107;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:12px;font-weight:600;padding:7px 16px}.btn-approve:disabled,.btn-escalate:disabled,.btn-reject:disabled{cursor:not-allowed;opacity:.5}.employee-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.emp-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:18px;position:relative;text-align:center;transition:.2s}.emp-card:hover{box-shadow:0 4px 16px #0000001a}.emp-avatar-wrap{display:inline-block;margin-bottom:8px;position:relative}.emp-avatar{align-items:center;background:linear-gradient(135deg,#0d6efd,#6f42c1);border-radius:50%;color:#fff;display:flex;font-size:18px;font-weight:700;height:55px;justify-content:center;margin:0 auto;width:55px}.emp-dot{border:2px solid #fff;border-radius:50%;bottom:2px;height:13px;position:absolute;right:-2px;width:13px}.emp-card h3{font-size:15px;margin-bottom:2px}.emp-role{color:#0d6efd;font-size:12px;font-weight:600}.emp-id{background:#f0f0f0;border-radius:3px;color:#999;display:inline-block;font-size:9px;margin:4px 0;padding:2px 6px}.emp-details{background:#fafbfc;border-radius:6px;font-size:11px;margin:10px 0;padding:8px;text-align:left}.emp-details div{color:#555;padding:2px 0}.emp-skills{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin:8px 0}.skill-tag{background:#e8f4fd;color:#0d6efd}.emp-status,.skill-tag{border-radius:10px;font-size:9px;padding:2px 8px}.emp-status{color:#fff;font-weight:600;position:absolute;right:10px;top:10px}@media(max-width:1024px){.charts-row{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.sidebar{width:60px}.nav-label,.sidebar h2,.sidebar p,.sidebar-footer{display:none}.main-wrapper{margin-left:60px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.approvals-grid,.employee-grid,.projects-grid{grid-template-columns:1fr}.priority-boxes{grid-template-columns:repeat(2,1fr)}}.project-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.pt,.sp{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:4px 10px;white-space:nowrap}.pt{margin-right:5px}.pc-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.pc-code{background:#e8f4fd;border-radius:4px;color:#0d6efd;display:inline-block;font-size:11px;margin-bottom:5px;padding:2px 8px}.pc-top h3{font-size:16px;margin:5px 0 0}.status-badge{border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;white-space:nowrap}
/*# sourceMappingURL=main.0221daf9.css.map*/