:root {
    --surface: #ffffff;
    --surface-muted: #f3f6f8;
    --ink: #17211f;
    --muted: #65747f;
    --line: #d8e0e6;
    --brand: #183a63;
    --brand-soft: #eaf2fb;
    --accent: #18a887;
    --warning-soft: #fff5dd;
    --panel: #ffffff;
    --panel-soft: #fbfdfc;
    --topbar: #132a45;
    --shadow: rgba(15, 61, 54, 0.06);
}

:root[data-theme="dark"] {
    --surface: #242d39;
    --surface-muted: #202833;
    --ink: #cbd3da;
    --muted: #98a4ae;
    --line: #394552;
    --brand: #7fb4ff;
    --brand-soft: #182b42;
    --accent: #31c7a2;
    --warning-soft: #3b2e16;
    --panel: #26303d;
    --panel-soft: #2a3441;
    --topbar: #1b2531;
    --shadow: rgba(0, 0, 0, 0.16);
}

body {
    background: var(--surface-muted);
    color: var(--ink);
}

.app-shell {
    min-height: 100vh;
}

.app-main {
    max-width: 1840px;
}

.topbar {
    background: var(--topbar);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.brand-mark {
    width: 2rem;
    height: 2rem;
    display: inline-grid;
    place-items: center;
    border-radius: 0.45rem;
    background: #18a887;
    color: #ffffff;
    font-weight: 800;
}

.page-panel {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 0.75rem;
    box-shadow: 0 16px 45px rgba(15, 61, 54, 0.08);
}

.auth-layout {
    display: grid;
    grid-template-columns: minmax(20rem, 30rem) minmax(18rem, 24rem);
    gap: 1rem;
    justify-content: center;
    align-items: start;
    width: min(100%, 58rem);
    margin: 2rem auto 0;
}

.auth-card,
.auth-side {
    padding: 2rem;
    border-radius: .65rem;
}

.auth-card {
    width: min(100%, 32rem);
}

.auth-header {
    margin-bottom: 1.5rem;
}

.auth-header h1 {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 750;
}

.auth-side h2 {
    font-size: 1.1rem;
    margin-bottom: .75rem;
}

.auth-links {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    justify-content: space-between;
    margin-top: 1rem;
    font-size: .95rem;
}

.order-page-panel {
    border-radius: .55rem;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border-radius: 999px;
    padding: .25rem .65rem;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
    background: #e8eef6;
    color: #26364f;
}

.status-open {
    background: #dff7ec;
    color: #12623f;
}

.status-closed {
    background: #f3e6e6;
    color: #7a2828;
}

.form-control,
.form-select {
    border-color: #cfd8e6;
}

.form-control:focus,
.form-select:focus {
    border-color: #2fbf9f;
    box-shadow: 0 0 0 .2rem rgba(47, 191, 159, 0.18);
}

.table > :not(caption) > * > * {
    vertical-align: middle;
}

.answer-grid {
    display: grid;
    grid-template-columns: minmax(10rem, 16rem) 1fr;
    gap: .5rem 1rem;
}

.summary-section + .summary-section {
    border-top: 1px solid var(--line);
    padding-top: 1rem;
}

.summary-list {
    display: grid;
    gap: .45rem;
}

.summary-list-row {
    display: grid;
    grid-template-columns: minmax(14rem, 1fr) minmax(12rem, auto);
    gap: 1rem;
    align-items: start;
    border-bottom: 1px solid #edf2f0;
    padding-bottom: .45rem;
}

.order-workspace {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(18rem, 1fr);
    gap: 1.25rem;
    align-items: start;
}

@media (max-width: 768px) {
    .auth-layout {
        grid-template-columns: 1fr;
        margin-top: .5rem;
    }

    .auth-card,
    .auth-side {
        width: 100%;
        padding: 1.25rem;
    }
}

.order-form-area {
    display: grid;
    grid-template-columns: 14rem minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
    min-width: 0;
}

.section-tabs {
    position: sticky;
    top: 1rem;
    display: grid;
    gap: .45rem;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: .55rem;
    padding: .45rem;
    box-shadow: 0 10px 30px rgba(15, 61, 54, 0.06);
}

.section-tab {
    width: 100%;
    display: grid;
    grid-template-columns: 1.65rem 1fr;
    align-items: center;
    gap: .65rem;
    text-align: left;
    border: 0;
    background: transparent;
    color: #40514d;
    padding: .72rem .75rem;
    border-radius: .45rem;
    font-weight: 700;
}

.section-tab.active {
    background: var(--brand-soft);
    color: var(--brand);
    box-shadow: inset 3px 0 0 var(--accent);
}

.section-tab-index {
    display: inline-grid;
    place-items: center;
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 50%;
    background: rgba(47, 191, 159, .18);
    font-size: .8rem;
}

.section-tab.active .section-tab-index {
    background: var(--brand);
    color: #fff;
}

.section-subtabs {
    display: grid;
    gap: .25rem;
    margin: -.2rem 0 .35rem 2.3rem;
}

.section-subtabs a {
    color: var(--muted);
    font-size: .84rem;
    font-weight: 650;
    text-decoration: none;
    line-height: 1.25;
}

.section-subtabs a:hover {
    color: var(--brand);
    text-decoration: underline;
}

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

.order-section {
    padding: 1.35rem;
    border: 1px solid var(--line);
    border-radius: .55rem;
    background: var(--panel);
    box-shadow: 0 12px 32px var(--shadow);
}

.section-heading {
    border-bottom: 1px solid var(--line);
    margin: -.15rem 0 1rem;
    padding-bottom: .85rem;
}

.section-heading h2,
.admin-hero h1,
.admin-settings-panel h2,
.admin-fields-panel h2 {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: 0;
}

.section-heading p {
    margin: .35rem 0 0;
    color: var(--muted);
    max-width: 68rem;
}

.subsection-heading {
    scroll-margin-top: 1rem;
    border-bottom: 1px solid var(--line);
    padding: .25rem 0 .65rem;
    margin-top: .35rem;
}

.subsection-heading h3 {
    margin: 0;
    color: var(--brand);
    font-size: 1.05rem;
    font-weight: 850;
}

.section-next {
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid var(--line);
    margin-top: 1.25rem;
    padding-top: 1rem;
}

.submission-summary-page {
    width: 100%;
    margin: 0 auto;
}

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

.submission-main-column {
    display: grid;
    gap: 1rem;
}

.submission-payment-column {
    display: grid;
    gap: 1rem;
    position: sticky;
    top: 1rem;
}

.summary-wide-section,
.summary-payment-panel {
    padding: 1rem;
}

.summary-wide-section h2,
.summary-payment-panel h2 {
    margin-bottom: .85rem;
}

.summary-payment-panel .summary-list-row {
    grid-template-columns: 1fr;
    gap: .25rem;
}

.summary-payment-panel .summary-list-row strong {
    overflow-wrap: anywhere;
}

.product-card {
    border: 1px solid #cddbd7;
    background: #ffffff;
    border-radius: .55rem;
    padding: 1rem;
    box-shadow: 0 8px 24px rgba(15, 61, 54, 0.05);
}

.product-card-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .85rem;
}

