.performance-shell{--department-visualisation:#2a78d6;--department-animation:#8660bb;--department-interactive:#158c83;--department-media:#b77b27;--department-other:#778393;--capacity-nonbillable:#9da8b4;--performance-good-bg:#e5f3e9;--performance-good-ink:#19663c;--performance-bad-bg:#fce8e8;--performance-bad-ink:#ac2929;--performance-page:#f3f5f6;background:var(--performance-page);min-height:calc(100vh - 60px);margin:-20px;padding:30px}.dark .performance-shell{--department-visualisation:#68a9ef;--department-animation:#b693e6;--department-interactive:#51bdb0;--performance-good-bg:#183a2b;--performance-good-ink:#8ce0ad;--performance-bad-bg:#45262b;--performance-bad-ink:#ffaaa9;--performance-page:#17191d}.performance-shell h2{letter-spacing:-.2px;font-size:17px;font-weight:650}.performance-card{border:1px solid var(--border);background:var(--card);border-radius:13px;padding:25px}.performance-muted{color:var(--muted-foreground);font-size:12px;line-height:1.6}.performance-hero{grid-template-columns:1.65fr 1fr;gap:20px;display:grid}.performance-badge{white-space:nowrap;border-radius:6px;padding:5px 8px;font-size:11px;font-weight:650}.performance-pass{background:var(--performance-good-bg);color:var(--performance-good-ink)}.performance-fail{background:var(--performance-bad-bg);color:var(--performance-bad-ink)}.performance-neutral{background:var(--muted);color:var(--muted-foreground)}.performance-meter{background:var(--muted);border-radius:6px;height:20px;margin:28px 0 12px;display:flex;position:relative}.performance-meter>span:first-child{border-radius:6px 0 0 6px}.performance-booked{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--department-visualisation) 40%, var(--card)), color-mix(in srgb, var(--department-visualisation) 40%, var(--card)) 4px, color-mix(in srgb, var(--department-visualisation) 25%, var(--card)) 4px, color-mix(in srgb, var(--department-visualisation) 25%, var(--card)) 8px)}.performance-target-marker{border-left:2px solid var(--muted-foreground);height:30px;position:absolute;top:-5px}.performance-legend{color:var(--muted-foreground);flex-wrap:wrap;gap:16px;font-size:11px;display:flex}.performance-legend i{border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.performance-insight{border-top:1px solid var(--border);color:var(--muted-foreground);margin-top:23px;padding-top:16px;font-size:12px;line-height:1.6}.performance-ring{border-radius:50%;flex-shrink:0;place-items:center;width:130px;height:130px;display:grid}.performance-ring>div{background:var(--card);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:103px;height:103px;display:flex}.performance-ring strong{font-size:30px;font-weight:650;line-height:1.2}.performance-ring span{color:var(--muted-foreground);font-size:11px}.performance-focus{border-bottom:1px solid var(--border);padding:17px 0}.performance-focus:last-of-type{border:0}.performance-focus strong{font-size:14px;font-weight:600}.performance-year-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:100%;min-width:1150px;font-size:12px}.performance-year-table th,.performance-year-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:right;padding:14px 10px}.performance-year-table th:first-child{text-align:left;background:var(--card);z-index:1;min-width:190px;padding-left:24px;font-weight:650;position:sticky;left:0}.performance-year-table thead th{background:var(--muted);color:var(--foreground);font-weight:750}.performance-year-table thead th:first-child{background:var(--muted)}.performance-year-table .year-total{border-left:2px solid var(--muted-foreground);min-width:80px;font-weight:800}.performance-year-table tbody td{font-weight:550}.performance-year-table .total-row th,.performance-year-table .total-row td{border-top:2px solid var(--border);font-weight:800}.performance-year-table .target-row th,.performance-year-table .target-row td{background:var(--muted);color:var(--muted-foreground);font-weight:650}.performance-year-table .attainment-row th,.performance-year-table .attainment-row td{font-weight:800}.performance-year-table button:hover{text-decoration:underline}.performance-year-table td.performance-pass{background:var(--performance-good-bg);color:var(--performance-good-ink)}.performance-year-table td.performance-fail{background:var(--performance-bad-bg);color:var(--performance-bad-ink)}@media (width<=1100px){.performance-hero{grid-template-columns:1fr}}@media (width<=650px){.performance-shell{padding:20px}.performance-card{padding:18px}}
