:root {
    --admin-ink: #17231f;
    --admin-muted: #66736d;
    --admin-border: #d9e1dd;
    --admin-surface: #ffffff;
    --admin-background: #f2f6f3;
    --admin-accent: #18794e;
    --admin-accent-dark: #0f5b3a;
    --admin-focus: #d97706;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    color: var(--admin-ink);
    background: var(--admin-background);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.5;
}

a {
    color: inherit;
}

:focus-visible {
    outline: 3px solid var(--admin-focus);
    outline-offset: 3px;
}

.admin-shell {
    display: grid;
    min-height: 100vh;
    grid-template-columns: 252px minmax(0, 1fr);
}

.admin-sidebar {
    position: sticky;
    top: 0;
    align-self: start;
    height: 100vh;
    overflow-y: auto;
    padding: 28px 18px;
    color: #ecf7f0;
    background: #17352a;
}

.admin-brand {
    padding: 0 12px 35px;
}

.admin-brand__logo {
    display: block;
    width: 100%;
    max-width: 216px;
    height: auto;
}

.admin-sidebar nav {
    display: grid;
    gap: 6px;
}

.admin-nav-link {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 10px 12px;
    color: #b9cec3;
    border-radius: 6px;
    text-decoration: none;
}

.admin-nav-link span {
    width: 18px;
    color: #86b69b;
    font-size: 1.1rem;
    text-align: center;
}

.admin-nav-link:hover,
.admin-nav-link.is-active {
    color: #ffffff;
    background: #275340;
}

.admin-nav-link.is-active {
    box-shadow: inset 3px 0 #80d49d;
}

.admin-content {
    min-width: 0;
}

.admin-header {
    position: sticky;
    z-index: 1;
    top: 0;
    display: flex;
    align-items: center;
    gap: 24px;
    min-height: 96px;
    padding: 20px clamp(24px, 5vw, 68px);
    background: var(--admin-surface);
    border-bottom: 1px solid var(--admin-border);
}

.admin-header h1,
.login-card h1,
.admin-intro h2,
.admin-empty-state h2 {
    margin: 0;
    line-height: 1.15;
}

.admin-header h1 {
    font-size: 1.55rem;
}

