/* Report dashboard screen lock.
   Loaded after styles.css so the reference-style main screen can scale as one board. */

@font-face {
    font-family: "Pretendard Variable";
    src: url("/static/fonts/pretendard/PretendardVariable.woff2") format("woff2");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

html,
html:has(body.index-page.report-page),
body.index-page.report-page {
    width: 100%;
    height: 100dvh;
    min-height: 0;
    overflow: hidden !important;
}

body.index-page.report-page {
    --report-bg: #f7fbff;
    --report-ink: #06194f;
    --report-blue: #2b69f0;
    --report-header-h: clamp(92px, 11.8dvh, 128px);
    --report-pad-x: clamp(24px, 3.2dvh, 36px);
    --report-pad-bottom: clamp(8px, 1.2dvh, 14px);
    --report-gap: clamp(14px, 1.7dvh, 18px);
    --report-side-gap: clamp(14px, 1.95dvh, 22px);
    --report-group-top: clamp(50px, 6.8dvh, 72px);
    --report-group-pad-x: clamp(9px, 1.35dvh, 16px);
    --report-group-pad-bottom: clamp(7px, 1.05dvh, 14px);
    --report-card-gap: clamp(5px, 0.85dvh, 9px);
    --report-card-pad-y: clamp(7px, 1dvh, 13px);
    --report-card-pad-x: clamp(14px, 2.15dvh, 28px);
    --report-copy-gap: clamp(4px, 0.62dvh, 8px);
    --report-label-col: clamp(70px, 9.2dvh, 92px);
    --report-progress-col: clamp(70px, 9.4dvh, 106px);
    --report-title-size: clamp(18px, 2.2dvh, 24px);
    --report-body-size: clamp(15px, 1.85dvh, 19px);
    --report-label-size: clamp(14px, 1.7dvh, 18px);
    --report-progress-label-size: clamp(13px, 1.58dvh, 16px);
    --report-ring-size: clamp(48px, 6.35dvh, 70px);
    --report-ring-stroke: clamp(8px, 1.05dvh, 10px);
    --report-ring-text: clamp(18px, 2.25dvh, 23px);
    --report-group-title-h: clamp(38px, 5.15dvh, 50px);
    --report-group-title-w: clamp(190px, 26dvh, 240px);
    --report-group-title-size: clamp(21px, 2.65dvh, 29px);
    --report-icon-size: clamp(34px, 4.85dvh, 44px);
    --report-icon-glyph: clamp(20px, 2.85dvh, 26px);
    --report-core-icon: clamp(56px, min(7.8dvh, 65px), 65px);
    --report-core-icon-glyph: clamp(32px, min(4.35dvh, 36px), 36px);
    --report-core-title: clamp(27px, min(3.1dvh, 30px), 30px);
    --report-core-subtitle: clamp(21px, min(2.65dvh, 24px), 24px);
    --report-team-heatmap-h: clamp(76px, min(10dvh, 94px), 94px);
    --report-core-y-shift: clamp(0px, calc(50dvh - 450px), 96px);
    --report-card-hover-lift: 3px;
    box-sizing: border-box;
    margin: 0;
    background:
        radial-gradient(ellipse 34dvh 24dvh at -7dvh 18dvh, rgba(208, 229, 255, 0.8), transparent 68%),
        radial-gradient(ellipse 30dvh 22dvh at calc(100% + 4dvh) 20dvh, rgba(255, 226, 206, 0.78), transparent 68%),
        radial-gradient(ellipse 32dvh 23dvh at -5dvh calc(100% + 1dvh), rgba(202, 242, 245, 0.7), transparent 68%),
        radial-gradient(ellipse 32dvh 23dvh at calc(100% + 4dvh) calc(100% + 2dvh), rgba(218, 220, 255, 0.7), transparent 68%),
        var(--report-bg) !important;
    color: var(--report-ink);
    font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    position: relative;
    isolation: isolate;
}

body.index-page.report-page::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: auto;
    background:
        linear-gradient(126deg, transparent 0 5%, rgba(52, 116, 242, 0.38) 13%, rgba(197, 222, 255, 0.44) 24%, rgba(255, 255, 255, 0.12) 34%, transparent 48%),
        linear-gradient(132deg, transparent 0 23%, rgba(130, 177, 255, 0.34) 34%, rgba(236, 247, 255, 0.38) 48%, transparent 66%),
        radial-gradient(ellipse 54% 42% at 36% 30%, rgba(111, 166, 255, 0.38), transparent 70%),
        linear-gradient(118deg, transparent 0 10%, rgba(151, 213, 232, 0.34) 20%, rgba(241, 252, 255, 0.34) 34%, transparent 54%),
        linear-gradient(124deg, transparent 0 42%, rgba(95, 141, 238, 0.32) 52%, rgba(232, 240, 255, 0.34) 66%, transparent 84%),
        radial-gradient(ellipse 58% 44% at 58% 42%, rgba(170, 204, 255, 0.34), transparent 72%),
        linear-gradient(18deg, transparent 0 18%, rgba(78, 191, 193, 0.32) 30%, rgba(226, 253, 252, 0.32) 48%, transparent 68%),
        linear-gradient(12deg, transparent 0 50%, rgba(113, 143, 240, 0.3) 60%, rgba(238, 242, 255, 0.32) 76%, transparent 94%),
        radial-gradient(ellipse 60% 42% at 64% 60%, rgba(158, 174, 255, 0.32), transparent 74%);
    background-size:
        46vw 34vh,
        40vw 30vh,
        52vw 42vh,
        48vw 30vh,
        44vw 34vh,
        54vw 44vh,
        46vw 28vh,
        42vw 28vh,
        50vw 36vh;
    background-position:
        -7vw 5vh,
        8vw 13vh,
        2vw -5vh,
        46vw 1vh,
        58vw 9vh,
        42vw -8vh,
        -8vw calc(100% - 24vh),
        68vw calc(100% - 22vh),
        60vw calc(100% - 32vh);
    background-repeat: no-repeat;
    filter: blur(6px);
    opacity: 1;
    mix-blend-mode: normal;
}

body.index-page.report-page .report-header,
body.index-page.report-page .report-dashboard {
    position: relative;
    z-index: 1;
}

body.index-page.report-page *,
body.index-page.report-page *::before,
body.index-page.report-page *::after {
    box-sizing: border-box;
}

body.index-page.report-page .report-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    height: var(--report-header-h) !important;
    min-height: var(--report-header-h) !important;
    padding: clamp(22px, 2.85dvh, 31px) var(--report-pad-x) 0 !important;
    overflow: hidden;
}

body.index-page.report-page .report-header > div:first-child,
body.index-page.report-page .report-header > .report-brand-block {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}

body.index-page.report-page .report-brand-home-link {
    color: inherit;
    text-decoration: none;
}

body.index-page.report-page .report-brand-home-link:hover,
body.index-page.report-page .report-brand-home-link:focus-visible {
    text-decoration: none;
}

body.index-page.report-page .report-brand-home-link:focus-visible {
    outline: 2px solid rgba(206, 241, 235, 0.85);
    outline-offset: 4px;
    border-radius: 6px;
}