.product-card-header h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
}

.product-card-header p {
    margin: .25rem 0 0;
    color: #687a75;
}

.variant-list {
    display: grid;
    gap: .65rem;
}

.variant-hidden-fields {
    display: none;
}

.variant-shop-controls {
    display: grid;
    gap: .65rem;
    align-items: end;
}

.variant-shop-controls.has-language {
    grid-template-columns: minmax(13rem, 1fr) minmax(7rem, auto) 6rem 5rem auto;
}

.variant-shop-controls.no-language {
    grid-template-columns: minmax(13rem, 1fr) minmax(7rem, auto) 6rem auto;
}

.variant-price {
    min-height: 2.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .45rem .7rem;
    border: 1px solid #cddbd7;
    border-radius: .45rem;
    background: var(--warning-soft);
    color: #6d4b00;
    font-weight: 800;
    white-space: nowrap;
}

.product-price-table {
    border: 1px solid #dbe5e2;
    border-radius: .45rem;
    overflow: hidden;
}

.product-price-table table {
    font-size: .9rem;
}

.product-price-table th {
    background: #f4f8f7;
    color: #405650;
    font-weight: 800;
}

.product-price-table td,
.product-price-table th {
    padding: .45rem .6rem;
}

.selected-variants {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .75rem;
}

.selected-variants span {
    display: inline-flex;
    gap: .25rem;
    align-items: center;
    border-radius: 999px;
    background: #edf4f7;
    color: #31434e;
    padding: .28rem .6rem;
    font-size: .85rem;
}

.pill-remove {
    border: 0;
    background: transparent;
    color: #b23a48;
    font-size: .76rem;
    font-weight: 800;
    padding: 0 0 0 .2rem;
}

.pill-remove:hover {
    color: #7f1d2d;
    text-decoration: underline;
}

.selected-variants .muted {
    background: transparent;
    color: #687a75;
    padding-left: 0;
}

.live-summary {
    position: sticky;
    top: 1rem;
    border: 1px solid var(--line);
    border-radius: .55rem;
    background: #fff;
    padding: 1rem;
    box-shadow: 0 12px 32px rgba(15, 61, 54, 0.08);
}

.live-summary-header,
.summary-live-totals div,
.summary-live-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.live-summary-header {
    align-items: center;
    border-bottom: 1px solid var(--line);
    padding-bottom: .75rem;
    margin-bottom: .75rem;
}

.live-summary-header h2 {
    font-size: 1.1rem;
    font-weight: 800;
    margin: 0;
}

