:root {
    color-scheme: light;
    --page: #f3f0ea;
    --paper: #fffdf8;
    --ink: #181713;
    --muted: #6c6459;
    --line: #d8d0c3;
    --line-strong: #b9aa97;
    --green: #1f6f5b;
    --green-dark: #154b3f;
    --blue: #2f5f86;
    --gold: #b8872c;
    --danger: #873138;
    --danger-bg: #fff1f1;
    --info-bg: #edf7f3;
    --shadow: 0 24px 72px rgba(33, 29, 22, 0.18);
}

* {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
    margin: 0;
}

body {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background:
        linear-gradient(135deg, rgba(255, 253, 248, 0.96), rgba(230, 237, 232, 0.92)),
        linear-gradient(90deg, rgba(47, 95, 134, 0.08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(184, 135, 44, 0.08) 1px, transparent 1px),
        var(--page);
    background-size: auto, 58px 58px, 58px 58px, auto;
}

a {
    color: var(--blue);
    font-weight: 650;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.auth-page,
.console-page {
    min-height: 100vh;
}

.auth-page {
    display: grid;
    place-items: center;
    padding: 32px;
}

.auth-layout {
    width: min(980px, 100%);
    min-height: 600px;
    display: grid;
    grid-template-columns: minmax(300px, 0.9fr) minmax(360px, 460px);
    overflow: hidden;
    border: 1px solid var(--line-strong);
    border-radius: 8px;
    background: var(--paper);
    box-shadow: var(--shadow);
}

.auth-layout-compact {
    min-height: 540px;
}

.brand-panel {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: space-between;
    padding: 46px;
    background:
        linear-gradient(135deg, rgba(31, 111, 91, 0.98), rgba(20, 27, 30, 0.98)),
        linear-gradient(90deg, rgba(255, 253, 248, 0.08) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 253, 248, 0.08) 1px, transparent 1px);
    background-size: auto, 42px 42px, 42px 42px;
    color: #fffdf8;
}

.brand-panel::before {
    content: "";
    position: absolute;
    inset: 24px;
    border: 1px solid rgba(255, 253, 248, 0.18);
    border-radius: 8px;
    pointer-events: none;
}

.brand-wordmark {
    position: relative;
    z-index: 1;
    width: min-content;
    max-width: 100%;
    padding: 16px 18px;
    border: 1px solid rgba(255, 253, 248, 0.26);
    border-radius: 8px;
    background: rgba(255, 253, 248, 0.09);
    color: #fffdf8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.08;
}

.brand-grid {
    position: relative;
    z-index: 1;
    width: min(300px, 100%);
    display: grid;
    grid-template-columns: repeat(3, minmax(54px, 1fr));
    gap: 12px;
}

.brand-grid span {
    min-height: 54px;
    border: 1px solid rgba(255, 253, 248, 0.22);
    border-radius: 8px;
    background: rgba(255, 253, 248, 0.10);
}

.brand-grid span:nth-child(2),
.brand-grid span:nth-child(6) {
    background: rgba(184, 135, 44, 0.42);
}

.brand-grid span:nth-child(4) {
    background: rgba(47, 95, 134, 0.44);
}

.auth-card {
    display: grid;
    align-content: center;
    padding: 54px;
    background:
        linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(250, 247, 240, 0.98)),
        var(--paper);
}

.auth-kicker {
    margin: 0 0 10px;
    color: var(--green);
    font-size: 14px;
    font-weight: 750;
}

h1 {
    margin: 0;
    color: var(--ink);
    font-size: 30px;
    line-height: 1.18;
    font-weight: 800;
}

.auth-form {
    display: grid;
    gap: 18px;
    margin-top: 28px;
}

.field {
    display: grid;
    gap: 8px;
}

label {
    color: var(--muted);
    font-size: 14px;
    font-weight: 700;
}

input,
select,
textarea {
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 12px 14px;
    background: #fff;
    color: var(--ink);
    font: inherit;
    outline: none;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--green);
    box-shadow: 0 0 0 4px rgba(31, 111, 91, 0.14);
}

textarea {
    min-height: 110px;
    resize: vertical;
}

.form-row {
    display: flex;
    justify-content: flex-end;
    min-height: 22px;
    font-size: 14px;
}

.primary-button {
    width: 100%;
    min-height: 48px;
    border: 0;
    border-radius: 6px;
    padding: 12px 16px;
    background: var(--green);
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    transition: background 160ms ease, transform 160ms ease;
}

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

.primary-button:active {
    transform: translateY(1px);
}

.secondary-link {
    display: inline-flex;
    justify-content: center;
    min-height: 22px;
    font-size: 14px;
}

.notice {
    margin: 20px 0 0;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.45;
}

.notice-error {
    border-color: rgba(135, 49, 56, 0.24);
    background: var(--danger-bg);
    color: var(--danger);
}

.notice-info {
    border-color: rgba(31, 111, 91, 0.22);
    background: var(--info-bg);
    color: var(--green-dark);
}

.console-page {
    display: grid;
    place-items: center;
    padding: 32px;
}

.access-confirmation {
    width: min(560px, 100%);
}

.success-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 42px;
    background: var(--paper);
    box-shadow: var(--shadow);
}

.success-brand {
    display: inline-flex;
    margin-bottom: 18px;
    border: 1px solid rgba(31, 111, 91, 0.25);
    border-radius: 8px;
    padding: 12px 14px;
    background: rgba(31, 111, 91, 0.08);
    color: var(--green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 700;
}

.status {
    margin: 18px 0 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.5;
}

.success-card form {
    margin-top: 28px;
}

@media (max-width: 820px) {
    .auth-page {
        padding: 20px;
        place-items: stretch;
    }

    .auth-layout,
    .auth-layout-compact {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .brand-panel {
        min-height: 150px;
        padding: 28px;
    }

    .brand-panel::before {
        inset: 16px;
    }

    .brand-wordmark {
        font-size: 28px;
    }

    .brand-grid {
        display: none;
    }

    .auth-card {
        padding: 30px 24px;
    }

    h1 {
        font-size: 26px;
    }
}

@media (max-width: 420px) {
    .auth-page,
    .console-page {
        padding: 14px;
    }

    .auth-card,
    .success-card {
        padding: 24px 18px;
    }

    .brand-panel {
        min-height: 118px;
    }

    .brand-wordmark {
        font-size: 24px;
    }
}

.app-page {
    height: 100vh;
    overflow: hidden;
    background: #eef1ef;
}

.app-shell {
    --console-bar-height: 42px;
    --console-height: 188px;
    height: 100vh;
    display: grid;
    grid-template-columns: 176px minmax(0, 1fr);
    grid-template-rows: 42px minmax(0, 1fr) var(--console-bar-height);
    background: #eef1ef;
}

body.console-open .app-shell {
    grid-template-rows: 42px minmax(0, 1fr) var(--console-height);
}

.topbar {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
    border-bottom: 1px solid #cfd8d3;
    padding: 0 10px;
    background: #ffffff;
    box-shadow: 0 1px 0 rgba(28, 36, 33, 0.04);
    z-index: 3;
}

.topbar-spacer {
    width: 1px;
    height: 1px;
}

.mobile-menu-toggle {
    display: none;
}

.topbar-nav {
    display: flex;
    align-items: center;
    gap: 6px;
}

.topbar-nav form {
    margin: 0;
}

.workspace-actions button {
    min-height: 34px;
    border: 1px solid #cfd8d3;
    border-radius: 6px;
    padding: 7px 11px;
    background: #ffffff;
    color: #26322e;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.workspace-actions button:hover {
    border-color: #95aaa1;
    background: #f7faf8;
}

.icon-button {
    position: relative;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 1px solid #cfd8d3;
    border-radius: 6px;
    padding: 0;
    background: #ffffff;
    color: #26322e;
    font: inherit;
    cursor: pointer;
}

.icon-button:hover {
    border-color: #95aaa1;
    background: #f7faf8;
}

.icon-button svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: #26322e;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.icon-button em {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 15px;
    height: 15px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #c9333a;
    color: #ffffff;
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
}

.icon-button em:empty {
    display: none;
}

.topbar-popover {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 12;
    width: min(300px, calc(100vw - 24px));
    display: none;
    border: 1px solid #cfd8d3;
    border-radius: 8px;
    padding: 12px;
    background: #ffffff;
    color: #26322e;
    box-shadow: 0 18px 48px rgba(21, 31, 28, 0.18);
    text-align: left;
}

.topbar-popover strong,
.topbar-popover small {
    display: block;
}

.topbar-popover strong {
    margin-bottom: 8px;
    font-size: 13px;
}

.topbar-popover small {
    color: #6b7d76;
    font-size: 12px;
    line-height: 1.4;
}

.topbar-popover small + small {
    margin-top: 8px;
}

.topbar-popover-summary {
    display: grid;
    gap: 5px;
    margin-top: 9px;
    padding-top: 8px;
    border-top: 1px solid #e3e8e5;
}

.topbar-popover-summary:empty {
    display: none;
}

.topbar-popover-summary small {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
}

.topbar-popover-summary b {
    min-width: 22px;
    color: #26322e;
    text-align: right;
}

.icon-button:hover .topbar-popover,
.icon-button:focus-within .topbar-popover {
    display: block;
}

.topbar-nav .topbar-logout {
    border-color: rgba(135, 49, 56, 0.26);
    color: #873138;
}

.topbar-nav .topbar-logout svg {
    stroke: #873138;
}

.sidebar {
    grid-row: 2 / 4;
    min-width: 0;
    border-right: 1px solid #cfd8d3;
    background: #17251f;
    color: #f4f7f5;
    overflow-y: auto;
    scrollbar-width: none;
}

.sidebar::-webkit-scrollbar,
.console-body::-webkit-scrollbar {
    display: none;
}

.side-menu {
    display: grid;
    gap: 7px;
    padding: 10px 8px 18px;
}

.menu-section {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding-top: 8px;
}

.menu-section:first-child {
    border-top: 0;
    padding-top: 0;
}

.menu-section h2 {
    margin: 0 0 5px;
    padding: 0 6px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.menu-section a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    min-height: 25px;
    border-radius: 6px;
    padding: 5px 7px;
    color: rgba(232, 238, 235, 0.72);
    text-decoration: none;
}

.menu-section a:hover,
.menu-section a.active {
    background: rgba(255, 255, 255, 0.10);
    color: #ffffff;
}

.menu-section a strong {
    overflow: hidden;
    font-size: 12px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.menu-badge-dot {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #38d978;
    box-shadow: 0 0 0 3px rgba(56, 217, 120, 0.16);
}

.workbench {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    overflow-y: auto;
    padding: 22px 22px 26px;
    scrollbar-color: #8da39a #edf3f0;
    scrollbar-width: thin;
}

.workbench::-webkit-scrollbar {
    width: 8px;
}

.workbench::-webkit-scrollbar-track {
    background: #edf3f0;
}

.workbench::-webkit-scrollbar-thumb {
    border: 2px solid #edf3f0;
    border-radius: 8px;
    background: #8da39a;
}

.workbench::-webkit-scrollbar-thumb:hover {
    background: #667e74;
}

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

.workspace-head p {
    margin: 0 0 5px;
    color: #557169;
    font-size: 13px;
    font-weight: 800;
}

.workspace-head h1 {
    font-size: 28px;
}

.workspace-head.separation-head {
    justify-content: center;
    text-align: center;
}

.workspace-head.separation-head > div {
    width: 100%;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    border: 1px solid #cfd8d3;
    border-radius: 999px;
    padding: 5px 11px;
    background: #ffffff;
    color: #557169;
    font-size: 12px;
    font-weight: 800;
}

.workspace-actions {
    display: flex;
    gap: 8px;
}

.dashboard-notice {
    margin: 0 0 16px;
}

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

.metric-card,
.panel {
    border: 1px solid #d6dfda;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 26px rgba(31, 45, 39, 0.06);
}

.metric-card {
    display: grid;
    gap: 8px;
    min-height: 94px;
    padding: 16px;
}

.metric-card span {
    color: #63766f;
    font-size: 13px;
    font-weight: 750;
}

.metric-card strong {
    color: #173d35;
    font-size: 30px;
    line-height: 1;
}

.workspace-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.7fr);
    gap: 16px;
}

.module-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
    gap: 16px;
}

.panel {
    min-width: 0;
    padding: 16px;
}

.panel header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.panel h2 {
    margin: 0;
    color: #1c2d28;
    font-size: 17px;
}

.panel header span {
    color: #6b7d76;
    font-size: 12px;
    font-weight: 800;
}

.timeline {
    display: grid;
    gap: 10px;
}

.timeline div,
.session-list div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    border-top: 1px solid #edf1ef;
    padding-top: 10px;
}

.timeline strong,
.session-list dt {
    color: #26322e;
    font-size: 14px;
}

.timeline span,
.session-list dd {
    margin: 0;
    color: #6b7d76;
    font-size: 13px;
    text-align: right;
}

.session-list {
    display: grid;
    gap: 10px;
    margin: 0;
}

.module-card {
    min-height: 188px;
}

.module-list {
    display: grid;
    gap: 9px;
}

.module-list p {
    margin: 0;
    border-top: 1px solid #edf1ef;
    padding-top: 9px;
    color: #26322e;
    font-size: 14px;
}

.module-list-muted p {
    color: #6b7d76;
}

.data-panel {
    margin-top: 16px;
}

.is-hidden {
    display: none !important;
}

.data-table {
    display: grid;
    border: 1px solid #edf1ef;
    border-radius: 8px;
    overflow: hidden;
}

.data-table > div {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) minmax(120px, 0.5fr) minmax(120px, 0.5fr);
}

.data-table strong,
.data-table span {
    min-width: 0;
    border-right: 1px solid #edf1ef;
    padding: 10px 12px;
    font-size: 13px;
}