.admin-header__context,
.eyebrow {
    margin: 0 0 4px;
    color: var(--admin-accent);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.admin-header__account {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-left: auto;
}

.admin-header__username {
    color: var(--admin-muted);
    font-size: .92rem;
}

.admin-main {
    width: 100%;
    min-width: 0;
    padding: clamp(28px, 5vw, 64px);
}

.admin-intro {
    max-width: 650px;
    margin-bottom: 36px;
}

.admin-intro h2 {
    margin-bottom: 12px;
    font-size: 2.15rem;
}

.admin-intro p:last-child,
.admin-empty-state p,
.login-lead {
    margin: 0;
    color: var(--admin-muted);
}

.admin-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.admin-dashboard-section {
    margin-top: 42px;
}

.admin-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.admin-metric {
    display: grid;
    gap: 8px;
    padding: 20px;
    color: inherit;
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    border-radius: 7px;
    text-decoration: none;
}

.admin-metric:hover {
    border-color: #9fc8ad;
}

.admin-metric__label {
    color: var(--admin-muted);
    font-size: .9rem;
}

.admin-metric__value {
    font-size: 1.8rem;
    line-height: 1;
}

.admin-empty-state--compact {
    padding: 24px;
}

.admin-empty-state--compact h3 {
    margin: 0 0 6px;
}

.admin-action {
    position: relative;
    display: grid;
    gap: 7px;
    min-height: 150px;
    padding: 24px;
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    border-radius: 7px;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.admin-action:hover {
    border-color: #9fc8ad;
    box-shadow: 0 8px 24px rgba(23, 53, 42, .08);
    transform: translateY(-2px);
}

.admin-action__label {
    font-size: 1.08rem;
    font-weight: 750;
}

.admin-action__description {
    max-width: 32ch;
    color: var(--admin-muted);
    font-size: .92rem;
}

.admin-action__arrow {
    align-self: end;
    color: var(--admin-accent);
    font-size: 1.25rem;
}

.admin-import-history-entry {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 42px;
    padding-top: 28px;
    border-top: 1px solid var(--admin-border);
}

.admin-import-history-entry h2 {
    margin: 0 0 6px;
    font-size: 1.35rem;
}

.admin-import-history-entry p:last-child {
    margin: 0;
    color: var(--admin-muted);
}

.admin-button {
    min-height: 40px;
    padding: 9px 15px;
    border: 1px solid transparent;
    border-radius: 6px;
    font: inherit;
    font-size: .9rem;
    font-weight: 700;
    cursor: pointer;
}

.admin-button--primary {
    color: white;
    background: var(--admin-accent);
}

.admin-button--primary:hover {
    background: var(--admin-accent-dark);
}

.admin-button--quiet {
    color: var(--admin-accent-dark);
    background: transparent;
    border-color: var(--admin-border);
}

.admin-button--quiet:hover {
    background: #eef6f0;
}

.admin-form,
.admin-summary {
    width: 100%;
    padding: 28px;
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    border-radius: 7px;
}

.admin-import-links { display: flex; flex-wrap: wrap; gap: 10px; }
.admin-import-preview { margin-top: 32px; padding: 28px; background: var(--admin-surface); border: 1px solid var(--admin-border); border-radius: 7px; }
.admin-import-preview__header { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; margin-bottom: 24px; }
.admin-import-preview__header h2 { margin: 0 0 6px; }
.admin-import-preview__header p:last-child { margin: 0; color: var(--admin-muted); }
.admin-status { display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; font-size: .82rem; font-weight: 700; }
.admin-status--info { color: #155e75; background: #e0f2fe; }
.admin-import-modules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 24px; }
.admin-import-module { display: flex; gap: 12px; align-items: flex-start; padding: 18px; border: 1px solid var(--admin-border); border-radius: 7px; cursor: pointer; }
.admin-import-module:has(input:checked) { border-color: #8ac7a5; background: #f1faf4; box-shadow: inset 3px 0 var(--admin-accent); }
.admin-import-module input { margin-top: 4px; accent-color: var(--admin-accent); }
.admin-import-module span { display: grid; gap: 5px; }
.admin-import-module small { color: var(--admin-muted); }
.admin-import-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.admin-import-summary-grid > div { padding: 20px; background: #f8fbf9; border: 1px solid var(--admin-border); border-radius: 7px; }
.admin-import-summary-grid h3 { margin: 0 0 14px; }
.admin-import-summary-grid dl { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; margin: 0; }
.admin-import-summary-grid dt { color: var(--admin-muted); }
.admin-import-summary-grid dd { margin: 0; font-weight: 700; }
.admin-import-actions { margin-top: 24px; }
.admin-import-cancel { margin-top: 10px; }
.admin-import-result { margin-bottom: 28px; }
.admin-import-result__module { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--admin-border); }
.admin-import-result__module h3 { margin: 0 0 10px; }
.admin-import-result__module dl { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; margin: 0; }
.admin-import-result__module dt { color: var(--admin-muted); }
.admin-import-result__module dd { margin: 0; font-weight: 700; }
.admin-import-new-file { margin-top: 0; }
.admin-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 24px 0; }
.admin-kpi { display: grid; gap: 8px; padding: 18px; background: var(--admin-surface); border: 1px solid var(--admin-border); border-radius: 7px; }
.admin-kpi span, .admin-detail-grid dt { color: var(--admin-muted); font-size: .86rem; }
.admin-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; }
.admin-detail-grid div { padding: 16px; background: #f8fbf9; border: 1px solid var(--admin-border); border-radius: 7px; }
.admin-detail-grid dd { margin: 6px 0 0; overflow-wrap: anywhere; font-size: .9rem; }
.admin-summary-list { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 0 0 24px; padding: 16px 18px; background: var(--admin-surface); border: 1px solid var(--admin-border); border-radius: 7px; }
.admin-summary-list span { color: var(--admin-muted); }
.admin-summary-list strong { color: var(--admin-ink); }
@media (max-width: 800px) { .admin-kpi-grid, .admin-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.admin-import-attention { margin-top: 18px; overflow-x: auto; }
.admin-import-attention h4 { margin: 0 0 10px; }
.admin-import-attention .admin-table { min-width: 640px; }
@media (max-width: 760px) { .admin-import-modules, .admin-import-summary-grid { grid-template-columns: 1fr; } .admin-import-preview__header { display: block; } .admin-import-preview__header .admin-status { margin-top: 14px; } }

.admin-form {
    display: grid;
    gap: 24px;
    max-width: 720px;
}

.admin-form__field {
    display: grid;
    gap: 8px;
}

.admin-form label {
    font-size: .9rem;
    font-weight: 750;
}

.admin-form select,
.admin-form input[type="file"],
.admin-form input[type="time"],
.admin-form input[type="text"] {
    width: 100%;
    min-height: 44px;
    padding: 9px 11px;
    color: var(--admin-ink);
    background: #fbfdfb;
    border: 1px solid #b8c8be;
    border-radius: 5px;
    font: inherit;
}

.admin-form__help {
    margin: 0;
    color: var(--admin-muted);
    font-size: .86rem;
}

.admin-summary {
    margin-top: 24px;
}

.admin-summary h2 {
    margin: 0 0 18px;
    font-size: 1.25rem;
}

.admin-summary dl {
    display: grid;
    gap: 10px;
    margin: 0;
}

.admin-summary dl div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--admin-border);
}

.admin-summary dt {
    color: var(--admin-muted);
}

.admin-summary dd {
    margin: 0;
    font-weight: 750;
}

.admin-empty-state {
    max-width: 680px;
    padding: 42px;
    text-align: center;
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    border-radius: 7px;
}

.admin-empty-state__icon {
    display: grid;
    width: 52px;
    height: 52px;
    margin: 0 auto 18px;
    place-items: center;
    color: var(--admin-accent);
    background: #e5f3e9;
    border-radius: 50%;
    font-size: 1.45rem;
}

.admin-empty-state h2 {
    margin-bottom: 10px;
    font-size: 1.35rem;
}

.admin-menu-button,
.admin-menu-backdrop {
    display: none;
}

.admin-login-page {
    display: grid;
    width: 100%;
    min-height: 100vh;
    overflow-x: hidden;
    padding: 24px;
    place-items: center;
    background: #17352a;
}

.login-card {
    width: min(100%, 430px);
    padding: clamp(28px, 6vw, 48px);
    background: var(--admin-surface);
    border-radius: 8px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .18);
}