.summary-live-items {
    display: grid;
    gap: .65rem;
    max-height: 45vh;
    overflow: auto;
}

.summary-live-row {
    padding: .65rem 0;
    border-bottom: 1px solid #edf2f0;
    font-size: .9rem;
}

.summary-live-line {
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    gap: .5rem;
    text-align: right;
}

.summary-remove {
    border: 0;
    background: transparent;
    color: #b23a48;
    font-weight: 700;
    padding: 0;
    font-size: .82rem;
}

.summary-remove:hover {
    color: #7f1d2d;
    text-decoration: underline;
}

.summary-live-row span {
    display: block;
    color: #687a75;
}

.summary-live-totals {
    border-top: 1px solid var(--line);
    margin-top: .85rem;
    padding-top: .85rem;
    display: grid;
    gap: .4rem;
}

.summary-live-totals p {
    margin: .25rem 0 0;
    color: #687a75;
    font-size: .85rem;
}

.variant-row {
    display: grid;
    grid-template-columns: 1fr minmax(7rem, 10rem);
    gap: 1rem;
    align-items: center;
    padding: .75rem;
    border: 1px solid #e3ebe8;
    border-radius: .65rem;
    background: #f7faf9;
}

.variant-qty input {
    text-align: right;
}

.payment-info {
    padding: .85rem;
    background: #f8fafc;
    border: 1px solid var(--line);
    border-radius: .5rem;
}

.profile-shipping-sections {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.profile-shipping-section {
    border-top: 1px solid var(--line);
    padding-top: 1rem;
}

.profile-shipping-section h3 {
    font-size: 1rem;
    font-weight: 850;
    margin-bottom: .75rem;
}

.report-filter-form {
    display: grid;
    gap: .7rem;
    border: 1px solid var(--line);
    border-radius: .65rem;
    padding: .9rem;
    background: #fbfdfc;
}

.report-filter-row {
    display: grid;
    grid-template-columns: 9rem 1fr;
    gap: .8rem;
    align-items: center;
}

.report-filter-label {
    font-weight: 800;
    color: #536570;
}

.report-filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .9rem;
    align-items: center;
}

.report-filter-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    width: 100%;
}

.report-filter-actions {
    display: flex;
    gap: .5rem;
    justify-content: flex-end;
}

.admin-hero {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--line);
    border-radius: .85rem;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15, 61, 54, 0.06);
}

.admin-hero p,
.admin-panel-header p {
    margin: .25rem 0 0;
    color: #687a75;
}

.admin-actions {
    display: flex;
    gap: .5rem;
    align-items: start;
    flex-wrap: wrap;
}

.admin-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.admin-form-editor,
.admin-form-editor .admin-hero,
.admin-form-editor .admin-workspace,
.admin-form-editor .admin-fields-panel {
    width: 100%;
    max-width: none;
}

.admin-form-editor .admin-fields-panel {
    grid-column: 1 / -1;
}

.admin-settings-panel,
.admin-fields-panel {
    padding: 1rem;
}

.admin-settings-panel {
    position: sticky;
    top: 1rem;
}

.admin-settings-grid {
    display: grid;
    gap: .85rem;
    margin-top: 1rem;
}

.admin-settings-section {
    border: 1px solid #e3ebe8;
    border-radius: .55rem;
    padding: .9rem;
    background: #fbfdfc;
}

.admin-settings-section + .admin-settings-section {
    margin-top: .8rem;
}

.admin-settings-section h3 {
    margin: 0 0 .75rem;
    font-size: 1rem;
    font-weight: 800;
}

.admin-settings-section .field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.admin-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: .65rem;
}

.admin-checkbox-option {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-height: 2.5rem;
    margin: 0;
    padding: .65rem .75rem;
    border: 1px solid #d9e3df;
    border-radius: .55rem;
    background: #fbfdfc;
    font-weight: 750;
}

.admin-checkbox-option .form-check-input,
.admin-checkbox-option input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 0;
}

.admin-panel-header,
.field-row-header,
.variant-builder-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.field-list {
    display: grid;
    gap: .9rem;
}

.section-builder-list {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.section-builder-card {
    border: 1px solid #d8e0e6;
    border-radius: .7rem;
    background: #fff;
    overflow: hidden;
}

.section-builder-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
    padding: .95rem 1rem;
    background: #f7fafc;
    border-bottom: 1px solid var(--line);
}

.section-builder-header h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 850;
}

.section-builder-header p {
    margin: .2rem 0 0;
    color: #687a75;
    font-size: .9rem;
}

.section-builder-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
    gap: .45rem;
}

.parameter-list {
    display: grid;
    gap: .6rem;
    padding: .85rem;
}

.parameter-empty {
    margin: 0;
    color: #687a75;
    border: 1px dashed #cfd8e6;
    border-radius: .55rem;
    padding: .85rem;
    background: #fbfdff;
}

