/*
 * Verbatim port of the inline <style> block in `SiteMain.Master`.
 * These rules are NOT part of style.css but the legacy site depends on them
 * for the region toggle, the admin user menu, and header overflow. Loaded
 * after style.css so it matches legacy cascade order exactly.
 */

.alignCenter {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

#loginButton:hover {
    border: 2px solid #ffc600;
    color: #ffc600;
    background-color: black;
}

.toggleButton {
    display: inline-block;
    border: 1px solid #000;
    margin-left: -5px;
    cursor: pointer;
    width: 160px;
    height: 38px;
    text-align: center;
    vertical-align: middle;
    line-height: 34px;
    padding-top: 2px;
    font-family: "Roboto", sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
}

/* `View:` label + scope group — overrides @layer portal 0.875rem on legacy chrome. */
.toggleButtonGroup,
.header-scope {
    display: inline-flex;
    align-items: center;
}

.header-scope-label,
.global-header .header-buttons > span {
    font-family: "Roboto", sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    margin-right: 4px;
    vertical-align: middle;
}

/* Same 10px rhythm as `.global-header .header-buttons .btn:not(:last-of-type)`. */
.global-header .header-buttons .btn + span {
    margin-left: 10px;
}

    .toggleButton:hover {
        color: black;
        background-color: rgb(255, 198, 0);
    }

.toggleButtonLeft {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    margin-left: 4px;
}

.toggleButtonRight {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}

.toggleButtonGroup .toggleButton:first-child {
    border-right: none;
}

.selectedToggleButton {
    background-color: black;
    color: white;
}

    .selectedToggleButton:hover {
        color: white;
        background-color: black;
    }

.inactiveToggleButton {
    background-color: white;
    color: grey;
    cursor: default;
}

    .inactiveToggleButton:hover {
        background-color: white;
        color: grey;
        cursor: default;
    }

.admin-menu-wrapper {
    position: relative;
    display: inline-block;
}

.admin-user-menu {
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    background: #fff;
    min-width: 180px;
    z-index: 9999;
    margin: 0;
    padding: 0;
    padding-bottom: 10px;
    display: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

    .admin-user-menu ul {
        margin: 0;
        padding: 0;
    }

    .admin-user-menu li {
        list-style: none;
        border-bottom: none;
        margin: 0;
    }

    .admin-user-menu a {
        color: #333;
        text-decoration: none;
        display: block;
        white-space: nowrap;
        border: none !important;
        background: none !important;
        margin: 0;
        padding: 0;
    }

        .admin-user-menu a:hover {
            color: #888;
        }

/* style.css `.global-header .header-links a` also matches menu links — reset here. */
.global-header .header-links .admin-user-menu a {
    float: none;
    border-left: none !important;
    padding: 10px 16px;
    font-weight: 400;
    line-height: 1.3;
    text-transform: none;
}

.global-header {
    overflow: visible !important;
}

/* Bootstrap `.modal` sets `overflow: hidden` — allow full-height scroll in yellow panel. */
.mobile-nav.modal {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    text-align: left;
}

.mobile-nav.modal .mobile-nav-wrapper {
    width: 100%;
    max-width: none;
    margin: 0;
}

/* Tablet/mobile CTA row: legacy used three floated `<a class="btn">`; log-out is
   a `<form><button>` so flatten the form and lay out all three as grid cells. */
@media (max-width: 991px) {
    .global-header > .header-buttons {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        box-sizing: border-box;
    }

    .global-header > .header-buttons .btn {
        float: none !important;
        width: auto !important;
        min-width: 0;
        margin: 0 !important;
        box-sizing: border-box;
    }

    .global-header > .header-buttons form {
        display: contents;
    }

    .global-header > .header-buttons form .btn {
        width: 100%;
    }
}

/* Below 768px legacy sizes the row 36% / 36% / 28%. `Help & Support` is the
   last `<a>` but not the last segment, so exclude it from the 28% rule. */
@media (max-width: 767px) {
    .global-header > .header-buttons > a.btn:last-of-type:not(:last-child) {
        width: 36%;
    }
}

.nav-primary,
.nav-primary .container {
    overflow: visible;
}

.nav-primary .nav-list,
.nav-primary .nav-list > li.nav-drop-down {
    overflow: visible;
}

.nav-primary .nav-list > li.nav-drop-down {
    position: relative;
    z-index: 1000;
}

.nav-primary .drop-down-menu-wrapper,
.nav-primary .drop-down-menu {
    overflow: visible;
}

/* SiteMain.Master — wider small menus (Advisor / Other Resources). */
.drop-down-menu-six,
.drop-down-six .menu-content {
    min-width: 250px;
}

.drop-down-menu-six .menu-content {
    width: 250px;
}

.drop-down-menu-eight {
    min-width: 260px;
}

.drop-down-menu-eight .menu-content {
    width: auto;
    min-width: 260px;
}

.drop-down-menu-eight .link-list a {
    white-space: nowrap;
}

.header-links, .header-wrapper, .container {
    overflow: visible !important;
}

/*
 * Bootstrap 3 `.container` widths (1170 / 970 / 750 px). Legacy landing cards
 * use `width: 90%` inside the container (~1053 px at xl). Reinforce here so
 * Tailwind/globals never widen legacy content past the ASPX site.
 */
.site-wrapper .container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    max-width: none !important;
}

@media (min-width: 768px) {
    .site-wrapper .container {
        width: 750px;
    }
}

@media (min-width: 992px) {
    .site-wrapper .container {
        width: 970px;
    }
}

@media (min-width: 1200px) {
    .site-wrapper .container {
        width: 1170px;
    }
}

/*
 * LegacyShell screens that use Tailwind `max-w-*` wrappers instead of Bootstrap
 * `.container` — align to the same 1170 / 970 / 750 px breakpoints.
 */
