﻿/* ---------------------------------------------------
   TOPICs redesign 
----------------------------------------------------- */

:root {
    --tc-navy: #13285a;
    --tc-navy-dark: #0c1a3e;
    --tc-blue: #1f4e9c;
    --tc-blue-dark: #163a78;
    --tc-red: #b3122b;
    --tc-red-accent: #e0445a;
    --tc-text: #1a2233;
    --tc-muted: #4a5568;
    --tc-border: #d8dee8;
    --tc-input-border: #6b7688;
    --tc-bg: #f4f6fa;
    --tc-hero: #e9f0f9;
    --tc-badge-bg: #e4ebf6;
    --tc-focus: #ffbf47;
    --tc-serif: "Source Serif Pro", "Source Serif 4", Georgia, "Times New Roman", serif;
    --tc-sans: "Nunito Sans", "Segoe UI", Roboto, Arial, sans-serif;
}

/* ---------- Base ---------- */
body.tc-body {
    background-color: var(--tc-bg) !important;
    color: var(--tc-text);
    font-family: var(--tc-sans);
    font-size: 1rem;
    line-height: 1.5;
}

.tc-body a {
    color: var(--tc-blue);
}

    .tc-body a:hover {
        color: var(--tc-blue-dark);
    }

    .tc-body a:focus,
    .tc-body button:focus,
    .tc-body input:focus,
    .tc-body select:focus,
    .tc-body [tabindex]:focus {
        outline: 3px solid var(--tc-blue);
        outline-offset: 2px;
        box-shadow: none;
    }

.tc-body #main-content:focus,
.tc-body #footer:focus {
    outline: none;
}

/* ---------- Header ---------- */
.tc-header {
    background-color: var(--tc-navy);
}

    .tc-header .navbar {
        padding-top: .75rem;
        padding-bottom: .75rem;
    }

.tc-brand {
    display: flex;
    align-items: center;
    color: #fff;
    text-decoration: none;
    white-space: normal;
}

    .tc-brand:hover {
        color: #fff;
        text-decoration: none;
    }

.tc-brand__seal {
    flex: 0 0 auto;
    border-radius: 50%;
    background-color: #fff;
    padding: 2px;
}

.tc-brand__text {
    display: flex;
    flex-direction: column;
    margin-left: .875rem;
    padding-left: .875rem;
    border-left: 1px solid rgba(255, 255, 255, .5);
    line-height: 1.15;
}

.tc-brand__name {
    font-family: var(--tc-serif);
    font-size: 1.625rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: #fff;
}

.tc-brand__sub {
    margin-top: .25rem;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #fff;
}

.tc-header .navbar-toggler {
    border-color: rgba(255, 255, 255, .7);
}

.tc-header a:focus,
.tc-header button:focus,
.tc-footer a:focus,
.tc-footer:focus-within a:focus {
    outline: 3px solid var(--tc-focus);
    outline-offset: 2px;
}

.tc-nav .nav-link {
    position: relative;
    color: #fff !important;
    font-weight: 700;
    font-size: .9375rem;
    padding: .75rem .75rem;
}

    .tc-nav .nav-link:hover {
        text-decoration: underline;
    }

    .tc-nav .nav-link.active::after {
        content: "";
        position: absolute;
        left: .75rem;
        right: .75rem;
        bottom: 0;
        height: 3px;
        background-color: var(--tc-red-accent);
    }

/* ---------- Page hero ---------- */
.tc-page-hero {
    background: linear-gradient(180deg, var(--tc-hero) 0%, #f3f6fb 100%);
    border-bottom: 1px solid var(--tc-border);
    padding: 2.25rem 0 2.5rem;
}

.tc-page-hero__inner {
    display: flex;
    align-items: flex-start;
}

.tc-page-title {
    font-family: var(--tc-serif);
    font-weight: 700;
    font-size: 2.0rem;
    line-height: 1.15;
    color: var(--tc-navy-dark);
    margin: 0 0 .5rem;
}

.tc-page-lead {
    max-width: 44rem;
    font-size: 1.0625rem;
    color: var(--tc-muted);
    margin: 0;
}

.tc-icon-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: var(--tc-blue);
    color: #fff;
    font-size: 1.125rem;
}

.tc-icon-circle--lg {
    width: 4rem;
    height: 4rem;
    font-size: 1.75rem;
    margin-right: 1.25rem;
}

.tc-page-body {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
}

/* ---------- Sections ---------- */
.tc-section {
    margin-bottom: 1.25rem;
}

.tc-section-title {
    font-family: var(--tc-serif);
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.25;
    color: var(--tc-navy-dark);
    margin-bottom: .25rem;
}

.tc-section-lead {
    color: var(--tc-muted);
    margin-bottom: 1rem;
}

/* ---------- Three ways ---------- */
.tc-way {
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border: 1px solid var(--tc-border);
    border-radius: 4px;
    padding: 1.25rem;
}

.tc-way--current {
    border: 2px solid var(--tc-blue);
    padding: calc(1.25rem - 1px);
}

.tc-way:focus-within {
    border-color: var(--tc-blue);
}

.tc-way__head {
    display: flex;
    align-items: center;
    margin-bottom: .75rem;
}

.tc-way__title {
    font-family: var(--tc-serif);
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--tc-navy-dark);
    margin: 0 0 0 .75rem;
    line-height: 1.3;
}

.tc-way__text {
    color: var(--tc-muted);
    font-size: .9375rem;
    margin-bottom: .75rem;
    flex: 1 1 auto;
}

.tc-pill {
    align-self: flex-start;
    background-color: var(--tc-blue);
    color: #fff;
    font-size: .8125rem;
    font-weight: 700;
    border-radius: 999px;
    padding: .2rem .75rem;
}

.tc-link-arrow {
    align-self: flex-start;
    font-weight: 700;
    color: var(--tc-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

    .tc-link-arrow .fa {
        margin-left: .25rem;
        text-decoration: none;
    }

/* ---------- Filter card ---------- */
.tc-card {
    background-color: #fff;
    border: 1px solid var(--tc-border);
    border-radius: 4px;
    padding: 1.5rem 1.75rem;
    margin-bottom: 2rem;
}

.tc-card-title {
    font-family: var(--tc-serif);
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--tc-navy-dark);
    line-height: 1.25;
}

.tc-filter__header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.tc-filter__hint {
    color: var(--tc-muted);
    font-size: .875rem;
    margin-top: .25rem;
}

.tc-label {
    font-weight: 700;
    color: var(--tc-text);
    margin-bottom: .375rem;
}

.tc-body .tc-input {
    height: calc(1.5em + 1.25rem + 2px);
    padding: .625rem .875rem;
    font-size: 1rem;
    color: var(--tc-text);
    border: 1px solid var(--tc-input-border);
    border-radius: 2px;
}

    .tc-body .tc-input::placeholder {
        color: #6b7280;
        opacity: 1;
    }

    .tc-body .tc-input:hover {
        border-color: var(--tc-navy);
    }

    .tc-body .tc-input:focus {
        border-color: var(--tc-blue);
        outline: 3px solid var(--tc-blue);
        outline-offset: 0;
    }

.tc-filter__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--tc-border);
    padding-top: 1rem;
    margin-top: .25rem;
}

.tc-abbr-list {
    display: flex;
    flex-wrap: wrap;
}

.tc-abbr-list__item {
    display: flex;
    align-items: center;
    margin: .25rem 1.5rem .25rem 0;
}

    .tc-abbr-list__item dt {
        margin-right: .5rem;
        font-weight: normal;
    }

    .tc-abbr-list__item dd {
        margin: 0;
        color: var(--tc-muted);
        font-size: .875rem;
    }

.tc-badge {
    display: inline-block;
    background-color: var(--tc-badge-bg);
    color: var(--tc-navy-dark);
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 999px;
    padding: .25rem .625rem;
    text-decoration: none;
    border-bottom: 0;
}

abbr.tc-badge[title] {
    text-decoration: none;
    cursor: help;
}

.tc-btn-outline {
    color: var(--tc-navy) !important;
    background-color: #fff;
    border: 2px solid var(--tc-navy);
    border-radius: 2px;
    font-weight: 700;
    font-size: .9375rem;
    padding: .5rem 1rem;
    margin: .25rem 0;
}

    .tc-btn-outline:hover {
        color: #fff !important;
        background-color: var(--tc-navy);
    }

/* ---------- Results table ---------- */
.tc-mobile-hint {
    color: var(--tc-muted);
    font-size: .875rem;
}

    .tc-mobile-hint .fa {
        color: var(--tc-blue);
    }

.tc-table-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .75rem;
}

    .tc-table-toolbar .dataTables_info {
        padding-top: 0 !important;
        color: var(--tc-muted);
        font-size: .9375rem;
        white-space: normal !important;
    }

        .tc-table-toolbar .dataTables_info strong {
            color: var(--tc-text);
        }

    .tc-table-toolbar .dataTables_length label {
        display: flex;
        align-items: center;
        margin: 0;
        color: var(--tc-muted);
        font-size: .9375rem;
        font-weight: normal;
    }

    .tc-table-toolbar .dataTables_length select {
        margin-left: .5rem;
        width: auto;
        height: 2.5rem;
        border: 1px solid var(--tc-input-border);
        border-radius: 2px;
        color: var(--tc-text);
    }

.tc-table-wrap {
    position: relative;
    background-color: #fff;
    border: 1px solid var(--tc-border);
    border-radius: 4px;
    overflow: hidden;
}

.tc-body table.tc-table {
    margin: 0 !important;
    border-collapse: collapse !important;
    border: 0;
}

    .tc-body table.tc-table thead th {
        background-color: #eef2f8;
        color: var(--tc-text);
        font-size: .9375rem;
        font-weight: 700;
        border-top: 0;
        border-bottom: 2px solid var(--tc-navy) !important;
        padding: .875rem 1.25rem;
        vertical-align: middle;
    }

    .tc-body table.tc-table tbody td {
        padding: .875rem 1.25rem;
        border-top: 1px solid var(--tc-border);
        vertical-align: middle;
        font-size: .9375rem;
    }

    .tc-body table.tc-table tbody tr {
        background-color: #fff;
    }

        .tc-body table.tc-table tbody tr:hover {
            background-color: #f0f5fc;
        }

    .tc-body table.tc-table .tc-col-court {
        font-weight: 700;
        color: var(--tc-text);
    }

    .tc-body table.tc-table .tc-col-muted {
        color: var(--tc-muted);
    }

    .tc-body table.tc-table td.dataTables_empty {
        padding: 2rem 1.25rem;
        text-align: center;
        color: var(--tc-muted);
    }

/* Responsive child-row control */
.tc-body table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before,
.tc-body table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before,
.tc-body table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > td:first-child:before {
    background-color: var(--tc-blue);
    box-shadow: none;
    border: 2px solid #fff;
}

.tc-body table.dataTable > tbody > tr.child ul.dtr-details > li {
    border-bottom: 1px solid var(--tc-border);
    padding: .5rem 0;
}

.tc-body table.dataTable > tbody > tr.child span.dtr-title {
    font-weight: 700;
    min-width: 7rem;
}

.dataTables_wrapper .dataTables_processing {
    background-color: var(--tc-navy) !important;
    color: #fff;
    border-radius: 4px;
    padding: .75rem 1rem !important;
    height: auto !important;
    margin-top: 0 !important;
}

/* Pagination */
.tc-table-pager {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
}

    .tc-table-pager .pagination {
        flex-wrap: wrap;
        margin: 0 !important;
    }

    .tc-table-pager .page-link {
        min-width: 2.75rem;
        min-height: 2.75rem;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 2px !important;
        background: transparent;
        color: var(--tc-navy);
        font-weight: 700;
        margin: 0 .125rem;
    }

        .tc-table-pager .page-link:hover {
            background-color: var(--tc-badge-bg);
            color: var(--tc-navy-dark);
        }

    .tc-table-pager .page-item.active .page-link {
        background-color: var(--tc-navy);
        color: #fff;
    }

    .tc-table-pager .page-item.disabled .page-link {
        color: #5f6b7d;
        background: transparent;
    }

/* ---------- Quick exit ---------- */
.tc-body #safe-close.tc-quick-exit {
    position: fixed;
    top: 50%;
    bottom: auto;
    right: 1rem;
    z-index: 1040;
    display: inline-flex;
    align-items: center;
    background-color: var(--tc-red);
    color: #fff;
    border: 2px solid #fff;
    border-radius: 999px;
    font-weight: 700;
    font-size: 1rem;
    padding: .5rem 1rem;
    box-shadow: 0 4px 12px rgba(12, 26, 62, .3);
}

    .tc-body #safe-close.tc-quick-exit:hover {
        background-color: #8f0e22;
    }

    .tc-body #safe-close.tc-quick-exit:focus {
        outline: 3px solid var(--tc-focus);
        outline-offset: 2px;
    }

    .tc-body #safe-close.tc-quick-exit .fa {
        margin-right: .5rem;
    }

.tc-quick-exit__key {
    margin-left: .5rem;
    background-color: rgba(255, 255, 255, .25);
    color: #fff;
    font-family: var(--tc-sans);
    font-size: .75rem;
    font-weight: 700;
    padding: .125rem .375rem;
    border-radius: 3px;
}

/* ---------- Footer ---------- */
.tc-footer {
    background-color: var(--tc-navy-dark);
    color: #fff;
    padding-top: 3rem;
    margin-top: 0;
}

    .tc-footer p {
        color: #fff;
        font-size: .9375rem;
    }

    .tc-footer a {
        color: #fff !important;
        text-decoration: underline;
        text-underline-offset: 3px;
    }

        .tc-footer a:hover {
            text-decoration-thickness: 2px;
        }

    .tc-footer .tc-brand {
        text-decoration: none;
    }

    .tc-footer .tc-brand__name {
        font-size: 1.25rem;
    }

.tc-footer__title {
    font-family: var(--tc-sans);
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.4;
    margin-bottom: .75rem;
}

.tc-footer__links li {
    margin-bottom: .5rem;
}

.tc-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, .2);
    padding: 1rem 0;
    margin-top: 1rem;
}

/* ---------- Responsive ---------- */
@media (max-width: 991.98px) {
    .tc-nav {
        padding-top: .5rem;
        border-top: 1px solid rgba(255, 255, 255, .2);
        margin-top: .75rem;
    }

        .tc-nav .nav-link.active::after {
            left: 0;
            right: auto;
            top: .5rem;
            bottom: .5rem;
            width: 4px;
            height: auto;
        }

        .tc-nav .nav-link {
            padding-left: 1rem;
        }

    .tc-page-title {
        font-size: 2rem;
    }
}

@media (max-width: 767.98px) {
    .tc-page-hero {
        padding: 1.5rem 0;
    }

    .tc-icon-circle--lg {
        width: 3rem;
        height: 3rem;
        font-size: 1.25rem;
        margin-right: .875rem;
    }

    .tc-card {
        padding: 1.25rem 1rem;
    }

    .tc-table-pager {
        justify-content: center;
    }

    .tc-body table.tc-table thead th,
    .tc-body table.tc-table tbody td {
        padding: .75rem;
    }

    .tc-body #safe-close.tc-quick-exit {
        top: auto;
        bottom: 1rem;
    }
}

