/* Panel-wide table and list helpers (light + dark). */

.fi-ta-row.ih-row-hosted,
tr.ih-row-hosted {
    --ih-hosted-row-bg: rgb(236 253 245);
}

.dark .fi-ta-row.ih-row-hosted,
html.dark .fi-ta-row.ih-row-hosted,
.dark tr.ih-row-hosted,
html.dark tr.ih-row-hosted {
    --ih-hosted-row-bg: rgb(52 211 153 / 0.14);
}

.fi-ta-row.ih-row-hosted > .fi-ta-cell,
.fi-ta-row.ih-row-hosted > td,
tr.ih-row-hosted > .fi-ta-cell,
tr.ih-row-hosted > td {
    background-color: var(--ih-hosted-row-bg) !important;
}

.ih-domain-cell {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    text-align: start;
    font-weight: 600;
}

.ih-domain-cell__name {
    text-align: start;
}

.fi-ta-cell:has(.ih-domain-cell),
.fi-ta-cell:has(.ih-domain-cell) .fi-ta-col,
.fi-ta-cell:has(.ih-domain-cell) .fi-ta-text,
.fi-ta-cell:has(.ih-domain-cell) .fi-ta-text-item,
.fi-ta-cell.ih-domain-col,
.fi-ta-cell.ih-domain-col .fi-ta-col,
.fi-ta-cell.ih-domain-col .fi-ta-text {
    text-align: start !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
}

.ih-cost-forecast {
    width: 100%;
}

.ih-cost-forecast__table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 0.75rem;
    line-height: 1.2;
}

.ih-cost-forecast__col-currency {
    width: 3.25rem;
}

.ih-cost-forecast__head {
    color: rgb(107 114 128);
    font-weight: 500;
    text-align: center;
    padding: 0 0.2rem 0.4rem;
}

.ih-cost-forecast__head--label {
    text-align: start;
}

.dark .ih-cost-forecast__head,
html.dark .ih-cost-forecast__head {
    color: rgb(156 163 175);
}

.ih-cost-forecast__currency {
    color: rgb(75 85 99);
    font-weight: 600;
    padding-inline-end: 0.5rem;
    text-align: start;
    white-space: nowrap;
    vertical-align: middle;
}

.dark .ih-cost-forecast__currency,
html.dark .ih-cost-forecast__currency {
    color: rgb(209 213 219);
}

.ih-cost-forecast__table td {
    padding: 0.12rem;
    vertical-align: stretch;
}

.ih-cost-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 0.1rem;
    min-height: 2.75rem;
    border-radius: 0.35rem;
    padding: 0.4rem 0.4rem;
    text-align: end;
    color: rgb(17 24 39);
}

.dark .ih-cost-cell,
html.dark .ih-cost-cell {
    color: rgb(243 244 246);
}

.ih-cost-cell__amount {
    display: block;
    width: 100%;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    white-space: nowrap;
    text-align: end;
}

.ih-cost-cell__empty {
    display: block;
    width: 100%;
    text-align: end;
    color: rgb(156 163 175);
}

.dark .ih-cost-cell__empty,
html.dark .ih-cost-cell__empty {
    color: rgb(107 114 128);
}

.fi-ta-cell.ih-cost-col,
.fi-ta-cell.ih-cost-col .fi-ta-col,
.fi-ta-cell.ih-cost-col .fi-ta-text,
.fi-ta-header-cell.ih-cost-col {
    text-align: end !important;
    justify-content: flex-end !important;
}

.ih-money {
    display: block;
    width: 100%;
    font-variant-numeric: tabular-nums;
    text-align: end;
    white-space: nowrap;
}

.ih-cost-forecast__col-year {
    width: 4.5rem;
}

.ih-cost-forecast__head--year {
    font-weight: 700;
}

.ih-cost-forecast__currency--total {
    font-weight: 700;
}

.ih-cost-cell--total {
    background-color: rgb(254 243 199);
    font-weight: 700;
}

.dark .ih-cost-cell--total,
html.dark .ih-cost-cell--total {
    background-color: rgb(146 64 14 / 0.35);
}

.ih-cost-cell--footer {
    align-items: flex-end;
    gap: 0.15rem;
    min-height: 2.75rem;
    background-color: rgb(255 251 235);
}