@media (min-width: 768px) {
    .site-wrapper .main-content .mx-auto.max-w-7xl,
    .site-wrapper .main-content .mx-auto.max-w-6xl,
    .site-wrapper .main-content .mx-auto.max-w-5xl {
        width: 750px;
        max-width: none !important;
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (min-width: 992px) {
    .site-wrapper .main-content .mx-auto.max-w-7xl,
    .site-wrapper .main-content .mx-auto.max-w-6xl,
    .site-wrapper .main-content .mx-auto.max-w-5xl {
        width: 970px;
    }
}

@media (min-width: 1200px) {
    .site-wrapper .main-content .mx-auto.max-w-7xl,
    .site-wrapper .main-content .mx-auto.max-w-6xl,
    .site-wrapper .main-content .mx-auto.max-w-5xl {
        width: 1170px;
    }
}

/*
 * LegacyShell — document scroll. Legacy `style.css` sets
 * `.site-wrapper { overflow: hidden }` (hero/parallax containment); that
 * clips long subscriber pages. Every SiteMain.Master page uses `.main-content`.
 * Home landing uses `.legacy-home-chrome` (below) for nav/footer tweaks.
 */
.site-wrapper:has(.main-content) {
    overflow: visible;
}

.site-wrapper:has(.main-content) .main-content,
.site-wrapper:has(.main-content) .home-header {
    overflow: visible;
}

/* DefaultUS.aspx hub cards — left-aligned copy; landing cards stay centered. */
.home-header:not(.landing-page) .box .caption.text-standard {
    text-align: left;
}

.home-header:not(.landing-page) .box .caption.text-standard h3,
.home-header:not(.landing-page) .box .caption.text-standard p,
.home-header:not(.landing-page) .box .caption.text-standard ul {
    text-align: left;
}

/* Voting Database — centered title, extra separation from summit CTA row. */
.home-header:not(.landing-page) .block-listing .block:has(.caption-bottom) {
    margin-top: 45px;
}

@media (max-width: 767px) {
    .home-header:not(.landing-page) .block-listing .block:has(.caption-bottom) {
        margin-top: 25px;
    }
}

.home-header:not(.landing-page) .caption-bottom h3 {
    padding-left: 0 !important;
    text-align: center;
}

.home-header:not(.landing-page) .caption-bottom p {
    text-align: left;
}

/* Default.aspx home chrome — mirrors `$('nav.nav-primary').hide()` +
   `$('.remove-links').attr('style', 'display: none !important;')`. */
.legacy-home-chrome .remove-links {
    display: none !important;
}

.legacy-home-chrome .nav-menu-btn {
    display: none !important;
}

.legacy-home-chrome {
    overflow: visible;
}

.legacy-home-chrome .main-content,
.legacy-home-chrome .home-header {
    overflow: visible;
}

.legacy-home-chrome .global-footer {
    position: relative;
    z-index: 6;
}

/* Default.aspx page-local styles (SiteMain.Master home). */
.home-header.landing-page .caption-wrapper {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

div.landing-listing div.box h3 {
    font-size: 22px;
}

@media (max-width: 1199px) {
    .block-listing.landing-listing {
        margin-top: 15px;
    }
}

@media (max-width: 767px) {
    div.landing-listing div.box {
        height: auto;
        min-height: 80px;
    }

    div.landing-listing div.box2 {
        height: auto;
        min-height: 60px;
    }

    div.landing-listing div.box h3 {
        font-size: 16px;
    }

    .block-listing.landing-listing {
        margin-top: 15px;
    }

    .block-listing.landing-listing .block {
        margin-top: 15px;
    }
}

/* SiteMain.Master header band height (overrides ported globals if needed). */
@media (min-width: 768px) {
    .global-header .header-wrapper {
        height: 130px;
    }
}

@media (max-width: 767px) {
    .global-header .header-wrapper {
        height: 90px;
    }
}

/* Demo.aspx — video embed */
.video-responsive {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 25px;
    margin: 0 50px;
    height: 0;
}

.video-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* AboutUs.aspx — nested list bullets */
.about-us-page .text-widget ul ul li::marker {
    content: "○ ";
}

/* CompanySearch.aspx — typeahead menu anchored to the search field (legacy jQuery UI). */
.ticker-search-widget .ticker-search-typeahead {
    position: relative;
}

.ticker-search-widget .ticker-search-typeahead ul.ui-autocomplete {
    top: 100%;
    left: 0;
    width: 100%;
    box-sizing: border-box;
}

/*
 * Legacy list tables use style.css `table { font-size: 1.4rem }` (14px at 62.5%
 * html). Tailwind text-xs/text-sm on cells shrink further under that root — reset
 * to the legacy table body size inside striped result grids.
 */
.content .widget.table-widget .table-wrapper table.table-striped th,
.content .widget.table-widget .table-wrapper table.table-striped td,
.content .widget.table-widget table.table-striped th,
.content .widget.table-widget table.table-striped td {
    font-size: 1.4rem;
}

.content .widget.table-widget .table-wrapper table.table-striped th.text-xs,
.content .widget.table-widget .table-wrapper table.table-striped td.text-xs,
.content .widget.table-widget .table-wrapper table.table-striped th.text-sm,
.content .widget.table-widget .table-wrapper table.table-striped td.text-sm,
.content .widget.table-widget table.table-striped th.text-xs,
.content .widget.table-widget table.table-striped td.text-xs,
.content .widget.table-widget table.table-striped th.text-sm,
.content .widget.table-widget table.table-striped td.text-sm {
    font-size: 1.4rem;
}

.content .widget.table-widget .table-wrapper table.table-striped td .text-xs,
.content .widget.table-widget .table-wrapper table.table-striped td .text-sm,
.content .widget.table-widget table.table-striped td .text-xs,
.content .widget.table-widget table.table-striped td .text-sm {
    font-size: inherit;
}

/*
 * ActivistSearch.aspx — filing type/date in result cards (p.text-grey-medium,
 * not text-xxxlg). Tailwind shrinks it; match body copy in `.text-standard`
 * (style.css body: 1.6rem / weight 300). Do not target featured-text-widget
 * cards that use `.text-xxxlg` (Corp. Gov. Articles, Tear Sheets).
 */
.content .widget.block-listing .activist-search-card .caption.text-standard > p.text-grey-medium:not(.text-xxxlg) {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 300;
}

/*
 * ActivistSearchInternational.aspx — Prev/Next pager under result cards.
 * INT-only: space cards from controls; range text at body size (not Tailwind text-sm).
 */
[data-screen="international-activist-search"] .international-activist-search-pager {
    margin-top: 40px;
}

[data-screen="international-activist-search"] .international-activist-search-pager p.text-grey-medium {
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 300;
}

/*
 * Voting filter panels (`PortalSectionCard`) — match campaigns `FieldShell` labels.
 * Tailwind preflight sets h5 to font-size: inherit; inside portal cards that resolves
 * to text-sm (0.875rem × 10px root = 8.75px) instead of legacy h5 (2.3rem = 23px).
 */
.portal-card-body .form-group > h5 {
    margin-bottom: 10px;
    font-size: 2.3rem;
    line-height: 1.2;
    font-family: 'EB Garamond', serif;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@media (min-width: 768px) and (max-width: 991px) {
    .portal-card-body .form-group > h5 {
        font-size: 2.1rem;
    }
}

@media (max-width: 767px) {
    .portal-card-body .form-group > h5 {
        font-size: 2rem;
        margin-bottom: 5px;
    }
}

/*
 * NPX voting result tables — full-width campaigns layout, legacy header sizing.
 */
[data-screen^="voting"] .table-wrapper {
    overflow-x: auto;
}

[data-screen^="voting"] .table-wrapper > table.table-striped,
[data-screen^="voting"] .widget.table-widget table.table-striped {
    width: 100%;
    min-width: 100%;
}

[data-screen^="voting"] .table-wrapper > table.table-striped th,
[data-screen^="voting"] .table-wrapper > table.table-striped td,
[data-screen^="voting"] .widget.table-widget table.table-striped th,
[data-screen^="voting"] .widget.table-widget table.table-striped td {
    font-size: 1.4rem;
    padding: 8px 12px;
}

[data-screen^="voting"] .table-wrapper > table.table-striped thead th,
[data-screen^="voting"] .widget.table-widget table.table-striped thead th {
    font-size: 1.4rem;
    font-weight: 600;
    white-space: nowrap;
}

[data-screen^="voting"] .table-wrapper > table.table-striped thead th button,
[data-screen^="voting"] .widget.table-widget table.table-striped thead th button {
    font-size: inherit;
    font-weight: inherit;
}

/*
 * Card-list sort header — same container-fluid band as VotingCardResults.
 */
[data-screen^="voting"] .voting-sort-header {
    background: #000;
}

[data-screen^="voting"] .voting-sort-header table.table-striped {
    margin-bottom: 0;
}

[data-screen^="voting"] .voting-sort-header-band + .voting-card-results {
    padding-top: 1rem;
}

/*
 * Activist situations — legacy Vuetify `yellow accent-2` (#ffeb3b).
 * Must beat style.css `.table-striped tbody tr:nth-of-type(odd|even) td`
 * (0,2,3) which was winning over the previous (0,2,2) highlight rule.
 */
[data-screen="voting.activists-situations"] table.table-striped tbody tr.voting-row-highlight > td,
[data-screen="voting.activists-situations"] table.table-striped tbody tr.voting-row-highlight > th,
[data-screen="voting.activists-situations"] table.table-striped tbody tr.yellow.accent-2 > td,
[data-screen="voting.activists-situations"] table.table-striped tbody tr.yellow.accent-2 > th,
[data-screen="voting.situations"] table.table-striped tbody tr.voting-row-highlight > td,
[data-screen="voting.situations"] table.table-striped tbody tr.voting-row-highlight > th,
[data-screen="voting.situations"] table.table-striped tbody tr.yellow.accent-2 > td,
[data-screen="voting.situations"] table.table-striped tbody tr.yellow.accent-2 > th {
    background: #ffeb3b;
}

[data-screen="voting.activists-situations"] mark.voting-proposal-highlight,
[data-screen="voting.activists-situations"] .yellow.accent-2,
[data-screen="voting.situations"] mark.voting-proposal-highlight,
[data-screen="voting.situations"] .yellow.accent-2 {
    background-color: #ffeb3b;
    color: inherit;
    padding: 0;
}

/*
 * Activist situations — investor header (legacy Vuetify subtitle-1 + <br> + title + v-btn).
 * Unlayered rules: Tailwind text-* utilities render too small under 62.5% html root.
 */
[data-screen="voting.activists-situations"] .search-results-header,
[data-screen="voting.situations"] .search-results-header {
    margin-top: 0;
}

[data-screen="voting.activists-situations"] .search-results-header .list-statistics,
[data-screen="voting.situations"] .search-results-header .list-statistics {
    margin-bottom: 1.2rem;
}

[data-screen="voting.activists-situations"] .voting-situation-investor-header,
[data-screen="voting.situations"] .voting-situation-investor-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem 2.4rem;
    margin-top: 0;
    padding: 0.2rem 0 0.6rem;
}

[data-screen="voting.activists-situations"] .voting-situation-investor-block,
[data-screen="voting.situations"] .voting-situation-investor-block {
    display: block;
    min-width: 0;
}

[data-screen="voting.activists-situations"] .voting-situation-label,
[data-screen="voting.situations"] .voting-situation-label {
    display: inline;
    font-family: 'Roboto', sans-serif;
    font-size: 1.9rem;
    line-height: 1.2;
    font-weight: 400;
    color: #797979;
    margin-bottom: 0;
}

@media (min-width: 768px) and (max-width: 991px) {
    [data-screen="voting.activists-situations"] .voting-situation-label,
    [data-screen="voting.situations"] .voting-situation-label {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    [data-screen="voting.activists-situations"] .voting-situation-label,
    [data-screen="voting.situations"] .voting-situation-label {
        font-size: 1.7rem;
    }
}

[data-screen="voting.activists-situations"] .voting-situation-investor-name,
[data-screen="voting.situations"] .voting-situation-investor-name {
    display: inline;
    white-space: nowrap;
    font-family: 'Roboto', sans-serif;
    font-size: 2.3rem;
    line-height: 1.2;
    font-weight: 500;
    color: #171717;
}

[data-screen="voting.situations"] .voting-situation-meeting {
    overflow: hidden;
    width: 100%;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
}

[data-screen="voting.situations"] .voting-situation-meeting-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.6rem 2.4rem;
    padding: 1.6rem 2.4rem 1.2rem;
}

[data-screen="voting.situations"] .voting-situation-meeting-field {
    min-width: 0;
}

[data-screen="voting.situations"] .voting-situation-meeting-company .voting-situation-investor-name {
    white-space: normal;
}

[data-screen="voting.situations"] .voting-situation-meeting-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem 1.2rem;
    margin-left: auto;
}

[data-screen="voting.situations"] .voting-proxyfight-cell {
    white-space: nowrap;
    width: 1%;
}

[data-screen="voting.situations"] .voting-proxyfight-cell label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-weight: 400;
    white-space: nowrap;
}

@media (min-width: 768px) and (max-width: 991px) {
    [data-screen="voting.activists-situations"] .voting-situation-investor-name,
    [data-screen="voting.situations"] .voting-situation-investor-name {
        font-size: 2.1rem;
    }
}

@media (max-width: 767px) {
    [data-screen="voting.activists-situations"] .voting-situation-investor-name,
    [data-screen="voting.situations"] .voting-situation-investor-name {
        font-size: 2rem;
    }
}

/*
 * SortableTh uses Tailwind `hover:text-brand-black` — on `bg-black` thead that
 * yields black label on black background. Match activism-vulnerability / campaigns.
 */
thead.bg-black th button {
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    color: #ffffff;
    font: inherit;
    font-weight: inherit;
    cursor: pointer;
    box-shadow: none;
}

thead.bg-black th button:hover,
thead.bg-black th button:focus {
    color: #ffc600;
    background: transparent;
    outline: none;
}

thead.bg-black th button svg {
    color: inherit;
}

/*
 * Voting hint / empty / loading bands — list-statistics body size (2.3rem at 62.5% root).
 * Unlayered: Tailwind text-sm on PortalLoading is 8.75px under html { font-size: 62.5% }.
 */
.voting-message-band p:not(.text-destructive),
.voting-message-band [role="status"],
.voting-message-band [role="status"] p,
[data-screen^="voting"] .search-results-header p,
[data-screen^="voting"] .voting-results-hint {
    font-family: 'EB Garamond', serif;
    font-size: 2.3rem;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: normal;
    text-transform: none;
    color: #797979;
}

@media (min-width: 768px) and (max-width: 991px) {
    .voting-message-band p:not(.text-destructive),
    .voting-message-band [role="status"],
    .voting-message-band [role="status"] p,
    [data-screen^="voting"] .search-results-header p,
    [data-screen^="voting"] .voting-results-hint {
        font-size: 2.1rem;
    }
}

@media (max-width: 767px) {
    .voting-message-band p:not(.text-destructive),
    .voting-message-band [role="status"],
    .voting-message-band [role="status"] p,
    [data-screen^="voting"] .search-results-header p,
    [data-screen^="voting"] .voting-results-hint {
        font-size: 1.9rem;
    }
}

/*
 * Voting filter controls — keep legacy white field on hover/focus (Tailwind
 * preflight must not flip background/text to brand-black).
 */
[data-screen^="voting"] .form-control:hover,
[data-screen^="voting"] .form-control:focus {
    color: #171717;
    background-color: #ffffff;
}

[data-screen^="voting"] .form-wrapper ul[role="listbox"] button:hover,
[data-screen^="voting"] .form-wrapper ul[role="listbox"] button:focus {
    color: #171717;
    background-color: #f1f1f1;
    outline: none;
}

/*
 * Voting ticker/investor typeahead — Tailwind text-sm/text-base collapse under
 * LegacyShell html { font-size: 62.5% } (8.75px / 10px). Use form-control
 * scale (1.9rem = 19px).
 */
[data-screen^="voting"] .voting-typeahead-menu,
[data-screen^="voting"] .voting-typeahead-menu li,
[data-screen^="voting"] .voting-typeahead-menu button,
[data-screen^="voting"] .voting-typeahead-chip {
    font-size: 1.9rem;
    line-height: 1.3;
    font-family: 'EB Garamond', serif;
}

/*
 * Voting pager + results meta — campaigns list-statistics scale (2.3rem legacy).
 */
[data-screen^="voting"] .search-results-header .list-statistics li,
[data-screen^="voting"] .search-results-header [role="status"] {
    font-size: 2.3rem;
    line-height: 1.2;
}

@media (min-width: 768px) and (max-width: 991px) {
    [data-screen^="voting"] .search-results-header .list-statistics li,
    [data-screen^="voting"] .search-results-header [role="status"] {
        font-size: 2.1rem;
    }
}

@media (max-width: 767px) {
    [data-screen^="voting"] .search-results-header .list-statistics li,
    [data-screen^="voting"] .search-results-header [role="status"] {
        font-size: 1.9rem;
    }
}

[data-screen^="voting"] .voting-pager {
    font-size: 1.9rem;
    line-height: 1.5;
}

@media (min-width: 768px) and (max-width: 991px) {
    [data-screen^="voting"] .voting-pager {
        font-size: 2.1rem;
    }
}

@media (min-width: 992px) {
    [data-screen^="voting"] .voting-pager {
        font-size: 2.3rem;
    }
}

/*
 * MandAActivism.aspx / MandAActivismInternational.aspx — inline page styles +
 * header toolbar layout (ported from legacy aspx <style> block).
 */
/* Tailwind `collapse` vs Bootstrap 3 `.collapse.in` — keep search panels visible. */
[data-screen="m-and-a-activism"] .panel-collapse.collapse.in,
[data-screen="m-and-a-activism-international"] .panel-collapse.collapse.in {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
}

/* WeeklyReports.aspx / MonthlyReports.aspx — period picker (Tailwind vs Bootstrap `.collapse.in`). */
[data-region="recaps.us.period-list"] .nav-dropdown-list.collapse.in,
[data-region="recaps.international.period-list"] .nav-dropdown-list.collapse.in {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
}

[data-screen="m-and-a-activism"] .leftRight,
[data-screen="m-and-a-activism-international"] .leftRight {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

[data-screen="m-and-a-activism"] .leftRight .btn,
[data-screen="m-and-a-activism-international"] .leftRight .btn {
    margin-top: 0;
}

[data-screen="m-and-a-activism"] .btn-xs,
[data-screen="m-and-a-activism-international"] .btn-xs {
    padding: 4px 8px;
    font-size: 14px;
    line-height: 1.8;
}

[data-screen="m-and-a-activism"] .ma-lbo-calculator-btn,
[data-screen="m-and-a-activism-international"] .ma-lbo-calculator-btn {
    margin-bottom: 14px;
}

[data-screen="m-and-a-activism"] .ma-calculator-icon,
[data-screen="m-and-a-activism-international"] .ma-calculator-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 6px;
    vertical-align: -0.15em;
}

[data-screen="m-and-a-activism"] ul.list-parameters.flex-wrap,
[data-screen="m-and-a-activism-international"] ul.list-parameters.flex-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
    margin-top: 20px;
}