.data-table strong:last-child,
.data-table span:last-child {
    border-right: 0;
}

.data-table strong {
    background: #f7faf8;
    color: #26322e;
}

.data-table span {
    color: #6b7d76;
}

.api-call-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(110px, 1fr));
    gap: 10px;
}

.api-call-grid button {
    min-height: 42px;
    border: 1px solid #cfd8d3;
    border-radius: 6px;
    background: #f7faf8;
    color: #557169;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
}

.api-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    gap: 12px;
}

.api-category-card {
    min-width: 0;
    border: 1px solid #edf1ef;
    border-radius: 8px;
    padding: 12px;
    background: #fbfdfc;
}

.api-category-card h3 {
    margin: 0 0 10px;
    color: #173d35;
    font-size: 14px;
}

.api-category-card button {
    display: inline-flex;
    min-height: 30px;
    margin: 0 6px 6px 0;
    border: 1px solid #cfd8d3;
    border-radius: 6px;
    padding: 5px 8px;
    background: #ffffff;
    color: #557169;
    font: inherit;
    font-size: 12px;
    font-weight: 750;
}

.api-workbench {
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    gap: 16px;
}

.api-call-list {
    max-height: calc(100vh - 300px);
    min-height: 480px;
    overflow-y: auto;
    border: 1px solid #d6dfda;
    border-radius: 8px;
    padding: 10px;
    background: #ffffff;
    scrollbar-width: none;
}

.api-call-list::-webkit-scrollbar {
    display: none;
}

.api-call-list section + section {
    margin-top: 14px;
    border-top: 1px solid #edf1ef;
    padding-top: 12px;
}

.api-call-list h2 {
    position: sticky;
    top: -10px;
    z-index: 1;
    margin: 0 0 8px;
    border-bottom: 1px solid #d6dfda;
    padding: 8px 4px;
    background: #ffffff;
    color: #173d35;
    font-size: 13px;
    text-transform: uppercase;
}

.api-call-list button {
    width: 100%;
    display: grid;
    gap: 4px;
    margin-bottom: 7px;
    border: 1px solid #edf1ef;
    border-radius: 7px;
    padding: 9px;
    background: #fbfdfc;
    color: #26322e;
    text-align: left;
    cursor: pointer;
}

.api-call-list button.active,
.api-call-list button:hover {
    border-color: #95aaa1;
    background: #eef7f3;
}

.api-call-list button strong {
    font-size: 13px;
}

.api-call-list button span {
    color: #6b7d76;
    font-size: 12px;
    line-height: 1.35;
}

.api-detail-panel {
    display: none;
    border: 1px solid #d6dfda;
    border-radius: 8px;
    padding: 16px;
    background: #ffffff;
    box-shadow: 0 10px 26px rgba(31, 45, 39, 0.06);
}

.api-detail-panel.active {
    display: block;
}

.api-detail-panel > header {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.api-detail-panel h2,
.api-detail-panel p {
    margin: 0;
}

.api-detail-panel p {
    margin-top: 6px;
    color: #6b7d76;
    line-height: 1.45;
}

.api-detail-grid {
    display: grid;
    grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.3fr);
    gap: 14px;
}

.api-box {
    border: 1px solid #edf1ef;
    border-radius: 8px;
    padding: 12px;
    background: #fbfdfc;
}

.api-box h3 {
    margin: 0 0 10px;
    color: #173d35;
    font-size: 14px;
}

.api-box label {
    display: grid;
    gap: 5px;
    margin-bottom: 10px;
}

.primary-inline {
    min-height: 36px;
    border: 0;
    border-radius: 6px;
    padding: 8px 12px;
    background: #1f6f5b;
    color: #ffffff;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
}

.primary-inline:disabled {
    background: #95aaa1;
    color: #eff5f2;
    cursor: not-allowed;
}

.ghost-inline {
    min-height: 36px;
    border: 1px solid #cfd8d3;
    border-radius: 6px;
    padding: 8px 12px;
    background: #ffffff;
    color: #37534b;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
}

.ghost-inline:disabled {
    color: #95aaa1;
    cursor: not-allowed;
}

.small-inline {
    min-height: 30px;
    padding: 5px 9px;
    font-size: 11px;
    justify-self: start;
    align-self: end;
}

.icon-inline {
    width: 32px;
    height: 32px;
    display: inline-grid;
    place-items: center;
    border: 1px solid #cfd8d3;
    border-radius: 6px;
    background: #ffffff;
    color: #20352e;
    font: inherit;
    font-size: 15px;
    font-weight: 900;
}

.api-output-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    gap: 8px;
}

.api-output-fields div {
    min-width: 0;
    border: 1px solid #edf1ef;
    border-radius: 7px;
    padding: 8px;
    background: #ffffff;
}

.api-output-fields strong,
.api-output-fields span {
    display: block;
}

.api-output-fields strong {
    color: #26322e;
    font-size: 12px;
}

.api-output-fields span {
    margin-top: 4px;
    color: #6b7d76;
    font-size: 12px;
}

.api-output-fields small {
    display: block;
    margin-top: 6px;
    color: #3d5750;
    font-size: 11px;
    line-height: 1.35;
}

.ebay-api-layout,
.ebay-sync-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
    gap: 16px;
}

.ebay-guard-card {
    border-color: #b9cbc3;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbf9 100%);
}

.ebay-status-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    gap: 10px;
}

.ebay-status-grid div {
    min-width: 0;
    border: 1px solid #dfe7e3;
    border-radius: 7px;
    padding: 10px;
    background: #ffffff;
}

.ebay-status-grid span,
.ebay-status-grid strong {
    display: block;
}

.ebay-status-grid span {
    color: #6b7d76;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.ebay-status-grid strong {
    overflow-wrap: anywhere;
    margin-top: 5px;
    color: #173d35;
    font-size: 14px;
}

.ebay-secret-note {
    margin: 14px 0 0;
    border-left: 4px solid #1f6f5b;
    padding: 10px 12px;
    background: #eff7f3;
    color: #37534b;
    font-size: 13px;
    line-height: 1.45;
}

.ebay-secret-note code {
    color: #173d35;
    font-weight: 800;
}

.ebay-test-card,
.ebay-required-card,
.ebay-sync-card {
    min-width: 0;
}

.ebay-config-form {
    display: grid;
    gap: 14px;
}

.ebay-config-form .form-grid {
    align-items: start;
}

.ebay-config-form input,
.ebay-config-form select,
.ebay-config-form textarea {
    width: 100%;
}

.ebay-config-form textarea {
    min-height: 96px;
    resize: vertical;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    line-height: 1.45;
}

.ebay-secret-grid .textarea-field {
    grid-column: span 2;
}

.ebay-clear-secrets {
    border: 1px solid #efd0d0;
    border-radius: 7px;
    padding: 10px 12px;
    background: #fffafa;
}

.ebay-clear-secrets summary {
    color: #8b2f2f;
    cursor: pointer;
    font-size: 13px;
    font-weight: 850;
}

.ebay-clear-secrets label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 10px 12px 0 0;
    color: #6b4a4a;
    font-size: 12px;
    font-weight: 750;
}

.ebay-clear-secrets input {
    width: auto;
}

.ebay-test-card p {
    margin-top: 0;
    color: #557169;
    line-height: 1.45;
}

.ebay-sync-card p {
    margin-top: 0;
    color: #557169;
    line-height: 1.45;
}

.ebay-test-result {
    display: grid;
    gap: 4px;
    margin-top: 12px;
    border: 1px solid #dfe7e3;
    border-radius: 7px;
    padding: 10px;
    background: #ffffff;
    color: #557169;
    font-size: 13px;
    line-height: 1.4;
}

.ebay-test-result[data-state="success"] {
    border-color: #9cc9b5;
    background: #f0faf5;
    color: #173d35;
}

.ebay-test-result[data-state="error"] {
    border-color: #e0a5a5;
    background: #fff5f5;
    color: #8b2f2f;
}

.ebay-test-result[data-state="loading"] {
    border-color: #d8c07a;
    background: #fffaf0;
    color: #6d5820;
}

.ebay-test-result strong,
.ebay-test-result span {
    display: block;
}

.compact-list p {
    margin: 0;
}

.ebay-call-table {
    display: grid;
    grid-template-columns: repeat(3, minmax(210px, 1fr));
    gap: 8px;
}

.ebay-call-table div {
    min-width: 0;
    border: 1px solid #edf1ef;
    border-radius: 7px;
    padding: 9px;
    background: #fbfdfc;
}

.ebay-call-table strong,
.ebay-call-table span {
    display: block;
}

.ebay-call-table strong {
    color: #173d35;
    font-size: 13px;
}

.ebay-call-table span {
    margin-top: 4px;
    color: #6b7d76;
    font-size: 12px;
    line-height: 1.35;
}

.ebay-sync-table div {
    display: grid;
    grid-template-columns: minmax(180px, 0.6fr) minmax(260px, 1.4fr);
    gap: 8px;
}

.ebay-policy-card.danger {
    border-color: #efd0d0;
}

.ebay-policy-card.danger p {
    margin-top: 0;
    color: #8b2f2f;
}

.ebay-blocked-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.ebay-blocked-list span {
    border: 1px solid #efd0d0;
    border-radius: 999px;
    padding: 5px 8px;
    background: #fff7f7;
    color: #8b2f2f;
    font-size: 12px;
    font-weight: 800;
}

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

.ebay-business-table,
.ebay-report-table {
    display: grid;
    gap: 7px;
}

.ebay-business-table > div,
.ebay-report-table > div {
    display: grid;
    gap: 8px;
    align-items: start;
    border: 1px solid #edf1ef;
    border-radius: 8px;
    padding: 9px;
    background: #fbfdfc;
}

.ebay-sales-table > div {
    grid-template-columns: minmax(120px, 0.7fr) minmax(160px, 0.8fr) minmax(240px, 1.5fr) minmax(120px, 0.7fr) minmax(120px, 0.7fr) minmax(100px, 0.5fr);
}

.ebay-buyers-table > div {
    grid-template-columns: minmax(120px, 0.65fr) minmax(180px, 1fr) minmax(170px, 0.9fr) minmax(90px, 0.45fr) minmax(130px, 0.65fr);
}

.ebay-report-table > div {
    grid-template-columns: minmax(110px, 0.55fr) minmax(180px, 1fr) repeat(3, minmax(130px, 0.8fr)) minmax(120px, 0.55fr);
}

.ebay-business-table strong,
.ebay-business-table span,
.ebay-report-table strong,
.ebay-report-table span {
    min-width: 0;
    overflow-wrap: anywhere;
    color: #26322e;
    font-size: 12px;
}

.ebay-business-table strong,
.ebay-report-table strong {
    color: #173d35;
    font-weight: 850;
}

.ebay-business-table small,
.ebay-report-table small {
    display: block;
    margin-top: 3px;
    color: #6b7d76;
    font-size: 11px;
    line-height: 1.3;
}

.report-state-discrepanza {
    border-color: #e0a5a5 !important;
    background: #fff7f7 !important;
}

.report-state-ok {
    border-color: #afd2bf !important;
    background: #f4fbf7 !important;
}

.report-state-da_controllare {
    border-color: #dfcf92 !important;
    background: #fffaf0 !important;
}

.ebay-config-template pre {
    overflow: auto;
    max-height: 360px;
    margin: 0;
    border: 1px solid #dfe7e3;
    border-radius: 7px;
    padding: 12px;
    background: #15211d;
    color: #edf7f2;
    font-size: 12px;
    line-height: 1.45;
}

.shipping-layout,
.pricing-layout,
.listing-builder,
.project-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.7fr);
    gap: 16px;
}

.form-grid {
    display: grid;
    gap: 12px;
}

.form-grid.three {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    margin-top: 14px;
}

.form-grid.two {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    margin-top: 14px;
}

.form-grid label {
    display: grid;
    gap: 6px;
}

.label-preview {
    position: relative;
    min-height: 420px;
    border: 1px solid #cfd8d3;
    border-radius: 8px;
    background: #fffdf8;
    box-shadow: 0 10px 26px rgba(31, 45, 39, 0.08);
}

.sender,
.recipient,
.shipping-kind {
    position: absolute;
    color: #1c2d28;
    font-weight: 800;
}

.sender {
    top: 28px;
    left: 28px;
    font-size: 13px;
    line-height: 1.45;
}

.recipient {
    right: 34px;
    bottom: 42px;
    font-size: 16px;
    line-height: 1.45;
}

.shipping-kind {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 2px solid #1c2d28;
    padding: 10px 18px;
    font-size: 22px;
    letter-spacing: 0;
}

.shipping-head .primary-inline:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.shipping-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.shipping-status-list {
    display: grid;
    gap: 8px;
}

.shipping-status-list p {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin: 0;
    border-bottom: 1px solid #edf1ef;
    padding-bottom: 8px;
}

.shipping-status-list strong,
.shipping-status-list span {
    min-width: 0;
    font-size: 13px;
}

.shipping-status-list span {
    color: #557169;
    text-align: right;
}

.shipping-empty {
    color: #557169;
}

.shipping-order-table {
    display: grid;
    border: 1px solid #edf1ef;
    border-radius: 8px;
    overflow: hidden;
}

.shipping-order-table > div {
    display: grid;
    grid-template-columns: 84px minmax(130px, 0.8fr) minmax(120px, 0.7fr) minmax(220px, 1.2fr) minmax(280px, 1.5fr);
}

.shipping-order-table > div.excluded {
    opacity: 0.5;
}

.shipping-order-table strong,
.shipping-order-table span {
    min-width: 0;
    border-right: 1px solid #edf1ef;
    padding: 9px 10px;
    font-size: 12px;
    line-height: 1.35;
}

.shipping-order-table strong:last-child,
.shipping-order-table span:last-child {
    border-right: 0;
}

.shipping-order-table strong {
    background: #f7faf8;
    color: #26322e;
}

