/* ========================================================================== */
/* ATA | Reports                                                              */
/* A quieter, editorial surface for analysis without changing report logic.   */
/* ========================================================================== */

.ai-report-page {
    --report-ink: #123e49;
    --report-copy: #547278;
    --report-muted: #879b9e;
    --report-teal: #078f81;
    --report-teal-dark: #08645e;
    --report-mint: #54cc87;
    --report-blue: #1a93bb;
    --report-canvas: #f3f9f7;
    --report-soft: #eff8f5;
    --report-line: #d9eae6;
    --report-shadow: 0 16px 42px rgba(15, 67, 67, .08);
    background:
        radial-gradient(circle at 8% 7%, rgba(62, 199, 142, .055), transparent 27%),
        radial-gradient(circle at 92% 13%, rgba(26, 147, 187, .045), transparent 26%),
        var(--report-canvas);
    color: var(--report-copy);
    font-family: "DM Sans", "Quicksand", sans-serif;
    margin-left: -15px;
    margin-right: -15px;
    min-height: 100vh;
    overflow-x: hidden;
    padding-bottom: 100px;
}

.ai-report-page #set-footer.ai-app-footer {
    left: 0;
    right: 0;
    width: auto;
}

.ai-report-shell {
    margin: 0 auto;
    max-width: 1540px;
    padding: 26px 34px 70px;
}