.login-card h1 {
    margin-bottom: 10px;
    font-size: 2rem;
}

.login-brand__logo {
    display: block;
    width: min(100%, 300px);
    height: auto;
    margin: 0 auto 26px;
    object-fit: contain;
}

.login-lead {
    margin-bottom: 28px;
}

.login-form {
    display: grid;
    gap: 9px;
}

.login-form label {
    margin-top: 9px;
    font-size: .88rem;
    font-weight: 700;
}

.login-form input:not([type="hidden"]) {
    width: 100%;
    min-height: 44px;
    padding: 9px 11px;
    color: var(--admin-ink);
    background: #fbfdfb;
    border: 1px solid #b8c8be;
    border-radius: 5px;
    font: inherit;
}

.login-form .admin-button {
    margin-top: 17px;
}

.admin-alert {
    margin: 0 0 18px;
    padding: 11px 13px;
    color: #8e241d;
    background: #fff0ee;
    border: 1px solid #f0c7c2;
    border-radius: 5px;
    font-size: .9rem;
}

.admin-alert--success {
    color: var(--admin-accent-dark);
    background: #eaf7ed;
    border-color: #b9ddc2;
}

.admin-alert--warning {
    color: #6d4b00;
    background: #fff8df;
    border-color: #ead58a;
}

.admin-page-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.admin-page-heading h2 {
    margin: 0;
    font-size: 1.55rem;
}

.admin-page-heading__description {
    max-width: 38ch;
    margin: 0;
    color: var(--admin-muted);
    font-size: .9rem;
}

.admin-search {
    display: grid;
    gap: 8px;
    margin-bottom: 24px;
}

.admin-search label {
    font-size: .9rem;
    font-weight: 750;
}

.admin-search__controls {
    display: flex;
    gap: 10px;
}