.shipping-order-table span {
    color: #557169;
}

.shipping-check {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.shipping-print-sheet {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.shipping-print-label {
    position: relative;
    min-height: 300px;
    border: 1px dashed #a9b8b2;
    border-radius: 8px;
    background: #fffefb;
    box-shadow: 0 10px 26px rgba(31, 45, 39, 0.08);
    page-break-inside: avoid;
}

.shipping-print-label[hidden] {
    display: none;
}

.print-sender,
.print-recipient,
.print-kind {
    position: absolute;
    color: #111f1a;
}

.print-sender {
    top: 24px;
    left: 24px;
    display: grid;
    gap: 2px;
    font-size: 13px;
    line-height: 1.35;
}

.print-sender strong {
    font-weight: 900;
}

.print-kind {
    top: 50%;
    left: 33.333%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 0;
}

.print-recipient {
    right: 30px;
    bottom: 28px;
    display: grid;
    gap: 2px;
    max-width: 52%;
    font-size: 17px;
    font-weight: 750;
    line-height: 1.35;
    text-align: left;
}

.print-recipient strong {
    font-weight: 900;
    text-decoration: underline;
}

.tracking-timeline,
.price-results,
.check-list {
    display: grid;
    gap: 9px;
}

.tracking-timeline p,
.price-results p,
.check-list p {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    border-top: 1px solid #edf1ef;
    padding-top: 9px;
}

.tracking-timeline .warning {
    color: #873138;
}

.catalog-toolbar {
    display: grid;
    grid-template-columns: minmax(150px, 220px) minmax(180px, 1fr) minmax(160px, 220px);
    gap: 12px;
    align-items: end;
    margin-bottom: 16px;
}

.catalog-toolbar label {
    display: grid;
    gap: 6px;
}

.photo-filter {
    grid-template-columns: minmax(180px, 240px) minmax(220px, 320px);
}

.folder-upload-panel {
    margin-bottom: 16px;
}

.folder-upload-form {
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(260px, 1fr) minmax(220px, 0.8fr) auto;
    gap: 12px;
    align-items: end;
}

.folder-upload-form label {
    display: grid;
    gap: 6px;
}

.folder-upload-selection {
    min-height: 48px;
    display: grid;
    align-content: center;
    gap: 3px;
    border: 1px solid #d6dfda;
    border-radius: 8px;
    padding: 8px 10px;
    background: #f7faf8;
}

.folder-upload-selection strong {
    color: #1c2d28;
    font-size: 13px;
}

.folder-upload-selection span,
.upload-note {
    color: #6b7d76;
    font-size: 12px;
}

.folder-upload-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.upload-note {
    margin: 10px 0 0;
}

.ocr-control-panel {
    gap: 12px;
}

.ocr-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(150px, 1fr)) repeat(2, auto);
    gap: 10px;
    align-items: end;
}

.ocr-action-grid label {
    display: grid;
    gap: 6px;
}

.ocr-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.75fr);
    gap: 16px;
    margin-bottom: 16px;
}

.ocr-result-list,
.ocr-job-list {
    display: grid;
    gap: 10px;
}

.ocr-result-card {
    display: grid;
    gap: 10px;
    border: 1px solid #edf1ef;
    border-radius: 8px;
    padding: 12px;
    background: #fbfdfc;
}

.ocr-result-card > header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.ocr-result-card > header strong {
    color: #1c2d28;
    font-size: 13px;
}

.ocr-result-card > header span,
.ocr-result-card p,
.ocr-job-list small {
    color: #6b7d76;
    font-size: 12px;
}

.ocr-candidates {
    display: grid;
    grid-template-columns: repeat(3, minmax(120px, 1fr));
    gap: 8px;
}

.ocr-candidates p,
.ocr-job-list p {
    display: grid;
    gap: 4px;
    margin: 0;
}

.ocr-candidates strong,
.ocr-job-list strong {
    color: #52645e;
    font-size: 11px;
    text-transform: uppercase;
}

.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tag-list span {
    border: 1px solid #d6dfda;
    border-radius: 999px;
    padding: 3px 7px;
    background: #ffffff;
    color: #37534b;
    font-size: 11px;
    font-weight: 750;
}

.ocr-job-list p {
    border-bottom: 1px solid #edf1ef;
    padding-bottom: 9px;
}

.price-filter {
    grid-template-columns: minmax(160px, 220px) minmax(190px, 280px) auto;
    align-items: end;
}

.price-sync-box {
    display: grid;
    gap: 8px;
}

.price-sync-box p {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    border-top: 1px solid #edf1ef;
    padding-top: 8px;
}

.price-sync-box strong {
    color: #52645e;
    font-size: 11px;
    text-transform: uppercase;
}

.price-sync-box span {
    color: #1c2d28;
    font-size: 12px;
    font-weight: 750;
    text-align: right;
}

.price-workspace {
    display: grid;
    gap: 16px;
}

.price-folder-summary {
    gap: 12px;
}

.price-main-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.price-board {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 28vw);
    gap: 16px;
    align-items: start;
}

.price-groups-panel {
    min-width: 0;
}

.price-groups-panel > header {
    align-items: center;
    gap: 12px;
}

.price-pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    min-width: 0;
}

.price-pagination label {
    display: flex;
    align-items: center;
    gap: 6px;
}

.price-pagination label > span {
    color: #60726b;
    font-size: 10px;
    font-weight: 750;
    white-space: nowrap;
}

.price-pagination select {
    width: 62px;
    height: 30px;
    padding: 4px 6px;
    font-size: 11px;
}

.price-pagination .icon-inline {
    width: 30px;
    height: 30px;
    min-width: 30px;
}

.price-pagination .js-price-groups-count {
    min-width: 96px;
    color: #52645e;
    font-size: 11px;
    font-weight: 800;
    text-align: center;
    white-space: nowrap;
}

.price-groups-list {
    display: grid;
    gap: 12px;
    align-content: start;
    height: clamp(1500px, 185vh, 2100px);
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 6px;
    scrollbar-color: #8da39a #eef4f1;
    scrollbar-width: thin;
    scrollbar-gutter: stable;
}

.price-groups-list::-webkit-scrollbar {
    width: 8px;
}

.price-groups-list::-webkit-scrollbar-track {
    background: #eef4f1;
}

.price-groups-list::-webkit-scrollbar-thumb {
    background: #8da39a;
    border-radius: 999px;
}

.price-empty {
    display: grid;
    gap: 4px;
    border: 1px dashed #c8d5cf;
    border-radius: 8px;
    padding: 18px;
    background: #fbfdfc;
}

.price-empty strong {
    color: #1c2d28;
}

.price-empty span {
    color: #6b7d76;
    font-size: 12px;
}

.price-group-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    border: 1px solid #dde6e1;
    border-radius: 8px;
    padding: 9px;
    background: #ffffff;
    box-shadow: 0 1px 0 rgba(20, 38, 32, 0.03);
    content-visibility: auto;
    contain-intrinsic-size: auto 190px;
}

.price-group-index {
    display: grid;
    place-items: center;
    min-height: 30px;
    border-radius: 8px;
    background: #eef4f1;
    color: #20352e;
    font-size: 12px;
    font-weight: 850;
}

.price-group-fields {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 78px minmax(190px, 0.75fr) 56px;
    gap: 8px;
    align-items: end;
}

.price-group-fields label {
    display: grid;
    gap: 5px;
}

.price-group-fields span {
    color: #52645e;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.price-group-fields .js-price-title-counter {
    color: #52645e;
    font: inherit;
}

.price-group-fields .js-price-title-counter.is-near-limit {
    color: #a44835;
}

.price-group-fields input,
.price-group-fields select {
    width: 100%;
    min-width: 0;
    height: 26px;
    min-height: 26px;
    padding: 2px 7px;
    font-size: 12px;
    line-height: 1.15;
}

.price-quantity-field input {
    text-align: center;
    font-weight: 800;
}

.price-ebay-category-combobox {
    display: block;
    min-width: 0;
}

.price-ebay-category-combobox input {
    border-radius: 5px;
}

.price-ebay-category-combobox.is-invalid input {
    border-color: #b97335;
    background: #fffaf4;
}

.price-ebay-category-warning {
    color: #9a4f2f;
    font-size: 10px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.price-ebay-category-menu {
    position: fixed;
    z-index: 1600;
    display: grid;
    align-content: start;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 5px;
    border: 1px solid #aebdb7;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(24, 48, 39, 0.2);
    color: #20352e;
}

.price-ebay-category-menu[hidden] {
    display: none !important;
}

.price-ebay-category-option {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 9px;
    width: 100%;
    padding: 8px 9px;
    border: 0;
    border-radius: 4px;
    background: #fff;
    color: #20352e;
    text-align: left;
    cursor: pointer;
}

.price-ebay-category-option:hover,
.price-ebay-category-option:focus-visible {
    background: #e8f3ee;
    outline: 1px solid #7ba893;
}

.price-ebay-category-id {
    color: #537066;
    font-family: Consolas, "Courier New", monospace;
    font-size: 11px;
    font-weight: 800;
}

.price-ebay-category-path {
    min-width: 0;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
    overflow-wrap: anywhere;
    white-space: normal;
}

.price-ebay-category-empty,
.price-ebay-category-more {
    padding: 9px;
    color: #667a72;
    font-size: 11px;
    line-height: 1.4;
}

.price-ebay-category-more {
    border-top: 1px solid #e4ebe7;
}

.price-photo-strip {
    grid-column: 2 / -1;
    display: flex;
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
    scrollbar-width: none;
}

.price-photo-strip::-webkit-scrollbar {
    display: none;
}

.price-photo-strip a {
    flex: 0 0 58px;
    display: grid;
    gap: 3px;
    text-decoration: none;
    color: #52645e;
    font-size: 10px;
    text-align: center;
}

.price-photo-strip img {
    width: 58px;
    height: 76px;
    object-fit: cover;
    border: 1px solid #dce6e1;
    border-radius: 6px;
    background: #f4f7f5;
}

.price-photo-strip small,
.price-photo-strip > span {
    align-self: center;
    color: #6b7d76;
    font-size: 11px;
    white-space: nowrap;
}

.price-group-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.price-save-state {
    min-width: 42px;
    color: #6b7d76;
    font-size: 10px;
    font-weight: 800;
    text-align: right;
}

.price-ai-state {
    color: #52645e;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.price-ai-terms,
.price-ebay-query {
    grid-column: 2 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.price-ai-terms {
    padding-top: 2px;
}

.ai-term-chip {
    min-height: 27px;
    border: 1px solid #cbd8d2;
    border-radius: 999px;
    padding: 4px 9px;
    background: #ffffff;
    color: #334a42;
    font: inherit;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.25;
    cursor: pointer;
}

.ai-term-chip:hover,
.ai-term-chip:focus-visible {
    border-color: #66977f;
    outline: none;
}

.ai-term-chip.is-selected {
    border-color: #3f8063;
    background: #e5f5ec;
    color: #185b3d;
}

.price-ai-no-terms {
    color: #778781;
    font-size: 11px;
}

.price-ebay-query {
    border-top: 1px solid #edf2ef;
    padding-top: 7px;
}

.price-ebay-query > strong {
    color: #314840;
    font-size: 11px;
}

.price-search-terms {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 5px;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: thin;
}

.price-search-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 30px;
    align-items: center;
    gap: 5px;
    min-width: 0;
}

.price-search-controls > .icon-inline {
    width: 30px;
    min-width: 30px;
    height: 26px;
    min-height: 26px;
    margin: 0;
}

.price-search-terms .js-price-ebay-free-text {
    flex: 1 0 180px;
    width: min(260px, 100%);
    min-width: 140px;
    max-width: 300px;
    height: 26px;
    min-height: 26px;
    padding: 2px 7px;
    border: 1px solid #bdc9c4;
    border-radius: 5px;
    background: #fff;
    color: #20352e;
    font-size: 12px;
}

.price-search-terms .js-price-ebay-free-text:focus {
    border-color: #4f8e73;
    outline: 2px solid rgba(35, 112, 82, 0.16);
    outline-offset: 1px;
}

.price-group-meta {
    grid-column: 2 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: #6b7d76;
    font-size: 11px;
}

.price-group-meta .tag-list {
    gap: 4px;
}

.price-group-row.is-ai-low-confidence {
    border-left: 3px solid #b85b45;
}

.price-group-row.is-complete {
    border: 2px solid #379368;
    box-shadow: 0 0 0 1px rgba(55, 147, 104, 0.22);
}

.price-group-row.is-incomplete-focus {
    outline: 3px solid #d49a43;
    outline-offset: 2px;
}

.price-group-row.is-voice-context {
    outline: 3px solid #2b7894;
    outline-offset: 2px;
}

.price-group-fields input.is-voice-context-field {
    border-color: #2b7894;
    box-shadow: 0 0 0 2px rgba(43, 120, 148, 0.16);
}

.ai-analysis-panel {
    grid-column: 2 / -1;
    border-top: 1px solid #e5ece8;
    padding-top: 7px;
}

.ai-analysis-panel > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #263c35;
    font-size: 11px;
    font-weight: 850;
    cursor: pointer;
    list-style-position: outside;
}

.ai-confidence-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 5px;
}

.ai-confidence {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 22px;
    border: 1px solid #ccd8d2;
    border-radius: 6px;
    padding: 2px 6px;
    background: #f7faf8;
    color: #52645e;
    font-size: 10px;
    font-weight: 750;
}

.ai-confidence strong {
    color: #20352e;
    font-size: 10px;
}

.ai-confidence-high {
    border-color: #a8cfbb;
    background: #edf8f2;
}

.ai-confidence-medium {
    border-color: #ddc987;
    background: #fff9e8;
}

.ai-confidence-low {
    border-color: #dfb2a8;
    background: #fff3f0;
}