[data-screen="m-and-a-activism"] ul.list-parameters.flex-wrap li,
[data-screen="m-and-a-activism-international"] ul.list-parameters.flex-wrap li {
    flex: 1 1 auto;
    font-size: 1.9rem;
    line-height: 1.2;
}

[data-screen="m-and-a-activism"] tr.table-pager a,
[data-screen="m-and-a-activism-international"] tr.table-pager a,
[data-screen="activism-vulnerability"] tr.table-pager a {
    text-decoration: none;
}

[data-screen="m-and-a-activism"] tr.table-pager span,
[data-screen="m-and-a-activism-international"] tr.table-pager span,
[data-screen="activism-vulnerability"] tr.table-pager span {
    font-weight: 400;
}

/* MandAActivism.aspx — LBO Calculator modal (portaled to body) */
.ma-lbo-modal-root .modal-backdrop {
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 1;
}

.ma-lbo-modal-root .modal {
    z-index: 1050;
}

.ma-lbo-modal-root .modal-backdrop {
    z-index: 1040;
}

.ma-lbo-modal-root .modal-dialog {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    width: 440px;
    margin: 30px auto;
}

.ma-lbo-modal-root .modal-content {
    width: 100%;
}

.ma-lbo-modal-root .modal-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ma-lbo-modal-root .digit-width {
    width: 3em;
}