.admin-search input {
    width: min(100%, 480px);
    min-height: 42px;
    padding: 9px 11px;
    color: var(--admin-ink);
    background: var(--admin-surface);
    border: 1px solid #b8c8be;
    border-radius: 5px;
    font: inherit;
}

.admin-table-wrap {
    overflow-x: auto;
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    border-radius: 7px;
}

.admin-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    font-size: .9rem;
}

.admin-table th,
.admin-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--admin-border);
    text-align: left;
    vertical-align: middle;
}

.admin-table th {
    color: var(--admin-muted);
    background: #f8fbf9;
    font-size: .76rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.admin-table tbody tr:last-child td {
    border-bottom: 0;
}

.admin-table__primary,
.admin-table__secondary,
.admin-table__id {
    display: block;
}

.admin-table__primary {
    color: var(--admin-accent-dark);
    font-weight: 750;
}

.admin-table__secondary {
    color: var(--admin-ink);
}

.admin-table__id {
    margin-top: 3px;
    color: var(--admin-muted);
    font-size: .73rem;
    overflow-wrap: anywhere;
}

.admin-import-history-table {
    min-width: 900px;
}

.admin-import-history-table__action {
    white-space: nowrap;
}

.admin-import-history-table__action .admin-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    white-space: nowrap;
}