@media (max-width: 575.98px) {
    .tc-brand__name {
        font-size: 1.25rem;
    }

    .tc-brand__sub {
        font-size: .625rem;
    }

    .tc-brand__seal {
        width: 40px;
        height: 40px;
    }

    .tc-page-title {
        font-size: 1.625rem;
    }

    .tc-filter__footer .tc-btn-outline {
        width: 100%;
        margin-top: .75rem;
    }

    .tc-table-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

        .tc-table-toolbar .dataTables_length {
            margin-top: .5rem;
        }

    .tc-quick-exit__key {
        display: none;
    }
}

/* ---------- Preferences ---------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important;
    }
}

@media (forced-colors: active) {
    .tc-badge,
    .tc-pill,
    .tc-body #safe-close.tc-quick-exit,
    .tc-table-pager .page-item.active .page-link {
        border: 1px solid CanvasText;
    }
}

/* ---------- Document text search ---------- */
.tc-search-group {
    max-width: 44rem;
    flex-wrap: nowrap;
}

    .tc-search-group .tc-input {
        height: 3rem;
        padding: .625rem .875rem;
        font-size: 1rem;
        color: #1a2233;
        border: 1px solid #6b7688;
        border-right: 0;
        border-radius: 2px 0 0 2px;
    }

        .tc-search-group .tc-input:focus {
            position: relative;
            z-index: 3;
            border-color: #1f4e9c;
            outline: 3px solid #1f4e9c;
            outline-offset: 0;
            box-shadow: none;
        }

        .tc-search-group .tc-input.is-invalid {
            border: 2px solid #b3122b;
            background-image: none;
            padding-right: .875rem;
        }

.tc-body .btn.tc-search-btn {
    display: inline-flex;
    align-items: center;
    height: 3rem;
    padding: 0 1.5rem;
    color: #fff;
    background-color: #1f4e9c;
    border: 2px solid #1f4e9c;
    border-radius: 0 2px 2px 0;
    font-size: 1rem;
    font-weight: 700;
    white-space: nowrap;
    box-shadow: none;
}

    .tc-body .btn.tc-search-btn .fa {
        margin-right: .5rem;
    }

    .tc-body .btn.tc-search-btn:hover,
    .tc-body .btn.tc-search-btn:not(:disabled):not(.disabled):active {
        color: #fff;
        background-color: #163a78;
        border-color: #163a78;
    }

    .tc-body .btn.tc-search-btn:focus {
        position: relative;
        z-index: 3;
        box-shadow: none;
        outline: 3px solid #ffbf47;
        outline-offset: 2px;
    }

.tc-required {
    font-weight: normal;
    color: #4a5568;
    font-size: .875rem;
}

.tc-field-error {
    color: #b3122b;
    font-weight: 700;
    font-size: .9375rem;
    margin-top: .5rem;
}

    .tc-field-error:empty {
        margin-top: 0;
    }

.tc-btn-primary {
    color: #fff !important;
    background-color: #1f4e9c;
    border: 2px solid #1f4e9c;
    border-radius: 2px;
    font-weight: 700;
    font-size: .9375rem;
    padding: .5rem 1.25rem;
    margin: .25rem 0;
}

    .tc-btn-primary:hover {
        background-color: #163a78;
        border-color: #163a78;
    }

.tc-btn-group .btn + .btn {
    margin-left: .5rem;
}

.tc-results-summary {
    margin-bottom: 1rem;
    word-break: break-word;
}

    .tc-results-summary:focus {
        outline: 3px solid #1f4e9c;
        outline-offset: 4px;
    }

[hidden] {
    display: none !important;
}

@media (max-width: 575.98px) {
    .tc-body .btn.tc-search-btn {
        padding: 0 1rem;
    }

    .tc-search-btn__text {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }

    .tc-body .btn.tc-search-btn .fa {
        margin-right: 0;
    }

    .tc-btn-group {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin-top: .75rem;
    }

        .tc-btn-group .btn {
            width: 100%;
            margin: .25rem 0 !important;
        }
}

/* ---------- Court documents details ---------- */
.tc-hero-meta {
    color: var(--tc-blue);
    font-size: .9375rem;
    font-weight: 700;
}

.tc-hero-meta__sep {
    margin: 0 .5rem;
    color: var(--tc-muted);
    font-weight: normal;
}

.tc-details-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.tc-back-link {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    font-weight: 700;
    color: var(--tc-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

    .tc-back-link .fa {
        margin-right: .5rem;
        text-decoration: none;
    }

.tc-docs {
    padding-bottom: 1.25rem;
}

.tc-docs__header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.tc-docs__count {
    color: var(--tc-muted);
    font-size: 1rem;
    margin-top: .25rem;
}

.tc-docs__tz {
    display: flex;
    align-items: center;
    color: var(--tc-muted);
    font-size: .875rem;
    margin-top: .5rem;
}

    .tc-docs__tz .fa {
        color: var(--tc-blue);
        font-size: 1rem;
        margin-right: .5rem;
    }

/* Tabs */
.tc-tabs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    border-bottom: 1px solid var(--tc-border);
    margin-bottom: 1rem;
    -webkit-overflow-scrolling: touch;
}

.tc-tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 2.75rem;
    padding: .625rem 1rem;
    background: transparent;
    border: 0;
    color: var(--tc-text);
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

    .tc-tab:hover .tc-tab__label {
        text-decoration: underline;
    }

    .tc-tab.is-active {
        color: var(--tc-navy-dark);
    }

        .tc-tab.is-active::after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: -1px;
            height: 3px;
            background-color: var(--tc-blue);
        }

    .tc-tab:not(.is-active) {
        color: var(--tc-muted);
        font-weight: 600;
    }

.tc-body .tc-tab:focus {
    outline: 3px solid var(--tc-blue);
    outline-offset: -3px;
}

.tc-tab__count {
    display: inline-block;
    min-width: 1.625rem;
    margin-left: .5rem;
    padding: .125rem .5rem;
    border-radius: 999px;
    background-color: var(--tc-badge-bg);
    color: var(--tc-navy-dark);
    font-size: .8125rem;
    text-align: center;
}

.tc-tab.is-active .tc-tab__count {
    background-color: var(--tc-blue);
    color: #fff;
}

/* Tools */
.tc-docs__panel:focus {
    outline: none;
}

.tc-docs__tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.tc-docs__find {
    position: relative;
    flex: 1 1 18rem;
    max-width: 28rem;
    margin: .25rem 1rem .25rem 0;
}

    .tc-docs__find .tc-input {
        padding-left: 2.5rem;
    }

.tc-docs__find-icon {
    position: absolute;
    top: 50%;
    left: .875rem;
    transform: translateY(-50%);
    color: var(--tc-muted);
    pointer-events: none;
    z-index: 4;
}

.tc-docs__sort {
    flex: 0 0 12.5rem;
    margin: .25rem 0;
}

/* Table */
.tc-doc-table {
    width: 100%;
    border-collapse: collapse;
}

    .tc-doc-table thead th {
        background-color: #eef2f8;
        color: var(--tc-text);
        font-size: .875rem;
        font-weight: 700;
        padding: .875rem 1rem;
        border-bottom: 2px solid var(--tc-navy);
        text-align: left;
        white-space: nowrap;
    }

    .tc-doc-table tbody td {
        padding: .875rem 1rem;
        border-bottom: 1px solid var(--tc-border);
        vertical-align: middle;
        font-size: .9375rem;
    }

    .tc-doc-table tbody tr.tc-doc-row:hover {
        background-color: #f7f9fc;
    }

.tc-doc-row__name {
    font-weight: 700;
    color: var(--tc-navy-dark);
}

    .tc-doc-row__name > span {
        word-break: break-word;
    }

.tc-doc-row__icon {
    color: var(--tc-blue);
    font-size: 1.25rem;
    margin-right: .75rem;
    vertical-align: -2px;
}

.tc-doc-row__action {
    white-space: nowrap;
}

.tc-badge--local-rules {
    background-color: #e4ebf6;
}

.tc-badge--forms {
    background-color: #e6f1ec;
    color: #154734;
}

.tc-badge--standing-orders {
    background-color: #f1ebf6;
    color: #3d2360;
}

.tc-body .btn.tc-btn-view {
    display: inline-flex;
    align-items: center;
    min-height: 2.5rem;
    padding: .375rem 1rem;
    color: var(--tc-blue);
    background-color: #fff;
    border: 2px solid var(--tc-blue);
    border-radius: 2px;
    font-weight: 700;
    font-size: .9375rem;
}

    .tc-body .btn.tc-btn-view .fa {
        margin-left: .5rem;
    }

    .tc-body .btn.tc-btn-view:hover {
        color: #fff;
        background-color: var(--tc-blue);
    }

.tc-doc-empty td {
    padding: 2.5rem 1rem;
    text-align: center;
    color: var(--tc-muted);
}

    .tc-doc-empty td .fa {
        display: block;
        font-size: 2rem;
        color: var(--tc-blue);
        margin-bottom: .5rem;
    }

.tc-docs__summary {
    color: var(--tc-muted);
    font-size: .9375rem;
    margin-top: 1rem;
}

/* Stacked rows on small screens */
@media (max-width: 767.98px) {
    .tc-details-actions .tc-btn-outline {
        margin-left: auto;
    }

    .tc-docs__find {
        max-width: none;
        margin-right: 0;
        flex-basis: 100%;
    }

    .tc-docs__sort {
        flex: 1 1 100%;
    }

    .tc-doc-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }

    .tc-doc-table,
    .tc-doc-table tbody,
    .tc-doc-table tr,
    .tc-doc-table td {
        display: block;
        width: 100%;
    }

        .tc-doc-table tr.tc-doc-row {
            border: 1px solid var(--tc-border);
            border-radius: 4px;
            padding: .75rem 1rem;
            margin-bottom: .75rem;
        }

        .tc-doc-table tr[hidden] {
            display: none;
        }

        .tc-doc-table tbody td {
            display: flex;
            align-items: center;
            border: 0;
            padding: .375rem 0;
        }

            .tc-doc-table tbody td[data-label]::before {
                content: attr(data-label);
                flex: 0 0 7.5rem;
                color: var(--tc-muted);
                font-size: .8125rem;
                font-weight: 700;
            }

            .tc-doc-table tbody td.tc-doc-row__name {
                font-size: 1rem;
                padding-bottom: .625rem;
                margin-bottom: .25rem;
                border-bottom: 1px solid var(--tc-border);
            }

                .tc-doc-table tbody td.tc-doc-row__name::before,
                .tc-doc-table tbody td.tc-doc-row__action::before {
                    display: none;
                }

            .tc-doc-table tbody td.tc-doc-row__action {
                padding-top: .625rem;
            }

    .tc-body .btn.tc-btn-view {
        width: 100%;
        justify-content: center;
    }

    .tc-doc-empty td {
        display: block !important;
    }
}

/* ---------- Document details ---------- */
.tc-min-w-0 {
    min-width: 0;
}

.tc-page-hero .tc-back-link {
    display: inline-flex;
}

.tc-hero-doc {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: .25rem;
}

    .tc-hero-doc .tc-pill {
        margin: .25rem .875rem .25rem 0;
    }

.tc-hero-doc__title {
    color: var(--tc-muted);
    font-size: 1.0625rem;
    word-break: break-word;
}

.tc-detail-wrap {
    width: 100%;
    max-width: 62rem;
}

.tc-detail-stack {
    width: 100%;
}

    .tc-detail-stack .tc-card {
        padding: 1.75rem 2rem;
        margin-bottom: 1.5rem;
    }

    .tc-detail-stack .tc-card-title {
        margin-bottom: 1rem;
    }

/* Document file row */
.tc-doc-file {
    display: flex;
    align-items: center;
    background-color: #f8fafc;
    border: 1px solid var(--tc-border);
    border-radius: 4px;
    padding: 1.25rem 1.5rem;
}

.tc-doc-file__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 4px;
    background-color: var(--tc-badge-bg);
    color: var(--tc-navy);
    font-size: 1.5rem;
    margin-right: 1.25rem;
}

.tc-doc-file__body {
    flex: 1 1 auto;
    min-width: 0;
    margin-right: 1.25rem;
}

.tc-doc-file__name {
    font-weight: 700;
    font-size: 1.125rem;
    color: var(--tc-navy-dark);
    line-height: 1.35;
    word-break: break-word;
}

.tc-doc-file__meta {
    color: var(--tc-muted);
    font-size: .9375rem;
    margin-top: .25rem;
}

.tc-doc-file__hint {
    color: var(--tc-muted);
    font-size: .875rem;
    margin-top: .75rem;
}

.tc-body .btn.tc-btn-open {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 3rem;
    padding: .5rem 1.5rem;
    color: #fff;
    background-color: var(--tc-navy);
    border: 2px solid var(--tc-navy);
    border-radius: 2px;
    font-size: 1rem;
    font-weight: 700;
    white-space: nowrap;
}

    .tc-body .btn.tc-btn-open .fa {
        margin-left: .625rem;
    }

    .tc-body .btn.tc-btn-open:hover {
        color: #fff;
        background-color: var(--tc-blue);
        border-color: var(--tc-blue);
    }

    .tc-body .btn.tc-btn-open:focus {
        outline: 3px solid var(--tc-focus);
        outline-offset: 2px;
        box-shadow: 0 0 0 5px var(--tc-navy);
    }

/* Definition list */
.tc-dl__row {
    display: flex;
    border-bottom: 1px solid var(--tc-border);
    padding: 1rem 0;
}

    .tc-dl__row:first-child {
        padding-top: .25rem;
    }

    .tc-dl__row:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .tc-dl__row dt {
        flex: 0 0 15rem;
        font-weight: 700;
        color: var(--tc-text);
        padding-right: 1.5rem;
    }

    .tc-dl__row dd {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        color: #2d3748;
        word-break: break-word;
    }

.tc-dl__note {
    color: var(--tc-muted);
    font-size: .875rem;
    margin-left: .25rem;
}

/* Associated court / region */
.tc-assoc {
    display: flex;
    align-items: flex-start;
}

.tc-assoc__icon {
    width: 3rem;
    height: 3rem;
    font-size: 1.25rem;
    margin-right: 1.25rem;
}

.tc-assoc__body {
    flex: 1 1 auto;
    min-width: 0;
}

.tc-assoc-groups .tc-assoc + .tc-assoc {
    border-top: 1px solid var(--tc-border);
    margin-top: 1.25rem;
    padding-top: 1.25rem;
}

.tc-assoc__eyebrow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: .125rem 0 .5rem;
    color: var(--tc-muted);
    font-family: var(--tc-sans);
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.4;
    text-transform: uppercase;
}

.tc-assoc__abbr {
    margin-left: .5rem;
    letter-spacing: 0;
}

.tc-assoc__courts {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tc-assoc__court {
    font-family: var(--tc-serif);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.35;
    color: var(--tc-navy-dark);
    padding: .5rem 0;
    border-bottom: 1px solid var(--tc-border);
    word-break: break-word;
}

    .tc-assoc__court:first-child {
        padding-top: 0;
    }

    .tc-assoc__court:last-child {
        border-bottom: 0;
        padding-bottom: 0;
    }

.tc-assoc-empty {
    color: var(--tc-muted);
}

.tc-detail-wrap .tc-details-actions--top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: none;
    margin-bottom: 1.5rem;
}

    .tc-detail-wrap .tc-details-actions--top .tc-btn-outline {
        margin-left: auto;
        margin-right: 0;
    }