.parameter-row {
    border: 1px solid #dfe8ec;
    border-radius: .55rem;
    background: #fbfdfc;
}

.parameter-main {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: .8rem;
}

.parameter-summary {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .65rem;
    align-items: center;
    min-width: 0;
}

.parameter-drag-handle {
    width: 2rem;
    height: 2rem;
    border: 1px solid #cbd9df;
    border-radius: .45rem;
    background: #fff;
    color: #536570;
    font-weight: 850;
    line-height: 1;
    cursor: grab;
}

.parameter-drag-handle:active {
    cursor: grabbing;
}

.parameter-drag-handle.is-disabled,
.parameter-drag-handle:disabled {
    opacity: .28;
    cursor: not-allowed;
}

.parameter-row.is-dragging {
    opacity: .55;
}

.parameter-drop-target {
    outline: 2px dashed #7897a0;
    outline-offset: .25rem;
}

.parameter-main h3 {
    margin: 0;
    font-size: .98rem;
    font-weight: 850;
    line-height: 1.25;
}

.parameter-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .4rem;
}

.parameter-meta span {
    border: 1px solid #d9e4ea;
    border-radius: 999px;
    padding: .16rem .5rem;
    color: #536570;
    background: #fff;
    font-size: .78rem;
    font-weight: 700;
}

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

.parameter-delete {
    white-space: nowrap;
}

.parameter-modal .modal-title {
    font-size: 1.2rem;
    font-weight: 850;
}

.admin-submission-form {
    width: 100%;
}

.admin-submission-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
    margin-bottom: 1rem;
    padding: .95rem 1rem;
    border: 1px solid var(--line);
    border-radius: .7rem;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15, 61, 54, 0.06);
}

.admin-submission-header h1 {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 850;
}

.admin-submission-header p,
.compact-panel-header p {
    margin: .2rem 0 0;
    color: #687a75;
}

.admin-submission-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
    gap: .45rem;
}

.admin-submission-grid {
    display: grid;
    grid-template-columns: minmax(22rem, .95fr) minmax(22rem, .85fr) minmax(28rem, 1.35fr);
    gap: 1rem;
    align-items: start;
}

.admin-submission-sections {
    display: grid;
    gap: 1rem;
}

.admin-submission-section {
    padding: 0;
    overflow: hidden;
}

.admin-submission-section summary {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    cursor: pointer;
    list-style: none;
    font-weight: 850;
}

.admin-submission-section summary::-webkit-details-marker {
    display: none;
}

.admin-submission-section summary::before {
    content: "+";
    display: inline-grid;
    place-items: center;
    width: 1.6rem;
    height: 1.6rem;
    flex: 0 0 auto;
    border: 1px solid var(--line);
    border-radius: .4rem;
    color: #48665f;
    background: #f7fbfa;
}

.admin-submission-section[open] summary {
    border-bottom: 1px solid var(--line);
}

.admin-submission-section[open] summary::before {
    content: "-";
}

.admin-submission-section summary span:last-child {
    margin-left: auto;
    color: #687a75;
    font-size: .9rem;
    font-weight: 700;
}

.admin-submission-section > .compact-field-grid,
.admin-submission-section > .compact-table,
.admin-submission-section > .shipment-totals,
.admin-submission-section > .shipment-checklist,
.admin-submission-section > .admin-section-toolbar {
    margin: 1rem;
}

.admin-section-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.admin-section-toolbar p {
    margin: 0;
    color: #687a75;
}

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

.shipment-totals div {
    border: 1px solid var(--line);
    border-radius: .65rem;
    padding: .8rem;
    background: #fbfdfc;
}

.price-audit-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(8rem, 1fr));
    gap: .7rem;
}

.price-audit-summary div {
    border: 1px solid var(--line);
    border-radius: .55rem;
    padding: .8rem;
    background: #fbfdfc;
}

.price-audit-summary span {
    display: block;
    color: #687a75;
    font-size: .82rem;
    font-weight: 800;
}

.price-audit-summary strong {
    display: block;
    margin-top: .25rem;
    font-size: 1.3rem;
}

.price-audit-table {
    max-height: 75vh;
}

.price-audit-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #fff;
}

.price-audit-actions {
    display: flex;
    justify-content: end;
    padding: .85rem;
    border-bottom: 1px solid var(--line);
}

.price-audit-actions:last-child {
    border-top: 1px solid var(--line);
    border-bottom: 0;
}

.price-audit-input {
    min-width: 6rem;
}

.shipment-totals span {
    display: block;
    color: #687a75;
    font-size: .82rem;
    font-weight: 700;
}

.shipment-totals strong {
    display: block;
    margin-top: .25rem;
    font-size: 1.25rem;
}

.compact-panel {
    padding: .95rem;
}

.compact-panel-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
    border-bottom: 1px solid var(--line);
    padding-bottom: .75rem;
    margin-bottom: .85rem;
}

.compact-panel-header h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 850;
}

