html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1385px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem var(--am-color-white), 0 0 0 0.25rem var(--am-brand-info);
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
    background: var(--am-app-bg, #f6f8f7);
    color: var(--bs-body-color);
}

:root {
    --am-app-bg: #f6f8f7;
    --am-panel-bg: rgba(255, 255, 255, 0.96);
    --am-panel-header-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    --am-panel-muted-bg: rgba(248, 250, 252, 0.86);
    --am-panel-border: rgba(var(--am-color-slate-900-rgb), 0.11);
    --am-panel-shadow: 0 .45rem 1.25rem rgba(var(--am-color-slate-900-rgb), 0.055);
    --am-panel-shadow-hover: 0 .75rem 1.8rem rgba(var(--am-color-slate-900-rgb), 0.085);
    --am-radius-panel: 1rem;
    --am-radius-control: .65rem;
    --am-radius-tile: .85rem;
    --am-page-action-size: 2.5rem;
    --am-page-action-radius: .65rem;
    --am-page-action-gap: .5rem;
    --am-page-header-title-size: 1.9rem;
    --am-page-header-title-weight: 700;
    --am-card-title-weight: 700;
    --am-field-card-header-bg: #f2eee4;
    --am-field-card-footer-bg: #e9e1d1;
    --am-field-card-image-bg: #f7f4ed;
    --am-field-card-band-border: rgba(78, 69, 49, 0.2);
    --am-field-card-ink: #24483b;
}

.support-assistant {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 1080;
    font-family: inherit;
}

.support-assistant__launcher {
    width: 3.4rem;
    height: 3.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(var(--am-color-sky-600-rgb), 0.35);
    border-radius: 999px;
    background: var(--am-brand-info-strong);
    color: #fff;
    box-shadow: 0 14px 30px rgba(var(--am-color-slate-900-rgb), 0.22);
    font-size: 1.25rem;
}

.support-assistant__launcher:hover,
.support-assistant__launcher:focus {
    background: var(--am-color-slate-800);
}

.support-assistant__panel {
    position: absolute;
    right: 0;
    bottom: 4.25rem;
    width: min(26rem, calc(100vw - 2rem));
    height: min(35rem, calc(100vh - 7rem));
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    overflow: hidden;
    border: 1px solid rgba(var(--am-color-slate-900-rgb), 0.12);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 22px 48px rgba(var(--am-color-slate-900-rgb), 0.22);
}

.support-assistant__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-bottom: 1px solid rgba(var(--am-color-slate-900-rgb), 0.08);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.support-assistant__title {
    font-weight: 800;
    color: #0f172a;
}

.support-assistant__subtitle {
    margin-top: 0.15rem;
    color: #64748b;
    font-size: 0.84rem;
    line-height: 1.25;
}

.support-assistant__close {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #475569;
}

.support-assistant__close:hover,
.support-assistant__close:focus {
    background: #e2e8f0;
    color: #0f172a;
}

.support-assistant__messages {
    display: grid;
    align-content: start;
    gap: 0.7rem;
    overflow-y: auto;
    padding: 1rem;
    background: #f8fafc;
}

.support-assistant__message {
    max-width: 88%;
    padding: 0.7rem 0.85rem;
    border-radius: 0.95rem;
    white-space: pre-line;
    line-height: 1.45;
    font-size: 0.94rem;
}

.support-assistant__message--assistant {
    justify-self: start;
    border: 1px solid rgba(var(--am-color-slate-900-rgb), 0.08);
    background: #fff;
    color: #1e293b;
}

.support-assistant__message--user {
    justify-self: end;
    background: var(--am-brand-info-strong);
    color: #fff;
}

.support-assistant__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.7rem;
}

.support-assistant__link {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid rgba(var(--am-color-olive-600-rgb), 0.35);
    border-radius: 999px;
    background: rgba(var(--am-color-olive-500-rgb), 0.1);
    color: var(--am-brand-support-strong);
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
}

.support-assistant__link:hover,
.support-assistant__link:focus {
    background: rgba(var(--am-color-olive-500-rgb), 0.18);
    color: var(--am-brand-support-strong);
}

.support-assistant__suggestions {
    display: flex;
    gap: 0.45rem;
    overflow-x: auto;
    padding: 0.7rem 1rem;
    border-top: 1px solid rgba(var(--am-color-slate-900-rgb), 0.08);
    background: #fff;
}

.support-assistant__suggestions button {
    flex: 0 0 auto;
    border: 1px solid rgba(var(--am-color-sky-600-rgb), 0.22);
    border-radius: 999px;
    background: rgba(var(--am-color-sky-500-rgb), 0.08);
    color: #1e3a5f;
    padding: 0.4rem 0.65rem;
    font-size: 0.82rem;
    font-weight: 700;
    white-space: nowrap;
}

.support-assistant__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.5rem;
    gap: 0.55rem;
    padding: 0.85rem 1rem 1rem;
    border-top: 1px solid rgba(var(--am-color-slate-900-rgb), 0.08);
    background: #fff;
}

.support-assistant__form input {
    min-width: 0;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    padding: 0.65rem 0.9rem;
}

.support-assistant__form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: var(--am-brand-support-strong);
    color: #fff;
}

@media (max-width: 575.98px) {
    .support-assistant {
        right: 0.75rem;
        bottom: 0.75rem;
    }

    .support-assistant__panel {
        width: calc(100vw - 1.5rem);
        height: min(34rem, calc(100vh - 6rem));
    }
}

.layout-debug-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.9rem;
    padding: 0.2rem 0.65rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

header .navbar .container,
header .navbar .navbar-collapse,
header .navbar .navbar-nav,
header .navbar .nav-item,
header .navbar .nav-link {
    align-items: center;
}

header .navbar .navbar-nav {
    gap: 0.15rem;
}

header .navbar .nav-link {
    display: inline-flex;
    min-height: 1.9rem;
    line-height: 1;
}

header .navbar .nav-link > span,
header .navbar .nav-link > i {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.layout-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    line-height: 1;
}

header .navbar .nav-link > .layout-nav-label {
    display: none;
}

@media (max-width: 575.98px) {
    header .navbar .container {
        align-items: flex-start;
    }

    header .navbar .navbar-toggler {
        order: 2;
        margin-top: 0.35rem;
    }

    header .navbar .navbar-collapse {
        order: 3;
        width: 100%;
        justify-content: flex-start !important;
        padding-top: 0.6rem;
    }

    header .navbar .navbar-collapse.show,
    header .navbar .navbar-collapse.collapsing {
        width: 100%;
        justify-content: flex-start !important;
        padding-top: 0.6rem;
    }

    header .navbar .navbar-nav {
        width: 100%;
        align-items: stretch !important;
        gap: 0.4rem;
        margin-left: 0 !important;
    }

    header .navbar .nav-item {
        width: 100%;
    }

    header .navbar .nav-link,
    .layout-current-user__link {
        width: 100%;
        min-height: 2.6rem;
        justify-content: flex-start;
    }

    header .navbar .nav-link {
        gap: 0.55rem !important;
        padding: 0.55rem 0.7rem;
        border: 1px solid var(--am-panel-border, rgba(15, 23, 42, 0.12));
        border-radius: var(--am-radius-control, .65rem);
        background: var(--am-panel-bg, #fff);
        line-height: 1.15;
    }

    header .navbar .nav-link:hover,
    header .navbar .nav-link:focus {
        background: var(--am-panel-muted-bg, #f8fafc);
    }

    header .navbar .nav-link > .layout-nav-label {
        display: inline-flex;
        min-width: 0;
        overflow-wrap: anywhere;
        color: inherit;
        font-size: 0.92rem;
        font-weight: 700;
        line-height: 1.15;
    }

    header .navbar .navbar-collapse.show .layout-current-user__link,
    header .navbar .navbar-collapse.collapsing .layout-current-user__link,
    .layout-current-user__link {
        max-width: none;
        min-height: 2.75rem;
    }
}

.layout-current-user__link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    max-width: 14rem;
    min-height: 1.9rem;
    padding: 0.2rem 0.65rem;
    border: 1px solid #d6e6dd;
    border-radius: 999px;
    background: #edf7f1;
    color: #173f31;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

.layout-current-user__link:hover,
.layout-current-user__link:focus {
    color: #0f3327;
    background: #e2f1ea;
    text-decoration: none;
}

.layout-current-user__icon {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.layout-current-user__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.layout-debug-badge__toggle {
    appearance: none;
    cursor: pointer;
    background-clip: padding-box;
}

.layout-debug-badge__toggle::after {
    margin-left: 0.45rem;
}

.layout-debug-badge__menu {
    min-width: 12rem;
    padding: 0.35rem;
}

.layout-debug-badge__form {
    margin: 0;
}

.layout-debug-badge__option {
    display: flex;
    align-items: center;
    width: 100%;
    background: transparent;
    border: 0;
    padding: 0.35rem 0.45rem;
}

.layout-debug-badge__option.active,
.layout-debug-badge__option:active {
    background: rgba(var(--am-color-sky-500-rgb), 0.12);
}

.layout-debug-badge--local {
    background: rgba(var(--am-color-olive-500-rgb), 0.14);
    border-color: rgba(var(--am-color-olive-600-rgb), 0.32);
    color: var(--am-color-olive-600);
}

.layout-debug-badge--staging {
    background: rgba(var(--am-color-copper-500-rgb), 0.14);
    border-color: rgba(var(--am-color-copper-600-rgb), 0.32);
    color: var(--am-color-copper-600);
}

.layout-debug-badge--live {
    background: rgba(var(--am-color-sky-500-rgb), 0.14);
    border-color: rgba(var(--am-color-sky-600-rgb), 0.32);
    color: var(--am-color-sky-600);
}

.layout-debug-token-button {
    gap: 0.35rem;
    background: rgba(var(--am-color-copper-500-rgb), 0.14);
    border-color: rgba(var(--am-color-copper-600-rgb), 0.32);
    color: var(--am-color-copper-600);
    cursor: pointer;
}

.layout-debug-token-button:hover,
.layout-debug-token-button:focus {
    background: rgba(var(--am-color-copper-500-rgb), 0.22);
}

.layout-debug-token-button--copied {
    background: rgba(var(--am-color-olive-500-rgb), 0.18);
    border-color: rgba(var(--am-color-olive-600-rgb), 0.36);
    color: var(--am-color-olive-600);
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.card {
    border: 1px solid var(--am-panel-border);
    border-radius: var(--am-radius-panel);
    background: var(--am-panel-bg);
    box-shadow: var(--am-panel-shadow);
    overflow: hidden;
}

.card.mb-2,
.card.mb-3,
.card.mb-4 {
    border-color: var(--am-panel-border);
}

.card .card {
    box-shadow: none;
}

.card-header {
    border-bottom: 1px solid var(--am-panel-border);
    background: var(--am-panel-header-bg);
    color: var(--bs-body-color);
    padding: 1rem 1.15rem;
}

.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header .h1,
.card-header .h2,
.card-header .h3,
.card-header .h4,
.card-header .h5,
.card-header .fw-bold,
.card-header .fw-semibold {
    letter-spacing: 0;
}

.card-body {
    background: var(--am-panel-bg);
}

.card-footer {
    border-top: 1px solid var(--am-panel-border);
    background: var(--am-panel-muted-bg);
}

.border.rounded,
.border.rounded-3,
.list-group,
.accordion-item,
fieldset.border {
    border-color: var(--am-panel-border) !important;
    border-radius: var(--am-radius-tile) !important;
}

.accordion-item {
    overflow: hidden;
    background: var(--am-panel-bg);
}

.accordion-button {
    background: var(--am-panel-bg);
    color: var(--bs-body-color);
    font-weight: 700;
}

.accordion-button:not(.collapsed) {
    background: var(--am-panel-muted-bg);
    color: var(--bs-body-color);
    box-shadow: inset 0 -1px 0 var(--am-panel-border);
}

.table {
    --bs-table-bg: transparent;
    --bs-table-hover-bg: rgba(var(--am-color-sky-500-rgb), 0.06);
}

.table-light {
    --bs-table-bg: var(--am-panel-muted-bg);
    --bs-table-color: var(--bs-body-color);
}

.form-control,
.form-select {
    border-color: var(--am-panel-border);
    border-radius: var(--am-radius-control);
}

.btn {
    border-radius: var(--am-radius-control);
}

.btn-group,
.btn-toolbar {
    gap: .25rem;
}

.btn-group > .btn,
.btn-toolbar .btn {
    border-radius: var(--am-radius-control) !important;
}

.badge {
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: 0;
    padding: .38em .65em;
}

.text-bg-light,
.bg-light {
    background-color: var(--am-panel-muted-bg) !important;
    color: var(--bs-body-color) !important;
}

.am-tile,
.weather-metric-tile,
.field-weather-metric,
.analysis-result-metric,
.analysis-kpi {
    border: 1px solid var(--am-panel-border);
    border-radius: var(--am-radius-tile);
    background: var(--am-panel-muted-bg);
}

/* Layout for the group of field cards */
.card-group {
    gap: 16px; /* spacing between cards */
    align-items: stretch;
}

.field-img {
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.field-img__img {
    height: 100%;
    width: 100%;
    object-fit: contain !important;
    object-position: center;
}

/* Your field cards: give them the real "card" treatment */
.card-field {
    flex: 0 0 320px;
    max-width: 415px;
    border: 1px solid var(--am-field-card-band-border);
    border-radius: var(--am-radius-panel);
    box-shadow: 0 .55rem 1.45rem rgba(78, 69, 49, 0.11);
    overflow: hidden;
    background: #fff;
    transition: border-color .16s ease, box-shadow .16s ease;
}

    /* Add a subtle hover to improve separation while scanning */
    .card-field:hover {
        box-shadow: 0 .95rem 2rem rgba(78, 69, 49, 0.16);
        border-color: rgba(36, 72, 59, 0.36);
    }

    /* Title + subtitle hierarchy */
    .card-field .card-header {
        padding: 0;
        border-bottom: 1px solid var(--am-field-card-band-border);
        background: var(--am-field-card-header-bg);
    }

.field-card-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    column-gap: .7rem;
    row-gap: .35rem;
    min-height: 0;
    padding: .8rem .9rem .7rem;
}

.field-card-header--single {
    padding: .85rem 1rem .65rem;
}

.field-card-header__title {
    min-width: 0;
    overflow: visible;
    overflow-wrap: anywhere;
    text-align: left;
    white-space: normal;
    color: var(--am-field-card-ink);
    font-size: 1.12rem;
    font-weight: var(--am-card-title-weight);
    line-height: 1.2;
}

.field-card-header__actions {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    justify-self: end;
    align-self: start;
    flex-shrink: 0;
    padding: 0;
    border-radius: .55rem;
    background: transparent;
}

.field-card-header__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border: 1px solid rgba(17, 24, 39, .28);
    border-radius: .42rem;
    background: var(--am-panel-bg);
    color: #4b5563;
    font-size: .82rem;
    text-decoration: none;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

.field-card-header__action:hover,
.field-card-header__action:focus-visible {
    background: #ffffff;
    border-color: #111827;
    color: #111827;
    transform: translateY(-1px);
}

.page-header-action-symbol,
.field-index-toolbar__symbol,
.field-shortcut-nav__symbol,
.field-card-header__action-symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    line-height: 1;
}

.page-header-action-label,
.field-index-toolbar__label,
.field-shortcut-nav__label,
.field-card-header__action-label {
    display: none;
}

.field-card-debug {
    display: flex;
    justify-content: flex-start;
}

.field-card-debug-copy {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.page-header-title-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content;
    column-gap: .85rem;
    row-gap: .75rem;
    align-items: center !important;
}

.page-header-title-row > h2 {
    min-width: 0;
    max-width: 100%;
    font-size: var(--am-page-header-title-size);
    font-weight: var(--am-page-header-title-weight);
}

.page-header-actions {
    display: inline-flex !important;
    flex: 0 0 auto;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: flex-end !important;
    min-width: 0;
    max-width: 100%;
    margin-left: auto;
}

.page-header-utility-actions {
    display: inline-flex;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--am-page-action-gap);
}

.page-header-actions .page-info-action {
    display: inline-flex;
}

.page-header-actions > .btn,
.page-header-action-button,
.page-header-actions .page-info-action > .btn,
.page-header-actions .field-shortcut-nav .btn,
.field-page-shortcuts .field-shortcut-nav .btn,
.page-header-toolbar__icon {
    position: relative;
    width: var(--am-page-action-size);
    height: var(--am-page-action-size);
    min-width: var(--am-page-action-size);
    min-height: var(--am-page-action-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--am-page-action-radius, .65rem);
    padding: 0;
    line-height: 1;
}

.page-header-action-button--notify.btn-warning {
    color: #332300;
    box-shadow: 0 0 0 .2rem rgba(255, 193, 7, .18);
}

.page-header-actions .field-index-toolbar__badge {
    top: -.35rem;
    right: -.35rem;
}

.field-shortcut-nav {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem;
}

.page-header-actions .field-shortcut-nav,
.field-page-shortcuts .field-shortcut-nav {
    flex: 0 1 auto;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    gap: var(--am-page-action-gap);
}

.field-page-shortcuts {
    display: flex;
    justify-content: flex-start;
}

.field-shortcut-nav .btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    font-size: .875rem;
}

.page-header-actions .field-shortcut-nav .btn,
.page-header-utility-actions > .page-header-action-button,
.page-header-actions .page-info-action > .btn {
    box-sizing: border-box;
    flex: 0 0 var(--am-page-action-size);
    width: var(--am-page-action-size);
    height: var(--am-page-action-size);
    min-width: var(--am-page-action-size);
    min-height: var(--am-page-action-size);
    max-width: var(--am-page-action-size);
    max-height: var(--am-page-action-size);
    padding: 0;
    line-height: 1;
}

@media (max-width: 991.98px) {
    .page-header-title-row {
        grid-template-columns: 1fr;
    }

    .page-header-title-row > h2 {
        min-width: 0;
    }

    .page-header-actions {
        width: 100%;
        margin-left: 0;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
    }
}

@media (max-width: 575.98px) {
    .page-header-utility-actions {
        gap: .35rem;
    }
}

    /* Title + subtitle hierarchy */
    .card-field .card-title {
        font-size: 1.05rem;
        font-weight: 700;
        margin: 12px 12px 2px 12px;
    }

    .card-field .card-subtitle {
        font-size: .85rem;
        color: #6b7280;
        letter-spacing: .02em;
        margin: 0 12px 10px 12px;
        padding-top: 10px;
        text-align: left !important; /* override your text-center for better hierarchy */
    }

    /* Image block: make it read like a section */
    .card-field .card-img {
        padding: 10px 12px 12px 12px;
        border-top: 1px solid rgba(78, 69, 49, 0.12);
        border-bottom: 1px solid rgba(78, 69, 49, 0.12);
        background: var(--am-field-card-image-bg);
        text-align: center;
    }

        .card-field .card-img img {
            max-height: 150px;
            width: 100%;
            object-fit: cover;
            border-radius: 8px;
        }

    /* Info block: make labels and values distinct */
    .card-field .card-body {
        padding: 12px;
        background: #fff;
    }

    .card-field dl.row {
        margin: 0;
    }

    .card-field dt {
        color: #6b7280; /* muted label */
        font-weight: 600;
        font-size: .85rem;
    }

    .card-field dd {
        color: #111827; /* strong value */
        font-weight: 600;
        font-size: .9rem;
        margin-bottom: .5rem;
    }

        /* Optional: if you keep the "x " prefix, make it quieter without changing markup */
        .card-field dd::first-letter {
            color: #9ca3af;
            font-weight: 500;
        }

    /* Footer separation and action density */
    .card-field .card-footer {
        background: var(--am-field-card-footer-bg);
        border-top: 1px solid var(--am-field-card-band-border);
        padding: 10px 12px;
    }

    /* Make the icon buttons less heavy */
    .card-field .btn.btn-outline-secondary {
        background: rgba(255, 255, 255, 0.42);
        opacity: .92;
        border: 1px solid rgba(78, 69, 49, 0.18);
        color: #53615b;
    }

        .card-field .btn.btn-outline-secondary:hover {
            background: rgba(36, 72, 59, 0.12);
            border-color: rgba(36, 72, 59, 0.28);
            color: var(--am-field-card-ink);
            opacity: 1;
        }

    /* Slightly reduce the button footprint and unify */
    .card-field .btn.btn-sm {
        padding: .25rem .45rem;
        line-height: 1.1;
    }

/* container for the cards */
.field-cards {
    display: grid;
    gap: 24px; /* spacing between cards */
    /* Each card is at least 320px, otherwise share remaining space evenly */
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    /* Optional: keep the whole grid centered when there’s leftover space */
    justify-content: center;
}

/* the cards */
.field-card {
    width: 100%; /* important: let the grid define width */
    height: 100%; /* optional: helps equal-height “feel” when content differs */
}

/* Detail-page section cards */
.field-section-card {
    border: 1px solid var(--am-panel-border);
    border-radius: var(--am-radius-panel);
    box-shadow: var(--am-panel-shadow);
    overflow: hidden;
    background: var(--am-panel-bg);
}

    .field-section-card .card-header {
        border-bottom: 1px solid var(--am-panel-border);
        font-weight: 600;
    }

    .field-section-card .card-body {
        padding: 12px;
    }

.field-single-wrap {
    display: flex;
    justify-content: center;
}

.card-field.card-field-single {
    width: 100%;
    max-width: 980px;
    flex: 0 1 980px;
}

.field-single-layout {
    display: grid;
    grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.field-single-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.field-img-single {
    height: 320px;
    min-height: 320px;
}

    .field-img-single .field-img__img {
        width: 100%;
        height: 100%;
        object-fit: contain !important;
    }

.field-mini-panel {
    border: 1px solid var(--am-panel-border);
    border-radius: var(--am-radius-tile);
    background: var(--am-panel-bg);
    padding: 14px;
    box-shadow: var(--am-panel-shadow);
    min-width: 0;
}

.field-mini-panel__title {
    font-weight: 700;
    margin-bottom: 10px;
    color: #111827;
}

.procural-card {
    border: 1px solid #d6dde8;
    border-radius: 18px;
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.procural-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.12);
}

.procural-card__hero {
    position: relative;
    isolation: isolate;
    height: 194px;
    padding: 1rem;
    background-size: cover;
    background-position: center;
    border-bottom: 1px solid rgba(148, 163, 184, 0.24);
    overflow: hidden;
}

.procural-card__hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(16, 28, 42, 0.24) 0%, rgba(16, 28, 42, 0.44) 100%),
        radial-gradient(circle at 50% 46%, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 38%);
    z-index: 0;
}

