.color-danger { color: #B71C1C !important; }

.color-high { color: #E65100 !important; }

.color-warning { color: #F9A825 !important; }

.color-info { color: #1565C0 !important; }

.color-success { color: #43A047 !important; }

.color-very-low { color: #1B5E20 !important; }

.bg-very-high {
    background-color: #B71C1C !important;
    color: #fff !important;
}

.bg-high {
    background-color: #E65100 !important;
    color: #fff !important;
}

.bg-moderate {
    background-color: #F9A825 !important;
    color: #212529 !important;
}

.bg-low {
    background-color: #43A047 !important;
    color: #fff !important;
}

.bg-very-low {
    background-color: #1B5E20 !important;
    color: #fff !important;
}

.bg-confidence-high {
    background-color: #1565C0 !important;
    color: #fff !important;
}

.bg-confidence-moderate {
    background-color: #607D8B !important;
    color: #fff !important;
}

.bg-confidence-low {
    background-color: #B0BEC5 !important;
    color: #212529 !important;
}

.bg-light-grey {
    background-color: #f9f9f9 !important;
}

.bg-severe-weather {
    background-color: #EA580C !important;
    color: #fff !important;
}

.bg-wildfire {
    background-color: #B91C1C !important;
    color: #fff !important;
}

.bg-earthquake {
    background-color: #7C3AED !important;
    color: #fff !important;
}

.bg-landslide {
    background-color: #6B5E2E !important;
    color: #fff !important;
}

.bg-environmental {
    background-color: #0F766E !important;
    color: #fff !important;
}

.color-deep-slaty-navy { color: #2C3E50 !important; }
.card-featured-deep-slaty-navy { border-color: #2C3E50 !important; }

.input-validation-error {
    -ms-background-repeat: no-repeat;
    background-repeat: no-repeat;
    -ms-background-position: right calc(.375em + .1875rem) center;
    background-position: right calc(.375em + .1875rem) center;
    -ms-background-size: calc(.75em + .375rem) calc(.75em + .375rem);
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
}

.action-icon {
    font-size: 16px;
    color: #607D8B;
    -ms-transition: color .15s ease;
    -o-transition: color .15s ease;
    -webkit-transition: color .15s ease;
    transition: color .15s ease;
}

.table-hover tbody tr:hover .action-icon {
    color: #1565C0;
}

.action-icon:hover {
    color: #1565C0;
}

.action-icon-danger {
    font-size: 16px;
    color: #B71C1C;
    -ms-transition: color .15s ease;
    -o-transition: color .15s ease;
    -webkit-transition: color .15s ease;
    transition: color .15s ease;
}

.table-hover tbody tr:hover .action-icon-danger {
    color: #E65100;
}

.action-icon-danger:hover {
    color: #E65100;
}

.min-width-145 {
    min-width: 145px !important;
}

.text-justify {
    text-align: justify;
}

.notyf {
    padding: 1rem !important;
    z-index: 10050 !important;
}

.notyf .trueviewly-notyf {
    background: transparent !important;
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(23, 25, 64, .18);
    color: #171940;
    max-width: min(420px, calc(100vw - 2rem));
    overflow: visible;
    padding: 0;
    width: auto;
}

.notyf .trueviewly-notyf::before {
    background: var(--tv-notyf-accent, #006d6f);
    border-radius: 14px 0 0 14px;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    top: 0;
    width: 5px;
    z-index: 12;
}

.notyf .trueviewly-notyf .notyf__wrapper {
    align-items: center;
    background:
        radial-gradient(circle at 96% 0%, var(--tv-notyf-glow, rgba(8, 168, 138, .16)), transparent 12rem),
        rgba(255, 255, 255, .97);
    border: 1px solid rgba(23, 25, 64, .1);
    border-radius: 14px;
    display: grid;
    gap: .85rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 72px;
    padding: .95rem 1rem .95rem 1.1rem;
}

.notyf .trueviewly-notyf .notyf__icon {
    align-items: center;
    animation-delay: .08s;
    background: var(--tv-notyf-icon-bg, rgba(0, 109, 111, .1));
    border: 1px solid var(--tv-notyf-icon-border, rgba(0, 109, 111, .18));
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 36px;
    height: 36px;
    justify-content: center;
    margin: 0;
    opacity: 1;
    width: 36px;
}

.notyf .trueviewly-notyf .notyf__icon i {
    align-items: center;
    display: inline-flex;
    font-size: .88rem;
    justify-content: center;
    line-height: 1;
}

    .notyf .trueviewly-notyf .notyf__message {
        animation-delay: .05s;
        color: #344054;
        font-size: .92rem;
        font-weight: 600 !important;
        line-height: 1.45;
        opacity: 1;
        padding: 0;
    }

.notyf .trueviewly-notyf .notyf__dismiss {
    animation-delay: .08s;
    height: 34px;
    margin: 0;
    opacity: 1;
    position: relative;
    width: 34px;
}

.notyf .trueviewly-notyf .notyf__dismiss-btn {
    align-items: center;
    background: rgba(23, 25, 64, .055);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 999px;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    opacity: 1;
    position: relative;
    width: 34px;
}

.notyf .trueviewly-notyf .notyf__dismiss-btn::before,
.notyf .trueviewly-notyf .notyf__dismiss-btn::after {
    background: #667085;
    height: 11px;
    left: 15px;
    top: 10px;
}

.notyf .trueviewly-notyf .notyf__dismiss-btn:hover,
.notyf .trueviewly-notyf .notyf__dismiss-btn:focus {
    background: rgba(0, 109, 111, .09);
    border-color: rgba(0, 109, 111, .18);
    opacity: 1;
}

.notyf .trueviewly-notyf-success {
    --tv-notyf-accent: #006d6f;
    --tv-notyf-glow: rgba(8, 168, 138, .16);
    --tv-notyf-icon-bg: rgba(0, 109, 111, .1);
    --tv-notyf-icon-border: rgba(0, 109, 111, .18);
}

.notyf .trueviewly-notyf-error {
    --tv-notyf-accent: #b71c1c;
    --tv-notyf-glow: rgba(183, 28, 28, .1);
    --tv-notyf-icon-bg: rgba(183, 28, 28, .09);
    --tv-notyf-icon-border: rgba(183, 28, 28, .18);
}

@media (max-width: 575.98px) {
    .notyf {
        padding: .75rem !important;
    }

    .notyf .trueviewly-notyf {
        max-width: calc(100vw - 1.5rem);
        width: calc(100vw - 1.5rem);
    }

    .notyf .trueviewly-notyf .notyf__wrapper {
        grid-template-columns: auto minmax(0, 1fr) auto;
        padding: .85rem .9rem .85rem 1rem;
    }
}

body.share-popup-scroll-locked {
    overflow: hidden !important;
    position: fixed;
    width: 100%;
}

.share-report-popup {
    max-width: 860px;
}

.share-report-popup .card {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .14), transparent 22rem),
        linear-gradient(135deg, #ffffff 0%, #f8fcfc 100%);
    border: 1px solid rgba(0, 109, 111, .14);
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(23, 25, 64, .18);
    overflow: hidden;
}

.share-report-header {
    align-items: flex-start;
    background: transparent;
    border-bottom: 1px solid rgba(23, 25, 64, .08);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1.1rem 1.2rem;
}

.share-report-header .card-title {
    color: #171940;
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: 0;
}

.share-report-header .card-subtitle {
    color: #4f5d6b;
    line-height: 1.5;
}

.share-report-popup .card-body {
    padding: 1.15rem 1.2rem 1.25rem;
}

.share-report-popup .btn-close {
    background-color: rgba(23, 25, 64, .055);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 999px;
    box-shadow: none;
    opacity: .78;
    padding: .55rem;
}

.share-report-popup .btn-close:hover,
.share-report-popup .btn-close:focus {
    background-color: rgba(0, 109, 111, .09);
    border-color: rgba(0, 109, 111, .18);
    box-shadow: none;
    opacity: 1;
}

.share-report-busy {
    background: rgba(248, 252, 252, .78);
    backdrop-filter: blur(6px);
    inset: 0;
    position: absolute;
    z-index: 4;
}

.share-create-panel,
.share-copy-fallback,
.share-revoke-confirm,
.share-empty-state,
.share-link-item {
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
}

.share-create-panel {
    background: rgba(255, 255, 255, .92);
    margin-bottom: 1rem;
    padding: 1rem;
}

.share-create-panel .form-control-modern {
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 10px;
    min-height: 44px;
}

.share-create-panel .form-control-modern:focus {
    background: #fff;
    border-color: rgba(0, 109, 111, .38);
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .1);
}

.share-section-title {
    color: #171940;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25;
    margin: 0;
}

.share-toggle-row {
    align-items: center;
    background: linear-gradient(180deg, rgba(246, 251, 251, .86), rgba(255, 255, 255, .92));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 10px;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .8rem 1rem;
}

.share-copy-fallback {
    background: rgba(67, 160, 71, .08);
    border-color: rgba(67, 160, 71, .24);
    margin-bottom: 1rem;
    padding: 1rem;
}

.share-revoke-confirm {
    align-items: center;
    background: rgba(183, 28, 28, .06);
    border-color: rgba(183, 28, 28, .2);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: .9rem 1rem;
}

.share-links-section {
    margin-top: .25rem;
}

.share-empty-state {
    background: linear-gradient(180deg, rgba(246, 251, 251, .82), rgba(255, 255, 255, .92));
    border-style: dashed;
    padding: 1.5rem 1rem;
    text-align: center;
}

.share-empty-state i {
    color: #006d6f;
    font-size: 1.75rem;
}

.share-link-list {
    display: grid;
    gap: .75rem;
}

.share-link-item {
    align-items: center;
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .82));
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .9rem 1rem;
}

.share-link-main {
    min-width: 0;
}

.share-link-meta {
    color: #4f5d6b;
    display: flex;
    flex-wrap: wrap;
    font-size: .8125rem;
    gap: .45rem .9rem;
    margin-top: .4rem;
}

.share-link-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: flex-end;
}

@media (max-width: 575.98px) {
    .share-link-item,
    .share-revoke-confirm,
    .share-toggle-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .share-link-actions {
        justify-content: flex-start;
        width: 100%;
    }
}

.reports-workspace-header {
    margin-bottom: .5rem;
}

.reports-stat-card .card-body {
    min-height: 92px;
}

.reports-stat-value {
    color: #212529;
    font-size: 1.65rem;
    font-weight: 600 !important;
    line-height: 1.1;
}

.reports-stat-icon {
    align-items: center;
    border-radius: .5rem;
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.reports-filter-card .input-group-text {
    background: #f8f9fa;
}

.reports-advanced-filters {
    background: #f8f9fa;
    border: 1px solid rgba(33, 37, 41, .08);
    border-radius: .5rem;
    padding: 1rem;
}

.reports-selection-bar {
    background: #fff;
    border: 1px solid rgba(21, 101, 192, .18);
    border-left: 4px solid #1565C0;
    border-radius: .5rem;
    box-shadow: 0 .125rem .35rem rgba(33, 37, 41, .08);
    margin-bottom: 1rem;
    padding: .85rem 1rem;
    position: sticky;
    top: 72px;
    z-index: 5;
}

.reports-table > :not(caption) > * > * {
    padding-bottom: .9rem;
    padding-top: .9rem;
}

.reports-location-label {
    max-width: 320px;
}

.reports-score-pill {
    align-items: center;
    background: #f8f9fa;
    border: 1px solid rgba(33, 37, 41, .08);
    border-radius: 999px;
    display: inline-flex;
    font-weight: 600 !important;
    justify-content: center;
    min-width: 42px;
    padding: .25rem .65rem;
}

.reports-summary-cell {
    max-width: 420px;
}

.reports-row-actions {
    align-items: center;
    display: inline-flex;
    gap: .4rem;
    justify-content: flex-end;
    white-space: nowrap;
}

.reports-empty-state {
    padding: 2.25rem 1rem;
    text-align: center;
}

.reports-empty-state i {
    color: #1565C0;
    font-size: 2rem;
}

.reports-pagination-footer {
    border-top: 1px solid rgba(33, 37, 41, .08);
    margin-top: .75rem;
    padding-top: 1rem;
}

.report-detail-hero {
    background: #fff;
    border-left: 4px solid #1565C0;
}

.report-detail-hero .card-body {
    padding: 1.25rem;
}

.report-detail-score {
    align-items: center;
    background: #f8f9fa;
    border: 1px solid rgba(33, 37, 41, .08);
    border-radius: .5rem;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    min-height: 78px;
    min-width: 92px;
    padding: .65rem .9rem;
}

.report-detail-score strong {
    color: #212529;
    font-size: 1.8rem;
    line-height: 1;
}

.report-detail-facts {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.report-detail-fact {
    background: #f8f9fa;
    border: 1px solid rgba(33, 37, 41, .08);
    border-radius: .5rem;
    min-width: 0;
    padding: .75rem;
}

.report-detail-fact-label {
    color: #6c757d;
    font-size: .75rem;
    font-weight: 600 !important;
    text-transform: uppercase;
}

.report-detail-fact-value {
    color: #212529;
    font-weight: 600;
    margin-top: .2rem;
    overflow-wrap: break-word;
}

.tv-report-shell {
    background:
        radial-gradient(circle at top left, rgba(8, 168, 138, .16), transparent 32rem),
        linear-gradient(135deg, #ffffff 0%, #f7fbfb 50%, #eef7f6 100%);
    border: 1px solid rgba(0, 109, 111, .12);
    border-radius: 12px;
    box-shadow: 0 18px 45px rgba(23, 25, 64, .08);
    overflow: hidden;
    padding: 1.35rem;
}

.tv-report-command {
    align-items: flex-start;
    display: grid;
    gap: .45rem 1.25rem;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: 1rem;
}

.tv-report-command-copy {
    display: contents;
    min-width: 0;
}

.tv-report-back-link {
    align-items: center;
    background: rgba(23, 25, 64, .055);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 999px;
    color: #4f5d6b;
    display: inline-flex;
    font-size: .8rem;
    font-weight: 600;
    gap: .4rem;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    margin-bottom: .5rem;
    margin-right: 0;
    padding: .38rem .68rem;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.tv-report-back-link:hover {
    background: rgba(0, 109, 111, .09);
    border-color: rgba(0, 109, 111, .16);
    color: #006d6f;
    text-decoration: none;
    transform: translateX(-1px);
}

.tv-report-eyebrow {
    color: #006d6f;
    display: inline-flex;
    font-size: 1.2rem;
    font-weight: 600;
    grid-column: 1;
    grid-row: 2;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.tv-report-command h1 {
    color: #171940;
    font-size: clamp(1.55rem, 2vw, 2.15rem);
    font-weight: 600;
    grid-column: 1 / -1;
    grid-row: 3;
    letter-spacing: 0;
    line-height: 1.15;
    margin: .25rem 0 .55rem;
}

.tv-report-command p {
    color: #4f5d6b;
    font-size: .98rem;
    grid-column: 1 / -1;
    grid-row: 4;
    line-height: 1.6;
    margin: 0;
}

.tv-report-command-actions {
    align-items: flex-end;
    display: flex;
    flex-wrap: nowrap;
    gap: .5rem;
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-content: flex-end;
    justify-self: end;
    max-width: none;
    min-width: 0;
}

.tv-report-command-actions .btn {
    white-space: nowrap;
}

.tv-report-chip-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    grid-column: 1 / -1;
    grid-row: 5;
    margin-top: .9rem;
}

.tv-report-muted-chip {
    background: rgba(23, 25, 64, .06);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 999px;
    color: #4f5d6b;
    font-size: .78rem;
    font-weight: 600;
    padding: .35rem .7rem;
}

.tv-report-score-chip {
    background: #171940;
    border-radius: 999px;
    color: #fff;
    font-size: .78rem;
    font-weight: 600;
    padding: .35rem .7rem;
}

.tv-action-btn {
    --tv-action-bg: rgba(255, 255, 255, .92);
    --tv-action-border: rgba(0, 109, 111, .18);
    --tv-action-color: #006d6f;
    --tv-action-hover-bg: rgba(0, 109, 111, .09);
    --tv-action-hover-border: rgba(0, 109, 111, .28);
    --tv-action-hover-color: #004f51;
    --tv-action-shadow: 0 10px 24px rgba(23, 25, 64, .06);
    align-items: center;
    background:
        linear-gradient(135deg, var(--tv-action-bg), color-mix(in srgb, var(--tv-action-bg) 82%, #ffffff));
    background-color: var(--tv-action-bg) !important;
    border: 1px solid var(--tv-action-border) !important;
    border-color: var(--tv-action-border) !important;
    border-radius: 999px;
    box-shadow: var(--tv-action-shadow);
    color: var(--tv-action-color) !important;
    display: inline-flex;
    font-size: .88rem;
    font-weight: 600;
    gap: .48rem;
    justify-content: center;
    letter-spacing: .005em;
    line-height: 1.1;
    min-height: 42px;
    padding: .68rem 1rem;
    text-decoration: none;
    transition:
        background .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        color .18s ease,
        opacity .18s ease,
        transform .18s ease;
    white-space: nowrap;
}

.tv-action-btn.btn-sm {
    font-size: .82rem;
    min-height: 38px;
    padding: .56rem .86rem;
}

.tv-action-btn i {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .95rem;
    justify-content: center;
    line-height: 1;
}

.tv-action-btn .spinner-border {
    border-width: .14em;
    height: .9rem;
    margin-left: .05rem;
    width: .9rem;
}

.tv-action-btn-primary {
    --tv-action-bg: #006d6f;
    --tv-action-border: rgba(0, 109, 111, .72);
    --tv-action-color: #ffffff;
    --tv-action-hover-bg: #075f61;
    --tv-action-hover-border: rgba(0, 79, 81, .82);
    --tv-action-hover-color: #ffffff;
    --tv-action-shadow: 0 12px 26px rgba(0, 109, 111, .18);
}

.tv-action-btn-secondary {
    --tv-action-bg: rgba(255, 255, 255, .9);
    --tv-action-border: rgba(0, 109, 111, .18);
    --tv-action-color: #006d6f;
    --tv-action-hover-bg: rgba(0, 109, 111, .09);
    --tv-action-hover-border: rgba(0, 109, 111, .3);
    --tv-action-hover-color: #004f51;
}

.tv-action-btn-muted {
    --tv-action-bg: rgba(23, 25, 64, .055);
    --tv-action-border: rgba(23, 25, 64, .08);
    --tv-action-color: #6b7788;
    --tv-action-hover-bg: rgba(23, 25, 64, .055);
    --tv-action-hover-border: rgba(23, 25, 64, .08);
    --tv-action-hover-color: #6b7788;
    --tv-action-shadow: none;
}

.tv-action-btn-pdf {
    --tv-action-bg: rgba(183, 28, 28, .08);
    --tv-action-border: rgba(183, 28, 28, .2);
    --tv-action-color: #9a1616;
    --tv-action-hover-bg: rgba(183, 28, 28, .13);
    --tv-action-hover-border: rgba(183, 28, 28, .32);
    --tv-action-hover-color: #7c1111;
}

.tv-action-btn-danger {
    --tv-action-bg: rgba(183, 28, 28, .08);
    --tv-action-border: rgba(183, 28, 28, .2);
    --tv-action-color: #9a1616;
    --tv-action-hover-bg: rgba(183, 28, 28, .13);
    --tv-action-hover-border: rgba(183, 28, 28, .32);
    --tv-action-hover-color: #7c1111;
}

.tv-action-btn-primary.tv-action-btn-pdf {
    --tv-action-bg: #b71c1c;
    --tv-action-border: rgba(183, 28, 28, .78);
    --tv-action-color: #ffffff;
    --tv-action-hover-bg: #991616;
    --tv-action-hover-border: rgba(153, 22, 22, .9);
    --tv-action-hover-color: #ffffff;
    --tv-action-shadow: 0 12px 26px rgba(183, 28, 28, .18);
}

.tv-action-btn:hover,
.tv-action-btn:focus,
.tv-action-btn:active,
.tv-action-btn.active,
.tv-action-btn:focus:active,
.tv-action-btn:first-child:active,
.btn.tv-action-btn:active,
.btn.tv-action-btn:focus,
.btn.tv-action-btn.show,
.show > .tv-action-btn.dropdown-toggle {
    background:
        linear-gradient(135deg, var(--tv-action-hover-bg), color-mix(in srgb, var(--tv-action-hover-bg) 78%, #ffffff)) !important;
    background-color: var(--tv-action-hover-bg) !important;
    border-color: var(--tv-action-hover-border) !important;
    box-shadow: 0 14px 30px rgba(23, 25, 64, .1);
    color: var(--tv-action-hover-color) !important;
    text-decoration: none;
    transform: translateY(-1px);
}

.tv-action-btn:active,
.tv-action-btn.active,
.tv-action-btn:focus:active,
.tv-action-btn:first-child:active,
.btn.tv-action-btn:active,
.show > .tv-action-btn.dropdown-toggle {
    transform: translateY(0);
}

.tv-action-btn:focus:not(:focus-visible) {
    background:
        linear-gradient(135deg, var(--tv-action-bg), color-mix(in srgb, var(--tv-action-bg) 82%, #ffffff)) !important;
    background-color: var(--tv-action-bg) !important;
    border-color: var(--tv-action-border) !important;
    box-shadow: var(--tv-action-shadow);
    color: var(--tv-action-color) !important;
    transform: none;
}

.tv-action-btn:focus-visible {
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .18), 0 14px 30px rgba(23, 25, 64, .1);
    outline: none;
}

.tv-action-btn:disabled,
.tv-action-btn.disabled,
.tv-action-btn[aria-disabled="true"] {
    box-shadow: none;
    cursor: not-allowed;
    opacity: .55;
    transform: none;
}

.tv-action-btn:disabled:hover,
.tv-action-btn.disabled:hover,
.tv-action-btn[aria-disabled="true"]:hover {
    background:
        linear-gradient(135deg, var(--tv-action-bg), color-mix(in srgb, var(--tv-action-bg) 82%, #ffffff));
    background-color: var(--tv-action-bg) !important;
    border-color: var(--tv-action-border) !important;
    color: var(--tv-action-color) !important;
    transform: none;
}

.tv-report-badge {
    align-items: center;
    border: 1px solid var(--tv-report-badge-border, rgba(23, 25, 64, .08));
    border-radius: 999px;
    color: var(--tv-report-badge-color, #273244);
    display: inline-flex;
    font-size: .74rem;
    font-weight: 600;
    gap: .36rem;
    letter-spacing: .01em;
    line-height: 1;
    min-height: 1.65rem;
    padding: .34rem .66rem;
    text-decoration: none;
    vertical-align: middle;
    white-space: nowrap;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .42)),
        var(--tv-report-badge-bg, rgba(23, 25, 64, .045));
}

.tv-report-badge::before {
    background: var(--tv-report-badge-dot, currentColor);
    border-radius: 999px;
    content: "";
    flex: 0 0 .38rem;
    height: .38rem;
    opacity: .86;
    width: .38rem;
}

.tv-report-badge-source,
.tv-report-badge-status,
.tv-report-badge-evidence {
    --tv-report-badge-bg: rgba(23, 25, 64, .04);
    --tv-report-badge-border: rgba(23, 25, 64, .08);
    --tv-report-badge-color: #4f5d6b;
    --tv-report-badge-dot: #8a97a6;
}

.tv-report-badge-risk-very-high,
.tv-report-badge-priority-very-high {
    --tv-report-badge-bg: rgba(183, 28, 28, .09);
    --tv-report-badge-border: rgba(183, 28, 28, .18);
    --tv-report-badge-color: #8f1515;
    --tv-report-badge-dot: #b71c1c;
}

.tv-report-badge-risk-high,
.tv-report-badge-priority-high {
    --tv-report-badge-bg: rgba(230, 81, 0, .1);
    --tv-report-badge-border: rgba(230, 81, 0, .18);
    --tv-report-badge-color: #9f3900;
    --tv-report-badge-dot: #e65100;
}

.tv-report-badge-risk-moderate,
.tv-report-badge-priority-moderate {
    --tv-report-badge-bg: rgba(249, 168, 37, .13);
    --tv-report-badge-border: rgba(177, 116, 17, .2);
    --tv-report-badge-color: #7a520b;
    --tv-report-badge-dot: #d18a0f;
}

.tv-report-badge-risk-low,
.tv-report-badge-priority-low {
    --tv-report-badge-bg: rgba(67, 160, 71, .1);
    --tv-report-badge-border: rgba(67, 160, 71, .18);
    --tv-report-badge-color: #2d7430;
    --tv-report-badge-dot: #43a047;
}

.tv-report-badge-risk-very-low,
.tv-report-badge-priority-very-low {
    --tv-report-badge-bg: rgba(27, 94, 32, .09);
    --tv-report-badge-border: rgba(27, 94, 32, .16);
    --tv-report-badge-color: #1b5e20;
    --tv-report-badge-dot: #1b5e20;
}

.tv-report-badge-risk-neutral,
.tv-report-badge-priority-neutral {
    --tv-report-badge-bg: rgba(96, 112, 128, .08);
    --tv-report-badge-border: rgba(96, 112, 128, .14);
    --tv-report-badge-color: #4f5d6b;
    --tv-report-badge-dot: #607080;
}

.tv-report-badge-confidence-high {
    --tv-report-badge-bg: rgba(21, 101, 192, .09);
    --tv-report-badge-border: rgba(21, 101, 192, .16);
    --tv-report-badge-color: #134d8e;
    --tv-report-badge-dot: #1565c0;
}

.tv-report-badge-confidence-moderate {
    --tv-report-badge-bg: rgba(96, 125, 139, .09);
    --tv-report-badge-border: rgba(96, 125, 139, .16);
    --tv-report-badge-color: #405762;
    --tv-report-badge-dot: #607d8b;
}

.tv-report-badge-confidence-low,
.tv-report-badge-confidence-neutral {
    --tv-report-badge-bg: rgba(176, 190, 197, .16);
    --tv-report-badge-border: rgba(96, 112, 128, .16);
    --tv-report-badge-color: #4f5d6b;
    --tv-report-badge-dot: #8a97a6;
}

.tv-report-badge-evidence-primary {
    --tv-report-badge-bg: rgba(0, 109, 111, .08);
    --tv-report-badge-border: rgba(0, 109, 111, .16);
    --tv-report-badge-color: #006d6f;
    --tv-report-badge-dot: #006d6f;
}

.tv-report-badge-evidence-site {
    --tv-report-badge-bg: rgba(21, 101, 192, .08);
    --tv-report-badge-border: rgba(21, 101, 192, .14);
    --tv-report-badge-color: #134d8e;
    --tv-report-badge-dot: #1565c0;
}

.tv-report-badge-evidence-modifier {
    --tv-report-badge-bg: rgba(249, 168, 37, .12);
    --tv-report-badge-border: rgba(177, 116, 17, .18);
    --tv-report-badge-color: #7a520b;
    --tv-report-badge-dot: #d18a0f;
}

.tv-report-badge-evidence-context {
    --tv-report-badge-bg: rgba(69, 90, 100, .08);
    --tv-report-badge-border: rgba(69, 90, 100, .14);
    --tv-report-badge-color: #455a64;
    --tv-report-badge-dot: #455a64;
}

.tv-report-badge-status-success {
    --tv-report-badge-bg: rgba(67, 160, 71, .1);
    --tv-report-badge-border: rgba(67, 160, 71, .18);
    --tv-report-badge-color: #2d7430;
    --tv-report-badge-dot: #43a047;
}

.tv-report-badge-status-warning {
    --tv-report-badge-bg: rgba(249, 168, 37, .12);
    --tv-report-badge-border: rgba(177, 116, 17, .18);
    --tv-report-badge-color: #7a520b;
    --tv-report-badge-dot: #d18a0f;
}

.tv-report-badge-status-danger {
    --tv-report-badge-bg: rgba(183, 28, 28, .09);
    --tv-report-badge-border: rgba(183, 28, 28, .18);
    --tv-report-badge-color: #8f1515;
    --tv-report-badge-dot: #b71c1c;
}

.tv-report-badge-module-severe-weather {
    --tv-report-badge-bg: rgba(234, 88, 12, .09);
    --tv-report-badge-border: rgba(234, 88, 12, .16);
    --tv-report-badge-color: #a84609;
    --tv-report-badge-dot: #ea580c;
}

.tv-report-badge-module-wildfire {
    --tv-report-badge-bg: rgba(185, 28, 28, .09);
    --tv-report-badge-border: rgba(185, 28, 28, .16);
    --tv-report-badge-color: #941818;
    --tv-report-badge-dot: #b91c1c;
}

.tv-report-badge-module-earthquake {
    --tv-report-badge-bg: rgba(124, 58, 237, .09);
    --tv-report-badge-border: rgba(124, 58, 237, .16);
    --tv-report-badge-color: #5f2fc0;
    --tv-report-badge-dot: #7c3aed;
}

.tv-report-badge-module-landslide {
    --tv-report-badge-bg: rgba(107, 94, 46, .1);
    --tv-report-badge-border: rgba(107, 94, 46, .18);
    --tv-report-badge-color: #5d5128;
    --tv-report-badge-dot: #6b5e2e;
}

.tv-report-badge-module-environmental {
    --tv-report-badge-bg: rgba(15, 118, 110, .09);
    --tv-report-badge-border: rgba(15, 118, 110, .16);
    --tv-report-badge-color: #0f665f;
    --tv-report-badge-dot: #0f766e;
}

.tv-report-hero-grid {
    display: grid;
    gap: .85rem;
    grid-template-columns: 180px minmax(280px, 1fr) minmax(280px, .9fr);
    margin-top: 1.2rem;
}

.tv-report-score-panel,
.tv-report-context-panel,
.tv-report-decision-panel {
    background: rgba(255, 255, 255, .86);
    border: 1px solid rgba(0, 109, 111, .12);
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(23, 25, 64, .04);
}

.tv-report-score-panel {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 136px;
    padding: 1rem;
    text-align: center;
}

.tv-report-score-panel > span,
.tv-report-context-panel span,
.tv-report-decision-panel > span {
    color: #607080;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tv-report-score-panel > strong {
    color: #171940;
    font-size: 3rem;
    line-height: 1;
    margin: .25rem 0 .55rem;
}

.tv-report-score-footer {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    justify-content: center;
}

.tv-report-context-panel {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 1rem;
}

.tv-report-context-panel div {
    background: rgba(248, 250, 252, .86);
    border-radius: 8px;
    min-width: 0;
    padding: .75rem;
}

.tv-report-context-panel strong {
    color: #171940;
    display: block;
    font-size: .98rem;
    margin-top: .2rem;
    overflow-wrap: break-word;
    font-weight: 600 !important;
}

.tv-report-decision-panel {
    padding: 1rem;
}

.tv-report-decision-panel p {
    color: #273244;
    font-weight: 600;
    line-height: 1.55;
    margin: .4rem 0 .65rem;
}

.tv-report-decision-panel small {
    color: #607080;
    display: block;
    line-height: 1.45;
}

.tv-report-nav {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 12px;
    box-shadow: none;
    display: flex;
    gap: .35rem;
    margin: 0;
    overflow-x: auto;
    padding: 0;
    scrollbar-width: thin;
}

.tv-report-toolbar {
    align-items: stretch;
    backdrop-filter: blur(14px);
    background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(248, 251, 251, .94));
    border: 1px solid rgba(0, 109, 111, .12);
    border-radius: 14px;
    box-shadow: 0 14px 32px rgba(23, 25, 64, .08);
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: 1rem;
    padding: .35rem;
    position: relative;
    z-index: 8;
}

.tv-report-toolbar-placeholder {
    height: 0;
}

.tv-report-toolbar.is-fixed {
    background:
        radial-gradient(circle at top left, rgba(8, 168, 138, .2), transparent 20rem),
        linear-gradient(135deg, rgba(23, 25, 64, .98), rgba(21, 41, 70, .97));
    border-color: rgba(255, 255, 255, .14);
    box-shadow: 0 20px 48px rgba(23, 25, 64, .28);
    left: var(--tv-report-toolbar-left, 0);
    margin-bottom: 0;
    position: fixed;
    top: var(--tv-report-toolbar-top, 73px);
    width: var(--tv-report-toolbar-width, auto);
    z-index: 1010;
}

.tv-report-toolbar.is-fixed .tv-report-nav a {
    color: rgba(255, 255, 255, .82);
}

.tv-report-toolbar.is-fixed .tv-report-nav a:hover,
.tv-report-toolbar.is-fixed .tv-report-nav a.is-active {
    background: rgba(8, 168, 138, .18);
    color: #ffffff;
}

.tv-report-toolbar.is-fixed .tv-report-nav a.is-active {
    box-shadow: inset 0 0 0 1px rgba(8, 168, 138, .42);
}

.tv-report-toolbar.is-fixed .tv-report-nav-module {
    background: rgba(255, 255, 255, .08);
}

.tv-report-toolbar.is-fixed .tv-report-view-mode {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .16);
}

.tv-report-toolbar.is-fixed .tv-report-view-mode button {
    color: rgba(255, 255, 255, .78);
}

.tv-report-toolbar.is-fixed .tv-report-view-mode button.is-active {
    background: #08a88a;
    box-shadow: 0 8px 18px rgba(8, 168, 138, .24);
    color: #ffffff;
}

.tv-report-toolbar-inline {
    margin-bottom: 1rem;
}

.tv-report-nav a {
    border-radius: 9px;
    color: #4f5d6b;
    flex: 0 0 auto;
    font-size: .84rem;
    font-weight: 600;
    padding: .5rem .85rem;
    text-decoration: none;
}

.tv-report-nav a:hover,
.tv-report-nav a.is-active {
    background: rgba(8, 168, 138, .1);
    color: #006d6f;
    text-decoration: none;
}

.tv-report-nav a.is-active {
    box-shadow: inset 0 0 0 1px rgba(0, 109, 111, .12);
}

.tv-report-nav-module {
    background: rgba(23, 25, 64, .035);
    font-size: .78rem !important;
}

.tv-report-nav a:focus {
    background: rgba(8, 168, 138, .12);
    color: #006d6f;
    outline: 2px solid rgba(8, 168, 138, .25);
    outline-offset: 2px;
}

.tv-report-nav a:focus-visible,
.tv-report-command-actions .btn:focus-visible,
.lookup-report-actions .btn:focus-visible,
.tv-report-view-mode button:focus-visible,
.tv-report-details summary:focus-visible {
    outline: 3px solid rgba(8, 168, 138, .32);
    outline-offset: 2px;
}

.tv-report-view-mode {
    align-items: center;
    align-self: center;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(0, 109, 111, .12);
    border-radius: 12px;
    box-shadow: none;
    display: inline-flex;
    gap: .25rem;
    padding: .35rem;
    white-space: nowrap;
}

.tv-report-view-mode button {
    background: transparent;
    border: 0;
    border-radius: 9px;
    color: #4f5d6b;
    font-size: .84rem;
    font-weight: 600;
    padding: .5rem .75rem;
}

.tv-report-view-mode button.is-active {
    background: rgba(8, 168, 138, .1);
    box-shadow: inset 0 0 0 1px rgba(0, 109, 111, .12);
    color: #006d6f;
}

.tv-report-explained-badge {
    cursor: help;
}

.tv-report-explained-badge .bi {
    font-size: .82em;
}

.tv-report-map-shell #iframeContainer-address {
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(23, 25, 64, .08);
    max-height: 390px;
}

.tv-report-section {
    background: #fff;
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
    margin-bottom: 1rem;
    padding: 1.25rem;
    scroll-margin-top: 135px;
}

.tv-report-section-head {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.tv-report-section-head h2 {
    color: #171940;
    font-size: 1.18rem;
    font-weight: 600;
    margin: .18rem 0 0;
}

.tv-report-section-head p {
    color: #607080;
    line-height: 1.5;
    margin: .25rem 0 0;
    max-width: 520px;
}

.tv-report-section-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-end;
}

.tv-report-section-head > div:first-child > .tv-report-section-meta {
    color: #006d6f;
    display: inline-flex;
    font-size: .74rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.tv-report-overview-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: 170px minmax(0, 1fr);
}

.tv-report-overview-score {
    align-items: center;
    background: linear-gradient(180deg, #171940 0%, #20295a 100%);
    border-radius: 12px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 180px;
    padding: 1rem;
    text-align: center;
}

.tv-report-overview-score span {
    color: rgba(255, 255, 255, .72);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tv-report-overview-score strong {
    font-size: 3.7rem;
    line-height: 1;
    margin: .35rem 0;
}

.tv-report-overview-score small {
    color: rgba(255, 255, 255, .72);
}

.tv-report-overview-copy > p {
    color: #273244;
    font-size: 1rem;
    line-height: 1.65;
    margin: 0 0 .85rem;
}

.tv-report-note {
    border-left: 3px solid #08a88a;
    margin-top: .75rem;
    padding-left: .85rem;
}

.tv-report-note strong {
    color: #171940;
    display: block;
}

.tv-report-note span {
    color: #607080;
    display: block;
    line-height: 1.5;
    margin-top: .15rem;
}

.tv-report-details {
    background: #f8fbfb;
    border: 1px solid rgba(0, 109, 111, .12);
    border-radius: 10px;
    overflow: hidden;
}

.tv-report-details summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: .85rem 1rem;
}

.tv-report-details summary::-webkit-details-marker {
    display: none;
}

.tv-report-details summary span {
    color: #171940;
    font-weight: 600;
}

.tv-report-details summary small {
    color: #607080;
}

.tv-score-breakdown {
    background: #fff;
    border-top: 1px solid rgba(0, 109, 111, .1);
    padding: .35rem 1rem;
}

.tv-score-row {
    display: grid;
    gap: .45rem .75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: .75rem 0;
}

.tv-score-row-bordered {
    border-bottom: 1px solid rgba(23, 25, 64, .08);
}

.tv-score-row strong {
    color: #273244;
    display: block;
}

.tv-score-row span {
    color: #607080;
    display: block;
    font-size: .86rem;
    line-height: 1.45;
    margin-top: .15rem;
}

.tv-score-row-points {
    color: #171940;
    font-weight: 600 !important;
    white-space: nowrap;
}

.tv-score-progress {
    background: rgba(23, 25, 64, .08);
    border-radius: 999px;
    grid-column: 1 / -1;
    height: 6px;
    overflow: hidden;
}

.tv-score-progress span {
    border-radius: inherit;
    display: block;
    height: 100%;
    margin: 0;
}

.tv-report-insight-grid,
.tv-report-module-grid,
.tv-report-review-grid {
    display: grid;
    gap: .85rem;
}

.tv-report-insight-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tv-report-module-grid,
.tv-report-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tv-report-insight-card,
.tv-report-module-card,
.tv-report-review-card,
.tv-report-action-card {
    background: #fff;
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(23, 25, 64, .04);
}

.tv-report-insight-card,
.tv-report-module-card {
    padding: 1rem;
}

.tv-report-insight-top,
.tv-report-module-card-head,
.tv-report-review-head {
    align-items: flex-start;
    display: flex;
    gap: .85rem;
    justify-content: space-between;
}

.tv-report-insight-top span,
.tv-report-module-weight,
.tv-report-review-copy > span {
    color: #607080;
    display: block;
    font-size: .78rem;
    font-weight: 600;
}

.tv-report-insight-top strong,
.tv-report-module-name,
.tv-report-review-head h3,
.tv-report-action-copy h3 {
    color: #171940;
    display: block;
    font-size: .98rem;
    font-weight: 600 !important;
    line-height: 1.3;
    margin: .1rem 0 0;
}

.tv-report-mini-score {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: .25rem;
    text-align: right;
}

.tv-report-mini-score strong {
    color: #171940;
    font-size: 1.25rem;
    line-height: 1;
    font-weight: 600 !important;
}

.tv-report-insight-card p,
.tv-report-module-card p,
.tv-report-action-copy p,
.tv-report-review-copy p {
    color: #4f5d6b;
    line-height: 1.55;
    margin: .75rem 0 0;
}

.tv-report-next-step,
.tv-report-module-note,
.tv-report-review-action {
    background: rgba(8, 168, 138, .08);
    border-radius: 8px;
    color: #006d6f;
    margin-top: .85rem;
    padding: .7rem;
}

.tv-report-next-step {
    align-items: flex-start;
    display: flex;
    gap: .5rem;
    line-height: 1.45;
}

.tv-report-module-facts {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: .9rem;
}

.tv-report-module-facts span {
    background: #f8fafc;
    border-radius: 8px;
    color: #607080;
    font-size: .76rem;
    padding: .55rem;
}

.tv-report-module-facts strong {
    color: #273244;
    display: block;
    font-size: .86rem;
    margin-top: .15rem;
    font-weight: 600 !important;
}

.tv-report-action-list {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.tv-report-audience-grid {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tv-report-audience-card {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfb 100%);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(23, 25, 64, .04);
    display: flex;
    flex-direction: column;
    gap: .8rem;
    padding: 1rem;
}

.tv-report-audience-icon {
    align-items: center;
    background: linear-gradient(135deg, rgba(0, 109, 111, .12), rgba(8, 168, 138, .12));
    border-radius: 10px;
    color: #006d6f;
    display: inline-flex;
    font-size: 1.1rem;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.tv-report-audience-card h3 {
    color: #171940;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
}

.tv-report-audience-card p,
.tv-report-audience-next small {
    color: #607080;
    display: block;
    line-height: 1.5;
    margin: .3rem 0 0;
}

.tv-report-audience-next {
    background: #fff;
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 10px;
    margin-top: auto;
    padding: .8rem;
}

.tv-report-audience-next strong {
    color: #273244;
    display: block;
    line-height: 1.35;
    margin-top: .45rem;
    font-weight: 600 !important;
}

.tv-report-action-card {
    display: grid;
    gap: 1rem;
    grid-template-columns: 145px minmax(0, 1fr);
    padding: 1rem;
}

.tv-report-action-priority small {
    color: #607080;
    display: block;
    font-weight: 600;
    margin-top: .45rem;
}

.tv-report-action-copy h3 {
    font-size: 1rem;
}

.tv-report-action-copy span {
    color: #607080;
    display: block;
    font-size: .84rem;
    margin-top: .45rem;
}

.tv-report-empty-note {
    background: #f8fafc;
    border: 1px dashed rgba(23, 25, 64, .16);
    border-radius: 10px;
    color: #607080;
    padding: 1rem;
}

.tv-report-review-card {
    display: flex;
    gap: .85rem;
    padding: 1rem;
}

.tv-report-review-icon {
    align-items: center;
    background: linear-gradient(135deg, rgba(0, 109, 111, .12), rgba(8, 168, 138, .12));
    border-radius: 10px;
    color: #006d6f;
    display: inline-flex;
    flex: 0 0 42px;
    font-size: 1.2rem;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.tv-report-review-copy {
    min-width: 0;
}

.tv-report-review-action strong {
    display: block;
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 600 !important;
}

.tv-report-review-action span {
    color: #273244;
    display: block;
    line-height: 1.45;
    margin-top: .15rem;
}

.tv-report-section-head-compact {
    margin-bottom: .75rem;
}

.tv-report-section-head-compact h3,
.tv-report-reference-panel > h3,
.tv-report-warning-panel h3,
.tv-report-limitation-card h3,
.tv-report-glossary-term h3,
.tv-report-evidence-card h3,
.tv-report-guide-card h3 {
    color: #171940;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
}

.tv-report-guide-steps,
.tv-report-guide-grid,
.tv-report-method-grid,
.tv-report-evidence-grid,
.tv-report-glossary-grid,
.tv-report-limitation-grid,
.tv-report-source-grid {
    display: grid;
    gap: .85rem;
}

.tv-report-guide-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: .85rem;
}

.tv-report-guide-grid,
.tv-report-method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tv-report-evidence-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tv-report-glossary-grid,
.tv-report-limitation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tv-report-source-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tv-report-guide-card,
.tv-report-reference-panel,
.tv-report-evidence-card,
.tv-report-glossary-term,
.tv-report-limitation-card {
    background: #fff;
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(23, 25, 64, .04);
    padding: 1rem;
}

.tv-report-guide-card {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfb 100%);
}

.tv-report-guide-card > span {
    align-items: center;
    background: rgba(0, 109, 111, .1);
    border-radius: 999px;
    color: #006d6f;
    display: inline-flex;
    font-size: .76rem;
    font-weight: 600;
    height: 32px;
    justify-content: center;
    margin-bottom: .85rem;
    width: 42px;
}

.tv-report-guide-card p,
.tv-report-reference-panel p,
.tv-report-evidence-card p,
.tv-report-glossary-term p,
.tv-report-limitation-card p,
.tv-report-warning-panel p {
    color: #4f5d6b;
    line-height: 1.55;
    margin: .45rem 0 0;
}

.tv-report-evidence-ladder,
.tv-report-confidence-guide {
    display: flex;
    flex-direction: column;
    gap: .65rem;
}

.tv-report-evidence-ladder div,
.tv-report-confidence-guide div {
    align-items: flex-start;
    background: #f8fafc;
    border: 1px solid rgba(23, 25, 64, .06);
    border-radius: 9px;
    display: flex;
    gap: .65rem;
    padding: .7rem;
}

.tv-report-evidence-ladder p,
.tv-report-confidence-guide p {
    color: #4f5d6b;
    margin: 0;
}

.tv-report-reference-icon,
.tv-report-warning-icon {
    align-items: center;
    background: linear-gradient(135deg, rgba(0, 109, 111, .12), rgba(8, 168, 138, .12));
    border-radius: 10px;
    color: #006d6f;
    display: inline-flex;
    font-size: 1.15rem;
    height: 42px;
    justify-content: center;
    margin-bottom: .8rem;
    width: 42px;
}

.tv-report-reference-copy {
    border-top: 1px solid rgba(23, 25, 64, .08);
    padding-top: .8rem;
}

.tv-report-check-list {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    margin: .6rem 0 0;
    padding-left: 1rem;
}

.tv-report-check-list li {
    color: #4f5d6b;
    line-height: 1.45;
}

.tv-report-source-grid div {
    background: #f8fafc;
    border: 1px solid rgba(23, 25, 64, .06);
    border-radius: 9px;
    display: flex;
    flex-direction: column;
    gap: .35rem;
    min-width: 0;
    padding: .8rem;
}

.tv-report-source-grid strong,
.tv-report-glossary-term h3,
.tv-report-limitation-card h3 {
    color: #171940;
    font-weight: 600 !important;
}

.tv-report-source-grid span,
.tv-report-limitation-card div {
    color: #4f5d6b;
    line-height: 1.45;
}

.tv-report-source-grid em {
    align-self: flex-start;
    font-style: normal;
}

.tv-report-warning-panel {
    align-items: flex-start;
    background: #fff8ed;
    border: 1px solid rgba(218, 123, 26, .22);
    border-radius: 12px;
    display: flex;
    gap: 1rem;
    margin-bottom: .9rem;
    padding: 1rem;
}

.tv-report-warning-icon {
    background: rgba(218, 123, 26, .12);
    color: #a95809;
    flex: 0 0 42px;
    margin: 0;
}

.tv-report-evidence-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(249, 251, 252, .98));
    border: 1px solid rgba(23, 25, 64, .08);
    border-left: 3px solid color-mix(in srgb, var(--tv-module-color, #006d6f) 65%, #ffffff);
    box-shadow: 0 12px 28px rgba(23, 25, 64, .045);
    padding: 1.05rem;
    position: relative;
}

.tv-report-evidence-card-head {
    align-items: flex-start;
    display: flex;
    gap: .75rem;
}

.tv-report-evidence-icon {
    align-items: center;
    background: color-mix(in srgb, var(--tv-module-color, #006d6f) 10%, #ffffff);
    border-radius: 10px;
    color: color-mix(in srgb, var(--tv-module-color, #006d6f) 82%, #171940);
    display: inline-flex;
    flex: 0 0 40px;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.tv-report-evidence-heading {
    min-width: 0;
}

.tv-report-evidence-meta {
    align-items: center;
    color: #607080;
    display: flex;
    flex-wrap: wrap;
    font-size: .76rem;
    font-weight: 600;
    gap: .4rem;
    margin-top: .35rem;
}

.tv-report-evidence-meta span {
    align-items: center;
    background: rgba(23, 25, 64, .035);
    border: 1px solid rgba(23, 25, 64, .055);
    border-radius: 999px;
    display: inline-flex;
    padding: .22rem .5rem;
}

.tv-report-evidence-type {
    color: color-mix(in srgb, var(--tv-module-color, #006d6f) 74%, #273244);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    margin-top: 1rem;
    text-transform: uppercase;
}

.tv-report-evidence-card h4 {
    color: #171940;
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.35;
    margin: .25rem 0 0;
}

.tv-report-evidence-card p {
    color: #4f5d6b;
    line-height: 1.58;
    margin-top: .55rem;
}

.tv-hydrology-driver-card {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .08), transparent 14rem),
        linear-gradient(180deg, #ffffff, #f8fbfb);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(23, 25, 64, .04);
    padding: 1rem;
}

.tv-hydrology-driver-label {
    color: #006d6f;
    font-size: .76rem;
    font-weight: 600;
    letter-spacing: .06em;
    margin-bottom: .55rem;
    text-transform: uppercase;
}

.tv-hydrology-driver-copy {
    color: #273244;
    font-weight: 600;
    line-height: 1.5;
}

.tv-hydrology-module-card {
    background: #ffffff;
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 12px 28px rgba(23, 25, 64, .045);
    overflow: hidden;
    position: relative;
}

.tv-hydrology-module-card::before {
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--tv-module-color, #006d6f) 92%, #ffffff),
        color-mix(in srgb, var(--tv-module-color, #006d6f) 70%, #08a88a)
    );
    content: "";
    inset: 0 auto 0 0;
    position: absolute;
    width: 3px;
}

.tv-hydrology-module-card-inner {
    align-items: flex-start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 100%;
    padding: 1rem 1rem 1rem 1.15rem;
}

.tv-hydrology-role-chip {
    background: color-mix(in srgb, var(--tv-module-color, #006d6f) 9%, #ffffff);
    border: 1px solid color-mix(in srgb, var(--tv-module-color, #006d6f) 18%, #ffffff);
    border-radius: 999px;
    color: color-mix(in srgb, var(--tv-module-color, #006d6f) 82%, #171940);
    display: inline-flex;
    font-size: .72rem;
    font-weight: 00;
    letter-spacing: .03em;
    padding: .28rem .58rem;
}

.tv-hydrology-fact {
    align-items: center;
    border-top: 1px solid rgba(23, 25, 64, .06);
    color: #607080;
    display: flex;
    font-size: .84rem;
    gap: .5rem;
    justify-content: space-between;
    padding: .48rem 0;
}

.tv-hydrology-fact:first-of-type {
    border-top: 0;
}

.tv-hydrology-fact span:not(.badge) {
    color: #273244;
    font-weight: 600;
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: right;
}

.tv-hydrology-score-panel {
    align-items: center;
    background: #f8fafc;
    border: 1px solid rgba(23, 25, 64, .06);
    border-radius: 10px;
    display: flex;
    flex: 0 0 124px;
    flex-direction: column;
    gap: .4rem;
    justify-content: center;
    max-width: 124px;
    min-height: 104px;
    min-width: 124px;
    padding: .75rem;
    text-align: center;
}

    .tv-hydrology-score-panel > div {
        color: #171940;
        font-size: 1.65rem;
        font-weight: 600 !important;
        line-height: 1;
    }

#hydrologyRiskResult > .card-featured,
#floodDetails,
#terrainDetails,
#waterDetails,
#precipitationsDetails,
#soilDetails,
#communityDetails,
.tv-report-section .card-featured {
    background: #fff;
    border: 1px solid rgba(23, 25, 64, .08) !important;
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06) !important;
    overflow: hidden;
}

.tv-report-risk-detail {
    border-top: 4px solid var(--tv-module-color, #006d6f) !important;
}

#hydrologyRiskResult > .card-featured > .card-header,
.tv-report-section .card-featured > .card-header {
    background: linear-gradient(135deg, rgba(0, 109, 111, .08), rgba(8, 168, 138, .05));
    border-bottom: 1px solid rgba(0, 109, 111, .1);
    padding: 1rem;
}

#hydrologyRiskResult > .card-featured > .card-header {
    background:
        radial-gradient(circle at top right, rgba(0, 109, 111, .14), transparent 20rem),
        linear-gradient(135deg, #ffffff 0%, #f8fbfb 100%) !important;
}

#floodDetails > .d-flex:first-child,
#terrainDetails > .d-flex:first-child,
#waterDetails > .d-flex:first-child,
#precipitationsDetails > .d-flex:first-child,
#soilDetails > .d-flex:first-child,
#communityDetails > .d-flex:first-child {
    background:
        radial-gradient(circle at top right, rgba(0, 109, 111, .09), transparent 18rem),
        linear-gradient(135deg, #ffffff 0%, #f8fbfb 100%);
    border-bottom: 1px solid rgba(23, 25, 64, .08);
    margin: 0 !important;
    padding: 1rem;
}

.tv-report-risk-detail > .d-flex:first-child {
    border-left: 4px solid var(--tv-module-color, #006d6f);
}

#floodDetails .row,
#terrainDetails .row,
#waterDetails .row,
#precipitationsDetails .row,
#soilDetails .row,
#communityDetails .row {
    margin-left: 0;
    margin-right: 0;
    padding: 0 .75rem;
}

#floodDetails h4.title,
#terrainDetails h4.title,
#waterDetails h4.title,
#precipitationsDetails h4.title,
#soilDetails h4.title,
#communityDetails h4.title,
#hydrologyRiskResult h4.title {
    color: #171940;
    font-size: .82rem !important;
    font-weight: 600;
    letter-spacing: .08em;
    margin: 1.15rem 1rem .6rem !important;
    text-transform: uppercase;
}

#floodDetails .row > [class*="col-"],
#terrainDetails .row > [class*="col-"],
#waterDetails .row > [class*="col-"],
#precipitationsDetails .row > [class*="col-"],
#soilDetails .row > [class*="col-"],
#communityDetails .row > [class*="col-"] {
    background: #f8fafc;
    border: 1px solid rgba(23, 25, 64, .06);
    border-radius: 9px;
    margin: .25rem;
    padding: .7rem;
    width: calc(25% - .5rem);
}

#floodDetails .row > .col-6,
#waterDetails .row > .col-6,
#communityDetails .row > .col-6 {
    width: calc(50% - .5rem);
}

#floodDetails .row > .col-12,
#terrainDetails .row > .col-12,
#waterDetails .row > .col-12,
#precipitationsDetails .row > .col-12,
#soilDetails .row > .col-12,
#communityDetails .row > .col-12 {
    width: calc(100% - .5rem);
}

#floodDetails .row .text-muted,
#terrainDetails .row .text-muted,
#waterDetails .row .text-muted,
#precipitationsDetails .row .text-muted,
#soilDetails .row .text-muted,
#communityDetails .row .text-muted {
    margin-left: 0 !important;
}

#floodDetails .row .fw-semibold,
#terrainDetails .row .fw-semibold,
#waterDetails .row .fw-semibold,
#precipitationsDetails .row .fw-semibold,
#soilDetails .row .fw-semibold,
#communityDetails .row .fw-semibold {
    color: #273244;
    margin-left: 0 !important;
}

#floodDetails .border.m-2,
#terrainDetails .border.m-2,
#waterDetails .border.m-2,
#precipitationsDetails .border.m-2,
#soilDetails .border.m-2,
#communityDetails .border.m-2,
#hydrologyRiskResult .border.overflow-hidden {
    border-color: rgba(23, 25, 64, .08) !important;
    border-radius: 10px;
    margin: 0 1rem 1rem !important;
}

#floodDetails .list-group.m-2,
#terrainDetails .list-group.m-2,
#waterDetails .list-group.m-2,
#precipitationsDetails .list-group.m-2,
#soilDetails .list-group.m-2,
#communityDetails .list-group.m-2 {
    display: grid;
    gap: .65rem;
    margin: 0 1rem 1rem !important;
}

#floodDetails .list-group-item,
#terrainDetails .list-group-item,
#waterDetails .list-group-item,
#precipitationsDetails .list-group-item,
#soilDetails .list-group-item,
#communityDetails .list-group-item {
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 10px;
    box-shadow: 0 8px 18px rgba(23, 25, 64, .035);
}

.tv-report-section .card-featured .card-body {
    padding: 1rem;
}

.tv-report-section .card-featured .card-body > .row:first-child > [class*="col-"] > .border,
.tv-report-section .card-featured .card-body > .row:first-child > [class*="col-"] > .bg-light {
    background: #f8fafc !important;
    border-color: rgba(23, 25, 64, .06) !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 18px rgba(23, 25, 64, .035);
}

.tv-report-section .card-featured h4.title {
    color: #171940;
    font-size: .82rem !important;
    font-weight: 600 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tv-report-section .card-featured .border.overflow-hidden,
#hydrologyRiskResult .border.overflow-hidden {
    background: #fff;
}

.tv-report-section .card-featured .border.overflow-hidden > .d-flex,
#hydrologyRiskResult .border.overflow-hidden > .d-flex,
#floodDetails .border.overflow-hidden > .d-flex,
#terrainDetails .border.overflow-hidden > .d-flex,
#waterDetails .border.overflow-hidden > .d-flex,
#precipitationsDetails .border.overflow-hidden > .d-flex,
#soilDetails .border.overflow-hidden > .d-flex,
#communityDetails .border.overflow-hidden > .d-flex {
    transition: background-color .15s ease, transform .15s ease;
}

.tv-report-section .card-featured .border.overflow-hidden > .d-flex:hover,
#hydrologyRiskResult .border.overflow-hidden > .d-flex:hover,
#floodDetails .border.overflow-hidden > .d-flex:hover,
#terrainDetails .border.overflow-hidden > .d-flex:hover,
#waterDetails .border.overflow-hidden > .d-flex:hover,
#precipitationsDetails .border.overflow-hidden > .d-flex:hover,
#soilDetails .border.overflow-hidden > .d-flex:hover,
#communityDetails .border.overflow-hidden > .d-flex:hover {
    background: #f8fbfb;
}

.tv-report-section .toggle.toggle-tertiary,
#hydrologyRiskResult .toggle.toggle-tertiary,
#floodDetails .toggle.toggle-tertiary,
#terrainDetails .toggle.toggle-tertiary,
#waterDetails .toggle.toggle-tertiary,
#precipitationsDetails .toggle.toggle-tertiary,
#soilDetails .toggle.toggle-tertiary,
#communityDetails .toggle.toggle-tertiary {
    border: 1px solid rgba(0, 109, 111, .12);
    border-radius: 10px;
    margin-left: 1rem !important;
    margin-right: 1rem !important;
    overflow: hidden;
}

.tv-report-section .toggle.toggle-tertiary label,
#hydrologyRiskResult .toggle.toggle-tertiary label,
#floodDetails .toggle.toggle-tertiary label,
#terrainDetails .toggle.toggle-tertiary label,
#waterDetails .toggle.toggle-tertiary label,
#precipitationsDetails .toggle.toggle-tertiary label,
#soilDetails .toggle.toggle-tertiary label,
#communityDetails .toggle.toggle-tertiary label {
    background: #f8fbfb;
    color: #006d6f;
    font-weight: 600;
    margin: 0;
    padding: .8rem 1rem;
}

.tv-report-section .toggle-content,
#hydrologyRiskResult .toggle-content,
#floodDetails .toggle-content,
#terrainDetails .toggle-content,
#waterDetails .toggle-content,
#precipitationsDetails .toggle-content,
#soilDetails .toggle-content,
#communityDetails .toggle-content {
    padding: 0;
}

.tv-report-section .toggle.mt-0,
#hydrologyRiskResult .toggle.mt-0,
#floodDetails .toggle.mt-0,
#terrainDetails .toggle.mt-0,
#waterDetails .toggle.mt-0,
#precipitationsDetails .toggle.mt-0,
#soilDetails .toggle.mt-0,
#communityDetails .toggle.mt-0,
.tv-report-risk-module .toggle.mt-0 {
    margin-top: 0 !important;
}

.tv-report-risk-module {
    border-color: rgba(23, 25, 64, .08) !important;
    border-top: 4px solid var(--tv-module-color, #006d6f) !important;
}

.tv-report-risk-module .toggle.toggle-tertiary {
    border: 1px solid rgba(0, 109, 111, .12);
    border-radius: 10px;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden;
}

.tv-report-risk-module .toggle.toggle-tertiary label {
    background: #f8fbfb;
    color: #006d6f;
    font-weight: 600;
    margin: 0;
    padding: .8rem 1rem;
}

.tv-report-risk-module > .card-header {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--tv-module-color, #006d6f) 16%, transparent), transparent 20rem),
        linear-gradient(135deg, #ffffff 0%, #f8fbfb 100%) !important;
}

.tv-report-risk-module > .card-header .card-title {
    color: var(--tv-module-color, #006d6f) !important;
    font-size: 1.2rem;
    font-weight: 600;
}

.tv-report-risk-module > .card-header .display-5 {
    color: #171940;
    font-size: 2.4rem;
    line-height: 1;
}

.tv-report-risk-module .card-body > .row:first-child {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
}

.tv-report-risk-module .card-body > .row:first-child > [class*="col-"] {
    margin-top: 0 !important;
    max-width: none;
    padding: 0;
    width: auto;
}

.tv-report-risk-module .card-body > .row:first-child > [class*="col-"] > .border {
    border-left: 3px solid var(--tv-module-color, #006d6f) !important;
}

.tv-report-brief #hydrologyRiskResult,
.tv-report-brief .tv-report-risk-module,
.tv-report-brief .tv-report-nav-module {
    display: none !important;
}

.tv-report-brief .tv-report-section {
    scroll-margin-top: 130px;
}

.tv-report-reference-library {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .1), transparent 22rem),
        linear-gradient(135deg, #ffffff 0%, #f8fbfb 100%);
}

.tv-report-reference-details {
    background: rgba(255, 255, 255, .88);
}

.tv-report-reference-body {
    background: #f8fafc;
    border-top: 1px solid rgba(0, 109, 111, .1);
    padding: 1rem;
}

.tv-report-reference-body > .tv-report-section {
    box-shadow: none;
    margin-bottom: 1rem;
}

.tv-report-reference-body > .tv-report-section:last-child {
    margin-bottom: 0;
}

.tv-report-hydrology-evidence {
    margin-left: 1rem;
    margin-right: 1rem;
}

.tv-report-hydrology-evidence summary {
    background:
        radial-gradient(circle at top right, rgba(0, 109, 111, .12), transparent 18rem),
        linear-gradient(135deg, #ffffff 0%, #f8fbfb 100%);
}

.tv-report-hydrology-evidence-body {
    background: #f8fafc;
    border-top: 1px solid rgba(0, 109, 111, .1);
    padding: 1rem;
}

.tv-report-hydrology-evidence-body .tv-report-risk-detail:last-child {
    margin-bottom: 0 !important;
}

.tv-compare-shell {
    margin-bottom: 1rem;
}

.tv-compare-decision-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.35fr) minmax(14rem, .55fr) minmax(0, 1fr);
}

.tv-compare-decision-card p {
    max-width: 58rem;
}

.tv-compare-score-panel {
    min-height: 100%;
}

.tv-compare-context-panel {
    min-height: 100%;
}

.tv-compare-section {
    margin-bottom: 1rem;
}

.tv-compare-location-grid,
.tv-compare-recommendation-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tv-compare-recommendation-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tv-compare-location-card,
.tv-compare-recommendation-card,
.tv-compare-module-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 251, 253, .94));
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
    height: 100%;
    padding: 1.15rem;
}

.tv-compare-location-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.tv-compare-location-head,
.tv-compare-module-head {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

    .tv-compare-location-head span,
    .tv-compare-module-head span,
    .tv-compare-module-side > span:first-child,
    .tv-compare-module-explanation > span {
        color: #697887;
        display: block;
        font-size: .72rem;
        font-weight: 600 !important;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    .tv-compare-location-head h3,
    .tv-compare-module-head h3 {
        color: #171940;
        font-size: 1.05rem;
        font-weight: 600 !important;
        letter-spacing: 0;
        line-height: 1.25;
        margin: .2rem 0;
    }

.tv-compare-location-head p,
.tv-compare-location-card > p,
.tv-compare-module-explanation p,
.tv-compare-explain-grid p,
.tv-compare-recommendation-card p {
    color: #536273;
    line-height: 1.65;
    margin-bottom: 0;
}

.tv-compare-location-score {
    flex: 0 0 auto;
}

.tv-compare-location-facts {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: auto;
}

.tv-compare-location-facts div,
.tv-compare-module-side,
.tv-compare-module-explanation,
.tv-compare-explain-grid > div {
    background: rgba(248, 251, 253, .86);
    border: 1px solid rgba(23, 25, 64, .07);
    border-radius: 12px;
    padding: .85rem;
}

    .tv-compare-location-facts span {
        color: #697887;
        display: block;
        font-size: .75rem;
        font-weight: 600 !important;
    }

.tv-compare-location-facts strong {
    color: #171940;
    display: block;
    font-size: .95rem;
    margin-top: .15rem;
}

.tv-compare-report-link {
    align-items: center;
    align-self: flex-start;
    background: linear-gradient(135deg, rgba(0, 109, 111, .1), rgba(21, 101, 192, .08));
    border: 1px solid rgba(0, 109, 111, .18);
    border-radius: 999px;
    color: #006d6f;
    display: inline-flex;
    font-size: .82rem;
    font-weight: 600 !important;
    gap: .45rem;
    letter-spacing: .01em;
    padding: .55rem .85rem;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.tv-compare-report-link:hover,
.tv-compare-report-link:focus {
    background:
        linear-gradient(135deg, rgba(0, 109, 111, .16), rgba(21, 101, 192, .12));
    border-color: rgba(0, 109, 111, .28);
    color: #004f51;
    text-decoration: none;
    transform: translateY(-1px);
}

.tv-compare-report-link:focus-visible {
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .18);
    outline: none;
}

.tv-compare-difference-card {
    border-left: 3px solid color-mix(in srgb, var(--tv-module-color, #006d6f) 76%, #ffffff);
}

.tv-compare-module-list {
    display: grid;
    gap: 1rem;
}

.tv-compare-module-card {
    border-top: 4px solid var(--tv-module-color, #006d6f);
    padding: 1rem;
}

.tv-compare-module-head {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--tv-module-color, #006d6f) 16%, transparent), transparent 20rem),
        linear-gradient(135deg, #ffffff 0%, #f8fbfb 100%);
    border: 1px solid rgba(23, 25, 64, .06);
    border-radius: 12px;
    margin: -.25rem -.25rem 1rem;
    padding: 1rem;
}

.tv-compare-module-head h3 {
    color: var(--tv-module-color, #006d6f);
}

.tv-compare-choice-left,
.tv-compare-choice-right,
.tv-compare-choice-decision {
    --tv-report-badge-bg: rgba(0, 109, 111, .08);
    --tv-report-badge-border: rgba(0, 109, 111, .16);
    --tv-report-badge-color: #006d6f;
    --tv-report-badge-dot: #006d6f;
}

.tv-compare-choice-similar {
    --tv-report-badge-bg: rgba(96, 125, 139, .08);
    --tv-report-badge-border: rgba(96, 125, 139, .15);
    --tv-report-badge-color: #405762;
    --tv-report-badge-dot: #607d8b;
}

.tv-compare-choice-unavailable {
    --tv-report-badge-bg: rgba(176, 190, 197, .16);
    --tv-report-badge-border: rgba(96, 112, 128, .16);
    --tv-report-badge-color: #4f5d6b;
    --tv-report-badge-dot: #8a97a6;
}

.tv-compare-module-sides {
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(9rem, .55fr) minmax(9rem, .55fr) minmax(0, 1.4fr);
}

.tv-compare-module-side {
    align-content: start;
    display: grid;
    gap: .45rem;
}

    .tv-compare-module-side strong {
        color: #171940;
        font-size: 2rem;
        font-weight: 600 !important;
        line-height: 1;
    }

.tv-compare-details {
    margin-top: .9rem;
}

.tv-compare-explain-grid {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-top: .9rem;
}

    .tv-compare-explain-grid h4 {
        color: #171940;
        font-size: .95rem;
        font-weight: 600 !important;
        margin: 0 0 .5rem;
    }

.tv-compare-explain-grid p + p {
    margin-top: .55rem;
}

.tv-compare-recommendation-card .tv-report-action-card {
    grid-template-columns: minmax(6.5rem, .4fr) minmax(0, 1fr);
}

.tv-compare-checklist {
    display: grid;
    gap: .85rem;
}

.tv-compare-note {
    border-radius: 12px;
    min-height: 8.5rem;
}

.tv-portfolio-shell {
    margin-bottom: 1rem;
}

.tv-portfolio-hero-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.25fr) minmax(13rem, .55fr) minmax(0, 1fr);
}

.tv-portfolio-context-panel {
    min-height: 100%;
}

.tv-portfolio-section {
    margin-bottom: 1rem;
}

.tv-portfolio-heatmap,
.tv-portfolio-insight-card,
.tv-portfolio-rank-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 251, 253, .94));
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
}

.tv-portfolio-heatmap {
    overflow: hidden;
}

.tv-portfolio-heatmap table {
    min-width: 860px;
}

.tv-portfolio-heatmap thead th {
    background: #f8fbfb;
    border-bottom: 1px solid rgba(23, 25, 64, .08);
    color: #697887;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .07em;
    padding: .95rem .8rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.tv-portfolio-heatmap thead th:not(:first-child) {
    color: var(--tv-module-color, #006d6f);
}

.tv-portfolio-heatmap tbody td {
    border-color: rgba(23, 25, 64, .06);
    padding: .8rem;
}

.tv-portfolio-table-location strong {
    color: #171940;
    display: block;
    font-weight: 600 !important;
}

.tv-portfolio-table-location span {
    color: #697887;
    display: block;
    font-size: .82rem;
    margin-top: .1rem;
}

.tv-portfolio-score-dot {
    justify-content: center;
    min-width: 3.25rem;
}

.tv-portfolio-filter-grid {
    display: grid;
    gap: .9rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tv-portfolio-filter-field label,
.tv-portfolio-review-toggle {
    color: #4f5d6b;
    font-size: .78rem;
    font-weight: 600 !important;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.tv-portfolio-filter-field label {
    display: block;
    margin-bottom: .35rem;
}

.tv-portfolio-filter-field .form-control {
    border-radius: 12px;
}

.tv-portfolio-review-toggle {
    align-items: center;
    align-self: end;
    background: rgba(248, 251, 253, .86);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    gap: .65rem;
    min-height: 45px;
    padding: .7rem .85rem;
}

.tv-portfolio-review-toggle input {
    accent-color: #006d6f;
}

.tv-portfolio-insight-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tv-portfolio-insight-card {
    padding: 1.15rem;
}

.tv-portfolio-mini-list,
.tv-portfolio-mix-list,
.tv-portfolio-rank-list {
    display: grid;
    gap: .75rem;
}

.tv-portfolio-mini-list div,
.tv-portfolio-mix-list div {
    align-items: center;
    background: rgba(248, 251, 253, .86);
    border: 1px solid rgba(23, 25, 64, .07);
    border-radius: 12px;
    display: grid;
    gap: .25rem .75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: .8rem;
}

    .tv-portfolio-mini-list span {
        color: #171940;
        font-weight: 600 !important;
    }

.tv-portfolio-mini-list small {
    color: #697887;
    grid-column: 1;
}

.tv-portfolio-mini-list strong {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.tv-portfolio-mix-list div {
    grid-template-columns: minmax(0, 1fr) auto;
}

    .tv-portfolio-mix-list strong {
        color: #171940;
        font-size: 1rem;
        font-weight: 600 !important;
    }

.tv-portfolio-rank-card {
    align-items: stretch;
    display: grid;
    gap: .9rem;
    grid-template-columns: auto auto minmax(0, 1fr) minmax(13rem, .42fr) auto auto;
    padding: 1rem;
}

.tv-portfolio-select {
    align-items: center;
    align-self: center;
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: #006d6f;
    cursor: pointer;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 600 !important;
    gap: .4rem;
    padding: .45rem .65rem;
}

.tv-portfolio-select input {
    accent-color: #006d6f;
}

.tv-portfolio-rank-number,
.tv-portfolio-score-panel,
.tv-portfolio-driver-panel {
    background: rgba(248, 251, 253, .86);
    border: 1px solid rgba(23, 25, 64, .07);
    border-radius: 12px;
    padding: .8rem;
}

.tv-portfolio-rank-number,
.tv-portfolio-score-panel {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 4.6rem;
    text-align: center;
}

    .tv-portfolio-rank-number span,
    .tv-portfolio-score-panel span,
    .tv-portfolio-driver-panel span {
        color: #697887;
        display: block;
        font-size: .7rem;
        font-weight: 600 !important;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    .tv-portfolio-rank-number strong,
    .tv-portfolio-score-panel strong {
        color: #171940;
        font-size: 1.65rem;
        font-weight: 600 !important;
        line-height: 1;
        margin-top: .25rem;
    }

.tv-portfolio-rank-main {
    min-width: 0;
}

.tv-portfolio-rank-title {
    align-items: flex-start;
    display: flex;
    gap: .8rem;
    justify-content: space-between;
}

    .tv-portfolio-rank-title h3 {
        color: #171940;
        font-size: 1.05rem;
        font-weight: 600 !important;
        line-height: 1.25;
        margin: 0;
    }

.tv-portfolio-rank-title div > span {
    color: #697887;
    display: block;
    font-size: .82rem;
    margin-top: .15rem;
}

.tv-portfolio-rank-main p {
    color: #536273;
    line-height: 1.6;
    margin: .55rem 0 .65rem;
}

.tv-portfolio-rank-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.tv-portfolio-driver-panel {
    border-left: 3px solid var(--tv-module-color, #006d6f);
}

    .tv-portfolio-driver-panel strong {
        color: var(--tv-module-color, #006d6f);
        display: block;
        font-size: .95rem;
        font-weight: 600 !important;
        line-height: 1.25;
        margin: .3rem 0 .15rem;
    }

.tv-portfolio-driver-panel small {
    color: #697887;
}

.tv-portfolio-note {
    border-radius: 12px;
    min-height: 9rem;
}

@media (max-width: 991.98px) {
    .reports-selection-bar {
        top: 0;
    }

    .report-detail-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tv-report-command {
        grid-template-columns: 1fr;
    }

    .tv-report-command-copy {
        display: block;
    }

    .tv-report-back-link,
    .tv-report-eyebrow,
    .tv-report-command h1,
    .tv-report-command p,
    .tv-report-chip-row,
    .tv-report-command-actions {
        grid-column: 1;
        grid-row: auto;
    }

    .tv-report-toolbar {
        grid-template-columns: 1fr;
    }

    .tv-report-view-mode {
        justify-content: center;
        width: 100%;
    }

    .tv-report-command-actions {
        flex-wrap: wrap;
        justify-content: flex-start;
        justify-self: stretch;
        max-width: none;
        min-width: 0;
        width: 100%;
    }

    .tv-report-hero-grid,
    .tv-compare-decision-grid,
    .tv-compare-location-grid,
    .tv-compare-recommendation-grid,
    .tv-compare-module-sides,
    .tv-compare-explain-grid,
    .tv-portfolio-hero-grid,
    .tv-portfolio-filter-grid,
    .tv-portfolio-insight-grid,
    .tv-report-overview-grid,
    .tv-report-insight-grid,
    .tv-report-module-grid,
    .tv-report-review-grid,
    .tv-report-guide-steps,
    .tv-report-guide-grid,
    .tv-report-method-grid,
    .tv-report-evidence-grid,
    .tv-report-audience-grid,
    .tv-report-glossary-grid,
    .tv-report-limitation-grid,
    .tv-report-source-grid,
    .tv-report-risk-module .card-body > .row:first-child {
        grid-template-columns: 1fr;
    }

    .tv-portfolio-rank-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .tv-portfolio-select,
    .tv-portfolio-driver-panel,
    .tv-portfolio-score-panel,
    .tv-portfolio-rank-card .tv-compare-report-link {
        grid-column: 1 / -1;
    }

    #floodDetails .row > [class*="col-"],
    #terrainDetails .row > [class*="col-"],
    #waterDetails .row > [class*="col-"],
    #precipitationsDetails .row > [class*="col-"],
    #soilDetails .row > [class*="col-"],
    #communityDetails .row > [class*="col-"],
    #floodDetails .row > .col-6,
    #waterDetails .row > .col-6,
    #communityDetails .row > .col-6 {
        width: calc(50% - .5rem);
    }

    .tv-report-nav {
        padding-bottom: .05rem;
    }

    .tv-hydrology-module-card-inner {
        grid-template-columns: 1fr;
    }

    .tv-hydrology-score-panel {
        align-items: center;
        flex-basis: auto;
        flex-direction: row;
        justify-content: space-between;
        max-width: none;
        min-height: auto;
        min-width: 0;
        width: 100%;
    }

    .tv-hydrology-score-panel > div {
        font-size: 1.35rem;
    }
}

@media (max-width: 575.98px) {
    .reports-row-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .reports-row-actions .btn { width: 100%; }

    .report-detail-facts { grid-template-columns: 1fr; }

    .tv-report-shell,
    .tv-report-section {
        border-radius: 10px;
        padding: 1rem;
    }

    .tv-report-context-panel,
    .tv-report-module-facts,
    .tv-report-action-card {
        grid-template-columns: 1fr;
    }

    .tv-report-command-actions .btn,
    .tv-report-command-actions > span {
        width: 100%;
    }

    .tv-report-command-actions .btn {
        justify-content: center;
    }

    .tv-report-section-head,
    .tv-report-insight-top,
    .tv-report-module-card-head,
    .tv-report-review-head,
    .tv-report-warning-panel,
    .tv-report-evidence-ladder div,
    .tv-report-confidence-guide div {
        flex-direction: column;
    }

    .tv-report-mini-score {
        align-items: flex-start;
        text-align: left;
    }

    #floodDetails .row > [class*="col-"],
    #terrainDetails .row > [class*="col-"],
    #waterDetails .row > [class*="col-"],
    #precipitationsDetails .row > [class*="col-"],
    #soilDetails .row > [class*="col-"],
    #communityDetails .row > [class*="col-"],
    #floodDetails .row > .col-6,
    #waterDetails .row > .col-6,
    #communityDetails .row > .col-6 {
        width: calc(100% - .5rem);
    }
}

.properties-shell {
    gap: 1.15rem;
}

.properties-command h1 {
    max-width: 760px;
}

.properties-back-link {
    margin-bottom: .7rem;
}

.properties-metric-grid,
.properties-fact-grid,
.properties-change-grid,
.properties-detail-grid {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.properties-metric-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.properties-metric-card,
.properties-filter-panel,
.properties-list-panel,
.properties-change-panel,
.properties-edit-panel,
.properties-history-panel,
.properties-lifecycle-panel,
.properties-detail-overview {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
    min-width: 0;
}

.properties-metric-card {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .1), transparent 11rem),
        linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(246, 251, 251, .78));
    border-left: 3px solid rgba(0, 109, 111, .42);
    padding: 1rem;
}

.properties-metric-card.is-attention {
    background:
        radial-gradient(circle at top right, rgba(249, 168, 37, .12), transparent 11rem),
        linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(255, 250, 241, .78));
    border-left-color: #d18a0f;
}

.properties-metric-card span,
.properties-filter-field label,
.properties-search-field label,
.properties-fact-card span,
.properties-detail-score span,
.properties-row-report span,
.properties-readonly-block span,
.properties-history-date span,
.properties-change-metric span {
    color: #667386;
    display: block;
    font-size: .72rem;
    font-weight: 600 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.properties-metric-card strong {
    color: var(--portal-ink);
    display: block;
    font-size: 1.75rem;
    font-weight: 600 !important;
    line-height: 1;
    margin-top: .4rem;
}

.properties-metric-card small {
    color: var(--portal-muted);
    display: block;
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.45;
    margin-top: .45rem;
}

.properties-filter-panel,
.properties-list-panel,
.properties-change-panel,
.properties-edit-panel,
.properties-history-panel,
.properties-lifecycle-panel {
    padding: 1rem;
}

.properties-filter-form {
    align-items: end;
    display: grid;
    gap: .8rem;
    grid-template-columns: minmax(min(100%, 420px), 1.35fr) repeat(3, minmax(130px, .7fr)) auto;
}

.properties-search-field,
.properties-filter-field,
.properties-filter-actions {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-bottom: 0;
    min-height: 68px;
}

.properties-search-box {
    align-items: center;
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 999px;
    display: flex;
    gap: .55rem;
    min-height: 44px;
    padding: 0 .85rem;
}

.properties-search-box:focus-within,
.properties-filter-field .form-control:focus {
    background: #fff;
    border-color: rgba(0, 109, 111, .38);
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .1);
}

.properties-search-box i {
    color: #667386;
}

.properties-search-box .form-control {
    background: transparent;
    border: 0;
    box-shadow: none;
    min-height: 42px;
    padding: 0;
}

.properties-filter-field .form-control {
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 10px;
    box-shadow: none;
    color: var(--portal-ink);
    height: 44px;
    min-height: 44px;
}

.properties-filter-actions,
.properties-selection-actions,
.properties-modal-actions,
.properties-change-actions,
.properties-row-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.properties-filter-actions {
    flex-direction: row;
    padding-top: 1.34rem;
}

.properties-filter-actions .tv-action-btn {
    min-height: 44px;
}

.properties-filter-summary {
    border-top: 1px solid rgba(23, 25, 64, .075);
    color: var(--portal-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: .82rem;
    font-weight: 600;
    gap: .45rem;
    margin-top: .9rem;
    padding-top: .85rem;
}

.properties-filter-summary span {
    background: rgba(23, 25, 64, .045);
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 999px;
    padding: .32rem .62rem;
}

.properties-selection-bar {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .13), transparent 14rem),
        linear-gradient(135deg, #fff 0%, #f8fcfc 100%);
    border: 1px solid rgba(0, 109, 111, .14);
    border-left: 4px solid var(--portal-teal);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .07);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .9rem 1rem;
}

.properties-selection-bar strong {
    color: var(--portal-ink);
    font-weight: 600;
}

.properties-selection-bar span {
    color: var(--portal-muted);
    font-weight: 600;
    margin-left: .35rem;
}

.properties-card-list,
.properties-history-list,
.properties-module-change-list {
    display: grid;
    gap: .75rem;
    margin-top: 1rem;
}

.properties-row-card {
    align-items: center;
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .82));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(23, 25, 64, .045);
    display: grid;
    gap: .85rem;
    grid-template-columns: auto minmax(0, 1.35fr) minmax(140px, .55fr) minmax(190px, .75fr) auto;
    padding: .9rem;
}

.properties-row-card.no-selection {
    grid-template-columns: minmax(0, 1.35fr) minmax(140px, .55fr) minmax(190px, .75fr) auto;
}

.properties-row-select {
    align-self: center;
    padding-top: .25rem;
}

.properties-row-title {
    color: var(--portal-ink);
    font-size: .98rem;
    font-weight: 600;
    line-height: 1.25;
}

.properties-row-location {
    color: var(--portal-muted);
    font-size: .84rem;
    line-height: 1.45;
    margin-top: .18rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.properties-row-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .55rem;
}

.properties-row-tags span {
    background: rgba(23, 25, 64, .045);
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 999px;
    color: #536273;
    font-size: .73rem;
    font-weight: 600;
    padding: .26rem .54rem;
}

.properties-row-posture {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    justify-content: center;
}

.properties-premium-badge {
    min-height: 30px;
    white-space: nowrap;
}

.properties-row-posture .properties-premium-badge,
.properties-history-posture .properties-premium-badge {
    font-size: .72rem;
    padding: .32rem .62rem;
}

.properties-command .properties-premium-badge {
    box-shadow: 0 8px 18px rgba(23, 25, 64, .06);
}

.properties-score-pill {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 3rem),
        rgba(255, 255, 255, .94);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-ink);
    display: inline-flex;
    font-weight: 600;
    justify-content: center;
    min-height: 34px;
    min-width: 44px;
    padding: .3rem .7rem;
}

.properties-row-report {
    min-width: 0;
}

.properties-row-report strong,
.properties-history-date strong,
.properties-fact-card strong {
    color: var(--portal-ink);
    display: block;
    font-size: .9rem;
    font-weight: 600 !important;
    line-height: 1.35;
    margin-top: .2rem;
}

.properties-row-report small {
    color: var(--portal-muted);
    display: block;
    font-size: .78rem;
    margin-top: .15rem;
}

.properties-row-actions {
    justify-content: flex-end;
    white-space: nowrap;
}

.properties-empty-state {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 2.75rem 1rem;
    text-align: center;
}

.properties-empty-state-compact {
    padding: 2rem 1rem;
}

.properties-empty-state i {
    align-items: center;
    background: rgba(0, 109, 111, .08);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    font-size: 1.6rem;
    height: 54px;
    justify-content: center;
    width: 54px;
}

.properties-empty-state h3 {
    color: var(--portal-ink);
    font-size: 1.05rem;
    font-weight: 600;
    margin: .9rem 0 .25rem;
}

.properties-empty-state p {
    color: var(--portal-muted);
    margin: 0 0 1rem;
}

.properties-pagination {
    margin-top: 1rem;
}

.properties-pagination .page-link {
    border-color: rgba(23, 25, 64, .08);
    color: #006d6f;
    font-weight: 600;
}

.properties-pagination .page-item.active .page-link {
    background: #006d6f;
    border-color: #006d6f;
    color: #fff;
}

.properties-detail-overview {
    align-items: stretch;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(150px, .28fr) minmax(0, 1fr);
    padding: 1rem;
}

.properties-detail-score {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 10rem),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .82));
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 118px;
    padding: 1rem;
}

.properties-detail-score strong {
    color: var(--portal-ink);
    font-size: 3rem;
    font-weight: 600;
    letter-spacing: -.04em;
    line-height: 1;
    margin-top: .35rem;
}

.properties-detail-score small {
    color: var(--portal-muted);
    font-weight: 600;
    margin-top: .25rem;
}

.properties-fact-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.properties-fact-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(246, 251, 251, .78));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    padding: .9rem;
}

.properties-quota-note {
    align-items: center;
    background: rgba(0, 109, 111, .07);
    border: 1px solid rgba(0, 109, 111, .13);
    border-radius: 12px;
    color: #536273;
    display: flex;
    gap: .6rem;
    font-weight: 600;
    padding: .85rem 1rem;
}

.properties-quota-note i {
    color: var(--portal-teal);
}

.properties-change-panel {
    display: grid;
    gap: 1rem;
}

.properties-change-empty {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.properties-change-empty h2,
.properties-lifecycle-panel h2 {
    color: var(--portal-ink);
    font-size: 1.1rem;
    font-weight: 600;
    margin: .2rem 0;
}

.properties-change-empty p,
.properties-lifecycle-panel p {
    color: var(--portal-muted);
    margin: 0;
}

.properties-change-grid {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
}

.properties-change-summary,
.properties-change-metric,
.properties-module-change-item,
.properties-history-item,
.properties-readonly-block,
.properties-modal-callout {
    background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(246, 251, 251, .78));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    padding: 1rem;
}

.properties-change-summary strong {
    color: var(--portal-ink);
    display: block;
    font-size: 1.02rem;
    font-weight: 600 !important;
}

.properties-change-summary p,
.properties-readonly-block p {
    color: var(--portal-muted);
    line-height: 1.55;
    margin: .45rem 0 0;
}

.properties-change-actions {
    margin-top: 1rem;
}

.properties-change-metrics {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.properties-change-metric {
    position: relative;
}

.properties-change-metric strong {
    color: var(--portal-ink);
    display: block;
    font-size: 1rem;
    font-weight: 600;
    margin-top: .35rem;
}

.properties-change-metric small {
    color: var(--portal-muted);
    display: block;
    font-size: .78rem;
    margin-top: .18rem;
}

.properties-change-metric em,
.properties-module-change-item em {
    border-radius: 999px;
    display: inline-flex;
    font-size: .78rem;
    font-style: normal;
    font-weight: 600;
    margin-top: .55rem;
    padding: .28rem .6rem;
}

.properties-change-metric em.is-worse,
.properties-module-change-item em.is-worse {
    background: rgba(183, 28, 28, .09);
    color: #8f1515;
}

.properties-change-metric em.is-better,
.properties-module-change-item em.is-better {
    background: rgba(46, 125, 50, .1);
    color: #2e7d32;
}

.properties-change-metric em.is-neutral,
.properties-module-change-item em.is-neutral {
    background: rgba(23, 25, 64, .06);
    color: #536273;
}

.properties-module-change-list {
    margin-top: .2rem;
}

.properties-module-change-item {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.properties-module-change-item strong,
.properties-readonly-block strong {
    color: var(--portal-ink);
    display: block;
    font-weight: 600;
}

.properties-module-change-item span,
.properties-module-change-item small {
    color: var(--portal-muted);
    display: block;
    font-size: .82rem;
    line-height: 1.45;
    margin-top: .18rem;
}

.properties-detail-grid {
    grid-template-columns: minmax(min(100%, 360px), .8fr) minmax(0, 1.2fr);
}

.properties-edit-panel,
.properties-history-panel {
    display: grid;
    gap: 1rem;
}

.properties-history-list {
    margin-top: 0;
}

.properties-history-item {
    align-items: center;
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(0, 1fr) minmax(210px, auto) auto auto;
}

.properties-history-posture {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    justify-content: flex-start;
}

.properties-lifecycle-panel {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(183, 28, 28, .08), transparent 14rem),
        rgba(255, 255, 255, .92);
    border-left: 4px solid #b71c1c;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.properties-popup,
.save-property-popup,
.project-picker-popup {
    max-width: 640px !important;
}

.properties-popup .card,
.save-property-popup .card,
.project-picker-popup .card {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 18rem),
        linear-gradient(135deg, #fff 0%, #f8fcfc 100%);
    border: 1px solid rgba(0, 109, 111, .14);
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(23, 25, 64, .18);
    overflow: hidden;
}

.properties-popup .card-header,
.save-property-popup .card-header,
.project-picker-popup .card-header {
    align-items: flex-start;
    background: transparent;
    border-color: rgba(23, 25, 64, .08);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem 1.15rem;
}

.properties-popup .card-footer,
.save-property-popup .card-footer,
.project-picker-popup .card-footer {
    background: rgba(255, 255, 255, .55);
    border: 0;
    box-shadow: inset 0 1px 0 rgba(23, 25, 64, .08);
    margin-top: 0;
    padding: 1rem 1.15rem;
}

.properties-popup .card-title,
.save-property-popup .card-title,
.project-picker-popup .card-title {
    color: var(--portal-ink);
    font-size: 1.18rem;
    font-weight: 600;
}

.properties-modal-actions {
    justify-content: flex-end;
}

.properties-modal-callout {
    align-items: flex-start;
    display: flex;
    gap: .85rem;
}

.properties-modal-callout i {
    align-items: center;
    background: rgba(0, 109, 111, .09);
    border: 1px solid rgba(0, 109, 111, .18);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.properties-modal-callout strong {
    color: var(--portal-ink);
    font-weight: 600;
}

.properties-modal-callout p {
    color: var(--portal-muted);
    line-height: 1.55;
    margin: .25rem 0 0;
}

@media (max-width: 1399.98px) {
    .properties-filter-form,
    .properties-row-card,
    .properties-row-card.no-selection,
    .properties-detail-overview,
    .properties-detail-grid,
    .properties-change-grid {
        grid-template-columns: 1fr;
    }

    .properties-row-posture,
    .properties-row-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 1199.98px) {
    .properties-metric-grid,
    .properties-fact-grid,
    .properties-change-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .properties-selection-bar,
    .properties-lifecycle-panel,
    .properties-change-empty {
        align-items: stretch;
        flex-direction: column;
    }

    .properties-command .portal-command-actions {
        justify-content: flex-start;
    }
}

.projects-workspace-header,
.shared-links-header {
    background: #fff;
    border-left: 4px solid #1565C0;
    border-radius: .5rem;
    box-shadow: 0 1px 4px rgba(33, 37, 41, .08);
    padding: 1.25rem;
}

.projects-stat-card .card-body {
    min-height: 92px;
}

.projects-stat-value {
    color: #212529;
    font-size: 1.65rem;
    font-weight: 600 !important;
    line-height: 1.1;
}

.projects-stat-icon {
    align-items: center;
    border-radius: .5rem;
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.projects-table > :not(caption) > * > * {
    padding-bottom: .9rem;
    padding-top: .9rem;
}

.projects-name,
.projects-description {
    max-width: 440px;
}

.projects-description {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.projects-score-pill {
    align-items: center;
    background: #f8f9fa;
    border: 1px solid rgba(33, 37, 41, .08);
    border-radius: 999px;
    display: inline-flex;
    font-weight: 600 !important;
    justify-content: center;
    min-width: 42px;
    padding: .25rem .65rem;
}

.projects-row-actions {
    align-items: center;
    display: inline-flex;
    gap: .4rem;
    justify-content: flex-end;
    white-space: nowrap;
}

.projects-empty-state,
.project-picker-empty {
    padding: 2.25rem 1rem;
    text-align: center;
}

.projects-empty-state i,
.project-picker-empty i {
    color: #1565C0;
    font-size: 2rem;
}

.project-detail-hero {
    background: #fff;
    border-left: 4px solid #1565C0;
}

.project-compare-hero {
    background: #fff;
    border-left: 4px solid #1565C0;
}

.project-compare-card .card-body {
    min-height: 190px;
}

.project-compare-facts {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.project-compare-facts div {
    background: #f8f9fa;
    border: 1px solid rgba(33, 37, 41, .08);
    border-radius: .5rem;
    padding: .65rem;
}

    .project-compare-facts span {
        color: #6c757d;
        display: block;
        font-size: .72rem;
        font-weight: 600 !important;
        text-transform: uppercase;
    }

.project-compare-facts strong {
    color: #212529;
    display: block;
    font-size: 1.1rem;
    margin-top: .15rem;
}

.project-concern-list,
.project-warning-list {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.project-concern-item,
.project-warning-item {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(33, 37, 41, .08);
    border-radius: .5rem;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .85rem 1rem;
}

.project-concern-main {
    min-width: 0;
}

.project-warning-item {
    align-items: flex-start;
    justify-content: flex-start;
}

.project-detail-score {
    align-items: center;
    background: #f8f9fa;
    border: 1px solid rgba(33, 37, 41, .08);
    border-radius: .5rem;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    min-height: 78px;
    min-width: 92px;
    padding: .65rem .9rem;
}

.project-detail-score strong {
    color: #212529;
    font-size: 1.8rem;
    line-height: 1;
}

.project-popup,
.project-picker-popup {
    max-width: 640px;
}

.project-popup .card,
.project-picker-popup .card {
    border-radius: .5rem;
    overflow: hidden;
}

.project-activity-filters {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.project-activity-list {
    display: flex;
    flex-direction: column;
    gap: .85rem;
}

.project-activity-item {
    align-items: flex-start;
    background: #fff;
    border: 1px solid rgba(33, 37, 41, .08);
    border-radius: .5rem;
    display: flex;
    gap: .85rem;
    padding: 1rem;
}

.project-activity-icon {
    align-items: center;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.project-activity-content {
    min-width: 0;
    width: 100%;
}

.project-activity-posture {
    align-items: center;
    background: #f8f9fa;
    border: 1px solid rgba(33, 37, 41, .08);
    border-radius: .5rem;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1rem;
    margin-top: .75rem;
    padding: .75rem;
}

.project-activity-driver {
    border-left: 1px solid rgba(33, 37, 41, .12);
    padding-left: 1rem;
}

@media (max-width: 575.98px) {
    .properties-row-card,
    .properties-row-card.no-selection,
    .properties-history-item {
        grid-template-columns: 1fr;
    }

    .properties-row-actions,
    .properties-selection-actions,
    .properties-modal-actions,
    .properties-change-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .properties-row-actions .tv-action-btn,
    .properties-selection-actions .tv-action-btn,
    .properties-modal-actions .tv-action-btn,
    .properties-change-actions .tv-action-btn {
        width: 100%;
    }

    .projects-row-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .projects-row-actions .btn { width: 100%; }

    .project-compare-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .project-concern-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .project-activity-item {
        flex-direction: column;
    }

    .project-activity-driver {
        border-left: 0;
        padding-left: 0;
        width: 100%;
    }
}

.projects-shell {
    gap: 1.15rem;
}

.projects-command h1 {
    max-width: 800px;
}

.projects-back-link {
    margin-bottom: .7rem;
}

.projects-metric-grid,
.projects-detail-grid,
.projects-fact-grid,
.project-compare-side-grid,
.project-compare-concern-grid {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.projects-metric-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.projects-metric-card,
.projects-filter-panel,
.projects-list-panel,
.projects-detail-overview,
.projects-linked-panel,
.projects-activity-panel,
.projects-decision-panel,
.project-compare-side-card,
.projects-matrix-panel,
.project-concern-panel,
.projects-warning-panel {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
    min-width: 0;
}

.projects-metric-card {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .1), transparent 11rem),
        linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(246, 251, 251, .78));
    border-left: 3px solid rgba(0, 109, 111, .42);
    padding: 1rem;
}

.projects-metric-card.is-attention {
    background:
        radial-gradient(circle at top right, rgba(249, 168, 37, .12), transparent 11rem),
        linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(255, 250, 241, .78));
    border-left-color: #d18a0f;
}

.projects-metric-card span,
.projects-filter-field label,
.projects-search-field label,
.projects-row-counts span,
.projects-row-risk > span,
.projects-row-updated > span,
.projects-fact-card span,
.projects-detail-score span,
.project-compare-side-header span,
.project-compare-facts span,
.projects-matrix-row > div:not(:first-child) span,
.project-activity-posture span:first-child {
    color: #667386;
    display: block;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.projects-metric-card strong {
    color: var(--portal-ink);
    display: block;
    font-size: 1.75rem;
    font-weight: 600 !important;
    line-height: 1;
    margin-top: .4rem;
}

.projects-metric-card small {
    color: var(--portal-muted);
    display: block;
    font-size: .82rem;
    font-weight: 600 !important;
    line-height: 1.45;
    margin-top: .45rem;
}

.projects-filter-panel,
.projects-list-panel,
.projects-linked-panel,
.projects-activity-panel,
.projects-decision-panel,
.project-compare-side-card,
.projects-matrix-panel,
.project-concern-panel,
.projects-warning-panel {
    padding: 1rem;
}

.projects-filter-form {
    align-items: end;
    display: grid;
    gap: .8rem;
    grid-template-columns: minmax(min(100%, 460px), 1.4fr) repeat(2, minmax(140px, .7fr)) auto;
}

.projects-search-field,
.projects-filter-field,
.projects-filter-actions {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-bottom: 0;
    min-height: 68px;
}

.projects-search-box {
    align-items: center;
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 999px;
    display: flex;
    gap: .55rem;
    min-height: 44px;
    padding: 0 .85rem;
}

.projects-search-box:focus-within,
.projects-filter-field .form-control:focus {
    background: #fff;
    border-color: rgba(0, 109, 111, .38);
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .1);
}

.projects-search-box i {
    color: #667386;
}

.projects-search-box .form-control {
    background: transparent;
    border: 0;
    box-shadow: none;
    min-height: 42px;
    padding: 0;
}

.projects-filter-field {
    margin-bottom: .8rem;
}

.projects-filter-form .projects-filter-field {
    margin-bottom: 0;
}

.projects-filter-field .form-control {
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 10px;
    box-shadow: none;
    color: var(--portal-ink);
    min-height: 44px;
}

.projects-filter-actions,
.projects-selection-actions,
.projects-modal-actions,
.projects-row-actions,
.projects-linked-actions,
.share-link-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.projects-filter-actions {
    flex-direction: row;
    padding-top: 1.34rem;
}

.projects-filter-actions .tv-action-btn {
    min-height: 44px;
}

.projects-filter-summary {
    border-top: 1px solid rgba(23, 25, 64, .075);
    color: var(--portal-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: .82rem;
    font-weight: 600;
    gap: .45rem;
    margin-top: .9rem;
    padding-top: .85rem;
}

.projects-filter-summary span,
.projects-row-tags > span:not(.portal-badge) {
    background: rgba(23, 25, 64, .045);
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 999px;
    color: #536273;
    font-size: .73rem;
    font-weight: 600;
    padding: .28rem .58rem;
}

.projects-selection-bar {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .13), transparent 14rem),
        linear-gradient(135deg, #fff 0%, #f8fcfc 100%);
    border: 1px solid rgba(0, 109, 111, .14);
    border-left: 4px solid var(--portal-teal);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .07);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .9rem 1rem;
}

.projects-selection-bar strong {
    color: var(--portal-ink);
    font-weight: 600;
}

.projects-selection-bar span {
    color: var(--portal-muted);
    font-weight: 600;
    margin-left: .35rem;
}

.projects-card-list,
.projects-linked-list,
.projects-matrix-list,
.project-concern-list,
.project-warning-list {
    display: grid;
    gap: .75rem;
    margin-top: 1rem;
}

.projects-row-card {
    align-items: center;
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .82));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(23, 25, 64, .045);
    display: grid;
    gap: .85rem;
    grid-template-columns: auto minmax(0, 1.35fr) minmax(170px, .75fr) minmax(160px, .65fr) minmax(190px, .75fr) auto;
    padding: .9rem;
}

.projects-row-select {
    align-self: center;
    min-width: 22px;
    padding-top: .25rem;
}

.projects-row-title,
.project-compare-side-header h2,
.projects-decision-panel h2,
.projects-linked-item strong,
.project-concern-title strong,
.project-warning-item strong,
.project-activity-topline strong {
    color: var(--portal-ink);
    font-weight: 600 !important;
}

.projects-row-title {
    font-size: .98rem;
    line-height: 1.25;
}

.projects-row-description {
    color: var(--portal-muted);
    display: -webkit-box;
    font-size: .84rem;
    line-height: 1.45;
    margin-top: .18rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.projects-row-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .55rem;
}

.projects-row-counts {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.projects-row-counts div,
.project-compare-facts div,
.projects-fact-card,
.projects-linked-item,
.projects-matrix-row,
.project-concern-item,
.project-warning-item {
    background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(246, 251, 251, .78));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    padding: .8rem;
}

.projects-row-counts div {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    text-align: center;
}

.projects-row-counts span {
    line-height: 1.2;
    max-width: 100%;
    overflow-wrap: anywhere;
    text-align: center;
}

.projects-row-counts strong,
.project-compare-facts strong,
.projects-fact-card strong {
    color: var(--portal-ink);
    display: block;
    font-size: 1rem;
    font-weight: 600 !imp;
    line-height: 1.2;
    margin-top: .25rem;
}

.projects-row-risk,
.projects-row-updated {
    min-width: 0;
}

.projects-premium-badge {
    align-items: center;
    display: inline-flex !important;
    justify-content: center;
    line-height: 1;
    min-height: 30px;
    text-align: center;
    white-space: nowrap;
}

.projects-row-risk small,
.projects-row-updated small,
.projects-linked-item span,
.project-concern-main p,
.project-warning-item span,
.project-activity-topline span,
.projects-decision-panel p,
.project-compare-side-card p {
    color: var(--portal-muted);
    display: block;
    font-size: .82rem;
    line-height: 1.45;
    margin: .25rem 0 0;
}

.projects-row-updated strong {
    color: var(--portal-ink);
    display: block;
    font-size: .9rem;
    font-weight: 600 !important;
    line-height: 1.35;
    margin-top: .2rem;
}

.projects-row-actions,
.projects-linked-actions {
    justify-content: flex-end;
    white-space: nowrap;
}

.projects-empty-state {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 2.75rem 1rem;
    text-align: center;
}

.projects-empty-state-compact {
    padding: 2rem 1rem;
}

.projects-empty-state i {
    align-items: center;
    background: rgba(0, 109, 111, .08);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    font-size: 1.6rem;
    height: 54px;
    justify-content: center;
    width: 54px;
}

.projects-empty-state h3 {
    color: var(--portal-ink);
    font-size: 1.05rem;
    font-weight: 600;
    margin: .9rem 0 .25rem;
}

.projects-empty-state p {
    color: var(--portal-muted);
    margin: 0 0 1rem;
}

.projects-pagination {
    margin-top: 1rem;
}

    .projects-pagination .page-link {
        border-color: rgba(23, 25, 64, .08);
        color: #006d6f;
        font-weight: 600 !important;
    }

.projects-pagination .page-item.active .page-link {
    background: #006d6f;
    border-color: #006d6f;
    color: #fff;
}

.projects-detail-overview {
    align-items: stretch;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(150px, .28fr) minmax(0, 1fr);
    padding: 1rem;
}

.projects-detail-score {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 10rem),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .82));
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 118px;
    padding: 1rem;
}

.projects-detail-score strong {
    color: var(--portal-ink);
    font-size: 3rem;
    font-weight: 600 !important;
    letter-spacing: -.04em;
    line-height: 1;
    margin-top: .35rem;
}

.projects-detail-score small {
    color: var(--portal-muted);
    font-weight: 600 !important;
    margin-top: .25rem;
}

.projects-fact-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.projects-detail-grid,
.project-compare-side-grid,
.project-compare-concern-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.project-compare-concern-grid {
    align-items: stretch;
}

.projects-linked-panel,
.projects-activity-panel,
.projects-matrix-panel,
.projects-warning-panel,
.project-concern-panel {
    align-content: start;
    display: grid;
    gap: 1rem;
}

.projects-linked-list,
.projects-matrix-list,
.project-concern-list,
.project-warning-list {
    margin-top: 0;
}

.projects-linked-item {
    align-items: center;
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(0, 1fr) auto auto;
}

.projects-linked-posture,
.project-concern-score {
    align-items: center;
    display: flex;
    gap: .4rem;
    justify-content: flex-start;
}

.project-concern-score {
    align-items: center;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    min-width: 92px;
}

.projects-score-pill {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 3rem),
        rgba(255, 255, 255, .94);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-ink);
    display: inline-flex;
    font-weight: 600;
    justify-content: center;
    line-height: 1;
    min-height: 34px;
    min-width: 44px;
    padding: .3rem .7rem;
    text-align: center;
}

.project-activity-filters {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.project-activity-filter-chip {
    align-items: center;
    background: rgba(255, 255, 255, .74);
    border: 1px solid rgba(23, 25, 64, .1);
    border-radius: 999px;
    color: #536273;
    display: inline-flex;
    font-size: .8rem;
    font-weight: 600;
    min-height: 34px;
    padding: .42rem .72rem;
    transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.project-activity-filter-chip:hover,
.project-activity-filter-chip:focus,
.project-activity-filter-chip.btn-primary,
.project-activity-filter-chip.is-active {
    background: rgba(0, 109, 111, .08);
    border-color: rgba(0, 109, 111, .2);
    box-shadow: 0 8px 18px rgba(0, 109, 111, .08);
    color: var(--portal-teal);
    outline: 0;
}

.project-activity-list {
    display: grid;
    gap: .85rem;
}

.project-activity-item {
    align-items: flex-start;
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .82));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    display: flex;
    gap: .9rem;
    padding: 1rem;
}

.project-activity-icon {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 40px;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.project-activity-icon.is-success {
    background: rgba(46, 125, 50, .1);
    color: #2e7d32;
}

.project-activity-icon.is-warning {
    background: rgba(249, 168, 37, .13);
    color: #9a650b;
}

.project-activity-icon.is-danger {
    background: rgba(183, 28, 28, .09);
    color: #8f1515;
}

.project-activity-icon.is-info {
    background: rgba(0, 109, 111, .09);
    color: var(--portal-teal);
}

.project-activity-content {
    min-width: 0;
    width: 100%;
}

.project-activity-topline {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.project-activity-topline time {
    color: var(--portal-muted);
    font-size: .78rem;
    font-weight: 600;
    white-space: nowrap;
}

.project-activity-posture {
    align-items: center;
    background: rgba(255, 255, 255, .7);
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1rem;
    margin-top: .8rem;
    padding: .8rem;
}

.project-activity-driver {
    border-left: 1px solid rgba(23, 25, 64, .12);
    padding-left: 1rem;
}

.project-activity-driver strong {
    color: var(--portal-ink);
    font-weight: 600 !important;
}

.projects-decision-panel h2 {
    font-size: 1.15rem;
    margin: .25rem 0;
}

.project-compare-side-card {
    display: grid;
    gap: .85rem;
}

.project-compare-side-header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.project-compare-side-header h2 {
    font-size: 1.15rem;
    margin: .25rem 0 0;
}

.project-compare-facts {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.projects-matrix-row {
    align-items: center;
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(0, 1.25fr) minmax(110px, .45fr) minmax(110px, .45fr) auto;
}

.projects-matrix-row > div:first-child strong {
    color: var(--portal-ink);
    display: block;
    font-weight: 600 !important;
}

.projects-matrix-row > div:first-child span {
    color: var(--portal-muted);
    display: block;
    font-size: .84rem;
    line-height: 1.45;
    margin-top: .18rem;
}

.projects-matrix-row em {
    background: rgba(0, 109, 111, .08);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-teal);
    font-style: normal;
    font-weight: 600;
    padding: .32rem .68rem;
    text-align: center;
}

.project-concern-item,
.project-warning-item {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.project-concern-title {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.project-concern-title span {
    background: rgba(23, 25, 64, .055);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 999px;
    color: #536273;
    font-size: .72rem;
    font-weight: 600;
    padding: .25rem .55rem;
}

.projects-popup,
.project-popup,
.project-picker-popup {
    max-width: 640px !important;
}

.projects-popup .card,
.project-popup .card,
.project-picker-popup .card {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 18rem),
        linear-gradient(135deg, #fff 0%, #f8fcfc 100%);
    border: 1px solid rgba(0, 109, 111, .14);
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(23, 25, 64, .18);
    overflow: hidden;
}

.projects-popup .card-header,
.project-popup .card-header,
.project-picker-popup .card-header {
    background: transparent;
    border-color: rgba(23, 25, 64, .08);
    padding: 1rem 1.15rem;
}

.projects-popup .card-footer,
.project-popup .card-footer,
.project-picker-popup .card-footer {
    background: rgba(255, 255, 255, .55);
    border: 0;
    box-shadow: inset 0 1px 0 rgba(23, 25, 64, .08);
    margin-top: 0;
    padding: 1rem 1.15rem;
}

.projects-popup .card-title,
.project-popup .card-title,
.project-picker-popup .card-title {
    color: var(--portal-ink);
    font-size: 1.18rem;
    font-weight: 600;
}

.projects-modal-actions {
    justify-content: flex-end;
}

.projects-modal-callout {
    align-items: flex-start;
    background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(246, 251, 251, .78));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    display: flex;
    gap: .85rem;
    padding: 1rem;
}

.projects-modal-callout i {
    align-items: center;
    background: rgba(0, 109, 111, .09);
    border: 1px solid rgba(0, 109, 111, .18);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.projects-modal-callout strong {
    color: var(--portal-ink);
    font-weight: 600 !important;
}

.projects-modal-callout p {
    color: var(--portal-muted);
    line-height: 1.55;
    margin: .25rem 0 0;
}

.projects-share-popup .share-create-panel,
.projects-share-popup .share-links-section,
.projects-share-popup .share-copy-fallback,
.projects-share-popup .share-revoke-confirm {
    border-radius: 12px;
}

@media (max-width: 1399.98px) {
    .projects-filter-form,
    .projects-row-card,
    .projects-detail-overview,
    .projects-detail-grid,
    .project-compare-side-grid,
    .project-compare-concern-grid {
        grid-template-columns: 1fr;
    }

    .projects-row-actions,
    .projects-linked-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 1199.98px) {
    .projects-metric-grid,
    .projects-fact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-compare-facts,
    .projects-matrix-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .projects-selection-bar,
    .project-activity-topline,
    .project-compare-side-header {
        align-items: stretch;
        flex-direction: column;
    }

    .project-activity-topline time {
        white-space: normal;
    }
}

@media (max-width: 575.98px) {
    .projects-metric-grid,
    .projects-fact-grid,
    .project-compare-facts,
    .projects-linked-item,
    .projects-matrix-row {
        grid-template-columns: 1fr;
    }

    .projects-row-actions,
    .projects-selection-actions,
    .projects-modal-actions,
    .projects-linked-actions,
    .share-link-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .projects-row-actions .tv-action-btn,
    .projects-selection-actions .tv-action-btn,
    .projects-modal-actions .tv-action-btn,
    .projects-linked-actions .tv-action-btn,
    .share-link-actions .tv-action-btn {
        width: 100%;
    }
}

.portal-header {
    align-items: center;
    background: rgba(255, 255, 255, .94);
    border-bottom: 1px solid rgba(23, 25, 64, .08);
    border-top: none;
    box-shadow: 0 12px 32px rgba(23, 25, 64, .06);
    display: flex;
    height: 60px;
    padding: 0 18px 0 0;
}

.portal-header-logo-container {
    align-items: center;
    display: flex;
    height: 60px;
    justify-content: space-between;
    padding: 0 14px 0 18px;
    width: 250px;
}

.portal-header-logo {
    align-items: center;
    display: inline-flex;
    margin: 0 !important;
    min-width: 0;
}

.portal-header-actions {
    align-items: center;
    display: flex;
    gap: .65rem;
    height: 60px;
    justify-content: flex-end;
    margin-left: auto;
    min-width: 0;
}

.portal-header-actions .separator {
    display: none;
}

.portal-header-mobile-toggle {
    align-items: center;
    background: rgba(0, 109, 111, .08);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: #075f61;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.portal-sidebar.sidebar-left {
    background:
        radial-gradient(circle at 18% 8%, rgba(0, 109, 111, .28), transparent 16rem),
        linear-gradient(180deg, #12152f 0%, #171940 44%, #101327 100%);
    border-right: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 18px 0 45px rgba(23, 25, 64, .14);
    color: rgba(255, 255, 255, .74);
    width: 250px;
}

.portal-sidebar .sidebar-header {
    align-items: center;
    background: rgba(255, 255, 255, .035);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    display: flex;
    height: 54px;
    justify-content: space-between;
    padding: 0 16px 0 22px;
}

.portal-sidebar .sidebar-header .portal-sidebar-title,
.portal-sidebar-title {
    background: transparent;
    color: rgba(255, 255, 255, .58);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .12em;
    opacity: 1;
    overflow: visible;
    padding: 0;
    text-transform: uppercase;
    width: auto;
}

.portal-sidebar .sidebar-header .portal-sidebar-toggle,
.portal-sidebar-toggle {
    align-items: center;
    align-content: center;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 999px;
    color: rgba(255, 255, 255, .76);
    display: inline-flex;
    height: 34px;
    justify-content: center;
    line-height: 1;
    position: static;
    text-align: center;
    width: 34px;
}

.portal-sidebar .sidebar-header .portal-sidebar-toggle i {
    color: inherit;
    font-size: .9rem;
    line-height: 1;
}

.portal-sidebar-toggle:hover,
.portal-sidebar-toggle:focus {
    background: rgba(8, 168, 138, .16);
    border-color: rgba(8, 168, 138, .26);
    color: #fff;
}

.portal-sidebar .nano-content {
    padding: .9rem .85rem 1.35rem;
}

.portal-sidebar .nav-main {
    margin: 0;
}

.portal-sidebar .portal-sidebar-section {
    margin: 1rem .65rem .45rem;
}

.portal-sidebar .portal-sidebar-section:first-child {
    margin-top: .15rem;
}

.portal-sidebar .portal-sidebar-section > span {
    color: rgba(255, 255, 255, .42);
    display: block;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .14em;
    line-height: 1;
    text-transform: uppercase;
}

.portal-sidebar ul.nav-main > li:not(.portal-sidebar-section) {
    margin: .22rem 0;
}

.portal-sidebar ul.nav-main > li > a.nav-link {
    align-items: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 13px;
    box-shadow: none;
    color: rgba(255, 255, 255, .72);
    display: flex;
    gap: .7rem;
    min-height: 44px;
    overflow: hidden;
    padding: .72rem .78rem;
    position: relative;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.portal-sidebar ul.nav-main > li > a.nav-link:hover,
.portal-sidebar ul.nav-main > li > a.nav-link:focus {
    background: rgba(255, 255, 255, .065);
    border-color: rgba(255, 255, 255, .08);
    color: #fff;
    transform: translateX(2px);
}

.portal-sidebar ul.nav-main > li.nav-active > a.nav-link,
.portal-sidebar ul.nav-main > li.nav-active > a.nav-link:hover,
.portal-sidebar ul.nav-main > li.nav-active > a.nav-link:focus {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .26), transparent 8rem),
        rgba(255, 255, 255, .1);
    border-color: rgba(8, 168, 138, .28);
    box-shadow: inset 3px 0 0 #08a88a, 0 12px 28px rgba(0, 0, 0, .16);
    color: #fff;
    transform: none;
}

.portal-sidebar ul.nav-main > li > a.nav-link i {
    align-items: center;
    background: rgba(255, 255, 255, .075);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 999px;
    color: rgba(255, 255, 255, .78);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.05rem;
    height: 30px;
    justify-content: center;
    margin: 0;
    width: 30px;
}

.portal-sidebar ul.nav-main > li.nav-active > a.nav-link i {
    background: rgba(8, 168, 138, .18);
    border-color: rgba(8, 168, 138, .24);
    color: #8ff0dc;
}

.portal-sidebar ul.nav-main > li > a.nav-link span {
    font-size: .86rem;
    font-weight: 600;
    letter-spacing: .01em;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

html.sidebar-left-collapsed .portal-sidebar .sidebar-header {
    justify-content: center;
    padding: 0;
}

html.sidebar-left-collapsed .portal-sidebar-title,
html.sidebar-left-collapsed .portal-sidebar .portal-sidebar-section,
html.sidebar-left-collapsed .portal-sidebar ul.nav-main > li > a.nav-link span {
    display: none;
}

html.sidebar-left-collapsed .portal-sidebar .nano-content {
    padding: .75rem .55rem 1rem;
}

html.sidebar-left-collapsed .portal-sidebar ul.nav-main > li:not(.portal-sidebar-section) {
    margin: .42rem 0;
}

html.sidebar-left-collapsed .portal-sidebar ul.nav-main > li > a.nav-link {
    justify-content: center;
    min-height: 44px;
    padding: .45rem;
}

html.sidebar-left-collapsed .portal-sidebar ul.nav-main > li > a.nav-link:hover,
html.sidebar-left-collapsed .portal-sidebar ul.nav-main > li > a.nav-link:focus {
    transform: none;
}

html.sidebar-left-collapsed .portal-sidebar ul.nav-main > li.nav-active > a.nav-link {
    box-shadow: inset 3px 0 0 #08a88a, 0 10px 24px rgba(0, 0, 0, .14);
}

@media only screen and (min-width: 768px) {
    html.fixed:not(.sidebar-left-collapsed) .content-body {
        margin-left: 250px;
    }

    html.sidebar-left-big-icons .portal-sidebar.sidebar-left {
        width: 250px;
    }

    html.fixed.sidebar-left-big-icons .content-body {
        margin-left: 250px;
    }

    html.sidebar-left-big-icons .portal-sidebar .sidebar-header .sidebar-toggle {
        border-radius: 999px;
        height: 34px;
        width: 34px;
    }

    html.sidebar-left-big-icons .portal-sidebar .nano .nav-main > li > a.nav-link {
        border-top: 0;
        padding: .72rem .78rem;
        text-align: left;
    }

    html.sidebar-left-big-icons .portal-sidebar .nano .nav-main > li:last-child > a.nav-link {
        border-bottom: 1px solid transparent;
        border-top: 0;
    }

    html.sidebar-left-big-icons .portal-sidebar .nano .nav-main > li > a.nav-link i {
        font-size: 1.05rem;
        margin-right: 0;
    }

    html.sidebar-left-big-icons .portal-sidebar .nano .nav-main > li > a.nav-link span {
        display: inline;
        overflow: hidden;
        text-overflow: ellipsis;
        visibility: visible;
    }

    html.sidebar-left-big-icons .portal-sidebar .nano .nav-main > li:hover > a.nav-link,
    html.sidebar-left-big-icons .portal-sidebar .nano .nav-main > li.nav-active > a.nav-link {
        background:
            radial-gradient(circle at top right, rgba(8, 168, 138, .26), transparent 8rem),
            rgba(255, 255, 255, .1);
    }

    html.sidebar-left-big-icons.sidebar-left-collapsed .portal-sidebar.sidebar-left {
        width: 73px;
    }

    html.fixed.sidebar-left-big-icons.sidebar-left-collapsed .content-body {
        margin-left: 73px;
    }

    html.sidebar-left-big-icons.sidebar-left-collapsed .portal-sidebar .nano:hover {
        width: 73px;
    }

    html.sidebar-left-big-icons.sidebar-left-collapsed .portal-sidebar .nano .nav-main > li > a.nav-link {
        overflow: hidden;
        padding: .45rem;
    }

    html.sidebar-left-big-icons.sidebar-left-collapsed .portal-sidebar .nano .nav-main > li > a.nav-link span {
        display: none;
    }

    html.sidebar-left-big-icons.sidebar-left-collapsed .portal-sidebar .nano .nav-main > li > a.nav-link > i {
        font-size: 1.05rem;
    }
}

.notification-center {
    align-items: center;
    display: inline-flex;
    margin: 0;
    position: relative;
    top: auto;
    vertical-align: middle;
}

.notification-center-toggle,
.portal-header-icon-button {
    align-items: center;
    background: rgba(248, 252, 252, .88);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(23, 25, 64, .045);
    color: #536273;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    position: relative;
    text-decoration: none;
    width: 42px;
}

.notification-center-toggle:hover,
.notification-center-toggle:focus {
    background: rgba(0, 109, 111, .08);
    border-color: rgba(0, 109, 111, .2);
    color: #075f61;
    text-decoration: none;
}

.notification-center-toggle i {
    font-size: 1.5rem;
    line-height: 1;
}

.notification-center-badge {
    align-items: center;
    background: #b91c1c;
    border: 2px solid #fff;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: .65rem;
    font-weight: 600 !important;
    height: 20px;
    justify-content: center;
    line-height: 1;
    min-width: 20px;
    padding: 0 .25rem;
    position: absolute;
    right: -2px;
    top: -2px;
}

.notification-center-menu {
    border: 1px solid rgba(0, 109, 111, .12);
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(23, 25, 64, .16);
    max-width: calc(100vw - 2rem);
    overflow: hidden;
    padding: 0;
    width: 420px;
}

.notification-center-head,
.notification-center-footer {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 12rem),
        linear-gradient(180deg, #fff, #f5fbfa);
    display: flex;
    justify-content: space-between;
    padding: 1rem;
}

.notification-center-head {
    border-bottom: 1px solid rgba(0, 109, 111, .12);
}

.notification-center-head strong {
    color: #171940;
    display: block;
    font-size: .98rem;
    font-weight: 600 !important;
}

.notification-center-head span {
    color: #667386;
    display: block;
    font-size: .78rem;
    margin-top: .1rem;
}

    .notification-center-head .btn-link {
        color: #075f61;
        font-weight: 600 !important;
        text-decoration: none;
    }

.notification-center-head .btn-link:hover,
.notification-center-head .btn-link:focus {
    color: #006d6f;
    text-decoration: underline;
}

.notification-center-list {
    background: linear-gradient(180deg, rgba(248, 252, 252, .72), rgba(255, 255, 255, .98));
    display: grid;
    gap: .65rem;
    max-height: 360px;
    overflow-y: auto;
    padding: .75rem;
}

.notification-center-empty {
    background: rgba(255, 255, 255, .88);
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    color: #667386;
    padding: 1.5rem 1rem;
    text-align: center;
}

.notification-center-item {
    align-items: flex-start;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(23, 25, 64, .075);
    border-left: 3px solid rgba(23, 25, 64, .12);
    border-radius: 12px;
    display: flex;
    gap: .8rem;
    padding: .85rem;
    position: relative;
    text-align: left;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    width: 100%;
}

.notification-center-item:hover,
.notification-center-item:focus {
    background: #fff;
    border-left-color: #006d6f;
    box-shadow: 0 12px 28px rgba(23, 25, 64, .08);
    transform: translateY(-1px);
}

.notification-center-item.is-unread {
    background:
        radial-gradient(circle at top right, rgba(249, 168, 37, .1), transparent 10rem),
        #fff;
    border-left-color: #d18a0f;
}

.notification-center-icon,
.notifications-list-icon {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 auto;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.notification-center-icon.is-info {
    background: rgba(0, 109, 111, .09);
    border: 1px solid rgba(0, 109, 111, .16);
    color: #006d6f;
}

.notification-center-icon.is-success {
    background: rgba(8, 168, 138, .1);
    border: 1px solid rgba(8, 168, 138, .18);
    color: #087d69;
}

.notification-center-icon.is-warning {
    background: rgba(249, 168, 37, .12);
    border: 1px solid rgba(209, 138, 15, .2);
    color: #a66505;
}

.notification-center-icon.is-danger {
    background: rgba(185, 28, 28, .09);
    border: 1px solid rgba(185, 28, 28, .18);
    color: #b91c1c;
}

.notification-center-item-body {
    display: block;
    min-width: 0;
    padding-right: .5rem;
}

.notification-center-title,
.notifications-list-title {
    color: #171940;
    display: block;
    font-weight: 600 !important;
    line-height: 1.25;
    font-size: 14px !important;
}

.notification-center-message,
.notifications-list-message {
    color: #667386;
    display: block;
    font-size: .82rem;
    line-height: 1.45;
    margin-top: .2rem;
}

.notification-center-time,
.notifications-list-meta {
    color: #8a929a;
    display: block;
    font-size: .75rem;
    margin-top: .3rem;
}

.notification-center-dot,
.notifications-unread-dot {
    background: #d18a0f;
    border-radius: 999px;
    flex: 0 0 auto;
    height: 8px;
    margin-top: .45rem;
    width: 8px;
}

.notification-center-footer {
    border-top: 1px solid rgba(0, 109, 111, .12);
    justify-content: center;
}

    .notification-center-footer a {
        color: #075f61;
        font-weight: 600 !important;
    }

.portal-user-menu {
    align-items: center;
    display: inline-flex;
    margin: 0;
    padding: 0;
}

.portal-user-menu > a,
.portal-user-menu-toggle {
    align-items: center;
    background: rgba(248, 252, 252, .9);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(23, 25, 64, .055);
    color: #171940 !important;
    display: inline-flex !important;
    gap: .62rem;
    min-height: 46px;
    padding: .35rem .7rem .35rem .4rem;
    text-decoration: none;
}

.portal-user-menu > a:hover,
.portal-user-menu > a:focus,
.portal-user-menu-toggle:hover,
.portal-user-menu-toggle:focus {
    background: #fff;
    border-color: rgba(0, 109, 111, .2);
    color: #075f61 !important;
    text-decoration: none;
}

.portal-user-avatar {
    display: inline-flex !important;
    margin: 0 !important;
}

.portal-user-avatar img {
    background: rgba(0, 109, 111, .09);
    border: 1px solid rgba(0, 109, 111, .16);
    height: 36px !important;
    padding: 2px;
    width: 36px !important;
}

.portal-user-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    min-width: 0;
}

.portal-user-label {
    color: #667386;
    display: block;
    font-size: .66rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.portal-user-copy .name {
    color: #171940;
    display: block;
    font-size: .84rem;
    font-weight: 600;
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.portal-user-caret {
    color: #8a97a6;
    font-size: .8rem;
}

.portal-user-dropdown {
    border: 1px solid rgba(23, 25, 64, .1);
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(23, 25, 64, .16);
    margin-top: .55rem;
    min-width: 260px;
    overflow: hidden;
    padding: 0;
}

.portal-user-dropdown-head {
    background:
        radial-gradient(circle at top right, rgba(23, 25, 64, .075), transparent 11rem),
        linear-gradient(180deg, #fff, #f7f9fb);
    border-bottom: 1px solid rgba(23, 25, 64, .08);
    padding: .95rem 1rem;
}

.portal-user-dropdown-head strong,
.portal-user-dropdown-head span {
    display: block;
}

    .portal-user-dropdown-head strong {
        color: #171940;
        font-size: .92rem;
        font-weight: 600 !important;
        overflow-wrap: anywhere;
    }

.portal-user-dropdown-head span {
    color: #667386;
    font-size: .78rem;
    margin-top: .15rem;
}

.portal-user-dropdown ul {
    padding: .35rem;
}

.portal-user-dropdown li a,
.userbox .portal-user-dropdown li a {
    align-items: center;
    border-radius: 10px;
    color: #3f4b59 !important;
    display: flex !important;
    font-size: .86rem;
    font-weight: 600;
    gap: .55rem;
    padding: .72rem .75rem !important;
    text-decoration: none;
}

.portal-user-dropdown li a:hover,
.portal-user-dropdown li a:focus,
.userbox .portal-user-dropdown li a:hover,
.userbox .portal-user-dropdown li a:focus {
    background: rgba(23, 25, 64, .055);
    color: #171940 !important;
}

.portal-user-dropdown li a i,
.userbox .portal-user-dropdown li a i {
    align-items: center;
    background: rgba(23, 25, 64, .055);
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 999px;
    color: #536273;
    display: inline-flex;
    font-size: 1.05rem;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.portal-user-dropdown li a:hover i,
.portal-user-dropdown li a:focus i,
.userbox .portal-user-dropdown li a:hover i,
.userbox .portal-user-dropdown li a:focus i {
    background: rgba(0, 109, 111, .08);
    border-color: rgba(0, 109, 111, .14);
    color: #006d6f;
}

.notifications-shell {
    gap: 1.1rem;
}

.notifications-command h1 {
    max-width: 820px;
}

.notifications-command-badges,
.notifications-filter-actions,
.notifications-list-topline {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.notifications-command-badges {
    margin-top: .9rem;
}

.notifications-stat-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr 1fr 1fr;
}

.notifications-stat-card,
.notifications-filter-panel,
.notifications-list-panel,
.notifications-list-item {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
    min-width: 0;
}

.notifications-stat-card {
    align-items: flex-start;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 10rem),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .8));
    border-left: 3px solid rgba(0, 109, 111, .42);
    display: flex;
    gap: .85rem;
    padding: 1rem;
}

.notifications-stat-card-unread {
    background:
        radial-gradient(circle at top right, rgba(249, 168, 37, .14), transparent 10rem),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 250, 241, .82));
    border-left-color: #d18a0f;
}

.notifications-stat-icon {
    align-items: center;
    background: rgba(0, 109, 111, .09);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    flex: 0 0 auto;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.notifications-stat-card-unread .notifications-stat-icon {
    background: rgba(249, 168, 37, .12);
    border-color: rgba(209, 138, 15, .2);
    color: #a66505;
}

.notifications-stat-card span:not(.notifications-stat-icon),
.notifications-filter-field label,
.notifications-list-heading .portal-eyebrow {
    color: #667386;
    display: block;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.notifications-stat-card strong {
    color: var(--portal-ink);
    display: block;
    font-size: 1.65rem;
    font-weight: 600 !important;
    line-height: 1;
    margin-top: .35rem;
}

.notifications-stat-card small,
.notifications-list-heading p,
.notifications-empty-state p {
    color: var(--portal-muted);
    display: block;
    line-height: 1.55;
    margin: .42rem 0 0;
}

.notifications-filter-panel,
.notifications-list-panel {
    padding: 1rem;
}

.notifications-filter-form {
    align-items: end;
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(180px, .7fr) minmax(220px, 1fr) auto;
}

.notifications-filter-field {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.notifications-filter-field .form-control {
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 10px;
    box-shadow: none;
    color: var(--portal-ink);
    min-height: 44px;
}

.notifications-filter-field .form-control:focus {
    background: #fff;
    border-color: rgba(0, 109, 111, .38);
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .1);
}

.notifications-list-heading {
    align-items: flex-start;
    border-bottom: 1px solid rgba(23, 25, 64, .075);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: -.1rem 0 1rem;
    padding-bottom: .9rem;
}

    .notifications-list-heading h2,
    .notifications-empty-state h3 {
        color: var(--portal-ink);
        font-weight: 600 !important;
        margin: 0;
    }

.notifications-list-heading h2 {
    font-size: 1.15rem;
    line-height: 1.2;
    margin-top: .25rem;
}

.notifications-empty-state {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 3rem 1rem;
    text-align: center;
}

.notifications-empty-state i {
    align-items: center;
    background: rgba(0, 109, 111, .08);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    font-size: 1.4rem;
    height: 52px;
    justify-content: center;
    width: 52px;
}

.notifications-empty-state h3 {
    font-size: 1.05rem;
    margin-top: .9rem;
}

.notifications-empty-state p {
    max-width: 520px;
}

.notifications-list {
    display: grid;
    gap: .8rem;
}

.notifications-list-item {
    align-items: center;
    border-left: 3px solid rgba(23, 25, 64, .12);
    box-shadow: none;
    color: inherit;
    display: grid;
    gap: .9rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: .95rem;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.notifications-list-item:hover,
.notifications-list-item:focus {
    border-left-color: #006d6f;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .08);
    color: inherit;
    text-decoration: none;
    transform: translateY(-1px);
}

.notifications-list-item.is-unread {
    background:
        radial-gradient(circle at top right, rgba(249, 168, 37, .1), transparent 12rem),
        rgba(255, 255, 255, .94);
    border-left-color: #d18a0f;
}

.notifications-list-icon {
    border-radius: 999px;
    height: 44px;
    width: 44px;
}

.notifications-list-icon.is-info {
    background: rgba(0, 109, 111, .09);
    border: 1px solid rgba(0, 109, 111, .16);
    color: var(--portal-teal);
}

.notifications-list-icon.is-success {
    background: rgba(8, 168, 138, .1);
    border: 1px solid rgba(8, 168, 138, .18);
    color: #087d69;
}

.notifications-list-icon.is-warning {
    background: rgba(249, 168, 37, .12);
    border: 1px solid rgba(209, 138, 15, .2);
    color: #a66505;
}

.notifications-list-icon.is-danger {
    background: rgba(185, 28, 28, .09);
    border: 1px solid rgba(185, 28, 28, .18);
    color: #b91c1c;
}

.notifications-list-body {
    display: block;
    min-width: 0;
}

.notifications-list-title {
    color: var(--portal-ink);
    display: block;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.25;
    margin-top: .55rem;
}

.notifications-list-message {
    color: var(--portal-muted);
    display: block;
    font-size: .88rem;
    line-height: 1.5;
    margin-top: .25rem;
}

.notifications-list-meta {
    align-items: center;
    color: #7b8794;
    display: inline-flex;
    font-size: .78rem;
    gap: .35rem;
    margin-top: .5rem;
}

.notifications-list-chevron {
    align-items: center;
    background: rgba(23, 25, 64, .045);
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 999px;
    color: #667386;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.notifications-pagination {
    margin-top: .25rem;
}

    .notifications-pagination .page-link {
        background: rgba(255, 255, 255, .88);
        border: 1px solid rgba(0, 109, 111, .14);
        border-radius: 999px !important;
        box-shadow: 0 8px 18px rgba(23, 25, 64, .045);
        color: #536273;
        font-weight: 600 !important;
        margin-left: .3rem;
        min-width: 36px;
        text-align: center;
    }

.notifications-pagination .page-link:hover,
.notifications-pagination .page-link:focus {
    background: rgba(0, 109, 111, .08);
    border-color: rgba(0, 109, 111, .24);
    color: #075f61;
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .08);
}

.notifications-pagination .page-item.active .page-link {
    background: linear-gradient(135deg, rgba(0, 109, 111, .14), rgba(8, 168, 138, .16));
    border-color: rgba(0, 109, 111, .28);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .75), 0 10px 22px rgba(0, 109, 111, .12);
    color: #075f61;
}

.shared-links-header {
    background: #fff;
    border-left: 4px solid #1565C0;
    border-radius: .5rem;
    box-shadow: 0 1px 4px rgba(33, 37, 41, .08);
    padding: 1.25rem;
}

.shared-links-stat-value {
    color: #212529;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.1;
}

.shared-links-stat-icon,
.shared-links-type-icon {
    align-items: center;
    border-radius: .45rem;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.shared-links-type-icon {
    height: 34px;
    width: 34px;
}

.shared-links-detail {
    max-width: 520px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shared-links-note {
    background: #f8f9fa;
    border-radius: .35rem;
    color: #6c757d;
    font-size: .8rem;
    margin-top: .35rem;
    max-width: 560px;
    padding: .5rem .65rem;
}

.shared-links-actions {
    align-items: center;
    display: inline-flex;
    gap: .35rem;
    justify-content: flex-end;
    white-space: nowrap;
}

.shared-links-empty-state {
    padding: 3rem 1rem;
    text-align: center;
}

.shared-links-empty-state i {
    color: #1565C0;
    font-size: 2rem;
}

.shared-links-shell {
    gap: 1.15rem;
}

.shared-links-command h1 {
    max-width: 760px;
}

.shared-links-stat-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.shared-links-stat-card,
.shared-links-filter-panel,
.shared-links-list-panel,
.shared-links-card {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
    min-width: 0;
}

.shared-links-stat-card {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 10rem),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .8));
    border-left: 3px solid rgba(0, 109, 111, .42);
    display: flex;
    gap: .85rem;
    padding: 1rem;
}

.shared-links-stat-card-expiring {
    background:
        radial-gradient(circle at top right, rgba(249, 168, 37, .14), transparent 10rem),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 250, 241, .82));
    border-left-color: #d18a0f;
}

.shared-links-stat-card-pdf {
    border-left-color: #183f72;
}

.shared-links-stat-card-accessed {
    border-left-color: #7c3aed;
}

.shared-links-stat-card span:not(.shared-links-stat-icon),
.shared-links-card-meta span,
.shared-links-type-label,
.shared-links-filter-field label,
.shared-links-search-field label,
.shared-links-revoke-body span {
    color: #667386;
    display: block;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.shared-links-stat-card strong {
    color: var(--portal-ink);
    display: block;
    font-size: 1.75rem;
    font-weight: 600 !important;
    line-height: 1;
    margin-top: .35rem;
}

.shared-links-stat-card .shared-links-stat-icon,
.shared-links-card .shared-links-type-icon {
    align-items: center;
    background: rgba(0, 109, 111, .09);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 12px;
    color: var(--portal-teal);
    display: inline-flex;
    flex: 0 0 auto;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.shared-links-stat-card-expiring .shared-links-stat-icon {
    background: rgba(249, 168, 37, .12);
    border-color: rgba(209, 138, 15, .2);
    color: #a66505;
}

.shared-links-stat-card-pdf .shared-links-stat-icon {
    background: rgba(24, 63, 114, .08);
    border-color: rgba(24, 63, 114, .16);
    color: #183f72;
}

.shared-links-stat-card-accessed .shared-links-stat-icon {
    background: rgba(124, 58, 237, .08);
    border-color: rgba(124, 58, 237, .16);
    color: #6d28d9;
}

.shared-links-filter-panel,
.shared-links-list-panel {
    padding: 1rem;
}

.shared-links-filter-main {
    align-items: end;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
}

.shared-links-search-field,
.shared-links-filter-field {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-width: 0;
}

.shared-links-search-box {
    align-items: center;
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 999px;
    display: flex;
    gap: .55rem;
    min-height: 44px;
    padding: 0 .85rem;
}

.shared-links-search-box:focus-within,
.shared-links-filter-field .form-control:focus {
    background: #fff;
    border-color: rgba(0, 109, 111, .38);
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .1);
}

.shared-links-search-box i {
    color: #667386;
}

.shared-links-search-box .form-control {
    background: transparent;
    border: 0;
    box-shadow: none;
    min-height: 42px;
    padding: 0;
}

.shared-links-advanced-filters {
    border-top: 1px solid rgba(23, 25, 64, .075);
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: .9rem;
    padding-top: .9rem;
}

.shared-links-filter-field .form-control {
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 10px;
    box-shadow: none;
    color: var(--portal-ink);
    min-height: 44px;
}

.shared-links-filter-summary {
    border-top: 1px solid rgba(23, 25, 64, .075);
    color: var(--portal-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: .82rem;
    font-weight: 600;
    gap: .45rem;
    margin-top: .9rem;
    padding-top: .85rem;
}

.shared-links-filter-summary span {
    background: rgba(23, 25, 64, .045);
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 999px;
    color: #536273;
    padding: .28rem .55rem;
}

.shared-links-list-heading {
    align-items: flex-start;
    border-bottom: 1px solid rgba(23, 25, 64, .075);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: -.1rem 0 1rem;
    padding-bottom: .9rem;
}

.shared-links-list-heading-copy {
    min-width: 0;
}

.shared-links-list-heading-copy h2 {
    color: var(--portal-ink);
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.2;
    margin: .25rem 0 0;
}

.shared-links-list-heading-copy p {
    color: var(--portal-muted);
    line-height: 1.55;
    margin: .35rem 0 0;
}

.shared-links-list {
    display: grid;
    gap: .85rem;
}

.shared-links-card {
    border-left: 3px solid rgba(0, 109, 111, .36);
    display: grid;
    gap: .9rem;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .9fr) auto;
    padding: 1rem;
}

.shared-links-card.is-expired {
    border-left-color: #d18a0f;
}

.shared-links-card.is-revoked {
    border-left-color: rgba(83, 98, 115, .55);
    opacity: .86;
}

.shared-links-card-main {
    align-items: flex-start;
    display: flex;
    gap: .85rem;
    min-width: 0;
}

.shared-links-card .shared-links-type-icon {
    height: 42px;
    width: 42px;
}

.shared-links-type-icon.is-report {
    background: rgba(0, 109, 111, .09);
    border-color: rgba(0, 109, 111, .16);
    color: var(--portal-teal);
}

.shared-links-type-icon.is-comparison {
    background: rgba(21, 101, 192, .08);
    border-color: rgba(21, 101, 192, .16);
    color: #1565c0;
}

.shared-links-type-icon.is-portfolio {
    background: rgba(185, 28, 28, .08);
    border-color: rgba(185, 28, 28, .16);
    color: #b91c1c;
}

.shared-links-type-icon.is-project {
    background: rgba(24, 63, 114, .08);
    border-color: rgba(24, 63, 114, .16);
    color: #183f72;
}

.shared-links-type-icon.is-project-comparison {
    background: rgba(124, 58, 237, .08);
    border-color: rgba(124, 58, 237, .16);
    color: #6d28d9;
}

.shared-links-card-copy {
    min-width: 0;
    -webkit-align-self: center;
    -o-align-self: center;
    align-self: center;
}

.shared-links-card-title-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.shared-links-card h3 {
    color: var(--portal-ink);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25;
    margin: .3rem 0 0;
}

.shared-links-card p {
    color: var(--portal-muted);
    display: -webkit-box;
    font-size: .86rem;
    line-height: 1.45;
    margin: .3rem 0 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.shared-links-note-toggle {
    background: transparent;
    border: 0;
    color: var(--portal-teal);
    font-size: .8rem;
    font-weight: 600;
    margin-top: .45rem;
    padding: 0;
}

.shared-links-note-toggle:hover,
.shared-links-note-toggle:focus {
    color: #004f51;
    text-decoration: underline;
}

.shared-links-card .shared-links-note {
    background: rgba(246, 251, 251, .9);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 10px;
    color: var(--portal-muted);
    font-size: .84rem;
    margin-top: .55rem;
    max-width: none;
    padding: .65rem .75rem;
}

.shared-links-card-meta {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shared-links-card-meta div {
    background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(246, 251, 251, .78));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    min-width: 0;
    padding: .72rem;
}

.shared-links-card-meta strong {
    color: var(--portal-ink);
    display: block;
    font-size: .92rem;
    font-weight: 600 !important;
    line-height: 1.25;
    margin-top: .25rem;
}

.shared-links-card-meta small {
    color: var(--portal-muted);
    display: block;
    font-size: .76rem;
    line-height: 1.35;
    margin-top: .18rem;
}

.shared-links-card .shared-links-actions {
    align-content: center;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: flex-end;
    min-width: 170px;
    white-space: normal;
}

.shared-links-empty-state {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 3rem 1rem;
    text-align: center;
}

.shared-links-empty-state i {
    align-items: center;
    background: rgba(0, 109, 111, .08);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    font-size: 1.6rem;
    height: 54px;
    justify-content: center;
    width: 54px;
}

    .shared-links-empty-state h3 {
        color: var(--portal-ink);
        font-size: 1.05rem;
        font-weight: 600 !important;
        margin: .9rem 0 .25rem;
    }

.shared-links-empty-state p {
    color: var(--portal-muted);
    margin: 0 0 1rem;
    max-width: 520px;
}

.shared-links-pagination {
    margin-top: .2rem;
}

    .shared-links-pagination .page-link {
        border-color: rgba(23, 25, 64, .08);
        color: #006d6f;
        font-weight: 600 !important;
    }

.shared-links-pagination .page-item.active .page-link {
    background: #006d6f;
    border-color: #006d6f;
    color: #fff;
}

.shared-links-revoke-popup {
    max-width: 560px;
}

.shared-links-revoke-popup .share-popup-card {
    background: #fff;
    border: 1px solid rgba(23, 25, 64, .1);
    border-radius: 12px;
    box-shadow: 0 28px 70px rgba(23, 25, 64, .24);
    overflow: hidden;
    padding: 0;
}

.shared-links-revoke-hero {
    background:
        radial-gradient(circle at top right, rgba(185, 28, 28, .16), transparent 12rem),
        linear-gradient(180deg, #fff, #fff7f7);
    border-bottom: 1px solid rgba(185, 28, 28, .12);
    border-radius: 12px 12px 0 0;
    display: flex;
    gap: .95rem;
    padding: 1.25rem;
}

.shared-links-revoke-hero > span {
    align-items: center;
    background: rgba(185, 28, 28, .09);
    border: 1px solid rgba(185, 28, 28, .18);
    border-radius: 999px;
    color: #b91c1c;
    display: inline-flex;
    flex: 0 0 auto;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.shared-links-revoke-hero h2 {
    color: var(--portal-ink);
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0;
}

.shared-links-revoke-hero p {
    color: var(--portal-muted);
    line-height: 1.55;
    margin: .35rem 0 0;
}

.shared-links-revoke-body {
    padding: 1.1rem 1.25rem;
}

.shared-links-revoke-body strong {
    color: var(--portal-ink);
    display: block;
    font-size: .98rem;
    font-weight: 600 !important;
    line-height: 1.35;
    margin-top: .3rem;
}

.shared-links-revoke-actions {
    align-items: center;
    border-top: 1px solid rgba(23, 25, 64, .08);
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: flex-end;
    padding: 1rem 1.25rem;
}

.shared-links-actions .tv-action-btn.is-copied {
    border-color: rgba(0, 109, 111, .28);
    box-shadow: 0 10px 24px rgba(0, 109, 111, .12);
    color: #006d6f;
}

.developer-shell {
    gap: 1.15rem;
}

.developer-command h1 {
    max-width: 820px;
}

.portal-command-actions.developer-doc-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 420px;
    width: 100%;
}

.developer-doc-actions .tv-action-btn {
    justify-content: center;
    width: 100%;
}

.developer-secret-panel,
.developer-entitlement-card,
.developer-create-card,
.developer-metric-card,
.developer-keys-panel,
.developer-audit-panel,
.developer-key-card {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
    min-width: 0;
}

.developer-secret-panel {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .16), transparent 18rem),
        linear-gradient(180deg, #ffffff, #f5fbfa);
    border-color: rgba(0, 109, 111, .16);
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(min(100%, 520px), .8fr);
    padding: 1rem;
}

.developer-secret-copy {
    align-items: flex-start;
    display: flex;
    gap: .85rem;
    min-width: 0;
}

.developer-secret-icon,
.developer-metric-icon,
.developer-key-icon,
.developer-modal-hero > span {
    align-items: center;
    background: rgba(0, 109, 111, .09);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    flex: 0 0 auto;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.developer-secret-copy h2,
.developer-panel-heading h2,
.developer-key-card h3,
.developer-empty-state h3,
.developer-modal-hero h2 {
    color: var(--portal-ink);
    font-weight: 600;
    letter-spacing: 0;
    margin: 0;
}

.developer-secret-copy h2 {
    font-size: 1.1rem;
}

.developer-secret-copy p,
.developer-panel-heading p,
.developer-muted-copy,
.developer-callout,
.developer-empty-state p,
.developer-modal-hero p {
    color: var(--portal-muted);
    line-height: 1.55;
    margin: .35rem 0 0;
}

.developer-secret-value {
    align-items: center;
    display: flex;
    gap: .6rem;
    min-width: 0;
}

.developer-secret-value .form-control {
    background: rgba(255, 255, 255, .86);
    border: 1px solid rgba(0, 109, 111, .18);
    border-radius: 999px;
    min-height: 44px;
}

.developer-overview-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
}

.developer-entitlement-card,
.developer-create-card,
.developer-keys-panel,
.developer-audit-panel {
    padding: 1rem;
}

.developer-panel-heading {
    min-width: 0;
}

.developer-panel-heading h2 {
    font-size: 1.15rem;
    line-height: 1.2;
    margin-top: .25rem;
}

.developer-panel-heading code {
    color: var(--portal-teal);
    font-size: .86em;
}

.developer-panel-heading-row {
    align-items: flex-start;
    border-bottom: 1px solid rgba(23, 25, 64, .075);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: -.1rem 0 1rem;
    padding-bottom: .9rem;
}

.developer-entitlement-status {
    align-items: center;
    border-top: 1px solid rgba(23, 25, 64, .075);
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: space-between;
    margin-top: 1rem;
    padding-top: 1rem;
}

    .developer-entitlement-status strong {
        color: var(--portal-ink);
        font-weight: 600 !important;
    }

.developer-quota-meter {
    align-items: end;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: 1rem;
}

.developer-quota-meter span,
.developer-fact-grid span,
.developer-metric-card span:not(.developer-metric-icon),
.developer-key-meta span,
.developer-key-topline > span:first-child,
.developer-key-detail-grid span,
.developer-section-mini-heading span,
.developer-field label,
.developer-audit-topline span {
    color: #667386;
    display: block;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.developer-quota-meter strong {
    color: var(--portal-ink);
    display: block;
    font-size: 1.6rem;
    font-weight: 600 !important;
    line-height: 1.05;
    margin-top: .2rem;
}

.developer-progress {
    background: rgba(23, 25, 64, .075);
    border-radius: 999px;
    height: 9px;
    margin-top: .75rem;
    overflow: hidden;
}

.developer-progress span {
    background: linear-gradient(90deg, #006d6f, #08a88a);
    border-radius: inherit;
    display: block;
    height: 100%;
}

.developer-fact-grid {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
}

.developer-fact-grid div,
.developer-key-meta div {
    background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(246, 251, 251, .78));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    min-width: 0;
    padding: .72rem;
}

.developer-fact-grid strong,
.developer-key-meta strong {
    color: var(--portal-ink);
    display: block;
    font-size: .92rem;
    font-weight: 600 !important;
    line-height: 1.25;
    margin-top: .25rem;
}

.developer-inline-action {
    margin-top: .9rem;
}

.developer-callout {
    background: rgba(249, 168, 37, .08);
    border: 1px solid rgba(209, 138, 15, .18);
    border-radius: 12px;
    display: grid;
    gap: .65rem;
    margin-top: 1rem;
    padding: .8rem;
}

.developer-callout.is-quota {
    background: rgba(0, 109, 111, .07);
    border-color: rgba(0, 109, 111, .16);
}

.developer-form-grid {
    display: grid;
    gap: .8rem;
    grid-template-columns: minmax(0, 1.1fr) minmax(150px, .55fr) minmax(150px, .55fr);
    margin-top: 1rem;
}

.developer-field {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.developer-field-wide {
    grid-column: 1 / -1;
}

.developer-field .form-control {
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 10px;
    box-shadow: none;
    color: var(--portal-ink);
    min-height: 44px;
}

.developer-field .form-control:focus {
    background: #fff;
    border-color: rgba(0, 109, 111, .38);
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .1);
}

.developer-scope-section {
    border-top: 1px solid rgba(23, 25, 64, .075);
    margin-top: 1rem;
    padding-top: 1rem;
}

.developer-section-mini-heading {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: space-between;
    margin-bottom: .7rem;
}

.developer-section-mini-heading small,
.developer-action-note,
.developer-key-meta small,
.developer-key-detail-grid small {
    color: var(--portal-muted);
    font-size: .8rem;
}

.developer-scope-grid {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.developer-scope-chip {
    align-items: center;
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .09);
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    gap: .45rem;
    min-height: 38px;
    padding: .42rem .7rem;
}

.developer-scope-chip input {
    accent-color: #006d6f;
}

.developer-scope-chip span {
    color: var(--portal-ink);
    font-size: .82rem;
    font-weight: 600;
}

.developer-form-actions,
.developer-key-actions,
.developer-modal-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: flex-end;
}

.developer-form-actions {
    border-top: 1px solid rgba(23, 25, 64, .075);
    margin-top: 1rem;
    padding-top: 1rem;
}

.developer-metric-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.developer-metric-card {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .1), transparent 10rem),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .8));
    border-left: 3px solid rgba(0, 109, 111, .42);
    display: flex;
    gap: .85rem;
    padding: 1rem;
}

.developer-metric-card.is-warning {
    background:
        radial-gradient(circle at top right, rgba(185, 28, 28, .12), transparent 10rem),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 247, 247, .82));
    border-left-color: #b91c1c;
}

.developer-metric-card.is-warning .developer-metric-icon {
    background: rgba(185, 28, 28, .08);
    border-color: rgba(185, 28, 28, .16);
    color: #b91c1c;
}

.developer-metric-card strong {
    color: var(--portal-ink);
    display: block;
    font-size: 1.7rem;
    font-weight: 600 !important;
    line-height: 1;
    margin-top: .35rem;
}

.developer-metric-card small {
    color: var(--portal-muted);
    display: -webkit-box;
    font-size: .8rem;
    line-height: 1.4;
    margin-top: .4rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.developer-key-list,
.developer-audit-list {
    display: grid;
    gap: .85rem;
}

.developer-key-card {
    border-left: 3px solid rgba(0, 109, 111, .42);
    display: grid;
    gap: .9rem;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.2fr) auto;
    padding: 1rem;
}

.developer-key-card.is-inactive {
    border-left-color: rgba(83, 98, 115, .55);
    opacity: .86;
}

.developer-key-main {
    align-items: flex-start;
    display: flex;
    gap: .85rem;
    min-width: 0;
}

.developer-key-icon.is-production {
    background: rgba(185, 28, 28, .08);
    border-color: rgba(185, 28, 28, .16);
    color: #b91c1c;
    -webkit-align-self: center;
    -o-align-self: center;
    align-self: center;
}

.developer-key-icon.is-test {
    background: rgba(21, 101, 192, .08);
    border-color: rgba(21, 101, 192, .16);
    color: #1565c0;
    -webkit-align-self: center;
    -o-align-self: center;
    align-self: center;
}

.developer-key-copy {
    min-width: 0;
    -webkit-align-self: center;
    -o-align-self: center;
    align-self: center;
}

.developer-key-topline {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.developer-key-card h3 {
    font-size: 1rem;
    line-height: 1.25;
    margin-top: .3rem;
}

.developer-key-card code {
    background: rgba(23, 25, 64, .045);
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 999px;
    color: #536273;
    display: inline-flex;
    font-size: .78rem;
    margin-top: .45rem;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: .28rem .55rem;
}

.developer-key-meta {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.developer-key-actions {
    align-content: center;
    justify-content: flex-end;
    min-width: 160px;
}

.developer-revoke-form {
    margin: 0;
}

.developer-key-details-toggle[aria-expanded="true"] .fa-chevron-down {
    transform: rotate(180deg);
}

.developer-key-details-toggle .fa-chevron-down {
    transition: transform .15s ease;
}

.developer-key-details {
    grid-column: 1 / -1;
}

.developer-key-detail-grid {
    background: rgba(246, 251, 251, .82);
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: .9rem;
}

.developer-key-detail-grid p {
    color: var(--portal-ink);
    font-size: .88rem;
    font-weight: 600;
    line-height: 1.45;
    margin: .3rem 0 0;
    overflow-wrap: anywhere;
}

.developer-scope-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .45rem;
}

.developer-scope-pills span {
    background: rgba(0, 109, 111, .08);
    border: 1px solid rgba(0, 109, 111, .15);
    border-radius: 999px;
    color: #075f61;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: 0;
    padding: .24rem .52rem;
    text-transform: none;
}

.developer-empty-state {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 2.75rem 1rem;
    text-align: center;
}

.developer-empty-state i {
    align-items: center;
    background: rgba(0, 109, 111, .08);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    font-size: 1.4rem;
    height: 52px;
    justify-content: center;
    width: 52px;
}

.developer-empty-state h3 {
    font-size: 1.05rem;
    margin-top: .9rem;
}

.developer-empty-state p {
    max-width: 520px;
}

.developer-audit-item {
    align-items: flex-start;
    background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(246, 251, 251, .78));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    display: flex;
    gap: .8rem;
    padding: .85rem;
}

.developer-audit-dot {
    background: #006d6f;
    border-radius: 999px;
    box-shadow: 0 0 0 5px rgba(0, 109, 111, .08);
    flex: 0 0 .58rem;
    height: .58rem;
    margin-top: .35rem;
    width: .58rem;
}

.developer-audit-topline {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.developer-audit-topline strong {
    color: var(--portal-ink);
    font-weight: 600 !important;
}

.developer-audit-item code {
    color: #536273;
    display: inline-block;
    font-size: .78rem;
    margin-top: .25rem;
}

.developer-audit-item p {
    color: var(--portal-muted);
    margin: .25rem 0 0;
}

.developer-modal {
    max-width: 760px !important;
}

.developer-revoke-modal {
    max-width: 560px !important;
}

.developer-modal .share-popup-card {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .08), transparent 18rem),
        linear-gradient(135deg, #ffffff 0%, #f8fcfc 100%);
    border: 1px solid rgba(0, 109, 111, .14);
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(23, 25, 64, .18);
    overflow: hidden;
    padding: 0;
}

.developer-modal-hero {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .14), transparent 14rem),
        linear-gradient(180deg, #fff, #f5fbfa);
    border-bottom: 1px solid rgba(0, 109, 111, .12);
    border-radius: 12px 12px 0 0;
    display: flex;
    gap: .95rem;
    padding: 1.25rem;
}

.developer-modal-hero.is-danger {
    background:
        radial-gradient(circle at top right, rgba(185, 28, 28, .16), transparent 12rem),
        linear-gradient(180deg, #fff, #fff7f7);
    border-bottom-color: rgba(185, 28, 28, .12);
}

.developer-modal-hero.is-danger > span {
    background: rgba(185, 28, 28, .09);
    border-color: rgba(185, 28, 28, .18);
    color: #b91c1c;
}

.developer-modal-hero h2 {
    font-size: 1.25rem;
}

.developer-modal-body {
    padding: 1.2rem 1.25rem;
}

.developer-modal-actions {
    border-top: 1px solid rgba(23, 25, 64, .08);
    padding: 1rem 1.25rem;
}

.portal-shell-minimal {
    background:
        radial-gradient(circle at 12% 10%, rgba(0, 109, 111, .12), transparent 22rem),
        radial-gradient(circle at 88% 4%, rgba(8, 168, 138, .1), transparent 20rem),
        linear-gradient(180deg, #f6fbfb 0%, #edf5f5 100%);
    min-height: 100vh;
}

.portal-shell-minimal .inner-wrapper {
    min-height: 100vh;
    padding: clamp(1rem, 3vw, 2.5rem);
}

.portal-shell-minimal .portal-content-minimal {
    background: transparent;
    margin: 0 !important;
    min-height: auto;
    padding: 0 !important;
}

.portal-shell-minimal .portal-page-shell {
    margin-top: 0;
}

.team-shell {
    gap: 1.15rem;
}

.team-command h1 {
    max-width: 780px;
}

.team-stat-grid,
.team-content-grid {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.team-stat-grid {
    grid-template-columns: 1.2fr .9fr .9fr;
}

.team-content-grid {
    align-items: start;
    grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
}

.team-stat-card,
.team-panel,
.team-member-card,
.team-invitation-card,
.team-callout {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
    min-width: 0;
}

.team-stat-card {
    align-items: flex-start;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 10rem),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .8));
    border-left: 3px solid rgba(0, 109, 111, .42);
    display: flex;
    gap: .85rem;
    padding: 1rem;
}

.team-stat-card-pending {
    background:
        radial-gradient(circle at top right, rgba(249, 168, 37, .14), transparent 10rem),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 250, 241, .82));
    border-left-color: #d18a0f;
}