.ai-analysis-body {
    display: grid;
    gap: 10px;
    margin-top: 9px;
    padding: 10px;
    border: 1px solid #e2eae6;
    border-radius: 7px;
    background: #fbfdfc;
}

.ai-analysis-body h3 {
    margin: 0 0 5px;
    color: #314840;
    font-size: 11px;
}

.ai-analysis-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 14px;
}

.ai-analysis-facts p {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin: 0;
    color: #5f716a;
    font-size: 11px;
}

.ai-analysis-facts strong {
    color: #2b4139;
}

.ai-object-list,
.ai-evidence-list,
.ai-warning-list ul {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ai-object-list li,
.ai-evidence-list li {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 6px 7px;
    border-left: 2px solid #7f9f92;
    background: #ffffff;
    color: #445850;
    font-size: 11px;
}

.ai-object-list li > span,
.ai-evidence-list li > p {
    min-width: 0;
    flex: 1;
    margin: 0;
}

.ai-evidence-list li > div {
    display: grid;
    min-width: 110px;
}

.ai-evidence-list li > div span {
    color: #73827d;
    font-size: 10px;
}

.ai-query-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.ai-query-list span {
    border: 1px solid #c8d6d0;
    border-radius: 5px;
    padding: 3px 6px;
    background: #ffffff;
    color: #41564e;
    font-size: 10px;
}

.ai-warning-list {
    border-left: 3px solid #b85b45;
    padding-left: 9px;
    color: #7a3b2f;
    font-size: 11px;
}

.price-side-column {
    position: static;
    display: grid;
    gap: 16px;
    min-width: 0;
    align-self: start;
}

.price-search-panel {
    position: static;
    min-height: 520px;
}

.price-search-panel header a {
    color: #1f5f76;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.price-search-links {
    display: flex;
    align-items: center;
    gap: 10px;
}

.price-search-links a + a {
    padding-left: 10px;
    border-left: 1px solid #cbd7d2;
}

.price-search-box {
    display: grid;
    gap: 10px;
}

.price-search-current-query {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32px;
    gap: 6px;
    align-items: center;
}

.price-search-current-query input {
    width: 100%;
    height: 30px;
    min-height: 30px;
    padding: 4px 8px;
    border: 1px solid #bdc9c4;
    border-radius: 5px;
    background: #fff;
    color: #20352e;
    font-size: 12px;
}

.price-search-current-query input:focus {
    border-color: #4f8e73;
    outline: 2px solid rgba(35, 112, 82, 0.16);
    outline-offset: 1px;
}

.price-search-current-query .icon-inline {
    width: 32px;
    min-width: 32px;
    height: 30px;
}

.price-search-box span {
    color: #52645e;
    font-size: 12px;
}

.price-search-preview {
    display: grid;
    gap: 8px;
    min-height: 180px;
    border: 1px solid #dbe5df;
    border-radius: 8px;
    padding: 14px;
    background: #fbfdfc;
    align-content: start;
    overflow: hidden;
}

.price-search-preview strong {
    color: #20352e;
    font-size: 13px;
}

.price-search-preview small {
    color: #6b7d76;
    font-size: 11px;
}

.price-ebay-comparison-scroll {
    max-height: 620px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.price-ebay-results-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.price-ebay-results-toolbar label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.price-ebay-results-toolbar label span {
    color: #60726b;
    font-size: 10px;
    font-weight: 800;
}

.price-ebay-results-toolbar select {
    width: 142px;
    height: 28px;
    padding: 3px 6px;
    font-size: 10px;
}

.price-ebay-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-items: start;
}

.price-ebay-column {
    display: grid;
    min-width: 0;
    gap: 7px;
}

.price-ebay-column > header {
    position: sticky;
    z-index: 2;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-bottom: 1px solid #dfe8e3;
    padding: 5px 3px 7px;
    background: #fbfdfc;
}

.price-ebay-column > header a {
    color: #1f5f76;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
}

.price-ebay-results {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
}

.price-ebay-results-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.price-ebay-column-empty {
    border: 1px dashed #cbd8d2;
    border-radius: 7px;
    padding: 12px;
    color: #667871;
    background: #ffffff;
    font-size: 10px;
    line-height: 1.45;
}

.price-ebay-result {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 7px;
    min-width: 0;
    border: 1px solid #dfe8e3;
    border-radius: 7px;
    padding: 6px;
    background: #ffffff;
    color: #314840;
    text-decoration: none;
}

.price-ebay-result:hover,
.price-ebay-result:focus-visible {
    border-color: #72a089;
    outline: none;
}

.price-ebay-result img,
.price-ebay-no-image {
    width: 68px;
    height: 88px;
    border-radius: 5px;
    object-fit: cover;
    background: #eef3f0;
}

.price-ebay-result img {
    cursor: zoom-in;
}

.price-ebay-no-image {
    display: grid;
    place-items: center;
    color: #7a8883;
    font-size: 9px;
    text-align: center;
}

.price-ebay-result-data {
    display: grid;
    align-content: start;
    gap: 4px;
    min-width: 0;
}

.price-ebay-result-data strong {
    display: -webkit-box;
    overflow: hidden;
    color: #273e36;
    font-size: 10px;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.price-ebay-result-data b {
    color: #17603f;
    font-size: 12px;
}

.price-ebay-result-data small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.price-zoom-panel {
    display: grid;
    gap: 8px;
    margin-top: 0;
}

.price-zoom-card {
    align-content: start;
}

.price-zoom-panel header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.price-zoom-panel header h2 {
    margin: 0;
    font-size: 14px;
}

.price-zoom-panel header span {
    color: #6b7d76;
    font-size: 11px;
    font-weight: 750;
}

.price-zoom-frame {
    min-height: 320px;
    border: 1px solid #dbe5df;
    border-radius: 8px;
    background: #fbfdfc;
    background-repeat: no-repeat;
    background-size: 210%;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.price-zoom-frame.has-image span {
    display: none;
}

.price-zoom-frame span {
    color: #6b7d76;
    font-size: 12px;
}

.photo-operational-status.is-success {
    border-color: #9ed8bd;
    background: #effaf4;
    color: #17643f;
}

.photo-operational-status.is-error {
    border-color: #f3b4b4;
    background: #fff5f5;
    color: #a31515;
}

.photo-summary-stack {
    display: grid;
    gap: 12px;
    margin-bottom: 16px;
}

.photo-dashboard-stack {
    display: grid;
    gap: 12px;
    margin-bottom: 16px;
}

.photo-dashboard[hidden] {
    display: none;
}

.activity-analytics {
    display: grid;
    gap: 14px;
    margin-bottom: 16px;
}

.activity-analytics > header {
    align-items: flex-start;
}

.activity-analytics > header p {
    margin: 4px 0 0;
    color: #60746d;
    font-size: 13px;
}

.analytics-refresh {
    white-space: nowrap;
}

.analytics-controls {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) repeat(2, minmax(150px, 180px)) minmax(190px, 230px);
    gap: 10px;
    align-items: end;
}

.analytics-controls label {
    display: grid;
    gap: 6px;
}

.analytics-range-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.analytics-range-buttons button {
    border: 1px solid #d7e2dd;
    border-radius: 8px;
    padding: 8px 10px;
    background: #ffffff;
    color: #273832;
    cursor: pointer;
    font-weight: 800;
}

.analytics-range-buttons button.active {
    border-color: #1f6f63;
    background: #e7f5ef;
    color: #12483f;
}

.analytics-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 12px;
}

.analytics-card {
    min-width: 0;
    border: 1px solid #dbe5e0;
    border-radius: 8px;
    padding: 14px;
    background: #ffffff;
}

.analytics-card-wide {
    grid-column: 1 / -1;
}

.analytics-card-private {
    border-color: #d4c7e8;
    background: #fbf9ff;
}

.analytics-card header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.analytics-card h3 {
    margin: 0;
    color: #1c2d28;
    font-size: 15px;
}

.analytics-card header span {
    color: #6f807a;
    font-size: 12px;
    font-weight: 800;
}

.chart-canvas {
    min-height: 180px;
}

.chart-empty {
    display: grid;
    min-height: 140px;
    place-items: center;
    color: #6b7d76;
    font-size: 13px;
}

.analytics-bars {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(14px, 1fr);
    gap: 5px;
    align-items: end;
    min-height: 180px;
    padding-top: 8px;
}

.analytics-bar {
    display: grid;
    grid-template-rows: minmax(120px, 1fr) auto;
    gap: 6px;
    min-width: 0;
}

.analytics-bar span {
    align-self: end;
    border-radius: 5px 5px 2px 2px;
    background: var(--bar-color, #2b7a78);
    min-height: 4px;
}

.analytics-bar small {
    color: #768982;
    font-size: 10px;
    text-align: center;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    min-height: 34px;
}

.workflow-chart {
    display: grid;
    gap: 7px;
}

.workflow-chart article {
    display: grid;
    grid-template-columns: 44px minmax(80px, 1fr) 40px;
    gap: 8px;
    align-items: center;
}

.workflow-chart strong,
.workflow-chart em {
    color: #5d716a;
    font-size: 11px;
    font-style: normal;
}

.workflow-bar {
    display: flex;
    min-width: 8%;
    height: 18px;
    overflow: hidden;
    border-radius: 8px;
    background: #edf2ef;
}

.workflow-bar span,
.chart-legend i {
    display: block;
}

.wf-separated {
    background: #2b7a78;
}

.wf-priced {
    background: #b7791f;
}

.wf-listed {
    background: #4c6fff;
}

.chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
    color: #5d716a;
    font-size: 12px;
    font-weight: 800;
}

.chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.chart-legend i {
    width: 10px;
    height: 10px;
    border-radius: 3px;
}

.analytics-ranking {
    display: grid;
    gap: 9px;
}

.analytics-ranking article {
    display: grid;
    grid-template-columns: minmax(78px, 0.7fr) minmax(90px, 1fr);
    gap: 6px 10px;
    align-items: center;
}

.analytics-ranking strong {
    color: #21322d;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.analytics-ranking div {
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf2ef;
}

.analytics-ranking div span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2b7a78, #4c6fff);
}

.analytics-ranking small {
    grid-column: 2;
    color: #6b7d76;
    font-size: 11px;
}

.report-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(100px, 1fr));
    gap: 8px;
}

.report-grid article {
    border: 1px solid #edf1ef;
    border-radius: 8px;
    padding: 10px;
    background: #fbfdfc;
    text-align: center;
}

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

.report-grid span {
    color: #6b7d76;
    font-size: 11px;
    font-weight: 800;
}

.report-grid strong {
    margin-top: 5px;
    color: #173d35;
    font-size: 16px;
}

.report-notes {
    display: grid;
    gap: 7px;
    margin-top: 12px;
}

.report-notes p {
    display: grid;
    grid-template-columns: minmax(120px, 0.3fr) 1fr;
    gap: 10px;
    margin: 0;
    color: #2b3834;
    font-size: 13px;
}

.report-notes strong {
    color: #52645e;
}

.photo-summary {
    border: 1px solid #d6dfda;
    border-radius: 8px;
    padding: 16px;
    background: #ffffff;
    box-shadow: 0 10px 26px rgba(31, 45, 39, 0.06);
}

.photo-summary[hidden] {
    display: none;
}

.photo-summary header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.photo-summary h2,
.photo-summary p {
    margin: 0;
}

.photo-summary h2 {
    color: #1c2d28;
    font-size: 17px;
}

.photo-summary header span,
.photo-summary p {
    color: #6b7d76;
    font-size: 13px;
}

.photo-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
    gap: 10px;
}

.photo-stat-grid article {
    min-width: 0;
    border: 1px solid #edf1ef;
    border-radius: 8px;
    padding: 11px;
    background: #fbfdfc;
    text-align: center;
}

.photo-stat-grid span,
.photo-stat-grid strong {
    display: block;
}

.photo-stat-grid span {
    color: #6b7d76;
    font-size: 12px;
    font-weight: 750;
}

.photo-stat-grid strong {
    margin-top: 6px;
    color: #173d35;
    font-size: 16px;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.folder-table {
    display: grid;
    gap: 4px;
}

.folder-table article {
    display: grid;
    grid-template-columns: minmax(120px, 0.9fr) minmax(180px, 1.8fr) repeat(3, minmax(120px, 0.8fr));
    gap: 10px;
    align-items: center;
    padding: 8px 2px;
    color: #2d3b36;
    font-size: 13px;
}

.folder-table strong {
    color: #173d35;
    font-size: 13px;
}

.folder-table span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.upload-alert {
    border-color: #f3c46b;
    background: #fff9eb;
}

.photo-strip,
.book-photo-row {
    display: grid;
    grid-template-columns: repeat(6, minmax(120px, 1fr));
    gap: 12px;
}

.photo-strip.compact {
    grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
    gap: 8px;
}

.photo-strip.compact .photo-card {
    padding: 6px;
    cursor: pointer;
}

.photo-strip.compact .photo-placeholder {
    font-size: 18px;
}

.photo-strip.compact .photo-card strong {
    font-size: 10px;
}

.photo-virtualizer {
    display: grid;
    gap: 10px;
}

.photo-workbench {
    display: grid;
    gap: 12px;
}

.photo-workbench > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.photo-workbench > header h2 {
    margin: 0;
}

.photo-workbench > header span {
    color: #6b7d76;
    font-size: 12px;
}

.photo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.primary-inline.is-owned {
    border: 1px solid #cfd8d3;
    background: #edf1ef;
    color: #52645e;
}

.ghost-inline.release-ready {
    border-color: #1f6f5b;
    background: #1f6f5b;
    color: #ffffff;
}

.ghost-inline.danger-inline {
    border-color: #d8b5aa;
    background: #fff7f4;
    color: #8a3a27;
}

.photo-operational-status {
    border: 1px solid #d6dfda;
    border-radius: 8px;
    padding: 9px 10px;
    background: #f7faf8;
    color: #37534b;
    font-size: 13px;
    font-weight: 750;
}

.workflow-panel {
    display: grid;
    gap: 12px;
}

.workflow-table {
    display: grid;
    gap: 10px;
}

.workflow-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr)) minmax(180px, 0.8fr);
    gap: 8px;
    align-items: stretch;
    border: 1px solid #edf1ef;
    border-radius: 8px;
    padding: 10px;
    background: #fbfdfc;
}

