/* My Tasks & Capacity → Hours vs estimate report (hours-report.js). */
.hr-report { margin-top: 14px; }
.hr-head h3 { margin: 0; }
.hr-info { cursor: help; color: var(--accent, #1e4d6b); font-weight: 700; }
.hr-error { color: var(--danger, #dc2626); font-size: .8rem; margin: 6px 0 0; }
.hr-body.hr-loading { opacity: .55; }
.hr-table-wrap { margin-top: 10px; overflow-x: auto; border: 1px solid var(--border, #e2e8f0); border-radius: 10px; }
.hr-table { border-collapse: separate; border-spacing: 0; width: 100%; font-size: .8rem; }
.hr-table th, .hr-table td { padding: 6px 8px; border-bottom: 1px solid var(--border, #e2e8f0); text-align: right; white-space: nowrap; vertical-align: top; }
.hr-table thead th { position: sticky; top: 0; background: var(--map-cell, #f8fafc); font-size: .72rem; font-weight: 700; color: var(--text-2, #5c6b7e); text-transform: uppercase; letter-spacing: .03em; }
.hr-table .hr-sub { display: block; font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--text-3, #94a3b8); font-size: .68rem; }
.hr-table .hr-proj { text-align: left; position: sticky; left: 0; background: var(--surface, #fff); z-index: 1; max-width: 240px; }
.hr-table thead .hr-proj { background: var(--map-cell, #f8fafc); z-index: 2; }
.hr-name { display: inline-flex; align-items: center; gap: 6px; max-width: 230px; font-weight: 600; }
.hr-c { min-width: 92px; }
.hr-c[data-hr-cell] { cursor: pointer; }
.hr-c[data-hr-cell]:hover, .hr-c[data-hr-cell]:focus-visible { box-shadow: inset 0 0 0 2px var(--accent, #1e4d6b); outline: none; }
.hr-c.hr-selected { box-shadow: inset 0 0 0 2px var(--accent, #1e4d6b); }
.hr-ae { display: block; }
.hr-ae b { font-weight: 700; }
.hr-sep { margin: 0 3px; color: var(--text-3, #94a3b8); }
.hr-e { color: var(--text-2, #5c6b7e); }
.hr-var { display: block; font-size: .7rem; color: var(--text-2, #5c6b7e); min-height: 1em; }
.hr-c.hr-over { background: #fde2e2; } .hr-c.hr-over .hr-var, .hr-c.hr-over b { color: #b91c1c; }
.hr-c.hr-under { background: #fef3c7; } .hr-c.hr-under .hr-var, .hr-c.hr-under b { color: #92400e; }
.hr-c.hr-total { background-image: linear-gradient(var(--bg-tint, rgba(15, 45, 61, .035)), var(--bg-tint, rgba(15, 45, 61, .035))); }
.hr-foot th, .hr-foot td { font-weight: 700; border-top: 2px solid var(--border, #e2e8f0); border-bottom: 0; }
.hr-detail { margin-top: 10px; border: 1px solid var(--border, #e2e8f0); border-radius: 10px; padding: 8px 12px; background: var(--surface, #fff); }
.hr-detail-head { display: flex; align-items: center; gap: 6px; font-size: .82rem; }
.hr-detail-head .mt-icon-btn { margin-left: auto; }
.hr-entries { width: 100%; border-collapse: collapse; font-size: .78rem; margin-top: 6px; }
.hr-entries th, .hr-entries td { text-align: left; padding: 4px 6px; border-bottom: 1px solid var(--border, #e2e8f0); }
.hr-entries .num { text-align: right; }
.hr-range { font-size: .74rem; margin: 6px 0 0; }
.hr-chart { display: flex; align-items: flex-end; gap: 14px; height: 220px; padding: 22px 6px 28px; margin-top: 10px; border-bottom: 1px solid var(--border, #e2e8f0); }
.hr-wk { flex: 1 1 0; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; position: relative; min-width: 0; }
.hr-bars { display: flex; align-items: flex-end; gap: 4px; height: 100%; width: min(84px, 90%); }
.hr-bar { flex: 1 1 0; border-radius: 5px 5px 0 0; position: relative; min-height: 1px; }
.hr-bar span { position: absolute; top: -16px; left: 50%; transform: translateX(-50%); font-size: .66rem; font-weight: 700; white-space: nowrap; color: var(--text-2, #5c6b7e); }
.hr-bar-a { background: var(--accent, #1e4d6b); } .hr-bar-a.hr-over { background: #dc2626; }
.hr-bar-e { background: repeating-linear-gradient(135deg, #94a3b8 0 3px, #cbd5e1 3px 6px); }
.hr-wk-label { position: absolute; bottom: -22px; font-size: .7rem; color: var(--text-2, #5c6b7e); white-space: nowrap; }
.hr-chart-legend { display: flex; gap: 14px; font-size: .74rem; color: var(--text-2, #5c6b7e); margin-top: 8px; }
.hr-key { display: inline-block; width: 12px; height: 10px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
.hr-key-a { background: var(--accent, #1e4d6b); } .hr-key-e { background: repeating-linear-gradient(135deg, #94a3b8 0 3px, #cbd5e1 3px 6px); }
#hr-preset { min-width: 11.5rem; }
.hr-table .hr-src { display: block; margin-top: 2px; font-size: .62rem; font-weight: 600; text-transform: none; letter-spacing: 0; }
.hr-src-live { color: var(--accent, #1e4d6b); } .hr-src-snapshot { color: #0f766e; } .hr-src-missing { color: var(--text-3, #94a3b8); }
.hr-partial { color: var(--text-3, #94a3b8); margin-left: 1px; }