.team-stat-icon,
.team-avatar,
.team-modal-hero > span,
.team-callout > span {
    align-items: center;
    background: rgba(0, 109, 111, .09);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    flex: 0 0 auto;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.team-stat-card-pending .team-stat-icon {
    background: rgba(249, 168, 37, .12);
    border-color: rgba(209, 138, 15, .2);
    color: #a66505;
}

.team-stat-card span:not(.team-stat-icon),
.team-member-meta span,
.team-panel-heading .portal-eyebrow,
.team-field label {
    color: #667386;
    display: block;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.team-stat-card strong {
    color: var(--portal-ink);
    display: block;
    font-size: 1.65rem;
    font-weight: 600 !important;
    line-height: 1;
    margin-top: .35rem;
}

.team-stat-card small {
    color: var(--portal-muted);
    display: block;
    font-size: .8rem;
    line-height: 1.4;
    margin-top: .42rem;
}

.team-seat-progress {
    background: rgba(23, 25, 64, .075);
    border-radius: 999px;
    height: 9px;
    margin-top: .75rem;
    overflow: hidden;
}

.team-seat-progress span {
    background: linear-gradient(90deg, #006d6f, #08a88a);
    border-radius: inherit;
    display: block;
    height: 100%;
}

.team-callout {
    align-items: flex-start;
    background:
        radial-gradient(circle at top right, rgba(249, 168, 37, .12), transparent 14rem),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 250, 241, .82));
    border-color: rgba(209, 138, 15, .18);
    display: flex;
    gap: .85rem;
    padding: 1rem;
}

.team-callout > span {
    background: rgba(249, 168, 37, .12);
    border-color: rgba(209, 138, 15, .2);
    color: #a66505;
}

.team-callout strong,
.team-member-card h3,
.team-invitation-card h3,
.team-panel-heading h2,
.team-empty-state h3,
.team-modal-hero h2 {
    color: var(--portal-ink);
    font-weight: 600;
    margin: 0;
}

.team-callout p,
.team-panel-heading p,
.team-member-card p,
.team-invitation-card p,
.team-empty-state p,
.team-modal-hero p,
.team-field p {
    color: var(--portal-muted);
    line-height: 1.55;
    margin: .35rem 0 0;
}

.team-panel {
    padding: 1rem;
}

.team-panel-heading {
    align-items: flex-start;
    border-bottom: 1px solid rgba(23, 25, 64, .075);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: -.1rem 0 1rem;
    padding-bottom: .9rem;
}

.team-panel-heading h2 {
    font-size: 1.15rem;
    line-height: 1.2;
    margin-top: .25rem;
}

.team-member-list,
.team-invitation-list {
    display: grid;
    gap: .85rem;
}

.team-member-card,
.team-invitation-card {
    border-left: 3px solid rgba(0, 109, 111, .42);
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(0, 1.2fr) minmax(190px, .7fr) auto;
    padding: 1rem;
}

.team-member-card.is-current-user {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .1), transparent 11rem),
        rgba(255, 255, 255, .92);
}