.compact-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.compact-field-wide {
    grid-column: 1 / -1;
}

.compact-field-grid .form-label,
.compact-shipment-list .form-label {
    margin-bottom: .25rem;
    font-size: .82rem;
    font-weight: 700;
    color: #536570;
}

.compact-table {
    max-height: 24rem;
    overflow: auto;
}

.compact-shipment-list {
    max-height: 68vh;
    overflow: auto;
    padding-right: .15rem;
}

.compact-shipment-list .shipment-product-header,
.compact-shipment-list .shipment-check-row {
    padding: .65rem;
}

.field-row {
    border: 1px solid var(--line);
    border-radius: .85rem;
    padding: 1rem;
    background: #fbfdfc;
}

.field-row-header {
    margin-bottom: .9rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--line);
}

.field-row-header h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
}

.variant-builder {
    border: 1px solid #dce8e5;
    border-radius: .75rem;
    padding: .85rem;
    background: #fff;
}

.builder-card {
    border: 1px solid #d8e0e6;
    border-radius: .65rem;
    padding: 0;
    overflow: hidden;
    background: #fff;
}

.builder-card-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    background: #f7fafc;
    border-bottom: 1px solid var(--line);
}

.builder-card-header h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 850;
}

.builder-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .4rem;
}

.builder-card-meta span {
    border: 1px solid #d9e4ea;
    border-radius: 999px;
    padding: .16rem .5rem;
    color: #536570;
    background: #fff;
    font-size: .78rem;
    font-weight: 700;
}

.builder-sections {
    display: grid;
    gap: .85rem;
    padding: 1rem;
}

.builder-section {
    border: 1px solid #e2e9ee;
    border-radius: .55rem;
    padding: .9rem;
    background: #fbfdff;
}

.builder-section h4,
.builder-section-header h4 {
    margin: 0 0 .75rem;
    font-size: .95rem;
    font-weight: 850;
    color: #26364f;
}

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

.builder-section-header span {
    color: #687a75;
    font-size: .85rem;
}

.variant-admin-row {
    display: grid;
    gap: .65rem;
    margin-top: .65rem;
    border: 1px solid #e0e8ec;
    border-radius: .55rem;
    padding: .7rem;
    background: #fff;
}

.variant-admin-main {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(8rem, .8fr) auto;
    gap: .5rem;
    align-items: center;
}

.variant-pricing-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(7rem, 1fr));
    gap: .5rem;
}

.variant-pricing-grid label {
    display: grid;
    gap: .25rem;
    margin: 0;
}

.variant-pricing-grid span {
    color: #536570;
    font-size: .78rem;
    font-weight: 800;
}

.variant-pricing-grid [readonly] {
    background: #f4f8f7;
    font-weight: 800;
}

.variant-elements {
    border-top: 1px solid #edf2f0;
    padding-top: .65rem;
}

.variant-elements-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-bottom: .5rem;
}

.variant-element-row {
    display: grid;
    grid-template-columns: 8rem minmax(12rem, 1fr) auto;
    gap: .5rem;
    margin-top: .45rem;
}

.rate-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(10rem, 1fr)) auto;
    gap: .75rem;
    align-items: end;
}

.rate-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: .45rem;
    align-items: center;
}

.shipment-checklist {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
}

.shipment-product-group {
    border: 1px solid #dbe5ea;
    border-radius: .65rem;
    overflow: hidden;
    background: #fff;
}

.shipment-product-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
    background: #f7fafc;
    border-bottom: 1px solid #dbe5ea;
    padding: .85rem;
}

.shipment-product-header h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 850;
}

.shipment-product-header p {
    margin: .2rem 0 0;
    color: #687a75;
}

.shipment-check-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(12rem, 18rem);
    gap: 1rem;
    align-items: start;
    border-bottom: 1px solid #edf2f0;
    padding: .85rem;
    background: #fff;
}

.shipment-check-row:last-child {
    border-bottom: 0;
}

.shipment-check-row.is-sent {
    background: #f0fbf5;
}

:root[data-theme="dark"] .page-panel,
:root[data-theme="dark"] .product-card,
:root[data-theme="dark"] .summary-card,
:root[data-theme="dark"] .admin-settings-section,
:root[data-theme="dark"] .section-builder-card,
:root[data-theme="dark"] .parameter-row,
:root[data-theme="dark"] .builder-section,
:root[data-theme="dark"] .variant-builder,
:root[data-theme="dark"] .variant-admin-row,
:root[data-theme="dark"] .shipment-product-group,
:root[data-theme="dark"] .shipment-check-row,
:root[data-theme="dark"] .shipment-totals div,
:root[data-theme="dark"] .price-audit-summary div,
:root[data-theme="dark"] .compact-panel,
:root[data-theme="dark"] .field-row,
:root[data-theme="dark"] .manual-shipment-item {
    background: var(--panel);
    border-color: var(--line);
    color: var(--ink);
}