.procural-card__icon-shell {
    position: absolute;
    left: var(--procural-icon-x, 50%);
    top: var(--procural-icon-y, 50%);
    z-index: 1;
    display: grid;
    place-items: center;
    width: clamp(124px, 22%, 152px);
    height: clamp(124px, 22%, 152px);
    transform: translate(-50%, -50%);
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.12) 34%, rgba(255, 255, 255, 0.05) 58%, rgba(255, 255, 255, 0) 76%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
}

.procural-card__icon {
    width: clamp(82px, 18%, 108px);
    height: clamp(82px, 18%, 108px);
    aspect-ratio: 1;
    display: block;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.99);
    -webkit-mask: var(--procural-icon) center / contain no-repeat;
    mask: var(--procural-icon) center / contain no-repeat;
    opacity: 0.98;
    filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.22));
}

.procural-card__body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.35rem 1.5rem 1.5rem;
}

.procural-card__title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.procural-card__title {
    margin: 0;
    color: #1f3554;
    font-size: clamp(1.55rem, 2vw, 1.95rem);
    font-weight: 700;
    line-height: 1.1;
}

.procural-card__badge {
    flex-shrink: 0;
    margin-top: 0.2rem;
    font-size: 0.78rem;
    letter-spacing: 0.02em;
}

.procural-card__text {
    margin: 0;
    color: #334155;
    font-size: 1.05rem;
    line-height: 1.5;
}

.procural-card__actions {
    display: flex;
    justify-content: flex-end;
}

.procural-card__button {
    min-width: 3rem;
    min-height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    border: 1px solid #5d8fff;
    color: #2563eb;
    background: #ffffff;
    font-size: 1.2rem;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.12);
}

.procural-card__button:hover {
    color: #1d4ed8;
    background: #eff6ff;
    border-color: #2563eb;
}

.procural-card__button--disabled,
.procural-card__button--disabled:hover {
    color: #94a3b8;
    background: #f8fafc;
    border-color: #cbd5e1;
    box-shadow: none;
    cursor: default;
}

@media (max-width: 767.98px) {
    .procural-card__hero {
        height: 174px;
        padding: 0.85rem;
    }

    .procural-card__icon-shell {
        width: clamp(104px, 28vw, 126px);
        height: clamp(104px, 28vw, 126px);
    }

    .procural-card__icon {
        width: clamp(74px, 22vw, 92px);
        height: clamp(74px, 22vw, 92px);
    }

    .procural-card__body {
        padding: 1.2rem;
    }
}

@media (max-width: 991.98px) {
    .field-single-layout {
        grid-template-columns: 1fr;
    }

    .card-field.card-field-single {
        max-width: 720px;
        flex-basis: 720px;
    }

    .field-img-single {
        height: 220px;
        min-height: 220px;
    }
}

/* Improve tabs readability (small hierarchy boost) */
.nav-tabs .nav-link {
    color: #374151;
}

    .nav-tabs .nav-link.active {
        font-weight: 700;
    }

.forecast-icons {
    flex-wrap: nowrap; /* one row only */
    overflow-x: auto; /* horizontal scroll */
    overflow-y: hidden;
    white-space: nowrap; /* protects inline content */
    -webkit-overflow-scrolling: touch; /* smooth scrolling on iOS */
    scrollbar-gutter: stable both-edges;
    padding-bottom: .25rem; /* room for scrollbar */
    scroll-snap-type: x mandatory;
}

    .forecast-icons > * {
        flex: 0 0 auto; /* items do not shrink/wrap */
        scroll-snap-align: start;
    }

/* site.css or your area css */
.forecast-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.forecast-canvas-wrap {
    height: 280px; /* keep your current height */
    position: relative;
}

/* optional: nicer scrollbar spacing */
.forecast-scroll {
    padding-bottom: 6px;
}

.field-weather-shell {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    padding: 1rem;
}

.weather-section {
    background: var(--bs-body-bg);
}

.weather-section main > .card,
.weather-section .card:has(.weather-page-actions) {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    box-shadow: none;
    padding: 1rem;
}

.weather-section .card {
    border-color: var(--bs-border-color);
    border-radius: .9rem;
    box-shadow: none;
}

.weather-section .card:not(:has(.weather-page-actions)) > .card-header {
    align-items: center;
    background: var(--bs-card-cap-bg);
    border-bottom: 0;
    color: var(--bs-body-color);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem 1.15rem .75rem;
}

.weather-section .card:not(:has(.weather-page-actions)) > .card-header .h5,
.weather-section .card:not(:has(.weather-page-actions)) > .card-header h5,
.weather-section .card:not(:has(.weather-page-actions)) > .card-header .fw-semibold {
    color: var(--bs-body-color);
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: 0;
}

.weather-section .card:not(:has(.weather-page-actions)) > .card-header .text-muted,
.weather-section .card:not(:has(.weather-page-actions)) > .card-header small {
    color: var(--bs-secondary-color) !important;
    font-size: .95rem;
}

.weather-section .card:not(:has(.weather-page-actions)) > .card-header .btn-group {
    background: var(--bs-tertiary-bg);
    border-radius: 999px;
    gap: .2rem;
    padding: .25rem;
}

.weather-section .card:not(:has(.weather-page-actions)) > .card-header .btn-group .btn {
    border-color: transparent;
    border-radius: 999px !important;
    color: var(--bs-secondary-color);
    font-weight: 700;
    padding: .35rem .65rem;
}

.weather-section .card:not(:has(.weather-page-actions)) > .card-header .btn-group .btn:hover,
.weather-section .card:not(:has(.weather-page-actions)) > .card-header .btn-group .btn.active {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}

.weather-section .card-body,
.weather-section .accordion-body {
    background: var(--bs-card-bg);
}

.weather-section .accordion-item {
    background: var(--bs-body-bg);
    border-color: var(--bs-border-color);
    border-radius: .9rem;
    overflow: hidden;
}

.weather-section .accordion-button {
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    font-weight: 700;
}

.weather-section .accordion-button:not(.collapsed) {
    background: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
    box-shadow: inset 0 -1px 0 var(--bs-border-color);
}

.weather-section .table-responsive {
    border-color: var(--bs-border-color);
}

.weather-section .table {
    --bs-table-bg: var(--bs-body-bg);
    --bs-table-hover-bg: var(--bs-tertiary-bg);
}

.weather-section .table-light {
    --bs-table-bg: var(--bs-tertiary-bg);
    --bs-table-color: var(--bs-body-color);
}

.weather-section canvas {
    max-width: 100%;
}

.weather-section .border.rounded:has(canvas),
.weather-section .card:has(canvas) .card-body {
    background: var(--bs-body-bg);
}

.weather-section .btn-outline-secondary {
    border-color: var(--bs-border-color);
    color: var(--bs-secondary-color);
}

.weather-section .btn-outline-secondary:hover,
.weather-section .btn-outline-secondary.active {
    background: var(--bs-secondary);
    border-color: var(--bs-secondary);
    color: #fff;
}

.weather-section form.card,
.weather-section form.row,
.weather-section .risk-history-filter,
.weather-section .risk-overview-actions form,
.weather-section #recalculateCalculatedForm {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: .9rem;
    margin-bottom: 1rem;
    padding: .85rem 1rem;
}

.weather-section form.card {
    overflow: hidden;
}

.weather-section form.card > .card-header,
.weather-section form.card .card-header {
    background: var(--bs-card-cap-bg);
    border-bottom: 1px solid var(--bs-border-color);
    padding: 1rem 1.15rem .75rem;
}

.weather-section form.row,
.weather-section .risk-history-filter,
.weather-section .risk-overview-actions form,
.weather-section #recalculateCalculatedForm {
    align-items: center;
}

.weather-section form.card .card-body {
    align-items: stretch;
    background: transparent;
    padding: 0;
}

.weather-section .form-label {
    color: var(--bs-secondary-color);
    font-size: .82rem;
    font-weight: 700;
}

.weather-section .form-control,
.weather-section .form-select {
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color);
    border-radius: .65rem;
}

.weather-section .card-body > .gp-settings,
.weather-section .gp-settings {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: .9rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding: .85rem 1rem;
}

.weather-section .gp-settings__field {
    min-width: 12rem;
}

.weather-section .card-body > .border.rounded,
.weather-section .border.rounded.p-3,
.weather-section .gp-chart {
    background: var(--bs-body-bg);
    border-color: var(--bs-border-color) !important;
    border-radius: .9rem !important;
}

.weather-section .card-body > .border.rounded:has(canvas),
.weather-section .gp-chart {
    padding: 1rem;
}

.weather-section .card-body > .mb-4:has(canvas),
.weather-section .card-body > .mb-4:has(.table-responsive) {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: .9rem;
    padding: 1rem;
}

.weather-section .card-body > .mb-4 > h5:first-child,
.weather-section .card-body > .row h5 {
    color: var(--bs-body-color);
    font-weight: 800;
    letter-spacing: 0;
}

.weather-section .gp-normals-section {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: .9rem;
    margin-left: 0;
    margin-right: 0;
    padding: 1rem;
}

.weather-section .gp-normals-section > .col-12 {
    padding-left: 0;
    padding-right: 0;
}

.weather-metric-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    margin-bottom: 1rem;
}

.weather-metric-tile {
    background: var(--bs-tertiary-bg);
    border-radius: .85rem;
    min-height: 6.6rem;
    padding: 1rem;
}

.weather-metric-tile__label {
    color: var(--bs-secondary-color);
    font-size: .95rem;
}

.weather-metric-tile__value {
    color: var(--bs-body-color);
    font-size: 1.15rem;
    font-weight: 800;
    margin-top: .35rem;
}