@media (max-width: 767.98px) {
    .tc-detail-stack .tc-card {
        padding: 1.25rem 1rem;
    }

    .tc-doc-file {
        flex-wrap: wrap;
        padding: 1rem;
    }

    .tc-doc-file__icon {
        width: 2.75rem;
        height: 2.75rem;
        font-size: 1.25rem;
        margin-right: 1rem;
    }

    .tc-doc-file__body {
        flex: 1 1 calc(100% - 4rem);
        margin-right: 0;
    }

    .tc-body .btn.tc-btn-open {
        width: 100%;
        justify-content: center;
        margin-top: 1rem;
    }

    .tc-dl__row {
        flex-direction: column;
        padding: .75rem 0;
    }

        .tc-dl__row dt {
            flex-basis: auto;
            padding-right: 0;
            margin-bottom: .25rem;
        }

    .tc-assoc__icon {
        width: 2.5rem;
        height: 2.5rem;
        font-size: 1rem;
        margin-right: .875rem;
    }

    .tc-assoc__court {
        font-size: 1.0625rem;
    }

    .tc-detail-wrap .tc-details-actions--top {
        flex-direction: column;
        align-items: stretch;
    }

        .tc-detail-wrap .tc-details-actions--top .tc-btn-outline {
            margin: .5rem 0 0;
            text-align: center;
        }
}
/* Search bar: input + button on one row */
.tc-search-bar {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    max-width: 44rem;
}

    .tc-search-bar .tc-input {
        flex: 1 1 auto;
        min-width: 0;
        height: 3rem;
        border-right: 0;
        border-radius: 2px 0 0 2px;
    }

        .tc-search-bar .tc-input:focus {
            position: relative;
            z-index: 2;
        }

    .tc-search-bar .btn.tc-btn-primary {
        display: inline-flex;
        align-items: center;
        flex: 0 0 auto;
        height: 3rem;
        margin: 0;
        padding: 0 1.5rem;
        border-radius: 0 2px 2px 0;
        white-space: nowrap;
    }

        .tc-search-bar .btn.tc-btn-primary .fa {
            margin-right: .5rem;
        }

        .tc-search-bar .btn.tc-btn-primary:focus {
            position: relative;
            z-index: 3;
            outline: 3px solid #ffbf47;
            outline-offset: 2px;
            box-shadow: none;
        }

@media (max-width: 575.98px) {
    .tc-search-bar .btn.tc-btn-primary {
        padding: 0 1rem;
    }
}
/* ---------------------------------------------------
        Citations & Notices (matches Local Rules UI)
        Append to custom-public.css
----------------------------------------------------- */
.cn-page {
    --cn-navy: #13294b;
    --cn-navy-dark: #0b1a33;
    --cn-green: #1f7a4d;
    --cn-ink: #1c2540;
    --cn-body: #374151;
    --cn-muted: #4b5563;
    --cn-line: #dfe3ea;
    --cn-head: #f1f4f9;
    --cn-stripe: #f8fafc;
    --cn-chip: #e7edf6;
    --cn-link: #1747b8;
    --cn-serif: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
    color: var(--cn-body);
    font-size: .875rem;
}

.cn-wrap {
    max-width: 1140px;
    margin: 0 auto;
}

.cn-page a:focus,
.cn-page button:focus,
.cn-page .page-link:focus,
.cn-page th:focus {
    outline: 3px solid var(--cn-link);
    outline-offset: 2px;
    box-shadow: none;
}

.cn-link {
    color: var(--cn-link) !important;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
}

    .cn-link:hover {
        color: var(--cn-navy) !important;
    }

    .cn-link .fa {
        margin-left: .4rem;
    }

/* ---------- Top section ---------- */
.main-card .cn-hero {
    margin: -40px -40px 2rem;
}

.cn-hero {
    /*background: #eef6f1;*/
    background: linear-gradient(180deg, #e8f0fa 0%, #f5f8fc 100%);
    border-bottom: 1px solid var(--cn-line);
    border-radius: 4px 4px 0 0;
    padding: 2.25rem 2.5rem 2rem;
}


.cn-hero__head {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0;
}

/* add to existing .cn-alt rule */
.cn-alt {
    margin-bottom: 1.25rem;
    margin-top: 1.25rem;
}

.cn-hero__icon {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    margin-right: 1.125rem;
    border-radius: 50%;
    background-color: var(--cn-green);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.375rem;
}

.cn-page .cn-hero__title {
    font-family: var(--cn-serif);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.15;
    color: var(--cn-navy);
    margin: 0 0 .5rem;
}

.cn-hero__lead {
    max-width: 40rem;
    margin: 0;
    font-size: .9375rem;
    line-height: 1.6;
    color: var(--cn-muted);
}

/* Alternate search options */
.cn-alt {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    background-color: #fff;
    border: 1px solid var(--cn-line);
    border-radius: 6px;
    padding: 1rem 1.5rem;
    box-shadow: 0 1px 3px rgba(16, 24, 40, .08);
}

.cn-alt__brand {
    display: flex;
    align-items: center;
    padding-right: 1.5rem;
    border-right: 1px solid var(--cn-line);
}

.cn-alt__icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: var(--cn-chip);
    color: var(--cn-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.125rem;
}

.cn-page .cn-alt__title {
    font-family: var(--cn-serif);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--cn-navy);
    margin: 0 0 0 .875rem;
}

.cn-alt__list {
    display: flex;
    flex: 1 1 auto;
    list-style: none;
    margin: 0;
    padding: 0;
}

.cn-alt__item {
    flex: 1 1 0;
    padding: 0 1.5rem;
}

    .cn-alt__item + .cn-alt__item {
        border-left: 1px solid var(--cn-line);
    }

.cn-alt__desc {
    display: block;
    font-size: .875rem;
    color: var(--cn-muted);
    margin-bottom: .125rem;
}

/* ---------- Filter card ---------- */
.cn-filter-card {
    background-color: #fff;
    border: 1px solid var(--cn-line);
    border-radius: 6px;
    padding: 1.25rem 1.25rem 1rem;
    margin-bottom: 1.75rem;
}

.cn-filter-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: .75rem;
}

.cn-page .cn-filter-card__title {
    font-family: var(--cn-serif);
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--cn-navy);
    margin: 0 1rem .25rem 0;
}

.cn-filter-card__help {
    margin: 0;
    font-size: .8125rem;
    color: var(--cn-muted);
}

.cn-filter-card .form-group {
    margin-bottom: .75rem;
}

.cn-filter-card__foot {
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid var(--cn-line);
    padding-top: 1rem;
    margin-top: .25rem;
}

.cn-label {
    display: block;
    font-size: .875rem;
    font-weight: 700;
    color: var(--cn-ink);
    margin-bottom: .375rem;
}


.cn-page .cn-input {
    height: 40px;
    border: 1px solid #8a94a6;
    border-radius: 0;
    font-size: .875rem;
    color: var(--cn-ink);
}


    .cn-page .cn-input:focus {
        border-color: var(--cn-navy);
        box-shadow: inset 0 0 0 2px var(--cn-navy);
        outline: none;
    }


.cn-btn-outline {
    min-height: 40px;
    padding: .375rem 1.25rem;
    background-color: #fff;
    border: 2px solid var(--cn-navy);
    border-radius: 0;
    color: var(--cn-navy);
    font-size: .8125rem;
    font-weight: 700;
}

/* add */
.cn-page .cn-btn-outline:focus {
    outline: 3px solid var(--cn-link);
    outline-offset: 2px;
    box-shadow: none;
}

.cn-page .cn-input::placeholder {
    color: #6b7280;
    opacity: 1;
}

.cn-page .cn-input:hover {
    border-color: var(--cn-navy);
}

/* .cn-page .cn-input:focus {
        border-color: var(--cn-navy);
        box-shadow: 0 0 0 3px rgba(23, 71, 184, .4);
        outline: none;
    }*/

.cn-page .cn-input--sm {
    width: auto;
    height: 34px;
    padding-top: .25rem;
    padding-bottom: .25rem;
    margin-left: .5rem;
}

/*.cn-btn-outline {
    min-height: 36px;
    padding: .375rem 1rem;
    background-color: #fff;
    border: 1px solid var(--cn-navy);
    border-radius: 4px;
    color: var(--cn-navy);
    font-size: .8125rem;
    font-weight: 700;
}

    .cn-btn-outline:hover,
    .cn-btn-outline:active {
        background-color: var(--cn-navy);
        color: #fff;
    }*/

/* ---------- Toolbar ---------- */
.cn-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .75rem;
}

.cn-page .dataTables_wrapper .dataTables_info {
    padding-top: 0;
    font-size: .875rem;
    color: var(--cn-muted);
    white-space: normal;
}

    .cn-page .dataTables_wrapper .dataTables_info strong {
        color: var(--cn-ink);
    }

.cn-page .dataTables_wrapper .dataTables_length label {
    display: flex;
    align-items: center;
    margin: 0;
    font-size: .875rem;
    color: var(--cn-muted);
}

/* ---------- Table ---------- */
.cn-page table.cn-table {
    border: 1px solid var(--cn-line);
    border-radius: 6px;
    border-collapse: separate !important;
    border-spacing: 0;
    overflow: hidden;
    margin: 0 !important;
    background-color: #fff;
}

    .cn-page table.cn-table thead th {
        background-color: var(--cn-head);
        color: var(--cn-ink);
        font-size: .875rem;
        font-weight: 700;
        border-top: none;
        border-bottom: 1px solid var(--cn-line);
        padding: .875rem .875rem;
        vertical-align: middle;
    }

    .cn-page table.cn-table tbody td {
        border-top: 1px solid var(--cn-line);
        padding: .75rem .875rem;
        vertical-align: middle;
        font-size: .875rem;
        color: var(--cn-body);
    }

    .cn-page table.cn-table tbody tr:first-child td {
        border-top: none;
    }

    .cn-page table.cn-table tbody tr {
        background-color: #fff;
    }

        .cn-page table.cn-table tbody tr:hover {
            background-color: #f0f5fc;
        }

.cn-cell-strong {
    font-weight: 700;
    color: var(--cn-ink);
}

.cn-cell-muted {
    color: var(--cn-muted);
}

.cn-page table.dataTable thead .sorting:before,
.cn-page table.dataTable thead .sorting:after,
.cn-page table.dataTable thead .sorting_asc:before,
.cn-page table.dataTable thead .sorting_asc:after,
.cn-page table.dataTable thead .sorting_desc:before,
.cn-page table.dataTable thead .sorting_desc:after {
    color: var(--cn-muted);
    font-size: .75rem;
}

.cn-page table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before,
.cn-page table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before {
    background-color: var(--cn-navy);
    box-shadow: 0 0 0 1px #fff;
}

.cn-page table.dataTable > tbody > tr.child ul.dtr-details > li {
    border-bottom: 1px solid var(--cn-line);
    padding: .5rem 0;
}

.cn-page table.dataTable > tbody > tr.child span.dtr-title {
    font-weight: 700;
    color: var(--cn-ink);
    min-width: 110px;
}

.cn-page .dataTables_processing {
    background-color: var(--cn-navy) !important;
    color: #fff;
    border-radius: 4px;
}

/* Status chips */
.cn-badge {
    display: inline-block;
    padding: .2rem .55rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}

.cn-badge--active {
    background-color: #e3f3ea;
    color: #14532d;
}

.cn-badge--issued {
    background-color: #fce8eb;
    color: #8a1020;
}

.cn-badge--pending {
    background-color: #fff2cc;
    color: #6b4a00;
}

.cn-badge--neutral {
    background-color: var(--cn-chip);
    color: var(--cn-ink);
}

/* ---------- Pagination ---------- */
.cn-pager {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
    padding-bottom: 3rem;
}

.cn-page .dataTables_wrapper .dataTables_paginate ul.pagination {
    margin: 0;
    flex-wrap: wrap;
}

.cn-page .page-item .page-link {
    min-width: 32px;
    min-height: 32px;
    margin: 0 .125rem;
    padding: .35rem .6rem;
    border: none;
    border-radius: 4px;
    background-color: transparent;
    color: var(--cn-ink);
    font-weight: 700;
    text-align: center;
}

    .cn-page .page-item .page-link:hover {
        background-color: var(--cn-chip);
        color: var(--cn-navy);
    }

.cn-page .page-item.active .page-link {
    background-color: var(--cn-navy);
    color: #fff;
}

.cn-page .page-item.disabled .page-link {
    background-color: transparent;
    color: #6b7280;
}

.cn-page .page-item.previous .page-link,
.cn-page .page-item.next .page-link {
    padding-left: .75rem;
    padding-right: .75rem;
}

.cn-mobile-hint {
    font-size: .875rem;
    color: var(--cn-muted);
}

.cn-page .cn-mobile-hint i {
    color: var(--cn-navy);
}

/* ---------- Responsive ---------- */
@media screen and (max-width: 991px) {
    .cn-alt__brand {
        flex: 1 1 100%;
        border-right: none;
        border-bottom: 1px solid var(--cn-line);
        padding: 0 0 .875rem;
        margin-bottom: .875rem;
    }

    .cn-alt__item:first-child {
        padding-left: 0;
    }
}

@media screen and (max-width: 767px) {
    .cn-hero {
        padding: 1.75rem 1.5rem;
    }

    .cn-page .cn-hero__title {
        font-size: 1.625rem;
    }

    .cn-alt {
        padding: 1rem 1.25rem;
    }

    .cn-alt__list {
        flex-direction: column;
    }

    .cn-alt__item {
        padding: 0;
    }

        .cn-alt__item + .cn-alt__item {
            border-left: none;
            border-top: 1px solid var(--cn-line);
            margin-top: .75rem;
            padding-top: .75rem;
        }

    .cn-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

        .cn-toolbar .dataTables_info {
            margin-bottom: .5rem;
        }

    .cn-pager {
        justify-content: center;
    }
}

@media screen and (min-width: 768px) and (max-width: 768px) {
    .main-card .cn-hero {
        margin: -20px -20px 1.5rem;
    }
}

@media screen and (max-width: 576px) {
    .main-card .cn-hero {
        margin: -15px -15px 1.5rem;
    }

    .cn-hero {
        padding: 1.5rem 1rem;
    }

    .cn-pager {
        padding-bottom: 2rem;
    }

    .cn-hero__icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
        font-size: 1.125rem;
        margin-right: .875rem;
    }

    .cn-page .cn-hero__title {
        font-size: 1.5rem;
    }

    .cn-filter-card {
        padding: 1rem;
    }

    .cn-filter-card__foot .btn {
        width: 100%;
    }

    /* keep Previous / Next / current visible on small screens */
    .cn-page li.paginate_button.active {
        display: inline;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cn-page * {
        transition: none !important;
    }
}
/* ---------------------------------------------------
        Citations & Notices – Document Search
        
----------------------------------------------------- */

/* Search panel */
.cn-panel {
    /*max-width: 48rem;*/
    background-color: #fff;
    border: 1px solid var(--cn-line);
    /*border-bottom: 3px solid var(--cn-green);*/
    border-radius: 6px;
    padding: 1.5rem 1.5rem 1.25rem;
    margin: 1.5rem auto 3rem;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .06);
}

