:root {
    --app-navy: #12314b;
    --app-blue: #176b87;
    --app-surface: #f4f7f9;
    --vinesa-red: #c8393c;
    --vinesa-red-dark: #a02f30;
    --vinesa-wine: #552a2a;
    --theme-background: #faf7f7;
    --theme-active: #782224;
    --theme-separator: #e8e3e3;
    --theme-border: #978b8b;
    --theme-text-secondary: #756c6c;
    --theme-success: #5a6b43;
    --theme-info: #24566b;
    --theme-warning: #8a5b00;
    --theme-error: #b42318;
    --theme-surface: color-mix(in srgb, var(--theme-background) 24%, white);
    --theme-surface-muted: color-mix(in srgb, var(--theme-background) 72%, white);
    --theme-primary-soft: color-mix(in srgb, var(--vinesa-red) 12%, var(--theme-surface));
    --theme-secondary-soft: color-mix(in srgb, var(--vinesa-wine) 10%, var(--theme-surface));
    --theme-active-soft: color-mix(in srgb, var(--theme-active) 14%, var(--theme-surface));
    --theme-border-soft: color-mix(in srgb, var(--theme-border) 42%, var(--theme-surface));
    --theme-success-soft: color-mix(in srgb, var(--theme-success) 13%, var(--theme-surface));
    --theme-info-soft: color-mix(in srgb, var(--theme-info) 13%, var(--theme-surface));
    --theme-warning-soft: color-mix(in srgb, var(--theme-warning) 14%, var(--theme-surface));
    --theme-error-soft: color-mix(in srgb, var(--theme-error) 12%, var(--theme-surface));
    --vinesa-ink: #2d1512;
    --vinesa-muted: var(--theme-text-secondary);
    --vinesa-blush: #f9efec;
    --vinesa-line: var(--theme-separator);
    --vinesa-white: var(--theme-background);
}

body {
    min-height: 100vh;
    background: var(--app-surface);
    color: #20313f;
}

.app-navbar {
    background: linear-gradient(110deg, var(--app-navy), var(--app-blue));
    box-shadow: 0 0.15rem 0.6rem rgb(18 49 75 / 18%);
}

.brand-mark {
    display: inline-grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    margin-right: 0.35rem;
    border-radius: 0.65rem;
    background: rgb(255 255 255 / 16%);
    font-size: 0.78rem;
    letter-spacing: 0.04em;
}

.page-heading {
    margin-bottom: 1.5rem;
}