.weather-metric-tile__detail {
    color: var(--bs-secondary-color);
    font-size: .82rem;
    margin-top: .65rem;
}

.field-weather-hero,
.field-weather-forecast {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: .9rem;
    padding: 1rem;
}

.field-weather-hero {
    display: grid;
    grid-template-columns: minmax(14rem, 1fr) minmax(18rem, 2fr);
    gap: 1rem;
    margin-bottom: 1rem;
}

.field-weather-hero__eyebrow,
.field-weather-forecast__header p,
.field-weather-metric span,
.field-weather-day small {
    color: var(--bs-secondary-color);
}

.field-weather-hero__temp {
    color: var(--bs-body-color);
    font-size: clamp(2.25rem, 5vw, 4rem);
    font-weight: 800;
    line-height: 1;
}

.field-weather-hero__summary {
    align-items: center;
    color: var(--bs-body-color);
    display: flex;
    font-weight: 700;
    gap: .5rem;
    margin-top: .4rem;
}

.field-weather-hero__updated {
    color: var(--bs-secondary-color);
    font-size: .875rem;
    margin-top: .55rem;
}

.field-weather-metrics {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.field-weather-metric {
    background: var(--bs-tertiary-bg);
    border-radius: .75rem;
    min-height: 5.25rem;
    padding: .75rem;
}

.field-weather-metric strong,
.field-weather-day strong {
    color: var(--bs-body-color);
}

.field-weather-metric span,
.field-weather-metric strong {
    display: block;
}

.field-weather-metric strong {
    font-size: 1.05rem;
    margin-top: .25rem;
}

.field-weather-forecast__header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: .75rem;
}

.field-weather-forecast__header h2 {
    color: var(--bs-body-color);
    font-size: 1.2rem;
    margin: 0;
}

.field-weather-forecast__header p {
    margin: .15rem 0 0;
}

.field-weather-range {
    background: var(--bs-tertiary-bg);
    border-radius: 999px;
    display: flex;
    gap: .25rem;
    padding: .25rem;
}

.field-weather-range__item {
    border-radius: 999px;
    color: var(--bs-secondary-color);
    padding: .35rem .65rem;
    text-decoration: none;
    white-space: nowrap;
}

.field-weather-range__item.active {
    background: var(--bs-primary);
    color: #fff;
}

.field-weather-chart-wrap {
    height: 235px;
}

.field-weather-hour-strip {
    border-bottom: 1px solid var(--bs-border-color);
    margin: .5rem 0 1rem;
    padding-bottom: .75rem;
}

.field-weather-days {
    display: grid;
    gap: .6rem;
}

.field-weather-day {
    background: var(--bs-tertiary-bg);
    border-radius: .8rem;
}

.field-weather-day__row {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .85rem 1rem;
}

.field-weather-day span {
    display: grid;
    gap: .15rem;
}

.field-weather-day__signals {
    align-items: center;
    display: grid !important;
    gap: .85rem;
    grid-template-columns: 16rem 6rem 6rem;
    justify-content: end;
    text-align: right;
    white-space: nowrap;
}

.field-weather-temp-range {
    align-items: center;
    display: grid;
    gap: .55rem !important;
    grid-template-columns: auto minmax(4.5rem, 8rem) auto;
    justify-content: end;
}

.field-weather-temp-range__track {
    background: #cbd7e1;
    border-radius: 999px;
    display: block !important;
    height: .32rem;
    overflow: hidden;
    position: relative;
}

.field-weather-temp-range__fill {
    background: linear-gradient(90deg, #60a5fa, #74cdd0);
    border-radius: inherit;
    display: block !important;
    height: 100%;
    margin-left: 18%;
    width: 64%;
}

.field-weather-signal {
    align-items: center;
    color: var(--bs-body-color);
    display: inline-flex !important;
    font-weight: 700;
    gap: .25rem;
    line-height: 1;
    padding: 0;
    white-space: nowrap;
}

.field-weather-signal {
    border-left: 1px solid var(--bs-border-color);
    padding-left: .9rem;
}

.field-weather-signal small {
    color: var(--bs-body-color);
    font-size: 1rem;
    font-weight: 700;
}

@media (max-width: 767.98px) {
    .field-weather-shell {
        border-radius: .85rem;
        padding: .75rem;
    }

    .field-weather-hero,
    .field-weather-forecast__header,
    .field-weather-day__row {
        display: grid;
        grid-template-columns: 1fr;
    }

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

    .field-weather-range {
        overflow-x: auto;
    }

    .field-weather-day__signals {
        align-items: flex-start;
        grid-template-columns: 1fr;
        justify-content: flex-start;
        text-align: left;
        white-space: normal;
    }

    .field-weather-signal {
        border-left: 0;
        padding-left: 0;
    }

    .field-weather-temp-range {
        justify-content: start;
    }
}

/* Neutral page background */
.page-surface {
    background: #f6f7f9;
}

/* Modern card styling */
.card-modern {
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(0,0,0,.06);
}

    .card-modern .card-header {
        background: #fff;
        border-bottom: 1px solid rgba(0,0,0,.06);
        font-weight: 600;
    }

    .card-modern .card-footer {
        background: #fff;
        border-top: 1px solid rgba(0,0,0,.06);
    }

.surface-summary-card {
    max-height: none;
}

.surface-summary-media {
    min-height: 220px;
    max-height: 280px;
    background: #f1f3f5;
}

.surface-summary-img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 220px;
    max-height: 280px;
    object-fit: cover;
}

.surface-summary-placeholder {
    min-height: 220px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6c757d;
    background: #f8f9fa;
}

/* Smaller icon buttons */
.btn-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

/* Compact key/value list */
.kv {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 2px 0;
}

    .kv .k {
        color: #6c757d;
    }

    .kv .v {
        font-weight: 600;
    }

/*badges for risk levels*/
.badge-high {
    letter-spacing: .1em;
    position: relative;
    background-color: #ff0005;
}

    /* pulse ring */
    .badge-high::after {
        content: "";
        position: absolute;
        inset: -6px;
        border-radius: inherit;
        border: 8px solid #ff0005;
        opacity: .0;
        animation: badgeActionPulse 1.4s ease-out infinite;
    }

.badge-action {
    letter-spacing: .1em;
    position: relative;
    background-color: #a82ec7;
}

    /* pulse ring */
    .badge-action::after {
        content: "";
        position: absolute;
        inset: -6px;
        border-radius: inherit;
        border: 8px solid #a82ec7;
        opacity: .0;
        animation: badgeActionPulse 1.0s ease-out infinite;
    }

@keyframes badgeActionPulse {
    0% {
        transform: scale(.92);
        opacity: .75;
    }

    70% {
        transform: scale(1.18);
        opacity: 0;
    }

    100% {
        transform: scale(1.18);
        opacity: 0;
    }
}

/* respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .badge-action::after {
        animation: none;
    }
}

/* Tight numeric inputs: keep them readable but not full-width */
.input-w-4 {
    max-width: 4rem;
}

.input-w-6 {
    max-width: 6rem;
}

.input-w-8 {
    max-width: 8rem;
}

.input-w-10 {
    max-width: 10rem;
}

.input-w-12 {
    max-width: 12rem;
}

/*table head sticky to the top*/
.table-responsive-sticky {
    overflow-y: visible; /* critical */
    overflow: unset;
}

.weather-page-actions,
.surface-page-header {
    gap: 0.75rem;
}

.weather-page-main-header {
    padding: 0 0 .85rem;
    border-bottom: 0;
    background: transparent;
}

.weather-page-nav-header {
    margin: 0 -1rem 1rem;
    padding: .75rem 1rem .9rem;
    border-top: 1px solid var(--am-panel-border);
    border-bottom: 1px solid var(--am-panel-border);
    background: var(--am-panel-muted-bg);
}

.weather-page-tabs,
.page-header-toolbar__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.weather-page-tabs {
    gap: .5rem;
}

.weather-page-tabs .btn,
.weather-subnav .btn {
    min-height: 2.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--am-radius-control);
    font-weight: 600;
    padding: .5rem .85rem;
}

.weather-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .65rem;
    padding-top: .65rem;
    border-top: 1px solid rgba(var(--am-color-slate-900-rgb), 0.08);
}

.surface-page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}

.table-responsive > .table {
    min-width: 42rem;
}

.table-responsive > .table.table-sm {
    min-width: 36rem;
}

.gdd-notes-column {
    min-width: 14rem;
}

.gdd-note-list {
    display: grid;
    gap: 0.35rem;
}

.gdd-note {
    border-radius: 0.5rem;
    background: #f8fafc;
    color: #475569;
    padding: 0.35rem 0.5rem;
    line-height: 1.35;
}

@media (max-width: 575.98px) {
    .card-header {
        padding: 0.85rem;
    }

    .weather-page-actions,
    .surface-page-header {
        flex-direction: column;
        align-items: stretch !important;
    }

    .weather-page-tabs,
    .page-header-toolbar__nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 0.25rem;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .weather-page-tabs .btn,
    .page-header-toolbar__link {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .weather-page-tools,
    .surface-page-actions {
        justify-content: flex-start;
    }

    .surface-summary-media {
        min-height: 12rem;
    }
}

    .table-responsive-sticky thead th {
        position: sticky;
        top: 0;
        z-index: 5;
        background: var(--bs-body-bg);
    }

/*Images and thumbs*/
.thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: .5rem;
    overflow: hidden;
    background: #f3f5f7;
}

    .thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

.thumb-placeholder {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    text-align: center;
    color: #6c757d;
    font-size: clamp(.9rem, 1.5vw, 1.4rem);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: .02em;
}

.soil-tests-overview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 1rem;
}

.soil-tests-overview-card {
    padding: 1rem 1.1rem;
    border: 1px solid rgba(33, 37, 41, 0.12);
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(248, 249, 250, 0.92), rgba(255, 255, 255, 0.98));
    box-shadow: 0 12px 24px rgba(33, 37, 41, 0.04);
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.soil-tests-overview-label {
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #6c757d;
}

.hole-index-image-col {
    width: 16rem;
}

.hole-index-thumb {
    width: 15rem;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    overflow: hidden;
    background: #f1f3f5;
}

.hole-index-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hole-index-thumb-placeholder {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5rem;
    color: #6c757d;
    font-size: .95rem;
    text-align: center;
}

@media (max-width: 575.98px) {
    .hole-index-image-col {
        width: 12rem;
    }

    .hole-index-thumb {
        width: 11rem;
    }
}

.soil-tests-overview-value {
    font-size: clamp(1.2rem, 2vw, 1.9rem);
    line-height: 1.1;
    color: #212529;
}

.soil-tests-overview-note {
    color: #6c757d;
    font-size: .92rem;
}

.soil-tests-history {
    display: flex;
    flex-direction: column;
    gap: 1.35rem;
}

.soil-tests-year-block {
    border: 1px solid rgba(33, 37, 41, 0.1);
    border-radius: 1.15rem;
    background: #fff;
    box-shadow: 0 16px 32px rgba(33, 37, 41, 0.04);
    overflow: hidden;
}

.soil-tests-year-header {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(33, 37, 41, 0.08);
    background: linear-gradient(180deg, rgba(245, 246, 247, 0.98), rgba(255, 255, 255, 0.98));
    position: relative;
}

.soil-tests-year-header::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #adb5bd;
}

.soil-tests-year-title {
    margin: 0;
    font-size: 1.42rem;
    line-height: 1.05;
    letter-spacing: .01em;
    color: #212529;
}

.soil-tests-year-meta {
    margin-top: .25rem;
    color: #6c757d;
    font-size: .98rem;
}

.soil-tests-date-stack {
    display: flex;
    flex-direction: column;
}

.soil-tests-date-card + .soil-tests-date-card {
    border-top: 1px solid rgba(33, 37, 41, 0.08);
}

.soil-tests-date-toggle {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    transition: background-color .18s ease;
    position: relative;
}

.soil-tests-date-toggle:hover,
.soil-tests-date-toggle:focus-visible {
    background: rgba(248, 249, 250, 0.75);
}

.soil-tests-date-primary {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .7rem;
    min-width: 170px;
}

.soil-tests-date-title {
    display: inline-flex;
    align-items: center;
    min-height: 2.2rem;
    padding: .25rem .7rem;
    border-radius: 999px;
    background: rgba(248, 249, 250, 0.98);
    border: 1px solid rgba(108, 117, 125, 0.18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
    font-size: 1rem;
    font-weight: 700;
    color: #212529;
}

.soil-tests-date-count {
    font-size: .92rem;
    color: #6c757d;
}

.soil-tests-date-summary {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .9rem;
    color: #495057;
    width: 100%;
    font-size: .98rem;
}

.soil-tests-date-surfaces {
    font-weight: 600;
}

.soil-tests-date-method {
    display: inline-flex;
    align-items: center;
    min-height: 1.9rem;
    padding: .15rem .55rem;
    border-radius: 999px;
    background: rgba(248, 249, 250, 0.95);
    border: 1px solid rgba(108, 117, 125, 0.14);
    color: #6c757d;
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.soil-tests-date-badges {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.soil-tests-date-body {
    padding: 0 1.25rem 1.1rem;
}

.soil-tests-date-table thead th {
    color: #617063;
    text-transform: uppercase;
    font-size: .75rem;
    letter-spacing: .06em;
    border-top: 0;
}

.soil-tests-date-table tbody td {
    vertical-align: middle;
}

@media (max-width: 991.98px) {
    .soil-tests-date-toggle {
        flex-direction: column;
        align-items: flex-start;
    }

    .soil-tests-date-summary {
        justify-content: flex-start;
    }
}

.kv-table {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.kv-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.kv-k {
    color: #6c757d;
    min-width: 0;
}

.kv-v {
    font-weight: 600;
    white-space: nowrap;
}

.surface-species-bars {
    display: grid;
    gap: .35rem;
}

.surface-species-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .35rem .5rem;
    align-items: center;
}

.surface-species-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #495057;
    font-size: .78rem;
}

.surface-species-value {
    color: #495057;
    font-size: .78rem;
    font-weight: 600;
}

.surface-species-track {
    grid-column: 1 / -1;
    height: .4rem;
    border-radius: 999px;
    background: #e9ecef;
    overflow: hidden;
}

.surface-species-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #6a8f4e;
}

.surface-index-actions {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.surface-analysis-photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: .5rem;
}

.surface-analysis-photo {
    aspect-ratio: 1 / 1;
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    overflow: hidden;
    background: #f8f9fa;
}

.surface-analysis-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.surface-analysis-metric {
    border: 1px solid #e9ecef;
    border-radius: .5rem;
    padding: .65rem .75rem;
    background: #fbfcfd;
}

.surface-analysis-transmission {
    border-bottom: 1px solid #e9ecef;
    padding: .85rem 0;
}

.surface-analysis-transmission:first-child {
    padding-top: 0;
}

.surface-analysis-transmission:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.surface-area-aggregate {
    height: 100%;
    border: 1px solid #e9ecef;
    border-radius: .5rem;
    padding: .85rem;
    background: #fbfcfd;
}

.surface-area-aggregate--ready {
    border-color: rgba(106, 143, 78, .35);
    background: rgba(106, 143, 78, .06);
}

.surface-analysis-shell {
    border: 1px solid #dce3dc;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 .75rem 2rem rgba(35, 64, 52, .08);
}

.surface-analysis-header {
    background: linear-gradient(135deg, #f8f5ee 0%, #eef4e9 100%);
    border-bottom: 1px solid #dce3dc;
}

.surface-analysis-page {
    display: grid;
    gap: 1rem;
    background: #fbfaf6;
}

.analysis-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(14rem, 18rem);
    gap: 1rem;
    align-items: stretch;
    padding: 1.25rem;
    border: 1px solid #dce3dc;
    border-radius: 1rem;
    background:
        radial-gradient(circle at top right, rgba(167, 134, 82, .14), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #f4f0e7 100%);
}

.analysis-hero h2 {
    margin: .15rem 0 .35rem;
    color: #20382e;
    font-weight: 800;
    letter-spacing: -.02em;
}

.analysis-hero p {
    max-width: 46rem;
    margin: 0;
    color: #5d6a62;
}

.analysis-eyebrow {
    color: #6f7d55;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.analysis-progress-card,
.analysis-kpi,
.analysis-area-card,
.surface-sample-group,
.surface-detail-card {
    border: 1px solid #dce3dc;
    border-radius: .9rem;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 .45rem 1.25rem rgba(35, 64, 52, .06);
}

.analysis-progress-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .35rem;
    padding: 1rem;
}

.analysis-progress-value {
    color: #20382e;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
}

.analysis-progress-track,
.analysis-meter {
    height: .55rem;
    border-radius: 999px;
    background: #e6eadf;
    overflow: hidden;
}

.analysis-progress-track span,
.analysis-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #6a8f4e, #a78652);
}

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

.analysis-kpi {
    padding: 1rem;
}

.analysis-kpi span,
.analysis-card-meta,
.analysis-card-note,
.surface-sample-subtitle,
.surface-detail-card__header p,
.analysis-history-item__head span {
    color: #637066;
}

.analysis-kpi strong {
    display: block;
    margin-top: .2rem;
    color: #17251f;
    font-size: 1.25rem;
    line-height: 1.2;
}

.analysis-section {
    display: grid;
    gap: .8rem;
    padding: 1rem;
    border: 1px solid #e4e6df;
    border-radius: 1rem;
    background: #fffefa;
}

.analysis-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.analysis-section-heading h3,
.surface-detail-card__header h3 {
    margin: 0;
    color: #20382e;
    font-size: 1.15rem;
    font-weight: 800;
}

.analysis-section-heading p,
.surface-detail-card__header p {
    margin: .2rem 0 0;
}

.analysis-area-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
    gap: .9rem;
}