.workflow-row > span {
    min-width: 0;
    display: grid;
    gap: 4px;
    color: #26322e;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.workflow-row strong {
    color: #6b7d76;
    font-size: 11px;
    text-transform: uppercase;
}

.workflow-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.manual-toggle-panel {
    padding: 12px 14px;
}

.price-completion-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
    margin-top: 10px;
    padding-top: 9px;
    border-top: 1px solid #e3eae6;
    color: #52645e;
    font-size: 12px;
}

.price-completion-sticky {
    position: sticky;
    top: 0;
    z-index: 25;
    margin: 0;
    padding: 9px 14px;
    border: 1px solid #c8d5cf;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 7px 18px rgba(26, 45, 38, 0.12);
    backdrop-filter: blur(8px);
}

.price-completion-summary span {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
}

.price-completion-summary strong {
    color: #20352e;
    font-size: 14px;
}

.price-completion-summary .is-complete,
.price-completion-summary .is-complete strong {
    color: #23704f;
}

.price-completion-summary .is-incomplete,
.price-completion-summary .is-incomplete strong {
    color: #a04f35;
}

.price-incomplete-navigation {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.price-incomplete-navigation .icon-inline {
    width: 28px;
    min-width: 28px;
    height: 28px;
}

.price-voice-control {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    margin-left: auto;
}

.price-voice-toggle {
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
    padding: 5px;
}

.price-voice-icon {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.price-voice-icon-on {
    display: none;
}

.price-voice-control.is-active .price-voice-icon-off {
    display: none;
}

.price-voice-control.is-active .price-voice-icon-on {
    display: block;
}

.price-voice-control.is-active .price-voice-toggle {
    border-color: #2f835d;
    background: #ddf5e8;
    color: #12613e;
}

.price-voice-control[data-voice-state="error"] .price-voice-toggle {
    border-color: #c8685d;
    color: #94362c;
}

.price-voice-state {
    color: #40574f;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.price-voice-context {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.price-voice-context b {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 6px;
    border: 1px solid #c8d6d0;
    border-radius: 5px;
    background: #f6f9f7;
    color: #365048;
    font-size: 10px;
    line-height: 1;
    white-space: nowrap;
}

.price-voice-control.is-active .price-voice-context b {
    border-color: #8eb9a5;
    background: #edf8f2;
    color: #1d6042;
}

.price-voice-transcript {
    display: block;
    max-width: min(32vw, 390px);
    overflow: hidden;
    color: #6a7b75;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.price-group-row.is-voice-pending:not(.is-complete) {
    border-color: #ce9538;
    box-shadow: 0 0 0 2px rgba(206, 149, 56, 0.15);
}

.price-group-row.is-voice-pending.is-complete {
    box-shadow: 0 0 0 2px rgba(206, 149, 56, 0.3);
}

.price-group-row.is-voice-error {
    border-color: #bc574b;
}

.price-group-fields input.is-voice-filled {
    outline: 2px solid rgba(206, 149, 56, 0.45);
    outline-offset: 1px;
}

.toggle-line {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #26322e;
    font-weight: 800;
}

.toggle-line input {
    width: 16px;
    height: 16px;
}

.photo-rail {
    display: grid;
    grid-template-columns: auto auto minmax(220px, 1fr);
    gap: 12px;
    align-items: center;
    border: 1px solid #d6dfda;
    border-radius: 8px;
    padding: 10px;
    background: #ffffff;
}

.separation-controls {
    position: sticky;
    top: 0;
    z-index: 24;
    grid-template-columns: minmax(140px, 180px) minmax(210px, 280px) auto minmax(180px, 1fr) auto;
    box-shadow: 0 7px 18px rgba(26, 45, 38, 0.12);
}

.separation-controls label {
    display: grid;
    gap: 4px;
}

.separation-controls label span {
    color: #52645e;
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
}

.separation-controls select {
    min-height: 32px;
}

.separation-controls .ghost-inline {
    min-width: 40px;
    padding: 6px 8px;
    font-size: 17px;
}

.photo-page-buttons {
    display: inline-flex;
    align-items: end;
    gap: 4px;
}

.separation-live-groups {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 5px;
    color: #52645e;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.separation-live-groups strong {
    color: #1f6f5b;
    font-size: 15px;
}

.active-work-alert {
    border-color: #9ed8bd;
    background: #f3fbf6;
}

.active-work-alert.is-idle {
    border-color: #d6dfda;
    background: #fbfdfc;
}

.active-work-alert p {
    margin: 0 0 12px;
    color: #37534b;
    font-weight: 700;
}

.listing-workspace {
    display: grid;
    gap: 16px;
}

.listing-filter {
    grid-template-columns: minmax(180px, 240px) minmax(210px, 300px);
}

.listing-common-settings {
    gap: 12px;
}

.listing-fixed-policies {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.listing-fixed-policies span,
.listing-group-badges span {
    border: 1px solid #cbd8d2;
    border-radius: 999px;
    padding: 4px 8px;
    background: #ffffff;
    color: #425950;
    font-size: 10px;
    font-weight: 800;
}

.listing-fixed-policies .is-best-offer,
.listing-group-badges .is-best-offer {
    border-color: #70ac8d;
    background: #e6f5ed;
    color: #1f6949;
}

.listing-settings-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: 9px;
    align-items: end;
}

.listing-settings-grid label {
    display: grid;
    gap: 4px;
}

.listing-settings-grid label span {
    color: #52645e;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.listing-settings-grid input {
    width: 100%;
    min-width: 0;
    height: 30px;
    padding: 4px 7px;
    font-size: 11px;
}

.listing-selection-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    color: #52645e;
    font-size: 12px;
}

.listing-selection-bar > span {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
}

.listing-selection-bar strong {
    color: #20352e;
    font-size: 14px;
}

.listing-selection-bar .is-complete,
.listing-selection-bar .is-complete strong {
    color: #23704f;
}

.listing-selection-bar .is-incomplete,
.listing-selection-bar .is-incomplete strong {
    color: #a04f35;
}

.listing-selection-bar .is-listed,
.listing-selection-bar .is-listed strong {
    color: #24647a;
}

.listing-selection-bar .is-positive,
.listing-selection-bar .is-positive strong {
    color: #23704f;
    font-weight: 850;
}

.listing-selection-bar .js-listing-summary-complete,
.listing-selection-bar .js-listing-summary-complete strong,
.listing-selection-bar .js-listing-summary-selected,
.listing-selection-bar .js-listing-summary-selected strong,
.listing-selection-bar .js-listing-summary-listed,
.listing-selection-bar .js-listing-summary-listed strong {
    color: #85908b;
}

.listing-selection-bar .js-listing-summary-complete.is-positive,
.listing-selection-bar .js-listing-summary-complete.is-positive strong,
.listing-selection-bar .js-listing-summary-selected.is-positive,
.listing-selection-bar .js-listing-summary-selected.is-positive strong,
.listing-selection-bar .js-listing-summary-listed.is-positive,
.listing-selection-bar .js-listing-summary-listed.is-positive strong {
    color: #23704f;
}

.listing-select-all {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #263c34;
    font-weight: 800;
}

.listing-select-all input {
    width: 16px;
    height: 16px;
}

.listing-selection-bar .js-listing-publish {
    margin-left: auto;
}

.listing-error-summary {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 1px solid #d5ddda;
    border-radius: 5px;
    padding: 4px 7px;
    background: #f6f8f7;
    color: #85908b;
    font: inherit;
    font-weight: 850;
}

.listing-error-summary.has-errors {
    border-color: #bd4d3b;
    background: #fff;
    color: #a33124;
    cursor: pointer;
}

.listing-error-summary.has-errors strong {
    color: #a33124;
}

.listing-group-row {
    grid-template-columns: 42px minmax(0, 1fr) auto;
}

.listing-group-row.is-complete {
    border: 2px solid #4c9b73;
}

.listing-group-row.is-incomplete {
    border-color: #d7dfdb;
}

.listing-group-row.is-listed {
    border-color: #456c77;
    background: #e8eef0;
}

.listing-group-row.is-listed input {
    border-color: #cad9dd;
    background: #eef5f6;
    color: #314d56;
}

.listing-group-selector {
    display: grid;
    justify-items: center;
    gap: 6px;
    color: #20352e;
    font-size: 11px;
    font-weight: 850;
}

.listing-group-selector input {
    width: 17px;
    height: 17px;
}

.listing-group-selector span {
    display: grid;
    place-items: center;
    width: 30px;
    min-height: 26px;
    border-radius: 6px;
    background: #eef4f1;
}

.listing-group-badges {
    display: grid;
    justify-items: end;
    gap: 5px;
}

.listing-group-badges button {
    border: 1px solid #cbd8d2;
    border-radius: 999px;
    padding: 4px 8px;
    background: #ffffff;
    color: #425950;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.listing-group-badges button.is-active {
    border-color: #70ac8d;
    background: #e6f5ed;
    color: #1f6949;
}

.listing-group-badges button:disabled {
    cursor: default;
    opacity: 0.8;
}

.listing-group-footer {
    grid-column: 2 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-height: 18px;
}

.listing-group-footer .js-listing-save-state {
    color: #60726b;
    font-size: 10px;
    font-weight: 800;
}

.listing-operational-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}

.listing-status-chip {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    border: 1px solid #c9d5d0;
    border-radius: 999px;
    padding: 3px 8px;
    background: #ffffff;
    color: #425950;
    font-size: 10px;
    font-weight: 850;
    line-height: 1.2;
    text-decoration: none;
}

button.listing-status-chip {
    cursor: pointer;
}

.listing-status-chip.is-not-uploaded {
    color: #7b8782;
    text-decoration: line-through;
}

.listing-status-chip.is-success,
.listing-status-chip.is-expiry,
.listing-status-chip.is-item-id {
    border-color: #69a986;
    background: #e7f6ed;
    color: #1f6949;
}

.listing-status-chip.is-warning {
    border-color: #d0a545;
    background: #fff7d9;
    color: #795d13;
}

.listing-status-chip.is-error {
    border-color: #b94534;
    background: #ffffff;
    color: #a33224;
}

.listing-status-chip.is-uploading,
.listing-status-chip.is-publishing {
    border-color: #5f8fa2;
    background: #edf6f9;
    color: #285f73;
    animation: listing-status-pulse 1.1s ease-in-out infinite;
}

@keyframes listing-status-pulse {
    0%,
    100% {
        opacity: 1;
    }
    50% {
        opacity: 0.46;
    }
}

.listing-group-row.has-listing-error {
    border-color: #bc6553;
}

.listing-group-row.is-error-focus {
    animation: listing-error-focus 1.15s ease-out;
}

@keyframes listing-error-focus {
    0% {
        box-shadow: 0 0 0 0 rgba(181, 58, 39, 0.45);
    }
    100% {
        box-shadow: 0 0 0 8px rgba(181, 58, 39, 0);
    }
}

.listing-problem {
    border-left: 2px solid #b86649;
    padding-left: 6px;
    color: #8b442f;
    font-size: 10px;
    font-weight: 750;
}

.listing-item-link {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    border: 1px solid #9ebfca;
    border-radius: 5px;
    padding: 3px 7px;
    background: #edf7f9;
    color: #205f75;
    font-size: 10px;
    font-weight: 850;
    text-decoration: none;
}

.listing-item-link:hover {
    border-color: #4e8799;
    background: #dff0f4;
}

.listing-batches-panel {
    min-height: 320px;
}

.listing-batches-preview {
    display: grid;
    gap: 10px;
    max-height: 760px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 4px;
    scrollbar-color: #8da39a #eef4f1;
    scrollbar-width: thin;
}

.listing-batches-preview > p {
    margin: 0;
    color: #60726b;
    font-size: 12px;
    line-height: 1.5;
}

.listing-batch-summary {
    display: grid;
    gap: 5px;
    border-left: 3px solid #4b8d6c;
    padding-left: 10px;
    color: #52645e;
    font-size: 11px;
}

.listing-batch-summary strong {
    color: #20352e;
    font-size: 13px;
}

.listing-batch-summary .is-safe {
    color: #23704f;
    font-weight: 850;
}

.listing-batch {
    display: grid;
    gap: 8px;
    border: 1px solid #d6e0db;
    border-radius: 7px;
    padding: 10px;
    background: #fbfdfc;
}