.page-kicker {
    margin-bottom: 0.35rem;
    color: var(--app-blue);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.app-card {
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 0.4rem 1.5rem rgb(18 49 75 / 8%);
}

.auth-shell {
    max-width: 31rem;
    margin-inline: auto;
}

.table thead th {
    color: #536675;
    font-size: 0.75rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    white-space: nowrap;
}

.data-list {
    display: grid;
    grid-template-columns: minmax(8rem, 0.4fr) 1fr;
    gap: 0.7rem 1rem;
}

.data-list dt,
.data-list dd {
    margin: 0;
    padding-bottom: 0.7rem;
    border-bottom: 1px solid #e8edf0;
}

.recovery-code {
    padding: 0.65rem 0.8rem;
    border: 1px dashed #aebdc8;
    border-radius: 0.5rem;
    background: #fff;
    font-size: 1rem;
}

@media (max-width: 575.98px) {
    .data-list {
        grid-template-columns: 1fr;
        gap: 0.15rem;
    }

    .data-list dt {
        padding-bottom: 0;
        border-bottom: 0;
    }
}

/* Public VINESA website */
.public-site {
    min-height: 100vh;
    background: var(--vinesa-white);
    color: var(--vinesa-ink);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.public-container {
    width: min(100% - 2rem, 74rem);
    margin-inline: auto;
}

.skip-link {
    position: fixed;
    z-index: 1100;
    top: 0.5rem;
    left: 0.5rem;
    padding: 0.7rem 1rem;
    border-radius: 0.45rem;
    background: #fff;
    color: var(--vinesa-wine);
    transform: translateY(-160%);
}

.skip-link:focus { transform: translateY(0); }

.public-header {
    position: relative;
    z-index: 20;
    border-bottom: 1px solid var(--vinesa-line);
    background: rgb(255 253 252 / 94%);
    backdrop-filter: blur(10px);
}

.public-header__inner {
    display: flex;
    min-height: 7rem;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.public-header__brand {
    color: inherit;
    text-decoration: none;
}

.vinesa-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
}

.vinesa-brand__image {
    display: block;
    width: 5rem;
    height: 5rem;
    border-radius: 0.25rem;
    object-fit: contain;
}
.vinesa-brand__tagline {
    max-width: 20rem;
    color: var(--vinesa-muted);
    font-size: 0.68rem;
    line-height: 1.3;
}

.public-nav {
    align-items: center;
    gap: clamp(1rem, 2.5vw, 2.35rem);
}

.public-nav.show,
.public-nav.collapsing { display: flex; }

.public-nav__link {
    position: relative;
    padding: 0.65rem 0;
    color: #3e3532;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
}

.public-nav__link:hover,
.public-nav__link:focus,
.public-nav__link--active { color: var(--vinesa-red); }

.public-nav__link--active::after {
    position: absolute;
    right: 0;
    bottom: 0.15rem;
    left: 0;
    height: 2px;
    background: var(--vinesa-red);
    content: "";
}

.button {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.55rem;
    border: 1px solid transparent;
    border-radius: 0.45rem;
    font-weight: 650;
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.button:hover { transform: translateY(-1px); }
.button--primary {
    border-color: var(--vinesa-red);
    background: linear-gradient(135deg, var(--vinesa-red), #dd1d25);
    box-shadow: 0 0.5rem 1.25rem rgb(169 19 25 / 16%);
    color: #fff;
}
.button--primary:hover,
.button--primary:focus { background: var(--vinesa-red-dark); color: #fff; }
.button--secondary {
    border-color: #bfb3af;
    background: rgb(255 255 255 / 65%);
    color: var(--vinesa-ink);
}
.button--secondary:hover,
.button--secondary:focus { border-color: var(--vinesa-wine); color: var(--vinesa-wine); }

.public-nav__cta { min-height: 2.8rem; padding-inline: 1.4rem; }
.public-menu-button {
    display: none;
    width: 2.8rem;
    height: 2.8rem;
    padding: 0.65rem;
    border: 1px solid var(--vinesa-line);
    border-radius: 0.5rem;
    background: #fff;
}
.public-menu-button span {
    display: block;
    height: 2px;
    margin: 0.28rem 0;
    background: var(--vinesa-wine);
}

.hero {
    position: relative;
    overflow: hidden;
    min-height: 34rem;
    border-bottom: 1px solid var(--vinesa-line);
    background:
        radial-gradient(circle at 82% 36%, rgb(203 26 31 / 8%), transparent 22rem),
        linear-gradient(122deg, #fffaf8 0%, #f9eeeb 100%);
}

.hero::after {
    position: absolute;
    right: -8%;
    bottom: -8rem;
    left: -8%;
    height: 15rem;
    border-radius: 50% 55% 0 0;
    background: rgb(255 255 255 / 48%);
    content: "";
    transform: rotate(-3deg);
}

.hero__inner {
    position: relative;
    z-index: 2;
    display: grid;
    min-height: 34rem;
    grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.92fr);
    align-items: center;
    gap: 3rem;
    padding-block: 4.5rem 5.5rem;
}

.hero__content { max-width: 38rem; }
.hero__eyebrow,
.section-kicker {
    margin-bottom: 0.85rem;
    color: var(--vinesa-red);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}
.hero h1,
.rights-section h2 {
    color: #351411;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
}
.hero h1 {
    margin-bottom: 1.1rem;
    font-size: clamp(3.4rem, 6vw, 5.7rem);
    letter-spacing: -0.045em;
    line-height: 0.95;
}
.hero__lead {
    max-width: 35rem;
    margin-bottom: 2rem;
    color: #4f4b49;
    font-size: clamp(1.05rem, 1.8vw, 1.3rem);
    line-height: 1.55;
}
.hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; }
.hero__visual { display: grid; place-items: center; }
.privacy-shield { width: min(100%, 20rem); height: auto; }
.brand-hero-image {
    display: block;
    width: min(100%, 22rem);
    max-height: 22rem;
    object-fit: contain;
    filter: drop-shadow(0 1rem 1.8rem rgb(48 16 16 / 14%));
}

.rights-section {
    padding-block: 4.5rem 5rem;
    background: #fff;
    text-align: center;
}
.rights-section h2 {
    margin-bottom: 3rem;
    font-size: clamp(2rem, 3vw, 2.8rem);
}
.rights-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}
.right-item {
    padding: 0.5rem clamp(0.7rem, 2vw, 1.6rem) 1.5rem;
    border-right: 1px solid var(--vinesa-line);
}
.right-item:last-child { border-right: 0; }
.right-item__icon {
    display: grid;
    width: 3.4rem;
    height: 3.4rem;
    margin: 0 auto 0.8rem;
    place-items: center;
    color: var(--vinesa-red);
    font-family: Georgia, serif;
    font-size: 2.4rem;
    line-height: 1;
}
.right-item h3 { margin-bottom: 0.6rem; font-size: 1rem; font-weight: 700; }
.right-item p { margin: 0; color: var(--vinesa-muted); font-size: 0.83rem; line-height: 1.5; }
.rights-section__closing {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    margin-top: 2.5rem;
    color: var(--vinesa-muted);
}
.rights-section__closing p { margin: 0; }
.rights-section__closing a { color: var(--vinesa-red); font-weight: 650; text-decoration: none; }

.public-footer {
    background: linear-gradient(120deg, #431713, #6f201a);
    color: rgb(255 255 255 / 82%);
}
.public-footer__inner {
    display: grid;
    gap: 1rem;
    justify-items: center;
    padding-block: 2rem;
    text-align: center;
}
.public-footer p { margin: 0; font-size: 0.85rem; }
.public-footer__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1.4rem; }
.public-footer__links a,
.public-footer__link-btn {
    color: #fff;
    font-size: 0.8rem;
    text-decoration: none;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
}
.public-footer__links a:hover,
.public-footer__link-btn:hover {
    text-decoration: underline;
}

@media (min-width: 992px) {
    .public-nav.collapse { display: flex !important; }
}

@media (max-width: 991.98px) {
    .public-header__inner { min-height: 5.6rem; flex-wrap: wrap; gap: 0; }
    .vinesa-brand__image { width: 4rem; height: 4rem; }
    .vinesa-brand__tagline { display: none; }
    .public-menu-button { display: block; }
    .public-nav {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 0.75rem 0 1.2rem;
    }
    .public-nav__link { padding: 0.8rem 0; }
    .public-nav__link--active::after { display: none; }
    .public-nav__cta { margin-top: 0.6rem; }
    .hero__inner { grid-template-columns: 1fr minmax(14rem, 0.65fr); gap: 1rem; }
    .rights-grid { grid-template-columns: repeat(2, 1fr); row-gap: 2rem; }
    .right-item { border-right: 1px solid var(--vinesa-line); }
    .right-item:nth-child(even) { border-right: 0; }
}

@media (max-width: 767.98px) {
    .hero__inner { grid-template-columns: 1fr; padding-block: 3.5rem 4rem; text-align: center; }
    .hero__content { margin-inline: auto; }
    .hero__actions { justify-content: center; }
    .hero__visual { order: -1; }
    .privacy-shield { width: 10rem; }
    .hero__visual .brand-hero-image {
        width: min(70vw, 12rem);
        max-height: 12rem;
    }
    .rights-section__closing { flex-direction: column; gap: 0.8rem; }
}

@media (max-width: 479.98px) {
    .public-container { width: min(100% - 1.25rem, 74rem); }
    .hero h1 { font-size: 3.2rem; }
    .hero__actions .button { width: 100%; }
    .rights-grid { grid-template-columns: 1fr; }
    .right-item,
    .right-item:nth-child(even) { grid-column: auto; border-right: 0; border-bottom: 1px solid var(--vinesa-line); }
    .right-item:last-child { grid-column: auto; border-bottom: 0; }
}

/* Public request and tracking flows */
.portal-page {
    min-height: 38rem;
    padding-block: 3.2rem 4.5rem;
    background:
        linear-gradient(180deg, rgb(249 239 236 / 70%), transparent 13rem),
        #fffdfc;
}
.portal-page__inner { display: grid; gap: 1.5rem; }
.portal-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    padding-bottom: 1rem;
}
.portal-heading h1,
.confirmation-card h1 {
    margin: 0 0 0.55rem;
    color: #351411;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.1rem, 4vw, 3.35rem);
    font-weight: 500;
    line-height: 1.08;
}
.portal-heading p:not(.section-kicker) { max-width: 46rem; margin: 0; color: var(--vinesa-muted); }
.portal-heading__link { flex: 0 0 auto; padding-bottom: 0.35rem; color: var(--vinesa-red); font-weight: 650; text-decoration: none; }

.request-stepper {
    display: grid;
    margin: 0;
    padding: 0.5rem clamp(0rem, 7vw, 5rem) 1rem;
    grid-template-columns: repeat(4, 1fr);
    list-style: none;
}
.request-stepper__item {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 0.45rem;
    color: var(--vinesa-muted);
    font-size: 0.78rem;
}
.request-stepper__item::before {
    position: absolute;
    z-index: 0;
    top: 1rem;
    right: 50%;
    width: 100%;
    height: 1px;
    background: var(--vinesa-line);
    content: "";
}
.request-stepper__item:first-child::before { display: none; }
.request-stepper__item span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 2rem;
    height: 2rem;
    border: 1px solid #d5c9c4;
    border-radius: 50%;
    background: #fff;
    place-items: center;
    font-weight: 700;
}
.request-stepper__item--active span { border-color: var(--vinesa-red); color: var(--vinesa-red); }
.request-stepper__item--complete { color: var(--vinesa-wine); }
.request-stepper__item--complete span { border-color: var(--vinesa-red); background: var(--vinesa-red); color: #fff; }

.portal-note,
.portal-alert {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 1rem 1.15rem;
    border: 1px solid #efd9d3;
    border-radius: 0.7rem;
    background: #fff8f6;
    color: #5e4540;
}
.portal-note p,
.portal-alert p { margin: 0; }
.portal-note__icon {
    display: grid;
    width: 1.8rem;
    height: 1.8rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--vinesa-red);
    color: #fff;
    font-family: Georgia, serif;
    font-weight: 700;
    place-items: center;
}
.portal-alert--danger { border-color: #edb7b7; background: #fff2f2; color: #8f1717; }

.public-request-form { display: grid; gap: 1.25rem; }
.portal-panel {
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--vinesa-line);
    border-radius: 0.9rem;
    background: #fff;
    box-shadow: 0 0.65rem 2rem rgb(70 27 22 / 5%);
}
.portal-panel__heading {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f0e7e3;
}
.portal-panel__heading > span {
    display: grid;
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--vinesa-red);
    color: #fff;
    font-weight: 700;
    place-items: center;
}
.portal-panel__heading h2,
.tracking-query h2,
.tracking-result h2 {
    margin: 0;
    color: #351411;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.42rem;
}
.portal-panel__heading p { margin: 0.15rem 0 0; color: var(--vinesa-muted); font-size: 0.85rem; }
.public-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem 1.3rem; }
.public-field--full { grid-column: 1 / -1; }
.public-field__label {
    display: block;
    margin-bottom: 0.45rem;
    color: #332a27;
    font-size: 0.82rem;
    font-weight: 650;
}
.required-mark { margin-left: 0.15rem; color: var(--vinesa-red); }
.public-field .form-control,
.public-field .form-select {
    min-height: 3.05rem;
    border-color: #ded4d0;
    border-radius: 0.45rem;
    background-color: #fff;
    color: #302725;
    box-shadow: none;
}
.public-field textarea.form-control { min-height: 9rem; resize: vertical; }
.public-field input[type="file"] { padding-top: 0.7rem; font-size: 0.82rem; }
.public-field .form-control:focus,
.public-field .form-select:focus { border-color: var(--vinesa-red); box-shadow: 0 0 0 0.2rem rgb(201 20 28 / 10%); }
.public-field__help { margin-top: 0.35rem; color: #7a706c; font-size: 0.72rem; }
.public-field__error { margin-top: 0.35rem; color: #b3161d; font-size: 0.78rem; }
.public-check-row { display: flex; align-items: flex-start; gap: 0.7rem; margin-bottom: 1.3rem; }
.public-check-row input { width: 1.15rem; height: 1.15rem; margin-top: 0.15rem; accent-color: var(--vinesa-red); }
.public-check-row label { color: #423936; font-size: 0.85rem; line-height: 1.5; }
.representative-fields { margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid #f0e7e3; }
.upload-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.portal-panel--confirmation { background: #fffaf8; }
.public-request-form__actions { display: flex; justify-content: flex-end; gap: 0.8rem; margin-top: 1rem; }
.public-request-form button.button { cursor: pointer; }
.wizard-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.8rem;
    margin-top: 1.6rem;
    padding-top: 1.25rem;
    border-top: 1px solid #f0e7e3;
}
.request-summary {
    display: grid;
    margin: 0 0 1.5rem;
    grid-template-columns: 1fr 1fr;
    border: 1px solid var(--vinesa-line);
    border-radius: 0.65rem;
    background: #fff;
    overflow: hidden;
}
.request-summary > div { padding: 1rem 1.1rem; border-bottom: 1px solid #f0e7e3; }
.request-summary > div:nth-child(odd) { border-right: 1px solid #f0e7e3; }
.request-summary > div:nth-last-child(-n + 2) { border-bottom: 0; }
.request-summary dt { margin-bottom: 0.25rem; color: var(--vinesa-muted); font-size: 0.72rem; font-weight: 650; text-transform: uppercase; }
.request-summary dd { margin: 0; color: #352a27; font-weight: 650; overflow-wrap: anywhere; }

.confirmation-shell {
    min-height: 42rem;
    padding-block: 3.5rem;
    background: radial-gradient(circle at 50% 35%, #fff, #fbf1ee);
}
.confirmation-card {
    max-width: 48rem;
    margin-inline: auto;
    padding: clamp(2rem, 5vw, 4rem);
    border: 1px solid var(--vinesa-line);
    border-radius: 1rem;
    background: rgb(255 255 255 / 88%);
    box-shadow: 0 1rem 3rem rgb(83 28 23 / 8%);
    text-align: center;
}
.confirmation-check {
    display: grid;
    width: 5rem;
    height: 5rem;
    margin: 0 auto 1.35rem;
    border: 3px solid var(--vinesa-red);
    border-radius: 50%;
    color: var(--vinesa-red);
    font-size: 2.3rem;
    place-items: center;
}
.confirmation-card__lead { color: var(--vinesa-muted); font-size: 1.05rem; }
.confirmation-reference {
    display: grid;
    gap: 0.45rem;
    margin: 1.7rem 0;
    padding: 1.3rem;
    border: 1px solid var(--vinesa-line);
    border-radius: 0.65rem;
    background: #fff;
}
.confirmation-reference span,
.confirmation-reference small { color: var(--vinesa-muted); font-size: 0.78rem; }
.confirmation-reference strong { font-family: Georgia, serif; font-size: 1.35rem; font-weight: 500; }
.confirmation-card__actions { display: flex; justify-content: center; gap: 1rem; margin: 1.8rem 0; }
.portal-note--compact { max-width: 37rem; margin-inline: auto; text-align: left; }

.tracking-layout { display: grid; grid-template-columns: minmax(19rem, 0.9fr) minmax(24rem, 1.1fr); gap: 1.25rem; }
.tracking-query__brand { margin-bottom: 1.6rem; }
.vinesa-brand--compact .vinesa-brand__image { width: 4.4rem; height: 4.4rem; }
.tracking-query > p { margin: 0.55rem 0 1.5rem; color: var(--vinesa-muted); font-size: 0.86rem; }
.tracking-query .public-field { margin-bottom: 1rem; }
.tracking-query__submit { width: 100%; margin-top: 0.25rem; }
.tracking-query__links { display: flex; justify-content: center; gap: 1.3rem; margin-top: 1.3rem; }
.tracking-query__links a { color: var(--vinesa-red); font-size: 0.78rem; text-decoration: none; }
.tracking-result { min-height: 30rem; }
.tracking-result__heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #f0e7e3; }
.status-pill { padding: 0.45rem 0.7rem; border-radius: 0.45rem; background: #e8f5ea; color: #176329; font-size: 0.72rem; font-weight: 750; text-transform: uppercase; }
.status-pill--muted { background: #f3efed; color: #736a66; }
.tracking-result__reference { display: block; margin-top: 1.4rem; color: var(--vinesa-wine); font-family: Georgia, serif; font-size: 1.4rem; }
.tracking-data { margin: 0.8rem 0 1.7rem; }
.tracking-data > div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.9rem 0; border-bottom: 1px solid #f0e7e3; }
.tracking-data dt { color: var(--vinesa-muted); font-weight: 500; }
.tracking-data dd { margin: 0; text-align: right; }
.tracking-result h3 { font-size: 0.9rem; font-weight: 700; }
.tracking-history { margin: 1rem 0 0; padding: 0; list-style: none; }
.tracking-history li { display: flex; gap: 0.75rem; padding-bottom: 1rem; }
.tracking-history li > span { width: 0.75rem; height: 0.75rem; margin-top: 0.25rem; border: 2px solid var(--vinesa-red); border-radius: 50%; }
.tracking-history li > div { display: flex; flex: 1; justify-content: space-between; gap: 1rem; }
.tracking-history time { color: var(--vinesa-muted); font-size: 0.75rem; }
.tracking-result__empty { display: grid; min-height: 22rem; place-content: center; justify-items: center; color: var(--vinesa-muted); text-align: center; }
.tracking-result__empty span { color: #d8c9c4; font-family: Georgia, serif; font-size: 5rem; }
.tracking-result__empty p { max-width: 22rem; }
.portal-narrow { max-width: 46rem; }
.portal-access { display: grid; align-items: start; }
.portal-heading--centered { justify-content: center; text-align: center; }
.portal-heading--centered p:not(.section-kicker) { margin-inline: auto; }
.portal-access-card {
    display: grid;
    max-width: 37rem;
    margin-inline: auto;
    gap: 1.25rem;
}
.portal-access-card__icon {
    display: grid;
    width: 4rem;
    height: 4rem;
    margin: -0.15rem auto 0.35rem;
    border: 2px solid var(--vinesa-red);
    border-radius: 50%;
    color: var(--vinesa-red);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    place-items: center;
}
.portal-access-form { display: grid; gap: 1rem; }
.portal-access-card__submit { width: 100%; cursor: pointer; }
.portal-access-card__back {
    justify-self: center;
    color: var(--vinesa-red);
    font-size: 0.82rem;
    font-weight: 650;
    text-decoration: none;
}
.portal-access-card__back:hover,
.portal-access-card__back:focus { color: var(--vinesa-red-dark); text-decoration: underline; }
.portal-alert--success { border-color: #b9ddbf; background: #f0faf2; color: #176329; }

@media (max-width: 991.98px) {
    .upload-grid { grid-template-columns: 1fr; }
    .tracking-layout { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
    .portal-page { padding-block: 2.2rem 3rem; }
    .portal-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .request-stepper { padding-inline: 0; }
    .request-stepper__item strong { font-size: 0.68rem; }
    .public-form-grid { grid-template-columns: 1fr; }
    .public-field--full { grid-column: auto; }
    .public-request-form__actions,
    .confirmation-card__actions { flex-direction: column-reverse; }
    .wizard-actions { flex-direction: column-reverse; }
    .public-request-form__actions .button,
    .confirmation-card__actions .button,
    .wizard-actions .button { width: 100%; }
    .request-summary { grid-template-columns: 1fr; }
    .request-summary > div,
    .request-summary > div:nth-child(odd),
    .request-summary > div:nth-last-child(-n + 2) { border-right: 0; border-bottom: 1px solid #f0e7e3; }
    .request-summary > div:last-child { border-bottom: 0; }
    .tracking-result { min-height: auto; }
}

/* Public legal documents */
.legal-page {
    min-height: 40rem;
    padding-block: 2.3rem 4.5rem;
    background: linear-gradient(180deg, #fff8f5, #fff 12rem);
}
.legal-page__inner { max-width: 67rem; }
.legal-page__back { display: inline-block; margin-bottom: 1.2rem; color: var(--vinesa-red); font-size: 0.82rem; font-weight: 650; text-decoration: none; }
.legal-document {
    padding: clamp(1.5rem, 4vw, 3.6rem);
    border: 1px solid var(--vinesa-line);
    border-radius: 0.9rem;
    background: #fff;
    box-shadow: 0 1rem 3rem rgb(70 27 22 / 6%);
}
.legal-document__header { margin-bottom: 2rem; padding-bottom: 1.6rem; border-bottom: 1px solid var(--vinesa-line); }
.legal-document__header h1 {
    margin: 0 0 0.6rem;
    color: #351411;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    font-weight: 500;
}
.legal-document__header > p:last-child { margin: 0; color: var(--vinesa-muted); font-size: 0.8rem; }
.legal-document__content { color: #433b38; font-size: 0.95rem; line-height: 1.8; }
.legal-document__content h2,
.legal-document__content h3,
.legal-document__content h4 { margin: 1.8rem 0 0.7rem; color: var(--vinesa-red-dark); font-family: Georgia, serif; }
.legal-document__content h2 { font-size: 1.4rem; }
.legal-document__content h3 { font-size: 1.18rem; }
.legal-document__content a { color: var(--vinesa-red); }
.legal-document__empty { display: flex; align-items: flex-start; gap: 1rem; padding: 1.2rem; border-radius: 0.65rem; background: #fff6f3; }
.legal-document__empty > span { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; border-radius: 50%; background: var(--vinesa-red); color: #fff; font-family: Georgia, serif; place-items: center; }
.legal-document__empty h2 { margin: 0 0 0.35rem; font-size: 1rem; }
.legal-document__empty p { margin: 0; color: var(--vinesa-muted); font-size: 0.88rem; }
.preliminary-content { margin-top: 1.5rem; padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid #edcbc5; border-radius: 0.7rem; background: #fffaf8; }
.preliminary-content__heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.preliminary-content h2 { margin: 0.45rem 0 0.6rem; color: #431713; font-family: Georgia, serif; font-size: 1.55rem; font-weight: 500; }
.preliminary-content__notice { margin: 0; color: var(--vinesa-muted); font-size: 0.88rem; line-height: 1.65; }
.preliminary-badge { display: inline-block; padding: 0.35rem 0.65rem; border: 1px solid #e2a39d; border-radius: 2rem; background: #fff; color: var(--vinesa-red-dark); font-size: 0.67rem; font-weight: 750; letter-spacing: 0.03em; text-transform: uppercase; }
.preliminary-sections { display: grid; gap: 1.2rem; margin-top: 1.4rem; }
.preliminary-sections section { padding-top: 1.2rem; border-top: 1px solid var(--vinesa-line); }
.preliminary-sections h3 { margin: 0 0 0.55rem; color: #5b201b; font-family: Georgia, serif; font-size: 1.15rem; }
.preliminary-sections p { margin: 0.45rem 0 0; color: #554945; line-height: 1.7; }

/* Public information, notices and contact pages */
.information-page {
    min-height: 40rem;
    padding-block: 3.5rem 5rem;
    background:
        radial-gradient(circle at 90% 8%, rgb(197 21 29 / 7%), transparent 22rem),
        linear-gradient(180deg, #fff8f6, #fff 22rem);
}
.information-page__inner { display: grid; gap: 2rem; }
.error-page__inner {
    display: grid;
    min-height: 30rem;
    align-content: center;
    justify-items: center;
    gap: 1rem;
    text-align: center;
}
.error-page__code {
    margin: 0;
    color: var(--vinesa-red);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4.5rem, 13vw, 8rem);
    font-weight: 500;
    letter-spacing: -0.05em;
    line-height: 0.85;
}
.error-page h1 {
    margin: 0;
    color: #351411;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 5vw, 3.4rem);
    font-weight: 500;
}
.error-page__message {
    max-width: 38rem;
    margin: 0;
    color: var(--vinesa-muted);
    line-height: 1.7;
}
.error-page .information-actions { justify-content: center; margin-top: 0.75rem; }
.information-hero { max-width: 52rem; }
.information-hero h1 {
    margin: 0 0 0.8rem;
    color: #351411;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.35rem, 5vw, 4rem);
    font-weight: 500;
    line-height: 1.05;
}
.information-hero > p:last-child { margin: 0; color: var(--vinesa-muted); font-size: 1rem; line-height: 1.7; }
.information-grid,
.notice-grid,
.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.information-card,
.notice-card,
.contact-card {
    position: relative;
    padding: clamp(1.35rem, 3vw, 2rem);
    border: 1px solid var(--vinesa-line);
    border-radius: 0.85rem;
    background: rgb(255 255 255 / 94%);
    box-shadow: 0 0.7rem 2rem rgb(70 27 22 / 5%);
}
.information-card__number { display: block; margin-bottom: 1.2rem; color: #d9a8a3; font-family: Georgia, serif; font-size: 2rem; }
.information-card h2,
.notice-card h2,
.contact-card h2,
.process-panel h2,
.pending-content h2,
.client-requirements h2 {
    margin: 0 0 0.55rem;
    color: #431713;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    font-weight: 500;
}
.information-card p,
.notice-card > p:not(.section-kicker),
.contact-card > p:not(.section-kicker) { margin: 0; color: var(--vinesa-muted); line-height: 1.65; }
.information-card small,
.notice-card small { display: block; margin-top: 1rem; color: #7b706c; font-size: 0.76rem; }
.pending-content {
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
    padding: clamp(1.5rem, 4vw, 2.4rem);
    border: 1px solid #edcbc5;
    border-radius: 0.9rem;
    background: #fff8f6;
}
.pending-content__icon { display: grid; width: 2.4rem; height: 2.4rem; flex: 0 0 auto; border-radius: 50%; background: var(--vinesa-red); color: #fff; font-family: Georgia, serif; font-weight: 700; place-items: center; }
.pending-content p:not(.section-kicker) { margin: 0; color: var(--vinesa-muted); line-height: 1.65; }
.preliminary-rights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; margin-top: 1.3rem; }
.preliminary-rights article { padding: 1rem; border: 1px solid #edcbc5; border-radius: 0.65rem; background: #fff; }
.preliminary-rights h3 { margin: 0 0 0.35rem; color: #5b201b; font-family: Georgia, serif; font-size: 1rem; }
.preliminary-rights article p { font-size: 0.82rem; line-height: 1.5; }
.requirement-list { display: grid; gap: 0.6rem; margin: 1.2rem 0 0; padding-left: 1.2rem; color: #554945; }
.requirement-list li::marker { color: var(--vinesa-red); }
.process-panel { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--vinesa-line); border-radius: 0.9rem; background: #fff; }
.process-panel > div { padding: 1.6rem; border-right: 1px solid var(--vinesa-line); }
.process-panel > div:last-child { border-right: 0; }
.process-panel span { display: grid; width: 2rem; height: 2rem; margin-bottom: 1rem; border-radius: 50%; background: var(--vinesa-red); color: #fff; font-weight: 700; place-items: center; }
.process-panel p { margin: 0; color: var(--vinesa-muted); font-size: 0.85rem; line-height: 1.55; }
.information-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.notice-card { display: flex; min-height: 17rem; flex-direction: column; }
.notice-card__status { position: absolute; top: 1.25rem; right: 1.25rem; padding: 0.35rem 0.6rem; border-radius: 2rem; background: #f3efed; color: #756a66; font-size: 0.68rem; font-weight: 750; text-transform: uppercase; }
.notice-card__status--published { background: #e8f5ea; color: #176329; }
.notice-card h2 { max-width: calc(100% - 5.5rem); }
.notice-card a { margin-top: auto; padding-top: 1.4rem; color: var(--vinesa-red); font-size: 0.82rem; font-weight: 700; text-decoration: none; }
.contact-card dl { display: grid; gap: 0.85rem; margin: 1.2rem 0 0; }
.contact-card dl > div { display: grid; gap: 0.15rem; }
.contact-card dt { color: #897d78; font-size: 0.68rem; text-transform: uppercase; }
.contact-card dd { margin: 0; color: #403633; overflow-wrap: anywhere; }
.contact-card a { color: var(--vinesa-red-dark); }
.contact-card__pending { padding: 0.9rem; border-radius: 0.5rem; background: #fff6f3; font-size: 0.84rem; }
.contact-card__link { display: inline-block; margin-top: 1rem; color: var(--vinesa-red) !important; font-weight: 700; text-decoration: none; }
.provisional-contact { margin-top: 1.3rem; padding: 1rem; border: 1px solid #edcbc5; border-radius: 0.65rem; background: #fff; }
.provisional-contact h3 { margin: 0.8rem 0 0.25rem; color: #431713; font-family: Georgia, serif; font-size: 1.05rem; }
.provisional-contact p { margin: 0 !important; color: #403633 !important; font-weight: 700; }
.provisional-contact small { display: block; margin-top: 0.5rem; color: #7b706c; line-height: 1.5; }
.client-requirements { margin-top: 1.5rem; padding: 1.5rem; border: 1px dashed #dca8a3; border-radius: 0.7rem; background: #fffdfc; }

.institutional-intro { padding-block: 2.5rem; background: #fff; }
.institutional-intro__inner { max-width: 58rem; text-align: center; }
.institutional-intro h2 { margin: 0.45rem 0 0.8rem; color: #431713; font-family: Georgia, serif; font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 500; }
.institutional-intro p:not(.section-kicker) { margin: 0 auto; color: var(--vinesa-muted); line-height: 1.75; }
.institutional-intro small { display: block; margin-top: 0.8rem; color: #897d78; }

@media (max-width: 767.98px) {
    .information-grid,
    .notice-grid,
    .contact-grid { grid-template-columns: 1fr; }
    .preliminary-rights { grid-template-columns: 1fr; }
    .process-panel { grid-template-columns: 1fr; }
    .process-panel > div { border-right: 0; border-bottom: 1px solid var(--vinesa-line); }
    .process-panel > div:last-child { border-bottom: 0; }
}

@media (max-width: 479.98px) {
    .preliminary-content__heading { align-items: flex-start; flex-direction: column; }
    .pending-content { flex-direction: column; }
    .information-actions .button { width: 100%; }
}

/* Institutional authentication */
.auth-page { min-height: 100vh; margin: 0; background: #fbf4f1; color: var(--vinesa-ink); font-family: Inter, "Segoe UI", Arial, sans-serif; }
.auth-layout {
    display: grid;
    width: min(100% - 2rem, 72rem);
    min-height: min(52rem, calc(100vh - 3rem));
    margin: 1.5rem auto;
    overflow: hidden;
    grid-template-columns: minmax(20rem, 0.9fr) minmax(25rem, 1.1fr);
    border: 1px solid var(--vinesa-line);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1.2rem 3.8rem rgb(74 23 19 / 10%);
}
.auth-layout__brand {
    position: relative;
    display: flex;
    overflow: hidden;
    flex-direction: column;
    padding: clamp(2rem, 4vw, 3.6rem);
    background: linear-gradient(145deg, #fff9f6, #f5dfda);
}
.auth-layout__brand::after {
    position: absolute;
    right: -25%;
    bottom: 5rem;
    left: -25%;
    height: 13rem;
    border-radius: 50%;
    background: rgb(255 255 255 / 42%);
    content: "";
    transform: rotate(-7deg);
}
.auth-layout__brand > a { position: relative; z-index: 2; color: inherit; text-decoration: none; }
.auth-layout__brand > p { position: relative; z-index: 2; margin: 1rem 0 0; color: var(--vinesa-muted); }
.auth-layout__shield { position: relative; z-index: 2; display: grid; flex: 1; place-items: center; }
.auth-layout__shield .privacy-shield { width: min(85%, 17rem); }
.auth-layout__shield .brand-hero-image {
    width: min(85%, 19rem);
    max-height: 19rem;
}
.auth-layout__brand > small { position: relative; z-index: 2; color: #5d514d; }
.auth-layout__content { display: grid; padding: clamp(2rem, 5vw, 4.8rem); place-items: center; }
.auth-content__inner { width: min(100%, 31rem); }
.auth-heading { margin-bottom: 2rem; }
.auth-heading--center { text-align: center; }
.auth-heading h1 {
    margin: 0 0 0.7rem;
    color: #351411;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.25rem, 4vw, 3.2rem);
    font-weight: 500;
}
.auth-heading > p:last-child { margin: 0; color: var(--vinesa-muted); line-height: 1.6; }
.auth-form { display: grid; gap: 1.1rem; }
.auth-form .public-field { margin: 0; }
.auth-form__submit { width: 100%; margin-top: 0.4rem; cursor: pointer; }
.auth-assistance { margin: 1rem 0 0; color: var(--vinesa-muted); font-size: 0.78rem; line-height: 1.5; text-align: center; }
.auth-security-note { margin: 1.3rem 0 0; color: #756966; font-size: 0.76rem; text-align: center; }
.auth-security-note span { margin-right: 0.3rem; color: var(--vinesa-red); }
.auth-form--mfa input[type="text"],
.auth-form--mfa input[type="password"] { height: 4rem; font-family: Georgia, serif; font-size: 1.55rem; letter-spacing: 0.5em; text-align: center; }
.auth-cancel { margin-top: 0.8rem; text-align: center; }
.auth-cancel button { padding: 0.5rem; border: 0; background: transparent; color: var(--vinesa-red); font-size: 0.8rem; cursor: pointer; }
.mfa-recovery-help { margin-top: 1rem; padding: 0.85rem 1rem; border-top: 1px solid var(--vinesa-line); color: var(--vinesa-muted); font-size: 0.78rem; text-align: center; }
.mfa-recovery-help summary { color: var(--vinesa-red); font-weight: 650; cursor: pointer; list-style-position: inside; }
.mfa-recovery-help p { margin: 0.65rem 0 0; line-height: 1.5; }
.mfa-enrollment { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1.2rem; margin-bottom: 1.4rem; padding: 1rem; border: 1px solid var(--vinesa-line); border-radius: 0.7rem; background: #fffaf8; }
.mfa-enrollment img { width: 10rem; height: 10rem; padding: 0.4rem; border: 1px solid var(--vinesa-line); border-radius: 0.4rem; background: #fff; }
.mfa-enrollment p { margin-bottom: 0.4rem; font-size: 0.78rem; }
.mfa-enrollment code { display: block; overflow-wrap: anywhere; color: var(--vinesa-wine); font-size: 0.75rem; }
.mfa-enrollment details { margin-top: 0.8rem; color: var(--vinesa-muted); font-size: 0.72rem; }
.mfa-enrollment details code { margin-top: 0.4rem; }
.recovery-grid { display: grid; margin: 1.3rem 0; padding: 0; grid-template-columns: 1fr 1fr; gap: 0.6rem; list-style: none; }
.recovery-grid li { padding: 0.75rem; border: 1px dashed #c9b8b2; border-radius: 0.4rem; background: #fff; text-align: center; }
.recovery-grid code { color: var(--vinesa-wine); }

@media (max-width: 899.98px) {
    .auth-layout { min-height: calc(100vh - 2rem); margin: 1rem auto; grid-template-columns: 1fr; }
    .auth-layout__brand { min-height: auto; padding: 1.3rem 1.5rem; flex-direction: row; align-items: center; justify-content: space-between; }
    .auth-layout__brand > p,
    .auth-layout__shield,
    .auth-layout__brand > small { display: none; }
    .auth-layout__brand .vinesa-brand__tagline { display: none; }
}

@media (max-width: 575.98px) {
    .auth-layout { width: 100%; min-height: 100vh; margin: 0; border: 0; border-radius: 0; }
    .auth-layout__content { padding: 2rem 1.25rem 3rem; }
    .mfa-enrollment { grid-template-columns: 1fr; justify-items: center; text-align: center; }
    .recovery-grid { grid-template-columns: 1fr; }
}

/* Administrative application shell */
.admin-body { min-height: 100vh; margin: 0; background: #f8f5f3; color: #302725; font-family: Inter, "Segoe UI", Arial, sans-serif; }
.admin-shell { display: grid; min-height: 100vh; grid-template-columns: 16.25rem minmax(0, 1fr); }
.admin-sidebar {
    --bs-offcanvas-width: 16.25rem;
    position: sticky;
    z-index: 1045;
    top: 0;
    display: flex;
    height: 100vh;
    flex-direction: column;
    background:
        radial-gradient(circle at 100% 25%, rgb(255 255 255 / 7%), transparent 18rem),
        linear-gradient(165deg, #401611, #69241d 58%, #3d1511);
    color: #fff;
    box-shadow: 0.35rem 0 1.5rem rgb(68 20 16 / 8%);
}
.admin-sidebar__mobile-heading { display: none; }
.admin-sidebar__brand {
    display: flex;
    min-height: 7rem;
    padding: 1.8rem 1.5rem;
    border-bottom: 1px solid rgb(255 255 255 / 10%);
    align-items: center;
    justify-content: center;
    background: #fff;
    color: var(--vinesa-wine);
    text-decoration: none;
}
.admin-sidebar .vinesa-brand__image { width: 5rem; height: 5rem; }
.admin-sidebar__nav { display: grid; gap: 0.35rem; padding: 1.35rem 0.7rem; overflow-y: auto; scrollbar-color: rgb(255 255 255 / 24%) transparent; scrollbar-width: thin; }
.admin-nav-link {
    display: flex;
    min-height: 3.3rem;
    align-items: center;
    gap: 0.8rem;
    padding: 0.8rem 1rem;
    border-radius: 0.45rem;
    color: rgb(255 255 255 / 82%);
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
}
.admin-nav-link > span { display: grid; width: 1.35rem; height: 1.35rem; place-items: center; font-size: 1.15rem; }
.admin-nav-link:hover,
.admin-nav-link:focus { background: rgb(255 255 255 / 9%); color: #fff; }
.admin-nav-link--active { background: linear-gradient(105deg, #c7151d, #dc232a); box-shadow: 0 0.45rem 1rem rgb(28 4 3 / 18%); color: #fff; }
.admin-sidebar__logout { margin-top: auto; padding: 1.2rem; }
.admin-sidebar__logout button { display: flex; width: 100%; align-items: center; gap: 0.7rem; padding: 0.8rem; border: 0; background: transparent; color: #fff; font-size: 0.86rem; cursor: pointer; }
.admin-sidebar__login { margin-top: auto; padding: 2rem; color: #fff; font-size: 0.82rem; text-align: center; }
.admin-workspace { min-width: 0; }
.admin-topbar {
    position: sticky;
    z-index: 100;
    top: 0;
    display: flex;
    min-height: 5.4rem;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1rem clamp(1.2rem, 3vw, 2.8rem);
    border-bottom: 1px solid #eadfda;
    background: rgb(255 255 255 / 94%);
    backdrop-filter: blur(10px);
}
.admin-topbar__title { color: #716763; font-size: 0.78rem; }
.admin-user { display: flex; align-items: center; gap: 0.7rem; }
.admin-user__avatar { display: grid; width: 2.65rem; height: 2.65rem; border-radius: 50%; background: var(--vinesa-wine); color: #fff; font-family: Georgia, serif; place-items: center; }
.admin-user > span:last-child { display: grid; }
.admin-user strong { max-width: 16rem; overflow: hidden; color: #3a2b28; font-size: 0.78rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-user small { color: #817772; font-size: 0.68rem; }
.admin-user--anonymous { text-align: right; }
.admin-menu-button { display: none; width: 2.7rem; height: 2.7rem; padding: 0.55rem; border: 1px solid var(--vinesa-line); border-radius: 0.45rem; background: #fff; }
.admin-menu-button span { display: block; height: 2px; margin: 0.25rem 0; background: var(--vinesa-wine); }
.admin-main { padding: clamp(1.4rem, 3vw, 2.8rem); }
.admin-main .page-heading h1 { color: #351411; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 3vw, 2.8rem); font-weight: 500; }
.admin-main .page-kicker { color: var(--vinesa-red); }
.admin-main .app-card { border: 1px solid var(--vinesa-line); border-radius: 0.75rem; box-shadow: 0 0.6rem 2rem rgb(70 27 22 / 5%); }
.admin-main .btn-primary { --bs-btn-bg: var(--vinesa-red); --bs-btn-border-color: var(--vinesa-red); --bs-btn-hover-bg: var(--vinesa-red-dark); --bs-btn-hover-border-color: var(--vinesa-red-dark); }
.admin-main .btn-outline-primary { --bs-btn-color: var(--vinesa-red); --bs-btn-border-color: #d98c8f; --bs-btn-hover-bg: var(--vinesa-red); --bs-btn-hover-border-color: var(--vinesa-red); }
.admin-main .table { --bs-table-hover-bg: #fff9f7; }
.admin-main .table thead th { padding-block: 1rem; background: #fffaf8; color: #6c605c; border-bottom-color: var(--vinesa-line); }
.admin-main .table tbody td { padding-block: 0.95rem; border-bottom-color: #f0e7e3; }
.admin-main .table a { color: var(--vinesa-red-dark); }
.admin-footer { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; padding-top: 1.2rem; border-top: 1px solid var(--vinesa-line); color: #837873; font-size: 0.72rem; }
.admin-auth-guard {
    width: min(100%, 35rem);
    margin: clamp(1rem, 5vw, 4rem) auto;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border: 1px solid var(--vinesa-line);
    border-radius: 0.85rem;
    background: #fff;
    box-shadow: 0 1rem 3rem rgb(70 27 22 / 7%);
}
.admin-auth-guard__icon { display: grid; width: 3.5rem; height: 3.5rem; margin: 0 auto 1rem; border: 2px solid var(--vinesa-red); border-radius: 50%; color: var(--vinesa-red); font-size: 1.6rem; place-items: center; }
.admin-auth-guard__heading { margin-bottom: 1.5rem; text-align: center; }
.admin-auth-guard__heading h1 { margin-bottom: 0.65rem; }
.admin-auth-guard__heading p:last-child { margin: 0; color: var(--vinesa-muted); line-height: 1.55; }
.admin-auth-guard__cancel { display: block; margin-top: 1rem; color: var(--vinesa-red); font-size: 0.8rem; font-weight: 650; text-align: center; text-decoration: none; }

@media (min-width: 992px) {
    .admin-sidebar.offcanvas-lg { position: sticky; visibility: visible !important; transform: none !important; }
}

@media (max-width: 991.98px) {
    .admin-shell { display: block; }
    .admin-sidebar { position: fixed; }
    .admin-sidebar__mobile-heading { display: flex; min-height: 3rem; align-items: center; justify-content: space-between; padding: 0.7rem 1rem; border-bottom: 1px solid rgb(255 255 255 / 10%); font-size: 0.75rem; text-transform: uppercase; }
    .admin-sidebar__mobile-heading button { border: 0; background: transparent; color: #fff; font-size: 1.5rem; }
    .admin-sidebar__brand { min-height: auto; padding-block: 1.2rem; }
    .admin-menu-button { display: block; }
    .admin-topbar__title { display: none; }
}

@media (max-width: 575.98px) {
    .admin-user small { display: none; }
    .admin-user strong { max-width: 9rem; }
    .admin-main { padding-inline: 0.9rem; }
    .admin-footer { flex-direction: column; }
}

/* Administrative dashboards, reports and audit */
.admin-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; }
.admin-page-heading h1 { margin: 0 0 0.25rem; }
.admin-page-heading p:last-child { margin: 0; color: #776d69; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.15rem; margin-bottom: 1.4rem; }
.metric-card { position: relative; min-height: 9.25rem; padding: 1.35rem; overflow: hidden; border: 1px solid var(--vinesa-line); border-radius: 0.75rem; background: #fff; box-shadow: 0 0.6rem 2rem rgb(70 27 22 / 5%); }
.metric-card p { margin: 0 3.5rem 0.5rem 0; color: #554b47; font-size: 0.78rem; }
.metric-card strong { display: block; color: #241815; font-family: Georgia, "Times New Roman", serif; font-size: 2.25rem; font-weight: 500; line-height: 1; }
.metric-card small { display: block; margin-top: 0.8rem; color: #837773; font-size: 0.7rem; }
.metric-card__icon { position: absolute; top: 1.15rem; right: 1.15rem; display: grid; width: 3.15rem; height: 3.15rem; border-radius: 50%; background: #fbe9e8; color: var(--vinesa-red); font-size: 1.35rem; place-items: center; }
.metric-card--green .metric-card__icon { background: #e9f5ec; color: #287a3e; }
.metric-card--amber .metric-card__icon { background: #fff3df; color: #bc7413; }
.metric-card--red .metric-card__icon { background: #fdeaea; color: #c3262d; }
.metric-card--blue .metric-card__icon { background: #eaf1fd; color: #2664af; }
.admin-dashboard-grid { display: grid; grid-template-columns: minmax(0, 2.3fr) minmax(17rem, 0.7fr); gap: 1.15rem; }
.admin-data-card { overflow: visible; }
.admin-data-card .table-responsive { min-height: 18rem; overflow-x: auto; }
.admin-data-card__header { display: flex; min-height: 5.25rem; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.35rem; border-bottom: 1px solid var(--vinesa-line); }
.admin-data-card__header .page-kicker { margin-bottom: 0.2rem; }
.admin-data-card__header h2,
.attention-card h2,
.audit-detail h2 { margin: 0; color: #351411; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; font-weight: 500; }
.admin-data-card__header a { color: var(--vinesa-red); font-size: 0.76rem; font-weight: 650; text-decoration: none; }
.admin-data-card .table th:first-child,
.admin-data-card .table td:first-child { padding-left: 1.35rem; }
.admin-data-card .table th:last-child,
.admin-data-card .table td:last-child { padding-right: 1.35rem; }
.status-badge { display: inline-block; padding: 0.38rem 0.62rem; border: 1px solid #d9d2cf; border-radius: 0.35rem; background: #f6f3f2; color: #665d59; font-size: 0.66rem; font-weight: 750; text-transform: uppercase; white-space: nowrap; }
.status-badge--under_review,
.status-badge--awaiting_information,
.status-badge--extended { border-color: #bfe1c6; background: #ebf7ed; color: #227238; }
.status-badge--responded,
.status-badge--closed { border-color: #b8d5f3; background: #edf5fd; color: #245d98; }
.status-summary ul { margin: 0; padding: 0.5rem 1.35rem; list-style: none; }
.status-summary li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.85rem 0; border-bottom: 1px solid #f0e7e3; color: #635955; font-size: 0.78rem; }
.status-summary li strong { display: grid; min-width: 2rem; height: 2rem; border-radius: 50%; background: #fbefec; color: var(--vinesa-red-dark); place-items: center; }
.status-summary__note { margin: auto 1.35rem 1.2rem; color: #8c817d; font-size: 0.68rem; }
.filter-panel { margin-bottom: 1.4rem; padding: 1.25rem; }
.filter-grid { display: grid; grid-template-columns: repeat(5, minmax(8rem, 1fr)) auto; align-items: end; gap: 0.9rem; }
.filter-grid--audit { grid-template-columns: repeat(3, minmax(10rem, 1fr)); }
.filter-grid label { color: #554b47; font-size: 0.72rem; font-weight: 650; }
.filter-grid .form-control,
.filter-grid .form-select { min-height: 2.75rem; margin-top: 0.4rem; border-color: #ded4d0; font-size: 0.78rem; }
.filter-actions { display: flex; justify-content: flex-end; gap: 0.55rem; }
.metric-grid--reports { margin-top: 0; }
.report-visual-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(19rem, 0.85fr); gap: 1.15rem; margin-bottom: 1.15rem; }
.report-chart-card { min-height: 22rem; }
.monthly-chart { display: flex; min-height: 16rem; align-items: stretch; gap: clamp(0.45rem, 2vw, 1rem); padding: 1.25rem 1.35rem 1rem; }
.monthly-chart__column { display: grid; min-width: 2.8rem; flex: 1; grid-template-rows: 1.5rem 1fr 2rem; justify-items: center; gap: 0.35rem; }
.monthly-chart__column > strong { color: #4d403c; font-size: 0.72rem; }
.monthly-chart__track { position: relative; display: block; width: min(100%, 3.2rem); height: 100%; overflow: hidden; border-radius: 0.35rem 0.35rem 0 0; background: #f5e9e6; }
.monthly-chart__track i { position: absolute; right: 0; bottom: 0; left: 0; height: max(var(--bar-height), 0.25rem); border-radius: 0.35rem 0.35rem 0 0; background: linear-gradient(180deg, #d9272e, var(--vinesa-red-dark)); }
.monthly-chart time { color: #7d716d; font-size: 0.66rem; text-align: center; text-transform: capitalize; }
.chart-empty { align-self: center; margin: auto; color: var(--vinesa-muted); font-size: 0.8rem; }
.distribution-chart { display: grid; min-height: 16rem; align-items: center; padding: 1.25rem 1.35rem; grid-template-columns: 11rem 1fr; gap: 1.5rem; }
.distribution-chart__donut { display: grid; width: 11rem; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(#3c914f 0 var(--finalized), #efaa2f var(--finalized) var(--in-process-end), #4e82ce var(--in-process-end) 100%); place-items: center; }
.distribution-chart__donut--empty { background: #e9e4e2; }
.distribution-chart__donut::before { width: 62%; aspect-ratio: 1; border-radius: 50%; background: #fff; content: ""; grid-area: 1 / 1; }
.distribution-chart__donut > span { display: grid; z-index: 1; grid-area: 1 / 1; text-align: center; }
.distribution-chart__donut strong { color: #352824; font-family: Georgia, serif; font-size: 1.8rem; font-weight: 500; }
.distribution-chart__donut small { color: #817672; font-size: 0.68rem; }
.distribution-chart ul { display: grid; gap: 0.8rem; margin: 0; padding: 0; list-style: none; }
.distribution-chart li { display: grid; align-items: center; grid-template-columns: 0.65rem 1fr auto; gap: 0.45rem; color: #6d625e; font-size: 0.72rem; }
.distribution-chart li strong { color: #3e3431; font-size: 0.7rem; }
.distribution-chart__key { width: 0.6rem; height: 0.6rem; border-radius: 0.15rem; background: #4e82ce; }
.distribution-chart__key--finalized { background: #3c914f; }
.distribution-chart__key--process { background: #efaa2f; }
.report-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(15rem, 0.8fr); gap: 1.15rem; }
.completion { display: flex; align-items: center; gap: 0.65rem; min-width: 8rem; }
.completion > span { display: block; width: 5rem; height: 0.4rem; overflow: hidden; border-radius: 1rem; background: #eee9e7; }
.completion i { display: block; height: 100%; border-radius: inherit; background: #48945b; }
.completion strong { margin-left: auto; font-size: 0.72rem; }
.attention-card { padding: 1.4rem; }
.attention-card > strong { display: block; margin: 2rem 0 0.4rem; color: var(--vinesa-red-dark); font-family: Georgia, serif; font-size: 2.2rem; font-weight: 500; }
.attention-card > p:last-child { color: #817672; font-size: 0.76rem; line-height: 1.55; }
.audit-layout { display: grid; grid-template-columns: 1fr; gap: 1.15rem; }
.audit-layout--detail { grid-template-columns: minmax(0, 2fr) minmax(18rem, 0.8fr); }
.audit-detail { padding: 1.35rem; }
.audit-detail header { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--vinesa-line); }
.audit-detail header > a { color: #756b67; font-size: 1.5rem; line-height: 1; text-decoration: none; }
.audit-detail dl { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 0.8rem; margin: 1.2rem 0 0; font-size: 0.74rem; }
.audit-detail dt { color: #817672; font-weight: 500; }
.audit-detail dd { margin: 0; color: #3e3431; }
.table-pagination { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.35rem; border-top: 1px solid var(--vinesa-line); color: #817672; font-size: 0.72rem; }
.table-pagination > div { display: flex; gap: 0.5rem; }
.assignment-filter-grid { display: grid; grid-template-columns: 2fr 1fr 1fr auto; align-items: end; gap: 0.9rem; }
.assignment-filter-grid label { color: #554b47; font-size: 0.72rem; font-weight: 650; }
.assignment-filter-grid .form-control,
.assignment-filter-grid .form-select { min-height: 2.75rem; margin-top: 0.4rem; border-color: #ded4d0; font-size: 0.78rem; }
.assignment-filter-grid--advanced { grid-template-columns: minmax(14rem, 2fr) repeat(3, minmax(8rem, 1fr)); }
.assignment-filter-grid--advanced .filter-actions { justify-self: end; }
.assignment-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(17rem, 0.8fr); gap: 1.15rem; }
.assignment-table-heading { border-bottom: 1px solid var(--vinesa-line); }
.bulk-assignment { display: grid; align-items: center; padding: 0.8rem 1.35rem; border-bottom: 1px solid var(--vinesa-line); background: #fffaf8; grid-template-columns: auto minmax(13rem, 1fr) auto; gap: 0.75rem; }
.bulk-assignment > span { color: #6f625e; font-size: 0.72rem; white-space: nowrap; }
.bulk-assignment > span strong { color: var(--vinesa-red); }
.bulk-assignment .form-select { min-height: 2.45rem; border-color: #ded4d0; font-size: 0.74rem; }
.bulk-assignment__feedback { min-height: 0; margin: 0; grid-column: 1 / -1; color: #6f625e; font-size: 0.7rem; }
.bulk-assignment__feedback:empty { display: none; }
.bulk-assignment__feedback--success { color: #287a3e; }
.bulk-assignment__feedback--error { color: #b51f26; }
.selection-cell { width: 2.5rem; text-align: center; }
.selection-cell input { width: 1rem; height: 1rem; accent-color: var(--vinesa-red); }
.workload-card ul { margin: 0; padding: 0.65rem 1.35rem; list-style: none; }
.workload-card li { display: grid; grid-template-columns: 1fr auto; gap: 0.5rem 0.8rem; padding: 0.8rem 0; border-bottom: 1px solid #f0e7e3; }
.workload-card li > div:first-child { display: grid; }
.workload-card li strong { overflow: hidden; font-size: 0.74rem; text-overflow: ellipsis; white-space: nowrap; }
.workload-card li span,
.workload-card li small { color: #837773; font-size: 0.66rem; }
.workload-meter { grid-column: 1; height: 0.32rem; overflow: hidden; border-radius: 1rem; background: #eee9e7; }
.workload-meter i { display: block; height: 100%; border-radius: inherit; background: var(--vinesa-red); }
.metric-grid--compact .metric-card { min-height: 8rem; }
.case-filter-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr) auto; align-items: end; gap: 0.9rem; }
.case-filter-grid label,
.user-filter-grid label { color: #554b47; font-size: 0.72rem; font-weight: 650; }
.case-filter-grid .form-control,
.case-filter-grid .form-select,
.user-filter-grid .form-control,
.user-filter-grid .form-select { min-height: 2.75rem; margin-top: 0.4rem; border-color: #ded4d0; font-size: 0.78rem; }
.case-detail-heading { margin-bottom: 1.15rem; }
.case-detail-heading > a { color: var(--vinesa-red); font-size: 0.76rem; text-decoration: none; }
.case-detail-heading > div { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-top: 1.2rem; }
.case-detail-heading h1 { margin: 0; color: #351411; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 3vw, 2.8rem); font-weight: 500; }
.case-tabs { display: flex; gap: 1.8rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--vinesa-line); }
.case-tabs a { padding: 0.7rem 0; color: #6c625e; font-size: 0.76rem; text-decoration: none; }
.case-tabs a.active { margin-bottom: -1px; border-bottom: 2px solid var(--vinesa-red); color: var(--vinesa-red); font-weight: 700; }
.case-detail-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(19rem, 0.75fr); gap: 1.15rem; }
.case-detail-layout > div,
.case-detail-layout > aside { display: grid; align-content: start; gap: 1.15rem; }
.case-summary,
.case-section,
.workflow-card,
.timeline-card { padding: 1.35rem; }
.case-summary header,
.case-section header,
.workflow-card header,
.timeline-card header { margin-bottom: 1rem; padding-bottom: 0.85rem; border-bottom: 1px solid var(--vinesa-line); }
.case-summary header h2,
.case-section header h2,
.workflow-card header h2,
.timeline-card header h2 { margin: 0; color: #351411; font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; font-weight: 500; }
.case-summary dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; }
.case-summary dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.85rem; border-bottom: 1px solid #f0e7e3; }
.case-summary dt { color: #7a706c; font-size: 0.72rem; font-weight: 500; }
.case-summary dd { margin: 0; font-size: 0.76rem; text-align: right; }
.case-section h3 { margin: 1.5rem 0 1rem; color: #4a302c; font-family: Georgia, serif; font-size: 1.1rem; }
.case-request-text { margin: 0; color: #4f4642; line-height: 1.7; white-space: pre-wrap; }
.privacy-restriction { padding: 1rem; border: 1px solid #efd9d3; border-radius: 0.5rem; background: #fff8f6; color: #73534c; font-size: 0.78rem; }
.case-record-list { display: grid; gap: 0.75rem; }
.case-record-list article { display: grid; align-items: center; padding: 0.85rem; border: 1px solid #eee3df; border-radius: 0.5rem; background: #fffdfc; grid-template-columns: minmax(8rem, 1fr) minmax(12rem, 1.4fr) auto; gap: 0.8rem; }
.case-record-list article > div { display: grid; }
.case-record-list article strong { color: #493d39; font-size: 0.76rem; }
.case-record-list article small { color: #8b807c; font-size: 0.66rem; }
.case-record-list dl { display: grid; margin: 0; grid-template-columns: auto 1fr; gap: 0.2rem 0.6rem; font-size: 0.68rem; }
.case-record-list dt { color: #817672; font-weight: 500; }
.case-record-list dd { margin: 0; }
.case-empty-state { margin: 0; color: #837773; font-size: 0.74rem; }
.case-links-card,
.case-deadline-card { padding: 1.35rem; }
.case-links-card header,
.case-deadline-card header { margin-bottom: 1rem; padding-bottom: 0.85rem; border-bottom: 1px solid var(--vinesa-line); }
.case-links-card h2,
.case-deadline-card h2 { margin: 0; color: #351411; font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; font-weight: 500; }
.case-links-card > div { display: grid; gap: 0.55rem; }
.case-links-card a { display: grid; padding: 0.75rem; border: 1px solid #eee3df; border-radius: 0.5rem; color: #493d39; text-decoration: none; grid-template-columns: 1.8rem 1fr; }
.case-links-card a > span { grid-row: span 2; color: var(--vinesa-red); }
.case-links-card a strong { font-size: 0.74rem; }
.case-links-card a small { color: #837773; font-size: 0.66rem; }
.case-deadline-card ul { display: grid; gap: 0.65rem; margin: 0; padding: 0; list-style: none; }
.case-deadline-card li { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; padding-bottom: 0.65rem; border-bottom: 1px solid #f0e7e3; }
.case-deadline-card li > div { display: grid; }
.case-deadline-card li strong { font-size: 0.72rem; }
.case-deadline-card li small { color: #837773; font-size: 0.64rem; }
.workflow-card > div { display: grid; gap: 0.7rem; }
.workflow-card > div > p { margin: 0; color: #837773; font-size: 0.76rem; }
.timeline-card ol { margin: 0; padding: 0; list-style: none; }
.timeline-card li { position: relative; display: grid; grid-template-columns: 1rem 1fr; gap: 0.7rem; padding-bottom: 1.15rem; }
.timeline-card li::before { position: absolute; top: 0.8rem; bottom: -0.1rem; left: 0.34rem; width: 1px; background: #e4d8d3; content: ""; }
.timeline-card li:last-child::before { display: none; }
.timeline-card li > span { position: relative; z-index: 1; width: 0.75rem; height: 0.75rem; margin-top: 0.2rem; border: 2px solid var(--vinesa-red); border-radius: 50%; background: #fff; }
.timeline-card li > div { display: grid; }
.timeline-card li strong { color: #493d39; font-size: 0.76rem; }
.timeline-card li small { color: #8b807c; font-size: 0.66rem; }
.timeline-card li p { margin: 0.25rem 0 0; color: #756a66; font-size: 0.7rem; }
.user-filter-grid { display: grid; grid-template-columns: 2fr 1fr 1fr auto; align-items: end; gap: 0.9rem; }
.user-cell { display: flex; align-items: center; gap: 0.6rem; }
.user-cell > span { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; border: 1px solid #f0c9c6; border-radius: 50%; background: #fff0ef; color: var(--vinesa-red); font-size: 0.7rem; font-weight: 750; place-items: center; }
.user-cell strong { font-size: 0.75rem; font-weight: 650; white-space: nowrap; }
.role-badge { display: inline-block; padding: 0.32rem 0.5rem; border: 1px solid #d6cfcf; border-radius: 0.3rem; background: #f6f3f2; color: #5e5552; font-size: 0.62rem; font-weight: 750; text-transform: uppercase; }
.role-badge--admin { border-color: #efb6b6; background: #fff0f0; color: #a51e24; }
.role-badge--dpd { border-color: #dac2ed; background: #f7effc; color: #69408c; }
.role-badge--responsable { border-color: #b9d3f1; background: #edf5fd; color: #286298; }
.role-badge--operador { border-color: #f2d4a9; background: #fff7e8; color: #a46213; }
.mfa-state { color: #a46213; font-size: 0.68rem; white-space: nowrap; }
.mfa-state--on { color: #2c7d42; }
.row-actions { position: relative; display: inline-block; }
.row-actions[open] { z-index: 1050; }
.row-actions summary { width: 2.2rem; padding: 0.35rem; border: 1px solid #e0d8d5; border-radius: 0.4rem; cursor: pointer; list-style: none; text-align: center; background: #fff; user-select: none; transition: border-color 0.15s ease, background-color 0.15s ease; }
.row-actions summary:hover,
.row-actions[open] summary { border-color: var(--vinesa-red); background: #fff6f3; color: var(--vinesa-red); }
.row-actions summary::-webkit-details-marker { display: none; }
.row-actions > div { position: absolute; z-index: 1050; top: calc(100% + 0.35rem); right: 0; display: grid; min-width: 13.5rem; padding: 0.45rem; border: 1px solid var(--vinesa-line); border-radius: 0.5rem; background: #fff; box-shadow: 0 0.8rem 2.2rem rgba(70, 27, 22, 0.18); }
.row-actions.dropup > div,
.row-actions--dropup > div { top: auto; bottom: calc(100% + 0.35rem); }
.row-actions a,
.row-actions button { display: block; width: 100%; padding: 0.55rem 0.65rem; border: 0; border-radius: 0.3rem; background: transparent; color: #4c403c; font-size: 0.72rem; text-align: left; text-decoration: none; cursor: pointer; transition: background-color 0.12s ease, color 0.12s ease; }
.row-actions a:hover,
.row-actions button:hover { background: #fff6f3; color: var(--vinesa-red); }
.settings-tabs { display: flex; gap: 1.7rem; margin-bottom: 1.25rem; overflow-x: auto; border-bottom: 1px solid var(--vinesa-line); }
.settings-tabs a { flex: 0 0 auto; padding: 0.7rem 0; color: #6f6561; font-size: 0.74rem; text-decoration: none; }
.settings-tabs a.active { margin-bottom: -1px; border-bottom: 2px solid var(--vinesa-red); color: var(--vinesa-red); font-weight: 700; }
.settings-form { display: grid; gap: 1.15rem; }
.settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem; }
.settings-card { padding: 1.35rem; }
.settings-card > header { margin-bottom: 1.15rem; padding-bottom: 0.85rem; border-bottom: 1px solid var(--vinesa-line); }
.settings-card > header h2 { margin: 0; color: #351411; font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; font-weight: 500; }
.settings-card__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.settings-card__grid--three { grid-template-columns: 1fr 1fr; }
.settings-card__full { grid-column: 1 / -1; }
.admin-form-field { min-width: 0; }
.admin-form-field > label { display: block; margin-bottom: 0.4rem; color: #4e4440; font-size: 0.72rem; font-weight: 650; }
.admin-form-field > label span { color: var(--vinesa-red); }
.admin-form-field input,
.admin-form-field select,
.admin-form-field textarea { display: block; width: 100%; min-height: 2.75rem; padding: 0.6rem 0.75rem; border: 1px solid #ded4d0; border-radius: 0.4rem; background: #fff; color: #302725; font-size: 0.78rem; }
.admin-form-field textarea { min-height: 5.5rem; resize: vertical; }
.admin-form-field input:focus,
.admin-form-field select:focus,
.admin-form-field textarea:focus { border-color: var(--vinesa-red); outline: 0; box-shadow: 0 0 0 0.2rem rgb(201 20 28 / 10%); }
.admin-form-field > small { display: block; margin-top: 0.3rem; color: #8a7f7b; font-size: 0.65rem; }
.admin-form-field--error input,
.admin-form-field--error select,
.admin-form-field--error textarea { border-color: #c82a31; }
.admin-form-field__error { margin-top: 0.3rem; color: #b51f26; font-size: 0.68rem; }
.settings-actions { position: sticky; z-index: 10; bottom: 0; display: flex; justify-content: flex-end; gap: 0.7rem; padding: 1rem; border: 1px solid var(--vinesa-line); border-radius: 0.65rem; background: rgb(255 253 252 / 94%); backdrop-filter: blur(10px); }
.communication-composer { margin-bottom: 1.15rem; overflow: hidden; }
.communication-composer > summary { padding: 1rem 1.25rem; color: var(--vinesa-red); cursor: pointer; font-size: 0.8rem; font-weight: 700; }
.communication-composer > div { padding: 0 1.25rem 1.25rem; }
.composer-tabs { display: flex; gap: 0.5rem; margin-bottom: 1rem; }
.composer-tabs button { padding: 0.55rem 0.8rem; border: 1px solid var(--vinesa-line); border-radius: 0.4rem; background: #fff8f6; color: #604641; font-size: 0.7rem; }
.composer-form { display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 0.9rem; }
.composer-form label { color: #554b47; font-size: 0.72rem; font-weight: 650; }
.composer-form input:not([type="checkbox"]),
.composer-form select,
.composer-form textarea { display: block; width: 100%; min-height: 2.75rem; margin-top: 0.35rem; padding: 0.6rem 0.75rem; border: 1px solid #ded4d0; border-radius: 0.4rem; background: #fff; font-size: 0.78rem; }
.composer-form__full { grid-column: 1 / -1; }
.composer-check { display: flex; align-items: center; gap: 0.5rem; }
.communication-filter-grid,
.retention-filter-grid { display: grid; grid-template-columns: repeat(3, 1fr) auto; align-items: end; gap: 0.9rem; }
.communication-filter-grid label,
.retention-filter-grid label { color: #554b47; font-size: 0.72rem; font-weight: 650; }
.communication-filter-grid .form-control,
.communication-filter-grid .form-select,
.retention-filter-grid .form-control,
.retention-filter-grid .form-select { min-height: 2.75rem; margin-top: 0.4rem; border-color: #ded4d0; font-size: 0.78rem; }
.retention-warning { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 1.15rem; padding: 0.85rem 1rem; border: 1px solid #efd5ae; border-radius: 0.55rem; background: #fff9ed; color: #785526; font-size: 0.74rem; }
.retention-warning span { display: grid; width: 1.7rem; height: 1.7rem; flex: 0 0 auto; border-radius: 50%; background: #d78b25; color: #fff; font-weight: 800; place-items: center; }
.retention-warning p { margin: 0; }
.retention-actions { display: flex; gap: 0.4rem; }
.evidence-recorder { margin-bottom: 1.15rem; overflow: hidden; }
.evidence-recorder > summary { padding: 1rem 1.25rem; color: var(--vinesa-red); cursor: pointer; font-size: 0.8rem; font-weight: 700; }
.evidence-recorder form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 0.9rem; padding: 0 1.25rem 1.25rem; }
.evidence-recorder label { color: #554b47; font-size: 0.72rem; font-weight: 650; }
.evidence-recorder select,
.evidence-recorder textarea { display: block; width: 100%; min-height: 2.75rem; margin-top: 0.35rem; padding: 0.6rem 0.75rem; border: 1px solid #ded4d0; border-radius: 0.4rem; background: #fff; font-size: 0.78rem; }
.evidence-recorder__full { grid-column: 1 / -1; }
.evidence-layout { display: grid; gap: 1.15rem; }
.legal-management-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(15rem, 0.8fr); gap: 1.15rem; margin-bottom: 1.15rem; }
.legal-editor { padding: 1.35rem; }
.legal-editor > header { margin-bottom: 1.1rem; padding-bottom: 0.85rem; border-bottom: 1px solid var(--vinesa-line); }
.legal-editor h2 { margin: 0; color: #351411; font-family: Georgia, serif; font-size: 1.3rem; font-weight: 500; }
.legal-editor__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem; margin-bottom: 1rem; }
.legal-editor label { color: #554b47; font-size: 0.72rem; font-weight: 650; }
.legal-editor input,
.legal-editor select,
.legal-editor textarea { display: block; width: 100%; min-height: 2.75rem; margin-top: 0.35rem; padding: 0.6rem 0.75rem; border: 1px solid #ded4d0; border-radius: 0.4rem; background: #fff; font-family: inherit; font-size: 0.78rem; }
.legal-editor textarea { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.legal-editor small { display: block; margin-top: 0.3rem; color: #8a7f7b; font-size: 0.64rem; }
.legal-editor__full { grid-column: 1 / -1; }
.legal-guidance { display: grid; align-content: start; gap: 0.8rem; }
.legal-version-list td:first-child { display: grid; }
.legal-version-list td:first-child small { color: #857a76; font-size: 0.65rem; }

@media (max-width: 1199.98px) {
    .metric-grid { grid-template-columns: repeat(2, 1fr); }
    .filter-grid { grid-template-columns: repeat(3, 1fr); }
    .audit-layout--detail { grid-template-columns: 1fr; }
    .assignment-filter-grid { grid-template-columns: 2fr 1fr 1fr; }
    .assignment-filter-grid--advanced { grid-template-columns: repeat(3, 1fr); }
    .assignment-filter-grid--advanced .assignment-filter-search { grid-column: span 2; }
    .assignment-filter-grid .filter-actions { grid-column: 1 / -1; }
    .case-filter-grid { grid-template-columns: 2fr 1fr 1fr; }
    .case-filter-grid .filter-actions { grid-column: 1 / -1; }
}

@media (max-width: 767.98px) {
    .admin-page-heading { align-items: flex-start; flex-direction: column; }
    .admin-dashboard-grid,
    .report-grid,
    .report-visual-grid { grid-template-columns: 1fr; }
    .distribution-chart { grid-template-columns: auto 1fr; }
    .assignment-layout { grid-template-columns: 1fr; }
    .bulk-assignment { grid-template-columns: auto 1fr; }
    .bulk-assignment .btn { grid-column: 1 / -1; }
    .case-detail-layout { grid-template-columns: 1fr; }
    .settings-grid { grid-template-columns: 1fr; }
    .legal-management-layout { grid-template-columns: 1fr; }
    .composer-form { grid-template-columns: 1fr 1fr; }
    .user-filter-grid { grid-template-columns: 1fr 1fr; }
    .user-filter-grid .filter-actions { grid-column: 1 / -1; }
    .filter-grid,
    .filter-grid--audit { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 479.98px) {
    .metric-grid,
    .filter-grid,
    .filter-grid--audit { grid-template-columns: 1fr; }
    .assignment-filter-grid { grid-template-columns: 1fr; }
    .assignment-filter-grid--advanced .assignment-filter-search { grid-column: auto; }
    .assignment-filter-grid--advanced .filter-actions { justify-self: stretch; }
    .assignment-filter-grid .filter-actions { grid-column: auto; }
    .case-filter-grid,
    .user-filter-grid { grid-template-columns: 1fr; }
    .case-filter-grid .filter-actions,
    .user-filter-grid .filter-actions { grid-column: auto; }
    .case-detail-heading > div { align-items: flex-start; flex-direction: column; }
    .case-tabs { gap: 1rem; overflow-x: auto; }
    .case-summary dl { grid-template-columns: 1fr; }
    .case-record-list article { grid-template-columns: 1fr; }
    .settings-card__grid,
    .settings-card__grid--three { grid-template-columns: 1fr; }
    .settings-card__full { grid-column: auto; }
    .composer-form,
    .communication-filter-grid,
    .retention-filter-grid { grid-template-columns: 1fr; }
    .composer-form__full { grid-column: auto; }
    .evidence-recorder form { grid-template-columns: 1fr; }
    .evidence-recorder__full { grid-column: auto; }
    .legal-editor__grid { grid-template-columns: 1fr; }
    .legal-editor__full { grid-column: auto; }
    .monthly-chart { overflow-x: auto; }
    .monthly-chart__column { min-width: 3rem; }
    .distribution-chart { grid-template-columns: 1fr; justify-items: center; }
    .bulk-assignment { grid-template-columns: 1fr; }
    .bulk-assignment .btn,
    .bulk-assignment__feedback { grid-column: auto; }
    .distribution-chart ul { width: 100%; }
    .filter-actions { justify-content: stretch; }
    .filter-actions .btn { flex: 1; }
}

/* Cookie Notice Banner (LOPDP Compliance) */
.cookie-banner {
    position: fixed;
    z-index: 1050;
    bottom: 1.5rem;
    left: 50%;
    transform: translate(-50%, 120%);
    width: min(94vw, 56rem);
    background: rgb(255 253 252 / 96%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--vinesa-line);
    border-radius: 1rem;
    box-shadow: 0 1rem 2.5rem -0.5rem rgb(45 21 18 / 18%), 0 0.25rem 0.75rem rgb(45 21 18 / 6%);
    opacity: 0;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease;
    pointer-events: none;
}

.cookie-banner[hidden] {
    display: none !important;
}

.cookie-banner--visible {
    opacity: 1;
    transform: translate(-50%, 0);
    pointer-events: auto;
}

.cookie-banner--hiding {
    opacity: 0;
    transform: translate(-50%, 120%);
}

.cookie-banner__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1.25rem;
    padding: 1.15rem 1.5rem;
}

.cookie-banner__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background: var(--vinesa-blush);
    color: var(--vinesa-red);
    flex-shrink: 0;
}

.cookie-banner__content {
    min-width: 0;
}

.cookie-banner__title {
    margin: 0 0 0.25rem 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--vinesa-wine);
}

.cookie-banner__text {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.45;
    color: var(--vinesa-muted);
}

.cookie-banner__link {
    color: var(--vinesa-red);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cookie-banner__link:hover {
    color: var(--vinesa-red-dark);
}

.cookie-banner__actions {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-shrink: 0;
}

.cookie-banner__btn-accept {
    background-color: var(--vinesa-red) !important;
    border-color: var(--vinesa-red) !important;
    color: #fff !important;
    font-weight: 600;
    padding: 0.45rem 1.1rem;
    border-radius: 0.5rem;
    box-shadow: 0 2px 6px rgb(200 57 60 / 25%);
    transition: all 0.2s ease;
}

.cookie-banner__btn-accept:hover {
    background-color: var(--vinesa-red-dark) !important;
    border-color: var(--vinesa-red-dark) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgb(200 57 60 / 35%);
}

.cookie-banner__btn-info {
    border-color: var(--vinesa-line) !important;
    color: var(--vinesa-ink) !important;
    background-color: #fff !important;
    font-weight: 500;
    padding: 0.45rem 0.9rem;
    border-radius: 0.5rem;
}

.cookie-banner__btn-info:hover {
    background-color: var(--vinesa-blush) !important;
    border-color: var(--vinesa-red) !important;
    color: var(--vinesa-wine) !important;
}

@media (max-width: 767.98px) {
    .cookie-banner {
        bottom: 1rem;
        width: calc(100vw - 1.5rem);
    }

    .cookie-banner__inner {
        grid-template-columns: 1fr;
        gap: 0.9rem;
        padding: 1rem 1.15rem;
    }

    .cookie-banner__icon {
        display: none;
    }

    .cookie-banner__actions {
        width: 100%;
        justify-content: flex-end;
    }

    .cookie-banner__actions .btn {
        flex: 1;
    }
}

/* -------------------------------------------------------------------------
   Branding & Identity visual settings
------------------------------------------------------------------------- */
.branding-assets-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    margin-bottom: 1.5rem;
}

.branding-asset-card {
    background: #faf8f7;
    border: 1px solid var(--vinesa-line);
    border-radius: 0.5rem;
    padding: 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.branding-asset-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.branding-asset-card__title {
    font-weight: 600;
    font-size: 0.82rem;
    color: #351411;
}

.branding-preview-box {
    background: #ffffff;
    border: 1px dashed #ded4d0;
    border-radius: 0.4rem;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100px;
    max-height: 140px;
}

.branding-preview-box__img {
    max-height: 70px;
    max-width: 100%;
    object-fit: contain;
}

.branding-preview-box--favicon {
    min-height: 75px;
    max-height: 90px;
}

.branding-preview-box__favicon {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.branding-advanced-url {
    margin-top: 0.6rem;
    font-size: 0.72rem;
    color: #655e5b;
}

.branding-advanced-url summary {
    cursor: pointer;
    margin-bottom: 0.4rem;
    user-select: none;
    font-weight: 500;
    color: var(--vinesa-wine);
}

.branding-colors-section {
    border-top: 1px solid var(--vinesa-line);
    padding-top: 1.25rem;
    margin-top: 0.5rem;
}

.branding-colors-heading {
    margin: 0 0 0.85rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.05rem;
    font-weight: 500;
    color: #351411;
}

.branding-colors-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1.15rem;
}

.color-picker-wrapper {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.color-picker-wrapper .color-picker-input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 3rem;
    height: 2.75rem;
    min-height: 2.75rem;
    padding: 0;
    border: 1px solid #ded4d0;
    border-radius: 0.4rem;
    cursor: pointer;
    background: transparent;
    flex-shrink: 0;
}

.color-picker-wrapper .color-hex-input {
    width: auto;
    min-width: 0;
    flex: 1 1 auto;
}

.color-picker-input::-webkit-color-swatch-wrapper {
    padding: 2px;
}

.color-picker-input::-webkit-color-swatch {
    border: none;
    border-radius: 0.25rem;
}

.color-hex-input {
    font-family: monospace;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.branding-palette-preview {
    background: #faf8f7;
    border: 1px solid var(--vinesa-line);
    border-radius: 0.4rem;
    padding: 0.85rem 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.branding-palette-preview__label {
    font-size: 0.72rem;
    font-weight: 600;
    color: #655e5b;
}

.branding-palette-bar {
    display: flex;
    height: 2.2rem;
    border-radius: 0.35rem;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.branding-palette-bar__segment {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 600;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
    transition: background-color 0.2s ease;
}

@media (max-width: 991px) {
    .branding-assets-grid,
    .branding-colors-grid {
        grid-template-columns: 1fr;
    }
}

/* Dynamic tenant palette -------------------------------------------------- */
body,
.admin-body,
.auth-page {
    background: var(--theme-background);
}

.public-header,
.public-nav,
.portal-panel,
.confirmation-reference,
.tracking-result,
.legal-document,
.information-card,
.notice-card,
.contact-card,
.process-panel,
.provisional-contact,
.auth-layout,
.metric-card,
.admin-main .app-card,
.admin-auth-guard,
.row-actions > div,
.branding-preview-box,
.recovery-grid li,
.mfa-enrollment img {
    background: var(--theme-surface);
}

.hero {
    background:
        radial-gradient(circle at 82% 36%, var(--theme-primary-soft), transparent 22rem),
        linear-gradient(122deg, var(--theme-surface) 0%, var(--theme-secondary-soft) 100%);
}

.portal-page,
.information-page {
    background:
        radial-gradient(circle at 90% 8%, var(--theme-primary-soft), transparent 22rem),
        linear-gradient(180deg, var(--theme-surface-muted), var(--theme-surface) 22rem);
}

.institutional-intro,
.rights-section {
    background: var(--theme-surface);
}

.public-footer {
    background: linear-gradient(
        120deg,
        var(--vinesa-wine),
        color-mix(in srgb, var(--vinesa-wine) 72%, var(--vinesa-red))
    );
}

.button--primary {
    background: linear-gradient(135deg, var(--vinesa-red), var(--vinesa-red-dark));
    box-shadow: 0 0.5rem 1.25rem color-mix(in srgb, var(--vinesa-red) 18%, transparent);
}

.button--primary:active,
.admin-main .btn-primary:active {
    border-color: var(--theme-active);
    background: var(--theme-active);
}

.button--secondary,
.public-field .form-control,
.public-field .form-select,
.admin-form-field input,
.admin-form-field select,
.admin-form-field textarea,
.filter-grid .form-control,
.filter-grid .form-select,
.assignment-filter-grid .form-control,
.assignment-filter-grid .form-select,
.case-filter-grid .form-control,
.case-filter-grid .form-select,
.user-filter-grid .form-control,
.user-filter-grid .form-select,
.composer-form input:not([type="checkbox"]),
.composer-form select,
.composer-form textarea,
.communication-filter-grid .form-control,
.communication-filter-grid .form-select,
.retention-filter-grid .form-control,
.retention-filter-grid .form-select,
.evidence-recorder select,
.evidence-recorder textarea,
.legal-editor input,
.legal-editor select,
.legal-editor textarea,
.color-picker-wrapper .color-picker-input {
    border-color: var(--theme-border);
    background-color: var(--theme-surface);
}

.public-field .form-control:focus,
.public-field .form-select:focus,
.admin-form-field input:focus,
.admin-form-field select:focus,
.admin-form-field textarea:focus {
    border-color: var(--theme-active);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--theme-active) 18%, transparent);
}

.auth-layout__brand {
    background: linear-gradient(145deg, var(--theme-surface), var(--theme-primary-soft));
}

.admin-sidebar {
    background:
        radial-gradient(circle at 100% 25%, color-mix(in srgb, white 9%, transparent), transparent 18rem),
        linear-gradient(
            165deg,
            var(--vinesa-wine),
            color-mix(in srgb, var(--vinesa-wine) 72%, var(--vinesa-red)) 58%,
            color-mix(in srgb, var(--vinesa-wine) 82%, black)
        );
}

.admin-nav-link--active {
    background: linear-gradient(105deg, var(--theme-active), var(--vinesa-red));
    box-shadow: 0 0.45rem 1rem color-mix(in srgb, var(--theme-active) 22%, transparent);
}

.admin-topbar,
.settings-actions {
    border-color: var(--theme-separator);
    background: color-mix(in srgb, var(--theme-surface) 94%, transparent);
}

.admin-main .app-card,
.metric-card,
.portal-panel,
.legal-document,
.information-card,
.notice-card,
.contact-card,
.process-panel,
.auth-layout {
    border-color: var(--theme-border-soft);
}

.admin-main .table {
    --bs-table-hover-bg: var(--theme-active-soft);
}

.admin-main .table thead th,
.bulk-assignment,
.composer-tabs button,
.mfa-enrollment,
.portal-panel--confirmation,
.legal-document__empty,
.contact-card__pending,
.row-actions summary:hover,
.row-actions[open] summary,
.branding-asset-card,
.branding-palette-preview {
    background: var(--theme-primary-soft);
}

.monthly-chart__track,
.completion > span,
.workload-meter,
.distribution-chart__donut--empty,
.status-badge,
.notice-card__status,
.role-badge {
    background: var(--theme-secondary-soft);
}

.monthly-chart__track i {
    background: linear-gradient(180deg, var(--vinesa-red), var(--vinesa-red-dark));
}

.portal-alert--success,
.alert-success,
.status-pill,
.notice-card__status--published,
.status-badge--under_review,
.status-badge--awaiting_information,
.status-badge--extended,
.metric-card--green .metric-card__icon {
    border-color: var(--theme-success);
    background: var(--theme-success-soft);
    color: var(--theme-success);
}

.portal-alert--danger,
.alert-danger,
.admin-form-field--error input,
.admin-form-field--error select,
.admin-form-field--error textarea,
.metric-card--red .metric-card__icon,
.role-badge--admin {
    border-color: var(--theme-error);
    background: var(--theme-error-soft);
    color: var(--theme-error);
}

.alert-info,
.status-badge--responded,
.status-badge--closed,
.metric-card--blue .metric-card__icon,
.role-badge--responsable {
    border-color: var(--theme-info);
    background: var(--theme-info-soft);
    color: var(--theme-info);
}

.alert-warning,
.retention-warning,
.metric-card--amber .metric-card__icon,
.role-badge--operador,
.mfa-state {
    border-color: var(--theme-warning);
    background: var(--theme-warning-soft);
    color: var(--theme-warning);
}

.retention-warning span {
    background: var(--theme-warning);
}

.public-field__error,
.admin-form-field__error,
.bulk-assignment__feedback--error {
    color: var(--theme-error);
}

.bulk-assignment__feedback--success,
.mfa-state--on,
.completion i {
    color: var(--theme-success);
}

.completion i,
.workload-meter i {
    background: var(--theme-success);
}

.distribution-chart__donut {
    background: conic-gradient(
        var(--theme-success) 0 var(--finalized),
        var(--theme-warning) var(--finalized) var(--in-process-end),
        var(--theme-info) var(--in-process-end) 100%
    );
}

.distribution-chart__key { background: var(--theme-info); }
.distribution-chart__key--finalized { background: var(--theme-success); }
.distribution-chart__key--process { background: var(--theme-warning); }

.admin-page-heading p:last-child,
.admin-topbar__title,
.admin-user small,
.metric-card p,
.metric-card small,
.status-summary__note,
.table-pagination,
.case-summary dt,
.case-record-list small,
.case-empty-state,
.case-deadline-card li small,
.workflow-card > div > p,
.timeline-card li small,
.admin-form-field > small,
.legal-editor small,
.branding-palette-preview__label {
    color: var(--theme-text-secondary);
}
