.admin-body {
    min-height: 100vh;
}

.login-shell {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 20px;
    background:
        radial-gradient(circle at 20% 15%, #292929 0, transparent 32%),
        #050505;
}

.login-card {
    width: min(460px, 100%);
    padding: 32px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #0e0e0e;
}

.login-card h1 {
    margin: 0 0 10px;
    font-size: 34px;
}

.login-card > p {
    color: var(--muted);
    line-height: 1.5;
}

.login-brand {
    margin-bottom: 34px;
}

.login-card label,
.pos-cart label,
.admin-modal-card label {
    display: grid;
    gap: 6px;
    margin: 13px 0;
    color: #d8d8d8;
    font-size: 12px;
    font-weight: 800;
}

.login-card input,
.admin-search input,
.pos-cart input,
.pos-cart select,
.admin-modal-card input,
.admin-modal-card textarea,
.admin-modal-card select,
.admin-mobile-header select {
    width: 100%;
    padding: 12px;
    border: 1px solid #454545;
    border-radius: 9px;
    outline: 0;
    background: #0a0a0a;
    color: #fff;
}

.login-card input:focus,
.admin-search input:focus,
.pos-cart input:focus,
.pos-cart select:focus,
.admin-modal-card input:focus,
.admin-modal-card textarea:focus,
.admin-modal-card select:focus {
    border-color: #fff;
}

.login-help {
    margin: 22px 0 0;
    padding-top: 18px;
    border-top: 1px solid var(--line);
    font-size: 12px;
}

.email-settings-section { margin-bottom: 18px; }
.checkbox-setting { display:flex !important; align-items:flex-start; gap:10px; cursor:pointer; }
.checkbox-setting input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--accent); }
.checkbox-setting strong,.checkbox-setting small { display:block; }
.checkbox-setting small,.form-hint { margin-top:4px; color:var(--muted); font-size:12px; font-weight:400; line-height:1.45; }
.form-hint code { padding:1px 4px; border-radius:4px; background:rgba(118,82,184,.12); color:inherit; }
.email-template-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:18px; }
.email-template-grid label { display:grid; gap:6px; font-size:12px; font-weight:800; }
.email-template-grid textarea { min-height:88px; resize:vertical; }
@media (max-width: 680px) { .email-template-grid { grid-template-columns:1fr; } }

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

.admin-sidebar {
    position: sticky;
    top: 0;
    display: flex;
    height: 100vh;
    flex-direction: column;
    padding: 24px 16px;
    border-right: 1px solid var(--line);
    background: #090909;
}

.admin-brand {
    padding: 0 6px;
}

.admin-nav {
    display: grid;
    gap: 5px;
    margin-top: 38px;
}

.admin-nav-button {
    padding: 12px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--muted);
    text-align: left;
}

.admin-nav-button:hover,
.admin-nav-button.active {
    background: #fff;
    color: #000;
}

.admin-user {
    display: grid;
    gap: 7px;
    margin-top: auto;
    padding: 14px 8px 0;
    border-top: 1px solid var(--line);
}

.admin-user small {
    color: var(--muted);
    text-transform: uppercase;
}

.admin-user .secondary-button {
    margin-top: 8px;
}

.admin-main {
    min-width: 0;
    padding: 34px clamp(20px, 4vw, 58px) 70px;
}

.admin-mobile-header {
    display: none;
}

.admin-view {
    display: none;
}

.admin-view.active {
    display: block;
}