.listing-batch > header,
.listing-batch-items p {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.listing-batch > header span {
    color: #27714f;
    font-size: 11px;
    font-weight: 850;
}

.listing-batch-items {
    display: grid;
    gap: 5px;
}

.listing-batch-items p {
    margin: 0;
    border-top: 1px solid #e5ece8;
    padding-top: 5px;
    color: #41564e;
    font-size: 10px;
}

.listing-batch details {
    color: #3c544b;
    font-size: 11px;
}

.listing-batch summary {
    cursor: pointer;
    font-weight: 800;
}

.listing-batch pre {
    max-height: 320px;
    overflow: auto;
    border: 1px solid #dce5e1;
    border-radius: 5px;
    padding: 8px;
    background: #17251f;
    color: #e9f0ed;
    font: 10px/1.45 Consolas, "Courier New", monospace;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.listing-request-status {
    display: grid;
    gap: 10px;
}

.listing-request-status > header,
.listing-request-progress {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.listing-request-progress span {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    color: #53665f;
    font-size: 11px;
}

.listing-request-progress strong {
    color: #20352e;
    font-size: 13px;
}

.listing-request-error {
    margin: 0;
    border-left: 3px solid #a95038;
    padding-left: 8px;
    color: #873c29;
    font-size: 11px;
}

.listing-request-items {
    display: grid;
    gap: 5px;
}

.listing-request-items p {
    display: grid;
    grid-template-columns: minmax(100px, 1fr) auto;
    gap: 4px 8px;
    margin: 0;
    border-top: 1px solid #e1e9e5;
    padding-top: 6px;
    color: #43584f;
    font-size: 10px;
}

.listing-request-items p small {
    grid-column: 1 / -1;
    color: #8a432e;
}

.listing-request-items a {
    color: #22677d;
    font-weight: 850;
}

.listing-publish-dialog {
    width: min(560px, calc(100vw - 28px));
    border: 1px solid #c8d4cf;
    border-radius: 8px;
    padding: 0;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(18, 38, 30, 0.25);
    color: #20352e;
}

.listing-publish-dialog::backdrop {
    background: rgba(22, 34, 30, 0.68);
}

.listing-publish-dialog-body {
    display: grid;
    gap: 14px;
    padding: 18px;
}

.listing-publish-dialog-body > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.listing-publish-dialog-body h2,
.listing-publish-dialog-body p {
    margin: 0;
}

.listing-publish-dialog-body > label {
    display: grid;
    gap: 5px;
    color: #52645e;
    font-size: 11px;
    font-weight: 800;
}

.listing-publish-dialog-body > label input[type="text"] {
    width: 100%;
    height: 34px;
    border: 1px solid #bacac4;
    border-radius: 5px;
    padding: 5px 8px;
    font-weight: 850;
}

.listing-publish-safety {
    display: grid;
    gap: 5px;
    border-left: 4px solid #a54b35;
    padding: 9px 11px;
    background: #fff6f3;
    color: #713626;
}

.listing-publish-safety span {
    font-size: 11px;
    line-height: 1.45;
}

.listing-publish-dialog-body .listing-publish-check {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: #273e35;
    font-size: 12px;
}

.listing-publish-check input {
    width: 17px;
    height: 17px;
    margin-top: 1px;
}

.listing-publish-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.active-listings-workspace {
    display: grid;
    gap: 16px;
}

.active-listings-filter {
    grid-template-columns: minmax(220px, 340px) minmax(260px, 1fr) auto;
    align-items: end;
}

.active-listings-search {
    min-width: 0;
}

.active-listings-search input {
    width: 100%;
}

.active-listings-list {
    height: clamp(660px, 72vh, 980px);
}

.active-listing-row {
    display: grid;
    grid-template-columns: 88px minmax(260px, 1fr) 126px minmax(150px, auto);
    gap: 10px;
    align-items: center;
    border: 1px solid #d9e2de;
    border-radius: 7px;
    padding: 8px;
    background: #ffffff;
    content-visibility: auto;
    contain-intrinsic-size: auto 98px;
    cursor: pointer;
}

.active-listing-row:hover,
.active-listing-row.is-selected {
    border-color: #6f9d89;
    background: #f3f8f5;
}

.active-listing-photo {
    display: grid;
    place-items: center;
    width: 88px;
    height: 78px;
    overflow: hidden;
    border: 1px solid #d6dfda;
    border-radius: 5px;
    background: #f4f7f5;
    color: #718079;
    font-size: 10px;
    text-decoration: none;
}

.active-listing-photo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.active-listing-main,
.active-listing-price,
.active-listing-status {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.active-listing-main strong {
    overflow: hidden;
    color: #20352e;
    font-size: 12px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.active-listing-main span,
.active-listing-main small,
.active-listing-price span {
    overflow: hidden;
    color: #60726b;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.active-listing-price {
    text-align: right;
}

.active-listing-price strong {
    color: #1f6949;
    font-size: 13px;
}

.active-listing-status {
    justify-items: end;
}

.active-listing-status span,
.active-listing-status a {
    border: 1px solid #cbd8d2;
    border-radius: 999px;
    padding: 3px 7px;
    background: #fff;
    color: #425950;
    font-size: 9px;
    font-weight: 800;
    text-decoration: none;
}

.active-listing-status .is-best-offer {
    border-color: #70ac8d;
    background: #e6f5ed;
    color: #1f6949;
}

.active-listing-status a {
    border-color: #8eb6c4;
    color: #245f73;
}

.active-listing-detail {
    min-height: 210px;
}

.active-listing-detail p {
    margin: 0;
    color: #60726b;
    font-size: 11px;
    line-height: 1.5;
}

.active-listing-detail dl {
    display: grid;
    grid-template-columns: minmax(90px, auto) minmax(0, 1fr);
    gap: 7px 10px;
    margin: 0;
    font-size: 11px;
}

.active-listing-detail dt {
    color: #6a7b74;
    font-weight: 800;
}

.active-listing-detail dd {
    min-width: 0;
    margin: 0;
    color: #263d35;
    overflow-wrap: anywhere;
}

.active-listing-detail a {
    color: #22677d;
    font-weight: 850;
}

.photo-selection-summaries {
    align-items: start;
}

.photo-selection-summaries.has-date-selected .date-summary-stack {
    order: -1;
}

.manual-separation-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 34%);
    gap: 12px;
    align-items: start;
}

.manual-photo-groups {
    grid-column: 1 / -1;
    display: grid;
    gap: 8px;
    width: 100%;
}

.manual-photo-row {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(86px, 1fr));
    gap: 8px;
    contain: layout style paint;
}

.photo-card,
.zoom-photo {
    border: 1px solid #d6dfda;
    border-radius: 8px;
    padding: 10px;
    background: #ffffff;
}

.photo-card.first-photo {
    border-color: #1f6f5b;
    box-shadow: 0 0 0 3px rgba(31, 111, 91, 0.12);
}

.photo-card.read-only {
    cursor: default;
}

.photo-card.saving {
    opacity: 0.62;
}

.real-photo-card {
    min-width: 0;
    position: relative;
    contain: layout style paint;
}

.real-photo-card img {
    width: 100%;
    aspect-ratio: 4 / 5;
    display: block;
    border-radius: 7px;
    object-fit: cover;
    background: #edf1ef;
}

.photo-zoom-panel {
    position: sticky;
    top: 54px;
    display: grid;
    gap: 8px;
    border: 1px solid #d6dfda;
    border-radius: 8px;
    padding: 10px;
    background: #ffffff;
}

.photo-zoom-panel header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

.photo-zoom-panel h2 {
    margin: 0;
    color: #173d35;
    font-size: 14px;
}

.photo-zoom-panel header span {
    color: #6b7d76;
    font-size: 11px;
    text-align: right;
}

.photo-zoom-frame {
    min-height: 520px;
    display: grid;
    place-items: center;
    border: 1px solid #edf1ef;
    border-radius: 8px;
    background-color: #f7faf8;
    background-repeat: no-repeat;
    background-size: 220%;
    color: #6b7d76;
    font-size: 12px;
    font-weight: 800;
    overflow: hidden;
}

.photo-zoom-frame.has-image span {
    display: none;
}

.real-photo-card small {
    display: block;
    color: #6b7d76;
    font-size: 10px;
    font-weight: 800;
}

.real-photo-card.first-photo::after {
    content: "Prima";
    position: absolute;
    top: 9px;
    right: 9px;
    border-radius: 999px;
    padding: 3px 6px;
    background: #1f6f5b;
    color: #ffffff;
    font-size: 10px;
    font-weight: 900;
}

.photo-card-empty {
    cursor: default;
}

.photo-placeholder {
    aspect-ratio: 4 / 5;
    display: grid;
    place-items: center;
    border-radius: 7px;
    background: linear-gradient(135deg, #edf1ef, #dfe8e3);
    color: #557169;
    font-size: 28px;
    font-weight: 900;
}

.photo-card strong,
.zoom-photo span {
    display: block;
    margin: 8px 0;
    color: #26322e;
    font-size: 13px;
}

.photo-card button {
    width: 100%;
    min-height: 32px;
    border: 1px solid #cfd8d3;
    border-radius: 6px;
    background: #f7faf8;
    color: #557169;
    font-weight: 800;
}

.modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(22, 32, 29, 0.52);
}

.modal-box {
    width: min(420px, 100%);
    display: grid;
    gap: 12px;
    border-radius: 8px;
    padding: 20px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}

.modal-box h2 {
    margin: 0;
    color: #173d35;
    font-size: 18px;
}

.modal-box p {
    margin: 0;
    color: #37534b;
    line-height: 1.45;
}

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.folder-note-panel {
    display: grid;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #edf1ef;
}

.folder-note-panel label {
    display: grid;
    gap: 6px;
}

.folder-note-panel label span {
    color: #52645e;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.folder-note-panel textarea {
    width: 100%;
    resize: vertical;
    border: 1px solid #cfd8d3;
    border-radius: 8px;
    padding: 9px 10px;
    color: #26322e;
    font: inherit;
}

.folder-notes-list {
    display: grid;
    gap: 7px;
}

.folder-notes-list article {
    border: 1px solid #edf1ef;
    border-radius: 8px;
    padding: 8px;
    background: #fbfdfc;
}

.folder-notes-list strong,
.folder-notes-list span {
    display: inline-block;
    margin-right: 6px;
    color: #52645e;
    font-size: 11px;
}

.folder-notes-list p {
    margin: 5px 0 0;
    color: #26322e;
    font-size: 12px;
    line-height: 1.4;
}

.auto-separation-panel {
    display: grid;
    gap: 12px;
}

.compact-toolbar {
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
}

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

.group-flow.js-first-list {
    max-height: 360px;
    display: grid;
    grid-template-columns: 1fr;
    overflow-y: auto;
    padding-right: 4px;
}

.group-flow.js-first-list article {
    display: grid;
    gap: 3px;
    border: 1px solid #edf1ef;
    border-radius: 8px;
    padding: 8px 10px;
    background: #fbfdfc;
}

.group-flow.js-first-list article strong {
    color: #173d35;
    font-size: 13px;
}

.group-flow.js-first-list article span {
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: #52645e;
    font-size: 12px;
}

.group-flow span {
    border-radius: 999px;
    padding: 7px 10px;
    background: #edf7f3;
    color: #154b3f;
    font-size: 13px;
    font-weight: 800;
}

.folder-grid,
.automation-flow,
.schema-fields {
    display: grid;
    gap: 10px;
}

.folder-grid {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
}

.folder-card,
.schema-fields span {
    min-width: 0;
    border: 1px solid #edf1ef;
    border-radius: 8px;
    padding: 12px;
    background: #fbfdfc;
}

.folder-card strong,
.folder-card span,
.folder-card small,
.schema-fields strong {
    display: block;
}

.folder-card strong {
    color: #173d35;
    font-size: 14px;
}

.folder-card span {
    margin-top: 6px;
    color: #3d5750;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.folder-card small {
    margin-top: 8px;
    color: #6b7d76;
    font-size: 12px;
}

.automation-flow {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    counter-reset: step;
}

.automation-flow span {
    position: relative;
    min-height: 44px;
    display: flex;
    align-items: center;
    border: 1px solid #d6dfda;
    border-radius: 8px;
    padding: 10px 12px;
    background: #ffffff;
    color: #26322e;
    font-size: 13px;
    font-weight: 750;
}

.scanner-command {
    display: block;
    border: 1px solid #d6dfda;
    border-radius: 8px;
    padding: 12px;
    background: #17251f;
    color: #f4f7f5;
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.panel-note {
    margin: 10px 0 0;
    color: #6b7d76;
    font-size: 13px;
    line-height: 1.45;
}

.schema-fields {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
}

.schema-fields span {
    color: #6b7d76;
    font-size: 12px;
    line-height: 1.35;
}

.schema-fields strong {
    margin-bottom: 4px;
    color: #26322e;
    font-size: 12px;
}

.listing-rows {
    display: grid;
    gap: 8px;
}

.listing-rows article {
    display: grid;
    grid-template-columns: 90px 80px minmax(220px, 1.4fr) minmax(180px, 0.8fr) 120px;
    gap: 8px;
    align-items: center;
    border: 1px solid #edf1ef;
    border-radius: 8px;
    padding: 8px;
    background: #fbfdfc;
}

.profile-layout,
.staff-admin-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr);
    gap: 16px;
}

.profile-card {
    display: grid;
    gap: 14px;
}

.profile-layout .profile-card:last-child {
    grid-column: 1 / -1;
}

.password-rules,
.quick-actions,
.staff-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.password-rules span,
.staff-meta span {
    border-radius: 999px;
    padding: 6px 9px;
    background: #eef7f3;
    color: #24473f;
    font-size: 12px;
    font-weight: 750;
}

.staff-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 14px;
}

.staff-card {
    border: 1px solid #d6dfda;
    border-radius: 8px;
    padding: 14px;
    background: #ffffff;
}

.staff-card header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: start;
}

.staff-card h2,
.staff-card p {
    margin: 0;
}

.staff-card p,
.staff-meta {
    color: #6b7d76;
    font-size: 12px;
}

.staff-card header > span {
    border-radius: 999px;
    padding: 5px 8px;
    background: #eef7f3;
    color: #1f6f5b;
    font-size: 11px;
    font-weight: 800;
}

.staff-bars {
    display: grid;
    gap: 9px;
    margin: 14px 0;
}

.staff-bars p {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr) 32px;
    gap: 8px;
    align-items: center;
}

.staff-bars span {
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1f6f5b var(--bar), #e4ece8 var(--bar));
}

.quick-actions button,
.staff-actions button,
.orders-preview button {
    min-height: 30px;
    border: 1px solid #cfd8d3;
    border-radius: 6px;
    padding: 6px 9px;
    background: #ffffff;
    color: #26322e;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
}

.staff-table {
    display: grid;
    gap: 6px;
}