.analysis-area-card {
    display: grid;
    gap: .65rem;
    padding: 1rem;
}

.analysis-area-card.is-ready {
    border-color: rgba(106, 143, 78, .45);
    background: linear-gradient(135deg, rgba(106, 143, 78, .1), #fff);
}

.analysis-card-topline,
.surface-detail-card__header,
.analysis-history-item__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
}

.analysis-card-topline h4,
.surface-sample-group__header h4 {
    margin: 0;
    color: #17251f;
    font-size: 1rem;
    font-weight: 800;
}

.surface-sample-groups {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
    gap: .9rem;
}

.surface-sample-group {
    overflow: hidden;
}

.surface-sample-group__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .9rem 1rem;
    background: #eef4e9;
    border-bottom: 1px solid #dce3dc;
}

.surface-sample-group__header span {
    color: #637066;
    font-size: .85rem;
}

.surface-sample-list {
    display: grid;
}

.surface-sample-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .8rem 1rem;
    border-bottom: 1px solid #edf0e9;
}

.surface-sample-item:last-child {
    border-bottom: 0;
}

.surface-sample-title {
    color: #17251f;
    font-weight: 800;
}

.detail-hero {
    grid-template-columns: minmax(0, 1fr) minmax(10rem, 14rem);
}

.surface-detail-layout {
    display: grid;
    grid-template-columns: minmax(18rem, .9fr) minmax(0, 1.2fr);
    gap: 1rem;
    align-items: start;
}

.surface-detail-card {
    padding: 1rem;
}

.surface-photo-panel {
    background:
        radial-gradient(circle at bottom left, rgba(106, 143, 78, .12), transparent 36%),
        #ffffff;
}

.surface-upload-form {
    display: grid;
    gap: .45rem;
    margin-top: .9rem;
}

.detail-photo-grid {
    margin-top: .9rem;
    grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr));
}

.surface-analysis-photo {
    position: relative;
    margin: 0;
}

.surface-analysis-photo figcaption {
    position: absolute;
    right: .35rem;
    bottom: .35rem;
    padding: .15rem .35rem;
    border-radius: 999px;
    background: rgba(23, 37, 31, .78);
    color: #fff;
    font-size: .68rem;
}

.surface-empty-state,
.analysis-lockout {
    padding: .85rem 1rem;
    border: 1px dashed #cfd8ce;
    border-radius: .8rem;
    color: #637066;
    background: #fbfaf6;
}

.analysis-lockout {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .75rem;
    border-style: solid;
    border-color: rgba(167, 134, 82, .38);
    background: rgba(167, 134, 82, .12);
    color: #4c432f;
}

.analysis-result-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
    margin-top: .85rem;
}

.analysis-result-metric {
    padding: .75rem;
    border: 1px solid #edf0e9;
    border-radius: .8rem;
    background: #fbfaf6;
}

.analysis-result-metric span {
    display: block;
    color: #637066;
    font-size: .8rem;
}

.analysis-result-metric strong {
    display: block;
    margin-top: .15rem;
    color: #17251f;
    font-size: 1.1rem;
}

.analysis-summary-text,
.analysis-suitability-text {
    margin: .9rem 0 0;
    color: #31463b;
    line-height: 1.5;
}

.analysis-suitability-text {
    padding-left: .8rem;
    border-left: .25rem solid #a78652;
    color: #5a543f;
}

.analysis-subheading {
    margin: 1rem 0 .55rem;
    color: #20382e;
    font-size: .95rem;
    font-weight: 800;
}

.surface-species-note {
    grid-column: 1 / -1;
    color: #637066;
    font-size: .75rem;
}

.image-quality-list {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.analysis-history-list {
    display: grid;
    gap: .8rem;
}

.analysis-history-item {
    padding: .9rem;
    border: 1px solid #edf0e9;
    border-radius: .8rem;
    background: #fbfaf6;
}

.analysis-history-item__head strong {
    display: block;
    color: #17251f;
}

.analysis-history-summary {
    margin-top: .55rem;
    color: #31463b;
}

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

    .analysis-kpi-grid {
        grid-template-columns: 1fr;
    }

    .analysis-result-summary {
        grid-template-columns: 1fr;
    }
}

.guest-language-dropdown {
    position: relative;
    display: inline-block;
    margin-top: 0.75rem;
    z-index: 30;
}

.guest-language-dropdown[open] {
    z-index: 1200;
}

.guest-language-dropdown__toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.8rem;
    border: 1px solid #d0d7de;
    border-radius: 0.8rem;
    background: #ffffff;
    color: #0f172a;
    font-size: 0.96rem;
    font-weight: 700;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    cursor: pointer;
    list-style: none;
}

.guest-language-dropdown__toggle:hover,
.guest-language-dropdown__toggle:focus,
.guest-language-dropdown[open] .guest-language-dropdown__toggle {
    border-color: #94a3b8;
    background: #f8fafc;
    color: #0f172a;
}

.guest-language-dropdown__toggle::-webkit-details-marker {
    display: none;
}

.guest-language-dropdown__menu {
    position: absolute;
    top: calc(100% + 0.45rem);
    right: 0;
    display: grid;
    gap: 0.2rem;
    min-width: 10.5rem;
    padding: 0.35rem;
    background: #ffffff;
    border-radius: 0.9rem;
    border: 1px solid #d0d7de;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12);
}

.guest-language-dropdown__item {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    border-radius: 0.65rem;
    padding: 0.55rem 0.7rem;
    color: #0f172a;
    font-weight: 600;
    text-decoration: none;
}

.guest-language-dropdown__item.active,
.guest-language-dropdown__item:active,
.guest-language-dropdown__item:hover {
    background: #e8f1ff;
    color: #1d4ed8;
}

.guest-language-dropdown__flag {
    font-size: 1.05rem;
    line-height: 1;
}

.guest-language-dropdown__code {
    min-width: 1.7rem;
    letter-spacing: 0.03em;
}

.guest-language-dropdown__caret {
    width: 0.55rem;
    height: 0.55rem;
    margin-left: 0.05rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-0.08rem);
    transition: transform 0.18s ease;
}

.guest-language-dropdown[open] .guest-language-dropdown__caret {
    transform: rotate(-135deg) translateY(-0.02rem);
}

.guest-language-dropdown__name {
    color: #475569;
    font-weight: 500;
}

.back-to-top-button {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 1080;
    width: 3.25rem;
    height: 3.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: var(--am-brand-ink, #1f2a33);
    color: var(--am-color-white, #ffffff);
    box-shadow: 0 14px 30px rgba(var(--am-color-slate-900-rgb, 31, 42, 51), 0.24);
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease, background-color 0.2s ease;
}

.back-to-top-button:hover {
    background: var(--am-brand-accent, #b97a3d);
}

.back-to-top-button.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

@media (min-width: 576px) {
    .guest-language-dropdown {
        margin-top: 0;
        margin-left: 1rem;
    }
}

.landing-main {
    width: 100%;
    padding: 0;
}

.landing-body {
    margin-bottom: 0;
    background: var(--am-brand-surface);
    color: var(--am-brand-ink);
}

.landing-body .navbar {
    margin-bottom: 0 !important;
    border-bottom: 1px solid var(--am-brand-line-soft) !important;
    background: rgba(var(--am-color-stone-050-rgb), 0.94) !important;
    backdrop-filter: blur(18px);
    box-shadow: 0 10px 30px rgba(var(--am-color-slate-900-rgb), 0.06) !important;
}

.landing-body .navbar .container {
    width: min(1320px, calc(100% - 2rem));
    max-width: none;
}

.landing-body .navbar-brand,
.landing-body .nav-link {
    color: var(--am-brand-ink) !important;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-weight: 700;
}

.landing-body .footer {
    margin-top: 0;
    background: var(--am-brand-ink);
    color: rgba(var(--am-color-stone-050-rgb), 0.78) !important;
    border-top: 0 !important;
}

.landing-body .footer a {
    color: var(--am-brand-accent);
}

.landing-page {
    --landing-forest: var(--am-brand-ink);
    --landing-forest-soft: var(--am-brand-ink-strong);
    --landing-moss: var(--am-brand-support);
    --landing-moss-strong: var(--am-brand-support-strong);
    --landing-sage: var(--am-brand-info);
    --landing-cream: var(--am-brand-surface);
    --landing-card: var(--am-brand-surface-alt);
    --landing-ink: var(--am-brand-ink);
    --landing-muted: var(--am-brand-muted);
    --landing-line: var(--am-brand-line);
    --landing-line-soft: var(--am-brand-line-soft);
    --landing-gold: var(--am-brand-accent);
    --landing-gold-strong: var(--am-brand-accent-strong);
    font-family: "Manrope", "Segoe UI", sans-serif;
}

.landing-shell {
    width: min(1320px, calc(100% - 2rem));
    margin: 0 auto;
}

.landing-hero {
    position: relative;
    overflow: hidden;
    padding: 4.5rem 0 3.5rem;
    background:
        radial-gradient(circle at top right, rgba(var(--am-color-copper-500-rgb), 0.24), transparent 24%),
        radial-gradient(circle at left center, rgba(var(--am-color-sky-500-rgb), 0.18), transparent 28%),
        linear-gradient(135deg, var(--landing-forest) 0%, var(--landing-forest-soft) 52%, var(--landing-moss) 100%);
    color: var(--am-brand-surface-alt);
}

.landing-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
    gap: 2.75rem;
    align-items: center;
}

.landing-hero__copy {
    position: relative;
    z-index: 1;
}

.landing-eyebrow,
.landing-section-label,
.landing-preview-card__eyebrow,
.landing-proof-band__label,
.landing-side-card__label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.landing-eyebrow {
    color: rgba(var(--am-color-stone-050-rgb), 0.92);
    margin-bottom: 1rem;
}

.landing-title,
.landing-section-heading h2,
.landing-tool-card h2,
.landing-proof-band h3 {
    font-family: "Fraunces", Georgia, serif;
    letter-spacing: -0.03em;
}

.landing-title {
    max-width: 14ch;
    margin: 0;
    font-size: clamp(3rem, 5.6vw, 5.4rem);
    line-height: 0.96;
}

.landing-lead {
    max-width: 40rem;
    margin: 1.3rem 0 0;
    font-size: clamp(1.15rem, 1.9vw, 1.5rem);
    line-height: 1.45;
    color: rgba(var(--am-color-stone-050-rgb), 0.88);
}

.landing-body-copy {
    max-width: 38rem;
    margin: 1rem 0 0;
    font-size: 1rem;
    line-height: 1.75;
    color: rgba(var(--am-color-stone-050-rgb), 0.72);
}

.landing-dev-note {
    max-width: 42rem;
    margin-top: 1.35rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(var(--am-color-copper-500-rgb), 0.22);
    border-radius: 1.15rem;
    background: linear-gradient(180deg, rgba(var(--am-color-stone-050-rgb), 0.12), rgba(var(--am-color-stone-050-rgb), 0.06));
    box-shadow: 0 14px 32px rgba(var(--am-color-slate-900-rgb), 0.08);
    backdrop-filter: blur(10px);
}

.landing-dev-note__title {
    color: var(--am-color-white);
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.landing-dev-note__body {
    margin: 0.55rem 0 0;
    color: rgba(var(--am-color-stone-050-rgb), 0.8);
    line-height: 1.65;
}

.landing-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.9rem;
}

.landing-btn-primary,
.landing-btn-secondary,
.landing-tool-card .btn {
    border-radius: 999px;
    padding: 0.95rem 1.45rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.landing-btn-primary {
    background: var(--landing-gold);
    border-color: var(--landing-gold);
    color: var(--am-color-white);
}

.landing-btn-primary:hover {
    background: var(--landing-gold-strong);
    border-color: var(--landing-gold-strong);
    color: var(--am-color-white);
}

.landing-btn-secondary {
    border-color: rgba(var(--am-color-stone-050-rgb), 0.38);
    color: var(--am-brand-surface-alt);
    background: rgba(var(--am-color-stone-050-rgb), 0.06);
}

.landing-btn-secondary:hover {
    background: rgba(var(--am-color-stone-050-rgb), 0.14);
    border-color: rgba(var(--am-color-stone-050-rgb), 0.48);
    color: var(--am-color-white);
}

.landing-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
    margin-top: 2rem;
}

.landing-stat-card {
    padding: 1rem 1.05rem;
    border: 1px solid rgba(var(--am-color-stone-050-rgb), 0.14);
    border-radius: 1.2rem;
    background: rgba(var(--am-color-stone-050-rgb), 0.08);
    backdrop-filter: blur(10px);
}

.landing-stat-card__label {
    display: block;
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(var(--am-color-stone-050-rgb), 0.62);
}

.landing-stat-card__value {
    display: block;
    margin-top: 0.45rem;
    font-size: 1.06rem;
    color: var(--am-brand-surface-alt);
}

.landing-preview-card {
    position: relative;
    border: 1px solid rgba(var(--am-color-stone-050-rgb), 0.18);
    border-radius: 1.75rem;
    padding: 1.2rem;
    background:
        linear-gradient(180deg, rgba(var(--am-color-stone-050-rgb), 0.12), rgba(var(--am-color-stone-050-rgb), 0.06)),
        rgba(var(--am-color-slate-900-rgb), 0.28);
    box-shadow: 0 28px 70px rgba(var(--am-color-slate-900-rgb), 0.24);
    backdrop-filter: blur(18px);
}

.landing-preview-card__header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(var(--am-color-stone-050-rgb), 0.12);
}

.landing-preview-card__eyebrow {
    color: rgba(var(--am-color-copper-500-rgb), 0.88);
    margin-bottom: 0.35rem;
}

.landing-preview-card__title {
    font-size: 1.2rem;
    font-weight: 800;
}

.landing-preview-card__status {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.45rem 0.8rem;
    background: rgba(var(--am-color-olive-500-rgb), 0.16);
    color: #dce8c6;
    font-size: 0.82rem;
    font-weight: 700;
}

.landing-preview-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 1rem;
}

.landing-preview-metric,
.landing-preview-panel,
.landing-side-card,
.landing-feature-card,
.landing-module-card,
.landing-role-card {
    border-radius: 1.35rem;
}

.landing-preview-metric {
    padding: 1rem;
    background: rgba(var(--am-color-stone-050-rgb), 0.08);
    border: 1px solid rgba(var(--am-color-stone-050-rgb), 0.08);
}

.landing-preview-metric span,
.landing-preview-metric small {
    display: block;
}

.landing-preview-metric span {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(var(--am-color-stone-050-rgb), 0.62);
}