.cn-hero + .cn-wrap {
    padding-top: 2rem;
}

.cn-page .cn-panel__title {
    font-family: var(--cn-serif);
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--cn-navy);
    margin: 0 0 1rem;
}

.cn-search {
    display: flex;
    flex-wrap: wrap;
    max-width: 40rem;
}

.cn-search__field {
    position: relative;
    flex: 1 1 18rem;
    margin: 0 .5rem .5rem 0;
}

.cn-search__icon {
    position: absolute;
    top: 50%;
    left: .875rem;
    transform: translateY(-50%);
    color: var(--cn-muted);
    pointer-events: none;
    z-index: 2;
}

.cn-narrow {
    max-width: 48rem;
    margin: 0 auto;
}

    /* stack title above links at this width */
    .cn-narrow .cn-alt__brand {
        flex: 1 1 100%;
        border-right: none;
        border-bottom: 1px solid var(--cn-line);
        padding: 0 0 .875rem;
        margin: 0 0 .875rem;
    }

    .cn-narrow .cn-alt__item:first-child {
        padding-left: 0;
    }

.cn-page .cn-input--icon {
    padding-left: 2.5rem;
}

.cn-page .cn-input--lg {
    height: 44px;
    font-size: 1rem;
}

.cn-page .cn-input.is-invalid,
.cn-page .cn-input.is-invalid:focus {
    border-color: #a4161a;
    box-shadow: inset 0 0 0 2px #a4161a;
    background-image: none;
    padding-right: .75rem;
}

.cn-btn-primary {
    height: 44px;
    padding: 0 1.75rem;
    margin-bottom: .5rem;
    background-color: var(--cn-navy);
    border: 2px solid var(--cn-navy);
    border-radius: 0;
    color: #fff;
    font-size: .9375rem;
    font-weight: 700;
}

    .cn-btn-primary:hover,
    .cn-btn-primary:active {
        background-color: var(--cn-navy-dark);
        border-color: var(--cn-navy-dark);
        color: #fff;
    }

    .cn-btn-primary:disabled {
        opacity: .8;
        cursor: progress;
    }

.cn-page .cn-btn-primary:focus {
    outline: 3px solid var(--cn-link);
    outline-offset: 2px;
    box-shadow: none;
}

.cn-help {
    margin: 0;
    font-size: .8125rem;
    color: var(--cn-muted);
}

.cn-error {
    margin: 0 0 .25rem;
    font-size: .875rem;
    font-weight: 700;
    color: #a4161a;
}

    .cn-error:empty {
        display: none;
    }

    .cn-error:not(:empty)::before {
        content: "\f071";
        font-family: FontAwesome;
        margin-right: .375rem;
    }
/* Active alternate search option */
.cn-alt__item.is-active .cn-alt__desc {
    color: var(--cn-ink);
    font-weight: 700;
}

.cn-page .cn-alt__item.is-active .cn-link {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    color: var(--cn-navy) !important;
    text-decoration: none;
    cursor: default;
}

.cn-alt__pill {
    display: inline-block;
    margin-left: .5rem;
    padding: .2rem .65rem;
    border-radius: 999px;
    background-color: var(--cn-navy);
    color: #fff;
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}

@media screen and (max-width: 576px) {
    .cn-alt__pill {
        margin: .25rem 0 0;
    }

    .cn-search {
        max-width: none;
    }
}
/* Search tips */
.cn-tips {
    margin-top: 1.25rem;
    padding-top: 1.125rem;
    border-top: 1px solid var(--cn-line);
}

.cn-page .cn-tips__title {
    font-family: var(--cn-serif);
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--cn-navy);
    margin: 0 0 .75rem;
}

.cn-tips__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .cn-tips__list li {
        position: relative;
        padding-left: 1.25rem;
        margin-bottom: .5rem;
        font-size: .875rem;
        line-height: 1.55;
    }

        .cn-tips__list li::before {
            content: "";
            position: absolute;
            left: 0;
            top: .55em;
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background-color: var(--cn-green);
        }

    .cn-tips__list code {
        background-color: #eef2f7;
        color: var(--cn-ink);
        padding: .1rem .35rem;
        border-radius: 3px;
        font-size: .875em;
    }

/* Alternate search intro line */
.cn-alt__intro {
    margin: 0 0 .5rem;
    font-size: .875rem;
    color: var(--cn-muted);
}

/* Results */
.cn-results {
    margin-top: 2rem;
}

    .cn-results[aria-busy="true"] .cn-table tbody {
        opacity: .5;
    }

.cn-page .cn-results__title {
    font-family: var(--cn-serif);
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--cn-navy);
    margin: 0 0 1rem;
    word-break: break-word;
}

    .cn-page .cn-results__title:focus {
        outline: none;
    }

/* Filter heading is h3 on this page – keep h2 size */
.cn-page h3.cn-filter-card__title {
    font-size: 1.25rem;
}

/* Responsive */
@media screen and (max-width: 576px) {
    cn-panel {
        margin: 1.5rem auto 2rem;
    }

    .cn-hero + .cn-wrap {
        padding-top: 1.5rem;
    }

    .cn-panel {
        padding: 1.25rem 1rem;
    }

    .cn-search__field {
        flex-basis: 100%;
        margin-right: 0;
    }

    .cn-btn-primary {
        width: 100%;
    }

    .cn-page .cn-panel__title,
    .cn-page .cn-results__title {
        font-size: 1.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cn-results[aria-busy="true"] .cn-table tbody {
        transition: none;
    }
}
/* ---------------------------------------------------
        Citations & Notices – Details page
----------------------------------------------------- */

/* Top toolbar: back link + new search */

.cn-detail__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.cn-page .cn-back-link {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    margin: .25rem 1rem .25rem 0;
    color: var(--cn-navy);
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
}

.cn-page a.cn-doc__action,
.cn-page a.cn-doc__action:visited,
.cn-page a.cn-doc__action:hover,
.cn-page a.cn-doc__action:focus,
.cn-page a.cn-doc__action:active {
    color: #fff !important;
    text-decoration: none;
}

.cn-page .cn-back-link .fa {
    margin-right: .625rem;
}

.cn-page .cn-back-link span {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.cn-page .cn-back-link:hover {
    color: var(--cn-navy-dark);
}

.cn-page .cn-detail__new {
    display: inline-flex;
    align-items: center;
    font-size: .9375rem;
    background-color: #fff;
}

    .cn-page .cn-detail__new .fa {
        margin-right: .5rem;
    }

    .cn-page .cn-detail__new:hover {
        background-color: var(--cn-navy);
        color: #fff;
    }

/* Hero */
.cn-detail__icon {
    flex-basis: 64px;
    width: 64px;
    height: 64px;
    font-size: 1.625rem;
}

.cn-page .cn-detail__title {
    font-size: 2.0rem;
    margin-bottom: .75rem;
}

.cn-detail__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

    .cn-detail__meta li {
        margin: 0 1rem .5rem 0;
    }

.cn-detail__meta-cause {
    font-size: 1rem;
    font-weight: 700;
    color: var(--cn-ink);
    word-break: break-word;
}

/* Status chips (solid, white text >= 4.5:1) */
.cn-status {
    display: inline-block;
    padding: .3rem .8rem;
    border-radius: 999px;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}

.cn-status--active {
    background-color: var(--cn-green);
    color: #fff;
}

.cn-status--issued {
    background-color: #a4161a;
    color: #fff;
}

.cn-status--pending {
    background-color: #fff2cc;
    color: #6b4a00;
    box-shadow: inset 0 0 0 1px #e0c26a;
}

.cn-status--neutral {
    background-color: var(--cn-chip);
    color: var(--cn-ink);
}

/* Body */
.cn-detail__body {
    padding-bottom: 3rem;
}

.cn-card {
    background-color: #fff;
    border: 1px solid var(--cn-line);
    border-radius: 6px;
    padding: 1.75rem 2rem;
    margin-bottom: 1.5rem;
}

.cn-page .cn-card__title {
    font-family: var(--cn-serif);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--cn-navy);
    margin: 0 0 1.25rem;
}

.cn-card__note {
    margin: .75rem 0 0;
    font-size: .875rem;
    color: var(--cn-muted);
}

/* Document row */
.cn-doc {
    display: flex;
    align-items: center;
    background-color: var(--cn-stripe);
    border: 1px solid var(--cn-line);
    border-radius: 6px;
    padding: 1.25rem 1.5rem;
}

.cn-doc__icon {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    margin-right: 1.25rem;
    border-radius: 6px;
    background-color: var(--cn-chip);
    color: var(--cn-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

.cn-doc__body {
    flex: 1 1 auto;
    min-width: 0;
    margin-right: 1.25rem;
}

.cn-doc__title {
    margin: 0 0 .125rem;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--cn-ink);
    word-break: break-word;
}

.cn-doc__sub {
    margin: 0;
    font-size: .9375rem;
    color: var(--cn-muted);
}

.cn-page .cn-doc__action {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    margin: 0;
    white-space: nowrap;
}

    .cn-page .cn-doc__action .fa {
        margin-left: .5rem;
    }

/* Details list */
.cn-dl {
    margin: 0;
}

.cn-dl__row {
    display: flex;
    align-items: baseline;
    padding: .875rem 0;
    border-bottom: 1px solid var(--cn-line);
}

    .cn-dl__row:first-child {
        padding-top: 0;
    }

    .cn-dl__row:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .cn-dl__row dt {
        flex: 0 0 30%;
        max-width: 30%;
        padding-right: 1.5rem;
        font-size: 1rem;
        font-weight: 700;
        color: var(--cn-ink);
    }

    .cn-dl__row dd {
        flex: 1 1 auto;
        margin: 0;
        font-size: 1rem;
        color: var(--cn-body);
        word-break: break-word;
    }

/* Publication period */
.cn-period {
    display: flex;
    align-items: flex-start;
}

.cn-period__icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin-right: 1rem;
    border-radius: 50%;
    background-color: var(--cn-green);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.125rem;
}

.cn-period__label {
    margin: 0 0 .25rem;
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--cn-muted);
}

.cn-period__date {
    margin: 0 0 .125rem;
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--cn-ink);
}

.cn-period__sub {
    margin: 0;
    font-size: .9375rem;
    color: var(--cn-muted);
}

/* Responsive */
@media screen and (max-width: 767px) {
    .cn-page .cn-detail__title {
        font-size: 1.875rem;
    }

    .cn-detail__icon {
        flex-basis: 52px;
        width: 52px;
        height: 52px;
        font-size: 1.375rem;
    }

    .cn-card {
        padding: 1.5rem 1.25rem;
    }

    .cn-doc {
        flex-wrap: wrap;
    }

    .cn-doc__body {
        flex-basis: calc(100% - 76px);
        margin-right: 0;
    }

    .cn-page .cn-doc__action {
        flex-basis: 100%;
        justify-content: center;
        margin-top: 1rem;
    }

    .cn-dl__row {
        flex-direction: column;
    }

        .cn-dl__row dt {
            flex: none;
            max-width: none;
            padding-right: 0;
            margin-bottom: .25rem;
        }

    .cn-period {
        margin-bottom: 1.25rem;
    }

    .col-md-6:last-child .cn-period {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 576px) {
    .cn-detail__toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .cn-page .cn-detail__new {
        width: 100%;
        justify-content: center;
        margin-top: .75rem;
    }

    .cn-page .cn-detail__title {
        font-size: 1.625rem;
    }

    .cn-detail__icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
        font-size: 1.125rem;
    }

    .cn-doc {
        padding: 1rem;
    }

    .cn-doc__icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
        font-size: 1.125rem;
        margin-right: .875rem;
    }

    .cn-period__date {
        font-size: 1.1875rem;
    }
}
/* ---------------------------------------------------
            Quick Exit (icon → expands on hover/focus)
----------------------------------------------------- */
.quick-exit {
    --qe-red: #b3122a;
    --qe-red-dark: #8f0e21;
    --qe-size: 52px;
    position: fixed;
    right: 16px;
    bottom: 250px;
    z-index: 99999;
    display: inline-flex;
    align-items: center;
    height: var(--qe-size);
    min-width: var(--qe-size);
    padding: 0 15px;
    border: 2px solid #fff;
    border-radius: 999px;
    background-color: var(--qe-red);
    color: #fff;
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .25);
    transition: background-color .2s ease, box-shadow .2s ease;
}

.quick-exit__icon {
    font-size: 18px;
    width: 18px;
    text-align: center;
    flex-shrink: 0;
}

.quick-exit__text {
    display: inline-flex;
    align-items: center;
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-width .3s ease, opacity .2s ease, margin-left .3s ease;
}

.quick-exit__label {
    color: #fff;
}

.quick-exit__kbd {
    margin-left: 10px;
    padding: 4px 7px;
    border-radius: 4px;
    background-color: rgba(255, 255, 255, .25);
    color: #fff;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    box-shadow: none;
}

/* Expanded state: mouse hover + keyboard focus */
.quick-exit:hover,
.quick-exit:focus-visible {
    background-color: var(--qe-red-dark);
    color: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .3);
}

    .quick-exit:hover .quick-exit__text,
    .quick-exit:focus-visible .quick-exit__text {
        max-width: 200px;
        opacity: 1;
        margin-left: 10px;
    }

.quick-exit:focus {
    outline: none;
}

.quick-exit:focus-visible {
    outline: 3px solid #ffbf47;
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .quick-exit,
    .quick-exit__text {
        transition: none;
    }
}

