        :root {
            font-family:
                Inter,
                ui-sans-serif,
                system-ui,
                -apple-system,
                BlinkMacSystemFont,
                "Segoe UI",
                sans-serif;

            color: #edf3ff;
            background: #080d16;
        }

        * {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            min-height: 100vh;
            background:
                radial-gradient(
                    circle at 75% -10%,
                    rgba(63, 101, 255, 0.25),
                    transparent 38%
                ),
                radial-gradient(
                    circle at 15% 110%,
                    rgba(49, 182, 255, 0.12),
                    transparent 35%
                ),
                #080d16;
        }

        button,
        input {
            font: inherit;
        }

        button {
            cursor: pointer;
        }

        .hidden {
            display: none !important;
        }

        .screen {
            min-height: 100vh;
        }

        .auth-screen {
            display: grid;
            grid-template-columns:
                minmax(320px, 0.9fr)
                minmax(420px, 1.1fr);
        }

        .auth-story {
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            min-height: 100vh;
            padding: 48px;
            border-right: 1px solid #1c2940;
            background:
                linear-gradient(
                    145deg,
                    rgba(18, 31, 54, 0.97),
                    rgba(8, 13, 22, 0.98)
                );
        }

        .auth-story::before {
            content: "";
            position: absolute;
            width: 520px;
            height: 520px;
            right: -210px;
            bottom: -190px;
            border: 1px solid rgba(100, 143, 255, 0.15);
            border-radius: 50%;
            box-shadow:
                0 0 0 55px rgba(100, 143, 255, 0.035),
                0 0 0 110px rgba(100, 143, 255, 0.025);
        }

        .brand {
            position: relative;
            z-index: 1;
            display: flex;
            align-items: center;
            gap: 14px;
        }

        .atlas-mark {
            position: relative;
            width: 54px;
            height: 54px;
            flex: 0 0 54px;
            display: grid;
            place-items: center;
            border: 1px solid rgba(164, 195, 255, 0.25);
            border-radius: 17px;
            background:
                linear-gradient(
                    145deg,
                    #4f72ff,
                    #2444c7
                );
            box-shadow:
                0 16px 38px rgba(42, 76, 213, 0.35);
        }

        .atlas-mark::before {
            content: "";
            width: 27px;
            height: 27px;
            border: 2px solid white;
            border-radius: 50%;
            opacity: 0.92;
        }

        .atlas-mark::after {
            content: "";
            position: absolute;
            width: 8px;
            height: 23px;
            border-radius: 5px;
            background: white;
            transform: rotate(38deg);
            clip-path:
                polygon(
                    50% 0,
                    100% 100%,
                    50% 75%,
                    0 100%
                );
        }

        .brand-name {
            display: block;
            font-size: 20px;
            letter-spacing: -0.4px;
        }

        .brand-subtitle {
            display: block;
            margin-top: 3px;
            color: #7587a5;
            font-size: 12px;
            letter-spacing: 0.3px;
        }

        .story-content {
            position: relative;
            z-index: 1;
            max-width: 540px;
        }

        .story-eyebrow,
        .eyebrow {
            margin: 0;
            color: #7792ff;
            font-size: 11px;
            font-weight: 850;
            letter-spacing: 1.7px;
            text-transform: uppercase;
        }

        .story-content h1 {
            max-width: 520px;
            margin: 15px 0 18px;
            font-size: clamp(40px, 5vw, 68px);
            line-height: 0.98;
            letter-spacing: -3px;
        }

        .story-content p {
            max-width: 480px;
            margin: 0;
            color: #91a1ba;
            font-size: 17px;
            line-height: 1.7;
        }

        .mission-chip {
            position: relative;
            z-index: 1;
            width: fit-content;
            padding: 10px 14px;
            border: 1px solid #263750;
            border-radius: 999px;
            color: #aab8cc;
            background: rgba(15, 24, 39, 0.78);
            font-size: 12px;
            font-weight: 700;
        }

        .auth-stage {
            display: grid;
            place-items: center;
            min-height: 100vh;
            padding: 40px;
        }

        .auth-card {
            width: min(100%, 470px);
            padding: 34px;
            border: 1px solid #25334a;
            border-radius: 24px;
            background:
                linear-gradient(
                    180deg,
                    rgba(21, 30, 46, 0.98),
                    rgba(13, 20, 32, 0.98)
                );
            box-shadow:
                0 28px 80px rgba(0, 0, 0, 0.34);
        }

        .auth-card h2 {
            margin: 8px 0 8px;
            font-size: 31px;
            letter-spacing: -1px;
        }

        .auth-description {
            margin: 0 0 26px;
            color: #8695aa;
            line-height: 1.55;
        }

        .field {
            display: grid;
            gap: 8px;
            margin-bottom: 17px;
        }

        .field label {
            color: #b7c2d2;
            font-size: 12px;
            font-weight: 750;
        }

        .field input {
            width: 100%;
            padding: 14px 15px;
            border: 1px solid #2b3a51;
            border-radius: 12px;
            outline: none;
            color: #edf3ff;
            background: #0d1522;
            transition:
                border-color 150ms ease,
                box-shadow 150ms ease;
        }

        .field input:focus {
            border-color: #6684ff;
            box-shadow:
                0 0 0 4px rgba(102, 132, 255, 0.12);
        }

        .field-hint {
            margin: -2px 0 0;
            color: #65758e;
            font-size: 11px;
            line-height: 1.45;
        }

        .check-row {
            display: flex;
            align-items: center;
            gap: 9px;
            margin: 6px 0 20px;
            color: #9ba9bd;
            font-size: 13px;
        }

        .check-row input {
            width: 16px;
            height: 16px;
            accent-color: #6382ff;
        }

        .primary-button {
            width: 100%;
            padding: 14px 18px;
            border: 0;
            border-radius: 12px;
            color: white;
            background:
                linear-gradient(
                    135deg,
                    #5878ff,
                    #3556df
                );
            font-weight: 800;
            box-shadow:
                0 14px 28px rgba(56, 87, 220, 0.28);
        }

        .primary-button:hover {
            filter: brightness(1.08);
        }

        .primary-button:disabled {
            cursor: wait;
            opacity: 0.6;
        }

        .form-message {
            min-height: 20px;
            margin: 17px 0 0;
            color: #ff8f9d;
            font-size: 13px;
            line-height: 1.45;
        }

        .dashboard-layout {
            min-height: 100vh;
            display: grid;
            grid-template-columns: 255px 1fr;
        }

        aside {
            display: flex;
            flex-direction: column;
            min-height: 100vh;
            padding: 24px 18px;
            border-right: 1px solid #1d2838;
            background: rgba(11, 17, 28, 0.97);
        }

        aside .brand {
            padding: 0 8px 24px;
            border-bottom: 1px solid #1d2838;
        }

        nav {
            display: grid;
            gap: 7px;
            margin-top: 24px;
        }

        .nav-item {
            width: 100%;
            padding: 13px;
            border: 0;
            border-radius: 10px;
            color: #8492a8;
            background: transparent;
            font-size: 14px;
            font-weight: 680;
            text-align: left;
            cursor: pointer;
        }

        .nav-item:hover {
            color: #d7e0ef;
            background: #121c2d;
        }

        .nav-item.active {
            color: white;
            background: #172238;
            box-shadow: inset 3px 0 #6681ff;
        }

        .commander-card {
            margin-top: auto;
            padding: 14px;
            border: 1px solid #202d40;
            border-radius: 14px;
            background: #101927;
        }

        .commander-card strong,
        .commander-card span {
            display: block;
        }

        .commander-card strong {
            font-size: 13px;
        }

        .commander-card span {
            margin-top: 4px;
            color: #6f7e94;
            font-size: 11px;
        }

        .logout-button {
            width: 100%;
            margin-top: 12px;
            padding: 9px;
            border: 1px solid #2a3950;
            border-radius: 9px;
            color: #9fadc0;
            background: transparent;
            font-size: 12px;
            font-weight: 700;
        }

        .dashboard-main {
            width: 100%;
            max-width: 1450px;
            margin: 0 auto;
            padding: 42px;
        }

        .dashboard-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 24px;
            margin-bottom: 30px;
        }

        .dashboard-header h1 {
            margin: 5px 0 7px;
            font-size: clamp(34px, 4vw, 48px);
            letter-spacing: -2px;
        }

        .subtitle {
            margin: 0;
            color: #8b97aa;
        }

        .online {
            display: flex;
            align-items: center;
            gap: 9px;
            padding: 10px 14px;
            border: 1px solid #29364a;
            border-radius: 999px;
            color: #b2bdce;
            background: #131c2a;
            font-size: 12px;
            font-weight: 750;
        }

        .online-dot {
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background: #47d48d;
            box-shadow:
                0 0 13px rgba(71, 212, 141, 0.85);
        }

        .metrics {
            display: grid;
            grid-template-columns:
                repeat(4, minmax(0, 1fr));
            gap: 16px;
            margin-bottom: 16px;
        }

        .card,
        .panel {
            border: 1px solid #222e41;
            border-radius: 17px;
            background:
                linear-gradient(
                    180deg,
                    rgba(23, 31, 47, 0.97),
                    rgba(16, 23, 35, 0.97)
                );
            box-shadow:
                0 14px 40px rgba(0, 0, 0, 0.16);
        }

        .card {
            padding: 22px;
        }

        .card-title,
        .card-note {
            margin: 0;
            color: #7e8ba0;
        }

        .card-title {
            font-size: 12px;
            font-weight: 750;
        }

        .card-value {
            display: block;
            margin: 12px 0 7px;
            font-size: 32px;
        }

        .card-note {
            font-size: 11px;
        }

        .dashboard-grid {
            display: grid;
            grid-template-columns:
                minmax(0, 1.35fr)
                minmax(300px, 0.65fr);
            gap: 16px;
        }

        .panel {
            padding: 24px;
        }

        .panel h2 {
            margin: 0 0 6px;
            font-size: 18px;
        }

        .panel-description {
            margin: 0 0 22px;
            color: #75849a;
            font-size: 13px;
        }

        .mission-banner {
            padding: 21px;
            border: 1px solid #2b3d63;
            border-radius: 15px;
            background:
                linear-gradient(
                    135deg,
                    rgba(57, 91, 212, 0.21),
                    rgba(41, 58, 106, 0.08)
                );
        }

        .mission-number {
            color: #7f98ff;
            font-size: 10px;
            font-weight: 850;
            letter-spacing: 1.5px;
            text-transform: uppercase;
        }

        .mission-banner h3 {
            margin: 7px 0 6px;
            font-size: 24px;
        }

        .mission-banner p {
            margin: 0;
            color: #a4b1c5;
            font-style: italic;
        }

        .service-list,
        .journal-list {
            display: grid;
            gap: 11px;
        }

        .service-row,
        .journal-entry {
            display: flex;
            justify-content: space-between;
            gap: 15px;
            padding: 13px 14px;
            border: 1px solid #222e41;
            border-radius: 11px;
            background: #101824;
        }

        .service-row span,
        .journal-entry span {
            color: #8998ad;
            font-size: 13px;
        }

        .service-row strong {
            color: #56d79a;
            font-size: 12px;
        }

        .journal-entry {
            display: block;
        }

        .journal-entry strong {
            display: block;
            margin-bottom: 4px;
            font-size: 13px;
        }

        .loading {
            min-height: 100vh;
            display: grid;
            place-items: center;
            color: #8090a8;
            letter-spacing: 0.4px;
        }

        @media (max-width: 980px) {
            .auth-screen {
                grid-template-columns: 1fr;
            }

            .auth-story {
                min-height: auto;
                padding: 30px;
                border-right: 0;
                border-bottom: 1px solid #1c2940;
            }

            .story-content {
                margin: 70px 0;
            }

            .auth-stage {
                min-height: auto;
                padding: 35px 20px;
            }

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

            aside {
                display: none;
            }

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

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

            .dashboard-main {
                padding: 28px 20px;
            }
        }

        @media (max-width: 580px) {
            .story-content h1 {
                font-size: 42px;
            }

            .auth-card {
                padding: 25px;
            }

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

            .dashboard-header {
                display: block;
            }

            .online {
                width: fit-content;
                margin-top: 18px;
            }
        }