:root[data-theme="dark"] .form-control,
:root[data-theme="dark"] .form-select,
:root[data-theme="dark"] .form-check-input {
    background-color: #212b37;
    border-color: #45515f;
    color: var(--ink);
}

:root[data-theme="dark"] .form-control:disabled,
:root[data-theme="dark"] .form-control[readonly],
:root[data-theme="dark"] .form-select:disabled {
    background-color: #2b3541;
    color: #a4afb8;
}

:root[data-theme="dark"] .text-secondary,
:root[data-theme="dark"] .form-text,
:root[data-theme="dark"] .small,
:root[data-theme="dark"] .parameter-meta span,
:root[data-theme="dark"] .builder-section-header span,
:root[data-theme="dark"] .shipment-product-header p,
:root[data-theme="dark"] .shipment-totals span,
:root[data-theme="dark"] .price-audit-summary span {
    color: var(--muted) !important;
}

:root[data-theme="dark"] .table {
    --bs-table-bg: var(--panel);
    --bs-table-color: var(--ink);
    --bs-table-border-color: var(--line);
}

:root[data-theme="dark"] .dropdown-menu,
:root[data-theme="dark"] .modal-content {
    background: var(--panel);
    border-color: var(--line);
    color: var(--ink);
}

:root[data-theme="dark"] .dropdown-item {
    color: var(--ink);
}

:root[data-theme="dark"] .dropdown-item:hover,
:root[data-theme="dark"] .dropdown-item:focus {
    background: var(--brand-soft);
}

:root[data-theme="dark"] .section-tab,
:root[data-theme="dark"] .parameter-empty,
:root[data-theme="dark"] .builder-card-header,
:root[data-theme="dark"] .shipment-product-header,
:root[data-theme="dark"] .price-audit-table thead th {
    background: var(--panel-soft);
    border-color: var(--line);
    color: var(--ink);
}

:root[data-theme="dark"] .section-tab.active {
    background: var(--brand-soft);
    color: var(--ink);
}

:root[data-theme="dark"] .btn-outline-secondary {
    color: var(--ink);
    border-color: #52657a;
}

:root[data-theme="dark"] .alert-warning {
    background: #3b2e16;
    border-color: #705721;
    color: #ffe0a3;
}

.shipment-check-main {
    display: flex;
    gap: .7rem;
    align-items: flex-start;
}

.shipment-notes .form-label {
    font-size: .78rem;
    color: #687a75;
}

.manual-shipment-item {
    border: 1px dashed #cfd8e6;
    border-radius: .55rem;
    padding: .85rem;
    background: #fbfdff;
}

@media (max-width: 700px) {
    .order-workspace,
    .order-form-area,
    .admin-workspace,
    .admin-submission-grid {
        grid-template-columns: 1fr;
    }

    .section-tabs,
    .admin-settings-panel {
        position: static;
    }

    .section-tabs {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
        gap: .45rem;
    }

    .section-tab {
        min-width: 0;
    }

    .section-subtabs {
        display: flex;
        flex-wrap: wrap;
        grid-column: 1 / -1;
        gap: .35rem;
        margin: -.1rem 0 .35rem;
    }

    .section-subtabs a {
        border: 1px solid var(--line);
        border-radius: 999px;
        padding: .28rem .55rem;
        background: var(--panel);
        font-size: .78rem;
        line-height: 1.1;
    }

    .subsection-heading {
        border: 1px solid var(--line);
        border-radius: .5rem;
        padding: .55rem .65rem;
        background: var(--panel-soft);
    }

    .subsection-heading h3 {
        font-size: .95rem;
    }

    .variant-row {
        grid-template-columns: 1fr;
    }

    .variant-shop-controls,
    .variant-shop-controls.has-language,
    .variant-shop-controls.no-language {
        grid-template-columns: 1fr;
    }

    .admin-settings-section .field-grid {
        grid-template-columns: 1fr;
    }

    .variant-admin-row,
    .variant-admin-main,
    .variant-pricing-grid,
    .variant-element-row,
    .rate-grid,
    .parameter-main,
    .section-builder-header,
    .admin-submission-header,
    .compact-panel-header {
        grid-template-columns: 1fr;
    }

    .parameter-main,
    .section-builder-header,
    .admin-submission-header,
    .compact-panel-header {
        display: grid;
    }

    .parameter-actions,
    .section-builder-actions,
    .admin-submission-actions {
        justify-content: start;
    }

    .parameter-summary {
        grid-template-columns: 2rem minmax(0, 1fr);
    }

    .compact-field-grid {
        grid-template-columns: 1fr;
    }

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

    .shipment-check-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .answer-grid {
        grid-template-columns: 1fr;
    }

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

    .submission-payment-column {
        position: static;
    }

    .summary-list-row {
        grid-template-columns: 1fr;
        gap: .25rem;
    }
}