.admin-import-pending-link {
    color: var(--admin-accent-dark);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.admin-status {
    display: inline-block;
    padding: 4px 8px;
    color: var(--admin-accent-dark);
    background: #e5f3e9;
    border-radius: 4px;
    font-size: .78rem;
    font-weight: 750;
}

.admin-status--inactive {
    color: #8e5313;
    background: #fff3dc;
}

.admin-filters {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    margin: 24px 0;
    padding: 16px;
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    border-radius: 7px;
}

.admin-filters label,
.admin-status-form label {
    display: grid;
    gap: 6px;
    color: var(--admin-muted);
    font-size: .86rem;
    font-weight: 700;
}

.admin-filters select,
.admin-status-form select {
    min-width: 170px;
    padding: 9px 10px;
    color: var(--admin-ink);
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    border-radius: 5px;
    font: inherit;
}

.admin-detail__text {
    margin: 28px 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.admin-detail__text h3 {
    margin: 0 0 8px;
    font-size: 1rem;
}

.admin-detail__text p {
    margin: 0;
}

.admin-status-form {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    padding-top: 22px;
    border-top: 1px solid var(--admin-border);
}

.admin-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 18px;
    color: var(--admin-muted);
    font-size: .9rem;
}

.admin-back-link {
    color: var(--admin-accent-dark);
    font-weight: 700;
}

.admin-detail {
    max-width: 760px;
    padding: 28px;
    background: var(--admin-surface);
    border: 1px solid var(--admin-border);
    border-radius: 7px;
}

.admin-detail-list {
    display: grid;
    gap: 0;
    margin: 28px 0;
}

.admin-detail-list div {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 18px;
    padding: 12px 0;
    border-bottom: 1px solid var(--admin-border);
}

.admin-detail-list dt {
    color: var(--admin-muted);
    font-weight: 700;
}

.admin-detail-list dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-detail__actions {
    display: flex;
    justify-content: flex-end;
}

.admin-button--danger {
    color: #ffffff;
    background: #a83b32;
}

.admin-button--danger:hover {
    background: #842c25;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 720px) {
    .admin-filters,
    .admin-status-form {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-filters select,
    .admin-status-form select,
    .admin-filters button,
    .admin-status-form button {
        width: 100%;
    }
    .admin-shell {
        display: block;
    }

    .admin-sidebar {
        position: fixed;
        z-index: 3;
        inset: 0 auto 0 0;
        width: min(82vw, 280px);
        transform: translateX(-100%);
        transition: transform .2s ease;
    }

    body.admin-menu-open .admin-sidebar {
        transform: translateX(0);
    }

    .admin-menu-backdrop {
        padding: 0;
        position: fixed;
        z-index: 2;
        inset: 0;
        width: 100%;
        border: 0;
        background: rgba(13, 32, 24, .44);
    }

    body.admin-menu-open .admin-menu-backdrop {
        display: block;
    }

    .admin-header {
        align-items: center;
        gap: 10px;
        min-height: 68px;
        padding: 12px 16px;
    }

    .admin-header > div:not(.admin-header__account) {
        min-width: 0;
        flex: 1 1 auto;
    }

    .admin-header__context {
        display: none;
    }

    .admin-header h1 {
        overflow: hidden;
        font-size: 1.15rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .admin-menu-button {
        display: grid;
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
        place-items: center;
        color: var(--admin-accent-dark);
        border: 1px solid var(--admin-border);
        border-radius: 6px;
        cursor: pointer;
        font-size: 1.25rem;
    }

    .admin-header__account {
        align-items: center;
        flex: 0 0 auto;
        flex-direction: row;
        gap: 8px;
    }

    .admin-header__username {
        max-width: 8ch;
        overflow: hidden;
        font-size: .8rem;
        text-overflow: ellipsis;
        white-space: nowrap;
        text-align: right;
    }

    .admin-header__account .admin-button {
        min-height: 36px;
        padding: 7px 9px;
        font-size: .8rem;
        white-space: nowrap;
    }

    .admin-main {
        padding: 28px 20px 40px;
    }

    .admin-actions {
        grid-template-columns: 1fr;
    }

    .admin-metrics {
        grid-template-columns: 1fr;
    }

    .admin-page-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-import-history-entry {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-search__controls {
        flex-wrap: wrap;
    }

    .admin-search input {
        width: 100%;
    }

    .admin-pagination {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-detail {
        padding: 20px;
    }

    .admin-detail-list div {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}
:root .admin-main.investment-wizard { width: 100%; max-width: none; }
.investment-wizard__section { margin: 24px 0; min-width: 0; }
.investment-wizard__steps { display: flex; list-style: none; padding: 0; gap: 24px; margin: 24px 0; flex-wrap: wrap; }
.investment-wizard__steps li { display: flex; align-items: center; gap: 8px; color: #596674; }
.investment-wizard__steps span { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #cbd5da; border-radius: 50%; }
.investment-wizard__steps .is-current { color: #076843; font-weight: 700; }
.investment-wizard__steps .is-current span, .investment-wizard__steps .is-complete span { background: #08754b; color: white; border-color: #08754b; }
.investment-wizard select, .investment-wizard input[type="search"] { min-height: 42px; border: 1px solid #bdcbd2; border-radius: 5px; background: #fff; padding: 8px 12px; font: inherit; width: 100%; }
.investment-wizard select:focus-visible, .investment-wizard input:focus-visible, .investment-wizard a:focus-visible { outline: 2px solid #08754b; outline-offset: 3px; }
.investment-wizard .admin-table { min-width: 0; width: 100%; table-layout: fixed; }
.investment-wizard .admin-table td, .investment-wizard .admin-table th { overflow-wrap: anywhere; padding: 12px; }
.investment-wizard small { color: #586976; font-size: 12px; }
.investment-wizard__brokers th:first-child { width: 30%; }
.investment-wizard__brokers th:last-child { width: 28%; }
.investment-wizard .admin-table--investment-preview th:nth-child(1) { width: 10%; }
.investment-wizard .admin-table--investment-preview th:nth-child(2) { width: 14%; }
.investment-wizard .admin-table--investment-preview th:nth-child(3) { width: 7%; }
.investment-wizard .admin-table--investment-preview th:nth-child(4) { width: 21%; }
.investment-wizard .admin-table--investment-preview th:nth-child(5) { width: 12%; }
.investment-wizard .admin-table--investment-preview th:nth-child(6) { width: 14%; }
.investment-wizard .admin-table--investment-preview th:nth-child(7) { width: 22%; }
.investment-wizard__default { margin: 24px 0; max-width: 560px; }
.investment-wizard__default label, .investment-wizard__filters label { display: block; font-weight: 600; margin-bottom: 6px; }
.investment-wizard__kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.investment-wizard__kpi { padding: 20px; border: 1px solid #c7d4dc; border-radius: 6px; background: #f1f7fc; }
.investment-wizard__kpi strong { display: block; font-size: 28px; color: #15212b; }
.investment-wizard__kpi.is-ready { background: #edf9f3; border-color: #b3dac7; }
.investment-wizard__kpi.is-review { background: #fff9e9; border-color: #eadba8; }
.investment-wizard__kpi.is-invalid { background: #fff1f2; border-color: #e6c1c6; }
.investment-wizard__overview { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; margin: 28px 0; border-top: 1px solid #d4dedf; border-bottom: 1px solid #d4dedf; padding: 20px 0; }
.investment-wizard__overview dl { margin: 0; }
.investment-wizard__overview dl div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid #e0e7e9; }
.investment-wizard__overview dt small { display: block; }
.investment-wizard__overview dd { margin: 0; font-weight: 700; }
.investment-wizard__filters { display: grid; grid-template-columns: 1fr 1fr 2fr 1.5fr 1fr auto; gap: 12px; align-items: end; margin: 24px 0; }
.investment-wizard__filters > div { min-width: 0; }
.investment-wizard__badge { display: inline-block; border-radius: 4px; padding: 4px 7px; font-size: 12px; font-weight: 600; background: #eef2f4; }
.investment-wizard__badge.is-ready { color: #075731; background: #ddf4e7; }
.investment-wizard__badge.is-invalid { color: #7d2432; background: #fbe6ea; }
.investment-wizard__badge.is-ambiguous, .investment-wizard__badge.is-incompatible { color: #6b4800; background: #fff2c9; }
.investment-wizard__pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.investment-wizard__pagination span { margin-right: auto; }
.investment-wizard__section > form { margin: 16px 0; }
.investment-wizard__sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 1100px) { .investment-wizard__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .investment-wizard__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .investment-wizard__overview { grid-template-columns: 1fr; } .investment-wizard .admin-table { min-width: 760px; } }
@media (max-width: 480px) { .investment-wizard__filters { grid-template-columns: 1fr; } .investment-wizard__steps { gap: 12px; } }
.investment-price-import { width: 100%; }
.investment-price-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:24px 0; }
.investment-price-kpis > div { border:1px solid #c7d4dc; border-radius:6px; padding:18px; background:#f1f7fc; }
.investment-price-kpis strong { display:block; font-size:28px; color:#15212b; }
.investment-price-kpis span { color:#586976; }
.investment-price-kpis .is-ready { background:#edf9f3; border-color:#b3dac7; }
.investment-price-kpis .is-review { background:#fff9e9; border-color:#eadba8; }
.investment-price-kpis .is-invalid { background:#fff1f2; border-color:#e6c1c6; }
.investment-price-causes { border:1px solid #d4dedf; border-radius:6px; padding:20px; margin:24px 0; }
.investment-price-causes dl { margin:0; }
.investment-price-causes dl div { display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid #e0e7e9; padding:8px 0; }
.investment-price-causes dd { margin:0; font-weight:700; }
.investment-price-filters { display:grid; grid-template-columns:1fr 1fr 2fr 1fr auto; gap:12px; align-items:end; margin:24px 0; }
.investment-price-filters label { display:grid; gap:6px; font-weight:600; }
.investment-price-filters input, .investment-price-filters select { min-height:42px; border:1px solid #bdcbd2; border-radius:5px; padding:8px 12px; font:inherit; background:#fff; }
.investment-price-table { min-width:1000px; }
.admin-form-stack { display:grid; gap:8px; min-width:220px; margin:0 0 16px; }
.admin-form-stack label { display:grid; gap:5px; font-size:13px; }
.admin-form-stack label:has(input[type="checkbox"]) { display:flex; align-items:flex-start; }
.admin-form-stack input:not([type="checkbox"]) { min-height:36px; max-width:280px; border:1px solid #bdcbd2; border-radius:4px; padding:6px 9px; font:inherit; }
.admin-form-stack input[type="checkbox"] { margin:3px 7px 0 0; }
.admin-form-stack + .admin-form-stack { padding-top:12px; border-top:1px solid #e0e7e9; }
@media (max-width: 900px) { .investment-price-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } .investment-price-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 480px) { .investment-price-kpis, .investment-price-filters { grid-template-columns:1fr; } }

.usd-benchmark-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 20px; border-bottom:1px solid #d4dedf; }
.usd-benchmark-tabs a { display:inline-flex; align-items:center; min-height:42px; padding:8px 14px; color:#354550; text-decoration:none; border-bottom:3px solid transparent; }
.usd-benchmark-tabs a:hover { background:#f1f7f5; }
.usd-benchmark-tabs a.is-active { color:#075c3f; border-color:#08754b; font-weight:700; }
.usd-benchmark-tabs a:focus-visible, .usd-month-picker :focus-visible, .usd-month-navigation a:focus-visible, .usd-action-details summary:focus-visible, .usd-day-entry summary:focus-visible, .usd-audit-disclosure > summary:focus-visible { outline:2px solid #08754b; outline-offset:3px; }
.usd-benchmark-period-heading, .usd-section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.usd-benchmark-period-heading h2, .usd-section-heading h2 { margin-top:0; }
.usd-benchmark-period-heading p, .usd-section-heading p { max-width:760px; color:#586976; }
.usd-month-navigation { display:flex; gap:8px; flex-wrap:wrap; }
.usd-month-picker { display:grid; grid-template-columns:auto minmax(180px,260px) auto; align-items:center; justify-content:start; gap:10px; margin-top:18px; }
.usd-month-picker label { font-weight:600; }
.usd-month-picker input { min-height:40px; border:1px solid #bdcbd2; border-radius:4px; padding:7px 10px; font:inherit; background:white; }
.usd-benchmark-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.usd-summary-card { min-width:0; }
.usd-summary-card h2 { margin-top:0; }
.usd-quote-value { margin:10px 0 18px; color:#075c3f; font-size:30px; font-weight:700; overflow-wrap:anywhere; }
.usd-quote-value small { color:#52636d; font-size:15px; font-weight:600; }
.usd-metadata-list { display:grid; gap:0; margin:12px 0; }
.usd-metadata-list > div { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr); gap:10px; padding:8px 0; border-bottom:1px solid #e1e8e9; }
.usd-metadata-list dt { color:#53636c; font-size:13px; }
.usd-metadata-list dd { margin:0; font-weight:600; overflow-wrap:anywhere; }
.usd-metadata-list--columns { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
.usd-metadata-list--columns > div { grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr); }
.usd-wrap { overflow-wrap:anywhere; }
.usd-data-note, .usd-blocked-note { padding:10px 12px; border-left:3px solid #a67c00; background:#fff8e5; color:#51431c; }
.usd-action-details { margin:12px 0; padding:12px; border:1px solid #d4dedf; border-radius:5px; }
.usd-action-details > summary { cursor:pointer; color:#075c3f; font-weight:700; }
.usd-action-details > p { color:#586976; }
.usd-action-details textarea, .usd-action-details select { width:100%; max-width:460px; min-height:38px; padding:7px 9px; border:1px solid #bdcbd2; border-radius:4px; font:inherit; }
.usd-confirm { align-items:flex-start; }
.usd-confirm input { flex:0 0 auto; }
.usd-cycle-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:14px 0 20px; }
.usd-cycle-summary > div { min-width:0; padding:12px; background:#f1f7f5; border:1px solid #d6e4dc; border-radius:5px; }
.usd-cycle-summary dt { color:#53636c; font-size:13px; }
.usd-cycle-summary dd { margin:5px 0 0; font-weight:700; overflow-wrap:anywhere; }
.usd-count-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:18px 0 24px; }
.usd-count-summary article { display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; padding:12px 14px; border:1px solid #d4dedf; border-radius:5px; background:#f7f9f9; }
.usd-count-summary article span { color:#53636c; font-size:13px; }
.usd-count-summary article strong { color:#075c3f; font-size:20px; }
.usd-count-summary > p { grid-column:1 / -1; margin:0; color:#586976; font-size:13px; }
.usd-list-heading { margin:0 0 4px; font-size:17px; }
.usd-list-intro { margin:0 0 14px; color:#586976; }
.usd-day-list { display:grid; gap:9px; }
.usd-day-entry { border:1px solid #d4dedf; border-radius:5px; overflow:hidden; }
.usd-day-entry > summary { display:flex; align-items:center; gap:12px; flex-wrap:wrap; min-height:50px; padding:10px 14px; cursor:pointer; list-style-position:inside; }
.usd-day-entry > summary:hover { background:#f6f9f8; }
.usd-day-date { min-width:95px; font-weight:700; }
.usd-day-entry > summary > strong { margin-left:auto; color:#075c3f; }
.usd-state-badge { display:inline-flex; padding:4px 8px; border-radius:4px; background:#eef2f4; color:#42545e; font-size:12px; font-weight:700; }
.usd-state-badge.is-ok { background:#ddf4e7; color:#075731; }
.usd-state-badge.is-warning { background:#fff2c9; color:#674900; }
.usd-day-content { padding:12px 16px 16px; border-top:1px solid #e1e8e9; }
.usd-candidate-card { margin:14px 0; padding:14px; background:#fff9e9; border:1px solid #eadba8; border-radius:5px; }
.usd-candidate-card h3 { margin:0; font-size:16px; }
.usd-candidate-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.usd-attempt-note { padding:10px 12px; background:#f4f6f7; border-radius:4px; }
.usd-failed-attempts { display:grid; gap:8px; padding-left:22px; }
.usd-failed-attempts li { padding:9px 10px; background:#fff5f3; border-left:3px solid #b44a39; overflow-wrap:anywhere; }
.usd-audit-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; list-style:none; }
.usd-audit-disclosure > summary::-webkit-details-marker { display:none; }
.usd-audit-disclosure > summary h2 { margin:0; }
.usd-audit-disclosure > summary span { color:#586976; font-size:13px; }
.usd-audit-list { display:grid; gap:10px; margin-top:16px; }
.usd-audit-entry { padding:14px; border:1px solid #d4dedf; border-radius:5px; }
.usd-audit-entry header { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.usd-audit-entry header span, .usd-audit-entry p { color:#586976; font-size:13px; }
.usd-audit-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.usd-audit-values > div { min-width:0; padding:10px; background:#f6f8f8; }
.usd-audit-values dd { margin:5px 0 0; overflow-wrap:anywhere; font-weight:700; }
.usd-audit-values small { display:block; color:#586976; font-weight:400; }
.usd-calendar-disclosure { margin-top:18px; padding:12px 14px; border:1px solid #d4dedf; border-radius:5px; }
.usd-calendar-disclosure > summary, .usd-calendar-empty-day > summary { cursor:pointer; color:#075c3f; font-weight:700; }
.usd-calendar-disclosure > summary:focus-visible, .usd-calendar-empty-day > summary:focus-visible, .usd-calendar-list a:focus-visible { outline:2px solid #08754b; outline-offset:3px; }
.usd-calendar-disclosure > p, .usd-calendar-empty-day p { color:#586976; font-size:13px; }
.usd-calendar-list { display:grid; gap:7px; margin:12px 0 0; padding-left:22px; }
.usd-calendar-list li { padding:7px 8px; border-bottom:1px solid #e1e8e9; overflow-wrap:anywhere; }
.usd-calendar-list a { color:#075c3f; }
.usd-calendar-empty-day > summary { color:#354550; font-weight:600; }
.usd-calendar-empty-day p { margin:8px 0 2px; }
@media (max-width:760px) { .usd-benchmark-period-heading { flex-direction:column; } .usd-benchmark-summary { grid-template-columns:1fr; } .usd-cycle-summary { grid-template-columns:1fr; } .usd-metadata-list--columns { grid-template-columns:1fr; } .usd-candidate-actions { grid-template-columns:1fr; } }
@media (max-width:760px) { .usd-count-summary { grid-template-columns:1fr; } .usd-count-summary > p { grid-column:auto; } }
@media (max-width:520px) { .usd-month-picker { grid-template-columns:1fr; justify-content:stretch; } .usd-month-picker input { width:100%; max-width:none; } .usd-month-navigation { width:100%; } .usd-month-navigation a { flex:1; justify-content:center; } .usd-day-entry > summary { align-items:flex-start; } .usd-day-entry > summary > strong { margin-left:0; } .usd-audit-values { grid-template-columns:1fr; } .usd-audit-disclosure > summary { align-items:flex-start; flex-direction:column; } .usd-calendar-disclosure { padding:10px; } }