@media screen and (max-width: 576px) {
    .quick-exit {
        --qe-size: 46px;
        right: 10px;
        padding: 0 13px;
    }
}
/* ---------------------------------------------------
        Bail forms
----------------------------------------------------- */
.tc-bail {
    --tc-navy: #13295b;
    --tc-navy-700: #1c3a7a;
    --tc-red: #c8202f;
    --tc-ink: #1b2338;
    --tc-muted: #566074;
    --tc-line: #d6dbe4;
    --tc-field: #7f889b;
    --tc-surface: #ffffff;
    --tc-page: #f3f5f9;
    --tc-focus: #1a56c4;
    --tc-serif: "Merriweather", "Source Serif Pro", Georgia, "Times New Roman", serif;
    --tc-sans: "Nunito Sans", "Segoe UI", Arial, sans-serif;
    background-color: var(--tc-page);
    color: var(--tc-ink);
    font-family: var(--tc-sans);
    font-size: 1rem;
}

    .tc-bail .tc-container {
        max-width: 1600px;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .tc-bail :focus-visible {
        outline: 3px solid var(--tc-focus);
        outline-offset: 2px;
    }

    /* ---------- Page header ---------- */
    .tc-bail .tc-hero {
        background: linear-gradient(180deg, #e7edf6 0%, #f1f4f9 100%);
        border-bottom: 1px solid var(--tc-line);
        padding: 2.5rem 0 2.25rem;
    }

    .tc-bail .tc-hero__icon {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 5.25rem;
        height: 5.25rem;
        margin-right: 1.75rem;
        border-radius: 50%;
        background-color: var(--tc-red);
        color: #fff;
    }

    .tc-bail .tc-hero__title {
        font-family: var(--tc-serif);
        font-weight: 700;
        font-size: 2.75rem;
        line-height: 1.15;
        color: var(--tc-ink);
        margin: .35rem 0 .75rem;
    }

    .tc-bail .tc-hero__lead {
        max-width: 44rem;
        font-size: 1.1875rem;
        line-height: 1.6;
        color: #3d4659;
        margin-bottom: 0;
    }

    .tc-bail .tc-body {
        /*padding-top: 2.5rem;*/
        padding-bottom: 4rem;
    }

    /* ---------- Cards ---------- */
    .tc-bail .tc-card {
        background-color: var(--tc-surface);
        border: 1px solid var(--tc-line);
        border-radius: 6px;
    }

    .tc-bail .tc-card__title {
        font-family: var(--tc-serif);
        font-weight: 700;
        font-size: 1.625rem;
        line-height: 1.3;
        color: var(--tc-ink);
        margin: 0;
    }

    /* ---------- Filter panel ---------- */
    .tc-bail .tc-filter {
        padding: 2rem 2.25rem;
        margin-bottom: 2rem;
    }

    .tc-bail .tc-filter__head {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        margin-bottom: 1.25rem;
    }

    .tc-bail .tc-filter__hint {
        color: var(--tc-muted);
        font-size: 1rem;
        margin-left: auto;
        padding-left: 1rem;
    }

    .tc-bail .tc-filter fieldset {
        border: 0;
        padding: 0;
        min-width: 0;
    }

    .tc-bail .tc-label {
        display: block;
        font-weight: 700;
        font-size: 1.0625rem;
        color: var(--tc-ink);
        margin-bottom: .6rem;
    }

    .tc-bail .tc-input.form-control {
        height: 3.5rem;
        padding: .75rem 1.1rem;
        font-size: 1.0625rem;
        color: var(--tc-ink);
        border: 1px solid var(--tc-field);
        border-radius: 4px;
        background-color: #fff;
    }

        .tc-bail .tc-input.form-control::placeholder {
            color: #6b7385;
            opacity: 1;
        }

        .tc-bail .tc-input.form-control:hover {
            border-color: var(--tc-navy);
        }

        .tc-bail .tc-input.form-control:focus {
            border-color: var(--tc-navy);
            box-shadow: 0 0 0 3px rgba(26, 86, 196, .35);
            outline: 0;
        }

    .tc-bail .tc-filter__actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        margin-top: .5rem;
    }

        .tc-bail .tc-filter__actions .tc-btn + .tc-btn {
            margin-left: .75rem;
        }

    /* ---------- Buttons ---------- */
    .tc-bail .tc-btn.btn {
        display: inline-flex;
        align-items: center;
        min-height: 3.25rem;
        padding: .6rem 1.5rem;
        font-size: 1.0625rem;
        font-weight: 700;
        border-radius: 4px;
        border: 2px solid var(--tc-navy);
        line-height: 1.2;
    }

        .tc-bail .tc-btn.btn svg {
            margin-right: .6rem;
        }

    .tc-bail .tc-btn--outline.btn {
        background-color: #fff;
        color: var(--tc-navy);
    }

        .tc-bail .tc-btn--outline.btn:hover {
            background-color: #eef2f9;
            color: var(--tc-navy);
        }

    .tc-bail .tc-btn--primary.btn {
        background-color: var(--tc-navy);
        color: #fff;
    }

        .tc-bail .tc-btn--primary.btn:hover {
            background-color: var(--tc-navy-700);
            border-color: var(--tc-navy-700);
            color: #fff;
        }

    .tc-bail .tc-btn.btn:focus {
        box-shadow: none;
    }

    /* ---------- Results bar ---------- */
    .tc-bail .tc-results__bar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 1rem;
    }

    .tc-bail .tc-results__info {
        font-size: 1.0625rem;
        color: var(--tc-muted);
    }

        .tc-bail .tc-results__info strong {
            color: var(--tc-ink);
        }

    .tc-bail .tc-results__length {
        display: flex;
        align-items: center;
        color: var(--tc-muted);
        font-size: 1.0625rem;
    }

    .tc-bail .tc-select.custom-select {
        width: auto;
        height: 3rem;
        margin-left: .75rem;
        padding: .4rem 2rem .4rem .9rem;
        font-weight: 700;
        color: var(--tc-ink);
        border: 1px solid var(--tc-field);
        border-radius: 4px;
    }

        .tc-bail .tc-select.custom-select:focus {
            border-color: var(--tc-navy);
            box-shadow: 0 0 0 3px rgba(26, 86, 196, .35);
        }

    /* ---------- Table ---------- */
    .tc-bail .tc-table-card {
        overflow: hidden;
    }

    .tc-bail table.dataTable.tc-table {
        margin: 0 !important;
        border-collapse: collapse !important;
    }

    .tc-bail .tc-table thead th {
        background-color: #f5f7fa;
        color: var(--tc-ink);
        font-weight: 700;
        font-size: 1.0625rem;
        border-top: 0;
        border-bottom: 1px solid var(--tc-line);
        padding: 1.35rem 1.5rem;
        vertical-align: middle;
        white-space: nowrap;
    }

    .tc-bail .tc-table tbody td {
        padding: 1.35rem 1.5rem;
        border-top: 1px solid var(--tc-line);
        font-size: 1.0625rem;
        line-height: 1.6;
        color: #3d4659;
        vertical-align: top;
    }

    .tc-bail .tc-table tbody tr:first-child td {
        border-top: 0;
    }

    .tc-bail .tc-table tbody tr:hover td {
        background-color: #fafbfd;
    }

    .tc-bail .tc-table td.tc-cell-name {
        font-weight: 700;
        color: var(--tc-ink);
    }

    .tc-bail .tc-table td.tc-cell-action {
        text-align: right;
        white-space: nowrap;
    }

    .tc-bail .tc-table td.tc-empty {
        text-align: center;
        padding: 2.5rem 1.5rem;
        color: var(--tc-muted);
    }

    .tc-bail .tc-cell-text {
        overflow-wrap: anywhere;
    }

    /* sort indicators (DataTables BS4) */
    .tc-bail table.dataTable thead > tr > th.sorting,
    .tc-bail table.dataTable thead > tr > th.sorting_asc,
    .tc-bail table.dataTable thead > tr > th.sorting_desc {
        padding-right: 2.25rem;
        cursor: pointer;
    }

    .tc-bail table.dataTable thead .sorting:before,
    .tc-bail table.dataTable thead .sorting:after,
    .tc-bail table.dataTable thead .sorting_asc:before,
    .tc-bail table.dataTable thead .sorting_asc:after,
    .tc-bail table.dataTable thead .sorting_desc:before,
    .tc-bail table.dataTable thead .sorting_desc:after {
        bottom: 1.3rem;
        color: var(--tc-muted);
    }

    .tc-bail table.dataTable thead th:focus {
        outline: 3px solid var(--tc-focus);
        outline-offset: -3px;
    }

    /* View details link */
    .tc-bail .tc-link {
        display: inline-flex;
        align-items: center;
        font-weight: 700;
        color: var(--tc-navy) !important;
        text-decoration: underline;
        text-underline-offset: 3px;
        text-decoration-thickness: 2px;
        padding: .25rem 0;
    }

        .tc-bail .tc-link:hover {
            color: var(--tc-red) !important;
        }

    .tc-bail .tc-link__arrow {
        margin-left: .6rem;
        flex: 0 0 auto;
    }

    /* ---------- Table footer / pagination ---------- */
    .tc-bail .tc-table-footer {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        padding: 1.25rem 1.5rem;
        border-top: 1px solid var(--tc-line);
    }

    .tc-bail .tc-page-status {
        color: var(--tc-muted);
        font-size: 1.0625rem;
    }

    .tc-bail .dataTables_wrapper .dataTables_paginate {
        margin: 0;
    }

    .tc-bail .dataTables_paginate .pagination {
        margin: 0 !important;
        flex-wrap: wrap;
    }

    .tc-bail .dataTables_wrapper .dataTables_paginate ul.pagination {
        margin: 0 !important;
        flex-wrap: wrap;
    }

    .tc-bail .dataTables_paginate .page-item .page-link {
        min-width: 32px;
        min-height: 32px;
        margin: 0 .125rem;
        padding: .35rem .6rem;
        border: none;
        border-radius: 4px !important;
        background-color: transparent;
        color: #1c2540;
        font-size: 1rem;
        font-weight: 700;
        text-align: center;
    }

        .tc-bail .dataTables_paginate .page-item .page-link:hover {
            background-color: #e7edf6;
            color: #13294b;
        }

        .tc-bail .dataTables_paginate .page-item .page-link:focus {
            outline: 3px solid #1747b8;
            outline-offset: 2px;
            box-shadow: none;
        }

    .tc-bail .dataTables_paginate .page-item.active .page-link {
        background-color: #13294b;
        color: #fff;
    }

    .tc-bail .dataTables_paginate .page-item.disabled .page-link {
        background-color: transparent;
        color: #6b7280;
        font-weight: 700;
    }

    .tc-bail .dataTables_paginate .page-item.previous .page-link,
    .tc-bail .dataTables_paginate .page-item.next .page-link {
        padding-left: .75rem;
        padding-right: .75rem;
    }

    .tc-bail div.dataTables_wrapper div.dataTables_processing {
        top: 4rem;
        margin-top: 0;
        padding: 1rem;
        border-radius: 4px;
        background-color: var(--tc-navy) !important;
        color: #fff;
        font-weight: 700;
    }

/* ---------- Responsive ---------- */
@media (max-width: 1199.98px) {
    .tc-bail .tc-hero__title {
        font-size: 2.375rem;
    }

    .tc-bail .tc-filter__hint {
        margin-left: 0;
        padding-left: 0;
        margin-top: .35rem;
        flex-basis: 100%;
    }
}

@media (max-width: 767.98px) {
    .tc-bail .tc-container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .tc-bail .tc-hero {
        padding: 1.75rem 0 1.5rem;
    }

    .tc-bail .tc-hero__icon {
        width: 3.5rem;
        height: 3.5rem;
        margin-right: 1rem;
    }

        .tc-bail .tc-hero__icon svg {
            width: 24px;
            height: 24px;
        }

    .tc-bail .tc-hero__title {
        font-size: 1.875rem;
        margin-top: .25rem;
    }

    .tc-bail .tc-hero__lead {
        font-size: 1.0625rem;
    }

    .tc-bail .tc-body {
        padding-top: 1.5rem;
    }

    .tc-bail .tc-filter {
        padding: 1.25rem;
        margin-bottom: 1.5rem;
    }

    .tc-bail .tc-card__title {
        font-size: 1.375rem;
    }

    .tc-bail .tc-filter__actions {
        flex-direction: column-reverse;
    }

        .tc-bail .tc-filter__actions .tc-btn {
            width: 100%;
            justify-content: center;
        }

            .tc-bail .tc-filter__actions .tc-btn + .tc-btn {
                margin-left: 0;
                margin-bottom: .75rem;
            }

    .tc-bail .tc-results__bar {
        align-items: flex-start;
        flex-direction: column;
    }

    .tc-bail .tc-results__length {
        margin-top: .75rem;
    }

    /* stacked rows; ARIA roles set in script keep table semantics */
    .tc-bail .tc-table,
    .tc-bail .tc-table tbody,
    .tc-bail .tc-table tr,
    .tc-bail .tc-table td {
        display: block;
        width: 100% !important;
    }

        .tc-bail .tc-table thead {
            position: absolute;
            width: 1px;
            height: 1px;
            overflow: hidden;
            clip: rect(0 0 0 0);
            white-space: nowrap;
        }

        .tc-bail .tc-table tbody tr {
            padding: 1rem 1.25rem;
            border-top: 1px solid var(--tc-line);
        }

            .tc-bail .tc-table tbody tr:first-child {
                border-top: 0;
            }

        .tc-bail .tc-table tbody td {
            border-top: 0;
            padding: .35rem 0;
        }

            .tc-bail .tc-table tbody td[data-label]:not([data-label=""])::before {
                content: attr(data-label);
                display: block;
                font-size: .875rem;
                font-weight: 700;
                color: var(--tc-muted);
            }

        .tc-bail .tc-table td.tc-cell-name {
            font-size: 1.1875rem;
        }

            .tc-bail .tc-table td.tc-cell-name::before {
                display: none !important;
            }

        .tc-bail .tc-table td.tc-cell-action {
            text-align: left;
            padding-top: .75rem;
        }

    .tc-bail .tc-table-footer {
        flex-direction: column;
        align-items: flex-start;
        padding: 1rem 1.25rem;
    }

    .tc-bail .tc-page-status {
        margin-bottom: .75rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tc-bail * {
        transition: none !important;
        animation: none !important;
    }
}

@media (forced-colors: active) {
    .tc-bail .tc-hero__icon,
    .tc-bail .tc-btn.btn,
    .tc-bail .dataTables_paginate .page-item .page-link {
        border: 1px solid CanvasText;
    }
}

/* ---------------------------------------------------
        Bail form details (redesign)
----------------------------------------------------- */

.tc-bail-details .tc-hero--details {
    padding-top: 1.5rem;
}

.tc-bail-details .tc-hero__title {
    margin-bottom: .6rem;
}

.tc-bail .tc-details {
    max-width: 1340px;
}

/* ---------- Back link ---------- */
.tc-bail .tc-back {
    display: inline-flex;
    align-items: center;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--tc-navy) !important;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
    padding: .25rem 0;
}

    .tc-bail .tc-back svg {
        margin-right: .6rem;
        flex: 0 0 auto;
    }

    .tc-bail .tc-back:hover {
        color: var(--tc-red) !important;
    }

/* ---------- Pills ---------- */
.tc-bail .tc-pill {
    display: inline-block;
    padding: .3rem .95rem;
    border-radius: 999px;
    font-size: .9375rem;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
}

.tc-bail .tc-pill--solid {
    background-color: var(--tc-red);
    color: #fff;
}

.tc-bail .tc-pill--alert {
    background-color: #fde8ea;
    color: #a3141f;
}

.tc-bail .tc-pill--neutral {
    background-color: #e7ecf4;
    color: var(--tc-navy);
}

.tc-bail .tc-pill--muted {
    background-color: #eceef2;
    color: #454d5e;
}

/* ---------- Section cards ---------- */
.tc-bail .tc-section {
    padding: 2.25rem 2.25rem 1.75rem;
    margin-bottom: 2rem;
}

.tc-bail .tc-section__head {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.tc-bail .tc-section__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 3.25rem;
    height: 3.25rem;
    margin-right: 1.1rem;
    border-radius: 50%;
    background-color: var(--tc-red);
    color: #fff;
}

.tc-bail .tc-section__title {
    font-family: var(--tc-serif);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.3;
    color: var(--tc-ink);
    margin: 0;
}

/* ---------- Key/value list ---------- */
.tc-bail .tc-dl {
    margin: 0;
}

.tc-bail .tc-dl__row {
    display: flex;
    align-items: baseline;
    padding: 1.1rem 0;
    border-bottom: 1px solid var(--tc-line);
}

    .tc-bail .tc-dl__row:last-child {
        border-bottom: 0;
    }

    .tc-bail .tc-dl__row dt {
        flex: 0 0 27%;
        max-width: 27%;
        padding-right: 1.5rem;
        font-weight: 700;
        font-size: 1.125rem;
        color: var(--tc-ink);
    }

    .tc-bail .tc-dl__row dd {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        font-size: 1.125rem;
        color: #3d4659;
        overflow-wrap: anywhere;
    }