.landing-preview-metric strong {
    display: block;
    margin: 0.4rem 0;
    font-size: 1.15rem;
    color: var(--am-color-white);
}

.landing-preview-metric small {
    color: rgba(var(--am-color-stone-050-rgb), 0.72);
}

.landing-preview-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 0.95rem;
}

.landing-preview-panel {
    padding: 1rem;
    background: rgba(var(--am-color-stone-050-rgb), 0.1);
    border: 1px solid rgba(var(--am-color-stone-050-rgb), 0.08);
}

.landing-preview-panel--accent {
    background: linear-gradient(180deg, rgba(var(--am-color-sky-500-rgb), 0.18), rgba(var(--am-color-stone-050-rgb), 0.08));
}

.landing-preview-panel__title {
    font-weight: 800;
    color: var(--am-color-white);
}

.landing-preview-list {
    margin: 0.9rem 0 0;
    padding: 0;
    list-style: none;
}

.landing-preview-list li {
    position: relative;
    padding-left: 1.25rem;
    color: rgba(var(--am-color-stone-050-rgb), 0.76);
}

.landing-preview-list li + li {
    margin-top: 0.5rem;
}

.landing-preview-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55rem;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 999px;
    background: var(--landing-gold);
}

.landing-anchor-nav {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    justify-content: center;
    margin: -1.45rem auto 0;
    padding: 0.9rem;
    border: 1px solid var(--landing-line-soft);
    border-radius: 999px;
    background: rgba(var(--am-color-stone-050-rgb), 0.94);
    box-shadow: 0 18px 42px rgba(var(--am-color-slate-900-rgb), 0.08);
    backdrop-filter: blur(14px);
}

.landing-anchor-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.55rem 0.95rem;
    border-radius: 999px;
    color: var(--landing-ink);
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
}

.landing-anchor-nav a:hover {
    background: rgba(var(--am-color-slate-900-rgb), 0.06);
}

.landing-section {
    padding: 4.75rem 0;
}

.landing-section--muted {
    background: var(--am-brand-surface-muted);
}

.landing-section-heading {
    max-width: 44rem;
    margin-bottom: 2rem;
}

.landing-section-heading--compact {
    margin-bottom: 1.5rem;
}

.landing-section-label,
.landing-proof-band__label,
.landing-side-card__label {
    color: var(--landing-moss);
    margin-bottom: 0.8rem;
}

.landing-section-heading h2 {
    margin: 0;
    font-size: clamp(2.1rem, 4vw, 3.3rem);
    color: var(--landing-forest);
}

.landing-section-heading p,
.landing-feature-card p,
.landing-module-card p,
.landing-role-card p,
.landing-tool-card p,
.landing-proof-band p,
.landing-side-card p,
.landing-timeline-step p {
    color: var(--landing-muted);
    line-height: 1.72;
}

.landing-section-heading p {
    margin: 1rem 0 0;
    font-size: 1.02rem;
}

.landing-card-grid {
    display: grid;
    gap: 1rem;
}

.landing-card-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.landing-feature-card,
.landing-module-card,
.landing-role-card {
    padding: 1.4rem;
    border: 1px solid var(--landing-line);
    background: rgba(251, 248, 242, 0.88);
    box-shadow: 0 16px 38px rgba(var(--am-color-slate-900-rgb), 0.05);
}

.landing-feature-card__icon,
.landing-module-card__icon {
    display: inline-grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1rem;
    border-radius: 0.95rem;
    background: rgba(var(--am-color-copper-500-rgb), 0.12);
    color: var(--landing-gold-strong);
    font-size: 1.15rem;
}

.landing-feature-card h3,
.landing-module-card h3,
.landing-role-card h3,
.landing-timeline-step h3,
.landing-side-card h3,
.landing-proof-band h3 {
    margin: 0;
    font-size: 1.25rem;
    color: var(--landing-forest);
}

.landing-feature-card p,
.landing-module-card p,
.landing-role-card p,
.landing-side-card p,
.landing-proof-band p {
    margin: 0.8rem 0 0;
}

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

.landing-workflow__content {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 1.2rem;
    align-items: start;
}

.landing-timeline {
    display: grid;
    gap: 1rem;
}

.landing-timeline-step {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    padding: 1.35rem;
    border: 1px solid var(--landing-line);
    border-radius: 1.35rem;
    background: rgba(var(--am-color-stone-050-rgb), 0.92);
    box-shadow: 0 16px 38px rgba(var(--am-color-slate-900-rgb), 0.05);
}

.landing-timeline-step__number {
    display: inline-grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: var(--landing-forest);
    color: var(--am-brand-surface-alt);
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.landing-timeline-step p {
    margin: 0.7rem 0 0;
}

.landing-side-stack {
    display: grid;
    gap: 1rem;
}

.landing-side-card {
    padding: 1.5rem;
    border: 1px solid var(--landing-line);
    background: rgba(var(--am-color-stone-050-rgb), 0.9);
    box-shadow: 0 16px 38px rgba(var(--am-color-slate-900-rgb), 0.05);
}

.landing-side-card--dark {
    border-color: rgba(var(--am-color-copper-500-rgb), 0.18);
    background: linear-gradient(180deg, var(--landing-forest), var(--landing-forest-soft));
}

.landing-side-card--dark .landing-side-card__label,
.landing-side-card--dark h3,
.landing-side-card--dark p {
    color: var(--am-brand-surface-alt);
}

.landing-proof-band {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: 1.2rem;
    align-items: center;
    margin-top: 1.2rem;
    padding: 1.5rem;
    border: 1px solid var(--landing-line-soft);
    border-radius: 1.5rem;
    background: linear-gradient(135deg, rgba(var(--am-color-copper-500-rgb), 0.18), rgba(var(--am-color-stone-050-rgb), 0.86));
}

.landing-tool-card {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) auto;
    gap: 1.5rem;
    align-items: center;
    padding: 1.7rem;
    border-radius: 1.75rem;
    background:
        radial-gradient(circle at top right, rgba(var(--am-color-sky-500-rgb), 0.24), transparent 26%),
        linear-gradient(135deg, var(--landing-forest) 0%, var(--landing-forest-soft) 100%);
    color: var(--am-brand-surface-alt);
    box-shadow: 0 30px 70px rgba(var(--am-color-slate-900-rgb), 0.15);
}

.landing-tool-card h2 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3rem);
    color: var(--am-color-white);
}

.landing-tool-card p {
    margin: 1rem 0 0;
    max-width: 38rem;
    color: rgba(var(--am-color-stone-050-rgb), 0.78);
}

.landing-tool-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    justify-content: flex-end;
}

.landing-tool-card .btn-light {
    color: var(--landing-ink);
}

.landing-tool-card .btn-outline-light:hover {
    color: var(--landing-ink);
    background: var(--am-brand-surface-alt);
}

@media (max-width: 1199.98px) {
    .landing-module-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .landing-hero {
        padding-top: 3.8rem;
    }

    .landing-hero__grid,
    .landing-workflow__content,
    .landing-proof-band,
    .landing-tool-card {
        grid-template-columns: 1fr;
    }

    .landing-card-grid--three,
    .landing-preview-metrics,
    .landing-preview-panels {
        grid-template-columns: 1fr;
    }

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

    .landing-tool-card__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 767.98px) {
    .landing-shell {
        width: min(100% - 1.25rem, 1320px);
    }

    .landing-title {
        max-width: none;
        font-size: clamp(2.45rem, 12vw, 3.5rem);
    }

    .landing-stat-grid,
    .landing-module-grid {
        grid-template-columns: 1fr;
    }

    .landing-anchor-nav {
        justify-content: flex-start;
        border-radius: 1.2rem;
    }

    .landing-anchor-nav a {
        width: 100%;
        justify-content: center;
    }

    .landing-timeline-step {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .back-to-top-button {
        transition: none;
    }

    .landing-body .navbar,
    .landing-preview-card,
    .landing-feature-card,
    .landing-module-card,
    .landing-role-card,
    .landing-side-card,
    .landing-tool-card {
        transition: none;
    }
}

.required-tech-gate {
    position: fixed;
    bottom: 1.25rem;
    left: 1.25rem;
    width: min(30rem, calc(100vw - 2.5rem));
    z-index: 1300;
    border: 1px solid rgba(var(--am-color-sky-500-rgb), 0.18);
    border-radius: 1.1rem;
    background: linear-gradient(180deg, rgba(var(--am-color-white-rgb), 0.96), rgba(var(--am-color-stone-050-rgb), 0.94));
    box-shadow: 0 18px 44px rgba(var(--am-color-slate-900-rgb), 0.14);
    backdrop-filter: blur(18px);
}

.required-tech-gate__inner {
    display: block;
    padding: 1rem 1.05rem 0.95rem;
}

.required-tech-gate__body {
    margin: 0;
    font-family: inherit;
    color: var(--am-brand-ink);
    font-size: 0.94rem;
    font-weight: 400;
    line-height: 1.6;
}

.required-tech-gate__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    justify-content: flex-start;
    margin-top: 0.9rem;
}

.required-tech-gate__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    padding: 0.65rem 1rem;
    border-radius: 0.75rem;
    border: 1px solid transparent;
    font-family: inherit;
    font-weight: 700;
    font-size: 0.92rem;
    letter-spacing: normal;
    line-height: 1.2;
    text-decoration: none;
    text-transform: none;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.required-tech-gate__button:hover {
    transform: none;
}

.required-tech-gate__button--primary {
    background: linear-gradient(180deg, #2f6fdd, #2563eb);
    border-color: rgba(37, 99, 235, 0.28);
    color: var(--am-color-white);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.18);
}

.required-tech-gate__button--primary:hover {
    background: linear-gradient(180deg, #2563eb, #1d4ed8);
    border-color: rgba(37, 99, 235, 0.4);
    color: var(--am-color-white);
    box-shadow: 0 14px 24px rgba(37, 99, 235, 0.22);
}

.required-tech-gate__button:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 0.15rem rgba(var(--am-color-white-rgb), 1), 0 0 0 0.35rem rgba(37, 99, 235, 0.28);
}

.required-tech-gate__link {
    font-family: inherit;
    color: #2563eb;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 0.1em;
    text-underline-offset: 0.16em;
}

.required-tech-gate__link:hover {
    color: #1d4ed8;
}

.required-tech-gate__link:focus-visible {
    outline: 2px solid rgba(37, 99, 235, 0.45);
    outline-offset: 0.2rem;
    border-radius: 0.15rem;
}

.required-tech-gate__link--muted {
    color: var(--am-brand-muted);
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
}

.required-tech-gate__link--muted:hover {
    color: var(--am-brand-ink);
    text-decoration: underline;
}

@media (max-width: 575.98px) {
    .required-tech-gate {
        right: 1rem;
        width: auto;
    }

    .required-tech-gate__inner {
        padding: 0.95rem 0.95rem 0.9rem;
    }

    .required-tech-gate__body {
        font-size: 0.92rem;
    }
}

.required-tech-inline-note {
    padding: 0.9rem 1rem;
    border: 1px solid rgba(var(--am-color-sky-500-rgb), 0.24);
    border-radius: 0.9rem;
    background: rgba(var(--am-color-sky-500-rgb), 0.08);
    color: #1e3a5f;
    font-size: 0.95rem;
    line-height: 1.5;
}

.field-index-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    margin-top: 1rem;
}

.field-index-toolbar__filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

.field-index-toolbar__filter {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.6rem;
    padding-inline: 0.95rem;
    border-radius: 0.9rem;
    font-weight: 600;
    box-shadow: 0 1px 2px rgba(var(--am-color-slate-900-rgb), 0.04);
}

.field-index-toolbar__menu {
    border-radius: 0.9rem;
    border-color: rgba(var(--am-color-slate-900-rgb), 0.08);
    box-shadow: 0 16px 36px rgba(var(--am-color-slate-900-rgb), 0.12);
    padding: 0.35rem;
}

.field-index-toolbar__filter-panel {
    min-width: 15rem;
    padding: 0.45rem;
}

.field-index-toolbar__filter-heading {
    padding: 0.35rem 0.8rem 0.25rem;
    color: var(--am-color-slate-600);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.field-index-toolbar__filter-heading--separated {
    margin-top: 0.35rem;
    padding-top: 0.7rem;
    border-top: 1px solid rgba(var(--am-color-slate-900-rgb), 0.08);
}

.field-index-toolbar__menu .dropdown-item {
    border-radius: 0.65rem;
    font-weight: 600;
    padding: 0.55rem 0.8rem;
}

.field-index-toolbar__menu .dropdown-item.active,
.field-index-toolbar__menu .dropdown-item:active {
    background: rgba(var(--am-color-sky-500-rgb), 0.14);
    color: var(--am-color-sky-600);
}

.field-index-toolbar__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--am-page-action-gap);
    margin-left: auto;
    justify-content: flex-end;
}

.field-index-toolbar__icon {
    position: relative;
    min-width: 2.7rem;
    min-height: 2.7rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.9rem;
    padding: 0.55rem 0.8rem;
}

.field-index-toolbar__icon--notify.btn-warning {
    color: #332300;
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.18);
}

.field-index-toolbar__badge {
    position: absolute;
    top: -0.45rem;
    right: -0.45rem;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--am-color-danger, #dc3545);
    color: var(--am-color-white, #fff);
    border: 2px solid var(--am-color-white, #fff);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
}

.page-header-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    margin-top: 1rem;
}

.page-header-toolbar__nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

.page-header-toolbar__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.6rem;
    padding: 0.65rem 0.95rem;
    border: 1px solid rgba(var(--am-color-slate-900-rgb), 0.1);
    border-radius: 0.9rem;
    background: rgba(var(--am-color-white-rgb), 0.92);
    color: var(--am-brand-ink);
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(var(--am-color-slate-900-rgb), 0.04);
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.page-header-toolbar__link:hover {
    border-color: rgba(var(--am-color-sky-500-rgb), 0.28);
    background: rgba(var(--am-color-sky-500-rgb), 0.08);
    color: var(--am-color-sky-600);
}

.page-header-toolbar__link--active {
    border-color: rgba(var(--am-color-sky-500-rgb), 0.28);
    background: rgba(var(--am-color-sky-500-rgb), 0.12);
    color: var(--am-color-sky-600);
    box-shadow: inset 0 0 0 1px rgba(var(--am-color-sky-500-rgb), 0.08);
}

.page-header-toolbar__status-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    min-height: 2.6rem;
    min-width: 12.25rem;
    padding: 0.65rem 0.95rem;
    border: 1px solid rgba(var(--am-color-slate-900-rgb), 0.1);
    border-radius: 0.9rem;
    background: rgba(var(--am-color-white-rgb), 0.92);
    color: var(--am-brand-ink);
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(var(--am-color-slate-900-rgb), 0.04);
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.page-header-toolbar__status-link:hover {
    border-color: rgba(var(--am-color-sky-500-rgb), 0.28);
    background: rgba(var(--am-color-sky-500-rgb), 0.08);
    color: var(--am-color-sky-600);
}

.page-header-toolbar__status-label {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
}

.page-header-toolbar__status-link .badge {
    flex-shrink: 0;
}

button.page-header-toolbar__link,
.page-header-toolbar__button {
    cursor: pointer;
    font: inherit;
}

.page-header-toolbar__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--am-page-action-gap);
}

.page-header-toolbar__icon {
    width: var(--am-page-action-size);
    height: var(--am-page-action-size);
    min-width: var(--am-page-action-size);
    min-height: var(--am-page-action-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--am-page-action-radius);
    padding: 0;
    line-height: 1;
}

