:root {
    --primary: #0f766e;
    --primary-dark: #0b5f59;
    --soft: #f4fbfa;
    --border: #dceae8;
    --text: #1f2937;
    --app-font: 'Cairo', sans-serif;
}

html {
    font-size: 17px;
}

body {
    font-family: var(--app-font);
    background: #f6f8fb;
    color: var(--text);
    line-height: 1.65;
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 1080;
    padding: .8rem 0 .65rem;
    background:
        linear-gradient(180deg, rgba(244, 248, 252, 0.96), rgba(246, 248, 251, 0.86));
    border-bottom: 1px solid rgba(219, 230, 238, 0.95);
    backdrop-filter: blur(16px);
    box-shadow: 0 14px 36px rgba(18, 63, 107, 0.08);
}

.topbar__inner {
    min-height: 72px;
    border: 1px solid rgba(223, 232, 240, 0.95);
    border-radius: 26px;
    padding-block: .85rem;
    gap: 1rem;
    background:
        radial-gradient(circle at top right, rgba(47, 169, 224, 0.12), transparent 24%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 253, 0.96));
    box-shadow: 0 18px 46px rgba(18, 63, 107, 0.06);
    overflow: visible;
}

.topbar-brand {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    text-decoration: none;
    padding-inline: .35rem;
    margin-inline-end: 1rem;
}

.topbar-brand__eyebrow {
    color: #8b6a36;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.topbar-brand strong {
    color: #123f6b;
    font-size: 1.12rem;
    font-weight: 900;
}

.topbar-nav .nav-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-inline: .9rem !important;
    border-radius: 16px;
    color: #3b4b5d;
    font-weight: 800;
    border: 1px solid transparent;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}

.topbar-nav .nav-link:hover,
.topbar-nav .nav-link:focus {
    background: rgba(255, 255, 255, 0.95);
    color: #123f6b;
    border-color: #dde8f2;
    box-shadow: 0 10px 24px rgba(18, 63, 107, 0.08);
    transform: translateY(-1px);
}

.topbar-dropdown {
    min-width: 230px;
    border: 1px solid #e1eaf2;
    border-radius: 18px;
    padding: .45rem;
    box-shadow: 0 18px 36px rgba(18, 63, 107, 0.12);
    background: rgba(255, 255, 255, 0.98);
    z-index: 1095;
    margin-top: .45rem;
}

.topbar-dropdown .dropdown-item {
    min-height: 42px;
    display: flex;
    align-items: center;
    border-radius: 12px;
    color: #3b4b5d;
    font-weight: 800;
    padding-inline: .85rem;
}

.topbar-dropdown .dropdown-item:hover,
.topbar-dropdown .dropdown-item:focus {
    background: #f3f7fb;
    color: #123f6b;
}

.topbar .navbar-collapse {
    gap: 1rem;
}

.topbar-nav {
    min-width: 0;
    flex-wrap: wrap;
    row-gap: .55rem;
    align-items: center;
}

.topbar-nav .nav-item {
    flex: 0 0 auto;
}

.topbar-nav .dropdown-toggle::after {
    margin-inline-start: .45rem;
    vertical-align: middle;
}

.topbar-user {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: .65rem .8rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #e1eaf2;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.topbar-user--mobile {
    display: none;
}

.topbar-user__meta {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
}

.topbar-user__label {
    color: #7b8593;
    font-size: .72rem;
    font-weight: 700;
}

.topbar-user__meta strong {
    color: #123f6b;
    font-size: .95rem;
    font-weight: 900;
}

@media (min-width: 992px) {
    .topbar .navbar-collapse {
        display: flex !important;
        align-items: center;
    }

    .topbar-nav {
        display: flex;
        flex-wrap: wrap;
        max-width: calc(100% - 250px);
        column-gap: .35rem;
    }

    .topbar-user--desktop {
        flex: 0 0 auto;
        align-self: center;
        margin-inline-start: auto;
    }

    .topbar-user--mobile {
        display: none !important;
    }
}

@media (max-width: 1399.98px) {
    .topbar__inner {
        padding-block: .75rem;
    }

    .topbar .navbar-collapse {
        padding-top: .9rem;
    }
}

.news-ticker {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.08);
    position: relative;
    overflow: hidden;
    z-index: 1030;
}

.news-ticker--general {
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.08), transparent 18%, transparent 82%, rgba(255, 255, 255, 0.08));
}

.news-ticker--condolence {
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.05), transparent 20%, transparent 80%, rgba(255, 255, 255, 0.05));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 10px 24px rgba(0, 0, 0, 0.18);
}

.news-ticker--congratulations {
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.11), transparent 18%, transparent 82%, rgba(255, 255, 255, 0.11));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 10px 26px rgba(21, 80, 138, 0.22);
}

.news-ticker--condolence .news-ticker-badge {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #f6f4ef;
}

.news-ticker--congratulations .news-ticker-badge {
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

.news-ticker__inner {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 52px;
    overflow: hidden;
    padding-block: .55rem;
}

.news-ticker-track {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    position: relative;
    isolation: isolate;
    direction: ltr;
}

.news-ticker-track::before,
.news-ticker-track::after {
    content: "";
    position: absolute;
    inset-block: 0;
    width: 72px;
    z-index: 2;
    pointer-events: none;
}

.news-ticker-track::before {
    inset-inline-start: 0;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.22), transparent);
}

.news-ticker-track::after {
    inset-inline-end: 0;
    background: linear-gradient(to left, rgba(0, 0, 0, 0.22), transparent);
}

.news-ticker--condolence .news-ticker-track::before {
    background: linear-gradient(to right, rgba(10, 10, 10, 0.62), transparent);
}

.news-ticker--condolence .news-ticker-track::after {
    background: linear-gradient(to left, rgba(10, 10, 10, 0.62), transparent);
}

.news-ticker--congratulations .news-ticker-track::before {
    background: linear-gradient(to right, rgba(21, 80, 138, 0.62), transparent);
}

.news-ticker--congratulations .news-ticker-track::after {
    background: linear-gradient(to left, rgba(21, 80, 138, 0.62), transparent);
}

.news-ticker-marquee {
    position: relative;
    display: block;
    width: 100%;
    min-width: 100%;
    will-change: transform;
    direction: ltr;
}

.news-ticker-marquee__group {
    position: absolute;
    top: 0;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 1.25rem;
    padding-inline-end: 1.25rem;
    white-space: nowrap;
    direction: rtl;
}

.news-ticker-marquee--static {
    position: static;
    width: auto;
    min-width: auto;
    height: auto !important;
    transform: none !important;
}

.news-ticker-marquee--static .news-ticker-message {
    white-space: normal;
}

.news-ticker-marquee--static .news-ticker-marquee__group {
    position: static;
}

.news-ticker-separator {
    opacity: .55;
    font-weight: 800;
    transform: translateY(-1px);
}

.news-ticker--condolence .news-ticker-separator {
    opacity: .35;
    color: rgba(255, 255, 255, 0.72);
}

.news-ticker--congratulations .news-ticker-separator {
    opacity: .7;
    color: rgba(255, 255, 255, 0.92);
}

.news-ticker-preview {
    padding: 1rem 1.25rem;
    border-radius: 18px;
    overflow: hidden;
}

.news-ticker-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: .35rem .8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-size: .83rem;
    font-weight: 800;
    letter-spacing: .01em;
    backdrop-filter: blur(4px);
}

.news-ticker-message {
    font-size: 1.02rem;
    font-weight: 800;
    line-height: 1.75;
    letter-spacing: .01em;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.14);
    direction: rtl;
    unicode-bidi: plaintext;
}

.news-ticker-item-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: .18rem .65rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.14);
    font-size: .8rem;
    font-weight: 800;
    white-space: nowrap;
}

.news-ticker--condolence .news-ticker-message {
    font-weight: 700;
    letter-spacing: 0;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.28);
}

.news-ticker--congratulations .news-ticker-message {
    font-weight: 800;
    text-shadow: 0 1px 10px rgba(8, 36, 64, 0.24);
}

.news-ticker-link {
    text-decoration: none;
    font-weight: 800;
    white-space: nowrap;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.16);
    padding: .42rem .8rem;
    border-radius: 999px;
    transition: background .2s ease, opacity .2s ease;
}

.news-ticker-link:hover {
    opacity: 1;
    background: rgba(255, 255, 255, 0.2);
}

.news-ticker--condolence .news-ticker-link {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
}

.news-ticker--condolence .news-ticker-link:hover {
    background: rgba(255, 255, 255, 0.14);
}

.news-ticker--congratulations .news-ticker-link {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.2);
}

.ticker-admin-card {
    padding: 1rem;
    border: 1px solid #e6eef4;
    border-radius: 18px;
    background: #fbfdff;
}

.ticker-template-actions {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.ticker-admin-card__head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.navbar-brand {
    color: var(--primary) !important;
}

.nav-link {
    font-weight: 700;
}

.hero-card,
.metric-card,
.content-card,
.login-card,
.quick-action-card {
    background: #fff;
    border: 1px solid #e6eef4;
    border-radius: 22px;
}

.hero-card,
.content-card,
.login-card {
    padding: 1.5rem;
}

.dashboard-hero {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
    flex-wrap: wrap;
}

.dashboard-kicker {
    display: inline-block;
    margin-bottom: .6rem;
    color: var(--primary);
    font-size: .85rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.dashboard-hero-actions {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
}

.quick-action-card {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    min-height: 170px;
    padding: 1.25rem;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 10px 30px rgba(15, 118, 110, 0.05);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.quick-action-card:hover {
    transform: translateY(-2px);
    border-color: #cfe3df;
    box-shadow: 0 16px 36px rgba(15, 118, 110, 0.08);
}

.quick-action-card--accent {
    background: linear-gradient(135deg, #f2fcfb, #f6fbff);
}

.quick-action-eyebrow {
    color: var(--primary);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.quick-action-card strong {
    font-size: 1.1rem;
}

.quick-action-card small {
    color: #6b7280;
    line-height: 1.8;
    font-size: .92rem;
}

.metric-card {
    padding: 1.25rem;
    min-height: 132px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 10px 30px rgba(15, 118, 110, 0.05);
}

.metric-card span {
    color: #6b7280;
    font-weight: 700;
}

.metric-card strong {
    font-size: 2rem;
    color: var(--primary);
}

.content-card {
    box-shadow: 0 10px 30px rgba(15, 118, 110, 0.04);
}

.report-item,
.announcement-card {
    background: var(--soft);
    border-radius: 16px;
    padding: 1rem;
}

.activity-item {
    display: flex;
    align-items: start;
    gap: .85rem;
    padding: 1rem;
    border: 1px solid #e9eff5;
    border-radius: 18px;
    background: #fbfdff;
}

.activity-dot {
    width: 12px;
    height: 12px;
    margin-top: .4rem;
    border-radius: 999px;
    background: var(--primary);
    box-shadow: 0 0 0 6px rgba(15, 118, 110, 0.12);
    flex: 0 0 auto;
}

.activity-body {
    flex: 1;
    min-width: 0;
}

.report-item.bordered {
    border: 1px solid var(--border);
}

.submission-card {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.submission-card__content {
    white-space: pre-line;
    line-height: 1.95;
}

.submission-card__notes {
    display: flex;
    gap: .35rem;
    flex-wrap: wrap;
    padding: .75rem .9rem;
    border-radius: 14px;
    background: rgba(15, 118, 110, 0.08);
    color: #334155;
    font-size: .93rem;
}

.submission-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: .22rem .7rem;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .01em;
}

.submission-status--approved {
    background: rgba(22, 163, 74, 0.12);
    color: #166534;
}

.submission-status--rejected {
    background: rgba(220, 38, 38, 0.1);
    color: #991b1b;
}

.submission-status--deleted {
    background: rgba(217, 119, 6, 0.14);
    color: #92400e;
}

.login-page {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at top right, rgba(15,118,110,.14), transparent 30%),
        linear-gradient(135deg, #f6fffd, #f2f6ff);
}

.login-wrapper {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 1.25rem;
}

.login-card {
    width: 100%;
    max-width: 470px;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.1);
}

.brand-badge {
    width: 70px;
    height: 70px;
    margin-inline: auto;
    border-radius: 20px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--primary), #164e63);
    color: #fff;
    font-size: 1.8rem;
    font-weight: 800;
}

.btn-primary {
    background: var(--primary);
    border-color: var(--primary);
}

.btn-primary:hover,
.btn-primary:focus {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
}

.form-control,
.form-select {
    border-radius: 14px;
    padding: 0.8rem 1rem;
    border-color: #d9e3ec;
}

.text-truncate-table {
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.table th {
    color: #6b7280;
    font-weight: 800;
}

.page-header {
    padding-inline: .25rem;
}

.report-hero {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 1.25rem 1.5rem;
    align-items: center;
    padding: 1.75rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at top left, rgba(47, 169, 224, 0.18), transparent 28%),
        radial-gradient(circle at bottom right, rgba(21, 80, 138, 0.14), transparent 30%),
        linear-gradient(135deg, #f8fcff, #eef6ff 58%, #ffffff);
    border: 1px solid #deebf5;
}

.report-hero__brand {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: start;
    justify-self: end;
}

.report-hero__logo {
    width: 280px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.report-hero__org {
    color: #15508A;
    font-size: 1rem;
    font-weight: 800;
    margin-bottom: .4rem;
    text-align: center;
}

.report-hero__meta {
    color: #64748b;
    font-size: .88rem;
    font-weight: 700;
    margin-top: .55rem;
    text-align: center;
}

.report-hero__content {
    text-align: center;
}

.report-hero__actions {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    grid-column: 1 / -1;
    padding-top: .9rem;
    border-top: 1px solid rgba(21, 80, 138, 0.12);
}

.report-summary-card,
.report-body-card {
    height: 100%;
}

.report-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    margin-bottom: .75rem;
}

.report-summary-stat {
    border: 1px solid #e4edf5;
    border-radius: 18px;
    padding: .7rem .55rem;
    background: #fbfdff;
    text-align: center;
}

.report-summary-stat strong {
    display: block;
    color: #15508A;
    font-size: 1.05rem;
    font-weight: 800;
    margin-bottom: .2rem;
}

.report-summary-stat span {
    display: block;
    color: #64748b;
    font-size: .76rem;
    font-weight: 700;
}

.report-intro {
    border-top: 1px solid #ebf1f6;
    padding-top: .75rem;
    color: #475569;
    line-height: 1.75;
}

.report-body-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .65rem;
    flex-wrap: wrap;
}

.report-body-card__hint {
    color: #64748b;
    font-size: .82rem;
    font-weight: 700;
}

.report-month-groups {
    display: grid;
    gap: .75rem;
}

.report-month-group {
    border: 1px solid #e5edf4;
    border-radius: 22px;
    padding: .8rem;
    background: linear-gradient(180deg, #f9fcff, #ffffff 26%);
}

.report-month-group__title {
    font-size: 1rem;
    font-weight: 800;
    color: #15508A;
    margin-bottom: .55rem;
}

.report-timeline {
    display: grid;
    gap: .9rem;
}

.report-entry {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid #e7eef5;
    background: #fff;
}

.report-entry__date {
    display: inline-flex;
    align-items: start;
    justify-content: center;
    padding: .5rem .75rem;
    border-radius: 14px;
    background: #edf6ff;
    color: #15508A;
    font-weight: 800;
    font-size: .92rem;
}

.report-entry__title {
    margin: 0 0 .35rem;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.7;
}

.report-entry__meta {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    margin-bottom: .55rem;
    color: #64748b;
    font-size: .86rem;
    font-weight: 700;
}

.report-entry__excerpt {
    margin: 0 0 .65rem;
    color: #475569;
    line-height: 1.95;
}

.report-entry__fulltext {
    margin: 0 0 .8rem;
    color: #334155;
    line-height: 2;
    white-space: pre-wrap;
}

.report-entry__gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: .75rem;
    margin: 0 0 .85rem;
}

.report-entry__gallery-item {
    display: block;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #dfe8f1;
    background: #fff;
}

.report-entry__gallery-item img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

.report-entry__link {
    color: #15508A;
    text-decoration: none;
    font-weight: 800;
}

.share-message {
    white-space: pre-wrap;
    word-break: break-word;
    font-family: var(--app-font);
    font-size: 1rem;
    line-height: 1.9;
}

.news-image-list {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.news-image-list img,
.edit-news-image {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: #fff;
}

.image-edit-card {
    padding: .85rem;
    border: 1px solid #e6eef4;
    border-radius: 16px;
    background: #fbfdff;
}

.news-title-link {
    color: inherit;
    text-decoration: none;
}

.news-title-link:hover {
    color: var(--primary);
}

.news-details-meta {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.news-details-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: .35rem .85rem;
    border-radius: 999px;
    background: #f3f8fd;
    border: 1px solid #dde8f3;
    color: #526172;
    font-size: .84rem;
    font-weight: 800;
}

.news-details-title {
    font-size: clamp(1.6rem, 2.5vw, 2.4rem);
    font-weight: 800;
    margin-bottom: 1.25rem;
}

.news-details-content {
    white-space: pre-wrap;
    line-height: 2;
    font-size: 1.05rem;
    color: #334155;
}

.news-details-actions {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    padding-top: 1rem;
    border-top: 1px solid #ebf1f6;
}

.news-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.news-gallery-item {
    display: block;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid var(--border);
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 118, 110, 0.08);
}

.news-gallery-item img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
}

.news-image-overlay {
    position: relative;
    display: block;
    overflow: hidden;
}

.news-image-overlay__frame {
    display: none;
}

.news-image-overlay img {
    position: relative;
    z-index: 1;
}

.news-image-overlay--card,
.news-image-overlay--card img {
    width: 100%;
    height: 220px;
}

.news-image-overlay--card img {
    object-fit: cover;
    display: block;
}

.news-image-overlay--edit {
    border-radius: 18px;
}

.news-image-overlay--report,
.news-image-overlay--report img {
    width: 100%;
    height: 100%;
}

.news-image-overlay--report img,
.news-image-overlay--print img {
    object-fit: cover;
    display: block;
}

.news-image-overlay--print,
.news-image-overlay--print img {
    width: 100%;
    height: 100%;
}

.share-link {
    color: var(--primary);
    word-break: break-all;
    text-decoration: none;
    font-weight: 700;
}

.public-news-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 1rem 1.25rem;
    align-items: center;
    border-radius: 28px;
    padding: 2rem;
    background:
        radial-gradient(circle at top right, rgba(15, 118, 110, 0.18), transparent 28%),
        linear-gradient(135deg, #f5fffc, #eef6ff 60%, #ffffff);
    border: 1px solid #dfece9;
}

.public-news-hero__brand {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid #dbe8f4;
    box-shadow: 0 16px 34px rgba(21, 80, 138, 0.08);
}

.public-news-hero__logo {
    width: 190px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.public-news-hero--detail {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    padding: 2.25rem;
}

.public-news-kicker {
    display: inline-block;
    margin-bottom: .85rem;
    color: var(--primary);
    font-weight: 800;
    font-size: .9rem;
}

.public-news-title {
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: 800;
    margin-bottom: .85rem;
}

@media (max-width: 767.98px) {
    .dashboard-hero-actions {
        width: 100%;
    }

    .dashboard-hero-actions .btn {
        flex: 1 1 100%;
    }

    .activity-item {
        flex-wrap: wrap;
    }

    .news-ticker__inner {
        align-items: start;
        flex-wrap: wrap;
    }

    .news-ticker-link {
        width: 100%;
    }

    .news-details-pill {
        width: 100%;
        justify-content: center;
    }

    .news-details-title {
        font-size: 1.45rem;
        line-height: 1.55;
        margin-bottom: .9rem;
    }

    .news-details-content {
        font-size: .97rem;
        line-height: 1.9;
    }

    .news-gallery {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .news-gallery-item img {
        height: 220px;
    }

    .news-image-overlay--card,
    .news-image-overlay--card img {
        height: 180px;
    }

    .news-details-actions .btn {
        width: 100%;
    }
}

.public-news-subtitle {
    max-width: 760px;
    color: #5f6b7a;
    font-size: 1.05rem;
    line-height: 1.9;
    margin-bottom: 0;
}

.public-news-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: 1rem;
}

.public-news-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: .35rem .8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid #dbe8f4;
    color: #15508A;
    font-size: .82rem;
    font-weight: 800;
}

.public-news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.25rem;
}

.public-news-card {
    background: #fff;
    border: 1px solid #e5eef3;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(15, 118, 110, 0.08);
}

.public-news-card__image-link {
    display: block;
}

.public-news-card__image,
.public-news-card__placeholder {
    width: 100%;
    height: 220px;
}

.public-news-card__image {
    object-fit: cover;
    display: block;
}

.public-news-card__placeholder {
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #dff8f2, #edf5ff);
    color: var(--primary);
    font-size: 1.1rem;
    font-weight: 800;
}

.public-news-card__body {
    padding: 1.2rem;
}

.public-news-card__meta {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    margin-bottom: .75rem;
}

.public-news-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: .28rem .72rem;
    border-radius: 999px;
    background: #f3f8fd;
    border: 1px solid #dde8f3;
    color: #5b6878;
    font-size: .8rem;
    font-weight: 800;
}

.public-news-card__title {
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.6;
    margin-bottom: .65rem;
}

.public-news-card__title a {
    color: var(--text);
    text-decoration: none;
}

.public-news-card__title a:hover,
.public-news-card__link:hover {
    color: var(--primary);
}

.public-news-card__excerpt {
    color: #5f6b7a;
    line-height: 1.9;
    margin-bottom: 1rem;
}

.public-news-card__link {
    color: var(--primary);
    font-weight: 800;
    text-decoration: none;
}

.public-portal-hero {
    display: grid;
    grid-template-columns: 390px minmax(0, 1.15fr) minmax(220px, .68fr);
    gap: 1.25rem;
    align-items: stretch;
    padding: 2rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at top left, rgba(47, 169, 224, 0.18), transparent 28%),
        radial-gradient(circle at bottom right, rgba(21, 80, 138, 0.16), transparent 30%),
        linear-gradient(135deg, #f8fdff, #eef7ff 55%, #ffffff);
    border: 1px solid #ddebf6;
}

.public-portal-hero__brand {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid #dbe8f4;
    box-shadow: 0 18px 40px rgba(21, 80, 138, 0.08);
}

.public-portal-hero__logo {
    width: 330px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.public-portal-hero__actions {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    margin-top: 1.4rem;
}


.public-portal-shortcuts {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1rem;
}

.public-portal-insights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1rem;
}

.public-portal-insight {
    padding: .95rem 1rem;
    border-radius: 18px;
    border: 1px solid #dbe8f5;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 10px 24px rgba(21, 80, 138, 0.06);
}

.public-portal-insight span {
    display: block;
    color: #64748b;
    font-size: .8rem;
    font-weight: 700;
}

.public-portal-insight strong {
    display: block;
    margin-top: .3rem;
    color: #15508A;
    font-size: 1.3rem;
    font-weight: 900;
}

.public-portal-shortcut {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: .5rem .95rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #dbe8f5;
    color: #15508A;
    text-decoration: none;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(21, 80, 138, 0.08);
}

.public-portal-shortcut:hover {
    color: #0f3f6f;
    background: #ffffff;
}


.public-portal-stats {
    display: grid;
    gap: .9rem;
}

.public-portal-stat {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid #dce9f5;
    border-radius: 22px;
    padding: 1.2rem 1.1rem;
    box-shadow: 0 18px 38px rgba(21, 80, 138, 0.08);
}

.public-portal-stat strong {
    display: block;
    font-size: 1.8rem;
    color: #15508A;
    font-weight: 800;
    margin-bottom: .2rem;
}

.public-portal-stat span {
    color: #64748b;
    font-weight: 700;
}

.portal-section {
    margin-top: 1rem;
    padding: 1.2rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid #e5eef5;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.04);
}

.portal-section__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.portal-section__title {
    margin: 0;
    font-size: 1.7rem;
    font-weight: 800;
}

.portal-section__link {
    color: #15508A;
    text-decoration: none;
    font-weight: 800;
}

.portal-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.portal-panel {
    border-radius: 26px;
    padding: 1.4rem;
    border: 1px solid #e5eef5;
    background: #fff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.portal-panel--congratulations {
    background:
        linear-gradient(180deg, rgba(47, 169, 224, 0.08), rgba(255, 255, 255, 0.96) 34%),
        #fff;
}

.portal-panel--condolence {
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.07), rgba(255, 255, 255, 0.98) 34%),
        #fff;
}

.portal-announcement-list,
.portal-announcement-archive {
    display: grid;
    gap: .95rem;
}

.portal-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.portal-section-card {
    border-radius: 24px;
}

.portal-section-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .85rem;
}

.portal-section-card__list {
    display: grid;
    gap: .8rem;
}

.portal-section-card__item {
    padding: .95rem 1rem;
    border: 1px solid #e5edf4;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 254, 0.98));
}

.portal-announcement-card,
.portal-archive-card,
.portal-appointment-card {
    border: 1px solid #e5edf4;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.92);
    padding: 1rem 1.05rem;
}

.portal-announcement-card__meta {
    color: #64748b;
    font-size: .88rem;
    font-weight: 700;
    margin-bottom: .45rem;
}

.portal-announcement-card__title {
    margin: 0 0 .45rem;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.7;
}

.portal-announcement-card__title a {
    color: var(--text);
    text-decoration: none;
}

.portal-announcement-card__title a:hover {
    color: #15508A;
}

.portal-announcement-card__excerpt {
    margin: 0;
    color: #556274;
    line-height: 1.95;
}

.portal-announcement-empty {
    color: #6b7280;
    background: rgba(255, 255, 255, 0.82);
    border: 1px dashed #d9e7f1;
    border-radius: 18px;
    padding: 1rem;
    text-align: center;
    font-weight: 700;
}

.portal-appointments {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}

.portal-filters {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
}

.portal-search-form {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    width: 100%;
}

.portal-search-input {
    flex: 1 1 320px;
    min-height: 46px;
    border-radius: 16px;
}

.portal-filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: .55rem 1rem;
    border-radius: 999px;
    border: 1px solid #d9e8f4;
    background: #fff;
    color: #334155;
    text-decoration: none;
    font-weight: 800;
}

.portal-filter.is-active {
    background: #15508A;
    color: #fff;
    border-color: #15508A;
}

.portal-archive-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .6rem;
    flex-wrap: wrap;
}

.portal-archive-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: .25rem .75rem;
    border-radius: 999px;
    background: #edf6ff;
    color: #15508A;
    font-size: .86rem;
    font-weight: 800;
}

.portal-archive-card--condolences .portal-archive-card__badge {
    background: #f2f4f7;
    color: #111827;
}

.portal-archive-card--appointment .portal-archive-card__badge {
    background: #eefbf7;
    color: #0f766e;
}

.portal-archive-card--obituary .portal-archive-card__badge {
    background: #f4f4f5;
    color: #27272a;
}