.tc-bail .tc-dl__strong {
    font-weight: 700;
    color: var(--tc-ink) !important;
}

.tc-bail .tc-dl abbr[title] {
    text-decoration: none;
    border-bottom: 1px dotted currentColor;
    cursor: help;
}

/* ---------- Offense table ---------- */
.tc-bail .tc-section--table {
    padding: 0;
    overflow: hidden;
}

    .tc-bail .tc-section--table .tc-section__head {
        padding: 2rem 2.25rem .75rem;
        margin-bottom: 0;
    }

.tc-bail .tc-offense-table thead th {
    background-color: #f5f7fa;
    color: var(--tc-ink);
    font-weight: 700;
    font-size: 1.0625rem;
    border-top: 0;
    border-bottom: 1px solid var(--tc-line);
    padding: 1.1rem 1.5rem;
    white-space: nowrap;
}

    .tc-bail .tc-offense-table thead th:first-child {
        padding-left: 2.25rem;
    }

.tc-bail .tc-offense-table tbody th,
.tc-bail .tc-offense-table tbody td {
    padding: 1.35rem 1.5rem;
    border-top: 0;
    border-bottom: 1px solid var(--tc-line);
    font-size: 1.0625rem;
    line-height: 1.55;
    color: #3d4659;
    vertical-align: top;
}

.tc-bail .tc-offense-table tbody .tc-offense-name {
    padding-left: 2.25rem;
    width: 44%;
    font-weight: 700;
    color: var(--tc-ink);
}

.tc-bail .tc-offense-table .tc-amount {
    font-weight: 700;
    color: var(--tc-ink);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.tc-bail .tc-muted {
    color: var(--tc-muted) !important;
}

.tc-bail .tc-empty-note {
    padding: 1.25rem 2.25rem;
    color: var(--tc-muted);
    border-top: 1px solid var(--tc-line);
}

/* ---------- Bail conditions ---------- */
.tc-bail .tc-conditions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 1.35rem 2.25rem;
}

.tc-bail .tc-conditions__label {
    font-family: var(--tc-sans);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.4;
    color: var(--tc-ink);
    margin: 0 1rem 0 0;
}

.tc-bail .tc-conditions__note {
    margin-left: 1rem;
    font-size: 1.0625rem;
    color: var(--tc-muted);
}

/* ---------- Bottom actions ---------- */
.tc-bail .tc-details__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-top: .5rem;
}

    .tc-bail .tc-details__actions .tc-btn.btn {
        text-decoration: none;
    }

/* ---------- Responsive ---------- */
@media (max-width: 991.98px) {
    .tc-bail .tc-dl__row dt {
        flex-basis: 35%;
        max-width: 35%;
    }
}

@media (max-width: 767.98px) {
    .tc-bail .tc-section {
        padding: 1.5rem 1.25rem 1rem;
        margin-bottom: 1.5rem;
    }

    .tc-bail .tc-section__icon {
        width: 2.75rem;
        height: 2.75rem;
        margin-right: .85rem;
    }

    .tc-bail .tc-section__title {
        font-size: 1.4375rem;
    }

    .tc-bail .tc-dl__row {
        display: block;
        padding: .9rem 0;
    }

        .tc-bail .tc-dl__row dt {
            max-width: none;
            padding-right: 0;
            margin-bottom: .2rem;
            font-size: .9375rem;
            color: var(--tc-muted);
        }

        .tc-bail .tc-dl__row dd {
            font-size: 1.0625rem;
        }

    .tc-bail .tc-section--table .tc-section__head {
        padding: 1.5rem 1.25rem .5rem;
    }

    /* stacked offense rows; explicit roles keep table semantics */
    .tc-bail .tc-offense-table,
    .tc-bail .tc-offense-table tbody,
    .tc-bail .tc-offense-table tr,
    .tc-bail .tc-offense-table tbody th,
    .tc-bail .tc-offense-table tbody td {
        display: block;
        width: 100% !important;
    }

        .tc-bail .tc-offense-table thead {
            position: absolute;
            width: 1px;
            height: 1px;
            overflow: hidden;
            clip: rect(0 0 0 0);
            white-space: nowrap;
        }

        .tc-bail .tc-offense-table tbody tr {
            padding: 1rem 1.25rem;
            border-top: 1px solid var(--tc-line);
        }

        .tc-bail .tc-offense-table tbody th,
        .tc-bail .tc-offense-table tbody td,
        .tc-bail .tc-offense-table tbody .tc-offense-name {
            padding: .3rem 0;
            border-bottom: 0;
            text-align: left !important;
        }

            .tc-bail .tc-offense-table tbody td::before {
                content: attr(data-label);
                display: block;
                font-size: .875rem;
                font-weight: 700;
                color: var(--tc-muted);
            }

        .tc-bail .tc-offense-table tbody .tc-offense-name {
            font-size: 1.125rem;
            margin-bottom: .25rem;
        }

    .tc-bail .tc-conditions {
        padding: 1.1rem 1.25rem 1.25rem;
        border-top: 1px solid var(--tc-line);
    }

    .tc-bail .tc-conditions__note {
        flex-basis: 100%;
        margin: .6rem 0 0;
    }

    .tc-bail .tc-details__actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

        .tc-bail .tc-details__actions .tc-btn.btn {
            justify-content: center;
            margin-bottom: 1rem;
        }

        .tc-bail .tc-details__actions .tc-back {
            align-self: flex-start;
        }
}

@media print {
    .tc-bail .tc-back,
    .tc-bail .tc-details__actions,
    #safe-close {
        display: none !important;
    }

    .tc-bail .tc-card {
        border-color: #999;
        break-inside: avoid;
    }

    .tc-bail .tc-section__icon,
    .tc-bail .tc-pill--solid {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
/* ---------------------------------------------------
        Bail form search results 
----------------------------------------------------- */

.tc-bail-results .tc-hero {
    padding-top: 1.5rem;
}

.tc-bail-results .tc-hero__title {
    margin-bottom: .6rem;
}

/* Search criteria summary */
.tc-bail .tc-criteria {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
}

.tc-bail .tc-criteria__item {
    margin: 0 .6rem .6rem 0;
    padding: .35rem .9rem;
    background-color: #fff;
    border: 1px solid var(--tc-line);
    border-radius: 999px;
    font-size: 1rem;
    color: var(--tc-ink);
    overflow-wrap: anywhere;
}

.tc-bail .tc-criteria__label {
    font-weight: 700;
}

.tc-bail .tc-results__filtered {
    color: var(--tc-muted);
}

/* heading receives focus after paging; keep it invisible */
#resultsTitle:focus {
    outline: none;
}

@media (max-width: 575.98px) {
    /* compact pager: Previous · current · Next */
    .tc-bail-results .dataTables_paginate .page-item:not(.previous):not(.next):not(.active) {
        display: none;
    }

    .tc-bail .tc-criteria__item {
        font-size: .9375rem;
    }
}
/* ---------------------------------------------------
        Bail forms search page (BailPublic/Index)
        Page-only styles, scoped to .bi-page
----------------------------------------------------- */

.bi-page {
    --bi-navy: #13295b;
    --bi-navy-700: #1c3a7a;
    --bi-red: #c8202f;
    --bi-ink: #1b2338;
    --bi-text: #3d4659;
    --bi-muted: #566074;
    --bi-line: #d6dbe4;
    --bi-field: #7f889b;
    --bi-surface: #ffffff;
    --bi-page: #f3f5f9;
    --bi-focus: #1a56c4;
    --bi-serif: "Merriweather", "Source Serif Pro", Georgia, "Times New Roman", serif;
    --bi-sans: "Nunito Sans", "Segoe UI", Arial, sans-serif;
    background-color: var(--bi-page);
    color: var(--bi-ink);
    font-family: var(--bi-sans);
    font-size: 1rem;
}

    .bi-page .bi-container {
        max-width: 1600px;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .bi-page a:focus-visible,
    .bi-page button:focus-visible,
    .bi-page select:focus-visible,
    .bi-page th:focus-visible {
        outline: 3px solid var(--bi-focus);
        outline-offset: 2px;
    }

    .bi-page #resultsTitle:focus {
        outline: none;
    }

/* ---------- Page header ---------- */
.bi-hero {
    background: linear-gradient(180deg, #e7edf6 0%, #f1f4f9 100%);
    border-bottom: 1px solid var(--bi-line);
    padding: 2.5rem 0 2.25rem;
}

.bi-hero__icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 5.25rem;
    height: 5.25rem;
    margin-right: 1.75rem;
    border-radius: 50%;
    background-color: var(--bi-red);
    color: #fff;
}

.bi-hero__title {
    font-family: var(--bi-serif);
    font-weight: 700;
    font-size: 2.75rem;
    line-height: 1.15;
    color: var(--bi-ink);
    margin: .35rem 0 .75rem;
}

.bi-hero__lead {
    max-width: 44rem;
    font-size: 1.1875rem;
    line-height: 1.6;
    color: var(--bi-text);
}

.bi-body {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
}

/* ---------- Cards ---------- */
.bi-card {
    background-color: var(--bi-surface);
    border: 1px solid var(--bi-line);
    border-radius: 6px;
}

.bi-card__title {
    font-family: var(--bi-serif);
    font-weight: 700;
    font-size: 1.625rem;
    line-height: 1.3;
    color: var(--bi-ink);
    margin: 0;
}

/* ---------- Filter panel ---------- */
.bi-filter {
    padding: 2rem 2.25rem;
    margin-bottom: 2rem;
}

.bi-filter__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.bi-filter__hint {
    margin-left: auto;
    padding-left: 1rem;
    font-size: 1rem;
    color: var(--bi-muted);
}

.bi-label {
    display: block;
    margin-bottom: .6rem;
    font-weight: 700;
    font-size: 1.0625rem;
    color: var(--bi-ink);
}

.bi-input.form-control {
    height: 3.5rem;
    padding: .75rem 1.1rem;
    font-size: 1.0625rem;
    color: var(--bi-ink);
    background-color: #fff;
    border: 1px solid var(--bi-field);
    border-radius: 4px;
}

    .bi-input.form-control::placeholder {
        color: #6b7385;
        opacity: 1;
    }

    .bi-input.form-control:hover {
        border-color: var(--bi-navy);
    }

    .bi-input.form-control:focus {
        border-color: var(--bi-navy);
        box-shadow: 0 0 0 3px rgba(26, 86, 196, .35);
        outline: 0;
    }

.bi-filter__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-top: .5rem;
}

/* ---------- Buttons ---------- */
.bi-btn.btn {
    display: inline-flex;
    align-items: center;
    min-height: 3.25rem;
    padding: .6rem 1.5rem;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.2;
    border: 2px solid var(--bi-navy);
    border-radius: 4px;
}

    .bi-btn.btn svg {
        margin-right: .6rem;
    }

    .bi-btn.btn:focus {
        box-shadow: none;
    }

.bi-btn--outline.btn {
    background-color: #fff;
    color: var(--bi-navy);
}

    .bi-btn--outline.btn:hover {
        background-color: #eef2f9;
        color: var(--bi-navy);
    }

/* ---------- Results bar ---------- */
.bi-results__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.bi-results__info {
    font-size: 1.0625rem;
    color: var(--bi-muted);
}

    .bi-results__info strong {
        color: var(--bi-ink);
    }

.bi-results__filtered {
    color: var(--bi-muted);
}

.bi-results__length {
    display: flex;
    align-items: center;
    font-size: 1.0625rem;
    color: var(--bi-muted);
}

.bi-select.custom-select {
    width: auto;
    height: 3rem;
    margin-left: .75rem;
    padding: .4rem 2rem .4rem .9rem;
    font-weight: 700;
    color: var(--bi-ink);
    border: 1px solid var(--bi-field);
    border-radius: 4px;
}

    .bi-select.custom-select:focus {
        border-color: var(--bi-navy);
        box-shadow: 0 0 0 3px rgba(26, 86, 196, .35);
    }

/* ---------- Table ---------- */
.bi-table-card {
    position: relative;
    overflow: hidden;
}

.bi-page table.dataTable.bi-table,
.bi-page .bi-table {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: collapse !important;
}

.bi-table thead th {
    padding: 1.35rem 1.5rem;
    background-color: #f5f7fa;
    border-top: 0;
    border-bottom: 1px solid var(--bi-line);
    font-weight: 700;
    font-size: 1.0625rem;
    color: var(--bi-ink);
    vertical-align: middle;
    white-space: nowrap;
}

.bi-table tbody td {
    padding: 1.35rem 1.5rem;
    border-top: 1px solid var(--bi-line);
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--bi-text);
    vertical-align: top;
}

.bi-table tbody tr:first-child td {
    border-top: 0;
}

.bi-table tbody tr:hover td {
    background-color: #fafbfd;
}

.bi-table td.bi-cell-name {
    width: 18%;
    font-weight: 700;
    color: var(--bi-ink);
}

.bi-table td.bi-cell-action {
    text-align: right;
    white-space: nowrap;
}

.bi-table td.bi-empty {
    padding: 2.5rem 1.5rem;
    text-align: center;
    color: var(--bi-muted);
}

.bi-cell-text {
    overflow-wrap: anywhere;
}

/* sort indicators (DataTables Bootstrap 4) */
.bi-page table.dataTable thead > tr > th.sorting,
.bi-page table.dataTable thead > tr > th.sorting_asc,
.bi-page table.dataTable thead > tr > th.sorting_desc {
    padding-right: 2.25rem;
    cursor: pointer;
}

.bi-page table.dataTable thead .sorting:before,
.bi-page table.dataTable thead .sorting:after,
.bi-page table.dataTable thead .sorting_asc:before,
.bi-page table.dataTable thead .sorting_asc:after,
.bi-page table.dataTable thead .sorting_desc:before,
.bi-page table.dataTable thead .sorting_desc:after {
    bottom: 1.3rem;
    color: var(--bi-muted);
}

.bi-page table.dataTable thead th:focus {
    outline: 3px solid var(--bi-focus);
    outline-offset: -3px;
}

/* View details link */
.bi-link {
    display: inline-flex;
    align-items: center;
    padding: .25rem 0;
    font-weight: 700;
    color: var(--bi-navy) !important;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

    .bi-link:hover {
        color: var(--bi-red) !important;
    }

.bi-link__arrow {
    flex: 0 0 auto;
    margin-left: .6rem;
}

/* ---------- Footer / pagination ---------- */
.bi-table-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-top: 1px solid var(--bi-line);
}

.bi-page-status {
    font-size: 1.0625rem;
    color: var(--bi-muted);
}

.bi-page .dataTables_wrapper .dataTables_paginate {
    margin: 0;
}

.bi-page .dataTables_paginate .pagination {
    flex-wrap: wrap;
    margin: 0 !important;
}

.bi-page .dataTables_wrapper .dataTables_paginate ul.pagination {
    margin: 0 !important;
    flex-wrap: wrap;
}