body.index-page.report-page .report-header h1 {
    overflow: hidden;
    margin: 0;
    color: #082862;
    font-size: clamp(33px, 4dvh, 45px) !important;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 0.98;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-header p {
    overflow: hidden;
    margin: clamp(7px, 1dvh, 10px) 0 0;
    color: #075fc7;
    font-size: clamp(19px, 2.2dvh, 25px) !important;
    font-weight: 800;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-header-actions {
    flex: 0 1 auto;
    display: flex;
    align-items: center;
    gap: clamp(6px, 0.8dvh, 10px);
    min-width: 0;
    padding-top: clamp(6px, 1.05dvh, 12px);
    color: #142d68;
    font-weight: 850;
}

body.index-page.report-page .report-date {
    overflow: hidden;
    font-size: clamp(15px, 1.7dvh, 20px) !important;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-header-icon {
    width: clamp(19px, 2.7dvh, 25px);
    height: clamp(19px, 2.7dvh, 25px);
}

body.index-page.report-page .report-progress-mode-button,
body.index-page.report-page .report-calendar-button,
body.index-page.report-page .report-add-button,
body.index-page.report-page .report-header-menu-button {
    display: grid;
    place-items: center;
    width: clamp(36px, 5dvh, 46px);
    min-width: clamp(36px, 5dvh, 46px);
    height: clamp(36px, 5dvh, 46px);
    min-height: clamp(36px, 5dvh, 46px);
    padding: 0;
    aspect-ratio: 1 / 1;
    border-radius: 9px;
}

body.index-page.report-page .report-progress-mode-button {
    border: 1px solid rgba(43, 105, 240, 0.25);
    background: rgba(255, 255, 255, 0.9);
    color: #16336f;
    box-shadow: 0 10px 24px rgba(43, 105, 240, 0.1);
    transition:
        border-color 160ms ease-out,
        background-color 160ms ease-out,
        box-shadow 160ms ease-out,
        transform 160ms ease-out;
}

body.index-page.report-page .report-progress-mode-button img {
    width: clamp(19px, 2.7dvh, 25px);
    height: clamp(19px, 2.7dvh, 25px);
}

body.index-page.report-page .report-progress-mode-button span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

body.index-page.report-page .report-progress-mode-button:hover,
body.index-page.report-page .report-progress-mode-button:focus-visible {
    border-color: rgba(43, 105, 240, 0.54);
    background: #f2f7ff;
    color: #075fc7;
}

body.index-page.report-page .report-progress-mode-button[aria-pressed="true"] {
    border-color: #2b69f0;
    background: #2b69f0;
    box-shadow: inset 0 2px 5px rgba(3, 27, 84, 0.2), 0 8px 18px rgba(43, 105, 240, 0.22);
    transform: translateY(1px);
}

body.index-page.report-page .report-progress-mode-button[aria-pressed="true"] img {
    filter: brightness(0) invert(1);
}

body.index-page.report-page .report-calendar-button {
    border: 1px solid rgba(43, 105, 240, 0.25);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 10px 24px rgba(43, 105, 240, 0.1);
}

body.index-page.report-page .report-calendar-button:hover,
body.index-page.report-page .report-calendar-button:focus-visible {
    border-color: rgba(43, 105, 240, 0.54);
    background: #f2f7ff;
    transform: translateY(-1px);
}

body.index-page.report-page .report-add-button {
    border: 1px solid rgba(43, 105, 240, 0.35);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 10px 26px rgba(43, 105, 240, 0.12);
}

body.index-page.report-page .report-add-button img {
    width: clamp(19px, 2.7dvh, 25px);
    height: clamp(19px, 2.7dvh, 25px);
}

body.index-page.report-page .report-calendar-popover {
    position: fixed;
    z-index: 80;
    width: min(356px, calc(100vw - 24px));
    padding: 14px;
    border: 1px solid rgba(43, 105, 240, 0.2);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 26px 70px rgba(43, 105, 240, 0.18), inset 0 0 0 1px rgba(255, 255, 255, 0.86);
}

body.index-page.report-page .report-calendar-popover[hidden] {
    display: none;
}

body.index-page.report-page .report-calendar-head {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

body.index-page.report-page .report-calendar-head strong {
    overflow: hidden;
    color: #071a55;
    font-size: 18px;
    font-weight: 850;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-calendar-head button,
body.index-page.report-page .report-calendar-actions button {
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid #dbe6fa;
    border-radius: 9px;
    background: #fff;
    color: #2b69f0;
    font-size: 19px;
    font-weight: 850;
}

body.index-page.report-page .report-calendar-head button:hover,
body.index-page.report-page .report-calendar-actions button:hover {
    border-color: rgba(43, 105, 240, 0.5);
    background: #eef4ff;
}

body.index-page.report-page .report-calendar-quarters {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 10px;
}

body.index-page.report-page .report-calendar-quarter {
    display: grid;
    gap: 3px;
    min-width: 0;
    min-height: 48px;
    padding: 7px 5px;
    border: 1px solid #dbe6fa;
    border-radius: 10px;
    background: #fff;
    color: #071a55;
}

body.index-page.report-page .report-calendar-quarter strong,
body.index-page.report-page .report-calendar-quarter span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-calendar-quarter strong {
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
}

body.index-page.report-page .report-calendar-quarter span {
    color: #52617f;
    font-size: 10px;
    font-weight: 750;
    line-height: 1;
}

body.index-page.report-page .report-calendar-quarter:hover,
body.index-page.report-page .report-calendar-quarter:focus-visible {
    border-color: rgba(43, 105, 240, 0.5);
    background: #eef4ff;
}

body.index-page.report-page .report-calendar-quarter.is-selected {
    border-color: rgba(43, 105, 240, 0.66);
    background: #2b69f0;
    color: #fff;
    box-shadow: 0 8px 18px rgba(43, 105, 240, 0.18);
}

body.index-page.report-page .report-calendar-quarter.is-selected span {
    color: rgba(255, 255, 255, 0.82);
}

body.index-page.report-page .report-calendar-weekdays {
    display: grid;
    grid-template-columns: 66px repeat(7, minmax(0, 1fr));
    gap: 3px;
    margin-bottom: 5px;
}

body.index-page.report-page .report-calendar-weekdays::before {
    content: "주차";
    display: grid;
    place-items: center;
    color: #52617f;
    font-size: 11px;
    font-weight: 850;
}

body.index-page.report-page .report-calendar-weekdays span {
    display: grid;
    place-items: center;
    min-height: 22px;
    color: #52617f;
    font-size: 11px;
    font-weight: 850;
}

body.index-page.report-page .report-calendar-weeks {
    display: grid;
    gap: 5px;
}

body.index-page.report-page .report-calendar-week {
    display: grid;
    grid-template-columns: 66px repeat(7, minmax(0, 1fr));
    align-items: center;
    gap: 3px;
    width: 100%;
    min-height: 38px;
    padding: 4px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: #071a55;
}

body.index-page.report-page .report-calendar-week:hover,
body.index-page.report-page .report-calendar-week:focus-visible {
    border-color: rgba(43, 105, 240, 0.28);
    background: #f5f8ff;
    transform: none;
}

body.index-page.report-page .report-calendar-week.is-selected {
    border-color: rgba(43, 105, 240, 0.62);
    background: #eef4ff;
    box-shadow: inset 4px 0 0 #2b69f0;
}

body.index-page.report-page .report-calendar-week.is-outside-month {
    opacity: 0.62;
}

body.index-page.report-page .report-calendar-week-label {
    color: #2b69f0;
    font-size: 12px;
    font-weight: 850;
    text-align: left;
    white-space: nowrap;
}

body.index-page.report-page .report-calendar-day {
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 28px;
    border-radius: 7px;
    color: #071a55;
    font-size: 12px;
    font-weight: 750;
}

body.index-page.report-page .report-calendar-day.is-outside {
    color: rgba(82, 97, 127, 0.45);
}

body.index-page.report-page .report-calendar-week.is-selected .report-calendar-day:not(.is-outside) {
    background: rgba(43, 105, 240, 0.12);
    color: #173e9b;
}

body.index-page.report-page .report-calendar-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}

body.index-page.report-page .report-calendar-actions button {
    width: auto;
    font-size: 12px;
}

body.index-page.report-page .report-dashboard {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(0, 1.1fr) minmax(0, 0.98fr) !important;
    gap: var(--report-gap) !important;
    width: 100%;
    height: calc(100dvh - var(--report-header-h)) !important;
    min-height: 0 !important;
    padding: 0 var(--report-pad-x) var(--report-pad-bottom) !important;
    overflow: visible !important;
}

body.index-page.report-page .report-side {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--report-side-gap) !important;
    min-width: 0;
    min-height: 0 !important;
    overflow: hidden !important;
}

body.index-page.report-page .report-group {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0 !important;
    padding: var(--report-group-top) var(--report-group-pad-x) var(--report-group-pad-bottom) !important;
    overflow: hidden !important;
    border: 1px solid color-mix(in srgb, var(--tone) 35%, #dbe8ff) !important;
    border-radius: clamp(15px, 2.1dvh, 22px) !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 18px 48px rgba(49, 92, 157, 0.08), inset 0 0 0 1px rgba(255, 255, 255, 0.82) !important;
}

body.index-page.report-page .report-group-title {
    position: absolute;
    top: clamp(8px, 1.15dvh, 12px) !important;
    left: var(--report-group-pad-x) !important;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: var(--report-group-title-w);
    min-width: var(--report-group-title-w) !important;
    max-width: calc(100% - clamp(44px, 6dvh, 58px));
    height: var(--report-group-title-h) !important;
    min-height: var(--report-group-title-h) !important;
    padding: 0 clamp(18px, 2.8dvh, 28px) 0 clamp(56px, 7.4dvh, 66px) !important;
    border-radius: 999px;
    background: color-mix(in srgb, var(--tone) 14%, #fff) !important;
    color: #071a24;
}

body.index-page.report-page .report-group-icon {
    position: absolute;
    left: clamp(8px, 1.2dvh, 11px) !important;
    display: grid;
    place-items: center;
    width: var(--report-icon-size) !important;
    height: var(--report-icon-size) !important;
    border-radius: 50%;
    background:
        radial-gradient(circle at 34% 24%, rgba(255, 255, 255, 0.72), transparent 28%),
        linear-gradient(145deg, color-mix(in srgb, var(--tone) 62%, #fff) 0%, var(--tone) 88%) !important;
    box-shadow: 0 10px 22px color-mix(in srgb, var(--tone) 30%, transparent);
}

body.index-page.report-page .report-group-icon::before,
body.index-page.report-page .report-group-icon::after {
    display: none !important;
}

body.index-page.report-page .report-group-icon img,
body.index-page.report-page .report-group-icon svg {
    width: var(--report-icon-glyph) !important;
    height: var(--report-icon-glyph) !important;
}

body.index-page.report-page .report-group-title h2 {
    overflow: hidden;
    margin: 0;
    color: #050b18 !important;
    font-size: var(--report-group-title-size) !important;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-group-title.has-team-meta {
    justify-content: flex-start;
    gap: clamp(7px, 1dvh, 11px);
    width: fit-content;
    min-width: 0 !important;
    padding-left: clamp(56px, 7.4dvh, 66px) !important;
    padding-right: clamp(16px, 2.1dvh, 22px) !important;
}

body.index-page.report-page .report-group-title.has-team-meta h2 {
    flex: 0 0 auto;
}

body.index-page.report-page .report-team-leader {
    flex: 0 1 auto;
    min-width: clamp(86px, 9.8dvh, 102px);
    max-width: none;
    padding-left: clamp(7px, 1dvh, 11px);
    overflow: hidden;
    border-left: 1px solid color-mix(in srgb, var(--tone) 34%, rgba(5, 11, 24, 0.12));
    color: color-mix(in srgb, #050b18 78%, var(--tone));
    font-size: clamp(14px, 1.65dvh, 17px);
    font-weight: 800;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-group-total {
    position: absolute;
    top: clamp(8px, 1.15dvh, 12px);
    right: var(--report-group-pad-x);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--report-group-title-h);
    padding: 0 clamp(2px, 0.45dvh, 6px);
    border: 0;
    border-radius: 0;
    background: transparent;
    color: color-mix(in srgb, #050b18 80%, var(--tone));
    font-size: clamp(21px, 2.6dvh, 28px);
    font-weight: 900;
    line-height: 1;
    box-shadow: none;
    white-space: nowrap;
}

body.index-page.report-page .report-side-left .report-group-title h2,
body.index-page.report-page .report-side-right .report-group-title h2,
body.index-page.report-page .is-compact-group .report-group-title h2 {
    color: #050b18 !important;
    font-size: var(--report-group-title-size) !important;
    line-height: 1 !important;
}

body.index-page.report-page .report-card-list {
    position: relative;
    display: block !important;
    gap: var(--report-card-gap) !important;
    flex: 1 1 auto;
    min-height: 0 !important;
    padding-top: var(--report-card-hover-lift);
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

body.index-page.report-page .report-card-list.has-team-project-indicator {
    padding-right: clamp(7px, 0.95dvh, 11px);
}

body.index-page.report-page .report-card-list::-webkit-scrollbar {
    display: none;
}

body.index-page.report-page .report-card-track {
    display: flex;
    flex-direction: column;
    gap: var(--report-card-gap) !important;
    height: 100%;
    min-height: 100%;
    overflow: visible;
}

body.index-page.report-page .report-card-track > .report-task-card {
    flex: 0 0 calc((100% - (var(--report-card-gap) * 2)) / 3) !important;
}

body.index-page.report-page .report-empty-message {
    display: grid;
    place-items: center;
    flex: 1 1 auto;
    min-height: 100%;
    padding: clamp(18px, 2.6dvh, 28px);
    color: rgba(6, 25, 79, 0.46);
    font-size: clamp(18px, 2.1dvh, 22px);
    font-weight: 850;
    letter-spacing: 0;
    text-align: center;
}

body.index-page.report-page .report-empty-message[hidden] {
    display: none !important;
}

body.index-page.report-page .report-core-list {
    display: grid !important;
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: var(--report-card-gap) !important;
    flex: 1 1 auto;
    min-height: 0 !important;
    padding-top: var(--report-card-hover-lift);
    overflow: hidden !important;
}

body.index-page.report-page .report-core-list .report-empty-message {
    grid-row: 1 / -1;
    min-height: 0;
    color: rgba(6, 25, 79, 0.42);
}

body.index-page.report-page .is-compact-group .report-card-list {
    display: block !important;
}

body.index-page.report-page .report-card-indicator {
    position: absolute;
    z-index: 5;
    top: calc(var(--report-group-top) + var(--report-card-hover-lift) + clamp(4px, 0.7dvh, 8px));
    right: calc(clamp(2px, 0.35dvh, 4px) + 3px);
    bottom: calc(var(--report-group-pad-bottom) + clamp(4px, 0.7dvh, 8px));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(4px, 0.55dvh, 7px);
    width: clamp(6px, 0.85dvh, 9px);
    margin: 0;
    padding: 0;
    pointer-events: none;
}

body.index-page.report-page .report-card-indicator[hidden] {
    display: none !important;
}

body.index-page.report-page .report-card-indicator-dot {
    width: clamp(4px, 0.55dvh, 6px);
    height: clamp(4px, 0.55dvh, 6px);
    border-radius: 999px;
    background: color-mix(in srgb, var(--tone) 28%, rgba(5, 11, 24, 0.22));
    opacity: 0.58;
    transform: scale(0.82);
    transition:
        background-color 160ms ease,
        opacity 160ms ease,
        transform 160ms ease;
}

body.index-page.report-page .report-card-indicator-dot.is-active {
    background: var(--tone);
    opacity: 1;
    transform: scale(1.18);
}

body.index-page.report-page .report-card-indicator-dot.is-active::after {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    box-shadow: 0 0 0 clamp(2px, 0.32dvh, 4px) color-mix(in srgb, var(--tone) 18%, transparent);
    content: "";
}

body.index-page.report-page .report-task-card,
body.index-page.report-page .report-task-card.is-core,
body.index-page.report-page .report-task-card.is-compact {
    display: grid !important;
    align-items: center !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid color-mix(in srgb, var(--tone) 30%, #dae7ff) !important;
    border-radius: clamp(11px, 1.6dvh, 16px) !important;
    background: rgba(255, 255, 255, 0.9) !important;
    box-shadow: 0 9px 24px rgba(49, 92, 157, 0.08) !important;
    transition:
        transform 180ms ease-out,
        box-shadow 180ms ease-out,
        background-color 180ms ease-out,
        border-color 180ms ease-out;
}

body.index-page.report-page .report-task-card {
    grid-template-columns: minmax(0, 1fr) var(--report-progress-col) !important;
    gap: clamp(5px, 0.95dvh, 10px) !important;
    padding: var(--report-card-pad-y) var(--report-card-pad-x) !important;
}

body.index-page.report-page .report-task-card:hover {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: color-mix(in srgb, var(--tone) 64%, #ffffff) !important;
    box-shadow:
        0 22px 46px rgba(49, 92, 157, 0.23),
        inset 0 0 0 2px color-mix(in srgb, var(--tone) 20%, transparent) !important;
    transform: translateY(calc(var(--report-card-hover-lift) * -1.35)) !important;
    z-index: 6;
}

body.index-page.report-page .report-side .report-task-card,
body.index-page.report-page .report-core-panel .report-task-card.is-core {
    border-color: transparent !important;
    border-radius: 2px !important;
    background: #fff !important;
    box-shadow:
        0 7px 14px rgba(16, 38, 84, 0.055),
        0 2px 4px rgba(16, 38, 84, 0.035) !important;
}

body.index-page.report-page .report-side .report-task-card:hover,
body.index-page.report-page .report-core-panel .report-task-card.is-core:hover {
    border-color: transparent !important;
    background: #fff !important;
    box-shadow:
        0 9px 18px rgba(16, 38, 84, 0.07),
        0 3px 6px rgba(16, 38, 84, 0.045) !important;
}

body.index-page.report-page .report-task-card.is-core {
    position: relative;
    z-index: 3;
    box-shadow:
        0 7px 14px rgba(16, 38, 84, 0.055),
        0 2px 4px rgba(16, 38, 84, 0.035) !important;
}

body.index-page.report-page .report-task-card.is-core:hover {
    box-shadow:
        0 9px 18px rgba(16, 38, 84, 0.07),
        0 3px 6px rgba(16, 38, 84, 0.045) !important;
}

body.index-page.report-page .report-task-copy {
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr);
    align-content: center;
    gap: clamp(5px, 0.72dvh, 8px) !important;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

body.index-page.report-page .report-task-title,
body.index-page.report-page .report-task-period,
body.index-page.report-page .report-task-purpose {
    display: block;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    letter-spacing: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-task-title {
    color: #071a55;
    font-size: var(--report-title-size) !important;
    font-weight: 850;
    line-height: 1.08;
    transition: color 180ms ease-out;
}

body.index-page.report-page .report-task-period {
    position: relative;
    padding-left: 0.72em;
    color: #082862;
    font-size: var(--report-body-size) !important;
    font-weight: 800;
    line-height: 1.05;
}

body.index-page.report-page .report-task-purpose {
    display: grid;
    grid-template-columns: clamp(58px, 5.4dvh, 68px) minmax(0, 1fr);
    align-items: baseline;
    gap: 6px;
    position: relative;
    padding-left: 0.72em;
    color: #06194f;
    font-size: var(--report-body-size) !important;
    font-weight: 700;
    line-height: 1.08;
}

body.index-page.report-page .report-task-purpose > b {
    min-width: clamp(58px, 5.4dvh, 68px);
    color: #254164;
    font-weight: 850;
}

body.index-page.report-page .report-task-period::before,
body.index-page.report-page .report-task-purpose::before {
    content: "·";
    position: absolute;
    left: 0;
    top: 0;
    color: currentColor;
    font-weight: 900;
}

body.index-page.report-page .report-task-title-row {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    overflow: hidden;
}

body.index-page.report-page .report-task-title-row .report-task-title {
    flex: 0 1 auto;
}

body.index-page.report-page .report-task-title-row .report-task-period {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    max-width: 46%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #71809a;
    font-size: calc(var(--report-body-size) * 0.78) !important;
    font-weight: 800;
    line-height: 1.08;
}

body.index-page.report-page .report-task-title-row .report-task-period::before {
    content: none;
}

body.index-page.report-page .report-task-focus,
body.index-page.report-page .report-task-deadline {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: baseline;
    column-gap: 12px;
}

body.index-page.report-page .report-task-focus b,
body.index-page.report-page .report-task-deadline b {
    min-width: 72px;
    color: #7a8aa3;
    font-size: calc(var(--report-body-size) * 0.82);
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}

body.index-page.report-page .report-task-deadline b {
    display: block;
    width: 72px;
    letter-spacing: 0.39em;
}

body.index-page.report-page .report-task-focus span,
body.index-page.report-page .report-task-deadline span {
    min-width: 0;
    overflow: hidden;
    color: #475a76;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-task-focus-value {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    min-width: 0;
    max-width: 100%;
}

body.index-page.report-page .report-task-focus-text {
    flex: 0 1 auto;
}

body.index-page.report-page .report-task-focus small,
body.index-page.report-page .report-task-focus em {
    flex: 0 0 auto;
    font-size: calc(var(--report-body-size) * 0.76);
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

body.index-page.report-page .report-task-focus small {
    color: #8a97aa;
}

body.index-page.report-page .report-task-focus em {
    padding: 1px 4px;
    border-radius: 999px;
    background: rgba(196, 56, 56, 0.07);
    color: #b35d5d;
}

body.index-page.report-page .report-task-focus.is-delayed b,
body.index-page.report-page .report-task-deadline.is-delayed b {
    color: #7a8aa3;
}

body.index-page.report-page .report-task-focus.is-missing b,
body.index-page.report-page .report-task-deadline.is-missing b {
    color: #7a8aa3;
}

body.index-page.report-page .report-task-focus.is-holding em,
body.index-page.report-page .report-task-focus.is-done em,
body.index-page.report-page .report-focus-tooltip-head em.is-holding,
body.index-page.report-page .report-focus-tooltip-list em.is-holding,
body.index-page.report-page .report-focus-tooltip-head em.is-completed,
body.index-page.report-page .report-focus-tooltip-list em.is-completed {
    background: rgba(148, 163, 184, 0.16);
    color: #64748b;
}

body.index-page.report-page .report-focus-tooltip-floating {
    position: fixed;
    z-index: 10000;
    width: min(360px, calc(100vw - 24px));
    padding: 12px;
    border: 1px solid rgba(43, 105, 240, 0.22);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 42px rgba(9, 29, 78, 0.2), 0 2px 10px rgba(9, 29, 78, 0.08);
    color: #071a55;
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    transition:
        opacity 120ms ease,
        transform 120ms ease;
}

body.index-page.report-page .report-focus-tooltip-floating.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

body.index-page.report-page .report-general-tooltip-floating {
    position: fixed;
    z-index: 10001;
    width: min(320px, calc(100vw - 24px));
    padding: 10px 12px;
    border: 1px solid rgba(43, 105, 240, 0.2);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 14px 32px rgba(9, 29, 78, 0.18), 0 2px 8px rgba(9, 29, 78, 0.08);
    color: #071a55;
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    transition:
        opacity 110ms ease,
        transform 110ms ease;
}

body.index-page.report-page .report-general-tooltip-floating.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

body.index-page.report-page .report-general-tooltip-title {
    overflow: visible;
    color: #071a55;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.25;
    overflow-wrap: anywhere;
    white-space: normal;
}

body.index-page.report-page .report-general-tooltip-body {
    display: grid;
    gap: 4px;
    margin-top: 7px;
    padding-top: 7px;
    border-top: 1px solid rgba(113, 128, 154, 0.16);
}

body.index-page.report-page .report-general-tooltip-body span {
    color: #31527d;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
}

body.index-page.report-page .report-focus-tooltip-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 6px;
    padding-bottom: 9px;
    border-bottom: 1px solid rgba(113, 128, 154, 0.18);
}

body.index-page.report-page .report-focus-tooltip-head span {
    color: #2b4774;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

body.index-page.report-page .report-focus-tooltip-head strong {
    overflow: hidden;
    color: #071a55;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-focus-tooltip-head small,
body.index-page.report-page .report-focus-tooltip-head em,
body.index-page.report-page .report-focus-tooltip-list em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 2px 5px;
    border-radius: 999px;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

body.index-page.report-page .report-focus-tooltip-head small {
    background: rgba(100, 116, 139, 0.1);
    color: #475569;
}

body.index-page.report-page .report-focus-tooltip-head em,
body.index-page.report-page .report-focus-tooltip-list em {
    background: rgba(196, 56, 56, 0.1);
    color: #c43838;
}

body.index-page.report-page .report-focus-tooltip-list {
    display: grid;
    gap: 7px;
    max-height: min(292px, 52vh);
    margin: 10px 0 0;
    padding: 3px 1px;
    overflow: hidden auto;
    list-style: none;
}

body.index-page.report-page .report-focus-tooltip-list li {
    min-width: 0;
}

body.index-page.report-page .report-focus-tooltip-item-button {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 5px 8px;
    width: 100%;
    padding: 7px 8px;
    border: 1px solid rgba(113, 128, 154, 0.16);
    border-radius: 8px;
    background: rgba(245, 248, 252, 0.72);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

body.index-page.report-page .report-focus-tooltip-item-button:hover,
body.index-page.report-page .report-focus-tooltip-item-button:focus-visible,
body.index-page.report-page .report-focus-tooltip-item-button.is-active {
    border-color: rgba(43, 105, 240, 0.34);
    background: rgba(235, 242, 255, 0.92);
    outline: none;
}

body.index-page.report-page .report-focus-tooltip-list li.is-delayed .report-focus-tooltip-item-button {
    border-color: rgba(196, 56, 56, 0.2);
    background: rgba(196, 56, 56, 0.04);
}

body.index-page.report-page .report-focus-tooltip-list li.is-delayed .report-focus-tooltip-item-button:hover,
body.index-page.report-page .report-focus-tooltip-list li.is-delayed .report-focus-tooltip-item-button:focus-visible,
body.index-page.report-page .report-focus-tooltip-list li.is-delayed .report-focus-tooltip-item-button.is-active {
    border-color: rgba(196, 56, 56, 0.34);
    background: rgba(196, 56, 56, 0.08);
}

body.index-page.report-page .report-focus-tooltip-list li.is-holding .report-focus-tooltip-item-button {
    border-color: rgba(148, 163, 184, 0.26);
    background: rgba(241, 245, 249, 0.88);
}

body.index-page.report-page .report-focus-tooltip-item-title {
    overflow: hidden;
    color: #071a55;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-focus-tooltip-item-target {
    color: #31527d;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.2;
    white-space: nowrap;
}

body.index-page.report-page .report-focus-tooltip-item-parent {
    grid-column: 1 / -1;
    overflow: hidden;
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-focus-tooltip-meta {
    display: grid;
    gap: 5px;
    margin: 10px 0 0;
    padding-top: 9px;
    border-top: 1px solid rgba(113, 128, 154, 0.18);
}

body.index-page.report-page .report-focus-tooltip-meta div {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 8px;
    align-items: baseline;
}

body.index-page.report-page .report-focus-tooltip-meta dt {
    color: #64748b;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
}

body.index-page.report-page .report-focus-tooltip-meta dd {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: #0f2b63;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-task-card:hover .report-task-title {
    color: #075fc7;
}

body.index-page.report-page .report-progress-block {
    display: grid !important;
    justify-items: center;
    align-items: center;
    gap: clamp(3px, 0.5dvh, 6px) !important;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

body.index-page.report-page .report-progress-block > span {
    display: grid;
    place-items: center;
    overflow: hidden;
    max-width: 100%;
    color: #263861;
    font-size: var(--report-progress-label-size) !important;
    font-weight: 850;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color 180ms ease-out;
}

body.index-page.report-page .report-task-card:hover .report-progress-block > span {
    color: #075fc7;
}

body.index-page.report-page .report-progress-label-text {
    grid-area: 1 / 1;
    transition:
        opacity 180ms ease-out,
        transform 180ms ease-out;
}

body.index-page.report-page .report-progress-label-text.is-weekly {
    opacity: 0;
    transform: translateY(5px);
}

body.index-page.report-page[data-progress-mode="weekly"] .report-progress-label-text.is-total {
    opacity: 0;
    transform: translateY(-5px);
}

body.index-page.report-page[data-progress-mode="weekly"] .report-progress-label-text.is-weekly {
    opacity: 1;
    transform: translateY(0);
}

body.index-page.report-page .report-progress-ring {
    --progress-status-color: #2f9973;
    position: relative;
    display: grid !important;
    place-items: center;
    width: var(--report-ring-size) !important;
    min-width: var(--report-ring-size) !important;
    height: var(--report-ring-size) !important;
    min-height: var(--report-ring-size) !important;
    border: 0 !important;
    border-radius: 50%;
    background: #fff !important;
    color: #071a55 !important;
    font-size: var(--report-ring-text) !important;
    font-weight: 850 !important;
    line-height: 1;
    box-shadow: none !important;
    transition:
        color 180ms ease-out,
        filter 180ms ease-out,
        transform 180ms ease-out;
}

body.index-page.report-page .report-progress-ring svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    transform: rotate(-90deg);
}

body.index-page.report-page .report-progress-track,
body.index-page.report-page .report-progress-meter {
    fill: none;
    stroke-width: var(--report-ring-stroke);
}

body.index-page.report-page .report-progress-track {
    stroke: #eceff4;
}

body.index-page.report-page .report-progress-meter {
    stroke: var(--progress-status-color);
    stroke-linecap: round;
    transition:
        stroke 180ms ease-out,
        filter 180ms ease-out;
}

body.index-page.report-page .report-progress-ring.is-status-normal,
body.index-page.report-page .report-progress-ring.is-schedule-normal,
body.index-page.report-page .report-progress-ring.is-schedule-ahead {
    --progress-status-color: #2f9973;
    color: #0f3a2f !important;
}

body.index-page.report-page .report-progress-ring.is-status-delayed,
body.index-page.report-page .report-progress-ring.is-schedule-delayed {
    --progress-status-color: #e5484d;
    color: #691919 !important;
}

body.index-page.report-page .report-progress-ring.is-status-issue {
    --progress-status-color: #f1c232;
    color: #4d3900 !important;
}

body.index-page.report-page .report-progress-ring.is-status-completed {
    --progress-status-color: #9aa3af;
    color: #4b5563 !important;
}

body.index-page.report-page .report-progress-ring.is-status-holding {
    --progress-status-color: #9aa3af;
    color: #667085 !important;
}

body.index-page.report-page .report-task-card.is-holding .report-task-period {
    color: #667085;
}

body.index-page.report-page .report-task-card:hover .report-progress-ring {
    filter: saturate(1.12) brightness(1.03);
    transform: scale(1.025);
}

body.index-page.report-page .report-task-card:hover .report-progress-meter {
    filter: drop-shadow(0 0 4px color-mix(in srgb, var(--progress-status-color) 28%, transparent));
}

body.index-page.report-page .report-progress-ring > span {
    grid-area: 1 / 1;
    position: relative;
    z-index: 1;
}

body.index-page.report-page .report-progress-value {
    transition:
        opacity 180ms ease-out,
        transform 180ms ease-out;
}

body.index-page.report-page .report-progress-value.is-total {
    font-size: calc(var(--report-ring-text) - 2px) !important;
}

body.index-page.report-page .report-progress-ring.is-status-completed .report-progress-value.is-total,
body.index-page.report-page .report-progress-ring.is-status-completed .report-progress-value.is-weekly {
    font-size: clamp(12px, calc(var(--report-ring-text) - 5px), 18px) !important;
}

body.index-page.report-page .report-progress-value.is-weekly {
    font-size: 0.78em;
    opacity: 0;
    transform: translateY(6px) scale(0.96);
}

body.index-page.report-page[data-progress-mode="weekly"] .report-progress-value.is-total {
    opacity: 0;
    transform: translateY(-6px) scale(0.96);
}

body.index-page.report-page[data-progress-mode="weekly"] .report-progress-value.is-weekly {
    opacity: 1;
    transform: translateY(0) scale(1);
}

body.index-page.report-page .report-task-card.is-compact {
    --report-label-col: clamp(62px, 8.4dvh, 82px);
    --report-progress-col: clamp(58px, 8.4dvh, 88px);
    --report-card-pad-y: clamp(5px, 0.65dvh, 9px);
    --report-card-pad-x: clamp(12px, 1.6dvh, 16px);
    --report-copy-gap: clamp(1px, 0.3dvh, 3px);
    --report-label-size: clamp(14px, 1.7dvh, 18px);
    --report-body-size: clamp(15px, 1.85dvh, 19px);
    --report-title-size: clamp(18px, 2.2dvh, 24px);
    --report-progress-label-size: clamp(13px, 1.58dvh, 16px);
    --report-ring-size: clamp(42px, 5.45dvh, 56px);
    --report-ring-text: clamp(18px, 2.25dvh, 23px);
    grid-template-columns: minmax(0, 1fr) var(--report-progress-col) !important;
    gap: clamp(3px, 0.65dvh, 7px) !important;
    padding: var(--report-card-pad-y) var(--report-card-pad-x) !important;
}

body.index-page.report-page .report-task-card.is-routine {
    grid-template-columns: minmax(0, 1fr) !important;
}

body.index-page.report-page .report-task-card.is-compact .report-progress-block > span {
    font-size: var(--report-progress-label-size) !important;
}

body.index-page.report-page .report-task-card.is-compact .report-task-copy {
    gap: clamp(2px, 0.36dvh, 4px) !important;
}

body.index-page.report-page .report-task-card.is-compact .report-progress-ring {
    font-size: var(--report-ring-text) !important;
}

body.index-page.report-page .report-task-card.is-core {
    --report-progress-col: clamp(74px, 9.8dvh, 110px);
    grid-template-columns: minmax(0, 1fr) var(--report-progress-col) !important;
    padding: clamp(9px, 1.15dvh, 16px) clamp(16px, 2.35dvh, 28px) !important;
}

body.index-page.report-page .report-core-panel {
    position: relative;
    z-index: 2;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    gap: clamp(10px, 1.15dvh, 13px);
    min-width: 0;
    min-height: 0 !important;
    overflow: visible !important;
    padding: clamp(24px, 3.2dvh, 36px) clamp(18px, 2.1dvh, 24px) clamp(16px, 2.6dvh, 34px) !important;
    isolation: isolate;
    transform: translateY(-10px);
}

body.index-page.report-page .report-core-frame {
    position: absolute;
    top: calc(clamp(-70px, -6dvh, -48px) + var(--report-core-y-shift));
    left: 50%;
    z-index: 0;
    height: min(calc(100% + clamp(76px, 7.2dvh, 92px)), 900px);
    width: auto;
    aspect-ratio: 5 / 6;
    transform: translateX(-50%);
    pointer-events: none;
    overflow: visible;
}

body.index-page.report-page .report-core-frame-fill {
    display: none;
}

body.index-page.report-page .report-core-frame-outer {
    display: none;
}

body.index-page.report-page .report-core-design-oval {
    pointer-events: none;
}

body.index-page.report-page .report-core-design-bleed {
    stroke: none;
}

body.index-page.report-page .report-core-design-bleed.is-left {
    fill: url("#coreDesignBleedLeft");
}

body.index-page.report-page .report-core-design-bleed.is-right {
    fill: url("#coreDesignBleedRight");
}

body.index-page.report-page .report-core-design-wash {
    fill: url("#coreDesignWash");
    stroke: rgba(43, 105, 240, 0.1);
    stroke-width: 1.4;
}

body.index-page.report-page .report-core-design-texture {
    display: none;
}

body.index-page.report-page .report-core-design-line {
    fill: none;
    stroke: url("#coreDesignLine");
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.index-page.report-page .report-core-design-line.is-one {
    stroke-width: 2;
    opacity: 0.72;
}

body.index-page.report-page .report-core-design-line.is-two {
    stroke-width: 1.5;
    opacity: 0.5;
}

body.index-page.report-page .report-core-design-line.is-three {
    stroke-width: 1.2;
    opacity: 0.36;
}

body.index-page.report-page .report-core-design-sweep {
    fill: none;
    stroke: rgba(43, 105, 240, 0.18);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.4;
}

body.index-page.report-page .report-core-design-sweep.is-left {
    opacity: 0.28;
}

body.index-page.report-page .report-core-design-sweep.is-top {
    opacity: 0.34;
}

body.index-page.report-page .report-core-design-sweep.is-bottom {
    display: none;
}

body.index-page.report-page .report-core-design-float {
    fill: none;
    stroke: rgba(43, 105, 240, 0.14);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.1;
}

body.index-page.report-page .report-core-design-float.is-a {
    opacity: 0.22;
}

body.index-page.report-page .report-core-design-float.is-b {
    opacity: 0.28;
}

body.index-page.report-page .report-core-design-float.is-c {
    opacity: 0.18;
}

body.index-page.report-page .report-core-design-float.is-d {
    display: none;
}

body.index-page.report-page .report-core-design-trails {
    pointer-events: none;
    filter: blur(0.1px);
}

body.index-page.report-page .report-core-trail-ribbon {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    mix-blend-mode: normal;
}

body.index-page.report-page .report-core-trail-ribbon.is-cyan {
    stroke: url("#coreRibbonCyan");
    stroke-width: 48;
    opacity: 0.36;
}

body.index-page.report-page .report-core-trail-ribbon.is-blue {
    stroke: url("#coreRibbonBlue");
    stroke-width: 34;
    opacity: 0.32;
}

body.index-page.report-page .report-core-trail-ribbon.is-aqua {
    stroke: rgba(155, 210, 255, 0.12);
    stroke-width: 58;
    opacity: 0.24;
}

body.index-page.report-page .report-core-trail-line {
    fill: none;
    stroke: url("#coreRibbonLine");
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.index-page.report-page .report-core-trail-line.is-connected-a {
    stroke-width: 4.4;
    opacity: 0.28;
}

body.index-page.report-page .report-core-trail-line.is-connected-b {
    stroke-width: 3;
    opacity: 0.22;
}

body.index-page.report-page .report-core-trail-line.is-broken-a {
    stroke-width: 2.5;
    opacity: 0.19;
    stroke-dasharray: 156 22 92 999;
}

body.index-page.report-page .report-core-trail-line.is-broken-b {
    stroke-width: 2.1;
    opacity: 0.17;
    stroke-dasharray: 96 28 126 999;
}

body.index-page.report-page .report-core-trail-line.is-broken-c {
    stroke-width: 1.8;
    opacity: 0.14;
    stroke-dasharray: 82 34 104 999;
}

body.index-page.report-page .report-core-trail-band {
    display: none;
}

body.index-page.report-page .report-core-white-shell {
    fill: rgba(255, 255, 255, 0.96);
    filter: drop-shadow(0 4px 10px rgba(43, 105, 240, 0.11));
}

body.index-page.report-page .report-core-frame-accent {
    display: block;
    fill: none;
    stroke: rgba(43, 105, 240, 0.72);
    stroke-width: 2.2;
}

body.index-page.report-page .report-core-frame-inner {
    display: none;
}

body.index-page.report-page .report-core-frame-markers {
    display: none;
}

body.index-page.report-page .report-core-edge-markers {
    position: absolute;
    top: calc(clamp(-70px, -6dvh, -48px) + var(--report-core-y-shift));
    left: 50%;
    z-index: 1;
    height: min(calc(100% + clamp(76px, 7.2dvh, 92px)), 900px);
    width: auto;
    aspect-ratio: 5 / 6;
    transform: translateX(-50%);
    pointer-events: none;
}

body.index-page.report-page .report-core-edge-markers span {
    position: absolute;
    display: block;
    width: clamp(20px, 2.65dvh, 28px);
    height: clamp(20px, 2.65dvh, 28px);
    border: 5px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 8px 14px rgba(43, 105, 240, 0.24);
    transform: translate(-50%, -50%);
}

body.index-page.report-page .report-core-edge-markers .is-top-left {
    top: 12.8%;
    left: calc(14.1% + 3px);
}

body.index-page.report-page .report-core-edge-markers .is-top-right {
    top: 12.8%;
    left: calc(85.9% - 2px);
}

body.index-page.report-page .report-core-edge-markers .is-bottom-left {
    top: 86.1%;
    left: calc(9.7% + 22px);
}

body.index-page.report-page .report-core-edge-markers .is-bottom-right {
    top: 88.3%;
    left: calc(89.4% - 32px);
}

body.index-page.report-page .report-core-edge-markers .is-blue {
    background: #2b69f0;
}

body.index-page.report-page .report-core-edge-markers .is-orange {
    background: #ff8628;
}

body.index-page.report-page .report-core-edge-markers .is-teal {
    background: #17b7ad;
}

body.index-page.report-page .report-core-edge-markers .is-purple {
    background: #6258f2;
}

body.index-page.report-page .report-core-marker {
    stroke: #ffffff;
    stroke-width: 5;
}

body.index-page.report-page .report-core-marker-blue {
    fill: #2b69f0;
}

body.index-page.report-page .report-core-marker-teal {
    fill: #17b7ad;
}

body.index-page.report-page .report-core-marker-purple {
    fill: #6258f2;
}

body.index-page.report-page .report-core-panel::before,
body.index-page.report-page .report-core-panel::after {
    content: none !important;
    display: none !important;
}

body.index-page.report-page .report-orbit {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2;
    min-width: 0;
    min-height: 0;
    pointer-events: none;
    overflow: visible;
}

body.index-page.report-page .report-core-head,
body.index-page.report-page .report-core-list,
body.index-page.report-page .report-team-heatmap {
    position: relative;
    z-index: 2;
    transform: translateY(calc(-18px + var(--report-core-y-shift)));
}

body.index-page.report-page .report-orbit span {
    display: none !important;
}

body.index-page.report-page .report-core-head {
    position: relative;
    display: grid;
    justify-items: center;
    gap: clamp(1px, 0.22dvh, 3px);
    min-height: 0;
    margin-bottom: 0 !important;
    text-align: center;
}

body.index-page.report-page .report-target-icon {
    display: grid;
    place-items: center;
    width: var(--report-core-icon) !important;
    height: var(--report-core-icon) !important;
    border-radius: 50%;
    background:
        radial-gradient(circle at 34% 22%, rgba(255, 255, 255, 0.5), transparent 28%),
        linear-gradient(145deg, #6c8cff 0%, #2b69f0 86%) !important;
    box-shadow: 0 18px 30px rgba(43, 105, 240, 0.25);
}

body.index-page.report-page .report-target-icon::before,
body.index-page.report-page .report-target-icon::after {
    display: none !important;
}

body.index-page.report-page .report-target-icon img {
    width: var(--report-core-icon-glyph) !important;
    height: var(--report-core-icon-glyph) !important;
}

body.index-page.report-page .report-core-head h2 {
    display: inline-grid;
    justify-items: center;
    margin: 0;
    color: #06194f;
    font-size: var(--report-core-title) !important;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.05;
}

body.index-page.report-page .report-core-head h2::after {
    content: "";
    display: block;
    width: 100%;
    height: clamp(6px, 0.75dvh, 8px);
    margin-top: clamp(4px, 0.55dvh, 6px);
    background:
        radial-gradient(circle at center, #2b69f0 0 3px, #ffffff 3px 5px, rgba(43, 105, 240, 0.18) 5px 8px, transparent 8px),
        linear-gradient(90deg, rgba(43, 105, 240, 0.36), rgba(43, 105, 240, 0.36)) center / 100% 2px no-repeat;
}

body.index-page.report-page .report-core-head p {
    margin: 0;
    color: #263861;
    font-size: var(--report-core-subtitle) !important;
    font-weight: 700;
    line-height: 1;
}

body.index-page.report-page .report-core-list {
    position: relative;
    align-self: start;
    width: min(100%, clamp(405px, min(58dvh, 540px), 540px));
    height: clamp(370px, min(45dvh, 377px), 377px);
    justify-self: center;
    overflow: visible !important;
}

body.index-page.report-page .report-team-heatmap {
    position: relative;
    align-self: start;
    justify-self: center;
    display: grid;
    grid-template-rows: repeat(3, minmax(0, 1fr)) auto;
    gap: clamp(3px, 0.42dvh, 5px);
    width: min(100%, clamp(340px, min(48dvh, 430px), 430px)) !important;
    height: var(--report-team-heatmap-h) !important;
    min-height: 0;
    padding: clamp(6px, 0.8dvh, 8px) clamp(8px, 1dvh, 10px);
    border: 0;
    border-radius: 2px;
    background: rgba(6, 25, 79, 0.1);
    box-shadow: 0 8px 18px rgba(6, 25, 79, 0.06);
    box-sizing: border-box;
    margin-top: 0 !important;
    overflow: hidden;
    transform: translateY(calc(6px + var(--report-core-y-shift))) !important;
}

body.index-page.report-page .report-team-heatmap-row {
    display: grid;
    grid-template-columns: minmax(58px, 0.34fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(6px, 0.8dvh, 9px);
    min-height: 0;
    padding: 0;
}

body.index-page.report-page .report-team-heatmap-name {
    min-width: 0;
    overflow: hidden;
    color: rgba(6, 25, 79, 0.78);
    font-size: clamp(13px, 1.55dvh, 15px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-team-heatmap-grid {
    display: flex;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    gap: clamp(2px, 0.34dvh, 4px);
    min-width: 0;
    min-height: clamp(13px, 1.8dvh, 17px);
}

body.index-page.report-page .report-team-heatmap-project {
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    border: 1px solid rgba(6, 25, 79, 0.1);
    border-radius: 3px;
    background: #2ea043;
    box-shadow: inset 0 -1px 0 rgba(6, 25, 79, 0.12);
    cursor: pointer;
}

body.index-page.report-page .report-team-heatmap-project:hover,
body.index-page.report-page .report-team-heatmap-project:focus-visible {
    outline: 2px solid rgba(43, 105, 240, 0.42);
    outline-offset: 2px;
}

body.index-page.report-page .report-team-heatmap-project.is-normal,
body.index-page.report-page .report-team-heatmap-legend i.is-normal {
    background: #3f9f5f;
}

body.index-page.report-page .report-team-heatmap-project.is-delayed,
body.index-page.report-page .report-team-heatmap-legend i.is-delayed {
    background: #d35d4f;
}

body.index-page.report-page .report-team-heatmap-project.is-caution,
body.index-page.report-page .report-team-heatmap-legend i.is-caution {
    background: #d1a23a;
}

body.index-page.report-page .report-team-heatmap-project.is-holding,
body.index-page.report-page .report-team-heatmap-legend i.is-holding {
    background: #8f98a3;
}

body.index-page.report-page .report-team-heatmap-project.is-completed,
body.index-page.report-page .report-team-heatmap-legend i.is-completed {
    background: #4d85c5;
}

body.index-page.report-page .report-team-heatmap-legend {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(4px, 0.6dvh, 6px);
    min-height: 0;
    color: rgba(6, 25, 79, 0.62);
    font-size: clamp(11px, 1.25dvh, 12px);
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
}

body.index-page.report-page .report-team-heatmap-legend span {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

body.index-page.report-page .report-team-heatmap-legend i {
    display: inline-block;
    width: clamp(9px, 1.05dvh, 10px);
    height: clamp(9px, 1.05dvh, 10px);
    border-radius: 2px;
}

@media (max-height: 820px) {
    body.index-page.report-page {
        --report-header-h: clamp(84px, 11.8dvh, 98px);
        --report-group-top: clamp(42px, 6.1dvh, 50px);
        --report-group-title-h: clamp(32px, 4.6dvh, 38px);
        --report-icon-size: clamp(30px, 4.25dvh, 34px);
        --report-card-gap: clamp(3px, 0.6dvh, 5px);
        --report-card-pad-y: clamp(5px, 0.72dvh, 7px);
        --report-ring-size: clamp(42px, 5.75dvh, 48px);
        --report-team-heatmap-h: clamp(66px, 9dvh, 76px);
    }

    body.index-page.report-page .report-task-card.is-compact {
        --report-card-pad-y: 3px;
        --report-copy-gap: 0;
        --report-ring-size: 36px;
        --report-ring-text: 12px;
        --report-progress-label-size: 8.5px;
    }

    body.index-page.report-page .report-task-card.is-compact .report-progress-block > span {
        display: none !important;
    }

    body.index-page.report-page .report-task-card.is-compact .report-progress-ring {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        font-size: 12px !important;
    }

    body.index-page.report-page .report-task-card.is-compact .report-task-purpose {
        display: none !important;
    }
}

@media (max-height: 760px) {
    body.index-page.report-page .report-task-purpose {
        display: none !important;
    }
}

@media (max-width: 1440px) {
    body.index-page.report-page .report-dashboard {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr) minmax(0, 1fr) !important;
    }
}

@media (max-width: 1180px) {
    body.index-page.report-page {
        --report-pad-x: 4px;
        --report-gap: 6px;
        --report-label-col: clamp(60px, 8dvh, 74px);
        --report-card-pad-x: clamp(10px, 1.6dvh, 18px);
        --report-progress-col: clamp(58px, 8dvh, 82px);
    }
}

/* Compact command header with project status alert. */
body.index-page.report-page {
    --report-header-h: clamp(50px, 6.4dvh, 62px);
    --report-pad-x: clamp(8px, 1.05vw, 18px);
}

body.index-page.report-page .report-header {
    display: grid;
    grid-template-columns: minmax(280px, 0.85fr) minmax(470px, auto) minmax(250px, 0.85fr);
    align-items: center;
    gap: clamp(8px, 1vw, 16px);
    height: var(--report-header-h) !important;
    min-height: var(--report-header-h) !important;
    padding: 0 var(--report-pad-x) !important;
    overflow: visible;
    border-bottom: 1px solid rgba(43, 105, 240, 0.24);
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 255, 255, 0.28), transparent 28%),
        linear-gradient(90deg, rgba(6, 38, 105, 0.96), rgba(18, 90, 185, 0.94) 48%, rgba(7, 48, 128, 0.96));
    box-shadow: 0 12px 28px rgba(13, 51, 129, 0.16);
}

body.index-page.report-page .report-brand-block {
    display: flex;
    align-items: baseline;
    gap: clamp(8px, 0.9vw, 14px);
    min-width: 0;
    overflow: hidden;
}

body.index-page.report-page .report-brand-block h1 {
    flex: 0 1 auto;
    margin: 0;
    color: #ffffff;
    font-size: clamp(16px, 1.35vw, 23px) !important;
    font-weight: 900;
    line-height: 1;
    text-shadow: 0 1px 8px rgba(2, 18, 56, 0.24);
}

body.index-page.report-page .report-brand-block p {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: rgba(227, 239, 255, 0.92);
    font-size: clamp(12px, 1vw, 16px) !important;
    font-weight: 820;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .report-brand-block h1::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 0.9em;
    margin-left: clamp(8px, 0.9vw, 14px);
    vertical-align: -0.08em;
    background: rgba(217, 230, 255, 0.5);
}

body.index-page.report-page .report-project-alert {
    justify-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: clamp(5px, 0.55vw, 9px);
    min-width: 0;
    max-width: 100%;
    min-height: clamp(34px, 4.5dvh, 42px);
    padding: 4px clamp(10px, 1.1vw, 18px);
    border: 1px solid rgba(186, 213, 255, 0.22);
    border-radius: 0 0 16px 16px;
    background: rgba(2, 24, 72, 0.44);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 10px 24px rgba(3, 24, 75, 0.18);
    color: #eff6ff;
}

body.index-page.report-page .report-project-alert-title {
    padding-right: 3px;
    color: rgba(224, 236, 255, 0.78);
    font-size: clamp(10px, 0.8vw, 12px);
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

body.index-page.report-page .report-stat-pill {
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    min-height: 24px;
    padding: 3px 7px;
    border: 1px solid rgba(185, 211, 255, 0.26);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.09);
    color: rgba(239, 246, 255, 0.96);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
    white-space: nowrap;
}

body.index-page.report-page .report-stat-pill span {
    font-size: clamp(11px, 0.9vw, 14px);
    font-weight: 900;
    line-height: 1;
}

body.index-page.report-page .report-stat-pill strong {
    color: #f7d45c;
    font-size: clamp(15px, 1.15vw, 19px);
    font-weight: 1000;
    line-height: 1;
}

body.index-page.report-page .report-stat-pill em {
    color: rgba(223, 235, 255, 0.82);
    font-size: clamp(10px, 0.78vw, 12px);
    font-style: normal;
    font-weight: 850;
    line-height: 1;
}

body.index-page.report-page .report-stat-pill.is-active strong {
    color: #79f2c8;
}

body.index-page.report-page .report-stat-pill.is-holding strong {
    color: #ffd166;
}

body.index-page.report-page .report-stat-pill.is-completed strong {
    color: #d7e7ff;
}

body.index-page.report-page .report-stat-pill.is-issue strong {
    color: #ff8f7e;
}

body.index-page.report-page .report-header-actions {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(6px, 0.65vw, 10px);
    min-width: 0;
    padding-top: 0;
}

body.index-page.report-page .report-date {
    max-width: clamp(136px, 12vw, 220px);
    padding: 6px 9px;
    border: 1px solid rgba(187, 213, 255, 0.22);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(241, 247, 255, 0.96);
    font-size: clamp(11px, 0.84vw, 13px) !important;
    font-weight: 880;
    line-height: 1;
}

body.index-page.report-page .report-progress-mode-button,
body.index-page.report-page .report-calendar-button,
body.index-page.report-page .report-add-button {
    width: clamp(32px, 3.9dvh, 38px);
    min-width: clamp(32px, 3.9dvh, 38px);
    height: clamp(32px, 3.9dvh, 38px);
    min-height: clamp(32px, 3.9dvh, 38px);
    border: 1px solid rgba(213, 228, 255, 0.52);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 8px 18px rgba(3, 24, 75, 0.18);
}

body.index-page.report-page .report-progress-mode-button:hover,
body.index-page.report-page .report-calendar-button:hover,
body.index-page.report-page .report-add-button:hover,
body.index-page.report-page .report-progress-mode-button:focus-visible,
body.index-page.report-page .report-calendar-button:focus-visible,
body.index-page.report-page .report-add-button:focus-visible {
    border-color: rgba(255, 255, 255, 0.9);
    background: #ffffff;
    transform: translateY(-1px);
}

body.index-page.report-page .report-progress-mode-button img,
body.index-page.report-page .report-calendar-button img,
body.index-page.report-page .report-add-button img,
body.index-page.report-page .report-header-icon {
    width: clamp(17px, 2.15dvh, 21px);
    height: clamp(17px, 2.15dvh, 21px);
}

body.index-page.report-page .report-progress-mode-button[aria-pressed="true"] {
    border-color: rgba(255, 255, 255, 0.8);
    background: #2b69f0;
    box-shadow: inset 0 2px 5px rgba(3, 27, 84, 0.24), 0 8px 18px rgba(3, 24, 75, 0.18);
}

body.index-page.report-page .report-dashboard {
    height: calc(100dvh - var(--report-header-h)) !important;
}

@media (max-width: 1320px) {
    body.index-page.report-page .report-header {
        grid-template-columns: minmax(220px, 0.72fr) minmax(430px, auto) minmax(170px, 0.56fr);
    }

    body.index-page.report-page .report-project-alert-title,
    body.index-page.report-page .report-date {
        display: none;
    }
}

/* Header spacing tune: keep the top bar slim and stop the center art from touching it. */
body.index-page.report-page {
    --report-header-h: clamp(54px, 6.4dvh, 62px);
}

body.index-page.report-page .report-header {
    position: relative;
    z-index: 8;
    grid-template-columns: minmax(420px, 1fr) minmax(430px, auto) minmax(520px, auto);
    min-height: var(--report-header-h) !important;
    border-bottom-color: rgba(190, 220, 255, 0.36);
    background:
        #1767d8 !important;
    box-shadow: 0 8px 18px rgba(23, 103, 216, 0.22);
}

body.index-page.report-page .report-brand-block {
    grid-column: 1;
    position: relative;
    z-index: 2;
}

body.index-page.report-page .report-dashboard {
    z-index: 1;
}

body.index-page.report-page .report-brand-block h1 {
    font-size: clamp(25px, 1.75vw, 30px) !important;
}

body.index-page.report-page .report-brand-block p {
    font-size: clamp(21px, 1.45vw, 24px) !important;
}

body.index-page.report-page .report-project-alert {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    min-height: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    transform: translate(-50%, -50%);
    pointer-events: auto;
}

body.index-page.report-page .report-project-alert-title {
    font-size: clamp(20px, 1.28vw, 22px);
}

body.index-page.report-page .report-stat-pill {
    position: relative;
    min-height: 0;
    padding: 0 clamp(10px, 0.9vw, 16px);
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(235, 243, 255, 0.96);
}

body.index-page.report-page .report-stat-pill + .report-stat-pill::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 0.95em;
    background: rgba(216, 230, 255, 0.45);
    transform: translateY(-50%);
}

body.index-page.report-page .report-stat-pill span {
    font-size: clamp(20px, 1.28vw, 22px);
}

body.index-page.report-page .report-stat-pill strong {
    font-size: clamp(23px, 1.5vw, 27px);
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.22);
}

body.index-page.report-page .report-stat-pill em {
    font-size: clamp(20px, 1.28vw, 22px);
    color: rgba(232, 241, 255, 0.86);
}

body.index-page.report-page .report-stat-pill.is-total strong {
    color: #ffe156;
}

body.index-page.report-page .report-stat-pill.is-active strong {
    color: #38f2a6;
}

body.index-page.report-page .report-stat-pill.is-holding strong {
    color: #ffbd3d;
}

body.index-page.report-page .report-stat-pill.is-completed strong {
    color: #9bd7ff;
}

body.index-page.report-page .report-stat-pill.is-issue strong {
    color: #ff5c6c;
}

body.index-page.report-page .report-date {
    flex: 0 0 auto;
    max-width: none !important;
    overflow: visible !important;
    padding: 5px 8px;
    font-size: clamp(20px, 1.28vw, 22px) !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

body.index-page.report-page .report-header-actions {
    grid-column: 3;
    position: relative;
    z-index: 2;
    min-width: max-content;
}

body.index-page.report-page .report-progress-mode-button,
body.index-page.report-page .report-calendar-button,
body.index-page.report-page .report-add-button {
    width: clamp(28px, 3.4dvh, 34px);
    min-width: clamp(28px, 3.4dvh, 34px);
    height: clamp(28px, 3.4dvh, 34px);
    min-height: clamp(28px, 3.4dvh, 34px);
}

body.index-page.report-page .report-progress-mode-button img,
body.index-page.report-page .report-calendar-button img,
body.index-page.report-page .report-add-button img,
body.index-page.report-page .report-header-icon {
    width: clamp(15px, 1.9dvh, 18px);
    height: clamp(15px, 1.9dvh, 18px);
}

body.index-page.report-page .report-dashboard {
    height: calc(100dvh - var(--report-header-h)) !important;
    padding-top: clamp(10px, 1.45dvh, 16px) !important;
}

body.index-page.report-page .report-core-panel {
    transform: none !important;
}

body.index-page.report-page .report-core-frame,
body.index-page.report-page .report-core-edge-markers {
    top: 50% !important;
    height: min(calc(100% + clamp(22px, 2.6dvh, 34px) + 30px), 820px) !important;
    transform: translate(-50%, -50%) scale(0.96) !important;
    transform-origin: center center !important;
}

body.index-page.report-page .report-core-head,
body.index-page.report-page .report-core-list,
body.index-page.report-page .report-team-heatmap {
    transform: translateY(0) !important;
}

@media (max-height: 820px) {
    body.index-page.report-page {
        --report-header-h: clamp(52px, 6.2dvh, 58px);
    }

    body.index-page.report-page .report-dashboard {
        padding-top: clamp(8px, 1.1dvh, 12px) !important;
    }

    body.index-page.report-page .report-core-frame,
    body.index-page.report-page .report-core-edge-markers {
        top: 50% !important;
        height: min(calc(100% + clamp(12px, 1.8dvh, 22px) + 30px), 820px) !important;
        transform: translate(-50%, -50%) scale(0.92) !important;
    }
}

/* Reference-style command header from the design dashboard. */
body.index-page.report-page {
    --report-header-h: 48px;
    --report-pad-x: 20px;
}

body.index-page.report-page .report-header {
    position: relative;
    z-index: 10030;
    display: grid;
    grid-template-columns: minmax(430px, 1fr) auto minmax(360px, 1fr);
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 22px 0 20px !important;
    overflow: visible;
    border-bottom: 1px solid #135643;
    background: linear-gradient(#37a184 0%, #29724f 20%, #07412e 100%) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

body.index-page.report-page .report-brand-block {
    position: relative;
    z-index: 10040;
    grid-column: 1;
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 100%;
    overflow: visible;
}

body.index-page.report-page .report-header > .report-brand-block {
    overflow: visible !important;
}

body.index-page.report-page .report-brand-title-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

body.index-page.report-page .report-brand-home-link {
    color: inherit;
    text-decoration: none;
}

body.index-page.report-page .report-brand-block h1 {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    overflow: hidden;
    color: #bad8ca;
    font-size: 20px !important;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-overflow: ellipsis;
    text-shadow: 1px 1px 1px rgba(0, 48, 36, 0.5);
    -webkit-text-stroke-width: 0;
    paint-order: normal;
    white-space: nowrap;
}

body.index-page.report-page .report-brand-block h1 span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.index-page.report-page .report-brand-block h1 span:first-child,
body.index-page.report-page .report-brand-divider {
    flex: 0 0 auto;
}

body.index-page.report-page .report-brand-sub {
    flex: 0 0 auto;
    overflow: visible !important;
    text-overflow: clip !important;
}

body.index-page.report-page .report-brand-block h1::after,
body.index-page.report-page .report-brand-block p {
    display: none !important;
}

body.index-page.report-page .report-div-dropdown-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

body.index-page.report-page .report-div-dropdown-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    aspect-ratio: 1 / 1;
    padding: 0 !important;
    border: 1px solid rgba(186, 216, 202, 0.4);
    border-radius: 50% !important;
    background: rgba(186, 216, 202, 0.1);
    color: #bad8ca;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.2s ease;
}

body.index-page.report-page .report-div-dropdown-btn svg {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
}

body.index-page.report-page .report-div-dropdown-btn:hover,
body.index-page.report-page .report-div-dropdown-btn.open {
    background: rgba(186, 216, 202, 0.22);
}

body.index-page.report-page .report-div-dropdown-btn.open {
    transform: rotate(180deg);
}

body.index-page.report-page .report-div-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 10050;
    min-width: 148px;
    margin: 0;
    padding: 6px 0;
    border: 1px solid rgba(186, 216, 202, 0.3);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    list-style: none;
}

body.index-page.report-page .report-div-dropdown-menu li a {
    display: block;
    padding: 8px 16px;
    color: #2d4a3e;
    font-size: 20px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.12s ease;
}

body.index-page.report-page .report-div-dropdown-menu li a:hover,
body.index-page.report-page .report-div-dropdown-menu li a:focus-visible {
    background: rgba(6, 75, 54, 0.07);
    color: #064b36;
    outline: none;
}

body.index-page.report-page .report-project-alert {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 101;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto;
    max-width: min(920px, calc(100vw - 720px));
    height: 40px;
    min-height: 40px;
    margin: 0;
    padding: 0 48px;
    border: 0 !important;
    border-bottom: 1px solid #135643 !important;
    border-radius: 0 0 16px 16px;
    background: linear-gradient(90deg, #093023 20%, #074833 50%, #093023 80%) !important;
    box-shadow: none !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
    color: #eeeae3;
    transform: translateX(-50%);
    pointer-events: auto;
}

body.index-page.report-page .report-project-alert::before,
body.index-page.report-page .report-project-alert::after {
    content: "";
    position: absolute;
    top: 0;
    z-index: 101;
    width: 36px;
    height: 30px;
    pointer-events: none;
}

body.index-page.report-page .report-project-alert::before {
    left: -35px;
    border-top-right-radius: 20px;
    box-shadow: 18px 0 #093023;
}

body.index-page.report-page .report-project-alert::after {
    right: -35px;
    border-top-left-radius: 20px;
    box-shadow: -18px 0 #093023;
}

body.index-page.report-page .report-project-alert-title,
body.index-page.report-page .report-stat-pill,
body.index-page.report-page .report-stat-pill span,
body.index-page.report-page .report-stat-pill em {
    color: rgba(255, 255, 255, 0.77);
    font-size: 18px !important;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    text-shadow:
        -1px -1px rgba(0, 0, 0, 0.25),
        1px -1px rgba(0, 0, 0, 0.25),
        -1px 1px rgba(0, 0, 0, 0.25),
        1px 1px rgba(0, 0, 0, 0.25);
    white-space: nowrap;
}

body.index-page.report-page .report-project-alert-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.77);
}

body.index-page.report-page .report-project-alert-title::after {
    content: "·";
    color: rgba(238, 234, 227, 0.4);
    font-weight: 600;
}

body.index-page.report-page .report-stat-pill {
    position: relative;
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    min-height: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: #ffffffcc;
    font: inherit;
    font-size: 18px !important;
    font-weight: 400;
    cursor: pointer;
    transition:
        color 160ms ease-out,
        filter 160ms ease-out,
        opacity 160ms ease-out,
        transform 160ms ease-out;
}

body.index-page.report-page .report-stat-pill:hover,
body.index-page.report-page .report-stat-pill:focus-visible {
    filter: brightness(1.16);
}

body.index-page.report-page .report-stat-pill:focus-visible {
    outline: 1px solid rgba(206, 241, 235, 0.72);
    outline-offset: 3px;
}

body.index-page.report-page .report-stat-pill.is-selected {
    padding: 2px 6px;
    border: 1px solid #1d6947 !important;
    border-radius: 4px;
    background: linear-gradient(#0000008a 0%, #00000040 20%, #00000017 80%, #0000008a 100%) !important;
    box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.35) !important;
    color: #ffffff;
    font-weight: 600;
}

body.index-page.report-page .report-stat-pill + .report-stat-pill::before {
    display: none;
}

body.index-page.report-page .report-stat-pill strong {
    color: #ffdb3a;
    font-size: 24px !important;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
    text-shadow:
        -1px -1px rgba(0, 0, 0, 0.25),
        1px -1px rgba(0, 0, 0, 0.25),
        -1px 1px rgba(0, 0, 0, 0.25),
        1px 1px rgba(0, 0, 0, 0.25);
}

body.index-page.report-page .report-stat-pill.is-active strong {
    color: #10b981;
}

body.index-page.report-page .report-stat-pill.is-holding strong {
    color: #ff9f0a;
}

body.index-page.report-page .report-stat-pill.is-completed strong {
    color: #b0b0b0;
}

body.index-page.report-page .report-stat-pill.is-issue strong {
    color: #ff5252;
}

body.index-page.report-page .task-row[hidden] {
    display: none !important;
}

body.index-page.report-page .report-header-actions {
    grid-column: 3;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: max-content;
    height: 100%;
    padding: 0;
}

body.index-page.report-page .report-header-date-ref {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

body.index-page.report-page .report-header-date-ref-item {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1px;
}

body.index-page.report-page .report-header-date-ref-label {
    color: rgba(206, 241, 235, 0.55);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

body.index-page.report-page .report-header-date-ref-value {
    color: rgba(206, 241, 235, 0.92);
    font-size: 18px;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

body.index-page.report-page .report-header-date-ref-divider {
    width: 1px;
    height: 28px;
    background: rgba(206, 241, 235, 0.22);
    flex-shrink: 0;
}

body.index-page.report-page .report-date {
    flex: 0 0 auto;
    max-width: none !important;
    height: 28px;
    padding: 2px 8px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.85);
    font-size: 12px !important;
    font-weight: 700;
    line-height: 22px;
    text-overflow: clip !important;
    text-shadow: 1px 1px 1px rgba(0, 48, 36, 0.45);
    white-space: nowrap !important;
}

body.index-page.report-page .report-progress-mode-button,
body.index-page.report-page .report-calendar-button,
body.index-page.report-page .report-add-button,
body.index-page.report-page .report-team-status-button,
body.index-page.report-page .report-header-menu-button {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    padding: 0;
    border: 1.5px solid #1a4d42;
    border-radius: 50%;
    background: linear-gradient(#0d3f34 0%, #051f19 100%);
    box-shadow: 0 0 0 1px #000, 0 2px 2px rgba(0, 0, 0, 0.6);
    color: #cef1eb;
    transition:
        border-color 0.2s ease-in-out,
        background 0.2s ease-in-out,
        box-shadow 0.2s ease-in-out,
        transform 0.2s ease-in-out;
}

body.index-page.report-page .report-progress-mode-button:hover,
body.index-page.report-page .report-calendar-button:hover,
body.index-page.report-page .report-add-button:hover,
body.index-page.report-page .report-team-status-button:hover,
body.index-page.report-page .report-header-menu-button:hover,
body.index-page.report-page .report-progress-mode-button:focus-visible,
body.index-page.report-page .report-calendar-button:focus-visible,
body.index-page.report-page .report-add-button:focus-visible,
body.index-page.report-page .report-team-status-button:focus-visible,
body.index-page.report-page .report-header-menu-button:focus-visible {
    border-color: #36816d;
    background: linear-gradient(#115244 0%, #072b23 100%);
    box-shadow: 0 0 0 1px #000, 0 0 8px rgba(36, 204, 158, 0.4), 0 4px 8px rgba(0, 0, 0, 0.7);
    transform: translateY(-1px);
}

body.index-page.report-page .report-progress-mode-button[aria-pressed="true"],
body.index-page.report-page .report-team-status-button[aria-pressed="true"] {
    border-color: #1a4d42;
    background: linear-gradient(#072b23 0%, #051f19 100%);
    box-shadow: 0 0 0 1px #000, 0 1px 2px rgba(0, 0, 0, 0.6);
    transform: translateY(0);
}

body.index-page.report-page .report-left-team-button {
    flex: 0 0 auto;
}

body.index-page.report-page .report-header-hamburger-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

body.index-page.report-page .report-progress-mode-button img,
body.index-page.report-page .report-calendar-button img,
body.index-page.report-page .report-add-button img,
body.index-page.report-page .report-team-status-button img,
body.index-page.report-page .report-header-menu-button img,
body.index-page.report-page .report-header-icon {
    width: 16px;
    height: 16px;
    filter: none;
}

body.index-page.report-page .report-header-menu-popover[hidden] {
    display: none !important;
}

body.index-page.report-page .report-header-menu-popover {
    position: fixed;
    z-index: 10020;
    display: grid;
    gap: 0;
    width: auto;
    min-width: 176px;
    padding: 6px 0;
    border: 1px solid rgba(54, 129, 109, 0.4);
    border-radius: 10px;
    background: rgba(10, 24, 20, 0.96);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
    color: #cef1eb;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

body.index-page.report-page .report-header-menu-popover .report-header-menu-item {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    justify-items: start;
    justify-content: start;
    justify-self: stretch;
    gap: 8px;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none;
    height: 38px !important;
    min-height: 38px !important;
    aspect-ratio: auto !important;
    padding: 0 16px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    box-shadow: none;
    color: #cef1eb;
    font-size: 13px;
    font-weight: 850;
    line-height: 1;
    text-align: left;
    cursor: pointer;
    transition: background-color 140ms ease-out, color 140ms ease-out;
}

body.index-page.report-page .report-header-menu-popover .report-header-menu-item:hover,
body.index-page.report-page .report-header-menu-popover .report-header-menu-item:focus-visible {
    background: rgba(54, 129, 109, 0.2);
    color: #ffffff;
    box-shadow: none;
    transform: none;
}

body.index-page.report-page .report-header-menu-popover .report-header-menu-item:focus-visible {
    outline: 1px solid rgba(206, 241, 235, 0.38);
    outline-offset: 1px;
}

body.index-page.report-page .report-header-menu-popover .report-header-menu-item img,
body.index-page.report-page .report-header-menu-popover .report-header-menu-item svg {
    justify-self: center;
    width: 16px;
    height: 16px;
    filter: none;
}

body.index-page.report-page .report-header-menu-popover .report-header-menu-item span {
    justify-self: start;
    overflow: hidden;
    min-width: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: static;
    width: auto;
    height: auto;
    clip: auto;
    clip-path: none;
}

body.index-page.report-page .report-dashboard {
    height: calc(100dvh - 48px) !important;
}

@media (max-width: 1320px) {
    body.index-page.report-page .report-header {
        grid-template-columns: minmax(330px, 1fr) auto minmax(220px, auto);
    }

    body.index-page.report-page .report-brand-block {
        width: 100%;
        max-width: none;
    }

    body.index-page.report-page .report-brand-block h1 {
        font-size: 18px !important;
    }

    body.index-page.report-page .report-project-alert {
        max-width: min(720px, calc(100vw - 520px));
        padding: 0 34px;
    }

    body.index-page.report-page .report-project-alert-title,
    body.index-page.report-page .report-stat-pill span,
    body.index-page.report-page .report-stat-pill em {
        font-size: 15px !important;
    }

    body.index-page.report-page .report-stat-pill strong {
        font-size: 20px !important;
    }

    body.index-page.report-page .report-date {
        display: none;
    }
}

body.index-page.report-page .team-overlay[hidden] {
    display: none !important;
}

body.index-page.report-page .team-overlay {
    position: fixed;
    inset: 48px 0 0;
    z-index: 110;
    display: flex;
    flex-direction: column;
    background: #f4f7f5;
    opacity: 1;
    animation: teamSlideIn 0.22s ease-out;
}

body.index-page.report-page .context-menu {
    z-index: 220;
}

@keyframes teamSlideIn {
    from {
        transform: translateY(10px);
    }
    to {
        transform: translateY(0);
    }
}

body.index-page.report-page .team-panel-header {
    display: flex;
    flex: 0 0 48px;
    align-items: center;
    gap: 16px;
    height: 48px;
    padding: 12px 40px 0;
    border-bottom: 0;
    background: transparent;
}

body.index-page.report-page .team-panel-title {
    display: flex;
    flex: 1;
    align-items: center;
    gap: 10px;
    color: #064b36;
    font-size: 22px;
    font-weight: 800;
}

body.index-page.report-page .team-panel-title img,
body.index-page.report-page .team-panel-title svg {
    width: 20px;
    height: 20px;
}

body.index-page.report-page .team-total-badge,
body.index-page.report-page .tree-badge {
    color: #fff;
    white-space: nowrap;
    background: #064b36;
    border-radius: 20px;
    padding: 3px 10px;
    font-size: 13px;
    font-weight: 700;
}

body.index-page.report-page .team-panel-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

body.index-page.report-page .team-close-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #b8c0bb;
    border-radius: 8px;
    background: #eef2ef;
    color: #17231d;
    cursor: pointer;
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
    transition:
        background 0.15s ease-out,
        border-color 0.15s ease-out,
        color 0.15s ease-out;
}

body.index-page.report-page .team-close-btn:hover {
    border-color: #6f7a74;
    background: #dde5df;
    color: #06150f;
}

body.index-page.report-page .team-close-btn img {
    width: 20px;
    height: 20px;
}

body.index-page.report-page .team-view-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 34px;
    padding: 0 16px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #174c3a;
    color: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transition:
        background 0.2s ease-out,
        border-color 0.2s ease-out,
        box-shadow 0.2s ease-out;
}

body.index-page.report-page .team-view-toggle:hover,
body.index-page.report-page .team-view-toggle[aria-pressed="true"] {
    background: #286953;
    border-color: #53af90;
    box-shadow: 0 4px 12px rgba(6, 75, 54, 0.15);
}

body.index-page.report-page .team-view-toggle img,
body.index-page.report-page .team-view-toggle svg {
    width: 14px;
    height: 14px;
}

body.index-page.report-page .team-tree-scroll {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    overflow: auto;
    padding: 10px 0 0;
    background-image: radial-gradient(#d0dfd8 1px, transparent 1px);
    background-size: 32px 32px;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

body.index-page.report-page .team-tree-scroll::-webkit-scrollbar {
    display: none;
}

body.index-page.report-page .tree-leaders-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    width: 100%;
    margin-top: -25px;
}

body.index-page.report-page .tree-leader-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 24px;
    min-width: 320px;
    padding: 16px 32px;
    border: 1.5px solid #c8dfd5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(6, 75, 54, 0.12);
    transition:
        box-shadow 0.15s ease-out,
        transform 0.15s ease-out;
}

body.index-page.report-page .tree-leader-card:hover {
    z-index: 100;
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(6, 75, 54, 0.16);
}

body.index-page.report-page .leader-avatar,
body.index-page.report-page .member-avatar {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 50%;
    background: linear-gradient(135deg, #064b36, #0a7a57);
    color: #fff;
    font-weight: 900;
    box-shadow: 0 4px 12px rgba(6, 75, 54, 0.25);
}

body.index-page.report-page .leader-avatar img,
body.index-page.report-page .member-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 38%;
}

body.index-page.report-page .leader-avatar {
    width: 68px;
    height: 68px;
    font-size: 24px;
}

body.index-page.report-page .leader-info,
body.index-page.report-page .member-info-wrap {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 6px;
}

body.index-page.report-page .leader-name-row,
body.index-page.report-page .member-name-row {
    display: flex;
    align-items: baseline;
    gap: 12px;
    min-width: 0;
}

body.index-page.report-page .leader-name {
    color: #111;
    font-size: 22px;
    font-weight: 800;
}

body.index-page.report-page .leader-sub {
    color: #2f5e44;
    font-size: 16px;
    font-weight: 500;
}

body.index-page.report-page .member-contact {
    color: #577e71;
    font-size: 13px;
    font-weight: 600;
}

body.index-page.report-page .tree-root-vline {
    flex: 0 0 30px;
    width: 2px;
    height: 30px;
    min-height: 30px;
    background: rgba(6, 75, 54, 0.5);
}

body.index-page.report-page .tree-cells-row {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 0;
    width: min(1180px, calc(100vw - 80px));
}

body.index-page.report-page .tree-cell-col {
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    min-width: 280px;
    max-width: 360px;
    padding: 0 8px 36px;
}

body.index-page.report-page .tree-cell-col::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 2px;
    background: rgba(6, 75, 54, 0.5);
}

body.index-page.report-page .tree-cell-col:first-child::after {
    left: 50%;
}

body.index-page.report-page .tree-cell-col:last-child::after {
    right: 50%;
}

body.index-page.report-page .tree-cell-col::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 16px;
    background: rgba(6, 75, 54, 0.5);
    transform: translateX(-50%);
}

body.index-page.report-page .tree-cell-hline-wrap {
    height: 16px;
}

body.index-page.report-page .tree-cell-card {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px 24px;
    border: 1px solid #d7e8e0;
    border-radius: 12px;
    background: #f4f8f6;
    color: #555;
    font-size: 20px;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

body.index-page.report-page .tree-cell-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .tree-members-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    padding-top: 14px;
}

body.index-page.report-page .tree-member-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 72px;
    padding: 12px 14px;
    border: 1px solid #dceae4;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 6px 16px rgba(6, 75, 54, 0.08);
}

body.index-page.report-page .tree-member-card.highlighted-member {
    border-color: #53af90;
    box-shadow: 0 8px 22px rgba(6, 75, 54, 0.16);
}

body.index-page.report-page .member-avatar {
    width: 48px;
    height: 48px;
    font-size: 17px;
}

body.index-page.report-page .member-name {
    min-width: 0;
    overflow: hidden;
    color: #111;
    font-size: 17px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .member-sub {
    color: #2f5e44;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

body.index-page.report-page .member-tooltip {
    display: none;
}

body.index-page.report-page .member-execution-open {
    flex: 0 0 auto;
    min-width: 68px;
    height: 30px;
    padding: 0 10px;
    border: 1px solid #b9d5c8;
    border-radius: 6px;
    background: #edf7f2;
    color: #174c3a;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
}

body.index-page.report-page .member-execution-open:hover,
body.index-page.report-page .member-execution-open:focus-visible {
    border-color: #3d8068;
    background: #dcefe6;
    outline: none;
}

body.index-page.report-page .member-execution-panel[hidden] {
    display: none !important;
}

body.index-page.report-page .member-execution-panel {
    position: absolute;
    top: 58px;
    right: 18px;
    bottom: 18px;
    z-index: 4;
    display: flex;
    width: min(520px, calc(100vw - 36px));
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #c8d9d1;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(18, 48, 37, 0.2);
}

body.index-page.report-page .member-execution-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid #dce6e1;
    background: #f4f8f6;
}

body.index-page.report-page .member-execution-header span {
    display: block;
    margin-bottom: 3px;
    color: #5a6f65;
    font-size: 12px;
    font-weight: 600;
}

body.index-page.report-page .member-execution-header h2 {
    margin: 0;
    color: #123c2e;
    font-size: 20px;
    font-weight: 700;
}

body.index-page.report-page .member-execution-header button {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border: 1px solid #bdcac4;
    border-radius: 6px;
    background: #fff;
    color: #20372e;
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
}

body.index-page.report-page .member-execution-status {
    margin: 0;
    padding: 18px 20px;
    color: #5f6e67;
    font-size: 14px;
}

body.index-page.report-page .member-execution-content {
    display: grid;
    gap: 18px;
    overflow: auto;
    padding: 18px 20px 24px;
}

body.index-page.report-page .member-execution-group h3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 8px;
    color: #243d33;
    font-size: 14px;
    font-weight: 700;
}

body.index-page.report-page .member-execution-count {
    color: #6b7c74;
    font-size: 12px;
    font-weight: 500;
}

body.index-page.report-page .member-execution-list {
    display: grid;
    gap: 7px;
}

body.index-page.report-page .member-execution-item {
    display: grid;
    gap: 5px;
    padding: 11px 12px;
    border-left: 3px solid #4c967b;
    background: #f6f9f7;
}

body.index-page.report-page .member-execution-item strong {
    color: #172b23;
    font-size: 14px;
    font-weight: 650;
}

body.index-page.report-page .member-execution-item span,
body.index-page.report-page .member-execution-empty {
    margin: 0;
    color: #66756e;
    font-size: 12px;
}

body.index-page.report-page .team-tree-scroll.show-all-tooltips .tree-member-card,
body.index-page.report-page .team-tree-scroll.show-all-tooltips .tree-leader-card {
    display: grid;
    grid-template:
        "avatar tooltip" auto
        "info tooltip" 1fr / 96px minmax(0, 1fr);
    align-items: start;
    min-height: 176px;
    max-height: 212px;
    padding: 16px;
    gap: 10px 14px;
    overflow: hidden;
}

body.index-page.report-page .team-tree-scroll.show-all-tooltips .leader-avatar,
body.index-page.report-page .team-tree-scroll.show-all-tooltips .member-avatar {
    grid-area: avatar;
    align-self: end;
    justify-self: start;
}

body.index-page.report-page .team-tree-scroll.show-all-tooltips .leader-info,
body.index-page.report-page .team-tree-scroll.show-all-tooltips .member-info-wrap {
    grid-area: info;
    align-items: flex-start;
    align-self: start;
    width: 100%;
    min-width: 0;
}

body.index-page.report-page .team-tree-scroll.show-all-tooltips .tree-cells-row {
    width: min(1320px, calc(100vw - 48px));
}

body.index-page.report-page .team-tree-scroll.show-all-tooltips .tree-cell-col {
    min-width: 370px;
    max-width: 448px;
    padding-right: 8px;
    padding-left: 8px;
}

body.index-page.report-page .team-tree-scroll.show-all-tooltips .tree-leader-card {
    min-width: min(620px, calc(100vw - 120px));
    grid-template-columns: 150px minmax(260px, 1fr);
}

body.index-page.report-page .team-tree-scroll.show-all-tooltips .leader-name-row,
body.index-page.report-page .team-tree-scroll.show-all-tooltips .member-name-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px 8px;
}

body.index-page.report-page .team-tree-scroll.show-all-tooltips .member-contact {
    overflow-wrap: anywhere;
    white-space: nowrap;
}

body.index-page.report-page .team-tree-scroll.show-all-tooltips .member-tooltip.is-static {
    position: relative;
    z-index: 1;
    display: block;
    grid-area: tooltip;
    width: 100%;
    min-width: 0;
    min-height: 140px;
    max-height: 178px;
    padding: 12px;
    border: 1px solid #e1ece7;
    border-radius: 8px;
    background: #f8faf9;
    color: #333;
    box-shadow: none;
    overflow: hidden;
}

body.index-page.report-page .tooltip-header {
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid #e1ece7;
    color: #064b36;
    font-size: 13px;
    font-weight: 800;
}

body.index-page.report-page .tooltip-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 122px;
    overflow: auto;
    padding: 2px 2px 2px 0;
    scrollbar-width: thin;
}

body.index-page.report-page .tooltip-item {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

body.index-page.report-page .tooltip-task-button {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    min-width: 0;
    min-height: 24px;
    padding: 4px 6px;
    border: 1px solid transparent;
    border-radius: 7px;
    background: transparent;
    color: inherit;
    cursor: pointer;
    text-align: left;
}

body.index-page.report-page .tooltip-task-button:hover,
body.index-page.report-page .tooltip-task-button:focus-visible {
    border-color: #10b981;
    background: rgba(16, 185, 129, 0.06);
}

body.index-page.report-page .tooltip-task-button.is-active {
    border-color: #10b981;
    background: rgba(16, 185, 129, 0.1);
}

body.index-page.report-page .tooltip-task-main {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    width: 100%;
}

body.index-page.report-page .tooltip-area {
    flex: 0 1 auto;
    min-width: 34px;
    overflow: hidden;
    color: #6a7671;
    font-size: 12px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .tooltip-task-detail {
    display: none;
    min-width: 0;
    width: 100%;
    overflow: hidden;
    padding-left: 16px;
    color: #49655c;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .tooltip-task-button.is-active .tooltip-task-detail {
    display: block;
}

body.index-page.report-page .tooltip-dot {
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #10b981;
}

body.index-page.report-page .tooltip-name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    color: #444;
    font-size: 13px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.index-page.report-page .tooltip-status-badge {
    margin-left: auto;
    padding: 1px 5px;
    border: 1px solid rgba(16, 185, 129, 0.25);
    border-radius: 4px;
    background: rgba(16, 185, 129, 0.08);
    color: #0a7a57;
    font-size: 11px;
    font-weight: 800;
}

@media (max-width: 980px) {
    body.index-page.report-page .team-panel-header {
        padding: 10px 18px 0;
    }

    body.index-page.report-page .tree-cells-row {
        flex-direction: column;
        align-items: center;
        gap: 20px;
        width: min(420px, calc(100vw - 32px));
    }

    body.index-page.report-page .tree-cell-col {
        width: 100%;
        max-width: none;
    }

    body.index-page.report-page .tree-cell-col::before,
    body.index-page.report-page .tree-cell-col::after,
    body.index-page.report-page .tree-root-vline {
        display: none;
    }
}

/* Keep the core-project medallion composed as one proportional scene. */
body.index-page.report-page .report-core-panel {
    container-type: size;
    display: block !important;
    padding: 0 !important;
    position: relative !important;
    transform: none !important;
}

body.index-page.report-page .report-core-scene {
    position: absolute;
    top: 50% !important;
    left: 50% !important;
    z-index: 0;
    width: 100%;
    max-height: 100%;
    aspect-ratio: 5 / 6;
    transform: translate(-50%, -50%) !important;
    transform-origin: center center !important;
}

body.index-page.report-page .report-core-frame,
body.index-page.report-page .report-core-edge-markers {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
    transform-origin: center center !important;
}

body.index-page.report-page .report-core-head,
body.index-page.report-page .report-core-list,
body.index-page.report-page .report-team-heatmap {
    position: absolute !important;
    left: 50% !important;
    z-index: 3 !important;
    transform: translateX(-50%) !important;
}

body.index-page.report-page .report-core-head {
    top: 2.1% !important;
    width: min(78%, 510px) !important;
}

body.index-page.report-page .report-core-list {
    top: 25.9% !important;
    width: min(82%, 528px) !important;
    height: 45.4% !important;
}

body.index-page.report-page .report-team-heatmap {
    top: calc(78.8% - 40px) !important;
    width: calc(min(68%, 440px) - 110px) !important;
    height: var(--report-team-heatmap-h) !important;
    margin-top: 0 !important;
}

/* Team dashboard typography baseline. */
body.index-page.report-page {
    --report-title-size: 24px;
    --report-body-size: 20px;
    --report-label-size: 18px;
    --report-progress-label-size: 18px;
    --report-ring-text: 22px;
    --report-group-title-size: 24px;
    --report-core-title: 26px;
    --report-core-subtitle: 22px;
    font-weight: 400;
}

body.index-page.report-page .report-brand-block h1,
body.index-page.report-page .report-header h1,
body.index-page.report-page .report-core-head h2 {
    font-size: 26px !important;
    font-weight: 700;
}

body.index-page.report-page .report-brand-sub {
    font-size: 20px !important;
    font-weight: 600;
}

body.index-page.report-page .report-brand-block h1,
body.index-page.report-page .report-header h1 {
    font-size: 20px !important;
}

body.index-page.report-page .report-header p,
body.index-page.report-page .report-group-title,
body.index-page.report-page .report-team-name,
body.index-page.report-page .team-panel-title,
body.index-page.report-page .leader-name {
    font-size: 24px !important;
    font-weight: 600;
}

body.index-page.report-page .report-core-head p,
body.index-page.report-page .report-task-title,
body.index-page.report-page .report-stat-pill strong,
body.index-page.report-page .tree-cell-card,
body.index-page.report-page .leader-avatar {
    font-size: 22px !important;
    font-weight: 600;
}

body.index-page.report-page .report-task-period,
body.index-page.report-page .report-task-purpose,
body.index-page.report-page .report-task-focus span,
body.index-page.report-page .report-task-deadline span,
body.index-page.report-page .report-progress-ring,
body.index-page.report-page .member-name {
    font-size: 20px !important;
    font-weight: 500;
}

body.index-page.report-page .report-task-purpose > b,
body.index-page.report-page .report-task-title-row .report-task-period,
body.index-page.report-page .report-task-focus b,
body.index-page.report-page .report-task-deadline b,
body.index-page.report-page .report-task-focus small,
body.index-page.report-page .report-task-focus em,
body.index-page.report-page .report-progress-block > span,
body.index-page.report-page .report-project-alert-title,
body.index-page.report-page .report-stat-pill,
body.index-page.report-page .report-stat-pill span,
body.index-page.report-page .report-stat-pill em,
body.index-page.report-page .report-date,
body.index-page.report-page .team-total-badge,
body.index-page.report-page .tree-badge,
body.index-page.report-page .team-view-toggle,
body.index-page.report-page .leader-sub,
body.index-page.report-page .member-sub,
body.index-page.report-page .member-contact,
body.index-page.report-page .tooltip-header,
body.index-page.report-page .tooltip-area,
body.index-page.report-page .tooltip-task-detail,
body.index-page.report-page .tooltip-name,
body.index-page.report-page .tooltip-status-badge {
    font-size: 18px !important;
    font-weight: 500;
}

body.index-page.report-page .report-header-actions .report-date {
    height: 28px;
    padding: 2px 8px;
    font-size: 12px !important;
    font-weight: 700;
    line-height: 22px;
}

/* Hover and popover typography baseline. */
body.index-page.report-page .report-focus-tooltip-floating,
body.index-page.report-page .report-general-tooltip-floating,
body.index-page.report-page .report-calendar-popover,
body.index-page.report-page .context-menu,
body.index-page.report-page .member-tooltip {
    font-size: 18px !important;
    font-weight: 400;
}

body.index-page.report-page .report-focus-tooltip-head strong,
body.index-page.report-page .report-general-tooltip-title,
body.index-page.report-page .tooltip-header,
body.index-page.report-page .report-calendar-head strong {
    font-weight: 600;
}

body.index-page.report-page .report-focus-tooltip-item-title,
body.index-page.report-page .report-focus-tooltip-meta dd,
body.index-page.report-page .report-general-tooltip-body span,
body.index-page.report-page .tooltip-name,
body.index-page.report-page .report-calendar-quarter strong,
body.index-page.report-page .report-calendar-week-label,
body.index-page.report-page .context-menu button {
    font-weight: 500;
}

body.index-page.report-page .report-focus-tooltip-head span,
body.index-page.report-page .report-focus-tooltip-head small,
body.index-page.report-page .report-focus-tooltip-head em,
body.index-page.report-page .report-focus-tooltip-list em,
body.index-page.report-page .report-focus-tooltip-item-target,
body.index-page.report-page .report-focus-tooltip-item-parent,
body.index-page.report-page .report-focus-tooltip-meta dt,
body.index-page.report-page .tooltip-area,
body.index-page.report-page .tooltip-task-detail,
body.index-page.report-page .tooltip-status-badge,
body.index-page.report-page .report-calendar-head button,
body.index-page.report-page .report-calendar-actions button,
body.index-page.report-page .report-calendar-quarter span,
body.index-page.report-page .report-calendar-weekdays::before,
body.index-page.report-page .report-calendar-weekdays span,
body.index-page.report-page .report-calendar-day {
    font-weight: 500;
}

@media (max-width: 1420px) {
    body.index-page.report-page .report-header {
        grid-template-columns: minmax(280px, 1fr) auto minmax(260px, 1fr);
        gap: 8px;
        padding-right: 14px !important;
        padding-left: 14px !important;
    }

    body.index-page.report-page .report-brand-block {
        gap: 8px;
    }

    body.index-page.report-page .report-brand-block h1 {
        max-width: 250px;
        font-size: 18px !important;
    }

    body.index-page.report-page .report-project-alert {
        max-width: min(560px, calc(100vw - 720px));
        padding: 0 30px;
        gap: 5px;
        overflow: hidden;
    }

    body.index-page.report-page .report-project-alert-title {
        display: none;
    }

    body.index-page.report-page .report-stat-pill,
    body.index-page.report-page .report-stat-pill span,
    body.index-page.report-page .report-stat-pill em {
        font-size: 15px !important;
    }

    body.index-page.report-page .report-stat-pill strong {
        font-size: 18px !important;
    }

    body.index-page.report-page .report-header-date-ref-label {
        font-size: 12px;
    }

    body.index-page.report-page .report-header-date-ref-value {
        font-size: 15px;
    }
}

@media (max-width: 1300px) {
    body.index-page.report-page .report-brand-block h1 {
        max-width: 224px;
    }

    body.index-page.report-page .report-project-alert {
        max-width: min(510px, calc(100vw - 650px));
        padding: 0 24px;
    }

    body.index-page.report-page .report-header-date-ref-item:nth-of-type(2),
    body.index-page.report-page .report-header-date-ref-divider {
        display: none;
    }
}