.map-shell {
    position: relative;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

.map-canvas {
    height: 400px;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

.field-workspace-map-card {
    min-height: 0;
}

.field-workspace-map-header {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: var(--am-page-action-gap);
}

.field-workspace-map-header > h2 {
    flex: 1 1 auto;
    min-width: 0;
    font-size: var(--am-page-header-title-size);
    font-weight: var(--am-page-header-title-weight);
    line-height: 1.2;
}

.field-workspace-map-header .field-index-toolbar {
    margin-top: 0;
    justify-content: flex-end;
}

.field-workspace-map-header .field-index-toolbar__actions {
    align-items: center;
    gap: var(--am-page-action-gap);
    margin-left: 0;
}

.field-workspace-nav-header {
    margin: .85rem -1.15rem 0;
    padding: .75rem 1.15rem .85rem;
    border-top: 1px solid var(--am-panel-border);
    border-bottom: 1px solid var(--am-panel-border);
    background: var(--am-panel-muted-bg);
}

.card-header > .field-workspace-nav-header:last-child {
    margin-bottom: -1rem;
    border-bottom: 0;
}

.field-workspace-nav-header .field-index-toolbar {
    margin-top: 0;
    justify-content: flex-start;
}

.field-workspace-nav-header .field-index-toolbar__actions {
    align-items: center;
    justify-content: flex-start;
    margin-left: 0;
}

.field-workspace-map-header > .btn,
.field-workspace-map-header .page-info-action > .btn,
.field-workspace-map-header .field-index-toolbar__icon,
.field-workspace-nav-header .field-index-toolbar__icon {
    box-sizing: border-box;
    flex: 0 0 var(--am-page-action-size);
    width: var(--am-page-action-size);
    height: var(--am-page-action-size);
    min-width: var(--am-page-action-size);
    min-height: var(--am-page-action-size);
    max-width: var(--am-page-action-size);
    max-height: var(--am-page-action-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--am-page-action-radius);
    padding: 0;
    line-height: 1;
}

.field-workspace-map-card .card-body {
    min-height: 0;
}

.field-workspace-map-card .card-body > .mb-3 {
    min-height: 0;
    width: 100%;
}

.field-workspace-map-shell {
    height: clamp(560px, calc(100vh - 21rem), 760px);
    min-height: 560px;
    max-width: 100%;
}

.field-workspace-map-canvas {
    height: 100%;
    min-height: 0;
    max-width: 100%;
}

@media (max-width: 767.98px) {
    .field-workspace-map-shell,
    .field-workspace-map-canvas {
        min-height: 520px;
    }

    .field-workspace-map-shell,
    .field-workspace-map-canvas {
        height: 62vh;
    }

}

.map-select-control-spacer {
    width: 1px;
    height: 2.8rem;
    margin: 0.65rem 0 0 0.75rem;
}

.map-select-control {
    width: 11.25rem;
    margin: 0 0 0 0.75rem;
    padding: 0.34rem 0.42rem 0.42rem;
    border-radius: 0.8rem;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(var(--am-color-slate-900-rgb, 15, 23, 42), 0.08);
    box-shadow: 0 5px 14px rgba(var(--am-color-slate-900-rgb, 15, 23, 42), 0.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transform: translate(0, 0);
    touch-action: none;
}

.map-select-control .form-label {
    margin-bottom: 0.18rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: var(--am-brand-ink, #1f2a33);
    text-transform: uppercase;
}

.map-select-control__handle {
    cursor: grab;
    user-select: none;
}

.map-select-control.is-dragging .map-select-control__handle {
    cursor: grabbing;
}

.map-select-control .form-select {
    min-width: 0;
    min-height: 1.95rem;
    padding-block: 0.18rem;
    padding-inline: 0.62rem 1.85rem;
    border-radius: 0.62rem;
    border-color: rgba(var(--am-color-slate-900-rgb, 15, 23, 42), 0.12);
    background-color: rgba(255, 255, 255, 0.96);
    box-shadow: none;
    font-size: 0.84rem;
    font-weight: 600;
}

.map-select-control .form-select:focus {
    border-color: rgba(var(--am-color-sky-500-rgb, 59, 130, 246), 0.5);
    box-shadow: 0 0 0 0.15rem rgba(var(--am-color-sky-500-rgb, 59, 130, 246), 0.16);
}

.map-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.map-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #fff;
    color: inherit;
    border-radius: 999px;
    padding: 0.3rem 0.65rem;
    line-height: 1;
    transition: opacity 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

.map-legend__item:hover {
    border-color: rgba(var(--am-color-sky-500-rgb, 59, 130, 246), 0.35);
    background: rgba(var(--am-color-sky-500-rgb, 59, 130, 246), 0.04);
}

.map-legend__item.is-muted {
    opacity: 0.45;
}

.map-legend__badge {
    min-width: 1.55rem;
}

.map-legend__text {
    font-size: 0.95rem;
}

@media (max-width: 767.98px) {
    .map-select-control-spacer {
        height: 2.55rem;
        margin-left: 0.65rem;
    }

    .map-select-control {
        width: 10rem;
        margin-left: 0.65rem;
        padding: 0.32rem 0.38rem 0.38rem;
    }

    .map-select-control .form-select {
        min-height: 1.85rem;
        font-size: 0.8rem;
    }
}

@media (max-width: 767.98px) {
    .field-index-toolbar {
        align-items: stretch;
    }

    .field-index-toolbar__actions {
        width: 100%;
        justify-content: flex-start;
    }

    .page-header-toolbar {
        align-items: stretch;
    }

    .page-header-toolbar__actions {
        width: 100%;
        justify-content: flex-start;
    }

    .field-workspace-map-header {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 0.75rem;
    }

    .field-workspace-map-header > h2 {
        flex: 0 0 100%;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .field-workspace-map-header .field-index-toolbar {
        flex: 0 0 100%;
        width: 100%;
        justify-content: flex-start;
    }

    .field-workspace-map-header .field-index-toolbar__actions {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .page-header-utility-actions {
        width: 100%;
        flex-wrap: wrap;
        gap: .45rem;
    }

    .page-header-utility-actions > .page-header-action-button,
    .page-header-utility-actions > .page-info-action {
        flex: 1 1 calc(50% - .25rem);
        min-width: 8rem;
    }

    .page-header-action-button,
    .page-header-actions .page-info-action > .btn {
        width: 100%;
        height: auto;
        min-width: 0;
        min-height: 2.85rem;
        max-width: none;
        max-height: none;
        justify-content: center;
        gap: .45rem;
        padding: .6rem .7rem;
        line-height: 1.15;
    }

    .page-header-action-button .page-header-action-label,
    .page-header-actions .page-info-action > .btn .page-header-action-label {
        display: inline-flex;
        min-width: 0;
        overflow-wrap: anywhere;
        text-align: center;
        font-size: .86rem;
        font-weight: 700;
        line-height: 1.1;
    }

    .field-index-toolbar__actions {
        gap: .5rem;
    }

    .field-index-toolbar__icon {
        flex: 1 1 calc(50% - .25rem);
        min-width: 8.25rem;
        min-height: 2.95rem;
        justify-content: center;
        gap: .45rem;
        padding: .65rem .7rem;
        line-height: 1.15;
    }

    .field-index-toolbar__label {
        display: inline-flex;
        min-width: 0;
        overflow-wrap: anywhere;
        text-align: center;
        font-size: .86rem;
        font-weight: 700;
        line-height: 1.1;
    }

    .field-shortcut-nav {
        gap: .45rem;
    }

    .field-shortcut-nav .btn,
    .page-header-actions .field-shortcut-nav .btn,
    .field-page-shortcuts .field-shortcut-nav .btn {
        width: auto;
        height: auto;
        min-width: 7.2rem;
        min-height: 2.75rem;
        max-width: none;
        max-height: none;
        justify-content: center;
        gap: .4rem;
        padding: .55rem .65rem;
        line-height: 1.1;
    }

    .field-shortcut-nav__label {
        display: inline-flex;
        min-width: 0;
        overflow-wrap: anywhere;
        text-align: center;
        font-size: .82rem;
        font-weight: 700;
        line-height: 1.1;
    }

    .card-field .field-shortcut-nav {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
        width: 100%;
    }

    .card-field .field-shortcut-nav .btn {
        width: 100%;
        min-width: 0;
    }

    .field-card-header {
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: .55rem;
        min-height: 0;
    }

    .field-card-header__actions {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(6.25rem, 1fr));
        width: 100%;
        gap: .4rem;
        padding: 0;
        border-radius: 0;
        background: transparent;
    }

    .field-card-header__action {
        width: 100%;
        height: auto;
        min-height: 2.6rem;
        gap: .35rem;
        padding: .5rem .55rem;
        border-radius: .65rem;
        line-height: 1.1;
    }

    .field-card-header__action-label {
        display: inline-flex;
        min-width: 0;
        overflow-wrap: anywhere;
        text-align: center;
        font-size: .8rem;
        font-weight: 700;
        line-height: 1.1;
    }
}

.privacy-page__updated {
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.privacy-page__section + .privacy-page__section {
    margin-top: 2rem;
}

.privacy-page__section h2 {
    margin-bottom: 0.85rem;
    color: var(--am-brand-ink);
    font-size: 1.35rem;
}

.privacy-page__section p:last-child,
.privacy-page__section ul:last-child {
    margin-bottom: 0;
}

.privacy-page__section ul {
    padding-left: 1.2rem;
}

.privacy-page__section li + li {
    margin-top: 0.45rem;
}

@media (max-width: 767.98px) {
    .required-tech-gate {
        right: 0.75rem;
        bottom: 0.75rem;
        left: 0.75rem;
    }

    .required-tech-gate__actions {
        width: 100%;
        justify-content: stretch;
    }

    .required-tech-gate__actions .required-tech-gate__button {
        flex: 1 1 100%;
    }
}

.field-diary {
    display: grid;
    gap: 1.5rem;
}

.field-diary--split {
    grid-template-columns: minmax(18rem, 26rem) minmax(0, 1fr);
    align-items: start;
}

.field-diary-filters {
    display: grid;
    gap: 0.85rem;
}

.field-diary-filters__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: 0.85rem;
}

.field-diary-filters__field {
    display: grid;
    gap: 0.35rem;
}

.field-diary-filters__field > span {
    font-size: 0.8rem;
    font-weight: 700;
    color: #475569;
}

.field-diary-filters__field--toggle {
    align-content: end;
}

.field-diary-filters__field--toggle .form-check-input {
    margin-top: 0.3rem;
    width: 1.2rem;
    height: 1.2rem;
}

.field-diary-filters__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.field-diary--season {
    grid-template-columns: minmax(0, 1fr);
}

.field-diary__timeline-shell {
    border: 1px solid #d8e1ea;
    border-radius: 1.15rem;
    background: linear-gradient(180deg, #f8fbff 0%, #eef4fa 100%);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.field-diary__timeline-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1rem 0.75rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.field-diary__timeline-title {
    font-size: 0.95rem;
    font-weight: 800;
    color: #1e293b;
}

.field-diary__timeline-subtitle {
    margin-top: 0.15rem;
    font-size: 0.82rem;
    color: #64748b;
}

.field-diary__timeline-nav {
    display: flex;
    gap: 0.55rem;
}

.field-diary__timeline-wrap {
    overflow: auto;
    padding: 0 1rem 1rem;
    scrollbar-gutter: stable;
}

.field-diary__timeline-board {
    position: relative;
    min-height: 18rem;
    padding: 3.25rem 0 0.5rem;
}

.field-diary__timeline-axis {
    position: sticky;
    top: 0;
    z-index: 3;
    height: 2.5rem;
    margin: 0 2.75rem 0.75rem;
    background: linear-gradient(180deg, rgba(238, 244, 250, 0.98) 0%, rgba(238, 244, 250, 0.92) 100%);
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.field-diary__timeline-tick {
    position: absolute;
    top: 0.15rem;
    bottom: 0.1rem;
    width: 1px;
    background: rgba(100, 116, 139, 0.18);
}

.field-diary__timeline-tick span {
    position: absolute;
    top: -0.1rem;
    left: 0.45rem;
    white-space: nowrap;
    font-size: 0.76rem;
    font-weight: 700;
    color: #475569;
}

.field-diary__lanes {
    display: grid;
    gap: 1rem;
}

.field-diary__lane-row {
    display: grid;
    gap: 0.45rem;
}

.field-diary__lane-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}

.field-diary__lane-name {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #334155;
}

.field-diary__lane-meta {
    font-size: 0.78rem;
    color: #64748b;
}

.field-diary__lane-track {
    position: relative;
    min-height: 5.7rem;
    margin: 0 2.75rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.94) 100%);
}

.field-diary__range {
    position: absolute;
    top: 1.3rem;
    height: 0.52rem;
    min-width: 0.9rem;
    border-radius: 999px;
    opacity: 0.42;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

.field-diary__range--work {
    background: linear-gradient(90deg, rgba(37, 99, 235, 0.18) 0%, rgba(37, 99, 235, 0.52) 100%);
}

.field-diary__range--diagnostics {
    background: linear-gradient(90deg, rgba(124, 58, 237, 0.18) 0%, rgba(124, 58, 237, 0.5) 100%);
}

.field-diary__range--risk {
    background: linear-gradient(90deg, rgba(220, 38, 38, 0.18) 0%, rgba(220, 38, 38, 0.46) 100%);
}

.field-diary__range--weather {
    background: linear-gradient(90deg, rgba(217, 119, 6, 0.18) 0%, rgba(217, 119, 6, 0.5) 100%);
}

.field-diary__range--notes {
    background: linear-gradient(90deg, rgba(15, 118, 110, 0.18) 0%, rgba(15, 118, 110, 0.48) 100%);
}

.field-diary__marker {
    position: absolute;
    top: 0.7rem;
    transform: translateX(-50%);
    display: inline-flex;
    justify-content: center;
    width: 2rem;
    height: 2.4rem;
    border: none;
    background: transparent;
    padding: 0;
    color: inherit;
    text-align: center;
    z-index: 4;
}

.field-diary__marker--edge-start {
    transform: translateX(0);
    text-align: left;
}

.field-diary__marker--edge-end {
    transform: translateX(-100%);
    text-align: right;
}

.field-diary__marker:focus-visible,
.field-diary__marker:hover {
    outline: none;
}

.field-diary__marker-dot {
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 999px;
    border: 3px solid #fff;
    box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.09), 0 10px 18px rgba(15, 23, 42, 0.12);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.field-diary__marker--cluster .field-diary__marker-dot {
    width: 1.45rem;
    height: 1.45rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.field-diary__marker-count {
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1;
}

.field-diary__marker-label {
    position: absolute;
    top: 1.95rem;
    left: 50%;
    opacity: 0;
    max-width: 12rem;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(148, 163, 184, 0.24);
    font-size: 0.73rem;
    font-weight: 700;
    color: #334155;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.1);
    transform: translate(-50%, 0.35rem);
    transition: opacity 0.16s ease, transform 0.16s ease;
    pointer-events: none;
}

.field-diary__marker--edge-start .field-diary__marker-label {
    left: 0;
    transform: translateY(0.35rem);
}

.field-diary__marker--edge-end .field-diary__marker-label {
    left: auto;
    right: 0;
    transform: translateY(0.35rem);
}

.field-diary__marker--work .field-diary__marker-dot {
    background: #2563eb;
}

.field-diary__marker--diagnostics .field-diary__marker-dot {
    background: #7c3aed;
}

.field-diary__marker--risk .field-diary__marker-dot {
    background: #dc2626;
}

.field-diary__marker--weather .field-diary__marker-dot {
    background: #d97706;
}

.field-diary__marker--notes .field-diary__marker-dot {
    background: #0f766e;
}

.field-diary__marker.is-selected .field-diary__marker-dot,
.field-diary__marker:hover .field-diary__marker-dot,
.field-diary__marker:focus-visible .field-diary__marker-dot {
    transform: scale(1.22);
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.18), 0 14px 26px rgba(15, 23, 42, 0.16);
}

.field-diary__marker.is-selected,
.field-diary__marker:hover,
.field-diary__marker:focus-visible {
    z-index: 8;
}

.field-diary__marker.is-selected .field-diary__marker-label,
.field-diary__marker:hover .field-diary__marker-label,
.field-diary__marker:focus-visible .field-diary__marker-label {
    opacity: 1;
    transform: translate(-50%, 0);
}

.field-diary__marker--edge-start.is-selected .field-diary__marker-label,
.field-diary__marker--edge-start:hover .field-diary__marker-label,
.field-diary__marker--edge-start:focus-visible .field-diary__marker-label,
.field-diary__marker--edge-end.is-selected .field-diary__marker-label,
.field-diary__marker--edge-end:hover .field-diary__marker-label,
.field-diary__marker--edge-end:focus-visible .field-diary__marker-label {
    transform: translateY(0);
}

.field-diary__modal-content {
    border: 1px solid #d8e1ea;
    border-radius: 0.5rem;
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.12);
}

.field-diary__detail-topline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 1rem;
}

.field-diary__detail-time {
    color: #475569;
    font-size: 0.88rem;
    font-weight: 700;
}

.field-diary__detail-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
    margin-bottom: 0.9rem;
}

.field-diary__detail-text {
    white-space: pre-line;
    color: #334155;
    line-height: 1.5;
    font-size: 1rem;
    margin-bottom: 1.25rem;
}

.field-diary__event-list {
    display: grid;
    gap: 0;
    margin-bottom: 1.25rem;
    border-top: 1px solid #e2e8f0;
}

.field-diary__event-row {
    display: grid;
    grid-template-columns: 4.25rem minmax(0, 1fr);
    gap: 0.9rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid #e2e8f0;
}

.field-diary__event-time {
    color: #475569;
    font-size: 0.95rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.45;
}

.field-diary__event-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.65rem;
}

.field-diary__event-title {
    min-width: 12rem;
    flex: 1 1 18rem;
    color: #0f172a;
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.35;
}

.field-diary__event-summary {
    margin: 0.3rem 0 0;
    color: #475569;
    font-size: 0.96rem;
    line-height: 1.45;
}

.field-diary__detail-secondary {
    margin-bottom: 1rem;
    font-size: 0.86rem;
    color: #64748b;
}

.field-diary__detail-secondary span {
    font-weight: 700;
    color: #475569;
}

.field-diary__detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: 0.95rem 1.1rem;
    margin: 0;
}