.staff-row {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) minmax(160px, 1fr) 90px minmax(120px, 0.8fr) minmax(170px, 1fr);
    gap: 8px;
    align-items: center;
    border: 1px solid #edf1ef;
    border-radius: 8px;
    padding: 9px;
    background: #fbfdfc;
}

.staff-head {
    background: #eef1ef;
}

.staff-row small {
    display: block;
    margin-top: 3px;
    color: #6b7d76;
    font-size: 11px;
}

.zoom-photo:hover {
    position: relative;
    z-index: 2;
    transform: scale(1.08);
    box-shadow: 0 18px 42px rgba(31, 45, 39, 0.18);
}

.server-console-grid,
.doc-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 12px;
}

.server-console-grid article,
.doc-card {
    border: 1px solid #d6dfda;
    border-radius: 8px;
    padding: 14px;
    background: #ffffff;
}

.server-console-grid strong,
.server-console-grid span,
.doc-card h2,
.doc-card p {
    display: block;
    margin: 0;
}

.server-console-grid strong,
.doc-card h2 {
    color: #173d35;
    font-size: 13px;
}

.server-console-grid span,
.doc-card p {
    margin-top: 6px;
    color: #6b7d76;
    font-size: 13px;
    line-height: 1.45;
}

.log-table {
    display: grid;
    gap: 8px;
}

.log-table article {
    display: grid;
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    gap: 8px;
    border: 1px solid #edf1ef;
    border-radius: 8px;
    padding: 10px;
    background: #fbfdfc;
}

.log-table span {
    min-width: 0;
    color: #6b7d76;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.log-table strong {
    display: block;
    color: #26322e;
}

.event-console {
    grid-column: 2;
    grid-row: 3;
    min-width: 0;
    border-top: 1px solid #cfd8d3;
    background: #101816;
    color: #eaf1ee;
    overflow: hidden;
    z-index: 4;
}

.console-tabs {
    display: flex;
    align-items: center;
    gap: 4px;
    min-height: 42px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    padding: 0 10px;
    cursor: ns-resize;
    user-select: none;
}

.console-tabs button {
    min-height: 30px;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: 5px 10px;
    background: transparent;
    color: rgba(234, 241, 238, 0.70);
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.console-tabs button.active,
.console-tabs button:hover {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.console-tabs-spacer {
    margin-left: auto;
}

.console-tabs .user-tab {
    border-color: rgba(184, 135, 44, 0.38);
    color: #fff0cc;
}

.console-body {
    display: none;
    height: calc(var(--console-height) - 42px);
    overflow-y: auto;
    padding: 10px 14px;
    background: #ffffff;
    color: #26322e;
    scrollbar-width: none;
}

body.console-open .console-body {
    display: block;
}

body.console-resizing {
    cursor: ns-resize;
    user-select: none;
}

.console-panel {
    display: none;
    gap: 6px;
}

.console-panel.active {
    display: grid;
}

.console-panel p {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0;
    border-bottom: 1px solid #edf1ef;
    padding: 6px 0;
}

.console-panel strong {
    overflow: hidden;
    color: #26322e;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.console-panel span {
    color: #6b7d76;
    font-size: 12px;
    white-space: nowrap;
}

.console-panel-ebay {
    grid-template-rows: auto minmax(0, 1fr);
}

.console-ebay-fixed {
    position: sticky;
    top: -10px;
    z-index: 1;
    display: grid;
    gap: 4px;
    border-bottom: 1px solid #d8dfdb;
    padding-bottom: 8px;
    background: #ffffff;
}

.console-ebay-list {
    display: grid;
    gap: 2px;
    min-height: 0;
}

@media (max-width: 980px) {
    .app-shell {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .menu-section h2,
    .menu-section a strong {
        display: none;
    }

    .menu-section a {
        padding: 7px 4px;
        text-align: center;
    }

    .metric-grid {
        grid-template-columns: repeat(2, minmax(150px, 1fr));
    }

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

    .module-grid,
    .api-call-grid,
    .api-category-grid,
    .api-workbench,
    .api-detail-grid,
    .ebay-api-layout,
    .ebay-sync-layout,
    .shipping-layout,
    .pricing-layout,
    .listing-builder,
    .project-grid,
    .ebay-business-layout,
    .profile-layout,
    .staff-admin-layout,
    .ocr-layout,
    .price-board {
        grid-template-columns: 1fr;
    }

    .price-side-column,
    .price-search-panel {
        position: static;
    }

    .price-search-panel {
        min-height: 380px;
    }

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

    .photo-zoom-panel {
        position: static;
    }

    .photo-zoom-frame {
        min-height: 360px;
    }

    .price-group-row {
        grid-template-columns: 36px minmax(280px, 1fr);
    }

    .listing-settings-grid {
        grid-template-columns: repeat(2, minmax(160px, 1fr));
    }

    .listing-group-badges {
        grid-column: 2;
        display: flex;
        flex-wrap: wrap;
        justify-items: start;
    }

    .listing-group-footer {
        grid-column: 2;
    }

    .active-listing-row {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .active-listing-price,
    .active-listing-status {
        grid-column: 2;
        justify-items: start;
        text-align: left;
    }

    .active-listing-status {
        display: flex;
        flex-wrap: wrap;
    }

    .price-photo-strip,
    .price-group-tools,
    .price-group-meta,
    .price-ai-terms,
    .price-ebay-query,
    .ai-analysis-panel {
        grid-column: 2;
    }

    .api-call-list {
        min-height: 0;
        max-height: 260px;
    }

    .server-console-grid,
    .doc-grid,
    .ebay-status-grid,
    .ebay-call-table,
    .folder-grid,
    .folder-upload-form,
    .ocr-action-grid,
    .ocr-candidates,
    .analytics-controls,
    .analytics-grid,
    .folder-table article,
    .automation-flow,
    .schema-fields,
    .photo-stat-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .photo-strip,
    .book-photo-row {
        grid-template-columns: repeat(3, minmax(120px, 1fr));
    }

    .log-table article,
    .listing-rows article,
    .workflow-row,
    .staff-row,
    .ebay-business-table > div,
    .ebay-report-table > div {
        grid-template-columns: repeat(2, minmax(130px, 1fr));
    }

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

@media (max-width: 680px) {
    .app-shell {
        grid-template-columns: 1fr;
        grid-template-rows: 42px 118px minmax(0, 1fr) var(--console-bar-height);
    }

    body.console-open .app-shell {
        grid-template-rows: 42px 118px minmax(0, 1fr) var(--console-height);
    }

    .sidebar {
        position: static;
        grid-column: 1;
        grid-row: 2;
        width: auto;
        display: block;
        border-right: 0;
        border-bottom: 1px solid #cfd8d3;
        box-shadow: none;
    }

    .side-menu {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 9px 10px;
        scrollbar-width: none;
    }

    .side-menu::-webkit-scrollbar {
        display: none;
    }

    .menu-section {
        min-width: 150px;
        border-top: 0;
        border-left: 1px solid rgba(255, 255, 255, 0.12);
        padding-top: 0;
        padding-left: 10px;
    }

    .menu-section:first-child {
        border-left: 0;
        padding-left: 0;
    }

    .menu-section h2,
    .menu-section a strong {
        display: block;
    }

    .workbench {
        grid-column: 1;
        grid-row: 3;
    }

    .price-groups-panel > header,
    .price-pagination {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .price-pagination {
        justify-content: flex-start;
        width: 100%;
    }

    .price-pagination label > span {
        display: none;
    }

    .price-groups-list {
        height: 68vh;
        min-height: 520px;
    }

    .event-console {
        grid-column: 1;
        grid-row: 4;
    }

    .topbar {
        padding: 0 8px;
    }

    .topbar-nav {
        margin-left: auto;
    }

    .workbench {
        padding: 16px;
    }

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

    .api-detail-panel {
        padding: 12px;
    }

    .api-detail-panel > header {
        align-items: flex-start;
        flex-direction: column;
    }

    .api-output-fields,
    .ebay-status-grid,
    .ebay-call-table,
    .form-grid.three,
    .form-grid.two,
    .catalog-toolbar,
    .photo-filter,
    .price-filter,
    .folder-upload-form,
    .server-console-grid,
    .doc-grid,
    .folder-grid,
    .ocr-layout,
    .ocr-action-grid,
    .ocr-candidates,
    .analytics-controls,
    .analytics-grid,
    .report-grid,
    .folder-table article,
    .automation-flow,
    .schema-fields,
    .photo-stat-grid,
    .log-table article,
    .workflow-row,
    .listing-rows article,
    .staff-row,
    .photo-strip,
    .book-photo-row,
    .price-board,
    .price-group-row,
    .price-group-fields {
        grid-template-columns: 1fr;
    }

    .price-group-index,
    .listing-group-badges,
    .listing-group-footer,
    .price-photo-strip,
    .price-group-tools,
    .price-group-meta,
    .price-ai-terms,
    .price-ebay-query,
    .ai-analysis-panel {
        grid-column: 1;
    }

    .listing-settings-grid {
        grid-template-columns: 1fr;
    }

    .listing-selection-bar .js-listing-publish {
        margin-left: 0;
    }

    .active-listing-row {
        grid-template-columns: 1fr;
    }

    .active-listing-photo {
        width: 100%;
        height: 150px;
    }

    .active-listing-price,
    .active-listing-status {
        grid-column: 1;
    }

    .price-ebay-comparison,
    .price-ebay-results-wide {
        grid-template-columns: 1fr;
    }

    .price-ebay-results-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .ai-analysis-panel > summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .ai-confidence-row {
        justify-content: flex-start;
    }

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

    .ai-object-list li,
    .ai-evidence-list li {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .price-main-actions {
        display: grid;
    }

    .price-search-preview {
        min-height: 320px;
    }

    .photo-rail {
        grid-template-columns: 1fr;
    }

    .separation-controls {
        grid-template-columns: 1fr 1fr;
    }

    .label-preview {
        min-height: 340px;
    }

    .workspace-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .event-console {
        font-size: 12px;
    }

    .console-tabs {
        overflow-x: auto;
        scrollbar-width: none;
    }

    .console-tabs::-webkit-scrollbar {
        display: none;
    }

    .console-panel p {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .analytics-card-wide {
        grid-column: auto;
    }

    .analytics-bars {
        overflow-x: auto;
        grid-auto-columns: 18px;
        scrollbar-width: none;
    }

    .analytics-bars::-webkit-scrollbar {
        display: none;
    }

    .report-notes p,
    .analytics-ranking article {
        grid-template-columns: 1fr;
    }

    .analytics-ranking small {
        grid-column: auto;
    }

    .ebay-secret-grid .textarea-field {
        grid-column: span 1;
    }
}

.cross-audit-panel {
    gap: 18px;
}

.cross-audit-panel > header {
    align-items: flex-start;
    gap: 12px;
}

.cross-audit-panel > header p {
    margin: 4px 0 0;
    color: #667085;
    font-size: 13px;
}

.audit-table {
    max-height: 430px;
    overflow-y: auto;
    scrollbar-width: none;
}

.audit-table::-webkit-scrollbar {
    display: none;
}

.audit-row {
    grid-template-columns: 0.55fr 0.95fr 0.55fr 1fr 1fr 1fr 1.6fr;
}

.audit-row span {
    min-width: 0;
    word-break: break-word;
}

.audit-row-ok span:nth-child(3) {
    color: #087443;
}

.audit-row-discrepanza span:nth-child(3),
.audit-row-da_importare span:nth-child(3),
.audit-row-da_controllare span:nth-child(3) {
    color: #b42318;
}

.ebay-bulk-head {
    justify-content: center;
    text-align: center;
}

.ebay-bulk-workspace {
    display: grid;
    gap: 14px;
    padding-bottom: 24px;
}

.ebay-bulk-guard {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-left: 4px solid var(--green);
}

.ebay-bulk-guard > div:first-child {
    display: grid;
    gap: 3px;
}

.ebay-bulk-guard strong {
    font-size: 0.92rem;
}

.ebay-bulk-guard span {
    color: var(--muted);
    font-size: 0.78rem;
}

.ebay-bulk-actions {
    display: flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
}

.ebay-bulk-summary {
    display: grid;
    grid-template-columns: repeat(6, minmax(118px, 1fr));
    gap: 10px;
}

.ebay-bulk-status-card {
    display: grid;
    align-content: center;
    min-height: 92px;
    gap: 3px;
    padding: 14px;
    border-top: 3px solid var(--blue);
}

.ebay-bulk-status-card > span,
.ebay-bulk-status-card small {
    color: var(--muted);
    font-size: 0.7rem;
}

.ebay-bulk-status-card > strong {
    overflow-wrap: anywhere;
    font-size: 1.15rem;
}

.ebay-bulk-status-card.is-warning {
    border-top-color: var(--gold);
}

.ebay-bulk-status-card.is-danger {
    border-top-color: var(--danger);
}

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

.ebay-bulk-progress-panel header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ebay-bulk-progress-panel header h2 {
    margin: 0;
}

.ebay-bulk-progress {
    width: 100%;
    height: 9px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #ece8e0;
}

.ebay-bulk-progress span {
    display: block;
    width: 0;
    height: 100%;
    background: var(--green);
    transition: width 220ms ease;
}

.ebay-bulk-progress-panel p {
    margin: 0;
    color: var(--muted);
    font-size: 0.78rem;
}

.ebay-bulk-detail-grid,
.ebay-bulk-live-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
}

.ebay-bulk-key-values {
    display: grid;
    gap: 0;
}

.ebay-bulk-key-values p {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0;
    padding: 8px 0;
    border-bottom: 1px solid var(--line);
    font-size: 0.76rem;
}

.ebay-bulk-key-values p:last-child {
    border-bottom: 0;
}

.ebay-bulk-key-values span {
    color: var(--muted);
}

.ebay-bulk-key-values strong,
.ebay-bulk-key-values code {
    max-width: 68%;
    overflow-wrap: anywhere;
    text-align: right;
}

.ebay-bulk-table-panel,
.ebay-bulk-events-panel {
    min-width: 0;
}

.ebay-bulk-table,
.ebay-bulk-events {
    max-height: 480px;
    overflow: auto;
    scrollbar-width: thin;
}

.ebay-bulk-table-row {
    display: grid;
    grid-template-columns: minmax(210px, 1.5fr) minmax(115px, 0.75fr) minmax(150px, 0.85fr) minmax(125px, 0.65fr);
    gap: 12px;
    align-items: center;
    min-width: 700px;
    padding: 9px 5px;
    border-bottom: 1px solid var(--line);
    font-size: 0.74rem;
}

.ebay-bulk-table-row > span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.ebay-bulk-table-row small {
    overflow: hidden;
    color: var(--muted);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ebay-bulk-table-head {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--paper);
}

.ebay-bulk-state {
    border-left: 3px solid var(--blue);
    padding-left: 8px;
}

.ebay-bulk-state.is-success {
    border-left-color: var(--green);
    color: var(--green-dark);
}

.ebay-bulk-state.is-warning {
    border-left-color: var(--gold);
}

.ebay-bulk-state.is-danger {
    border-left-color: var(--danger);
    color: var(--danger);
}

.ebay-bulk-state.is-muted {
    border-left-color: var(--line-strong);
    color: var(--muted);
}

.ebay-bulk-events p {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 9px 4px;
    border-bottom: 1px solid var(--line);
    font-size: 0.73rem;
}

.ebay-bulk-events p > span {
    display: grid;
    gap: 2px;
}

.ebay-bulk-events small,
.ebay-bulk-events time {
    color: var(--muted);
    font-size: 0.68rem;
}

.ebay-bulk-events time {
    flex: 0 0 auto;
}

.ebay-bulk-events .is-alta {
    border-left: 3px solid var(--danger);
    padding-left: 8px;
}

.ebay-bulk-empty {
    margin: 0;
    padding: 16px 4px;
    color: var(--muted);
    font-size: 0.78rem;
}

@media (max-width: 1180px) {
    .ebay-bulk-summary {
        grid-template-columns: repeat(3, minmax(120px, 1fr));
    }

    .ebay-bulk-live-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    .ebay-bulk-guard {
        align-items: stretch;
        flex-direction: column;
    }

    .ebay-bulk-actions {
        justify-content: flex-end;
    }

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

    .ebay-bulk-detail-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.shipping-control-head {
    align-items: center;
}

.shipping-head-actions,
.shipping-config-actions,
.shipping-claim-actions,
.shipping-row-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.shipping-control {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.shipping-live-status {
    min-height: 30px;
    display: flex;
    align-items: center;
    border-left: 3px solid var(--blue);
    padding: 5px 10px;
    background: #f5f8fa;
    color: #40515e;
    font-size: 12px;
    font-weight: 700;
}

.shipping-live-status.is-success {
    border-left-color: var(--green);
    background: #edf7f3;
    color: var(--green-dark);
}

.shipping-live-status.is-warning {
    border-left-color: var(--gold);
    background: #fff8e8;
    color: #71530f;
}

.shipping-live-status.is-error {
    border-left-color: var(--danger);
    background: var(--danger-bg);
    color: var(--danger);
}

.shipping-stat-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(108px, 1fr));
    border: 1px solid var(--line);
    border-radius: 6px;
    overflow: hidden;
    background: #ffffff;
}

.shipping-stat {
    min-width: 0;
    display: grid;
    align-content: center;
    gap: 5px;
    min-height: 70px;
    border-right: 1px solid var(--line);
    padding: 10px 12px;
}

.shipping-stat:last-child {
    border-right: 0;
}

.shipping-stat span {
    overflow: hidden;
    color: var(--muted);
    font-size: 11px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shipping-stat strong {
    color: #1f3547;
    font-size: 19px;
    line-height: 1;
}

.shipping-filter-panel {
    padding: 11px 12px;
}

.shipping-filter-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(160px, 220px) auto;
    align-items: end;
    gap: 10px;
}

.shipping-filter-row label,
.shipping-manual-form label,
.shipping-config-grid label,
.shipping-confirm-field {
    display: grid;
    gap: 5px;
}

.shipping-filter-row input,
.shipping-filter-row select,
.shipping-manual-form input,
.shipping-manual-form select,
.shipping-config-grid input,
.shipping-confirm-field input {
    min-width: 0;
    height: 36px;
    border: 1px solid #cbd3d8;
    border-radius: 5px;
    padding: 6px 9px;
    background: #ffffff;
    color: var(--ink);
    font: inherit;
}

.shipping-system-alert {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-left: 4px solid var(--danger);
    padding: 12px 14px;
    color: var(--danger);
}

.shipping-system-alert span {
    color: var(--muted);
    font-size: 12px;
}

.shipping-work-grid {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(620px, 1.75fr) minmax(300px, 0.75fr);
    gap: 12px;
}

.shipping-list-panel,
.shipping-detail-panel {
    min-width: 0;
    height: 590px;
}

.shipping-list-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.shipping-table-wrap {
    min-width: 0;
    overflow: auto;
    scrollbar-gutter: stable;
}

.shipping-control-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
    font-size: 12px;
}

.shipping-control-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 9px 8px;
    border-bottom: 1px solid #bcc7cd;
    background: #eef3f5;
    color: #344955;
    font-size: 10px;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.shipping-control-table td {
    padding: 9px 8px;
    border-bottom: 1px solid #e6e9eb;
    vertical-align: middle;
    white-space: nowrap;
}

.shipping-control-table tbody tr:hover {
    background: #f7fafb;
}

.shipping-control-table td:first-child {
    min-width: 170px;
}

.shipping-control-table td:first-child strong,
.shipping-control-table td:first-child small {
    display: block;
}

.shipping-control-table td:first-child small {
    max-width: 210px;
    overflow: hidden;
    margin-top: 3px;
    color: var(--muted);
    font-size: 10px;
    text-overflow: ellipsis;
}

.shipping-row-actions {
    flex-wrap: nowrap;
}

.shipping-status-pill,
.shipping-alert-pill {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    border: 1px solid #cbd3d8;
    border-radius: 999px;
    padding: 2px 7px;
    background: #f5f7f8;
    color: #40515e;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.shipping-status-pill.status-consegnata {
    border-color: #8db7a9;
    background: #edf7f3;
    color: var(--green-dark);
}

.shipping-status-pill.status-in_transito,
.shipping-status-pill.status-in_consegna,
.shipping-status-pill.status-presa_in_carico {
    border-color: #9eb8cc;
    background: #edf5fa;
    color: #244e6d;
}

.shipping-status-pill.status-non_trovata,
.shipping-status-pill.status-in_restituzione,
.shipping-status-pill.status-restituita {
    border-color: #d3a3a6;
    background: var(--danger-bg);
    color: var(--danger);
}

.shipping-alert-pill.alert-oltre_standard {
    border-color: #ddc78e;
    background: #fff8e8;
    color: #71530f;
}

.shipping-alert-pill.alert-rimborso_spese,
.shipping-alert-pill.alert-indennizzo_15,
.shipping-alert-pill.alert-indennizzo_30,
.shipping-alert-pill.alert-indennizzo_perdita {
    border-color: #d3a3a6;
    background: var(--danger-bg);
    color: var(--danger);
}

.shipping-empty-row,
.shipping-empty-copy,
.shipping-detail-empty {
    color: var(--muted);
    font-size: 12px;
}

.shipping-empty-row {
    height: 90px;
    text-align: center;
}

.shipping-detail-panel {
    overflow: auto;
    scrollbar-gutter: stable;
}

.shipping-detail-panel.is-loading {
    opacity: 0.62;
    pointer-events: none;
}

.shipping-detail-empty {
    padding: 18px 2px;
    line-height: 1.55;
}

.shipping-detail-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 15px;
}

.shipping-detail-summary p {
    min-width: 0;
    display: grid;
    gap: 3px;
    margin: 0;
    border-bottom: 1px solid #e4e8ea;
    padding: 7px 0;
}

.shipping-detail-summary p span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 750;
    text-transform: uppercase;
}

.shipping-detail-summary p strong {
    overflow-wrap: anywhere;
    font-size: 12px;
}

.shipping-detail-summary .shipping-detail-wide {
    grid-column: 1 / -1;
}

.shipping-detail-section {
    margin-top: 14px;
}

.shipping-detail-section h3 {
    margin: 0 0 7px;
    color: #344955;
    font-size: 12px;
}

.shipping-timeline,
.shipping-detail-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.shipping-timeline li,
.shipping-detail-list li {
    display: grid;
    gap: 2px;
    border-left: 2px solid #b7c8d2;
    border-bottom: 1px solid #edf0f1;
    padding: 8px 0 8px 10px;
}

.shipping-timeline time,
.shipping-timeline span,
.shipping-detail-list span {
    color: var(--muted);
    font-size: 10px;
}

.shipping-timeline strong,
.shipping-detail-list strong {
    font-size: 11px;
}

.shipping-secondary-grid {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(360px, 0.8fr) minmax(500px, 1.2fr);
    gap: 12px;
}

.shipping-manual-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
    gap: 10px;
}

.shipping-field-wide {
    grid-column: 1 / -1;
}

.shipping-manual-form button {
    justify-self: start;
}

.shipping-claims-panel {
    min-width: 0;
}

.shipping-claims-list {
    max-height: 300px;
    overflow: auto;
    scrollbar-gutter: stable;
}

.shipping-claim-row {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) auto;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #e5e9eb;
    padding: 9px 2px;
}

.shipping-claim-main {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.shipping-claim-main strong,
.shipping-claim-main span,
.shipping-claim-main small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shipping-claim-main strong {
    font-size: 12px;
}

.shipping-claim-main span,
.shipping-claim-main small {
    color: var(--muted);
    font-size: 10px;
}

.shipping-file-action {
    position: relative;
    cursor: pointer;
}

.shipping-file-action input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.shipping-config-panel {
    padding: 0;
    overflow: hidden;
}

.shipping-config-panel > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 15px;
    cursor: pointer;
    color: #2e414c;
    font-size: 13px;
    font-weight: 800;
}

.shipping-config-panel > summary strong {
    color: var(--danger);
    font-size: 11px;
}

.shipping-config-panel[open] > summary {
    border-bottom: 1px solid var(--line);
    background: #f5f8fa;
}

.shipping-config-panel form {
    display: grid;
    gap: 16px;
    padding: 15px;
}

.shipping-config-panel fieldset {
    min-width: 0;
    margin: 0;
    border: 1px solid #dbe1e4;
    border-radius: 6px;
    padding: 12px;
}

.shipping-config-panel legend {
    padding: 0 6px;
    color: #344955;
    font-size: 12px;
    font-weight: 800;
}

.shipping-config-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(130px, 1fr));
    gap: 10px;
}

