.report-page { --report-ink: #28344f; --report-blue: #6388da; --report-mint: #67bb95; --report-peach: #d88b6d; --report-lavender: #796cd1; }
.report-page main { padding-bottom: 30px; }
.report-page-intro { margin-bottom: 18px; }
.report-page-intro h1 { max-width: 650px; }
.report-page-intro p { max-width: 650px; }
.report-page .page-actions { align-items: center; }
.report-refresh-note { max-width: 190px; color: #aaa7b7; font-size: 10px; }
.report-range { display: inline-flex; align-items: center; gap: 7px; color: #aaa7b7; font-size: 9px; }
.report-range-picker { position: relative; min-width: 124px; }
.report-days-native { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.report-range-trigger { display: flex; width: 100%; min-height: 34px; align-items: center; justify-content: space-between; gap: 12px; padding: 0 10px; border: 1px solid #e3e7f1; border-radius: 9px; outline: 0; color: #687794; background: #fbfcff; font-family: var(--font-ui); font-size: 10px; font-weight: 650; cursor: pointer; transition: border-color .2s, box-shadow .2s, background .2s; }
.report-range-trigger:hover:not(:disabled), .report-range-trigger[aria-expanded="true"] { border-color: #b9c9ef; background: #fff; box-shadow: 0 0 0 3px rgba(99, 136, 218, .09); }
.report-range-trigger:disabled { cursor: not-allowed; opacity: .52; }
.report-range-chevron { width: 14px; height: 14px; flex: 0 0 14px; fill: none; stroke: #71809d; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transition: transform .2s ease; }
.report-range-picker.is-open .report-range-chevron { transform: rotate(180deg); }
.report-range-menu { position: absolute; top: calc(100% + 8px); right: 0; z-index: 12; display: grid; min-width: 100%; padding: 5px; border: 1px solid #e1e6f1; border-radius: 12px; background: #fff; box-shadow: 0 15px 35px rgba(67, 89, 131, .14); animation: reportRangeMenuIn .16s cubic-bezier(.22, 1, .36, 1) both; }
.report-range-option { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 18px; padding: 9px 10px; border: 0; border-radius: 8px; color: #6c7894; background: transparent; font-family: var(--font-ui); font-size: 10px; font-weight: 650; text-align: left; cursor: pointer; }
.report-range-option:hover, .report-range-option:focus-visible, .report-range-option.is-selected { color: #536da9; background: #f1f4fc; outline: 0; }
.report-range-check { color: transparent; font-size: 12px; font-weight: 850; }
.report-range-option.is-selected .report-range-check { color: #6b89d8; }
@keyframes reportRangeMenuIn { from { opacity: 0; transform: translateY(-4px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
.report-page .button-primary { background: linear-gradient(135deg, #708fe3, #5576cf); box-shadow: 0 9px 19px rgba(88, 120, 208, .2); }
.report-page .button-primary:hover:not(:disabled) { background: linear-gradient(135deg, #6684db, #4b6bc2); }
.report-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
.report-metric { position: relative; display: grid; min-height: 121px; align-content: space-between; gap: 10px; overflow: hidden; padding: 16px 17px 14px; border: 1px solid transparent; border-radius: 15px; box-shadow: 0 8px 23px rgba(65, 83, 123, .045); }
.report-metric > span, .report-metric > strong, .report-metric > small { position: relative; z-index: 1; }.report-metric > span { color: currentColor; font-size: 8px; font-weight: 800; letter-spacing: .12em; }.report-metric > strong { color: var(--report-ink); font-size: 31px; font-weight: 700; letter-spacing: -.08em; line-height: .8; }.report-metric > small { color: #9da6b8; font-size: 9px; }
.report-metric-lavender { color: var(--report-lavender); border-color: #e6e1fa; background: linear-gradient(135deg, #f4f1ff, #fbfaff); }.report-metric-mint { color: #369b76; border-color: #dcefe7; background: linear-gradient(135deg, #eaf9f2, #fbfefc); }.report-metric-peach { color: #d48661; border-color: #f8e5db; background: linear-gradient(135deg, #fff2eb, #fffdfb); }.report-metric-sky { color: #5d91cc; border-color: #ddeafa; background: linear-gradient(135deg, #edf5ff, #fbfdff); }.report-metric-ink { color: #62708c; border-color: #e3e7ef; background: linear-gradient(135deg, #f2f5fa, #fff); }
.monthly-snapshot-panel { margin-bottom: 14px; overflow: hidden; border-color: #dfe7f8; background: linear-gradient(145deg, #fbfcff, #f7f9ff); }
.monthly-snapshot-head { align-items: center; }.monthly-snapshot-head .breakdown-caption { max-width: 320px; color: #7082a8; text-align: right; line-height: 1.6; }
.monthly-snapshot-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 18px 24px 22px; }
.monthly-snapshot-kpi { display: grid; min-width: 0; min-height: 112px; align-content: space-between; gap: 10px; padding: 14px; border: 1px solid #e7ebf4; border-radius: 12px; background: rgba(255, 255, 255, .86); }
.monthly-snapshot-kpi > span { color: #9ba4b6; font-size: 8px; font-weight: 800; letter-spacing: .1em; }.monthly-snapshot-kpi > strong { color: var(--report-ink); font-size: 27px; font-weight: 740; letter-spacing: -.07em; line-height: .9; }.monthly-snapshot-kpi > small { min-width: 0; overflow: hidden; color: #9ca4b3; font-size: 9px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.monthly-snapshot-kpi.is-primary { border-color: #d8e4ff; background: #f1f5ff; }.monthly-snapshot-kpi.is-primary > strong { color: #587bd2; }.monthly-snapshot-kpi.is-risk { border-color: #f3ddd6; background: #fff8f5; }.monthly-snapshot-kpi.is-risk > strong { color: #c76f58; }.monthly-snapshot-kpi.is-warning { border-color: #f2e5c9; background: #fffaf0; }.monthly-snapshot-kpi.is-warning > strong { color: #b78335; }
.report-primary-grid { display: grid; grid-template-columns: minmax(0, 1.46fr) minmax(315px, .74fr); gap: 14px; }
.report-trend-panel, .report-state-panel { min-height: 350px; }
.report-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 21px 24px 17px; border-bottom: 1px solid var(--line); }.report-panel-head h2 { margin-top: 8px; }.report-panel-head p { margin: 7px 0 0; color: #a2a8b8; font-size: 9px; }.compact-report-head { padding-bottom: 15px; }
.chart-legend { display: flex; gap: 11px; padding-top: 6px; color: #969bad; font-size: 9px; white-space: nowrap; }.chart-legend span { display: inline-flex; align-items: center; gap: 5px; }.chart-legend i { width: 7px; height: 7px; border-radius: 2px; }.legend-created { background: var(--report-blue); }.legend-updated { background: var(--report-mint); }
.trend-wrap { display: grid; min-height: 265px; grid-template-columns: 30px minmax(0, 1fr); gap: 9px; padding: 17px 24px 19px; }.trend-y-axis { display: flex; flex-direction: column; justify-content: space-between; padding: 1px 0 22px; color: #b0b4c1; font-size: 8px; text-align: right; }.trend-chart { position: relative; display: flex; min-width: 0; align-items: stretch; gap: 3px; padding: 0 0 23px; border-bottom: 1px solid #ececf2; }.trend-column { position: relative; display: flex; min-width: 0; flex: 1; align-items: stretch; justify-content: center; gap: 2px; border-left: 1px solid rgba(226, 229, 238, .6); }.trend-column:nth-child(odd) { border-left-color: transparent; }.trend-bars { position: absolute; inset: 0; display: flex; height: 100%; align-items: end; justify-content: center; gap: 2px; }.trend-bar { display: block; flex: 0 0 clamp(3px, 1.3vw, 11px); width: clamp(3px, 1.3vw, 11px); min-height: 2px; border-radius: 4px 4px 1px 1px; transition: height .45s cubic-bezier(.22, 1, .36, 1); }.trend-bar.created { background: linear-gradient(180deg, #7d9ee7, #5f82d1); }.trend-bar.updated { background: linear-gradient(180deg, #8bd1b1, #62b18f); }.trend-label { position: absolute; bottom: -20px; color: #adb2c0; font-size: 8px; transform: translateX(-50%); white-space: nowrap; }.trend-label.is-today { color: var(--report-blue); font-weight: 800; }.trend-label.is-today { color: var(--report-blue); font-weight: 800; }.trend-tooltip { position: absolute; top: -3px; left: 50%; z-index: 2; padding: 6px 7px; border: 1px solid #e1e6f1; border-radius: 7px; color: #64718a; background: #fff; box-shadow: 0 7px 16px rgba(67, 89, 131, .11); font-size: 8px; line-height: 1.5; opacity: 0; pointer-events: none; transform: translate(-50%, -100%); transition: opacity .2s; white-space: nowrap; }.trend-column:hover .trend-tooltip { opacity: 1; }.chart-locked { display: grid; width: 100%; align-content: center; justify-items: center; gap: 8px; color: #aaa7b5; }.chart-locked span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #e0dcfa; border-radius: 12px; color: var(--report-lavender); background: #f6f3ff; font-size: 18px; }.chart-locked strong { color: #5c5870; font-size: 15px; }.chart-locked small { font-size: 10px; }
.state-summary { display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center; gap: 18px; min-height: 267px; padding: 20px 24px; }.state-donut { display: grid; width: 136px; height: 136px; place-items: center; align-content: center; border: 13px solid transparent; border-radius: 50%; color: var(--report-ink); background: linear-gradient(#fff, #fff) padding-box, conic-gradient(#eef0f5 0 100%) border-box; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7); }.state-donut span { font-size: 28px; font-weight: 720; letter-spacing: -.08em; line-height: .9; }.state-donut small { margin-top: 6px; color: #a6aabb; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }.state-legend { display: grid; max-height: 180px; gap: 9px; overflow: auto; }.state-line { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; gap: 7px; color: #79768b; font-size: 10px; }.state-line i { width: 8px; height: 8px; border-radius: 3px; }.state-line strong { color: #5c5870; font-size: 10px; }.breakdown-locked { display: grid; min-height: 120px; place-items: center; color: #aaa7b5; font-size: 10px; text-align: center; }
.state-color-0 { background: #6f8fdd; }.state-color-1 { background: #72bd99; }.state-color-2 { background: #d99477; }.state-color-3 { background: #a39ade; }.state-color-4 { background: #98a5bb; }.state-color-5 { background: #d6b26f; }.state-color-open { background: #e6a589; }.state-color-closed { background: #82c7a7; }
.report-breakdown-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }.breakdown-panel { min-height: 250px; }.breakdown-caption { padding-top: 5px; color: #b0afbc; font-size: 8px; font-weight: 800; letter-spacing: .1em; }.breakdown-list { display: grid; gap: 12px; padding: 18px 24px 21px; }.breakdown-row { display: grid; grid-template-columns: minmax(90px, .7fr) minmax(90px, 1.3fr) 30px; align-items: center; gap: 9px; color: #77758a; font-size: 10px; }.breakdown-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.breakdown-track { height: 7px; overflow: hidden; border-radius: 99px; background: #f0f1f5; }.breakdown-fill { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #91ace8, #6d8edc); }.breakdown-row:nth-child(2n) .breakdown-fill { background: linear-gradient(90deg, #9ed8bf, #69b991); }.breakdown-row:nth-child(3n) .breakdown-fill { background: linear-gradient(90deg, #f0b39b, #d98a6e); }.breakdown-count { color: #5d6075; font-size: 10px; font-weight: 750; text-align: right; }
.report-method { display: grid; grid-template-columns: minmax(190px, .42fr) minmax(0, 1.58fr); align-items: center; gap: 30px; margin-top: 14px; padding: 22px 24px; border-color: #e3e8f2; background: linear-gradient(116deg, #f8faff, #fff); }.report-method h2 { margin-top: 8px; }.method-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }.method-grid > div { display: grid; align-content: start; gap: 6px; min-height: 66px; padding: 11px 12px; border: 1px solid #edf0f5; border-radius: 10px; background: rgba(255, 255, 255, .8); }.method-grid b { color: #626d85; font-size: 10px; }.method-grid span { color: #9ca3b3; font-size: 9px; line-height: 1.5; }.method-grid strong { color: #687ba5; font-weight: 750; }
.report-page .footer { padding-top: 23px; }.report-page .toast { max-width: 450px; }.report-page .button:disabled { cursor: not-allowed; opacity: .52; }

.trend-panel-head { align-items: center; }
.trend-panel-head .chart-legend { display: grid; gap: 7px; padding-top: 0; color: #66718a; font-size: 10px; }
.trend-panel-head .chart-legend span { display: grid; grid-template-columns: 8px auto; grid-template-rows: auto auto; align-items: center; column-gap: 7px; row-gap: 2px; min-width: 150px; }
.trend-panel-head .chart-legend i { grid-row: 1 / span 2; width: 8px; height: 8px; border-radius: 3px; }
.trend-panel-head .chart-legend b { color: #68738d; font-size: 10px; font-weight: 750; }
.trend-panel-head .chart-legend small { color: #a5aabb; font-size: 8px; }
.trend-reading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 14px 24px 0; }
.trend-reading-copy { min-width: 0; }
.trend-reading-copy > span { color: #9ca1b1; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.trend-reading-copy p { margin: 6px 0 0; color: #777f94; font-size: 10px; line-height: 1.55; }
.trend-peak { min-width: 130px; padding: 9px 12px; border: 1px solid #e6eaf2; border-radius: 10px; background: #fbfcff; }
.trend-peak small { display: block; color: #a1a8b8; font-size: 8px; }
.trend-peak strong { display: block; margin-top: 4px; color: var(--report-ink); font-size: 13px; font-weight: 750; }
.trend-peak span { display: block; margin-top: 3px; color: #6c9e86; font-size: 9px; }
.trend-chart::before { position: absolute; z-index: 0; inset: 0 0 23px; pointer-events: none; content: ""; background: repeating-linear-gradient(to bottom, rgba(226, 229, 238, .75) 0, rgba(226, 229, 238, .75) 1px, transparent 1px, transparent 25%); }
.trend-column { z-index: 1; }
.trend-bars { z-index: 2; }
.trend-label { z-index: 3; }
.trend-bar.created { background: #6f8fdd; }
.trend-bar.updated { background: #69b995; }
.trend-y-axis { color: #8e98ad; font-size: 9px; font-variant-numeric: tabular-nums; }
.trend-tooltip { z-index: 4; padding: 8px 9px; font-size: 9px; line-height: 1.55; }
.trend-tooltip strong { color: var(--report-ink); font-weight: 750; }
.legend-touched { background: #8b7fcb; }
.trend-echarts-tooltip { display: grid; min-width: 136px; gap: 5px; line-height: 1.35; }
.trend-echarts-tooltip strong { margin-bottom: 2px; color: var(--report-ink); font-size: 10px; font-weight: 750; }
.trend-echarts-tooltip span { color: #6d7890; font-size: 9px; }

.report-filter-panel { margin-top: 14px; padding: 0; border-color: #e3e8f2; background: linear-gradient(118deg, #fbfcff, #fff); }
.report-archive-panel { margin-bottom: 14px; border-color: #e1e6f2; background: linear-gradient(118deg, #ffffff 0%, #fbfcff 68%, #f3fbf7 100%); }
.report-archive-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 19px 24px 15px; border-bottom: 1px solid #eef0f5; }
.report-archive-head h2 { margin-top: 7px; color: #3f4667; font-size: 19px; }
.report-archive-head p { max-width: 640px; margin: 7px 0 0; color: #a0a7b8; font-size: 9px; line-height: 1.55; }
.report-archive-actions { display: flex; align-items: center; gap: 11px; }
.report-archive-actions > span { color: #8993a9; font-size: 10px; font-weight: 750; white-space: nowrap; }
.report-archive-actions .button { min-height: 31px; padding: 0 10px; font-size: 9px; }
.report-archive-list { display: grid; padding: 5px 17px 8px; }
.report-archive-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto minmax(130px, auto) 18px; align-items: center; gap: 13px; min-width: 0; padding: 11px 7px; border-bottom: 1px solid #f0f1f5; transition: background .2s, transform .2s; }
.report-archive-row:last-child { border-bottom: 0; }
.report-archive-row:hover { border-radius: 9px; background: #f8faff; transform: translateX(2px); }
.report-archive-index { color: #b5bdd0; font-family: var(--font-mono); font-size: 10px; font-weight: 750; }
.report-archive-main { display: grid; min-width: 0; gap: 4px; }
.report-archive-main strong { overflow: hidden; color: #5d6987; font-size: 10px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.report-archive-main small { overflow: hidden; color: #a4acbd; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.report-archive-issues { display: grid; min-width: 58px; gap: 3px; text-align: right; }
.report-archive-issues b { color: #657aa9; font-size: 12px; font-weight: 750; }
.report-archive-issues small { color: #a6adbd; font-size: 8px; }
.report-archive-date { color: #99a2b5; font-size: 9px; white-space: nowrap; }
.report-archive-arrow { color: #7b91ce; font-size: 15px; text-align: right; }
.report-archive-empty { display: grid; min-height: 104px; place-items: center; align-content: center; gap: 5px; color: #a5adbe; text-align: center; }
.report-archive-empty > span { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid #e2e7f1; border-radius: 8px; color: #8198d5; background: #f4f7ff; font-size: 15px; }
.report-archive-empty strong { color: #7d879e; font-size: 10px; }
.report-archive-empty small { font-size: 8px; }
.report-filter-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 24px 16px; border-bottom: 1px solid var(--line); }.report-filter-head h2 { margin-top: 8px; }.report-filter-head p { margin: 7px 0 0; color: #a2a8b8; font-size: 9px; }.report-filter-actions { display: flex; align-items: center; gap: 10px; }.report-source-meta { display: grid; justify-items: end; gap: 4px; color: #8d96aa; font-family: "SFMono-Regular", "Roboto Mono", monospace; font-size: 8px; }.report-source-meta strong { color: #65987f; font-family: var(--font-ui); font-size: 8px; font-weight: 700; }.report-clear-button { min-height: 33px; margin-top: 2px; }
.report-filter-grid { display: grid; grid-template-columns: minmax(210px, 1.35fr) repeat(5, minmax(112px, 1fr)); gap: 11px; padding: 17px 24px 21px; }
.report-filter-field { display: grid; align-content: start; gap: 7px; min-width: 0; }.report-filter-field > span { color: #777b8d; font-size: 9px; font-weight: 750; letter-spacing: .02em; }.report-filter-field input, .report-filter-field select { width: 100%; min-height: 36px; padding: 0 11px; border: 1px solid #e5e8f0; border-radius: 9px; outline: 0; color: #646e86; background: #fff; font-family: var(--font-ui); font-size: 10px; transition: border-color .2s, box-shadow .2s, background .2s; }.report-filter-field input::placeholder { color: #b8bdc9; }.report-filter-field input:focus, .report-filter-field select:focus { border-color: #b4c5ee; box-shadow: 0 0 0 3px rgba(99, 136, 218, .1); }.report-filter-field input:disabled, .report-filter-field select:disabled { color: #aeb3bf; background: #f8f9fc; cursor: not-allowed; }
.report-detail-grid { margin-top: 14px; }.report-daily-detail { min-height: 300px; }.report-daily-detail .report-panel-head { align-items: center; }
.daily-issue-groups { display: grid; gap: 8px; padding: 14px 18px 18px; }
.daily-issue-groups > .breakdown-locked { min-height: 190px; }
.daily-issue-day { --daily-status-width: 132px; --daily-event-width: 104px; overflow: hidden; border: 1px solid #e8ebf3; border-radius: 11px; background: #fff; transition: border-color .2s, box-shadow .2s; }
.daily-issue-day[open] { border-color: #dce4f5; box-shadow: 0 8px 21px rgba(72, 91, 132, .055); }
.daily-issue-day summary { display: grid; min-height: 54px; grid-template-columns: minmax(0, 1fr) auto 18px; align-items: center; gap: 12px; padding: 0 14px; color: #69758e; background: #fbfcff; cursor: pointer; list-style: none; transition: background .2s; }
.daily-issue-day summary::-webkit-details-marker { display: none; }
.daily-issue-day summary:hover { background: #f6f8fd; }
.daily-date { display: grid; gap: 3px; }.daily-date strong { color: #55627e; font-size: 11px; font-weight: 780; }.daily-date small { color: #a4acbd; font-size: 8px; }
.daily-day-counts { display: flex; min-width: var(--daily-event-width); justify-content: flex-end; gap: 7px; }.daily-day-counts i { padding: 4px 7px; border-radius: 99px; font-size: 8px; font-style: normal; font-weight: 750; }.daily-day-counts .is-created { color: #5f78b7; background: #edf3ff; }.daily-day-counts .is-updated { color: #4e9879; background: #ebf8f2; }
.daily-day-chevron { color: #8e99ae; font-size: 15px; text-align: center; transition: transform .2s; }.daily-issue-day[open] .daily-day-chevron { transform: rotate(180deg); }
.daily-issue-list { display: grid; padding: 0 14px 4px; border-top: 1px solid #eef0f5; }
.daily-issue-list-head, .daily-issue-row { display: grid; grid-template-columns: minmax(0, 1fr) var(--daily-status-width) var(--daily-event-width); align-items: center; gap: 16px; }
.daily-issue-list-head { min-height: 29px; color: #a5adbd; font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.daily-issue-list-head span:nth-child(3) { text-align: right; }
.daily-issue-row { min-width: 0; min-height: 57px; padding: 9px 0; border-top: 1px solid #f0f1f5; }
.daily-issue-row:last-child { border-bottom: 0; }
.daily-issue-main { display: grid; min-width: 0; gap: 5px; }.daily-issue-main > small { overflow: hidden; color: #a7adba; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.daily-issue-link { display: flex; min-width: 0; align-items: baseline; gap: 7px; color: inherit; text-decoration: none; }.daily-issue-link strong { flex: 0 0 auto; color: #5d70a6; font-size: 10px; font-weight: 780; }.daily-issue-link span { min-width: 0; overflow: hidden; color: #737d93; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.daily-issue-link:hover strong, a.daily-issue-link:hover span { color: #4f72cb; }
.daily-issue-context { display: grid; width: var(--daily-status-width); justify-items: start; gap: 5px; min-width: 0; }.daily-issue-context > small { width: 100%; overflow: hidden; color: #a7adba; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.daily-state { max-width: 100%; overflow: hidden; padding: 3px 6px; border: 1px solid #e2e7f1; border-radius: 99px; color: #72809c; background: #f8faff; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.daily-state.is-closed { border-color: #d9eee5; color: #4e9879; background: #f0faf6; }
.daily-event-tags { display: flex; width: var(--daily-event-width); justify-content: flex-end; gap: 5px; }.daily-event-tag { min-width: 42px; padding: 4px 7px; border-radius: 6px; font-size: 8px; font-weight: 750; text-align: center; white-space: nowrap; }.daily-event-tag.is-created { color: #5f78b7; background: #edf3ff; }.daily-event-tag.is-updated { color: #4e9879; background: #ebf8f2; }
.activity-empty { display: grid; min-height: 218px; place-items: center; color: #aaa7b5; font-size: 10px; text-align: center; }

@container workspace (max-width: 1120px) {
  .report-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }.report-metric-ink { grid-column: span 1; }.report-primary-grid { grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); }
}

@container workspace (max-width: 860px) {
  .report-primary-grid { grid-template-columns: 1fr; }.report-state-panel { min-height: 300px; }.report-method { grid-template-columns: 1fr; gap: 18px; }.method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@container workspace (max-width: 650px) {
  .report-page .page-actions { width: 100%; justify-content: flex-start; }.report-refresh-note { width: 100%; max-width: none; }.report-range { flex: 1; justify-content: space-between; }.report-range-picker { flex: 1; }.report-range-trigger { width: 100%; }.report-filter-head { align-items: stretch; flex-direction: column; }.report-filter-actions { justify-content: space-between; }.report-source-meta { justify-items: start; }.report-metrics { grid-template-columns: 1fr 1fr; gap: 10px; }.report-metric { min-height: 107px; padding: 14px; }.report-metric > strong { font-size: 26px; }.report-metric-ink { grid-column: span 2; }.report-panel-head { padding-right: 17px; padding-left: 17px; }.trend-panel-head { display: block; }.trend-panel-head .chart-legend { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; margin-top: 10px; }.trend-panel-head .chart-legend span { min-width: 0; }.trend-reading { grid-template-columns: 1fr; gap: 10px; padding-right: 17px; padding-left: 17px; }.trend-peak { min-width: 0; }.trend-wrap { padding-right: 17px; padding-left: 17px; }.state-summary { grid-template-columns: 120px minmax(0, 1fr); gap: 12px; padding-right: 17px; padding-left: 17px; }.state-donut { width: 110px; height: 110px; }.state-donut span { font-size: 24px; }.report-breakdown-grid { grid-template-columns: 1fr; gap: 10px; }.breakdown-list { padding-right: 17px; padding-left: 17px; }.report-method { padding-right: 17px; padding-left: 17px; }.method-grid { grid-template-columns: 1fr 1fr; }.report-page .footer { padding-right: 17px; padding-left: 17px; }
}

@container workspace (max-width: 1120px) {
  .report-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.report-filter-search { grid-column: span 2; }
}

@container workspace (max-width: 860px) {
  .report-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.report-filter-search { grid-column: span 2; }
}

@container workspace (max-width: 650px) {
  .report-archive-head { display: block; padding-right: 17px; padding-left: 17px; }
  .report-archive-actions { justify-content: space-between; margin-top: 12px; }
  .report-archive-list { padding-right: 10px; padding-left: 10px; }
  .report-archive-row { grid-template-columns: 25px minmax(0, 1fr) auto 18px; gap: 8px; padding-right: 5px; padding-left: 5px; }
  .report-archive-date { display: none; }
  .report-filter-head { padding-right: 17px; padding-left: 17px; }.report-filter-grid { grid-template-columns: 1fr; padding-right: 17px; padding-left: 17px; }.report-filter-search { grid-column: auto; }
  .report-daily-detail .report-panel-head { align-items: flex-start; flex-direction: column; gap: 9px; }
  .report-daily-detail .breakdown-caption { padding-top: 0; text-align: left; white-space: nowrap; }
  .daily-issue-groups { padding-right: 12px; padding-left: 12px; }
  .daily-issue-day summary { grid-template-columns: minmax(0, 1fr) auto 16px; gap: 8px; padding-right: 10px; padding-left: 10px; }
  .daily-day-counts i { padding-right: 5px; padding-left: 5px; }
  .daily-issue-list { padding-right: 10px; padding-left: 10px; }
  .daily-issue-list-head { display: none; }
  .daily-issue-row { grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
  .daily-issue-context { display: none; }
  .daily-event-tags { width: auto; }
}

/* ECharts owns the plot surface; keep the card chrome quiet and let its axes, tooltip and dataZoom carry the detail. */
.trend-wrap { display: block; min-height: 318px; padding: 10px 17px 16px; }
.trend-chart { display: block; height: 310px; padding: 0; overflow: hidden; border-bottom: 0; }
.trend-chart::before { display: none; }
.trend-chart .chart-locked { height: 100%; }

@container workspace (max-width: 650px) {
  .trend-wrap { padding: 10px 17px 15px; }
  .trend-chart { height: 330px; }
}

.report-analysis-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); gap: 14px; margin-top: 14px; }
.analysis-breakdown-panel, .analysis-aging-panel { min-width: 0; }
.analysis-panel-head { min-height: 92px; }
.analysis-tabbar { display: flex; gap: 6px; overflow-x: auto; padding: 11px 24px 0; border-bottom: 1px solid #f0f1f5; }
.analysis-tab { flex: 0 0 auto; min-height: 30px; padding: 0 10px; border: 0; border-bottom: 2px solid transparent; outline: 0; color: #9aa1b2; background: transparent; font-family: var(--font-ui); font-size: 10px; cursor: pointer; transition: color .2s, border-color .2s, background .2s; }
.analysis-tab:hover { color: #667aa9; background: #fafbff; }
.analysis-tab:focus-visible { border-radius: 6px; box-shadow: 0 0 0 3px rgba(99, 136, 218, .12); }
.analysis-tab.active { border-color: var(--report-blue); color: #5c70a3; font-weight: 750; }
.analysis-chart { height: 276px; padding: 10px 13px 0; }
.analysis-chart .chart-locked { height: 100%; }
.analysis-table-wrap { overflow: auto; padding: 0 18px 9px; }
.analysis-table { width: 100%; min-width: 560px; border-collapse: collapse; color: #777f94; font-size: 9px; }
.analysis-table th { padding: 7px 6px; color: #a5a8b6; font-size: 8px; font-weight: 800; letter-spacing: .06em; text-align: right; white-space: nowrap; }
.analysis-table th:first-child, .analysis-table td:first-child { text-align: left; }
.analysis-table td { padding: 8px 6px; border-top: 1px solid #f0f1f5; text-align: right; white-space: nowrap; }
.analysis-table tbody tr:first-child td { border-top: 0; }
.analysis-table td:first-child { max-width: 150px; overflow: hidden; color: #68738d; text-overflow: ellipsis; }
.analysis-table td strong { color: #5e6880; font-weight: 750; }
.analysis-table .breakdown-locked { min-height: 72px; }
.analysis-footnote { margin: 0; padding: 0 24px 17px; color: #a2a8b8; font-size: 9px; line-height: 1.5; }
.aging-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 18px 24px 0; }
.aging-kpis > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 3px 6px; padding: 9px 10px; border: 1px solid #edf0f5; border-radius: 9px; background: #fbfcff; }
.aging-kpis small { grid-column: 1 / -1; color: #a2a8b8; font-size: 8px; }
.aging-kpis strong { color: var(--report-ink); font-size: 20px; font-weight: 720; letter-spacing: -.07em; line-height: 1; }
.aging-kpis span { color: #9ca5b8; font-size: 8px; }
.aging-chart { height: 218px; padding-top: 8px; }
.analysis-compare { margin: 4px 24px 0; padding: 10px 11px; border: 1px solid #e8ebf3; border-radius: 9px; color: #7e879a; background: #fbfcff; font-size: 9px; line-height: 1.55; }

@container workspace (max-width: 860px) {
  .report-analysis-grid { grid-template-columns: 1fr; }
}

@container workspace (max-width: 650px) {
  .analysis-panel-head { min-height: 0; }
  .analysis-tabbar { padding-right: 17px; padding-left: 17px; }
  .analysis-chart { height: 276px; padding-right: 8px; padding-left: 8px; }
  .aging-chart { height: 218px; }
  .analysis-table-wrap { padding-right: 10px; padding-left: 10px; }
  .analysis-footnote { padding-right: 17px; padding-left: 17px; }
  .aging-kpis { padding-right: 17px; padding-left: 17px; }
  .analysis-compare { margin-right: 17px; margin-left: 17px; }
}

/* Distribution bars use discrete classes so the dashboard stays compatible with its strict CSP. */
.breakdown-fill.fill-level-1 { width: 5%; }.breakdown-fill.fill-level-2 { width: 10%; }.breakdown-fill.fill-level-3 { width: 15%; }.breakdown-fill.fill-level-4 { width: 20%; }.breakdown-fill.fill-level-5 { width: 25%; }.breakdown-fill.fill-level-6 { width: 30%; }.breakdown-fill.fill-level-7 { width: 35%; }.breakdown-fill.fill-level-8 { width: 40%; }.breakdown-fill.fill-level-9 { width: 45%; }.breakdown-fill.fill-level-10 { width: 50%; }.breakdown-fill.fill-level-11 { width: 55%; }.breakdown-fill.fill-level-12 { width: 60%; }.breakdown-fill.fill-level-13 { width: 65%; }.breakdown-fill.fill-level-14 { width: 70%; }.breakdown-fill.fill-level-15 { width: 75%; }.breakdown-fill.fill-level-16 { width: 80%; }.breakdown-fill.fill-level-17 { width: 85%; }.breakdown-fill.fill-level-18 { width: 90%; }.breakdown-fill.fill-level-19 { width: 95%; }.breakdown-fill.fill-level-20 { width: 100%; }

.report-filter-grid { grid-template-columns: minmax(210px, 1.35fr) repeat(6, minmax(112px, 1fr)); }
.report-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.report-backlog-grid { margin-top: 14px; }
.backlog-panel { min-width: 0; }
.backlog-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 18px 24px 0; }
.backlog-kpis > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 3px 6px; min-width: 0; padding: 9px 10px; border: 1px solid #edf0f5; border-radius: 9px; background: #fbfcff; }
.backlog-kpis small { grid-column: 1 / -1; overflow: hidden; color: #a2a8b8; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.backlog-kpis strong { color: var(--report-ink); font-size: 19px; font-weight: 720; letter-spacing: -.07em; line-height: 1; }
.backlog-kpis span { color: #9ca5b8; font-size: 8px; }
.backlog-kpis > div:first-child { border-color: #f5e0d7; background: #fffaf7; }.backlog-kpis > div:first-child strong { color: #ca795c; }
.backlog-kpis > div:nth-child(2) strong, .backlog-kpis > div:nth-child(3) strong, .backlog-kpis > div:nth-child(4) strong { color: #657aa9; }
.backlog-table-wrap { overflow: auto; padding: 13px 18px 8px; }
.backlog-table { width: 100%; min-width: 520px; border-collapse: collapse; color: #777f94; font-size: 9px; }
.backlog-table th { padding: 7px 6px; color: #a5a8b6; font-size: 8px; font-weight: 800; letter-spacing: .06em; text-align: right; white-space: nowrap; }
.backlog-table th:first-child, .backlog-table td:first-child { text-align: left; }
.backlog-table td { padding: 9px 6px; border-top: 1px solid #f0f1f5; text-align: right; white-space: nowrap; }
.backlog-table tbody tr:first-child td { border-top: 0; }
.backlog-table td strong { color: #5e6880; font-weight: 750; }
.backlog-issue { min-width: 175px; max-width: 270px; }.backlog-issue > div { display: flex; min-width: 0; align-items: baseline; gap: 6px; }.backlog-issue small { display: block; overflow: hidden; margin-top: 5px; color: #b0b2bd; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.backlog-issue-link { flex: 0 0 auto; color: #5d6d9f; font-size: 10px; font-weight: 750; }.backlog-issue-link:hover { color: #5576cf; }.backlog-issue-title { min-width: 0; overflow: hidden; color: #969baa; text-overflow: ellipsis; white-space: nowrap; }
.backlog-state { display: block; overflow: hidden; max-width: 100px; color: #7885a2; text-overflow: ellipsis; }.backlog-assignee { display: block; overflow: hidden; max-width: 100px; margin-top: 5px; color: #b0b2bd; font-size: 8px; text-overflow: ellipsis; }
.backlog-empty { min-height: 92px; }

@container workspace (max-width: 1120px) {
  .report-filter-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .report-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@container workspace (max-width: 860px) {
  .report-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-filter-search { grid-column: span 2; }
}

@container workspace (max-width: 650px) {
  .report-filter-grid { grid-template-columns: 1fr; }
  .report-metrics { grid-template-columns: 1fr 1fr; }
  .backlog-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-right: 17px; padding-left: 17px; }
  .backlog-table-wrap { padding-right: 10px; padding-left: 10px; }
  .monthly-snapshot-head { align-items: flex-start; flex-direction: column; }.monthly-snapshot-head .breakdown-caption { max-width: none; text-align: left; }.monthly-snapshot-grid { grid-template-columns: 1fr 1fr; padding-right: 17px; padding-left: 17px; }.monthly-snapshot-kpi { min-height: 102px; }.monthly-snapshot-kpi > strong { font-size: 23px; }
}