.field-diary__detail-grid dt {
    margin: 0 0 0.2rem;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.field-diary__detail-grid dd {
    margin: 0;
    color: #1e293b;
    font-weight: 600;
}

.am-file-input-hint {
    display: inline;
    color: #64748b;
    font-size: 0.85rem;
    font-weight: 500;
}

.am-file-input--dragover {
    border-color: rgba(var(--am-color-sky-500-rgb, 59, 130, 246), 0.7);
    box-shadow: 0 0 0 0.18rem rgba(var(--am-color-sky-500-rgb, 59, 130, 246), 0.14);
    background-color: rgba(var(--am-color-sky-500-rgb, 59, 130, 246), 0.04);
}

.field-diary__time,
.field-diary__author {
    color: #64748b;
    font-size: 0.85rem;
}

.field-diary__source {
    color: #475569;
    font-size: 0.8rem;
    font-weight: 700;
}

.field-diary__badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.18rem 0.6rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.field-diary__badge--info {
    background: #dbeafe;
    color: #1d4ed8;
}

.field-diary__badge--success {
    background: #dcfce7;
    color: #15803d;
}

.field-diary__badge--warning {
    background: #fef3c7;
    color: #b45309;
}

.field-diary__badge--danger {
    background: #fee2e2;
    color: #b91c1c;
}

.field-diary__title {
    font-size: 1rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 0.35rem;
}

.field-diary__text {
    white-space: pre-line;
    color: #334155;
    line-height: 1.55;
}

@media (max-width: 991.98px) {
    .field-diary__timeline-toolbar {
        flex-direction: column;
        align-items: start;
        gap: 0.75rem;
    }

    .field-diary__lane-header {
        flex-direction: column;
        align-items: start;
        gap: 0.2rem;
    }
}

@media (max-width: 575.98px) {
    .field-diary__timeline-wrap {
        padding: 0 0.6rem 0.75rem;
    }

    .field-diary__timeline-board {
        min-height: 15rem;
    }

    .field-diary__lane-track {
        margin: 0 1.1rem;
        min-height: 4.6rem;
    }

    .field-diary__marker-dot {
        width: 0.72rem;
        height: 0.72rem;
    }

    .field-diary__marker-label {
        display: none;
        max-width: 7.5rem;
        font-size: 0.68rem;
        line-height: 1.15;
    }

    .field-diary__marker.is-selected .field-diary__marker-label {
        display: block;
    }
}

.requisition-lines {
    display: grid;
    gap: 1rem;
}

.requisition-line-card {
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 1rem;
    padding: 1rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.98) 100%);
}

.requisition-line-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.requisition-detail-block {
    min-height: 3rem;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 0.85rem;
    padding: 0.8rem 0.95rem;
    background: rgba(248, 250, 252, 0.9);
    white-space: pre-line;
    color: #334155;
}

.requisition-summary-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.requisition-summary-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.getting-started-entry {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.98) 100%);
}

.getting-started-entry__title {
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 0.15rem;
}

.getting-started-entry__text {
    color: #475569;
    line-height: 1.45;
}

.getting-started-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.9fr) minmax(280px, 1fr);
    gap: 1.25rem;
    padding: 1.2rem;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 1.15rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 250, 252, 0.98) 100%);
    margin-bottom: 1.5rem;
}

.getting-started-summary__eyebrow {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 0.4rem;
}

.getting-started-summary__title {
    font-size: 1.7rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 0.45rem;
}

.getting-started-summary__body {
    color: #475569;
    line-height: 1.6;
    margin-bottom: 1rem;
    max-width: 52rem;
}

.getting-started-summary__progress {
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 1rem;
    padding: 1rem 1.1rem;
    background: rgba(248, 250, 252, 0.85);
    align-self: start;
}

.getting-started-summary__value {
    font-size: 2rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1;
}

.getting-started-summary__label,
.getting-started-summary__field {
    color: #64748b;
    margin-top: 0.45rem;
}

.getting-started-steps {
    display: grid;
    gap: 1rem;
}

.getting-started-step {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 1rem;
    background: #fff;
}

.getting-started-step--complete {
    border-color: rgba(34, 197, 94, 0.28);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(240, 253, 244, 0.7) 100%);
}

.getting-started-step--current {
    border-color: rgba(59, 130, 246, 0.28);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(239, 246, 255, 0.72) 100%);
}

.getting-started-step--blocked,
.getting-started-step--optional {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.94) 100%);
}

.getting-started-step__order {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    font-weight: 800;
    color: #0f172a;
    background: #e2e8f0;
}

.getting-started-step--complete .getting-started-step__order {
    background: #bbf7d0;
}

.getting-started-step--current .getting-started-step__order {
    background: #bfdbfe;
}

.getting-started-step__header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
}

.getting-started-step__title {
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 0.2rem;
}

.getting-started-step__summary {
    color: #334155;
    line-height: 1.55;
    margin-bottom: 0.4rem;
}

.getting-started-step__state {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.24rem 0.7rem;
    font-size: 0.8rem;
    font-weight: 700;
    white-space: nowrap;
}

.getting-started-step__state--complete {
    background: #dcfce7;
    color: #166534;
}

.getting-started-step__state--current {
    background: #dbeafe;
    color: #1d4ed8;
}

.getting-started-step__state--blocked,
.getting-started-step__state--optional {
    background: #e2e8f0;
    color: #475569;
}

.getting-started-step__meta {
    color: #64748b;
    font-size: 0.9rem;
    margin-bottom: 0.55rem;
}

.getting-started-step__hint {
    color: #475569;
    line-height: 1.55;
    padding: 0.8rem 0.9rem;
    border-radius: 0.85rem;
    background: rgba(248, 250, 252, 0.95);
    border: 1px solid rgba(226, 232, 240, 0.95);
}

.getting-started-step__actions {
    margin-top: 0.9rem;
}

.getting-started-finish {
    margin-top: 1.5rem;
    padding: 1.1rem 1.2rem;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 1rem;
    background: rgba(248, 250, 252, 0.8);
}

.getting-started-finish h4 {
    margin-bottom: 0.45rem;
    color: #0f172a;
}

.getting-started-finish p {
    color: #475569;
    line-height: 1.55;
    margin-bottom: 0.9rem;
}

@media (max-width: 991.98px) {
    .getting-started-summary {
        grid-template-columns: 1fr;
    }

    .getting-started-entry {
        flex-direction: column;
        align-items: start;
    }

.getting-started-step__header {
        flex-direction: column;
        align-items: start;
    }
}

.profile-form {
    display: grid;
    gap: 1.25rem;
}

.profile-form__sections {
    display: grid;
    gap: 1rem;
}

.profile-form__section {
    padding: 1rem 1.1rem 1.15rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.88) 100%);
}

.profile-form__section-header {
    margin-bottom: 0.9rem;
}

.profile-form__section-title {
    margin-bottom: 0.2rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
}

.profile-form__section-text {
    margin-bottom: 0;
    color: #64748b;
    line-height: 1.5;
}

.profile-form__info-tag {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.5rem 0.9rem;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.95);
    color: #334155;
    font-weight: 700;
    line-height: 1.2;
}

.profile-form__image-preview {
    width: 100%;
    max-width: 220px;
    max-height: 220px;
    object-fit: cover;
    border-radius: 1rem;
}

.profile-form__image-preview-wrap {
    display: inline-grid;
    gap: 0.35rem;
}

.profile-form__image-empty {
    width: 220px;
    max-width: 100%;
    aspect-ratio: 1;
    align-items: center;
    justify-content: center;
    border: 1px dashed rgba(148, 163, 184, 0.55);
    border-radius: 1rem;
    background: rgba(248, 250, 252, 0.95);
    color: #64748b;
    font-weight: 700;
    text-align: center;
}

.bg-orange {
    background-color: #f59e0b !important;
}

.snag-location-panel {
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 0.5rem;
    padding: 0.75rem;
    background: rgba(248, 250, 252, 0.72);
}

.snag-location-map {
    width: 100%;
    min-height: 320px;
    border: 1px solid rgba(15, 23, 42, 0.18);
    border-radius: 0.5rem;
    overflow: hidden;
}

.stress-mask-modal-dialog {
    height: calc(100% - var(--bs-modal-margin) * 2);
}

.stress-mask-modal-dialog .modal-content {
    max-height: 100%;
    overflow: hidden;
}

.stress-mask-modal-form {
    display: flex;
    flex-direction: column;
    max-height: 100%;
    min-height: 0;
}

.stress-mask-modal-body {
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.stress-mask-modal-form .modal-header,
.stress-mask-modal-form .modal-footer {
    flex: 0 0 auto;
}

.stress-mask-map {
    height: clamp(320px, 52vh, 520px);
    min-height: 320px;
}

.stress-mask-list-item {
    cursor: pointer;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.stress-mask-list-item:hover,
.stress-mask-list-item:focus-visible {
    background-color: rgba(13, 110, 253, 0.06);
}

.stress-mask-list-item--active {
    background-color: rgba(255, 193, 7, 0.16);
    box-shadow: inset 4px 0 0 #ffc107;
}

@media (max-height: 760px) {
    .stress-mask-map {
        height: 46vh;
        min-height: 260px;
    }
}

.gp-settings {
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(7rem, auto));
    gap: 0.75rem 1rem;
    align-items: end;
    padding: 0.75rem;
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 0.75rem;
    background: rgba(248, 250, 252, 0.72);
}

.gp-settings__field {
    min-width: 7rem;
}

.gp-settings__field .form-label {
    color: #0f172a;
}

.gp-chart {
    height: 220px;
    min-width: 0;
}

[data-image-upload-preview] .dragover {
    outline: 2px dashed var(--bs-primary);
    outline-offset: 2px;
}

.am-image-upload-paste-control {
    color: var(--bs-secondary-color);
    background-color: var(--bs-body-bg);
    cursor: text;
}

.am-image-upload-paste-control:hover,
.am-image-upload-paste-control:focus {
    color: var(--bs-body-color);
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.am-image-upload-row {
    width: 100%;
}

.am-image-upload-plus {
    width: 2.75rem;
    font-size: 1.35rem;
    line-height: 1;
}

@media (max-width: 991.98px) {
    .profile-form__section {
        padding: 0.95rem 1rem 1rem;
    }
}

@media (max-width: 575.98px) {
    .gp-settings {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
        padding: 0.65rem;
        gap: 0.65rem;
    }

    .gp-settings__field {
        min-width: 0;
    }

    .gp-settings__field .form-select,
    .gp-settings__field .form-control {
        width: 100%;
    }

    .gp-chart {
        height: 260px;
        margin-top: 0.75rem;
    }
}

@media (max-width: 359.98px) {
    .gp-settings {
        grid-template-columns: 1fr;
    }
}
/* Work messages */
.work-messages-page-card .card-body {
    min-height: 0;
}

.work-messages-shell {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 1rem;
    height: calc(100dvh - 155px);
    min-height: 520px;
    max-height: calc(100dvh - 155px);
}

.work-messages-page-card .work-messages-shell {
    height: calc(100dvh - 240px);
    max-height: calc(100dvh - 240px);
}

.work-messages-sidebar,
.work-messages-panel {
    border: 1px solid rgba(34, 48, 42, .12);
    background: #fff;
    min-height: 0;
}

.work-messages-sidebar {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.work-messages-sidebar__header,
.work-messages-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-bottom: 1px solid rgba(34, 48, 42, .1);
}

.work-messages-sidebar__header h1,
.work-messages-panel__header h2 {
    margin: 0;
    font-size: 1.35rem;
    line-height: 1.2;
}

.work-messages-sidebar__header p,
.work-messages-panel__header p {
    margin: .25rem 0 0;
    color: #66736d;
    font-size: .9rem;
}

.work-messages-archive-badge {
    display: inline-flex;
    align-items: center;
    margin-left: .5rem;
    padding: .18rem .45rem;
    border-radius: 999px;
    background: #eef0ea;
    color: #677169;
    font-size: .72rem;
    font-weight: 700;
    vertical-align: middle;
}

.work-messages-quick,
.work-messages-new-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(108px, 1fr));
    gap: .45rem;
    padding: .75rem;
}

.work-messages-fixed-chat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .12rem;
    width: 100%;
    min-height: 54px;
    padding: .4rem .25rem;
    border: 1px solid rgba(34, 83, 59, .22);
    border-radius: 8px;
    background: #f6faf8;
    color: #21533b;
    line-height: 1.1;
    text-align: center;
}

.work-messages-fixed-chat span {
    display: block;
    line-height: 1;
}

.work-messages-fixed-chat strong {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: .88rem;
}

.work-messages-fixed-chat:hover {
    background: #e8f4ee;
}

.work-messages-list {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: .5rem;
}

.work-messages-section-title {
    margin: .65rem .75rem .25rem;
    color: #2f4d3f;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.work-messages-section-title--archived {
    margin-top: 1rem;
    color: #7a807b;
}

.work-messages-thread {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: 68px;
    padding: .75rem;
    color: inherit;
    text-decoration: none;
    border-radius: 8px;
}

.work-messages-thread:hover,
.work-messages-thread.active {
    background: #eef6f1;
}

.work-messages-thread--archived {
    opacity: .78;
}

.work-messages-thread--archived:hover,
.work-messages-thread--archived.active {
    background: #f3f4f1;
}

.work-messages-thread--archived .work-messages-thread__icon {
    background: #e7e8e2;
    color: #677169;
}

.work-messages-thread__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #dbece2;
    color: #21533b;
    flex: 0 0 auto;
}

.work-messages-thread__body {
    display: grid;
    min-width: 0;
    flex: 1 1 auto;
}