/* Inventory */

.inventory-panel {
    overflow: hidden;
}

.inventory-section-tabs {
    display: flex;
    gap: 8px;
    margin: 0 0 16px;
}

.inventory-section-tabs button {
    padding: 10px 18px;
    border: 1px solid #31415d;
    border-radius: 10px;
    color: #b9c7dc;
    background: #121d2e;
    font-weight: 800;
}

.inventory-section-tabs button.active {
    color: #fff;
    border-color: #617eff;
    background: #253a78;
}

.batch-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
    padding: 18px 20px;
}

.batch-summary-grid div {
    padding: 12px;
    border: 1px solid #263750;
    border-radius: 10px;
    background: #0e1827;
}

.batch-summary-grid span { display: block; color: #8fa0bb; font-size: .78rem; }
.batch-summary-grid strong { display: block; margin-top: 5px; color: #f4f7ff; }

.card-uploader-preview-table { min-width: 1320px; }
.card-uploader-preview-table td { vertical-align: top; }
.card-uploader-preview-table details { margin-top: .55rem; }
.card-uploader-preview-table pre { max-width: 34rem; max-height: 18rem; overflow: auto; white-space: pre-wrap; color: #cbd5e1; }
.batch-detail-table td { vertical-align: top; }
.batch-detail-table small { color: #899ab5; }
.batch-detail-controls { align-items: flex-start; }

.sales-toolbar { flex-wrap: wrap; justify-content: flex-start; }
.sales-toolbar select, .sales-toolbar input[type="date"] { min-height: 42px; padding: 8px 10px; border: 1px solid #2a3953; border-radius: 10px; color: #edf3ff; background: #0d1624; }
.sales-insights-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 20px; }
.sales-insights-grid > div { padding: 16px; border: 1px solid #263750; border-radius: 12px; background: #0e1827; }
.sales-ranking-row, .sales-trend-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; padding: 8px 0; border-bottom: 1px solid #25334a; }
.sales-trend-bar { height: 6px; margin-top: 5px; border-radius: 5px; background: #5877ff; }
.sales-order-modal { width: min(100%, 1000px); }
@media (max-width: 900px) { .sales-insights-grid { grid-template-columns: 1fr; } }

.inventory-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px;
    border-bottom: 1px solid #243149;
}

.inventory-search {
    width: min(100%, 420px);
    padding: 12px 14px;
    border: 1px solid #2a3953;
    border-radius: 12px;
    color: #edf3ff;
    background: #0d1624;
    outline: none;
    transition:
        border-color 160ms ease,
        box-shadow 160ms ease,
        background 160ms ease;
}

.inventory-search::placeholder {
    color: #6f7f98;
}

.inventory-search:focus {
    border-color: #617eff;
    background: #101a2b;
    box-shadow: 0 0 0 3px rgba(97, 126, 255, 0.14);
}

.inventory-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.inventory-button {
    min-height: 42px;
    padding: 10px 15px;
    border: 1px solid transparent;
    border-radius: 11px;
    font-weight: 800;
    transition:
        transform 150ms ease,
        border-color 150ms ease,
        background 150ms ease;
}

.inventory-button:hover {
    transform: translateY(-1px);
}

.inventory-button:active {
    transform: translateY(0);
}

.inventory-button.secondary {
    border-color: #31415d;
    color: #c7d3e8;
    background: #121d2e;
}

.inventory-button.secondary:hover {
    border-color: #45597a;
    background: #172438;
}

.inventory-button.primary {
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            #5877ff,
            #3655df
        );
    box-shadow: 0 10px 24px rgba(54, 85, 223, 0.24);
}

.inventory-button.primary:hover {
    background:
        linear-gradient(
            135deg,
            #6784ff,
            #4262eb
        );
}

.inventory-button:disabled,
.inventory-button:disabled:hover,
.inventory-button[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.45;
    transform: none;
    box-shadow: none;
    filter: grayscale(0.45);
}

.duplicate-dry-run-unavailable {
    margin-top: 10px;
    color: #f4c977;
}

.duplicate-match-list .duplicate-plan-step {
    display: block;
    padding: 3px 0;
}

.exact-v2-live-validate {
    border-color: #5271a8;
}

.exact-v2-evidence-table-wrap {
    margin-top: 12px;
    overflow-x: auto;
}

.exact-v2-evidence-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.exact-v2-evidence-table th,
.exact-v2-evidence-table td {
    padding: 8px;
    border: 1px solid #31415d;
    text-align: left;
    vertical-align: top;
}

.exact-v2-evidence-table th {
    color: #c7d3e8;
    background: #121d2e;
}

@media (max-width: 700px) {
    .inventory-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .inventory-search {
        width: 100%;
    }

    .inventory-actions {
        justify-content: flex-end;
    }
}

@media (max-width: 460px) {
    .inventory-actions {
        flex-direction: column;
    }

    .inventory-button {
        width: 100%;
    }
}

/* Collections foundation */

.collection-summary-grid,
.collection-detail-facts {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}

.collection-summary-grid article,
.collection-detail-facts article {
    padding: 18px;
    border: 1px solid #263750;
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(20, 32, 51, .9), rgba(10, 18, 30, .75));
}

.collection-summary-grid span,
.collection-detail-facts span {
    display: block;
    margin-bottom: 8px;
    color: #7f91ad;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.collection-summary-grid strong,
.collection-detail-facts strong {
    color: #edf3ff;
    font-size: 20px;
}

.collections-panel {
    overflow: hidden;
}

.collections-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid #243149;
}

.collection-filters,
.collection-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.collection-filters button,
.collection-row-actions button,
.text-button {
    padding: 7px 10px;
    border: 1px solid #31415d;
    border-radius: 9px;
    color: #b8c7de;
    background: #111c2c;
    font-size: 12px;
    font-weight: 750;
}

.collection-filters button.active,
.collection-filters button:hover,
.collection-row-actions button:hover,
.text-button:hover {
    border-color: #5877ff;
    color: #fff;
    background: #1b2b46;
}

.collection-sort-label {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #8293ad;
    font-size: 12px;
    font-weight: 750;
}

.collection-sort-label select,
.collection-form-grid input,
.collection-form-grid select,
.collection-form-grid textarea {
    padding: 10px 12px;
    border: 1px solid #2a3953;
    border-radius: 10px;
    color: #edf3ff;
    background: #0d1624;
}

.collections-table {
    min-width: 1420px;
}

.collection-status {
    display: inline-flex;
    padding: 5px 8px;
    border: 1px solid #3b526f;
    border-radius: 999px;
    color: #b9cae0;
    font-size: 11px;
    font-weight: 800;
}

.collection-status.active { border-color: #34775c; color: #8de0b5; }
.collection-status.paid_off { border-color: #4f70c9; color: #a8baff; }
.collection-status.archived { border-color: #665b70; color: #b9afc4; }

.collection-detail-header .text-button {
    margin-bottom: 15px;
}

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

.collection-placeholder {
    border-style: dashed;
}

.collection-placeholder p,
.collection-notes {
    color: #9cadc5;
    line-height: 1.65;
}

.collection-inventory-panel {
    grid-column: 1 / -1;
    overflow: hidden;
}

.collection-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.assignment-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.assignment-summary-grid > div {
    padding: 13px;
    border: 1px solid #293a55;
    border-radius: 11px;
    background: rgba(8, 14, 24, .48);
}

.assignment-summary-grid span,
.assignment-summary-grid strong {
    display: block;
}

.assignment-summary-grid span {
    margin-bottom: 6px;
    color: #7f91ad;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.assignment-summary-grid strong { font-size: 18px; }

.assignment-data-quality {
    margin: 12px 0;
    color: #8fd3ad;
    font-size: 12px;
}

.assignment-data-quality.warning,
.assignment-warning { color: #f2c66d; }

.assignment-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 14px 0;
}

.assignment-filters button {
    padding: 7px 10px;
    border: 1px solid #31415d;
    border-radius: 9px;
    color: #aebed5;
    background: #111c2c;
    font-size: 11px;
    font-weight: 750;
}

.assignment-filters button.active {
    border-color: #5877ff;
    color: #fff;
    background: #1b2b46;
}

.assignment-table { min-width: 2100px; }

.assignment-search-label {
    display: grid;
    gap: 8px;
    margin-top: 20px;
    color: #aebdd2;
    font-size: 12px;
    font-weight: 800;
}

.assignment-search-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 9px;
}

.assignment-search-row input,
.assignment-confirmation-panel input {
    padding: 10px 12px;
    border: 1px solid #2a3953;
    border-radius: 10px;
    color: #edf3ff;
    background: #0d1624;
}

.assignment-candidates {
    display: grid;
    gap: 8px;
    max-height: 310px;
    overflow-y: auto;
    margin: 16px 0;
}

.assignment-selection-tools {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.assignment-selection-tools strong { margin-left: auto; color: #c8d5e7; }

.assignment-candidate {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px;
    padding: 12px;
    border: 1px solid #293a55;
    border-radius: 11px;
    color: #c8d5e7;
    background: #101a2a;
    text-align: left;
}

.assignment-candidate input { margin-top: 3px; }
.assignment-candidate-copy { display: grid; gap: 4px; }
.assignment-candidate.ineligible { opacity: .62; }
.assignment-candidate-badge { color: #9fb2ce; font-weight: 800; }

.assignment-candidate:hover,
.assignment-candidate.selected {
    border-color: #5877ff;
    background: #182641;
}

.assignment-candidate:disabled { opacity: .48; cursor: not-allowed; }
.assignment-candidate span,
.assignment-candidate small { color: #8294af; }

.assignment-confirmation-panel {
    padding: 15px;
    border: 1px solid #334866;
    border-radius: 12px;
    background: rgba(20, 33, 54, .65);
}

.assignment-confirmation-panel label {
    display: grid;
    grid-template-columns: 150px 1fr;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    color: #aebdd2;
    font-size: 12px;
    font-weight: 750;
}

.collection-activity-panel {
    grid-column: 1 / -1;
}

.collection-activity-list {
    display: grid;
    gap: 10px;
}

.collection-activity-entry {
    padding: 14px;
    border: 1px solid #263750;
    border-radius: 11px;
    background: rgba(10, 17, 28, .55);
}

.collection-activity-entry span,
.collection-activity-entry small {
    display: block;
    margin-top: 4px;
    color: #7f91ad;
    font-size: 12px;
}

.collection-activity-entry p {
    margin: 8px 0 0;
}

.collection-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: grid;
    place-items: center;
    padding: 22px;
    background: rgba(3, 7, 13, .82);
    backdrop-filter: blur(8px);
}

.collection-modal-overlay.hidden {
    display: none;
}

.collection-modal {
    width: min(720px, 100%);
    max-height: calc(100vh - 44px);
    overflow-y: auto;
    padding: 24px;
    border: 1px solid #30425f;
    border-radius: 18px;
    background: #0c1523;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .5);
}

.collection-modal-heading,
.collection-modal-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.collection-modal-heading h2 { margin: 3px 0 0; }

.collection-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 22px;
}

.collection-form-grid label {
    display: grid;
    gap: 7px;
    color: #aebdd2;
    font-size: 12px;
    font-weight: 800;
}

.collection-notes-field { grid-column: 1 / -1; }
.collection-modal-actions { justify-content: flex-end; margin-top: 18px; }

@media (max-width: 1000px) {
    .collection-summary-grid,
    .collection-detail-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .assignment-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .collections-toolbar,
    .collection-detail-header { align-items: stretch; flex-direction: column; }
    .collection-detail-grid,
    .collection-form-grid,
    .collection-summary-grid,
    .collection-detail-facts { grid-template-columns: 1fr; }
    .assignment-summary-grid { grid-template-columns: 1fr; }
    .collection-section-heading { align-items: stretch; flex-direction: column; }
    .assignment-search-row { grid-template-columns: 1fr; }
    .assignment-confirmation-panel label { grid-template-columns: 1fr; }
    .collection-notes-field { grid-column: auto; }
}

/* Inventory table */

.inventory-profit-summary {
    padding: 20px;
    border-bottom: 1px solid #243149;
    background: linear-gradient(135deg, rgba(31, 49, 78, 0.48), rgba(10, 18, 30, 0.32));
}

.inventory-profit-summary-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.inventory-profit-summary-heading h2 {
    margin: 3px 0 0;
    font-size: 20px;
}

.profit-data-quality {
    color: #91d9b0;
    font-size: 12px;
    font-weight: 750;
}

.profit-data-quality.warning {
    color: #f2c66d;
}

.profit-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.profit-metrics > div {
    padding: 14px;
    border: 1px solid #293a55;
    border-radius: 12px;
    background: rgba(8, 14, 24, 0.5);
}

.profit-metrics span,
.profit-metrics strong {
    display: block;
}

.profit-metrics span {
    margin-bottom: 7px;
    color: #7f91ad;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.profit-metrics strong {
    color: #edf3ff;
    font-size: 19px;
}

.profit-metrics strong.negative {
    color: #ff8d91;
}

.profit-summary-note {
    margin: 14px 0 0;
    color: #8192ad;
    font-size: 12px;
    line-height: 1.55;
}

@media (max-width: 900px) {
    .profit-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
    .inventory-profit-summary-heading { align-items: flex-start; flex-direction: column; }
    .profit-metrics { grid-template-columns: 1fr; }
}

.inventory-table-wrapper {
    overflow-x: auto;
    max-height: 620px;
}

.inventory-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 860px;
}

.inventory-table th,
.inventory-table td {
    padding: 15px 16px;
    border-bottom: 1px solid #202d42;
    text-align: left;
    vertical-align: middle;
}

.inventory-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    color: #9fb0ca;
    background: #111b2b;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.9px;
    text-transform: uppercase;
}

.inventory-table th:first-child {
    padding-left: 20px;
}

.inventory-table th:last-child {
    width: 54px;
    padding-right: 20px;
}

.inventory-table td {
    color: #dce6f7;
    background: rgba(11, 18, 29, 0.42);
    font-size: 14px;
}

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

.inventory-table tbody tr:not(:has(.inventory-empty)):hover td {
    background: rgba(31, 47, 72, 0.72);
}

.inventory-table td:nth-child(3),
.inventory-table th:nth-child(3) {
    width: 72px;
    text-align: center;
}

.inventory-table td:last-child,
.inventory-table th:last-child {
    text-align: right;
}

.inventory-empty {
    padding: 56px 24px !important;
    color: #7f90aa !important;
    background:
        radial-gradient(
            circle at center,
            rgba(76, 108, 255, 0.055),
            transparent 58%
        ) !important;
    text-align: center !important;
    line-height: 1.7;
}

.inventory-empty strong {
    color: #c7d3e8;
}

.inventory-table-wrapper::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.inventory-table-wrapper::-webkit-scrollbar-track {
    background: #0d1522;
}

.inventory-table-wrapper::-webkit-scrollbar-thumb {
    border: 2px solid #0d1522;
    border-radius: 999px;
    background: #33445f;
}

.inventory-table-wrapper::-webkit-scrollbar-thumb:hover {
    background: #435878;
}

@media (max-width: 700px) {
    .inventory-table-wrapper {
        max-height: none;
    }

    .inventory-table th,
    .inventory-table td {
        padding: 13px 14px;
    }
}

/* Inventory summary */

.inventory-summary {
    display: grid;
    grid-template-columns:
        repeat(5, minmax(120px, 1fr));
    border-bottom: 1px solid #243149;
    background: rgba(9, 16, 27, 0.34);
}

.inventory-summary-item {
    min-width: 0;
    padding: 18px 20px;
    border-right: 1px solid #243149;
}

.inventory-summary-item:last-child {
    border-right: 0;
}

.inventory-summary-label {
    display: block;
    margin-bottom: 6px;
    color: #7385a2;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.inventory-summary-item strong {
    display: block;
    overflow: hidden;
    color: #edf3ff;
    font-size: 20px;
    letter-spacing: -0.4px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .inventory-summary {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .inventory-summary-item {
        border-bottom: 1px solid #243149;
    }

    .inventory-summary-item:nth-child(2n) {
        border-right: 0;
    }

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

@media (max-width: 460px) {
    .inventory-summary {
        grid-template-columns: 1fr;
    }

    .inventory-summary-item {
        border-right: 0;
    }
}

.duplicate-review-panel {
    --duplicate-listing-card-min: 145px;
    --duplicate-listing-card-max: 165px;
    --duplicate-thumb-max-width: 143px;
    padding: 0;
    overflow: hidden;
}

.duplicate-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    padding: 24px;
}

.duplicate-summary-card {
    padding: 18px;
}

.duplicate-toolbar {
    display: grid;
    gap: 12px;
    padding: 0 24px 20px;
}

.duplicate-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.duplicate-filter {
    display: grid;
    gap: 6px;
    color: #8ea1b9;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.9px;
    text-transform: uppercase;
}

.duplicate-filter select {
    min-width: 120px;
    padding: 9px 11px;
    border: 1px solid #263750;
    border-radius: 9px;
    color: #edf3ff;
    background: #0d1522;
}

.duplicate-list {
    display: grid;
    gap: 14px;
    padding: 0 24px 24px;
}

.duplicate-group-card {
    padding: 18px;
    border: 1px solid #25334b;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(16, 24, 36, 0.98), rgba(10, 16, 27, 0.98));
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.24);
}

.duplicate-group-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.duplicate-group-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.duplicate-group-thumb-shell {
    width: 82px;
    height: 116px;
    border: 1px solid #2d3f58;
    border-radius: 10px;
    background: #0e1625;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.duplicate-group-thumb,
.duplicate-member-thumb,
.duplicate-preview-thumb {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.duplicate-group-thumb-fallback,
.duplicate-member-thumb-fallback,
.duplicate-preview-thumb-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6f7d92;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    text-align: center;
    padding: 6px;
}

.duplicate-group-header h3 {
    margin: 0 0 6px;
    font-size: 18px;
}

.duplicate-group-header p {
    margin: 0;
    color: #7f8ea3;
}

.duplicate-group-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.duplicate-pill {
    padding: 7px 10px;
    border: 1px solid #2a3953;
    border-radius: 999px;
    color: #cdd9ec;
    background: #131d2b;
    font-size: 11px;
    font-weight: 750;
}

.duplicate-pill-confidence {
    color: #8fd7ff;
    background: rgba(37, 96, 132, 0.32);
}

.duplicate-group-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.duplicate-member-strip {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--duplicate-listing-card-min), var(--duplicate-listing-card-max)));
    justify-content: start;
    align-items: start;
    gap: 12px;
    margin-top: 12px;
}

.duplicate-member-tile {
    border: 1px solid #233246;
    border-radius: 12px;
    background: #0d1522;
    padding: 10px;
    display: grid;
    gap: 8px;
    min-height: 100%;
}

.duplicate-member-thumb-shell,
.duplicate-preview-thumb-shell {
    width: min(100%, var(--duplicate-thumb-max-width));
    aspect-ratio: 3 / 4;
    margin: 0 auto;
    border: 1px solid #2a3953;
    border-radius: 10px;
    background: #111c2c;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.duplicate-member-tile .duplicate-member-meta {
    display: grid;
    gap: 4px;
    margin-top: 0;
}

.duplicate-member-role,
.duplicate-preview-thumb-label {
    color: #8ab7ff;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.9px;
    text-transform: uppercase;
}

.duplicate-member-tile .duplicate-member-meta strong {
    color: #edf3ff;
    font-size: 13px;
}

.duplicate-member-tile .duplicate-member-meta span {
    color: #8ea1b9;
    font-size: 12px;
}

.duplicate-member-tile .duplicate-member-meta a {
    color: #8ab7ff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.duplicate-member-tile .duplicate-member-meta a:hover {
    text-decoration: underline;
}

.duplicate-image-note {
    margin: 10px 0 0;
    color: #8ea1b9;
    font-size: 12px;
}

.duplicate-match-card,
.duplicate-preview-card {
    margin-top: 14px;
    padding: 14px 15px;
    border: 1px solid #233246;
    border-radius: 12px;
    background: #0d1522;
}

.duplicate-technical-details {
    display: none;
}

.duplicate-group-expanded .duplicate-technical-details {
    display: block;
}

.duplicate-resolution-panel {
    margin-top: 14px;
    padding: 14px 15px;
    border: 1px solid #2d4964;
    border-radius: 10px;
    background: rgba(10, 24, 39, 0.72);
}

.duplicate-resolution-panel[data-status="AUTO_RESOLVABLE"] {
    border-color: #2e775d;
}

.duplicate-resolution-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 12px;
}
    min-height: 100%;

.duplicate-match-title,
.duplicate-preview-title {
    margin-bottom: 8px;
    width: min(100%, var(--duplicate-thumb-max-width));
    font-size: 12px;
    margin: 0 auto;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.duplicate-match-list {
    margin: 0;
    padding-left: 18px;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #b7c2d2;
}

.duplicate-match-list li {
    margin-bottom: 6px;
}

.duplicate-reason-bullet {
    color: #7ef0b1;
    font-weight: 800;
}

.duplicate-preview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.duplicate-preview-item,
.duplicate-preview-listing-row {
    padding: 10px 11px;
    border: 1px solid #243046;
    border-radius: 10px;
    background: #101824;
}

.duplicate-preview-panel {
    display: grid;
    gap: 10px;
}

.duplicate-preview-readonly-banner {
    padding: 9px 10px;
    border: 1px solid #2e4058;
    border-radius: 10px;
    color: #ffd27b;
    background: rgba(255, 210, 123, 0.08);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.duplicate-preview-grid-rich {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.duplicate-preview-candidates {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--duplicate-listing-card-min), var(--duplicate-listing-card-max)));
    justify-content: start;
    align-items: start;
    gap: 12px;
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}

.duplicate-preview-candidates li {
    display: grid;
    align-content: start;
    gap: 5px;
    padding: 10px;
    border: 1px solid #233246;
    border-radius: 12px;
    background: #0d1522;
    color: #b7c2d2;
}

.duplicate-preview-thumb-row,
.duplicate-preview-candidate-head {
    display: grid;
    gap: 6px;
    justify-items: start;
}

.duplicate-preview-candidates a {
    color: #8ab7ff;
    text-decoration: none;
    font-weight: 700;
}

.duplicate-preview-candidates a:hover {
    text-decoration: underline;
}

.duplicate-preview-item span,
.duplicate-preview-listing-row span {
    display: block;
    margin-bottom: 4px;
    color: #74849d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.9px;
    text-transform: uppercase;
}

.duplicate-preview-item strong,
.duplicate-preview-listing-row strong {
    color: #edf3ff;
    font-size: 13px;
}

.duplicate-preview-listing-row {
    margin-top: 10px;
}

.duplicate-inventory-panel {
    margin-top: 14px;
    padding: 14px 15px;
    border: 1px solid #233246;
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(17, 27, 40, 0.98), rgba(9, 15, 24, 0.98));
}

.duplicate-inventory-panel-empty {
    border-style: dashed;
    background: rgba(13, 21, 34, 0.86);
}

.duplicate-pilot-card {
    margin-top: 14px;
    padding: 15px 16px;
    border: 1px solid #31425a;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(13, 19, 31, 0.98), rgba(8, 13, 22, 0.98));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

.duplicate-pilot-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.duplicate-pilot-eyebrow {
    display: block;
    margin-bottom: 4px;
    color: #8ab7ff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.duplicate-pilot-header h4 {
    margin: 0;
    color: #edf3ff;
    font-size: 16px;
}

.duplicate-pilot-statuses {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.duplicate-pilot-badge {
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.duplicate-pilot-badge-neutral {
    color: #cdd9ec;
    background: rgba(91, 109, 136, 0.18);
}

.duplicate-pilot-badge-warning {
    color: #f3c66b;
    background: rgba(243, 198, 107, 0.14);
}

.duplicate-pilot-badge-danger {
    color: #ffb0b0;
    background: rgba(228, 89, 89, 0.14);
}

.duplicate-pilot-badge-success {
    color: #7ef0b1;
    background: rgba(126, 240, 177, 0.14);
}

.duplicate-pilot-note {
    margin: 0 0 12px;
    color: #aab8cc;
    font-size: 13px;
    line-height: 1.55;
}

.duplicate-pilot-grid,
.duplicate-pilot-result-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.duplicate-pilot-item,
.duplicate-pilot-result-item,
.duplicate-pilot-note-block {
    padding: 10px 11px;
    border: 1px solid #243046;
    border-radius: 10px;
    background: #0f1724;
}

.duplicate-pilot-item span,
.duplicate-pilot-result-item span,
.duplicate-pilot-note-block span {
    display: block;
    margin-bottom: 4px;
    color: #74849d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.9px;
    text-transform: uppercase;
}

.duplicate-pilot-item strong,
.duplicate-pilot-result-item strong {
    color: #edf3ff;
    font-size: 13px;
}

.duplicate-pilot-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.duplicate-pilot-execution-note {
    margin-top: 8px;
    color: #8ea1b9;
    font-size: 12px;
    line-height: 1.45;
}

.duplicate-pilot-result {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.duplicate-completed-section {
    margin-top: 18px;
}

.duplicate-completed-divider {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #243046;
}

.duplicate-completed-heading-block {
    display: grid;
    gap: 4px;
}

.duplicate-completed-summary {
    color: #8ea1b9;
    font-size: 12px;
}

.duplicate-completed-body {
    margin-top: 10px;
}

.duplicate-pilot-note-block {
    display: grid;
    gap: 8px;
}

.duplicate-pilot-freshness-panel {
    gap: 10px;
}

.duplicate-pilot-freshness-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.duplicate-pilot-freshness-grid small {
    display: block;
    margin-bottom: 4px;
    color: #74849d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.9px;
    text-transform: uppercase;
}

.duplicate-pilot-freshness-grid strong {
    color: #edf3ff;
    font-size: 13px;
}

.duplicate-pilot-countdown {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.5px;
}

.duplicate-pilot-freshness-message {
    margin: 0;
    color: #aab8cc;
    font-size: 12px;
    line-height: 1.45;
}

.duplicate-pilot-technical-details {
    border-top: 1px dashed #2a3a54;
    padding-top: 8px;
}

.duplicate-pilot-technical-details summary {
    cursor: pointer;
    color: #8ab7ff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.9px;
    text-transform: uppercase;
}

.duplicate-pilot-technical-details code {
    color: #d4e4ff;
    word-break: break-all;
}

.duplicate-pilot-list {
    margin: 0;
    padding-left: 18px;
    color: #b7c2d2;
}

.duplicate-pilot-list li {
    margin-bottom: 6px;
}

.duplicate-pilot-empty {
    padding: 12px 13px;
    border: 1px dashed #31425a;
    border-radius: 10px;
    color: #8ea1b9;
    background: rgba(13, 21, 34, 0.72);
    font-size: 13px;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .duplicate-pilot-freshness-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.duplicate-inventory-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
    color: #8ab7ff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.duplicate-inventory-badge {
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.duplicate-inventory-match {
    color: #7ef0b1;
    background: rgba(126, 240, 177, 0.14);
}

.duplicate-inventory-missing {
    color: #f3c66b;
    background: rgba(243, 198, 107, 0.14);
}

.duplicate-inventory-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.duplicate-inventory-item {
    padding: 10px 11px;
    border: 1px solid #243046;
    border-radius: 10px;
    background: #101824;
}

.duplicate-inventory-item span {
    display: block;
    margin-bottom: 4px;
    color: #74849d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.9px;
    text-transform: uppercase;
}

.duplicate-inventory-item strong {
    color: #edf3ff;
    font-size: 13px;
}

.duplicate-inventory-note {
    margin: 0;
    color: #aab8cc;
    font-size: 13px;
    line-height: 1.45;
}

.duplicate-detail-item {
    padding: 12px 13px;
    border: 1px solid #243046;
    border-radius: 12px;
    background: #0d1522;
}

.duplicate-detail-item span {
    display: block;
    margin-bottom: 5px;
    color: #74849d;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.9px;
    text-transform: uppercase;
}

.duplicate-detail-item strong {
    color: #edf3ff;
    font-size: 14px;
}

.duplicate-detail-note {
    margin: 6px 0 0;
    color: #7fd4a7;
    font-size: 12px;
}

.duplicate-group-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 14px;
}

.duplicate-risk-badge {
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.duplicate-risk-safe {
    color: #7fd4a7;
    background: rgba(127, 212, 167, 0.16);
}

.duplicate-risk-review {
    color: #f5c66f;
    background: rgba(245, 198, 111, 0.16);
}

.duplicate-risk-high {
    color: #ff8c94;
    background: rgba(255, 140, 148, 0.16);
}

.duplicate-members {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.duplicate-member-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 13px;
    border: 1px solid #233246;
    border-radius: 11px;
    background: #0c1420;
}

.duplicate-member-keeper {
    border-color: #2d5b45;
    background: linear-gradient(90deg, rgba(41, 83, 62, 0.28), rgba(12, 20, 32, 0.98));
}

.duplicate-member-main {
    flex: 1;
}

.duplicate-member-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.duplicate-keeper-badge,
.duplicate-candidate-badge {
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.duplicate-keeper-badge {
    color: #7ef0b1;
    background: rgba(126, 240, 177, 0.14);
}

.duplicate-candidate-badge {
    color: #77c9ff;
    background: rgba(119, 201, 255, 0.14);
}

.duplicate-member-description {
    margin-top: 8px;
    color: #aab8cc;
    font-size: 13px;
    line-height: 1.45;
}

.duplicate-member-meta.secondary {
    margin-top: 4px;
}

.duplicate-member-meta-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.duplicate-member-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
    color: #8090a8;
    font-size: 12px;
}

.duplicate-member-meta.secondary {
    color: #6f7d92;
    font-size: 11px;
}

.duplicate-member-right {
    display: flex;
    align-items: center;
    gap: 10px;
}

.duplicate-role {
    font-size: 12px;
    font-weight: 750;
    color: #77c9ff;
    text-transform: capitalize;
}

.duplicate-member-row a {
    color: #7f98ff;
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
}

.duplicate-empty {
    padding: 36px 24px !important;
}

.ebay-connection-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.ebay-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ebay-orders-panel {
    display: grid;
    gap: 10px;
}

.ebay-order-card {
    padding: 12px 13px;
    border: 1px solid #243046;
    border-radius: 12px;
    background: #101824;
}

.ebay-order-card h3 {
    margin: 0 0 6px;
    color: #edf3ff;
    font-size: 14px;
}

.ebay-order-card p {
    margin: 0 0 4px;
    color: #aab8cc;
    font-size: 13px;
    line-height: 1.45;
}

.ebay-order-card .ebay-order-meta {
    color: #8ab7ff;
    font-size: 12px;
}

.marketplace-command-output {
    margin: 8px 0 0;
    padding: 10px 12px;
    border: 1px solid #243046;
    border-radius: 10px;
    background: #0f1724;
    color: #c6d4ea;
    font-size: 12px;
    line-height: 1.45;
    white-space: pre-wrap;
}

@media (max-width: 900px) {
    .duplicate-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .duplicate-group-details {
        grid-template-columns: 1fr;
    }

    .duplicate-preview-grid {
        grid-template-columns: 1fr;
    }

    .duplicate-review-panel {
        --duplicate-listing-card-min: 132px;
        --duplicate-listing-card-max: 150px;
        --duplicate-thumb-max-width: 130px;
    }

    .duplicate-group-heading {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .duplicate-review-panel {
        --duplicate-listing-card-min: 118px;
        --duplicate-listing-card-max: 146px;
        --duplicate-thumb-max-width: 116px;
    }

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

    .duplicate-group-header,
    .duplicate-member-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .duplicate-member-right {
        width: 100%;
        justify-content: space-between;
    }

    .duplicate-member-meta-stack {
        align-items: flex-start;
    }

    .duplicate-group-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .duplicate-completed-divider {
        flex-direction: column;
        align-items: flex-start;
    }
}


.metric-action-card { color: inherit; text-align: left; cursor: pointer; font: inherit; }
.metric-action-card:hover { border-color: #4f79c9; transform: translateY(-1px); }
.fulfillment-view { padding: 30px; width: 100%; }
.fulfillment-tabs, .pick-toolbar { margin-bottom: 18px; }
.pick-toolbar { display: flex; justify-content: space-between; align-items: center; color: #c6d4ea; }
.fulfillment-orders { display: grid; gap: 14px; }
.pick-order { border: 1px solid #243046; border-radius: 14px; background: #101824; overflow: hidden; }
.pick-order-header { display: flex; gap: 18px; justify-content: space-between; align-items: center; padding: 16px; border-bottom: 1px solid #243046; }
.pick-order-header h2, .pick-order-header p { margin: 0; }
.pick-order-header p { color: #8fa1b8; font-size: 13px; }
.pick-lines { display: grid; }
.pick-line { display: grid; grid-template-columns: auto 72px minmax(0, 1fr); gap: 14px; align-items: center; padding: 14px 16px; border-bottom: 1px solid #202c40; cursor: pointer; }
.pick-line:last-child { border-bottom: 0; }
.pick-line.picked { opacity: .62; background: #122319; }
.pick-thumb { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 8px; overflow: hidden; background: #192337; color: #74839a; font-size: 10px; }
.pick-thumb img { width: 100%; height: 100%; object-fit: contain; }
.pick-title { display: grid; gap: 5px; color: #edf3ff; }
.pick-title small, .pick-title > span { color: #9cacbf; }
.pick-source { display: flex; gap: 8px; align-items: center; color: #ffd28a; }
.pick-source select { max-width: 260px; }
@media (max-width: 760px) { .pick-order-header { align-items: flex-start; flex-direction: column; } .pick-line { grid-template-columns: auto 52px minmax(0, 1fr); } .pick-thumb { width: 48px; height: 48px; } }

.source-status-panel { display: grid; gap: 4px; padding: 10px; border: 1px solid #2a3951; border-radius: 9px; background: #0d1521; color: #aab8cc; font-size: 12px; }
.source-actions { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.source-actions select { min-width: 160px; }
.source-required, .source-discrepancy { color: #ffbe6b !important; }
.pick-line { grid-template-columns: 72px minmax(0, 1fr); }


.bulk-controls { display: grid; gap: 16px; margin-bottom: 18px; }
.bulk-action-row, .bulk-filter-grid { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; }
.bulk-filter-grid label { display: grid; gap: 5px; color: #b9c7da; font-size: 13px; }
.bulk-filter-grid label:has(input[type="checkbox"]) { display: flex; align-items: center; }
.bulk-filter-grid input[type="number"] { width: 130px; }
.bulk-summary { margin: 18px 0; }
.bulk-groups { display: grid; gap: 12px; }
.bulk-group-row { display: grid; grid-template-columns: 70px minmax(240px, 2fr) minmax(220px, 1.25fr) minmax(180px, 1fr); gap: 12px; align-items: start; padding: 12px; border: 1px solid #26354d; border-radius: 12px; background: #101824; min-height: 0; }
.bulk-group-row.excluded { opacity: .72; }
.bulk-group-row img { width: 48px; height: 48px; object-fit: contain; border-radius: 7px; background: #192337; }
.bulk-select-thumb { display: flex; gap: 8px; align-items: flex-start; }
.bulk-group-title { display: grid; gap: 4px; min-width: 0; }
.bulk-row-heading { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; justify-content: space-between; }
.bulk-evidence-summary { white-space: normal; }
.bulk-group-title small, .bulk-cell small { color: #8fa1b8; }
.bulk-cell { display: grid; gap: 3px; min-width: 0; align-content: start; }
.bulk-plan span { overflow-wrap: anywhere; }
.bulk-row-actions { gap: 8px; }
.bulk-technical-details summary { cursor: pointer; width: fit-content; }
.bulk-technical-details summary:focus-visible { outline: 2px solid #8bb8ff; outline-offset: 3px; }
.bulk-technical-details > div { margin-top: 10px; display: grid; gap: 8px; }
.bulk-group-row.completed { padding-block: 9px; }
.bulk-badge { width: fit-content; padding: 4px 8px; border-radius: 999px; background: #25344b; font-size: 11px; text-transform: uppercase; }
.bulk-badge.ready_automatic { background: #173d2a; color: #8fe1ad; }
.bulk-badge.ready_manual_approval { background: #423418; color: #ffd581; }
.bulk-badge.blocked, .bulk-badge.recovery_required { background: #491f27; color: #ff9eab; }
@media (max-width: 1050px) { .bulk-group-row { grid-template-columns: 62px minmax(0, 1fr); } .bulk-group-title, .bulk-cell { grid-column: 2; } }
@media (max-width: 620px) { .bulk-group-row { grid-template-columns: 1fr; } .bulk-select-thumb, .bulk-group-title, .bulk-cell { grid-column: 1; } }

.bulk-create-row, .bulk-session-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.bulk-create-row label { display: grid; gap: 5px; color: #b9c7da; font-size: 13px; min-width: 280px; }
#bulk-session-panel { margin-bottom: 18px; }
.bulk-progress-track { height: 10px; border-radius: 999px; background: #202c40; overflow: hidden; margin: 10px 0; }
.bulk-progress-fill { height: 100%; background: #4f79c9; }
.bulk-session-items { display: grid; gap: 6px; margin: 12px 0; }
.bulk-session-item { display: flex; justify-content: space-between; gap: 12px; padding: 8px; border: 1px solid #26354d; border-radius: 8px; }

.inventory-button.caution {
    border-color: #d49a3a;
    background: #5a3a12;
    color: #fff1d0;
}

.duplicate-manual-ack {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: #f0d6a1;
    line-height: 1.45;
}


.duplicate-refresh-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.75rem 1rem; align-items: center; padding: 1rem; margin: 1rem 0; border: 1px solid var(--border-color, #394457); border-radius: 0.75rem; }
.duplicate-refresh-panel h2, .duplicate-refresh-panel p { margin: 0; }
.duplicate-refresh-panel .card-note, .duplicate-refresh-result { grid-column: 1 / -1; }
.duplicate-refresh-result { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; padding-top: 0.75rem; border-top: 1px solid var(--border-color, #394457); }
.duplicate-refresh-result strong, .duplicate-refresh-links { flex-basis: 100%; }
.duplicate-refresh-links { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.duplicate-refresh-links button { background: none; border: 0; color: inherit; text-decoration: underline; cursor: pointer; padding: 0; }
@media (max-width: 640px) { .duplicate-refresh-panel { grid-template-columns: 1fr; } .duplicate-refresh-panel .inventory-button { width: 100%; } }

.collection-financial-panel { grid-column: 1 / -1; }
.financial-quality-banner { padding: .85rem 1rem; border: 1px solid #d97706; border-radius: .7rem; background: rgba(217,119,6,.1); }
.payoff-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .75rem; margin: 1rem 0; }
.payoff-summary-grid > div { padding: .8rem; border: 1px solid var(--border-color, #394457); border-radius: .65rem; display: grid; gap: .3rem; }
.payoff-summary-grid span { color: #9ca3af; font-size: .78rem; }
.payoff-summary-grid strong { font-size: 1.15rem; }
.payoff-summary-grid .estimated { border-style: dashed; }
.payoff-progress { height: .75rem; overflow: hidden; border-radius: 999px; background: rgba(148,163,184,.25); }
.payoff-progress span { display: block; width: 0; height: 100%; background: #22c55e; transition: width .2s ease; }
.ledger-heading { margin-top: 1.5rem; }
.ledger-filters { display: flex; flex-wrap: wrap; gap: .35rem; }
.ledger-filters button { border: 1px solid var(--border-color, #394457); border-radius: 999px; padding: .35rem .65rem; background: transparent; color: inherit; }
.ledger-filters button.active { background: #3562a6; color: #fff; }
.financial-positive { color: #22c55e; font-weight: 700; }
.financial-negative { color: #ef4444; font-weight: 700; }
.financial-ledger-table { min-width: 1100px; }
@media (max-width: 800px) { .payoff-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.lineage-status { display: inline-block; padding: .2rem .55rem; border-radius: 999px; font-weight: 800; letter-spacing: .03em; }
.lineage-status.eligible { background: #d9f7e5; color: #14532d; }
.lineage-status.ready_for_live_validation { background: #dbeafe; color: #1e3a8a; }
.lineage-status.manual_review, .lineage-status.local_manual_review, .lineage-status.inconclusive, .lineage-status.missing { background: #fff2c7; color: #713f12; }
.lineage-status.blocked, .lineage-status.validation_failed { background: #fee2e2; color: #7f1d1d; }
.lineage-evidence-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
.lineage-evidence-grid pre { max-height: 28rem; overflow: auto; white-space: pre-wrap; }
.check-pass { color: #166534; }
.check-fail { color: #991b1b; font-weight: 700; }
.lineage-approval-confirmation { border: 2px solid #b7791f; border-radius: .75rem; padding: 1rem; margin-top: 1rem; }
.lineage-workflow-stages { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin: 1rem 0; padding: .75rem; border: 1px solid #cbd5e1; border-radius: .65rem; background: #f8fafc; }
.lineage-status.batch_approval_eligible { background: #d9f7e5; color: #14532d; }
.lineage-status.needs_more_evidence, .lineage-status.individual_manual_review { background: #fff2c7; color: #713f12; }