.public-news-hero--announcement.public-news-hero--congratulations {
    background:
        radial-gradient(circle at top left, rgba(47, 169, 224, 0.22), transparent 28%),
        linear-gradient(135deg, #f5fbff, #edf6ff 60%, #ffffff);
}

.public-news-hero--announcement.public-news-hero--condolences {
    background:
        radial-gradient(circle at top left, rgba(15, 23, 42, 0.12), transparent 28%),
        linear-gradient(135deg, #fbfbfc, #f3f5f8 60%, #ffffff);
}

.public-news-hero--announcement.public-news-hero--appointment {
    background:
        radial-gradient(circle at top left, rgba(15, 118, 110, 0.16), transparent 28%),
        linear-gradient(135deg, #f4fffb, #effcf7 60%, #ffffff);
}

.public-news-hero--announcement.public-news-hero--obituary {
    background:
        radial-gradient(circle at top left, rgba(39, 39, 42, 0.12), transparent 28%),
        linear-gradient(135deg, #fafafa, #f5f5f5 60%, #ffffff);
}

.calendar-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.calendar-toolbar__title {
    font-size: 1.2rem;
    font-weight: 900;
    color: #15508A;
}

.calendar-grid-wrap {
    background: #fff;
    border: 1px solid #e5edf4;
    border-radius: 24px;
    padding: 1rem;
}

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: .75rem;
}

.calendar-grid__head {
    text-align: center;
    font-weight: 800;
    color: #64748b;
    padding: .5rem;
    font-size: .92rem;
}

.calendar-day {
    min-height: 150px;
    border: 1px solid #e5edf4;
    border-radius: 18px;
    padding: .8rem;
    background: linear-gradient(180deg, #ffffff, #f9fbfd);
    display: flex;
    flex-direction: column;
    gap: .7rem;
}

.calendar-day--muted {
    background: #f8fafc;
    opacity: .62;
}

.calendar-day--today {
    border-color: #2FA9E0;
    box-shadow: inset 0 0 0 1px rgba(47, 169, 224, 0.18);
}

.calendar-day__date {
    font-size: 1rem;
    font-weight: 900;
    color: #0f172a;
}

.calendar-day__items {
    display: grid;
    gap: .45rem;
}

.calendar-event {
    display: grid;
    gap: .2rem;
    text-decoration: none;
    border-radius: 14px;
    padding: .55rem .65rem;
    background: #edf6ff;
    border: 1px solid #d7e8f9;
    color: #0f172a;
}

.calendar-event:hover {
    background: #e3f1ff;
    color: #15508A;
}

.calendar-event__time {
    font-size: .76rem;
    font-weight: 800;
    color: #15508A;
}

.calendar-event__title {
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.6;
}

.calendar-day__more {
    font-size: .8rem;
    font-weight: 800;
    color: #64748b;
}

@media (max-width: 991.98px) {
    .portal-section-grid {
        grid-template-columns: 1fr;
    }

    .calendar-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .calendar-grid__head {
        display: none;
    }

    .calendar-day {
        min-height: 124px;
    }
}

@media (max-width: 575.98px) {
    .calendar-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .public-portal-hero,
    .portal-panels {
        grid-template-columns: 1fr;
    }

    .report-entry {
        grid-template-columns: 1fr;
    }

    .report-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    main.container {
        padding-top: 1rem !important;
        padding-bottom: 1.5rem !important;
    }

    .news-ticker {
        position: sticky;
        top: 0;
        z-index: 1030;
    }

    .news-ticker__inner {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        gap: .65rem .75rem;
        min-height: 0;
        padding-block: .5rem;
    }

    .news-ticker-badge {
        min-height: 28px;
        padding: .3rem .65rem;
        font-size: .72rem;
    }

    .news-ticker-track {
        grid-column: 1 / -1;
        order: 3;
    }

    .news-ticker-track::before,
    .news-ticker-track::after {
        width: 32px;
    }

    .news-ticker-message {
        font-size: .94rem;
        line-height: 1.65;
    }

    .news-ticker-link {
        width: auto;
        justify-self: end;
        padding: .36rem .7rem;
        font-size: .8rem;
    }

    .public-news-hero,
    .public-portal-hero,
    .portal-panel,
    .content-card {
        border-radius: 22px;
    }

    .public-news-hero,
    .public-portal-hero {
        padding: 1.2rem;
    }

    .public-news-hero {
        grid-template-columns: 1fr;
    }

    .public-news-hero__brand {
        padding: .9rem;
    }

    .public-news-hero__logo {
        width: 155px;
    }

    .public-portal-hero__brand {
        justify-content: center;
        padding: 1rem;
    }

    .public-portal-hero__logo {
        width: 250px;
    }

    .public-news-kicker {
        margin-bottom: .6rem;
        font-size: .82rem;
    }

    .public-news-title {
        font-size: 1.7rem;
        line-height: 1.45;
        margin-bottom: .65rem;
    }

    .public-news-subtitle {
        font-size: .95rem;
        line-height: 1.8;
    }

    .public-news-hero__chips {
        gap: .45rem;
    }

    .public-news-chip,
    .public-news-card__badge {
        width: 100%;
        justify-content: center;
    }

    .public-portal-hero__actions,
    .public-portal-shortcuts {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .6rem;
    }

    .public-portal-insights {
        grid-template-columns: 1fr;
    }

    .public-portal-hero__actions .btn,
    .public-portal-shortcut {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .public-portal-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .6rem;
    }

    .public-portal-stat {
        text-align: center;
        border-radius: 18px;
        padding: .9rem .55rem;
    }

    .public-portal-stat strong {
        font-size: 1.35rem;
    }

    .public-portal-stat span {
        display: block;
        font-size: .78rem;
        line-height: 1.5;
    }

    .portal-section {
        margin-top: .85rem;
        padding: 1rem;
    }

    .portal-section__head {
        align-items: start;
        gap: .5rem;
        margin-bottom: .8rem;
    }

    .portal-section__title {
        font-size: 1.28rem;
    }

    .portal-section__link {
        font-size: .92rem;
    }

    .public-news-grid,
    .portal-appointments {
        grid-template-columns: 1fr;
        gap: .9rem;
    }

    .public-news-card {
        border-radius: 20px;
    }

    .public-news-card__image,
    .public-news-card__placeholder {
        height: 180px;
    }

    .public-news-card__body,
    .portal-announcement-card,
    .portal-archive-card,
    .portal-appointment-card {
        padding: .95rem;
    }

    .public-news-card__title,
    .portal-announcement-card__title {
        font-size: 1.05rem;
        line-height: 1.65;
    }

    .public-news-card__excerpt,
    .portal-announcement-card__excerpt {
        font-size: .93rem;
        line-height: 1.8;
    }
}

@media (max-width: 479.98px) {
    .news-ticker__inner {
        grid-template-columns: 1fr auto;
    }

    .public-news-title {
        font-size: 1.52rem;
    }

    .public-portal-hero__actions,
    .public-portal-shortcuts,
    .public-portal-stats,
    .public-portal-insights {
        grid-template-columns: 1fr;
    }

    .portal-panel {
        padding: 1rem;
    }

    .report-hero {
        padding: 1.15rem;
    }

    .report-hero__actions,
    .report-summary-grid {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media print {
    @page {
        size: A4;
        margin: 14mm 12mm;
    }

    body {
        background: #ffffff;
        color: #111827;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .topbar,
    .news-ticker,
    .no-print,
    .alert,
    .btn,
    .news-ticker-link {
        display: none !important;
    }

    main.container {
        max-width: none !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .row,
    .col-lg-4,
    .col-lg-8 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }

    .row {
        margin: 0 !important;
    }

    .col-lg-4,
    .col-lg-8 {
        padding: 0 !important;
    }

    .report-summary-card,
    .report-body-card {
        height: auto !important;
    }

    .report-summary-card {
        margin-bottom: 1rem;
    }

    .report-hero,
    .report-month-group,
    .report-entry {
        box-shadow: none !important;
        border-color: #d8dee6 !important;
        break-inside: avoid;
    }

    .report-hero {
        margin-bottom: 1rem;
    }

    .content-card {
        padding: .9rem !important;
    }

    .report-body-card,
    .report-summary-card {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    .report-month-group {
        padding: .85rem;
        margin-bottom: .9rem;
    }

    .report-month-group__title {
        padding-bottom: .45rem;
        border-bottom: 2px solid #dbe7f3;
    }

    .report-entry {
        grid-template-columns: 90px 1fr !important;
        gap: .75rem;
        padding: .7rem;
        margin-bottom: .45rem;
        page-break-inside: avoid;
        break-inside: avoid;
        break-inside: avoid-page;
    }

    .report-entry__date {
        align-self: start;
        text-align: center;
        background: #eef5fb !important;
        color: #0f3f6f !important;
        border: 1px solid #d5e4f2;
    }

    .report-entry__title {
        font-size: 1rem;
        margin-bottom: .15rem;
    }

    .report-entry__meta {
        font-size: .78rem;
        margin-bottom: .3rem;
    }

    .report-entry__fulltext {
        font-size: .92rem;
        line-height: 1.7;
        margin-bottom: .4rem;
    }

    .report-entry__gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .35rem;
        margin-bottom: .25rem;
    }

    .report-entry__gallery-item {
        border-radius: 10px;
        border-color: #d7e2ed !important;
        text-decoration: none;
        break-inside: avoid;
    }

    .report-entry__gallery-item img {
        height: 118px;
        object-fit: cover;
    }
}

.dashboard-shell {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.dashboard-hero-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(47, 169, 224, 0.28), transparent 28%),
        radial-gradient(circle at bottom left, rgba(255, 255, 255, 0.1), transparent 24%),
        linear-gradient(135deg, #123f6b 0%, #196ba7 52%, #2fa9e0 100%);
    color: #fff;
    box-shadow: 0 24px 65px rgba(21, 80, 138, 0.24);
}

.dashboard-hero-panel__glow {
    position: absolute;
    inset-inline-end: -120px;
    inset-block-start: -110px;
    width: 300px;
    height: 300px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    filter: blur(8px);
}

.dashboard-hero-panel__content {
    position: relative;
    display: grid;
    gap: 1.5rem;
    padding: 1.6rem;
}

.dashboard-hero-panel__title {
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 900;
    line-height: 1.15;
    margin: 0;
}

.dashboard-hero-panel__lead {
    max-width: 780px;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, 0.86);
    line-height: 1.95;
    font-size: 1rem;
}

.dashboard-hero-panel__aside {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: space-between;
}

.dashboard-hero-panel__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: .75rem 1rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff8e9;
    font-weight: 800;
    text-align: center;
}

.dashboard-summary-grid {
    display: grid;
    gap: .9rem;
    margin-top: 1.25rem;
}

.dashboard-summary-chip {
    padding: 1rem 1.1rem;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
}

.dashboard-summary-chip span {
    display: block;
    color: rgba(255, 255, 255, 0.74);
    font-size: .84rem;
    font-weight: 700;
}

.dashboard-summary-chip strong {
    display: block;
    margin-top: .35rem;
    font-size: 2rem;
    font-weight: 900;
    color: #fff;
}

.dashboard-hero-actions--stack .btn {
    min-height: 48px;
    border-radius: 16px;
    font-weight: 800;
}

.dashboard-hero-actions--stack .btn-light {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(255, 255, 255, 0.92);
    color: #123f6b;
}

.dashboard-action-grid {
    display: grid;
    gap: 1rem;
}

.dashboard-performance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.dashboard-performance-stat {
    padding: 1rem 1.05rem;
    border: 1px solid #e5edf4;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff, #f8fbfe);
}

.dashboard-performance-stat strong {
    display: block;
    color: #15508A;
    font-size: 1.8rem;
    font-weight: 900;
    margin-bottom: .35rem;
}

.dashboard-performance-stat span {
    display: block;
    color: #64748b;
    font-size: .9rem;
    font-weight: 800;
}

.dashboard-chart {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: end;
    gap: 1rem;
    min-height: 280px;
    padding-top: .75rem;
}

.dashboard-chart__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .75rem;
    min-width: 0;
}

.dashboard-chart__value {
    font-size: .95rem;
    font-weight: 900;
    color: #0f172a;
}

.dashboard-chart__bar {
    width: 100%;
    max-width: 58px;
    height: 180px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 6px;
    border-radius: 22px;
    background: linear-gradient(180deg, #f8fafc, #eef4f8);
    border: 1px solid #dbe6ef;
}

.dashboard-chart__fill {
    display: block;
    width: 100%;
    min-height: 10px;
    border-radius: 16px;
}

.dashboard-chart__fill--blue { background: linear-gradient(180deg, #15508A, #2FA9E0); }
.dashboard-chart__fill--cyan { background: linear-gradient(180deg, #1691D0, #6fd0ff); }
.dashboard-chart__fill--gold { background: linear-gradient(180deg, #c98512, #f7c654); }
.dashboard-chart__fill--slate { background: linear-gradient(180deg, #334155, #64748b); }
.dashboard-chart__fill--emerald { background: linear-gradient(180deg, #047857, #34d399); }
.dashboard-chart__fill--rose { background: linear-gradient(180deg, #be123c, #fb7185); }

.dashboard-chart__label {
    text-align: center;
    color: #64748b;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.6;
}

.dashboard-action-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: .6rem;
    min-height: 210px;
    padding: 1.35rem;
    border-radius: 26px;
    text-decoration: none;
    color: inherit;
    border: 1px solid #e4ebf2;
    background: #fff;
    box-shadow: 0 16px 40px rgba(18, 63, 107, 0.08);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.dashboard-action-card::after {
    content: "";
    position: absolute;
    inset-inline-end: -28px;
    inset-block-start: -30px;
    width: 120px;
    height: 120px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.38);
    filter: blur(8px);
}

.dashboard-action-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 50px rgba(18, 63, 107, 0.14);
}

.dashboard-action-card--news {
    background: linear-gradient(145deg, #ffffff, #eef7fb 60%, #d6edf7);
}

.dashboard-action-card--announcements {
    background: linear-gradient(145deg, #ffffff, #f6f8ff 60%, #e4e8fb);
}

.dashboard-action-card--reports {
    background: linear-gradient(145deg, #ffffff, #f6fbf8 60%, #ddf1e6);
}

.dashboard-action-card--cards {
    background: linear-gradient(145deg, #fffdf8, #fff4de 58%, #f4d8a3);
}

.dashboard-action-card strong {
    position: relative;
    z-index: 1;
    font-size: 1.2rem;
}

.dashboard-action-card small {
    position: relative;
    z-index: 1;
    color: #5f6b7a;
    font-size: .94rem;
    line-height: 1.9;
}

.dashboard-action-card__arrow {
    position: relative;
    z-index: 1;
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 40px;
    padding: .5rem .95rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    color: #123f6b;
    font-size: .84rem;
    font-weight: 800;
}

.dashboard-metric-card {
    min-height: 154px;
    padding: 1.35rem;
    border: 1px solid #e7edf3;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
    box-shadow: 0 14px 38px rgba(15, 118, 110, 0.05);
}

.dashboard-metric-card--soft {
    background: linear-gradient(180deg, #fffdf9, #faf6ef);
}

.dashboard-metric-card span {
    display: block;
    color: #6b7280;
    font-weight: 800;
}

.dashboard-metric-card strong {
    display: block;
    margin-top: .65rem;
    font-size: 2.2rem;
    line-height: 1;
    color: #123f6b;
}

.dashboard-metric-card small {
    display: block;
    margin-top: .85rem;
    color: #7b8593;
    line-height: 1.8;
}

.dashboard-panel {
    border: 1px solid #e7edf3;
    border-radius: 28px;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
    box-shadow: 0 16px 40px rgba(18, 63, 107, 0.05);
    padding: 1.35rem;
}

.dashboard-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.dashboard-panel__eyebrow {
    display: inline-block;
    margin-bottom: .4rem;
    color: #0f766e;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.activity-item--premium,
.report-item--premium {
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff, #f8fbfd);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.dashboard-table thead th {
    color: #64748b;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.dashboard-table tbody tr {
    border-color: #eef2f6;
}

.dashboard-table tbody td {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.news-table-row td {
    vertical-align: top;
}

.news-table-title {
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.8;
}

.news-table-tags {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
}

.news-badge-soft {
    background: #eef6fd;
    color: #15508A;
    border: 1px solid #d7e7f6;
}

.news-status-badge {
    background: #f8fafc;
    color: #334155;
    border: 1px solid #e2e8f0;
}

.news-date-card {
    display: inline-block;
    min-width: 108px;
    padding: .6rem .7rem;
    border-radius: 14px;
    border: 1px solid #e5edf4;
    background: linear-gradient(180deg, #ffffff, #f8fbfe);
}

.news-actions {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
}

.admin-page-hero {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.35rem 1.45rem;
    border: 1px solid #e6edf4;
    border-radius: 28px;
    background: linear-gradient(145deg, #ffffff, #f8fbfe);
    box-shadow: 0 16px 40px rgba(18, 63, 107, 0.05);
}

.admin-page-hero--news {
    background: linear-gradient(145deg, #ffffff, #f4fbfe 55%, #e0f1f8);
}

.admin-page-hero--announcements {
    background: linear-gradient(145deg, #ffffff, #f8f8ff 55%, #ebeafd);
}

.admin-page-hero--reports {
    background: linear-gradient(145deg, #ffffff, #fbfbf6 55%, #f2ecd9);
}

.admin-page-hero__eyebrow {
    display: inline-block;
    margin-bottom: .4rem;
    color: #0f766e;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.admin-page-hero__title {
    margin: 0;
    font-size: clamp(1.75rem, 3.2vw, 2.5rem);
    font-weight: 900;
    line-height: 1.2;
    color: #123f6b;
}

.admin-page-hero__lead {
    margin: .8rem 0 0;
    max-width: 840px;
    color: #5f6b7a;
    line-height: 1.95;
}

.admin-page-hero__meta {
    min-width: 180px;
    padding: 1rem 1.15rem;
    border-radius: 22px;
    border: 1px solid #dce7f0;
    background: rgba(255, 255, 255, 0.78);
    text-align: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.admin-page-hero__meta-label {
    display: block;
    color: #7b8593;
    font-size: .78rem;
    font-weight: 700;
}

.admin-page-hero__meta strong {
    display: block;
    margin-top: .35rem;
    color: #123f6b;
    font-size: 2rem;
    font-weight: 900;
}

.admin-content-card {
    border-radius: 26px;
    box-shadow: 0 16px 42px rgba(18, 63, 107, 0.05);
    border-color: #e8eef4;
}

.admin-form-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.admin-form-head__eyebrow {
    display: inline-block;
    margin-bottom: .35rem;
    color: #0f766e;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.admin-form-head__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: .45rem .9rem;
    border-radius: 999px;
    background: #eef7ff;
    border: 1px solid #d8e7f6;
    color: #15508A;
    font-size: .82rem;
    font-weight: 800;
}

.admin-mini-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.admin-mini-stat {
    padding: .95rem 1rem;
    border-radius: 18px;
    border: 1px solid #e5edf4;
    background: linear-gradient(180deg, #ffffff, #f8fbfe);
}

.admin-mini-stat strong {
    display: block;
    color: #123f6b;
    font-size: 1.5rem;
    font-weight: 900;
}

.admin-mini-stat span {
    display: block;
    margin-top: .2rem;
    color: #6b7280;
    font-size: .82rem;
    font-weight: 800;
}

.news-upload-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.news-upload-tile {
    padding: .9rem;
    border-radius: 18px;
    border: 1px solid #e6edf4;
    background: linear-gradient(180deg, #ffffff, #f9fbfd);
}

.news-upload-tile__label {
    display: block;
    margin-bottom: .55rem;
    color: #64748b;
    font-size: .82rem;
    font-weight: 800;
}

.admin-table-wrap {
    border: 1px solid #e7edf3;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
    overflow: hidden;
}

.admin-table-wrap .table-responsive {
    margin: 0;
}

.login-kicker {
    color: #8b6a36;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.share-news-preview {
    overflow: hidden;
    border: 1px solid #e4edf6;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff, #f8fbfe);
    box-shadow: 0 16px 42px rgba(18, 63, 107, 0.06);
}

.share-news-preview__image {
    width: 100%;
    display: block;
    max-height: 420px;
    object-fit: cover;
}

.share-news-preview__placeholder {
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-weight: 800;
    text-align: center;
    padding: 1.5rem;
}

.share-news-preview__footer {
    padding: .9rem 1rem;
    border-top: 1px solid #e7edf4;
    background: #fff;
    color: #15508A;
    font-size: .9rem;
    font-weight: 800;
    text-align: center;
}

.share-news-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
}

.share-news-gallery__item {
    display: block;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid #e4edf6;
    background: #fff;
}

.share-news-gallery__item img {
    width: 100%;
    height: 88px;
    object-fit: cover;
    display: block;
}

.share-message {
    white-space: pre-wrap;
    line-height: 1.95;
    font-family: var(--app-font);
    font-size: .98rem;
}

.share-link {
    font-weight: 800;
    word-break: break-word;
}

@media (min-width: 992px) {
    .dashboard-hero-panel__content {
        grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
        align-items: end;
        padding: 2rem;
    }

    .dashboard-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dashboard-action-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .dashboard-hero-panel__lead {
        font-size: .96rem;
    }

    .dashboard-action-card {
        min-height: 190px;
    }

    .admin-page-hero__meta {
        min-width: 150px;
    }

    .dashboard-chart {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        min-height: auto;
    }
}

@media (max-width: 767.98px) {
    .topbar {
        padding-block: .55rem;
    }

    .topbar__inner {
        min-height: 60px;
    }

    .topbar-brand__eyebrow {
        font-size: .62rem;
        letter-spacing: .12em;
    }

    .topbar-brand strong {
        font-size: .95rem;
    }

    .topbar-user {
        margin-top: .8rem;
        width: 100%;
        justify-content: space-between;
    }

    .topbar-user form,
    .topbar-user .btn {
        width: 100%;
    }

    .topbar-nav .nav-link {
        justify-content: flex-start;
        padding-inline: .95rem !important;
        width: 100%;
    }

    .topbar-user {
        width: 100%;
        justify-content: space-between;
    }

    .topbar-user--desktop {
        display: none;
    }

    .topbar-user--mobile {
        display: flex;
    }

    .dashboard-hero-panel {
        border-radius: 24px;
    }

    .dashboard-hero-panel__content,
    .dashboard-panel {
        padding: 1rem;
    }

    .dashboard-hero-panel__title {
        font-size: 2rem;
    }

    .dashboard-summary-grid,
    .dashboard-action-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-chart {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .85rem;
    }

    .dashboard-performance-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-metric-card {
        min-height: auto;
    }

    .dashboard-panel__head .btn,
    .dashboard-hero-actions--stack .btn {
        width: 100%;
    }

    .admin-page-hero {
        padding: 1rem;
        border-radius: 22px;
    }

    .admin-page-hero__meta {
        width: 100%;
    }

    .share-news-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-mini-stats,
    .news-upload-grid {
        grid-template-columns: 1fr;
    }
}

/* Compact public portal refresh */
.public-portal-hero {
    position: relative;
    overflow: hidden;
    grid-template-columns: 260px minmax(0, 1fr);
    padding: 1.45rem;
    border-radius: 24px;
    background:
        radial-gradient(circle at 12% 18%, rgba(47, 169, 224, .18), transparent 28%),
        linear-gradient(135deg, #ffffff, #eef6ff 58%, #f7fbff);
    box-shadow: 0 18px 45px rgba(13, 59, 102, .08);
}

.public-portal-hero__brand {
    padding: .95rem;
    border-radius: 22px;
    box-shadow: 0 14px 30px rgba(21, 80, 138, .07);
}

.public-portal-hero__logo {
    width: 210px;
}

.public-portal-hero .public-news-title {
    font-size: clamp(2rem, 3.4vw, 3.35rem);
    margin-bottom: .45rem;
    color: #0d3b66;
}

.public-portal-hero .public-news-subtitle {
    max-width: 680px;
    font-size: 1rem;
    line-height: 1.8;
}

.public-news-hero__chips,
.public-portal-shortcuts {
    gap: .45rem;
    margin-top: .85rem;
}

.public-news-chip,
.public-portal-shortcut {
    min-height: 32px;
    padding: .32rem .75rem;
    font-size: .78rem;
    box-shadow: none;
}

.public-portal-hero__actions {
    gap: .55rem;
    margin-top: 1rem;
}

.public-portal-hero__actions .btn {
    border-radius: 999px;
    padding: .5rem .9rem;
    font-weight: 800;
}

.portal-section {
    padding: 1rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, .86);
}

.portal-section__head {
    margin-bottom: .85rem;
}

.portal-section__title {
    font-size: 1.45rem;
}

.public-news-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}

.public-news-card {
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(13, 59, 102, .07);
}

.news-image-overlay--card,
.news-image-overlay--card img,
.public-news-card__image,
.public-news-card__placeholder {
    height: 185px;
}

.public-news-card__body {
    padding: .95rem;
}

.public-news-card__meta {
    gap: .45rem;
}

.public-news-card__badge {
    min-height: 26px;
    padding: .22rem .55rem;
    font-size: .72rem;
}

.public-news-card__title {
    font-size: 1.05rem;
    line-height: 1.55;
    margin-bottom: .45rem;
}

.public-news-card__excerpt,
.portal-announcement-card__excerpt {
    line-height: 1.75;
    font-size: .92rem;
}

.portal-panels {
    gap: 1rem;
}

.portal-panel {
    padding: 1rem;
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .05);
}

.portal-announcement-card,
.portal-appointment-card {
    position: relative;
    padding: .85rem .95rem;
    border-radius: 16px;
}

.portal-announcement-card::before,
.portal-appointment-card::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: .9rem;
    bottom: .9rem;
    width: 3px;
    border-radius: 999px;
    background: #15508A;
}

.portal-panel--congratulations .portal-announcement-card::before,
.portal-announcement-card__meta--congrats::before {
    background: #0f8f5f;
}

.portal-panel--condolence .portal-announcement-card::before,
.portal-announcement-card__meta--condolence::before {
    background: #64748b;
}

.portal-announcement-card__meta--appointment::before {
    background: #15508A;
}

.portal-announcement-card__meta {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-bottom: .35rem;
    font-size: .8rem;
}

.portal-announcement-card__meta::before {
    content: "";
    width: .42rem;
    height: .42rem;
    border-radius: 999px;
    flex: 0 0 auto;
}

.portal-announcement-card__title {
    font-size: 1rem;
    line-height: 1.6;
}

.portal-appointments {
    gap: .85rem;
}

@media (max-width: 991.98px) {
    .public-portal-hero {
        grid-template-columns: 1fr;
    }

    .public-portal-hero__brand {
        justify-content: flex-start;
    }
}

@media (max-width: 767.98px) {
    .public-portal-hero,
    .portal-section,
    .portal-panel {
        border-radius: 18px;
    }

    .public-portal-hero {
        padding: 1rem;
    }

    .public-portal-hero__logo {
        width: 170px;
    }

    .public-portal-shortcuts {
        display: none;
    }

    .public-portal-hero__actions .btn {
        width: 100%;
    }

    .news-image-overlay--card,
    .news-image-overlay--card img,
    .public-news-card__image,
    .public-news-card__placeholder {
        height: 165px;
    }
}

/* Dashboard professional refresh */
.dashboard-shell {
    gap: 1rem;
}

.dashboard-hero-panel {
    border-radius: 26px;
    border: 1px solid rgba(21, 80, 138, 0.16);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 32%),
        radial-gradient(circle at 16% 12%, rgba(47, 169, 224, 0.28), transparent 30%),
        linear-gradient(135deg, #0d3b66 0%, #15508A 54%, #1691D0 100%);
    box-shadow: 0 18px 46px rgba(13, 59, 102, 0.18);
}

.dashboard-hero-panel__glow {
    opacity: .72;
}

.dashboard-hero-panel__title {
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    letter-spacing: -.02em;
}

.dashboard-hero-panel__lead {
    max-width: 680px;
    margin-top: .75rem;
    font-size: .96rem;
    line-height: 1.85;
}

.dashboard-hero-panel__aside {
    align-self: stretch;
    padding: 1rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(10px);
}

.dashboard-hero-panel__badge {
    min-height: 40px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.16);
}

.dashboard-summary-grid {
    gap: .75rem;
}

.dashboard-summary-chip {
    padding: .85rem 1rem;
    border-radius: 18px;
}

.dashboard-summary-chip strong {
    font-size: 1.75rem;
}

.dashboard-hero-actions--stack {
    gap: .65rem;
}

.dashboard-hero-actions--stack .btn {
    min-height: 44px;
    border-radius: 14px;
}

.dashboard-action-grid {
    gap: .85rem;
}

.dashboard-action-grid--primary {
    align-items: stretch;
}

.dashboard-action-card {
    min-height: 164px;
    padding: 1.1rem;
    border-radius: 22px;
    box-shadow: 0 12px 28px rgba(18, 63, 107, 0.07);
}

.dashboard-action-card::after {
    width: 96px;
    height: 96px;
    opacity: .62;
}

.dashboard-action-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(18, 63, 107, 0.12);
}

.dashboard-action-card strong {
    font-size: 1.08rem;
}

.dashboard-action-card small {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: .88rem;
    line-height: 1.75;
}

.dashboard-action-card__arrow {
    min-height: 34px;
    padding: .4rem .8rem;
}

.dashboard-utility-panel {
    padding: 1.05rem;
    border: 1px solid #e4ebf2;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
    box-shadow: 0 12px 30px rgba(18, 63, 107, 0.055);
}

.dashboard-utility-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .8rem;
    margin-bottom: .85rem;
    border-bottom: 1px solid #edf2f7;
}

.dashboard-utility-panel__head h2 {
    margin: 0;
    color: #0d3b66;
    font-size: 1.05rem;
    font-weight: 900;
}

.dashboard-utility-grid {
    display: grid;
    gap: .7rem;
}

.dashboard-utility-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .9rem;
    min-height: 62px;
    padding: .75rem .9rem;
    border: 1px solid #e6edf4;
    border-radius: 16px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.dashboard-utility-link:hover {
    transform: translateY(-2px);
    border-color: #c8deef;
    box-shadow: 0 12px 26px rgba(18, 63, 107, 0.08);
}

.dashboard-utility-link strong {
    color: #0f172a;
    font-size: .94rem;
    font-weight: 900;
}

.dashboard-utility-link span {
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
}

.dashboard-metric-card {
    min-height: 132px;
    padding: 1.05rem 1.15rem;
    border-radius: 20px;
}

.dashboard-metric-card strong {
    margin-top: .45rem;
    font-size: 1.95rem;
}

.dashboard-metric-card small {
    margin-top: .6rem;
}

.dashboard-panel {
    border-radius: 22px;
    padding: 1.15rem;
    box-shadow: 0 12px 30px rgba(18, 63, 107, 0.055);
}

.dashboard-panel__head {
    padding-bottom: .8rem;
    margin-bottom: .95rem;
    border-bottom: 1px solid #edf2f7;
}

.dashboard-panel__eyebrow {
    color: #15508A;
    letter-spacing: .1em;
}

.dashboard-chart {
    min-height: 230px;
    gap: .75rem;
}

.dashboard-chart__bar {
    height: 145px;
    max-width: 46px;
}

.dashboard-performance-stat {
    border-radius: 16px;
    padding: .9rem;
}

.dashboard-performance-stat strong {
    font-size: 1.55rem;
}

.dashboard-workspace-row,
.dashboard-secondary-row {
    margin-top: .1rem;
}

.activity-item--premium,
.report-item--premium {
    border: 1px solid #edf2f7;
    padding: .9rem;
}

.activity-item--premium {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
}

.activity-body {
    min-width: 0;
}

.activity-body .fw-bold,
.report-item--premium .fw-bold,
.dashboard-table .fw-bold {
    line-height: 1.7;
}

.dashboard-table {
    margin-bottom: 0;
}

.dashboard-table thead th {
    border-bottom: 1px solid #e6edf4;
    background: #f8fbfe;
    color: #15508A;
    white-space: nowrap;
}

.dashboard-table tbody td {
    padding-top: .85rem;
    padding-bottom: .85rem;
}

@media (min-width: 992px) {
    .dashboard-hero-panel__content {
        grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
        padding: 1.55rem;
    }

    .dashboard-action-grid {
        grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    }

    .dashboard-action-grid--primary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dashboard-utility-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .dashboard-hero-panel__aside {
        padding: .85rem;
    }

    .dashboard-action-grid--primary,
    .dashboard-utility-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .activity-item--premium {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .activity-item--premium .btn {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .dashboard-shell {
        gap: .85rem;
    }

    .dashboard-hero-panel,
    .dashboard-action-card,
    .dashboard-metric-card,
    .dashboard-panel {
        border-radius: 18px;
    }

    .dashboard-hero-panel__title {
        font-size: 1.65rem;
    }

    .dashboard-hero-panel__lead {
        font-size: .9rem;
        line-height: 1.75;
    }

    .dashboard-summary-chip {
        padding: .75rem .85rem;
    }

    .dashboard-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .5rem;
    }

    .dashboard-summary-chip {
        border-radius: 14px;
    }

    .dashboard-summary-chip span {
        min-height: 2.5em;
        font-size: .68rem;
        line-height: 1.25;
    }

    .dashboard-summary-chip strong {
        font-size: 1.35rem;
    }

    .dashboard-action-card {
        min-height: auto;
        padding: .95rem;
    }

    .dashboard-action-grid--primary,
    .dashboard-utility-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-action-card strong {
        font-size: 1rem;
    }

    .dashboard-action-card small {
        font-size: .82rem;
        line-height: 1.65;
    }

    .dashboard-utility-panel {
        border-radius: 18px;
        padding: .9rem;
    }

    .dashboard-utility-panel__head {
        align-items: flex-start;
        flex-direction: column-reverse;
        gap: .25rem;
    }

    .dashboard-utility-link {
        align-items: flex-start;
        flex-direction: column;
        gap: .25rem;
        min-height: auto;
    }

    .dashboard-utility-link span {
        white-space: normal;
    }

    .dashboard-chart {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-chart__bar {
        height: 118px;
    }

    .dashboard-panel__head {
        align-items: stretch;
    }

    .dashboard-panel__head .btn {
        width: 100%;
    }
}

/* Live performance dashboard */
.performance-live {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.performance-live-hero {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.25rem;
    padding: 1.4rem;
    border-radius: 28px;
    color: #fff;
    background:
        radial-gradient(circle at 12% 18%, rgba(47, 169, 224, 0.35), transparent 28%),
        linear-gradient(135deg, #0d3b66, #15508A 58%, #1691D0);
    box-shadow: 0 18px 46px rgba(13, 59, 102, 0.18);
    overflow: hidden;
}

.performance-live-hero__brand {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 168px;
    min-height: 118px;
    padding: 1rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.26);
}

.performance-live-hero__logo {
    width: 140px;
    max-width: 100%;
    height: auto;
}

.performance-live-kicker {
    display: inline-block;
    margin-bottom: .45rem;
    color: #9be2ff;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.performance-live-title {
    margin: 0;
    font-size: clamp(1.9rem, 3.5vw, 3rem);
    font-weight: 900;
    line-height: 1.15;
}

.performance-live-subtitle {
    max-width: 760px;
    margin: .7rem 0 0;
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.85;
}

.performance-live-status {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-top: 1rem;
    padding: .55rem .8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: .86rem;
    font-weight: 800;
}

.performance-live-status__dot {
    width: .6rem;
    height: .6rem;
    border-radius: 999px;
    background: #34d399;
    box-shadow: 0 0 0 .35rem rgba(52, 211, 153, 0.18);
}

.performance-live-hero__actions {
    display: grid;
    gap: .65rem;
    min-width: 160px;
}

.performance-live-hero__actions .btn {
    min-height: 44px;
    border-radius: 14px;
    font-weight: 900;
}

.performance-live-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.performance-live-grid--engagement {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.performance-live-card,
.performance-live-panel {
    border: 1px solid #e5edf4;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
    box-shadow: 0 14px 34px rgba(18, 63, 107, 0.065);
}

.performance-live-card {
    position: relative;
    overflow: hidden;
    min-height: 148px;
    padding: 1.15rem;
}

.performance-live-card::after {
    content: "";
    position: absolute;
    inset-inline-end: -34px;
    inset-block-start: -34px;
    width: 100px;
    height: 100px;
    border-radius: 999px;
    background: rgba(47, 169, 224, 0.13);
}

.performance-live-card--primary {
    background: linear-gradient(145deg, #15508A, #1691D0);
    color: #fff;
}

.performance-live-card--engagement {
    background: linear-gradient(145deg, #ffffff, #f8fbfe 68%, #eaf5fb);
}

.performance-live-card span,
.performance-live-card small,
.performance-live-card strong {
    position: relative;
    z-index: 1;
}

.performance-live-card span {
    display: block;
    color: #64748b;
    font-weight: 900;
}

.performance-live-card--primary span,
.performance-live-card--primary small {
    color: rgba(255, 255, 255, 0.82);
}

.performance-live-card strong {
    display: block;
    margin-top: .55rem;
    color: #15508A;
    font-size: 2.25rem;
    line-height: 1;
    font-weight: 900;
}

.performance-live-card--primary strong {
    color: #fff;
}

.performance-live-card small {
    display: block;
    margin-top: .75rem;
    color: #7b8794;
    line-height: 1.7;
}

.performance-live-panel {
    padding: 1.25rem;
}

.performance-live-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding-bottom: .9rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #edf2f7;
}

.performance-live-panel__badge {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: .35rem .8rem;
    border-radius: 999px;
    color: #15508A;
    background: #eef7fd;
    border: 1px solid #d7eaf8;
    font-weight: 900;
    font-size: .82rem;
}

.performance-live-chart {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    align-items: end;
    gap: .85rem;
    min-height: 300px;
}

.performance-live-chart__item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .7rem;
}

.performance-live-chart__value {
    color: #0f172a;
    font-weight: 900;
    font-size: .95rem;
}

.performance-live-chart__bar {
    width: 100%;
    max-width: 54px;
    height: 210px;
    display: flex;
    align-items: flex-end;
    padding: 6px;
    border-radius: 22px;
    background: linear-gradient(180deg, #f8fafc, #eef4f8);
    border: 1px solid #dbe6ef;
}

.performance-live-chart__fill {
    display: block;
    width: 100%;
    min-height: 8px;
    border-radius: 16px;
    transition: height .45s ease;
}

.performance-live-chart__fill--blue { background: linear-gradient(180deg, #15508A, #2FA9E0); }
.performance-live-chart__fill--cyan { background: linear-gradient(180deg, #1691D0, #6fd0ff); }
.performance-live-chart__fill--gold { background: linear-gradient(180deg, #c98512, #f7c654); }
.performance-live-chart__fill--navy { background: linear-gradient(180deg, #0d3b66, #15508A); }
.performance-live-chart__fill--orange { background: linear-gradient(180deg, #b45309, #f59e0b); }
.performance-live-chart__fill--slate { background: linear-gradient(180deg, #334155, #64748b); }
.performance-live-chart__fill--emerald { background: linear-gradient(180deg, #047857, #34d399); }
.performance-live-chart__fill--rose { background: linear-gradient(180deg, #be123c, #fb7185); }

.performance-live-chart__label {
    min-height: 42px;
    color: #64748b;
    text-align: center;
    font-size: .82rem;
    font-weight: 900;
    line-height: 1.6;
}

.performance-live-list {
    display: grid;
    gap: .8rem;
}

.performance-live-list__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    border-radius: 18px;
    border: 1px solid #edf2f7;
    background: #fbfdff;
}

.performance-live-list__row span {
    color: #64748b;
    font-weight: 900;
}

.performance-live-list__row strong {
    color: #15508A;
    font-size: 1.45rem;
    font-weight: 900;
}

.performance-live__pulse {
    animation: performancePulse .7s ease;
}

@keyframes performancePulse {
    0% { transform: scale(1); }
    45% { transform: scale(1.08); color: #1691D0; }
    100% { transform: scale(1); }
}

@media (max-width: 991.98px) {
    .performance-live-hero {
        grid-template-columns: 1fr;
    }

    .performance-live-hero__brand {
        width: 100%;
        min-height: auto;
        justify-content: flex-start;
    }

    .performance-live-grid,
    .performance-live-grid--engagement {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .performance-live-chart {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .performance-live-hero,
    .performance-live-card,
    .performance-live-panel {
        border-radius: 18px;
    }

    .performance-live-hero {
        padding: 1rem;
    }

    .performance-live-hero__logo {
        width: 150px;
    }

    .performance-live-title {
        font-size: 1.65rem;
    }

    .performance-live-subtitle {
        font-size: .9rem;
    }

    .performance-live-hero__actions .btn,
    .performance-live-panel__head .btn {
        width: 100%;
    }

    .performance-live-grid,
    .performance-live-grid--engagement {
        grid-template-columns: 1fr;
    }

    .performance-live-card {
        min-height: auto;
    }

    .performance-live-chart {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        min-height: auto;
    }

    .performance-live-chart__bar {
        height: 140px;
    }
}

/* Shared admin back button */
.admin-back-strip {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 1rem;
}

.admin-back-strip__link {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-height: 42px;
    padding: .55rem 1rem;
    border-radius: 999px;
    border: 1px solid #d7e7f6;
    background: linear-gradient(180deg, #ffffff, #f7fbff);
    color: #15508A;
    text-decoration: none;
    font-weight: 900;
    box-shadow: 0 10px 26px rgba(21, 80, 138, 0.08);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.admin-back-strip__link:hover {
    color: #0d3b66;
    border-color: #b8d7f0;
    transform: translateY(-1px);
    box-shadow: 0 14px 32px rgba(21, 80, 138, 0.12);
}

.admin-back-strip__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 999px;
    background: #15508A;
    color: #fff;
    font-size: 1.25rem;
    line-height: 1;
    transform: translateY(-1px);
}

@media (max-width: 767.98px) {
    .admin-back-strip__link {
        width: 100%;
        justify-content: center;
    }
}

/* Public portal executive refresh */
.public-portal-hero {
    position: relative;
    overflow: hidden;
    align-items: stretch;
    gap: 1.5rem;
    padding: 1.55rem;
    border: 1px solid rgba(21, 80, 138, 0.12);
    border-radius: 32px;
    background:
        radial-gradient(circle at 12% 10%, rgba(47, 169, 224, 0.18), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #f7fbff 48%, #eef7fd 100%);
    box-shadow: 0 22px 60px rgba(15, 80, 138, 0.12);
}

.public-portal-hero::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 0;
    width: 8px;
    height: 100%;
    background: linear-gradient(180deg, #15508A, #2FA9E0);
}

.public-portal-hero__brand {
    position: relative;
    z-index: 1;
    min-width: 250px;
    padding: 1.25rem;
    border-radius: 26px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .95), rgba(247, 251, 255, .92));
    border: 1px solid #dbeaf6;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

.public-portal-hero__logo {
    width: 220px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.public-portal-hero__content {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.public-portal-hero .public-news-kicker {
    color: #15508A;
}

.public-portal-hero .public-news-title {
    margin-top: .55rem;
    font-size: clamp(2.15rem, 4vw, 3.6rem);
    color: #0d3b66;
    letter-spacing: -.03em;
}

.public-portal-hero .public-news-subtitle {
    max-width: 850px;
    color: #526173;
    font-size: 1rem;
}

.public-portal-hero .public-news-hero__chips {
    margin-top: 1rem;
}

.public-portal-hero .public-news-chip {
    background: #fff;
    border-color: #dbeaf6;
    color: #15508A;
    box-shadow: 0 8px 20px rgba(15, 80, 138, .06);
}

.public-portal-insights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
    margin-top: 1rem;
    max-width: 760px;
}

.public-portal-insight {
    padding: .9rem 1rem;
    border-radius: 20px;
    border: 1px solid #dbeaf6;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    box-shadow: 0 10px 24px rgba(15, 80, 138, .06);
}

.public-portal-insight span {
    display: block;
    color: #64748b;
    font-size: .78rem;
    font-weight: 900;
}

.public-portal-insight strong {
    display: block;
    margin-top: .35rem;
    color: #15508A;
    font-size: 1.75rem;
    line-height: 1;
    font-weight: 900;
}

.public-portal-hero__actions {
    gap: .65rem;
    margin-top: 1.2rem;
}

.public-portal-hero__actions .btn {
    min-height: 44px;
    border-radius: 14px;
    font-weight: 900;
}

.public-portal-shortcuts {
    margin-top: 1rem;
    gap: .55rem;
}

.public-portal-shortcut {
    border-color: #dbeaf6;
    background: #fff;
    color: #15508A;
    font-size: .82rem;
    box-shadow: 0 8px 20px rgba(15, 80, 138, .05);
}

.public-portal-shortcut--muted {
    color: #5f6c7a;
    border-color: #cfd9e3;
}

.portal-section,
.portal-panel {
    border-radius: 28px;
    border: 1px solid #e4edf5;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
    box-shadow: 0 16px 44px rgba(15, 80, 138, .07);
}

.portal-section__head {
    padding-bottom: .9rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #edf3f8;
}

.portal-section__title {
    color: #0d3b66;
}

.portal-section__link {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: .35rem .85rem;
    border-radius: 999px;
    background: #eef7fd;
    color: #15508A;
    font-weight: 900;
    text-decoration: none;
}

.public-news-card {
    overflow: hidden;
    border: 1px solid #e4edf5;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 80, 138, .07);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.public-news-card:hover {
    transform: translateY(-4px);
    border-color: #c8deef;
    box-shadow: 0 22px 48px rgba(15, 80, 138, .12);
}

.public-news-card__image,
.public-news-card__placeholder,
.news-image-overlay--card,
.news-image-overlay--card img {
    height: 210px;
}

.public-news-card__body {
    padding: 1.1rem;
}

.public-news-card__meta {
    gap: .4rem;
}

.public-news-card__badge {
    background: #f1f7fc;
    border-color: #d9e9f5;
    color: #15508A;
}

.public-news-card__title {
    font-size: 1.08rem;
    line-height: 1.65;
}

.public-news-card__excerpt,
.portal-announcement-card__excerpt {
    color: #64748b;
    line-height: 1.85;
}

.public-news-card__excerpt {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.portal-announcement-card__excerpt {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.portal-panels {
    gap: 1rem;
}

.portal-announcement-card,
.portal-appointment-card {
    position: relative;
    overflow: hidden;
    border: 1px solid #edf3f8;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 80, 138, .05);
}

.portal-announcement-card::before,
.portal-appointment-card::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 0;
    width: 5px;
    height: 100%;
    background: #15508A;
}

.portal-panel--congratulations .portal-announcement-card::before {
    background: #0f8f5f;
}

.portal-panel--condolence .portal-announcement-card::before {
    background: #64748b;
}

.portal-appointment-card::before {
    background: #15508A;
}

@media (max-width: 991.98px) {
    .public-portal-hero {
        grid-template-columns: 1fr;
    }

    .public-portal-hero__brand {
        min-width: 0;
        justify-content: flex-start;
    }

    .public-portal-insights {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .public-portal-hero,
    .portal-section,
    .portal-panel,
    .public-news-card {
        border-radius: 20px;
    }

    .public-portal-hero {
        padding: 1rem;
        gap: .8rem;
    }

    .public-portal-hero__brand {
        min-height: 124px;
        padding: .7rem;
        border-radius: 18px;
    }

    .public-portal-hero__logo {
        width: 135px;
    }

    .public-portal-hero .public-news-title {
        margin-top: .35rem;
        font-size: 1.65rem;
        line-height: 1.35;
    }

    .public-portal-hero .public-news-subtitle {
        font-size: .88rem;
        line-height: 1.8;
    }

    .public-portal-insights {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .45rem;
    }

    .public-portal-insight {
        padding: .65rem .55rem;
        border-radius: 14px;
    }

    .public-portal-insight span {
        min-height: 2.4em;
        font-size: .68rem;
        line-height: 1.2;
    }

    .public-portal-insight strong {
        margin-top: .2rem;
        font-size: 1.35rem;
    }

    .public-portal-shortcuts {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .public-portal-hero__actions .btn,
    .public-portal-shortcut {
        width: 100%;
    }

    .public-news-card__image,
    .public-news-card__placeholder,
    .news-image-overlay--card,
    .news-image-overlay--card img {
        height: 170px;
    }

    .public-news-card__body {
        padding: .85rem;
    }

    .public-news-card__meta {
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr) minmax(0, .95fr);
        gap: .35rem;
    }

    .public-news-card__badge {
        min-width: 0;
        min-height: 24px;
        justify-content: center;
        overflow: hidden;
        padding: .2rem .45rem;
        font-size: .68rem;
        line-height: 1.15;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .public-news-card__title {
        margin-top: .65rem;
        font-size: 1rem;
        line-height: 1.55;
    }

    .public-news-card__excerpt {
        -webkit-line-clamp: 2;
        font-size: .9rem;
        line-height: 1.75;
    }

    .portal-announcement-card__excerpt {
        -webkit-line-clamp: 2;
    }
}

/* Achievements center */
.achievement-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.25rem;
    align-items: end;
    padding: 1.4rem;
    border-radius: 30px;
    border: 1px solid #dbeaf6;
    background: linear-gradient(135deg, #ffffff, #f6fbff 55%, #e8f5fc);
    box-shadow: 0 18px 46px rgba(15, 80, 138, .1);
}

.achievement-hero__title {
    margin: .45rem 0 0;
    color: #0d3b66;
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 900;
}

.achievement-hero__lead {
    max-width: 760px;
    margin: .75rem 0 0;
    color: #64748b;
    line-height: 1.9;
}

.achievement-hero__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(110px, 1fr));
    gap: .75rem;
}

.achievement-hero__stats div {
    padding: .9rem 1rem;
    border-radius: 18px;
    border: 1px solid #dbeaf6;
    background: #fff;
    text-align: center;
}

.achievement-hero__stats strong {
    display: block;
    color: #15508A;
    font-size: 2rem;
    font-weight: 900;
}

.achievement-hero__stats span {
    color: #64748b;
    font-size: .82rem;
    font-weight: 900;
}

.achievement-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}

.achievement-card {
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid #e4edf5;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 80, 138, .07);
}

.achievement-card__image {
    display: block;
    height: 210px;
    background: #eef7fd;
    color: #15508A;
    text-decoration: none;
    font-size: 1.6rem;
    font-weight: 900;
}

.achievement-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.achievement-card__image--empty {
    display: flex;
    align-items: center;
    justify-content: center;
}

.achievement-card__body {
    padding: 1rem;
}

.achievement-card__meta {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
    margin-bottom: .7rem;
}

.achievement-card__meta span {
    padding: .3rem .65rem;
    border-radius: 999px;
    background: #f1f7fc;
    color: #15508A;
    border: 1px solid #d9e9f5;
    font-size: .78rem;
    font-weight: 900;
}

.achievement-card h2 {
    font-size: 1.1rem;
    line-height: 1.7;
    font-weight: 900;
}

.achievement-card h2 a {
    color: #0d3b66;
    text-decoration: none;
}

.achievement-card p {
    color: #64748b;
    line-height: 1.85;
}

/* Internal display screen */
.display-body {
    margin: 0;
    min-height: 100vh;
    background: #071d34;
    font-family: var(--app-font);
    color: #fff;
}

.display-screen {
    min-height: 100vh;
    width: min(100vw, 177.78vh);
    min-width: min(100vw, 177.78vh);
    margin: 0 auto;
    padding: clamp(18px, 1.7vw, 34px);
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 1vw, 22px);
    background:
        radial-gradient(circle at 10% 12%, rgba(47, 169, 224, .24), transparent 30%),
        radial-gradient(circle at 88% 8%, rgba(255, 255, 255, .16), transparent 28%),
        linear-gradient(135deg, #071d34, #0d3b66 55%, #15508A);
    overflow: hidden;
}

.display-hero,
.display-main-card,
.display-panel,
.display-news-strip,
.display-alert {
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.1);
    box-shadow: 0 24px 70px rgba(0,0,0,.18);
    backdrop-filter: blur(12px);
}

.display-alert {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .9rem 1.25rem;
    border-radius: 24px;
    color: var(--display-alert-color, #fff);
    background: var(--display-alert-bg, #b42318);
}

.display-alert strong {
    padding: .35rem .75rem;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    font-size: .95rem;
    white-space: nowrap;
}

.display-alert span {
    font-size: clamp(1.05rem, 1.2vw, 1.5rem);
    font-weight: 900;
    line-height: 1.6;
}

.display-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: clamp(18px, 1.35vw, 28px) clamp(22px, 1.6vw, 34px);
    border-radius: 30px;
}

.display-hero span {
    color: #9be2ff;
    font-weight: 900;
    letter-spacing: .15em;
}

.display-hero h1 {
    margin: .35rem 0;
    font-size: clamp(2.4rem, 4vw, 4.8rem);
    font-weight: 900;
}

.display-hero p {
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: clamp(1.05rem, 1.15vw, 1.45rem);
}

.display-hero img {
    width: clamp(220px, 18vw, 360px);
    max-height: 120px;
    object-fit: contain;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.display-layout {
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(330px, .55fr);
    gap: clamp(14px, 1vw, 22px);
    min-height: 0;
}

.display-main-card,
.display-panel {
    border-radius: 28px;
    padding: clamp(18px, 1.35vw, 28px);
}

.display-main-card {
    position: relative;
    min-height: 0;
    overflow: hidden;
}

.display-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.display-section-title {
    color: #9be2ff;
    font-size: .9rem;
    font-weight: 900;
    letter-spacing: .16em;
    margin-bottom: .8rem;
}

.display-live-badge {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .45rem .75rem;
    border: 1px solid rgba(155, 226, 255, .28);
    border-radius: 999px;
    color: #dff6ff;
    background: rgba(155, 226, 255, .12);
    font-size: .85rem;
    font-weight: 900;
}

.display-live-badge::before {
    content: '';
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: #45f0a0;
    box-shadow: 0 0 18px rgba(69, 240, 160, .9);
}

.display-slider {
    position: relative;
    min-height: 0;
}

.display-slide {
    display: none;
    animation: displayFade .7s ease both;
}

.display-slide.is-active {
    display: block;
}

.display-featured-image {
    width: 100%;
    height: min(42vh, 430px);
    object-fit: cover;
    border-radius: 22px;
    margin-bottom: 1rem;
    box-shadow: 0 20px 55px rgba(0, 0, 0, .18);
}

.display-featured-placeholder {
    height: min(42vh, 430px);
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 22px;
    margin-bottom: 1rem;
    background:
        radial-gradient(circle at 30% 20%, rgba(155, 226, 255, .22), transparent 30%),
        rgba(255,255,255,.08);
    color: rgba(255,255,255,.78);
    font-size: clamp(1.5rem, 2.5vw, 3rem);
    font-weight: 900;
}

.display-slide-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-bottom: .75rem;
}

.display-slide-meta span {
    padding: .35rem .7rem;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    color: rgba(255,255,255,.8);
    font-size: .9rem;
    font-weight: 800;
}

.display-main-card h2 {
    font-size: clamp(2rem, 3vw, 3.7rem);
    font-weight: 900;
    line-height: 1.35;
    margin-bottom: .7rem;
}

.display-main-card p {
    color: rgba(255,255,255,.78);
    font-size: clamp(1.05rem, 1.25vw, 1.45rem);
    line-height: 1.85;
    margin: 0;
}

.display-slide-dots {
    position: absolute;
    left: clamp(18px, 1.35vw, 28px);
    bottom: clamp(18px, 1.35vw, 28px);
    display: flex;
    gap: .45rem;
}

.display-slide-dots span {
    width: .6rem;
    height: .6rem;
    border-radius: 999px;
    background: rgba(255,255,255,.32);
    transition: width .25s ease, background .25s ease;
}

.display-slide-dots span.is-active {
    width: 2.4rem;
    background: #9be2ff;
}

.display-side {
    display: grid;
    gap: clamp(14px, 1vw, 22px);
    min-height: 0;
}

.display-list-item {
    padding: .9rem 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.display-list-item strong {
    display: block;
    font-size: clamp(1rem, 1vw, 1.22rem);
    line-height: 1.6;
}

.display-list-item span,
.display-empty {
    color: rgba(255,255,255,.65);
}

.display-news-strip {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    padding: .95rem 0;
    color: #fff;
    font-size: clamp(1rem, 1.1vw, 1.35rem);
    font-weight: 900;
    direction: ltr;
}

.display-ticker-track {
    display: inline-flex;
    gap: 2.2rem;
    min-width: max-content;
    padding-inline: 1.2rem;
    animation: displayTicker var(--display-ticker-duration, 52s) linear infinite;
}

.display-news-strip:hover .display-ticker-track {
    animation-play-state: paused;
}

.display-ticker-track span {
    white-space: nowrap;
    direction: rtl;
}

.display-ticker-track span::after {
    content: '•';
    margin-inline-start: 2.2rem;
    color: #9be2ff;
}

@keyframes displayTicker {
    from {
        transform: translateX(-50%);
    }

    to {
        transform: translateX(0);
    }
}

@keyframes displayFade {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 991.98px) {
    .achievement-hero,
    .display-layout {
        grid-template-columns: 1fr;
    }

    .achievement-hero__stats {
        grid-template-columns: 1fr;
    }

    .display-hero {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Display settings dashboard */
.display-settings-page {
    display: grid;
    gap: 1.5rem;
}

.display-settings-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: clamp(1.4rem, 3vw, 2.2rem);
    border-radius: 30px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 20%, rgba(47, 169, 224, .34), transparent 32%),
        linear-gradient(135deg, #0d3b66, #15508A);
    box-shadow: 0 24px 70px rgba(21, 80, 138, .18);
}

.display-settings-hero span,
.display-settings-card__head span {
    display: block;
    color: #9be2ff;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .14em;
    margin-bottom: .4rem;
}

.display-settings-hero h1 {
    margin: 0 0 .55rem;
    font-weight: 900;
}

.display-settings-hero p {
    max-width: 720px;
    margin: 0;
    color: rgba(255,255,255,.78);
    line-height: 1.9;
}

.display-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.display-settings-card {
    padding: 1.35rem;
    border: 1px solid #dce8f3;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(21, 80, 138, .08);
}

.display-settings-card--wide,
.display-settings-actions {
    grid-column: 1 / -1;
}

.display-settings-card__head {
    margin-bottom: 1.2rem;
}

.display-settings-card__head strong {
    display: block;
    color: #123f6b;
    font-size: 1.25rem;
    font-weight: 900;
}

.display-toggle {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    padding: 1rem;
    border: 1px solid #e2ebf4;
    border-radius: 18px;
    background: #f8fbfe;
    cursor: pointer;
}

.display-toggle + .display-toggle {
    margin-top: .8rem;
}

.display-toggle input {
    width: 1.2rem;
    height: 1.2rem;
    margin-top: .25rem;
    accent-color: #15508A;
}

.display-toggle strong,
.display-toggle small {
    display: block;
}

.display-toggle strong {
    color: #123f6b;
    font-weight: 900;
}

.display-toggle small {
    color: #64748b;
    line-height: 1.7;
}

.display-color-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 180px));
    gap: 1rem;
    margin-top: 1rem;
}

.display-settings-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
}

.display-control-hero {
    align-items: stretch;
}

.display-control-hero__actions {
    min-width: min(100%, 430px);
    display: grid;
    gap: .7rem;
    align-content: center;
}

.display-control-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.display-control-stats div,
.display-screen-link {
    border: 1px solid #dce8f3;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(21, 80, 138, .08);
}

.display-control-stats div {
    padding: 1.1rem;
}

.display-control-stats span {
    display: block;
    color: #64748b;
    font-size: .86rem;
    font-weight: 800;
}

.display-control-stats strong {
    display: block;
    color: #123f6b;
    font-size: 2.1rem;
    font-weight: 900;
}

.display-screen-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.display-screen-link {
    position: relative;
    overflow: hidden;
    min-height: 210px;
    padding: 1.25rem;
    color: #fff;
    text-decoration: none;
    background:
        radial-gradient(circle at 15% 15%, rgba(255,255,255,.18), transparent 30%),
        linear-gradient(135deg, #0d3b66, #15508A);
    transition: transform .2s ease, box-shadow .2s ease;
}

.display-screen-link:hover {
    color: #fff;
    transform: translateY(-4px);
    box-shadow: 0 22px 58px rgba(21, 80, 138, .18);
}

.display-screen-link--reception {
    background:
        radial-gradient(circle at 20% 15%, rgba(255,255,255,.18), transparent 30%),
        linear-gradient(135deg, #123f6b, #0f766e);
}

.display-screen-link--mobile {
    background:
        radial-gradient(circle at 20% 15%, rgba(255,255,255,.18), transparent 30%),
        linear-gradient(135deg, #15508A, #1691D0);
}

.display-screen-link span {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: rgba(255,255,255,.14);
    font-weight: 900;
    margin-bottom: 1.2rem;
}

.display-screen-link strong,
.display-screen-link small,
.display-screen-link em {
    display: block;
}

.display-screen-link strong {
    font-size: 1.35rem;
    font-weight: 900;
    margin-bottom: .55rem;
}

.display-screen-link small {
    color: rgba(255,255,255,.76);
    line-height: 1.8;
}

.display-screen-link em {
    position: absolute;
    right: 1.25rem;
    bottom: 1.1rem;
    font-style: normal;
    font-weight: 900;
}

.display-selected-list {
    display: grid;
    gap: .75rem;
}

.display-selected-list a,
.display-selected-empty {
    display: block;
    padding: .9rem 1rem;
    border: 1px solid #e2ebf4;
    border-radius: 18px;
    color: inherit;
    text-decoration: none;
    background: #f8fbfe;
}

.display-selected-list a:hover {
    border-color: #b9d5ec;
    background: #f2f8fd;
}

.display-selected-list strong,
.display-selected-list small {
    display: block;
}

.display-selected-list strong {
    color: #123f6b;
    font-weight: 900;
    line-height: 1.65;
}

.display-selected-list small,
.display-selected-empty {
    color: #64748b;
    line-height: 1.7;
}

@media (max-width: 767.98px) {
    .display-settings-hero,
    .display-settings-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .display-settings-grid,
    .display-control-stats,
    .display-screen-links {
        grid-template-columns: 1fr;
    }
}

.display-pick-box {
    padding: 1rem;
    border: 1px solid #dce8f3;
    border-radius: 18px;
    background: #f8fbfe;
}

.display-alert-admin {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid #e2ebf4;
    border-radius: 18px;
    background: #f8fbfe;
}

.display-alert-admin strong,
.display-alert-admin small {
    display: block;
}

.display-alert-admin strong {
    color: #123f6b;
    font-weight: 900;
    line-height: 1.7;
}

.display-alert-admin small {
    color: #64748b;
    line-height: 1.7;
}

/* Reception display */
.reception-display-body {
    margin: 0;
    min-height: 100vh;
    max-height: 100vh;
    overflow: hidden;
    color: #fff;
    font-family: var(--app-font);
    background: #071d34;
}

.reception-display {
    width: calc(100vw - 40px);
    max-width: calc(100vw - 40px);
    height: calc(100vh - 40px);
    margin: 20px auto;
    padding: clamp(12px, 1.05vw, 20px);
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    gap: clamp(8px, .7vw, 14px);
    background:
        radial-gradient(circle at 15% 18%, rgba(47, 169, 224, .28), transparent 34%),
        radial-gradient(circle at 90% 12%, rgba(255,255,255,.16), transparent 26%),
        linear-gradient(135deg, #071d34, #0d3b66 58%, #15508A);
}

.reception-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.reception-header span {
    display: block;
    color: #9be2ff;
    font-size: clamp(1rem, 1.1vw, 1.4rem);
    font-weight: 900;
    letter-spacing: .16em;
}

.reception-header h1 {
    margin: .3rem 0 0;
    font-size: clamp(2.2rem, 3.7vw, 4.6rem);
    font-weight: 900;
}

.reception-header img {
    width: clamp(210px, 18vw, 360px);
    max-height: 110px;
    object-fit: contain;
}

.reception-feature {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: stretch;
    gap: clamp(18px, 1.8vw, 34px);
    padding: clamp(14px, 1.25vw, 24px);
    border: 1px solid rgba(255,255,255,.14);
    overflow: hidden;
    border-radius: 30px;
    background: rgba(255,255,255,.1);
    box-shadow: 0 30px 85px rgba(0,0,0,.2);
    backdrop-filter: blur(12px);
}

.reception-feature img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    border-radius: 24px;
}

.reception-feature__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding-inline-start: clamp(12px, 1vw, 22px);
}

.reception-feature__content span {
    color: #9be2ff;
    font-size: clamp(1rem, 1.1vw, 1.35rem);
    font-weight: 900;
}

.reception-feature__content h2 {
    margin: .8rem 0 1rem;
    display: -webkit-box;
    max-height: 4.2em;
    overflow: hidden;
    font-size: clamp(1.75rem, 2.55vw, 3.2rem);
    font-weight: 900;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.reception-feature__content p {
    margin: 0;
    display: -webkit-box;
    max-height: 5.7em;
    overflow: hidden;
    color: rgba(255,255,255,.78);
    font-size: clamp(.95rem, 1.1vw, 1.35rem);
    line-height: 1.9;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.reception-alert {
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
}

.reception-ticker {
    padding-block: .62rem;
    font-size: clamp(1rem, 1.05vw, 1.3rem);
}

@media (max-width: 991.98px) {
    .reception-display {
        min-height: auto;
    }

    .reception-feature {
        grid-template-columns: 1fr;
    }

    .reception-feature img {
        min-height: 260px;
    }
}

/* Mobile display */
.mobile-display-body {
    margin: 0;
    min-height: 100vh;
    color: #0f172a;
    font-family: var(--app-font);
    background:
        radial-gradient(circle at 15% 0%, rgba(47, 169, 224, .22), transparent 30%),
        linear-gradient(180deg, #0d3b66 0, #15508A 260px, #f3f7fb 260px);
}

.mobile-display {
    width: min(100%, 560px);
    margin: 0 auto;
    padding: 18px 14px 28px;
    display: grid;
    gap: 14px;
}

.mobile-display-header {
    min-height: 230px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
}

.mobile-display-header img {
    width: min(64vw, 260px);
    margin-bottom: 1rem;
}

.mobile-display-header span {
    color: #9be2ff;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.mobile-display-header h1 {
    margin: .35rem 0;
    font-size: clamp(2rem, 10vw, 3.15rem);
    font-weight: 900;
    line-height: 1.25;
}

.mobile-display-header p {
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: 1rem;
}

.mobile-display-alert {
    padding: 1rem;
    border-radius: 22px;
    color: var(--mobile-alert-color, #fff);
    background: var(--mobile-alert-bg, #b42318);
    box-shadow: 0 18px 38px rgba(15, 23, 42, .14);
}

.mobile-display-alert strong {
    display: inline-flex;
    padding: .28rem .65rem;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    font-size: .82rem;
    margin-bottom: .55rem;
}

.mobile-display-alert p {
    margin: 0;
    font-weight: 900;
    line-height: 1.75;
}

.mobile-feature-card,
.mobile-list-section {
    overflow: hidden;
    border: 1px solid #dbe7f2;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(21, 80, 138, .1);
}

.mobile-feature-card > img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    display: block;
}

.mobile-feature-card__content {
    padding: 1.15rem;
}

.mobile-feature-card__content span,
.mobile-section-title {
    color: #1691D0;
    font-size: .82rem;
    font-weight: 900;
}

.mobile-feature-card__content h2 {
    margin: .5rem 0 .65rem;
    color: #123f6b;
    font-size: 1.55rem;
    font-weight: 900;
    line-height: 1.45;
}

.mobile-feature-card__content p {
    margin: 0;
    color: #475569;
    line-height: 1.9;
}

.mobile-list-section {
    padding: 1rem;
}

.mobile-section-title {
    margin-bottom: .85rem;
}

.mobile-list-item {
    padding: .85rem 0;
    border-top: 1px solid #e7eef6;
}

.mobile-list-item:first-of-type {
    border-top: 0;
}

.mobile-list-item strong,
.mobile-list-item span {
    display: block;
}

.mobile-list-item strong {
    color: #123f6b;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.65;
}

.mobile-list-item span,
.mobile-empty {
    color: #64748b;
    font-size: .88rem;
}

/* Smart reports center */
.smart-report-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: clamp(1.4rem, 3vw, 2.2rem);
    border-radius: 30px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 20%, rgba(47, 169, 224, .34), transparent 32%),
        linear-gradient(135deg, #0d3b66, #15508A);
    box-shadow: 0 24px 70px rgba(21, 80, 138, .18);
    margin-bottom: 1.25rem;
}

.smart-report-hero span,
.smart-report-card__head span {
    display: block;
    color: #9be2ff;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .14em;
    margin-bottom: .4rem;
}

.smart-report-hero h1 {
    margin: 0 0 .55rem;
    font-weight: 900;
}

.smart-report-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.78);
    line-height: 1.9;
}

.smart-report-layout,
.smart-report-grid {
    display: grid;
    grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
    gap: 1rem;
    margin-bottom: 1rem;
}

.smart-report-card {
    padding: 1.35rem;
    border: 1px solid #dce8f3;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(21, 80, 138, .08);
}

.smart-report-card__head {
    margin-bottom: 1rem;
}

.smart-report-card__head strong {
    display: block;
    color: #123f6b;
    font-size: 1.25rem;
    font-weight: 900;
}

.smart-report-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.smart-report-stats div {
    padding: .9rem;
    border-radius: 18px;
    background: #f4f9fd;
}

.smart-report-stats strong,
.smart-report-stats span {
    display: block;
}

.smart-report-stats strong {
    color: #123f6b;
    font-size: 1.6rem;
    font-weight: 900;
}

.smart-report-stats span {
    color: #64748b;
    font-size: .84rem;
    font-weight: 800;
}

.smart-category-list,
.smart-news-list {
    display: grid;
    gap: .75rem;
}

.smart-category-list div,
.smart-news-list a,
.smart-empty {
    padding: .9rem 1rem;
    border: 1px solid #e2ebf4;
    border-radius: 18px;
    background: #f8fbfe;
}

.smart-category-list div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.smart-category-list span,
.smart-category-list strong,
.smart-news-list strong,
.smart-news-list small {
    display: block;
}

.smart-category-list span,
.smart-news-list small,
.smart-empty {
    color: #64748b;
    line-height: 1.7;
}

.smart-category-list strong,
.smart-news-list strong {
    color: #123f6b;
    font-weight: 900;
    line-height: 1.6;
}

.smart-news-list a {
    color: inherit;
    text-decoration: none;
}

.smart-news-list a:hover {
    border-color: #b9d5ec;
    background: #f2f8fd;
}

/* Brand and media library */
.media-library-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: clamp(1.4rem, 3vw, 2.2rem);
    border-radius: 30px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 20%, rgba(47, 169, 224, .34), transparent 32%),
        linear-gradient(135deg, #0d3b66, #15508A);
    box-shadow: 0 24px 70px rgba(21, 80, 138, .18);
    margin-bottom: 1.25rem;
}

.media-library-hero span {
    display: block;
    color: #9be2ff;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .14em;
    margin-bottom: .4rem;
}

.media-library-hero h1 {
    margin: 0 0 .55rem;
    font-weight: 900;
}

.media-library-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.78);
    line-height: 1.9;
}

.media-library-hero__actions {
    min-width: min(100%, 360px);
    display: grid;
    gap: .7rem;
}

.media-library-section {
    margin-bottom: 1.5rem;
}

.media-library-section__head {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin-bottom: 1rem;
}

.media-library-section__head span {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: #eaf5fb;
    color: #15508A;
    font-weight: 900;
}

.media-library-section__head h2 {
    margin: 0;
    color: #123f6b;
    font-weight: 900;
}

.media-library-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}

.media-asset-card {
    overflow: hidden;
    border: 1px solid #dce8f3;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(21, 80, 138, .08);
}

.media-asset-preview {
    height: 190px;
    display: grid;
    place-items: center;
    padding: 1rem;
    background:
        linear-gradient(45deg, rgba(21, 80, 138, .06) 25%, transparent 25%),
        linear-gradient(-45deg, rgba(21, 80, 138, .06) 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, rgba(21, 80, 138, .06) 75%),
        linear-gradient(-45deg, transparent 75%, rgba(21, 80, 138, .06) 75%),
        #f8fbfe;
    background-size: 22px 22px;
    background-position: 0 0, 0 11px, 11px -11px, -11px 0;
}

.media-asset-preview img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.media-asset-preview__empty {
    color: #64748b;
    font-weight: 800;
}

.media-asset-card__body {
    padding: 1.15rem;
}

.media-asset-card__title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .75rem;
    margin-bottom: .65rem;
}

.media-asset-card__title strong {
    color: #123f6b;
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1.5;
}

.media-asset-card__title span {
    flex: none;
    padding: .25rem .55rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 900;
}

.media-asset-card__title .is-ready {
    color: #047857;
    background: #dff8eb;
}

.media-asset-card__title .is-missing {
    color: #b42318;
    background: #fde7e4;
}

.media-asset-card p {
    color: #64748b;
    line-height: 1.8;
    margin-bottom: .8rem;
}

.media-asset-meta {
    display: grid;
    gap: .25rem;
    margin-bottom: 1rem;
    color: #64748b;
    font-size: .84rem;
}

.media-upload-form {
    display: grid;
    gap: .65rem;
}

.media-upload-hint {
    display: block;
    margin-top: .7rem;
    color: #64748b;
    line-height: 1.7;
}

/* Backup center */
.backup-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: clamp(1.4rem, 3vw, 2.2rem);
    border-radius: 30px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 20%, rgba(47, 169, 224, .34), transparent 32%),
        linear-gradient(135deg, #0d3b66, #15508A);
    box-shadow: 0 24px 70px rgba(21, 80, 138, .18);
    margin-bottom: 1.25rem;
}

.backup-hero span,
.backup-card__head span {
    display: block;
    color: #9be2ff;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .14em;
    margin-bottom: .4rem;
}

.backup-hero h1 {
    margin: 0 0 .55rem;
    font-weight: 900;
}

.backup-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.78);
    line-height: 1.9;
}

.backup-stats,
.backup-grid {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
}

.backup-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.backup-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.backup-stats div,
.backup-card {
    border: 1px solid #dce8f3;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(21, 80, 138, .08);
}

.backup-stats div {
    padding: 1.1rem;
}

.backup-stats span {
    display: block;
    color: #64748b;
    font-weight: 800;
}

.backup-stats strong {
    display: block;
    color: #123f6b;
    font-size: 1.85rem;
    font-weight: 900;
}

.backup-card {
    padding: 1.35rem;
}

.backup-card__head {
    margin-bottom: 1rem;
}

.backup-card__head strong {
    display: block;
    color: #123f6b;
    font-size: 1.25rem;
    font-weight: 900;
}

.backup-card p,
.backup-note {
    color: #64748b;
    line-height: 1.8;
}

.backup-note {
    margin-top: .85rem;
    font-size: .9rem;
}

.backup-card--danger {
    border-color: #f3c6bf;
}

.backup-history {
    display: grid;
    gap: .75rem;
}

.backup-history div,
.backup-empty {
    padding: .9rem 1rem;
    border: 1px solid #e2ebf4;
    border-radius: 18px;
    background: #f8fbfe;
}

.backup-history strong,
.backup-history span {
    display: block;
}

.backup-history strong {
    color: #123f6b;
    font-weight: 900;
    line-height: 1.6;
}

.backup-history span,
.backup-empty {
    color: #64748b;
    line-height: 1.7;
}

@media (max-width: 991.98px) {
    .smart-report-hero,
    .media-library-hero,
    .backup-hero,
    .activity-log-hero {
        flex-direction: column;
        align-items: stretch;
    }

    .smart-report-layout,
    .smart-report-grid,
    .backup-stats,
    .backup-grid {
        grid-template-columns: 1fr;
    }
}

.activity-log-page {
    display: grid;
    gap: 1rem;
}

.activity-log-hero,
.activity-log-filters,
.activity-log-card {
    border: 1px solid #e2ebf4;
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(21, 80, 138, .08);
}

.activity-log-hero {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.75rem;
    background:
        radial-gradient(circle at 10% 10%, rgba(47, 169, 224, .18), transparent 30%),
        linear-gradient(135deg, #f8fbff 0%, #ffffff 48%, #eef7fd 100%);
}

.activity-log-hero__eyebrow {
    display: inline-flex;
    margin-bottom: .55rem;
    color: #1691d0;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.activity-log-hero h1 {
    margin: 0 0 .55rem;
    color: #123f6b;
    font-weight: 900;
}

.activity-log-hero p {
    max-width: 680px;
    margin: 0;
    color: #64748b;
    line-height: 1.9;
}

.activity-log-hero__stat {
    min-width: 170px;
    align-self: stretch;
    display: grid;
    place-content: center;
    text-align: center;
    border-radius: 24px;
    background: #15508a;
    color: #ffffff;
}

.activity-log-hero__stat span,
.activity-log-hero__stat strong {
    display: block;
}

.activity-log-hero__stat span {
    font-size: .9rem;
    opacity: .82;
}

.activity-log-hero__stat strong {
    font-size: 2.2rem;
    font-weight: 900;
}

.activity-log-filters {
    padding: 1.25rem;
}

.activity-log-reset {
    display: inline-flex;
    margin-top: .85rem;
    color: #15508a;
    font-weight: 800;
    text-decoration: none;
}

.activity-log-card {
    overflow: hidden;
}

.activity-log-card__head {
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #e2ebf4;
    background: #f8fbfe;
}

.activity-log-card__head h2 {
    margin: 0 0 .25rem;
    color: #123f6b;
    font-size: 1.25rem;
    font-weight: 900;
}

.activity-log-card__head p {
    margin: 0;
    color: #64748b;
}

.activity-log-table {
    margin: 0;
}

.activity-log-table thead th {
    padding: 1rem;
    color: #475569;
    font-size: .88rem;
    font-weight: 900;
    background: #ffffff;
    border-bottom-color: #e2ebf4;
}

.activity-log-table tbody td {
    padding: 1rem;
    color: #334155;
    border-bottom-color: #edf2f7;
}

.activity-log-user,
.activity-log-title {
    color: #123f6b;
    font-weight: 900;
}

.activity-log-details {
    max-width: 320px;
    color: #64748b;
    white-space: normal;
}

.activity-log-time,
.activity-log-ip {
    color: #64748b;
    font-size: .85rem;
    white-space: nowrap;
}

.activity-log-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 86px;
    padding: .35rem .65rem;
    border-radius: 999px;
    background: #eaf6fc;
    color: #15508a;
    font-size: .82rem;
    font-weight: 900;
}

.activity-log-badge--delete,
.activity-log-badge--reject {
    background: #fff1f2;
    color: #be123c;
}

.activity-log-badge--create,
.activity-log-badge--approve {
    background: #ecfdf5;
    color: #047857;
}

.activity-log-badge--update,
.activity-log-badge--update_role,
.activity-log-badge--reset_password {
    background: #eff6ff;
    color: #15508a;
}

.activity-log-empty {
    padding: 3rem 1rem;
    color: #64748b;
    text-align: center;
}

@media (max-width: 767.98px) {
    .activity-log-hero,
    .activity-log-filters {
        padding: 1.15rem;
        border-radius: 22px;
    }

    .activity-log-hero__stat {
        min-height: 110px;
    }
}

/* 2026 public portal: editorial hospital gateway */
.portal-home {
    --portal-navy: #0a3156;
    --portal-blue: #155e91;
    --portal-cyan: #41b8dc;
    --portal-gold: #c79a4a;
    --portal-ink: #12283d;
    --portal-muted: #66798b;
}

.portal-header {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 2rem;
    margin-bottom: 1rem;
    padding: .8rem 1rem;
    border: 1px solid rgba(12, 59, 96, .09);
    border-radius: 22px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 36px rgba(10, 49, 86, .07);
    backdrop-filter: blur(16px);
}

.portal-header__brand {
    display: flex;
    align-items: center;
    gap: .9rem;
    color: var(--portal-navy);
    text-decoration: none;
}

.portal-header__brand img {
    width: 82px;
    height: 70px;
    padding: .25rem;
    border-radius: 14px;
    background: #fff;
    object-fit: contain;
    filter: drop-shadow(0 5px 9px rgba(10, 49, 86, .12));
}
.portal-header__brand span { display: flex; flex-direction: column; line-height: 1.4; }
.portal-header__brand strong { font-size: 1rem; font-weight: 900; }
.portal-header__brand small { color: var(--portal-muted); font-size: .7rem; font-weight: 700; }

.portal-header__nav { display: flex; justify-content: center; gap: .2rem; }
.portal-header__nav a {
    padding: .65rem .9rem;
    border-radius: 12px;
    color: #40566a;
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
    transition: color .2s ease, background .2s ease;
}
.portal-header__nav a:hover { color: var(--portal-blue); background: #eef7fb; }
.portal-header__login {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .7rem 1rem;
    border-radius: 12px;
    background: var(--portal-navy);
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
    text-decoration: none;
}

.portal-home .public-portal-hero {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
    min-height: 525px;
    padding: 1.25rem;
    border: 0;
    border-radius: 34px;
    background:
        radial-gradient(circle at 12% 14%, rgba(65, 184, 220, .16), transparent 26%),
        linear-gradient(135deg, #f0f8fb, #e7f2f7);
    box-shadow: none;
}
.portal-home .public-portal-hero::before {
    inset: auto 8% 0 auto;
    width: 38%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(21, 94, 145, .28), transparent);
}
.portal-home .public-portal-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem clamp(1rem, 3vw, 2.5rem);
}
.portal-home .public-news-kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: var(--portal-blue);
    font-size: .72rem;
    letter-spacing: .02em;
}
.portal-home .public-news-kicker i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--portal-cyan);
    box-shadow: 0 0 0 5px rgba(65, 184, 220, .12);
}
.portal-home .public-portal-hero .public-news-title {
    margin: 1rem 0 .9rem;
    color: var(--portal-navy);
    font-size: clamp(2.5rem, 4.8vw, 4.6rem);
    line-height: 1.18;
    font-weight: 900;
    letter-spacing: -.055em;
}
.portal-home .public-news-title em { color: var(--portal-blue); font-style: normal; }
.portal-home .public-portal-hero .public-news-subtitle {
    max-width: 590px;
    margin: 0;
    color: #526b7f;
    font-size: .98rem;
    line-height: 2;
}
.portal-home .public-portal-hero__actions { margin: 1.35rem 0 0; }
.portal-home .public-portal-hero__actions .btn {
    min-height: 49px;
    padding-inline: 1.2rem;
    border-radius: 14px;
}
.portal-home .public-portal-hero__actions .btn-primary { background: var(--portal-navy); border-color: var(--portal-navy); }
.portal-home .public-portal-hero__actions .btn-outline-primary { color: var(--portal-navy); border-color: rgba(10, 49, 86, .25); }

.portal-home .public-portal-insights { max-width: 540px; margin-top: 1.8rem; gap: 0; }
.portal-home .public-portal-insight {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: 0 1rem;
    border: 0;
    border-inline-end: 1px solid rgba(10, 49, 86, .13);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.portal-home .public-portal-insight:first-child { padding-inline-start: 0; }
.portal-home .public-portal-insight:last-child { border-inline-end: 0; }
.portal-home .public-portal-insight strong { margin: 0; color: var(--portal-navy); font-size: 1.8rem; }
.portal-home .public-portal-insight span { color: var(--portal-muted); font-size: .7rem; line-height: 1.5; }

.portal-featured {
    position: relative;
    display: block;
    min-height: 500px;
    overflow: hidden;
    border-radius: 26px;
    color: #fff;
    text-decoration: none;
}
.portal-featured .carousel-inner,
.portal-featured .carousel-item,
.portal-featured__link {
    width: 100%;
    height: 100%;
    min-height: inherit;
}
.portal-featured__link {
    position: relative;
    display: block;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
}
.portal-featured img, .portal-featured__placeholder {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.portal-featured__placeholder { background: linear-gradient(145deg, var(--portal-blue), var(--portal-navy)); }
.portal-featured:hover img { transform: scale(1.035); }
.portal-featured__shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 25%, rgba(3, 23, 40, .9) 100%); }
.portal-featured__content { position: absolute; inset: auto 0 0; padding: 2rem; }
.portal-featured__content span {
    display: inline-flex;
    padding: .38rem .7rem;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 99px;
    background: rgba(255,255,255,.14);
    font-size: .7rem;
    font-weight: 800;
    backdrop-filter: blur(8px);
}
.portal-featured__content h2 { max-width: 620px; margin: .75rem 0 .45rem; font-size: clamp(1.3rem, 2.2vw, 2rem); line-height: 1.55; font-weight: 900; }
.portal-featured__content small { color: rgba(255,255,255,.75); }
.portal-featured__indicators {
    z-index: 4;
    right: auto;
    left: 1.5rem;
    bottom: 1.45rem;
    justify-content: flex-start;
    width: auto;
    margin: 0;
    gap: .35rem;
}
.portal-featured__indicators [data-bs-target] {
    width: 7px;
    height: 7px;
    margin: 0;
    border: 0;
    border-radius: 99px;
    background: rgba(255, 255, 255, .72);
    transition: width .3s ease, opacity .3s ease;
}
.portal-featured__indicators .active { width: 25px; opacity: 1; }
.portal-featured__control {
    z-index: 5;
    top: 1.25rem;
    bottom: auto;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 50%;
    background: rgba(4, 30, 51, .28);
    opacity: 0;
    backdrop-filter: blur(9px);
    transition: opacity .2s ease, background .2s ease;
}
.portal-featured__control--prev { right: auto; left: 1.25rem; }
.portal-featured__control--next { right: auto; left: 4.1rem; }
.portal-featured:hover .portal-featured__control { opacity: .9; }
.portal-featured__control:hover { background: rgba(4, 30, 51, .65); }
.portal-featured__control .carousel-control-prev-icon,
.portal-featured__control .carousel-control-next-icon { width: 1rem; height: 1rem; }

.portal-quicklinks { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; margin: 0 0 1.5rem; }
.portal-quicklinks > a {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    padding: .9rem;
    border: 1px solid #e3ebf1;
    border-radius: 18px;
    background: #fff;
    color: var(--portal-ink);
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}
.portal-quicklinks > a:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(10,49,86,.09); }
.portal-quicklinks__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: #eaf8f2; color: #16805b; font-weight: 900; }
.portal-quicklinks__icon--slate { background: #eef1f4; color: #596979; }
.portal-quicklinks__icon--blue { background: #eaf4fb; color: #155e91; }
.portal-quicklinks__icon--gold { background: #fbf3e6; color: #9b712c; }
.portal-quicklinks strong, .portal-quicklinks small { display: block; }
.portal-quicklinks strong { font-size: .82rem; font-weight: 900; }
.portal-quicklinks small { margin-top: .15rem; color: #82909e; font-size: .65rem; }
.portal-quicklinks b { color: #9aabba; font-size: 1.1rem; transition: transform .2s ease; }
.portal-quicklinks a:hover b { transform: translateX(-3px); color: var(--portal-blue); }

.portal-home .portal-section, .portal-home .portal-panel { border-radius: 26px; border-color: #e7edf2; box-shadow: 0 14px 38px rgba(10,49,86,.055); }
.portal-home .portal-section__title { color: var(--portal-navy); font-size: 1.65rem; }
.portal-home .public-news-grid { gap: 1rem; }
.portal-home .public-news-card { border-radius: 20px; box-shadow: none; }
.portal-home .public-news-card:hover { box-shadow: 0 18px 38px rgba(10,49,86,.1); }
.portal-home .public-news-card__link, .portal-home .portal-section__link { color: var(--portal-blue); }

@media (prefers-reduced-motion: no-preference) {
    .portal-header, .portal-home .public-portal-hero, .portal-quicklinks, .portal-home .portal-section, .portal-home .portal-panels {
        animation: portal-rise .55s both;
    }
    .portal-home .public-portal-hero { animation-delay: .06s; }
    .portal-quicklinks { animation-delay: .12s; }
    .portal-home .portal-section { animation-delay: .18s; }
    @keyframes portal-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
}

@media (max-width: 991.98px) {
    .portal-header { grid-template-columns: 1fr auto; }
    .portal-header__nav { display: none; }
    .portal-home .public-portal-hero { grid-template-columns: 1fr; }
    .portal-featured { min-height: 420px; }
    .portal-quicklinks { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 575.98px) {
    .portal-header { padding: .65rem; border-radius: 16px; gap: .5rem; }
    .portal-header__brand { gap: .55rem; }
    .portal-header__brand img { width: 60px; height: 54px; padding: .15rem; border-radius: 10px; }
    .portal-header__brand strong { font-size: .82rem; }
    .portal-header__brand small { display: none; }
    .portal-header__login { padding: .62rem .7rem; font-size: .7rem; }
    .portal-home .public-portal-hero { min-height: 0; padding: .65rem; border-radius: 22px; }
    .portal-home .public-portal-hero__content { padding: 1.25rem .75rem; }
    .portal-home .public-portal-hero .public-news-title { font-size: 2.35rem; }
    .portal-home .public-portal-hero .public-news-subtitle { font-size: .85rem; line-height: 1.85; }
    .portal-home .public-portal-hero__actions { display: grid; grid-template-columns: 1fr; }
    .portal-home .public-portal-insights { margin-top: 1.35rem; }
    .portal-home .public-portal-insight { display: block; padding: 0 .65rem; }
    .portal-home .public-portal-insight strong { font-size: 1.4rem; }
    .portal-home .public-portal-insight span { font-size: .61rem; }
    .portal-featured { min-height: 330px; border-radius: 18px; }
    .portal-featured__content { padding: 1.2rem; }
    .portal-featured__content h2 { font-size: 1.18rem; }
    .portal-featured__indicators { left: 1rem; bottom: 1rem; }
    .portal-featured__control { display: none; }
    .portal-quicklinks { gap: .55rem; }
    .portal-quicklinks > a { grid-template-columns: auto 1fr; padding: .7rem; border-radius: 15px; }
    .portal-quicklinks b, .portal-quicklinks small { display: none; }
    .portal-quicklinks__icon { width: 36px; height: 36px; border-radius: 11px; }
    .portal-home .portal-section__title { font-size: 1.3rem; }
}

/* Achievements showcase refresh */
.achievements-page {
    --portal-navy: #0a3156;
    --portal-blue: #155e91;
    --portal-cyan: #41b8dc;
    --portal-gold: #c79a4a;
    --portal-ink: #12283d;
    --portal-muted: #66798b;
}

.achievements-header .portal-header__nav .is-active {
    color: var(--portal-blue);
    background: #eef7fb;
}

.achievements-page .achievement-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(390px, 1.08fr);
    gap: 1rem;
    align-items: stretch;
    min-height: 510px;
    padding: 1rem;
    overflow: hidden;
    border: 0;
    border-radius: 32px;
    background:
        radial-gradient(circle at 82% 12%, rgba(65, 184, 220, .2), transparent 26%),
        linear-gradient(135deg, #082a4a, #0d416d 58%, #12527e);
    box-shadow: 0 24px 55px rgba(7, 42, 74, .18);
}

.achievement-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.5rem, 4vw, 3.25rem);
}

.achievement-hero__kicker {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    color: #8fdcf1;
    font-size: .75rem;
    font-weight: 900;
}

.achievement-hero__kicker i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #58cee9;
    box-shadow: 0 0 0 6px rgba(88, 206, 233, .12);
}

.achievements-page .achievement-hero__title {
    margin: 1rem 0 .8rem;
    color: #fff;
    font-size: clamp(2.4rem, 4.5vw, 4.25rem);
    line-height: 1.23;
    letter-spacing: -.05em;
}

.achievement-hero__title em { color: #68cbe6; font-style: normal; }

.achievements-page .achievement-hero__lead {
    max-width: 620px;
    margin: 0;
    color: rgba(227, 241, 250, .76);
    font-size: .94rem;
    line-height: 2;
}

.achievements-page .achievement-hero__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .6rem;
    margin-top: 2rem;
}

.achievements-page .achievement-hero__stats div {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .8rem 1rem;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 15px;
    background: rgba(255, 255, 255, .07);
    text-align: start;
    backdrop-filter: blur(8px);
}

.achievements-page .achievement-hero__stats strong {
    color: #fff;
    font-size: 1.7rem;
    line-height: 1;
}

.achievements-page .achievement-hero__stats span {
    color: rgba(232, 244, 251, .72);
    font-size: .7rem;
    line-height: 1.4;
}

.achievement-featured {
    position: relative;
    display: block;
    min-height: 480px;
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(145deg, #155e91, #061f38);
    color: #fff;
    text-decoration: none;
}

.achievement-featured > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(2.5px) saturate(.72) brightness(.8);
    transform: scale(1.025);
    transition: transform .7s cubic-bezier(.2, .7, .2, 1);
}

.achievement-featured:hover > img { transform: scale(1.06); }
.achievement-featured__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(3, 22, 38, .42) 0%, rgba(3, 22, 38, .94) 100%),
        linear-gradient(90deg, rgba(10, 49, 86, .18), rgba(10, 49, 86, .62));
}
.achievement-featured__content { position: absolute; inset: auto 0 0; display: flex; flex-direction: column; align-items: flex-start; padding: 2rem; }
.achievement-featured__content small { padding: .35rem .7rem; border: 1px solid rgba(255,255,255,.28); border-radius: 99px; background: rgba(255,255,255,.13); font-size: .68rem; font-weight: 900; backdrop-filter: blur(8px); }
.achievement-featured__content strong { max-width: 580px; margin: .75rem 0 .5rem; font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.65; }
.achievement-featured__content time { color: rgba(255,255,255,.65); font-size: .72rem; }

.achievement-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin: 2rem 0 1rem;
}
.achievement-toolbar h2 { margin: .35rem 0 0; color: var(--portal-navy); font-size: 1.75rem; font-weight: 900; }
.achievement-toolbar h2 small {
    display: inline-flex;
    margin-inline-start: .5rem;
    padding: .28rem .55rem;
    border-radius: 99px;
    background: #eaf4f8;
    color: #55758c;
    font-size: .65rem;
    font-weight: 900;
    vertical-align: middle;
}
.achievement-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }
.achievement-filters button {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-height: 42px;
    padding: .5rem .85rem;
    border: 1px solid #dbe6ed;
    border-radius: 12px;
    background: #fff;
    color: #536a7e;
    font-family: inherit;
    font-size: .75rem;
    font-weight: 900;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}
.achievement-filters button:hover { transform: translateY(-2px); border-color: #bcd4e2; color: var(--portal-blue); }
.achievement-filters button.is-active { border-color: var(--portal-navy); background: var(--portal-navy); color: #fff; }
.achievement-filters button span { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 .35rem; border-radius: 99px; background: #eef5f8; color: var(--portal-blue); font-size: .65rem; }
.achievement-filters button.is-active span { background: rgba(255,255,255,.17); color: #fff; }

.achievements-page .achievement-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.achievements-page .achievement-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid #e2eaf0;
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(10,49,86,.055);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.achievements-page .achievement-card:hover { transform: translateY(-5px); border-color: #c8dce8; box-shadow: 0 20px 42px rgba(10,49,86,.11); }
.achievements-page .achievement-card[hidden] { display: none; }
.achievements-page .achievement-card:not([hidden]) { animation: achievement-card-in .32s both; }
@keyframes achievement-card-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
}
.achievements-page .achievement-card__image { position: relative; height: 245px; overflow: hidden; }
.achievements-page .achievement-card__image img { transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.achievements-page .achievement-card:hover .achievement-card__image img { transform: scale(1.035); }
.achievement-card__image-label { position: absolute; inset: 1rem 1rem auto auto; padding: .36rem .65rem; border: 1px solid rgba(255,255,255,.3); border-radius: 99px; background: rgba(7,42,74,.68); color: #fff; font-size: .66rem; font-weight: 900; backdrop-filter: blur(8px); }
.achievements-page .achievement-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.15rem; }
.achievements-page .achievement-card__meta span { background: #f2f7fa; border-color: #e0eaf0; color: #42667f; font-size: .69rem; }
.achievements-page .achievement-card h2 { margin-bottom: .55rem; font-size: 1.08rem; line-height: 1.75; }
.achievements-page .achievement-card h2 a { color: var(--portal-navy); }
.achievements-page .achievement-card p { display: -webkit-box; overflow: hidden; margin-bottom: 1rem; color: #6c7e8f; font-size: .82rem; line-height: 1.9; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.achievement-card__link { display: inline-flex; align-items: center; gap: .5rem; margin-top: auto; color: var(--portal-blue); font-size: .78rem; font-weight: 900; text-decoration: none; }
.achievement-card__link span { transition: transform .2s ease; }
.achievement-card__link:hover span { transform: translateX(-4px); }

@media (prefers-reduced-motion: no-preference) {
    .achievements-header, .achievements-page .achievement-hero, .achievement-toolbar, .achievements-page .achievement-grid { animation: achievement-rise .55s both; }
    .achievements-page .achievement-hero { animation-delay: .06s; }
    .achievement-toolbar { animation-delay: .12s; }
    .achievements-page .achievement-grid { animation-delay: .17s; }
    @keyframes achievement-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
}

@media (max-width: 991.98px) {
    .achievements-page .achievement-hero { grid-template-columns: 1fr; }
    .achievement-featured { min-height: 400px; }
    .achievement-toolbar { align-items: flex-start; flex-direction: column; }
    .achievement-filters { justify-content: flex-start; }
    .achievements-page .achievement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
    .achievements-page .achievement-hero { min-height: 0; padding: .65rem; border-radius: 22px; }
    .achievement-hero__copy { padding: 1.35rem .8rem; }
    .achievements-page .achievement-hero__title { font-size: 2.25rem; }
    .achievements-page .achievement-hero__lead { font-size: .82rem; line-height: 1.85; }
    .achievements-page .achievement-hero__stats { gap: .4rem; margin-top: 1.35rem; }
    .achievements-page .achievement-hero__stats div { display: block; padding: .65rem .4rem; text-align: center; }
    .achievements-page .achievement-hero__stats strong { font-size: 1.45rem; }
    .achievements-page .achievement-hero__stats span { display: block; margin-top: .25rem; font-size: .6rem; }
    .achievement-featured { min-height: 320px; border-radius: 17px; }
    .achievement-featured__content { padding: 1.15rem; }
    .achievement-featured__content strong { font-size: 1.08rem; }
    .achievement-toolbar { margin-top: 1.4rem; }
    .achievement-toolbar h2 { font-size: 1.4rem; }
    .achievement-filters { display: grid; grid-template-columns: repeat(2, 1fr); width: 100%; }
    .achievement-filters button { justify-content: space-between; padding: .45rem .65rem; }
    .achievements-page .achievement-grid { grid-template-columns: 1fr; }
    .achievements-page .achievement-card__image { height: 210px; }
}

/* Focused media dashboard */
.dashboard-v2 {
    --dash-navy: #0a3156;
    --dash-blue: #155e91;
    --dash-cyan: #43b8d6;
    --dash-ink: #152b3f;
    --dash-muted: #6d7f8f;
    --dash-line: #e2eaf0;
    display: grid;
    gap: 1.15rem;
}

.dashboard-v2__hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(400px, .72fr);
    gap: 2rem;
    align-items: center;
    min-height: 275px;
    padding: clamp(1.5rem, 3vw, 2.6rem);
    overflow: hidden;
    border-radius: 28px;
    background:
        radial-gradient(circle at 8% 10%, rgba(67, 184, 214, .24), transparent 30%),
        linear-gradient(135deg, #092f53, #0c4774);
    color: #fff;
    box-shadow: 0 22px 50px rgba(9, 47, 83, .16);
}

.dashboard-v2__hero::after {
    content: "";
    position: absolute;
    inset: auto -60px -110px auto;
    width: 300px;
    height: 300px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    box-shadow: 0 0 0 38px rgba(255,255,255,.025), 0 0 0 76px rgba(255,255,255,.018);
}

.dashboard-v2__hero-copy,
.dashboard-v2__create { position: relative; z-index: 1; }

.dashboard-v2__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--dash-blue);
    font-size: .7rem;
    font-weight: 900;
}

.dashboard-v2__hero .dashboard-v2__eyebrow { color: #83d8ec; }
.dashboard-v2__eyebrow i {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--dash-cyan);
    box-shadow: 0 0 0 5px rgba(67,184,214,.12);
}

.dashboard-v2__hero h1 {
    margin: .65rem 0 .4rem;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 900;
    letter-spacing: -.04em;
}

.dashboard-v2__hero-copy p {
    max-width: 620px;
    margin: 0;
    color: rgba(232, 244, 251, .73);
    font-size: .9rem;
    line-height: 1.9;
}
.dashboard-v2__public-preview {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: 1rem;
    padding: .55rem .75rem;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 10px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: .65rem;
    font-weight: 900;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}
.dashboard-v2__public-preview:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,.15);
    color: #fff;
}

.dashboard-v2__create > span {
    display: block;
    margin-bottom: .6rem;
    color: rgba(255,255,255,.65);
    font-size: .67rem;
    font-weight: 900;
}

.dashboard-v2__create > div {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    gap: .55rem;
}

.dashboard-v2__create a {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 0;
    min-height: 82px;
    padding: .8rem;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 16px;
    background: rgba(255,255,255,.085);
    color: #fff;
    text-decoration: none;
    backdrop-filter: blur(8px);
    transition: transform .2s ease, background .2s ease;
}

.dashboard-v2__create a:hover { transform: translateY(-3px); background: rgba(255,255,255,.15); }
.dashboard-v2__create a.dashboard-v2__create-primary { background: #fff; color: var(--dash-navy); }
.dashboard-v2__create a b {
    display: grid;
    place-items: center;
    flex: 0 0 29px;
    width: 29px;
    height: 29px;
    border-radius: 9px;
    background: rgba(255,255,255,.15);
    font-size: 1rem;
}
.dashboard-v2__create-primary b { background: #e8f4f8 !important; color: var(--dash-blue); }
.dashboard-v2__create a span,
.dashboard-v2__create a strong,
.dashboard-v2__create a small { display: block; min-width: 0; }
.dashboard-v2__create a strong { font-size: .75rem; font-weight: 900; white-space: nowrap; }
.dashboard-v2__create a small { margin-top: .2rem; overflow: hidden; color: rgba(255,255,255,.6); font-size: .58rem; white-space: nowrap; text-overflow: ellipsis; }
.dashboard-v2__create-primary small { color: #748797 !important; }

.dashboard-v2__section {
    padding: 1.25rem;
    border: 1px solid var(--dash-line);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(10,49,86,.05);
}

.dashboard-v2__section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.dashboard-v2__section-head h2 {
    margin: .25rem 0 0;
    color: var(--dash-navy);
    font-size: 1.25rem;
    font-weight: 900;
}

.dashboard-v2__section-head > a,
.dashboard-v2__list-head a {
    color: var(--dash-blue);
    font-size: .7rem;
    font-weight: 900;
    text-decoration: none;
}

.dashboard-v2__attention-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .75rem;
}

.dashboard-v2__attention-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .8rem;
    min-width: 0;
    padding: .9rem;
    border: 1px solid #e3eaf0;
    border-radius: 17px;
    background: #fbfcfd;
    color: var(--dash-ink);
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

.dashboard-v2__attention-card:hover { transform: translateY(-3px); box-shadow: 0 12px 25px rgba(10,49,86,.08); }
.dashboard-v2__attention-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #fff4db;
    color: #9b6b12;
    font-size: .72rem;
    font-weight: 900;
}
.dashboard-v2__attention-card--blue .dashboard-v2__attention-icon { background: #eaf3fb; color: #236795; }
.dashboard-v2__attention-card--cyan .dashboard-v2__attention-icon { background: #e6f7f8; color: #21808a; }
.dashboard-v2__attention-card--idea .dashboard-v2__attention-icon { background: #edf7ea; color: #4d7f3d; }
.dashboard-v2__attention-card > span:nth-child(2) strong,
.dashboard-v2__attention-card > span:nth-child(2) small { display: block; }
.dashboard-v2__attention-card > span:nth-child(2) strong { color: var(--dash-navy); font-size: 1.45rem; font-weight: 900; line-height: 1; }
.dashboard-v2__attention-card > span:nth-child(2) small { margin-top: .3rem; color: var(--dash-muted); font-size: .66rem; font-weight: 700; }
.dashboard-v2__attention-card > b { color: var(--dash-blue); font-size: .65rem; white-space: nowrap; }

.dashboard-v2__metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .75rem;
}

.dashboard-v2__metric {
    position: relative;
    overflow: hidden;
    padding: 1.05rem 1.15rem;
    border: 1px solid var(--dash-line);
    border-radius: 18px;
    background: #fff;
}
.dashboard-v2__metric::after {
    content: "";
    position: absolute;
    inset: auto auto 0 0;
    width: 35%;
    height: 3px;
    border-radius: 99px;
    background: var(--dash-cyan);
}
.dashboard-v2__metric span,
.dashboard-v2__metric strong,
.dashboard-v2__metric small { display: block; }
.dashboard-v2__metric span { color: var(--dash-muted); font-size: .68rem; font-weight: 900; }
.dashboard-v2__metric strong { margin: .25rem 0; color: var(--dash-navy); font-size: 1.9rem; line-height: 1.2; font-weight: 900; }
.dashboard-v2__metric small { color: #95a2ae; font-size: .6rem; }

.dashboard-v2__workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, .65fr);
    gap: 1rem;
}

.dashboard-v2__content,
.dashboard-v2__activity {
    min-width: 0;
    padding: 1.25rem;
    border: 1px solid var(--dash-line);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(10,49,86,.045);
}

.dashboard-v2__tabs {
    display: inline-flex;
    gap: .25rem;
    padding: .25rem;
    border-radius: 12px;
    background: #eff4f7;
}
.dashboard-v2__tabs button {
    min-height: 34px;
    padding: .35rem .75rem;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #667b8d;
    font-family: inherit;
    font-size: .68rem;
    font-weight: 900;
}
.dashboard-v2__tabs button.is-active { background: #fff; color: var(--dash-navy); box-shadow: 0 4px 12px rgba(10,49,86,.08); }
.dashboard-v2__tab-panel[hidden] { display: none; }
.dashboard-v2__tab-panel.is-active { animation: dashboard-tab-in .28s both; }
@keyframes dashboard-tab-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }

.dashboard-v2__list-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .7rem .85rem;
    border-radius: 12px;
    background: #f5f8fa;
    color: #66798a;
    font-size: .68rem;
    font-weight: 900;
}

.dashboard-v2__content-list { margin-top: .45rem; }
.dashboard-v2__content-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .8rem;
    padding: .85rem .65rem;
    border-bottom: 1px solid #edf1f4;
    color: var(--dash-ink);
    text-decoration: none;
    transition: background .2s ease;
}
.dashboard-v2__content-item:last-child { border-bottom: 0; }
.dashboard-v2__content-item:hover { border-radius: 12px; background: #f7fafb; }
.dashboard-v2__content-index { color: #b0bbc4; font-size: .68rem; font-weight: 900; }
.dashboard-v2__content-copy { min-width: 0; }
.dashboard-v2__content-copy strong,
.dashboard-v2__content-copy small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.dashboard-v2__content-copy strong { color: var(--dash-navy); font-size: .77rem; font-weight: 900; }
.dashboard-v2__content-copy small { margin-top: .3rem; color: #8695a2; font-size: .61rem; }
.dashboard-v2__status { padding: .3rem .55rem; border-radius: 99px; background: #edf4f8; color: #52728a; font-size: .59rem; font-weight: 900; }
.dashboard-v2__status--published { background: #e8f7f0; color: #247854; }

.dashboard-v2__activity .dashboard-v2__section-head { align-items: center; padding-bottom: .8rem; border-bottom: 1px solid #edf1f4; }
.dashboard-v2__timeline { display: grid; gap: 0; }
.dashboard-v2__timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .7rem;
    padding: .75rem 0;
}
.dashboard-v2__timeline-item:not(:last-child)::before {
    content: "";
    position: absolute;
    inset: 1.35rem 4px auto auto;
    width: 1px;
    height: calc(100% - .45rem);
    background: #dce7ed;
}
.dashboard-v2__timeline-item > i {
    position: relative;
    z-index: 1;
    width: 9px;
    height: 9px;
    margin-top: .35rem;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--dash-cyan);
    box-shadow: 0 0 0 3px #e3f4f7;
}
.dashboard-v2__timeline-item strong,
.dashboard-v2__timeline-item span,
.dashboard-v2__timeline-item time { display: block; }
.dashboard-v2__timeline-item strong { display: -webkit-box; overflow: hidden; color: var(--dash-navy); font-size: .7rem; line-height: 1.65; font-weight: 900; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.dashboard-v2__timeline-item span { margin-top: .2rem; color: #778997; font-size: .6rem; }
.dashboard-v2__timeline-item time { margin-top: .15rem; color: #a1adb6; font-size: .56rem; direction: ltr; text-align: right; }

.dashboard-v2__tools {
    overflow: hidden;
    border: 1px solid var(--dash-line);
    border-radius: 22px;
    background: #fff;
}
.dashboard-v2__tools summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    cursor: pointer;
    list-style: none;
}
.dashboard-v2__tools summary::-webkit-details-marker { display: none; }
.dashboard-v2__tools summary span,
.dashboard-v2__tools summary b,
.dashboard-v2__tools summary small { display: block; }
.dashboard-v2__tools summary b { color: var(--dash-navy); font-size: .85rem; font-weight: 900; }
.dashboard-v2__tools summary small { margin-top: .25rem; color: var(--dash-muted); font-size: .62rem; }
.dashboard-v2__tools summary > i { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: #edf4f7; color: var(--dash-blue); font-style: normal; font-weight: 900; transition: transform .2s ease; }
.dashboard-v2__tools[open] summary > i { transform: rotate(45deg); }
.dashboard-v2__tools-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .65rem;
    padding: 0 1.25rem 1.25rem;
}
.dashboard-v2__tools-grid a {
    padding: .8rem;
    border: 1px solid #e6edf1;
    border-radius: 14px;
    color: var(--dash-ink);
    text-decoration: none;
    transition: border-color .2s ease, transform .2s ease;
}
.dashboard-v2__tools-grid a:hover { transform: translateY(-2px); border-color: #bcd5e1; }
.dashboard-v2__tools-grid strong,
.dashboard-v2__tools-grid span { display: block; }
.dashboard-v2__tools-grid strong { color: var(--dash-navy); font-size: .7rem; font-weight: 900; }
.dashboard-v2__tools-grid span { margin-top: .2rem; color: #8898a5; font-size: .58rem; }
.dashboard-v2__empty { padding: 2rem 1rem; color: #8998a4; font-size: .75rem; text-align: center; }

@media (prefers-reduced-motion: no-preference) {
    .dashboard-v2__hero,
    .dashboard-v2__attention,
    .dashboard-v2__metrics,
    .dashboard-v2__workspace,
    .dashboard-v2__tools { animation: dashboard-v2-rise .5s both; }
    .dashboard-v2__attention { animation-delay: .05s; }
    .dashboard-v2__metrics { animation-delay: .1s; }
    .dashboard-v2__workspace { animation-delay: .15s; }
    .dashboard-v2__tools { animation-delay: .2s; }
    @keyframes dashboard-v2-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
}

@media (max-width: 1199.98px) {
    .dashboard-v2__hero { grid-template-columns: 1fr; }
    .dashboard-v2__workspace { grid-template-columns: minmax(0, 1.5fr) minmax(260px, .7fr); }
}

@media (max-width: 991.98px) {
    .dashboard-v2__attention-grid,
    .dashboard-v2__metrics { grid-template-columns: repeat(2, 1fr); }
    .dashboard-v2__workspace { grid-template-columns: 1fr; }
    .dashboard-v2__tools-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 575.98px) {
    .dashboard-v2 { gap: .8rem; }
    .dashboard-v2__hero { min-height: 0; padding: 1.1rem; border-radius: 20px; }
    .dashboard-v2__hero h1 { font-size: 1.65rem; }
    .dashboard-v2__hero-copy p { font-size: .75rem; line-height: 1.75; }
    .dashboard-v2__create { margin-top: .5rem; }
    .dashboard-v2__create > div { grid-template-columns: 1fr 1fr; }
    .dashboard-v2__create-primary { grid-column: 1 / -1; }
    .dashboard-v2__create a { min-height: 68px; }
    .dashboard-v2__section,
    .dashboard-v2__content,
    .dashboard-v2__activity { padding: .85rem; border-radius: 18px; }
    .dashboard-v2__section-head { align-items: flex-start; }
    .dashboard-v2__section-head > a { display: none; }
    .dashboard-v2__attention-grid { grid-template-columns: 1fr; }
    .dashboard-v2__attention-card { padding: .75rem; }
    .dashboard-v2__metrics { gap: .5rem; }
    .dashboard-v2__metric { padding: .8rem; border-radius: 15px; }
    .dashboard-v2__metric strong { font-size: 1.55rem; }
    .dashboard-v2__metric span { min-height: 2.8em; font-size: .61rem; }
    .dashboard-v2__section-head--tabs { display: block; }
    .dashboard-v2__tabs { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: .8rem; width: 100%; }
    .dashboard-v2__content-item { gap: .55rem; padding-inline: .35rem; }
    .dashboard-v2__content-index { display: none; }
    .dashboard-v2__content-copy strong { font-size: .7rem; }
    .dashboard-v2__status { display: none; }
    .dashboard-v2__tools { border-radius: 17px; }
    .dashboard-v2__tools-grid { grid-template-columns: 1fr 1fr; padding: 0 .8rem .8rem; }
    .dashboard-v2__tools summary { padding: .9rem; }
}

/* Focused news desk */
.news-desk-v2 {
    --desk-navy: #0a3156;
    --desk-blue: #155e91;
    --desk-cyan: #43b8d6;
    --desk-muted: #6b7e8e;
    --desk-line: #e1eaf0;
}

.news-desk-v2__hero {
    min-height: 180px;
    padding: clamp(1.4rem, 3vw, 2.4rem);
    border: 0;
    border-radius: 26px;
    background:
        radial-gradient(circle at 10% 15%, rgba(67,184,214,.22), transparent 28%),
        linear-gradient(135deg, #092f53, #0d4c79);
    color: #fff;
    box-shadow: 0 20px 45px rgba(9,47,83,.15);
}
.news-desk-v2__hero .admin-page-hero__eyebrow { display: inline-flex; align-items: center; gap: .5rem; color: #86d9ed; }
.news-desk-v2__hero .admin-page-hero__eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: var(--desk-cyan); box-shadow: 0 0 0 5px rgba(67,184,214,.12); }
.news-desk-v2__hero .admin-page-hero__title { color: #fff; font-size: clamp(2rem, 4vw, 3rem); }
.news-desk-v2__hero .admin-page-hero__lead { color: rgba(232,244,251,.72); }
.news-desk-v2__hero-actions { display: flex; align-items: center; gap: .65rem; }
.news-desk-v2__hero-actions .btn { min-height: 43px; padding-inline: 1rem; border-radius: 12px; font-size: .72rem; font-weight: 900; }
.news-desk-v2__hero .admin-page-hero__meta { min-width: 100px; border-color: rgba(255,255,255,.17); background: rgba(255,255,255,.09); }
.news-desk-v2__hero .admin-page-hero__meta-label { color: rgba(255,255,255,.65); }
.news-desk-v2__hero .admin-page-hero__meta strong { color: #fff; }

.news-desk-v2__layout > div > .admin-content-card {
    border: 1px solid var(--desk-line);
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(10,49,86,.05);
}
.news-desk-v2 .admin-form-head { padding-bottom: .9rem; margin-bottom: 1rem; border-bottom: 1px solid #eaf0f4; }
.news-desk-v2 .admin-form-head__eyebrow { color: var(--desk-blue); font-size: .65rem; letter-spacing: 0; }
.news-desk-v2 .admin-form-head h2 { color: var(--desk-navy); }
.news-desk-v2 .admin-form-head__badge { border: 0; background: #edf5f8; color: #55768d; }
.news-desk-v2 .form-label { margin-bottom: .4rem; color: #314d63; font-size: .72rem; font-weight: 900; }
.news-desk-v2 .form-control,
.news-desk-v2 .form-select {
    min-height: 44px;
    border-color: #dce6ec;
    border-radius: 11px;
    background-color: #fbfcfd;
    font-size: .76rem;
}
.news-desk-v2 textarea.form-control { min-height: 150px; line-height: 1.8; }
.news-desk-v2 .form-control:focus,
.news-desk-v2 .form-select:focus { border-color: #82b9d0; background: #fff; box-shadow: 0 0 0 3px rgba(67,184,214,.12); }
.news-desk-v2 .form-text { margin-top: .35rem; color: #8b9aa6; font-size: .61rem; line-height: 1.65; }
.news-desk-v2__field-row { display: grid; grid-template-columns: .7fr 1.3fr; gap: .75rem; }

.news-desk-v2__advanced {
    overflow: hidden;
    border: 1px solid #dfe8ed;
    border-radius: 15px;
    background: #f8fafb;
}
.news-desk-v2__advanced summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem;
    cursor: pointer;
    list-style: none;
}
.news-desk-v2__advanced summary::-webkit-details-marker { display: none; }
.news-desk-v2__advanced summary span,
.news-desk-v2__advanced summary strong,
.news-desk-v2__advanced summary small { display: block; }
.news-desk-v2__advanced summary strong { color: var(--desk-navy); font-size: .75rem; font-weight: 900; }
.news-desk-v2__advanced summary small { margin-top: .2rem; color: var(--desk-muted); font-size: .58rem; }
.news-desk-v2__advanced summary i { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; background: #e5f1f5; color: var(--desk-blue); font-style: normal; font-weight: 900; transition: transform .2s ease; }
.news-desk-v2__advanced[open] summary i { transform: rotate(45deg); }
.news-desk-v2__advanced-body { display: grid; gap: .9rem; padding: .9rem; border-top: 1px solid #e3ebef; background: #fff; }
.news-desk-v2__advanced-body .form-check { margin: 0; padding: .7rem 2rem .7rem .7rem; border: 1px solid #edf1f4; border-radius: 11px; }
.news-desk-v2__advanced-body .display-pick-box { margin: 0; }

.news-desk-v2 .news-upload-grid { gap: .55rem; }
.news-desk-v2 .news-upload-tile { padding: .7rem; border: 1px dashed #cbdce5; border-radius: 12px; background: #f8fbfc; }
.news-desk-v2 .news-upload-tile__label { color: var(--desk-blue); font-size: .65rem; }
.news-desk-v2__submit {
    position: sticky;
    z-index: 5;
    bottom: .6rem;
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: .55rem;
    padding: .65rem;
    border: 1px solid #dfe8ed;
    border-radius: 14px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 25px rgba(10,49,86,.1);
    backdrop-filter: blur(10px);
}
.news-desk-v2__submit .btn { min-height: 42px; border-radius: 10px; font-size: .7rem; font-weight: 900; }

.news-desk-v2__search {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: .6rem;
    margin-bottom: .8rem;
    padding: .6rem .75rem;
    border: 1px solid #dfe8ed;
    border-radius: 13px;
    background: #f7fafb;
}
.news-desk-v2__search > span { display: grid; place-items: center; min-width: 38px; height: 27px; padding-inline: .4rem; border-radius: 8px; background: #e4f1f5; color: var(--desk-blue); font-size: .58rem; font-weight: 900; }
.news-desk-v2__search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--desk-navy); font-family: inherit; font-size: .72rem; }
.news-desk-v2__search input::placeholder { color: #9ba8b2; }
.news-desk-v2__search small { color: var(--desk-blue); font-size: .62rem; font-weight: 900; white-space: nowrap; }

.news-desk-v2 .admin-table-wrap { border: 1px solid #e7edf1; border-radius: 14px; }
.news-desk-v2 .dashboard-table thead th { padding: .75rem .55rem; background: #f3f7f9; color: #60788a; font-size: .61rem; white-space: nowrap; }
.news-desk-v2 .news-table-row td { padding: .8rem .55rem; border-bottom-color: #edf1f4; vertical-align: top; }
.news-desk-v2 .news-table-title { min-width: 260px; }
.news-desk-v2 .news-title-link { color: var(--desk-navy); font-size: .72rem; line-height: 1.7; font-weight: 900; }
.news-desk-v2 .text-truncate-table { max-width: 340px; color: #82919d !important; font-size: .61rem; }
.news-desk-v2 .news-table-tags { gap: .25rem; }
.news-desk-v2 .news-table-tags .badge { font-size: .52rem; }
.news-desk-v2 .news-image-list img,
.news-desk-v2 .news-image-overlay { width: 42px; height: 42px; border-radius: 8px; }
.news-desk-v2 .news-date-card { min-width: 75px; padding: .45rem; border-radius: 9px; background: #f6f9fa; text-align: center; }
.news-desk-v2 .news-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem; min-width: 120px; }
.news-desk-v2 .news-actions .btn { width: 100%; border-radius: 8px; font-size: .56rem; }
.news-desk-v2 .news-table-row[hidden] { display: none; }
.news-desk-v2__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    margin-top: .85rem;
}
.news-desk-v2__pagination a,
.news-desk-v2__pagination span {
    padding: .45rem .7rem;
    border-radius: 9px;
    font-size: .64rem;
    font-weight: 900;
    text-decoration: none;
}
.news-desk-v2__pagination a { background: var(--desk-navy); color: #fff; }
.news-desk-v2__pagination span { background: #edf4f7; color: #60788a; }

@media (prefers-reduced-motion: no-preference) {
    .news-desk-v2__hero,
    .news-desk-v2__layout { animation: news-desk-in .5s both; }
    .news-desk-v2__layout { animation-delay: .06s; }
    @keyframes news-desk-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
}

@media (max-width: 991.98px) {
    .news-desk-v2__hero { align-items: flex-start; }
    .news-desk-v2__hero-actions { flex-wrap: wrap; }
    .news-desk-v2 .dashboard-table thead { display: none; }
    .news-desk-v2 .dashboard-table,
    .news-desk-v2 .dashboard-table tbody { display: block; }
    .news-desk-v2 .news-table-row {
        display: block;
        margin: .65rem;
        padding: .75rem;
        border: 1px solid #e1e9ee;
        border-radius: 14px;
        background: #fff;
    }
    .news-desk-v2 .news-table-row td { display: none; padding: 0; border: 0; }
    .news-desk-v2 .news-table-row td:first-child,
    .news-desk-v2 .news-table-row td:last-child { display: block; }
    .news-desk-v2 .news-table-row td:last-child { margin-top: .75rem; padding-top: .7rem; border-top: 1px solid #edf1f4; }
    .news-desk-v2 .news-table-title { min-width: 0; }
    .news-desk-v2 .text-truncate-table { max-width: none; display: -webkit-box; overflow: hidden; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .news-desk-v2 .news-actions { grid-template-columns: repeat(4, 1fr); min-width: 0; }
}

@media (max-width: 575.98px) {
    .news-desk-v2__hero { min-height: 0; padding: 1.1rem; border-radius: 20px; }
    .news-desk-v2__hero-actions .btn { flex: 1 1 calc(50% - .4rem); padding-inline: .55rem; }
    .news-desk-v2__hero .admin-page-hero__meta { display: none; }
    .news-desk-v2__layout > div > .admin-content-card { padding: .85rem; border-radius: 18px; }
    .news-desk-v2 .admin-form-head { align-items: flex-start; }
    .news-desk-v2 .admin-form-head__badge { display: none; }
    .news-desk-v2__field-row { grid-template-columns: 1fr; }
    .news-desk-v2 .news-upload-grid { grid-template-columns: 1fr 1fr; }
    .news-desk-v2__submit { grid-template-columns: 1fr; bottom: .35rem; }
    .news-desk-v2 .admin-form-head--list { display: block; }
    .news-desk-v2 .admin-form-head--list > .d-flex { margin-top: .8rem; }
    .news-desk-v2 .admin-form-head--list .btn { flex: 1 1 calc(33% - .3rem); font-size: .57rem; }
    .news-desk-v2__search { padding: .55rem; }
    .news-desk-v2 .news-table-row { margin: .5rem; }
    .news-desk-v2 .news-actions { grid-template-columns: 1fr 1fr; }
}

/* Editorial admin news details */
.news-detail-v2 {
    --detail-navy: #0a3156;
    --detail-blue: #155e91;
    --detail-cyan: #43b8d6;
    --detail-muted: #6b7e8e;
    --detail-line: #e1eaf0;
    display: grid;
    gap: 1rem;
}

.news-detail-v2__header {
    padding: clamp(1.3rem, 3vw, 2.2rem);
    overflow: hidden;
    border-radius: 26px;
    background:
        radial-gradient(circle at 8% 12%, rgba(67,184,214,.23), transparent 28%),
        linear-gradient(135deg, #092f53, #0d4c79);
    color: #fff;
    box-shadow: 0 20px 45px rgba(9,47,83,.15);
}
.news-detail-v2__breadcrumb { display: flex; align-items: center; gap: .45rem; margin-bottom: 1.3rem; color: rgba(255,255,255,.55); font-size: .65rem; font-weight: 800; }
.news-detail-v2__breadcrumb a { color: #8bd7e9; text-decoration: none; }
.news-detail-v2__header-main { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.news-detail-v2__status-row { display: flex; align-items: center; gap: .45rem; margin-bottom: .7rem; }
.news-detail-v2__status-row > span { padding: .3rem .6rem; border: 1px solid rgba(255,255,255,.15); border-radius: 99px; color: rgba(255,255,255,.72); font-size: .61rem; font-weight: 900; }
.news-detail-v2__status-row .news-detail-v2__status { border-color: rgba(96,218,163,.3); background: rgba(73,187,136,.17); color: #a9edce; }
.news-detail-v2__status--draft { border-color: rgba(255,208,115,.3) !important; background: rgba(196,139,42,.16) !important; color: #ffe0a1 !important; }
.news-detail-v2__status--scheduled { border-color: rgba(107,205,232,.32) !important; background: rgba(67,184,214,.15) !important; color: #a8e7f4 !important; }
.news-detail-v2__header h1 { max-width: 950px; margin: 0; font-size: clamp(1.55rem, 3.3vw, 2.65rem); line-height: 1.55; font-weight: 900; letter-spacing: -.025em; }
.news-detail-v2__header-main p { margin: .55rem 0 0; color: rgba(231,243,250,.66); font-size: .72rem; }
.news-detail-v2__header-actions { display: flex; flex: 0 0 auto; gap: .55rem; }
.news-detail-v2__header-actions .btn { min-height: 42px; padding-inline: 1rem; border-radius: 11px; font-size: .68rem; font-weight: 900; }

.news-detail-v2__layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .58fr); gap: 1rem; align-items: start; }
.news-detail-v2__article,
.news-detail-v2__info,
.news-detail-v2__flags {
    overflow: hidden;
    border: 1px solid var(--detail-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(10,49,86,.05);
}
.news-detail-v2__visual { padding: .8rem; }
.news-detail-v2__cover {
    position: relative;
    display: block;
    height: min(520px, 52vw);
    min-height: 320px;
    overflow: hidden;
    border-radius: 16px;
    background: #eaf2f6;
}
.news-detail-v2__cover img { width: 100%; height: 100%; object-fit: contain; background: #eef4f7; transition: transform .5s ease; }
.news-detail-v2__cover:hover img { transform: scale(1.012); }
.news-detail-v2__cover > span {
    position: absolute;
    inset: auto auto .8rem .8rem;
    padding: .38rem .65rem;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 99px;
    background: rgba(7,37,62,.72);
    color: #fff;
    font-size: .58rem;
    font-weight: 900;
    backdrop-filter: blur(8px);
}
.news-detail-v2__thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; margin-top: .55rem; }
.news-detail-v2__thumbs a { position: relative; height: 120px; overflow: hidden; border-radius: 12px; background: #edf3f6; }
.news-detail-v2__thumbs img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.news-detail-v2__thumbs a:hover img { transform: scale(1.04); }
.news-detail-v2__thumbs span { position: absolute; inset: auto .5rem .5rem auto; padding: .25rem .45rem; border-radius: 7px; background: rgba(7,37,62,.7); color: #fff; font-size: .52rem; font-weight: 800; }

.news-detail-v2__body { padding: clamp(1.2rem, 3vw, 2.1rem); border-top: 1px solid #edf1f4; }
.news-detail-v2__section-label { display: block; margin-bottom: .8rem; color: var(--detail-blue); font-size: .65rem; font-weight: 900; }
.news-detail-v2__content { color: #263e52; font-size: .93rem; line-height: 2.25; white-space: pre-line; }
.news-detail-v2__article-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.3rem; border-top: 1px solid #e8eef2; background: #f7fafb; }
.news-detail-v2__article-footer span,
.news-detail-v2__article-footer strong { display: block; }
.news-detail-v2__article-footer span { color: #8796a2; font-size: .58rem; }
.news-detail-v2__article-footer strong { margin-top: .15rem; color: var(--detail-navy); font-size: .7rem; }
.news-detail-v2__article-footer > div:last-child { display: flex; gap: .45rem; }
.news-detail-v2__article-footer .btn { border-radius: 9px; font-size: .62rem; font-weight: 900; }

.news-detail-v2__sidebar { position: sticky; top: 110px; display: grid; gap: .8rem; }
.news-detail-v2__info,
.news-detail-v2__flags { padding: 1rem; }
.news-detail-v2__info-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: .8rem; border-bottom: 1px solid #e9eff2; }
.news-detail-v2__info-head span { color: var(--detail-navy); font-size: .78rem; font-weight: 900; }
.news-detail-v2__info-head small { padding: .25rem .45rem; border-radius: 7px; background: #edf4f7; color: var(--detail-blue); font-size: .57rem; font-weight: 900; }
.news-detail-v2__info dl { margin: 0; }
.news-detail-v2__info dl > div { display: grid; grid-template-columns: .8fr 1.2fr; gap: .6rem; padding: .7rem 0; border-bottom: 1px solid #edf1f4; }
.news-detail-v2__info dl > div:last-child { border-bottom: 0; }
.news-detail-v2__info dt { color: #8595a1; font-size: .59rem; font-weight: 800; }
.news-detail-v2__info dd { margin: 0; color: var(--detail-navy); font-size: .63rem; line-height: 1.6; font-weight: 900; text-align: left; }

.news-detail-v2__flags > div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .6rem; padding: .65rem 0; border-top: 1px solid #edf1f4; opacity: .62; }
.news-detail-v2__flags > div.is-enabled { opacity: 1; }
.news-detail-v2__flags > div i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: #eff3f5; color: #7e8e99; font-size: .7rem; font-style: normal; font-weight: 900; }
.news-detail-v2__flags > div.is-enabled i { background: #e4f6ed; color: #25805b; }
.news-detail-v2__flags strong,
.news-detail-v2__flags small { display: block; }
.news-detail-v2__flags strong { color: var(--detail-navy); font-size: .65rem; font-weight: 900; }
.news-detail-v2__flags small { margin-top: .15rem; color: #8494a0; font-size: .55rem; }
.news-detail-v2__back { display: flex; align-items: center; justify-content: space-between; padding: .85rem 1rem; border: 1px solid #dce7ed; border-radius: 13px; background: #fff; color: var(--detail-blue); font-size: .65rem; font-weight: 900; text-decoration: none; }

@media (prefers-reduced-motion: no-preference) {
    .news-detail-v2__header,
    .news-detail-v2__layout { animation: detail-v2-in .5s both; }
    .news-detail-v2__layout { animation-delay: .06s; }
    @keyframes detail-v2-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
}

@media (max-width: 991.98px) {
    .news-detail-v2__header-main { display: block; }
    .news-detail-v2__header-actions { margin-top: 1rem; }
    .news-detail-v2__layout { grid-template-columns: 1fr; }
    .news-detail-v2__sidebar { position: static; grid-template-columns: 1fr 1fr; }
    .news-detail-v2__back { grid-column: 1 / -1; }
}

@media (max-width: 575.98px) {
    .news-detail-v2__header { padding: 1.05rem; border-radius: 20px; }
    .news-detail-v2__breadcrumb { margin-bottom: 1rem; }
    .news-detail-v2__header h1 { font-size: 1.35rem; line-height: 1.6; }
    .news-detail-v2__header-main p { line-height: 1.7; }
    .news-detail-v2__header-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .news-detail-v2__article,
    .news-detail-v2__info,
    .news-detail-v2__flags { border-radius: 17px; }
    .news-detail-v2__visual { padding: .55rem; }
    .news-detail-v2__cover { height: 310px; min-height: 0; border-radius: 13px; }
    .news-detail-v2__thumbs { gap: .4rem; }
    .news-detail-v2__thumbs a { height: 80px; }
    .news-detail-v2__body { padding: 1rem; }
    .news-detail-v2__content { font-size: .82rem; line-height: 2.05; }
    .news-detail-v2__article-footer { align-items: flex-start; flex-direction: column; }
    .news-detail-v2__article-footer > div:last-child,
    .news-detail-v2__article-footer .btn { width: 100%; }
    .news-detail-v2__sidebar { grid-template-columns: 1fr; }
    .news-detail-v2__back { grid-column: auto; }
}

/* Administrative announcements center */
.announcements-v2 {
    --announce-navy: #0a3156;
    --announce-blue: #155e91;
    --announce-cyan: #43b8d6;
    --announce-muted: #6d7f8f;
    --announce-line: #e1eaf0;
    display: grid;
    gap: 1rem;
}
.announcements-v2__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem;
    min-height: 205px;
    padding: clamp(1.4rem,3vw,2.4rem);
    border-radius: 26px;
    background:
        radial-gradient(circle at 9% 12%, rgba(67,184,214,.22), transparent 28%),
        linear-gradient(135deg, #092f53, #0d4c79);
    color: #fff;
    box-shadow: 0 20px 45px rgba(9,47,83,.15);
}
.announcements-v2__eyebrow { display: inline-flex; align-items: center; gap: .5rem; color: #86d9ed; font-size: .68rem; font-weight: 900; }
.announcements-v2__eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: var(--announce-cyan); box-shadow: 0 0 0 5px rgba(67,184,214,.12); }
.announcements-v2__hero h1 { margin: .55rem 0 .4rem; font-size: clamp(2rem,4vw,3rem); font-weight: 900; letter-spacing: -.04em; }
.announcements-v2__hero p { margin: 0; color: rgba(232,244,251,.7); font-size: .82rem; }
.announcements-v2__hero-stats { display: grid; grid-template-columns: repeat(4,minmax(90px,1fr)); gap: .55rem; }
.announcements-v2__hero-stats div { min-width: 95px; padding: .75rem; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.08); text-align: center; backdrop-filter: blur(8px); }
.announcements-v2__hero-stats strong,
.announcements-v2__hero-stats span { display: block; }
.announcements-v2__hero-stats strong { font-size: 1.55rem; font-weight: 900; }
.announcements-v2__hero-stats span { margin-top: .2rem; color: rgba(255,255,255,.65); font-size: .56rem; font-weight: 800; }

.announcements-v2__layout { display: grid; grid-template-columns: minmax(330px,.72fr) minmax(0,1.35fr); gap: 1rem; align-items: start; }
.announcements-v2__editor,
.announcements-v2__archive {
    padding: 1.1rem;
    border: 1px solid var(--announce-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(10,49,86,.05);
}
.announcements-v2__editor { position: sticky; top: 110px; }
.announcements-v2__panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding-bottom: .85rem; margin-bottom: 1rem; border-bottom: 1px solid #e9eff3; }
.announcements-v2__panel-head span { color: var(--announce-blue); font-size: .62rem; font-weight: 900; }
.announcements-v2__panel-head h2 { margin: .25rem 0 0; color: var(--announce-navy); font-size: 1.15rem; font-weight: 900; }
.announcements-v2__panel-head > small { padding: .3rem .55rem; border-radius: 8px; background: #edf4f7; color: #668093; font-size: .56rem; font-weight: 900; }
.announcements-v2__form { display: grid; gap: .9rem; }
.announcements-v2 .form-label { margin-bottom: .4rem; color: #334f65; font-size: .7rem; font-weight: 900; }
.announcements-v2 .form-control { min-height: 44px; border-color: #dce6ec; border-radius: 11px; background: #fbfcfd; font-size: .74rem; }
.announcements-v2 textarea.form-control { min-height: 145px; line-height: 1.8; }
.announcements-v2 .form-control:focus { border-color: #82b9d0; background: #fff; box-shadow: 0 0 0 3px rgba(67,184,214,.12); }

.announcements-v2__type-picker { display: grid; grid-template-columns: repeat(3,1fr); gap: .45rem; }
.announcements-v2__type-picker label { cursor: pointer; }
.announcements-v2__type-picker input { position: absolute; opacity: 0; pointer-events: none; }
.announcements-v2__type-picker label > span { display: block; padding: .7rem .5rem; border: 1px solid #dfe7ec; border-radius: 11px; background: #fafcfd; text-align: center; transition: border-color .2s ease, background .2s ease; }
.announcements-v2__type-picker b,
.announcements-v2__type-picker small { display: block; }
.announcements-v2__type-picker b { color: var(--announce-navy); font-size: .68rem; font-weight: 900; }
.announcements-v2__type-picker small { margin-top: .2rem; color: #8b99a4; font-size: .52rem; }
.announcements-v2__type-picker input:checked + span { border-color: var(--announce-blue); background: #eaf4f8; box-shadow: 0 0 0 2px rgba(21,94,145,.08); }

.announcements-v2__advanced { overflow: hidden; border: 1px solid #dfe8ed; border-radius: 14px; background: #f8fafb; }
.announcements-v2__advanced summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem; cursor: pointer; list-style: none; }
.announcements-v2__advanced summary::-webkit-details-marker { display: none; }
.announcements-v2__advanced summary span,
.announcements-v2__advanced summary strong,
.announcements-v2__advanced summary small { display: block; }
.announcements-v2__advanced summary strong { color: var(--announce-navy); font-size: .7rem; font-weight: 900; }
.announcements-v2__advanced summary small { margin-top: .2rem; color: #81919e; font-size: .55rem; }
.announcements-v2__advanced summary i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: #e6f2f6; color: var(--announce-blue); font-style: normal; font-weight: 900; transition: transform .2s ease; }
.announcements-v2__advanced[open] summary i { transform: rotate(45deg); }
.announcements-v2__advanced-body { display: grid; gap: .75rem; padding: .8rem; border-top: 1px solid #e2eaee; background: #fff; }
.announcements-v2__field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.announcements-v2__ticker-option { display: grid; grid-template-columns: 1fr 110px; align-items: end; gap: .6rem; padding: .7rem; border: 1px solid #e8eef2; border-radius: 11px; }
.announcements-v2__submit { min-height: 44px; border-radius: 11px; font-size: .72rem; font-weight: 900; }

.announcements-v2__filters { display: grid; gap: .65rem; margin-bottom: .8rem; }
.announcements-v2__filters > div { display: flex; flex-wrap: wrap; gap: .35rem; }
.announcements-v2__filters > div a { display: inline-flex; align-items: center; gap: .4rem; min-height: 35px; padding: .35rem .65rem; border: 1px solid #dfe7ec; border-radius: 9px; color: #5f7587; font-size: .61rem; font-weight: 900; text-decoration: none; }
.announcements-v2__filters > div a span { display: grid; place-items: center; min-width: 19px; height: 19px; padding-inline: .25rem; border-radius: 99px; background: #edf3f6; color: var(--announce-blue); font-size: .51rem; }
.announcements-v2__filters > div a.is-active { border-color: var(--announce-navy); background: var(--announce-navy); color: #fff; }
.announcements-v2__filters > div a.is-active span { background: rgba(255,255,255,.15); color: #fff; }
.announcements-v2__filters form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .4rem; padding: .45rem; border-radius: 11px; background: #f2f6f8; }
.announcements-v2__filters form input { min-width: 0; border: 0; outline: 0; background: transparent; padding-inline: .35rem; font-family: inherit; font-size: .66rem; }
.announcements-v2__filters form button { border: 0; border-radius: 8px; background: var(--announce-blue); color: #fff; padding-inline: .8rem; font-family: inherit; font-size: .58rem; font-weight: 900; }

.announcements-v2__list { display: grid; gap: .55rem; }
.announcements-v2__card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: .75rem;
    align-items: start;
    padding: .85rem;
    overflow: hidden;
    border: 1px solid #e3eaee;
    border-radius: 15px;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}
.announcements-v2__card::before { content: ""; position: absolute; inset: 0 0 0 auto; width: 4px; background: #35a477; }
.announcements-v2__card--condolences::before { background: #718092; }
.announcements-v2__card--appointment::before { background: #2c78ad; }
.announcements-v2__card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(10,49,86,.07); }
.announcements-v2__card-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: #e7f7ef; color: #23805a; font-size: .7rem; font-weight: 900; }
.announcements-v2__card--condolences .announcements-v2__card-mark { background: #edf0f3; color: #5d6a78; }
.announcements-v2__card--appointment .announcements-v2__card-mark { background: #eaf3fa; color: #286d9d; }
.announcements-v2__card-content { min-width: 0; }
.announcements-v2__card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.announcements-v2__card-meta span,
.announcements-v2__card-meta time { padding: .24rem .45rem; border-radius: 7px; background: #f1f5f7; color: #718494; font-size: .51rem; font-weight: 900; }
.announcements-v2__card-meta .is-display { background: #e6f5f8; color: #237785; }
.announcements-v2__card h3 { margin: .45rem 0 .3rem; color: var(--announce-navy); font-size: .78rem; line-height: 1.7; font-weight: 900; }
.announcements-v2__person { margin-bottom: .3rem; color: var(--announce-blue); font-size: .59rem; font-weight: 900; }
.announcements-v2__card p { display: -webkit-box; overflow: hidden; margin: 0; color: #6f808e; font-size: .65rem; line-height: 1.8; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.announcements-v2__card-actions { display: flex; gap: .3rem; }
.announcements-v2__card-actions a,
.announcements-v2__card-actions button { padding: .35rem .55rem; border: 1px solid #dce6eb; border-radius: 8px; background: #fff; color: var(--announce-blue); font-family: inherit; font-size: .54rem; font-weight: 900; text-decoration: none; }
.announcements-v2__card-actions button { color: #b54545; cursor: pointer; }
.announcements-v2__pagination { display: flex; justify-content: center; align-items: center; gap: .65rem; margin-top: .8rem; }
.announcements-v2__pagination a,
.announcements-v2__pagination span { padding: .4rem .65rem; border-radius: 8px; font-size: .58rem; font-weight: 900; text-decoration: none; }
.announcements-v2__pagination a { background: var(--announce-navy); color: #fff; }
.announcements-v2__pagination span { background: #edf4f7; color: #61798b; }
.announcements-v2__empty { padding: 3rem 1rem; color: #84939f; text-align: center; }

@media (prefers-reduced-motion: no-preference) {
    .announcements-v2__hero,
    .announcements-v2__layout { animation: announcements-v2-in .5s both; }
    .announcements-v2__layout { animation-delay: .06s; }
    @keyframes announcements-v2-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 1199.98px) {
    .announcements-v2__hero { grid-template-columns: 1fr; }
    .announcements-v2__hero-stats { max-width: 600px; }
}
@media (max-width: 991.98px) {
    .announcements-v2__layout { grid-template-columns: 1fr; }
    .announcements-v2__editor { position: static; }
}
@media (max-width: 575.98px) {
    .announcements-v2__hero { min-height: 0; padding: 1.05rem; border-radius: 20px; }
    .announcements-v2__hero h1 { font-size: 1.7rem; }
    .announcements-v2__hero-stats { grid-template-columns: repeat(2,1fr); gap: .4rem; }
    .announcements-v2__hero-stats div { min-width: 0; }
    .announcements-v2__editor,
    .announcements-v2__archive { padding: .8rem; border-radius: 18px; }
    .announcements-v2__panel-head { align-items: flex-start; }
    .announcements-v2__panel-head > small { display: none; }
    .announcements-v2__type-picker { gap: .3rem; }
    .announcements-v2__type-picker label > span { padding-inline: .3rem; }
    .announcements-v2__field-grid,
    .announcements-v2__ticker-option { grid-template-columns: 1fr; }
    .announcements-v2__filters > div { display: grid; grid-template-columns: 1fr 1fr; }
    .announcements-v2__filters > div a { justify-content: space-between; }
    .announcements-v2__card { grid-template-columns: auto minmax(0,1fr); }
    .announcements-v2__card-actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr); padding-top: .6rem; border-top: 1px solid #edf1f4; }
    .announcements-v2__card-actions a,
    .announcements-v2__card-actions button { width: 100%; text-align: center; }
}

/* Executive performance dashboard refresh */
.performance-live {
    --perf-navy: #0a3156;
    --perf-blue: #155e91;
    --perf-cyan: #43b8d6;
    --perf-muted: #6c7f8f;
    --perf-line: #e1eaf0;
    gap: 1rem;
}
.performance-live .performance-live-hero {
    grid-template-columns: minmax(0,1fr) auto auto;
    min-height: 260px;
    padding: clamp(1.5rem,3vw,2.5rem);
    border-radius: 28px;
    background:
        radial-gradient(circle at 9% 12%, rgba(67,184,214,.24), transparent 29%),
        linear-gradient(135deg, #092f53, #0d4c79);
    box-shadow: 0 22px 48px rgba(9,47,83,.16);
}
.performance-live .performance-live-kicker { margin-bottom: .4rem; color: var(--perf-blue); font-size: .66rem; letter-spacing: 0; }
.performance-live-hero .performance-live-kicker { display: inline-flex; align-items: center; gap: .55rem; color: #86d9ed; }
.performance-live-hero .performance-live-kicker i { width: 7px; height: 7px; border-radius: 50%; background: var(--perf-cyan); box-shadow: 0 0 0 5px rgba(67,184,214,.13); }
.performance-live .performance-live-title { font-size: clamp(2rem,4vw,3.3rem); letter-spacing: -.045em; }
.performance-live .performance-live-subtitle { max-width: 650px; color: rgba(232,244,251,.7); font-size: .82rem; }
.performance-live .performance-live-status { margin-top: 1.1rem; padding: .45rem .7rem; border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.07); font-size: .62rem; }
.performance-live .performance-live-status__dot { width: 7px; height: 7px; }
.performance-live-hero__summary { display: grid; grid-template-columns: repeat(3,minmax(90px,1fr)); gap: .5rem; }
.performance-live-hero__summary > div { min-width: 100px; padding: .8rem; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.08); text-align: center; backdrop-filter: blur(8px); }
.performance-live-hero__summary strong,
.performance-live-hero__summary span { display: block; }
.performance-live-hero__summary strong { color: #fff; font-size: 1.6rem; line-height: 1.1; font-weight: 900; }
.performance-live-hero__summary span { margin-top: .25rem; color: rgba(255,255,255,.62); font-size: .55rem; font-weight: 800; }
.performance-live .performance-live-hero__actions { min-width: 130px; }
.performance-live .performance-live-hero__actions .btn { min-height: 41px; border-radius: 11px; font-size: .65rem; }

.performance-live .performance-live-grid { gap: .7rem; }
.performance-live .performance-live-card,
.performance-live .performance-live-panel { border-color: var(--perf-line); border-radius: 20px; background: #fff; box-shadow: 0 12px 30px rgba(10,49,86,.05); }
.performance-live .performance-live-card { min-height: 130px; padding: 1rem; }
.performance-live .performance-live-card::after { inset-inline-end: auto; inset-inline-start: -40px; inset-block-start: auto; inset-block-end: -52px; background: rgba(67,184,214,.1); }
.performance-live .performance-live-card--primary { background: linear-gradient(145deg,#0b3b65,#155e91); }
.performance-live .performance-live-card span { color: #657b8c; font-size: .7rem; }
.performance-live .performance-live-card strong { margin-top: .45rem; color: var(--perf-navy); font-size: 2rem; }
.performance-live .performance-live-card small { margin-top: .55rem; color: #8a99a5; font-size: .6rem; }
.performance-live .performance-live-card--primary strong { color: #fff; }
.performance-live .performance-live-card--primary span,
.performance-live .performance-live-card--primary small { color: rgba(255,255,255,.72); }

.performance-live .performance-live-panel { padding: 1.1rem; }
.performance-live .performance-live-panel__head { padding-bottom: .75rem; margin-bottom: .8rem; }
.performance-live .performance-live-panel__head h2 { color: var(--perf-navy); }
.performance-live .performance-live-panel__badge { min-height: 30px; border: 0; border-radius: 8px; background: #e9f5f7; color: #267c87; font-size: .59rem; }
.performance-live .performance-live-chart { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1.2rem; min-height: 280px; padding: .5rem 1rem 0; }
.performance-live .performance-live-chart__bar { max-width: 68px; height: 190px; padding: 5px; border: 0; border-radius: 14px; background: #edf3f6; }
.performance-live .performance-live-chart__fill { border-radius: 10px; }
.performance-live .performance-live-chart__value { color: var(--perf-navy); font-size: .85rem; }
.performance-live .performance-live-chart__label { min-height: auto; color: #6b7f8f; font-size: .66rem; }
.performance-live .performance-live-list { gap: .5rem; }
.performance-live .performance-live-list__row { padding: .75rem .8rem; border-color: #e7edf1; border-radius: 12px; background: #f8fafb; }
.performance-live .performance-live-list__row span { color: #657a8b; font-size: .68rem; }
.performance-live .performance-live-list__row strong { color: var(--perf-navy); font-size: 1.2rem; }

.performance-live-engagement-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-top: .4rem; padding: .25rem .15rem; }
.performance-live-engagement-head h2 { margin: .25rem 0 0; color: var(--perf-navy); font-size: 1.35rem; font-weight: 900; }
.performance-live-engagement-head p { max-width: 480px; margin: 0; color: var(--perf-muted); font-size: .65rem; line-height: 1.8; text-align: left; }
.performance-live .performance-live-grid--engagement { grid-template-columns: repeat(4,minmax(0,1fr)); }
.performance-live .performance-live-card--engagement { background: linear-gradient(150deg,#fff,#f7fafb); }
.performance-live .performance-live-card--rate { background: linear-gradient(145deg,#eaf7f5,#f8fcfb); border-color: #cfe9e3; }
.performance-live .performance-live-card--rate strong { display: flex; align-items: flex-end; gap: .2rem; color: #18705d; }
.performance-live .performance-live-card--rate strong > span { color: inherit; font-size: inherit; line-height: inherit; }
.performance-live .performance-live-card--rate sup { margin-bottom: .2rem; font-size: .8rem; }

@media (prefers-reduced-motion: no-preference) {
    .performance-live-hero,
    .performance-live-grid,
    .performance-live > .row,
    .performance-live-engagement-head { animation: performance-v2-in .5s both; }
    .performance-live-grid { animation-delay: .05s; }
    .performance-live > .row { animation-delay: .1s; }
    @keyframes performance-v2-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 1199.98px) {
    .performance-live .performance-live-hero { grid-template-columns: 1fr auto; }
    .performance-live-hero__summary { grid-row: 2; grid-column: 1 / -1; max-width: 600px; }
}
@media (max-width: 767.98px) {
    .performance-live .performance-live-hero { grid-template-columns: 1fr; min-height: 0; padding: 1.05rem; border-radius: 20px; }
    .performance-live-hero__summary { grid-row: auto; grid-column: auto; width: 100%; }
    .performance-live-hero__summary > div { min-width: 0; padding: .65rem .4rem; }
    .performance-live-hero__summary strong { font-size: 1.3rem; }
    .performance-live-hero__summary span { font-size: .5rem; }
    .performance-live .performance-live-hero__actions { grid-template-columns: 1fr 1fr; }
    .performance-live .performance-live-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .performance-live .performance-live-card { min-height: 120px; border-radius: 16px; }
    .performance-live .performance-live-chart { grid-template-columns: repeat(5,minmax(70px,1fr)); gap: .7rem; overflow-x: auto; padding-inline: .25rem; }
    .performance-live .performance-live-chart__bar { height: 140px; }
    .performance-live-engagement-head { align-items: flex-start; flex-direction: column; }
    .performance-live-engagement-head p { text-align: right; }
    .performance-live .performance-live-grid--engagement { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Reports archive and editor refresh */
.reports-v2 {
    --reports-navy: #0a3156;
    --reports-blue: #155e91;
    --reports-gold: #c4933c;
    --reports-muted: #6d7f8f;
    --reports-line: #e1eaf0;
    display: grid;
    gap: 1rem;
}
.reports-v2__hero {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    align-items: center;
    gap: 1.5rem;
    min-height: 210px;
    padding: clamp(1.4rem,3vw,2.4rem);
    border-radius: 26px;
    background:
        radial-gradient(circle at 9% 12%, rgba(196,147,60,.2), transparent 28%),
        linear-gradient(135deg,#092f53,#0d4c79);
    color: #fff;
    box-shadow: 0 20px 45px rgba(9,47,83,.15);
}
.reports-v2__eyebrow { display: inline-flex; align-items: center; gap: .5rem; color: #eed29b; font-size: .67rem; font-weight: 900; }
.reports-v2__eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: #e2b55e; box-shadow: 0 0 0 5px rgba(226,181,94,.13); }
.reports-v2__hero h1 { margin: .55rem 0 .4rem; font-size: clamp(2rem,4vw,3rem); font-weight: 900; letter-spacing: -.04em; }
.reports-v2__hero p { max-width: 680px; margin: 0; color: rgba(232,244,251,.7); font-size: .8rem; }
.reports-v2__hero-stats { display: grid; grid-template-columns: repeat(3,minmax(90px,1fr)); gap: .5rem; }
.reports-v2__hero-stats div { min-width: 100px; padding: .75rem; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.08); text-align: center; backdrop-filter: blur(8px); }
.reports-v2__hero-stats strong,
.reports-v2__hero-stats span { display: block; }
.reports-v2__hero-stats strong { font-size: 1.55rem; font-weight: 900; }
.reports-v2__hero-stats span { margin-top: .25rem; color: rgba(255,255,255,.62); font-size: .55rem; }
.reports-v2__smart { display: flex; align-items: center; gap: .5rem; padding: .75rem .9rem; border-radius: 11px; background: #fff; color: var(--reports-navy); font-size: .65rem; font-weight: 900; text-decoration: none; white-space: nowrap; }

.reports-v2__layout { display: grid; grid-template-columns: minmax(330px,.7fr) minmax(0,1.35fr); gap: 1rem; align-items: start; }
.reports-v2__editor,
.reports-v2__archive { padding: 1.1rem; border: 1px solid var(--reports-line); border-radius: 22px; background: #fff; box-shadow: 0 12px 30px rgba(10,49,86,.05); }
.reports-v2__editor { position: sticky; top: 110px; }
.reports-v2__panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding-bottom: .85rem; margin-bottom: 1rem; border-bottom: 1px solid #e9eff3; }
.reports-v2__panel-head span { color: var(--reports-gold); font-size: .62rem; font-weight: 900; }
.reports-v2__panel-head h2 { margin: .25rem 0 0; color: var(--reports-navy); font-size: 1.15rem; font-weight: 900; }
.reports-v2__panel-head > small { padding: .3rem .55rem; border-radius: 8px; background: #f5f0e7; color: #896d39; font-size: .55rem; font-weight: 900; }
.reports-v2__form { display: grid; gap: .85rem; }
.reports-v2 .form-label { margin-bottom: .38rem; color: #334f65; font-size: .68rem; font-weight: 900; }
.reports-v2 .form-control,
.reports-v2 .form-select { min-height: 43px; border-color: #dce6ec; border-radius: 10px; background-color: #fbfcfd; font-size: .72rem; }
.reports-v2 textarea.form-control { min-height: 125px; line-height: 1.8; }
.reports-v2 .form-control:focus,
.reports-v2 .form-select:focus { border-color: #caa85f; background: #fff; box-shadow: 0 0 0 3px rgba(196,147,60,.12); }
.reports-v2 .form-text { color: #8797a3; font-size: .57rem; line-height: 1.6; }
.reports-v2__field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.reports-v2__field-grid > div:last-child { grid-column: 1 / -1; }
.reports-v2__submit { min-height: 44px; border-radius: 11px; font-size: .7rem; font-weight: 900; }

.reports-v2__filters { display: grid; gap: .65rem; margin-bottom: .8rem; }
.reports-v2__filters > div { display: flex; flex-wrap: wrap; gap: .3rem; }
.reports-v2__filters > div a { display: inline-flex; align-items: center; gap: .35rem; min-height: 34px; padding: .35rem .58rem; border: 1px solid #dfe7ec; border-radius: 9px; color: #607687; font-size: .58rem; font-weight: 900; text-decoration: none; }
.reports-v2__filters > div a span { display: grid; place-items: center; min-width: 18px; height: 18px; padding-inline: .2rem; border-radius: 99px; background: #edf3f6; color: var(--reports-blue); font-size: .49rem; }
.reports-v2__filters > div a.is-active { border-color: var(--reports-navy); background: var(--reports-navy); color: #fff; }
.reports-v2__filters > div a.is-active span { background: rgba(255,255,255,.15); color: #fff; }
.reports-v2__filters form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .4rem; padding: .45rem; border-radius: 11px; background: #f2f6f8; }
.reports-v2__filters form input { min-width: 0; border: 0; outline: 0; background: transparent; padding-inline: .35rem; font-family: inherit; font-size: .65rem; }
.reports-v2__filters form button { border: 0; border-radius: 8px; background: var(--reports-blue); color: #fff; padding-inline: .8rem; font-family: inherit; font-size: .57rem; font-weight: 900; }
.reports-v2__list { display: grid; gap: .55rem; }
.reports-v2__card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: .8rem;
    padding: .85rem;
    overflow: hidden;
    border: 1px solid #e3eaee;
    border-radius: 15px;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}
.reports-v2__card::before { content: ""; position: absolute; inset: 0 0 0 auto; width: 4px; background: #2f83b7; }
.reports-v2__card--thematic::before { background: var(--reports-gold); }
.reports-v2__card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(10,49,86,.07); }
.reports-v2__card-date { display: grid; place-items: center; width: 48px; height: 52px; border-radius: 11px; background: #edf4f7; text-align: center; }
.reports-v2__card-date strong,
.reports-v2__card-date span { display: block; }
.reports-v2__card-date strong { color: var(--reports-navy); font-size: 1.05rem; line-height: 1; }
.reports-v2__card-date span { margin-top: .2rem; color: #7b8d99; font-size: .48rem; }
.reports-v2__card-content { min-width: 0; }
.reports-v2__card-meta { display: flex; flex-wrap: wrap; gap: .3rem; }
.reports-v2__card-meta span { padding: .22rem .42rem; border-radius: 7px; background: #f1f5f7; color: #6a7f90; font-size: .49rem; font-weight: 900; }
.reports-v2__card h3 { margin: .4rem 0 .2rem; color: var(--reports-navy); font-size: .77rem; line-height: 1.7; font-weight: 900; }
.reports-v2__card-content > strong { display: block; color: var(--reports-gold); font-size: .58rem; }
.reports-v2__card p { display: -webkit-box; overflow: hidden; margin: .3rem 0 0; color: #748592; font-size: .61rem; line-height: 1.75; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.reports-v2__card-actions { display: flex; gap: .3rem; }
.reports-v2__card-actions a,
.reports-v2__card-actions button { padding: .4rem .55rem; border: 1px solid #dce6eb; border-radius: 8px; background: #fff; color: var(--reports-blue); font-family: inherit; font-size: .53rem; font-weight: 900; text-decoration: none; white-space: nowrap; }
.reports-v2__card-actions button { color: #b54545; cursor: pointer; }

@media (prefers-reduced-motion: no-preference) {
    .reports-v2__hero,
    .reports-v2__layout { animation: reports-v2-in .5s both; }
    .reports-v2__layout { animation-delay: .06s; }
    @keyframes reports-v2-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 1199.98px) {
    .reports-v2__hero { grid-template-columns: 1fr auto; }
    .reports-v2__hero-stats { grid-row: 2; grid-column: 1 / -1; max-width: 520px; }
}
@media (max-width: 991.98px) {
    .reports-v2__layout { grid-template-columns: 1fr; }
    .reports-v2__editor { position: static; }
}
@media (max-width: 575.98px) {
    .reports-v2__hero { grid-template-columns: 1fr; min-height: 0; padding: 1.05rem; border-radius: 20px; }
    .reports-v2__hero h1 { font-size: 1.7rem; }
    .reports-v2__hero-stats { grid-row: auto; grid-column: auto; width: 100%; }
    .reports-v2__hero-stats div { min-width: 0; padding: .6rem .35rem; }
    .reports-v2__smart { justify-content: center; }
    .reports-v2__editor,
    .reports-v2__archive { padding: .8rem; border-radius: 18px; }
    .reports-v2__panel-head { align-items: flex-start; }
    .reports-v2__panel-head > small { display: none; }
    .reports-v2__field-grid { grid-template-columns: 1fr; }
    .reports-v2__field-grid > div:last-child { grid-column: auto; }
    .reports-v2__filters > div { display: grid; grid-template-columns: 1fr 1fr; }
    .reports-v2__filters > div a { justify-content: space-between; }
    .reports-v2__card { grid-template-columns: auto minmax(0,1fr); align-items: start; }
    .reports-v2__card-actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; padding-top: .6rem; border-top: 1px solid #edf1f4; }
    .reports-v2__card-actions a,
    .reports-v2__card-actions button { width: 100%; text-align: center; }
}

/* Employee daily workspace */
.employee-today {
    margin-bottom: 1.5rem;
    padding: 1.25rem;
    border: 1px solid #dfe9ef;
    border-radius: 26px;
    background:
        radial-gradient(circle at 4% 5%, rgba(67,184,214,.09), transparent 24%),
        #fff;
    box-shadow: 0 14px 36px rgba(10,49,86,.055);
}
.employee-today__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 1px solid #e9eff3; }
.employee-today__head h2 { margin: .3rem 0 .2rem; color: #0a3156; font-size: 1.65rem; font-weight: 900; }
.employee-today__head p { margin: 0; color: #728493; font-size: .68rem; }
.employee-today__date { padding: .45rem .7rem; border-radius: 10px; background: #edf5f7; color: #537288; font-size: .62rem; font-weight: 900; }
.employee-today__grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: .75rem; }
.employee-today__grid > article { min-width: 0; padding: .9rem; border: 1px solid #e3ebf0; border-radius: 17px; background: #fbfcfd; }
.employee-today__card-head { display: flex; align-items: center; gap: .65rem; margin-bottom: .8rem; }
.employee-today__card-icon { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 11px; background: #e8f2fa; color: #286f9d; font-size: .66rem; font-weight: 900; }
.employee-today__card-icon--cyan { background: #e6f6f7; color: #267c86; }
.employee-today__card-icon--gold { background: #f8f1e5; color: #96702f; }
.employee-today__card-head small,
.employee-today__card-head strong { display: block; }
.employee-today__card-head small { color: #8a99a5; font-size: .52rem; }
.employee-today__card-head strong { margin-top: .15rem; color: #0a3156; font-size: .72rem; font-weight: 900; }
.employee-today__tag { display: inline-flex; padding: .27rem .5rem; border-radius: 7px; background: #e8f6ee; color: #287b59; font-size: .52rem; font-weight: 900; }
.employee-today__update h3 { margin: .5rem 0 .35rem; color: #0a3156; font-size: .8rem; line-height: 1.7; font-weight: 900; }
.employee-today__update p { display: -webkit-box; overflow: hidden; margin: 0 0 .6rem; color: #71818e; font-size: .62rem; line-height: 1.8; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.employee-today__update > a,
.employee-today__all-link { color: #155e91; font-size: .58rem; font-weight: 900; text-decoration: none; }
.employee-today__event-list { display: grid; gap: .35rem; }
.employee-today__event-list > a { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .55rem; padding: .45rem; border-radius: 10px; color: #0a3156; text-decoration: none; transition: background .2s ease; }
.employee-today__event-list > a:hover { background: #eef5f7; }
.employee-today__event-list time { display: grid; place-items: center; width: 38px; height: 39px; border-radius: 9px; background: #eaf3f7; text-align: center; }
.employee-today__event-list time b { font-size: .8rem; line-height: 1; }
.employee-today__event-list time span { color: #738794; font-size: .44rem; }
.employee-today__event-list a > span strong,
.employee-today__event-list a > span small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.employee-today__event-list a > span strong { font-size: .61rem; font-weight: 900; }
.employee-today__event-list a > span small { margin-top: .15rem; color: #82939f; font-size: .5rem; }
.employee-today__all-link { display: inline-flex; margin-top: .65rem; }
.employee-today__service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; }
.employee-today__service-grid a { padding: .55rem; border: 1px solid #e4ebef; border-radius: 10px; background: #fff; color: #0a3156; text-decoration: none; }
.employee-today__service-grid strong,
.employee-today__service-grid small { display: block; }
.employee-today__service-grid strong { font-size: .61rem; font-weight: 900; }
.employee-today__service-grid small { margin-top: .15rem; color: #8a99a4; font-size: .48rem; }
.employee-today__empty { padding: 1.5rem .5rem; color: #8796a1; font-size: .62rem; text-align: center; }

.employee-idea { margin-top: .6rem; overflow: hidden; border: 1px solid #d7e7df; border-radius: 12px; background: #f3faf6; }
.employee-idea summary { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .65rem; cursor: pointer; list-style: none; }
.employee-idea summary::-webkit-details-marker { display: none; }
.employee-idea summary span,
.employee-idea summary strong,
.employee-idea summary small { display: block; }
.employee-idea summary strong { color: #23634b; font-size: .62rem; font-weight: 900; }
.employee-idea summary small { margin-top: .15rem; color: #739083; font-size: .48rem; }
.employee-idea summary b { padding: .3rem .48rem; border-radius: 7px; background: #287b59; color: #fff; font-size: .5rem; white-space: nowrap; }
.employee-idea form { display: grid; gap: .4rem; padding: .65rem; border-top: 1px solid #dceae2; background: #fff; }
.employee-idea__row { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; }
.employee-idea input,
.employee-idea textarea { width: 100%; min-height: 37px; padding: .5rem; border: 1px solid #dbe6df; border-radius: 8px; outline: 0; font-family: inherit; font-size: .58rem; }
.employee-idea textarea { resize: vertical; line-height: 1.7; }
.employee-idea input:focus,
.employee-idea textarea:focus { border-color: #68a88c; box-shadow: 0 0 0 3px rgba(75,145,113,.1); }
.employee-idea button { min-height: 38px; border: 0; border-radius: 8px; background: #216b4d; color: #fff; font-family: inherit; font-size: .58rem; font-weight: 900; }

/* Employee ideas administration */
.ideas-admin { display: grid; gap: 1rem; }
.ideas-admin__hero { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 1.5rem; padding: clamp(1.4rem,3vw,2.3rem); border-radius: 26px; background: radial-gradient(circle at 8% 12%,rgba(92,168,129,.22),transparent 28%),linear-gradient(135deg,#092f53,#0d4c79); color: #fff; box-shadow: 0 20px 45px rgba(9,47,83,.15); }
.ideas-admin__hero > div:first-child > span { display: inline-flex; align-items: center; gap: .5rem; color: #9ed8ba; font-size: .66rem; font-weight: 900; }
.ideas-admin__hero > div:first-child > span i { width: 7px; height: 7px; border-radius: 50%; background: #78c49d; box-shadow: 0 0 0 5px rgba(120,196,157,.12); }
.ideas-admin__hero h1 { margin: .5rem 0 .35rem; font-size: clamp(2rem,4vw,3rem); font-weight: 900; }
.ideas-admin__hero p { margin: 0; color: rgba(232,244,251,.7); font-size: .75rem; }
.ideas-admin__stats { display: grid; grid-template-columns: repeat(4,minmax(80px,1fr)); gap: .45rem; }
.ideas-admin__stats div { min-width: 85px; padding: .7rem; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; background: rgba(255,255,255,.08); text-align: center; }
.ideas-admin__stats strong,
.ideas-admin__stats span { display: block; }
.ideas-admin__stats strong { font-size: 1.4rem; }
.ideas-admin__stats span { margin-top: .2rem; color: rgba(255,255,255,.62); font-size: .52rem; }
.ideas-admin__panel { padding: 1rem; border: 1px solid #e1eaf0; border-radius: 22px; background: #fff; }
.ideas-admin__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding-bottom: .8rem; margin-bottom: .8rem; border-bottom: 1px solid #e9eff3; }
.ideas-admin__head span { color: #287b59; font-size: .6rem; font-weight: 900; }
.ideas-admin__head h2 { margin: .2rem 0 0; color: #0a3156; font-size: 1.2rem; font-weight: 900; }
.ideas-admin__head nav { display: flex; flex-wrap: wrap; gap: .3rem; }
.ideas-admin__head nav a { padding: .4rem .6rem; border: 1px solid #dfe7ec; border-radius: 8px; color: #63798a; font-size: .56rem; font-weight: 900; text-decoration: none; }
.ideas-admin__head nav a.is-active { border-color: #0a3156; background: #0a3156; color: #fff; }
.ideas-admin__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.ideas-admin__card { display: flex; flex-direction: column; padding: .8rem; border: 1px solid #e2eaeef0; border-radius: 14px; border-top: 4px solid #3a8e67; background: #fff; }
.ideas-admin__card--reviewing { border-top-color: #c4933c; }
.ideas-admin__card--implemented { border-top-color: #2382a7; }
.ideas-admin__card--closed { border-top-color: #7a8792; }
.ideas-admin__card-meta { display: flex; justify-content: space-between; gap: .5rem; }
.ideas-admin__card-meta span,
.ideas-admin__card-meta time { padding: .25rem .4rem; border-radius: 7px; background: #edf5f0; color: #397657; font-size: .49rem; font-weight: 900; }
.ideas-admin__card-meta time { background: #f1f5f7; color: #738694; }
.ideas-admin__card h3 { margin: .55rem 0 .35rem; color: #0a3156; font-size: .76rem; line-height: 1.7; font-weight: 900; }
.ideas-admin__card > p { flex: 1; color: #6e808e; font-size: .61rem; line-height: 1.8; white-space: pre-line; }
.ideas-admin__author { padding: .55rem; border-radius: 9px; background: #f5f8f9; }
.ideas-admin__author strong,
.ideas-admin__author span { display: block; }
.ideas-admin__author strong { color: #0a3156; font-size: .58rem; }
.ideas-admin__author span { margin-top: .15rem; color: #8494a0; font-size: .5rem; }
.ideas-admin__card form { display: grid; grid-template-columns: 1fr auto; gap: .35rem; margin-top: .55rem; }
.ideas-admin__card select,
.ideas-admin__card button { min-height: 35px; border: 1px solid #dce6eb; border-radius: 8px; background: #fff; font-family: inherit; font-size: .53rem; }
.ideas-admin__card button { padding-inline: .6rem; border: 0; background: #155e91; color: #fff; font-weight: 900; }
.ideas-admin__empty { grid-column: 1/-1; padding: 3rem; color: #81929f; text-align: center; }

@media (max-width: 991.98px) {
    .employee-today__grid { grid-template-columns: 1fr 1fr; }
    .employee-today__services { grid-column: 1/-1; }
    .ideas-admin__hero { grid-template-columns: 1fr; }
    .ideas-admin__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 575.98px) {
    .employee-today { padding: .85rem; border-radius: 20px; }
    .employee-today__head { align-items: flex-start; flex-direction: column; }
    .employee-today__head h2 { font-size: 1.35rem; }
    .employee-today__grid { grid-template-columns: 1fr; }
    .employee-today__services { grid-column: auto; }
    .employee-idea__row { grid-template-columns: 1fr; }
    .ideas-admin__hero { padding: 1.05rem; border-radius: 20px; }
    .ideas-admin__stats { grid-template-columns: repeat(2,1fr); }
    .ideas-admin__head { align-items: flex-start; flex-direction: column; }
    .ideas-admin__head nav { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
    .ideas-admin__head nav a { text-align: center; }
    .ideas-admin__grid { grid-template-columns: 1fr; }
}

/* Readability baseline for dense Arabic interfaces. */
:where(
    .portal-home,
    .achievements-page,
    .dashboard-v2,
    .news-desk-v2,
    .news-detail-v2,
    .announcements-v2,
    .performance-live,
    .reports-v2,
    .ideas-admin
) small {
    font-size: .7rem !important;
    line-height: 1.65;
}

:where(
    .dashboard-v2,
    .news-desk-v2,
    .news-detail-v2,
    .announcements-v2,
    .performance-live,
    .reports-v2,
    .ideas-admin
) :where(input, select, textarea, button) {
    font-size: .72rem;
}

.portal-header__brand small,
.portal-quicklinks small,
.portal-home .public-portal-insight span {
    font-size: .72rem;
}

.employee-today__head p,
.employee-today__card-head strong,
.employee-today__update p,
.employee-today__event-list a > span strong,
.employee-today__service-grid strong,
.employee-today__empty {
    font-size: .72rem;
}

.employee-today__date,
.employee-today__all-link,
.employee-idea summary strong,
.employee-idea :where(input, textarea, button) {
    font-size: .68rem;
}

.employee-today__event-list time span,
.employee-today__event-list a > span small,
.employee-today__service-grid small,
.employee-idea summary small,
.employee-idea summary b {
    font-size: .62rem;
}

.dashboard-v2__content-copy strong,
.dashboard-v2__timeline-item strong,
.announcements-v2__card h3,
.reports-v2__card h3,
.ideas-admin__card h3 {
    font-size: .82rem;
}

.dashboard-v2__content-copy small,
.dashboard-v2__timeline-item span,
.announcements-v2__card p,
.reports-v2__card p,
.ideas-admin__card > p {
    font-size: .7rem;
}

/* Employee recognition and quick poll */
.employee-engagement {
    margin: 1.5rem 0;
    padding: 1.4rem;
    border: 1px solid #dce9e5;
    border-radius: 28px;
    background:
        radial-gradient(circle at 90% 0, rgba(45, 145, 105, .1), transparent 28%),
        linear-gradient(145deg, #f7fbfa, #fff);
}

.employee-engagement__head { display: flex; justify-content: space-between; margin-bottom: 1rem; }
.employee-engagement__head h2 { margin: .2rem 0; color: #123e55; font-size: 1.45rem; font-weight: 900; }
.employee-engagement__head p { margin: 0; color: #6e818a; font-size: .78rem; }
.employee-engagement__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 1rem; }
.recognition-wall,
.quick-poll { padding: 1.1rem; border: 1px solid #e0ebe7; border-radius: 20px; background: rgba(255,255,255,.92); }
.employee-engagement__title { display: flex; align-items: center; gap: .7rem; margin-bottom: .9rem; }
.employee-engagement__title > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #e7f5ed; color: #277452; font-size: .67rem; font-weight: 900; }
.quick-poll .employee-engagement__title > span { background: #e8f3f8; color: #206b92; }
.employee-engagement__title div { display: flex; flex-direction: column; }
.employee-engagement__title small { color: #82928f; font-size: .66rem; }
.employee-engagement__title strong { color: #123e55; font-size: .83rem; font-weight: 900; }
.recognition-wall__list { display: grid; gap: .55rem; }
.recognition-wall__item { display: grid; grid-template-columns: auto 1fr; gap: .7rem; padding: .75rem; border-radius: 14px; background: #f6faf8; }
.recognition-wall__avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #2d9169; color: #fff; font-weight: 900; }
.recognition-wall__meta { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; }
.recognition-wall__meta strong { color: #153f55; font-size: .76rem; font-weight: 900; }
.recognition-wall__meta span { padding: .16rem .4rem; border-radius: 99px; background: #e7f1ed; color: #53776a; font-size: .58rem; }
.recognition-wall__item p { margin: .25rem 0 .15rem; color: #63777e; font-size: .69rem; line-height: 1.75; }
.recognition-wall__item small { color: #9aa7a5; font-size: .57rem; }
.quick-poll h3 { margin: .25rem 0 .8rem; color: #123e55; font-size: .92rem; line-height: 1.75; font-weight: 900; }
.quick-poll__options { display: grid; gap: .45rem; }
.quick-poll__options label { position: relative; cursor: pointer; }
.quick-poll__options input { position: absolute; opacity: 0; }
.quick-poll__options span { display: block; padding: .65rem .75rem; border: 1px solid #dce8ed; border-radius: 11px; color: #526c79; font-size: .7rem; font-weight: 800; transition: .2s ease; }
.quick-poll__options input:checked + span { border-color: #2c839f; background: #edf7f9; color: #155e78; box-shadow: inset -3px 0 #2c839f; }
.quick-poll button { width: 100%; min-height: 40px; margin-top: .7rem; border: 0; border-radius: 10px; background: #155e78; color: #fff; font-family: inherit; font-size: .7rem; font-weight: 900; }
.quick-poll__privacy,
.quick-poll__thanks { display: block; margin: .55rem 0 0; color: #84949a; font-size: .61rem; text-align: center; }
.quick-poll__results { display: grid; gap: .65rem; }
.quick-poll__result > div:first-child { display: flex; justify-content: space-between; gap: .5rem; color: #526b78; font-size: .68rem; }
.quick-poll__result strong { color: #155e78; }
.quick-poll__bar { height: 7px; margin-top: .3rem; overflow: hidden; border-radius: 99px; background: #e8eff2; }
.quick-poll__bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2e9d88, #2b82a0); }

/* Engagement administration */
.engagement-admin { --engage: #257254; }
.engagement-admin__hero { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: 1.5rem; border-radius: 24px; background: linear-gradient(130deg, #0d3d4d, #175f58); color: #fff; }
.engagement-admin__hero span { color: #9fe1c5; font-size: .7rem; font-weight: 900; }
.engagement-admin__hero h1 { margin: .25rem 0; font-size: 1.7rem; font-weight: 900; }
.engagement-admin__hero p { margin: 0; color: rgba(255,255,255,.7); font-size: .76rem; }
.engagement-admin__hero a { padding: .7rem .9rem; border-radius: 10px; background: #fff; color: #174f4d; font-size: .7rem; font-weight: 900; text-decoration: none; white-space: nowrap; }
.engagement-admin__forms,
.engagement-admin__history { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.engagement-admin__panel,
.engagement-admin__list { padding: 1.15rem; border: 1px solid #dfe8e5; border-radius: 19px; background: #fff; }
.engagement-admin__panel header { display: flex; gap: .65rem; margin-bottom: 1rem; }
.engagement-admin__panel header > span { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 10px; background: #e8f4ef; color: var(--engage); font-size: .65rem; font-weight: 900; }
.engagement-admin__panel h2,
.engagement-admin__list h2 { margin: 0; color: #123e55; font-size: 1rem; font-weight: 900; }
.engagement-admin__panel p { margin: .15rem 0 0; color: #839198; font-size: .66rem; }
.engagement-admin__panel label { display: grid; gap: .35rem; margin-bottom: .7rem; color: #47616c; font-size: .68rem; font-weight: 900; }
.engagement-admin__panel :where(input, select, textarea) { width: 100%; padding: .65rem; border: 1px solid #dce7e4; border-radius: 10px; outline: none; background: #fbfdfc; font-family: inherit; font-size: .7rem; }
.engagement-admin__panel :where(input, select, textarea):focus { border-color: #5ba88a; box-shadow: 0 0 0 3px rgba(45,145,105,.1); }
.engagement-admin__row { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.engagement-admin__panel > small { display: block; margin: -.3rem 0 .7rem; color: #879791; font-size: .62rem; }
.engagement-admin__panel > button { width: 100%; min-height: 42px; border: 0; border-radius: 10px; background: var(--engage); color: #fff; font-family: inherit; font-size: .72rem; font-weight: 900; }
.engagement-admin__panel--poll > button { background: #176782; }
.engagement-admin__history { margin-top: 1rem; }
.engagement-admin__list > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: .65rem; }
.engagement-admin__list > header span { color: var(--engage); font-size: .62rem; font-weight: 900; }
.engagement-admin__list > header b { display: grid; place-items: center; min-width: 30px; height: 30px; border-radius: 9px; background: #edf5f2; color: var(--engage); font-size: .7rem; }
.engagement-admin__list article { display: flex; align-items: flex-start; justify-content: space-between; gap: .7rem; padding: .75rem 0; border-top: 1px solid #edf1f0; }
.engagement-admin__list article strong,
.engagement-admin__list article small { display: block; }
.engagement-admin__list article strong { color: #153f55; font-size: .74rem; font-weight: 900; }
.engagement-admin__list article small { margin-top: .15rem; color: #8b999d; font-size: .6rem; }
.engagement-admin__list article p { margin: .35rem 0 0; color: #667b82; font-size: .66rem; line-height: 1.7; }
.engagement-admin__list button,
.engagement-admin__active { padding: .35rem .55rem; border: 1px solid #dbe6e2; border-radius: 8px; background: #fff; color: #62776f; font-family: inherit; font-size: .6rem; font-weight: 900; white-space: nowrap; }
.engagement-admin__list button.is-active,
.engagement-admin__active { border-color: #cde9dc; background: #e9f6ef; color: #277452; }
.dashboard-v2__attention-grid { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.dashboard-v2__attention-card--engagement .dashboard-v2__attention-icon { background: #e7f5ed; color: #277452; }

@media (max-width: 575.98px) {
    html {
        font-size: 16.5px;
    }

    .portal-header__brand small {
        display: none;
    }

    .employee-engagement { padding: .85rem; border-radius: 20px; }
    .employee-engagement__grid,
    .engagement-admin__forms,
    .engagement-admin__history,
    .engagement-admin__row { grid-template-columns: 1fr; }
    .employee-engagement__head h2 { font-size: 1.3rem; }
    .employee-engagement__head p { font-size: .72rem; }
    .engagement-admin__hero { align-items: flex-start; flex-direction: column; padding: 1.05rem; }
    .engagement-admin__hero a { width: 100%; text-align: center; }
}

/* Public portal visual rhythm */
.portal-pulse {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    min-height: 52px;
    margin: -.2rem 0 1rem;
    padding: .65rem .85rem;
    overflow: hidden;
    border: 1px solid #dbe9ee;
    border-radius: 16px;
    background: linear-gradient(90deg, #0c3a5f, #105b75);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(10, 49, 86, .11);
}

.portal-pulse__label {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .35rem .6rem;
    border-radius: 9px;
    background: rgba(255,255,255,.12);
    color: #bcebf2;
    font-size: .67rem;
    font-weight: 900;
    white-space: nowrap;
}

.portal-pulse__label i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #62d5c0;
    box-shadow: 0 0 0 5px rgba(98,213,192,.14);
}

.portal-pulse__track {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: .6rem;
}

.portal-pulse__track b {
    overflow: hidden;
    font-size: .75rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.portal-pulse__track small {
    overflow: hidden;
    color: rgba(255,255,255,.65);
    font-size: .64rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.portal-pulse__arrow { color: #9fdae5; font-size: 1.05rem; }
.portal-quicklinks__icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.portal-home .employee-today {
    border-color: #d8e9f0;
    background:
        radial-gradient(circle at 95% 0, rgba(48, 151, 191, .14), transparent 28%),
        linear-gradient(145deg, #f2f9fc, #fff);
}

.portal-home .employee-engagement {
    border-color: #d8e9df;
    background:
        radial-gradient(circle at 8% 0, rgba(45, 145, 105, .16), transparent 30%),
        linear-gradient(145deg, #f1faf5, #fff);
}

.portal-news-showcase .public-news-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.portal-news-showcase .public-news-card__image,
.portal-news-showcase .news-image-overlay {
    aspect-ratio: 16 / 10;
}

.portal-gallery {
    margin-bottom: 1.5rem;
    padding: 1.25rem;
    overflow: hidden;
    border: 1px solid #e2eaf0;
    border-radius: 26px;
    background: #0b3656;
    box-shadow: 0 16px 38px rgba(10,49,86,.09);
}

.portal-gallery .portal-section__title,
.portal-gallery .public-news-kicker { color: #fff; }
.portal-gallery .portal-section__link { color: #a8ddea; }
.portal-gallery__rail {
    display: grid;
    grid-auto-columns: minmax(230px, 1fr);
    grid-auto-flow: column;
    gap: .75rem;
    overflow-x: auto;
    padding-bottom: .25rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.35) transparent;
}

.portal-gallery__rail a {
    position: relative;
    min-height: 190px;
    overflow: hidden;
    border-radius: 16px;
    color: #fff;
    scroll-snap-align: start;
}

.portal-gallery__rail img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.portal-gallery__rail a::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(3,24,39,.88)); }
.portal-gallery__rail span { position: absolute; z-index: 1; inset: auto .8rem .75rem; display: -webkit-box; overflow: hidden; font-size: .72rem; line-height: 1.7; font-weight: 900; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.portal-gallery__rail a:hover img { transform: scale(1.05); }

.portal-footer {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1.5rem;
    margin-top: 1.5rem;
    padding: 1.25rem;
    border-radius: 24px;
    background:
        radial-gradient(circle at 0 100%, rgba(67,185,216,.13), transparent 32%),
        #082f4e;
    color: #fff;
}

.portal-footer__brand { display: flex; align-items: center; gap: .7rem; }
.portal-footer__brand img { width: 66px; height: 58px; padding: .25rem; border-radius: 12px; background: #fff; object-fit: contain; }
.portal-footer__brand div,
.portal-footer__meta { display: flex; flex-direction: column; }
.portal-footer__brand strong { font-size: .83rem; font-weight: 900; }
.portal-footer__brand span,
.portal-footer__meta small { color: rgba(255,255,255,.6); font-size: .63rem; }
.portal-footer nav { display: flex; gap: .25rem; }
.portal-footer nav a { padding: .5rem .65rem; border-radius: 9px; color: rgba(255,255,255,.78); font-size: .67rem; font-weight: 800; text-decoration: none; }
.portal-footer nav a:hover { background: rgba(255,255,255,.09); color: #fff; }
.portal-footer__meta { align-items: flex-end; }
.portal-footer__meta span { font-size: .7rem; font-weight: 900; }

@media (prefers-reduced-motion: no-preference) {
    .portal-reveal {
        opacity: 0;
        transform: translateY(22px);
        animation: none !important;
        transition: opacity .65s ease, transform .65s cubic-bezier(.2,.75,.25,1);
    }
    .portal-reveal.is-visible { opacity: 1; transform: none; }
}

@media (max-width: 991.98px) {
    .portal-footer { grid-template-columns: 1fr 1fr; }
    .portal-footer nav { grid-column: 1 / -1; grid-row: 2; justify-content: center; }
}

@media (max-width: 575.98px) {
    .portal-pulse { grid-template-columns: auto minmax(0,1fr); gap: .65rem; min-height: 48px; padding: .55rem .65rem; border-radius: 14px; }
    .portal-pulse__label { padding: .3rem .45rem; font-size: .59rem; }
    .portal-pulse__track { display: block; }
    .portal-pulse__track b { display: block; font-size: .67rem; }
    .portal-pulse__track small,
    .portal-pulse__arrow { display: none; }
    .portal-news-showcase .public-news-grid { display: flex; gap: .75rem; overflow-x: auto; padding-bottom: .55rem; scroll-snap-type: x mandatory; }
    .portal-news-showcase .public-news-card { flex: 0 0 84%; scroll-snap-align: start; }
    .portal-gallery { padding: .85rem; border-radius: 20px; }
    .portal-gallery__rail { grid-auto-columns: 78%; }
    .portal-gallery__rail a { min-height: 170px; }
    .portal-footer { grid-template-columns: 1fr; text-align: center; }
    .portal-footer__brand { justify-content: center; }
    .portal-footer nav { grid-column: auto; grid-row: auto; flex-wrap: wrap; justify-content: center; }
    .portal-footer__meta { align-items: center; }
}

/* Subtle card pulse: enough motion to feel alive without distracting from reading. */
@media (prefers-reduced-motion: no-preference) {
    .portal-home :where(
        .portal-quicklinks > a,
        .employee-today__update,
        .employee-today__events,
        .employee-today__services,
        .recognition-wall,
        .quick-poll,
        .public-news-card,
        .portal-announcement-card,
        .portal-appointment-card
    ) {
        animation: portal-card-breathe 8s ease-in-out infinite;
        will-change: transform, box-shadow;
    }

    .portal-home :where(
        .portal-quicklinks > a,
        .employee-today__update,
        .employee-today__events,
        .employee-today__services,
        .recognition-wall,
        .quick-poll,
        .public-news-card,
        .portal-announcement-card,
        .portal-appointment-card
    ):hover {
        animation: none;
        transform: translateY(-4px);
        box-shadow: 0 18px 38px rgba(10, 49, 86, .11);
    }

    .portal-home :where(
        .portal-quicklinks > a,
        .public-news-card,
        .portal-announcement-card,
        .portal-appointment-card
    ):nth-child(2n) { animation-delay: -2.2s; }

    .portal-home :where(
        .portal-quicklinks > a,
        .public-news-card,
        .portal-announcement-card,
        .portal-appointment-card
    ):nth-child(3n) { animation-delay: -4.4s; }

    .employee-today__events,
    .quick-poll { animation-delay: -2.6s !important; }
    .employee-today__services { animation-delay: -5.2s !important; }

    .portal-quicklinks__icon,
    .employee-today__card-icon,
    .employee-engagement__title > span {
        animation: portal-icon-glow 6s ease-in-out infinite;
    }

    .portal-quicklinks > a:nth-child(2) .portal-quicklinks__icon,
    .employee-today__card-icon--cyan { animation-delay: -1.5s; }
    .portal-quicklinks > a:nth-child(3) .portal-quicklinks__icon,
    .employee-today__card-icon--gold { animation-delay: -3s; }
    .portal-quicklinks > a:nth-child(4) .portal-quicklinks__icon { animation-delay: -4.5s; }

    @keyframes portal-card-breathe {
        0%, 100% {
            transform: translateY(0);
            box-shadow: 0 8px 22px rgba(10, 49, 86, .035);
        }
        50% {
            transform: translateY(-2px);
            box-shadow: 0 14px 30px rgba(10, 49, 86, .075);
        }
    }

    @keyframes portal-icon-glow {
        0%, 70%, 100% { transform: scale(1); filter: saturate(1); }
        82% { transform: scale(1.055); filter: saturate(1.2); }
    }
}