.shipping-config-switches {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 12px;
}

.shipping-config-switches label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.shipping-confirm-field {
    max-width: 420px;
    margin-top: 12px;
}

@media (max-width: 1360px) {
    .shipping-stat-grid {
        grid-template-columns: repeat(4, minmax(110px, 1fr));
    }

    .shipping-stat:nth-child(4) {
        border-right: 0;
    }

    .shipping-stat:nth-child(-n + 4) {
        border-bottom: 1px solid var(--line);
    }

    .shipping-work-grid {
        grid-template-columns: minmax(560px, 1.55fr) minmax(280px, 0.75fr);
    }

    .shipping-config-grid {
        grid-template-columns: repeat(3, minmax(130px, 1fr));
    }
}

@media (max-width: 1000px) {
    .shipping-work-grid,
    .shipping-secondary-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .shipping-list-panel {
        height: 520px;
    }

    .shipping-detail-panel {
        height: auto;
        max-height: 520px;
    }

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

@media (max-width: 700px) {
    .price-voice-control {
        width: 100%;
        margin-left: 0;
    }

    .price-voice-transcript {
        flex: 1;
        max-width: none;
    }

    .shipping-control-head {
        align-items: stretch;
        flex-direction: column;
    }

    .shipping-head-actions {
        justify-content: flex-start;
    }

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

    .shipping-stat,
    .shipping-stat:nth-child(4) {
        border-right: 1px solid var(--line);
        border-bottom: 1px solid var(--line);
    }

    .shipping-stat:nth-child(2n) {
        border-right: 0;
    }

    .shipping-filter-row,
    .shipping-manual-form,
    .shipping-config-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .shipping-field-wide {
        grid-column: auto;
    }

    .shipping-list-panel {
        height: 480px;
    }

    .shipping-claim-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .shipping-claim-actions {
        justify-content: flex-start;
    }
}

@media print {
    @page {
        size: A4 portrait;
        margin: 10mm;
    }

    html,
    body {
        width: 210mm;
        min-height: 297mm;
        background: #ffffff;
    }

    body * {
        visibility: hidden !important;
    }

    .shipping-print-sheet,
    .shipping-print-sheet * {
        visibility: visible !important;
    }

    .shipping-print-sheet {
        position: absolute;
        top: 0;
        left: 0;
        width: 190mm;
        display: block;
        margin: 0;
        padding: 0;
        background: #ffffff;
    }

    .shipping-print-label {
        width: 190mm;
        height: 86mm;
        min-height: 86mm;
        margin: 0 0 6mm;
        border: 1px dashed #777777;
        border-radius: 0;
        background: #ffffff;
        box-shadow: none;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .shipping-print-label[hidden],
    .shipping-print-label.excluded {
        display: none !important;
    }

    .print-sender {
        top: 8mm;
        left: 8mm;
        font-size: 10pt;
    }

    .print-kind {
        font-size: 18pt;
    }

    .print-recipient {
        right: 10mm;
        bottom: 9mm;
        max-width: 95mm;
        font-size: 13pt;
    }
}