.ai-report-hero {
    align-items: center;
    background: linear-gradient(118deg, #093f43 0%, #075854 58%, #08776d 100%);
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(7, 60, 63, .15);
    color: #fff;
    display: flex;
    justify-content: space-between;
    min-height: 168px;
    overflow: hidden;
    padding: 32px 38px;
    position: relative;
}

.ai-report-hero::after {
    background-image:
        linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
    background-size: 26px 26px;
    content: "";
    height: 250px;
    opacity: .48;
    position: absolute;
    right: -34px;
    top: -60px;
    transform: rotate(-9deg);
    width: 470px;
}

.ai-report-hero__copy,
.ai-report-hero__period { position: relative; z-index: 1; }

.ai-report-eyebrow {
    align-items: center;
    color: var(--report-teal);
    display: flex;
    font-size: 10px;
    font-weight: 700;
    gap: 8px;
    letter-spacing: .15em;
}

.ai-report-hero .ai-report-eyebrow { color: #86e0c3; }
.ai-report-hero h1 { color: #fff; font-family: "Manrope", "Quicksand", sans-serif; font-size: 34px; font-weight: 500; letter-spacing: -.035em; margin: 7px 0 8px; }
.ai-report-hero p { color: rgba(255,255,255,.72); font-size: 13px; margin: 0; }

.ai-report-hero__period {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    min-width: 250px;
    padding: 17px 20px;
}

.ai-report-hero__period > span,
.ai-report-hero__period > small { display: block; }
.ai-report-hero__period > span { color: rgba(255,255,255,.58); font-size: 8.5px; font-weight: 700; letter-spacing: .13em; }
.ai-report-hero__period > strong { display: flex; font-size: 25px; font-weight: 500; gap: 9px; margin: 4px 0 3px; }
.ai-report-hero__period > strong em { background: #7edfc2; border-radius: 999px; color: #07554e; font-size: 12px; font-style: normal; font-weight: 700; padding: 6px 10px 4px; }
.ai-report-hero__period > small { color: rgba(255,255,255,.68); font-size: 9px; }

.ai-report-controls {
    align-items: center;
    background: #fff;
    border: 1px solid var(--report-line);
    border-radius: 17px;
    box-shadow: var(--report-shadow);
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(220px, .8fr) minmax(440px, 1.25fr) minmax(240px, .75fr);
    margin: -17px 22px 22px;
    min-height: 84px;
    padding: 17px 20px;
    position: relative;
    z-index: 2;
}

.ai-report-controls__intro,
.ai-report-view-control { align-items: center; display: flex; gap: 11px; min-width: 0; }
.ai-report-controls__intro strong,
.ai-report-controls__intro small { display: block; }
.ai-report-controls__intro strong { color: var(--report-ink); font-size: 12px; font-weight: 600; }
.ai-report-controls__intro small { color: var(--report-muted); font-size: 9px; line-height: 1.35; margin-top: 3px; }

.ai-report-control-icon,
.ai-report-card__icon,
.ai-report-kpi__icon,
.ai-report-day__calendar {
    align-items: center;
    background: #e8f7f3;
    border-radius: 11px;
    color: var(--report-teal);
    display: inline-flex;
    flex: 0 0 42px;
    font-size: 17px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.ai-report-week-picker { align-items: center; display: flex; gap: 8px; justify-content: center; }
.ai-report-icon-button,
.ai-report-current-week { border: 1px solid #d6e8e4; transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.ai-report-icon-button { align-items: center; background: #f6fbfa; border-radius: 10px; color: var(--report-teal); display: inline-flex; flex: 0 0 38px; height: 38px; justify-content: center; }
.ai-report-icon-button:hover { background: #e8f7f3; border-color: #bfe2da; transform: translateY(-1px); }
.ai-report-current-week { background: #fff; border-radius: 999px; color: #426d72; font-size: 9px; font-weight: 600; min-height: 36px; padding: 0 13px; white-space: nowrap; }
.ai-report-current-week:hover { background: var(--report-teal); border-color: var(--report-teal); color: #fff; }

.ai-report-date-field { margin: 0; min-width: 196px; }
.ai-report-date-field > span:first-child,
.ai-report-view-control label > span { color: #7a9295; display: block; font-size: 8px; font-weight: 700; letter-spacing: .09em; margin: 0 0 4px 3px; }
.ai-report-datepicker { align-items: center; background: #f8fbfa; border: 1px solid #d9e9e6; border-radius: 10px; display: flex; min-height: 40px; padding: 0 9px; }
.ai-report-datepicker > i { color: #18a18d; font-size: 13px; }
.ai-report-datepicker md-datepicker { background: transparent; margin: 0; padding: 0; }
.ai-report-datepicker .md-datepicker-button { display: none; }
.ai-report-datepicker .md-datepicker-input-container { border: 0; margin: 0 0 0 7px; width: 130px; }
.ai-report-datepicker .md-datepicker-input { color: #315b63; font-size: 10px; height: 36px; max-width: 122px; }
.ai-report-datepicker .md-datepicker-triangle-button { top: 2px; }

.ai-report-view-control { border-left: 1px solid #e3eeec; padding-left: 19px; }
.ai-report-view-control label { margin: 0; min-width: 0; width: 100%; }
.ai-report-view-control md-select { margin: 0; }
.ai-report-view-control md-select .md-select-value { border: 0 !important; color: #315b63; font-size: 10px; min-height: 28px; padding: 2px 0; }
.ai-report-select-menu { z-index: 1100; }

.ai-report-loading {
    align-items: center;
    background: #fff;
    border: 1px solid var(--report-line);
    border-radius: 15px;
    color: var(--report-copy);
    display: flex;
    gap: 11px;
    justify-content: center;
    margin: 18px 0;
    min-height: 82px;
}
.ai-report-loading span { color: var(--report-teal); font-size: 20px; }
.ai-report-loading strong { font-size: 11px; font-weight: 600; }

.ai-report-kpis { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 18px; }
.ai-report-kpi {
    align-items: center;
    background: #fff;
    border: 1px solid var(--report-line);
    border-radius: 16px;
    box-shadow: 0 10px 26px rgba(15, 67, 67, .055);
    display: flex;
    gap: 13px;
    min-height: 112px;
    overflow: hidden;
    padding: 17px 18px;
    position: relative;
}
.ai-report-kpi::before { background: #b6ded6; bottom: 0; content: ""; left: 0; position: absolute; top: 0; width: 3px; }
.ai-report-kpi--primary::before { background: linear-gradient(#52ca75, #078f81); }
.ai-report-kpi--warning::before { background: #df8a63; }
.ai-report-kpi > div { min-width: 0; }
.ai-report-kpi > div > span { color: #789093; display: block; font-size: 8px; font-weight: 700; letter-spacing: .09em; }
.ai-report-kpi > div > strong { color: var(--report-ink); display: block; font-size: 23px; font-weight: 500; line-height: 1.1; margin: 5px 0 3px; }
.ai-report-kpi > div > strong small { color: var(--report-teal); font-size: 11px; font-weight: 600; }
.ai-report-kpi p { color: #91a2a4; font-size: 8.5px; margin: 0; }
.ai-report-kpi--warning .ai-report-kpi__icon { background: #fff1eb; color: #d36f45; }
.ai-report-kpi__progress { background: #e8f1ef; bottom: 0; height: 4px; left: 0; position: absolute; right: 0; }
.ai-report-kpi__progress i { background: linear-gradient(90deg, var(--report-mint), var(--report-teal)); display: block; height: 100%; transition: width .35s ease; }

.ai-report-chart-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 20px; }
.ai-report-card,
.ai-report-detail { background: #fff; border: 1px solid var(--report-line); border-radius: 19px; box-shadow: var(--report-shadow); }
.ai-report-chart-card { min-width: 0; overflow: hidden; }
.ai-report-card__header { align-items: flex-start; border-bottom: 1px solid #e3efec; display: flex; gap: 13px; min-height: 100px; padding: 21px 23px 18px; }
.ai-report-card__header > div { min-width: 0; }
.ai-report-card__header > div > span { color: var(--report-teal); display: block; font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.ai-report-card__header h2 { color: var(--report-ink); font-size: 17px; font-weight: 500; margin: 4px 0 4px; }
.ai-report-card__header p { color: var(--report-muted); font-size: 9px; line-height: 1.4; margin: 0; }
.ai-report-chart { min-height: 438px; padding: 8px 12px 7px; }
.ai-report-chart nvd3,
.ai-report-chart svg { display: block; width: 100% !important; }
.ai-report-chart .nv-legendWrap text { fill: #59767a !important; font-family: "DM Sans", "Quicksand", sans-serif !important; font-size: 9px !important; }
.ai-report-chart .nv-axis text { fill: #71888b; font-family: "DM Sans", "Quicksand", sans-serif; font-size: 9px; }
.ai-report-chart .nv-axis path,
.ai-report-chart .nv-axis line { stroke: #dce9e6; }
.ai-report-chart .nv-pieLabels text { fill: #fff !important; font-size: 9px !important; }
.ai-report-chart .nv-legend .nv-series { cursor: pointer; }

.ai-report-detail { overflow: hidden; padding: 0 26px 28px; }
.ai-report-section-heading {
    align-items: center;
    background: linear-gradient(90deg, #f2faf7 0%, #fbfdfc 100%);
    border-bottom: 1px solid #dcebe7;
    display: flex;
    justify-content: space-between;
    margin: 0 -26px 27px;
    padding: 27px 30px 24px;
}
.ai-report-section-heading h2 { color: var(--report-ink); font-size: 22px; font-weight: 500; letter-spacing: -.02em; margin: 5px 0 4px; }
.ai-report-section-heading p { color: var(--report-muted); font-size: 10px; margin: 0; }
.ai-report-section-heading__legend { align-items: center; display: flex; gap: 15px; }
.ai-report-section-heading__legend span { color: #688184; font-size: 9px; }
.ai-report-dot { border-radius: 50%; display: inline-block; height: 7px; margin-right: 5px; width: 7px; }
.ai-report-dot--logged { background: var(--report-teal); }
.ai-report-dot--pending { background: #dd7855; }

.ai-report-day {
    background: #fff;
    border: 1px solid #d3e6e1;
    border-radius: 17px;
    box-shadow: 0 11px 27px rgba(20, 72, 72, .07);
    margin-bottom: 24px;
    overflow: hidden;
    position: relative;
}
.ai-report-day::before {
    background: linear-gradient(180deg, #48c781, #0a9182);
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    top: 0;
    width: 5px;
    z-index: 2;
}
.ai-report-day--pending::before { background: linear-gradient(180deg, #e4a05f, #d2694d); }
.ai-report-day--alternate { border-color: #c9e1dc; }
.ai-report-day:last-child { margin-bottom: 0; }
.ai-report-day__header {
    align-items: center;
    background: linear-gradient(100deg, #e8f6f2 0%, #f5fbf9 58%, #fbfdfc 100%);
    border-bottom: 1px solid #d5e8e3;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(210px, .72fr) minmax(360px, 1.32fr) minmax(160px, .5fr);
    min-height: 103px;
    padding: 17px 22px 17px 25px;
}
.ai-report-day--alternate .ai-report-day__header { background: linear-gradient(100deg, #edf7f5 0%, #f7fbfa 58%, #fff 100%); }
.ai-report-day--pending .ai-report-day__header { background: linear-gradient(100deg, #fff6ed 0%, #fbfaf6 43%, #fbfdfc 100%); }
.ai-report-day__date { align-items: center; display: flex; gap: 11px; }
.ai-report-day__calendar {
    background: #fff;
    border: 1px solid #cce6df;
    box-shadow: 0 7px 17px rgba(8, 112, 101, .09);
    flex-basis: 48px;
    font-size: 19px;
    height: 48px;
    width: 48px;
}
.ai-report-day--pending .ai-report-day__calendar { background: #fffaf5; border-color: #f0d8c1; color: #ce754e; }
.ai-report-day__date div > span { color: var(--report-teal); display: block; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.ai-report-day--pending .ai-report-day__date div > span { color: #c86745; }
.ai-report-day__date div > strong { color: var(--report-ink); display: block; font-size: 17px; font-weight: 600; margin-top: 3px; }
.ai-report-day__figures { align-items: center; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ai-report-day__figures > span {
    background: rgba(255,255,255,.68);
    border: 1px solid #dcebe7;
    border-radius: 10px;
    margin-right: 8px;
    min-height: 56px;
    padding: 10px 13px;
}
.ai-report-day__figures small,
.ai-report-day__figures strong { display: block; }
.ai-report-day__figures small { color: #829698; font-size: 7.5px; font-weight: 700; letter-spacing: .09em; }
.ai-report-day__figures strong { color: #315c63; font-size: 13px; margin-top: 3px; }
.ai-report-day__figures .is-pending { background: #fff9f4; border-color: #eedac8; }
.ai-report-day__figures .is-pending strong { color: #c96544; }
.ai-report-day__coverage { align-items: center; display: flex; gap: 10px; }
.ai-report-day__coverage > span { background: #dfebe9; border-radius: 999px; display: block; height: 6px; overflow: hidden; width: 100%; }
.ai-report-day__coverage > span i { background: linear-gradient(90deg, var(--report-mint), var(--report-teal)); border-radius: inherit; display: block; height: 100%; }
.ai-report-day__coverage small { color: var(--report-teal-dark); font-size: 9px; font-weight: 700; min-width: 30px; text-align: right; }
.ai-report-day__body { background: #f7fbfa; padding: 18px 19px 19px 23px; }
.ai-report-day--alternate .ai-report-day__body { background: #fafcfb; }

.ai-report-project-group {
    background: #fff;
    border: 1px solid #dbeae7;
    border-radius: 13px;
    box-shadow: 0 5px 14px rgba(18, 71, 70, .045);
    margin-bottom: 14px;
    overflow: hidden;
}
.ai-report-project-group:last-child { margin-bottom: 0; }
.ai-report-project-group__header {
    align-items: center;
    background: #eef8f5;
    border-bottom: 1px solid #d9e9e5;
    display: flex;
    gap: 11px;
    min-height: 57px;
    padding: 10px 14px;
}
.ai-report-project-group__header > span { align-items: center; background: #e8f6f2; border-radius: 8px; color: var(--report-teal); display: flex; flex: 0 0 31px; height: 31px; justify-content: center; }
.ai-report-project-group__header > div { min-width: 0; }
.ai-report-project-group__header small,
.ai-report-project-group__header strong { display: block; }
.ai-report-project-group__header small { color: #8ca0a1; font-size: 7px; font-weight: 700; letter-spacing: .1em; }
.ai-report-project-group__header strong { color: #254f58; font-size: 11px; font-weight: 600; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-report-project-group__header em { background: #e7f6f2; border-radius: 999px; color: var(--report-teal-dark); font-size: 9px; font-style: normal; font-weight: 700; margin-left: auto; padding: 6px 10px; }
.ai-report-task-row { border-bottom: 1px solid #e8f0ee; cursor: pointer; padding: 12px 14px 11px; transition: background .16s ease, box-shadow .16s ease; }
.ai-report-task-row:last-child { border-bottom: 0; }
.ai-report-task-row:nth-child(odd) { background: #fcfefd; }
.ai-report-task-row:hover { background: #f0f9f6; box-shadow: inset 3px 0 var(--report-teal); }
.ai-report-task-row task-tile-view { display: block; }
.ai-report-task-row .ai-task-card { background: transparent; border: 0; border-radius: 0; box-shadow: none; min-height: 0; padding: 0; }
.ai-report-task-row .ai-task-card__project { display: none; }
.ai-report-task-row .ai-task-card__content { padding: 0; }
.ai-report-task-row .ai-task-card__task-name { color: #284f58; font-size: 11px; font-weight: 500; }
.ai-report-task-row .ai-task-card__spacer { display: none; }

.ai-report-day__empty { align-items: center; color: #829799; display: flex; gap: 11px; justify-content: center; min-height: 68px; }
.ai-report-day__empty > span { align-items: center; background: #f0f5f4; border-radius: 9px; color: #90a7a5; display: flex; height: 34px; justify-content: center; width: 34px; }
.ai-report-day__empty strong,
.ai-report-day__empty small { display: block; }
.ai-report-day__empty strong { color: #688083; font-size: 10px; }
.ai-report-day__empty small { font-size: 8.5px; margin-top: 2px; }
.ai-report-error {
    align-items: center;
    background: #fffaf3;
    border: 1px solid #f0dfc4;
    border-radius: 15px;
    color: #846d4e;
    display: flex;
    gap: 12px;
    margin: 18px 0;
    min-height: 76px;
    padding: 14px 18px;
}
.ai-report-error > span { align-items: center; background: #fff0d8; border-radius: 10px; color: #c68a35; display: flex; flex: 0 0 38px; height: 38px; justify-content: center; }
.ai-report-error strong,
.ai-report-error p { display: block; }
.ai-report-error strong { color: #6f5b3f; font-size: 11px; }
.ai-report-error p { font-size: 9px; margin: 3px 0 0; }

@media (max-width: 1180px) {
    .ai-report-controls { grid-template-columns: 1fr 1.35fr; }
    .ai-report-view-control { border-left: 0; border-top: 1px solid #e3eeec; grid-column: 1 / -1; padding: 12px 0 0; }
    .ai-report-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ai-report-chart-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .ai-report-shell { padding: 18px 13px 60px; }
    .ai-report-hero { align-items: flex-start; flex-direction: column; gap: 20px; padding: 27px 23px 39px; }
    .ai-report-hero h1 { font-size: 27px; }
    .ai-report-hero__period { min-width: 0; width: 100%; }
    .ai-report-controls { gap: 14px; grid-template-columns: 1fr; margin: -17px 10px 18px; }
    .ai-report-week-picker { flex-wrap: wrap; justify-content: flex-start; }
    .ai-report-date-field { flex: 1 1 180px; }
    .ai-report-view-control { grid-column: auto; }
    .ai-report-kpis { grid-template-columns: 1fr; }
    .ai-report-chart { overflow-x: auto; }
    .ai-report-section-heading { align-items: flex-start; flex-direction: column; gap: 13px; }
    .ai-report-day__header { grid-template-columns: 1fr; }
    .ai-report-day__figures { border-top: 1px solid #dceae7; padding-top: 12px; }
    .ai-report-day__figures > span { margin-bottom: 0; margin-right: 6px; padding: 9px; }
}

/* ========================================================================== */
/* ATA | Executive project-team capacity report                               */
/* ========================================================================== */

.ai-project-capacity-hero { background: linear-gradient(118deg, #123d49 0%, #12645f 58%, #168b78 100%); }
.ai-project-capacity-toolbar {
    align-items: center;
    background: #fff;
    border: 1px solid var(--report-line);
    border-radius: 18px;
    box-shadow: var(--report-shadow);
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(255px, 1fr) minmax(150px, .45fr) minmax(285px, .86fr) minmax(250px, .72fr);
    margin: -18px 24px 12px;
    min-height: 88px;
    padding: 15px 18px;
    position: relative;
    z-index: 2;
}
.ai-project-capacity-resource-filter {
    align-items: center;
    background: rgba(255,255,255,.95);
    border: 1px solid var(--report-line);
    border-radius: 18px;
    box-shadow: var(--report-shadow);
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(300px, 1fr) minmax(420px, 1fr);
    margin: 0 24px 24px;
    min-height: 88px;
    padding: 15px 18px;
}
.ai-project-capacity-resource-filter__selection { align-items: center; display: flex; gap: 9px; justify-content: flex-end; min-width: 0; }
.ai-project-capacity-resource-filter__summary { align-items: center; color: #315e64; display: flex; flex: 1; font-size: 10px; font-weight: 600; gap: 8px; justify-content: flex-end; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-project-capacity-resource-filter__summary i { color: var(--report-teal); }
.ai-project-capacity-resource-filter__button {
    align-items: center;
    background: var(--report-teal);
    border: 1px solid var(--report-teal);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 9px;
    font-weight: 700;
    gap: 7px;
    min-height: 36px;
    padding: 8px 14px;
    white-space: nowrap;
}
.ai-project-capacity-resource-filter__button:hover { background: var(--report-teal-dark); border-color: var(--report-teal-dark); }
.ai-project-capacity-resource-filter__clear { align-items: center; background: #f6faf9; border: 1px solid #d5e7e3; border-radius: 50%; color: #708b8f; display: flex; flex: 0 0 34px; height: 34px; justify-content: center; padding: 0; width: 34px; }
.ai-project-capacity-resource-filter__clear:hover { background: #e9f6f2; color: var(--report-teal); }
.ai-project-capacity-chart-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 22px; }
.ai-project-capacity-chart-grid .ai-project-cycle-legend { max-height: 184px; overflow-y: auto; }
.ai-project-capacity-legend-item { align-items: center; background: #fbfdfc; border: 1px solid #d7e8e4; border-radius: 999px; color: var(--report-ink); display: inline-flex; font-size: 9px; gap: 7px; min-height: 34px; padding: 7px 10px; }
.ai-project-capacity-legend-item i { font-size: 9px; }
.ai-project-capacity-legend-item span { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-project-capacity-legend-item b { color: var(--report-teal-dark); }
.ai-project-capacity-resource-table { min-width: 780px; }
.ai-project-capacity-project-table { min-width: 1050px; }
.ai-project-capacity-type { align-items: center; color: #456970; display: inline-flex; gap: 7px; }
.ai-project-capacity-type i { border-radius: 50%; display: inline-block; flex: 0 0 9px; height: 9px; width: 9px; }
.ai-project-capacity-contexts { display: flex; flex-wrap: wrap; gap: 5px; min-width: 260px; }
.ai-project-capacity-contexts span { background: color-mix(in srgb, var(--context-color) 11%, #fff); border: 1px solid color-mix(in srgb, var(--context-color) 28%, #d9e7e5); border-radius: 999px; color: #46696e; font-size: 7.5px; font-weight: 600; padding: 4px 7px; }
.ai-project-capacity-contexts em { color: #94a5a7; font-size: 8px; font-style: normal; }

@media (max-width: 1180px) {
    .ai-project-capacity-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ai-project-capacity-toolbar .ai-eov-toolbar__intro { grid-column: 1 / -1; }
    .ai-project-capacity-resource-filter { grid-template-columns: 1fr; }
    .ai-project-capacity-resource-filter__selection { justify-content: flex-start; }
    .ai-project-capacity-resource-filter__summary { justify-content: flex-start; }
    .ai-project-capacity-chart-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .ai-project-capacity-toolbar { grid-template-columns: 1fr; margin-left: 10px; margin-right: 10px; }
    .ai-project-capacity-toolbar .ai-eov-toolbar__intro { grid-column: auto; }
    .ai-project-capacity-toolbar .ai-eov-select-control { border-left: 0; border-top: 1px solid #e2eeeb; padding-left: 0; padding-top: 11px; }
    .ai-project-capacity-resource-filter { margin-left: 10px; margin-right: 10px; }
    .ai-project-capacity-resource-filter__selection { align-items: stretch; flex-direction: column; }
    .ai-project-capacity-resource-filter__summary { justify-content: flex-start; white-space: normal; }
    .ai-project-capacity-resource-filter__button { justify-content: center; }
    .ai-project-capacity-resource-filter__clear { position: absolute; right: 24px; }
}

/* ========================================================================== */
/* Executive / operative reports                                              */
/* ========================================================================== */

.ai-eov-hero { min-height: 184px; }
.ai-eov-hero__status {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    min-width: 250px;
    padding: 17px 20px;
    position: relative;
    z-index: 1;
}
.ai-eov-hero__status > span { color: rgba(255,255,255,.58); display: block; font-size: 8.5px; font-weight: 700; letter-spacing: .13em; }
.ai-eov-hero__status > strong { display: block; font-size: 30px; font-weight: 500; line-height: 1.1; margin: 6px 0 5px; }
.ai-eov-hero__status > strong small { color: #8be1c6; font-size: 12px; font-weight: 600; }
.ai-eov-hero__status > p { color: rgba(255,255,255,.66); font-size: 8.5px; margin: 0; }

.ai-eov-toolbar {
    align-items: center;
    background: #fff;
    border: 1px solid var(--report-line);
    border-radius: 17px;
    box-shadow: var(--report-shadow);
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(220px, 1fr) minmax(250px, .9fr) minmax(220px, .75fr);
    margin: -17px 22px 22px;
    min-height: 84px;
    padding: 13px 15px;
    position: relative;
    z-index: 2;
}
.ai-eov-toolbar__intro,
.ai-eov-select-control { align-items: center; display: flex; gap: 11px; min-width: 0; }
.ai-eov-toolbar__intro strong,
.ai-eov-toolbar__intro small { display: block; }
.ai-eov-toolbar__intro strong { color: var(--report-ink); font-size: 12px; font-weight: 600; }
.ai-eov-toolbar__intro small { color: var(--report-muted); font-size: 8.5px; margin-top: 2px; }
.ai-eov-select-control { border-left: 1px solid #e2eeeb; padding-left: 15px; }
.ai-eov-select-control > span { align-items: center; background: var(--report-soft); border-radius: 11px; color: var(--report-teal); display: flex; flex: 0 0 38px; height: 38px; justify-content: center; }
.ai-eov-select-control label { display: block; min-width: 0; width: 100%; }
.ai-eov-select-control label > small { color: #8ba0a1; display: block; font-size: 7.5px; font-weight: 700; letter-spacing: .1em; }
.ai-eov-select-control md-select { color: var(--report-ink); font-size: 10px; margin: 1px 0 0; }
.ai-eov-select-control md-select .md-select-value { border-bottom: 0; min-height: 25px; padding: 0 20px 0 0; }

.ai-eov-kpis { margin-bottom: 20px; }
.ai-eov-kpi--critical::before { background: #bb4a4a; }
.ai-eov-kpi--critical .ai-report-kpi__icon { background: #fff0f0; color: #b84b4b; }

.ai-eov-analysis {
    background: rgba(255,255,255,.64);
    border: 1px solid var(--report-line);
    border-radius: 20px;
    box-shadow: var(--report-shadow);
    margin-bottom: 22px;
    overflow: hidden;
    padding: 0 20px 22px;
}
.ai-eov-analysis__header {
    align-items: center;
    background: linear-gradient(90deg, #f0faf6, #fbfdfc);
    border-bottom: 1px solid #dcebe7;
    display: flex;
    justify-content: space-between;
    margin: 0 -20px 20px;
    min-height: 103px;
    padding: 21px 24px;
}
.ai-eov-analysis__header h2 { color: var(--report-ink); font-size: 21px; font-weight: 500; letter-spacing: -.025em; margin: 5px 0 4px; }
.ai-eov-analysis__header p { color: var(--report-muted); font-size: 9.5px; margin: 0; }
.ai-eov-state-key { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; max-width: 560px; }
.ai-eov-state-key > span { align-items: center; background: #fff; border: 1px solid #dfebe8; border-radius: 999px; color: #71878a; display: flex; font-size: 8px; gap: 5px; padding: 6px 9px; }
.ai-eov-state-key > span i { color: var(--report-teal); }
.ai-eov-state-key > span:nth-child(2) i { color: #aab8ba; }
.ai-eov-state-key > span:nth-child(3) i { color: #9ca8aa; }
.ai-eov-state-key button,
.ai-eov-empty button {
    background: var(--report-teal);
    border: 0;
    border-radius: 999px;
    color: #fff;
    font-size: 8.5px;
    font-weight: 600;
    outline: 0;
    padding: 7px 11px;
}

.ai-eov-chart-grid { align-items: start; display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ai-eov-chart-card { min-width: 0; overflow: hidden; }
.ai-eov-chart-card__header { align-items: center; border-bottom: 1px solid #e3eeeb; display: flex; gap: 10px; min-height: 66px; padding: 13px 15px; }
.ai-eov-chart-card__header > span { align-items: center; background: var(--report-soft); border-radius: 10px; color: var(--report-teal); display: flex; flex: 0 0 36px; height: 36px; justify-content: center; }
.ai-eov-chart-card__header > div { min-width: 0; }
.ai-eov-chart-card__header small { color: #8ba0a1; display: block; font-size: 8px; font-weight: 700; letter-spacing: .11em; }
.ai-eov-chart-card__header h3 { color: var(--report-ink); font-size: 15px; font-weight: 600; margin: 2px 0 0; }
.ai-eov-chart-card__header em { background: #edf7f4; border-radius: 999px; color: var(--report-teal-dark); font-size: 9px; font-style: normal; font-weight: 700; margin-left: auto; padding: 6px 9px; white-space: nowrap; }
.ai-eov-chart-card__visual { height: 270px; margin: 0 auto; max-width: 520px; overflow: hidden; padding: 0 8px; width: 100%; }
.ai-eov-chart-card__visual nvd3,
.ai-eov-chart-card__visual svg { display: block; height: 270px !important; width: 100% !important; }
.ai-eov-chart-card__visual .nv-pieLabels text { font-family: "DM Sans", "Quicksand", sans-serif !important; font-size: 8px !important; }
.ai-eov-chart-card__visual .nv-pie path { stroke: #fff; stroke-width: 2px; }

.ai-eov-legend { background: #fbfdfc; border-top: 1px solid #dceae7; display: grid; gap: 4px; grid-template-columns: minmax(0, 1fr); list-style: none; margin: 0; overflow: visible; padding: 14px; }
.ai-eov-legend li { min-width: 0; }
.ai-eov-legend button { align-items: center; background: transparent; border: 1px solid transparent; border-radius: 10px; color: #3f6065; display: grid; font-size: 11px; gap: 8px; grid-template-columns: 16px minmax(0, 1fr) auto; line-height: 1.25; min-height: 43px; outline: 0; padding: 8px 10px; text-align: left; transition: background .16s ease, border-color .16s ease, color .16s ease; width: 100%; }
.ai-eov-legend button:hover { background: #eef8f5; border-color: #d9ebe6; }
.ai-eov-legend button > i { font-size: 11px; text-align: center; }
.ai-eov-legend button > span { overflow: visible; white-space: normal; }
.ai-eov-legend button > strong { color: var(--report-teal-dark); font-size: 10.5px; white-space: nowrap; }
.ai-eov-legend button > strong small { color: #93a5a7; font-size: 8.5px; font-weight: 500; }
.ai-eov-legend button.is-unavailable { color: #a7b2b4; }
.ai-eov-legend button.is-unavailable > strong { color: #a7b2b4; }
.ai-eov-legend button.is-excluded { background: #f6f8f8; color: #98a5a7; }
.ai-eov-legend button.is-excluded > span { text-decoration: line-through; text-decoration-thickness: 1px; }

.ai-eov-detail { margin-top: 0; }
.ai-eov-result-badge { align-items: baseline; background: #e6f5f1; border-radius: 13px; color: var(--report-teal-dark); display: flex; gap: 5px; padding: 10px 13px; }
.ai-eov-result-badge strong { font-size: 19px; font-weight: 600; }
.ai-eov-result-badge span { font-size: 8px; }
.ai-eov-task-group { background: #f7fbfa; border: 1px solid #d7e8e4; border-radius: 16px; margin-bottom: 19px; overflow: hidden; }
.ai-eov-task-group:last-child { margin-bottom: 0; }
.ai-eov-task-group__header { align-items: center; background: linear-gradient(90deg, #eaf7f3, #f8fbfa); border-bottom: 1px solid #d9e9e5; display: flex; gap: 11px; min-height: 69px; padding: 12px 16px; }
.ai-eov-task-group__icon { align-items: center; background: #fff; border: 1px solid #d7ebe5; border-radius: 10px; color: var(--report-teal); display: flex; flex: 0 0 39px; height: 39px; justify-content: center; }
.ai-eov-task-group__header > div { min-width: 0; }
.ai-eov-task-group__header small { color: #8ba0a1; display: block; font-size: 7px; font-weight: 700; letter-spacing: .11em; margin-bottom: 4px; }
.ai-eov-task-group__header strong { color: var(--report-ink); font-size: 12px; }
.ai-eov-task-group__header > div > span { align-items: center; color: #315c63; display: inline-flex; font-size: 10px; font-weight: 600; margin-right: 9px; }
.ai-eov-task-group__header > div > span i { border-radius: 50%; display: inline-block; height: 7px; margin-right: 5px; width: 7px; }
.ai-eov-task-group__header em { background: #fff; border: 1px solid #d8e8e5; border-radius: 999px; color: var(--report-teal-dark); font-size: 8px; font-style: normal; font-weight: 700; margin-left: auto; padding: 6px 9px; white-space: nowrap; }
.ai-eov-task-list {
    background: #f4f9f7;
    padding: 17px 16px 19px;
}
.ai-eov-task-row {
    cursor: pointer;
    margin-bottom: 13px;
}
.ai-eov-task-row:last-child { margin-bottom: 0; }
.ai-eov-task-row task-tile-view { display: block; width: 100%; }
.ai-eov-task-row .ai-task-card {
    align-items: flex-start;
    background: #fff;
    border: 1px solid #dceae7;
    border-radius: 13px;
    box-shadow: 0 5px 14px rgba(18, 71, 70, .055);
    padding: 11px 13px;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    width: 100%;
}
.ai-eov-task-row .ai-task-card:hover { box-shadow: 0 9px 19px rgba(18, 71, 70, .08); transform: translateY(-1px); }
.ai-eov-empty { align-items: center; background: #f8fbfa; border: 1px dashed #cfdeda; border-radius: 15px; display: flex; gap: 12px; min-height: 92px; padding: 17px; }
.ai-eov-empty > span { align-items: center; background: #edf5f3; border-radius: 11px; color: #809a9b; display: flex; flex: 0 0 42px; height: 42px; justify-content: center; }
.ai-eov-empty > div { min-width: 0; }
.ai-eov-empty strong { color: var(--report-ink); display: block; font-size: 11px; }
.ai-eov-empty p { color: var(--report-muted); font-size: 8.5px; margin: 3px 0 0; }
.ai-eov-empty button { margin-left: auto; white-space: nowrap; }

@media (max-width: 1180px) {
    .ai-eov-toolbar { grid-template-columns: 1fr 1fr; }
    .ai-eov-toolbar__intro { grid-column: 1 / -1; }
    .ai-eov-select-control:first-of-type { border-left: 0; padding-left: 0; }
    .ai-eov-chart-grid { gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ai-eov-chart-card { display: block; }
}

@media (max-width: 767px) {
    .ai-eov-chart-grid { grid-template-columns: 1fr; }
    .ai-eov-hero { align-items: flex-start; }
    .ai-eov-hero__status { min-width: 0; width: 100%; }
    .ai-eov-toolbar { grid-template-columns: 1fr; margin-left: 10px; margin-right: 10px; }
    .ai-eov-toolbar__intro { grid-column: auto; }
    .ai-eov-select-control { border-left: 0; border-top: 1px solid #e2eeeb; padding-left: 0; padding-top: 10px; }
    .ai-eov-analysis__header { align-items: flex-start; flex-direction: column; gap: 15px; }
    .ai-eov-state-key { justify-content: flex-start; }
    .ai-eov-chart-card__visual { height: 235px; }
    .ai-eov-chart-card__visual nvd3,
    .ai-eov-chart-card__visual svg { height: 235px !important; }
    .ai-eov-legend { grid-template-columns: 1fr; }
    .ai-eov-task-group__header { align-items: flex-start; }
    .ai-eov-task-group__header em { margin-top: 4px; }
    .ai-eov-empty { align-items: flex-start; flex-wrap: wrap; }
    .ai-eov-empty button { margin-left: 54px; }
}

/* ========================================================================== */
/* ATA | Report catalog                                                       */
/* ========================================================================== */

.ai-eov-catalog-shell { max-width: 1480px; }

.ai-eov-catalog-hero {
    align-items: center;
    background: linear-gradient(118deg, #093f43 0%, #075854 58%, #08776d 100%);
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(7, 60, 63, .15);
    color: #fff;
    display: flex;
    justify-content: space-between;
    min-height: 184px;
    overflow: hidden;
    padding: 34px 40px;
    position: relative;
}

.ai-eov-catalog-hero.is-executive {
    background: linear-gradient(118deg, #133d49 0%, #15576a 58%, #176d77 100%);
}

.ai-eov-catalog-hero::before,
.ai-eov-catalog-hero::after {
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 50%;
    content: "";
    position: absolute;
}

.ai-eov-catalog-hero::before { height: 280px; right: 7%; top: -142px; width: 280px; }
.ai-eov-catalog-hero::after { height: 390px; right: -110px; top: -78px; width: 390px; }
.ai-eov-catalog-hero__copy,
.ai-eov-catalog-hero__status { position: relative; z-index: 1; }
.ai-eov-catalog-hero__copy { max-width: 760px; }
.ai-eov-catalog-hero h1 { font-family: "Manrope", "Quicksand", sans-serif; font-size: 36px; font-weight: 500; letter-spacing: -.04em; margin: 9px 0 8px; }
.ai-eov-catalog-hero__copy > p { color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.6; margin: 0; }

.ai-eov-catalog-hero__status {
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    min-width: 245px;
    padding: 18px 21px;
}
.ai-eov-catalog-hero__status > span { color: rgba(255,255,255,.58); display: block; font-size: 8px; font-weight: 700; letter-spacing: .14em; }
.ai-eov-catalog-hero__status > strong { display: block; font-size: 27px; font-weight: 500; margin: 3px 0; }
.ai-eov-catalog-hero__status > strong small { font-size: 11px; font-weight: 500; }
.ai-eov-catalog-hero__status > p { color: rgba(255,255,255,.64); font-size: 8.5px; margin: 0; }

.ai-eov-audience-switcher {
    align-items: stretch;
    background: #fff;
    border: 1px solid var(--report-line);
    border-radius: 18px;
    box-shadow: var(--report-shadow);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(250px, 1fr) repeat(2, minmax(230px, .72fr));
    margin: -18px 24px 24px;
    padding: 15px;
    position: relative;
    z-index: 2;
}

.ai-eov-audience-switcher__intro { align-items: center; display: flex; gap: 12px; padding: 4px 8px; }
.ai-eov-audience-switcher__intro strong,
.ai-eov-audience-switcher__intro small { display: block; }
.ai-eov-audience-switcher__intro strong { color: var(--report-ink); font-size: 12px; font-weight: 600; }
.ai-eov-audience-switcher__intro small { color: var(--report-muted); font-size: 9px; margin-top: 3px; }
.ai-eov-audience-switcher > button {
    align-items: center;
    background: #f8fbfa;
    border: 1px solid #dcebe7;
    border-radius: 13px;
    color: #526f74;
    display: grid;
    gap: 10px;
    grid-template-columns: 38px minmax(0, 1fr) 16px;
    min-height: 58px;
    outline: 0;
    padding: 9px 12px;
    text-align: left;
    transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.ai-eov-audience-switcher > button:hover { border-color: #b7ded6; transform: translateY(-1px); }
.ai-eov-audience-switcher > button.is-active { background: #e8f7f3; border-color: #63c7ae; color: var(--report-teal-dark); }
.ai-eov-audience-switcher > button > span:first-child { align-items: center; background: #fff; border-radius: 10px; color: var(--report-teal); display: flex; font-size: 15px; height: 38px; justify-content: center; width: 38px; }
.ai-eov-audience-switcher > button small { color: #91a5a7; display: block; font-size: 7px; font-weight: 700; letter-spacing: .1em; }
.ai-eov-audience-switcher > button strong { display: block; font-size: 11px; font-weight: 600; margin-top: 2px; }
.ai-eov-audience-switcher > button > i { font-size: 10px; justify-self: end; }

.ai-eov-catalog {
    background: rgba(255,255,255,.72);
    border: 1px solid var(--report-line);
    border-radius: 22px;
    box-shadow: var(--report-shadow);
    padding: 27px 29px 32px;
}

.ai-eov-catalog__header { align-items: flex-end; border-bottom: 1px solid #dceae7; display: flex; justify-content: space-between; margin-bottom: 26px; padding-bottom: 20px; }
.ai-eov-catalog__header h2 { color: var(--report-ink); font-family: "Manrope", "Quicksand", sans-serif; font-size: 25px; font-weight: 500; letter-spacing: -.035em; margin: 6px 0 5px; }
.ai-eov-catalog__header p { color: var(--report-muted); font-size: 9.5px; margin: 0; }
.ai-eov-catalog__total { background: #edf7f4; border-radius: 999px; color: var(--report-teal-dark); font-size: 9px; font-weight: 700; padding: 7px 11px; white-space: nowrap; }

.ai-eov-category { margin-bottom: 30px; }
.ai-eov-category:last-of-type { margin-bottom: 0; }
.ai-eov-category__header { align-items: center; display: flex; gap: 11px; margin-bottom: 13px; }
.ai-eov-category__icon {
    align-items: center;
    background: #e8f7f3;
    border: 1px solid #c8e8e0;
    border-radius: 11px;
    color: var(--report-teal);
    display: flex;
    flex: 0 0 54px;
    font-size: 22px;
    height: 54px;
    justify-content: center;
    line-height: 1;
    width: 54px;
}
.ai-eov-category__icon > i {
    align-items: center;
    display: inline-flex;
    height: 100%;
    justify-content: center;
    line-height: 1;
    text-align: center;
    width: 100%;
}
.ai-eov-category__header small { color: #90a4a6; display: block; font-size: 7px; font-weight: 700; letter-spacing: .11em; }
.ai-eov-category__header h3 { color: var(--report-ink); font-size: 15px; font-weight: 600; margin: 2px 0 0; }
.ai-eov-category__count { align-items: center; background: #f0f6f4; border-radius: 999px; color: #789092; display: flex; font-size: 8px; font-weight: 700; height: 24px; justify-content: center; margin-left: auto; min-width: 24px; padding: 0 8px; }

.ai-eov-report-grid { display: grid; gap: 13px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ai-eov-report-card {
    background: #fff;
    border: 1px solid #d2e4e0;
    border-radius: 16px;
    box-shadow: 0 7px 18px rgba(17, 73, 71, .055);
    display: flex;
    flex-direction: column;
    min-height: 208px;
    padding: 18px;
    position: relative;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.ai-eov-report-card.is-ready {
    background: #f3fbf8;
    border: 2px solid #08766c;
    box-shadow: 0 10px 24px rgba(8, 100, 91, .13);
    cursor: pointer;
}
.ai-eov-report-card.is-ready:hover,
.ai-eov-report-card.is-ready:focus { background: #edf9f5; border-color: #045f58; box-shadow: 0 14px 30px rgba(8, 92, 84, .18); outline: 0; transform: translateY(-2px); }
.ai-eov-report-card.is-planned { background: #f9fcfb; color: #7f9497; }
.ai-eov-report-card__topline { align-items: center; display: flex; gap: 8px; }
.ai-eov-report-card__icon {
    align-items: center !important;
    background: #e7f7f3;
    border: 1px solid #bfe5dc;
    border-radius: 8px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.72);
    display: inline-flex !important;
    flex-basis: 60px;
    font-size: 25px;
    height: 52px;
    justify-content: center !important;
    line-height: 1;
    padding: 0;
    text-align: center;
    width: 60px;
}
.ai-eov-report-card__icon > i {
    align-items: center;
    display: inline-flex;
    height: 100%;
    justify-content: center;
    line-height: 1;
    text-align: center;
    width: 100%;
}
.ai-eov-report-card.is-planned .ai-eov-report-card__icon {
    background: #edf2f1;
    border-color: #d7e1df;
    box-shadow: none;
    color: #80989a;
}
.ai-eov-report-card__code { color: #6f8c90; font-size: 9px; font-weight: 700; letter-spacing: .08em; }
.ai-eov-report-card__state { align-items: center; background: #e6f6f2; border: 1px solid #c8e9e1; border-radius: 999px; color: var(--report-teal-dark); display: inline-flex; font-size: 9.5px; font-weight: 700; gap: 5px; margin-left: auto; padding: 6px 9px; }
.ai-eov-report-card__state i { font-size: 10px; }
.ai-eov-report-card.is-planned .ai-eov-report-card__state { background: #edf3f2; border-color: #dbe6e4; color: #728b8e; }
.ai-eov-report-card h4 { color: var(--report-ink); font-size: 12px; font-weight: 600; line-height: 1.45; margin: 14px 0 6px; }
.ai-eov-report-card.is-planned h4 { color: #607a7e; }
.ai-eov-report-card > p { color: #58757a; font-size: 11px; line-height: 1.58; margin: 0 0 17px; }
.ai-eov-report-card.is-planned > p { color: #748b8e; }
.ai-eov-report-card > footer { align-items: center; border-top: 1px solid #dceae7; color: var(--report-teal); display: flex; font-size: 9.5px; font-weight: 700; justify-content: space-between; margin-top: auto; padding-top: 12px; }
.ai-eov-report-card > footer i { font-size: 11px; }
.ai-eov-report-card.is-planned > footer { color: #7d9396; }

.ai-eov-catalog-empty { align-items: center; background: #f8fbfa; border: 1px dashed #cddeda; border-radius: 16px; display: flex; gap: 13px; min-height: 110px; padding: 20px; }
.ai-eov-catalog-empty > span { align-items: center; background: #eaf5f2; border-radius: 11px; color: var(--report-teal); display: flex; flex: 0 0 44px; height: 44px; justify-content: center; }
.ai-eov-catalog-empty strong { color: var(--report-ink); display: block; font-size: 11px; }
.ai-eov-catalog-empty p { color: var(--report-muted); font-size: 9px; margin: 4px 0 0; }

@media (max-width: 1180px) {
    .ai-eov-audience-switcher { grid-template-columns: 1fr 1fr; }
    .ai-eov-audience-switcher__intro { grid-column: 1 / -1; }
    .ai-eov-report-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .ai-eov-catalog-hero { align-items: flex-start; flex-direction: column; gap: 20px; padding: 28px 24px; }
    .ai-eov-catalog-hero h1 { font-size: 29px; }
    .ai-eov-catalog-hero__status { min-width: 0; width: 100%; }
    .ai-eov-audience-switcher { grid-template-columns: 1fr; margin-left: 10px; margin-right: 10px; }
    .ai-eov-audience-switcher__intro { grid-column: auto; }
    .ai-eov-catalog { padding: 22px 17px 25px; }
    .ai-eov-catalog__header { align-items: flex-start; flex-direction: column; gap: 13px; }
    .ai-eov-report-grid { grid-template-columns: 1fr; }
}

/* ========================================================================== */
/* ATA | Executive project-cycle report                                       */
/* ========================================================================== */

.ai-project-cycle-shell { max-width: 1480px; }
.ai-project-cycle-hero { background: linear-gradient(118deg, #123d49 0%, #15596a 58%, #08766d 100%); }
.ai-project-duration-page .ai-project-cycle-hero { background: linear-gradient(118deg, #123d49 0%, #176675 56%, #0d8474 100%); }
.ai-project-cycle-toolbar {
    align-items: center;
    background: #fff;
    border: 1px solid var(--report-line);
    border-radius: 18px;
    box-shadow: var(--report-shadow);
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(270px, 1.1fr) minmax(210px, .65fr) minmax(330px, 1fr);
    margin: -18px 24px 12px;
    min-height: 88px;
    padding: 15px 18px;
    position: relative;
    z-index: 2;
}

.ai-project-cycle-hero__context { color: #8be1c6; display: block; font-size: 7.5px; line-height: 1.35; margin-top: 5px; max-width: 300px; }
.ai-project-cycle-context-filter {
    align-items: center;
    background: rgba(255,255,255,.94);
    border: 1px solid var(--report-line);
    border-radius: 18px;
    box-shadow: var(--report-shadow);
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(270px, 1fr) minmax(240px, .72fr) minmax(330px, 1.12fr);
    margin: 0 24px 24px;
    min-height: 88px;
    padding: 14px 18px 12px;
    position: relative;
    z-index: 2;
}
.ai-project-cycle-context-filter__intro { align-items: center; display: flex; gap: 11px; min-width: 0; }
.ai-project-cycle-context-filter__intro > span { align-items: center; background: #e8f7f3; border-radius: 11px; color: var(--report-teal); display: flex; flex: 0 0 42px; font-size: 17px; height: 42px; justify-content: center; }
.ai-project-cycle-context-filter__intro strong,
.ai-project-cycle-context-filter__intro small { display: block; }
.ai-project-cycle-context-filter__intro strong { color: var(--report-ink); font-size: 12px; font-weight: 600; }
.ai-project-cycle-context-filter__intro small { color: var(--report-muted); font-size: 8.5px; line-height: 1.4; margin-top: 2px; }
.ai-project-cycle-context-filter__contexts { padding-right: 32px; position: relative; }
.ai-project-cycle-context-filter__clear { align-items: center; background: #f5faf9; border: 1px solid #d9e9e6; border-radius: 50%; color: #6f898d; display: flex; height: 25px; justify-content: center; padding: 0; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 25px; }
.ai-project-cycle-context-filter__clear:hover { background: #e7f6f2; color: var(--report-teal); }
.ai-project-cycle-context-filter__summary { align-items: center; color: #819699; display: flex; font-size: 8.5px; gap: 7px; grid-column: 1 / -1; min-height: 22px; padding-left: 2px; }
.ai-project-cycle-context-filter__summary.is-active { color: var(--report-teal-dark); font-weight: 600; }
.ai-project-cycle-context-filter__summary i { font-size: 11px; }
.ai-project-cycle-linked-filter { align-items: center; background: #eef8f5; border: 1px solid #d3e9e3; border-radius: 13px; color: #527478; display: flex; font-size: 9px; gap: 9px; margin: 0 0 14px; min-height: 42px; padding: 8px 12px; }
.ai-project-cycle-linked-filter > i { color: var(--report-teal); font-size: 13px; }
.ai-project-cycle-linked-filter > span { flex: 1; line-height: 1.4; }
.ai-project-cycle-linked-filter > button { align-items: center; background: #fff; border: 1px solid #bcded6; border-radius: 999px; color: var(--report-teal-dark); display: inline-flex; font-size: 8.5px; font-weight: 700; gap: 6px; min-height: 29px; padding: 6px 10px; white-space: nowrap; }
.ai-project-cycle-linked-filter > button:hover { background: var(--report-teal); border-color: var(--report-teal); color: #fff; }

.ai-project-cycle-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 22px; }
.ai-project-cycle-chart-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 22px; }
.ai-project-cycle-chart-card { background: #fff; border: 1px solid var(--report-line); border-radius: 20px; box-shadow: var(--report-shadow); overflow: hidden; padding: 0 20px 20px; }
.ai-project-cycle-chart-card > header { align-items: center; background: linear-gradient(90deg, #edf9f5, #fbfdfc); border-bottom: 1px solid #dbeae7; display: flex; gap: 13px; margin: 0 -20px 5px; min-height: 92px; padding: 17px 20px; }
.ai-project-cycle-chart-card > header > span { align-items: center; background: #fff; border: 1px solid #cfe7e1; border-radius: 12px; color: var(--report-teal); display: flex; flex: 0 0 46px; font-size: 18px; height: 46px; justify-content: center; }
.ai-project-cycle-chart-card > header small { color: #8aa0a2; display: block; font-size: 8px; font-weight: 700; letter-spacing: .11em; }
.ai-project-cycle-chart-card > header h2 { color: var(--report-ink); font-family: "Manrope", "Quicksand", sans-serif; font-size: 19px; font-weight: 500; margin: 3px 0; }
.ai-project-cycle-chart-card > header p { color: var(--report-muted); font-size: 9px; margin: 0; }
.ai-project-cycle-chart-stage { height: 310px; margin: 4px 0 7px; position: relative; }
.ai-project-cycle-chart-stage nvd3,
.ai-project-cycle-chart-stage svg { display: block; height: 310px; width: 100%; }
.ai-project-cycle-chart-total { align-items: center; border-radius: 50%; display: flex; flex-direction: column; height: 122px; justify-content: center; left: 50%; pointer-events: none; position: absolute; text-align: center; top: 50%; transform: translate(-50%, -50%); width: 122px; }
.ai-project-cycle-chart-total strong { color: var(--report-ink); font-family: "Manrope", "Quicksand", sans-serif; font-size: 24px; line-height: 1; }
.ai-project-cycle-chart-total span { color: var(--report-muted); font-size: 7.5px; margin-top: 5px; }
.ai-project-cycle-chart-empty { align-items: center; color: var(--report-muted); display: flex; gap: 8px; justify-content: center; min-height: 310px; }
.ai-project-cycle-legend { border-top: 1px solid #e7f0ee; display: flex; flex-wrap: wrap; gap: 7px; justify-content: center; padding-top: 13px; }
.ai-project-cycle-legend > button { align-items: center; background: #fbfdfc; border: 1px solid #d7e8e4; border-radius: 999px; color: var(--report-ink); display: inline-flex; font-size: 9px; gap: 7px; min-height: 34px; padding: 7px 10px; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.ai-project-cycle-legend > button:hover { background: #f1faf7; border-color: #9fd3c9; transform: translateY(-1px); }
.ai-project-cycle-legend > button i { font-size: 10px; }
.ai-project-cycle-legend > button span { max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-project-cycle-legend > button b { color: var(--report-teal-dark); font-size: 9px; }
.ai-project-cycle-legend > button.is-disabled { background: #f5f7f7; border-style: dashed; color: #93a5a8; }
.ai-project-cycle-legend > button.is-empty { opacity: .62; }
.ai-project-cycle-analysis {
    background: rgba(255,255,255,.76);
    border: 1px solid var(--report-line);
    border-radius: 21px;
    box-shadow: var(--report-shadow);
    margin-bottom: 22px;
    overflow: hidden;
    padding: 0 24px 26px;
}
.ai-project-cycle-section-header {
    align-items: center;
    background: linear-gradient(90deg, #edf9f5, #fbfdfc);
    border-bottom: 1px solid #d9ebe6;
    display: flex;
    justify-content: space-between;
    margin: 0 -24px 24px;
    min-height: 108px;
    padding: 22px 26px;
}
.ai-project-cycle-section-header h2 { color: var(--report-ink); font-family: "Manrope", "Quicksand", sans-serif; font-size: 23px; font-weight: 500; letter-spacing: -.03em; margin: 6px 0 4px; }
.ai-project-cycle-section-header p { color: var(--report-muted); font-size: 10.5px; line-height: 1.5; margin: 0; }
.ai-project-cycle-scope { align-items: center; background: #fff; border: 1px solid #d3e8e2; border-radius: 999px; color: var(--report-teal-dark); display: inline-flex; font-size: 10px; font-weight: 700; gap: 7px; padding: 9px 13px; white-space: nowrap; }

.ai-project-cycle-type-grid { align-items: start; display: grid; gap: 24px; grid-template-columns: minmax(0, 1.05fr) minmax(500px, .95fr); }
.ai-project-cycle-bars { display: grid; gap: 16px; }
.ai-project-cycle-bar { background: #f8fbfa; border: 1px solid #dfebe8; border-radius: 14px; padding: 14px 16px; }
.ai-project-cycle-bar header { align-items: center; display: flex; gap: 12px; justify-content: space-between; }
.ai-project-cycle-bar header > span { align-items: center; color: #315d64; display: flex; font-size: 11.5px; font-weight: 600; min-width: 0; }
.ai-project-cycle-bar header > span i,
.ai-project-cycle-type-table td:first-child i { border-radius: 50%; display: inline-block; flex: 0 0 9px; height: 9px; margin-right: 8px; width: 9px; }
.ai-project-cycle-bar header > strong { color: var(--report-ink); font-size: 13px; white-space: nowrap; }
.ai-project-cycle-bar__track { background: #e5efed; border-radius: 999px; height: 10px; margin: 11px 0 9px; overflow: hidden; }
.ai-project-cycle-bar__track > i { border-radius: inherit; display: block; height: 100%; min-width: 5px; opacity: .9; transition: width .35s ease; }
.ai-project-cycle-bar footer { color: #84989b; display: flex; font-size: 9px; justify-content: space-between; }

.ai-project-cycle-type-table-wrap { background: #fff; border: 1px solid #dceae7; border-radius: 15px; overflow-x: auto; }
.ai-project-cycle-type-table { border-collapse: collapse; min-width: 540px; width: 100%; }
.ai-project-cycle-type-table--wide { min-width: 1120px; }
.ai-project-cycle-type-table--duration { min-width: 760px; }
.ai-project-cycle-type-table th { background: #f0f7f5; color: #7d9396; font-size: 8px; font-weight: 700; letter-spacing: .08em; padding: 13px 11px; text-align: left; text-transform: uppercase; }
.ai-project-cycle-type-table td { border-top: 1px solid #e4eeec; color: #587278; font-size: 10px; padding: 13px 11px; }
.ai-project-cycle-type-table td:first-child { align-items: center; color: var(--report-ink); display: flex; font-weight: 600; }
.ai-project-cycle-type-table td strong { color: var(--report-teal-dark); font-size: 11px; }

.ai-project-cycle-detail { background: rgba(255,255,255,.76); border: 1px solid var(--report-line); border-radius: 21px; box-shadow: var(--report-shadow); margin-bottom: 22px; overflow: hidden; padding: 0 24px 26px; }
.ai-project-cycle-group { background: #fff; border: 1px solid #dceae7; border-radius: 15px; margin-top: 15px; overflow: hidden; }
.ai-project-cycle-group > header { align-items: center; background: #f7fbfa; border-bottom: 1px solid #e0ece9; display: flex; gap: 12px; min-height: 66px; padding: 12px 16px; }
.ai-project-cycle-group__color { border-radius: 50%; flex: 0 0 11px; height: 11px; width: 11px; }
.ai-project-cycle-group > header h3 { color: var(--report-ink); font-size: 13px; font-weight: 600; margin: 0 0 3px; }
.ai-project-cycle-group > header p { color: var(--report-muted); font-size: 9px; margin: 0; }
.ai-project-cycle-project-table-wrap { overflow-x: auto; }
.ai-project-cycle-project-table { border-collapse: collapse; min-width: 1050px; width: 100%; }
.ai-project-cycle-project-table--duration { min-width: 800px; }
.ai-project-cycle-project-table th { background: #fbfdfc; color: #7d9396; font-size: 8px; font-weight: 700; letter-spacing: .08em; padding: 11px 13px; text-align: left; text-transform: uppercase; }
.ai-project-cycle-project-table td { border-top: 1px solid #e7efed; color: #587278; font-size: 9.5px; padding: 11px 13px; vertical-align: middle; }
.ai-project-cycle-project-table td:first-child { min-width: 300px; }
.ai-project-cycle-project-table button { background: transparent; border: 0; color: inherit; display: block; max-width: 420px; outline: 0; padding: 0; text-align: left; }
.ai-project-cycle-project-table button small,
.ai-project-cycle-project-table button strong { display: block; }
.ai-project-cycle-project-table button small { color: var(--report-teal); font-size: 8px; font-weight: 700; margin-bottom: 3px; }
.ai-project-cycle-project-table button strong { color: var(--report-ink); font-size: 10px; font-weight: 600; line-height: 1.35; }
.ai-project-cycle-project-table button:hover strong,
.ai-project-cycle-project-table button:focus strong { color: var(--report-teal); text-decoration: underline; }
.ai-project-cycle-project-table td:last-child strong { color: var(--report-teal-dark); font-size: 11px; }

.ai-project-cycle-rankings { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 22px; }
.ai-project-cycle-ranking { background: #fff; border: 1px solid var(--report-line); border-radius: 20px; box-shadow: var(--report-shadow); overflow: hidden; }
.ai-project-cycle-ranking > header { align-items: center; background: linear-gradient(90deg, #ecf8f4, #fbfdfc); border-bottom: 1px solid #dbeae7; display: flex; gap: 13px; min-height: 84px; padding: 16px 18px; }
.ai-project-cycle-ranking > header > span { align-items: center; background: #fff; border: 1px solid #cfe7e1; border-radius: 12px; color: var(--report-teal); display: flex; flex: 0 0 46px; font-size: 18px; height: 46px; justify-content: center; }
.ai-project-cycle-ranking.is-slow > header > span { background: #fff6f0; border-color: #f1d9ca; color: #c66f46; }
.ai-project-cycle-ranking > header small { color: #8aa0a2; display: block; font-size: 8px; font-weight: 700; letter-spacing: .11em; }
.ai-project-cycle-ranking > header h2 { color: var(--report-ink); font-size: 18px; font-weight: 500; margin: 3px 0 0; }
.ai-project-cycle-ranking > button { align-items: center; background: #fff; border: 0; border-bottom: 1px solid #e3edeb; color: inherit; display: grid; gap: 12px; grid-template-columns: 30px minmax(0, 1fr) 68px; min-height: 86px; outline: 0; padding: 13px 16px; text-align: left; transition: background .16s ease, transform .16s ease; width: 100%; }
.ai-project-cycle-ranking > button:last-child { border-bottom: 0; }
.ai-project-cycle-ranking > button:hover,
.ai-project-cycle-ranking > button:focus { background: #f0faf7; transform: translateX(2px); }
.ai-project-cycle-ranking__position { align-items: center; background: #e9f7f3; border-radius: 9px; color: var(--report-teal-dark); display: flex; font-size: 11px; font-weight: 700; height: 30px; justify-content: center; width: 30px; }
.ai-project-cycle-ranking.is-slow .ai-project-cycle-ranking__position { background: #fff1e9; color: #b85f38; }
.ai-project-cycle-ranking__project { min-width: 0; }
.ai-project-cycle-ranking__project small,
.ai-project-cycle-ranking__project strong,
.ai-project-cycle-ranking__project em { display: block; }
.ai-project-cycle-ranking__project small { color: #849a9d; font-size: 8.5px; margin-bottom: 4px; }
.ai-project-cycle-ranking__project strong { color: var(--report-ink); font-size: 10.5px; font-weight: 600; line-height: 1.4; }
.ai-project-cycle-ranking__project em { color: #789094; font-size: 8.5px; font-style: normal; margin-top: 5px; }
.ai-project-cycle-ranking__project em i { color: var(--report-teal); margin-right: 4px; }
.ai-project-cycle-ranking__duration { text-align: right; }
.ai-project-cycle-ranking__duration strong,
.ai-project-cycle-ranking__duration small { display: block; }
.ai-project-cycle-ranking__duration strong { color: var(--report-teal-dark); font-size: 19px; font-weight: 600; }
.ai-project-cycle-ranking.is-slow .ai-project-cycle-ranking__duration strong { color: #b85f38; }
.ai-project-cycle-ranking__duration small { color: #8ba0a2; font-size: 8px; }

.ai-project-cycle-method,
.ai-project-cycle-empty { align-items: flex-start; background: rgba(255,255,255,.72); border: 1px solid var(--report-line); border-radius: 17px; display: flex; gap: 13px; padding: 18px 20px; }
.ai-project-cycle-method > span,
.ai-project-cycle-empty > span { align-items: center; background: #eaf7f3; border-radius: 11px; color: var(--report-teal); display: flex; flex: 0 0 42px; font-size: 16px; height: 42px; justify-content: center; }
.ai-project-cycle-method strong { color: var(--report-ink); display: block; font-size: 11px; margin-bottom: 4px; }
.ai-project-cycle-method p { color: #6f878b; font-size: 9.5px; line-height: 1.55; margin: 0; }
.ai-project-cycle-empty { align-items: center; justify-content: center; min-height: 230px; text-align: left; }
.ai-project-cycle-empty h2 { color: var(--report-ink); font-size: 20px; font-weight: 500; margin: 0 0 5px; }
.ai-project-cycle-empty p { color: var(--report-muted); font-size: 10px; margin: 0 0 14px; }
.ai-project-cycle-empty button { background: var(--report-teal); border: 0; border-radius: 999px; color: #fff; font-size: 9px; font-weight: 700; padding: 9px 13px; }

@media (max-width: 1180px) {
    .ai-project-cycle-toolbar { grid-template-columns: 1fr 1fr; }
    .ai-project-cycle-toolbar .ai-eov-toolbar__intro { grid-column: 1 / -1; }
    .ai-project-cycle-toolbar .ai-eov-select-control:first-of-type { border-left: 0; padding-left: 0; }
    .ai-project-cycle-context-filter { grid-template-columns: 1fr 1fr; }
    .ai-project-cycle-context-filter__intro { grid-column: 1 / -1; }
    .ai-project-cycle-context-filter .ai-eov-select-control:first-of-type { border-left: 0; padding-left: 0; }
    .ai-project-cycle-type-grid { grid-template-columns: 1fr; }
    .ai-project-cycle-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ai-project-cycle-chart-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .ai-project-cycle-toolbar { grid-template-columns: 1fr; margin-left: 10px; margin-right: 10px; }
    .ai-project-cycle-toolbar .ai-eov-toolbar__intro { grid-column: auto; }
    .ai-project-cycle-toolbar .ai-eov-select-control { border-left: 0; border-top: 1px solid #e2eeeb; padding-left: 0; padding-top: 11px; }
    .ai-project-cycle-context-filter { grid-template-columns: 1fr; margin-left: 10px; margin-right: 10px; }
    .ai-project-cycle-context-filter__intro { grid-column: auto; }
    .ai-project-cycle-context-filter .ai-eov-select-control { border-left: 0; border-top: 1px solid #e2eeeb; padding-left: 0; padding-top: 11px; }
    .ai-project-cycle-context-filter__summary { grid-column: auto; }
    .ai-project-cycle-linked-filter { align-items: flex-start; flex-wrap: wrap; margin-left: 10px; margin-right: 10px; }
    .ai-project-cycle-linked-filter > span { flex-basis: calc(100% - 24px); }
    .ai-project-cycle-section-header { align-items: flex-start; flex-direction: column; gap: 13px; }
    .ai-project-cycle-scope { white-space: normal; }
    .ai-project-cycle-rankings { grid-template-columns: 1fr; }
    .ai-project-cycle-ranking > button { grid-template-columns: 30px minmax(0, 1fr); }
    .ai-project-cycle-ranking__duration { grid-column: 2; text-align: left; }
    .ai-project-cycle-kpis { grid-template-columns: 1fr; }
}