.work-messages-thread__title {
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.work-messages-thread__preview {
    color: #66736d;
    font-size: .88rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.work-messages-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    min-height: 0;
    overflow: hidden;
}

.work-messages-feed {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    min-height: 0;
    overflow: auto;
    padding: 1rem;
    background: #f7faf8;
    overscroll-behavior: contain;
}

.work-message {
    max-width: min(680px, 82%);
}

.work-message--mine {
    align-self: flex-end;
}

.work-message__meta {
    display: flex;
    gap: .5rem;
    margin: 0 0 .2rem;
    color: #6e7773;
    font-size: .78rem;
}

.work-message--mine .work-message__meta {
    justify-content: flex-end;
}

.work-message__bubble {
    padding: .7rem .85rem;
    border-radius: 8px;
    background: #fff;
    border: 1px solid rgba(34, 48, 42, .1);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.work-message__image {
    display: block;
    max-width: min(320px, 100%);
    max-height: 240px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: .5rem;
}

.work-message__image:only-child {
    margin-bottom: 0;
}

.work-message__image-button {
    display: block;
    max-width: 100%;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    cursor: zoom-in;
    text-align: left;
}

.work-message__image-button:focus-visible {
    outline: 3px solid rgba(0, 95, 74, .35);
    outline-offset: 3px;
}

.work-message-image-modal .modal-body {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: .75rem;
    min-height: min(78vh, 820px);
}

.work-message-image-modal__toolbar {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
}

.work-message-image-modal__stage {
    display: grid;
    place-items: center;
    overflow: auto;
    min-height: 0;
    border-radius: 12px;
    background: #f6f8f5;
}

.work-message-image-modal__image {
    display: block;
    max-width: 100%;
    max-height: 72vh;
    object-fit: contain;
    transition: transform .16s ease;
    transform-origin: center center;
    cursor: zoom-in;
}

.work-message-image-modal__image.is-zoomed {
    max-width: none;
    max-height: none;
    cursor: zoom-out;
}

.work-message--mine .work-message__bubble {
    background: #d9efe3;
    border-color: #b8ddc8;
}

.work-message__translation {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    flex-wrap: wrap;
    margin-top: .65rem;
    font-size: .82rem;
    color: #587064;
}

.work-message__translation-badge {
    border: 1px solid #b8d6c4;
    border-radius: 999px;
    background: #edf7f1;
    color: #145f42;
    font-weight: 700;
    padding: .12rem .5rem;
}

.work-message__translation details {
    min-width: 120px;
}

.work-message__translation summary {
    cursor: pointer;
    color: #0d6efd;
}

.work-message__original {
    margin-top: .4rem;
    padding: .55rem .65rem;
    border-left: 3px solid #b8d6c4;
    background: rgba(255, 255, 255, .55);
    color: #27362f;
    white-space: pre-wrap;
}

.work-messages-composer {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 52px;
    gap: .65rem;
    padding: 1rem;
    border-top: 1px solid rgba(34, 48, 42, .1);
    align-items: center;
}

.work-messages-archived-notice {
    padding: .85rem 1rem;
    border-top: 1px solid rgba(34, 48, 42, .1);
    background: #f8f8f4;
    color: #66736d;
    font-size: .92rem;
}

.work-messages-upload-preview {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) 46px;
    gap: .75rem;
    align-items: center;
    padding: .65rem;
    border: 1px solid rgba(34, 48, 42, .14);
    border-radius: 8px;
    background: #f6faf8;
}

.work-messages-upload-preview[hidden] {
    display: none;
}

.work-messages-upload-preview img {
    width: 58px;
    height: 58px;
    border-radius: 8px;
    object-fit: cover;
    background: #e6efe9;
}

.work-messages-upload-preview div {
    min-width: 0;
}

.work-messages-upload-preview strong,
.work-messages-upload-preview span {
    display: block;
}

.work-messages-upload-preview strong {
    font-size: .9rem;
}

.work-messages-upload-preview span {
    color: #66736d;
    font-size: .84rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.work-messages-attachment {
    position: relative;
    min-width: 52px;
}

.work-messages-attach {
    width: 52px;
    height: 52px;
    min-width: 52px;
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid rgba(34, 48, 42, .18);
    background: #f6faf8;
    color: #0f5132;
    cursor: pointer;
    font-family: "Open Sans", system-ui, sans-serif;
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.work-messages-attach:hover {
    background: #e7f4ee;
    border-color: #b8ddc8;
    color: #0a3622;
}

.work-messages-attachment-picker {
    position: absolute;
    z-index: 20;
    left: 0;
    bottom: calc(100% + .5rem);
    min-width: 12rem;
    padding: .35rem;
    border: 1px solid rgba(34, 48, 42, .14);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 16px 32px rgba(23, 33, 28, .16);
}

.work-messages-attachment-picker[hidden] {
    display: none;
}

.work-messages-attachment-picker button {
    width: 100%;
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .65rem .75rem;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #22302a;
    font: inherit;
    text-align: left;
}

.work-messages-attachment-picker button:hover {
    background: #f1f7f4;
    color: #0f5132;
}

.work-messages-file-input {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    pointer-events: none !important;
}

.work-messages-composer textarea {
    width: 100%;
    height: 52px;
    min-height: 52px;
    max-height: 52px;
    resize: none;
    border: 1px solid rgba(34, 48, 42, .18);
    border-radius: 8px;
    padding: 0 .95rem;
    line-height: 50px;
    overflow: hidden;
}

.work-messages-send {
    width: 52px;
    height: 52px;
    min-width: 52px;
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: #1ec75a;
    color: #07130c;
    font-family: Arial, "Open Sans", system-ui, sans-serif;
    font-size: 0;
    font-weight: 900;
    line-height: 1;
    transition: background-color .15s ease, transform .15s ease;
}

.work-messages-send::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 15px solid #07130c;
    transform: translateX(2px);
}

.work-messages-send:hover {
    background: #18b851;
    transform: translateY(-1px);
}

.work-messages-send:focus-visible,
.work-messages-attach:focus-visible,
.work-messages-attachment-picker button:focus-visible {
    outline: 3px solid rgba(30, 199, 90, .35);
    outline-offset: 2px;
}

.work-messages-upload-preview button {
    width: 46px;
    height: 46px;
    min-width: 46px;
}

.work-messages-empty,
.work-messages-panel__blank {
    color: #66736d;
    padding: 1rem;
}

.work-messages-panel__blank {
    display: grid;
    place-items: center;
    align-content: center;
    text-align: center;
    min-height: 420px;
}

.work-messages-panel__blank h2 {
    margin: .75rem 0 .25rem;
    font-size: 1.35rem;
}

.work-messages-panel__blank-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #e6efe9;
    color: #21533b;
    font-size: 1.35rem;
}

.work-messages-empty--feed {
    align-self: center;
    margin-top: 4rem;
}

.work-messages-contact-list {
    display: grid;
    gap: .4rem;
}

.work-messages-contact {
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    padding: .65rem;
    border: 0;
    border-radius: 8px;
    background: transparent;
    text-align: left;
}

.work-messages-contact:hover {
    background: #eef6f1;
}

.work-messages-contact__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #dbece2;
    color: #21533b;
}

.work-messages-contact small {
    display: block;
    color: #66736d;
}

.field-chat-badge {
    min-width: 1.15rem;
    height: 1.15rem;
    padding: .15rem .32rem;
    font-size: .68rem;
    line-height: .85rem;
}

@media (max-width: 820px) {
    .work-messages-page-card .work-messages-shell,
    .work-messages-shell {
        grid-template-columns: 1fr;
        height: auto;
        max-height: none;
        min-height: 0;
    }

    .work-messages-sidebar,
    .work-messages-panel {
        min-height: auto;
    }

    .work-messages-sidebar {
        max-height: 34dvh;
    }

    .work-messages-panel {
        height: 66dvh;
        min-height: 480px;
    }

    .work-messages-composer {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: .5rem;
        padding: .75rem;
    }
}

.module-preferences {
    max-width: 1180px;
    margin: 0 auto 3rem;
}

.module-preferences__header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.module-preferences__header h1 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
}

.module-preferences__header p {
    margin: .35rem 0 0;
    color: #66736d;
    max-width: 48rem;
}

.module-preferences__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .5rem;
}

.module-preferences__groups {
    display: grid;
    gap: 1.5rem;
}

.module-preferences__group h2 {
    margin: 0 0 .75rem;
    font-size: 1rem;
    font-weight: 800;
    color: #31483b;
    text-transform: uppercase;
    letter-spacing: 0;
}

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

.module-preferences__item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    min-height: 108px;
    margin: 0;
    padding: .9rem;
    border: 1px solid rgba(34, 48, 42, .12);
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.module-preferences__item:hover {
    border-color: rgba(20, 97, 61, .28);
    box-shadow: 0 .5rem 1.2rem rgba(34, 48, 42, .08);
}

.module-preferences__item--soon {
    cursor: not-allowed;
    background: #f7f9f8;
    color: #6b746f;
}

.module-preferences__item--soon:hover {
    border-color: rgba(34, 48, 42, .12);
    box-shadow: none;
}

.module-preferences__icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #e8f3ec;
    color: #21533b;
    font-size: 1.1rem;
}

.module-preferences__item--soon .module-preferences__icon {
    background: #ecefee;
    color: #7a8580;
}

.module-preferences__copy {
    min-width: 0;
}

.module-preferences__title-row {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-width: 0;
}

.module-preferences__title {
    font-weight: 800;
    color: #20372a;
}

.module-preferences__description {
    display: block;
    margin-top: .18rem;
    color: #66736d;
    font-size: .92rem;
    line-height: 1.35;
}

.module-preferences__switch {
    margin: 0;
    min-width: 3rem;
    display: inline-flex;
    justify-content: flex-end;
}

.module-preferences__switch .form-check-input {
    cursor: pointer;
}

.module-preferences__switch .form-check-input:disabled {
    cursor: not-allowed;
}

.module-preferences__saved {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1080;
    margin: 0;
    box-shadow: 0 .75rem 2rem rgba(34, 48, 42, .16);
}

.access-profile-permissions {
    max-width: none;
    margin: 0;
}

.access-profile-modal .modal-content > form {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - var(--bs-modal-margin) * 2);
    min-height: 0;
}

.access-profile-modal .modal-body {
    overflow-y: auto;
}

.access-profile-permissions__copy {
    display: grid;
    grid-template-columns: max-content minmax(220px, 360px) auto;
    gap: .75rem;
    align-items: end;
    margin-bottom: 1rem;
    padding: .85rem;
    border: 1px solid rgba(34, 48, 42, .12);
    border-radius: .5rem;
    background: #fbfcfb;
}

.access-profile-permissions__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.access-profile-permissions__select-all {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin: 0;
    white-space: nowrap;
}

.access-profile-permissions__item {
    cursor: default;
    grid-template-columns: 42px minmax(0, 1fr) 5.75rem;
}

.access-profile-permissions__switches {
    display: grid;
    gap: .45rem;
    justify-items: stretch;
    align-self: center;
    min-width: 5.75rem;
}

.access-profile-permissions__switches .form-check {
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    align-items: center;
    gap: .45rem;
    margin: 0;
    padding-left: 0;
}

.access-profile-permissions__switches .form-check-input {
    float: none;
    margin-left: 0;
    cursor: pointer;
}

.access-profile-permissions__switches .form-check-label {
    font-size: .86rem;
    color: #52645b;
    min-width: 2.1rem;
}

.organization-position-flags {
    display: flex;
    align-items: end;
    gap: 1rem;
    min-height: 100%;
    padding-top: 2rem;
    white-space: nowrap;
}

.organization-position-flags .form-check {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin: 0;
    min-width: max-content;
    padding-left: 0;
}

.organization-position-flags .form-check-input {
    float: none;
    margin: 0;
}

.organization-tree {
    border: 1px solid rgba(var(--am-color-slate-900-rgb), 0.12);
    border-radius: 0.75rem;
    background: rgba(var(--am-color-white-rgb), 0.96);
    overflow: hidden;
}

.organization-tree__header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid rgba(var(--am-color-slate-900-rgb), 0.1);
    background: rgba(var(--am-color-slate-50-rgb), 0.7);
}

.organization-tree__title {
    font-weight: 700;
    color: var(--am-brand-ink);
}

.organization-tree__subtitle {
    color: var(--am-color-slate-600);
    font-size: 0.9rem;
}

.organization-tree__body {
    display: grid;
    gap: 0.35rem;
    padding: 1rem;
}

.organization-tree__row {
    --tree-indent: calc(var(--tree-depth) * 2rem);
    display: grid;
    grid-template-columns: calc(var(--tree-indent) + 1.4rem) minmax(0, 1fr);
    align-items: stretch;
}

.organization-tree__row--inactive {
    opacity: 0.68;
}

.organization-tree__branch {
    position: relative;
}

.organization-tree__branch::after {
    content: "";
    position: absolute;
    left: calc(var(--tree-indent) + 0.65rem);
    top: 50%;
    width: 0.8rem;
    height: 1px;
    background: rgba(var(--am-color-slate-900-rgb), 0.2);
}

.organization-tree__row[style*="--tree-depth:0"] .organization-tree__branch::after {
    display: none;
}

.organization-tree__node {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.8rem 0.9rem;
    border: 1px solid rgba(var(--am-color-slate-900-rgb), 0.1);
    border-radius: 0.6rem;
    background: #fff;
}

.organization-tree__color {
    width: 1rem;
    height: 1rem;
    border-radius: 999px;
    flex: 0 0 auto;
}

.organization-tree__content {
    min-width: 0;
    flex: 1 1 auto;
}

.organization-tree__name {
    font-weight: 700;
    color: var(--am-brand-ink);
}

.organization-tree__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.7rem;
    color: var(--am-color-slate-600);
    font-size: 0.88rem;
}

.organization-tree__badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
}

.organization-tree__members {
    grid-column: 2;
    margin-top: 0.35rem;
    padding: 0.55rem 0.75rem;
    border: 1px dashed rgba(var(--am-color-slate-900-rgb), 0.12);
    border-radius: 0.55rem;
    background: rgba(var(--am-color-slate-50-rgb), 0.42);
}

.organization-tree__members > summary,
.organization-tree__unassigned summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    cursor: pointer;
    color: var(--am-brand-ink);
    font-weight: 700;
    list-style: none;
}

.organization-tree__members > summary::-webkit-details-marker,
.organization-tree__unassigned summary::-webkit-details-marker {
    display: none;
}

.organization-tree__members > summary::before,
.organization-tree__unassigned summary::before {
    content: "+";
    display: inline-grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.25rem;
    border-radius: 999px;
    color: var(--am-color-slate-600);
    background: rgba(var(--am-color-slate-900-rgb), 0.08);
}

.organization-tree__members[open] > summary::before,
.organization-tree__unassigned details[open] summary::before {
    content: "-";
}

.organization-tree__member-list {
    display: grid;
    gap: 0.45rem;
    margin: 0.65rem 0 0;
    padding: 0;
    list-style: none;
}

.organization-tree__member {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0.65rem;
    border: 1px solid rgba(var(--am-color-slate-900-rgb), 0.08);
    border-radius: 0.5rem;
    background: #fff;
}

.organization-tree__member-name {
    font-weight: 700;
    color: var(--am-brand-ink);
}

.organization-tree__member-meta,
.organization-tree__empty {
    color: var(--am-color-slate-600);
    font-size: 0.88rem;
}

.organization-tree__empty {
    padding-top: 0.55rem;
}

.organization-tree__unassigned {
    margin-top: 0.75rem;
    padding: 0.75rem;
    border: 1px solid rgba(255, 193, 7, 0.35);
    border-radius: 0.65rem;
    background: rgba(255, 193, 7, 0.08);
}

@media (max-width: 720px) {
    .module-preferences__header {
        display: grid;
    }

    .module-preferences__actions {
        justify-content: flex-start;
    }

    .module-preferences__item {
        grid-template-columns: 38px minmax(0, 1fr) auto;
        min-height: 0;
    }

    .module-preferences__icon {
        width: 38px;
        height: 38px;
    }

    .access-profile-permissions__toolbar {
        align-items: flex-start;
        display: grid;
    }

    .access-profile-permissions__copy {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .access-profile-permissions__switches {
        justify-items: stretch;
    }

    .organization-position-flags {
        align-items: center;
        padding-top: 0;
    }

    .organization-tree__row {
        --tree-indent: calc(var(--tree-depth) * 1.15rem);
        grid-template-columns: calc(var(--tree-indent) + 1rem) minmax(0, 1fr);
    }

    .organization-tree__node {
        align-items: flex-start;
        flex-direction: column;
    }

    .organization-tree__badges {
        justify-content: flex-start;
    }

    .organization-tree__members {
        grid-column: 1 / -1;
        margin-left: calc(var(--tree-indent) + 1rem);
    }

    .organization-tree__member {
        align-items: flex-start;
        flex-direction: column;
    }
}