.dark .ih-cost-cell--footer,
html.dark .ih-cost-cell--footer {
    background-color: rgb(120 53 15 / 0.25);
}

.ih-cost-cell__amount--stack {
    font-size: 0.65rem;
    font-weight: 600;
    line-height: 1.15;
}

.ih-cost-cell--0 {
    background-color: rgb(243 244 246);
}

.dark .ih-cost-cell--0,
html.dark .ih-cost-cell--0 {
    background-color: rgb(255 255 255 / 0.06);
}

.ih-cost-cell--1 {
    background-color: rgb(254 249 195);
}

.dark .ih-cost-cell--1,
html.dark .ih-cost-cell--1 {
    background-color: rgb(113 63 18 / 0.4);
}

.ih-cost-cell--2 {
    background-color: rgb(253 230 138);
}

.dark .ih-cost-cell--2,
html.dark .ih-cost-cell--2 {
    background-color: rgb(146 64 14 / 0.45);
}

.ih-cost-cell--3 {
    background-color: rgb(252 211 77);
}

.dark .ih-cost-cell--3,
html.dark .ih-cost-cell--3 {
    background-color: rgb(180 83 9 / 0.55);
}

.ih-cost-cell--4 {
    background-color: rgb(251 146 60);
}

.dark .ih-cost-cell--4,
html.dark .ih-cost-cell--4 {
    background-color: rgb(234 88 12 / 0.65);
}

.ih-cost-cell--clickable {
    width: 100%;
    border: 1px solid transparent;
    cursor: pointer;
    transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.ih-cost-cell--clickable:hover,
.ih-cost-cell--clickable:focus-visible {
    border-color: rgb(217 119 6);
    box-shadow: 0 0 0 2px rgb(251 191 36 / 0.45);
    outline: none;
}

.ih-cost-cell--active {
    border-color: rgb(194 65 12) !important;
    box-shadow: 0 0 0 2px rgb(234 88 12 / 0.55);
}

.ih-cost-cell__amount--clickable {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    text-align: end;
    border-radius: 0.25rem;
    padding: 0.05rem 0.15rem;
}

.ih-cost-cell__amount--clickable:hover,
.ih-cost-cell__amount--clickable:focus-visible {
    background: rgb(254 243 199);
    outline: none;
}

.dark .ih-cost-cell__amount--clickable:hover,
html.dark .ih-cost-cell__amount--clickable:hover,
.dark .ih-cost-cell__amount--clickable:focus-visible,
html.dark .ih-cost-cell__amount--clickable:focus-visible {
    background: rgb(146 64 14 / 0.45);
}

.ih-cost-cell__amount--active {
    background: rgb(253 186 116);
    font-weight: 700;
}

.dark .ih-cost-cell__amount--active,
html.dark .ih-cost-cell__amount--active {
    background: rgb(234 88 12 / 0.55);
}

.ih-forecast-filter {
    width: 100%;
}

.ih-domain-type {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgb(75 85 99);
}

.dark .ih-domain-type,
html.dark .ih-domain-type {
    color: rgb(209 213 219);
}

.ih-domain-type--empty {
    color: rgb(156 163 175);
}

.dark .ih-domain-type--empty,
html.dark .ih-domain-type--empty {
    color: rgb(107 114 128);
}

.ih-parked-hero {
    display: flex;
    aspect-ratio: 16 / 9;
    width: 100%;
    min-height: 8.5rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0.75rem;
    border: 1px solid rgb(209 213 219);
    background: rgb(243 244 246);
}

.dark .ih-parked-hero,
html.dark .ih-parked-hero {
    border-color: rgb(75 85 99);
    background: rgb(31 41 55);
}

.ih-parked-hero__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ih-parked-hero--empty {
    flex-direction: column;
    gap: 0.45rem;
    color: rgb(75 85 99);
}

.dark .ih-parked-hero--empty,
html.dark .ih-parked-hero--empty {
    color: rgb(156 163 175);
}

.ih-parked-hero__icon {
    width: 2.25rem;
    height: 2.25rem;
}

.ih-parked-hero__label {
    font-size: 0.8rem;
    font-weight: 600;
}
