.dashboard-page{display:flex;flex-direction:column;gap:var(--space-4)}.dashboard-toolbar{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid var(--border-color);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.dashboard-toolbar-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-toolbar-copy{min-width:0;flex:1 1 320px}.dashboard-toolbar-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dashboard-title{margin:0;font-size:clamp(1.3rem,1.08rem + .4vw,1.65rem);font-weight:var(--font-bold);color:var(--text-primary);line-height:1.08}.dashboard-live-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid rgba(16,185,129,.24);border-radius:var(--radius-full);background:rgba(236,253,245,.92);color:#047857;font-size:11px;font-weight:var(--font-semibold)}.dashboard-live-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 0 rgba(16,185,129,.5);animation:dashboard-pulse 1.8s infinite}.dashboard-toolbar-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.dashboard-toolbar-note{color:var(--text-secondary);font-size:13px;line-height:1.45}.dashboard-toolbar-note.warning{color:#b45309}.dashboard-toolbar-note.danger{color:#b91c1c}.dashboard-toolbar-summary{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);background:rgba(79,70,229,.08);color:#4338ca;font-size:12px;font-weight:var(--font-medium);white-space:nowrap}.dashboard-toolbar-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dashboard-toolbar-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--surface-card);border:1px solid var(--border-color);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold)}.dashboard-toolbar-pill.muted{color:var(--text-tertiary)}.dashboard-signal-strip{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}.dashboard-signal-chip{display:flex;flex-direction:column;gap:4px;min-width:180px;padding:14px 18px;border:1.5px solid var(--border-color);border-radius:14px;background:#fff;flex:1 1 0;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.04)}.dashboard-signal-chip:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.dashboard-signal-chip.warning{border-color:rgba(245,158,11,.3);background:linear-gradient(135deg,rgba(255,251,235,.95),rgba(255,243,205,.8))}.dashboard-signal-chip.danger{border-color:rgba(239,68,68,.3);background:linear-gradient(135deg,hsla(0,86%,97%,.95),hsla(0,93%,94%,.8))}.dashboard-signal-chip.info{border-color:rgba(99,102,241,.3);background:linear-gradient(135deg,rgba(238,242,255,.95),rgba(224,231,255,.8))}.dashboard-signal-chip.stable{border-color:rgba(16,185,129,.3);background:linear-gradient(135deg,rgba(236,253,245,.95),rgba(209,250,229,.8))}.dashboard-signal-label{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--font-medium)}.dashboard-signal-value{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-bold);line-height:1.3}.dashboard-signal-chip.warning .dashboard-signal-value{color:#b45309}.dashboard-signal-chip.danger .dashboard-signal-value{color:#dc2626}.dashboard-signal-chip.info .dashboard-signal-value{color:#4f46e5}.dashboard-signal-chip.stable .dashboard-signal-value{color:#059669}.dashboard-signal-hint{color:var(--text-tertiary);font-size:12px;line-height:1.3}.dashboard-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.dashboard-stat-grid .stat-card{min-width:0}.dashboard-analytic-card{position:relative;overflow:hidden;border-radius:var(--radius-2xl);border:1px solid rgba(148,163,184,.22);box-shadow:0 20px 48px -30px rgba(15,23,42,.28)}.dashboard-analytic-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:var(--chart-accent)}.dashboard-status-body{display:flex;align-items:center;gap:var(--space-3);min-height:260px}.dashboard-status-legend-row{display:flex;align-items:center;gap:var(--space-2);padding:5px 0}.dashboard-status-legend-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.dashboard-status-legend-label{flex:1;font-size:var(--text-xs);color:var(--text-secondary)}.dashboard-status-legend-value{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-primary)}.dashboard-completion-body{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px}.dashboard-completion-summary{text-align:center;margin-top:8px}.dashboard-completion-value{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-success)}.dashboard-completion-label{font-size:var(--text-xs);color:var(--text-tertiary)}.dashboard-empty-state{display:grid;place-items:center;height:240px;color:var(--text-muted)}.dashboard-task-panel{border-radius:var(--radius-2xl);border:1px solid rgba(148,163,184,.22);box-shadow:0 20px 48px -30px rgba(15,23,42,.28)}.dashboard-task-panel-body{padding:var(--space-3)}.task-list-item{transition:all var(--duration-normal) var(--ease-default);border-radius:var(--radius-lg);margin:0 var(--space-1);padding:var(--space-3) var(--space-4);border:1.5px solid transparent;position:relative}.task-list-item:hover{background:var(--brand-primary-bg);border-color:var(--brand-primary-light);transform:translateX(4px)}.task-list-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%) scaleY(0);width:3px;height:60%;background:var(--accent-gradient);border-radius:0 var(--radius-full) var(--radius-full) 0;transition:transform var(--duration-normal) var(--ease-spring)}.task-list-item:hover:before{transform:translateY(-50%) scaleY(1)}.dashboard-task-item{margin:0;border-bottom:1px solid var(--border-color-light);border-radius:0;padding:var(--space-3) var(--space-4)}.dashboard-task-item:last-child{border-bottom:none}.dashboard-task-item-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);line-height:1.45}.dashboard-task-item-meta{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary)}.dashboard-task-item-date{display:inline-flex;align-items:center;gap:4px}.dashboard-task-progress{margin-top:var(--space-2)}.dashboard-task-empty{padding:var(--space-8);text-align:center;color:var(--text-muted)}@keyframes dashboard-pulse{0%{box-shadow:0 0 0 0 rgba(16,185,129,.46)}70%{box-shadow:0 0 0 8px rgba(16,185,129,0)}to{box-shadow:0 0 0 0 rgba(16,185,129,0)}}.dashboard-chart-card{background:var(--surface-card);border:1.5px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:all var(--duration-normal) var(--ease-default)}.dashboard-chart-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.dashboard-chart-card .card-body{min-height:280px;display:flex;flex-direction:column}[data-theme=dark] .recharts-legend-item-text{color:var(--text-secondary)!important}[data-theme=dark] .recharts-default-tooltip{background:var(--surface-card)!important;border:1.5px solid var(--border-color)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important}[data-theme=dark] .recharts-tooltip-label{color:var(--text-primary)!important}[data-theme=dark] .recharts-tooltip-item{color:var(--text-secondary)!important}[data-theme=dark] .recharts-cartesian-grid line{stroke:var(--border-color)!important}[data-theme=dark] .recharts-text{fill:var(--text-tertiary)!important}.summary-cards-grid{display:grid;gap:var(--space-4)}.summary-card{background:var(--surface-card);border:1.5px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-6);transition:all var(--duration-normal) var(--ease-default);position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-gradient);opacity:0;transition:opacity var(--duration-normal) var(--ease-default)}.summary-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.summary-card:hover:before{opacity:1}.summary-card-value{font-size:var(--text-4xl);font-weight:var(--font-bold);background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.summary-card-label{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:var(--space-2);font-weight:var(--font-medium)}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-4)}.quick-action-card{background:var(--surface-card);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;transition:all var(--duration-normal) var(--ease-default);cursor:pointer}.quick-action-card:hover{background:var(--brand-primary-bg);border-color:var(--brand-primary);transform:translateY(-4px);box-shadow:var(--shadow-glow-primary)}.quick-action-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--brand-primary-bg);color:var(--brand-primary);transition:all var(--duration-normal) var(--ease-spring)}.quick-action-card:hover .quick-action-icon{transform:scale(1.1) rotate(-5deg);background:var(--brand-primary);color:#fff}.quick-action-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary)}.activity-item{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1.5px solid var(--border-color-light);transition:all var(--duration-normal) var(--ease-default)}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:var(--brand-primary-bg);margin:0 calc(-1 * var(--space-4));padding-left:var(--space-4);padding-right:var(--space-4);border-radius:var(--radius-md)}.activity-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-bold);font-size:var(--text-sm);flex-shrink:0}.activity-content{flex:1;min-width:0}.activity-text{font-size:var(--text-sm);color:var(--text-primary);line-height:1.5}.activity-text strong{font-weight:var(--font-semibold);color:var(--brand-primary)}.activity-time{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.executive-dashboard{width:100%}.executive-dashboard .summary-cards-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media (max-width:1360px){.dashboard-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1600px){.executive-dashboard .summary-cards-grid{grid-template-columns:repeat(6,1fr)}}@media (max-width:1200px){.executive-dashboard .summary-cards-grid,.summary-cards-grid{grid-template-columns:repeat(3,1fr)!important}}@media (max-width:1024px){div[style*="grid-template-columns: 1fr 320px"],div[style*="grid-template-columns: repeat(3, 1fr)"]{grid-template-columns:1fr!important}}@media (max-width:768px){.dashboard-toolbar-main{flex-direction:column;align-items:stretch}.dashboard-toolbar-copy{flex:none}.dashboard-toolbar-pills{justify-content:flex-start}.dashboard-signal-chip{min-width:0;width:100%}.summary-cards-grid{grid-template-columns:repeat(2,1fr)!important}.executive-dashboard{padding:0 var(--space-4)!important}.executive-dashboard .summary-cards-grid{grid-template-columns:repeat(2,1fr)!important}.dashboard-bottom-row,.dashboard-charts-row{grid-template-columns:1fr!important}.dashboard-chart-card .card-body{min-height:240px!important;flex-direction:column!important}.dashboard-chart-card .card-body>div:first-child{width:100%!important}.quick-actions-grid{grid-template-columns:repeat(2,1fr)!important}.dashboard-status-body{flex-direction:column}}@media (max-width:640px){.dashboard-stat-grid{grid-template-columns:repeat(2,1fr)!important;gap:var(--space-3)!important}.dashboard-stat-grid .stat-card{padding:var(--space-4)!important}.dashboard-stat-grid .stat-icon{width:40px!important;height:40px!important;font-size:18px!important}.dashboard-stat-grid .stat-value{font-size:1.4rem!important}}@media (max-width:480px){.summary-cards-grid{grid-template-columns:repeat(2,1fr)!important;gap:var(--space-3)!important}.summary-cards-grid>div{padding:var(--space-4)!important}.summary-card-value{font-size:var(--text-2xl)!important}.quick-actions-grid{grid-template-columns:repeat(2,1fr)!important;gap:var(--space-3)!important}.dashboard-signal-chip{min-width:0;flex:1 1 calc(50% - 6px);padding:10px 14px}.dashboard-toolbar-pills{display:none}}@media (max-width:768px){.kpi-page{padding:var(--space-3)!important}.kpi-rating-dist{grid-template-columns:repeat(2,1fr)!important}.kpi-charts-row{grid-template-columns:1fr!important}.kpi-trend-actions{flex-wrap:wrap}}@media (max-width:480px){.kpi-rating-dist{grid-template-columns:repeat(2,1fr)!important;gap:var(--space-2)!important}}.kpi-periods-table tbody tr:hover,.kpi-table tbody tr:hover{background:rgba(234,88,12,.04)!important}.projects-page{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-6)}.projects-toolbar-shell.projects-toolbar-compact{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:14px}.projects-toolbar-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.projects-toolbar-copy{min-width:0;flex:1 1 360px}.projects-toolbar-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.projects-title{margin:0;font-size:clamp(1.3rem,1.08rem + .4vw,1.65rem);font-weight:var(--font-bold);color:var(--text-primary);line-height:1.08}.projects-toolbar-alert{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);background:rgba(59,130,246,.08);color:#1d4ed8;font-size:12px;font-weight:var(--font-semibold)}.projects-toolbar-alert.danger{background:rgba(239,68,68,.1);color:#b91c1c}.projects-toolbar-alert.stable{background:rgba(16,185,129,.1);color:#047857}.projects-toolbar-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.projects-toolbar-note{color:var(--text-secondary);font-size:13px;line-height:1.45}.projects-toolbar-note.danger{color:#b91c1c}.projects-toolbar-summary{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);background:rgba(37,99,235,.08);color:#1d4ed8;font-size:12px;font-weight:var(--font-medium);white-space:nowrap}.projects-toolbar-summary.warning{background:rgba(245,158,11,.12);color:#b45309}.projects-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.projects-summary-strip{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.projects-summary-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border:1px solid var(--border-color);border-radius:12px;background:#fff;flex:1 1 0;min-width:140px}.projects-summary-chip.primary{background:rgba(239,246,255,.88);border-color:rgba(59,130,246,.18)}.projects-summary-chip.info{background:rgba(238,242,255,.88);border-color:rgba(99,102,241,.16)}.projects-summary-chip.success{background:rgba(236,253,245,.9);border-color:rgba(16,185,129,.18)}.projects-summary-chip.danger{background:hsla(0,86%,97%,.92);border-color:rgba(239,68,68,.18)}.projects-summary-chip.muted{background:rgba(248,250,252,.92)}.projects-summary-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:15px}.projects-summary-label{color:var(--text-secondary);font-size:var(--text-xs);white-space:nowrap}.projects-summary-value{margin-left:auto;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-bold)}.projects-filter-inline,.projects-filter-inline .advanced-filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.projects-clear-filters{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid rgba(239,68,68,.16);border-radius:10px;background:hsla(0,86%,97%,.9);color:#dc2626;font-size:12px;font-weight:var(--font-semibold);cursor:pointer}.projects-insight-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:var(--space-5);align-items:stretch}.projects-featured-card,.projects-radar-card,.projects-table-shell,.projects-toolbar-shell{border:1px solid var(--border-color);border-radius:calc(var(--radius-xl) + 4px);box-shadow:var(--shadow-card)}.projects-featured-card{position:relative;overflow:hidden;padding:var(--space-6);border-color:rgba(37,99,235,.16);background:radial-gradient(circle at top right,rgba(96,165,250,.22),transparent 34%),linear-gradient(145deg,rgba(29,78,216,.09),rgba(59,130,246,.07) 24%,hsla(0,0%,100%,.96) 58%,#fff)}.projects-featured-card:before{content:"";position:absolute;right:-56px;bottom:-92px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.18) 0,rgba(59,130,246,0) 72%);pointer-events:none}.projects-featured-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:var(--space-4);padding:6px 12px;border-radius:var(--radius-full);background:hsla(0,0%,100%,.75);color:#1d4ed8;font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.08em;text-transform:uppercase}.projects-featured-header,.projects-featured-kicker,.projects-featured-meta,.projects-featured-progress,.projects-featured-stats{position:relative;z-index:1}.projects-featured-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-5)}.projects-featured-title{margin:0;font-size:clamp(1.5rem,1.3rem + .8vw,2rem);font-weight:var(--font-bold);color:var(--text-primary);line-height:1.08}.projects-featured-copy{max-width:64ch;margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.7}.projects-featured-open{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:none;border-radius:calc(var(--radius-lg) + 2px);background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;font-size:var(--text-sm);font-weight:var(--font-semibold);box-shadow:0 16px 32px rgba(37,99,235,.2);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.projects-featured-open:hover{transform:translateY(-1px);box-shadow:0 20px 36px rgba(37,99,235,.26)}.projects-featured-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.projects-featured-chip{--chip-accent:var(--text-tertiary);display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:8px 12px;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-full);background:hsla(0,0%,100%,.72);color:var(--chip-accent);font-size:var(--text-xs);font-weight:var(--font-medium);backdrop-filter:blur(10px)}.projects-featured-chip svg{font-size:12px}.projects-featured-chip.warning{border-color:rgba(245,158,11,.24);background:rgba(245,158,11,.12);color:#b45309}.projects-featured-chip.danger{border-color:rgba(239,68,68,.22);background:rgba(239,68,68,.1);color:#b91c1c}.projects-featured-progress{margin-bottom:var(--space-5)}.projects-featured-progress-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.projects-featured-progress-head span{color:var(--text-tertiary);font-size:var(--text-sm)}.projects-featured-progress-head strong{color:#1d4ed8;font-size:var(--text-base);font-weight:var(--font-bold)}.projects-featured-progress-track{height:12px;overflow:hidden;border-radius:var(--radius-full);background:linear-gradient(90deg,rgba(191,219,254,.5),rgba(219,234,254,.9))}.projects-featured-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#1d4ed8,#2563eb 42%,#60a5fa);box-shadow:0 10px 22px rgba(37,99,235,.32)}.projects-featured-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.projects-featured-stat{padding:var(--space-4);border:1px solid rgba(148,163,184,.18);border-radius:calc(var(--radius-lg) + 2px);background:hsla(0,0%,100%,.76);backdrop-filter:blur(8px)}.projects-featured-stat span{display:block;margin-bottom:6px;color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.projects-featured-stat strong{display:block;color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:1.45}.projects-radar-card{padding:var(--space-6);background:radial-gradient(circle at top left,rgba(96,165,250,.2),transparent 32%),linear-gradient(180deg,#0f172a,#172554);color:#fff}.projects-radar-title{margin-bottom:var(--space-4);font-size:var(--text-lg);font-weight:var(--font-bold)}.projects-radar-summary{display:grid;gap:var(--space-3);margin-bottom:var(--space-5)}.projects-radar-pill{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(191,219,254,.14);border-radius:calc(var(--radius-lg) + 2px);background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.92)}.projects-radar-pill svg{font-size:18px;color:#93c5fd}.projects-radar-pill.warning{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.2)}.projects-radar-pill.warning svg{color:#fbbf24}.projects-radar-pill.success{background:rgba(16,185,129,.14);border-color:rgba(16,185,129,.18)}.projects-radar-pill.success svg{color:#6ee7b7}.projects-radar-pill strong{display:block;font-size:1.15rem;font-weight:var(--font-bold)}.projects-radar-pill span,.projects-radar-subtitle{color:hsla(0,0%,100%,.7);font-size:var(--text-xs)}.projects-radar-subtitle{margin-bottom:var(--space-3);font-weight:var(--font-semibold);letter-spacing:.08em;text-transform:uppercase}.projects-deadline-list{display:flex;flex-direction:column;gap:var(--space-3)}.projects-deadline-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:14px 16px;border:1px solid rgba(191,219,254,.12);border-radius:calc(var(--radius-lg) + 2px);background:hsla(0,0%,100%,.06);color:#fff;text-align:left;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.projects-deadline-item:hover{transform:translateY(-1px);border-color:rgba(191,219,254,.24);background:hsla(0,0%,100%,.1)}.projects-deadline-item strong{display:block;margin-bottom:4px;font-size:var(--text-sm);font-weight:var(--font-semibold)}.projects-deadline-item span{color:hsla(0,0%,100%,.68);font-size:var(--text-xs)}.projects-deadline-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:7px 10px;border-radius:var(--radius-full);background:rgba(96,165,250,.18);color:#dbeafe;font-size:var(--text-xs);font-weight:var(--font-semibold);white-space:nowrap}.projects-deadline-badge.warning{background:rgba(245,158,11,.18);color:#fde68a}.projects-deadline-badge.danger{background:rgba(239,68,68,.2);color:#fecaca}.projects-empty-radar{border:1px dashed rgba(148,163,184,.28);border-radius:calc(var(--radius-lg) + 2px);padding:var(--space-5);color:var(--text-tertiary);background:hsla(0,0%,100%,.58);font-size:var(--text-sm)}.projects-radar-card .projects-empty-radar{border-color:rgba(191,219,254,.16);background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.74)}.projects-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.projects-kpi-grid .stat-card{min-height:124px}.projects-toolbar-shell{padding:var(--space-5);background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,250,252,.98))}.projects-toolbar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.projects-table-heading strong,.projects-toolbar-head strong{display:block;color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold)}.projects-table-heading span,.projects-toolbar-head span{display:block;margin-top:4px;color:var(--text-tertiary);font-size:var(--text-sm)}.projects-filter-bar>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.projects-table-shell{overflow:hidden;background:var(--surface-card)}.projects-table-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--border-color-light);background:linear-gradient(180deg,rgba(248,250,252,.95),hsla(0,0%,100%,.95))}.projects-table-wrapper table{min-width:1200px}.project-row{transition:transform .16s ease,background .16s ease}.project-row td{vertical-align:middle}.project-row:hover{background:rgba(37,99,235,.05)!important}.project-row td:nth-child(2)>div:first-child{transition:color .16s ease}.project-row:hover td:nth-child(2)>div:first-child{color:#1d4ed8!important}.projects-manager-avatar{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#1d4ed8,#3b82f6);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-xs);font-weight:var(--font-bold);box-shadow:0 10px 22px rgba(37,99,235,.22);flex-shrink:0}.projects-time-meta{display:flex;flex-direction:column;gap:8px}.projects-time-meta>span:first-child{gap:6px}.projects-inline-deadline,.projects-time-meta>span:first-child{display:inline-flex;align-items:center;color:var(--text-secondary);font-size:var(--text-xs)}.projects-inline-deadline{width:-moz-fit-content;width:fit-content;padding:5px 10px;border-radius:var(--radius-full);background:var(--neutral-100);font-weight:var(--font-semibold)}.projects-inline-deadline.warning{background:rgba(245,158,11,.12);color:#b45309}.projects-inline-deadline.danger{background:rgba(239,68,68,.1);color:#b91c1c}@media (max-width:1200px){.projects-insight-grid{grid-template-columns:1fr}.projects-radar-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.projects-featured-header{flex-direction:column}.projects-featured-open{width:100%;justify-content:center}.projects-featured-stats,.projects-radar-summary{grid-template-columns:1fr}}.projects-filter-toggle{display:none;align-items:center;padding:6px 12px;border:1.5px solid #6b7280;border-radius:10px;background:#fff;color:#374151;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.projects-filter-toggle:hover{background:#f3f4f6;border-color:#4f46e5;color:#4f46e5}.projects-filter-extra{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width:768px){.projects-page{gap:var(--space-4);padding:var(--space-3)!important}.projects-toolbar-main{flex-direction:column;align-items:stretch}.projects-toolbar-actions{justify-content:flex-start}.projects-toolbar-note,.projects-toolbar-summary{display:none}.projects-summary-strip{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding-bottom:4px}.projects-summary-strip::-webkit-scrollbar{display:none}.projects-summary-chip{flex:0 0 auto;min-width:120px;white-space:nowrap}.projects-filter-inline{flex-direction:column;align-items:stretch}.projects-filter-inline>.projects-filter-search{width:100%!important}.projects-filter-inline .advanced-filter-bar>*,.projects-filter-inline>*{width:100%}.projects-filter-toggle{display:inline-flex;align-self:flex-start}.projects-filter-extra{display:none;flex-direction:column;align-items:stretch;gap:8px}.projects-filter-extra.open{display:flex}.projects-filter-extra .advanced-filter-bar{flex-direction:column;align-items:stretch}.projects-filter-extra .advanced-filter-bar>*{width:100%}.projects-clear-filters{width:100%;justify-content:center}.projects-featured-card,.projects-radar-card,.projects-toolbar-shell{padding:var(--space-5)}.projects-featured-stats,.projects-kpi-grid{grid-template-columns:1fr}.projects-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.projects-table-wrapper table{min-width:980px!important}.projects-filter-bar>*{width:100%!important}}@media (max-width:480px){.projects-summary-chip{min-width:100px;padding:6px 10px}}.users-filter-toggle{display:none;align-items:center;padding:6px 12px;border:1.5px solid #6b7280;border-radius:10px;background:#fff;color:#374151;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.users-filter-toggle:hover{background:#f3f4f6;border-color:#4f46e5;color:#4f46e5}.users-filter-extra{display:block}@media (max-width:768px){.users-filter-bar{flex-wrap:wrap!important}.users-filter-bar>*{width:100%!important;max-width:100%!important}.users-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.users-table-wrapper table{min-width:auto!important}.users-filter-toggle{display:inline-flex;margin-bottom:8px}.users-filter-extra{display:none;width:100%}.users-filter-extra.open{display:block}.users-filter-extra .advanced-filter-bar{flex-direction:column;align-items:stretch}.users-filter-extra .advanced-filter-bar>*{width:100%!important;max-width:100%!important}}.user-row{transition:background .15s ease}.user-row:hover{background:var(--brand-primary-bg)}.appeals-admin-table .ant-table-tbody>tr:hover>td,.appeals-table .ant-table-tbody>tr:hover>td{background:var(--color-primary-bg)!important;transition:background .2s ease}.enhanced-table tbody tr:hover{background-color:var(--brand-primary-bg,#fff8e6)}.custom-reports-table .ant-table-row:hover>td{background:#eef2ff!important;transition:background .2s ease}.evaluation-table .ant-table-tbody>tr:hover>td{background:rgba(8,145,178,.04)!important}.ant-table-row:hover td{background:rgba(30,41,59,.04)!important}.export-history-table tr:hover td{background:#ecfdf5!important;transition:background .2s ease}.dense-table tbody tr:hover{background:var(--color-primary-bg,rgba(99,102,241,.06));transition:background .15s ease}.initiatives-table .ant-table-row:hover>td{background:var(--color-primary-bg)!important;transition:background .2s ease}.dense-table tbody tr{cursor:default}.ant-table-tbody>tr:hover>td,.dense-table tbody tr:hover{background:var(--brand-primary-light)!important}.ant-table-tbody>tr:hover>td{transition:background .2s ease}.dense-table tbody tr:hover{background:rgba(79,70,229,.06)}.ant-table-tbody>tr:hover>td{background:var(--color-primary-bg,rgba(99,102,241,.06))!important}.dense-table tbody tr{transition:background .2s ease}.dense-table tbody tr:hover{background:rgba(8,145,178,.06)}@media (max-width:768px){.reports-page{padding:var(--space-3)!important}.reports-charts-row{grid-template-columns:1fr!important}.reports-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.reports-table-wrapper table{min-width:auto!important}}.enhanced-table tbody tr{transition:background-color .2s ease;cursor:pointer}.enhanced-table tbody tr:hover{background-color:var(--brand-primary-bg,#f0f0ff)}.role-selector-btn{transition:all .15s ease}.role-selector-btn:hover{transform:translateX(2px);box-shadow:0 2px 8px rgba(0,0,0,.08)}.perm-toggle{transition:all .15s ease}.perm-toggle:hover{background:var(--brand-primary-bg)!important;border-color:var(--brand-primary)!important}@media (max-width:860px){div[style*="grid-template-columns: 220px"]{grid-template-columns:1fr!important}}.ant-table-row:hover td{background:rgba(220,38,38,.04)!important}.ant-table-tbody>tr:hover>td{background:var(--neutral-50)!important}.ant-table-tbody>tr:hover>td,.ant-table-tbody>tr>td{transition:background .15s ease}@media (max-width:768px){.weekly-reports-page{padding:var(--space-3)!important}.weekly-reports-stats .ant-col{margin-bottom:var(--space-2)}.weekly-reports-stats .ant-col:last-child{margin-bottom:0}}.weekly-reports-table .ant-table-tbody>tr:hover>td{background:rgba(124,58,237,.04)!important}@media (max-width:1024px){div[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}div[style*="grid-template-columns: repeat(6, 1fr)"]{grid-template-columns:repeat(3,1fr)!important}}@media (max-width:640px){div[style*="grid-template-columns: repeat(6, 1fr)"]{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:768px){.card div[style*="grid-template-columns: 200px"]{grid-template-columns:1fr!important}}@keyframes notif-shake{0%,to{transform:rotate(0deg)}10%,30%,50%,70%,90%{transform:rotate(-8deg)}20%,40%,60%,80%{transform:rotate(8deg)}}@keyframes notif-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes notif-bell-blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.15)}}.notif-bell-btn.has-unread{animation:notif-bell-blink 1.5s ease-in-out infinite}.notif-bell-btn.has-unread .notif-pulse-dot{animation:notif-pulse 1.2s ease-in-out infinite!important}@keyframes notif-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notif-item-actions{opacity:0;transition:opacity .15s ease}.notif-item:hover .notif-item-actions{opacity:1}.notif-item.has-divider{border-bottom:1px solid #f1f5f9}.notif-bell-btn:hover .notif-pulse-dot{animation:notif-pulse 1s infinite!important}.notif-dropdown{position:absolute;top:calc(100% + 8px);right:-8px;width:400px;max-height:520px;background:#fff;border-radius:10px;box-shadow:0 12px 40px rgba(15,23,42,.22);border:1px solid #e5e7eb;z-index:1100;display:flex;flex-direction:column;overflow:hidden}@media (max-width:480px){.notif-dropdown{position:fixed;inset:60px 8px auto 8px;width:auto}}.notif-header{padding:14px 16px;border-bottom:1px solid #f0f0f0;justify-content:space-between}.notif-header,.notif-title{display:flex;align-items:center}.notif-title{font-size:16px;font-weight:800;gap:6px}.notif-action-btn,.notif-actions{display:flex;gap:4px}.notif-action-btn{height:28px;padding:0 10px;font-size:12px;color:#667085;font-weight:600;align-items:center;border-radius:5px;background:none;border:none;cursor:pointer}.notif-action-btn:hover{background:#f5f5f5;color:#1677ff}.notif-list{overflow-y:auto;flex:1;max-height:380px}.notif-item{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid #f5f5f5;cursor:pointer;transition:background .15s}.notif-item:hover{background:#f8faff}.notif-item.unread{background:#f0f7ff}.notif-item.unread:hover{background:#e8f2ff}.notif-icon{width:36px;height:36px;border-radius:8px;background:#f5f5f5;display:grid;place-items:center;font-size:18px;flex-shrink:0}.notif-content{flex:1;min-width:0}.notif-message{font-size:13px;line-height:1.4;color:#111827;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-time{font-size:11px;color:#98a2b3;margin-top:4px}.notif-icon-btn{width:24px;height:24px;border-radius:4px;display:grid;place-items:center;background:none;border:none;cursor:pointer;color:#98a2b3;font-size:12px}.notif-icon-btn:hover{background:#f0f0f0;color:#1677ff}.notif-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:8px;color:#667085}.notif-footer{padding:10px 16px;border-top:1px solid #f0f0f0;text-align:center}@keyframes cmdFadeIn{0%{opacity:0;transform:translateX(-50%) scale(.96) translateY(-10px)}to{opacity:1;transform:translateX(-50%) scale(1) translateY(0)}}