.team-invitation-card {
    border-left-color: #d18a0f;
}

.team-invitations-panel .team-invitation-card {
    grid-template-columns: 1fr;
}

.team-invitations-panel .team-member-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.team-invitations-panel .team-invitation-actions {
    justify-content: flex-start;
}

.team-member-main,
.team-invitation-main {
    align-items: flex-start;
    display: flex;
    gap: .85rem;
    min-width: 0;
}

.team-avatar {
    color: #006d6f;
    font-size: .86rem;
    font-weight: 600 !important;
    letter-spacing: .03em;
    -webkit-align-self: center;
    -o-align-self: center;
    align-self: center;
}

.team-avatar.is-invite {
    background: rgba(249, 168, 37, .12);
    border-color: rgba(209, 138, 15, .2);
    color: #a66505;
}

.team-member-copy {
    min-width: 0;
}

.team-invitation-main > div {
    min-width: 0;
}

.team-member-topline {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.team-member-card h3,
.team-invitation-card h3 {
    font-size: 1rem;
    line-height: 1.25;
    margin-top: .35rem;
    overflow-wrap: anywhere;
}

.team-member-card p,
.team-invitation-card p {
    font-size: .86rem;
    overflow-wrap: anywhere;
}

.team-member-meta {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.team-member-meta div {
    background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(246, 251, 251, .78));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    min-width: 0;
    padding: .72rem;
}

.team-member-meta strong {
    color: var(--portal-ink);
    display: block;
    font-size: .9rem;
    font-weight: 600 !important;
    line-height: 1.25;
    margin-top: .25rem;
}

.team-member-actions,
.team-invitation-actions,
.team-modal-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: flex-end;
}