.ma-lbo-modal-root .nowrap {
    white-space: nowrap;
}

.ma-lbo-modal-root .acqMultiple {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.ma-lbo-modal-root .form-group .col-xs-6 {
    padding-left: 40px;
}

.ma-lbo-modal-root .form-group .col-xs-6:first-child {
    padding-left: 0;
}

.ma-lbo-modal-root .form-group .col-xs-6.flex {
    display: flex;
    align-items: center;
}

.ma-lbo-modal-root .ma-lbo-market-cap-premium-row {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.ma-lbo-modal-root .percentage-symbol {
    margin-left: 5px;
    display: inline-block;
    white-space: nowrap;
}

.ma-lbo-modal-root .radio-inline-label {
    font-weight: normal;
}

.ma-lbo-modal-root input[type="number"]::-webkit-outer-spin-button,
.ma-lbo-modal-root input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.ma-lbo-modal-root input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.ma-lbo-modal-root .form-group label,
.ma-lbo-modal-root .form-group input[type="number"] {
    display: flex;
    align-items: center;
}

/* ActivismVulnerability.aspx — CVR search, sector stats, AVR progress bar */
[data-screen="activism-vulnerability"] .cvrSearch {
    display: flex;
    align-items: center;
    gap: 0;
    position: relative;
}

[data-screen="activism-vulnerability"] .search-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #ccc;
    z-index: 1000;
    max-height: 200px;
    width: 100%;
    max-width: 450px;
    overflow-y: auto;
}

[data-screen="activism-vulnerability"] .search-results button {
    display: block;
    width: 100%;
    padding: 10px;
    cursor: pointer;
    text-align: left;
    border: none;
    background: transparent;
    font: inherit;
}

[data-screen="activism-vulnerability"] .search-results button:hover {
    background: #f1f1f1;
}

[data-screen="activism-vulnerability"] .clear-search-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #eee;
    color: #888;
    cursor: pointer;
    margin-left: -38px;
    margin-right: 10px;
    border: 1px solid #ccc;
    font-size: 16px;
    flex-shrink: 0;
}

[data-screen="activism-vulnerability"] .clear-search-circle:hover {
    background: #ddd;
    color: #333;
}

[data-screen="activism-vulnerability"] .industry-modal-trigger {
    position: relative;
    width: 100%;
    max-width: 284px;
    outline: none;
}

[data-screen="activism-vulnerability"] .industry-display {
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: 2px;
    height: 60px;
    padding: 6px 12px;
    font-size: 16px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

[data-screen="activism-vulnerability"] .sector-info-inline {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 32px;
    font-size: 1.75em;
    margin-bottom: 30px;
}

[data-screen="activism-vulnerability"] .sector-info-inline li {
    margin: 0;
    padding: 0;
    list-style: none;
}

[data-screen="activism-vulnerability"] .toggleButtonGroup[data-field="activism-vulnerability.market-toggle"] .toggleButton {
    width: auto;
    min-width: 140px;
    padding-left: 14px;
    padding-right: 14px;
    background-color: white;
    color: #171717;
}

[data-screen="activism-vulnerability"] .toggleButtonGroup[data-field="activism-vulnerability.market-toggle"] .toggleButton.selectedToggleButton,
[data-screen="activism-vulnerability"] .toggleButtonGroup[data-field="activism-vulnerability.market-toggle"] .toggleButton.selectedToggleButton:hover {
    background-color: #ffc600;
    color: #171717;
}

[data-screen="activism-vulnerability"] thead.bg-black th button {
    color: inherit;
}

[data-screen="activism-vulnerability"] thead.bg-black th button:hover {
    color: #ffc600;
}

[data-screen="activism-vulnerability"] thead.bg-black th:has(.legacy-th-info-tooltip) {
    overflow: visible;
    position: relative;
    z-index: 1;
}

[data-screen="activism-vulnerability"] thead.bg-black th:has(.legacy-th-info-tooltip:hover),
[data-screen="activism-vulnerability"] thead.bg-black th:has(.legacy-th-info-tooltip:focus-within) {
    z-index: 5;
}

.legacy-th-info-tooltip {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-left: 0.35em;
    cursor: pointer;
    vertical-align: middle;
    font-weight: 400;
    line-height: 1;
}

.legacy-th-info-tooltip .icon-info {
    font-size: 1.4rem;
}

.legacy-th-info-tooltip .legacy-th-info-tooltip-bubble {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    z-index: 20;
    width: max-content;
    max-width: 240px;
    padding: 8px 10px;
    transform: translateX(-50%);
    border-radius: 4px;
    background: #171717;
    color: #fff;
    font-family: "Roboto", sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.35;
    text-align: center;
    white-space: normal;
    pointer-events: none;
    transition: opacity 0.15s ease, visibility 0.15s ease;
}

.legacy-th-info-tooltip .legacy-th-info-tooltip-bubble::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border: 5px solid transparent;
    border-top-color: #171717;
}

.legacy-th-info-tooltip:hover .legacy-th-info-tooltip-bubble,
.legacy-th-info-tooltip:focus .legacy-th-info-tooltip-bubble,
.legacy-th-info-tooltip:focus-within .legacy-th-info-tooltip-bubble {
    visibility: visible;
    opacity: 1;
}

[data-screen="activism-vulnerability"] .progress {
    width: 100px;
    height: 20px;
    background-color: #f3f3f3;
    border-radius: 4px;
    border: 1px solid darkgrey;
    overflow: hidden;
    margin: 0;
}

[data-screen="activism-vulnerability"] .progress-bar {
    height: 100%;
    background-color: #337ab7;
}

[data-screen="activism-vulnerability"] #industrySelectedText {
    font-family: 'EB Garamond', serif;
    font-weight: 400;
    font-size: 1.9rem;
    line-height: 1.3;
}

[data-screen="activism-vulnerability"] .edit-modal {
    display: none;
    position: fixed;
    z-index: 2147483647 !important;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

[data-screen="activism-vulnerability"] .edit-modal-content {
    background: #fff;
    margin: 5% auto;
    padding: 0;
    border-radius: 6px;
    width: 400px;
    max-height: 80vh;
    min-height: 520px;
    position: relative;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

[data-screen="activism-vulnerability"] .edit-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #000;
    color: #fff;
    padding: 0 20px;
    height: 48px;
    position: sticky;
    top: 0;
    z-index: 2;
    border-radius: 6px 6px 0 0;
}

[data-screen="activism-vulnerability"] .edit-modal-title {
    font-size: 1.2em;
    font-weight: bold;
    color: #fff;
    line-height: 48px;
}

[data-screen="activism-vulnerability"] .edit-modal-close {
    font-size: 28px;
    font-weight: bold;
    color: #ffc600;
    cursor: pointer;
    background: none;
    border: none;
    outline: none;
    line-height: 48px;
}

[data-screen="activism-vulnerability"] .edit-modal-body-content {
    padding: 24px 20px 0 20px;
    flex: 1 1 auto;
    overflow-y: auto;
    min-height: 180px;
}

[data-screen="activism-vulnerability"] .edit-modal-footer {
    position: sticky;
    bottom: 0;
    width: 100%;
    background: #fff;
    padding: 16px 20px;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.04);
    z-index: 10;
    border-radius: 0 0 6px 6px;
}