:root[data-theme="dark"] .page-panel,
:root[data-theme="dark"] .order-section,
:root[data-theme="dark"] .product-card,
:root[data-theme="dark"] .summary-card,
:root[data-theme="dark"] .section-tab,
:root[data-theme="dark"] .section-subtabs a,
:root[data-theme="dark"] .subsection-heading,
:root[data-theme="dark"] .profile-shipping-section,
:root[data-theme="dark"] .admin-settings-section,
:root[data-theme="dark"] .section-builder-card,
:root[data-theme="dark"] .parameter-row,
:root[data-theme="dark"] .parameter-meta span,
:root[data-theme="dark"] .builder-section,
:root[data-theme="dark"] .builder-card,
:root[data-theme="dark"] .builder-card-header,
:root[data-theme="dark"] .builder-card-meta span,
:root[data-theme="dark"] .variant-builder,
:root[data-theme="dark"] .variant-admin-row,
:root[data-theme="dark"] .shipment-product-group,
:root[data-theme="dark"] .shipment-product-header,
:root[data-theme="dark"] .shipment-check-row,
:root[data-theme="dark"] .shipment-totals div,
:root[data-theme="dark"] .price-audit-summary div,
:root[data-theme="dark"] .compact-panel,
:root[data-theme="dark"] .field-row,
:root[data-theme="dark"] .manual-shipment-item,
:root[data-theme="dark"] .parameter-empty,
:root[data-theme="dark"] .admin-checkbox-option,
:root[data-theme="dark"] .variant-pricing-grid [readonly] {
    background: var(--panel);
    border-color: var(--line);
    color: var(--ink);
}

:root[data-theme="dark"] .section-tab.active,
:root[data-theme="dark"] .section-tab.active .section-tab-index,
:root[data-theme="dark"] .subsection-heading,
:root[data-theme="dark"] .shipment-check-row.is-sent,
:root[data-theme="dark"] .price-audit-table thead th {
    background: var(--panel-soft);
}

:root[data-theme="dark"] a,
:root[data-theme="dark"] .subsection-heading h3 {
    color: var(--brand);
}

:root[data-theme="dark"],
:root[data-theme="dark"] body {
    background: var(--surface-muted);
    color: var(--ink);
}

:root[data-theme="dark"] .section-tabs,
:root[data-theme="dark"] .live-summary,
:root[data-theme="dark"] .summary-live-row,
:root[data-theme="dark"] .summary-live-totals div,
:root[data-theme="dark"] .payment-info,
:root[data-theme="dark"] .report-filter-form,
:root[data-theme="dark"] .admin-hero,
:root[data-theme="dark"] .variant-row,
:root[data-theme="dark"] .selected-variants span {
    background: var(--panel);
    border-color: var(--line);
    color: var(--ink);
    box-shadow: none;
}

:root[data-theme="dark"] .section-heading,
:root[data-theme="dark"] .live-summary-header,
:root[data-theme="dark"] .summary-live-totals,
:root[data-theme="dark"] .summary-live-row,
:root[data-theme="dark"] .section-next {
    border-color: var(--line);
}

:root[data-theme="dark"] .section-heading {
    background: var(--panel-soft);
    margin: -1.35rem -1.35rem 1rem;
    padding: 1rem 1.35rem;
    border-radius: .55rem .55rem 0 0;
}

:root[data-theme="dark"] .summary-live-row span,
:root[data-theme="dark"] .summary-live-totals p,
:root[data-theme="dark"] .product-card-header p,
:root[data-theme="dark"] .selected-variants .muted,
:root[data-theme="dark"] .admin-hero p,
:root[data-theme="dark"] .admin-panel-header p,
:root[data-theme="dark"] .report-filter-label {
    color: var(--muted) !important;
}

:root[data-theme="dark"] .variant-price {
    background: #2a2417;
    border-color: #5e4b22;
    color: #ffd77a;
}

:root[data-theme="dark"] .admin-panel-header,
:root[data-theme="dark"] .section-builder-header,
:root[data-theme="dark"] .builder-section-header,
:root[data-theme="dark"] .variant-builder-header,
:root[data-theme="dark"] .field-row-header,
:root[data-theme="dark"] .modal-header,
:root[data-theme="dark"] .modal-footer {
    background: var(--panel-soft);
    border-color: var(--line);
    color: var(--ink);
}

:root[data-theme="dark"] .admin-panel-header,
:root[data-theme="dark"] .builder-section-header,
:root[data-theme="dark"] .variant-builder-header,
:root[data-theme="dark"] .field-row-header {
    border: 1px solid var(--line);
    border-radius: .55rem;
    padding: .85rem;
}

:root[data-theme="dark"] .section-builder-header {
    background: var(--panel-soft) !important;
}