.team-protected-label {
    background: rgba(23, 25, 64, .055);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 999px;
    color: #536273;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 600;
    min-height: 34px;
    padding: .4rem .7rem;
}

.team-empty-state {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 2.75rem 1rem;
    text-align: center;
}

.team-empty-state i {
    align-items: center;
    background: rgba(0, 109, 111, .08);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    font-size: 1.4rem;
    height: 52px;
    justify-content: center;
    width: 52px;
}

.team-empty-state h3 {
    font-size: 1.05rem;
    margin-top: .9rem;
}

.team-empty-state p {
    max-width: 520px;
}

.team-modal {
    max-width: 580px !important;
}

.team-modal .share-popup-card {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .08), transparent 18rem),
        linear-gradient(135deg, #ffffff 0%, #f8fcfc 100%);
    border: 1px solid rgba(0, 109, 111, .14);
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(23, 25, 64, .18);
    overflow: hidden;
    padding: 0;
}

.team-modal-hero {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .14), transparent 14rem),
        linear-gradient(180deg, #fff, #f5fbfa);
    border-bottom: 1px solid rgba(0, 109, 111, .12);
    border-radius: 12px 12px 0 0;
    display: flex;
    gap: .95rem;
    padding: 1.25rem;
}

.team-modal-hero.is-danger {
    background:
        radial-gradient(circle at top right, rgba(185, 28, 28, .16), transparent 12rem),
        linear-gradient(180deg, #fff, #fff7f7);
    border-bottom-color: rgba(185, 28, 28, .12);
}

.team-modal-hero.is-danger > span {
    background: rgba(185, 28, 28, .09);
    border-color: rgba(185, 28, 28, .18);
    color: #b91c1c;
}

.team-modal-hero h2 {
    font-size: 1.25rem;
}

.team-modal-body {
    display: grid;
    gap: .9rem;
    padding: 1.2rem 1.25rem;
}

.team-field {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.team-field .form-control {
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 10px;
    box-shadow: none;
    color: var(--portal-ink);
    min-height: 44px;
}

.team-field .form-control:focus {
    background: #fff;
    border-color: rgba(0, 109, 111, .38);
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .1);
}

.team-modal-actions {
    border-top: 1px solid rgba(23, 25, 64, .08);
    padding: 1rem 1.25rem;
}

.team-accept-shell {
    margin-inline: auto;
    max-width: 980px;
}

.team-accept-command {
    align-items: flex-start;
}

.team-accept-card {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 18rem),
        linear-gradient(135deg, #ffffff 0%, #f7fbfb 100%);
    border: 1px solid rgba(0, 109, 111, .12);
    border-radius: 18px;
    box-shadow: 0 22px 58px rgba(23, 25, 64, .1);
    display: grid;
    gap: 1rem;
    overflow: hidden;
    padding: 1.2rem;
}

.team-accept-hero {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    min-width: 0;
}

.team-accept-icon,
.team-accept-notice > span {
    align-items: center;
    background: rgba(0, 109, 111, .09);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    flex: 0 0 auto;
    height: 52px;
    justify-content: center;
    width: 52px;
}

.team-accept-copy {
    min-width: 0;
}

.team-accept-copy h2,
.team-accept-notice h3 {
    color: var(--portal-ink);
    font-weight: 600;
    margin: 0;
}

.team-accept-copy h2 {
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1.1;
    margin-top: .55rem;
    overflow-wrap: anywhere;
}

.team-accept-copy p,
.team-accept-notice p {
    color: var(--portal-muted);
    line-height: 1.6;
    margin: .55rem 0 0;
}

.team-accept-facts {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.team-accept-facts div,
.team-accept-notice {
    background: rgba(255, 255, 255, .86);
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 14px;
}

.team-accept-facts div {
    min-width: 0;
    padding: .9rem 1rem;
}

.team-accept-facts span {
    color: #667386;
    display: block;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.team-accept-facts strong {
    color: var(--portal-ink);
    display: block;
    font-size: .94rem;
    font-weight: 600 !important;
    line-height: 1.35;
    margin-top: .35rem;
    overflow-wrap: anywhere;
}

.team-accept-notice {
    align-items: flex-start;
    display: flex;
    gap: .9rem;
    padding: 1rem;
}

.team-accept-notice.is-warning {
    background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 250, 241, .86));
    border-color: rgba(209, 138, 15, .18);
}

.team-accept-notice.is-warning > span {
    background: rgba(249, 168, 37, .12);
    border-color: rgba(209, 138, 15, .22);
    color: #a66505;
}

.team-accept-notice.is-danger {
    background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 247, 247, .88));
    border-color: rgba(185, 28, 28, .16);
}