.bi-page .dataTables_paginate .page-item .page-link {
    min-width: 32px;
    min-height: 32px;
    margin: 0 .125rem;
    padding: .35rem .6rem;
    border: none;
    border-radius: 4px !important;
    background-color: transparent;
    color: #1c2540;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
}

    .bi-page .dataTables_paginate .page-item .page-link:hover {
        background-color: #e7edf6;
        color: #13294b;
    }

    .bi-page .dataTables_paginate .page-item .page-link:focus {
        outline: 3px solid #1747b8;
        outline-offset: 2px;
        box-shadow: none;
    }

.bi-page .dataTables_paginate .page-item.active .page-link {
    background-color: #13294b;
    color: #fff;
}

.bi-page .dataTables_paginate .page-item.disabled .page-link {
    background-color: transparent;
    color: #6b7280;
    font-weight: 700;
}

.bi-page .dataTables_paginate .page-item.previous .page-link,
.bi-page .dataTables_paginate .page-item.next .page-link {
    padding-left: .75rem;
    padding-right: .75rem;
}

.bi-page div.dataTables_wrapper div.dataTables_processing {
    top: 4rem;
    margin-top: 0;
    padding: 1rem;
    border-radius: 4px;
    background-color: var(--bi-navy) !important;
    color: #fff;
    font-weight: 700;
}

/* ---------- Responsive ---------- */
@media (max-width: 1199.98px) {
    .bi-hero__title {
        font-size: 2.375rem;
    }

    .bi-filter__hint {
        flex-basis: 100%;
        margin: .35rem 0 0;
        padding-left: 0;
    }
}

@media (max-width: 767.98px) {
    .bi-page .bi-container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .bi-hero {
        padding: 1.75rem 0 1.5rem;
    }

    .bi-hero__icon {
        width: 3.5rem;
        height: 3.5rem;
        margin-right: 1rem;
    }

        .bi-hero__icon svg {
            width: 24px;
            height: 24px;
        }

    .bi-hero__title {
        font-size: 1.875rem;
        margin-top: .25rem;
    }

    .bi-hero__lead {
        font-size: 1.0625rem;
    }

    .bi-body {
        padding-top: 1.5rem;
    }

    .bi-filter {
        padding: 1.25rem;
        margin-bottom: 1.5rem;
    }

    .bi-card__title {
        font-size: 1.375rem;
    }

    .bi-filter__actions .bi-btn {
        width: 100%;
        justify-content: center;
    }

    .bi-results__bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .bi-results__length {
        margin-top: .75rem;
    }

    /* stacked rows; ARIA roles set in script keep table semantics */
    .bi-table,
    .bi-table tbody,
    .bi-table tr,
    .bi-table td {
        display: block;
        width: 100% !important;
    }

        .bi-table thead {
            position: absolute;
            width: 1px;
            height: 1px;
            overflow: hidden;
            clip: rect(0 0 0 0);
            white-space: nowrap;
        }

        .bi-table tbody tr {
            padding: 1rem 1.25rem;
            border-top: 1px solid var(--bi-line);
        }

            .bi-table tbody tr:first-child {
                border-top: 0;
            }

        .bi-table tbody td {
            padding: .35rem 0;
            border-top: 0;
        }

            .bi-table tbody td[data-label]:not([data-label=""])::before {
                content: attr(data-label);
                display: block;
                font-size: .875rem;
                font-weight: 700;
                color: var(--bi-muted);
            }

        .bi-table td.bi-cell-name {
            font-size: 1.1875rem;
        }

            .bi-table td.bi-cell-name::before {
                display: none !important;
            }

        .bi-table td.bi-cell-action {
            padding-top: .75rem;
            text-align: left;
        }

    .bi-table-footer {
        flex-direction: column;
        align-items: flex-start;
        padding: 1rem 1.25rem;
    }

    .bi-page-status {
        margin-bottom: .75rem;
    }
}