[data-screen="activism-vulnerability"] .edit-modal-footer .modal-btn {
    flex: 1 1 0;
    min-width: 0;
    width: 100%;
    padding: 12px 0;
    font-size: 1.08em;
    border: none;
    border-radius: 4px;
    margin: 0;
    cursor: pointer;
    font-weight: 600;
    transition: background 0.15s;
    box-sizing: border-box;
}

[data-screen="activism-vulnerability"] .edit-modal-footer .modal-btn-clear {
    background: #f5f5f5;
    color: #333;
}

[data-screen="activism-vulnerability"] .edit-modal-footer .modal-btn-clear:hover {
    background: #e0e0e0;
}

[data-screen="activism-vulnerability"] .edit-modal-footer .modal-btn-update {
    background: #ffc600;
    color: #111;
}

[data-screen="activism-vulnerability"] .edit-modal-footer .modal-btn-update:hover {
    background: #e6b800;
}

[data-screen="activism-vulnerability"] ul.my-treeview,
[data-screen="activism-vulnerability"] ul.my-treeview ul,
[data-screen="activism-vulnerability"] ul.my-treeview li ul {
    list-style: none !important;
    margin: 0 !important;
}

[data-screen="activism-vulnerability"] .my-treeview li {
    list-style-type: none !important;
}

[data-screen="activism-vulnerability"] .my-treeview li > ul {
    padding-left: 2.25rem;
}

[data-screen="activism-vulnerability"] .my-treeview .tv-row {
    display: flex;
    align-items: center;
    line-height: 1.8;
}

[data-screen="activism-vulnerability"] .my-treeview .tv-toggle,
[data-screen="activism-vulnerability"] .my-treeview .tv-spacer {
    width: 1.2rem;
    height: 1.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    user-select: none;
    margin-right: 8px;
}

[data-screen="activism-vulnerability"] .my-treeview .tv-collapsed > ul {
    display: none;
}

[data-screen="activism-vulnerability"] .my-treeview .tv-collapsed > .tv-row .tv-toggle::after {
    content: "▶";
}

[data-screen="activism-vulnerability"] .my-treeview .tv-toggle::after {
    content: "▼";
}

[data-screen="activism-vulnerability"] .my-treeview .tv-checkbox {
    margin-right: 6px;
}

[data-screen="activism-vulnerability"] .my-treeview .tv-label {
    font: 14px "Segoe UI", Arial, sans-serif;
    vertical-align: middle;
}

/* StandstillList.aspx — jQuery UI event dialog (See more) */
.calendar-list-event-dialog-backdrop {
    position: fixed;
    inset: 0;
    z-index: 2147483646;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 5vh 16px;
}

.calendar-list-event-dialog {
    width: min(800px, 100%);
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

.calendar-list-event-dialog-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background-color: #ffc600;
    padding: 10px 16px;
    font-size: 15px;
    font-weight: 600;
}

.calendar-list-event-dialog-close {
    border: none;
    background: none;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    color: #171717;
}

.calendar-list-event-dialog-body {
    padding: 16px 20px 20px;
}

.calendar-list-event-dialog-body #eventInfo {
    font-size: 15px;
    margin-bottom: 15px;
    white-space: pre-line;
}

.calendar-list-event-dialog-body #eventLink {
    text-decoration: underline;
    font-weight: normal;
}

/* ActivistCampaignInternational.aspx — entity autocomplete + results toolbar */
[data-screen="campaigns.international"] .campaign-entity-typeahead {
    position: relative;
}

[data-screen="campaigns.international"] .campaign-entity-typeahead ul.ui-autocomplete {
    top: 100%;
    left: 0;
    width: 100%;
    box-sizing: border-box;
}

[data-screen="campaigns.international"] .leftRight.intl-campaigns-results-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 10px;
}

[data-screen="campaigns.international"] .leftRight.intl-campaigns-results-toolbar .btn {
    margin-top: 0;
}

/* Campaigns params are br-separated text (legacy ActivistCampaign*.aspx), not a flex row. */
[data-screen="campaigns.us"] .search-results-header .list-parameters,
[data-screen="campaigns.international"] .search-results-header .list-parameters {
    margin-top: 10px;
    font-size: 1.9rem;
    line-height: 1.2;
}

/*
 * Wide view=1 grid (17 cols incl. Return TOPIX). Slightly tighter cells +
 * wrapping headers so the grid fits better; keep overflow-x as a fallback.
 */
[data-screen="campaigns.international"] .table-wrapper {
    overflow-x: auto;
}
[data-screen="campaigns.international"] .table-wrapper > table.table-striped {
    width: 100%;
    min-width: 100%;
}
[data-screen="campaigns.international"] .table-wrapper > table.table-striped th,
[data-screen="campaigns.international"] .table-wrapper > table.table-striped td {
    padding: 6px 8px;
}
[data-screen="campaigns.international"] .table-wrapper > table.table-striped thead th {
    white-space: normal;
    vertical-align: bottom;
}
[data-screen="campaigns.international"] .table-wrapper > table.table-striped thead th > div,
[data-screen="campaigns.international"] .table-wrapper > table.table-striped thead th button {
    white-space: normal;
    flex-wrap: wrap;
    max-width: 100%;
    min-width: 0;
    height: auto;
    line-height: 1.2;
}

/* Tailwind `collapse` vs Bootstrap 3 `.collapse.in` — activist/advisor bio panels. */
[data-screen="activist-profile"] .activist-header-text .description.panel-collapse.collapse.in,
[data-screen="international-activist-profile"] .activist-header-text .description.panel-collapse.collapse.in,
[data-screen="advisor-profile"] .description.panel-collapse.collapse.in {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
}

/* ActivistProfile.aspx 13F — legacy table { padding: 8px 15px }; beat Tailwind px-3 py-2. */
[data-screen="activist-profile"] [data-region="activist-profile.holdings-summary"] table.table-striped th,
[data-screen="activist-profile"] [data-region="activist-profile.holdings-summary"] table.table-striped td,
[data-screen="activist-profile"] [data-region="activist-profile.holdings-table"] table.table-striped th,
[data-screen="activist-profile"] [data-region="activist-profile.holdings-table"] table.table-striped td {
    padding: 8px 15px;
}

/* ActivistList.aspx / InternationalActivistList.aspx — open accordion panels. */
[data-screen="activist-directory"] .panel-collapse.collapse.in {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
}

/*
 * EditItemTemplate inner layout tables — no chrome of their own so the
 * FormView outer table (`.admin-users-edit-formview`) is the single card
 * that contains header, fields, and Save/Cancel.
 */