.team-accept-notice.is-danger > span {
    background: rgba(185, 28, 28, .09);
    border-color: rgba(185, 28, 28, .18);
    color: #b91c1c;
}

.team-accept-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: .9rem;
}

.dashboard-activity-list {
    display: flex;
    flex-direction: column;
    gap: .65rem;
    max-height: 530px;
    overflow-y: auto;
    padding-right: .25rem;
}

.dashboard-activity-item {
    align-items: flex-start;
    border: 1px solid rgba(33, 37, 41, .08);
    border-radius: .5rem;
    color: inherit;
    display: flex;
    gap: .75rem;
    padding: .8rem;
    position: relative;
    text-decoration: none;
}

.dashboard-activity-item:hover,
.dashboard-activity-item:focus {
    background: #f8f9fa;
    color: inherit;
    text-decoration: none;
}

.dashboard-activity-item.is-unread {
    background: rgba(21, 101, 192, .05);
    border-color: rgba(21, 101, 192, .18);
}

.dashboard-activity-icon {
    align-items: center;
    border-radius: .45rem;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.dashboard-activity-body {
    display: block;
    min-width: 0;
    padding-right: .5rem;
}

.dashboard-activity-title {
    color: #212529;
    display: block;
    font-weight: 600 !important;
    line-height: 1.25;
}

.dashboard-activity-message {
    color: #6c757d;
    display: block;
    font-size: .82rem;
    line-height: 1.35;
    margin-top: .15rem;
}

.dashboard-activity-time {
    color: #8a929a;
    display: block;
    font-size: .75rem;
    margin-top: .35rem;
}

.dashboard-activity-dot {
    background: #1565C0;
    border-radius: 999px;
    flex: 0 0 auto;
    height: 8px;
    margin-top: .35rem;
    width: 8px;
}

.dashboard-activity-empty {
    padding: 2.25rem 1rem;
    text-align: center;
}

.dashboard-activity-empty i {
    color: #1565C0;
    font-size: 2rem;
}

.dashboard-report-summary-row:hover {
    background: transparent;
}

.dashboard-report-summary {
    background: #f8f9fa;
    border-left: 3px solid #1565C0;
    color: #6c757d;
    font-size: .875rem;
    line-height: 1.45;
    margin: 0 0 .65rem 0;
    padding: .75rem 1rem;
}

.workspace-switcher {
    display: inline-flex;
    position: relative;
    top: auto;
    vertical-align: middle;
}

.workspace-switcher-toggle {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(49, 89, 168, .14), transparent 8rem),
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(245, 248, 255, .92));
    border: 1px solid rgba(49, 89, 168, .16);
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(23, 25, 64, .055);
    color: #171940;
    display: inline-flex;
    gap: .65rem;
    min-height: 46px;
    padding: .35rem .7rem .35rem .45rem;
    text-decoration: none;
}