@media (max-width: 575.98px) {
    /* compact pager: Previous · current · Next */
    .bi-page .dataTables_paginate .page-item:not(.previous):not(.next):not(.active) {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bi-page * {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important;
    }
}

@media (forced-colors: active) {
    .bi-hero__icon,
    .bi-btn.btn,
    .bi-page .dataTables_paginate .page-item .page-link {
        border: 1px solid CanvasText;
    }
}
/* ---------------------------------------------------
        Protective Order Details 
----------------------------------------------------- */
.po-details {
    --po-navy: #13254f;
    --po-ink: #1c2540;
    --po-text: #3d4657;
    --po-muted: #5a6475;
    --po-purple: #5b2fa0;
    --po-purple-soft: #efe9f9;
    --po-line: #dfe3ea;
    --po-surface: #ffffff;
    --po-band: #eef2f8;
    --po-focus: #1f4e9c;
    color: var(--po-text);
}
    /* ---------- Protective Order Details: centered layout ---------- */

    /* Full-width header band; content inside is centered */
    .po-details .po-hero {
        border-radius: 0;
        padding: 2.5rem 0;
        margin-bottom: 2rem;
    }

        .po-details .po-hero > .d-flex {
            width: 100%;
            max-width: 1280px;
            margin-left: auto;
            margin-right: auto;
            padding-left: 1rem;
            padding-right: 1rem;
        }

    /* Centered action bar and content column */
    .po-details > .po-actions,
    .po-details > .row {
        width: 100%;
        max-width: 1280px;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 1rem;
        padding-right: 1rem;
    }

        .po-details > .row > [class*="col-"] {
            flex: 0 0 100%;
            max-width: 100%;
            padding-left: 0;
            padding-right: 0;
        }

@media (max-width: 767.98px) {
    .po-details .po-hero {
        padding: 1.5rem 0;
        margin-bottom: 1.25rem;
    }

        .po-details .po-hero > .d-flex,
        .po-details > .po-actions,
        .po-details > .row {
            padding-left: .75rem;
            padding-right: .75rem;
        }
}

.po-details .po-serif {
    font-family: 'Source Serif Pro', 'Source Serif 4', Georgia, 'Times New Roman', serif;
    color: var(--po-ink);
    font-weight: 700;
    line-height: 1.2;
}

/* Header band */
.po-details .po-hero {
    background: linear-gradient(180deg, #e7eef8 0%, #f3f5f9 100%);
    border-bottom: 1px solid var(--po-line);
    border-radius: 4px;
    padding: 1.75rem 1.5rem;
    margin-bottom: 1.5rem;
}

.po-details .po-hero-icon {
    flex: 0 0 auto;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--po-purple);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-right: 1.25rem;
}

.po-details .po-title {
    font-size: 2.25rem;
    margin: 0 0 .75rem 0;
}

.po-details .po-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

    .po-details .po-meta li {
        margin: 0 1rem .5rem 0;
        font-size: 1rem;
    }

    .po-details .po-meta .po-cause {
        font-weight: 700;
        color: var(--po-ink);
    }

.po-details .po-pill {
    display: inline-block;
    padding: .3rem .85rem;
    border-radius: 999px;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.3;
}

.po-details .po-pill--type {
    background: var(--po-purple);
    color: #fff;
}

.po-details .po-status--expired {
    background: #fdecec;
    color: #9b1c1c;
    border: 1px solid #f3b9b9;
}

.po-details .po-status--active {
    background: #e6f4ea;
    color: #1b5e2e;
    border: 1px solid #a9d8b6;
}

.po-details .po-status--other {
    background: #fff4d6;
    color: #6b4200;
    border: 1px solid #f0d58a;
}

/* Action bar */
.po-details .po-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.po-details .po-back {
    color: var(--po-navy);
    font-weight: 700;
    font-size: 1rem;
    text-decoration: underline;
    display: inline-flex;
    align-items: center;
    padding: .5rem 0;
    margin-right: 1rem;
}

    .po-details .po-back:hover {
        color: #0b1735;
        text-decoration-thickness: 2px;
    }

    .po-details .po-back .fa {
        margin-right: .5rem;
    }

.po-details .po-btn-new {
    border: 2px solid var(--po-navy);
    color: var(--po-navy);
    background: #fff;
    font-weight: 700;
    font-size: 1rem;
    padding: .6rem 1.5rem;
    border-radius: 4px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

    .po-details .po-btn-new:hover {
        background: var(--po-navy);
        color: #fff;
        text-decoration: none;
    }

    .po-details .po-btn-new .fa {
        margin-right: .5rem;
    }

/* Cards */
.po-details .po-card {
    background: var(--po-surface);
    border: 1px solid var(--po-line);
    border-radius: 6px;
    padding: 1.75rem 2rem;
    margin-bottom: 1.5rem;
}

.po-details .po-card-head {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.po-details .po-card-icon {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--po-purple);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-right: .9rem;
}

.po-details .po-card-title {
    font-size: 1.6rem;
    margin: 0;
}

.po-details .po-card-intro {
    color: var(--po-muted);
    font-size: .95rem;
    margin: -.25rem 0 1rem 0;
}

/* Definition list rows */
.po-details .po-dl {
    margin: 0;
}

    .po-details .po-dl .po-row {
        display: flex;
        flex-wrap: wrap;
        border-bottom: 1px solid var(--po-line);
        padding: .9rem 0;
    }

        .po-details .po-dl .po-row:last-child {
            border-bottom: 0;
        }

    .po-details .po-dl dt {
        flex: 0 0 30%;
        max-width: 30%;
        font-weight: 700;
        color: var(--po-ink);
        font-size: 1rem;
        padding-right: 1rem;
    }

    .po-details .po-dl dd {
        flex: 1 1 0;
        margin: 0;
        font-size: 1rem;
        color: var(--po-text);
        word-break: break-word;
    }

/* Key dates */
.po-details .po-dates {
    list-style: none;
    margin: 0;
    padding: 0;
}

.po-details .po-date {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.po-details .po-date-label {
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--po-muted);
    margin: 0 0 .25rem 0;
}

.po-details .po-date-value {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--po-ink);
    margin: 0;
    line-height: 1.3;
}

.po-details .po-date-value--flag {
    color: #9b1c1c;
}

.po-details .po-date-hint {
    color: var(--po-muted);
    font-size: .9rem;
    margin: .2rem 0 0 0;
}

.po-details .po-footnote {
    border-top: 1px solid var(--po-line);
    padding-top: .75rem;
    margin: .5rem 0 0 0;
    font-size: .875rem;
    color: var(--po-muted);
}

/* Focus visibility (WCAG 2.4.7) */
.po-details a:focus,
.po-details button:focus {
    outline: 3px solid var(--po-focus);
    outline-offset: 3px;
    box-shadow: none;
}

/* Responsive */
@media (max-width: 767.98px) {
    .po-details .po-hero {
        padding: 1.25rem 1rem;
    }

    .po-details .po-hero-icon {
        width: 48px;
        height: 48px;
        font-size: 22px;
        margin-right: .9rem;
    }

    .po-details .po-title {
        font-size: 1.6rem;
    }

    .po-details .po-card {
        padding: 1.25rem 1rem;
    }

    .po-details .po-card-title {
        font-size: 1.3rem;
    }

    .po-details .po-dl dt,
    .po-details .po-dl dd {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .po-details .po-dl dt {
        margin-bottom: .25rem;
    }

    .po-details .po-actions .po-btn-new {
        width: 100%;
        justify-content: center;
        margin-top: .5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .po-details * {
        transition: none !important;
    }
}
/* ---------------------------------------------------
        Protective Order Results (redesign)
----------------------------------------------------- */
.po-results {
    --por-navy: #13254f;
    --por-ink: #1c2540;
    --por-text: #3d4657;
    --por-muted: #5a6475;
    --por-purple: #5b2fa0;
    --por-line: #dfe3ea;
    --por-head: #f4f6fa;
    --por-surface: #ffffff;
    --por-focus: #1f4e9c;
    color: var(--por-text);
}

    .po-results .po-results-serif {
        font-family: 'Source Serif Pro', 'Source Serif 4', Georgia, 'Times New Roman', serif;
        color: var(--por-ink);
        font-weight: 700;
        line-height: 1.2;
    }

    /* Centered page container (matches Citations page width) */
    .po-results .po-results-container {
        width: 100%;
        max-width: 1280px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .po-results .po-results-content {
        padding-bottom: 1.5rem;
    }

    /* Header band */
    .po-results .po-results-hero {
        background: linear-gradient(180deg, #e7eef8 0%, #f3f5f9 100%);
        border-bottom: 1px solid var(--por-line);
        padding: 2.5rem 0;
        margin-bottom: 3rem;
    }

    .po-results .po-results-hero-icon {
        flex: 0 0 auto;
        width: 64px;
        height: 64px;
        border-radius: 50%;
        background: var(--por-purple);
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 28px;
        margin-right: 1.25rem;
    }

    .po-results .po-results-title {
        font-size: 2.25rem;
        margin: 0 0 .5rem 0;
    }

    .po-results .po-results-lead {
        font-size: 1.05rem;
        line-height: 1.6;
        color: var(--por-text);
        max-width: 62ch;
        margin: 0;
    }

    /* Cards */
    .po-results .po-results-card {
        background: var(--por-surface);
        border: 1px solid var(--por-line);
        border-radius: 6px;
    }

    .po-results .po-results-filter {
        padding: 1.5rem 1.75rem;
        margin-bottom: 1.5rem;
    }

    .po-results .po-results-card-title {
        font-size: 1.5rem;
        margin: 0 1rem .25rem 0;
    }

    .po-results .po-results-hint {
        color: var(--por-muted);
        font-size: .9rem;
    }

    /* Filter fields */
    .po-results .po-results-label {
        font-weight: 700;
        color: var(--por-ink);
        font-size: 1rem;
        margin-bottom: .4rem;
    }

    .po-results .po-results-input {
        height: calc(1.5em + 1.25rem + 2px);
        padding: .625rem .875rem;
        font-size: 1rem;
        color: #1a2233;
        border: 1px solid #6b7688;
        border-radius: 2px;
    }

        .po-results .po-results-input::placeholder {
            color: #6b7280;
            opacity: 1;
        }

        .po-results .po-results-input:hover {
            border-color: #13285a;
        }

    .po-results .po-results-filter-actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        margin-top: .5rem;
    }

        .po-results .po-results-filter-actions .btn {
            min-height: 44px;
            font-size: 1rem;
            font-weight: 700;
            padding: .55rem 1.4rem;
            border-radius: 4px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-left: .75rem;
        }

            .po-results .po-results-filter-actions .btn .fa {
                margin-right: .5rem;
            }

    .po-results .po-results-btn-outline {
        border: 2px solid var(--por-navy);
        color: var(--por-navy);
        background: #fff;
    }

        .po-results .po-results-btn-outline:hover {
            background: #eef2f8;
            color: var(--por-navy);
        }

    .po-results .po-results-btn-primary {
        border: 2px solid var(--por-navy);
        background: var(--por-navy);
        color: #fff;
    }

        .po-results .po-results-btn-primary:hover {
            background: #0b1735;
            border-color: #0b1735;
            color: #fff;
            text-decoration: none;
        }

    /* DataTables toolbar (info + rows per page) */
    .po-results .po-results-toolbar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        margin-bottom: .75rem;
    }

        .po-results .po-results-toolbar .dataTables_info {
            padding-top: 0;
            font-size: 1rem;
            color: var(--por-muted);
        }

            .po-results .po-results-toolbar .dataTables_info strong {
                color: var(--por-ink);
            }

        .po-results .po-results-toolbar .dataTables_length label {
            display: flex;
            align-items: center;
            margin: 0;
            font-size: 1rem;
            color: var(--por-muted);
        }

        .po-results .po-results-toolbar .dataTables_length select {
            width: auto;
            height: 44px;
            min-width: 64px;
            margin-left: .6rem;
            font-weight: 700;
            color: var(--por-ink);
            border: 1px solid #767f8f;
            border-radius: 4px;
        }

    /* Table */
    .po-results .po-results-table-card {
        overflow: hidden;
    }

    .po-results table.po-results-table {
        width: 100% !important;
        margin: 0 !important;
        border-collapse: collapse !important;
    }

    .po-results .po-results-table thead th {
        background: var(--por-head);
        color: var(--por-ink);
        font-weight: 700;
        font-size: 1rem;
        border-top: 0;
        border-bottom: 1px solid var(--por-line);
        padding: 1rem 1.25rem;
        white-space: nowrap;
    }

    .po-results .po-results-table tbody td {
        font-size: 1rem;
        color: var(--por-text);
        border-top: 1px solid var(--por-line);
        padding: 1rem 1.25rem;
        vertical-align: middle;
    }

    .po-results .po-results-table tbody tr:first-child td {
        border-top: 0;
    }

    .po-results .po-results-table tbody tr:hover {
        background: #f8f9fc;
    }

    .po-results .po-results-table td.po-results-strong {
        font-weight: 700;
        color: var(--por-ink);
    }

    .po-results .po-results-table td.dataTables_empty {
        padding: 2rem 1.25rem;
        color: var(--por-text);
        text-align: center;
    }

    /* Status pills */
    .po-results .po-results-status {
        display: inline-block;
        padding: .25rem .8rem;
        border-radius: 999px;
        font-size: .875rem;
        font-weight: 700;
        line-height: 1.3;
    }

    .po-results .po-results-status--expired {
        background: #fdecec;
        color: #9b1c1c;
        border: 1px solid #f3b9b9;
    }

    .po-results .po-results-status--active {
        background: #e6f4ea;
        color: #1b5e2e;
        border: 1px solid #a9d8b6;
    }

    .po-results .po-results-status--other {
        background: #fff4d6;
        color: #6b4200;
        border: 1px solid #f0d58a;
    }

    /* View details link */
    .po-results .po-results-view {
        color: var(--por-navy);
        font-weight: 700;
        text-decoration: underline;
        white-space: nowrap;
        display: inline-block;
        padding: .25rem 0;
    }

        .po-results .po-results-view:hover {
            color: #0b1735;
            text-decoration-thickness: 2px;
        }

        .po-results .po-results-view .fa {
            margin-left: .5rem;
            text-decoration: none;
        }

    /* ---------- Footer / pagination (matches Citations & Local Rules) ---------- */
    .po-results .po-results-table-footer {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        padding: 1rem 1.25rem;
        border-top: 1px solid var(--por-line);
    }

    .po-results .po-results-page-status {
        font-size: 1rem;
        color: #4b5563;
    }

    .po-results .dataTables_wrapper .dataTables_paginate {
        margin: 0;
    }

        .po-results .dataTables_wrapper .dataTables_paginate ul.pagination {
            margin: 0 !important;
            flex-wrap: wrap;
        }

    .po-results .dataTables_paginate .page-item .page-link {
        min-width: 32px;
        min-height: 32px;
        margin: 0 .125rem;
        padding: .35rem .6rem;
        border: none;
        border-radius: 4px !important;
        background-color: transparent;
        color: #1c2540;
        font-size: 1rem;
        font-weight: 700;
        text-align: center;
    }

        .po-results .dataTables_paginate .page-item .page-link:hover {
            background-color: #e7edf6;
            color: #13294b;
        }

        .po-results .dataTables_paginate .page-item .page-link:focus {
            outline: 3px solid #1747b8;
            outline-offset: 2px;
            box-shadow: none;
        }

    .po-results .dataTables_paginate .page-item.active .page-link {
        background-color: #13294b;
        color: #fff;
    }

    .po-results .dataTables_paginate .page-item.disabled .page-link {
        background-color: transparent;
        color: #6b7280;
        font-weight: 700;
    }

    .po-results .dataTables_paginate .page-item.previous .page-link,
    .po-results .dataTables_paginate .page-item.next .page-link {
        padding-left: .75rem;
        padding-right: .75rem;
    }

    /* Processing indicator */
    .po-results div.dataTables_wrapper div.dataTables_processing {
        background: var(--por-navy) !important;
        color: #fff;
        border-radius: 4px;
        padding: .75rem 1rem;
        font-weight: 700;
        z-index: 5;
    }

    /* Responsive child rows (collapsed columns) */
    .po-results table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before,
    .po-results table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before {
        background-color: var(--por-navy);
        top: 50%;
        transform: translateY(-50%);
    }

    .po-results table.dataTable > tbody > tr.child ul.dtr-details > li {
        padding: .5rem 0;
        border-bottom: 1px solid var(--por-line);
    }

    .po-results table.dataTable > tbody > tr.child span.dtr-title {
        font-weight: 700;
        color: var(--por-ink);
        min-width: 140px;
    }

    /* Focus visibility (WCAG 2.4.7) */
    .po-results a:focus,
    .po-results button:focus,
    .po-results select:focus,
    .po-results .po-results-table thead th:focus {
        outline: 3px solid var(--por-focus);
        outline-offset: 2px;
        box-shadow: none;
        z-index: 2;
    }

    .po-results .po-results-input:focus {
        border-color: #1f4e9c;
        outline: 3px solid #1f4e9c;
        outline-offset: 0;
        box-shadow: none;
    }

/* Responsive */
@media (max-width: 767.98px) {
    .po-results .po-results-hero {
        padding: 1.5rem 0;
        margin-bottom: 1.5rem;
    }

    .po-results .po-results-container {
        padding-left: .75rem;
        padding-right: .75rem;
    }

    .po-results .po-results-hero-icon {
        width: 48px;
        height: 48px;
        font-size: 22px;
        margin-right: .9rem;
    }

    .po-results .po-results-title {
        font-size: 1.6rem;
    }

    .po-results .po-results-lead {
        font-size: 1rem;
    }

    .po-results .po-results-filter {
        padding: 1.25rem 1rem;
    }

    .po-results .po-results-card-title {
        font-size: 1.3rem;
    }

    .po-results .po-results-filter-actions {
        flex-direction: column-reverse;
    }

        .po-results .po-results-filter-actions .btn {
            width: 100%;
            margin: .5rem 0 0 0;
        }

    .po-results .po-results-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

        .po-results .po-results-toolbar .dataTables_length {
            margin-top: .5rem;
        }

    .po-results .po-results-table thead th,
    .po-results .po-results-table tbody td {
        padding: .85rem .75rem;
    }

    .po-results .po-results-table-footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .po-results .po-results-page-status {
        margin-bottom: .5rem;
    }
}

/* keep Previous / current / Next on small screens */
@media (max-width: 576px) {
    .po-results .dataTables_paginate .page-item:not(.previous):not(.next):not(.active) {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .po-results * {
        transition: none !important;
    }
}
/* ---------------------------------------------------
        Protective Order Search (redesign)
----------------------------------------------------- */
.po-search {
    --pos-navy: #13254f;
    --pos-ink: #1c2540;
    --pos-text: #3d4657;
    --pos-muted: #5a6475;
    --pos-purple: #5b2fa0;
    --pos-line: #dfe3ea;
    --pos-surface: #ffffff;
    --pos-error: #9b1c1c;
    --pos-focus: #1f4e9c;
    color: var(--pos-text);
}
    /* ---------- Protective Order Search: centered layout ---------- */

    /* Full-width header band; content inside is centered */
    .po-search .po-search-hero {
        border-radius: 0;
        padding: 2.5rem 0;
        margin-bottom: 3rem;
    }

        .po-search .po-search-hero > .d-flex,
        .po-search .po-search-hero > .po-search-container {
            width: 100%;
            max-width: 1280px;
            margin-left: auto;
            margin-right: auto;
            padding-left: 1rem;
            padding-right: 1rem;
        }

    /* Centered content column */
    .po-search > .row,
    .po-search > .po-search-container {
        width: 100%;
        max-width: 1280px;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 1rem;
        padding-right: 1rem;
    }

        .po-search > .row > [class*="col-"],
        .po-search > .po-search-container > .po-search-content {
            flex: 0 0 100%;
            max-width: 100%;
            padding-left: 0;
            padding-right: 0;
        }

@media (max-width: 767.98px) {
    .po-search .po-search-hero {
        padding: 1.5rem 0;
        margin-bottom: 1.5rem;
    }

        .po-search .po-search-hero > .d-flex,
        .po-search .po-search-hero > .po-search-container,
        .po-search > .row,
        .po-search > .po-search-container {
            padding-left: .75rem;
            padding-right: .75rem;
        }
}

.po-search .po-search-serif {
    font-family: 'Source Serif Pro', 'Source Serif 4', Georgia, 'Times New Roman', serif;
    color: var(--pos-ink);
    font-weight: 700;
    line-height: 1.2;
}

/* Centered page container (matches Citations page width) */
.po-search .po-search-container {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

.po-search .po-search-content {
    width: 100%;
    padding-bottom: 1.5rem;
}

/* Header band */
.po-search .po-search-hero {
    background: linear-gradient(180deg, #e7eef8 0%, #f3f5f9 100%);
    border-bottom: 1px solid var(--pos-line);
    padding: 2.5rem 0;
    margin-bottom: 3rem;
}

.po-search .po-search-hero-icon {
    flex: 0 0 auto;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--pos-purple);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-right: 1.25rem;
}

.po-search .po-search-title {
    font-size: 2.25rem;
    margin: 0 0 .5rem 0;
}

.po-search .po-search-lead {
    font-size: 1.05rem;
    line-height: 1.6;
    max-width: 66ch;
    margin: 0;
}

/* Cards */
.po-search .po-search-card {
    background: var(--pos-surface);
    border: 1px solid var(--pos-line);
    border-radius: 6px;
    padding: 1.75rem 2rem;
    margin-bottom: 1.5rem;
}

.po-search .po-search-form-card {
    border-bottom: 4px solid var(--pos-purple);
}

.po-search .po-search-card-title {
    font-size: 1.6rem;
    margin: 0 0 .5rem 0;
}

.po-search .po-search-card-title--sm {
    font-size: 1.4rem;
}

.po-search .po-search-intro {
    color: var(--pos-muted);
    font-size: 1rem;
    margin: 0 0 1.25rem 0;
}

.po-search .po-search-body {
    font-size: 1.05rem;
    line-height: 1.65;
}

/* Form fields */
.po-search .po-search-label {
    font-weight: 700;
    color: var(--pos-ink);
    font-size: 1rem;
    margin-bottom: .4rem;
}

.po-search .po-search-input {
    height: calc(1.5em + 1.25rem + 2px);
    padding: .625rem .875rem;
    font-size: 1rem;
    color: #1a2233;
    border: 1px solid #6b7688;
    border-radius: 2px;
}

    .po-search .po-search-input::placeholder {
        color: #6b7280;
        opacity: 1;
    }

    .po-search .po-search-input:hover {
        border-color: #13285a;
    }

    .po-search .po-search-input.input-validation-error {
        border: 2px solid var(--pos-error);
    }

.po-search .po-search-hint {
    display: block;
    color: var(--pos-muted);
    font-size: .9rem;
    margin-top: .4rem;
}

.po-search .po-search-error {
    display: block;
    color: var(--pos-error);
    font-size: .9rem;
    font-weight: 700;
    margin-top: .25rem;
}

.po-search .po-search-summary ul {
    margin: 0;
    padding-left: 1.25rem;
}

.po-search .po-search-summary.validation-summary-errors {
    background: #fdecec;
    border: 1px solid #f3b9b9;
    border-left: 4px solid var(--pos-error);
    color: var(--pos-error);
    font-weight: 700;
    padding: .75rem 1rem;
    border-radius: 4px;
    margin-bottom: 1rem;
}

.po-search .po-search-summary.validation-summary-valid {
    display: none;
}

/* Actions */
.po-search .po-search-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-top: .5rem;
}

    .po-search .po-search-actions .btn {
        min-height: 48px;
        min-width: 150px;
        font-size: 1rem;
        font-weight: 700;
        padding: .6rem 1.5rem;
        border-radius: 4px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-left: .75rem;
    }

        .po-search .po-search-actions .btn .fa {
            margin-right: .5rem;
        }

.po-search .po-search-btn-outline {
    border: 2px solid var(--pos-navy);
    color: var(--pos-navy);
    background: #fff;
}

    .po-search .po-search-btn-outline:hover {
        background: #eef2f8;
        color: var(--pos-navy);
    }

.po-search .po-search-btn-primary {
    border: 2px solid var(--pos-navy);
    background: var(--pos-navy);
    color: #fff;
}

    .po-search .po-search-btn-primary:hover {
        background: #0b1735;
        border-color: #0b1735;
        color: #fff;
    }

/* Before you search list */
.po-search .po-search-list {
    list-style: none;
    margin: .75rem 0 0 0;
    padding: 0;
}

    .po-search .po-search-list li {
        position: relative;
        padding-left: 1.75rem;
        margin-bottom: .85rem;
        font-size: 1.05rem;
        line-height: 1.6;
    }

        .po-search .po-search-list li:last-child {
            margin-bottom: 0;
        }

        .po-search .po-search-list li::before {
            content: '';
            position: absolute;
            left: .1rem;
            top: .6em;
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background: var(--pos-purple);
        }

/* Links */
.po-search .po-search-link {
    color: var(--pos-navy);
    font-weight: 700;
    text-decoration: underline;
    word-break: break-word;
}

    .po-search .po-search-link:hover {
        color: #0b1735;
        text-decoration-thickness: 2px;
    }

/* Focus visibility (WCAG 2.4.7) */
.po-search a:focus,
.po-search button:focus {
    outline: 3px solid var(--pos-focus);
    outline-offset: 3px;
    box-shadow: none;
}

.po-search .po-search-input:focus {
    border-color: #1f4e9c;
    outline: 3px solid #1f4e9c;
    outline-offset: 0;
    box-shadow: none;
}

/* Responsive */
@media (max-width: 767.98px) {
    .po-search .po-search-hero {
        padding: 1.5rem 0;
        margin-bottom: 1.5rem;
    }

    .po-search .po-search-container {
        padding-left: .75rem;
        padding-right: .75rem;
    }

    .po-search .po-search-hero-icon {
        width: 48px;
        height: 48px;
        font-size: 22px;
        margin-right: .9rem;
    }

    .po-search .po-search-title {
        font-size: 1.6rem;
    }

    .po-search .po-search-lead,
    .po-search .po-search-body,
    .po-search .po-search-list li {
        font-size: 1rem;
    }

    .po-search .po-search-card {
        padding: 1.25rem 1rem;
    }

    .po-search .po-search-card-title {
        font-size: 1.3rem;
    }

    .po-search .po-search-actions {
        flex-direction: column-reverse;
    }

        .po-search .po-search-actions .btn {
            width: 100%;
            margin: .5rem 0 0 0;
        }
}

@media (prefers-reduced-motion: reduce) {
    .po-search * {
        transition: none !important;
    }
}