.tutorial-admin-list { display:grid; gap:12px; }
.tutorial-admin-card { display:grid; grid-template-columns:92px minmax(0,1fr) auto; align-items:center; gap:16px; padding:14px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.tutorial-admin-card img, .tutorial-admin-placeholder { width:92px; height:72px; object-fit:cover; border-radius:10px; background:#f0e9fa; display:grid; place-items:center; color:var(--accent); font-size:11px; font-weight:800; }
.tutorial-admin-card p { margin:5px 0; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tutorial-admin-card small { color:var(--muted); font-size:10px; font-weight:750; }
@media (max-width: 640px) { .tutorial-admin-card { grid-template-columns:72px minmax(0,1fr); } .tutorial-admin-card img, .tutorial-admin-placeholder { width:72px; height:64px; } .tutorial-admin-card button { grid-column:2; justify-self:start; } }

.view-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.view-heading h1 {
    margin: 0;
    font-size: clamp(32px, 4vw, 48px);
    letter-spacing: -.04em;
}

.view-heading p:last-child {
    margin-bottom: 0;
    color: var(--muted);
}

.fit-button {
    width: auto;
    min-width: 170px;
}

.admin-search {
    margin-bottom: 15px;
}

.product-admin-card {
    margin-bottom: 12px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: var(--panel);
}

.product-admin-head {
    display: grid;
    grid-template-columns: 64px minmax(220px, 1fr) minmax(90px, .35fr) minmax(150px, .55fr) auto;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border-bottom: 1px solid var(--line);
}

.product-admin-image,
.product-admin-placeholder {
    width: 64px;
    height: 64px;
    border-radius: 9px;
    object-fit: cover;
    background: #262626;
}

.product-admin-placeholder {
    display: grid;
    place-items: center;
    color: #777;
    font-size: 9px;
    font-weight: 900;
}

.product-admin-title strong {
    display: block;
    font-size: 17px;
}

button.product-admin-title {
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

button.product-admin-title:hover strong,
button.product-admin-title:focus-visible strong { text-decoration: underline; text-underline-offset: 4px; }

.product-admin-title small {
    color: var(--muted);
}

.product-admin-variant-count,
.product-admin-price {
    white-space: nowrap;
    font-size: 14px;
}

.product-admin-variant-count {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-weight: 700;
    text-align: left;
}

.product-admin-variant-count:hover,
.product-admin-variant-count:focus-visible {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.product-admin-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.category-admin-tree { display: grid; gap: 10px; }
.category-admin-tree.is-sorting-categories { gap: 22px; }
.category-sort-help { display: flex; align-items: center; gap: 14px; margin: 0 0 4px; padding: 12px 14px; border: 1px solid #cfe0f7; border-radius: 12px; background: #f4f8fd; color: #526176; font-size: 13px; }
.category-sort-help strong { color: #1769e0; font-size: 12px; white-space: nowrap; }
.category-admin-row { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px 14px calc(16px + var(--category-depth) * 28px); border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.category-admin-row strong, .category-admin-row small { display: block; }
.category-admin-row small { margin-top: 4px; color: var(--muted); }
.category-admin-actions { display: flex; gap: 7px; flex-wrap: wrap; }
.category-admin-row > div:first-of-type { flex: 1; min-width: 0; }
.category-drag-handle { flex: 0 0 auto; color: #8b93a5; cursor: grab; font-size: 22px; line-height: 1; letter-spacing: -5px; user-select: none; }
.category-admin-row:active .category-drag-handle { cursor: grabbing; }
.category-admin-row.is-dragging { opacity: .42; }
.category-admin-tree.is-sorting-categories .category-admin-row:not(.is-dragging) { border-style: dashed; }
.category-level-badge { display: inline-block; margin-right: 4px; padding: 2px 6px; border-radius: 999px; background: #edf2f8; color: #526176; font-size: 9px; font-weight: 850; letter-spacing: .04em; }
.category-admin-row.is-drop-target { border-top-color: #1769e0 !important; box-shadow: 0 -7px 0 #1769e0 !important; }
.category-admin-row.is-drop-target::before { content: "SOLTAR ANTES DE ESTA CATEGORÍA"; position: absolute; top: -20px; left: 34px; z-index: 3; padding: 3px 9px; border-radius: 999px; background: #1769e0; color: #fff; font-size: 10px; font-weight: 850; letter-spacing: .04em; line-height: 1.2; }
.category-admin-row.is-drop-target.is-drop-after { border-top-color: #e2e6ef !important; border-bottom-color: #1769e0 !important; box-shadow: 0 7px 0 #1769e0 !important; }
.category-admin-row.is-drop-target.is-drop-after::before { content: "SOLTAR DESPUÉS DE ESTA CATEGORÍA"; top: auto; bottom: -20px; }

.small-button {
    padding: 8px 10px;
    border: 1px solid #494949;
    border-radius: 8px;
    background: transparent;
    color: #fff;
    font-size: 12px;
}

.small-button:hover {
    border-color: #fff;
}

.variant-admin-row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 150px 130px 118px;
    align-items: end;
    gap: 10px;
    padding: 11px 14px;
    border-bottom: 1px solid var(--line-soft);
}

.variant-admin-row:last-child {
    border-bottom: 0;
}

.variant-admin-name small {
    color: var(--muted);
}

.variant-admin-row label {
    display: grid;
    gap: 4px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
}

.variant-admin-row input {
    width: 100%;
    padding: 9px;
    border: 1px solid #444;
    border-radius: 7px;
    background: #0a0a0a;
    color: #fff;
}

.reserved-value {
    padding-bottom: 9px;
    color: var(--warning);
    font-size: 12px;
}

.pos-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 20px;
}

.pos-search-wrap {
    margin-top: 0;
}

.pos-scanner-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px !important;
    color: #9fc2ff !important;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
}

.pos-scanner-status span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #39dc8d;
    box-shadow: 0 0 0 4px rgba(57, 220, 141, .12);
}

.pos-products {
    display: grid;
    gap: 10px;
}

.pos-idle {
    display: grid;
    gap: 7px;
    min-height: 230px;
    place-content: center;
    padding: 22px;
    border: 1px dashed var(--line);
    border-radius: 14px;
    color: var(--muted);
    text-align: center;
}

.pos-idle strong {
    color: #fff;
    font-size: 13px;
    letter-spacing: .04em;
}

.pos-idle span {
    max-width: 370px;
    line-height: 1.5;
}

.pos-search-summary {
    padding: 12px 14px;
    border: 1px solid rgba(93, 155, 255, .3);
    border-radius: 11px;
    background: rgba(78, 140, 255, .08);
    color: var(--muted);
    font-size: 12px;
}

.pos-search-summary strong {
    color: #fff;
}

.pos-product {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--panel);
}

.pos-product img,
.pos-product-placeholder {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    object-fit: cover;
    background: #272727;
}

.pos-product-placeholder {
    display: grid;
    place-items: center;
    color: #777;
    font-size: 9px;
}

.pos-product-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
}

.pos-open-product-button {
    margin: 8px 0 2px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #9fc2ff;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
}

.pos-product:not(.pos-expanded) .pos-variant-row {
    display: none;
}

.pos-product:not(.pos-expanded):has(.pos-open-product-button) {
    grid-template-columns: 64px minmax(0, 1fr);
}

.pos-variant-row {
    display: grid;
    grid-template-columns: minmax(130px, 1fr) minmax(150px, .65fr) auto 40px 32px 48px;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--line-soft);
}

.pos-variant-stock { color: #667087; font-size: 14px; font-weight: 750; white-space: nowrap; }
.pos-variant-price { color: #252a3a; font-size: 16px; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pos-variant-meta { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.pos-variant-quantity { display: block; width: 54px; height: 34px; padding: 0 3px; border: 1px solid #c9d3e0; border-radius: 7px; background: #fff; color: #315fa9; font-size: 16px; font-weight: 400; font-variant-numeric: tabular-nums; line-height: 32px; text-align: center; }
.pos-variant-quantity::-webkit-inner-spin-button, .pos-variant-quantity::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.pos-variant-quantity { appearance: textfield; -moz-appearance: textfield; }
.pos-variant-quantity-placeholder { display: block; width: 30px; height: 30px; }
.pos-variant-remove, .pos-variant-remove-placeholder { display: block; width: 30px; height: 30px; }
.pos-variant-remove { padding: 0; border: 1px solid #d7dde6; border-radius: 7px; background: #fff; color: #596b80; cursor: pointer; font-size: 22px; line-height: 1; }
.pos-variant-remove:hover { border-color: #315fa9; color: #315fa9; }
.pos-variant-add { display: grid; width: 40px; height: 40px; place-items: center; padding: 0; border: 1px solid #1769e0; border-radius: 9px; background: #fff; color: #1769e0; cursor: pointer; font-size: 24px; font-weight: 700; line-height: 1; }
.pos-variant-add:hover { background: #1769e0; color: #fff; }
.pos-variant-add:disabled { border-color: #d9dee7; color: #aab1bd; cursor: not-allowed; opacity: .6; }

.pos-variant-row:last-child {
    border-bottom: 0;
}

.stock-zero {
    color: #d83939;
    font-weight: 850;
}

.barcode-assignment > p:not(.eyebrow) {
    color: var(--muted);
    line-height: 1.55;
}

.barcode-assignment > input {
    width: 100%;
    margin: 7px 0 14px;
}

.barcode-assignment-results {
    display: grid;
    max-height: 56vh;
    gap: 9px;
    overflow-y: auto;
}

.barcode-product {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #0a0f17;
}

.barcode-product header {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    padding: 11px;
}

.barcode-product header img,
.barcode-product-placeholder {
    width: 46px;
    height: 46px;
    border-radius: 8px;
    object-fit: cover;
    background: #202936;
}

.barcode-product-placeholder {
    display: grid;
    place-items: center;
    color: var(--muted);
    font-size: 7px;
}

.barcode-product header span,
.barcode-variant-list button > span:first-child {
    display: grid;
    gap: 3px;
    text-align: left;
}

.barcode-product small {
    color: var(--muted);
}

.barcode-variant-list button {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 0;
    border-top: 1px solid var(--line-soft);
    background: transparent;
    color: #fff;
    cursor: pointer;
}

.barcode-variant-list button:hover {
    background: rgba(78, 140, 255, .12);
}

.barcode-variant-list button > span:last-child {
    color: #83b2ff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
}

.pos-cart {
    position: sticky;
    top: 20px;
    align-self: start;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #0b0b0b;
}

.pos-cart h2 {
    margin-top: 0;
}

.order-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 12px;
}

.order-card {
    padding: 17px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: var(--panel);
}

.order-card-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.order-card h2 {
    margin: 0;
    font-size: 20px;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    padding: 5px 8px;
    border: 1px solid #555;
    border-radius: 999px;
    color: #ddd;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.status-payment_reported,
.status-paid_prepare,
.status-ready_pickup {
    border-color: #307653;
    color: #9de6bd;
}

.status-rejected,
.status-cancelled {
    border-color: #814141;
    color: #ffaaaa;
}

.order-card p {
    color: var(--muted);
    line-height: 1.45;
}

.payment-ai {
    display: grid;
    gap: 4px;
    margin: 10px 0 12px;
    padding: 10px;
    border: 1px solid #4f5c6e;
    border-radius: 9px;
    background: rgba(255, 255, 255, .025);
}

.payment-ai strong {
    font-size: 10px;
    letter-spacing: .05em;
}

.payment-ai small {
    color: var(--muted);
    line-height: 1.35;
}

.payment-ai-prevalidated {
    border-color: rgba(53, 211, 155, .38);
    color: #9de6bd;
}

.payment-ai-review {
    border-color: rgba(255, 198, 109, .4);
    color: #ffe1af;
}

.payment-ai-failed {
    border-color: rgba(255, 123, 123, .36);
    color: #ffc4c4;
}

.proof-analysis-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin: 16px 0;
}

.proof-analysis-grid > div {
    display: grid;
    gap: 5px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #0a0f17;
}

.proof-analysis-grid span,
.proof-anomalies {
    font-size: 10px;
    letter-spacing: .05em;
}

.check-match {
    color: #9de6bd;
}

.check-mismatch {
    color: #ffc4c4;
}

.check-unknown {
    color: var(--muted);
}

.proof-anomalies {
    padding: 13px;
    border: 1px solid rgba(255, 198, 109, .35);
    border-radius: 10px;
    color: #ffe1af;
}

.proof-anomalies li {
    margin-top: 7px;
    line-height: 1.45;
}

.order-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.order-edit-search-wrap {
    position: relative;
    z-index: 3;
    margin-bottom: 18px;
}

.order-edit-lines {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
}

.order-edit-line {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 126px 110px auto;
    align-items: center;
    gap: 10px;
    padding: 11px;
    border: 1px solid var(--line-soft);
    border-radius: 10px;
    background: #0a0a0a;
}

.order-edit-line small {
    color: var(--muted);
}

.order-edit-line > strong {
    text-align: right;
}

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

.report-metrics article,
.report-card {
    padding: 17px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: var(--panel);
}

.report-metrics article {
    display: grid;
    gap: 6px;
}

.report-metrics small,
.report-metrics span,
.report-card small {
    color: var(--muted);
}

.report-metrics strong {
    font-size: clamp(24px, 3vw, 34px);
}

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

.report-card h2 {
    margin-top: 0;
    font-size: 17px;
}

.report-wide {
    grid-column: 1 / -1;
}

.report-table-wrap {
    overflow-x: auto;
}

.report-card table {
    width: 100%;
    border-collapse: collapse;
}

.report-card th,
.report-card td {
    padding: 9px 7px;
    border-bottom: 1px solid var(--line-soft);
    text-align: left;
    vertical-align: top;
}

.report-card th {
    color: var(--muted);
    font-size: 10px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.settings-card {
    max-width: 900px;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--panel);
}

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

.pet-selector { display:grid; max-width:420px; margin:12px 0 16px; gap:6px; }
.pet-settings-panel[hidden] { display:none; }

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

.user-card {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto 130px minmax(170px, auto) auto;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--panel);
}

.user-card small {
    color: var(--muted);
}

.cash-card {
    max-width: 700px;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--panel);
}

.cash-metric {
    margin: 8px 0 22px;
    font-size: 38px;
    font-weight: 900;
}

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

.variant-form-list {
    display: grid;
    gap: 10px;
    margin: 12px 0;
}

.variant-form-row {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(120px, 1fr) 110px 90px auto;
    align-items: end;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 10px;
}

.variant-form-row label {
    margin: 0;
}

.variant-image-field {
    grid-column: span 2;
}

.variant-image-preview {
    display: block;
    width: 46px;
    height: 46px;
    margin-top: 7px;
    object-fit: cover;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.product-editor-image-preview {
    display: block;
    width: min(220px, 100%);
    aspect-ratio: 1;
    margin-top: 12px;
    object-fit: contain;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
}

.variant-form-row.single-variant-row {
    grid-template-columns: minmax(130px, 1fr) minmax(150px, 1fr) minmax(110px, .8fr) minmax(100px, .7fr);
}
.variant-form-row.single-variant-row .variant-name-field,
.variant-form-row.single-variant-row [data-remove-variant],
.variant-form-row.single-variant-row .variant-image-field,
.variant-form-row.single-variant-row .variant-min-field,
.variant-form-row.single-variant-row .variant-active-field {
    display: none;
}

.admin-modal-card {
    width: min(850px, 100%);
}

.danger-button {
    border-color: #7d3d3d;
    color: #ffaaaa;
}

/* Base visual de la administración. */
.login-shell {
    background:
        radial-gradient(circle at 20% 12%, rgba(78, 140, 255, .2), transparent 28rem),
        radial-gradient(circle at 82% 82%, rgba(53, 211, 155, .08), transparent 26rem),
        #06080d;
}

.login-card {
    border-color: rgba(101, 121, 148, .32);
    background: linear-gradient(145deg, rgba(16, 22, 32, .98), rgba(9, 13, 20, .98));
    box-shadow: 0 30px 90px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(255, 255, 255, .035);
}

.login-card input,
.admin-search input,
.pos-cart input,
.pos-cart select,
.admin-modal-card input,
.admin-modal-card textarea,
.admin-modal-card select,
.admin-mobile-header select,
.order-toolbar input,
.order-toolbar select {
    border-color: #344154;
    background: #0b111a;
}

/* Ventas: lectura y operación rápida durante la jornada. */
#view-orders .view-heading {
    align-items: center;
    padding: 20px;
    border: 1px solid rgba(101, 121, 148, .25);
    border-radius: 18px;
    background: radial-gradient(circle at right top, rgba(60, 131, 255, .17), transparent 30%), #0c121b;
}

#view-orders .order-toolbar {
    border-color: rgba(101, 121, 148, .32);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(19, 29, 43, .96), rgba(9, 14, 22, .96));
    box-shadow: 0 14px 32px rgba(0, 0, 0, .16);
}

#view-orders .order-toolbar input,
#view-orders .order-toolbar select,
#view-orders .order-bulk-toolbar select {
    min-height: 42px;
    border-radius: 11px;
}

#view-orders .order-overview article {
    min-height: 112px;
    padding: 17px;
    border-radius: 16px;
}

#view-orders .order-bulk-toolbar {
    align-items: center;
    border-radius: 14px;
    border-color: rgba(91, 151, 255, .36);
    background: linear-gradient(100deg, rgba(34, 77, 138, .18), rgba(12, 18, 28, .95));
}

#view-orders .order-list-row {
    margin-bottom: 7px;
    border: 1px solid rgba(101, 121, 148, .2);
    border-radius: 13px;
    background: linear-gradient(100deg, rgba(20, 29, 42, .88), rgba(10, 15, 23, .9));
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

#view-orders .order-list-row:hover {
    transform: translateX(3px);
    border-color: rgba(98, 160, 255, .5);
    background: linear-gradient(100deg, rgba(27, 41, 61, .98), rgba(12, 19, 29, .96));
}

.login-card input:focus,
.admin-search input:focus,
.pos-cart input:focus,
.pos-cart select:focus,
.admin-modal-card input:focus,
.admin-modal-card textarea:focus,
.admin-modal-card select:focus,
.order-toolbar input:focus,
.order-toolbar select:focus {
    border-color: #5d9bff;
    box-shadow: 0 0 0 3px rgba(78, 140, 255, .13);
}

.admin-sidebar {
    border-color: rgba(101, 121, 148, .24);
    background: linear-gradient(180deg, #0d131c, #080c12);
    box-shadow: 12px 0 35px rgba(0, 0, 0, .14);
}

.admin-nav-button {
    border: 1px solid transparent;
    color: #9da9b9;
    font-weight: 700;
    transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}

.admin-nav-button:hover {
    border-color: rgba(101, 121, 148, .24);
    background: rgba(255, 255, 255, .035);
    color: #fff;
    transform: translateX(2px);
}

.admin-nav-button.active {
    border-color: rgba(78, 140, 255, .38);
    background: linear-gradient(90deg, rgba(78, 140, 255, .24), rgba(78, 140, 255, .07));
    box-shadow: inset 3px 0 0 #5d9bff;
    color: #fff;
}
#view-orders .order-actions-bar {
    display: flex;
    align-items: end;
    justify-content: flex-start;
    gap: 18px;
    margin: -8px 0 16px;
}
.product-toolbar-menus { display:flex; align-items:center; gap:14px; margin-left:auto; }
.product-toolbar-text { padding:0; border:0; background:transparent; color:#4f46a5; font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
.product-toolbar-text:hover { text-decoration:underline; text-underline-offset:3px; }
.product-filter-button { display:inline-flex; align-items:center; gap:7px; }
.product-filter-button > svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linejoin:round; }
#view-orders .order-actions-bar[hidden] { display: none; }
.selected-orders-count { min-height: 40px; display: flex; align-items: center; color: #315fa9; font-size: 13px; white-space: nowrap; }
#view-orders .bulk-actions-control {
    display: grid;
    gap: 5px;
    width: min(100%, 285px);
}
#view-orders .bulk-actions-control span {
    color: #a9b3bb;
    font-size: 10px;
    font-weight: 800;
}
#view-orders .bulk-actions-control select {
    min-height: 40px;
    border: 1px solid #47535d;
    border-radius: 7px;
    background: #11181e;
    color: #fff;
}
#view-orders .bulk-actions-inline { display: none !important; }

.admin-main {
    background:
        radial-gradient(circle at 45% -8%, rgba(78, 140, 255, .1), transparent 34rem),
        #06080d;
}

.view-heading h1 {
    color: #f8faff;
    font-weight: 900;
}

.product-admin-card,
.pos-product,
.pos-cart,
.settings-card,
.user-card,
.cash-card,
.report-metrics article,
.report-card {
    border-color: rgba(101, 121, 148, .26);
    background: linear-gradient(145deg, #111824, #0c121a);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .13);
}

.small-button {
    border-color: #344154;
    background: #111823;
    color: #dce5f2;
}

.small-button:hover {
    border-color: #5d9bff;
    background: rgba(78, 140, 255, .12);
}

.order-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.order-overview article {
    display: grid;
    gap: 5px;
    padding: 16px;
    border: 1px solid rgba(101, 121, 148, .26);
    border-radius: 14px;
    background: linear-gradient(145deg, #111824, #0c121a);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}

.order-overview article.attention {
    border-color: rgba(255, 198, 109, .35);
    background: linear-gradient(145deg, rgba(255, 198, 109, .1), #0c121a);
}

.order-overview article.ready {
    border-color: rgba(53, 211, 155, .3);
    background: linear-gradient(145deg, rgba(53, 211, 155, .09), #0c121a);
}

.order-overview span,
.order-toolbar span {
    color: #8290a3;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .09em;
}

.order-overview strong {
    color: #fff;
    font-size: 28px;
    line-height: 1;
}

.order-overview small {
    color: var(--muted);
}

.order-toolbar {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(180px, .45fr) minmax(170px, .4fr);
    gap: 10px;
    margin-bottom: 16px;
    padding: 12px;
    border: 1px solid rgba(101, 121, 148, .24);
    border-radius: 14px;
    background: rgba(11, 16, 24, .82);
}

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

.order-toolbar input,
.order-toolbar select {
    width: 100%;
    min-height: 42px;
    padding: 10px 11px;
    border: 1px solid #344154;
    border-radius: 9px;
    outline: 0;
    color: #fff;
}

.order-card {
    border-color: rgba(101, 121, 148, .26);
    border-radius: 15px;
    background: linear-gradient(145deg, #111824, #0c121a);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .13);
    transition: border-color .18s ease, transform .18s ease;
}

.order-card:hover {
    border-color: rgba(93, 155, 255, .48);
    transform: translateY(-1px);
}

.empty-admin-state {
    grid-column: 1 / -1;
    padding: 50px 20px;
    border: 1px dashed #344154;
    border-radius: 15px;
    color: var(--muted);
    text-align: center;
}

.empty-admin-state strong {
    color: #fff;
}

@media (max-width: 1050px) {
    .pos-shell {
        grid-template-columns: 1fr;
    }

    .pos-cart {
        position: static;
    }

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

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

    .order-toolbar {
        grid-template-columns: 1fr 1fr;
    }

    .order-filter-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    .admin-shell {
        display: block;
    }

    .admin-sidebar {
        display: none;
    }

    .admin-main {
        padding: 0 14px 60px;
    }

    .admin-mobile-header {
        position: sticky;
        z-index: 30;
        top: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 12px 0;
        border-bottom: 1px solid var(--line);
        background: rgba(6, 8, 13, .92);
        backdrop-filter: blur(14px);
    }

    .admin-mobile-header select {
        width: auto;
    }

    .view-heading {
        margin-top: 24px;
    }

    .variant-admin-row {
        grid-template-columns: minmax(130px, 1fr) 120px 100px;
    }

    .reserved-value {
        display: none;
    }

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

    .order-edit-line {
        grid-template-columns: minmax(0, 1fr) 126px;
    }

    .order-edit-line > strong {
        text-align: left;
    }

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

    .report-wide {
        grid-column: auto;
    }

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

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

    .user-card {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}

@media (max-width: 560px) {
    .view-heading {
        display: block;
    }

    .fit-button {
        width: 100%;
        margin-top: 14px;
    }

    .product-admin-head {
        grid-template-columns: 50px minmax(0, 1fr);
    }

    .product-admin-variant-count,
    .product-admin-price {
        grid-column: 2;
    }

    .product-admin-image,
    .product-admin-placeholder {
        width: 50px;
        height: 50px;
    }

    .product-admin-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .variant-admin-row {
        grid-template-columns: minmax(0, 1fr) 110px;
    }

    .variant-admin-row label:nth-of-type(2) {
        grid-column: 2;
    }

    .pos-product {
        grid-template-columns: 1fr;
    }

    .pos-product > img,
    .pos-product-placeholder {
        display: none;
    }

    .pos-variant-row {
        grid-template-columns: minmax(0, 1fr) 126px;
    }

    .pos-variant-row > span:nth-child(2) {
        display: none;
    }

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

    .order-edit-line {
        grid-template-columns: 1fr;
    }

    .order-edit-line .quantity-control {
        width: 126px;
    }

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

    .order-overview,
    .order-toolbar {
        grid-template-columns: 1fr;
    }

    .order-filter-search {
        grid-column: auto;
    }
}

.order-list {
    display: block;
    overflow: hidden;
    border: 1px solid rgba(101, 121, 148, .28);
    border-radius: 15px;
    background: rgba(9, 14, 21, .72);
}

.order-list-head,
.order-list-row {
    display: grid;
    grid-template-columns: 38px minmax(145px, 1.05fr) minmax(160px, 1.15fr) minmax(100px, .7fr) minmax(130px, .8fr) minmax(145px, .9fr) minmax(100px, .55fr) 26px;
    align-items: center;
    gap: 14px;
}

.order-list-head {
    padding: 11px 16px;
    border-bottom: 1px solid rgba(101, 121, 148, .28);
    color: #7e8da2;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
}

.order-list-row {
    width: 100%;
    min-height: 78px;
    padding: 13px 16px;
    border: 0;
    border-bottom: 1px solid rgba(101, 121, 148, .2);
    border-radius: 0;
    background: transparent;
    color: var(--text);
    text-align: left;
    transition: background .16s ease, color .16s ease;
}

.order-list-row:last-child {
    border-bottom: 0;
}

.order-list-row:hover,
.order-list-row:focus-visible {
    background: rgba(93, 155, 255, .09);
}

.order-list-row > span,
.order-list-row > strong {
    min-width: 0;
}

.order-list-row strong,
.order-list-row small {
    display: block;
}

.order-list-row small {
    margin-top: 4px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.3;
}

.order-list-total {
    text-align: right;
    white-space: nowrap;
}

.order-list-chevron {
    color: #83b2ff;
    font-size: 30px;
    text-align: right;
}

.order-select-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.order-select-control input,
.archive-orders-toggle input {
    width: 17px;
    height: 17px;
    accent-color: #5d9bff;
}

.archive-orders-toggle {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    align-self: end;
    padding: 10px 0;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
}

.order-bulk-toolbar {
    display: flex;
    align-items: end;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 16px;
    padding: 13px 15px;
    border: 1px solid rgba(93, 155, 255, .32);
    border-radius: 13px;
    background: rgba(20, 37, 58, .72);
}

.order-bulk-toolbar[hidden] {
    display: none;
}

.order-bulk-toolbar > strong {
    margin-right: 12px;
    color: #dce9ff;
}

.image-drop-zone {
    display: block;
    margin-top: 8px;
    padding: 15px;
    border: 1px dashed #5276a7;
    border-radius: 11px;
    color: #afc5e3;
    text-align: center;
    cursor: pointer;
}
.image-drop-zone.dragging, .image-drop-zone:hover { border-color: #62a0ff; background: rgba(70,138,255,.11); }
.image-drop-zone.ready { border-style: solid; border-color: #48c897; color: #a9f0d4; }

.order-bulk-toolbar label {
    display: grid;
    gap: 5px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .06em;
}

.order-bulk-toolbar select {
    min-width: 175px;
}

#view-orders .bulk-actions-inline {
    display: inline-flex;
    width: auto;
    min-width: 108px;
    min-height: 30px;
    margin-left: 9px;
    padding: 4px 25px 4px 9px;
    border: 1px solid #3e4b54;
    border-radius: 6px;
    background: #11181e;
    color: #fff;
    font-size: 11px;
    font-weight: 750;
}

.order-confirm-option {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 12px 0;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
    cursor: pointer;
}

.order-confirm-option input {
    width: 17px;
    height: 17px;
    margin-top: 2px;
    accent-color: #5d9bff;
}

.order-confirm-option span,
.order-confirm-option small {
    display: block;
}

.order-confirm-option small {
    margin-top: 3px;
    color: var(--muted);
    line-height: 1.4;
}

.share-product-button {
    min-width: 38px;
    padding: 8px 10px;
    color: #9de6bd;
}
.share-product-button.icon-action-button { min-width:32px; padding:0; }

.modal:has(.order-detail) .admin-modal-card {
    width: min(1120px, 100%);
}

.order-detail {
    display: grid;
    gap: 14px;
    color: #27313d;
}

.order-detail-head,
.order-payment-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.order-detail-head h2,
.order-payment-head h3 {
    margin: 0;
}

.order-detail-head-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    margin-right: 54px;
}

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

/* La venta no expone condiciones ni forma de pago. */
.order-detail-meta > :nth-child(3),
.order-payment-detail {
    display: none;
}

.order-detail-meta > div {
    display: grid;
    gap: 5px;
    padding: 13px;
    border: 1px solid #e1e5eb;
    border-radius: 12px;
    background: #fff;
}

.order-detail-meta span,
.order-detail-meta small,
.order-proof-meta,
.order-print-note {
    color: var(--muted);
    font-size: 11px;
}

.order-detail-lines {
    overflow: hidden;
    border: 1px solid #e1e5eb;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    background: #fff;
}

.order-detail-product-group { padding: 13px 16px 11px; border-bottom: 1px solid #edf0f4; }

.order-detail-product {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.order-detail-product-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.order-detail-product-name {
    font-size: 15px;
    font-weight: 400;
    text-transform: uppercase;
}

.order-detail-variants { margin-top: 8px; }
.order-detail-variant { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto minmax(82px, .25fr); gap: 10px; align-items: baseline; padding: 4px 0 4px 5px; }
.order-detail-quantity { font-size: 21px; font-weight: 400; line-height: .9; text-align: center; }
.order-detail-variant-name { font-size: 14px; font-weight: 400; text-transform: uppercase; overflow-wrap: anywhere; }
.order-detail-variant-details { color: var(--muted); font-size: 10px; font-weight: 400; white-space: nowrap; }
.order-detail-line-total { font-size: 12px; font-weight: 400; text-align: right; white-space: nowrap; }

.order-detail-product img,
.order-detail-product-placeholder {
    width: 54px;
    height: 54px;
    border-radius: 9px;
    object-fit: cover;
    background: #fff;
}

.order-detail-product-placeholder {
    display: grid;
    place-items: center;
    color: #788392;
    font-size: 8px;
    font-weight: 800;
}

.order-detail-total {
    margin-top: -14px;
    padding: 15px 16px;
    border: 1px solid #e1e5eb;
    border-top: 0;
    border-radius: 0 0 12px 12px;
    background: #f8faf9;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    font-size: 18px;
}

.order-detail-total span {
    display: grid;
    gap: 2px;
    text-align: right;
}

.order-detail-total small {
    color: #556276;
    font-size: 11px;
    font-weight: 700;
}

.order-detail-total b {
    font-size: 12px;
}

.order-payment-detail {
    padding: 16px;
    border: 1px solid rgba(93, 155, 255, .28);
    border-radius: 14px;
    background: rgba(11, 16, 24, .82);
}

.order-proof-preview,
.order-proof-image {
    display: block;
    width: 100%;
    height: min(520px, 58vh);
    margin-top: 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    object-fit: contain;
}

.order-detail-actions {
    padding-top: 4px;
}

.order-print-note {
    margin: 0;
}

@media (max-width: 760px) {
    .order-list-head {
        display: none;
    }

    .order-list-row {
        grid-template-columns: 26px minmax(0, 1fr) auto 20px;
        gap: 5px 10px;
        padding: 14px;
    }

    .order-list-row > :nth-child(1) {
        grid-column: 1;
        grid-row: 1 / span 3;
    }

    .order-list-row > :nth-child(2) {
        grid-column: 2;
        grid-row: 1;
    }

    .order-list-row > :nth-child(4),
    .order-list-row > :nth-child(5) {
        display: none;
    }

    .order-list-row > :nth-child(3) {
        grid-column: 2;
        grid-row: 2;
    }

    .order-list-row > :nth-child(6) {
        grid-column: 2;
        grid-row: 3;
    }

    .order-list-row > :nth-child(7) {
        grid-column: 3;
        grid-row: 1;
    }

    .order-list-row > :nth-child(8) {
        grid-column: 4;
        grid-row: 1 / span 3;
    }

    .order-bulk-toolbar {
        align-items: stretch;
    }

    .order-bulk-toolbar > strong {
        width: 100%;
    }

    .order-bulk-toolbar label,
    .order-bulk-toolbar select,
    .order-bulk-toolbar button {
        width: 100%;
    }

    .order-detail-meta {
        grid-template-columns: 1fr;
    }

    .order-detail-variant { grid-template-columns: 34px minmax(0, 1fr) auto; gap: 7px; }
    .order-detail-quantity { font-size: 19px; }
    .order-detail-variant-name { font-size: 13px; }
    .order-detail-variant-details { grid-column: 2; font-size: 9px; }
    .order-detail-line-total { grid-column: 3; grid-row: 1 / span 2; }
}

/* Lenguaje visual operativo, inspirado en patrones de administración de e-commerce. */
.admin-body {
    background: #f8f9fb;
    color: #29313d;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.admin-shell { grid-template-columns: 248px minmax(0, 1fr); }

.admin-sidebar {
    padding: 22px 14px 16px;
    border-right: 1px solid #e6e8ee;
    box-shadow: none;
}

.admin-brand {
    min-height: 44px;
    padding: 0 10px;
}

.admin-brand strong {
    font-size: 13px;
    letter-spacing: -.015em;
}

.admin-nav {
    gap: 2px;
    margin-top: 26px;
}

.admin-nav-button {
    min-height: 38px;
    padding: 8px 11px;
    border-radius: 7px;
    color: #4f596b;
    font-size: 13px;
    font-weight: 600;
}

.admin-nav-button:hover { transform: none; background: #f1f2f6; color: #3327a8; }
.admin-nav-button.active { background: #ebe9fe; color: #392bb2; font-weight: 720; }
.admin-nav-sales { display: grid; gap: 2px; padding: 5px 0 7px; border-bottom: 1px solid #ececf1; }
.admin-nav-sales .admin-nav-button { padding-left: 22px; font-size: 13px; }

.admin-user {
    gap: 4px;
    padding: 14px 10px 0;
    border-top-color: #edf0f4;
}

.admin-user strong { font-size: 13px; }
.admin-user small { font-size: 10px; letter-spacing: .04em; }

.admin-main {
    max-width: none;
    margin: 0;
    padding: 34px clamp(24px, 4vw, 66px) 76px;
}

.view-heading { margin-bottom: 22px; }

.view-heading h1 {
    font-size: clamp(26px, 2.4vw, 32px);
    font-weight: 730;
    letter-spacing: -.035em;
}

.view-heading .eyebrow { display: none; }

.view-heading p:last-child {
    margin-top: 6px;
    color: #697386;
    font-size: 13px;
}

.admin-body .primary-button {
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 7px;
    background: #5546d9;
    box-shadow: none;
    font-size: 12px;
    letter-spacing: 0;
}

.admin-body .primary-button:hover { background: #4536c1; }
.admin-body .secondary-button,
.admin-body .small-button { border-radius: 7px; }

.admin-search,
.order-filter-search { margin-bottom: 14px; }

.admin-search input,
.order-filter-search input,
.order-toolbar input,
.order-toolbar select,
.order-bulk-toolbar select {
    min-height: 40px;
    border-color: #dfe3ea;
    border-radius: 7px;
    background: #fff;
    box-shadow: none;
    font-size: 13px;
}

.order-toolbar,
.order-bulk-toolbar {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.order-overview { gap: 10px; margin-bottom: 18px; }

.order-overview article {
    min-height: 78px;
    padding: 14px 16px;
    border: 1px solid #e6e9ef;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
}

.order-overview article strong { font-size: 23px; letter-spacing: -.035em; }

.order-list {
    overflow: hidden;
    border: 1px solid #e2e6ed;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
}

.order-list-head,
.order-list-row { grid-template-columns: 34px minmax(105px, .45fr) minmax(190px, 1.3fr) minmax(120px, .7fr) minmax(125px, .7fr) minmax(110px, .55fr) 28px; }

.order-list-head {
    padding: 12px 16px;
    border-bottom: 1px solid #e6e9ef;
    background: #fafbfc;
    color: #6b7484;
    font-size: 10px;
}

.order-list-row {
    min-height: 68px;
    padding: 11px 16px;
    border-bottom-color: #edf0f3;
    color: #313946;
    font-size: 13px;
}

.order-list-row:last-child { border-bottom: 0; }
.order-list-row:hover { background: #f8f8fd; }
.order-list-number strong { color: #4436bf; }
.order-list-number { display:flex; align-items:center; gap:7px; }
.order-list-archive { display:grid; width:28px; height:28px; place-items:center; padding:0; border:0; border-radius:6px; background:transparent; color:#66527b; cursor:pointer; }
.order-list-archive svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.order-list-archive:hover { background:#eee7f5; color:#4d2876; }
.order-list-row small { margin-top: 2px; color: #778194; font-size: 11px; }
.order-list-total { font-size: 13px; font-variant-numeric: tabular-nums; }

.status-pill {
    padding: 4px 8px;
    border-radius: 5px;
    font-size: 10px;
    letter-spacing: .01em;
}

.product-admin-card,
.settings-card,
.category-admin-row,
.size-guide-editor,
.user-card {
    border-radius: 8px;
    box-shadow: none;
}

/* Las fotos se cargan al hosting propio; no se admiten URLs de terceros. */
#product-form label:has(input[name="image_path"]) { display: none; }

.product-admin-head { min-height: 76px; border-bottom-color: #edf0f3; }

@media (max-width: 1050px) {
    .admin-shell { grid-template-columns: 216px minmax(0, 1fr); }
}

/* Ventas: mesa de trabajo compacta, con la jerarquía de una lista de pedidos. */
#view-orders {
    padding: 0 2px 28px;
    color: #f5f7fb;
}

#view-orders::before {
    position: fixed;
    z-index: -1;
    inset: 0 0 0 248px;
    background: #080b0d;
    content: '';
}

#view-orders .order-page-heading {
    min-height: 72px;
    margin-bottom: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid #2c343b;
}

#view-orders .view-heading h1 { color: #fff; font-size: 38px; }
#view-orders .view-heading h1 small { margin-left: 6px; font-size: 15px; font-weight: 650; letter-spacing: 0; }
#view-orders .view-heading p:last-child { display: none; }

.order-page-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
#view-orders .order-page-actions .secondary-button {
    min-height: 42px;
    border-color: #47535d;
    background: transparent;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}
#view-orders .order-page-actions .primary-button { min-height: 42px; background: #0d57ee; color: #fff; }

#view-orders .order-overview {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    width: max-content;
    max-width: 100%;
    margin: 0 0 10px 344px;
    padding: 5px;
    overflow-x: auto;
    border: 1px solid #11191f;
    border-radius: 8px;
    background: #12191e;
}

#view-orders .order-state-tab {
    min-height: 34px;
    padding: 7px 11px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 720;
    white-space: nowrap;
}
#view-orders .order-state-tab:hover,
#view-orders .order-state-tab.active { background: #1e2a33; }
#view-orders .order-state-tab b {
    display: inline-grid;
    min-width: 18px;
    margin-left: 5px;
    padding: 1px 4px;
    border-radius: 4px;
    background: #64707a;
    color: #fff;
    font-size: 11px;
    text-align: center;
}

#view-orders .order-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 10px;
    margin: -44px 0 18px;
}
#view-orders .order-toolbar label { display: grid; gap: 5px; }
#view-orders .order-filter-search { width: 286px; margin: 0 auto 0 0; }
#view-orders .order-filter-search input {
    min-height: 42px;
    border-color: #47535d;
    background: #080b0d;
    color: #fff;
}
#view-orders .order-toolbar label:not(.order-filter-search) { min-width: 132px; }
#view-orders .order-toolbar label:has(#order-channel-filter),
#view-orders .order-toolbar label:has(#order-date-filter) { display: none; }
#order-auto-cancel-info { display: none !important; }
#view-orders .order-toolbar span { color: #a9b3bb; }
#view-orders .order-toolbar select,
#view-orders .order-bulk-toolbar select {
    min-height: 38px;
    border-color: #47535d;
    background: #11181e;
    color: #fff;
}

#view-orders .order-list {
    border-color: #2c363e;
    border-radius: 0;
    background: #080b0d;
}
#view-orders .order-list-head,
#view-orders .order-list-row {
    grid-template-columns: 34px minmax(90px, .55fr) minmax(100px, .6fr) minmax(160px, 1.1fr) minmax(110px, .7fr) minmax(105px, .6fr) minmax(150px, .9fr) 32px 28px;
    column-gap: 14px;
}
#view-orders .order-list-head {
    border-bottom-color: #2c363e;
    background: #0e1316;
    color: #fff;
    font-size: 11px;
}
#view-orders .order-list-row {
    border-bottom-color: #2c363e;
    background: #080b0d;
    color: #fff;
}
#view-orders .order-list-row:hover { background: #10171c; }
#view-orders .view-heading > div:first-child > p:last-child { display: none; }
#view-orders .order-list-head > :nth-child(7),
#view-orders .order-list-row > :nth-child(7) { display: none; }
#view-orders .order-list-head > :nth-child(8) { font-size: 0; }
#view-orders .order-list-head > :nth-child(8)::after {
    content: 'ESTADO';
    font-size: 11px;
}
#view-orders .order-detail-meta > :nth-child(3),
#view-orders .order-payment-detail { display: none; }
#view-orders .order-list-number strong { color: #1bd8f2; }
#view-orders .order-list-number,
#view-orders .order-list-row > :nth-child(4) { cursor: pointer; }
#view-orders .order-list-row:hover .order-list-number strong,
#view-orders .order-list-row:hover > :nth-child(4) strong { text-decoration: none; }
#view-orders .order-list-row small { color: #fff; }
#view-orders .order-list-date { display: grid; color: #fff; line-height: 1.35; }
#view-orders .order-list-date small { margin-top: 3px; color: #a9b3bb; font-size: 10px; font-weight: 500; }
#view-orders .order-list-total { color: #fff; text-align: left; }
#view-orders .order-list-units { color: #1bd8f2; font-weight: 700; }
#view-orders .order-list-chevron { color: #fff; }
#view-orders .order-list-print {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid #3e4b54;
    border-radius: 6px;
    background: transparent;
    color: #fff;
    font-size: 18px;
    line-height: 1;
}
#view-orders .order-list-print:hover { background: #1e2a33; }
#view-orders .status-pill { border: 1px solid #bc7300; background: #3a2605; color: #fff; }
#view-orders .status-ready_pickup,
#view-orders .status-delivered { border-color: #00b56c; background: #063d2c; }
#view-orders .status-archived { border-color: #74808a; background: #27313a; }

#view-orders .order-bulk-toolbar {
    border-color: #2c363e;
    background: #11181e;
    color: #fff;
}

@media (max-width: 1180px) {
    #view-orders::before { inset-left: 216px; }
    #view-orders .order-overview { margin-left: 0; }
    #view-orders .order-toolbar { margin-top: 0; }
    #view-orders .order-list-head,
    #view-orders .order-list-row { min-width: 900px; }
    #view-orders .order-list { overflow-x: auto; }
}

@media (max-width: 760px) {
    #view-orders::before { inset-left: 0; }
    #view-orders .view-heading h1 { font-size: 31px; }
    #view-orders .order-page-actions { justify-content: flex-start; }
    #view-orders .order-filter-search { width: 100%; }
    #view-orders .order-toolbar { margin-top: 0; }
    #view-orders .order-list-head { display: none; }
    #view-orders .order-list { overflow: visible; border: 0; background: transparent; }
    #view-orders .order-list-row {
        display: grid;
        min-width: 0;
        grid-template-columns: 28px minmax(0, 1fr) auto;
        gap: 5px 10px;
        margin-bottom: 10px;
        padding: 12px;
        border: 1px solid #2c363e;
        border-radius: 10px;
    }
    #view-orders .order-list-row > :nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
    #view-orders .order-list-row > :nth-child(2) { grid-column: 2; grid-row: 1; }
    #view-orders .order-list-row > :nth-child(3) { grid-column: 3; grid-row: 1; text-align: right; }
    #view-orders .order-list-row > :nth-child(4) { display: block; grid-column: 2; grid-row: 2; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    #view-orders .order-list-row > :nth-child(5) { display: block; grid-column: 3; grid-row: 2; text-align: right; white-space: nowrap; }
    #view-orders .order-list-row > :nth-child(6) { grid-column: 2; grid-row: 3; justify-self: start; }
    #view-orders .order-list-row > :nth-child(8) { grid-column: 3; grid-row: 3; justify-self: end; }
    #view-orders .order-list-row > :nth-child(9) { grid-column: 2; grid-row: 4; justify-self: start; }
    #view-orders .order-list-row > :nth-child(10) { grid-column: 3; grid-row: 4; justify-self: end; }
}

.size-guide-editor {
    display: grid;
    gap: 18px;
    padding: 20px;
    border: 1px solid rgba(101, 121, 148, .26);
    border-radius: 15px;
    background: rgba(9, 14, 21, .76);
}

.size-guide-editor > label {
    display: grid;
    gap: 7px;
    color: #aeb8c6;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .06em;
}

.size-guide-editor textarea {
    width: 100%;
    resize: vertical;
}

.size-guide-editor-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
}

.size-guide-editor-head small {
    display: block;
    margin-top: 5px;
    color: var(--muted);
}

.size-guide-editor-rows {
    overflow: hidden;
    border: 1px solid rgba(101, 121, 148, .28);
    border-radius: 12px;
    background: rgba(5, 9, 14, .45);
}

.size-guide-table-wrap {
    overflow-x: auto;
}

.size-guide-edit-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.size-guide-edit-table th,
.size-guide-edit-table td {
    padding: 9px 8px;
    border-bottom: 1px solid rgba(101, 121, 148, .2);
    text-align: left;
    vertical-align: middle;
}

.size-guide-edit-table th {
    color: #aeb8c6;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .06em;
    background: rgba(28, 39, 56, .65);
}

.size-guide-edit-table tbody tr:last-child td {
    border-bottom: 0;
}

.size-guide-edit-table tbody tr:focus-within {
    background: rgba(51, 122, 255, .08);
}

.size-guide-edit-table input {
    width: 100%;
    min-width: 82px;
    border-color: transparent;
    background: transparent;
}

.size-guide-edit-table input:hover,
.size-guide-edit-table input:focus {
    border-color: #5376a6;
    background: #0b111a;
}

.size-guide-row-actions {
    display: flex;
    gap: 5px;
    white-space: nowrap;
}

.size-guide-row-actions .icon-button {
    width: 32px;
    height: 32px;
    padding: 0;
}

.size-guide-empty-cell {
    padding: 25px !important;
    color: var(--muted);
    text-align: center !important;
}

@media (max-width: 1050px) {
    .size-guide-table-wrap { margin: 0 -1px; }
}

@media (max-width: 560px) {
    .size-guide-editor {
        padding: 14px;
    }

    .size-guide-editor-head {
        align-items: stretch;
        flex-direction: column;
    }

}

/* Tema operativo claro: aplicado al final para prevalecer sobre la base oscura. */
.admin-body { background: #f6f7fb; color: #252a3a; }
.login-shell { background: radial-gradient(circle at 8% 10%, #e7e4ff 0, transparent 34%), #f6f7fb; }
.login-card { border-color: #e0e4ee; background: #fff; box-shadow: 0 20px 60px rgba(42, 50, 83, .12); }
.login-card > p, .login-card label { color: #687187; }
.login-card input { border-color: #dce1eb; background: #fff; color: #252a3a; }
.login-card input:focus { border-color: #7668e8; box-shadow: 0 0 0 3px rgba(118, 104, 232, .14); }
.admin-sidebar { border-right-color: #e4e7ef; background: #fff; box-shadow: 8px 0 28px rgba(35, 45, 75, .035); }
.admin-brand strong, .admin-user strong { color: #252a3a; }
.admin-brand small, .admin-user small { color: #7a8293; }
.admin-nav-button { border-radius: 10px; color: #596176; font-size: 14px; font-weight: 650; }
.admin-nav-button:hover, .admin-nav-button.active { background: #f0efff; color: #5b4fc7; }
.admin-main { background: #f6f7fb; }
.view-heading h1 { color: #242a3a; font-size: clamp(30px, 3.2vw, 42px); }
.view-heading p:last-child { color: #798195; }
.product-admin-card, .settings-card, .category-admin-row, .pos-product, .pos-cart, .order-card { border-color: #e2e6ef; border-radius: 14px; background: #fff; box-shadow: 0 3px 12px rgba(30, 40, 70, .025); }
.product-admin-head, .variant-admin-row { border-bottom-color: #edf0f5; }
.product-admin-title strong, .product-admin-price, .product-admin-variant-count { color: #252a3a; }
.product-admin-title small, .variant-admin-name small, .category-admin-row small { color: #7a8293; }
.admin-search input, .pos-cart input, .pos-cart select, .admin-modal-card input, .admin-modal-card textarea, .admin-modal-card select { border-color: #dce1eb; background: #fff; color: #252a3a; box-shadow: inset 0 1px 1px rgba(25, 35, 55, .02); }
.admin-search input:focus, .pos-cart input:focus, .pos-cart select:focus, .admin-modal-card input:focus, .admin-modal-card textarea:focus, .admin-modal-card select:focus { border-color: #7668e8; box-shadow: 0 0 0 3px rgba(118, 104, 232, .14); }
.small-button { border-color: #d9deea; background: #fff; color: #4d566b; }
.small-button:hover { border-color: #8c82e8; color: #5b4fc7; }

/* Escala y composición del administrador. */
.admin-body {
    min-width: 320px;
    font-size: 14px;
    line-height: 1.45;
    letter-spacing: -.006em;
}

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

.admin-sidebar {
    padding: 28px 18px 18px;
}

/* Lateral más compacto y neutro para priorizar el área de trabajo. */
.admin-shell { grid-template-columns: 210px minmax(0, 1fr); }
.admin-sidebar { padding: 24px 12px 16px; background: #f1f3f5; border-right-color: #dde1e6; box-shadow: none; }
.admin-brand { padding: 0 5px; }
.admin-brand strong { font-size: 12px; }
.admin-nav { margin-top: 26px; }
.admin-nav-button { min-height: 38px; padding: 9px 10px; font-size: 13px; }
.admin-user { padding: 14px 5px 2px; }

.admin-brand {
    gap: 10px;
    padding: 0 8px;
}

.admin-brand strong {
    font-size: 14px;
    font-weight: 780;
    letter-spacing: -.02em;
}

.admin-brand small {
    margin-top: 2px;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .085em;
}

.admin-nav { gap: 4px; margin-top: 34px; }

.admin-nav-button {
    min-height: 42px;
    padding: 11px 13px;
    text-align: left;
    transition: background .16s ease, color .16s ease, transform .16s ease;
}

.admin-nav-button:hover { transform: translateX(2px); }

.admin-user {
    gap: 3px;
    padding: 16px 8px 2px;
    font-size: 13px;
}

.admin-main {
    max-width: 1620px;
    margin: 0 auto;
    padding: 36px clamp(24px, 4vw, 64px) 82px;
}

.view-heading {
    align-items: center;
    margin-bottom: 28px;
}

.view-heading h1 {
    font-size: clamp(28px, 2.8vw, 40px);
    font-weight: 760;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.view-heading .eyebrow,
.eyebrow {
    color: #786de0;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
}

.view-heading p:last-child {
    max-width: 680px;
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.55;
}

.admin-search,
.order-filter-search { margin-bottom: 18px; }

.admin-search input,
.order-filter-search input {
    min-height: 44px;
    padding: 11px 14px;
    border-radius: 10px;
    font-size: 14px;
}

.product-admin-card,
.order-card,
.settings-card,
.category-admin-row,
.user-card,
.size-guide-editor,
.cash-card {
    box-shadow: 0 5px 20px rgba(30, 40, 70, .035);
}

.product-admin-card { margin-bottom: 10px; }

.product-admin-head {
    grid-template-columns: 56px minmax(260px, 1fr) minmax(110px, .32fr) minmax(150px, .5fr) auto;
    gap: 16px;
    min-height: 84px;
    padding: 14px 16px;
}

.product-admin-image,
.product-admin-placeholder { width: 56px; height: 56px; border-radius: 10px; }

.product-admin-title strong {
    font-size: 14px;
    font-weight: 740;
    letter-spacing: -.014em;
}

.product-admin-title small,
.product-admin-variant-count,
.product-admin-price {
    margin-top: 3px;
    font-size: 12px;
}

.product-admin-actions { gap: 6px; }

/* Tabla operativa del catálogo, consistente con la lista de ventas. */
.product-bulk-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 10px;
    padding: 11px 14px;
    border: 1px solid #e2e6ef;
    border-radius: 12px;
    background: #fff;
    color: #667085;
    font-size: 13px;
}
.product-bulk-toolbar select { min-width: 190px; }
.product-actions-bar {
    display: flex;
    align-items: end;
    justify-content: flex-start;
    gap: 18px;
    margin: 0 0 16px;
    padding: 11px 14px;
    border: 1px solid #e2e6ef;
    border-radius: 12px;
    background: #fff;
}
.product-actions-bar[hidden] { display: none; }
.product-bulk-actions-control {
    display: grid;
    gap: 5px;
    width: min(100%, 285px);
}
.product-bulk-actions-control span {
    color: #667085;
    font-size: 10px;
    font-weight: 800;
}
.product-bulk-actions-control select {
    min-height: 40px;
    border: 1px solid #dce1eb;
    border-radius: 7px;
    background: #fff;
    color: #252a3a;
}
.settings-span-two { grid-column: 1 / -1; }
.design-branding { display:grid; gap:12px; padding:18px; border:1px solid #e4e2f4; border-radius:10px; background:linear-gradient(135deg,#fbfaff,#f6f5ff); }
.design-branding > div:first-child { display:grid; gap:5px; }
.design-branding strong { color:#39306f; font-size:12px; letter-spacing:.06em; }
.design-branding small { color:#697386; font-size:12px; letter-spacing:0; }
.design-branding label { display:grid; gap:7px; color:#41485a; font-size:11px; font-weight:750; letter-spacing:.045em; }
.design-logo-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.design-logo-actions .secondary-button { min-height:auto; padding:8px 11px; font-size:11px; }
.design-logo-actions span { color:#697386; font-size:12px; }
#design-logo-preview { display:block; width:min(100%,320px); max-height:116px; object-fit:contain; object-position:left center; padding:10px; border:1px solid #ddd9f0; border-radius:8px; background:#fff; }
.admin-greeting { display:block; margin-bottom:7px; color:#5546d9; font-size:13px; font-weight:700; }
.admin-store-link { display:block; width:max-content; margin-top:12px; text-decoration:none; }
.design-published-images { display:grid; gap:7px; margin-top:22px; padding-top:18px; border-top:1px solid #edf0f4; color:#41485a; font-size:11px; letter-spacing:.04em; }
.design-published-images > small { color:#697386; font-size:12px; letter-spacing:0; }
.design-image-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:5px; }
.design-image-grid label { display:grid; gap:8px; font-size:11px; font-weight:750; }
.design-image-grid img { width:100%; aspect-ratio:1.45; object-fit:cover; border:1px solid #dfe3ea; border-radius:8px; background:#f6f7f9; }
@media (max-width:700px) { .design-image-grid { grid-template-columns:1fr; } .design-image-grid img { max-height:180px; } .design-logo-actions { align-items:stretch; } }
.filter-modal-title { display:flex; align-items:center; gap:10px; }
.filter-modal-title svg { width:23px; height:23px; stroke:#5546d9; stroke-width:1.8; stroke-linecap:round; fill:none; }
.compact-filter-card { display:grid; gap:15px; padding:0; border:0; box-shadow:none; background:transparent; }
.compact-filter-card label { display:grid; gap:7px; color:#41485a; font-size:11px; font-weight:750; letter-spacing:.045em; }
.compact-filter-card select { min-height:42px; border:1px solid #dfe3ea; border-radius:7px; background:#fff; color:#202536; padding:0 11px; font-size:14px; }
.filter-button-group { display:grid; gap:8px; margin:0; padding:0; border:0; }
.filter-button-group legend { color:#41485a; font-size:11px; font-weight:750; letter-spacing:.045em; }
.filter-button-group > div { display:flex; gap:8px; flex-wrap:wrap; }
.filter-button-group button { min-height:39px; padding:7px 13px; border:1px solid #dfe3ea; border-radius:7px; color:#596176; background:#fff; cursor:pointer; font:inherit; font-size:13px; }
.filter-button-group button.is-selected { border-color:#5546d9; background:#eeecff; color:#3d31ad; font-weight:700; }
.filter-modal-actions { display:flex; justify-content:flex-end; align-items:center; gap:10px; margin-top:8px; padding-top:16px; border-top:1px solid #edf0f4; }
.filter-modal-actions button { min-width:142px; }
#product-filters-form .filter-clear-button,#price-adjustment-form .filter-clear-button { min-width:auto; padding:4px !important; color:#7a8293 !important; font-size:12px !important; font-weight:650; }
#product-filters-form .filter-apply-button,#price-adjustment-form .filter-apply-button { min-height:46px !important; padding:0 18px !important; border:1px solid #1769e0 !important; border-radius:10px !important; background:#1769e0 !important; box-shadow:none !important; color:#fff !important; font-size:13px !important; font-weight:700; }
#product-filters-form .filter-apply-button:hover,#price-adjustment-form .filter-apply-button:hover { border-color:#1459bd !important; background:#1459bd !important; }
.price-adjustment-form { grid-template-columns:1fr 1fr; }
.price-adjustment-preview,.price-adjustment-form .filter-modal-actions { grid-column:1 / -1; }
.price-adjustment-preview { display:grid; gap:9px; padding-top:3px; }
.price-adjustment-preview > strong { color:#41485a; font-size:11px; font-weight:750; letter-spacing:.045em; }
.price-adjustment-preview > div { display:grid; gap:6px; max-height:250px; overflow:auto; }
.price-adjustment-preview > div > div { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:8px 10px; border:1px solid #e4e7ee; border-radius:7px; color:#4c5568; font-size:13px; }
.price-adjustment-preview span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.price-adjustment-preview strong { color:#303747; white-space:nowrap; }
.price-adjustment-preview i { margin:0 4px; color:#7a8293; font-style:normal; }
@media (max-width:560px) { .price-adjustment-form { grid-template-columns:1fr; } }
@media (max-width:560px) { .filter-modal-actions { flex-direction:column-reverse; align-items:stretch; } .filter-modal-actions button { width:100%; } }
.product-select-all { display: inline-flex; align-items: center; gap: 7px; color: #40485b; font-weight: 700; white-space: nowrap; cursor: pointer; }
.product-active-filters { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin:-2px 0 10px; color:#7a8293; font-size:11px; font-weight:750; letter-spacing:.035em; }
.product-active-filters button { display:inline-flex; align-items:center; gap:6px; padding:4px 7px !important; border:1px solid #d8dcea !important; border-radius:999px !important; background:#f7f8fb !important; color:#4e5c70 !important; font:inherit; letter-spacing:0; }
.product-active-filters button b { color:#7a8293; font-size:15px; font-weight:500; line-height:.8; }
.product-select-all input { width: 18px; height: 18px; margin: 0; accent-color: #5b4fc7; cursor: pointer; }
.product-selection-count { min-width: 150px; color: #667085; font-weight: 650; white-space: nowrap; }
.product-list-table { overflow: auto; border: 1px solid #e2e6ef; border-radius: 14px; background: #fff; }
.product-list-head, .product-list-row, .product-variant-inline-row {
    display: grid;
    grid-template-columns: 36px minmax(260px, 2fr) 86px 76px 96px minmax(120px, auto);
    align-items: center;
    column-gap: 14px;
    min-width: 780px;
}
.product-list-head { min-height: 48px; padding: 0 14px; border-bottom: 1px solid #e2e6ef; color: #667085; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.product-list-row { min-height: 78px; padding: 10px 14px; border-bottom: 1px solid #edf0f5; color: #303747; font-size: 13px; }
.product-list-row:last-child { border-bottom: 0; }
.product-list-row.is-hidden { background: #f8f4fc; opacity: .82; }
.product-variant-inline-row { min-height: 58px; padding: 8px 14px 8px 14px; border-bottom: 1px solid #edf0f5; background: #fbfcfe; }
.product-variant-inline-row.is-hidden { background: #fafafd; opacity: .68; }
.product-inline-variant-name { display: grid; gap: 3px; padding-left: 57px; color: #40485b; }
.product-inline-variant-name strong { font-size: 12px; }
.product-inline-variant-name small { color: #7a8293; font-size: 10px; }
.product-inline-field { display: block; }
.product-inline-field input { width: 100%; min-height: 34px; margin: 0; padding: 5px 7px; border: 1px solid #dce1eb; border-radius: 7px; background: #fff; color: #303747; font: inherit; font-size: 13px; font-weight: 700; letter-spacing: normal; }
.product-inline-field:has(input[data-quick-stock]) { width:76px; }
.product-inline-field:has(input[data-quick-price]) { width:96px; }
.product-inline-field.is-saved { position:relative; }
.product-inline-field.is-saved::after { position:absolute; top:7px; right:-18px; color:#1b9a4b; content:'✓'; font-size:17px; font-weight:850; line-height:1; }
.product-inline-availability { display: grid; gap: 2px; color: #68439f; font-size: 12px; font-weight: 750; white-space: nowrap; }
.product-inline-availability.is-empty { color: #bd3a3a; }
.product-inline-availability small { color: #8a6e2b; font-size: 10px; font-weight: 650; }
.product-list-row input[type="checkbox"], .product-list-head input[type="checkbox"] { width: 18px; height: 18px; accent-color: #5b4fc7; cursor: pointer; }
.product-table-name { display: flex; align-items: center; min-width: 0; gap: 11px; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.product-table-name .product-admin-image, .product-table-name .product-admin-placeholder { flex: 0 0 46px; width: 46px; height: 46px; }
.product-table-name .product-admin-image { position: relative; z-index: 1; cursor: pointer; }
.product-table-name:hover .product-admin-image { transform:none; box-shadow:none; }
.product-table-name span { min-width: 0; }
.product-table-name strong { display: block; overflow: hidden; color: #303747; font-size: 13px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.product-table-name small { display: block; margin-top: 3px; color: #7a8293; font-size: 11px; }
.product-table-link { border: 0; background: transparent; color: #5b4fc7; font: inherit; font-weight: 720; cursor: pointer; text-align: left; }
.product-table-category { overflow: hidden; color: #667085; text-overflow: ellipsis; white-space: nowrap; }
.product-table-stock { color: #68439f; white-space: nowrap; }
.product-table-stock.is-empty { color: #bd3a3a; }
.product-visibility { display:flex; align-items:center; justify-self:start; gap:6px; }
.product-visibility > i { display:block; width:12px; height:12px; border-radius:50%; box-shadow:0 0 0 3px rgba(0,0,0,.04); }
.product-visibility.is-visible > i { background:#24a148; }
.product-visibility.is-hidden > i { background:#d13b3b; }
.featured-product-label { display:block; margin-top:4px; color:#7e4c15; font-size:10px; font-weight:800; }
.featured-products-form { display:grid; gap:18px; }
.featured-products-options { display:grid; gap:7px; max-height:min(54vh,520px); overflow:auto; padding-right:4px; }
.featured-products-options label { display:grid; grid-template-columns:24px 44px 1fr; align-items:center; gap:10px; min-height:62px; padding:8px 10px; border:1px solid #e4e0ef; border-radius:9px; color:#303747; cursor:pointer; }
.featured-products-options label:has(input:checked) { border-color:#bda4dc; background:#f7f2fc; }
.featured-products-options input { width:18px; height:18px; accent-color:#7652b8; }
.featured-products-options .product-admin-image,.featured-products-options .product-admin-placeholder { width:42px; height:42px; border-radius:7px; object-fit:cover; }
.featured-products-options strong { font-size:13px; line-height:1.3; }
.product-table-actions { display: flex; gap: 6px; justify-content: flex-end; }
.product-delete-button { color: #bd3a3a !important; }
.product-delete-button:hover { border-color: #e2a0a0 !important; background: #fff4f4 !important; color: #a42a2a !important; }
.demo-reset-card { margin-top: 18px; border-color: #edcaca !important; background: #fffafa !important; }
.demo-reset-card h2 { margin: 3px 0 7px; color: #8e3030; }
.demo-reset-card p:last-of-type { max-width: 620px; color: #6d6670; }
.product-form-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; padding-top: 16px; border-top: 1px solid #e2e6ef; }
.product-form-actions button { padding: 0; border: 0; background: transparent; color: #5b4fc7; font: inherit; font-weight: 720; cursor: pointer; }
.product-form-actions .danger-button { color: #bd3a3a; }

.variant-admin-row {
    grid-template-columns: minmax(200px, 1fr) 150px 136px 124px;
    padding: 13px 16px;
}

.order-toolbar,
.order-bulk-toolbar {
    gap: 10px;
    padding: 12px;
    border: 1px solid #e2e6ef;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(30, 40, 70, .025);
}

.order-list-head,
.order-list-row {
    grid-template-columns: 38px minmax(105px, .45fr) minmax(190px, 1.3fr) minmax(120px, .7fr) minmax(125px, .7fr) minmax(110px, .55fr) 28px;
    column-gap: 13px;
}

.order-list-head {
    padding: 11px 16px;
    color: #7a8293;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .075em;
}

.order-list-row {
    min-height: 70px;
    padding: 12px 16px;
    border-color: #edf0f5;
    font-size: 13px;
}

.order-list-row:hover { background: #fafaff; }

.status-pill {
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .03em;
}

.settings-grid { gap: 16px; }
.settings-card { padding: 22px; }
.settings-card h2,
.size-guide-editor h2 { font-size: 17px; letter-spacing: -.02em; }

.admin-main label {
    color: #667087;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .055em;
}

.admin-main input,
.admin-main select,
.admin-main textarea {
    min-height: 42px;
    margin-top: 5px;
    border-radius: 9px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: normal;
}

.admin-main textarea { min-height: 100px; line-height: 1.5; }

.admin-body .primary-button {
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 10px;
    background: #635bdb;
    box-shadow: 0 5px 12px rgba(99, 91, 219, .18);
    font-size: 12px;
    font-weight: 780;
    letter-spacing: .015em;
}

.admin-body .primary-button:hover { background: #554cc7; }
.admin-body .secondary-button { border-color: #d9deea; color: #596176; }

.admin-modal-card {
    width: min(760px, calc(100vw - 32px));
    max-height: min(850px, calc(100vh - 32px));
    border-color: #e2e6ef;
    border-radius: 16px;
    background: #fff;
    color: #252a3a;
    box-shadow: 0 24px 80px rgba(29, 37, 62, .24);
}

.admin-modal-card h2 { font-size: 23px; letter-spacing: -.035em; }

@media (max-width: 1050px) {
    .admin-shell { grid-template-columns: 190px minmax(0, 1fr); }
    .admin-main { padding: 28px 24px 64px; }
    .product-admin-head { grid-template-columns: 56px minmax(200px, 1fr) auto; }
    .product-admin-variant-count, .product-admin-price { display: none; }
    .order-list-head, .order-list-row { grid-template-columns: 36px minmax(150px, 1fr) minmax(100px, .5fr) 26px; }
    .order-list-head > :nth-child(4), .order-list-head > :nth-child(5), .order-list-head > :nth-child(6), .order-list-row > :nth-child(4), .order-list-row > :nth-child(5), .order-list-row > :nth-child(6) { display: none; }
}

@media (max-width: 680px) {
    .product-bulk-toolbar { align-items: stretch; flex-direction: column; }
    .product-toolbar-menus { justify-content:space-between; margin-left:0; }
    .product-bulk-toolbar select { width: 100%; }
}

@media (max-width: 760px) {
    .admin-main { padding: 20px 16px 54px; }
    .view-heading { align-items: flex-start; flex-direction: column; gap: 14px; margin-bottom: 20px; }
    .view-heading h1 { font-size: 29px; }
    .product-admin-head { grid-template-columns: 48px minmax(0, 1fr); gap: 11px; padding: 12px; }
    .product-admin-image, .product-admin-placeholder { width: 48px; height: 48px; }
    .product-admin-actions { grid-column: 1 / -1; justify-content: flex-start; }
    .settings-card { padding: 16px; }
}

.email-diagnostics {
    display: grid;
    gap: 5px;
    margin: 14px 0 10px;
    padding: 12px 14px;
    border: 1px solid #cfe5d6;
    border-radius: 10px;
    background: #f4fbf6;
    color: #1d4d2d;
    font-size: 13px;
}

.email-diagnostics span,
.email-diagnostics small { color: #4b6654; }
.email-diagnostics.warning { border-color: #f1d3a5; background: #fff9ed; color: #875000; }
.email-diagnostics.warning span,
.email-diagnostics.warning small { color: #7c6340; }

#view-whatsapp .email-settings-section,
#view-whatsapp .settings-grid,
#view-whatsapp .email-diagnostics,
#view-whatsapp #refresh-mail-diagnostics { display: none; }
#view-whatsapp .checkbox-setting:has(input[name="mail_enabled"]),
#view-whatsapp .settings-grid,
#view-whatsapp .form-hint:has(code),
#view-contact label:has(input[name="sales_email"]) { display: none; }

/* Acciones del administrador: texto simple, sin cajas visuales. */
.admin-body button {
    min-height: auto !important;
    padding: 6px 4px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #315fa9 !important;
    cursor: pointer;
}
.admin-body button.primary-button { color: #1559c5 !important; }
.product-page-actions #new-product-button { min-height:46px !important; padding:0 18px !important; border:1px solid #1769e0 !important; border-radius:10px !important; background:#1769e0 !important; box-shadow:none !important; color:#fff !important; font-size:13px !important; font-weight:700; }
.product-page-actions #new-product-button:hover { border-color:#1459bd !important; background:#1459bd !important; }
.admin-body button.secondary-button,
.admin-body button.small-button { color: #4e5c70 !important; }
.admin-body button.danger-button,
.admin-body button[data-confirm-cancel-orders] { color: #bd3030 !important; }
.admin-body button:hover,
.admin-body button:focus-visible {
    background: transparent !important;
    text-decoration: none !important;
    filter: brightness(.78);
}
.admin-body button:disabled { cursor: not-allowed; opacity: .45; }

/* En la lista, Productos abre una vista breve del contenido de la venta. */
#view-orders button.order-list-units {
    color: #1bd8f2 !important;
    font: inherit;
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
}

/* La administraciÃ³n trabaja siempre sobre fondo claro. */
#view-orders { color: #252a3a; }
#view-orders::before { background: #f6f7fb; }
#view-orders .order-page-heading { border-bottom-color: #e2e6ef; }
#view-orders .view-heading h1 { color: #242a3a; }
#view-orders .order-toolbar,
#view-orders .order-actions-bar,
#view-orders .order-list,
#view-orders .order-list-head,
#view-orders .order-list-row,
#view-orders .order-bulk-toolbar { border-color: #e2e6ef; background: #fff; color: #252a3a; }
#view-orders .order-list-head { background: #fafbfc; color: #6b7484; }
#view-orders .order-list-row { border-bottom-color: #edf0f5; }
#view-orders .order-list-row:hover { background: #f7f8fc; }
#view-orders .order-filter-search input,
#view-orders .order-toolbar select,
#view-orders .order-bulk-toolbar select,
#view-orders .bulk-actions-control select { border-color: #dce1eb; background: #fff; color: #252a3a; }
#view-orders .order-toolbar span,
#view-orders .order-list-row small,
#view-orders .order-list-date,
#view-orders .order-list-date small,
#view-orders .order-list-total,
#view-orders .order-list-chevron { color: #596176; }
#view-orders .order-list-number strong,
#view-orders button.order-list-units { color: #315fa9 !important; }
#view-orders .order-list-print { border: 0; background: transparent; color: #315fa9; }
#view-orders .status-pill { color: #334155; background: #eef2f7; border-color: #d9e0e8; }
#view-orders .status-cancelled { color: #a12a2a; background: #fff0f0; border-color: #f2caca; }
#view-orders .status-archived { color: #596176; background: #eef1f4; border-color: #d9dfe6; }
.admin-main .size-guide-editor,
.admin-main .size-guide-table-wrap,
.admin-main .user-card,
.admin-main .cash-card,
.admin-main .settings-card,
.admin-main .category-admin-row { background: #fff !important; color: #252a3a !important; border-color: #e2e6ef !important; }
.admin-main .size-guide-edit-table th { background: #fafbfc; color: #596176; }
.admin-main .size-guide-edit-table td { border-bottom-color: #edf0f5; }
.admin-main .size-guide-edit-table input:hover,
.admin-main .size-guide-edit-table input:focus { background: #fff; border-color: #7668e8; }
/* Tipografía de sistema, clara y uniforme para lectura operativa. */
#view-orders .order-list-number strong,
#view-orders .order-list-total,
#view-orders button.order-list-customer {
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .015em;
}
#view-orders button.order-list-customer { color: #252a3a !important; text-align: left; }

.modal:has(.customer-history) .admin-modal-card { width: min(900px, calc(100vw - 32px)); }
.customer-history { color: #252a3a; }
.customer-history header { margin-bottom: 18px; }
.customer-history h2 { margin: 4px 0; }
.customer-history-table-wrap { overflow-x: auto; border: 1px solid #e2e6ef; border-radius: 10px; }
.customer-history-table { width: 100%; min-width: 650px; border-collapse: collapse; font-size: 13px; }
.customer-history-table th,
.customer-history-table td { padding: 12px 14px; border-bottom: 1px solid #edf0f5; text-align: left; }
.customer-history-table th { color: #6b7484; background: #fafbfc; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.customer-history-table tbody tr:last-child td { border-bottom: 0; }
.customer-history-link,
.customer-history-back {
    padding: 0;
    border: 0;
    background: transparent;
    color: #315fa9;
    font: inherit;
    font-weight: 780;
    text-decoration: none;
    cursor: pointer;
}
.customer-history-link:hover,
.customer-history-link:focus-visible,
.customer-history-back:hover,
.customer-history-back:focus-visible { color: #234a88; text-decoration: none; }
.customer-history-back { margin-top: 8px; }

#view-orders .order-list-delete {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #b83232;
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
}
#view-orders .order-list-delete:hover,
#view-orders .order-list-delete:focus-visible { background: #fff0f0; color: #982626; }

.pos-launch-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    max-width: 880px;
    padding: 28px;
    border: 1px solid #e2e6ef;
    border-radius: 16px;
    background: #fff;
}
.pos-launch-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 14px; background: #eef3ff; color: #315fa9; font-size: 30px; }
.pos-launch-card strong { display: block; color: #252a3a; font-size: 14px; }
.pos-launch-card p { max-width: 540px; margin: 5px 0 0; color: #667087; line-height: 1.55; }
.pos-launch-card .primary-button { text-decoration: none; white-space: nowrap; }

.pos-page-body { min-height: 100vh; background: #f6f7fb; }
.pos-sale-confirmation { position: fixed; z-index: 1000; left: 50%; top: 50%; display: flex; align-items: center; gap: 12px; width: min(340px, calc(100vw - 32px)); padding: 16px 18px; border: 1px solid #b8dcc2; border-radius: 14px; background: #fff; box-shadow: 0 12px 32px rgba(20, 66, 38, .16); color: #1e4a2c; opacity: 0; transform: translate(-50%, -46%) scale(.96); transition: opacity .2s ease, transform .2s ease; pointer-events: none; }
.pos-sale-confirmation.open { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.pos-sale-confirmation-check { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #188c4c; color: #fff; font-size: 23px; font-weight: 900; line-height: 1; }
.pos-sale-confirmation div { display: grid; gap: 3px; }
.pos-sale-confirmation strong { color: #176b39; font-size: 15px; letter-spacing: .02em; }
.pos-sale-confirmation span:not(.pos-sale-confirmation-check) { color: #435146; font-size: 12px; }
.pos-page { min-height: 100vh; }
.pos-page-intro { width: 100%; padding: 30px 30px 0; }
.pos-page-intro .pos-page-title { margin-bottom: 18px; }
.pos-page-intro .pos-search-wrap { width: 100%; max-width: none; margin: 0; }
.pos-add-products-link { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 14px; min-height: 82px; padding: 16px 18px; border: 1px solid #dce2ed; border-radius: 14px; background: #fff; color: #252a3a; text-decoration: none; box-shadow: 0 4px 18px rgba(30, 40, 70, .035); }
.pos-add-products-link:hover { border-color: #1769e0; box-shadow: 0 8px 24px rgba(30, 80, 160, .1); }
.pos-add-products-link span:nth-child(2) { display: grid; gap: 4px; }
.pos-add-products-link small { color: #667087; }
.pos-add-products-link > b { color: #1769e0; font-size: 30px; }
.pos-add-products-icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 10px; background: #1769e0; color: #fff; font-size: 26px; }
.pos-sale-details { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, auto); gap: 18px; align-items: end; margin-top: 18px; padding: 22px; border: 1px solid #dce2ed; border-radius: 14px; background: #fff; box-shadow: 0 4px 18px rgba(30, 40, 70, .035); }
.pos-klaus { display:flex; align-items:center; gap:8px; padding:0; border:0; background:transparent; color:#6b4a22; color-scheme:only light; cursor:pointer; forced-color-adjust:none; }
.pos-klaus-image { display:block; width:94px; height:78px; object-fit:contain; filter:drop-shadow(0 4px 3px rgba(105,68,28,.14)); }
.admin-klaus { position:fixed; z-index:50; right:14px; bottom:14px; width:76px; height:76px; padding:0; border:0; background:transparent; cursor:pointer; }.admin-klaus-image { width:100%; height:100%; object-fit:contain; transform:scaleX(-1); }.admin-klaus.is-petted .admin-klaus-image { animation:admin-klaus-pet .52s ease-in-out 2; }
.pos-klaus-label { font-size:11px; font-weight:800; letter-spacing:.12em; }
.pos-klaus.is-petted .pos-klaus-image { animation:pos-klaus-pet .52s ease-in-out 2; }.pos-klaus.is-petted::after { align-self:flex-start; padding:3px 7px; border-radius:999px; background:#fff0f6; color:#a51a71; content:'♥ ♥ ♥'; font-size:10px; font-weight:900; }
@keyframes pos-klaus-pet { 30% { transform:translateY(-15px) rotate(-7deg) scale(1.13); } 58% { transform:translateY(3px) rotate(5deg) scale(.95); } }
@keyframes admin-klaus-pet { 30% { transform:scaleX(-1) translateY(-15px) rotate(-7deg) scale(1.13); } 58% { transform:scaleX(-1) translateY(3px) rotate(5deg) scale(.95); } }
@media (prefers-reduced-motion: reduce) { .pos-klaus * { animation:none !important; } }
.pos-customer-checkout input { font-size: 16px; }
.pos-customer-checkout { display: grid; gap: 12px; margin-top: auto; padding-top: 18px; }
.pos-customer-checkout input { background: #fff; color: #111827; }
#complete-sale-button { min-height: 46px; border: 1px solid #1769e0; border-radius: 10px; background: #1769e0 !important; box-shadow: none; color: #fff !important; font-size: 13px; font-weight: 700; }
#complete-sale-button:hover:not(:disabled) { border-color: #1459bd; background: #1459bd !important; }
#complete-sale-button:disabled { border-color: #dce2ed; background: #dce2ed !important; color: #8997aa !important; }
.pos-main-total { display: grid; min-width: 220px; justify-items: end; gap: 7px; padding-left: 22px; border-left: 1px solid #e4e8f0; color: #7a8294; font-size: 10px; font-weight: 850; letter-spacing: .14em; }
.pos-main-total strong { color: #252a3a; font-size: clamp(32px, 3.4vw, 48px); font-weight: 750; font-variant-numeric: tabular-nums; line-height: 1; letter-spacing: -.04em; }
.pos-cart-heading { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.pos-cart-heading h2 { margin-bottom: 12px; }
.pos-clear-cart { padding: 7px 9px; border: 0; background: transparent; color: #d54b4b; font-size: 10px; font-weight: 850; letter-spacing: .04em; cursor: pointer; }
.pos-clear-cart:hover { text-decoration: underline; }
.pos-clear-cart:disabled { color: #a7adba; cursor: default; text-decoration: none; }
.pos-remove-cart-line { display: grid; width: 34px; height: 34px; place-items: center; padding: 0; border: 1px solid #e7d7d7; border-radius: 8px; background: #fff; color: #c64242; cursor: pointer; font-size: 15px; }
.pos-remove-cart-line:hover { border-color: #d85a5a; background: #fff4f4; }
.pos-checkout-menu { display: grid; gap: 18px; }
.pos-checkout-menu h2 { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin: 0; color: #667087; font-size: 14px; letter-spacing: .08em; }
.pos-checkout-menu h2 strong { color: #252a3a; font-size: clamp(30px, 6vw, 48px); font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.pos-checkout-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pos-checkout-actions button { display: grid; min-height: 84px; align-content: center; gap: 5px; padding: 16px; border: 1px solid #dce2ed; border-radius: 12px; background: #fff; color: #252a3a; cursor: pointer; text-align: left; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.pos-checkout-actions button:hover { transform: translateY(-1px); border-color: #1769e0; background: #f6f9ff; }
.pos-checkout-actions button:disabled { opacity: .55; cursor: wait; transform: none; }
.pos-checkout-actions button strong { font-size: 13px; }
.pos-checkout-actions button small { color: #667087; font-size: 11px; line-height: 1.35; }
.pos-checkout-actions button[data-pos-checkout-action="cancel"], .pos-checkout-actions button[data-pos-sale-finish="cancel"] { border-color: #ecd7d7; color: #b63e3e; }
@media (max-width: 560px) { .pos-checkout-actions { grid-template-columns: 1fr; } }
.pos-search-close { justify-self: end; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: #252a3a; font-size: 32px; line-height: 1; text-decoration: none; }
.pos-search-close:hover { background: #eef1f7; }
.pos-search-results { width: 100%; padding: 24px 30px 40px; }
.pos-search-page .pos-products { width: 100%; }
.pos-search-page .pos-product { width: 100%; border-radius: 0; border-width: 0 0 1px; box-shadow: none; }
.pos-search-page .pos-products > .pos-product:nth-child(odd) { background: #fff; }
.pos-search-page .pos-products > .pos-product:nth-child(even) { background: #dce7f3; }
.pos-search-page .pos-products > .pos-product:hover { background: #c9dbef; }
.pos-search-page .pos-products .pos-result-product,
.pos-page .pos-products .pos-result-product { grid-template-columns: 62px minmax(280px, 2fr) minmax(150px, 1fr) minmax(160px, auto) 112px !important; align-items: center; min-height: 70px; padding: 7px 14px; gap: 12px; }
.pos-search-page .pos-product img, .pos-search-page .pos-product-placeholder { width: 54px; height: 54px; transition: transform .18s ease, box-shadow .18s ease; position: relative; z-index: 1; }
.pos-search-page .pos-product img:hover { transform: scale(2.35); box-shadow: 0 12px 34px rgba(0,0,0,.35); z-index: 8; }
.pos-result-name { overflow: hidden; font-weight: 400; text-transform: uppercase; text-overflow: ellipsis; white-space: nowrap; }
.pos-result-name-toggle { padding: 0; border: 0; background: transparent; color: #252a3a; cursor: pointer; font: inherit; font-weight: 400; text-align: left; }
.pos-result-meta { overflow: hidden; color: #667087; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.pos-result-meta-toggle { padding: 0; border: 0; background: transparent; cursor: pointer; font: inherit; text-align: left; }
.pos-result-action { display: flex; width: 40px; height: 40px; align-items: center; justify-content: center; margin: 0; padding: 0 0 3px; border: 1px solid #1769e0; border-radius: 9px; background: transparent; color: #1769e0; font-family: Arial, sans-serif; font-size: 31px; font-weight: 700; line-height: 1; }
.pos-result-action > span { display: block; font-family: Arial, sans-serif; font-size: 31px; line-height: 1; transform: translateY(-2px); }
.pos-result-action { justify-self: end; }
.pos-result-action.pos-add-one > span { font-size: 27px; }
.pos-result-action:hover { background: #1769e0; color: #fff; }
.pos-result-action:disabled { opacity: .35; }
.pos-result-action.pos-open-product-button > span { font-size: 32px; font-weight: 500; transform: translateY(-3px); }
.pos-inline-quantity { display: grid; grid-template-columns: 34px 54px 34px; align-items: center; justify-self: end; gap: 3px; }
.pos-inline-quantity button { display: grid; width: 34px; height: 34px; place-items: center; padding: 0 0 2px; border: 1px solid #1769e0; border-radius: 8px; background: transparent; color: #1769e0; font-family: Arial, sans-serif; font-size: 23px; line-height: 1; cursor: pointer; }
.pos-inline-quantity button:hover { background: #1769e0; color: #fff; }
.pos-inline-quantity button:disabled { opacity: .35; cursor: default; }
.pos-inline-quantity input { width: 54px; height: 34px; padding: 0 3px; border: 1px solid #c9d3e0; border-radius: 8px; background: #fff; color: #252a3a; font: inherit; font-size: 16px; font-weight: 400; font-variant-numeric: tabular-nums; text-align: center; appearance: textfield; -moz-appearance: textfield; }
.pos-inline-quantity input::-webkit-inner-spin-button, .pos-inline-quantity input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.pos-page .quantity-control button, .pos-search-page .quantity-control button { display: grid; place-items: center; padding: 0 0 3px; font-family: Arial, sans-serif; font-size: 22px; line-height: 1; }
.pos-result-variants { grid-column: 2 / -1; }
.pos-search-page .pos-variant-row,
.pos-page .pos-variant-row { grid-template-columns: minmax(280px, 2fr) minmax(150px, 1fr) minmax(170px, 1fr) minmax(170px, 1fr) 40px 54px 48px; padding: 11px 12px; transition: background-color .15s ease; }
.pos-search-page .pos-variant-name,
.pos-page .pos-variant-name { grid-column: 2; }
.pos-search-page .pos-variant-meta,
.pos-page .pos-variant-meta { display: contents; }
.pos-search-page .pos-variant-stock,
.pos-page .pos-variant-stock { grid-column: 3; justify-self: center; }
.pos-search-page .pos-variant-price,
.pos-page .pos-variant-price { grid-column: 4; }
.pos-search-page .pos-variant-remove,
.pos-page .pos-variant-remove,
.pos-search-page .pos-variant-remove-placeholder,
.pos-page .pos-variant-remove-placeholder { grid-column: 5; }
.pos-search-page .pos-variant-quantity,
.pos-page .pos-variant-quantity,
.pos-search-page .pos-variant-quantity-placeholder,
.pos-page .pos-variant-quantity-placeholder { grid-column: 6; }
.pos-search-page .pos-variant-add,
.pos-page .pos-variant-add { grid-column: 7; }
.pos-search-page .pos-result-variants .pos-variant-row:nth-child(even),
.pos-page .pos-result-variants .pos-variant-row:nth-child(even) { background: #d1e0f0; }
.pos-search-page .pos-result-variants .pos-variant-row:nth-child(odd),
.pos-page .pos-result-variants .pos-variant-row:nth-child(odd) { background: #f5f9fd; }
.pos-search-page .pos-result-variants .pos-variant-row:hover,
.pos-page .pos-result-variants .pos-variant-row:hover { background: #bcd3eb; }
.pos-search-page .pos-variant-name strong,
.pos-page .pos-variant-name strong { font-size: 16px; font-weight: 400; line-height: 1.25; }
.pos-search-page .pos-variant-stock,
.pos-page .pos-variant-stock,
.pos-search-page .pos-variant-price,
.pos-page .pos-variant-price { font-weight: 400; }
.pos-product-price { color: #252a3a; font-size: 15px; font-weight: 400; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pos-page-header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 70px; padding: 0 30px; border-bottom: 1px solid #e2e6ef; background: #fff; }
.pos-back-link { color: #596176; font-size: 13px; font-weight: 700; text-decoration: none; }
.pos-page-brand { display: grid; justify-items: center; gap: 2px; color: #252a3a; }
.pos-page-brand strong { font-size: 14px; letter-spacing: .03em; }
.pos-page-brand span { color: #667087; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.pos-live-status { justify-self: end; color: #68439f; font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.pos-live-status i { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: #8d5bc0; }
.pos-page-workspace { display: grid; grid-template-columns: minmax(380px, .75fr) minmax(520px, 1.25fr); gap: 24px; width: 100%; max-width: none; margin: 0; padding: 24px 30px 30px; }
.pos-page-title { margin-bottom: 18px; }
.pos-page-title h1 { margin: 3px 0 0; color: #252a3a; font-size: 30px; letter-spacing: -.04em; }
.pos-page .pos-search-wrap { margin-bottom: 18px; }
.pos-page .pos-search-wrap input { min-height: 54px; font-size: 16px; font-weight: 400; }
.pos-page-cart { position: sticky; top: 20px; align-self: start; min-height: 440px; }
.pos-page-cart .cart-lines { gap: 8px; }
.pos-page-cart .pos-cart-detail-row { display: grid; grid-template-columns: minmax(220px, 1fr) auto minmax(105px, auto) minmax(100px, auto) 34px; align-items: center; gap: 16px; padding: 13px 0; background: transparent !important; border-width: 0 0 1px !important; border-radius: 0; box-shadow: none !important; }
.pos-cart-product { min-width: 0; }
.pos-cart-product strong { display: block; overflow: hidden; color: #252a3a; font-size: 15px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.pos-cart-product small { display: block; overflow: hidden; margin-top: 3px; color: #667087; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.pos-cart-subtotal { color: #252a3a; font-size: 15px; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.pos-cart-available { color: #46536b; font-size: 13px; font-variant-numeric: tabular-nums; text-align: center; white-space: nowrap; }
.pos-page .pos-product,
.pos-page .pos-cart { border-color: #e2e6ef; background: #fff; box-shadow: 0 4px 18px rgba(30, 40, 70, .035); }
.pos-page .pos-product { color: #252a3a; }
.pos-page .pos-product.availability-changed,
.pos-page .pos-variant-row.availability-changed,
.pos-search-page .pos-product.availability-changed,
.pos-search-page .pos-variant-row.availability-changed {
    background: #fff7dc !important;
    box-shadow: inset 4px 0 0 #d79a25, 0 0 0 2px rgba(215,154,37,.16);
    animation: pos-availability-pulse 1.4s ease-in-out 3;
}
.pos-page .pos-product.stock-conflict,
.pos-page .pos-variant-row.stock-conflict,
.pos-page .pos-cart-detail-row.stock-conflict,
.pos-search-page .pos-product.stock-conflict,
.pos-search-page .pos-variant-row.stock-conflict {
    background: #fff0f0 !important;
    border-color: #d74444 !important;
    box-shadow: inset 4px 0 0 #d74444, 0 0 0 2px rgba(215,68,68,.15) !important;
}
.stock-conflict .pos-result-name,
.stock-conflict .pos-variant-name strong,
.stock-conflict .pos-cart-product strong { color: #b62d2d !important; }
@keyframes pos-availability-pulse { 50% { box-shadow: inset 4px 0 0 #d79a25, 0 0 0 5px rgba(215,154,37,.10); } }
.pos-page .pos-variant-row { border-color: #edf0f5; }
.pos-page .pos-variant-row small,
.pos-page .pos-product-head small { color: #667087; }
.pos-page .pos-cart h2,
.pos-page .order-total { color: #252a3a; }
@media (max-width: 980px) {
    .pos-page-header { grid-template-columns: 1fr auto; padding: 0 16px; }
    .pos-live-status { display: none; }
    .pos-page-intro { padding: 18px 16px 0; }
    .pos-search-results { padding: 18px 16px 40px; }
    .pos-sale-details { grid-template-columns: 1fr; }
    .pos-main-total { min-width: 0; justify-items: start; padding: 16px 0 0; border-top: 1px solid #e4e8f0; border-left: 0; }
    .pos-search-page .pos-products .pos-result-product, .pos-page .pos-products .pos-result-product { grid-template-columns: 64px minmax(0, 1fr) auto !important; }
    .pos-search-page .pos-result-meta, .pos-search-page .pos-product-price, .pos-page .pos-result-meta, .pos-page .pos-product-price { grid-column: 2; }
    .pos-search-page .pos-result-action, .pos-page .pos-result-action, .pos-inline-quantity { grid-column: 3; grid-row: 1 / 4; }
    .pos-result-variants { grid-column: 1 / -1; }
    .pos-search-page .pos-variant-row, .pos-page .pos-variant-row { grid-template-columns: minmax(0, 1fr) 36px 54px 48px; grid-template-rows: auto auto; }
    .pos-search-page .pos-variant-name, .pos-page .pos-variant-name { grid-column: 1; grid-row: 1; }
    .pos-search-page .pos-variant-meta, .pos-page .pos-variant-meta { display: inline-flex; grid-column: 1; grid-row: 2; gap: 7px; }
    .pos-search-page .pos-variant-price, .pos-page .pos-variant-price { font-size: 15px; }
    .pos-search-page .pos-variant-row .pos-variant-remove, .pos-page .pos-variant-row .pos-variant-remove, .pos-search-page .pos-variant-row .pos-variant-remove-placeholder, .pos-page .pos-variant-row .pos-variant-remove-placeholder { grid-column: 2; grid-row: 1 / 3; align-self: center; }
    .pos-search-page .pos-variant-row .pos-variant-quantity, .pos-page .pos-variant-row .pos-variant-quantity, .pos-page .pos-variant-row .pos-variant-quantity-placeholder, .pos-search-page .pos-variant-row .pos-variant-quantity-placeholder { grid-column: 3; grid-row: 1 / 3; align-self: center; }
    .pos-search-page .pos-variant-row .pos-variant-add, .pos-page .pos-variant-row .pos-variant-add { grid-column: 4; grid-row: 1 / 3; }
    .pos-page-workspace { grid-template-columns: 1fr; padding: 18px 16px 40px; }
    .pos-page-cart { position: static; }
    .pos-page-cart .pos-cart-detail-row { grid-template-columns: minmax(0, 1fr) auto; }
    .pos-page-cart .quantity-control { grid-column: 1; }
    .pos-page-cart .pos-cart-available { grid-column: 1; justify-self: start; }
    .pos-cart-subtotal { grid-column: 2; grid-row: 1; }
    .pos-launch-card { grid-template-columns: auto 1fr; }
    .pos-launch-card .primary-button { grid-column: 1 / -1; justify-self: start; }
}
.pos-stock-change-notice {
    margin: 0 0 14px;
    padding: 15px 16px;
    border: 2px solid #c63c3c;
    border-radius: 12px;
    background: #fff2f2;
    color: #681d1d;
    box-shadow: 0 8px 24px rgba(133, 30, 30, .14);
}
.pos-stock-change-notice strong { display: block; margin-bottom: 6px; font-size: 15px; }
.pos-stock-change-notice p { margin: 0 0 7px; color: #681d1d; }
.pos-stock-change-notice ul { margin: 0 0 10px; padding-left: 20px; font-weight: 750; }
.pos-stock-change-notice button { padding: 7px 0; border: 0; background: transparent; color: #8f2424; font: inherit; font-weight: 850; cursor: pointer; }

/* Lista de ventas: sin datos de cobro o envío, sólo lo necesario para preparar pedidos. */
#view-orders .order-list-head,
#view-orders .order-list-row {
    grid-template-columns: 34px minmax(88px, .46fr) minmax(180px, 1.2fr) minmax(110px, .6fr) minmax(96px, .5fr) minmax(105px, .56fr) 32px 32px 32px 34px minmax(96px, .52fr);
}
#view-orders .order-list.hide-status-column .order-list-head,
#view-orders .order-list.hide-status-column .order-list-row {
    grid-template-columns: 34px minmax(88px, .5fr) minmax(180px, 1.3fr) minmax(110px, .65fr) minmax(96px, .55fr) 32px 32px 32px 34px minmax(96px, .58fr);
}
#view-orders .order-list.hide-status-column .order-list-head > :nth-child(6),
#view-orders .order-list.hide-status-column .order-list-row > :nth-child(6) { display:none; }
#view-orders .order-list-row > :nth-child(7) { display: block; }
#view-orders .order-list-row > :nth-child(8),
#view-orders .order-list-row > :nth-child(9) { display: grid; }
#view-orders .order-list-head > :nth-child(7),
#view-orders .order-list-head > :nth-child(8),
#view-orders .order-list-head > :nth-child(9),
#view-orders .order-list-head > :nth-child(10) { display:block; visibility:hidden; font-size:inherit; }
#view-orders .order-list-head > :nth-child(8)::after { content:''; }

/* Mantiene el volumen visual de la tabla al no haber coincidencias en el buscador. */
#view-orders .order-list-empty {
    min-height: 196px;
    display: grid;
    place-content: center;
    gap: 7px;
    padding: 22px;
    box-sizing: border-box;
    color: #4d5668;
    text-align: center;
    background: #fff;
}
#view-orders .order-list-empty strong {
    color: #283046;
    font-size: 13px;
    letter-spacing: .035em;
}
#view-orders .order-list-empty span { font-size: 13px; }

@media (max-width: 760px) {
    #view-orders .order-list-row {
        grid-template-columns: 28px minmax(0, 1fr) auto;
        gap: 5px 10px;
        min-width: 0;
    }
    #view-orders .order-list-row > :nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
    #view-orders .order-list-row > :nth-child(2) { grid-column: 2; grid-row: 1; }
    #view-orders .order-list-row > :nth-child(3) { grid-column: 3; grid-row: 1; text-align: right; }
    #view-orders .order-list-row > :nth-child(4) { grid-column: 2; grid-row: 2; }
    #view-orders .order-list-row > :nth-child(5) { grid-column: 3; grid-row: 2; text-align: right; white-space: nowrap; }
    #view-orders .order-list-row > :nth-child(6) { grid-column: 2; grid-row: 3; justify-self: start; }
    #view-orders .order-list-row > :nth-child(7) { grid-column: 3; grid-row: 3; justify-self: end; }
    #view-orders .order-list-row > :nth-child(8) { grid-column: 2; grid-row: 4; justify-self: start; }
    #view-orders .order-list-row > :nth-child(9) { grid-column: 3; grid-row: 4; justify-self: end; }
    #view-orders .order-list-row > :nth-child(10) { grid-column: 2; grid-row: 5; justify-self: start; }
    #view-orders .order-list-row > :nth-child(11) { grid-column: 3; grid-row: 5; justify-self: end; }
}

/* Entrega de pedidos: cien ubicaciones físicas, sin reordenamientos. */
#view-deliveries { padding-bottom: 36px; }
.delivery-back-link { display: inline-flex; margin: 0 0 14px; }
.order-page-actions small { margin-left: 5px; font-size: 10px; font-weight: 850; opacity: .68; }
.order-page-actions { align-items: center; }
.order-quick-links { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.order-quick-link { display: inline-flex; align-items: center; padding: 6px 0; border: 0; background: transparent; color: #513179; cursor: pointer; font: inherit; font-size: 13px; font-weight: 850; letter-spacing: .01em; text-decoration: none; white-space: nowrap; }
.order-quick-link:hover { color: #8a4eb7; text-decoration: none; }
.order-quick-link small { color: inherit; }
.order-quick-link.order-quick-link-pos { min-height:46px; padding:0 18px; border:1px solid #1769e0; border-radius:10px; background:#1769e0; color:#fff; }
.order-quick-link.order-quick-link-pos:hover { border-color:#1459bd; background:#1459bd; color:#fff; }
.order-quick-link-archive { color: #6b4b63; }
.order-quick-link-archive:hover { color: #9a3152; }
.order-list-footer { display: flex; justify-content: flex-end; margin-top: 14px; }
@media (max-width: 760px) { .order-quick-links { width: 100%; justify-content: space-between; gap: 10px; } .order-quick-link { font-size: 11px; } }
.delivery-copy-guide { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; padding: 13px 16px; border: 1px solid #cdb8e7; border-radius: 12px; background: #f6f0ff; color: #452566; }
.delivery-copy-guide strong { white-space: nowrap; }
.delivery-copy-guide span { flex: 1; font-size: 13px; line-height: 1.4; }
.delivery-guide-content { display: flex; flex: 1; flex-wrap: wrap; align-items: center; gap: 7px 10px; }
.delivery-suggestion-label { font-weight: 750; }
.delivery-suggestions { display: flex; flex-wrap: wrap; gap: 6px; }
.delivery-suggestion { border: 1px solid #8d68bc; border-radius: 999px; background: #fff; color: #513179; padding: 5px 9px; font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; }
.delivery-suggestion:hover { background: #6b3e9b; border-color: #6b3e9b; color: #fff; }
.modal:has(.delivery-match-table) .admin-modal-card { width:min(1180px, calc(100vw - 32px)); }
.delivery-match-table-wrap { overflow:visible; margin:18px 0 14px; border:1px solid #e2d8ee; border-radius:10px; }
.delivery-match-table { width:100%; min-width:0; table-layout:fixed; border-collapse:collapse; color:#2c1e3d; font-size:12px; }
.delivery-match-table th,.delivery-match-table td { padding:10px 8px; border-bottom:1px solid #eee7f5; text-align:left; vertical-align:middle; }
.delivery-match-table th:nth-child(1) { width:70px; }.delivery-match-table th:nth-child(2) { width:11%; }.delivery-match-table th:nth-child(3) { width:42px; }.delivery-match-table th:nth-child(4) { width:66px; }.delivery-match-table th:nth-child(5),.delivery-match-table th:nth-child(6) { width:12%; }.delivery-match-table th:nth-child(7),.delivery-match-table th:nth-child(8),.delivery-match-table th:nth-child(9) { width:8%; }.delivery-match-table th:nth-child(10) { width:116px; }
.delivery-match-table td { overflow-wrap:anywhere; }
.delivery-match-table th { background:#f4eff9; color:#5b337b; font-size:10px; letter-spacing:.06em; }
.delivery-match-table tbody tr:last-child td { border-bottom:0; }
.delivery-match-table tbody tr:hover { background:#fbf8ff; }
.delivery-match-table td:first-child strong { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:#eee3f8; color:#553078; }
.delivery-match-table .small-button { width:100%; white-space:normal; }
.delivery-match-choice { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px; border:1px solid #d9c8e9; border-radius:9px; background:#fbf8ff; color:#55416a; font-size:13px; }
.delivery-match-choice .secondary-button { flex:0 0 auto; white-space:nowrap; }
.admin-body button.delivery-confirm-add { min-height:46px !important; padding:0 18px !important; border:1px solid #1769e0 !important; border-radius:10px !important; background:#1769e0 !important; box-shadow:none !important; color:#fff !important; }
.admin-body button.delivery-confirm-add:hover { border-color:#1459bd !important; background:#1459bd !important; color:#fff !important; }
@media (max-width:640px) { .delivery-match-choice { align-items:stretch; flex-direction:column; } .delivery-match-choice .secondary-button { width:100%; } }
.delivery-search { display: grid; gap: 5px; width: min(100%, 360px); margin: 0 0 16px; }
.delivery-search span { color: #667085; font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.delivery-search input { min-height: 42px; border: 1px solid #d9cce8; border-radius: 8px; background: #fff; color: #2a1d3c; padding: 0 12px; font: inherit; }
.delivery-search input:focus { border-color: #8d68bc; box-shadow: 0 0 0 3px rgba(141, 104, 188, .13); outline: none; }
.delivery-table-wrap { overflow: auto; border: 1px solid #ded5eb; border-radius: 14px; background: #fff; box-shadow: 0 10px 30px rgba(66,35,104,.08); }
.delivery-table { width: 100%; min-width: 1100px; border-collapse: collapse; color: #2a1d3c; font-weight:400; }
.delivery-table th,.delivery-table td { padding: 10px 12px; border-bottom: 1px solid #eee8f5; text-align: left; vertical-align: middle; font-weight:400; }
.delivery-table thead th { position: sticky; top: 0; z-index: 1; background: #f3edfb; color: #442467; font-size: 12px; font-weight:400; letter-spacing: .03em; }
.delivery-table tbody th { width: 64px; color: #4c2574; font-size: 20px; font-weight:400; font-variant-numeric: tabular-nums; text-align: center; }
.delivery-table tbody tr:nth-child(even) { background: #fcfaff; }
.delivery-table tbody tr:hover { background: #eee7fa !important; box-shadow: inset 4px 0 0 #8d68bc; }
.delivery-table tbody tr.delivery-placement-active:hover { background: #e8dbf7 !important; box-shadow: inset 5px 0 0 #6b3b9a; }
.delivery-table tbody tr.delivery-placement-suggested { background: #f0e7fa; box-shadow: inset 5px 0 0 #6b3b9a; }
.delivery-no-results { padding: 26px !important; color: #667085; text-align: center !important; }
.delivery-table input { width: 100%; min-width: 88px; padding: 10px 9px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: inherit; font: inherit; font-size: 15px; }
.delivery-table input[data-delivery-field="location"] { border-color: #d8c8e8; background: #fbf8ff; color: #3d2858; font-weight:400; cursor: text; }
.delivery-table input[data-delivery-field="location"]:hover,.delivery-table input[data-delivery-field="location"]:focus { border-color: #a984cf; background: #f5effc; outline: none; }
.delivery-table input:hover,.delivery-table input:focus { border-color: #bda4de; background: #fff; outline: none; }
.delivery-transfer-total { display: block; min-height: 16px; padding: 2px 9px 0; color: #6b537f; font-size: 11px; font-weight:400; }
.delivery-table tbody tr.delivery-slot-build { position:relative; background:#c9efd5 !important; }
.delivery-table tbody tr.delivery-slot-build > th,.delivery-table tbody tr.delivery-slot-build > td,.delivery-table tbody tr.delivery-slot-build:hover > th,.delivery-table tbody tr.delivery-slot-build:hover > td { background:#c9efd5 !important; background-clip:border-box; color:#123f24; font-weight:400; border-top:0; border-bottom:1px solid #23834a; }
.delivery-table tbody tr.delivery-slot-build > th { box-shadow:inset 9px 0 0 #14713a; font-size:20px; }
.delivery-table tbody tr.delivery-slot-build > td:last-child { border-right:2px solid #23834a; }
.delivery-table tbody tr.delivery-slot-build > th:first-child { border-left:2px solid #23834a; }
.delivery-table tbody tr.delivery-slot-add { background:#f7cfe8 !important; }
.delivery-table tbody tr.delivery-slot-add > th,.delivery-table tbody tr.delivery-slot-add > td,.delivery-table tbody tr.delivery-slot-add:hover > th,.delivery-table tbody tr.delivery-slot-add:hover > td { background:#f7cfe8 !important; background-clip:border-box; color:#7d1259; font-weight:400; border-top:0; border-bottom:1px solid #e9a5ce; }
.delivery-table tbody tr.delivery-slot-add > th { box-shadow:inset 6px 0 0 #d91976; }
.delivery-table tbody tr.delivery-slot-build input,.delivery-table tbody tr.delivery-slot-add input { background:transparent !important; color:inherit !important; font-weight:400; }
.delivery-table tbody tr.delivery-slot-build input { font-size:16px; font-weight:400; }
.delivery-status-attention { display:inline-grid; width:23px; height:23px; place-items:center; margin-left:7px; border-radius:50%; color:#fff; font-size:15px; font-weight:950; vertical-align:middle; animation:delivery-attention-bounce .9s ease-in-out infinite; }
.delivery-add-attention { background:#d91976; box-shadow:0 3px 8px rgba(165,20,88,.28); }
.delivery-build-attention { background:#23834a; box-shadow:0 3px 8px rgba(25,112,59,.28); }
@keyframes delivery-add-glow { 0%,100% { box-shadow:inset 0 0 0 rgba(217,25,118,0); } 50% { box-shadow:inset 0 0 0 2px rgba(217,25,118,.34); } }
@keyframes delivery-build-glow { 0%,100% { box-shadow:inset 0 0 0 1px rgba(20,113,58,.3),0 0 0 rgba(35,131,74,0); } 50% { box-shadow:inset 0 0 0 3px rgba(20,113,58,.82),0 0 14px rgba(35,131,74,.38); } }
@keyframes delivery-attention-bounce { 0%,100% { transform:translateY(0) scale(1); } 50% { transform:translateY(-4px) scale(1.12); } }
@media (prefers-reduced-motion:reduce) { .delivery-table tbody tr.delivery-slot-add,.delivery-table tbody tr.delivery-slot-build,.delivery-status-attention { animation:none; } }
.delivery-marker-clear { width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: #faf7ff; color: #4c2574; cursor: pointer; font-size: 18px; font-weight:900; }
.delivery-marker-clear:hover { background: #694093; color:#fff; }
.delivery-order-total { color: #34214e; font-variant-numeric: tabular-nums; white-space: nowrap; }
.delivery-transfer-status-cell { width:36px; text-align:center !important; }
.delivery-transfer-status { display:inline-block; width:14px; height:14px; border-radius:50%; vertical-align:middle; }
.delivery-transfer-status.is-matched { background:#23834a; }
.delivery-transfer-status.is-unmatched { background:#d13434; }
.delivery-delete { display: grid; width: 40px; height: 40px; place-items: center; padding: 0; border: 1px solid #c9b9de; border-radius: 9px; background: #faf7ff; color: #4c2574; cursor: pointer; font-size: 27px; line-height:1; }
.delivery-delete:hover { background: #694093; border-color:#694093; color:#fff; }
.delivery-row-number { display:table-cell; vertical-align:middle !important; white-space:nowrap; }
.delivery-row-number > span { display:inline-flex; align-items:center; justify-content:center; }
.delivery-table td.delivery-flow-actions { display:table-cell; min-width:178px; white-space:nowrap; }
.delivery-flow-actions-grid { display:grid; grid-template-columns:repeat(4, 40px); justify-content:center; gap:6px; }
.delivery-flow-actions-grid > span { display:grid; width:40px; height:40px; place-items:center; }
.delivery-print,.delivery-return,.delivery-whatsapp { display:grid; width:40px; height:40px; place-items:center; padding:0; border:1px solid #c9b9de; border-radius:9px; background:#faf7ff; color:#4c2574; cursor:pointer; font-size:26px; line-height:1; }
.delivery-print:hover { background:#694093; border-color:#694093; color:#fff; }
.delivery-return { font-size:29px; }
.delivery-return:hover { background:#694093; border-color:#694093; color:#fff; }
.delivery-whatsapp,.order-list-whatsapp { color:#167544; }
.delivery-whatsapp { color:#4c2574; }
.delivery-whatsapp:hover { background:#694093; border-color:#694093; color:#fff; }
.order-list-whatsapp { display:grid; width:30px; height:30px; place-items:center; padding:0; border:0; border-radius:7px; background:transparent; cursor:pointer; line-height:1; }
.order-list-whatsapp:hover { background:#e7f6ed; color:#08743b; }
.delivery-whatsapp .whatsapp-logo { width:27px; height:27px; }
.delivery-order-links { display:flex; flex-wrap:wrap; align-items:center; gap:5px; min-height:40px; }
.delivery-order-links button { padding:0; border:0; background:transparent; color:#4c2574; font:inherit; font-weight:400; cursor:pointer; }
.delivery-order-links button:hover,.delivery-order-links button:focus-visible { color:#694093; outline:none; }
.delivery-delete-location { display:flex; align-items:center; gap:10px; margin:0 0 16px; padding:11px 13px; border:1px solid #c9b9de; border-radius:9px; background:#faf7ff; color:#4c2574; }
.delivery-delete-location strong { font-size:18px; }
.delivery-delete-location span { font-weight:800; }
.toast.delivery-delivered { position:fixed; top:50%; left:50%; z-index:100; display:flex; align-items:center; gap:14px; width:max-content; max-width:calc(100vw - 32px); padding:20px 26px; border-color:#9dcfb1; background:#f2fbf5; color:#176b3d; font-size:21px; font-weight:400; transform:translate(-50%, -50%); }
.toast.delivery-delivered > span:first-child { display:grid; width:34px; height:34px; flex:0 0 auto; place-items:center; border-radius:50%; background:#23834a; color:#fff; font-size:22px; font-weight:900; }
.toast.delivery-delivered > span:last-child { font-weight:400 !important; }
.order-list-whatsapp .whatsapp-logo { width:21px; height:21px; }
.admin-modal-card:has(.whatsapp-action-menu) { width:min(480px, calc(100vw - 28px)); }
.whatsapp-action-menu { display:grid; gap:15px; width:100%; max-width:430px; margin:0 auto; }
.whatsapp-action-menu header { display:flex; align-items:center; gap:12px; }
.whatsapp-action-menu header h2 { margin:2px 0 0; color:#667087; font-size:15px; font-weight:650; letter-spacing:.035em; }
.whatsapp-action-menu header small { display:block; margin-top:1px; color:#253044; font-size:24px; font-weight:650; line-height:1.15; }
.whatsapp-menu-brand { display:grid; width:46px; height:46px; flex:0 0 auto; place-items:center; border-radius:50%; background:#25d366; color:#fff; }
.whatsapp-logo { width:29px; height:29px; }
.whatsapp-action-buttons { display:grid; grid-template-columns:1fr; gap:9px; }
.whatsapp-action-buttons button { display:grid; min-height:72px; gap:4px; padding:13px 15px; border:1px solid #d7e6dc; border-radius:12px; background:#fff; color:#23523a; text-align:left; cursor:pointer; transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease; }
.whatsapp-action-buttons button:hover { border-color:#55ad78; background:#f3fbf6; box-shadow:0 7px 16px rgba(25,105,56,.12); transform:translateY(-1px); }
.whatsapp-action-buttons strong { color:#1b5f38; font-size:13px; letter-spacing:.025em; }
.whatsapp-action-buttons small { color:#607067; font-size:12px; line-height:1.3; }
@media (max-width:560px) { .whatsapp-action-menu header small { font-size:20px; } .whatsapp-action-buttons button { min-height:68px; } }
.delivery-slot-print-choice { display:grid; gap:8px; margin:16px 0 20px; }
.delivery-slot-print-choice label { display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid #ddd8e5; border-radius:8px; background:#fff; cursor:pointer; }
.delivery-slot-print-choice label:hover { border-color:#9c7ac3; background:#fbf8ff; }
.delivery-slot-print-choice input { width:17px; height:17px; accent-color:#6b3e9b; }
.delivery-slot-print-choice span { display:grid; gap:2px; }
.delivery-slot-print-choice strong { color:#3b2360; }
.delivery-slot-print-choice small { color:#657084; font-size:12px; }
.delivery-place { min-height: 32px; padding: 5px 9px; border: 1px solid #8c67b9; border-radius: 7px; background: #fff; color: #513179; font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; }
.delivery-place:hover { background: #6b3e9b; color: #fff; }
@media (max-width:760px) { .delivery-copy-guide { align-items: flex-start; flex-wrap: wrap; } .delivery-copy-guide .small-button { margin-left: auto; } }

/* Área de trabajo más amplia y filas que responden claramente al recorrido. */
.admin-shell { grid-template-columns: 192px minmax(0, 1fr); }
/* Reservar el ancho de la barra vertical evita que los buscadores "salten"
   hacia el centro cuando una búsqueda deja la página sin resultados. */
html { overflow-y: scroll; scrollbar-gutter: stable; }
.admin-sidebar { padding:22px 10px 15px; background:#d9dde2; border-right-color:#c4c9d0; }
.admin-sidebar .admin-nav-button { color:#4f596b; }
.admin-sidebar .admin-nav-button:hover,.admin-sidebar .admin-nav-button.active { background:#e6e9ed; color:#3d356f; }
.statistics-content { display:grid; gap:18px; max-width:1060px; }
.statistics-lock { display:grid; grid-template-columns:auto 1fr; gap:18px; max-width:620px; padding:24px; border:1px solid #d8dce4; border-radius:16px; background:#fff; box-shadow:0 5px 18px rgba(34,47,70,.05); }
.statistics-lock > span { display:grid; width:48px; height:48px; place-items:center; border-radius:14px; background:#eceafc; font-size:23px; }
.statistics-lock .eyebrow,.statistics-lock h2,.statistics-lock p { margin:0; }.statistics-lock h2 { color:#303c55; font-size:22px; }.statistics-lock p:last-child { margin-top:4px; color:#6c778b; font-size:13px; }
.statistics-lock form { display:flex; grid-column:2; gap:9px; }.statistics-lock input { min-width:0; flex:1; padding:11px 12px; border:1px solid #d5dbe4; border-radius:10px; background:#fff; color:#25314a; }
.statistics-periods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.statistics-period-card,.statistics-card { position:relative; overflow:hidden; padding:20px; border:1px solid #dce2ea; border-radius:16px; background:#fff; box-shadow:0 5px 18px rgba(34,47,70,.05); }
.statistics-period-card > span,.statistics-card .eyebrow { display:block; margin:0; color:#657086; font-size:11px; font-weight:850; letter-spacing:.1em; }
.statistics-period-card > strong { display:block; margin-top:9px; color:#303c55; font-size:36px; line-height:1; font-variant-numeric:tabular-nums; }
.statistics-period-card > small,.statistics-period-card > em,.statistics-card > small,.statistics-card > span { display:block; margin-top:5px; color:#6c778b; font-size:12px; font-style:normal; }
.statistics-period-card > b { display:block; margin-top:13px; color:#25314a; font-size:18px; }
.statistics-period-card > i { display:block; width:var(--statistics-size); height:7px; margin-top:12px; border-radius:999px; background:linear-gradient(90deg,#665be7,#a49cff); }
.statistics-period-card > em { margin-top:8px; }
.statistics-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.statistics-card { min-height:218px; }
.statistics-visits-card { grid-column:span 2; min-height:0; background:linear-gradient(145deg,#f2f0ff,#fff 65%); }.statistics-visits-card > div { display:flex; align-items:center; gap:10px; }.statistics-visits-card > p { margin:11px 0 0; color:#667186; font-size:13px; }.statistics-visits { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:16px; }.statistics-visits span { padding:10px; border-radius:11px; background:rgba(255,255,255,.72); }.statistics-visits small { display:block; color:#657086; font-size:10px; font-weight:800; letter-spacing:.06em; }.statistics-visits strong { display:block; margin-top:2px; color:#4b43aa; font-size:26px; line-height:1.1; font-variant-numeric:tabular-nums; }
.statistics-edp-card { background:linear-gradient(145deg,#edf6ff,#fff 62%); }
.statistics-edp-card > div { display:flex; align-items:center; gap:10px; }
.statistics-icon { display:grid !important; width:38px; height:38px; margin:0 !important; place-items:center; border-radius:12px; background:#d8edff; font-size:20px !important; }
.statistics-edp-card > strong { display:block; margin-top:20px; color:#176193; font-size:48px; line-height:1; font-variant-numeric:tabular-nums; }
.statistics-edp-card > b { display:block; margin-top:15px; color:#25314a; font-size:21px; }
.statistics-discounts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:18px; }
.statistics-discount { min-width:0; padding:13px; border-radius:12px; background:#f7f8fb; }
.statistics-discount > span { display:block; font-size:22px; }
.statistics-discount > strong { display:block; margin-top:6px; color:#303c55; font-size:27px; line-height:1; }
.statistics-discount > small { display:block; min-height:30px; margin-top:5px; color:#667186; font-size:11px; font-weight:700; }
.statistics-discount > i { display:block; height:6px; margin-top:8px; overflow:hidden; border-radius:999px; background:#e2e6ed; }
.statistics-discount > i > b { display:block; height:100%; border-radius:inherit; background:#695ee5; }
.statistics-discount-klaus > i > b { background:#e39128; }.statistics-discount-surprise > i > b { background:#d35f91; }
.statistics-beneficiaries { display:flex; flex-wrap:wrap; gap:4px; margin-top:10px; }.statistics-beneficiaries b,.statistics-beneficiaries em { max-width:100%; overflow:hidden; padding:3px 6px; border-radius:999px; background:#e8ebf1; color:#59667a; font-size:9px; font-style:normal; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }.statistics-beneficiaries em { background:transparent; padding-left:0; }
@media (max-width:700px) { .statistics-periods,.statistics-grid,.statistics-discounts,.statistics-visits { grid-template-columns:1fr; }.statistics-visits-card { grid-column:auto; }.statistics-card { min-height:0; }.statistics-discount > small { min-height:0; }.statistics-lock { grid-template-columns:1fr; }.statistics-lock form { grid-column:auto; flex-direction:column; } }
.product-search-tools { display:flex; align-items:stretch; gap:9px; }
.product-search-tools { width:min(100%,760px); min-height:46px; margin:0 auto 18px 0; flex:none; box-sizing:border-box; }
.product-search-tools input { flex:1 1 auto; min-width:0; }
.product-search-tools button { flex:0 0 auto; padding-inline:13px; font-size:11px; font-weight:850; }
.product-search-tools button:disabled { opacity:.48; cursor:not-allowed; }
.admin-search input,.order-filter-search input,.order-toolbar input,.pos-page .pos-search-wrap input,.delivery-search input { font-size:17px !important; }
#view-products,#view-orders { width:100%; min-width:0; min-height:calc(100vh - 110px); }
.admin-main:has(#view-products.active) { width:100%; box-sizing:border-box; }
#view-products .product-search-tools,#view-products #admin-product-list,#view-products .product-list-table { position:relative; inset:auto; width:100%; max-width:none; box-sizing:border-box; transform:none; }
#view-products #admin-product-list { min-height:260px; }
#view-orders .order-toolbar { width:100%; min-height:62px; margin-left:0; margin-right:0; }
#view-orders .order-filter-search { flex:0 0 286px; margin-left:0 !important; }
#view-orders .order-list { width:100%; min-height:250px; }
@media (max-width:700px) { .product-search-tools { align-items:stretch; flex-direction:column; width:100%; } .product-search-tools button { min-height:42px; } #view-orders .order-filter-search { flex-basis:auto; width:100%; } .admin-search input,.order-filter-search input,.order-toolbar input,.pos-page .pos-search-wrap input,.delivery-search input { font-size:16px !important; } }
.admin-nav-button { padding-left:10px; padding-right:10px; font-size:13px; text-decoration:none; }
.admin-nav-sales .admin-nav-button { padding-left:16px; }
.admin-nav-sales { margin-bottom:8px; padding-bottom:13px; border-bottom:2px solid #d9dee5; }
.admin-main { padding-left:clamp(22px,3.2vw,52px); padding-right:clamp(22px,3.2vw,52px); }
#view-orders .order-list-row { font-size:14px; transition:transform .16s ease,box-shadow .16s ease,background .16s ease; }
#view-orders .order-list-row:hover { transform:none; position:relative; z-index:2; box-shadow:none; }

/* Acciones operativas: misma huella visual y eje de alineación. */
#view-orders .order-list-copy,
#view-orders .order-list-print,
#view-orders .order-list-whatsapp,
#view-orders .order-list-delete,
#view-orders .order-list-archive,
.delivery-marker-clear,
.delivery-place { display:grid; width:32px; height:32px; min-height:32px; place-items:center; padding:0; line-height:1; }
.delivery-print,.delivery-return,.delivery-whatsapp { width:40px; height:40px; }
.delivery-print { width:40px; height:40px; font-size:26px; }
.delivery-print .printer-icon { width:24px; height:24px; }
.delivery-whatsapp .whatsapp-logo { width:24px; height:24px; }
.order-list-whatsapp .whatsapp-logo { width:20px; height:20px; }
#view-orders .order-list-number strong,#view-orders .order-list-customer strong,#view-orders .order-list-total { font-size:14px; }
#view-orders,
#view-orders * { font-weight:400 !important; }
#view-orders .view-heading h1 { font-size:28px; }
#view-orders .view-heading h1 small { font-size:14px; }
#view-orders .view-heading p,
#view-orders .order-list-row,
#view-orders .order-toolbar input { font-size:14px !important; }
#view-orders .order-list-head,
#view-orders .order-toolbar span { font-size:12px; }
#view-orders .order-list-row small,
#view-orders .order-list-date small { font-size:12px; }
#view-orders .order-list-copy,
#view-orders .order-list-print,
#view-orders .order-list-whatsapp,
#view-orders .order-list-delete,
#view-orders .order-list-archive { font-size:20px; }
#view-orders .order-list-copy.order-list-copy-reopened { font-size:20px; }
#view-orders .order-list-archive svg,
#view-orders .order-list-whatsapp .whatsapp-logo,
#view-orders .order-action-icon { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.delivery-print,
.delivery-return,
.delivery-whatsapp,
.delivery-delete { display:grid; width:32px; height:32px; min-height:32px; place-items:center; padding:0; color:#4c2574; font-size:0; }
.delivery-print .printer-icon,
.delivery-whatsapp .whatsapp-logo,
.delivery-return .order-action-icon,
.delivery-delete .order-action-icon { width:20px; height:20px; }
.delivery-return .order-action-icon,
.delivery-delete .order-action-icon { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.order-status-indicator { display:inline-grid; width:20px; height:20px; margin-inline:6px; place-items:center; border-radius:50%; color:#fff; font-size:12px; line-height:1; }
.order-status-indicator-archived { background:#21864b; }
.order-status-indicator-cancelled { background:#b93131; }

/* Estándar reutilizable para controles con ícono, en todo el panel. */
.icon-button,
.icon-action-button { display:inline-grid; width:32px; height:32px; min-height:32px; place-items:center; padding:0; color:currentColor; line-height:1; }
.icon-button svg,
.icon-action-button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.product-list-row,.product-variant-inline-row,.category-admin-row,.customer-history-table tbody tr,.size-guide-edit-table tbody tr,.report-card tbody tr { transition:transform .16s ease,box-shadow .16s ease,background .16s ease; }
.product-list-row:hover,.product-variant-inline-row:hover,.category-admin-row:hover,.customer-history-table tbody tr:hover,.size-guide-edit-table tbody tr:hover,.report-card tbody tr:hover { position:relative; z-index:2; transform:scale(1.008); background:#f4eefb !important; box-shadow:0 6px 17px rgba(58,42,86,.1); }
.delivery-search { width:min(100%,440px); }
.delivery-search span { font-size:12px; }
.delivery-search input { min-height:50px; font-size:18px; font-weight:650; }
.delivery-guide-arrow { color:#21864b; font-size:23px; line-height:0; vertical-align:-2px; }
.delivery-place { display:grid; width:34px; min-height:34px; place-items:center; padding:0; border-color:#55a873; background:#f2fbf5; color:#18733d; font-size:22px; line-height:1; }
.delivery-place:hover { background:#23834a; border-color:#23834a; color:#fff; }
@media (max-width:1050px) { .admin-shell { grid-template-columns:192px minmax(0,1fr); } }
.order-list-copy { display: grid; width: 30px; height: 30px; place-items: center; padding: 0; border: 0; border-radius: 7px; background: transparent; color: #7051a9; cursor: pointer; font-size: 20px; }
.order-list-copy:hover:not(:disabled) { background: #eee5fa; }
.order-list-copy:disabled { color: #a89db5; cursor: default; opacity: .65; }
#view-orders .status-copied { border-color: #7e5bb0; background: #f1e9fb; color: #4c2574; }

/* Ventas que ya se pasaron a Entregas: deben verse aunque todavía estén abiertas. */
.order-delivery-reminder { display:flex; align-items:center; gap:11px; margin:0 0 10px; padding:11px 14px; border:1px solid #b996db; border-radius:10px; background:#f6efff; color:#4c2574; }
.order-delivery-reminder-icon { display:grid; width:26px; height:26px; flex:0 0 auto; place-items:center; border-radius:50%; background:#65418d; color:#fff; font-weight:900; }
.order-delivery-reminder strong { display:block; font-size:12px; letter-spacing:.035em; }
.order-delivery-reminder small { display:block; margin-top:2px; color:#5e536d; font-size:12px; }
#view-orders .order-list-row-in-deliveries { background:#fbf7ff; box-shadow:inset 5px 0 0 #8d65bd; }
#view-orders .order-list-row-in-deliveries:hover { background:#f5edff; box-shadow:inset 6px 0 0 #7445aa,0 8px 20px rgba(91,50,135,.14); }
.order-delivery-note { display:block; width:max-content; margin-top:4px; padding:2px 5px; border-radius:4px; background:#eadcf9; color:#512a7b; font-size:9px; font-weight:850; letter-spacing:.035em; white-space:nowrap; }
#view-orders .order-list-row-in-deliveries .status-copied { border-color:#8455b4; background:#e9dafa; color:#482070; font-weight:850; box-shadow:0 0 0 2px rgba(132,85,180,.1); }
.order-list-copy.order-list-copy-reopened { width:32px; height:32px; color:#0878b4; background:#dff3ff; box-shadow:0 0 0 2px rgba(8,120,180,.18); font-size:24px; font-weight:850; }
.order-list-copy.order-list-copy-reopened:hover:not(:disabled) { color:#fff; background:#17708b; }

/* Solicitudes de invitación a Codex: rápidas de revisar y listas para copiar. */
.admin-nav-invitations { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.nav-notification-badge { display:inline-grid; min-width:20px; height:20px; place-items:center; padding:0 5px; border-radius:999px; background:#7b3f9e; color:#fff; font-size:11px; line-height:1; font-variant-numeric:tabular-nums; }
.invitation-note { max-width:840px; margin:0 0 18px; padding:13px 15px; border:1px solid #d7c7e9; border-radius:10px; background:#faf7ff; color:#4b3c61; font-size:14px; line-height:1.45; }
.invitation-table-wrap { overflow:auto; border:1px solid #dfe2e7; border-radius:12px; background:#fff; }
.invitation-table { width:100%; min-width:620px; border-collapse:collapse; }
.invitation-table th { padding:13px 15px; background:#f4f5f7; color:#596273; font-size:11px; letter-spacing:.06em; text-align:left; }
.invitation-table td { padding:14px 15px; border-top:1px solid #e8eaed; color:#283142; font-size:14px; }
.invitation-table tbody tr { transition:background .16s ease,transform .16s ease,box-shadow .16s ease; }
.invitation-table tbody tr:hover { position:relative; z-index:1; background:#fbf8ff; transform:scale(1.004); box-shadow:0 5px 16px rgba(58,42,86,.08); }
.invitation-row.is-pending td:first-child strong { color:#4f2670; }
.invitation-row.is-sent { opacity:.72; }
.invitation-date { display:grid; gap:2px; font-variant-numeric:tabular-nums; }
.invitation-date small { color:#738092; font-size:12px; }
.invitation-status,.invitation-copy { border:0; background:transparent; font:inherit; font-weight:850; cursor:pointer; }
.invitation-status { padding:5px 8px; border-radius:999px; font-size:11px; letter-spacing:.04em; }
.invitation-status.is-pending { background:#f2e9fb; color:#5b277d; }
.invitation-status.is-sent { background:#edf2f5; color:#526271; }
.invitation-status:hover { text-decoration:underline; text-underline-offset:3px; }
.invitation-actions { width:54px; text-align:right; }
.invitation-copy { display:inline-grid; width:34px; height:34px; place-items:center; border-radius:8px; color:#5a347c; font-size:22px; }
.invitation-copy:hover { background:#f1e8f9; }

/* Elección clara de impresión después de ubicar varias ventas en Entregas. */
.delivery-print-choice { display:grid; gap:10px; margin:20px 0; }
.delivery-print-choice button { display:grid; gap:4px; width:100%; justify-items:start; text-align:left; }
.delivery-print-choice button small { color:inherit; font-size:12px; font-weight:600; opacity:.82; }

/* Recorrido visual uniforme: las filas se destacan sólo por el fondo. */
.admin-main table tbody tr,
#view-orders .order-list-row,
.product-list-row,
.product-variant-inline-row,
.category-admin-row { transition:background-color .15s ease; }
.admin-main table tbody tr:hover,
#view-orders .order-list-row:hover,
.product-list-row:hover,
.product-variant-inline-row:hover,
.category-admin-row:hover {
    transform:none !important;
    box-shadow:none !important;
    background:#d4b9e9 !important;
}

/* Escala de lectura común: contenido operativo legible y encabezados diferenciados. */
.admin-body { font-family:"Segoe UI", Arial, sans-serif; font-size:15px; line-height:1.45; }
.admin-sidebar .admin-nav-button { font-size:14px; }
.admin-main { font-size:15px; }
.admin-main input,
.admin-main select,
.admin-main textarea { font-size:15px !important; }
.admin-main table tbody td,
.admin-main .order-list-row,
.admin-main .product-list-row,
.admin-main .product-variant-inline-row,
.admin-main .category-admin-row,
.admin-main .invitation-note,
.admin-main .form-hint { font-size:15px; }
.admin-main table thead th { font-size:12px !important; }
.admin-main .primary-button,
.admin-main .secondary-button,
.admin-main .small-button { font-size:14px; }
@media (max-width:700px) { .admin-main input,.admin-main select,.admin-main textarea { font-size:16px !important; } }

/* Fondo claro y lectura consistente en toda la administración.
   Estas reglas finales reemplazan la antigua piel oscura de Ventas. */
#view-orders,
#view-orders::before,
#view-orders .view-heading,
#view-orders .order-page-heading {
    background: #f6f7fb !important;
    color: #252a3a !important;
}
#view-orders .view-heading {
    border-color: #e2e6ef !important;
    box-shadow: none !important;
}
#view-orders .view-heading h1,
#view-orders .view-heading h1 small,
#view-orders .view-heading p {
    color: #252a3a !important;
}

/* Base única para que la lectura no dependa de pasar el mouse por una fila. */
.admin-body,
.admin-shell,
.admin-main,
.admin-main .admin-view,
.admin-main .admin-modal-card {
    font-family: "Segoe UI", Arial, sans-serif !important;
    color: #252a3a;
}
.admin-main :is(p, li, label, legend, dt, dd, .form-hint, .invitation-note,
    .empty-copy, .empty-state, .notice, .status-copy, .order-list-empty span) {
    font-size: 15px;
    line-height: 1.5;
}
.admin-main :is(button, input, select, textarea) {
    font-size: 15px !important;
    line-height: 1.35;
}
.admin-main :is(h1, h2, h3) { line-height: 1.18; }
.admin-main small { font-size: 13px; line-height: 1.4; }
.admin-main table thead th { font-size: 13px !important; }

.design-panel { margin-bottom: 12px; border: 1px solid #e2e6ef; border-radius: 12px; background: #fff; }
.design-panel > summary { padding: 15px 18px; color: #39306f; font-size: 12px; font-weight: 800; letter-spacing: .06em; cursor: pointer; }
.design-panel > :not(summary) { margin: 0 18px 18px; }
.design-panel .settings-grid { margin-top: 0; }
.design-panel-help { margin: 0 0 14px; color: #697386; font-size: 13px; }
.design-section-order { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.design-section-order label { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 12px; border: 1px solid #e4e2f4; border-radius: 9px; color: #41485a; font-size: 12px; font-weight: 750; }
.design-section-order select { width: 76px; }
@media (max-width: 700px) { .design-section-order { grid-template-columns: 1fr; } }

/* Título estándar de cada sección del menú lateral. Usar esta clase en toda vista nueva. */
.admin-main .view-heading .admin-page-title {
    margin: 0;
    color: #252a3a !important;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: clamp(28px, 2.8vw, 40px);
    font-weight: 760 !important;
    line-height: 1.08;
    letter-spacing: -.045em;
}
#view-orders .view-heading .admin-page-title {
    font-size: clamp(28px, 2.8vw, 40px) !important;
    font-weight: 760 !important;
}

@media (max-width:700px) {
    .admin-main :is(p, li, label, legend, dt, dd, .form-hint, .invitation-note,
        .empty-copy, .empty-state, .notice, .status-copy, .order-list-empty span),
    .admin-main :is(button, input, select, textarea) { font-size: 16px !important; }
    .admin-main small,
    .admin-main table thead th { font-size: 13px !important; }
}
.pulga-host { position:fixed; z-index:20; width:62px; height:46px; overflow:hidden; pointer-events:auto; opacity:0; animation:pulga-peek .42s ease-out forwards; }
.pulga-host.pulga-from-left { left:0; }.pulga-host.pulga-from-right { right:0; }.pulga { width:62px; height:46px; cursor:none; filter:drop-shadow(0 3px 2px rgba(31,34,38,.22)); }.pulga-from-right .pulga { transform:scaleX(-1); }.pulga svg { width:100%; height:100%; overflow:visible; }.pulga-cat { fill:#b7bbc0; stroke:#4d535b; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }.pulga-ear { fill:#e4b9c1; }.pulga-stripes { fill:none; stroke:#70767d; stroke-width:3; }.pulga-eye-white { fill:#fff; stroke:#4d535b; stroke-width:1.5; }.pulga-eye { fill:#4d6575; stroke:none; }.pulga-eye-shine { fill:#fff; stroke:none; }.pulga-blush { fill:#eaa7b7; stroke:none; opacity:.72; }.pulga-nose { fill:#e78da5; stroke:none; }.pulga-mouth,.pulga-whiskers,.pulga-leg,.pulga-tail { fill:none; }.pulga-tail { transform-box:fill-box; transform-origin:left center; animation:pulga-tail 1.3s ease-in-out infinite alternate; }.pulga-host:not(.pulga-still) .pulga-ear { transform-box:fill-box; transform-origin:bottom center; animation:pulga-ears 2.1s ease-in-out infinite; }.pulga-host.is-escaping { animation:pulga-flee .42s cubic-bezier(.22,.8,.38,1) forwards; }.pulga-host.pulga-from-right.is-escaping { animation-name:pulga-flee-right; }.pulga-still .pulga-tail,.pulga-still .pulga-ear { animation:none; }
@keyframes pulga-peek { from { opacity:0; transform:translateX(-43px); } to { opacity:1; transform:translateX(-11px); } } @keyframes pulga-tail { to { transform:rotate(15deg); } } @keyframes pulga-ears { 0%,76%,100% { transform:rotate(0); } 82% { transform:rotate(-12deg); } } @keyframes pulga-flee { to { opacity:0; transform:translateX(-110px); } } @keyframes pulga-flee-right { to { opacity:0; transform:translateX(110px); } }
.pulga-still { animation:none; opacity:1; transform:translateX(-11px); }.pulga-walking { top:auto !important; bottom:44px; width:72px; overflow:visible; pointer-events:none; animation:pulga-walk-left 3.8s linear both; }.pulga-walking .pulga { animation:pulga-steps .2s ease-in-out infinite alternate; }.pulga-from-right.pulga-walking { animation-name:pulga-walk-right; }
@keyframes pulga-walk-left { from { opacity:1; transform:translateX(-76px); } 8%,92% { opacity:1; } to { opacity:0; transform:translateX(100vw); } } @keyframes pulga-walk-right { from { opacity:1; transform:translateX(76px); } 8%,92% { opacity:1; } to { opacity:0; transform:translateX(-100vw); } } @keyframes pulga-steps { to { transform:translateY(-2px); } }
@media (max-width:760px) { .pulga-host { z-index:18; width:52px; height:39px; }.pulga { width:52px; height:39px; } }