.workspace-switcher-toggle:hover,
.workspace-switcher-toggle:focus {
    background:
        radial-gradient(circle at top right, rgba(49, 89, 168, .18), transparent 8rem),
        #fff;
    border-color: rgba(49, 89, 168, .28);
    color: #3159a8;
    text-decoration: none;
}

.workspace-switcher-icon {
    align-items: center;
    background: rgba(49, 89, 168, .1);
    border: 1px solid rgba(49, 89, 168, .18);
    border-radius: 999px;
    color: #3159a8;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.workspace-switcher-icon i {
    font-size: 1.25rem;
}

.workspace-switcher-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    min-width: 0;
}

.workspace-switcher-label {
    color: #667386;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.workspace-switcher-copy strong {
    display: block;
    font-size: .88rem;
    font-weight: 600 !important;
    max-width: 230px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.workspace-switcher-copy small {
    color: #667386;
    display: block;
    font-size: .72rem;
    margin-top: .1rem;
    max-width: 230px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.workspace-switcher-caret {
    color: #8a929a;
    font-size: .8rem;
}

.workspace-switcher-menu {
    border: 1px solid rgba(49, 89, 168, .14);
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(23, 25, 64, .16);
    min-width: 440px;
    overflow: hidden;
    padding: 0;
}

.workspace-switcher-head {
    background:
        radial-gradient(circle at top right, rgba(49, 89, 168, .14), transparent 12rem),
        linear-gradient(180deg, #fff, #f5f8ff);
    border-bottom: 1px solid rgba(49, 89, 168, .14);
    padding: 1rem;
}

.workspace-switcher-head strong,
.workspace-switcher-head span {
    display: block;
}

.workspace-switcher-head span {
    color: #667386;
    font-size: .78rem;
    margin-top: .15rem;
}

.workspace-switcher-head a {
    color: #3159a8;
    display: inline-block;
    font-size: .78rem;
    font-weight: 600;
    margin-top: .45rem;
}

.workspace-switcher-item-form {
    margin: 0;
}

.workspace-switcher-item {
    align-items: center;
    background: #fff;
    border: 0;
    border-bottom: 1px solid rgba(23, 25, 64, .065);
    color: #171940;
    display: flex;
    justify-content: space-between;
    padding: .85rem 1rem;
    text-align: left;
    width: 100%;
}

.workspace-switcher-item:hover,
.workspace-switcher-item:focus {
    background: #f7f9ff;
}

.workspace-switcher-item.is-active {
    background:
        radial-gradient(circle at top right, rgba(49, 89, 168, .12), transparent 10rem),
        #f5f8ff;
    color: #3159a8;
}

.workspace-switcher-item i {
    color: #3159a8;
    font-size: 1.2rem;
}

.workspace-switcher-item strong,
.workspace-switcher-item small {
    display: block;
}

.workspace-switcher-item small {
    color: #667386;
    font-size: .76rem;
    margin-top: .15rem;
}

.workspace-settings-shell {
    gap: 1.1rem;
}

.workspace-settings-command h1 {
    max-width: 820px;
}

.workspace-settings-command-badges,
.workspace-settings-form-actions,
.workspace-settings-panel-heading,
.workspace-settings-list-badges {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.workspace-settings-command-badges {
    margin-top: .9rem;
}

.workspace-settings-overview-grid,
.workspace-settings-main-grid,
.workspace-settings-lower-grid,
.workspace-settings-facts {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.workspace-settings-overview-grid {
    grid-template-columns: 1.2fr .9fr .9fr;
}

.workspace-settings-main-grid,
.workspace-settings-lower-grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr);
}

.workspace-settings-overview-card,
.workspace-settings-panel,
.workspace-settings-detail-row,
.workspace-settings-billing-card,
.workspace-settings-callout,
.workspace-settings-list-item {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
    min-width: 0;
}

.workspace-settings-overview-card {
    align-items: flex-start;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 10rem),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .8));
    border-left: 3px solid rgba(0, 109, 111, .42);
    display: flex;
    gap: .85rem;
    padding: 1rem;
}

.workspace-settings-overview-card-primary {
    border-left-color: #006d6f;
}

.workspace-settings-card-icon,
.workspace-settings-workspace-icon {
    align-items: center;
    background: rgba(0, 109, 111, .09);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    flex: 0 0 auto;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.workspace-settings-card-icon.is-muted {
    background: rgba(23, 25, 64, .055);
    border-color: rgba(23, 25, 64, .08);
    color: #667386;
}

.workspace-settings-overview-card span:not(.workspace-settings-card-icon),
.workspace-settings-facts span,
.workspace-settings-detail-row span,
.workspace-settings-billing-card span:not(.workspace-settings-card-icon),
.workspace-settings-field label,
.workspace-settings-seat-summary span:not(.workspace-settings-seat-percent) {
    color: #667386;
    display: block;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.workspace-settings-overview-card strong,
.workspace-settings-facts strong,
.workspace-settings-detail-row strong,
.workspace-settings-billing-card strong,
.workspace-settings-seat-summary strong {
    color: var(--portal-ink);
    display: block;
    font-weight: 600 !important;
    line-height: 1.22;
    margin-top: .3rem;
    overflow-wrap: anywhere;
}

.workspace-settings-overview-card strong {
    font-size: 1.45rem;
}

.workspace-settings-overview-card small,
.workspace-settings-billing-card small,
.workspace-settings-callout p,
.workspace-settings-panel-heading p,
.workspace-settings-list-item p {
    color: var(--portal-muted);
    display: block;
    line-height: 1.55;
    margin: .35rem 0 0;
}

.workspace-settings-panel {
    padding: 1rem;
}

.workspace-settings-panel-heading {
    align-items: flex-start;
    border-bottom: 1px solid rgba(23, 25, 64, .075);
    justify-content: space-between;
    margin: -.1rem 0 1rem;
    padding-bottom: .9rem;
}

.workspace-settings-panel-heading h2,
.workspace-settings-callout strong,
.workspace-settings-list-title {
    color: var(--portal-ink);
    font-weight: 600 !important;
    margin: 0;
}

.workspace-settings-panel-heading h2 {
    font-size: 1.15rem;
    line-height: 1.2;
    margin-top: .25rem;
}

.workspace-settings-form {
    display: grid;
    gap: .9rem;
}

.workspace-settings-field {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.workspace-settings-field .form-control {
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 10px;
    box-shadow: none;
    color: var(--portal-ink);
    min-height: 46px;
}

.workspace-settings-field .form-control:focus {
    background: #fff;
    border-color: rgba(0, 109, 111, .38);
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .1);
}

.workspace-settings-field .form-control:disabled {
    background: rgba(23, 25, 64, .045);
    color: #667386;
}

.workspace-settings-callout {
    align-items: flex-start;
    background:
        radial-gradient(circle at top right, rgba(249, 168, 37, .12), transparent 12rem),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 250, 241, .82));
    border-color: rgba(209, 138, 15, .18);
    box-shadow: none;
    display: flex;
    gap: .75rem;
    margin-top: 1rem;
    padding: .9rem;
}

.workspace-settings-callout.is-muted {
    background: rgba(248, 252, 252, .76);
    border-color: rgba(23, 25, 64, .08);
}

.workspace-settings-callout i {
    color: #a66505;
    flex: 0 0 auto;
    margin-top: .22rem;
}

.workspace-settings-callout.is-muted i {
    color: var(--portal-teal);
}

.workspace-settings-seat-summary {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.workspace-settings-seat-summary strong {
    font-size: 2.1rem;
}

.workspace-settings-seat-percent {
    align-items: center;
    background: rgba(0, 109, 111, .08);
    border: 1px solid rgba(0, 109, 111, .14);
    border-radius: 999px;
    color: #075f61;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .82rem;
    font-weight: 600;
    min-height: 34px;
    padding: .4rem .75rem;
}

.workspace-settings-seat-progress {
    background: rgba(23, 25, 64, .075);
    border-radius: 999px;
    height: 10px;
    margin: .85rem 0 1rem;
    overflow: hidden;
}

.workspace-settings-seat-progress span {
    background: linear-gradient(90deg, #006d6f, #08a88a);
    border-radius: inherit;
    display: block;
    height: 100%;
}

.workspace-settings-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.workspace-settings-facts div {
    background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(246, 251, 251, .78));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    min-width: 0;
    padding: .78rem;
}

.workspace-settings-detail-list {
    display: grid;
    gap: .65rem;
}

.workspace-settings-detail-row {
    align-items: flex-start;
    box-shadow: none;
    display: grid;
    gap: .45rem;
    grid-template-columns: minmax(110px, .4fr) minmax(0, 1fr);
    padding: .85rem;
}

.workspace-settings-detail-row strong {
    margin-top: 0;
    text-align: right;
}

.workspace-settings-monospace {
    font-family: Consolas, Monaco, "Courier New", monospace;
}

.workspace-settings-billing-card {
    align-items: center;
    box-shadow: none;
    display: flex;
    gap: .9rem;
    padding: .9rem;
}

.workspace-settings-inline-action {
    margin-top: 1rem;
}

.workspace-settings-list {
    display: grid;
    gap: .8rem;
}

.workspace-settings-list-item {
    align-items: center;
    border-left: 3px solid rgba(23, 25, 64, .12);
    box-shadow: none;
    display: grid;
    gap: .85rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: .95rem;
}

.workspace-settings-list-item.is-active {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .1), transparent 12rem),
        rgba(255, 255, 255, .94);
    border-color: rgba(0, 109, 111, .2);
    border-left-color: #006d6f;
}

.workspace-settings-list-copy {
    min-width: 0;
}

.workspace-settings-list-title {
    font-size: 1rem;
    overflow-wrap: anywhere;
}

.min-width-0 {
    min-width: 0;
}

@media (max-width: 767.98px) {
    .shared-links-detail {
        max-width: 260px;
    }

    .shared-links-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .portal-header {
        background: transparent;
        border-bottom: 0;
        box-shadow: none;
        display: block;
        height: auto;
        padding: 0;
    }

    .portal-header-logo-container {
        left: 0;
        position: fixed;
        right: 0;
        top: 0;
        width: 100%;
        z-index: 99;
    }

    .portal-header-actions {
        background: rgba(255, 255, 255, .95);
        border-bottom: 1px solid rgba(23, 25, 64, .08);
        box-shadow: 0 12px 32px rgba(23, 25, 64, .06);
        gap: .5rem;
        height: auto;
        justify-content: flex-end;
        margin-top: 60px;
        overflow-x: auto;
        padding: .55rem .75rem;
        width: 100%;
    }

    .portal-header-actions::-webkit-scrollbar {
        display: none;
    }

    .workspace-switcher-toggle {
        min-height: 42px;
        padding: .3rem .55rem .3rem .35rem;
    }

    .portal-user-copy {
        display: none;
    }

    .portal-sidebar.sidebar-left {
        box-shadow: 26px 0 70px rgba(23, 25, 64, .28);
    }

    .portal-sidebar .sidebar-header {
        background: rgba(255, 255, 255, .045);
        height: 60px;
        padding: 0 1rem;
    }

    .portal-sidebar .nano-content {
        padding: 1rem;
    }

    .portal-sidebar ul.nav-main > li > a.nav-link {
        min-height: 48px;
        padding: .78rem .85rem;
    }

    .portal-sidebar ul.nav-main > li > a.nav-link span {
        font-size: .92rem;
    }
}

@media (max-width: 575.98px) {
    .notification-center-menu,
    .portal-user-dropdown {
        width: calc(100vw - 1rem);
    }

    .notification-center { margin-right: .25rem; }

    .workspace-switcher-copy { display: none; }

    .workspace-switcher-menu {
        min-width: calc(100vw - 1rem);
    }

    .portal-shell-logo {
        max-height: 52px;
        max-width: 190px;
    }
}

.trueviewly-maintenance-banner {
    align-items: center;
    background: linear-gradient(90deg, #171940 0%, #006d6f 100%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 14px 36px rgba(23, 25, 64, 0.12);
    color: #fff;
    display: flex;
    font-size: 0.88rem;
    font-weight: 600;
    gap: 0.65rem;
    justify-content: center;
    left: 0;
    min-height: 44px;
    padding: 0.55rem 1.5rem;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    z-index: 1021;
}

.body.has-maintenance-banner > .header {
    top: 44px;
}

.trueviewly-maintenance-banner__icon {
    align-items: center;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 auto;
    height: 26px;
    justify-content: center;
    width: 26px;
}

.trueviewly-maintenance-banner__message {
    line-height: 1.45;
}

.body.has-maintenance-banner .inner-wrapper {
    padding-top: 104px;
}

.portal-shell-logo {
    height: auto;
    max-height: 60px;
    max-width: 220px;
    -webkit-object-fit: contain;
    object-fit: contain;
}

@media only screen and (min-width: 768px) {
    html.fixed .body.has-maintenance-banner .inner-wrapper {
        padding-top: 154px;
    }

    html.fixed .body.has-maintenance-banner > .header {
        top: 44px;
    }

    html.fixed .body.has-maintenance-banner .sidebar-left {
        top: 104px;
    }

    html.fixed .body.has-maintenance-banner .page-header {
        top: 104px;
    }
}

@media only screen and (max-width: 767px) {
    .trueviewly-maintenance-banner {
        align-items: flex-start;
        font-size: 0.82rem;
        justify-content: flex-start;
        position: relative;
        text-align: left;
        top: auto;
        z-index: 100;
    }

    .body.has-maintenance-banner > .header {
        top: auto;
    }

    .body.has-maintenance-banner .inner-wrapper {
        padding-top: 0;
    }
}

.tv-report-nav-inline {
    margin-bottom: 0;
}

.portal-page-shell {
    --portal-ink: #171940;
    --portal-muted: #4f5d6b;
    --portal-soft: #f6fbfb;
    --portal-teal: #006d6f;
    --portal-teal-dark: #075f61;
    --portal-border: rgba(0, 109, 111, .12);
    background:
        radial-gradient(circle at top left, rgba(8, 168, 138, .14), transparent 28rem),
        linear-gradient(135deg, #ffffff 0%, #f8fcfc 50%, #eef7f6 100%);
    border: 1px solid var(--portal-border);
    border-radius: 12px;
    box-shadow: 0 18px 45px rgba(23, 25, 64, .08);
    color: var(--portal-ink);
    display: grid;
    gap: 1rem;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
    padding: 1.35rem;
}

.portal-command {
    align-items: flex-start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(min(100%, 280px), auto);
    max-width: 100%;
    min-width: 0;
}

.portal-command-copy {
    min-width: 0;
}

.portal-eyebrow {
    color: var(--portal-teal);
    display: inline-flex;
    font-size: .74rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.portal-command h1,
.portal-section-heading h2 {
    color: var(--portal-ink);
    font-weight: 600;
    letter-spacing: 0;
    margin: 0;
}

.portal-command h1 {
    font-size: clamp(1.25rem, 1.7vw, 1.5rem);
    line-height: 1.08;
    margin-top: .35rem;
}

.portal-command p,
.portal-section-heading p {
    color: var(--portal-muted);
    line-height: 1.6;
    margin: .45rem 0 0;
}

.portal-chip-row,
.portal-command-actions,
.portal-card-topline,
.portal-quota-meta,
.portal-section-heading,
.portal-section-heading-action,
.portal-report-badges,
.portal-report-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.portal-chip-row {
    margin-top: .9rem;
}

.portal-command-actions {
    justify-content: flex-end;
    min-width: 0;
}

.portal-badge {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .42)),
        var(--portal-badge-bg, rgba(23, 25, 64, .045));
    border: 1px solid var(--portal-badge-border, rgba(23, 25, 64, .08));
    border-radius: 999px;
    color: var(--portal-badge-color, #4f5d6b);
    display: inline-flex;
    font-size: .74rem;
    font-weight: 600;
    gap: .35rem;
    line-height: 1;
    min-height: 1.65rem;
    padding: .34rem .66rem;
    white-space: nowrap;
}

.portal-badge::before {
    background: var(--portal-badge-dot, currentColor);
    border-radius: 999px;
    content: "";
    flex: 0 0 .36rem;
    height: .36rem;
    width: .36rem;
}

.portal-badge-plan,
.portal-badge-success {
    --portal-badge-bg: rgba(0, 109, 111, .09);
    --portal-badge-border: rgba(0, 109, 111, .16);
    --portal-badge-color: #075f61;
    --portal-badge-dot: #006d6f;
}

.portal-badge-muted {
    --portal-badge-bg: rgba(23, 25, 64, .055);
    --portal-badge-border: rgba(23, 25, 64, .08);
    --portal-badge-color: #4f5d6b;
    --portal-badge-dot: #8a97a6;
}

.portal-badge-warning {
    --portal-badge-bg: rgba(249, 168, 37, .13);
    --portal-badge-border: rgba(177, 116, 17, .2);
    --portal-badge-color: #7a520b;
    --portal-badge-dot: #d18a0f;
}

.portal-badge-danger {
    --portal-badge-bg: rgba(183, 28, 28, .09);
    --portal-badge-border: rgba(183, 28, 28, .18);
    --portal-badge-color: #8f1515;
    --portal-badge-dot: #b71c1c;
}

.portal-panel,
.portal-quota-card {
    background: rgba(255, 255, 255, .9);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
}

.portal-quota-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr));
}