.admin-users-list table.no-border-table,
.admin-users-list table.no-border-table td {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

.admin-users-list table.admin-users-edit-formview {
    width: 100%;
    border-collapse: collapse;
    background-color: #ffffff;
    border: 1px solid #d1d1d1;
}

.admin-users-list table.admin-users-edit-formview > tbody > tr > td {
    border: none;
    vertical-align: top;
}

/*
 * UsersList.aspx edit TextBoxes — Tailwind / style.css preflight strip borders;
 * restore a classic ASP.NET textbox chrome (visible inset border).
 */
.admin-users-list input[type="text"],
.admin-users-list input[type="password"],
.admin-users-list input[type="number"],
.admin-users-list textarea,
.admin-users-list select {
    border: 1px solid #7f9db9;
    background-color: #ffffff;
    color: #333333;
    padding: 2px 4px;
    font: inherit;
    border-radius: 0;
    box-shadow: none;
    outline: none;
    -webkit-appearance: none;
    appearance: auto;
}

.admin-users-list textarea {
    resize: vertical;
}

/* UsersList.aspx page <style> — CheckBoxList without table chrome. */
.admin-users-list .no-border-checkboxlist table,
.admin-users-list .no-border-checkboxlist tr,
.admin-users-list .no-border-checkboxlist td {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.admin-users-list .no-border-checkboxlist {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block;
}

.admin-users-list .no-border-checkboxlist input[type="checkbox"],
.admin-users-list .no-border-checkboxlist label {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

.admin-users-list .no-border-checkboxlist input[type="checkbox"] {
    margin-right: 4px !important;
    -webkit-appearance: checkbox;
    appearance: checkbox;
}

/*
 * Legacy EditItemTemplate Save/Cancel are LinkButtons (plain anchors)
 * inside the FormView outer table — match grid link look.
 */
.admin-users-list .admin-users-edit-actions {
    display: block;
}

.admin-users-list .admin-users-edit-actions button {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    color: #171717 !important;
    font: inherit !important;
    font-size: inherit !important;
    font-weight: 400 !important;
    line-height: inherit !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.admin-users-list .admin-users-edit-actions button:hover,
.admin-users-list .admin-users-edit-actions button:focus {
    color: #171717 !important;
    text-decoration: none !important;
    background: transparent !important;
}

.admin-users-list .admin-users-edit-actions button:disabled {
    opacity: 0.6;
    cursor: default !important;
    text-decoration: none !important;
}

/* EmailPreferences.aspx — scoped portal port */
[data-screen="email-preferences"] {
    font-family: "Roboto", Arial, sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #111;
}

[data-screen="email-preferences"] .content {
    padding-top: 0;
}

[data-screen="email-preferences"] .save-changes-btn {
    background: #f5f5f5;
    color: #888;
    font-weight: 600;
    border: none;
    border-radius: 4px;
    padding: 10px 24px;
    font-size: 1em;
    cursor: not-allowed;
    transition: background 0.15s, color 0.15s;
    margin-top: 20px;
    box-shadow: none;
    outline: none;
}

[data-screen="email-preferences"] .save-changes-btn:enabled {
    background: #ffc600;
    color: #111;
    cursor: pointer;
}

[data-screen="email-preferences"] .save-changes-btn:enabled:hover {
    background: #e6b800;
}

[data-screen="email-preferences"] .save-changes-btn:disabled {
    background: #f5f5f5;
    color: #888;
    cursor: not-allowed;
}

[data-screen="email-preferences"] .email-pref-section-content,
[data-screen="email-preferences"] .email-pref-section-content * {
    box-sizing: border-box;
}

[data-screen="email-preferences"] .email-pref-section-content table,
[data-screen="email-preferences"] .email-pref-section-content th,
[data-screen="email-preferences"] .email-pref-section-content td {
    border: none !important;
    border-collapse: collapse;
}

[data-screen="email-preferences"] .email-pref-section-content td,
[data-screen="email-preferences"] .email-pref-section-content th {
    padding-left: 0 !important;
    padding-top: 8px;
    padding-bottom: 8px;
}

[data-screen="email-preferences"] .checkbox-with-desc {
    margin-bottom: 16px;
}

[data-screen="email-preferences"] .checkbox-desc {
    display: block;
    font-size: 0.95em;
    color: #666;
    margin-left: 22px;
    margin-top: 2px;
    margin-bottom: 0;
    line-height: 1.3;
}

[data-screen="email-preferences"] .email-types input[type="checkbox"] {
    margin-top: 10px;
    margin-right: 8px;
    vertical-align: middle;
}

[data-screen="email-preferences"] .email-types input[type="checkbox"] + label,
[data-screen="email-preferences"] .email-types label {
    font-weight: 600;
    font-size: 1em;
    letter-spacing: 0.01em;
    margin-bottom: 0;
    display: inline;
    vertical-align: middle;
    line-height: 1.2;
}

[data-screen="email-preferences"] .reportType-rblist label {
    font-size: 15px !important;
    font-weight: 400 !important;
    vertical-align: middle;
    margin-bottom: 0 !important;
    line-height: 1.2 !important;
}

[data-screen="email-preferences"] input[type="radio"] {
    vertical-align: middle;
    margin-right: 8px;
    margin-left: 0;
    box-sizing: border-box;
}

[data-screen="email-preferences"] .edit-link,
[data-screen="email-preferences"] .edit-link:visited {
    color: #0074d9 !important;
    background: none !important;
    border: none !important;
    padding: 0 0 0 8px !important;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
    font-size: 1em;
}

[data-screen="email-preferences"] .edit-link:hover {
    color: #0056a3 !important;
}

[data-screen="email-preferences"] .criteria-rows {
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

[data-screen="email-preferences"] .criteria-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

[data-screen="email-preferences"] .criteria-label {
    min-width: 120px;
    font-weight: 300;
    align-self: flex-start;
    padding-top: 2px;
}

[data-screen="email-preferences"] .company-flexbox-group {
    display: flex;
    flex-direction: column;
}

[data-screen="email-preferences"] .save-message {
    margin-left: 20px;
    padding-top: 20px;
    color: green;
    opacity: 0;
    font-weight: 600;
    transition: opacity 0.5s ease;
    display: inline-block;
    vertical-align: middle;
}

[data-screen="email-preferences"] .save-message.show {
    opacity: 1;
}

[data-screen="email-preferences"] .edit-modal {
    display: none;
    position: fixed;
    z-index: 2147483647 !important;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

[data-screen="email-preferences"] .edit-modal-content {
    background: #fff;
    margin: 5% auto;
    padding: 0;
    border-radius: 6px;
    width: 400px;
    max-height: 80vh;
    min-height: 520px;
    position: relative;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

[data-screen="email-preferences"] .edit-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #000;
    color: #fff;
    padding: 0 20px;
    height: 48px;
    position: sticky;
    top: 0;
    z-index: 2;
    border-radius: 6px 6px 0 0;
}

[data-screen="email-preferences"] .edit-modal-title {
    font-size: 1.2em;
    font-weight: bold;
    color: #fff;
    line-height: 48px;
}

[data-screen="email-preferences"] .edit-modal-close {
    font-size: 28px;
    font-weight: bold;
    color: #ffc600;
    cursor: pointer;
    background: none;
    border: none;
    outline: none;
    line-height: 48px;
}

[data-screen="email-preferences"] .edit-modal-body-content {
    padding: 24px 20px 0 20px;
    flex: 1 1 auto;
    overflow-y: auto;
    min-height: 180px;
}

[data-screen="email-preferences"] .edit-modal-footer {
    position: sticky;
    bottom: 0;
    width: 100%;
    background: #fff;
    padding: 16px 20px;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.04);
    z-index: 10;
    border-radius: 0 0 6px 6px;
}

[data-screen="email-preferences"] .edit-modal-footer .modal-btn {
    flex: 1 1 0;
    min-width: 0;
    width: 100%;
    padding: 12px 0;
    font-size: 1.08em;
    border: none;
    border-radius: 4px;
    margin: 0;
    cursor: pointer;
    font-weight: 600;
    transition: background 0.15s;
    box-sizing: border-box;
}

[data-screen="email-preferences"] .edit-modal-footer .modal-btn-clear {
    background: #f5f5f5;
    color: #333;
}

[data-screen="email-preferences"] .edit-modal-footer .modal-btn-update {
    background: #ffc600;
    color: #111;
}

[data-screen="email-preferences"] .country-scope-options {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

[data-screen="email-preferences"] .country-scope-options label,
[data-screen="email-preferences"] .company-radio-row label {
    font-size: 18px !important;
    font-weight: 300 !important;
    margin: 0 !important;
    vertical-align: middle !important;
    line-height: 1.2 !important;
}

[data-screen="email-preferences"] #locationsTreeViewContainer {
    padding-left: 10px;
}

[data-screen="email-preferences"] #sectorsTreeViewContainer {
    padding-left: 10px;
}

[data-screen="email-preferences"] h4 {
    font-family: "EB Garamond", Georgia, serif;
    font-size: 1.25em;
    font-weight: 700;
}

[data-screen="email-preferences"] .form-control {
    font-size: 15px;
    height: auto;
    padding: 6px 8px;
}

/* ActivistProfile.aspx — title + filing-type radios share container left edge.
   Legacy floats put radios beside the title (300px + 700px); when that wraps
   (or portal content is narrower), the radio row was indented by float/padding.
   Stack under the title so both align to the same left gutter. */
div.filing-type-select-container::after {
    content: "";
    display: table;
    clear: both;
}

#section-activist-history div.filing-type-select-text,
#section-activist-history div.filing-type-select {
    float: none;
    width: auto;
}

#section-activist-history div.filing-type-select.form-wrapper {
    margin-top: 5px;
}

#section-activist-history div.filing-type-select .checkbox-group td.checkbox-item {
    padding-left: 0;
}

#section-activist-history div.filing-type-select .checkbox-group td.checkbox-item + td.checkbox-item {
    padding-left: 10px;
}