:root[data-theme="dark"] .builder-section h4,
:root[data-theme="dark"] .builder-section-header h4,
:root[data-theme="dark"] .section-builder-header h3,
:root[data-theme="dark"] .admin-settings-section h3,
:root[data-theme="dark"] .modal-title {
    color: var(--ink);
}

:root[data-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%);
}

:root[data-theme="dark"] .form-control::placeholder,
:root[data-theme="dark"] textarea::placeholder,
:root[data-theme="dark"] input::placeholder {
    color: #93a7ba;
    opacity: 1;
}

:root[data-theme="dark"] .form-control::-webkit-input-placeholder,
:root[data-theme="dark"] textarea::-webkit-input-placeholder,
:root[data-theme="dark"] input::-webkit-input-placeholder {
    color: #93a7ba;
    opacity: 1;
}

:root[data-theme="dark"] .form-control::-moz-placeholder,
:root[data-theme="dark"] textarea::-moz-placeholder,
:root[data-theme="dark"] input::-moz-placeholder {
    color: #93a7ba;
    opacity: 1;
}

:root[data-theme="dark"] .price-audit-input {
    background-color: #233247;
    border-color: #5d7591;
    color: #f4f8fb;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
}

:root[data-theme="dark"] .price-audit-input:focus {
    background-color: #2b3d55;
    border-color: #7fb4ff;
    color: #ffffff;
    box-shadow: 0 0 0 .2rem rgba(127, 180, 255, .22);
}

:root[data-theme="dark"] .btn-primary,
:root[data-theme="dark"] a.btn-primary {
    --bs-btn-color: #10243d;
    --bs-btn-bg: var(--brand);
    --bs-btn-border-color: var(--brand);
    --bs-btn-hover-color: #10243d;
    --bs-btn-hover-bg: #a3c9ff;
    --bs-btn-hover-border-color: #a3c9ff;
    --bs-btn-active-color: #10243d;
    --bs-btn-active-bg: #a3c9ff;
    --bs-btn-active-border-color: #a3c9ff;
    --bs-btn-disabled-color: #10243d;
    --bs-btn-disabled-bg: var(--brand);
    --bs-btn-disabled-border-color: var(--brand);
    color: #10243d;
}

:root[data-theme="dark"] a.btn {
    color: var(--bs-btn-color);
}

:root[data-theme="dark"] a.btn:hover,
:root[data-theme="dark"] a.btn:focus-visible,
:root[data-theme="dark"] a.btn:active {
    color: var(--bs-btn-hover-color);
}

/* Admin layout: sidebar, sticky helpers */
.app-body {
    display: flex;
    align-items: flex-start;
}

.app-body > .app-main {
    flex: 1 1 auto;
    min-width: 0;
}

.admin-sidebar {
    position: sticky;
    top: 0;
    flex: 0 0 13rem;
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: 1.25rem .75rem;
    min-height: calc(100vh - 56px);
    background: var(--panel);
    border-right: 1px solid var(--line);
}

:root .admin-sidebar a.admin-sidebar-link {
    padding: .5rem .75rem;
    border-radius: .5rem;
    color: var(--ink);
    text-decoration: none;
    font-weight: 600;
}

:root .admin-sidebar a.admin-sidebar-link:hover {
    background: var(--brand-soft);
}

:root .admin-sidebar a.admin-sidebar-link.active {
    background: var(--brand);
    color: var(--surface);
}

@media (max-width: 991.98px) {
    .app-body {
        flex-direction: column;
    }

    .admin-sidebar {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
        width: 100%;
        min-height: 0;
        padding: .5rem .75rem;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }
}

.admin-form-editor .admin-hero {
    position: sticky;
    top: 0;
    z-index: 100;
}

/* Vue form editor */
.fields-editor-layout {
    display: grid;
    grid-template-columns: 14rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.fields-outline {
    position: sticky;
    top: 6rem;
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.fields-outline-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    padding: .4rem .6rem;
    border: 0;
    border-radius: .5rem;
    background: transparent;
    color: var(--ink);
    text-align: left;
}

.fields-outline-item:hover {
    background: var(--brand-soft);
}

.parameter-row-deleted {
    opacity: .5;
}

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

    .fields-outline {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
    }
}

/* Searchable select (Vue) */
.search-select {
    position: relative;
}

.search-select-list {
    position: fixed;
    z-index: 1080;
    max-height: 18rem;
    overflow-y: auto;
    margin: 0;
    padding: .25rem;
    list-style: none;
    background: var(--panel);
    color: var(--ink);
    border: 1px solid var(--line);
    border-radius: .5rem;
    box-shadow: 0 .5rem 1.5rem var(--shadow);
}

.search-select-item {
    padding: .35rem .6rem;
    border-radius: .35rem;
    cursor: pointer;
    font-size: .875rem;
}

.search-select-item.is-active,
.search-select-item:hover {
    background: var(--brand-soft);
}

.search-select-empty {
    padding: .35rem .6rem;
    color: var(--muted);
    font-size: .875rem;
}