.portal-quota-card {
    display: flex;
    flex-direction: column;
    min-height: 260px;
    padding: 1rem;
}

.portal-card-topline {
    justify-content: space-between;
}

.portal-card-kicker,
.portal-api-label {
    color: #5d6a78;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.portal-quota-main {
    margin-top: 1.2rem;
}

.portal-quota-main strong {
    color: var(--portal-ink);
    display: block;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1;
}

.portal-quota-main span {
    color: var(--portal-muted);
    display: block;
    font-weight: 600;
    margin-top: .25rem;
}

.portal-meter {
    background: rgba(23, 25, 64, .07);
    border-radius: 999px;
    height: 10px;
    margin-top: 1.1rem;
    overflow: hidden;
}

.portal-meter span {
    background: linear-gradient(90deg, #006d6f 0%, #08a88a 100%);
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 4px;
}

.portal-quota-meta {
    color: var(--portal-muted);
    font-size: .82rem;
    font-weight: 600;
    justify-content: space-between;
    margin-top: .7rem;
}

.portal-reset-note,
.portal-topup-note {
    color: #667386;
    font-size: .8rem;
    line-height: 1.45;
    margin-top: .65rem;
}

.portal-reset-note strong {
    color: var(--portal-ink);
}

.portal-topup-note {
    background: rgba(0, 109, 111, .06);
    border: 1px solid rgba(0, 109, 111, .11);
    border-radius: 8px;
    color: #075f61;
    font-weight: 600 !important;
    padding: .55rem .65rem;
}

.portal-quota-message {
    align-items: flex-start;
    background: transparent;
    border-left: 2px solid rgba(177, 116, 17, .42);
    color: #5d6a78;
    display: flex;
    font-size: .8rem;
    font-weight: 600;
    gap: .5rem;
    line-height: 1.45;
    margin-top: .72rem;
    padding: .05rem 0 .05rem .68rem;
}

.portal-quota-message::before {
    background: rgba(177, 116, 17, .16);
    border: 1px solid rgba(177, 116, 17, .22);
    border-radius: 999px;
    content: "";
    flex: 0 0 .48rem;
    height: .48rem;
    margin-top: .36rem;
    width: .48rem;
}

.portal-inline-action {
    align-items: center;
    align-self: flex-start;
    background: linear-gradient(135deg, rgba(21, 101, 192, .1), rgba(255, 255, 255, .86));
    border: 1px solid rgba(21, 101, 192, .22);
    border-radius: 999px;
    box-shadow: 0 10px 22px rgba(21, 101, 192, .08);
    color: #134d8e;
    display: inline-flex;
    font-size: .84rem;
    font-weight: 600;
    gap: .4rem;
    margin-top: auto;
    min-height: 38px;
    padding: .56rem .82rem;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
}

.portal-inline-action:hover,
.portal-inline-action:focus {
    background: linear-gradient(135deg, rgba(21, 101, 192, .15), rgba(255, 255, 255, .9));
    border-color: rgba(21, 101, 192, .32);
    box-shadow: 0 14px 28px rgba(21, 101, 192, .12);
    color: #0d3f76;
    text-decoration: none;
    transform: translateY(-1px);
}

.portal-panel {
    padding: 1rem;
}

.portal-panel-large {
    padding: 1.1rem;
}

.portal-section-heading {
    justify-content: space-between;
    margin-bottom: 1rem;
}

.portal-section-heading h2 {
    font-size: 1.1rem;
    margin-top: .2rem;
}

.portal-section-heading p {
    font-size: .9rem;
}

.portal-section-heading-action {
    align-items: flex-start;
}

.portal-chart {
    background: linear-gradient(180deg, rgba(246, 251, 251, .86), rgba(255, 255, 255, .82));
    border: 1px solid rgba(23, 25, 64, .06);
    border-radius: 10px;
    height: 230px;
    max-width: 100%;
    min-width: 0;
    padding: .85rem;
}

.portal-chart canvas {
    max-width: 100% !important;
}

.portal-chart-tall {
    height: 260px;
}

.portal-grid-two,
.portal-grid-main {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.portal-grid-two {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
}

.portal-grid-main {
    grid-template-columns: minmax(min(100%, 520px), 1.35fr) minmax(min(100%, 320px), .65fr);
}

.portal-report-list,
.portal-api-list {
    display: grid;
    gap: .75rem;
}

.portal-report-item,
.portal-api-item {
    background: linear-gradient(180deg, rgba(246, 251, 251, .76), rgba(255, 255, 255, .9));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 10px;
}

.portal-report-item {
    align-items: flex-start;
    display: grid;
    gap: .85rem;
    grid-template-columns: auto minmax(0, 1fr) minmax(min-content, auto);
    min-width: 0;
    padding: .85rem;
}

.portal-report-score {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 10px;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    min-height: 72px;
    min-width: 72px;
}

.portal-report-score strong {
    color: var(--portal-ink);
    font-size: 1.65rem;
    font-weight: 600;
    line-height: 1;
}

.portal-report-score span {
    color: var(--portal-muted);
    font-size: .72rem;
    font-weight: 600;
    margin-top: .2rem;
    text-transform: uppercase;
}

.portal-report-title {
    color: var(--portal-ink);
    font-weight: 600;
    line-height: 1.35;
}

.portal-report-badges {
    margin-top: .45rem;
}

.portal-report-summary {
    background: rgba(255, 255, 255, .75);
    border-left: 3px solid var(--portal-teal);
    border-radius: 8px;
    color: var(--portal-muted);
    font-size: .88rem;
    line-height: 1.5;
    margin-top: .7rem;
    padding: .7rem .85rem;
}

.portal-report-actions {
    justify-content: flex-end;
    min-width: 0;
}

.portal-empty-state {
    align-items: center;
    border: 1px dashed rgba(0, 109, 111, .2);
    border-radius: 10px;
    color: var(--portal-muted);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 230px;
    padding: 1.5rem;
    text-align: center;
}

.portal-empty-state-compact {
    min-height: 170px;
}

.portal-empty-state i {
    color: var(--portal-teal);
    font-size: 2rem;
}

.portal-empty-state h3 {
    color: var(--portal-ink);
    font-size: 1rem;
    font-weight: 600;
    margin: .75rem 0 .25rem;
}

.portal-empty-state p {
    line-height: 1.5;
    margin: 0 0 .9rem;
    max-width: 360px;
}

.portal-activity-list {
    max-height: 618px;
    padding-left: .15rem;
}

.portal-activity-item {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(246, 251, 251, .78));
    border: 1px solid rgba(23, 25, 64, .075);
    border-left: 3px solid rgba(0, 109, 111, .28);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(23, 25, 64, .045);
    padding: .9rem;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.portal-activity-item:hover,
.portal-activity-item:focus {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .86));
    border-color: rgba(0, 109, 111, .18);
    box-shadow: 0 14px 30px rgba(23, 25, 64, .075);
    transform: translateY(-1px);
}

.portal-activity-item.is-unread {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(238, 247, 246, .96));
    border-color: rgba(0, 109, 111, .2);
    border-left-color: #006d6f;
}

.portal-activity-item .dashboard-activity-icon {
    background:
        linear-gradient(135deg, rgba(0, 109, 111, .12), rgba(21, 101, 192, .1)) !important;
    border: 1px solid rgba(0, 109, 111, .18);
    border-radius: 999px;
    color: #006d6f !important;
    height: 38px;
    width: 38px;
}

.portal-activity-item .dashboard-activity-title {
    color: var(--portal-ink);
    font-weight: 600;
}

.portal-activity-item .dashboard-activity-message {
    color: var(--portal-muted);
    font-size: .84rem;
}

.portal-activity-item .dashboard-activity-time {
    color: #7c8898;
    font-weight: 600;
}

.portal-activity-item .dashboard-activity-dot {
    background: #006d6f;
    box-shadow: 0 0 0 4px rgba(0, 109, 111, .12);
}

.portal-mini-metrics {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 145px), 1fr));
    margin-bottom: 1rem;
}

.portal-mini-metrics div {
    background: linear-gradient(180deg, rgba(246, 251, 251, .78), rgba(255, 255, 255, .9));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 10px;
    padding: .85rem;
}

.portal-mini-metrics strong {
    color: var(--portal-ink);
    display: block;
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1;
}

.portal-mini-metrics span {
    color: var(--portal-muted);
    display: block;
    font-size: .78rem;
    font-weight: 600;
    margin-top: .35rem;
    text-transform: uppercase;
}

.portal-api-item {
    align-items: center;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr) auto minmax(min-content, auto);
    min-width: 0;
    padding: .85rem;
}

.portal-api-item strong,
.portal-api-item small,
.portal-api-item time {
    display: block;
}

.portal-api-item strong {
    color: var(--portal-ink);
    font-family: monospace;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.portal-api-item small {
    color: #8f1515;
    font-size: .78rem;
    margin-top: .2rem;
}

.portal-api-item time {
    color: var(--portal-muted);
    font-size: .82rem;
    font-weight: 600;
    text-align: right;
}

@media (max-width: 1399.98px) {
    .portal-command,
    .portal-grid-main {
        grid-template-columns: 1fr;
    }

    .portal-command-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 1199.98px) {
    .portal-report-item {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .portal-report-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 991.98px) {
    .portal-page-shell {
        border-radius: 10px;
        padding: .85rem;
    }

    .portal-command-actions,
    .portal-report-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .portal-command-actions .tv-action-btn,
    .portal-report-actions .tv-action-btn {
        width: 100%;
    }

    .portal-api-item {
        grid-template-columns: 1fr;
    }

    .portal-report-score {
        align-items: flex-start;
        min-width: 0;
        padding: .7rem .85rem;
        width: 100%;
    }

    .portal-api-item time {
        text-align: left;
    }
}

@media (max-width: 575.98px) {
    .portal-chart {
        height: 210px;
        padding: .65rem;
    }

    .portal-chart-tall {
        height: 230px;
    }

    .portal-card-topline,
    .portal-quota-meta,
    .portal-section-heading-action {
        align-items: flex-start;
        flex-direction: column;
    }
}

.reports-library-shell {
    gap: 1.15rem;
}

.reports-library-command h1 {
    max-width: 780px;
}

.reports-stat-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.reports-stat-card {
    align-items: center;
    background: rgba(255, 255, 255, .9);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
    display: flex;
    gap: .85rem;
    min-width: 0;
    padding: 1rem;
}

.reports-stat-card .reports-stat-icon {
    align-items: center;
    background: linear-gradient(135deg, rgba(0, 109, 111, .12), rgba(21, 101, 192, .1));
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: #006d6f;
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.reports-stat-card-risk .reports-stat-icon {
    background: rgba(249, 168, 37, .13);
    border-color: rgba(177, 116, 17, .2);
    color: #7a520b;
}

.reports-stat-card-failed .reports-stat-icon {
    background: rgba(183, 28, 28, .09);
    border-color: rgba(183, 28, 28, .18);
    color: #8f1515;
}

.reports-stat-card-month .reports-stat-icon {
    background: rgba(21, 101, 192, .09);
    border-color: rgba(21, 101, 192, .16);
    color: #134d8e;
}

.reports-stat-card span:not(.reports-stat-icon) {
    color: #5d6a78;
    display: block;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.reports-stat-card strong {
    color: var(--portal-ink);
    display: block;
    font-size: 1.55rem;
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1;
    margin-top: .3rem;
}

.reports-filter-panel,
.reports-library-panel {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
    min-width: 0;
    padding: 1rem;
}

.reports-filter-main {
    align-items: end;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(min(100%, 520px), 1fr) auto auto auto;
}

.reports-search-field,
.reports-filter-field {
    min-width: 0;
}

.reports-search-field label,
.reports-filter-field label {
    color: var(--portal-ink);
    display: block;
    font-size: .8rem;
    font-weight: 600;
    margin-bottom: .4rem;
}

.reports-search-box {
    align-items: center;
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 999px;
    display: flex;
    gap: .55rem;
    min-height: 44px;
    padding: 0 .8rem;
}

.reports-search-box:focus-within {
    background: #fff;
    border-color: rgba(0, 109, 111, .38);
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .1);
}

.reports-search-box i {
    color: #667386;
}

.reports-search-box .form-control {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: var(--portal-ink);
    min-height: 42px;
    padding: 0;
}

.reports-advanced-filters {
    background: linear-gradient(180deg, rgba(246, 251, 251, .78), rgba(255, 255, 255, .9));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    margin-top: 1rem;
    padding: 1rem;
}

.reports-filter-grid {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.reports-filter-field .form-control {
    background: rgba(255, 255, 255, .86);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 10px;
    box-shadow: none;
    color: var(--portal-ink);
    min-height: 42px;
}

.reports-filter-field .form-control:focus {
    background: #fff;
    border-color: rgba(0, 109, 111, .38);
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .1);
}

.reports-active-filters {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .9rem;
}

.reports-selection-bar {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .14), transparent 18rem),
        linear-gradient(135deg, #ffffff 0%, #f8fbfb 100%);
    border: 1px solid rgba(0, 109, 111, .16);
    border-left: 4px solid #006d6f;
    border-radius: 12px;
    box-shadow: 0 16px 34px rgba(23, 25, 64, .08);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: 0;
    padding: 1rem;
    position: sticky;
    top: 78px;
    z-index: 5;
}

.reports-selection-copy strong,
.reports-selection-copy span {
    display: block;
}

.reports-selection-main {
    display: grid;
    gap: .7rem;
    min-width: 0;
}

.reports-selection-copy strong {
    color: var(--portal-ink);
    font-weight: 600;
}

.reports-selection-copy span {
    color: var(--portal-muted);
    font-size: .85rem;
    line-height: 1.45;
    margin-top: .15rem;
}

.reports-selected-items {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.reports-selected-chip {
    align-items: center;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: #075f61;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 600;
    gap: .45rem;
    max-width: min(320px, 100%);
    min-height: 32px;
    padding: .34rem .42rem .34rem .7rem;
}

.reports-selected-chip span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-selected-chip button {
    align-items: center;
    background: rgba(0, 109, 111, .09);
    border: 1px solid rgba(0, 109, 111, .14);
    border-radius: 999px;
    color: #075f61;
    display: inline-flex;
    flex: 0 0 22px;
    height: 22px;
    justify-content: center;
    padding: 0;
    width: 22px;
}

.reports-selected-chip button:hover,
.reports-selected-chip button:focus {
    background: rgba(183, 28, 28, .09);
    border-color: rgba(183, 28, 28, .18);
    color: #8f1515;
}

.reports-selection-actions,
.reports-row-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: flex-end;
}

.reports-library-heading {
    margin-bottom: 1rem;
}

.reports-inline-message {
    margin-bottom: .85rem;
}

.reports-card-list {
    display: grid;
    gap: .85rem;
}

.reports-card {
    align-items: stretch;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .82));
    border: 1px solid rgba(23, 25, 64, .08);
    border-left: 3px solid rgba(0, 109, 111, .32);
    border-radius: 12px;
    box-shadow: 0 12px 28px rgba(23, 25, 64, .05);
    display: grid;
    gap: .85rem;
    grid-template-columns: auto auto minmax(0, 1fr) minmax(min-content, auto);
    min-width: 0;
    padding: .95rem;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.reports-card:hover,
.reports-card:focus-within {
    border-color: rgba(0, 109, 111, .18);
    border-left-color: #006d6f;
    box-shadow: 0 16px 34px rgba(23, 25, 64, .08);
    transform: translateY(-1px);
}

.reports-card.is-not-ready {
    border-left-color: rgba(183, 28, 28, .42);
}

.reports-card-select {
    align-items: center;
    display: flex;
    justify-content: center;
    padding-top: .25rem;
}

.reports-unselectable {
    align-items: center;
    background: rgba(23, 25, 64, .055);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 999px;
    color: #8a97a6;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.reports-card-score {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 82px;
    min-width: 82px;
    padding: .7rem;
}

.reports-card-score strong {
    color: var(--portal-ink);
    font-size: 1.85rem;
    font-weight: 600 !important;
    line-height: 1;
}

.reports-card-score span {
    color: #667386;
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .08em;
    margin-top: .25rem;
    text-transform: uppercase;
}

.reports-card-main {
    min-width: 0;
}

.reports-card-topline,
.reports-card-badges {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.reports-card-topline time {
    color: #667386;
    font-size: .8rem;
    font-weight: 600;
}

.reports-card h3 {
    color: var(--portal-ink);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.3;
    margin: .55rem 0 .35rem;
    overflow-wrap: anywhere;
}

.reports-card p {
    color: var(--portal-muted);
    font-size: .9rem;
    line-height: 1.55;
    margin: 0;
}

.reports-card-badges {
    margin-top: .75rem;
}

.reports-card .reports-row-actions {
    align-content: center;
}

.reports-pagination-footer {
    align-items: center;
    border-top: 1px solid rgba(23, 25, 64, .075);
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: space-between;
    margin-top: 1rem;
    padding-top: 1rem;
}

.reports-pagination-footer p {
    color: var(--portal-muted);
    font-size: .85rem;
    font-weight: 600;
    margin: 0;
}

.reports-pagination-footer .page-link {
    border-color: rgba(23, 25, 64, .08);
    color: #006d6f;
    font-weight: 600;
}

.reports-pagination-footer .page-item.active .page-link {
    background: #006d6f;
    border-color: #006d6f;
    color: #fff;
}

.reports-empty-state {
    min-height: 280px;
}

.reports-delete-modal,
.reports-project-picker {
    max-width: 560px !important;
}

.reports-delete-modal .card,
.reports-project-picker .card {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 18rem),
        linear-gradient(135deg, #fff 0%, #f8fcfc 100%);
    border: 1px solid rgba(0, 109, 111, .14);
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(23, 25, 64, .18);
    overflow: hidden;
}

.reports-delete-modal .card-header,
.reports-project-picker .card-header {
    background: transparent;
    border-color: rgba(23, 25, 64, .08);
    padding: 1rem 1.15rem;
}

.reports-delete-modal .card-footer,
.reports-project-picker .card-footer {
    background: rgba(255, 255, 255, .55);
    border: 0;
    box-shadow: inset 0 1px 0 rgba(23, 25, 64, .08);
    padding: 1rem 1.15rem;
    margin-top: 0;
}

.reports-delete-modal .card-title,
.reports-project-picker .card-title {
    color: var(--portal-ink);
    font-size: 1.2rem;
    font-weight: 600;
    margin: .25rem 0 0;
}

.reports-delete-dialog {
    align-items: flex-start;
    display: flex;
    gap: .85rem;
}

.reports-delete-icon {
    align-items: center;
    background: rgba(183, 28, 28, .09);
    border: 1px solid rgba(183, 28, 28, .18);
    border-radius: 999px;
    color: #8f1515;
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.reports-delete-title {
    color: var(--portal-ink);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    margin: 0;
}

.reports-delete-meta,
.reports-delete-copy {
    color: var(--portal-muted);
    line-height: 1.5;
    margin: .2rem 0 0;
}

.reports-delete-meta {
    font-size: .84rem;
    font-weight: 600;
}

.reports-modal-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: flex-end;
}

@media (max-width: 1199.98px) {
    .reports-stat-grid,
    .reports-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reports-filter-main {
        grid-template-columns: 1fr 1fr;
    }

    .reports-filter-main .reports-search-field {
        grid-column: 1 / -1;
    }

    .reports-card {
        grid-template-columns: auto auto minmax(0, 1fr);
    }

    .reports-card .reports-row-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 991.98px) {
    .reports-selection-bar {
        align-items: stretch;
        flex-direction: column;
        top: 0;
    }

    .reports-selection-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .reports-stat-grid,
    .reports-filter-grid,
    .reports-filter-main,
    .reports-card {
        grid-template-columns: 1fr;
    }

    .reports-card-select {
        justify-content: flex-start;
    }

    .reports-card-score {
        align-items: flex-start;
        min-height: auto;
        width: 100%;
    }

    .reports-card .reports-row-actions,
    .reports-selection-actions,
    .reports-modal-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .reports-card .reports-row-actions .tv-action-btn,
    .reports-selection-actions .tv-action-btn,
    .reports-modal-actions .tv-action-btn {
        width: 100%;
    }
}

.lookup-page-shell {
    gap: 1.15rem;
}

.lookup-command h1 {
    max-width: 780px;
}

.lookup-overview-grid,
.lookup-workspace-grid {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.lookup-overview-grid {
    grid-template-columns: minmax(min(100%, 300px), .9fr) minmax(min(100%, 320px), 1fr) minmax(min(100%, 320px), 1fr);
}

.lookup-quota-card,
.lookup-guide-card,
.lookup-modules-card,
.lookup-workspace-panel {
    min-width: 0;
}

.lookup-quota-stat {
    margin-top: 1.05rem;
}

.lookup-quota-stat strong {
    color: var(--portal-ink);
    display: block;
    font-size: clamp(2.4rem, 4vw, 3.4rem);
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1;
}

.lookup-quota-stat span {
    color: var(--portal-muted);
    display: block;
    font-weight: 600;
    margin-top: .28rem;
}

.lookup-step-list {
    display: grid;
    gap: .65rem;
    margin-top: 1rem;
}

.lookup-step {
    align-items: flex-start;
    background: linear-gradient(180deg, rgba(246, 251, 251, .82), rgba(255, 255, 255, .9));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 10px;
    display: flex;
    gap: .75rem;
    padding: .78rem;
}

.lookup-step-icon,
.lookup-empty-icon,
.lookup-report-ready-icon {
    align-items: center;
    background: linear-gradient(135deg, rgba(0, 109, 111, .12), rgba(21, 101, 192, .1));
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.lookup-step-icon i,
.lookup-empty-icon i,
.lookup-report-ready-icon i {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    line-height: 1;
}

.lookup-step-icon i::before,
.lookup-empty-icon i::before,
.lookup-report-ready-icon i::before {
    line-height: 1;
}

.lookup-step strong {
    color: var(--portal-ink);
    font-weight: 600 !important;
    line-height: 1.25;
}

.lookup-step span {
    color: var(--portal-muted);
    font-size: .84rem;
    line-height: 1.45;
    margin-top: .15rem;
}

.lookup-module-grid {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
}

.lookup-module-grid span {
    background: linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(246, 251, 251, .76));
    border: 1px solid rgba(23, 25, 64, .075);
    border-left: 3px solid var(--module-color, var(--portal-teal));
    border-radius: 10px;
    color: var(--portal-ink);
    font-size: .8rem;
    font-weight: 600;
    min-width: 0;
    padding: .62rem .7rem;
}

.lookup-modules-card p {
    color: var(--portal-muted);
    font-size: .86rem;
    line-height: 1.55;
    margin: .85rem 0 0;
}

.single-lookup-workspace {
    position: relative;
}

.single-lookup-busy {
    pointer-events: none;
}

.single-lookup-busy > :not(.single-lookup-overlay) {
    opacity: .54;
}

.single-lookup-overlay {
    align-items: center;
    background: rgba(248, 252, 252, .78);
    backdrop-filter: blur(6px);
    border-radius: 12px;
    display: none;
    inset: 0;
    justify-content: center;
    position: absolute;
    z-index: 30;
}

.single-lookup-overlay.is-visible {
    display: flex;
}

.single-lookup-spinner-card {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 12rem),
        #fff;
    border: 1px solid rgba(0, 109, 111, .14);
    border-radius: 12px;
    box-shadow: 0 18px 42px rgba(23, 25, 64, .12);
    min-width: min(320px, calc(100vw - 3rem));
    padding: 1.15rem 1.25rem;
    text-align: center;
}

.single-lookup-busy-title {
    color: var(--portal-ink);
    font-weight: 600;
}

.single-lookup-busy-note {
    color: var(--portal-muted);
    font-size: .82rem;
    margin-top: .2rem;
}

.lookup-workspace-panel,
.lookup-input-panel,
.lookup-preview-panel {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
}

.lookup-workspace-panel {
    padding: 1.1rem;
}

.lookup-workspace-heading {
    margin-bottom: 1rem;
}

.lookup-workspace-grid {
    grid-template-columns: minmax(min(100%, 500px), .9fr) minmax(min(100%, 520px), 1.1fr);
}

.lookup-input-panel,
.lookup-preview-panel {
    padding: 1rem;
}

.lookup-mode-tabs {
    background: rgba(23, 25, 64, .045);
    border: 1px solid rgba(23, 25, 64, .07);
    border-radius: 999px;
    display: grid;
    gap: .35rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 1rem;
    padding: .32rem;
}

.lookup-mode-tabs .nav-item {
    display: flex;
    min-width: 0;
}

.lookup-mode-tabs .nav-link {
    align-items: center;
    border: 0;
    border-radius: 999px;
    color: #536273;
    display: inline-flex;
    font-size: .88rem;
    font-weight: 600;
    gap: .45rem;
    justify-content: center;
    min-height: 42px;
    padding: .58rem .75rem;
    transition: background .18s ease, box-shadow .18s ease, color .18s ease;
    width: 100%;
}

.lookup-mode-tabs .nav-link.active {
    background: #fff;
    box-shadow: 0 10px 22px rgba(23, 25, 64, .08);
    color: var(--portal-teal);
}

.lookup-mode-icon,
.lookup-mode-tabs .nav-link > i {
    align-items: center;
    display: inline-flex;
    flex: 0 0 22px;
    height: 22px;
    justify-content: center;
    line-height: 1;
    width: 22px;
}

.lookup-mode-icon i,
.lookup-mode-tabs .nav-link > i {
    align-items: center;
    display: inline-flex;
    font-size: 1.15rem;
    justify-content: center;
    line-height: 1;
}

.lookup-form-stack label {
    color: var(--portal-ink);
    font-size: .82rem;
    font-weight: 600;
}

.lookup-form-stack .form-control-modern {
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 10px;
    box-shadow: none;
    color: var(--portal-ink);
    min-height: 44px;
}

.lookup-form-stack .form-control-modern:focus {
    background: #fff;
    border-color: rgba(0, 109, 111, .38);
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .1);
}

.lookup-validation-summary,
.lookup-inline-alert {
    color: #8f1515;
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.45;
    margin-bottom: .85rem;
}

.lookup-empty-state {
    align-items: center;
    background:
        radial-gradient(circle at top left, rgba(8, 168, 138, .12), transparent 16rem),
        linear-gradient(180deg, rgba(246, 251, 251, .88), rgba(255, 255, 255, .92));
    border: 1px dashed rgba(0, 109, 111, .22);
    border-radius: 12px;
    color: var(--portal-muted);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 360px;
    padding: 1.35rem;
    text-align: center;
}

.lookup-empty-state h3 {
    color: var(--portal-ink);
    font-size: 1.05rem;
    font-weight: 600;
    margin: .85rem 0 .3rem;
}

.lookup-empty-state p {
    line-height: 1.55;
    margin: 0;
    max-width: 360px;
}

.resolved-location-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .82));
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 14px 30px rgba(23, 25, 64, .055);
    overflow: hidden;
}

.resolved-location-header {
    align-items: flex-start;
    border-bottom: 1px solid rgba(23, 25, 64, .07);
    display: flex;
    gap: .8rem;
    justify-content: space-between;
    padding: 1rem;
}

.resolved-location-header span:not(.portal-badge) {
    color: #5d6a78;
    display: block;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.resolved-location-header strong {
    color: var(--portal-ink);
    display: block;
    font-weight: 600 !important;
    line-height: 1.35;
    margin-top: .28rem;
}

.resolved-location-body {
    padding: 1rem;
}

.lookup-coordinate-grid {
    display: grid;
    gap: .7rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: .9rem;
}

.lookup-coordinate-grid div {
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(23, 25, 64, .07);
    border-radius: 10px;
    min-width: 0;
    padding: .72rem;
}

.lookup-coordinate-grid span,
.lookup-coordinate-grid strong {
    display: block;
}

.lookup-coordinate-grid span {
    color: #667386;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.lookup-coordinate-grid strong {
    color: var(--portal-ink);
    font-size: .92rem;
    font-weight: 600 !important;
    line-height: 1.25;
    margin-top: .28rem;
    overflow-wrap: anywhere;
}

.resolved-location-map {
    background: #eef5f5;
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    min-height: 230px;
    overflow: hidden;
}

.resolved-location-map iframe {
    border: 0;
}

.lookup-result-actions,
.lookup-report-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.lookup-result-actions {
    margin-top: .9rem;
}

.lookup-action-bar {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .14), transparent 20rem),
        linear-gradient(135deg, #fff 0%, #f8fbfb 100%);
    border: 1px solid rgba(0, 109, 111, .14);
    border-left: 4px solid var(--portal-teal);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem;
}

.lookup-report-ready-copy {
    align-items: flex-start;
    display: flex;
    gap: .8rem;
    min-width: 0;
}

.lookup-report-ready-title {
    color: var(--portal-ink);
    font-weight: 600;
    line-height: 1.25;
}

.lookup-report-ready-subtitle {
    color: var(--portal-muted);
    font-size: .84rem;
    line-height: 1.45;
    margin-top: .12rem;
}

.lookup-report-actions {
    justify-content: flex-end;
}

.lookup-generated-report {
    margin-top: .25rem;
}

@media (max-width: 1399.98px) {
    .lookup-overview-grid,
    .lookup-workspace-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .lookup-action-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .lookup-report-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .lookup-mode-tabs,
    .lookup-coordinate-grid,
    .lookup-module-grid { grid-template-columns: 1fr; }

    .lookup-result-actions,
    .lookup-report-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .lookup-result-actions .tv-action-btn,
    .lookup-report-actions .tv-action-btn { width: 100%; }
}

.bulk-upload-shell {
    gap: 1.15rem;
}

.bulk-upload-command h1 {
    max-width: 820px;
}

.bulk-upload-command .portal-command-actions {
    align-content: flex-start;
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: .7rem;
    justify-content: flex-start;
    width: 100%;
}

.bulk-upload-command-buttons {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: flex-end;
    width: 100%;
}