/* AdvisorList.aspx — section type titles (Investment Banks, etc.) always yellow.
   `style.css` only sets `.panel-default > .panel-heading a:hover h3`; globals.css
   parity rule is in @layer portal and loses to this unlayered sheet. */
.activist-profile-list #main-panel .panel-heading[data-region^="advisors.directory."] h3,
.activist-profile-list #main-panel .panel-heading[data-region^="advisors.directory."] a h3,
.activist-profile-list #main-panel .panel-heading[data-region^="advisors.directory."] a:hover h3,
.activist-profile-list #main-panel .panel-heading[data-region^="advisors.directory."] a:focus h3,
.activist-profile-list #main-panel .panel-heading[data-region^="advisors.directory."] a:visited h3 {
    color: #ffc600;
}

.activist-profile-list #main-panel .panel-heading[data-region^="advisors.directory."] a:hover:after,
.activist-profile-list #main-panel .panel-heading[data-region^="advisors.directory."] a:focus:after {
    color: #ffc600;
}

/* UsersList.aspx — verbatim from legacy `StyleSheetScreen.css`. */
.leftBox {
    padding: 8px;
    margin: 0 10px 10px 10px;
    border: none;
    background-color: #eeeeee;
    line-height: 20px;
    color: #333333;
}

.leftBox div {
    margin: 3px;
    font-size: 18px;
    color: #2a3333;
}

.leftBox a {
    font-size: 12px;
    text-decoration: none;
}

.leftBox a:hover {
    text-decoration: underline;
}

.leftBox ul {
    list-style-type: square;
    list-style-position: inside;
    padding: 0;
    margin: 0;
}

.admin-users-list .leftBox div,
.admin-users-activity .leftBox div {
    margin: 3px;
    font-size: 18px;
    color: #2a3333;
}

/*
 * StyleSheetScreen pinned leftBox links to 12px (same as its 12px body).
 * Under SiteMain/LegacyShell (62.5% root, body 1.6rem), that absolute px is
 * too small — inherit body size. Activity keeps the old pin below.
 */
.admin-users-list .leftBox a {
    font-size: inherit;
    text-decoration: none;
}

.admin-users-activity .leftBox a {
    font-size: 12px;
    text-decoration: none;
}

.admin-users-activity .leftBox select.admin-users-activity-period {
    display: inline-block;
    width: 200px;
    max-width: 100%;
    margin-top: 4px;
    border: 1px solid #ccc;
    background-color: #fff;
}

.midBox {
    padding: 10px 0 10px 10px;
    margin: 0;
    border-style: none;
    font-size: 13px;
}

.title1 {
    padding: 5px;
    margin: auto;
    font-size: 18px;
    color: #ffffff;
    text-align: left;
    background-color: #1897b2;
}

.table1 {
    border-collapse: collapse;
    background-color: #ffffff;
    width: 100%;
}

.table1 td {
    padding: 6px;
    border: solid 1px #ece9d8;
}

.table1 th {
    padding: 6px;
    border: solid 1px #c1c1c1;
    font-weight: bold;
    border-collapse: collapse;
    text-align: center;
    background: #666666;
    color: #ffffff;
    text-decoration: none;
}

.admin-users-list .legacy-section-header {
    font-size: 20px;
    font-weight: 400;
    color: #ffffff;
    padding: 5px;
    margin: 0;
    background-color: #808080;
}

/* UsersList.aspx — undo global `style.css` table/link defaults inside this screen. */
.admin-users-list .title1 {
    margin: 0;
    padding: 5px;
    font-size: 13px;
    font-weight: 400;
    font-family: Arial, Helvetica, sans-serif;
    color: #333333;
    background-color: transparent;
}

.admin-users-list .leftBox ul li {
    margin-bottom: 0;
    list-style-type: square;
    list-style-position: inside;
}

.admin-users-list .leftBox a,
.admin-users-list .leftBox a:hover,
.admin-users-list .leftBox a:focus {
    /* Beat global `.leftBox a { font-size: 12px }` under 62.5% root. */
    font-size: inherit;
    font-weight: 700;
    color: #333333;
}

.admin-users-list .leftBox a:hover,
.admin-users-list .leftBox a:focus {
    text-decoration: underline;
}

.admin-users-list .midBox[data-region="admin.users.search"] {
    padding-bottom: 0;
}

.admin-users-list .midBox[data-region="admin.users.search"] + .midBox {
    padding-top: 0;
}

/*
 * UsersList.aspx search midBox — plain `<table>` (style.css card chrome).
 * Only restore asp:Button Search look vs Tailwind preflight.
 */
.admin-users-list .midBox[data-region="admin.users.search"] table td {
    vertical-align: middle;
}

.admin-users-list .admin-users-search-btn {
    display: inline-block;
    margin: 0;
    padding: 1px 8px;
    border: 1px solid #767676;
    border-radius: 2px;
    background-color: #f0f0f0;
    color: #000000;
    font: inherit;
    font-size: inherit;
    line-height: normal;
    cursor: pointer;
    box-shadow: none;
    -webkit-appearance: button;
    appearance: auto;
}

.admin-users-list .admin-users-search-btn:hover,
.admin-users-list .admin-users-search-btn:focus {
    background-color: #e5e5e5;
}

/* Do not set px font-size here — under LegacyShell 62.5% root, legacy
 * style.css `table { font-size: 1.4rem }` (~14px) must win. */
.admin-users-list table.table1.users-list-grid {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #d1d1d1;
    font-family: Arial, Helvetica, sans-serif;
    color: #333333;
    background-color: #ffffff;
}

/*
 * SortableTh ships Tailwind padding/hover for modern grids — restyle for
 * GridView1 / table1 header links (white text, centered, sort glyph).
 */
.admin-users-list table.table1.users-list-grid thead th {
    padding: 6px !important;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    height: 30px;
    background-color: #666666;
    border: 1px solid #ece9d8;
    overflow: visible;
}

.admin-users-list table.table1.users-list-grid thead th > div {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
}

.admin-users-list table.table1.users-list-grid thead th button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    color: #ffffff;
    font: inherit;
    font-weight: bold;
    text-decoration: underline;
    cursor: pointer;
    box-shadow: none;
    border-radius: 0;
}

.admin-users-list table.table1.users-list-grid thead th button:hover,
.admin-users-list table.table1.users-list-grid thead th button:focus {
    color: #ffffff;
    text-decoration: none;
}

.admin-users-list table.table1.users-list-grid thead th button svg {
    color: #ffffff;
    opacity: 1;
}

.admin-users-list table.table1.users-list-grid tbody td {
    padding: 6px;
    color: #171717;
    border: 1px solid #d1d1d1;
    vertical-align: middle;
}

.admin-users-list table.table1.users-list-grid tbody tr {
    background-color: #ffffff;
    color: #333333;
}

.admin-users-list table.table1.users-list-grid a {
    /* Same as table body — style.css `table { font-size: 1.4rem }` (~14px). */
    font-size: inherit;
    font-weight: 400;
    color: #171717;
    text-decoration: underline;
}

.admin-users-list table.table1.users-list-grid a:hover,
.admin-users-list table.table1.users-list-grid a:focus {
    color: #171717;
    text-decoration: none;
}

/*
 * UsersActivity.aspx — inline page <style> + GridView SkinID GridView1
 * (App_Themes/Skin1/GridView.skin).
 */
.admin-users-activity table.users-activity-grid {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    font-family: Arial, Helvetica, sans-serif;
    color: #333333;
}

.admin-users-activity table.users-activity-grid tbody th,
.admin-users-activity table.users-activity-grid tbody td {
    color: #171717;
    border: 1px solid #d1d1d1;
}

.admin-users-activity table.users-activity-grid thead th {
    padding: 6px;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    height: 30px;
    background-color: #666666;
    border: 1px solid #ece9d8;
}

.admin-users-activity table.users-activity-grid tbody td {
    padding: 6px;
}

.admin-users-activity table.users-activity-grid tbody tr {
    background-color: #f7f6f3;
    color: #333333;
}