.bulk-upload-overview-grid,
.bulk-upload-details-grid,
.bulk-upload-metric-grid,
.bulk-upload-risk-grid,
.bulk-upload-preview-grid {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.bulk-upload-overview-grid {
    grid-template-columns: minmax(min(100%, 300px), .9fr) minmax(min(100%, 360px), 1fr) minmax(min(100%, 360px), 1fr);
}

.bulk-upload-details-grid {
    grid-template-columns: minmax(min(100%, 420px), .86fr) minmax(min(100%, 560px), 1.14fr);
}

.bulk-upload-metric-grid,
.bulk-upload-risk-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bulk-upload-preview-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bulk-upload-panel,
.bulk-upload-quota-card,
.bulk-upload-guide-card,
.bulk-upload-workspace,
.bulk-upload-details-panel,
.bulk-upload-filter-panel,
.bulk-upload-rows-panel,
.bulk-upload-preview-card {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(23, 25, 64, .06);
    min-width: 0;
}

.bulk-upload-quota-card,
.bulk-upload-guide-card,
.bulk-upload-panel,
.bulk-upload-details-panel,
.bulk-upload-filter-panel,
.bulk-upload-rows-panel,
.bulk-upload-preview-card {
    padding: 1rem;
}

.bulk-upload-quota-stat {
    margin-top: 1.05rem;
}

.bulk-upload-quota-stat strong {
    color: var(--portal-ink);
    display: block;
    font-size: clamp(2.4rem, 4vw, 3.4rem);
    font-weight: 600 !important;
    letter-spacing: -.025em;
    line-height: 1;
}

.bulk-upload-quota-stat span {
    color: var(--portal-muted);
    display: block;
    font-weight: 600;
    margin-top: .28rem;
}

.bulk-upload-step-list {
    display: grid;
    gap: .65rem;
    margin-top: 1rem;
}

.bulk-upload-step {
    align-items: flex-start;
    background: linear-gradient(180deg, rgba(246, 251, 251, .82), rgba(255, 255, 255, .9));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 10px;
    display: flex;
    gap: .75rem;
    padding: .78rem;
}

.bulk-upload-step-icon,
.bulk-upload-empty-icon,
.bulk-upload-status-icon {
    align-items: center;
    background: linear-gradient(135deg, rgba(0, 109, 111, .12), rgba(21, 101, 192, .1));
    border: 1px solid rgba(0, 109, 111, .16);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    line-height: 1;
    width: 38px;
}

.bulk-upload-step-icon i,
.bulk-upload-empty-icon i,
.bulk-upload-status-icon i {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    line-height: 1;
}

.bulk-upload-step-icon i::before,
.bulk-upload-empty-icon i::before,
.bulk-upload-status-icon i::before {
    line-height: 1;
}

.bulk-upload-step strong {
    color: var(--portal-ink);
    font-weight: 600 !important;
    line-height: 1.25;
}

.bulk-upload-step span {
    color: var(--portal-muted);
    font-size: .84rem;
    line-height: 1.45;
    margin-top: .15rem;
}

.bulk-upload-column-grid {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
}

.bulk-upload-column-grid span {
    background: linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(246, 251, 251, .76));
    border: 1px solid rgba(23, 25, 64, .075);
    border-left: 3px solid rgba(0, 109, 111, .42);
    border-radius: 10px;
    color: var(--portal-ink);
    font-size: .8rem;
    font-weight: 600;
    min-width: 0;
    padding: .62rem .7rem;
}

.bulk-upload-workspace {
    overflow: hidden;
    position: relative;
}

.bulk-upload-workspace-inner {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(min(100%, 620px), 1.1fr) minmax(min(100%, 340px), .9fr);
    padding: 1rem;
}

.bulk-upload-busy {
    pointer-events: none;
}

.bulk-upload-busy > :not(.bulk-upload-overlay) {
    opacity: .54;
}

.bulk-upload-overlay {
    align-items: center;
    background: rgba(248, 252, 252, .78);
    backdrop-filter: blur(6px);
    border-radius: 12px;
    display: none;
    inset: 0;
    justify-content: center;
    position: absolute;
    z-index: 30;
}

.bulk-upload-overlay.is-visible {
    display: flex;
}

.bulk-upload-spinner-card {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 12rem),
        #fff;
    border: 1px solid rgba(0, 109, 111, .14);
    border-radius: 12px;
    box-shadow: 0 18px 42px rgba(23, 25, 64, .12);
    min-width: min(320px, calc(100vw - 3rem));
    padding: 1.15rem 1.25rem;
    text-align: center;
}

.bulk-upload-busy-title {
    color: var(--portal-ink);
    font-weight: 600;
}

.bulk-upload-busy-note {
    color: var(--portal-muted);
    font-size: .82rem;
    margin-top: .2rem;
}

.bulk-upload-drop-panel {
    background:
        radial-gradient(circle at top left, rgba(8, 168, 138, .1), transparent 18rem),
        linear-gradient(180deg, rgba(246, 251, 251, .88), rgba(255, 255, 255, .92));
    border: 1px dashed rgba(0, 109, 111, .24);
    border-radius: 12px;
    min-height: 330px;
    padding: 1rem;
}

.bulk-upload-drop-panel .filepond--root {
    background: transparent;
    border: 0;
    margin-bottom: 0;
    min-height: 250px !important;
}

.bulk-upload-drop-panel .filepond--panel-root {
    background-color: transparent;
}

.bulk-upload-drop-panel .filepond--drop-label {
    color: var(--portal-muted);
    min-height: 250px;
}

.bulk-upload-drop-panel .filepond--label-action {
    color: var(--portal-teal);
    font-weight: 600;
    text-decoration: none;
}

.bulk-upload-file-note {
    color: var(--portal-muted);
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.45;
    margin-top: .65rem;
    text-align: center;
}

.bulk-upload-locked-state {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(249, 168, 37, .12), transparent 16rem),
        linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(246, 251, 251, .82));
    border: 1px solid rgba(177, 116, 17, .16);
    border-radius: 12px;
    color: var(--portal-muted);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 330px;
    padding: 1.35rem;
    text-align: center;
}

.bulk-upload-locked-state h3 {
    color: var(--portal-ink);
    font-size: 1.05rem;
    font-weight: 600;
    margin: .85rem 0 .3rem;
}

.bulk-upload-locked-state p {
    line-height: 1.55;
    margin: 0;
    max-width: 390px;
}

.bulk-upload-form-actions,
.bulk-upload-detail-actions,
.bulk-upload-filter-actions,
.bulk-upload-modal-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.bulk-upload-form-actions {
    justify-content: center;
    margin-top: 1rem;
}

.bulk-upload-preview-card {
    margin-top: 1rem;
}

.bulk-upload-preview-stat,
.bulk-upload-metric-card,
.bulk-upload-risk-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(246, 251, 251, .78));
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    min-width: 0;
    padding: .9rem;
}

.bulk-upload-preview-stat span,
.bulk-upload-metric-card span,
.bulk-upload-risk-card span {
    color: #667386;
    display: block;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bulk-upload-preview-stat strong,
.bulk-upload-metric-card strong,
.bulk-upload-risk-card strong {
    color: var(--portal-ink);
    display: block;
    font-size: 1.55rem;
    font-weight: 600 !important;
    letter-spacing: -.02em;
    line-height: 1;
    margin-top: .35rem;
}

.bulk-upload-metric-card,
.bulk-upload-risk-card {
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.bulk-upload-metric-card:hover,
.bulk-upload-metric-card:focus,
.bulk-upload-risk-card:hover,
.bulk-upload-risk-card:focus,
.bulk-upload-metric-card.is-active,
.bulk-upload-risk-card.is-active {
    border-color: rgba(0, 109, 111, .22);
    box-shadow: 0 14px 30px rgba(23, 25, 64, .08);
    outline: 0;
    transform: translateY(-1px);
}

.bulk-upload-risk-card {
    border-left: 3px solid var(--bulk-risk-color, rgba(0, 109, 111, .35));
}

.bulk-upload-risk-very-high { --bulk-risk-color: #b71c1c; }
.bulk-upload-risk-high { --bulk-risk-color: #c65b15; }
.bulk-upload-risk-moderate { --bulk-risk-color: #b17411; }
.bulk-upload-risk-low { --bulk-risk-color: #2e7d32; }

.bulk-upload-progress {
    background: rgba(23, 25, 64, .07);
    border-radius: 999px;
    height: 11px;
    overflow: hidden;
}

.bulk-upload-progress span,
.bulk-upload-progress .progress-bar {
    background: linear-gradient(90deg, #006d6f 0%, #08a88a 100%);
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 4px;
    transition: width .35s ease;
}

.bulk-upload-spin {
    animation: bulk-upload-spin 1s linear infinite;
    display: inline-block;
}

@keyframes bulk-upload-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.bulk-upload-details-panel {
    display: grid;
    gap: 1rem;
}

.bulk-upload-job-card {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 18rem),
        linear-gradient(135deg, #fff 0%, #f8fbfb 100%);
    border: 1px solid rgba(0, 109, 111, .14);
    border-left: 4px solid var(--portal-teal);
    border-radius: 12px;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem;
}

.bulk-upload-live-panel {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .16), transparent 11rem),
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(246, 251, 251, .92));
    border: 1px solid rgba(0, 109, 111, .16);
    border-left: 4px solid var(--portal-teal);
    border-radius: 14px;
    box-shadow: 0 16px 34px rgba(23, 25, 64, .08);
    color: var(--portal-muted);
    display: inline-flex;
    gap: .72rem;
    justify-content: flex-start;
    min-height: 58px;
    max-width: 420px;
    min-width: min(100%, 320px);
    padding: .72rem .86rem;
    text-align: left;
    width: min(100%, 420px);
}

.bulk-upload-live-panel.is-complete {
    background:
        radial-gradient(circle at top right, rgba(46, 125, 50, .12), transparent 11rem),
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(247, 252, 248, .92));
    border-color: rgba(46, 125, 50, .18);
    border-left-color: #2e7d32;
}

.bulk-upload-live-panel.is-attention {
    background:
        radial-gradient(circle at top right, rgba(249, 168, 37, .14), transparent 11rem),
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(255, 250, 241, .92));
    border-color: rgba(177, 116, 17, .2);
    border-left-color: #d18a0f;
}

.bulk-upload-live-icon {
    align-items: center;
    background: rgba(0, 109, 111, .1);
    border: 1px solid rgba(0, 109, 111, .18);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    flex: 0 0 34px;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.bulk-upload-live-panel.is-complete .bulk-upload-live-icon {
    background: rgba(46, 125, 50, .1);
    border-color: rgba(46, 125, 50, .18);
    color: #2e7d32;
}

.bulk-upload-live-panel.is-attention .bulk-upload-live-icon {
    background: rgba(249, 168, 37, .12);
    border-color: rgba(177, 116, 17, .22);
    color: #9a650b;
}

.bulk-upload-live-copy {
    display: block;
    min-width: 0;
}

.bulk-upload-live-copy strong,
.bulk-upload-live-copy span {
    display: block;
    line-height: 1.25;
}

.bulk-upload-live-copy strong {
    color: var(--portal-ink);
    font-size: .88rem;
    font-weight: 600 !important;
}

.bulk-upload-live-copy span {
    color: var(--portal-muted);
    font-size: .76rem;
    font-weight: 600;
    margin-top: .16rem;
}

.bulk-upload-job-copy {
    align-items: flex-start;
    display: flex;
    gap: .8rem;
    min-width: 0;
}

.bulk-upload-job-title {
    color: var(--portal-ink);
    font-weight: 600;
    line-height: 1.25;
}

.bulk-upload-job-meta {
    color: var(--portal-muted);
    font-size: .84rem;
    line-height: 1.45;
    margin-top: .12rem;
    overflow-wrap: anywhere;
}

.bulk-upload-quick-filters {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: flex-end;
}

.bulk-upload-filter-chip {
    align-items: center;
    background: rgba(255, 255, 255, .74);
    border: 1px solid rgba(23, 25, 64, .1);
    border-radius: 999px;
    color: #536273;
    display: inline-flex;
    font-size: .8rem;
    font-weight: 600;
    gap: .4rem;
    min-height: 34px;
    padding: .42rem .72rem;
    transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.bulk-upload-filter-chip:hover,
.bulk-upload-filter-chip:focus,
.bulk-upload-filter-chip.is-active {
    background: rgba(0, 109, 111, .08);
    border-color: rgba(0, 109, 111, .2);
    box-shadow: 0 8px 18px rgba(0, 109, 111, .08);
    color: var(--portal-teal);
    outline: 0;
}

.bulk-upload-filter-panel {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .08), transparent 18rem),
        rgba(255, 255, 255, .92);
}

.bulk-upload-filter-grid {
    align-items: end;
    display: grid;
    gap: .8rem;
    grid-template-columns: minmax(min(100%, 420px), 1.3fr) repeat(5, minmax(120px, 1fr));
}

.bulk-upload-filter-options {
    align-items: center;
    border-top: 1px solid rgba(23, 25, 64, .075);
    display: flex;
    flex-wrap: wrap;
    gap: .9rem;
    margin-top: .9rem;
    padding-top: .9rem;
}

.bulk-upload-filter-field label {
    color: var(--portal-ink);
    display: block;
    font-size: .8rem;
    font-weight: 600;
    margin-bottom: .4rem;
}

.bulk-upload-search-box {
    align-items: center;
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 999px;
    display: flex;
    gap: .55rem;
    min-height: 44px;
    padding: 0 .8rem;
}

.bulk-upload-search-box:focus-within {
    background: #fff;
    border-color: rgba(0, 109, 111, .38);
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .1);
}

.bulk-upload-search-box i {
    color: #667386;
}

.bulk-upload-search-box .form-control {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: var(--portal-ink);
    min-height: 42px;
    padding: 0;
}

.bulk-upload-filter-field .form-control {
    background: rgba(248, 252, 252, .76);
    border: 1px solid rgba(23, 25, 64, .12);
    border-radius: 10px;
    box-shadow: none;
    color: var(--portal-ink);
    min-height: 42px;
}

.bulk-upload-filter-field .form-control:focus {
    background: #fff;
    border-color: rgba(0, 109, 111, .38);
    box-shadow: 0 0 0 3px rgba(0, 109, 111, .1);
}

.bulk-upload-filter-options .form-check-label {
    color: var(--portal-muted);
    font-size: .84rem;
    font-weight: 600;
}

.bulk-rows-loading-overlay {
    align-items: flex-start;
    background: rgba(248, 252, 252, .58);
    border-radius: 12px;
    display: flex;
    inset: 0;
    justify-content: center;
    padding-top: 1rem;
    pointer-events: none;
    position: absolute;
    z-index: 5;
}

.bulk-rows-loading-card {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(0, 109, 111, .14);
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(23, 25, 64, .09);
    color: var(--portal-muted);
    display: inline-flex;
    font-size: .84rem;
    font-weight: 600;
    padding: .55rem .9rem;
}

.bulk-upload-table-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.bulk-upload-table-heading h4 {
    color: var(--portal-ink);
    font-size: 1.05rem;
    font-weight: 600;
    margin: 0;
}

.bulk-upload-table-heading p {
    color: var(--portal-muted);
    font-size: .86rem;
    margin: .15rem 0 0;
}

.bulk-upload-table {
    border-collapse: separate;
    border-spacing: 0 .5rem;
    table-layout: fixed;
    width: 100%;
}

.bulk-upload-table thead th {
    border: 0;
    color: #667386;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    padding: .25rem .75rem;
    text-transform: uppercase;
}

.bulk-upload-table thead th a[data-sort-by] {
    align-items: center;
    border-radius: 999px;
    color: #667386;
    display: inline-flex;
    gap: .25rem;
    min-height: 28px;
    padding: .2rem .48rem;
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
    white-space: nowrap;
}

.bulk-upload-table thead th a[data-sort-by]:hover,
.bulk-upload-table thead th a[data-sort-by]:focus,
.bulk-upload-table thead th a[data-sort-by].link-primary {
    background: rgba(0, 109, 111, .08);
    color: var(--portal-teal);
    outline: 0;
}

.bulk-upload-table tbody tr:not(.bulk-row-details) {
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 251, 251, .82));
    box-shadow: 0 10px 24px rgba(23, 25, 64, .045);
}

.bulk-upload-table tbody tr:not(.bulk-row-details) td {
    border-bottom: 1px solid rgba(23, 25, 64, .075);
    border-top: 1px solid rgba(23, 25, 64, .075);
    padding: .85rem .75rem;
}

.bulk-upload-table tbody tr:not(.bulk-row-details) td:first-child {
    border-left: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px 0 0 12px;
}

.bulk-upload-table tbody tr:not(.bulk-row-details) td:last-child {
    border-radius: 0 12px 12px 0;
    border-right: 1px solid rgba(23, 25, 64, .075);
}

.bulk-upload-row-title {
    color: var(--portal-ink);
    font-weight: 600;
    line-height: 1.3;
}

.bulk-upload-row-meta {
    color: var(--portal-muted);
    font-size: .82rem;
    line-height: 1.45;
    margin-top: .12rem;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bulk-upload-row-score strong {
    color: var(--portal-ink);
    display: block;
    font-size: 1.25rem;
    font-weight: 600 !important;
    line-height: 1;
    margin-bottom: .35rem;
}

.bulk-upload-row-actions {
    align-items: center;
    display: inline-flex;
    flex-wrap: nowrap;
    gap: .5rem;
    justify-content: flex-end;
    white-space: nowrap;
    width: 100%;
}

.bulk-upload-row-actions .tv-action-btn {
    min-height: 34px;
    padding: .44rem .72rem;
}

.bulk-upload-row-toggle {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 2.8rem),
        rgba(255, 255, 255, .92);
    border: 1px solid rgba(0, 109, 111, .18);
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(23, 25, 64, .06);
    color: var(--portal-teal);
    display: inline-flex;
    flex: 0 0 34px;
    height: 34px;
    justify-content: center;
    padding: 0;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
    width: 34px;
}

.bulk-upload-row-toggle:hover,
.bulk-upload-row-toggle:focus {
    background: rgba(0, 109, 111, .08);
    border-color: rgba(0, 109, 111, .32);
    box-shadow: 0 10px 22px rgba(0, 109, 111, .1);
    color: var(--portal-teal);
    outline: 0;
    transform: translateY(-1px);
}

.bulk-upload-row-toggle i {
    line-height: 1;
    transition: transform .18s ease;
}

.bulk-upload-row-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.bulk-row-details td {
    background: transparent !important;
    border: 0;
    padding: 0 .75rem .6rem;
}

.bulk-row-details.collapse.show {
    display: table-row;
}

.bulk-row-details.collapsing {
    display: table-row;
    height: auto !important;
    transition: none;
}

.bulk-upload-row-details-card {
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(23, 25, 64, .075);
    border-radius: 12px;
    padding: .9rem;
}

.bulk-upload-detail-label {
    color: #667386;
    display: block;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bulk-upload-detail-value {
    color: var(--portal-ink);
    display: block;
    font-size: .86rem;
    font-weight: 600;
    line-height: 1.45;
    margin-top: .24rem;
    overflow-wrap: anywhere;
}

.bulk-upload-pagination {
    margin-top: 1rem;
}

    .bulk-upload-pagination .page-link {
        border-color: rgba(23, 25, 64, .08);
        color: #006d6f;
        font-weight: 600 !important;
    }

.bulk-upload-pagination .page-item.active .page-link {
    background: #006d6f;
    border-color: #006d6f;
    color: #fff;
}

.bulk-upload-redrive-modal {
    max-width: 560px !important;
}

.bulk-upload-redrive-modal .card {
    background:
        radial-gradient(circle at top right, rgba(8, 168, 138, .12), transparent 18rem),
        linear-gradient(135deg, #fff 0%, #f8fcfc 100%);
    border: 1px solid rgba(0, 109, 111, .14);
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(23, 25, 64, .18);
    overflow: hidden;
}

.bulk-upload-redrive-modal .card-header {
    background: transparent;
    border-color: rgba(23, 25, 64, .08);
    padding: 1rem 1.15rem;
}

.bulk-upload-redrive-modal .card-footer {
    background: rgba(255, 255, 255, .55);
    border: 0;
    box-shadow: inset 0 1px 0 rgba(23, 25, 64, .08);
    margin-top: 0;
    padding: 1rem 1.15rem;
}

.bulk-upload-redrive-modal .card-title {
    color: var(--portal-ink);
    font-size: 1.2rem;
    font-weight: 600;
    margin: .25rem 0 0;
}

.bulk-upload-redrive-dialog {
    align-items: flex-start;
    display: flex;
    gap: .85rem;
}

.bulk-upload-redrive-icon {
    align-items: center;
    background: rgba(0, 109, 111, .09);
    border: 1px solid rgba(0, 109, 111, .18);
    border-radius: 999px;
    color: var(--portal-teal);
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.bulk-upload-modal-actions {
    justify-content: flex-end;
}

@media (max-width: 1399.98px) {
    .team-member-card,
    .team-invitation-card {
        grid-template-columns: minmax(0, 1fr) minmax(210px, .65fr);
    }

    .team-member-actions,
    .team-invitation-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .developer-key-card {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    }

    .developer-key-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .shared-links-card {
        grid-template-columns: minmax(0, 1fr) minmax(250px, .86fr);
    }

    .shared-links-card .shared-links-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .bulk-upload-overview-grid,
    .bulk-upload-details-grid,
    .bulk-upload-workspace-inner,
    .bulk-upload-filter-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1199.98px) {
    .notifications-stat-grid,
    .notifications-filter-form {
        grid-template-columns: 1fr;
    }

    .workspace-settings-overview-grid,
    .workspace-settings-main-grid,
    .workspace-settings-lower-grid {
        grid-template-columns: 1fr;
    }

    .team-stat-grid,
    .team-content-grid {
        grid-template-columns: 1fr;
    }

    .developer-overview-grid {
        grid-template-columns: 1fr;
    }

    .developer-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .developer-key-meta {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .shared-links-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .shared-links-advanced-filters {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .bulk-upload-metric-grid,
    .bulk-upload-risk-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .notifications-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .workspace-settings-overview-grid,
    .workspace-settings-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .team-accept-facts {
        grid-template-columns: 1fr;
    }

    .team-member-card,
    .team-invitation-card {
        grid-template-columns: 1fr;
    }

    .team-member-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .developer-secret-panel,
    .developer-key-card {
        grid-template-columns: 1fr;
    }

    .developer-secret-value {
        align-items: stretch;
        flex-direction: column;
    }

    .developer-secret-value .tv-action-btn {
        justify-content: center;
        width: 100%;
    }

    .developer-form-grid {
        grid-template-columns: 1fr;
    }

    .developer-key-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .developer-key-detail-grid,
    .developer-scope-grid {
        grid-template-columns: 1fr;
    }

    .shared-links-filter-main {
        grid-template-columns: 1fr;
    }

    .shared-links-filter-main .tv-action-btn {
        justify-content: center;
        width: 100%;
    }

    .shared-links-card {
        grid-template-columns: 1fr;
    }

    .shared-links-card-meta {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .bulk-upload-job-card {
        align-items: stretch;
        flex-direction: column;
    }

    .bulk-upload-live-panel {
        max-width: none;
        width: 100%;
    }

    .bulk-upload-command .portal-command-actions,
    .bulk-upload-command-buttons {
        align-items: stretch;
        justify-content: flex-start;
        width: 100%;
    }

    .bulk-upload-detail-actions,
    .bulk-upload-quick-filters {
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .notifications-list-heading,
    .notifications-filter-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .notifications-filter-actions .tv-action-btn,
    .notifications-command .portal-command-actions,
    .notifications-command .portal-command-actions form,
    .notifications-command .portal-command-actions .tv-action-btn {
        justify-content: center;
        width: 100%;
    }

    .notifications-stat-grid,
    .notifications-list-item {
        grid-template-columns: 1fr;
    }

    .notifications-list-chevron {
        display: none;
    }

    .workspace-settings-panel-heading,
    .workspace-settings-form-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .workspace-settings-form-actions .tv-action-btn,
    .workspace-settings-panel-heading .tv-action-btn,
    .workspace-settings-inline-action {
        justify-content: center;
        width: 100%;
    }

    .workspace-settings-overview-grid,
    .workspace-settings-facts,
    .workspace-settings-detail-row,
    .workspace-settings-list-item {
        grid-template-columns: 1fr;
    }

    .workspace-settings-detail-row strong {
        text-align: left;
    }

    .workspace-settings-list-badges {
        justify-content: flex-start;
    }

    .workspace-settings-billing-card,
    .workspace-settings-callout,
    .workspace-settings-overview-card {
        flex-direction: column;
    }

    .team-panel-heading,
    .team-member-actions,
    .team-invitation-actions,
    .team-modal-actions,
    .team-accept-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .team-member-actions .tv-action-btn,
    .team-invitation-actions .tv-action-btn,
    .team-modal-actions .tv-action-btn,
    .team-accept-actions .tv-action-btn,
    .team-accept-notice .tv-action-btn {
        justify-content: center;
        width: 100%;
    }

    .team-member-main,
    .team-invitation-main,
    .team-callout,
    .team-modal-hero,
    .team-accept-hero,
    .team-accept-notice {
        flex-direction: column;
    }

    .team-member-meta {
        grid-template-columns: 1fr;
    }

    .developer-doc-actions,
    .developer-form-actions,
    .developer-key-actions,
    .developer-modal-actions,
    .developer-panel-heading-row {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .portal-command-actions.developer-doc-actions {
        grid-template-columns: 1fr;
        max-width: none;
    }

    .developer-doc-actions .tv-action-btn,
    .developer-form-actions .tv-action-btn,
    .developer-key-actions .tv-action-btn,
    .developer-key-actions .developer-revoke-form,
    .developer-key-actions .developer-revoke-form .tv-action-btn,
    .developer-modal-actions .tv-action-btn {
        justify-content: center;
        width: 100%;
    }

    .developer-fact-grid,
    .developer-metric-grid,
    .developer-key-meta {
        grid-template-columns: 1fr;
    }

    .developer-key-main,
    .developer-secret-copy,
    .developer-modal-hero {
        flex-direction: column;
    }

    .shared-links-list-heading {
        flex-direction: column;
    }

    .shared-links-stat-grid,
    .shared-links-advanced-filters,
    .shared-links-card-meta {
        grid-template-columns: 1fr;
    }

    .shared-links-card-main {
        flex-direction: column;
    }

    .shared-links-card .shared-links-actions,
    .shared-links-revoke-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .shared-links-card .shared-links-actions .tv-action-btn,
    .shared-links-revoke-actions .tv-action-btn {
        justify-content: center;
        width: 100%;
    }

    .bulk-upload-metric-grid,
    .bulk-upload-risk-grid,
    .bulk-upload-preview-grid,
    .bulk-upload-column-grid {
        grid-template-columns: 1fr;
    }

    .bulk-upload-form-actions,
    .bulk-upload-detail-actions,
    .bulk-upload-filter-actions,
    .bulk-upload-modal-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .bulk-upload-form-actions .tv-action-btn,
    .bulk-upload-detail-actions .tv-action-btn,
    .bulk-upload-filter-actions .tv-action-btn,
    .bulk-upload-modal-actions .tv-action-btn {
        width: 100%;
    }
}

.filepond--action-remove-item { display: flex; }

.system-state-shell {
    --system-state-ink: #171940;
    --system-state-muted: #526171;
    --system-state-teal: #006d6f;
    --system-state-border: rgba(0, 109, 111, .13);
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: min(720px, calc(100vh - 11rem));
    padding-bottom: 4rem;
    padding-top: 4rem;
}

.system-state-shell.portal-page-shell {
    display: flex;
    margin: 0 auto;
    max-width: 1180px;
    min-height: calc(100vh - 11rem);
}

.system-state-card {
    background:
        radial-gradient(circle at 12% 10%, rgba(8, 168, 138, .15), transparent 18rem),
        radial-gradient(circle at 90% 12%, rgba(0, 109, 111, .13), transparent 16rem),
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(246, 251, 251, .94));
    border: 1px solid var(--system-state-border);
    border-radius: 18px;
    box-shadow: 0 28px 80px rgba(23, 25, 64, .13);
    color: var(--system-state-ink);
    max-width: 760px;
    overflow: hidden;
    padding: clamp(1.4rem, 4vw, 2.5rem);
    position: relative;
    text-align: center;
    width: 100%;
}

.system-state-glow {
    border-radius: 999px;
    filter: blur(2px);
    opacity: .7;
    pointer-events: none;
    position: absolute;
}

.system-state-glow-primary {
    background: rgba(8, 168, 138, .16);
    height: 9rem;
    left: -4rem;
    top: -4rem;
    width: 9rem;
}

.system-state-glow-secondary {
    background: rgba(245, 166, 35, .12);
    bottom: -5rem;
    height: 11rem;
    right: -5rem;
    width: 11rem;
}

.system-state-logo-wrap {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 14px;
    box-shadow: 0 14px 36px rgba(23, 25, 64, .09);
    display: inline-flex;
    justify-content: center;
    margin-bottom: 1.35rem;
    padding: .75rem 1rem;
    position: relative;
    z-index: 1;
}

.system-state-logo {
    max-height: 48px;
    max-width: 230px;
}

.system-state-icon {
    align-items: center;
    background: rgba(0, 109, 111, .09);
    border: 1px solid rgba(0, 109, 111, .18);
    border-radius: 50%;
    color: var(--system-state-teal);
    display: inline-flex;
    height: 58px;
    justify-content: center;
    margin-bottom: 1rem;
    position: relative;
    width: 58px;
    z-index: 1;
}

.system-state-icon i {
    font-size: 1.25rem;
    line-height: 1;
}

.system-state-copy {
    position: relative;
    z-index: 1;
}

.system-state-eyebrow {
    color: var(--system-state-teal);
    display: inline-flex;
    font-size: .74rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.system-state-code {
    color: rgba(23, 25, 64, .12);
    font-size: clamp(4.25rem, 12vw, 7.4rem);
    font-weight: 600;
    letter-spacing: -.06em;
    line-height: .82;
    margin: .5rem 0 .2rem;
}

.system-state-copy h1 {
    color: var(--system-state-ink);
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.1;
    margin: 0;
}

.system-state-copy p {
    color: var(--system-state-muted);
    font-size: 1rem;
    line-height: 1.65;
    margin: .75rem auto 0;
    max-width: 540px;
}

.system-state-request {
    align-items: center;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(23, 25, 64, .08);
    border-radius: 999px;
    color: #5d6a78;
    display: inline-flex;
    flex-wrap: wrap;
    font-size: .82rem;
    font-weight: 600 !important;
    gap: .45rem;
    justify-content: center;
    margin-top: 1.25rem;
    max-width: 100%;
    padding: .48rem .72rem;
    position: relative;
    z-index: 1;
}

.system-state-request span {
    color: var(--system-state-teal);
    text-transform: uppercase;
}

.system-state-request code {
    color: #344054;
    white-space: normal;
    word-break: break-word;
}

.system-state-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    justify-content: center;
    margin-top: 1.6rem;
    position: relative;
    z-index: 1;
}

.system-state-actions .tv-action-btn {
    min-height: 42px;
}

.system-state-actions .tv-action-btn:hover,
.system-state-actions .tv-action-btn:focus {
    transform: translateY(-1px);
}

@media (max-width: 575px) {
    .system-state-shell,
    .system-state-shell.portal-page-shell {
        min-height: auto;
        padding-bottom: 2rem;
        padding-top: 2rem;
    }

    .system-state-card {
        border-radius: 14px;
    }

    .system-state-actions .tv-action-btn {
        width: 100%;
    }
}