.admin-users-activity table.users-activity-grid tbody tr.alt {
    background-color: #ffffff;
    color: #284775;
}

/*
 * Category-link tabs (StandstillAgreement.aspx, ActivismVulnerability.aspx,
 * MediaCenter.aspx, WeeklyReports.aspx, ViewsAndCommentary.aspx). Loaded after
 * style.css so these win over portal-layer / Tailwind resets.
 *
 * Legacy `style.css` only tints inactive tabs inside `.page-header` (#f1f1f1);
 * tabs in `.content` / on `bg-pattern` kept `background: white` with no border,
 * so they disappear on the textured main band. These rules apply everywhere.
 */
.category-buttons {
    margin-top: 30px;
}

@media (min-width: 368px) {
    .category-buttons .nav-dropdown-list.collapse,
    .category-buttons .nav-dropdown-list.collapse.in,
    .category-buttons .nav-dropdown-list {
        display: block !important;
        height: auto !important;
        visibility: visible !important;
    }
}

/* StandstillAgreement.aspx — Tailwind `collapse` utility vs category tabs. */
[data-region="standstills.header"] .nav-dropdown-list,
[data-region="standstills.header"] .category-buttons .nav-dropdown-list.collapse,
[data-region="standstills.header"] .category-buttons .nav-dropdown-list.collapse.in {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
}

[data-region="standstills.header"].page-header.shadow-drop {
    overflow: visible;
}

.category-buttons .category-links {
    margin: 0 0 -20px;
    padding: 0;
    list-style: none;
}

.category-buttons .category-links li {
    display: inline-block;
    margin-bottom: 20px;
}

.category-buttons .category-links li:not(:last-of-type) {
    margin-right: 15px;
}

.category-buttons .category-links a {
    cursor: pointer;
    color: #171717 !important;
    display: inline-block;
    padding: 15px 25px;
    font-family: Roboto, sans-serif;
    font-size: 2rem;
    line-height: 1;
    font-weight: 300;
    background: #ffffff;
    border: 1px solid #d1d1d1;
    border-radius: 0;
    box-shadow: none;
    text-decoration: none;
}

.category-buttons .category-links li.active a,
.category-buttons .category-links li.active a:hover,
.category-buttons .category-links li.active a:focus {
    pointer-events: none;
    color: #171717 !important;
    background: #ffc600;
    border-color: #ffc600;
}

.category-buttons .category-links a:hover,
.category-buttons .category-links a:focus {
    color: #ffffff !important;
    background: #171717;
    border-color: #171717;
}

/* White page-header band — legacy flat grey inactive tabs, no visible border. */
.page-header .category-buttons .category-links li:not(.active) a:not(:hover):not(:focus) {
    background: #f1f1f1;
    border-color: #f1f1f1;
}

/* Header scope toggle — explicit inactive fill (master-inline omits default bg). */
.global-header .toggleButton:not(.selectedToggleButton):not(.inactiveToggleButton) {
    background-color: #ffffff;
    color: #797979;
}

/* Shared legacy accordion search panels (Standstills, Campaigns, Letters, Director Analysis, …) */
.widget.accordion-widget .panel-default > .panel-collapse > .box {
    background: #ffffff;
    border: 1px solid #d1d1d1;
    padding: 25px 30px;
    margin-bottom: 20px;
}

/*
 * `.box` pattern (Standstills/Letters): panel stays transparent; white comes from `.box`.
 * `panel-heading` + `panel-body` pattern (Campaigns / Activist Search): whole panel is white
 * like legacy `style.css` `.panel { background: white }` — do not leave transparent or the
 * hatched page background shows through.
 */
.widget.accordion-widget .panel-default {
    border: none;
    box-shadow: none;
    background: transparent;
}

.widget.accordion-widget .panel-default:has(> .panel-heading) {
    background: #ffffff;
    box-shadow: 3px 3px 7px 0px rgba(0, 0, 0, 0.1);
}

.widget.accordion-widget .panel-default > .panel-collapse > .panel-body {
    background: #ffffff;
}

/* Legacy `a.btn2` yellow-gold border — portal uses <button class="btn2"> too. */
button.btn2,
.btn.btn2 {
    border: 2px solid #ffc600;
}

.search-results-header .list-parameters.flex-wrap li {
    margin-right: 24px;
    margin-bottom: 8px;
}

/*
 * Admin Legacy Route Dictionary — mirrors UsersList / UsersActivity chrome
 * (.admin-users-list, .admin-users-activity).
 */
.admin-legacy-route-map .title1 {
    margin: 0;
    padding: 5px;
    font-size: 13px;
    font-weight: 400;
    font-family: Arial, Helvetica, sans-serif;
    color: #333333;
    background-color: transparent;
}

.admin-legacy-route-map .midBox {
    font-size: 13px;
    font-family: Arial, Helvetica, sans-serif;
    color: #333333;
}

.admin-legacy-route-map .legacy-route-map-intro,
.admin-legacy-route-map .legacy-route-map-counts {
    margin: 0 0 10px;
    font-size: 13px;
    color: #333333;
}

.admin-legacy-route-map .legacy-route-map-intro a,
.admin-legacy-route-map table.table1.legacy-route-map-grid a {
    color: #171717;
    text-decoration: underline;
}

.admin-legacy-route-map .legacy-route-map-intro a:hover,
.admin-legacy-route-map .legacy-route-map-intro a:focus,
.admin-legacy-route-map table.table1.legacy-route-map-grid a:hover,
.admin-legacy-route-map table.table1.legacy-route-map-grid a:focus {
    color: #171717;
    text-decoration: none;
}

.admin-legacy-route-map .legacy-route-map-filters {
    margin-top: 8px;
}

.admin-legacy-route-map .legacy-route-map-filter-btn {
    margin: 0 6px 6px 0;
    padding: 4px 10px;
    font-size: 12px;
    font-family: Arial, Helvetica, sans-serif;
    color: #333333;
    background-color: #ffffff;
    border: 1px solid #c1c1c1;
    cursor: pointer;
}

.admin-legacy-route-map .legacy-route-map-filter-btn.is-active {
    font-weight: 700;
    background-color: #ece9d8;
    border-color: #666666;
}

.admin-legacy-route-map .legacy-section-header {
    font-size: 20px;
    font-weight: 400;
    color: #ffffff;
    padding: 5px;
    margin: 0;
    background-color: #808080;
}

.admin-legacy-route-map table.table1.legacy-route-map-grid {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #d1d1d1;
    font-size: 12px;
    font-family: Arial, Helvetica, sans-serif;
    color: #333333;
    background-color: #ffffff;
}

.admin-legacy-route-map table.table1.legacy-route-map-grid thead th {
    padding: 6px;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    height: 30px;
    background-color: #666666;
    border: 1px solid #ece9d8;
}

.admin-legacy-route-map table.table1.legacy-route-map-grid tbody td {
    padding: 6px;
    color: #171717;
    border: 1px solid #d1d1d1;
    vertical-align: top;
    background-color: #ffffff;
}

.admin-legacy-route-map table.table1.legacy-route-map-grid tbody tr {
    background-color: #ffffff;
    color: #333333;
}

.admin-legacy-route-map .legacy-route-map-code {
    font-family: "Courier New", Courier, monospace;
    font-size: 11px;
    color: #171717;
    background-color: #f5f5f5;
    padding: 1px 4px;
}

.admin-legacy-route-map .legacy-route-map-status {
    display: inline-block;
    padding: 2px 6px;
    font-size: 11px;
    font-weight: 700;
    border: 1px solid #c1c1c1;
    color: #171717;
}

.admin-legacy-route-map .legacy-route-map-status--mapped {
    background-color: #d4edda;
    border-color: #28a745;
}

.admin-legacy-route-map .legacy-route-map-status--helper {
    background-color: #d1ecf1;
    border-color: #17a2b8;
}

.admin-legacy-route-map .legacy-route-map-status--sunset {
    background-color: #e9ecef;
    border-color: #6c757d;
}

.admin-legacy-route-map .legacy-route-map-status--missing {
    background-color: #fff3cd;
    border-color: #ffc107;
}

.admin-legacy-route-map .legacy-route-map-query-flag {
    display: inline-block;
    padding: 2px 6px;
    font-size: 11px;
    font-weight: 700;
    color: #171717;
    background-color: #d1ecf1;
    border: 1px solid #17a2b8;
}
