:root {
  color-scheme: light;
  --bg: #f3f7fb;
  --card: #ffffff;
  --primary: #2364d2;
  --primary-dark: #17499c;
  --accent: #00a676;
  --warning: #f59f00;
  --danger: #e03131;
  --ink: #182230;
  --muted: #617086;
  --line: #d9e2ef;
  --shadow: 0 16px 40px rgba(24, 34, 48, 0.12);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--ink);
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.topbar {
  align-items: center;
  background: linear-gradient(135deg, #17499c, #3d8bfd);
  color: white;
  display: flex;
  justify-content: space-between;
  padding: 22px 30px;
}
.topbar h1 { font-size: clamp(28px, 4vw, 42px); margin: 0; }
.eyebrow { font-size: 14px; font-weight: 800; letter-spacing: .12em; margin: 0 0 4px; text-transform: uppercase; }
.status-pill { background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.35); border-radius: 999px; font-weight: 800; padding: 12px 18px; }

.app-shell { display: grid; gap: 18px; grid-template-columns: 210px 1fr; padding: 18px; }
.sidebar { display: grid; gap: 12px; align-self: start; position: sticky; top: 18px; }
.nav-button {
  background: var(--card); border: 2px solid var(--line); border-radius: 18px; color: var(--ink);
  font-size: 20px; font-weight: 900; min-height: 64px; padding: 12px; text-align: left; box-shadow: 0 6px 16px rgba(24,34,48,.06);
}
.nav-button.active, .primary { background: var(--primary); border-color: var(--primary); color: white; }
.nav-button:hover, .secondary:hover, .primary:hover { transform: translateY(-1px); }
.content { min-width: 0; }
.view { display: none; }
.view.active { display: block; }

.card { background: var(--card); border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); margin-bottom: 18px; padding: 22px; }
.card h2, .card h3 { margin-top: 0; }
.grid { display: grid; gap: 16px; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric { border-left: 8px solid var(--primary); min-height: 130px; }
.metric strong { display: block; font-size: 38px; margin-top: 8px; }
.metric span { color: var(--muted); font-size: 18px; font-weight: 800; }

.toolbar { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; margin-bottom: 18px; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; }
.primary, .secondary, .danger, .success {
  border: 0; border-radius: 16px; font-size: 18px; font-weight: 900; min-height: 52px; padding: 12px 18px;
}
.secondary { background: #eaf1ff; color: var(--primary-dark); }
.success { background: var(--accent); color: white; }
.danger { background: #ffe3e3; color: var(--danger); }
.icon-button { background: transparent; border: 0; color: var(--muted); font-size: 34px; font-weight: 900; }

input, select, textarea {
  background: white; border: 2px solid var(--line); border-radius: 14px; color: var(--ink); min-height: 50px; padding: 10px 12px; width: 100%;
}
textarea { min-height: 92px; resize: vertical; }
label { color: var(--muted); display: grid; font-size: 15px; font-weight: 900; gap: 6px; }
.form-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid .full { grid-column: 1 / -1; }

.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; }
th, td { border-bottom: 1px solid var(--line); padding: 14px 10px; text-align: left; vertical-align: top; }
th { color: var(--muted); font-size: 13px; text-transform: uppercase; }
tr:hover td { background: #f8fbff; }

.badge { border-radius: 999px; display: inline-flex; font-weight: 900; padding: 8px 12px; white-space: nowrap; }
.recibido { background: #eef2f7; color: #495057; }
.en-lavado { background: #dbeafe; color: #1d4ed8; }
.en-secado { background: #fff4d6; color: #b7791f; }
.listo-para-retirar { background: #d3f9d8; color: #2b8a3e; }
.retirado { background: #e5dbff; color: #5f3dc4; }
.abonado { background: #fff0b3; color: #8a6d00; }

.machine-board { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.machine { border: 2px solid var(--line); border-radius: 18px; padding: 14px; }
.machine h4 { margin: 0 0 10px; }
.slot { background: #f8fbff; border-left: 6px solid var(--primary); border-radius: 12px; margin-top: 8px; padding: 10px; }
.storage-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
.location { border: 2px solid var(--line); border-radius: 18px; min-height: 116px; padding: 14px; }
.location.free { background: #ebfbee; }
.location.busy { background: #fff4e6; border-color: #ffd8a8; }

.modal-backdrop { align-items: center; background: rgba(15,23,42,.55); display: flex; inset: 0; justify-content: center; padding: 18px; position: fixed; z-index: 20; }
.modal-card { background: white; border-radius: 24px; box-shadow: var(--shadow); max-height: 92vh; max-width: 880px; overflow: auto; width: min(880px, 100%); }
.modal-header { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding: 18px 22px; }
.modal-header h2 { margin: 0; }
.modal-body { padding: 22px; }
.notice { background: #e7f5ff; border: 2px solid #a5d8ff; border-radius: 18px; color: #0b5394; font-weight: 800; padding: 14px; }

@media (max-width: 920px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); position: static; }
  .grid.two, .grid.three, .grid.four, .form-grid { grid-template-columns: 1fr; }
  .topbar { align-items: flex-start; flex-direction: column; gap: 12px; }
}

.section-card h2, .hero-card h2 { margin-bottom: 6px; }
.eyebrow-dark { color: var(--primary-dark); font-size: 13px; font-weight: 900; letter-spacing: .12em; margin: 0 0 4px; text-transform: uppercase; }
.hero-card { align-items: center; display: flex; gap: 18px; justify-content: space-between; }
.hero-card p { color: var(--muted); font-size: 18px; margin: 0; }
.status-pill.light { background: #eaf1ff; border-color: #cfe0ff; color: var(--primary-dark); }
.schedule-card { overflow-x: auto; }
.timeline-grid { display: grid; grid-template-columns: 86px repeat(var(--days), minmax(180px, 1fr)); min-width: 1040px; }
.timeline-head, .timeline-hour, .timeline-cell { border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); padding: 10px; }
.timeline-head { background: #eef5ff; color: var(--primary-dark); font-weight: 900; position: sticky; top: 0; text-transform: capitalize; z-index: 1; }
.timeline-hour { background: #f8fbff; color: var(--muted); font-weight: 900; }
.timeline-cell { min-height: 82px; }
.timeline-event { border-radius: 14px; display: grid; gap: 3px; margin-bottom: 8px; padding: 9px; }
.timeline-event.wash { background: #dbeafe; border-left: 5px solid #1d4ed8; }
.timeline-event.dry { background: #fff4d6; border-left: 5px solid #f59f00; }
.timeline-event span, .timeline-event small { color: #344054; }
.free-text { color: #9aa6b2; font-weight: 800; }
.legal-note { margin-bottom: 16px; }
.actions.mini { margin-top: 10px; }
.message-list { display: grid; gap: 12px; }
.notice-text { min-height: 180px; }

@media (max-width: 920px) {
  .hero-card { align-items: stretch; flex-direction: column; }
  .timeline-grid { min-width: 900px; }
}

.location-button { color: inherit; cursor: pointer; display: grid; font: inherit; text-align: left; width: 100%; }
.location-button strong, .location-button span, .location-button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.copy-row { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.preview-box { margin-top: 12px; }
.week-input { max-width: 180px; }
.report-panel { border-top: 8px solid var(--primary); }
.report-metrics { margin-bottom: 16px; }
.mini-metric { background: #f8fbff; border: 1px solid var(--line); border-radius: 18px; padding: 16px; }
.mini-metric span { color: var(--muted); font-weight: 900; }
.mini-metric strong { display: block; font-size: 26px; margin-top: 6px; }
.bar-list { display: grid; gap: 12px; margin-bottom: 18px; }
.bar-row { display: grid; gap: 8px; grid-template-columns: minmax(180px, 260px) 1fr; }
.bar-row small { color: var(--muted); display: block; }
.bars { align-content: center; display: grid; gap: 5px; }
.bar { border-radius: 999px; display: block; height: 12px; min-width: 4px; }
.bar.income { background: var(--accent); }
.bar.expense { background: var(--danger); }

@media (max-width: 920px) {
  .copy-row, .bar-row { grid-template-columns: 1fr; }
}

.simple-home { display: grid; gap: 18px; }
.home-actions { align-items: center; display: flex; gap: 16px; justify-content: center; }
.big-action { font-size: 24px; min-height: 78px; min-width: 230px; text-align: center; }
.tabs { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tab-button { background: white; border: 2px solid var(--line); border-radius: 22px; color: var(--ink); font-size: 22px; font-weight: 900; padding: 18px; }
.tab-button strong { color: var(--primary); display: block; font-size: 34px; margin-top: 4px; }
.tab-button.active { background: #eaf1ff; border-color: var(--primary); }
.filters-row { align-items: end; display: grid; gap: 12px; grid-template-columns: 1fr 220px auto; }
.order-card-list { display: grid; gap: 14px; }
.order-card { background: #fbfdff; border: 2px solid var(--line); border-left: 10px solid var(--primary); border-radius: 20px; display: grid; gap: 10px; padding: 16px; }
.order-card.listo { border-left-color: var(--accent); }
.order-card.retirado { border-left-color: #7048e8; opacity: .88; }
.order-main, .order-meta { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; }
.order-code { color: var(--primary-dark); font-size: 30px; }
.order-notes { background: #fff; border: 1px solid var(--line); border-radius: 14px; color: var(--muted); font-weight: 700; margin: 0; padding: 10px; }
.pendiente { background: #eef2f7; color: #495057; }
.listo { background: #d3f9d8; color: #2b8a3e; }
.client-card-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.client-card { background: #fff; border: 2px solid var(--line); border-radius: 22px; box-shadow: 0 8px 20px rgba(24,34,48,.06); display: grid; gap: 10px; padding: 18px; }
.client-avatar { align-items: center; background: #eaf1ff; border-radius: 50%; color: var(--primary-dark); display: inline-flex; font-size: 34px; height: 64px; justify-content: center; width: 64px; }
.machine-section-title { border-top: 4px solid var(--line); margin-top: 12px; padding-top: 18px; }
.machine.type-lavado { background: #f8fbff; border-color: #bfdbfe; }
.machine.type-secado { background: #fffdf5; border-color: #ffe8a3; }
.cash-section { border-left: 8px solid var(--primary); }
.cash-report-section { border-left: 8px solid var(--accent); }
.state-grid { display: grid; gap: 12px; }
.state-option { align-items: center; border: 2px solid var(--line); border-radius: 18px; color: var(--ink); display: flex; font-size: 22px; padding: 16px; }
.state-option.selected { background: #eaf1ff; border-color: var(--primary); }

@media (max-width: 920px) {
  .home-actions, .order-main, .order-meta { align-items: stretch; flex-direction: column; }
  .tabs, .filters-row { grid-template-columns: 1fr; }
  .big-action { width: 100%; }
}

/* Friendly UI refinements */
.big-action { font-size: 30px; min-height: 112px; min-width: 320px; border-radius: 28px; }
.home-actions { margin: 8px 0 6px; }
.tab-button { cursor: pointer; min-height: 112px; position: relative; }
.tab-button * { pointer-events: none; }
.tab-button.active { background: #fff4e6; border-color: var(--warning); }
.tab-button.active strong { color: #d9480f; }
.pendiente { background: #fff4e6; color: #d9480f; }
.order-card.pendiente { border-left-color: var(--warning); background: #fffaf2; }
.order-code { font-size: 34px; }
.client-avatar { background: #f1f5f9; color: #475569; font-size: 0; }
.client-avatar::before { content: "☺"; font-size: 38px; line-height: 1; }
.schedule-controls { align-items: end; display: grid; gap: 12px; grid-template-columns: auto minmax(180px, 240px) auto auto 1fr; }
.schedule-controls .preview-box { grid-column: 1 / -1; }
.machine-click { color: inherit; cursor: pointer; font: inherit; text-align: left; width: 100%; }
.machine.occupied { background: #fff5f5; border-color: #ff8787; }
.badge.blocked { background: #ffe3e3; color: var(--danger); }
.machine-slot { color: inherit; cursor: pointer; font: inherit; text-align: left; width: 100%; }
.state-grid { grid-template-columns: 1fr; }
.state-option { cursor: pointer; justify-content: flex-start; min-height: 72px; }
.state-option input { height: 24px; margin-right: 12px; width: 24px; }
.state-option span { font-weight: 900; }
.cash-section { min-height: 260px; }
.cash-report-section { margin-top: 0; }
@media (max-width: 920px) { .schedule-controls { grid-template-columns: 1fr; } .big-action { min-width: 0; } }

/* Latest laundry feedback refinements */
.tab-button.active { background: white; border-color: var(--line); }
.tab-button.active strong { color: var(--primary); }
.tab-button.active[data-tab="Pendiente"] { background: #fff4e6; border-color: var(--warning); }
.tab-button.active[data-tab="Pendiente"] strong { color: #d9480f; }
.tab-button.active[data-tab="Listo"] { background: #ebfbee; border-color: var(--accent); }
.tab-button.active[data-tab="Listo"] strong { color: #2b8a3e; }
.tab-button.active[data-tab="Retirado"] { background: #f3f0ff; border-color: #7048e8; }
.tab-button.active[data-tab="Retirado"] strong { color: #7048e8; }
.client-avatar { background: #eaf1ff; color: var(--primary-dark); font-size: 34px; }
.client-avatar::before { content: none; }
.items-builder { background: #f8fbff; border: 2px solid var(--line); border-radius: 18px; padding: 14px; }
.item-row { display: grid; gap: 10px; grid-template-columns: 90px 1.4fr 1fr 150px 54px; margin-bottom: 10px; }
.payment-badge { border-radius: 999px; display: inline-flex; font-weight: 900; padding: 5px 10px; }
.payment-badge.paid { background: #d3f9d8; color: #2b8a3e; }
.payment-badge.due { background: #fff4e6; color: #d9480f; }
.machine.free-machine { background: #ebfbee; border-color: #8ce99a; }
.free-machine-badge { background: #d3f9d8; color: #2b8a3e; }
.machine-board + .machine-section-title { margin-top: 24px; }
@media (max-width: 920px) { .item-row { grid-template-columns: 1fr; } }

.error-detail {
  white-space: pre-wrap;
  overflow-x: auto;
  background: #0f172a;
  color: #e2e8f0;
  padding: 12px;
  border-radius: 12px;
}

.history-list { display: grid; gap: 12px; }
.history-item { align-items: center; background: #f8fbff; border: 2px solid var(--line); border-radius: 16px; display: grid; gap: 10px; grid-template-columns: 1fr 2fr 1fr auto; padding: 12px; }
.history-item small { color: var(--muted); display: block; }
.order-detail ul { margin-top: 8px; padding-left: 22px; }
.machine-assign-form { border-top: 2px solid var(--line); margin-top: 16px; padding-top: 16px; }
input[readonly] { background: #eef4ff; color: var(--primary-dark); font-weight: 900; }
@media (max-width: 920px) { .history-item { grid-template-columns: 1fr; } }

.order-items-list { background: #f8fbff; border: 1px solid var(--line); border-radius: 14px; display: grid; gap: 6px; padding: 10px; }
.order-item-line { align-items: center; display: grid; gap: 8px; grid-template-columns: 1.4fr 1fr auto; }
.order-item-line small { color: var(--muted); }
.metrics-month-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); margin-top: 18px; }
.metric-month-card { background: #fff; border: 2px solid var(--line); border-radius: 20px; padding: 16px; }
.metric-month-head { align-items: center; display: flex; justify-content: space-between; gap: 12px; }
.metric-month-head span { color: var(--muted); font-weight: 800; }
.metric-bars { display: grid; gap: 8px; margin: 12px 0; }
.metric-bars label { display: flex; justify-content: space-between; font-size: 13px; font-weight: 800; }
.metric-bars div { background: #e9eef8; border-radius: 999px; height: 12px; overflow: hidden; }
.metric-bars .bar { display: block; height: 100%; }
.metric-bars .cash { background: #4dabf7; }
.metric-bars .transfer { background: #845ef7; }
.metric-insights { background: #f8fbff; border-radius: 14px; padding: 10px; }
.metric-insights p { margin: 4px 0; }
.copy-status { color: #2b8a3e; font-weight: 900; min-height: 22px; }
.cash-income-row { background: #ebfbee; }
.cash-expense-row { background: #fff5f5; }
.cash-type-badge { border-radius: 999px; display: inline-flex; font-weight: 900; padding: 4px 9px; }
.cash-type-badge.income { background: #d3f9d8; color: #2b8a3e; }
.cash-type-badge.expense { background: #ffe3e3; color: #c92a2a; }
.cash-movements-table tfoot th { background: #eef4ff; font-size: 16px; }
.metric-score-grid { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 12px; }
.metric-score-grid span { background: #f8fbff; border-radius: 12px; color: var(--muted); display: grid; font-size: 12px; font-weight: 800; padding: 9px; }
.metric-score-grid strong { color: var(--text); font-size: 15px; }
.client-card .success { background: #2f9e44; border-color: #2f9e44; color: #fff; }
.client-card .primary { background: var(--primary); border-color: var(--primary); color: #fff; }
.cash-day-hero { align-items: center; background: linear-gradient(135deg, #fff4e6, #ffe3e3); border: 3px solid #ff922b; display: flex; gap: 18px; justify-content: space-between; }
.new-day-button { box-shadow: 0 14px 28px rgba(201,42,42,.22); font-size: 22px; min-width: 230px; }
.metric-hero-grid .mini-metric { background: linear-gradient(135deg, #f8fbff, #ffffff); border: 2px solid #dbe7ff; border-radius: 18px; padding: 16px; }
.metric-glow { box-shadow: 0 18px 35px rgba(47,107,255,.12); }
.metric-glow small { color: var(--muted); display: block; font-weight: 800; margin-top: 6px; }
.insight-board { border: 2px solid #dbe7ff; margin-top: 16px; }
.insight-grid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.insight-grid span, .metric-insight-chip { background: white; border: 1px solid var(--line); border-radius: 14px; font-weight: 800; padding: 10px; }
.interactive-card { transition: transform .16s ease, box-shadow .16s ease; }
.interactive-card:hover { box-shadow: 0 16px 34px rgba(15,23,42,.12); transform: translateY(-2px); }
.interactive-card summary { cursor: pointer; list-style: none; }
.metric-bars .income { background: #2f9e44; }
.metric-bars .expense { background: #ff6b6b; }
@media (max-width: 920px) { .cash-day-hero { align-items: stretch; flex-direction: column; } .new-day-button { width: 100%; } }
.client-card-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.client-card { border-radius: 18px; gap: 7px; padding: 14px; }
.client-card h3 { font-size: 20px; margin: 2px 0; }
.client-card p { font-size: 14px; margin: 0; }
.client-card .actions { gap: 8px; }
.client-card .actions button { font-size: 14px; min-height: 40px; padding: 8px 10px; }
.metrics-focus-grid { display: grid; gap: 16px; grid-template-columns: minmax(240px, .8fr) minmax(320px, 1.2fr); margin: 18px 0; }
.top-client-list { display: grid; gap: 10px; }
.top-client-link { align-items: center; background: #f8fbff; border: 1px solid var(--line); border-radius: 14px; color: var(--text); display: grid; gap: 4px; grid-template-columns: auto 1fr; min-height: 58px; padding: 10px; text-align: left; }
.top-client-link span { background: var(--primary); border-radius: 999px; color: #fff; font-weight: 900; padding: 5px 8px; }
.top-client-link small { color: var(--muted); grid-column: 2; }
.hour-chart-wrap { position: relative; }
.y-axis-title { color: var(--muted); font-size: 12px; font-weight: 900; left: 10px; position: absolute; top: 6px; }
.hour-line-chart svg { background: linear-gradient(180deg, #f8fbff, #fff); border: 1px solid var(--line); border-radius: 16px; height: 230px; width: 100%; }
.hour-line-chart .axis-line { stroke: #98a8bd; stroke-width: 2; }
.hour-line-chart .grid-line { stroke: #e2e8f0; stroke-width: 1; }
.hour-line-chart text { fill: var(--muted); font-size: 12px; font-weight: 800; }
.hour-line-chart polyline { fill: none; stroke: var(--primary); stroke-linecap: round; stroke-linejoin: round; stroke-width: 4; }
.hour-points circle { fill: #fff; stroke: var(--primary); stroke-width: 3; }
.hour-chart-labels { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.hour-chart-labels span { background: #eef4ff; border-radius: 999px; color: var(--primary-dark); font-weight: 800; padding: 7px 10px; }
.history-toggle { cursor: pointer; display: inline-flex; list-style: none; margin-bottom: 12px; }
.compact-toolbar { margin-bottom: 10px; }
.negative-amount { color: #c92a2a; font-weight: 900; }
@media (max-width: 920px) { .metrics-focus-grid { grid-template-columns: 1fr; } }

.hour-axis-labels { display: grid; font-size: 10px; gap: 2px; grid-template-columns: repeat(24, 1fr); margin-top: 4px; text-align: center; }
.cash-delete-list { display: grid; gap: 10px; }
.cash-delete-option { align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 14px; color: var(--text); display: grid; gap: 4px; grid-template-columns: 1fr auto; min-height: 52px; padding: 10px; text-align: left; }
.cash-delete-option small { color: var(--muted); grid-column: 1 / -1; }
.cash-delete-option:hover { border-color: #ff8787; }
.client-picker-note { color: var(--muted); display: block; font-weight: 800; margin-top: 6px; }
.monthly-cash-panel { margin-top: 18px; }

/* Dynamic schedule redesign */
.schedule-hero { margin-bottom: 14px; }
.schedule-prediction-strip { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin-bottom: 14px; }
.schedule-prediction-strip article { background: linear-gradient(135deg, #edf7ff, #ffffff); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); padding: 16px; }
.schedule-prediction-strip span { color: var(--muted); display: block; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.schedule-prediction-strip strong { color: var(--primary-dark); display: block; font-size: 24px; margin: 5px 0; }
.schedule-prediction-strip small { color: var(--muted); font-weight: 800; }
.schedule-quick-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.schedule-machine-overview { margin-bottom: 14px; }
.dynamic-machine-board { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); margin-bottom: 16px; }
.machine-status-card { min-height: 158px; }
.machine-status-card small { color: var(--muted); display: block; font-weight: 800; margin: 6px 0; }
.schedule-calendar-panel { overflow-x: auto; }
.flexible-calendar { min-width: 760px; }
.schedule-slot { min-height: 70px; }
.timeline-event { border: 0; cursor: pointer; display: block; font: inherit; margin-bottom: 6px; text-align: left; width: 100%; }
.timeline-event.blocked-slot { background: #fff5f5; border-left: 5px solid var(--danger); }
.machine-modal-list { display: grid; gap: 10px; margin-bottom: 14px; }
.machine-modal-list .machine-slot { background: #f8fbff; border: 1px solid var(--line); border-radius: 14px; display: grid; gap: 6px; padding: 12px; }
.schedule-free-slots { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.schedule-free-slots article { background: #f8fbff; border: 1px solid var(--line); border-radius: 16px; padding: 14px; }
@media (max-width: 920px) { .schedule-quick-actions { align-items: stretch; flex-direction: column; } .schedule-quick-actions button { width: 100%; } .flexible-calendar { min-width: 620px; } }
.schedule-preview-note { background: #fff9db; border: 1px solid #ffd43b; border-radius: 14px; color: #7c5c00; font-weight: 900; margin: 0; padding: 10px 12px; }

/* Turnos: modo simple y tablero operativo */
.friendly-schedule-hero { align-items: center; gap: 22px; }
.schedule-main-action { border-radius: 30px; font-size: 24px; min-height: 86px; min-width: 260px; }
.schedule-help { color: var(--muted); font-weight: 800; margin: 6px 0 0; }
.schedule-simple-summary { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.schedule-simple-summary article { background: #fff; border: 2px solid var(--line); border-radius: 22px; box-shadow: 0 10px 24px rgba(24,34,48,.06); display: grid; gap: 8px; padding: 18px; }
.schedule-simple-summary span { color: var(--muted); font-weight: 900; text-transform: uppercase; }
.schedule-simple-summary strong { color: var(--primary-dark); font-size: 20px; }
.schedule-simple-summary .small { justify-self: start; padding: 8px 12px; }
.friendly-machine-overview { border-top: 8px solid var(--primary); }
.friendly-machine-board { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.machine-status-card { display: grid; gap: 12px; min-height: 210px; }
.machine-now { align-items: center; border-radius: 18px; display: flex; justify-content: space-between; padding: 12px; }
.machine-now span { font-size: 20px; font-weight: 1000; }
.machine-now strong { font-size: 15px; }
.machine-free-state { background: #d3f9d8; color: #2b8a3e; }
.machine-working-state { background: #dbeafe; color: #1d4ed8; }
.machine-reserved .machine-working-state { background: #ffe3e3; color: var(--danger); }
.machine-current, .machine-next { background: #fff; border: 1px solid var(--line); border-radius: 16px; display: grid; gap: 4px; padding: 12px; }
.machine-current small, .machine-next small { color: var(--muted); font-weight: 900; text-transform: uppercase; }
.machine-current strong, .machine-next strong { color: var(--ink); }
.machine-finish-time { color: var(--primary-dark); font-weight: 900; }
.machine-working { border-color: #74c0fc; }
.machine-reserved { background: #fff5f5; border-color: #ff8787; }
.day-agenda { border-top: 8px solid var(--accent); display: grid; gap: 16px; }
.empty-schedule-state { border-top-color: var(--warning); }
.agenda-group { display: grid; gap: 10px; }
.agenda-group h4 { color: var(--primary-dark); font-size: 22px; margin: 4px 0; }
.agenda-item { align-items: center; background: #fbfdff; border: 2px solid var(--line); border-radius: 18px; display: grid; gap: 12px; grid-template-columns: 130px 150px 1fr auto; padding: 12px; }
.agenda-time { background: #eef6ff; border-radius: 14px; color: var(--primary-dark); display: grid; gap: 2px; padding: 10px; }
.agenda-time strong { font-size: 18px; }
.agenda-machine { background: #fff4e6; border-radius: 999px; color: #d9480f; font-weight: 1000; padding: 10px 12px; text-align: center; }
.schedule-advanced-actions { border: 2px dashed #cbd5e1; }
.schedule-advanced-actions summary { align-items: center; cursor: pointer; display: flex; justify-content: space-between; list-style: none; }
.schedule-advanced-actions summary::-webkit-details-marker { display: none; }
.schedule-advanced-actions summary strong { color: var(--primary-dark); font-size: 22px; }
.schedule-advanced-actions summary span { color: var(--muted); font-weight: 800; }
.cycle-quick-actions { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-bottom: 16px; }
.cycle-quick-button { background: #f8fbff; border: 2px solid var(--line); border-radius: 16px; color: var(--primary-dark); cursor: pointer; font-weight: 1000; padding: 12px; }
.cycle-quick-button:hover { border-color: var(--primary); }
.cycle-quick-button.danger { background: #fff5f5; color: var(--danger); }
.conflict-warning { background: #fff4e6; border: 1px solid var(--warning); border-radius: 16px; color: #d9480f; padding: 12px; }

@media (max-width: 920px) {
  .friendly-schedule-hero { align-items: stretch; }
  .schedule-main-action { width: 100%; }
  .agenda-item { grid-template-columns: 1fr; }
  .agenda-machine { text-align: left; }
}

/* Turnos ultra simples */
.schedule-simple-hero { align-items: center; display: flex; gap: 18px; justify-content: space-between; }
.schedule-simple-hero h2 { font-size: 34px; margin: 0; }
.simple-schedule-summary { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.simple-schedule-summary article { background: #fff; border: 2px solid var(--line); border-radius: 20px; padding: 16px; text-align: center; }
.simple-schedule-summary span { color: var(--muted); display: block; font-weight: 900; margin-bottom: 6px; }
.simple-schedule-summary strong { color: var(--primary-dark); display: block; font-size: 34px; }
.simple-machine-panel { display: grid; gap: 16px; }
.simple-section-title { align-items: end; display: flex; justify-content: space-between; }
.simple-section-title h3 { font-size: 28px; margin: 0; }
.simple-section-title small { color: var(--muted); font-weight: 900; }
.simple-machine-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
.simple-machine-card { border: 3px solid transparent; border-radius: 22px; display: grid; gap: 7px; min-height: 138px; padding: 16px; text-align: left; }
.simple-machine-card strong { font-size: 20px; }
.simple-machine-card span { font-size: 22px; font-weight: 1000; }
.simple-machine-card small, .simple-machine-card em { font-style: normal; font-weight: 800; }
.simple-machine-card.free { background: #ebfbee; border-color: #69db7c; color: #2b8a3e; }
.simple-machine-card.working { background: #e7f5ff; border-color: #74c0fc; color: #1864ab; }
.simple-machine-card.reserved { background: #fff5f5; border-color: #ff8787; color: #c92a2a; }
.simple-day-agenda { display: grid; gap: 10px; }
.simple-agenda-row { align-items: center; background: #fff; border: 2px solid var(--line); border-radius: 16px; color: var(--ink); cursor: pointer; display: grid; font: inherit; gap: 10px; grid-template-columns: 80px 130px 1fr; padding: 12px 14px; text-align: left; }
.simple-agenda-row strong { color: var(--primary-dark); font-size: 20px; }
.simple-agenda-row span { background: #fff4e6; border-radius: 999px; color: #d9480f; font-weight: 1000; padding: 8px 10px; text-align: center; }
.simple-agenda-row em { color: var(--ink); font-style: normal; font-weight: 900; }
.simple-advanced { opacity: .92; }
.simple-advanced summary { min-height: 42px; }
.simple-manual-actions { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.simple-calendar-controls { grid-template-columns: auto auto minmax(180px, 220px) minmax(140px, 170px); }
.simple-calendar-panel { margin-top: 14px; }
.simple-machine-modal { display: grid; gap: 10px; margin-bottom: 16px; }
.simple-machine-modal h3, .simple-assign-form h3 { margin: 0; }
.simple-modal-job { background: #f8fbff; border: 2px solid var(--line); border-radius: 16px; color: var(--ink); cursor: pointer; display: flex; font: inherit; justify-content: space-between; padding: 12px; text-align: left; }
.simple-modal-job span { color: var(--primary-dark); font-weight: 900; }
.simple-assign-form { border-top: 2px solid var(--line); padding-top: 14px; }

@media (max-width: 920px) {
  .schedule-simple-hero, .simple-section-title { align-items: stretch; flex-direction: column; }
  .simple-schedule-summary, .simple-manual-actions, .simple-calendar-controls, .simple-agenda-row { grid-template-columns: 1fr; }
}

/* Turnos sin calendario separado */
.simple-date-picker { align-items: center; color: var(--muted); display: flex; font-weight: 900; gap: 8px; }
.machine-simple-status { border-radius: 22px; display: grid; gap: 6px; padding: 18px; }
.machine-simple-status span { font-size: 22px; font-weight: 1000; }
.machine-simple-status strong { font-size: 24px; }
.machine-simple-status small { font-weight: 900; }
.machine-simple-status.free { background: #ebfbee; border: 3px solid #69db7c; color: #2b8a3e; }
.machine-simple-status.busy { background: #e7f5ff; border: 3px solid #74c0fc; color: #1864ab; }
.machine-simple-actions { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.simple-assign-details { border: 2px solid var(--line); border-radius: 18px; padding: 12px; }
.simple-assign-details summary { color: var(--primary-dark); cursor: pointer; font-size: 20px; font-weight: 1000; }
.simple-assign-details .simple-assign-form { border-top: 0; margin-top: 12px; padding-top: 0; }

@media (max-width: 920px) {
  .machine-simple-actions { grid-template-columns: 1fr; }
  .simple-date-picker { align-items: stretch; flex-direction: column; }
}

/* Turnos con tickets pendientes */
.schedule-workspace { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr) 280px; }
.schedule-main-board { display: grid; gap: 16px; }
.pending-ticket-column { background: #fff; border: 2px solid var(--line); border-radius: 24px; box-shadow: 0 10px 26px rgba(24,34,48,.07); display: grid; gap: 10px; max-height: calc(100vh - 130px); overflow: auto; padding: 14px; position: sticky; top: 18px; }
.pending-ticket-header { align-items: center; display: flex; justify-content: space-between; }
.pending-ticket-header h3 { margin: 0; }
.pending-ticket-header strong { background: #fff4e6; border-radius: 999px; color: #d9480f; padding: 6px 12px; }
.pending-ticket { align-items: center; background: #fbfdff; border: 2px solid var(--line); border-radius: 18px; cursor: grab; display: grid; gap: 8px; grid-template-columns: 1fr auto; padding: 10px; }
.pending-ticket-main { background: transparent; border: 0; color: inherit; cursor: pointer; display: grid; font: inherit; gap: 2px; padding: 0; text-align: left; }
.pending-ticket-code { color: var(--primary-dark); font-size: 18px; }
.pending-ticket-client { color: var(--ink); font-weight: 1000; }
.pending-ticket-meta { color: var(--muted); font-weight: 800; }
.detail-dot { background: #eef6ff; border: 0; border-radius: 999px; color: var(--primary-dark); cursor: pointer; font-weight: 1000; padding: 8px 10px; }
.selected-ticket { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(47,111,237,.12); }
.pending-ticket.dragging { opacity: .55; }
.simple-machine-card.drop-hover { box-shadow: 0 0 0 5px rgba(47,111,237,.2); transform: translateY(-2px); }
.daily-slot-list { display: grid; gap: 8px; }
.daily-slot { align-items: start; background: #fff; border: 2px solid var(--line); border-radius: 16px; display: grid; gap: 10px; grid-template-columns: 72px 1fr; min-height: 58px; padding: 10px; }
.daily-slot > strong { color: var(--primary-dark); font-size: 18px; padding-top: 8px; }
.daily-slot > div { display: grid; gap: 8px; }
.daily-slot:hover { border-color: #bfdbfe; }
.compact-cycle { align-items: center; background: #e7f5ff; border: 0; border-radius: 14px; color: #1864ab; cursor: grab; display: grid; font: inherit; gap: 8px; grid-template-columns: 58px 120px 1fr; padding: 9px 10px; text-align: left; }
.compact-cycle strong, .compact-cycle span { font-weight: 1000; }
.compact-cycle em { color: var(--ink); font-style: normal; font-weight: 900; }
.slot-empty { color: #adb5bd; display: block; font-weight: 900; padding: 8px 0; }
.empty-mini { color: var(--muted); font-weight: 900; margin: 0; }

@media (max-width: 1100px) {
  .schedule-workspace { grid-template-columns: 1fr; }
  .pending-ticket-column { max-height: none; position: static; }
}
@media (max-width: 720px) {
  .daily-slot, .compact-cycle { grid-template-columns: 1fr; }
}
.compact-ticket { min-height: 88px; }
.metrics-controls { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(150px, 1fr)); }
.performance-line-card { background: #fff; border: 2px solid #dbe7ff; border-radius: 24px; box-shadow: 0 20px 45px rgba(47,107,255,.1); padding: 18px; }
.performance-chart-wrap { position: relative; padding: 6px 0 34px; }
.performance-line-card svg { background: linear-gradient(180deg, #f8fbff, #fff); border: 1px solid var(--line); border-radius: 18px; height: 360px; width: 100%; }
.performance-line-card .axis-line { stroke: #98a8bd; stroke-width: 2; }
.performance-line-card .grid-line { stroke: #e2e8f0; stroke-width: 1; }
.performance-line-card text { fill: var(--muted); font-size: 12px; font-weight: 800; }
.performance-line-card polyline { fill: none; stroke: var(--primary); stroke-linecap: round; stroke-linejoin: round; stroke-width: 5; }
.performance-point { fill: #2f6fed; stroke: #fff; stroke-width: 2; }
.performance-point.selected-point { fill: #2f9e44; }
.performance-point.compare-point { fill: #f08c00; }
.performance-axis-labels { bottom: 14px; left: 76px; position: absolute; right: 40px; }
.performance-axis-labels span { color: var(--muted); font-size: 12px; font-weight: 900; position: absolute; transform: translateX(-50%); }
.x-axis-title { bottom: -6px; color: var(--muted); font-size: 13px; font-weight: 900; left: 0; position: absolute; right: 0; text-align: center; }
.comparison-chip { background: #f8fbff; border: 1px solid var(--line); border-radius: 16px; display: grid; gap: 4px; min-width: 220px; padding: 10px; }
.comparison-chip em { color: var(--primary-dark); font-style: normal; font-weight: 1000; }
.muted-chip { color: var(--muted); font-weight: 800; }
.single-focus { grid-template-columns: minmax(240px, 1fr); }
.unassigned-cycle { background: #fff4e6; color: #e67700; }
.turn-history { background: #f8fbff; border: 1px solid var(--line); border-radius: 16px; margin: 12px 0; overflow-x: auto; padding: 12px; }
.turn-history table { border-collapse: collapse; width: 100%; }
.turn-history th, .turn-history td { border-bottom: 1px solid var(--line); padding: 8px; text-align: left; }
@media (max-width: 760px) { .metrics-controls { grid-template-columns: 1fr; } }
.performance-points { pointer-events: all; }
.global-turn-history { border-top: 6px solid var(--primary); }
.machine-availability-row { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:6px 0; }
.machine-pill { border-radius:999px; font-weight:900; padding:6px 10px; }
.machine-pill.free { background:#d3f9d8; color:#2b8a3e; }
.machine-pill.busy { background:#ffe3e3; color:#c92a2a; }
.service-flag { background:#edf2ff; border:1px solid #bac8ff; border-radius:999px; color:#364fc7; display:inline-block; font-size:10px; font-weight:900; justify-self:start; padding:1px 6px; }

/* Mejoras finales: responsive + tema claro/oscuro/sistema */
html { background: var(--bg); }
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0f172a;
  --card: #111827;
  --primary: #60a5fa;
  --primary-dark: #93c5fd;
  --accent: #34d399;
  --warning: #fbbf24;
  --danger: #f87171;
  --ink: #e5e7eb;
  --muted: #94a3b8;
  --line: #334155;
  --shadow: 0 18px 45px rgba(0,0,0,.35);
}
:root[data-theme="dark"] .topbar { background: linear-gradient(135deg, #0f172a, #1e3a8a); }
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .modal-card,
:root[data-theme="dark"] .nav-button,
:root[data-theme="dark"] .pending-ticket-column,
:root[data-theme="dark"] .performance-line-card,
:root[data-theme="dark"] .metric-month-card,
:root[data-theme="dark"] .annual-comparison-card,
:root[data-theme="dark"] .comparison-chip,
:root[data-theme="dark"] .mini-metric,
:root[data-theme="dark"] .machine,
:root[data-theme="dark"] .location,
:root[data-theme="dark"] .simple-assign-details,
:root[data-theme="dark"] .turn-history,
:root[data-theme="dark"] .daily-slot,
:root[data-theme="dark"] .pending-ticket,
:root[data-theme="dark"] .order-card,
:root[data-theme="dark"] .order-notes,
:root[data-theme="dark"] .tab-button,
:root[data-theme="dark"] .monthly-cash-panel,
:root[data-theme="dark"] .history-item,
:root[data-theme="dark"] .item-row,
:root[data-theme="dark"] .items-builder,
:root[data-theme="dark"] .machine-simple-status,
:root[data-theme="dark"] .timeline-hour,
:root[data-theme="dark"] .timeline-cell {
  background: var(--card);
  border-color: var(--line);
  color: var(--ink);
}
:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea {
  background: #020617;
  border-color: var(--line);
  color: var(--ink);
}
:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder { color: #64748b; }
:root[data-theme="dark"] .secondary,
:root[data-theme="dark"] .detail-dot,
:root[data-theme="dark"] .status-pill.light,
:root[data-theme="dark"] .timeline-head,
:root[data-theme="dark"] .tab-button.active,
:root[data-theme="dark"] .service-flag {
  background: #1e293b;
  border-color: #334155;
  color: #bfdbfe;
}
:root[data-theme="dark"] .danger { background: #451a1a; color: #fecaca; }
:root[data-theme="dark"] .success { background: #047857; color: #ecfdf5; }
:root[data-theme="dark"] tr:hover td,
:root[data-theme="dark"] .slot,
:root[data-theme="dark"] .timeline-event span,
:root[data-theme="dark"] .timeline-event small,
:root[data-theme="dark"] .performance-line-card svg {
  background: #0b1220;
  color: var(--ink);
}
:root[data-theme="dark"] .performance-line-card svg { background: linear-gradient(180deg, #0b1220, #111827); }
:root[data-theme="dark"] .performance-point { stroke: #0f172a; }
:root[data-theme="dark"] .compact-cycle { background: #172554; color: #bfdbfe; }
:root[data-theme="dark"] .compact-cycle em,
:root[data-theme="dark"] .pending-ticket-client,
:root[data-theme="dark"] .machine-simple-status small { color: var(--ink); }
:root[data-theme="dark"] .unassigned-cycle { background: #451a03; color: #fed7aa; }
:root[data-theme="dark"] .notice { background: #082f49; border-color: #0369a1; color: #bae6fd; }
:root[data-theme="dark"] .location.free,
:root[data-theme="dark"] .machine-pill.free,
:root[data-theme="dark"] .machine-simple-status.free { background: #052e1b; border-color: #166534; color: #bbf7d0; }
:root[data-theme="dark"] .location.busy,
:root[data-theme="dark"] .machine-pill.busy,
:root[data-theme="dark"] .machine-simple-status.busy { background: #3b1605; border-color: #9a3412; color: #fed7aa; }

.card,
.toolbar,
.actions,
.order-card,
.mini-metric,
.performance-line-card,
.metric-month-card,
.annual-comparison-card,
.schedule-workspace,
.schedule-main-board,
.machine-board,
.simple-machine-grid,
.pending-ticket-column,
.daily-slot,
.compact-cycle,
.form-grid,
.filters-row { min-width: 0; }
.table-wrap,
.schedule-card,
.turn-history,
.performance-chart-wrap,
.monthly-cash-panel,
.cash-history-table,
.daily-slot-list { overflow-x: auto; }
table { min-width: 680px; }
.performance-line-card svg { min-width: 660px; }
.metric-month-head { align-items: start; display: flex; gap: 16px; justify-content: space-between; }
.metrics-focus-grid { display: grid; gap: 16px; grid-template-columns: minmax(260px, 1fr) minmax(320px, 1.4fr); }
.metric-month-card,
.annual-comparison-card { border: 1px solid var(--line); border-radius: 22px; padding: 18px; }
.top-client-list { display: grid; gap: 10px; }
.top-client-list p { color: var(--muted); font-weight: 800; margin: 0; }
.top-client-link { align-items: center; background: #f8fbff; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); display: flex; justify-content: space-between; padding: 10px 12px; text-decoration: none; }
.top-client-link strong { color: var(--primary-dark); }
:root[data-theme="dark"] .top-client-link { background: #0b1220; }
.annual-comparison-card table { min-width: 620px; }

@media (max-width: 1100px) {
  .metrics-focus-grid { grid-template-columns: 1fr; }
  .app-shell { padding: 14px; }
  .schedule-workspace { grid-template-columns: 1fr; }
  .pending-ticket-column { max-height: none; position: static; }
}
@media (max-width: 760px) {
  body { overflow-x: hidden; }
  .topbar { padding: 18px; }
  .app-shell { gap: 12px; padding: 12px; }
  .sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .nav-button { font-size: 16px; min-height: 50px; padding: 10px; }
  .card { border-radius: 18px; padding: 16px; }
  .primary, .secondary, .danger, .success { min-height: 46px; width: 100%; }
  .actions, .toolbar, .home-actions, .order-main, .order-meta, .metric-month-head { align-items: stretch; flex-direction: column; }
  .tabs, .filters-row, .copy-row, .form-grid, .grid.two, .grid.three, .grid.four, .metrics-controls { grid-template-columns: 1fr; }
  .daily-slot-list { display: block; overflow-x: auto; padding-bottom: 6px; }
  .daily-slot { min-width: 360px; margin-bottom: 8px; }
  .compact-cycle { grid-template-columns: 1fr; }
  .modal-backdrop { align-items: stretch; padding: 10px; }
  .modal-card { max-height: calc(100vh - 20px); }
  table { min-width: 760px; }
  .performance-line-card svg { min-width: 720px; }
  .performance-axis-labels { min-width: 610px; }
}
@media (max-width: 520px) {
  .sidebar { grid-template-columns: 1fr; }
  .status-pill { width: 100%; }
  .big-action { min-width: 0; width: 100%; }
  .order-code { font-size: 24px; }
}

/* Ajustes Turnos v4: cronograma protagonista, disponibilidad bajo demanda */
.schedule-main-board > .schedule-simple-hero { margin-bottom: 0; }
.simple-day-agenda { margin-top: 0; }
.daily-slot {
  align-items: stretch;
  cursor: pointer;
  grid-template-columns: 82px minmax(0, 1fr);
  min-height: 64px;
}
.daily-slot > strong {
  align-self: stretch;
  background: #f8fbff;
  border-radius: 12px;
  display: grid;
  place-items: start center;
  padding: 12px 6px;
}
.daily-slot > div { min-width: 0; }
.daily-slot:hover { background: #f8fbff; border-color: var(--primary); }
.compact-cycle {
  border: 1px solid transparent;
  border-left: 8px solid #1d4ed8;
  box-shadow: none;
  cursor: grab;
  display: grid;
  gap: 12px;
  grid-template-columns: 112px minmax(160px, 230px) minmax(0, 1fr);
  min-height: 66px;
  padding: 12px 14px;
  width: 100%;
}
.compact-cycle.assigned-cycle {
  background: #fff4e6;
  border-color: #ffd8a8;
  border-left-color: #f08c00;
  color: #d9480f;
}
.compact-cycle.unassigned-cycle {
  background: #e7f5ff;
  border-color: #d0ebff;
  border-left-color: #1d4ed8;
  color: #1864ab;
}
.cycle-time,
.cycle-machine,
.cycle-person { min-width: 0; }
.cycle-time {
  align-self: center;
  color: var(--primary-dark);
  font-size: 16px;
  font-weight: 1000;
  white-space: nowrap;
}
.cycle-machine {
  align-self: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-weight: 1000;
}
.cycle-machine small {
  background: #eef6ff;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  color: var(--primary-dark);
  font-size: 12px;
  font-weight: 1000;
  padding: 3px 8px;
}
.assigned-cycle .cycle-machine small {
  background: #fff9db;
  border-color: #ffd43b;
  color: #b45309;
}
.cycle-person {
  align-items: baseline;
  align-self: center;
  display: flex;
  gap: 8px;
}
.cycle-person strong {
  color: var(--ink);
  font-size: 17px;
  font-weight: 1000;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cycle-person em {
  color: var(--muted);
  flex: none;
  font-style: normal;
  font-weight: 900;
}
.slot-empty { padding: 12px 4px; }
.slot-availability-modal { display: grid; gap: 16px; }
.slot-time-banner {
  background: #eef6ff;
  border: 2px solid #bfdbfe;
  border-radius: 18px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
}
.slot-time-banner span { color: var(--muted); font-weight: 900; }
.slot-time-banner strong { color: var(--primary-dark); font-size: 24px; }
.slot-availability-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.slot-availability-grid article {
  background: #fff;
  border: 2px solid var(--line);
  border-radius: 18px;
  display: grid;
  gap: 10px;
  padding: 16px;
}
.slot-availability-grid article span { color: var(--muted); font-weight: 900; }
.slot-availability-grid article strong { color: var(--primary-dark); font-size: 34px; }
.machine-chip-list { display: flex; flex-wrap: wrap; gap: 8px; }
.machine-mini-chip {
  background: #ebfbee;
  border: 1px solid #8ce99a;
  border-radius: 999px;
  color: #2b8a3e;
  font-weight: 900;
  padding: 7px 10px;
}
.muted-inline,
.slot-help-text { color: var(--muted); font-weight: 900; }
.slot-assignment-box {
  background: #f8fbff;
  border: 2px solid var(--line);
  border-radius: 18px;
  padding: 14px;
}
.slot-assignment-box p { margin-top: 0; }

:root[data-theme="dark"] .daily-slot > strong,
:root[data-theme="dark"] .daily-slot:hover,
:root[data-theme="dark"] .slot-assignment-box,
:root[data-theme="dark"] .slot-availability-grid article { background: #0b1220; }
:root[data-theme="dark"] .compact-cycle.assigned-cycle { background: #451a03; border-color: #9a3412; border-left-color: #f59e0b; color: #fed7aa; }
:root[data-theme="dark"] .compact-cycle.unassigned-cycle { background: #172554; border-color: #1e3a8a; border-left-color: #60a5fa; color: #bfdbfe; }
:root[data-theme="dark"] .cycle-machine small { background: #111827; border-color: #334155; color: #bfdbfe; }
:root[data-theme="dark"] .assigned-cycle .cycle-machine small { background: #3b1605; border-color: #9a3412; color: #fed7aa; }
:root[data-theme="dark"] .slot-time-banner { background: #082f49; border-color: #0369a1; }
:root[data-theme="dark"] .machine-mini-chip { background: #052e1b; border-color: #166534; color: #bbf7d0; }

@media (max-width: 860px) {
  .compact-cycle { grid-template-columns: 96px minmax(0, 1fr); }
  .cycle-person { grid-column: 1 / -1; }
  .slot-availability-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .daily-slot { grid-template-columns: 1fr; }
  .daily-slot > strong { justify-items: start; }
  .compact-cycle { grid-template-columns: 1fr; }
  .cycle-person { display: grid; gap: 2px; }
}

/* Ajustes v6: limpieza de turnos y modo nocturno más parejo */
.remove-calendar-button { background: #fff0f0; border: 2px solid #ffc9c9; }
.schedule-main-board .global-turn-history { margin-top: 18px; }

:root[data-theme="dark"] body,
:root[data-theme="dark"] html {
  background: var(--bg);
  color: var(--ink);
}
:root[data-theme="dark"] .content,
:root[data-theme="dark"] .view,
:root[data-theme="dark"] .app-shell { background: transparent; }
:root[data-theme="dark"] .topbar { box-shadow: inset 0 -1px 0 #1e293b; }
:root[data-theme="dark"] .status-pill { background: rgba(15, 23, 42, .72); border-color: #334155; color: #e2e8f0; }
:root[data-theme="dark"] .eyebrow,
:root[data-theme="dark"] .eyebrow-dark { color: #93c5fd; }
:root[data-theme="dark"] label,
:root[data-theme="dark"] th,
:root[data-theme="dark"] small,
:root[data-theme="dark"] .muted-inline,
:root[data-theme="dark"] .slot-help-text,
:root[data-theme="dark"] .metric span,
:root[data-theme="dark"] .hero-card p,
:root[data-theme="dark"] .pending-ticket-meta,
:root[data-theme="dark"] .cycle-person em,
:root[data-theme="dark"] .free-text,
:root[data-theme="dark"] .slot-empty { color: #cbd5e1; }
:root[data-theme="dark"] table,
:root[data-theme="dark"] th,
:root[data-theme="dark"] td { border-color: #334155; }
:root[data-theme="dark"] tr:hover td { background: #111c31; }
:root[data-theme="dark"] .primary { background: #2563eb; border-color: #2563eb; color: #eff6ff; }
:root[data-theme="dark"] .nav-button.active,
:root[data-theme="dark"] .primary:hover { background: #1d4ed8; color: #fff; }
:root[data-theme="dark"] .secondary,
:root[data-theme="dark"] .detail-dot,
:root[data-theme="dark"] .cycle-quick-button,
:root[data-theme="dark"] .history-toggle,
:root[data-theme="dark"] .tab-button.active,
:root[data-theme="dark"] .service-flag { background: #172554; border-color: #1e40af; color: #bfdbfe; }
:root[data-theme="dark"] .danger,
:root[data-theme="dark"] .remove-calendar-button { background: #451a1a; border-color: #7f1d1d; color: #fecaca; }
:root[data-theme="dark"] .success { background: #047857; color: #ecfdf5; }
:root[data-theme="dark"] .icon-button { color: #cbd5e1; }
:root[data-theme="dark"] .modal-backdrop { background: rgba(2, 6, 23, .78); }
:root[data-theme="dark"] .modal-header { border-color: #334155; }
:root[data-theme="dark"] .notice,
:root[data-theme="dark"] .slot-time-banner { background: #082f49; border-color: #0369a1; color: #bae6fd; }
:root[data-theme="dark"] .slot-time-banner span,
:root[data-theme="dark"] .slot-time-banner strong { color: #dbeafe; }
:root[data-theme="dark"] .mini-metric,
:root[data-theme="dark"] .order-card,
:root[data-theme="dark"] .client-card,
:root[data-theme="dark"] .cash-day-hero,
:root[data-theme="dark"] .cash-section,
:root[data-theme="dark"] .report-panel,
:root[data-theme="dark"] .section-card,
:root[data-theme="dark"] .hero-card,
:root[data-theme="dark"] .orders-panel,
:root[data-theme="dark"] .day-agenda,
:root[data-theme="dark"] .simple-day-agenda,
:root[data-theme="dark"] .global-turn-history,
:root[data-theme="dark"] .slot-assignment-box,
:root[data-theme="dark"] .slot-availability-grid article,
:root[data-theme="dark"] .top-client-link,
:root[data-theme="dark"] .monthly-cash-panel,
:root[data-theme="dark"] .performance-line-card,
:root[data-theme="dark"] .metric-month-card,
:root[data-theme="dark"] .annual-comparison-card,
:root[data-theme="dark"] .items-builder,
:root[data-theme="dark"] .item-row,
:root[data-theme="dark"] .history-item { background: #111827; border-color: #334155; color: #e5e7eb; }
:root[data-theme="dark"] .daily-slot { background: #0f172a; border-color: #334155; color: #e5e7eb; }
:root[data-theme="dark"] .daily-slot > strong { background: #0b1220; color: #bfdbfe; }
:root[data-theme="dark"] .daily-slot:hover { background: #111c31; border-color: #60a5fa; }
:root[data-theme="dark"] .compact-cycle.assigned-cycle { background: #3b1d07; border-color: #92400e; border-left-color: #f59e0b; color: #fed7aa; }
:root[data-theme="dark"] .compact-cycle.unassigned-cycle { background: #0b2a45; border-color: #1d4ed8; border-left-color: #60a5fa; color: #bfdbfe; }
:root[data-theme="dark"] .cycle-person strong,
:root[data-theme="dark"] .pending-ticket-code,
:root[data-theme="dark"] .order-code,
:root[data-theme="dark"] .top-client-link strong,
:root[data-theme="dark"] .metric strong,
:root[data-theme="dark"] .mini-metric strong,
:root[data-theme="dark"] .slot-availability-grid article strong,
:root[data-theme="dark"] .comparison-chip em { color: #bfdbfe; }
:root[data-theme="dark"] .assigned-cycle .cycle-person strong { color: #ffedd5; }
:root[data-theme="dark"] .cycle-machine small { background: #0f172a; border-color: #334155; color: #bfdbfe; }
:root[data-theme="dark"] .assigned-cycle .cycle-machine small { background: #431407; border-color: #92400e; color: #fed7aa; }
:root[data-theme="dark"] .pending-ticket-column { background: rgba(15,23,42,.92); border-color: #334155; }
:root[data-theme="dark"] .pending-ticket { background: #111827; border-color: #334155; color: #e5e7eb; }
:root[data-theme="dark"] .pending-ticket.selected-ticket { background: #172554; border-color: #60a5fa; }
:root[data-theme="dark"] .client-avatar,
:root[data-theme="dark"] input[readonly],
:root[data-theme="dark"] .hour-chart-labels span { background: #172554; color: #bfdbfe; }
:root[data-theme="dark"] .badge,
:root[data-theme="dark"] .recibido,
:root[data-theme="dark"] .pendiente { background: #1e293b; color: #e2e8f0; }
:root[data-theme="dark"] .en-lavado,
:root[data-theme="dark"] .listo { background: #0c4a6e; color: #bae6fd; }
:root[data-theme="dark"] .en-secado { background: #451a03; color: #fed7aa; }
:root[data-theme="dark"] .listo-para-retirar,
:root[data-theme="dark"] .success-badge { background: #064e3b; color: #bbf7d0; }
:root[data-theme="dark"] .retirado { background: #312e81; color: #ddd6fe; }
:root[data-theme="dark"] .abonado { background: #713f12; color: #fef3c7; }
:root[data-theme="dark"] .order-card.listo { border-left-color: #10b981; }
:root[data-theme="dark"] .order-card.retirado { border-left-color: #8b5cf6; }
:root[data-theme="dark"] .order-notes { background: #0b1220; color: #cbd5e1; }
:root[data-theme="dark"] .location.free,
:root[data-theme="dark"] .machine-pill.free,
:root[data-theme="dark"] .machine-mini-chip,
:root[data-theme="dark"] .machine-simple-status.free { background: #052e1b; border-color: #166534; color: #bbf7d0; }
:root[data-theme="dark"] .location.busy,
:root[data-theme="dark"] .machine-pill.busy,
:root[data-theme="dark"] .machine-simple-status.busy { background: #3b1605; border-color: #9a3412; color: #fed7aa; }
:root[data-theme="dark"] .performance-line-card svg { background: #0b1220; }
:root[data-theme="dark"] .axis-line,
:root[data-theme="dark"] .grid-line { stroke: #334155; }
:root[data-theme="dark"] .error-detail { background: #020617; color: #e5e7eb; border-color: #334155; }

/* Ajustes v7: modo nocturno realmente legible */
:root[data-theme="dark"] {
  --bg: #0b1220;
  --card: #111827;
  --ink: #f8fafc;
  --muted: #cbd5e1;
  --line: #334155;
  --primary: #3b82f6;
  --primary-dark: #bfdbfe;
  --accent: #10b981;
  --warning: #f59e0b;
  --danger: #ef4444;
}

:root[data-theme="dark"] body {
  background: #0b1220;
  color: #f8fafc;
}

:root[data-theme="dark"] .topbar {
  background: linear-gradient(135deg, #10213f, #1e3a8a);
}

:root[data-theme="dark"] .card,
:root[data-theme="dark"] .modal-card,
:root[data-theme="dark"] .nav-button,
:root[data-theme="dark"] .section-card,
:root[data-theme="dark"] .hero-card,
:root[data-theme="dark"] .orders-panel,
:root[data-theme="dark"] .client-card,
:root[data-theme="dark"] .cash-section,
:root[data-theme="dark"] .report-panel,
:root[data-theme="dark"] .mini-metric,
:root[data-theme="dark"] .metric-month-card,
:root[data-theme="dark"] .annual-comparison-card,
:root[data-theme="dark"] .performance-line-card,
:root[data-theme="dark"] .monthly-cash-panel,
:root[data-theme="dark"] .turn-history,
:root[data-theme="dark"] .global-turn-history,
:root[data-theme="dark"] .pending-ticket-column,
:root[data-theme="dark"] .slot-availability-grid article,
:root[data-theme="dark"] .slot-assignment-box {
  background: #111827 !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
}

:root[data-theme="dark"] h1,
:root[data-theme="dark"] h2,
:root[data-theme="dark"] h3,
:root[data-theme="dark"] h4,
:root[data-theme="dark"] p,
:root[data-theme="dark"] span,
:root[data-theme="dark"] strong,
:root[data-theme="dark"] em,
:root[data-theme="dark"] td,
:root[data-theme="dark"] th,
:root[data-theme="dark"] label,
:root[data-theme="dark"] small {
  color: inherit;
}

:root[data-theme="dark"] .eyebrow,
:root[data-theme="dark"] .eyebrow-dark,
:root[data-theme="dark"] .order-code,
:root[data-theme="dark"] .pending-ticket-code,
:root[data-theme="dark"] .metric strong,
:root[data-theme="dark"] .mini-metric strong,
:root[data-theme="dark"] .top-client-link strong,
:root[data-theme="dark"] .slot-availability-grid article strong,
:root[data-theme="dark"] .daily-slot > strong,
:root[data-theme="dark"] .cycle-time {
  color: #bfdbfe !important;
}

:root[data-theme="dark"] .muted-inline,
:root[data-theme="dark"] .slot-help-text,
:root[data-theme="dark"] .metric span,
:root[data-theme="dark"] .hero-card p,
:root[data-theme="dark"] .pending-ticket-meta,
:root[data-theme="dark"] .cycle-person em,
:root[data-theme="dark"] .free-text,
:root[data-theme="dark"] .slot-empty,
:root[data-theme="dark"] .order-item-line small,
:root[data-theme="dark"] .top-client-list p {
  color: #cbd5e1 !important;
}

:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea {
  background: #020617 !important;
  border-color: #475569 !important;
  color: #f8fafc !important;
}

:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder {
  color: #94a3b8 !important;
}

:root[data-theme="dark"] .order-card {
  background: #162033 !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
  opacity: 1 !important;
}

:root[data-theme="dark"] .order-card.pendiente {
  background: #201b10 !important;
  border-left-color: #f59e0b !important;
}

:root[data-theme="dark"] .order-card.listo {
  background: #0f2a24 !important;
  border-left-color: #10b981 !important;
}

:root[data-theme="dark"] .order-card.retirado {
  background: #211b3f !important;
  border-left-color: #8b5cf6 !important;
}

:root[data-theme="dark"] .order-items-list,
:root[data-theme="dark"] .order-item-line,
:root[data-theme="dark"] .order-notes,
:root[data-theme="dark"] .items-builder,
:root[data-theme="dark"] .item-row,
:root[data-theme="dark"] .history-item,
:root[data-theme="dark"] .top-client-link,
:root[data-theme="dark"] .comparison-chip,
:root[data-theme="dark"] .metric-insights,
:root[data-theme="dark"] .insight-grid span,
:root[data-theme="dark"] .metric-insight-chip {
  background: #0b1220 !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
}

:root[data-theme="dark"] .order-item-line strong,
:root[data-theme="dark"] .order-card .order-meta strong,
:root[data-theme="dark"] .order-card .order-main strong {
  color: #f8fafc !important;
}

:root[data-theme="dark"] .payment-badge.paid,
:root[data-theme="dark"] .abonado,
:root[data-theme="dark"] .success-badge {
  background: #064e3b !important;
  color: #bbf7d0 !important;
}

:root[data-theme="dark"] .payment-badge.due {
  background: #431407 !important;
  color: #fed7aa !important;
}

:root[data-theme="dark"] .badge.pendiente,
:root[data-theme="dark"] .pendiente:not(.order-card) {
  background: #334155 !important;
  color: #f8fafc !important;
}

:root[data-theme="dark"] .retirado:not(.order-card) {
  background: #312e81 !important;
  color: #ddd6fe !important;
}

:root[data-theme="dark"] .cash-movements-table,
:root[data-theme="dark"] .cash-history-table,
:root[data-theme="dark"] table {
  background: #111827 !important;
  color: #f8fafc !important;
}

:root[data-theme="dark"] thead th,
:root[data-theme="dark"] tfoot th,
:root[data-theme="dark"] td,
:root[data-theme="dark"] th {
  border-color: #334155 !important;
  color: #f8fafc !important;
}

:root[data-theme="dark"] .cash-movements-table tbody tr.cash-income-row,
:root[data-theme="dark"] .cash-history-table tbody tr.cash-income-row,
:root[data-theme="dark"] tr.cash-income-row,
:root[data-theme="dark"] tr.cash-income-row td {
  background: #052e1b !important;
  color: #dcfce7 !important;
}

:root[data-theme="dark"] .cash-movements-table tbody tr.cash-expense-row,
:root[data-theme="dark"] .cash-history-table tbody tr.cash-expense-row,
:root[data-theme="dark"] tr.cash-expense-row,
:root[data-theme="dark"] tr.cash-expense-row td {
  background: #3b0d0d !important;
  color: #fee2e2 !important;
}

:root[data-theme="dark"] .cash-movements-table tfoot th,
:root[data-theme="dark"] .cash-history-table tfoot th {
  background: #0b1220 !important;
  color: #f8fafc !important;
}

:root[data-theme="dark"] .cash-type-badge.income {
  background: #065f46 !important;
  color: #d1fae5 !important;
}

:root[data-theme="dark"] .cash-type-badge.expense {
  background: #7f1d1d !important;
  color: #fee2e2 !important;
}

:root[data-theme="dark"] .negative-amount {
  color: #fecaca !important;
}

:root[data-theme="dark"] tr:hover td {
  background: #1e293b !important;
}

:root[data-theme="dark"] .cash-income-row:hover td {
  background: #064e3b !important;
}

:root[data-theme="dark"] .cash-expense-row:hover td {
  background: #7f1d1d !important;
}

:root[data-theme="dark"] .daily-slot {
  background: #101827 !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
}

:root[data-theme="dark"] .daily-slot > strong {
  background: #0b1220 !important;
}

:root[data-theme="dark"] .compact-cycle.unassigned-cycle {
  background: #0c2a45 !important;
  border-color: #2563eb !important;
  border-left-color: #60a5fa !important;
  color: #dbeafe !important;
}

:root[data-theme="dark"] .compact-cycle.assigned-cycle {
  background: #3b220b !important;
  border-color: #92400e !important;
  border-left-color: #f59e0b !important;
  color: #ffedd5 !important;
}

:root[data-theme="dark"] .cycle-person strong,
:root[data-theme="dark"] .assigned-cycle .cycle-person strong,
:root[data-theme="dark"] .compact-cycle strong {
  color: #f8fafc !important;
}

:root[data-theme="dark"] .cycle-machine small,
:root[data-theme="dark"] .service-flag {
  background: #172554 !important;
  border-color: #1d4ed8 !important;
  color: #bfdbfe !important;
}

:root[data-theme="dark"] .assigned-cycle .cycle-machine small {
  background: #431407 !important;
  border-color: #92400e !important;
  color: #fed7aa !important;
}

:root[data-theme="dark"] .slot-time-banner,
:root[data-theme="dark"] .notice {
  background: #082f49 !important;
  border-color: #0369a1 !important;
  color: #e0f2fe !important;
}

:root[data-theme="dark"] .machine-mini-chip,
:root[data-theme="dark"] .machine-pill.free,
:root[data-theme="dark"] .machine-simple-status.free,
:root[data-theme="dark"] .location.free {
  background: #052e1b !important;
  border-color: #16a34a !important;
  color: #bbf7d0 !important;
}

:root[data-theme="dark"] .machine-pill.busy,
:root[data-theme="dark"] .machine-simple-status.busy,
:root[data-theme="dark"] .location.busy {
  background: #3b1605 !important;
  border-color: #c2410c !important;
  color: #fed7aa !important;
}

:root[data-theme="dark"] .secondary,
:root[data-theme="dark"] .detail-dot,
:root[data-theme="dark"] .cycle-quick-button,
:root[data-theme="dark"] .history-toggle,
:root[data-theme="dark"] .tab-button.active {
  background: #172554 !important;
  border-color: #1d4ed8 !important;
  color: #dbeafe !important;
}

:root[data-theme="dark"] .primary,
:root[data-theme="dark"] .nav-button.active {
  background: #2563eb !important;
  border-color: #60a5fa !important;
  color: #ffffff !important;
}

:root[data-theme="dark"] .success,
:root[data-theme="dark"] .client-card .success {
  background: #047857 !important;
  border-color: #10b981 !important;
  color: #ecfdf5 !important;
}

:root[data-theme="dark"] .danger,
:root[data-theme="dark"] .remove-calendar-button {
  background: #7f1d1d !important;
  border-color: #ef4444 !important;
  color: #fee2e2 !important;
}

:root[data-theme="dark"] .client-avatar,
:root[data-theme="dark"] input[readonly],
:root[data-theme="dark"] .hour-chart-labels span {
  background: #172554 !important;
  color: #bfdbfe !important;
}

:root[data-theme="dark"] .performance-line-card svg {
  background: #0b1220 !important;
  border-color: #334155 !important;
}

:root[data-theme="dark"] .axis-line,
:root[data-theme="dark"] .grid-line {
  stroke: #475569 !important;
}

/* Ajustes v8: logo, paginación y modo nocturno más limpio */
.brand-block { align-items: center; display: flex; gap: 16px; min-width: 0; }
.brand-text { min-width: 0; }
.business-logo { background: rgba(255,255,255,.95); border: 2px solid rgba(255,255,255,.55); border-radius: 18px; box-shadow: 0 10px 24px rgba(0,0,0,.14); height: 76px; object-fit: contain; padding: 6px; width: 76px; }
.logo-settings-box { align-content: start; border: 2px solid var(--line); border-radius: 18px; display: grid; gap: 8px; padding: 12px; }
.logo-settings-box span { color: var(--muted); font-size: 15px; font-weight: 900; }
.logo-preview-wrap { align-items: center; background: #f8fbff; border: 1px dashed var(--line); border-radius: 14px; display: flex; min-height: 72px; padding: 8px; }
.logo-preview { max-height: 64px; max-width: 150px; object-fit: contain; }
.logo-preview[hidden], .business-logo[hidden] { display: none !important; }
.orders-pagination { align-items: center; background: var(--card); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; margin-bottom: 18px; padding: 16px 18px; }
.orders-pagination > div:first-child { display: grid; gap: 2px; }
.orders-pagination span { color: var(--muted); font-weight: 800; }
.page-controls { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.page-controls .secondary { min-height: 42px; padding: 8px 12px; }
.page-button { background: #fff; border: 2px solid var(--line); border-radius: 12px; color: var(--primary-dark); font-weight: 1000; min-height: 42px; min-width: 42px; padding: 8px 10px; }
.page-button.active { background: var(--primary); border-color: var(--primary); color: #fff; }
button[disabled] { cursor: not-allowed; opacity: .48; transform: none !important; }

:root[data-theme="dark"] .topbar { background: linear-gradient(135deg, #10213f, #1e3a8a) !important; }
:root[data-theme="dark"] .business-logo { background: #f8fafc; border-color: #334155; box-shadow: 0 10px 24px rgba(0,0,0,.35); }
:root[data-theme="dark"] .orders-pagination,
:root[data-theme="dark"] .logo-settings-box { background: #111827 !important; border-color: #334155 !important; color: #f8fafc !important; }
:root[data-theme="dark"] .logo-preview-wrap { background: #0b1220 !important; border-color: #475569 !important; }
:root[data-theme="dark"] .page-button { background: #0b1220 !important; border-color: #334155 !important; color: #bfdbfe !important; }
:root[data-theme="dark"] .page-button.active { background: #2563eb !important; border-color: #60a5fa !important; color: #fff !important; }
:root[data-theme="dark"] .state-option { background: #111827 !important; border-color: #334155 !important; color: #f8fafc !important; }
:root[data-theme="dark"] .state-option.selected { background: #172554 !important; border-color: #60a5fa !important; color: #f8fafc !important; }
:root[data-theme="dark"] .state-option.selected span,
:root[data-theme="dark"] .state-option span { color: #f8fafc !important; }
:root[data-theme="dark"] .state-option input { accent-color: #38bdf8; }
:root[data-theme="dark"] .modal-card { background: #111827 !important; color: #f8fafc !important; }
:root[data-theme="dark"] .modal-body { background: #111827 !important; color: #f8fafc !important; }
:root[data-theme="dark"] .tab-button.active[data-tab="Pendiente"] { background: #3b220b !important; border-color: #f59e0b !important; color: #ffedd5 !important; }
:root[data-theme="dark"] .tab-button.active[data-tab="Pendiente"] strong { color: #fed7aa !important; }
:root[data-theme="dark"] .tab-button.active[data-tab="Listo"] { background: #052e1b !important; border-color: #10b981 !important; color: #dcfce7 !important; }
:root[data-theme="dark"] .tab-button.active[data-tab="Listo"] strong { color: #bbf7d0 !important; }
:root[data-theme="dark"] .tab-button.active[data-tab="Retirado"] { background: #211b3f !important; border-color: #8b5cf6 !important; color: #ddd6fe !important; }
:root[data-theme="dark"] .tab-button.active[data-tab="Retirado"] strong { color: #ddd6fe !important; }
:root[data-theme="dark"] .order-card .secondary,
:root[data-theme="dark"] .order-card .primary,
:root[data-theme="dark"] .order-card .success,
:root[data-theme="dark"] .order-card .danger { color: #fff !important; }
:root[data-theme="dark"] .order-card .secondary { background: #172554 !important; border-color: #1d4ed8 !important; color: #dbeafe !important; }
:root[data-theme="dark"] .order-card .success { background: #047857 !important; border-color: #10b981 !important; color: #ecfdf5 !important; }
:root[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(1); }

@media (max-width: 760px) {
  .brand-block { align-items: flex-start; }
  .business-logo { height: 58px; width: 58px; }
  .orders-pagination { align-items: stretch; flex-direction: column; }
  .page-controls { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .page-controls .secondary { grid-column: span 2; width: 100%; }
  .page-button { width: 100%; }
}

/* Ajuste v9: logo menos invasivo en la cabecera */
.brand-block {
  align-items: center;
  gap: 14px;
}
.business-logo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  display: block;
  height: 48px !important;
  max-height: 48px !important;
  max-width: 48px !important;
  object-fit: contain;
  padding: 0 !important;
  width: 48px !important;
}
.business-logo[hidden] {
  display: none !important;
}
:root[data-theme="dark"] .business-logo {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.topbar .brand-text h1 {
  line-height: 1.05;
}
@media (max-width: 700px) {
  .business-logo {
    height: 38px !important;
    max-height: 38px !important;
    max-width: 38px !important;
    width: 38px !important;
  }
  .brand-block {
    gap: 10px;
  }
}


/* Ajuste v10: logo visible, sin caja pegoteada, con mejor presencia */
.brand-block {
  align-items: center !important;
  gap: 18px !important;
}
.business-logo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  flex: 0 0 72px !important;
  height: 72px !important;
  max-height: 72px !important;
  max-width: 72px !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 0 !important;
  width: 72px !important;
}
.business-logo[hidden] {
  display: none !important;
}
:root[data-theme="dark"] .business-logo {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.topbar .brand-text h1 {
  line-height: 1.02 !important;
}
@media (max-width: 700px) {
  .business-logo {
    flex-basis: 56px !important;
    height: 56px !important;
    max-height: 56px !important;
    max-width: 56px !important;
    width: 56px !important;
  }
  .brand-block {
    gap: 12px !important;
  }
}

/* Ajuste v11: logo realmente visible en cabecera */
.brand-block {
  align-items: center !important;
  gap: 22px !important;
}
.business-logo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  flex: 0 0 104px !important;
  height: 104px !important;
  max-height: 104px !important;
  max-width: 104px !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 0 !important;
  transform: scale(1.18);
  transform-origin: center;
  width: 104px !important;
}
.business-logo[hidden] { display: none !important; }
:root[data-theme="dark"] .business-logo {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.logo-preview-wrap {
  min-height: 120px !important;
}
.logo-preview {
  max-height: 108px !important;
  max-width: 220px !important;
}
.topbar .brand-text h1 {
  line-height: 1 !important;
}
@media (max-width: 700px) {
  .business-logo {
    flex-basis: 76px !important;
    height: 76px !important;
    max-height: 76px !important;
    max-width: 76px !important;
    transform: scale(1.12);
    width: 76px !important;
  }
  .brand-block { gap: 14px !important; }
}

/* v12 roles y gastos privados */
.topbar-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}
.role-pill {
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px;
  color: #fff;
  font-weight: 900;
  min-height: 46px;
  padding: 10px 16px;
}
.role-pill.user { background: rgba(255,244,214,.22); }
.role-pill.admin { background: rgba(0,166,118,.22); }
.access-denied {
  border-left: 8px solid var(--danger);
}
.business-expenses-panel {
  border-top-color: var(--danger);
}
.business-expense-form {
  margin-top: 18px;
}
.expense-filter-actions {
  align-items: end;
}
.mini-button {
  font-size: 14px;
  min-height: 36px;
  padding: 8px 12px;
}
.private-expense-row td {
  background: rgba(245, 159, 0, .08);
}
[data-admin-only][hidden] {
  display: none !important;
}
@media (max-width: 920px) {
  .topbar-actions { justify-content: flex-start; }
  .role-pill { width: 100%; }
}
html[data-theme="dark"] .role-pill {
  background: rgba(59,130,246,.18);
  border-color: rgba(147,197,253,.35);
  color: #f8fbff;
}
html[data-theme="dark"] .role-pill.user {
  background: rgba(245,159,0,.18);
  border-color: rgba(245,159,0,.45);
}
html[data-theme="dark"] .role-pill.admin {
  background: rgba(0,166,118,.18);
  border-color: rgba(0,166,118,.45);
}
html[data-theme="dark"] .private-expense-row td {
  background: rgba(245,159,0,.12) !important;
  color: var(--ink) !important;
}
html[data-theme="dark"] .business-expenses-panel,
html[data-theme="dark"] .access-denied {
  background: var(--card);
  color: var(--ink);
}

/* v13: roles separados, date pickers y gastos privados */
.nav-button[hidden] { display: none !important; }
.date-picker-label { gap: 7px; }
.calendar-input-wrap {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(150px, 1fr) auto;
  width: 100%;
}
.calendar-input-wrap input[type="date"],
.calendar-input-wrap input[type="month"] { cursor: pointer; }
.calendar-open-button {
  align-items: center;
  background: #eaf1ff;
  border: 2px solid var(--line);
  border-radius: 14px;
  color: var(--primary-dark);
  display: inline-grid;
  font-size: 18px;
  font-weight: 900;
  min-height: 50px;
  min-width: 54px;
  padding: 8px 10px;
  place-items: center;
}
.calendar-open-button:hover { border-color: var(--primary); transform: translateY(-1px); }
.slot-hour-cell { gap: 6px; }
.slot-hour-cell span { line-height: 1; }
.slot-info-button {
  align-items: center;
  background: #eaf1ff;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  color: var(--primary-dark);
  display: inline-grid;
  font-size: 13px;
  height: 28px;
  justify-content: center;
  margin-top: 6px;
  padding: 0;
  width: 28px;
}
.daily-slot:hover .slot-info-button { background: var(--primary); border-color: var(--primary); color: #fff; }
.local-expense-hero {
  align-items: center;
  background: linear-gradient(135deg, #fff7ed, #fef2f2);
  border: 3px solid #fb923c;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}
.local-expense-hero p { color: var(--muted); font-weight: 800; margin: 0; }
.private-total-pill {
  background: #431407;
  border-radius: 22px;
  color: #ffedd5;
  display: grid;
  gap: 6px;
  min-width: 230px;
  padding: 18px;
}
.private-total-pill span { color: #fed7aa; font-weight: 900; }
.private-total-pill strong { color: #fff7ed; font-size: 32px; }
.local-expense-section { border-top: 8px solid #fb923c; }
.private-metric { border-left-color: #fb923c; }
.private-expense-row td { background: #fff7ed; }
.business-expenses-table strong { color: var(--ink); }
.expense-filter-actions { align-items: end; }
.role-pill.admin { background: #431407; border-color: #fb923c; color: #ffedd5; }
.role-pill.user { background: #172554; border-color: #60a5fa; color: #dbeafe; }
@media (max-width: 920px) {
  .local-expense-hero { align-items: stretch; flex-direction: column; }
  .private-total-pill { min-width: 0; }
  .calendar-input-wrap { grid-template-columns: 1fr auto; }
}
:root[data-theme="dark"] .calendar-open-button,
:root[data-theme="dark"] .slot-info-button {
  background: #172554;
  border-color: #1e40af;
  color: #bfdbfe;
}
:root[data-theme="dark"] .daily-slot:hover .slot-info-button {
  background: #2563eb;
  border-color: #60a5fa;
  color: #eff6ff;
}
:root[data-theme="dark"] .local-expense-hero,
:root[data-theme="dark"] .local-expense-section,
:root[data-theme="dark"] .private-metric {
  background: #111827 !important;
  border-color: #92400e !important;
  color: #f8fafc !important;
}
:root[data-theme="dark"] .private-total-pill {
  background: #431407;
  border: 1px solid #92400e;
  color: #ffedd5;
}
:root[data-theme="dark"] .private-total-pill span { color: #fed7aa !important; }
:root[data-theme="dark"] .private-total-pill strong { color: #fff7ed !important; }
:root[data-theme="dark"] .private-expense-row td {
  background: #1c1917 !important;
  color: #ffedd5 !important;
}
:root[data-theme="dark"] .business-expenses-table strong { color: #ffedd5 !important; }
:root[data-theme="dark"] .role-pill.admin { background: #431407; border-color: #fb923c; color: #ffedd5; }
:root[data-theme="dark"] .role-pill.user { background: #172554; border-color: #60a5fa; color: #dbeafe; }

/* v14: rol simplificado, gastos locales en rojo, historial paginado y caja mensual */
.role-switch-form {
  display: grid;
  gap: 18px;
}
.role-helper,
.role-footnote {
  color: var(--muted);
  font-weight: 800;
  margin: 0;
}
.role-choice-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.role-choice-card {
  background: var(--card);
  border: 2px solid var(--line);
  border-radius: 22px;
  cursor: pointer;
  display: grid;
  gap: 8px;
  padding: 18px;
}
.role-choice-card input { width: auto; min-height: 0; }
.role-choice-card strong { font-size: 24px; }
.role-choice-card span { color: var(--muted); font-weight: 800; }
.role-choice-card.selected,
.role-choice-card:has(input:checked) {
  background: #eef4ff;
  border-color: var(--primary);
  box-shadow: 0 14px 28px rgba(35, 100, 210, .14);
}
.admin-pin-field { margin-top: 4px; }
.role-note { margin: 0; }

.role-pill.admin,
:root[data-theme="dark"] .role-pill.admin {
  background: #450a0a !important;
  border-color: #ef4444 !important;
  color: #fee2e2 !important;
}

.local-expense-hero {
  background: linear-gradient(135deg, #fff1f2, #ffffff) !important;
  border-color: #ef4444 !important;
}
.private-total-pill {
  background: #450a0a !important;
  color: #fee2e2 !important;
}
.private-total-pill span { color: #fecaca !important; }
.private-total-pill strong { color: #fff1f2 !important; }
.local-expense-section,
.local-expense-lock {
  border-top: 8px solid #ef4444 !important;
}
.private-metric { border-left-color: #ef4444 !important; }
.private-save-button { background: #dc2626 !important; border-color: #dc2626 !important; }
.private-expense-row td { background: #fff1f2 !important; }
.business-expenses-table strong { color: #7f1d1d; }
.private-expense-chart {
  border-color: #fecaca !important;
  box-shadow: 0 20px 45px rgba(220, 38, 38, .10) !important;
}
.private-expense-chart polyline {
  stroke: #dc2626 !important;
}
.expense-performance-point {
  fill: #dc2626;
  stroke: #fff;
  stroke-width: 2;
}
.private-year-cards { margin-top: 16px; }
.private-year-strip {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  margin-top: 16px;
}
.private-year-strip article {
  background: #fff1f2;
  border: 1px solid #fecaca;
  border-radius: 16px;
  display: grid;
  gap: 7px;
  padding: 12px;
}
.private-year-strip span {
  color: #991b1b;
  font-weight: 1000;
}
.private-year-strip strong {
  color: #111827;
  font-size: 18px;
}
.private-year-bar {
  background: #fee2e2;
  border-radius: 999px;
  height: 10px;
  overflow: hidden;
}
.private-year-bar i {
  background: #dc2626;
  border-radius: 999px;
  display: block;
  height: 100%;
  min-width: 3px;
}
.user-monthly-cash {
  margin-top: 22px;
}
.compact-month-summary {
  margin-bottom: 16px;
}
.schedule-history-pagination {
  box-shadow: none;
  margin: 16px 0 0;
}

:root[data-theme="dark"] .role-choice-card {
  background: #111827;
  border-color: #334155;
  color: #f8fafc;
}
:root[data-theme="dark"] .role-choice-card span,
:root[data-theme="dark"] .role-helper,
:root[data-theme="dark"] .role-footnote { color: #cbd5e1; }
:root[data-theme="dark"] .role-choice-card.selected,
:root[data-theme="dark"] .role-choice-card:has(input:checked) {
  background: #172554;
  border-color: #60a5fa;
}
:root[data-theme="dark"] .local-expense-hero,
:root[data-theme="dark"] .local-expense-section,
:root[data-theme="dark"] .local-expense-lock,
:root[data-theme="dark"] .private-metric {
  background: #111827 !important;
  border-color: #ef4444 !important;
  color: #f8fafc !important;
}
:root[data-theme="dark"] .private-total-pill {
  background: #450a0a !important;
  border: 1px solid #ef4444 !important;
}
:root[data-theme="dark"] .private-expense-row td {
  background: #2a1012 !important;
  color: #fee2e2 !important;
}
:root[data-theme="dark"] .business-expenses-table strong { color: #fee2e2 !important; }
:root[data-theme="dark"] .private-expense-chart {
  background: #111827 !important;
  border-color: #7f1d1d !important;
}
:root[data-theme="dark"] .expense-performance-point {
  fill: #f87171;
  stroke: #111827;
}
:root[data-theme="dark"] .private-year-strip article {
  background: #2a1012;
  border-color: #7f1d1d;
}
:root[data-theme="dark"] .private-year-strip span { color: #fecaca; }
:root[data-theme="dark"] .private-year-strip strong { color: #fff1f2; }
:root[data-theme="dark"] .private-year-bar { background: #450a0a; }
:root[data-theme="dark"] .private-year-bar i { background: #f87171; }
:root[data-theme="dark"] .tab-button.active[data-tab="Pendiente"] {
  background: #450a0a !important;
  border-color: #ef4444 !important;
  color: #fee2e2 !important;
}
:root[data-theme="dark"] .pendiente {
  background: #450a0a !important;
  color: #fee2e2 !important;
}
:root[data-theme="dark"] .order-card.pendiente {
  background: #1f1414 !important;
  border-left-color: #ef4444 !important;
}
@media (max-width: 760px) {
  .role-choice-grid { grid-template-columns: 1fr; }
}

/* v15: avatar neutro por iniciales */
.client-avatar.client-initials {
  background: linear-gradient(135deg, rgba(35,100,210,.16), rgba(0,166,118,.14));
  border: 2px solid var(--line);
  color: var(--primary-dark);
  font-size: 20px !important;
  font-weight: 1000;
  letter-spacing: .04em;
}
.client-avatar.client-initials::before { content: none !important; }
:root[data-theme="dark"] .client-avatar.client-initials {
  background: linear-gradient(135deg, rgba(37,99,235,.26), rgba(16,185,129,.18)) !important;
  border-color: #334155 !important;
  color: #dbeafe !important;
}
.cash-monthly-pagination { margin-top: 16px; }

/* v16 ajustes: tema arriba, contador pendientes y caja mensual */
.theme-switcher {
  align-items: center;
  background: rgba(15, 23, 42, .18);
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 999px;
  display: inline-flex;
  gap: 4px;
  padding: 5px;
}
.theme-switcher button {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: rgba(255,255,255,.82);
  font-weight: 900;
  min-height: 36px;
  padding: 7px 12px;
}
.theme-switcher button.active {
  background: #ffffff;
  color: #17499c;
  box-shadow: 0 8px 18px rgba(15,23,42,.18);
}
html[data-theme="dark"] .theme-switcher {
  background: rgba(2, 6, 23, .55);
  border-color: #475569;
}
html[data-theme="dark"] .theme-switcher button { color: #dbeafe; }
html[data-theme="dark"] .theme-switcher button.active {
  background: #60a5fa;
  color: #08111f;
}
html[data-theme="dark"] .pending-ticket-header strong {
  background: #7f1d1d !important;
  border: 1px solid #fca5a5;
  color: #fee2e2 !important;
  box-shadow: 0 0 0 3px rgba(248,113,113,.12);
}
.pending-ticket-header strong {
  border: 1px solid #fed7aa;
  min-width: 42px;
  text-align: center;
}
html[data-theme="dark"] .user-monthly-cash[open] > summary,
.user-monthly-cash[open] > summary {
  margin-bottom: 14px;
}
@media (max-width: 920px) {
  .theme-switcher { width: 100%; justify-content: space-between; }
  .theme-switcher button { flex: 1; }
}

/* Turnos v17: plan del día simple */
.schedule-workspace-v2 {
  align-items: start;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
}
.schedule-v2-hero {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 18px;
}
.schedule-v2-hero p:not(.eyebrow-dark) {
  color: var(--muted);
  margin: 6px 0 0;
  max-width: 720px;
}
.schedule-selection-hint {
  align-items: center;
  border-style: dashed;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 14px 18px;
}
.schedule-selection-hint span { color: var(--muted); font-weight: 800; }
.schedule-selection-hint.selected {
  border-color: var(--primary);
  background: color-mix(in srgb, var(--primary) 10%, var(--card));
}
.schedule-v2-summary {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 14px 0 18px;
}
.schedule-v2-summary article {
  background: color-mix(in srgb, var(--primary) 7%, var(--card));
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
}
.schedule-v2-summary span {
  color: var(--muted);
  display: block;
  font-weight: 900;
  margin-bottom: 4px;
}
.schedule-v2-summary strong {
  display: block;
  font-size: 30px;
}
.plan-order-list {
  display: grid;
  gap: 12px;
}
.plan-order-card {
  background: var(--card);
  border: 2px solid var(--line);
  border-left: 10px solid var(--primary);
  border-radius: 22px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(110px, 150px) 1fr;
  padding: 14px;
}
.plan-order-card.running { border-left-color: var(--accent); }
.plan-order-card.done { border-left-color: var(--muted); opacity: .9; }
.plan-order-card.incomplete { border-left-color: var(--danger); }
.plan-order-time {
  align-content: start;
  display: grid;
  gap: 8px;
}
.plan-order-time strong {
  font-size: 23px;
  letter-spacing: -.03em;
}
.plan-status {
  border-radius: 999px;
  display: inline-flex;
  font-size: 13px;
  font-weight: 950;
  justify-content: center;
  padding: 7px 10px;
  width: fit-content;
}
.plan-status.planned { background: #eaf1ff; color: var(--primary-dark); }
.plan-status.running { background: #d3f9d8; color: #2b8a3e; }
.plan-status.done { background: #eef2f7; color: #495057; }
.plan-status.incomplete { background: #ffe3e3; color: var(--danger); }
.plan-order-body {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.plan-order-head {
  align-items: start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.plan-order-head strong, .plan-order-head small { display: block; }
.plan-order-head small { color: var(--muted); font-weight: 800; margin-top: 3px; }
.plan-order-head > span {
  background: color-mix(in srgb, var(--primary) 8%, var(--card));
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  flex: 0 0 auto;
  font-weight: 900;
  padding: 7px 10px;
}
.plan-stage-list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.plan-stage-chip {
  border: 1px solid var(--line);
  border-radius: 16px;
  display: inline-grid;
  gap: 2px;
  min-width: 160px;
  padding: 10px 12px;
}
.plan-stage-chip strong { font-size: 13px; text-transform: uppercase; }
.plan-stage-chip em { font-style: normal; font-weight: 900; }
.plan-stage-chip small { color: var(--muted); font-weight: 800; }
.plan-stage-chip.wash { background: #eaf1ff; border-color: #cfe0ff; }
.plan-stage-chip.dry { background: #fff4d6; border-color: #ffe2a4; }
.plan-stage-chip.block { background: #f1f3f5; }
.plan-stage-chip.missing { background: #ffe3e3; border-color: #ffc9c9; color: var(--danger); }
.stage-arrow { color: var(--muted); font-weight: 950; }
.plan-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.plan-card-actions .secondary, .plan-card-actions .danger {
  font-size: 15px;
  min-height: 42px;
  padding: 8px 12px;
}
.empty-plan-card {
  background: color-mix(in srgb, var(--primary) 5%, var(--card));
  border: 2px dashed var(--line);
  border-radius: 22px;
  color: var(--muted);
  display: grid;
  gap: 4px;
  padding: 24px;
  text-align: center;
}
.empty-plan-card strong { color: var(--ink); }
.quick-slots-card { overflow: visible; }
.quick-slot-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(105px, 1fr));
}
.quick-slot-pill {
  background: color-mix(in srgb, var(--card) 92%, var(--primary));
  border: 2px solid var(--line);
  border-radius: 16px;
  color: var(--ink);
  display: grid;
  gap: 2px;
  min-height: 62px;
  padding: 10px;
  text-align: left;
}
.quick-slot-pill strong { font-size: 16px; }
.quick-slot-pill small { color: var(--muted); font-weight: 800; }
.quick-slot-pill.busy { border-color: color-mix(in srgb, var(--primary) 45%, var(--line)); }
.quick-slot-pill:hover { border-color: var(--primary); transform: translateY(-1px); }
.pending-ticket-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.mini-action {
  font-size: 14px;
  min-height: 38px;
  padding: 8px 12px;
}
.schedule-machine-overview .machine-board { margin-top: 14px; }

[data-theme="dark"] .plan-order-card,
[data-theme="dark"] .quick-slot-pill,
[data-theme="dark"] .schedule-v2-summary article,
[data-theme="dark"] .plan-order-head > span,
[data-theme="dark"] .empty-plan-card {
  background: #172033;
  border-color: #31415f;
}
[data-theme="dark"] .plan-stage-chip.wash { background: #173057; border-color: #2e5c9a; color: #e9f2ff; }
[data-theme="dark"] .plan-stage-chip.dry { background: #4b2a11; border-color: #8a4b1f; color: #fff3e0; }
[data-theme="dark"] .plan-stage-chip.block { background: #222c3f; color: #f1f5f9; }
[data-theme="dark"] .plan-stage-chip.missing { background: #4a1821; border-color: #7f1d2d; color: #ffd7dc; }
[data-theme="dark"] .plan-status.planned { background: #173057; color: #cfe0ff; }
[data-theme="dark"] .plan-status.running { background: #123923; color: #b9f6ca; }
[data-theme="dark"] .plan-status.done { background: #263246; color: #d6dee9; }
[data-theme="dark"] .plan-status.incomplete { background: #4a1821; color: #ffd7dc; }

@media (max-width: 980px) {
  .schedule-workspace-v2 { grid-template-columns: 1fr; }
  .schedule-v2-hero, .schedule-selection-hint { align-items: stretch; flex-direction: column; }
  .plan-order-card { grid-template-columns: 1fr; }
  .schedule-v2-summary { grid-template-columns: 1fr; }
}

/* Web SaaS v0.2 — adaptación visual de la interfaz Electron v172 */
body { min-height: 100vh; }
.web-topbar {
  min-height: 116px !important;
  padding: 12px 28px !important;
}
.web-topbar .business-logo {
  width: 190px !important;
  height: 96px !important;
  max-width: 22vw !important;
  padding: 0 !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.web-topbar .brand-text h1 { font-size: clamp(28px, 4vw, 42px) !important; }
.web-topbar .topbar-actions { display: flex; align-items: center; gap: 14px; }
.web-user-copy { display: grid; gap: 2px; text-align: right; }
.web-user-copy strong { font-size: 17px; }
.web-user-copy span { color: #bfdbfe; font-size: 14px; font-weight: 800; }
.web-app-shell { min-height: calc(100vh - 116px); }
.web-nav-disabled { opacity: .62; position: relative; }
.web-nav-disabled small { display: block; font-size: 10px; letter-spacing: .04em; margin-top: 3px; text-transform: uppercase; }
.web-banner { border-radius: 16px; font-size: 16px; font-weight: 900; margin-bottom: 16px; padding: 14px 18px; }
.web-banner.error, .web-error { background: #450a0a; border: 1px solid #ef4444; color: #fecaca; }
.web-banner.success { background: #052e1b; border: 1px solid #10b981; color: #bbf7d0; }
.web-error { border-radius: 14px; padding: 12px; }
.web-muted { color: var(--muted); font-weight: 750; margin: 4px 0 0; }
.web-empty { border: 2px dashed var(--line); border-radius: 18px; color: var(--muted); font-size: 17px; font-weight: 800; padding: 32px; text-align: center; }
.web-hero { min-height: 164px; }
.web-hero .big-action { flex: 0 0 auto; }
.web-order-client { font-size: 27px; margin: 6px 0 4px; }
.web-order-status { align-items: flex-end; display: grid; gap: 9px; justify-items: end; }
.web-order-actions { justify-content: flex-end; }
.web-order-actions button { min-width: 150px; }
.web-clients-title h2 { font-size: 42px; margin: 0; }
.web-clients-title .client-plus-button-v153 { align-items: center; display: inline-flex; font-size: 42px; justify-content: center; min-height: 76px; min-width: 76px; padding: 0; }
.client-card .client-initials { font-size: 25px !important; font-weight: 950; }
.web-settings-form { margin-top: 18px; }
.web-template-form { align-items: end; border: 1px solid var(--line); border-radius: 18px; display: grid; gap: 14px; grid-template-columns: 1fr auto; padding: 16px; }
.web-template-form textarea { min-height: 110px; }
.web-template-form button { min-width: 180px; }
.web-login-mark { align-items: center; background: linear-gradient(135deg, #2563eb, #0ea5e9); border-radius: 28px; box-shadow: 0 18px 36px rgba(37,99,235,.28); display: inline-flex; font-size: 58px; height: 104px; justify-content: center; margin-bottom: 16px; width: 104px; }
.login-screen { background: radial-gradient(circle at top left, #172554, #020617 58%) !important; }
.login-card { border: 1px solid #334155 !important; }
.login-card .login-form button { width: 100%; }
.modal-backdrop { z-index: 1000 !important; }
.modal-card { border: 1px solid var(--line); }

@media (max-width: 920px) {
  .web-topbar { min-height: auto !important; }
  .web-topbar .business-logo { max-width: 180px !important; width: 42vw !important; }
  .web-topbar .topbar-actions { align-items: stretch; width: 100%; }
  .web-user-copy { text-align: left; }
  .web-app-shell { min-height: 0; }
  .web-template-form { grid-template-columns: 1fr; }
  .web-template-form button { width: 100%; }
  .web-order-status { align-items: start; justify-items: start; }
  .web-clients-title h2 { font-size: 34px; }
}

/* Turnos v18: tablero simple por máquinas */
.schedule-workspace-v18 {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
}
.schedule-v18-hero {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 18px;
}
.workday-counters {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 18px;
}
.workday-counters article {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 8px 20px rgba(24,34,48,.06);
  padding: 16px;
}
.workday-counters span {
  color: var(--muted);
  display: block;
  font-weight: 900;
}
.workday-counters strong {
  display: block;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1;
  margin-top: 6px;
}
.simple-help-line,
.selected-work-ticket {
  align-items: center;
  background: color-mix(in srgb, var(--primary) 10%, var(--card));
  border: 2px solid color-mix(in srgb, var(--primary) 26%, var(--line));
  border-radius: 20px;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 18px;
  padding: 14px 16px;
}
.selected-work-ticket span { color: var(--muted); display: block; font-weight: 900; }
.selected-work-ticket strong { font-size: 20px; }
.simple-work-board .simple-section-title {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.work-machine-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.work-machine-card {
  background: color-mix(in srgb, var(--card) 94%, var(--bg));
  border: 2px solid var(--line);
  border-radius: 24px;
  display: grid;
  gap: 14px;
  min-height: 270px;
  padding: 18px;
}
.work-machine-card.free {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
}
.work-machine-card.working {
  border-color: color-mix(in srgb, var(--primary) 65%, var(--line));
  background: color-mix(in srgb, var(--primary) 7%, var(--card));
}
.work-machine-card.drying {
  border-color: color-mix(in srgb, var(--danger) 55%, var(--line));
  background: color-mix(in srgb, var(--danger) 7%, var(--card));
}
.work-machine-card.machine-lavadora-grande {
  border-style: dashed;
}
.work-machine-head {
  align-items: start;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
.work-machine-head span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.work-machine-head h3 {
  font-size: 24px;
  margin: 3px 0 0;
}
.work-machine-head > strong {
  border-radius: 999px;
  background: color-mix(in srgb, var(--bg) 72%, var(--card));
  color: var(--ink);
  padding: 8px 12px;
}
.machine-job {
  background: color-mix(in srgb, var(--bg) 72%, var(--card));
  border: 1px solid var(--line);
  border-radius: 18px;
  display: grid;
  gap: 4px;
  padding: 14px;
}
.machine-job span {
  color: var(--muted);
  font-weight: 900;
}
.machine-job strong {
  font-size: 20px;
  line-height: 1.25;
}
.machine-job small,
.machine-next-job {
  color: var(--muted);
  font-weight: 800;
}
.work-machine-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
}
.big-machine-action {
  flex: 1 1 180px;
  font-size: 20px;
  min-height: 58px;
}
.work-pending-column {
  align-self: start;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 12px;
  max-height: calc(100vh - 120px);
  overflow: auto;
  padding: 16px;
  position: sticky;
  top: 18px;
}
.work-pending-card {
  align-items: center;
  background: color-mix(in srgb, var(--bg) 70%, var(--card));
  border: 2px solid var(--line);
  border-radius: 18px;
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr auto;
  padding: 12px;
}
.work-pending-card.selected {
  border-color: var(--primary);
  background: color-mix(in srgb, var(--primary) 12%, var(--card));
}
.work-pending-card strong,
.work-pending-card span,
.work-pending-card small {
  display: block;
}
.work-pending-card span { font-weight: 900; }
.work-pending-card small { color: var(--muted); font-weight: 800; }
.simple-upcoming-panel .history-toggle { width: 100%; }
.upcoming-work-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.upcoming-work-row {
  align-items: center;
  background: color-mix(in srgb, var(--bg) 70%, var(--card));
  border: 1px solid var(--line);
  border-radius: 16px;
  display: grid;
  gap: 10px;
  grid-template-columns: 80px minmax(0, 1fr) minmax(120px, auto);
  padding: 12px;
}
.upcoming-work-row strong { font-size: 18px; }
.upcoming-work-row small { color: var(--muted); font-weight: 900; }
.machine-modal-intro {
  background: color-mix(in srgb, var(--primary) 8%, var(--card));
  border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--line));
  border-radius: 18px;
  margin: 0;
  padding: 14px;
}
.dryer-button-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin: 16px 0;
}
.disabled-looking { opacity: .55; cursor: not-allowed; }

[data-theme="dark"] .simple-help-line,
[data-theme="dark"] .selected-work-ticket,
[data-theme="dark"] .work-machine-card,
[data-theme="dark"] .machine-job,
[data-theme="dark"] .work-pending-card,
[data-theme="dark"] .upcoming-work-row,
[data-theme="dark"] .machine-modal-intro {
  background: color-mix(in srgb, var(--card) 86%, #000);
}
[data-theme="dark"] .work-machine-card.working {
  background: color-mix(in srgb, var(--primary) 16%, var(--card));
}
[data-theme="dark"] .work-machine-card.drying {
  background: color-mix(in srgb, var(--danger) 18%, var(--card));
}

@media (max-width: 1100px) {
  .schedule-workspace-v18 { grid-template-columns: 1fr; }
  .work-pending-column { max-height: none; position: static; }
}
@media (max-width: 760px) {
  .schedule-v18-hero,
  .simple-help-line,
  .selected-work-ticket,
  .simple-work-board .simple-section-title { align-items: stretch; flex-direction: column; }
  .workday-counters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .upcoming-work-row { grid-template-columns: 1fr; }
  .work-pending-card { grid-template-columns: 1fr; }
}

/* Turnos v19: modo ultra simple para operación diaria */
.schedule-workspace-v19 {
  display: block;
}
.schedule-v19-hero {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
}
.schedule-v19-hero h2 {
  font-size: clamp(28px, 4vw, 40px);
  margin: 0;
}
.ultra-simple-counters {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ultra-simple-counters article {
  padding: 14px 18px;
}
.ultra-simple-counters span {
  font-size: 15px;
}
.ultra-simple-counters strong {
  font-size: clamp(34px, 5vw, 52px);
}
.quick-pending-panel,
.ultra-machine-board {
  margin-bottom: 18px;
}
.quick-pending-panel .simple-section-title,
.ultra-machine-board .simple-section-title {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.quick-pending-panel h3,
.ultra-machine-board h3 {
  font-size: 28px;
  margin: 0;
}
.quick-count-pill {
  align-items: center;
  background: var(--primary);
  border-radius: 999px;
  color: white;
  display: inline-flex;
  font-size: 22px;
  justify-content: center;
  min-width: 54px;
  padding: 8px 14px;
}
.quick-pending-list {
  display: grid;
  gap: 10px;
}
.quick-pending-row {
  align-items: center;
  background: color-mix(in srgb, var(--bg) 72%, var(--card));
  border: 2px solid var(--line);
  border-radius: 18px;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 14px;
}
.quick-pending-row strong,
.quick-pending-row span,
.quick-pending-row small {
  display: block;
}
.quick-pending-row strong {
  color: var(--primary-dark);
  font-size: 20px;
}
.quick-pending-row span {
  color: var(--ink);
  font-size: 19px;
  font-weight: 900;
}
.quick-pending-row small {
  color: var(--muted);
  font-weight: 800;
}
.quick-pending-row .primary {
  font-size: 20px;
  min-height: 58px;
  min-width: 116px;
}
.quick-more-note {
  color: var(--muted);
  font-weight: 800;
  margin: 12px 0 0;
}
.ultra-machine-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.ultra-machine-card {
  min-height: 210px;
  padding: 18px;
}
.ultra-machine-card .work-machine-head h3 {
  font-size: 26px;
}
.ultra-current-job,
.ultra-free-job {
  min-height: 92px;
}
.ultra-free-job {
  align-items: center;
  display: flex;
  justify-content: center;
}
.ultra-free-job strong {
  color: var(--accent);
  font-size: clamp(32px, 5vw, 48px);
  text-align: center;
}
.ultra-current-job span {
  color: var(--muted);
  font-size: 15px;
  text-transform: uppercase;
}
.ultra-current-job strong {
  font-size: 25px;
}
.ultra-current-job small {
  font-size: 16px;
}
.ultra-machine-card .work-machine-actions {
  align-items: center;
}
.ultra-machine-card .big-machine-action {
  flex: 1 1 auto;
  font-size: 21px;
  min-height: 62px;
}
.tiny-remove-action {
  background: transparent;
  border: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 900;
  padding: 8px;
  text-decoration: underline;
}
.quick-place-modal {
  display: grid;
  gap: 14px;
}
.quick-place-order {
  background: color-mix(in srgb, var(--primary) 8%, var(--card));
  border: 1px solid color-mix(in srgb, var(--primary) 22%, var(--line));
  border-radius: 18px;
  display: grid;
  gap: 4px;
  padding: 14px;
}
.quick-place-order strong {
  font-size: 22px;
}
.quick-place-order span,
.quick-place-time {
  color: var(--muted);
  font-weight: 800;
  margin: 0;
}
.quick-machine-choice-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.quick-machine-choice {
  background: var(--primary);
  border: 0;
  border-radius: 18px;
  color: white;
  display: grid;
  gap: 2px;
  min-height: 82px;
  padding: 14px;
  text-align: left;
}
.quick-machine-choice strong,
.quick-machine-choice span {
  display: block;
}
.quick-machine-choice strong {
  font-size: 20px;
}
.quick-machine-choice span {
  font-weight: 900;
  opacity: .9;
}
.quick-machine-choice.disabled {
  background: color-mix(in srgb, var(--muted) 35%, var(--line));
  color: var(--muted);
  cursor: not-allowed;
}
.quick-place-modal .full {
  width: 100%;
}
[data-theme="dark"] .quick-pending-row,
[data-theme="dark"] .quick-place-order {
  background: color-mix(in srgb, var(--card) 88%, #000);
  border-color: #31415f;
}
[data-theme="dark"] .quick-pending-row strong {
  color: #cfe0ff;
}
[data-theme="dark"] .quick-machine-choice.disabled {
  background: #1d2636;
  color: #8291a8;
}
@media (max-width: 760px) {
  .schedule-v19-hero,
  .quick-pending-panel .simple-section-title,
  .ultra-machine-board .simple-section-title {
    align-items: stretch;
    flex-direction: column;
  }
  .ultra-simple-counters {
    grid-template-columns: 1fr;
  }
  .quick-pending-row {
    grid-template-columns: 1fr;
  }
  .quick-pending-row .primary {
    width: 100%;
  }
}

/* v20: turnos más claros, tema simple y cronograma desplegable */
.theme-switcher {
  gap: 2px;
  padding: 3px;
}
.theme-switcher button {
  font-size: 13px;
  min-height: 30px;
  padding: 5px 9px;
}
@media (max-width: 920px) {
  .theme-switcher { width: auto; justify-content: flex-start; }
  .theme-switcher button { flex: 0 0 auto; }
}
.role-simple-modal {
  display: grid;
  gap: 14px;
}
.role-simple-modal .role-helper {
  margin: 0;
}
.role-simple-modal .full {
  width: 100%;
}
.ultra-machine-card.machine-lavarropas {
  border-color: #2563eb;
  box-shadow: inset 0 0 0 3px rgba(37,99,235,.08);
}
.ultra-machine-card.machine-lavarropas .work-machine-head span { color: #1d4ed8; }
.ultra-machine-card.machine-lavadora-grande {
  border-color: #7c3aed;
  border-style: solid;
  box-shadow: inset 0 0 0 3px rgba(124,58,237,.10);
}
.ultra-machine-card.machine-lavadora-grande .work-machine-head span { color: #6d28d9; }
.ultra-machine-card.machine-secadora {
  border-color: #dc2626;
  box-shadow: inset 0 0 0 3px rgba(220,38,38,.08);
}
.ultra-machine-card.machine-secadora .work-machine-head span { color: #b91c1c; }
[data-theme="dark"] .ultra-machine-card.machine-lavarropas {
  border-color: #60a5fa;
  box-shadow: inset 0 0 0 3px rgba(96,165,250,.12);
}
[data-theme="dark"] .ultra-machine-card.machine-lavarropas .work-machine-head span { color: #bfdbfe; }
[data-theme="dark"] .ultra-machine-card.machine-lavadora-grande {
  border-color: #c084fc;
  box-shadow: inset 0 0 0 3px rgba(192,132,252,.13);
}
[data-theme="dark"] .ultra-machine-card.machine-lavadora-grande .work-machine-head span { color: #e9d5ff; }
[data-theme="dark"] .ultra-machine-card.machine-secadora {
  border-color: #f87171;
  box-shadow: inset 0 0 0 3px rgba(248,113,113,.13);
}
[data-theme="dark"] .ultra-machine-card.machine-secadora .work-machine-head span { color: #fecaca; }
.simple-schedule-timeline {
  border-top: 6px solid var(--primary);
  margin-top: 18px;
}
.simple-timeline-table th:first-child {
  width: 88px;
  white-space: nowrap;
}
.simple-timeline-table td {
  min-width: 190px;
}
.simple-timeline-chip {
  align-items: flex-start;
  border-radius: 14px;
  display: grid;
  gap: 2px;
  margin: 4px 0;
  padding: 8px 10px;
}
.simple-timeline-chip strong,
.simple-timeline-chip em {
  display: block;
  font-style: normal;
}
.simple-timeline-chip strong { font-weight: 950; }
.simple-timeline-chip em {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}
.simple-timeline-chip.lavarropas {
  background: rgba(37,99,235,.10);
  border: 1px solid rgba(37,99,235,.24);
}
.simple-timeline-chip.grandes {
  background: rgba(124,58,237,.10);
  border: 1px solid rgba(124,58,237,.25);
}
.simple-timeline-chip.secadoras {
  background: rgba(220,38,38,.10);
  border: 1px solid rgba(220,38,38,.25);
}
.timeline-free {
  color: var(--muted);
  font-weight: 800;
}
[data-theme="dark"] .simple-schedule-timeline {
  border-color: #60a5fa;
}
[data-theme="dark"] .simple-timeline-chip.lavarropas {
  background: rgba(96,165,250,.16);
  border-color: rgba(96,165,250,.35);
}
[data-theme="dark"] .simple-timeline-chip.grandes {
  background: rgba(192,132,252,.17);
  border-color: rgba(192,132,252,.36);
}
[data-theme="dark"] .simple-timeline-chip.secadoras {
  background: rgba(248,113,113,.16);
  border-color: rgba(248,113,113,.35);
}
[data-theme="dark"] .simple-timeline-chip em {
  color: #cbd5e1;
}

/* v21: icon theme switcher */
.icon-theme-switcher {
  background: rgba(15, 23, 42, .14);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  gap: 4px;
  padding: 4px;
}
.icon-theme-switcher .theme-icon-button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: rgba(255,255,255,.9);
  display: inline-flex;
  height: 34px;
  justify-content: center;
  min-height: 34px;
  padding: 0;
  width: 34px;
}
.icon-theme-switcher .theme-icon-button svg {
  fill: none;
  height: 18px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 18px;
}
.icon-theme-switcher .theme-icon-button.active {
  background: #ffffff;
  color: #17499c;
  box-shadow: 0 8px 18px rgba(15,23,42,.16);
}
html[data-theme="dark"] .icon-theme-switcher {
  background: rgba(2, 6, 23, .62);
  border-color: #475569;
}
html[data-theme="dark"] .icon-theme-switcher .theme-icon-button {
  color: #dbeafe;
}
html[data-theme="dark"] .icon-theme-switcher .theme-icon-button.active {
  background: #60a5fa;
  color: #08111f;
}

/* v21: timeline forecast and clearer timeline */
.simple-schedule-timeline .toolbar {
  align-items: flex-start;
}
.simple-timeline-table td {
  vertical-align: top;
}
.simple-timeline-chip.forecast {
  background: rgba(220,38,38,.06);
  border-style: dashed;
}
.simple-timeline-chip .timeline-chip-meta {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .01em;
}
[data-theme="dark"] .simple-timeline-chip.forecast {
  background: rgba(248,113,113,.12);
}
[data-theme="dark"] .simple-timeline-chip .timeline-chip-meta {
  color: #cbd5e1;
}
.timeline-slot-note {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 800;
  margin-top: 4px;
}

/* v21 final: cronograma con secado previsto y selector de tema por íconos */
.simple-timeline-chip.projected {
  background: rgba(220,38,38,.06);
  border-style: dashed;
}
.simple-timeline-chip small {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 850;
}
[data-theme="dark"] .simple-timeline-chip.projected {
  background: rgba(248,113,113,.12);
}
[data-theme="dark"] .simple-timeline-chip small {
  color: #cbd5e1;
}
.icon-theme-switcher .theme-icon-button svg circle,
.icon-theme-switcher .theme-icon-button svg path {
  vector-effect: non-scaling-stroke;
}
.simple-timeline-chip small {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 800;
  margin-top: 2px;
}
[data-theme="dark"] .simple-timeline-chip small {
  color: #cbd5e1;
}

/* v22: pendientes naranjas + cronograma más claro */
.quick-pending-panel {
  border-top: 7px solid #f97316;
}
.quick-pending-panel .simple-section-title h3 {
  color: #9a3412;
}
.quick-pending-row {
  background: #fff7ed;
  border-color: #fed7aa;
  border-left: 8px solid #f97316;
}
.quick-pending-row .primary {
  background: #f97316;
  border-color: #f97316;
  color: #fff;
}
.quick-pending-row .primary:hover {
  background: #ea580c;
}
.quick-count-pill {
  background: #f97316 !important;
  border: 1px solid #fdba74;
  color: #fff !important;
}
[data-theme="dark"] .quick-pending-panel {
  border-top-color: #fb923c;
}
[data-theme="dark"] .quick-pending-panel .simple-section-title h3 {
  color: #fed7aa;
}
[data-theme="dark"] .quick-pending-row {
  background: rgba(154, 52, 18, .24) !important;
  border-color: rgba(251, 146, 60, .42) !important;
  border-left-color: #fb923c !important;
}
[data-theme="dark"] .quick-pending-row .primary {
  background: #fb923c;
  border-color: #fb923c;
  color: #1f1208;
}
[data-theme="dark"] .quick-count-pill {
  background: #fb923c !important;
  color: #1f1208 !important;
}
.timeline-free-count {
  background: rgba(15, 23, 42, .06);
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 950;
  margin-bottom: 5px;
  padding: 5px 9px;
  white-space: nowrap;
}
.timeline-next-free-strip {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 14px;
}
.timeline-next-free-strip article {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 18px;
  padding: 12px;
}
.timeline-next-free-strip span,
.timeline-next-free-strip small {
  color: var(--muted);
  display: block;
  font-weight: 900;
}
.timeline-next-free-strip strong {
  color: #9a3412;
  display: block;
  font-size: 24px;
  margin: 3px 0;
}
.mini-slot-selector {
  max-width: 160px;
}
.mini-slot-selector select {
  min-height: 40px;
}
.improved-timeline-table th,
.improved-timeline-table td {
  min-width: 180px;
}
.improved-timeline-table th:first-child,
.improved-timeline-table td:first-child {
  min-width: 76px;
  position: sticky;
  left: 0;
  z-index: 1;
}
.simple-timeline-chip.previsto,
.simple-timeline-chip.forecast {
  background: rgba(249, 115, 22, .10);
  border: 1px dashed rgba(249, 115, 22, .38);
}
.simple-timeline-chip small {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 800;
  margin-top: 2px;
}
[data-theme="dark"] .timeline-free-count {
  background: rgba(15, 23, 42, .65);
  border-color: #334155;
  color: #e2e8f0;
}
[data-theme="dark"] .timeline-next-free-strip article {
  background: rgba(154, 52, 18, .22);
  border-color: rgba(251, 146, 60, .38);
}
[data-theme="dark"] .timeline-next-free-strip strong {
  color: #fed7aa;
}
[data-theme="dark"] .simple-timeline-chip.previsto,
[data-theme="dark"] .simple-timeline-chip.forecast {
  background: rgba(251, 146, 60, .16);
  border-color: rgba(251, 146, 60, .44);
}
[data-theme="dark"] .simple-timeline-chip small {
  color: #cbd5e1;
}
@media (max-width: 920px) {
  .timeline-next-free-strip { grid-template-columns: 1fr; }
}


/* v23: pedidos pendientes en naranja y cronograma ultra simple */
.quick-pending-panel {
  border-top: 8px solid #f97316 !important;
  background: linear-gradient(180deg, #fff7ed, var(--card)) !important;
}
.quick-pending-panel .simple-section-title h3 {
  color: #9a3412;
}
.quick-count-pill {
  background: #ffedd5 !important;
  border: 1px solid #fed7aa !important;
  color: #9a3412 !important;
}
.quick-pending-row {
  background: #fff7ed !important;
  border: 1px solid #fed7aa !important;
  border-left: 7px solid #f97316 !important;
}
.quick-pending-row strong {
  color: #9a3412;
}
.quick-pending-row .primary {
  background: #f97316 !important;
  border-color: #f97316 !important;
  color: #fff !important;
}
.quick-pending-row .primary:hover {
  background: #ea580c !important;
}
[data-theme="dark"] .quick-pending-panel {
  background: linear-gradient(180deg, rgba(124,45,18,.40), var(--card)) !important;
  border-top-color: #fb923c !important;
}
[data-theme="dark"] .quick-pending-panel .simple-section-title h3,
[data-theme="dark"] .quick-pending-row strong {
  color: #fed7aa;
}
[data-theme="dark"] .quick-count-pill {
  background: rgba(251,146,60,.18) !important;
  border-color: rgba(251,146,60,.45) !important;
  color: #fed7aa !important;
}
[data-theme="dark"] .quick-pending-row {
  background: rgba(124,45,18,.26) !important;
  border-color: rgba(251,146,60,.35) !important;
  border-left-color: #fb923c !important;
}

.always-open-timeline {
  margin-top: 18px;
  border-top: 8px solid #2563eb;
}
.empty-first-timeline {
  min-width: 900px;
}
.empty-first-timeline th:first-child {
  width: 90px;
}
.empty-first-timeline td {
  min-width: 220px;
  padding: 8px;
  vertical-align: stretch;
}
.simple-slot-button {
  align-items: stretch;
  background: #f8fbff;
  border: 2px solid var(--line);
  border-radius: 16px;
  color: var(--ink);
  display: grid;
  gap: 4px;
  min-height: 76px;
  padding: 10px;
  text-align: left;
  width: 100%;
}
.simple-slot-button strong {
  font-size: 16px;
  font-weight: 950;
}
.simple-slot-button span,
.simple-slot-button small {
  color: var(--muted);
  display: block;
  font-size: 13px;
  font-weight: 800;
}
.simple-slot-button.available {
  background: #f0fdf4;
  border-color: #bbf7d0;
}
.simple-slot-button.available:hover {
  border-color: #22c55e;
  box-shadow: 0 10px 20px rgba(34,197,94,.16);
  transform: translateY(-1px);
}
.simple-slot-button.full {
  background: #fef2f2;
  border-color: #fecaca;
}
.simple-slot-button.full strong {
  color: #991b1b;
}
.simple-slot-button.no-machines {
  background: #f8fafc;
  opacity: .75;
}
.timeline-start-modal {
  display: grid;
  gap: 14px;
}
.timeline-order-option-list {
  display: grid;
  gap: 10px;
}
.timeline-order-option {
  background: var(--card);
  border: 2px solid var(--line);
  border-radius: 16px;
  color: var(--ink);
  display: grid;
  gap: 3px;
  min-height: 72px;
  padding: 12px;
  text-align: left;
  width: 100%;
}
.timeline-order-option:hover {
  border-color: var(--primary);
  transform: translateY(-1px);
}
.timeline-order-option strong {
  font-weight: 950;
}
.timeline-order-option span,
.timeline-order-option small {
  color: var(--muted);
  font-weight: 800;
}
.timeline-order-option.disabled {
  cursor: not-allowed;
  opacity: .55;
}
.timeline-extra-note {
  color: var(--muted);
  font-weight: 800;
  margin: 0;
}
[data-theme="dark"] .always-open-timeline {
  border-top-color: #60a5fa;
}
[data-theme="dark"] .simple-slot-button {
  background: #0f172a;
  border-color: #334155;
  color: #e5e7eb;
}
[data-theme="dark"] .simple-slot-button span,
[data-theme="dark"] .simple-slot-button small {
  color: #cbd5e1;
}
[data-theme="dark"] .simple-slot-button.available {
  background: rgba(22,101,52,.32);
  border-color: rgba(74,222,128,.38);
}
[data-theme="dark"] .simple-slot-button.full {
  background: rgba(127,29,29,.32);
  border-color: rgba(248,113,113,.42);
}
[data-theme="dark"] .simple-slot-button.full strong {
  color: #fecaca;
}
[data-theme="dark"] .timeline-order-option {
  background: #0f172a;
  border-color: #334155;
  color: #e5e7eb;
}
[data-theme="dark"] .timeline-order-option span,
[data-theme="dark"] .timeline-order-option small {
  color: #cbd5e1;
}

/* v26: cronograma simple con continuidad de pedido */
.compact-cycle-start {
  border-left-width: 5px;
}
.compact-cycle-continuation {
  opacity: .86;
  border-style: dashed;
  background: color-mix(in srgb, var(--card) 88%, var(--primary) 12%);
}
.compact-cycle-continuation .cycle-time {
  color: var(--muted);
  font-weight: 900;
}
.compact-cycle-continuation .cycle-person strong {
  color: var(--muted);
  font-weight: 800;
}
.compact-cycle-continuation .cycle-person em {
  font-weight: 900;
}
html[data-theme="dark"] .compact-cycle-continuation {
  background: rgba(59, 130, 246, .10);
  border-color: rgba(147, 197, 253, .45);
}

/* v27: agenda en bloques continuos */
.agenda-grid-board {
  position: relative;
}
.agenda-grid-rows,
.agenda-grid-blocks {
  position: relative;
}
.agenda-grid-rows {
  display: grid;
  gap: 0;
}
.agenda-grid-row {
  align-items: stretch;
  display: grid;
  grid-template-columns: 92px 1fr;
  min-height: 88px;
}
.agenda-grid-time {
  align-items: center;
  align-self: stretch;
  background: #0b1220;
  border: 2px solid rgba(96, 165, 250, 0.18);
  border-radius: 18px;
  color: #dbeafe;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  font: inherit;
  font-weight: 900;
  gap: 8px;
  justify-content: center;
  margin: 4px 10px 4px 0;
  padding: 12px 8px;
}
.agenda-grid-time span {
  color: #eff6ff;
  font-size: 18px;
  line-height: 1;
}
.agenda-grid-time small {
  background: rgba(37, 99, 235, 0.16);
  border: 1px solid rgba(96, 165, 250, 0.35);
  border-radius: 999px;
  color: #93c5fd;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .02em;
  padding: 4px 8px;
  text-transform: uppercase;
}
.agenda-grid-lane {
  border-bottom: 1px dashed rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  cursor: pointer;
  margin: 0;
  min-height: 88px;
}
.agenda-grid-lane:hover {
  background: rgba(59, 130, 246, 0.05);
}
.agenda-grid-blocks {
  inset: 0 0 0 92px;
  pointer-events: none;
  position: absolute;
}
.agenda-cycle-block {
  align-items: start;
  border: 2px solid #60a5fa;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
  cursor: grab;
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  pointer-events: auto;
  position: absolute;
  text-align: left;
}
.agenda-cycle-block:hover {
  transform: translateY(-1px);
}
.agenda-cycle-block.assigned-cycle.wash {
  background: #eff6ff;
  border-color: #3b82f6;
  color: #1d4ed8;
}
.agenda-cycle-block.assigned-cycle.dry {
  background: #fff7ed;
  border-color: #f97316;
  color: #c2410c;
}
.agenda-cycle-block.unassigned-cycle {
  background: #ecfeff;
  border-color: #06b6d4;
  color: #0f766e;
  border-style: dashed;
}
.agenda-cycle-time {
  font-size: 13px;
  font-weight: 900;
  line-height: 1.1;
}
.agenda-cycle-client {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.2;
}
.agenda-cycle-meta,
.agenda-cycle-service {
  color: var(--muted);
  font-weight: 800;
  line-height: 1.2;
}
.agenda-cycle-service {
  font-size: 12px;
}
.agenda-empty-state {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-weight: 800;
  height: 100%;
  justify-content: center;
  left: 6px;
  pointer-events: none;
  position: absolute;
  right: 6px;
  text-align: center;
  top: 0;
}
:root[data-theme="dark"] .agenda-grid-time {
  background: #020617;
  border-color: #1e3a8a;
  color: #cbd5e1;
}
:root[data-theme="dark"] .agenda-grid-time span { color: #eff6ff; }
:root[data-theme="dark"] .agenda-grid-time small {
  background: rgba(37, 99, 235, 0.18);
  border-color: rgba(96, 165, 250, 0.35);
  color: #bfdbfe;
}
:root[data-theme="dark"] .agenda-grid-lane {
  border-bottom-color: rgba(71, 85, 105, 0.7);
}
:root[data-theme="dark"] .agenda-grid-lane:hover {
  background: rgba(96, 165, 250, 0.07);
}
:root[data-theme="dark"] .agenda-cycle-block.assigned-cycle.wash {
  background: #0b2a45;
  border-color: #3b82f6;
  color: #bfdbfe;
}
:root[data-theme="dark"] .agenda-cycle-block.assigned-cycle.dry {
  background: #3b1d07;
  border-color: #f97316;
  color: #fed7aa;
}
:root[data-theme="dark"] .agenda-cycle-block.unassigned-cycle {
  background: #083344;
  border-color: #06b6d4;
  color: #a5f3fc;
}
:root[data-theme="dark"] .agenda-cycle-client {
  color: #f8fafc;
}
:root[data-theme="dark"] .agenda-cycle-meta,
:root[data-theme="dark"] .agenda-cycle-service,
:root[data-theme="dark"] .agenda-empty-state {
  color: #cbd5e1;
}
@media (max-width: 820px) {
  .agenda-grid-row {
    grid-template-columns: 78px 1fr;
    min-height: 82px;
  }
  .agenda-grid-blocks { left: 78px; }
}
@media (max-width: 640px) {
  .agenda-grid-row {
    grid-template-columns: 74px 1fr;
    min-height: 78px;
  }
  .agenda-grid-blocks { left: 74px; }
  .agenda-grid-time span { font-size: 16px; }
  .agenda-cycle-block { padding: 10px 12px; }
}


/* v28: bloques más unidos y drop sobre bloques existentes */
body.schedule-dragging .agenda-cycle-block {
  pointer-events: none;
}
body.schedule-dragging .agenda-grid-lane {
  background: rgba(59, 130, 246, 0.045);
}
.agenda-grid-lane {
  border-bottom-color: rgba(148, 163, 184, 0.10);
}
.agenda-cycle-block {
  background: var(--agenda-bg) !important;
  border: 0 !important;
  border-left: 6px solid var(--agenda-accent) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  color: var(--agenda-text) !important;
  outline: 0;
  overflow: hidden;
  padding: 12px 14px !important;
}
.agenda-cycle-block::before {
  display: none;
}
.agenda-cycle-block.assigned-cycle.wash,
.agenda-cycle-block.assigned-cycle.dry,
.agenda-cycle-block.unassigned-cycle {
  background: var(--agenda-bg) !important;
  color: var(--agenda-text) !important;
}
.agenda-cycle-top {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}
.agenda-cycle-stage {
  background: rgba(255,255,255,0.34);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .02em;
  padding: 3px 8px;
  white-space: nowrap;
}
.agenda-cycle-client,
.agenda-cycle-time,
.agenda-cycle-meta,
.agenda-cycle-service,
.agenda-cycle-stage {
  color: inherit !important;
  text-shadow: none !important;
}
.agenda-cycle-time {
  font-size: 12px !important;
}
.agenda-cycle-client {
  font-size: 16px !important;
}
.agenda-cycle-meta,
.agenda-cycle-service {
  opacity: .92;
}
.agenda-grid-board {
  overflow: hidden;
}
:root[data-theme="dark"] .agenda-grid-lane {
  border-bottom-color: rgba(30, 41, 59, 0.55);
}
:root[data-theme="dark"] .agenda-cycle-block.assigned-cycle.wash,
:root[data-theme="dark"] .agenda-cycle-block.assigned-cycle.dry,
:root[data-theme="dark"] .agenda-cycle-block.unassigned-cycle {
  background: var(--agenda-bg) !important;
  color: var(--agenda-text) !important;
}


/* v30 ajustes pedidos + rol + agenda */
.order-card.pendiente {
  background: linear-gradient(180deg, #fff5f5 0%, #fff1f2 100%) !important;
  border-left-color: #ef4444 !important;
}
.order-card.pendiente .order-notes,
.order-card.pendiente .order-item-line {
  background: rgba(127, 29, 29, 0.06);
}
:root[data-theme="dark"] .order-card.pendiente {
  background: linear-gradient(180deg, #2a1515 0%, #221214 100%) !important;
  border-left-color: #f87171 !important;
}
:root[data-theme="dark"] .order-card.pendiente .order-notes,
:root[data-theme="dark"] .order-card.pendiente .order-item-line {
  background: rgba(248, 113, 113, 0.08);
}
.role-simple-modal { gap: 10px; }
.role-simple-actions { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.admin-pin-field input { margin-top: 6px; }
.agenda-cycle-warning {
  align-items: center;
  background: linear-gradient(180deg, #fef3c7 0%, #fde68a 100%);
  border: 1px solid #f59e0b;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(245, 158, 11, .22);
  color: #7c2d12;
  display: inline-flex;
  font-size: 11px;
  font-weight: 1000;
  gap: 6px;
  justify-self: start;
  padding: 4px 9px;
}
.agenda-warning-icon {
  align-items: center;
  background: #f97316;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 10px;
  height: 16px;
  justify-content: center;
  line-height: 1;
  width: 16px;
}
:root[data-theme="dark"] .agenda-cycle-warning {
  background: linear-gradient(180deg, #7c2d12 0%, #9a3412 100%);
  border-color: #fb923c;
  box-shadow: 0 4px 14px rgba(249, 115, 22, .25);
  color: #ffedd5;
}
:root[data-theme="dark"] .agenda-warning-icon {
  background: #fdba74;
  color: #7c2d12;
}
@media (max-width: 760px) {
  .role-simple-actions { grid-template-columns: 1fr; }
}


.agenda-cycle-block.unassigned-cycle {
  box-shadow: inset 0 0 0 2px rgba(245, 158, 11, .32) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.unassigned-cycle {
  box-shadow: inset 0 0 0 2px rgba(251, 146, 60, .34) !important;
}


/* v32: warning más fino + agenda clara en modo claro */
.agenda-cycle-warning,
.agenda-warning-icon {
  display: none !important;
}
.agenda-cycle-meta {
  align-items: center;
  display: inline-flex;
  gap: 6px;
}
.agenda-machine-alert-dot {
  background: #f59e0b;
  border: 2px solid rgba(255,255,255,.65);
  border-radius: 999px;
  box-shadow: 0 0 0 2px rgba(245,158,11,.22);
  display: inline-block;
  flex: 0 0 auto;
  height: 9px;
  width: 9px;
}
.agenda-cycle-block.unassigned-cycle {
  box-shadow: inset 0 0 0 2px rgba(245,158,11,.24) !important;
}
.agenda-cycle-block.unassigned-cycle .agenda-cycle-meta {
  font-weight: 1000;
}
.agenda-grid-time {
  background: #ffffff !important;
  border: 2px solid #d6e4ff !important;
  box-shadow: 0 5px 14px rgba(15,23,42,.06);
  color: #17499c !important;
}
.agenda-grid-time span {
  color: #0f2f66 !important;
}
.agenda-grid-time small {
  background: #eaf1ff !important;
  border-color: #c7d9ff !important;
  color: #17499c !important;
}
.agenda-grid-lane {
  border-bottom-color: rgba(148,163,184,.18);
}
.agenda-grid-lane:hover {
  background: rgba(37,99,235,.045);
}
:root[data-theme="dark"] .agenda-machine-alert-dot {
  background: #fbbf24;
  border-color: rgba(15,23,42,.75);
  box-shadow: 0 0 0 2px rgba(251,191,36,.22);
}
:root[data-theme="dark"] .agenda-grid-time {
  background: #020617 !important;
  border-color: #1e3a8a !important;
  box-shadow: none;
  color: #cbd5e1 !important;
}
:root[data-theme="dark"] .agenda-grid-time span { color: #eff6ff !important; }
:root[data-theme="dark"] .agenda-grid-time small {
  background: rgba(37, 99, 235, 0.18) !important;
  border-color: rgba(96, 165, 250, 0.35) !important;
  color: #bfdbfe !important;
}


/* v33: warning superior más visible en agenda */
.agenda-cycle-block {
  position: absolute;
}
.agenda-cycle-block.unassigned-cycle .agenda-cycle-top {
  padding-right: 24px;
}
.agenda-corner-warning {
  align-items: center;
  background: linear-gradient(180deg, #fff7ed 0%, #fed7aa 100%);
  border: 1px solid #f59e0b;
  border-radius: 999px;
  box-shadow: 0 6px 14px rgba(245, 158, 11, 0.22);
  color: #9a3412;
  display: inline-flex;
  font-size: 13px;
  font-weight: 1000;
  height: 22px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 10px;
  top: 10px;
  width: 22px;
  z-index: 2;
}
:root[data-theme="dark"] .agenda-corner-warning {
  background: linear-gradient(180deg, #7c2d12 0%, #9a3412 100%);
  border-color: #fb923c;
  box-shadow: 0 6px 14px rgba(249, 115, 22, 0.28);
  color: #ffedd5;
}
.agenda-machine-alert-dot {
  display: none !important;
}


/* v34: warning superior más explícito */
.agenda-cycle-block.unassigned-cycle .agenda-cycle-top {
  padding-right: 98px;
}
.agenda-corner-warning {
  align-items: center;
  background: linear-gradient(180deg, #fff7ed 0%, #ffedd5 100%);
  border: 1px solid #fdba74;
  border-radius: 999px;
  box-shadow: 0 6px 14px rgba(245, 158, 11, 0.18);
  color: #9a3412;
  display: inline-flex;
  font-size: 11px;
  font-weight: 900;
  gap: 6px;
  height: 24px;
  line-height: 1;
  padding: 0 9px 0 6px;
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 2;
}
.agenda-corner-warning-icon {
  align-items: center;
  background: #f59e0b;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 10px;
  font-weight: 1000;
  height: 14px;
  justify-content: center;
  width: 14px;
}
:root[data-theme="dark"] .agenda-corner-warning {
  background: linear-gradient(180deg, #7c2d12 0%, #9a3412 100%);
  border-color: #fb923c;
  box-shadow: 0 6px 14px rgba(249, 115, 22, 0.24);
  color: #ffedd5;
}
:root[data-theme="dark"] .agenda-corner-warning-icon {
  background: #fdba74;
  color: #7c2d12;
}

/* v37: alerta superior simple + eje X mejor alineado */
.agenda-cycle-block.unassigned-cycle .agenda-cycle-top {
  padding-right: 28px !important;
}
.agenda-cycle-meta {
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}
.agenda-machine-alert-label,
.agenda-machine-alert-dot,
.agenda-corner-warning-icon,
.agenda-corner-warning-text {
  display: none !important;
}
.agenda-corner-warning {
  align-items: center;
  background: linear-gradient(180deg, #fff7ed 0%, #fed7aa 100%);
  border: 1px solid #f59e0b;
  border-radius: 999px;
  box-shadow: 0 6px 14px rgba(245, 158, 11, 0.22);
  color: #9a3412;
  display: inline-flex !important;
  font-size: 13px;
  font-weight: 1000;
  height: 22px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 10px;
  top: 10px;
  width: 22px;
  z-index: 3;
}
.agenda-machine-name {
  font-weight: 1000;
}
.agenda-cycle-block.unassigned-cycle {
  box-shadow: inset 0 0 0 1px rgba(124,45,18,.16) !important;
}
:root[data-theme="dark"] .agenda-corner-warning {
  background: linear-gradient(180deg, #7c2d12 0%, #9a3412 100%);
  border-color: #fb923c;
  box-shadow: 0 6px 14px rgba(249, 115, 22, 0.28);
  color: #ffedd5;
}
:root[data-theme="dark"] .agenda-cycle-block.unassigned-cycle {
  box-shadow: inset 0 0 0 1px rgba(251,146,60,.16) !important;
}
.assign-machine-helper {
  background: var(--panel-soft);
  border: 1px solid var(--border-soft);
  border-radius: 14px;
  color: var(--muted);
  font-size: 14px;
  margin: 0;
  padding: 10px 12px;
}
.single-machine-assign-form select {
  min-height: 48px;
}
.performance-axis-labels {
  bottom: 12px;
}
.performance-axis-labels span {
  white-space: nowrap;
}
.performance-axis-labels span:first-child {
  transform: translateX(0);
  text-align: left;
}
.performance-axis-labels span:last-child {
  transform: translateX(-100%);
  text-align: right;
}


/* v38: ajustes de históricos, estados de agenda y permisos dev */
.performance-x-labels text,
.performance-line-card .x-axis-label {
  fill: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.performance-line-card .performance-x-labels text:first-child {
  text-anchor: start;
}

.performance-line-card .performance-x-labels text:last-child {
  text-anchor: end;
}

:root[data-theme="dark"] .performance-x-labels text,
:root[data-theme="dark"] .performance-line-card .x-axis-label {
  fill: #cbd5e1;
}

.agenda-cycle-status-badge {
  border-radius: 999px;
  font-size: 10px;
  font-weight: 1000;
  line-height: 1;
  padding: 5px 8px;
  white-space: nowrap;
}

.agenda-cycle-status-badge.status-listo {
  background: rgba(16, 185, 129, .18);
  border: 1px solid rgba(16, 185, 129, .35);
  color: #065f46;
}

.agenda-cycle-status-badge.status-retirado {
  background: rgba(99, 102, 241, .16);
  border: 1px solid rgba(99, 102, 241, .34);
  color: #312e81;
}

.agenda-cycle-block.status-listo {
  box-shadow: inset 0 0 0 2px rgba(16, 185, 129, .24) !important;
}

.agenda-cycle-block.status-retirado {
  opacity: .92;
  box-shadow: inset 0 0 0 2px rgba(99, 102, 241, .28) !important;
}

:root[data-theme="dark"] .agenda-cycle-status-badge.status-listo {
  background: rgba(16, 185, 129, .20);
  border-color: rgba(110, 231, 183, .35);
  color: #d1fae5;
}

:root[data-theme="dark"] .agenda-cycle-status-badge.status-retirado {
  background: rgba(129, 140, 248, .19);
  border-color: rgba(165, 180, 252, .34);
  color: #e0e7ff;
}

:root[data-theme="dark"] .agenda-cycle-block.status-listo {
  box-shadow: inset 0 0 0 2px rgba(52, 211, 153, .24) !important;
}

:root[data-theme="dark"] .agenda-cycle-block.status-retirado {
  box-shadow: inset 0 0 0 2px rgba(129, 140, 248, .30) !important;
}

.role-simple-modal .admin-pin-field {
  margin-top: 4px;
}

/* v39: alerta alineada + estado de agenda más bloqueado visualmente */
.agenda-cycle-block {
  position: absolute;
}
.agenda-cycle-block > * {
  position: relative;
  z-index: 2;
}

.agenda-cycle-block.unassigned-cycle .agenda-cycle-top {
  padding-right: 38px !important;
}

.agenda-corner-warning {
  align-items: center;
  background: linear-gradient(180deg, #fff7ed 0%, #fed7aa 100%);
  border: 1px solid #f59e0b;
  border-radius: 999px;
  box-shadow: 0 6px 14px rgba(245, 158, 11, 0.22);
  color: #9a3412;
  display: inline-flex !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 900;
  height: 26px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  position: absolute;
  right: 10px;
  top: 10px;
  width: 26px;
  z-index: 4;
}

:root[data-theme="dark"] .agenda-corner-warning {
  background: linear-gradient(180deg, #7c2d12 0%, #9a3412 100%);
  border-color: #fb923c;
  box-shadow: 0 6px 14px rgba(249, 115, 22, 0.28);
  color: #ffedd5;
}

.agenda-cycle-status-badge {
  border-radius: 999px;
  font-size: 11px;
  font-weight: 1000;
  letter-spacing: .01em;
  line-height: 1;
  padding: 7px 11px;
  white-space: nowrap;
}

.agenda-cycle-status-badge.status-listo {
  background: rgba(16, 185, 129, .22);
  border: 1px solid rgba(16, 185, 129, .40);
  color: #065f46;
}

.agenda-cycle-status-badge.status-retirado {
  background: rgba(99, 102, 241, .18);
  border: 1px solid rgba(99, 102, 241, .38);
  color: #312e81;
}

.agenda-cycle-block.status-listo::after,
.agenda-cycle-block.status-retirado::after {
  border-radius: inherit;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.agenda-cycle-block.status-listo::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(16, 185, 129, 0.05) 0 10px,
    rgba(255, 255, 255, 0) 10px 20px
  );
}

.agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(99, 102, 241, 0.055) 0 10px,
    rgba(255, 255, 255, 0) 10px 20px
  );
}

.agenda-cycle-block.status-listo {
  box-shadow: inset 0 0 0 2px rgba(16, 185, 129, .34), inset 0 0 0 9999px rgba(16, 185, 129, .06) !important;
}

.agenda-cycle-block.status-retirado {
  opacity: 0.94;
  box-shadow: inset 0 0 0 2px rgba(99, 102, 241, .36), inset 0 0 0 9999px rgba(99, 102, 241, .06) !important;
}

:root[data-theme="dark"] .agenda-cycle-status-badge.status-listo {
  background: rgba(16, 185, 129, .22);
  border-color: rgba(110, 231, 183, .36);
  color: #d1fae5;
}

:root[data-theme="dark"] .agenda-cycle-status-badge.status-retirado {
  background: rgba(129, 140, 248, .22);
  border-color: rgba(165, 180, 252, .38);
  color: #e0e7ff;
}

:root[data-theme="dark"] .agenda-cycle-block.status-listo::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(52, 211, 153, 0.06) 0 10px,
    rgba(255, 255, 255, 0) 10px 20px
  );
}

:root[data-theme="dark"] .agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(165, 180, 252, 0.065) 0 10px,
    rgba(255, 255, 255, 0) 10px 20px
  );
}

:root[data-theme="dark"] .agenda-cycle-block.status-listo {
  box-shadow: inset 0 0 0 2px rgba(52, 211, 153, .34), inset 0 0 0 9999px rgba(16, 185, 129, .06) !important;
}

:root[data-theme="dark"] .agenda-cycle-block.status-retirado {
  box-shadow: inset 0 0 0 2px rgba(129, 140, 248, .38), inset 0 0 0 9999px rgba(129, 140, 248, .08) !important;
}


/* v40: agenda bloqueado más visible, admin delete, gastos modal */
.warning-card {
  border: 1px solid rgba(239, 68, 68, 0.35);
  background: rgba(127, 29, 29, 0.08);
}
:root[data-theme="dark"] .warning-card {
  background: rgba(127, 29, 29, 0.18);
  border-color: rgba(248, 113, 113, 0.34);
}
.delete-order-modal ul {
  margin: 10px 0 0 18px;
}
.admin-delete-panel table td:last-child {
  min-width: 170px;
}
.business-expense-modal-form .actions {
  justify-content: flex-end;
}
.agenda-cycle-block.status-listo::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(16, 185, 129, 0.11) 0 10px,
    rgba(255, 255, 255, 0) 10px 20px
  ) !important;
}
.agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(99, 102, 241, 0.12) 0 10px,
    rgba(255, 255, 255, 0) 10px 20px
  ) !important;
}
.agenda-cycle-block.status-listo {
  box-shadow: inset 0 0 0 2px rgba(16, 185, 129, .42), inset 0 0 0 9999px rgba(16, 185, 129, .10) !important;
}
.agenda-cycle-block.status-retirado {
  box-shadow: inset 0 0 0 2px rgba(99, 102, 241, .42), inset 0 0 0 9999px rgba(99, 102, 241, .11) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-listo::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(52, 211, 153, 0.12) 0 10px,
    rgba(255, 255, 255, 0) 10px 20px
  ) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(165, 180, 252, 0.12) 0 10px,
    rgba(255, 255, 255, 0) 10px 20px
  ) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-listo {
  box-shadow: inset 0 0 0 2px rgba(52, 211, 153, .42), inset 0 0 0 9999px rgba(16, 185, 129, .11) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-retirado {
  box-shadow: inset 0 0 0 2px rgba(129, 140, 248, .44), inset 0 0 0 9999px rgba(129, 140, 248, .12) !important;
}

/* v41: patrón de bloqueado más visible en agenda */
.agenda-cycle-block.status-listo::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(16, 185, 129, 0.18) 0 10px,
    rgba(255, 255, 255, 0) 10px 18px
  ) !important;
}
.agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(55, 65, 81, 0.20) 0 10px,
    rgba(255, 255, 255, 0) 10px 18px
  ) !important;
}
.agenda-cycle-block.status-listo {
  box-shadow: inset 0 0 0 2px rgba(16, 185, 129, .48), inset 0 0 0 9999px rgba(16, 185, 129, .14) !important;
}
.agenda-cycle-block.status-retirado {
  box-shadow: inset 0 0 0 2px rgba(99, 102, 241, .50), inset 0 0 0 9999px rgba(99, 102, 241, .15) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-listo::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(52, 211, 153, 0.20) 0 10px,
    rgba(255, 255, 255, 0) 10px 18px
  ) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(226, 232, 240, 0.16) 0 10px,
    rgba(255, 255, 255, 0) 10px 18px
  ) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-listo {
  box-shadow: inset 0 0 0 2px rgba(52, 211, 153, .46), inset 0 0 0 9999px rgba(16, 185, 129, .15) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-retirado {
  box-shadow: inset 0 0 0 2px rgba(129, 140, 248, .50), inset 0 0 0 9999px rgba(129, 140, 248, .16) !important;
}


/* v42: bloqueado más oscuro y precios de servicios */
.agenda-cycle-block.status-listo::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(5, 150, 105, 0.28) 0 10px,
    rgba(255, 255, 255, 0) 10px 18px
  ) !important;
}
.agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(30, 41, 59, 0.30) 0 10px,
    rgba(255, 255, 255, 0) 10px 18px
  ) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-listo::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(52, 211, 153, 0.28) 0 10px,
    rgba(255, 255, 255, 0) 10px 18px
  ) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(226, 232, 240, 0.24) 0 10px,
    rgba(255, 255, 255, 0) 10px 18px
  ) !important;
}
.service-price-card p {
  color: var(--muted);
  font-weight: 800;
}
.private-expense-metric small {
  color: var(--muted);
}
.private-kpis {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 18px;
}
.private-kpis .private-expense-metric {
  align-content: start;
  min-height: 150px;
}
@media (max-width: 1100px) {
  .private-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .private-kpis {
    grid-template-columns: 1fr;
  }
}

/* Administración de máquinas */
.machines-admin-page {
  display: grid;
  gap: 16px;
}
.machines-admin-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.machines-admin-hero p {
  max-width: 720px;
  margin: 6px 0 0;
  color: var(--muted, #64748b);
}
.machines-admin-kpis {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.machines-admin-kpis article {
  min-width: 130px;
  border: 1px solid var(--border, #d7deea);
  border-radius: 16px;
  padding: 12px 14px;
  background: var(--surface-soft, #f8fafc);
}
.machines-admin-kpis span {
  display: block;
  font-size: 12px;
  color: var(--muted, #64748b);
}
.machines-admin-kpis strong {
  display: block;
  font-size: 28px;
  line-height: 1;
  margin-top: 4px;
}
.machine-admin-help,
.machine-system-alerts {
  border: 1px solid var(--border, #d7deea);
  border-radius: 16px;
  padding: 12px 14px;
  background: var(--surface-soft, #f8fafc);
  color: var(--muted, #64748b);
}
.machine-system-alerts {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
}
.machine-system-alerts article {
  border-left: 4px solid #f59e0b;
  padding-left: 12px;
}
.machine-system-alerts article.due {
  border-left-color: #ef4444;
}
.machine-system-alerts strong,
.machine-system-alerts span {
  display: block;
}
.machine-admin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}
.machine-admin-card {
  border: 1px solid var(--border, #d7deea);
  border-radius: 20px;
  padding: 14px;
  background: var(--card, #ffffff);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
}
.machine-admin-card.status-maintenance {
  border-color: rgba(245, 158, 11, 0.55);
}
.machine-admin-card.status-repair {
  border-color: rgba(239, 68, 68, 0.55);
}
.machine-admin-card.due {
  box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.18), 0 14px 28px rgba(15, 23, 42, 0.06);
}
.machine-admin-form {
  display: grid;
  gap: 10px;
}
.machine-admin-form label {
  display: grid;
  gap: 5px;
  font-weight: 700;
}
.machine-admin-form label.full {
  grid-column: 1 / -1;
}
.machine-admin-form input,
.machine-admin-form select,
.machine-admin-form textarea {
  width: 100%;
}
.machine-admin-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}
.machine-admin-head small {
  color: var(--muted, #64748b);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
}
.machine-admin-head h3 {
  margin: 2px 0 0;
}
.machine-admin-status {
  white-space: nowrap;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
}
.machine-admin-status.ok {
  background: rgba(34, 197, 94, 0.12);
  color: #15803d;
}
.machine-admin-status.maintenance {
  background: rgba(245, 158, 11, 0.14);
  color: #92400e;
}
.machine-admin-status.repair {
  background: rgba(239, 68, 68, 0.12);
  color: #b91c1c;
}
.machine-admin-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  color: var(--muted, #64748b);
}
.maintenance-alert-modal {
  text-align: center;
  display: grid;
  gap: 8px;
  justify-items: center;
}
.maintenance-alert-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: rgba(245, 158, 11, 0.16);
  font-size: 28px;
}
@media (max-width: 760px) {
  .machine-admin-grid { grid-template-columns: 1fr; }
  .machines-admin-hero { align-items: stretch; }
  .machines-admin-kpis { width: 100%; }
  .machines-admin-kpis article { flex: 1; }
}

/* v47 real: máquinas simple, visual y con historial */
.machine-admin-card.type-washer {
  border-left: 5px solid #38bdf8;
}
.machine-admin-card.type-large {
  border-left: 5px solid #8b5cf6;
}
.machine-admin-card.type-dryer {
  border-left: 5px solid #f59e0b;
}
.machine-admin-card.type-washer .machine-admin-head small { color: #0284c7; }
.machine-admin-card.type-large .machine-admin-head small { color: #7c3aed; }
.machine-admin-card.type-dryer .machine-admin-head small { color: #b45309; }
.machine-admin-card.status-maintenance {
  border-color: rgba(239, 68, 68, 0.65);
  background: linear-gradient(180deg, rgba(239, 68, 68, .055), var(--card, #fff));
}
.machine-admin-status.maintenance {
  background: rgba(239, 68, 68, 0.14);
  color: #b91c1c;
}
.machine-history-panel {
  border: 1px solid var(--border, #d7deea);
  border-radius: 20px;
  background: var(--card, #fff);
  padding: 16px;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
}
.machine-history-panel summary {
  cursor: pointer;
  font-size: 20px;
  font-weight: 900;
  margin-bottom: 12px;
}
.machine-history-panel .toolbar.compact {
  align-items: center;
  margin-bottom: 12px;
}
.machine-history-panel .toolbar.compact p {
  margin: 0;
  color: var(--muted, #64748b);
}
.machine-history-panel .table-scroll {
  overflow-x: auto;
}
.machine-history-panel table {
  width: 100%;
  border-collapse: collapse;
}
.machine-history-panel th,
.machine-history-panel td {
  padding: 12px 10px;
  border-bottom: 1px solid var(--border, #d7deea);
  text-align: left;
}
.machine-history-pagination {
  margin-top: 14px;
}
:root[data-theme="dark"] .machines-admin-kpis article,
:root[data-theme="dark"] .machine-admin-help,
:root[data-theme="dark"] .machine-system-alerts,
:root[data-theme="dark"] .machine-admin-card,
:root[data-theme="dark"] .machine-history-panel {
  background: #101827;
  border-color: rgba(148, 163, 184, .32);
  color: #f8fafc;
}
:root[data-theme="dark"] .machines-admin-hero p,
:root[data-theme="dark"] .machines-admin-kpis span,
:root[data-theme="dark"] .machine-admin-help,
:root[data-theme="dark"] .machine-admin-footer,
:root[data-theme="dark"] .machine-history-panel .toolbar.compact p {
  color: #cbd5e1;
}
:root[data-theme="dark"] .machine-admin-card.status-maintenance {
  background: linear-gradient(180deg, rgba(239, 68, 68, .14), #101827);
  border-color: rgba(248, 113, 113, .58);
}
:root[data-theme="dark"] .machine-admin-card.type-washer .machine-admin-head small { color: #7dd3fc; }
:root[data-theme="dark"] .machine-admin-card.type-large .machine-admin-head small { color: #c4b5fd; }
:root[data-theme="dark"] .machine-admin-card.type-dryer .machine-admin-head small { color: #fcd34d; }
:root[data-theme="dark"] .machine-admin-status.ok {
  background: rgba(16, 185, 129, .18);
  color: #86efac;
}
:root[data-theme="dark"] .machine-admin-status.maintenance {
  background: rgba(239, 68, 68, .22);
  color: #fecaca;
}
:root[data-theme="dark"] .machine-history-panel th,
:root[data-theme="dark"] .machine-history-panel td {
  border-color: rgba(148, 163, 184, .22);
}

/* v48 ajustes máquinas/turnos */
.machine-alarm-row {
  align-items: end;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
}
.machine-alarm-row .secondary {
  min-height: 44px;
  white-space: nowrap;
}
.machine-history-panel:not([open]) summary {
  margin-bottom: 0;
}
.slot-availability-grid article {
  align-content: start;
}
.machine-chip-list {
  align-items: center;
}
.machine-mini-chip {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  line-height: 1.1;
  min-height: 34px;
  white-space: nowrap;
}
:root[data-theme="dark"] .machine-alarm-row .secondary {
  background: #111827;
  border-color: rgba(148, 163, 184, .38);
  color: #e5e7eb;
}
@media (max-width: 760px) {
  .machine-alarm-row { grid-template-columns: 1fr; }
}


/* v49: login inicial, alarmas de máquinas y pin de borrado */
.session-locked .topbar,
.session-locked .app-shell {
  display: none !important;
}
.login-screen {
  align-items: center;
  background:
    radial-gradient(circle at top left, rgba(59, 130, 246, .18), transparent 34%),
    linear-gradient(135deg, #eaf2ff 0%, #f8fbff 45%, #eef4ff 100%);
  display: flex;
  inset: 0;
  justify-content: center;
  min-height: 100vh;
  padding: 24px;
  position: fixed;
  z-index: 9999;
}
.login-card {
  background: var(--card);
  border: 2px solid var(--line);
  border-radius: 28px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 22px;
  max-width: 520px;
  padding: 34px;
  width: min(100%, 520px);
}
.login-brand {
  text-align: center;
}
.login-logo {
  display: block;
  height: 92px;
  margin: 0 auto 10px;
  object-fit: contain;
  width: 110px;
}
.login-brand h1 {
  font-size: clamp(32px, 5vw, 52px);
  line-height: 1;
  margin: 0 0 10px;
}
.login-brand p:not(.eyebrow-dark) {
  color: var(--muted);
  font-weight: 900;
  margin: 0;
}
.login-form {
  display: grid;
  gap: 14px;
}
.login-form small {
  color: var(--muted);
  display: block;
  font-weight: 800;
  text-align: center;
}
:root[data-theme="dark"] .login-screen {
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, .28), transparent 34%),
    linear-gradient(135deg, #020617 0%, #0f172a 55%, #111827 100%);
}
:root[data-theme="dark"] .login-card {
  background: #111827;
  border-color: rgba(148, 163, 184, .32);
  box-shadow: 0 24px 70px rgba(0,0,0,.45);
}
.machine-alarm-row {
  align-items: stretch !important;
  grid-template-columns: 1fr !important;
}
.machine-alarm-row label {
  min-width: 0;
}
.machine-alarm-row input[type="datetime-local"] {
  width: 100%;
}
.machine-alarm-row .secondary {
  min-height: 46px;
  width: 100%;
}
.role-simple-modal .danger.full {
  width: 100%;
}

/* v54: fila de total en gastos del local */
.business-expenses-total-row td {
  border-top: 2px solid rgba(239, 68, 68, 0.45);
  background: rgba(239, 68, 68, 0.08);
}
.business-expenses-total-row strong {
  color: var(--text);
}
:root[data-theme="dark"] .business-expenses-total-row td {
  background: rgba(127, 29, 29, 0.32);
  border-top-color: rgba(248, 113, 113, 0.55);
}

/* v56 ajustes visuales y operación de máquinas/deposito */
.storage-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(110px, 1fr)) !important;
  gap: 12px !important;
  max-width: 760px;
}
.location {
  min-height: 92px !important;
  border-radius: 16px !important;
}
.location h3 { font-size: 22px; margin-bottom: 6px; text-transform: uppercase; }
@media (max-width: 800px) {
  .storage-grid { grid-template-columns: repeat(2, minmax(110px, 1fr)) !important; }
}
.agenda-grid-row {
  border-bottom: 2px solid rgba(96, 165, 250, 0.28) !important;
}
.agenda-grid-row:first-child {
  border-top: 2px solid rgba(96, 165, 250, 0.28) !important;
}
.agenda-grid-lane {
  background: linear-gradient(to bottom, rgba(96, 165, 250, 0.055), rgba(96, 165, 250, 0.025)) !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
}
.agenda-grid-row:nth-child(even) .agenda-grid-lane {
  background: linear-gradient(to bottom, rgba(148, 163, 184, 0.07), rgba(148, 163, 184, 0.035)) !important;
}
.agenda-cycle-block {
  background-image: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,0) 0,
    rgba(255,255,255,0) 84px,
    rgba(15,23,42,0.16) 84px,
    rgba(15,23,42,0.16) 88px
  ) !important;
}
:root[data-theme="dark"] .agenda-grid-row {
  border-bottom-color: rgba(147, 197, 253, 0.34) !important;
}
:root[data-theme="dark"] .agenda-grid-row:first-child {
  border-top-color: rgba(147, 197, 253, 0.34) !important;
}
:root[data-theme="dark"] .agenda-grid-lane {
  background: linear-gradient(to bottom, rgba(96, 165, 250, 0.10), rgba(96, 165, 250, 0.045)) !important;
}
:root[data-theme="dark"] .agenda-grid-row:nth-child(even) .agenda-grid-lane {
  background: linear-gradient(to bottom, rgba(148, 163, 184, 0.11), rgba(148, 163, 184, 0.055)) !important;
}
:root[data-theme="dark"] .agenda-cycle-block {
  background-image: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,0) 0,
    rgba(255,255,255,0) 84px,
    rgba(255,255,255,0.22) 84px,
    rgba(255,255,255,0.22) 88px
  ) !important;
}
.agenda-machine-name {
  display: inline-block;
  margin-left: 2px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,0.46);
  border: 1px solid rgba(15,23,42,0.18);
  font-size: 16px;
  font-weight: 1000;
  line-height: 1;
  box-shadow: 0 2px 0 rgba(15,23,42,0.08);
}
.agenda-cycle-block.unassigned-cycle .agenda-machine-name {
  background: rgba(255, 255, 255, 0.28);
  border-style: dashed;
}
.machine-admin-card.type-washer { border-top: 5px solid #0ea5e9 !important; }
.machine-admin-card.type-large { border-top: 5px solid #8b5cf6 !important; }
.machine-admin-card.type-dryer { border-top: 5px solid #f97316 !important; }
.machine-admin-card.blocked-for-schedule {
  outline: 2px solid rgba(239, 68, 68, 0.65);
  box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.08);
}
.machine-block-check {
  align-items: center;
  display: flex !important;
  flex-direction: row !important;
  gap: 10px;
  border: 1px solid rgba(239, 68, 68, .28);
  background: rgba(239, 68, 68, .06);
  border-radius: 14px;
  padding: 10px 12px;
  font-weight: 900;
}
.machine-block-check input {
  width: 18px;
  height: 18px;
  accent-color: #ef4444;
}
:root[data-theme="dark"] .machine-block-check {
  background: rgba(239, 68, 68, .13);
  border-color: rgba(248, 113, 113, .34);
}

/* v57: agenda más prolija + CSV con acentos corregido desde app.js */
.agenda-grid-row {
  border-bottom: 1px solid rgba(96, 165, 250, 0.22) !important;
}
.agenda-grid-row:first-child {
  border-top: 1px solid rgba(96, 165, 250, 0.22) !important;
}
.agenda-grid-lane {
  background: linear-gradient(to bottom, rgba(96, 165, 250, 0.040), rgba(96, 165, 250, 0.018)) !important;
}
.agenda-grid-row:nth-child(even) .agenda-grid-lane {
  background: linear-gradient(to bottom, rgba(148, 163, 184, 0.050), rgba(148, 163, 184, 0.024)) !important;
}
.agenda-cycle-block {
  background-image: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,0) 0,
    rgba(255,255,255,0) 86px,
    rgba(15,23,42,0.075) 86px,
    rgba(15,23,42,0.075) 88px
  ) !important;
}
:root[data-theme="dark"] .agenda-grid-row {
  border-bottom-color: rgba(147, 197, 253, 0.22) !important;
}
:root[data-theme="dark"] .agenda-grid-row:first-child {
  border-top-color: rgba(147, 197, 253, 0.22) !important;
}
:root[data-theme="dark"] .agenda-grid-lane {
  background: linear-gradient(to bottom, rgba(96, 165, 250, 0.070), rgba(96, 165, 250, 0.030)) !important;
}
:root[data-theme="dark"] .agenda-grid-row:nth-child(even) .agenda-grid-lane {
  background: linear-gradient(to bottom, rgba(148, 163, 184, 0.080), rgba(148, 163, 184, 0.035)) !important;
}
:root[data-theme="dark"] .agenda-cycle-block {
  background-image: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,0) 0,
    rgba(255,255,255,0) 86px,
    rgba(255,255,255,0.115) 86px,
    rgba(255,255,255,0.115) 88px
  ) !important;
}
.agenda-machine-name {
  align-items: center;
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(219,234,254,.72)) !important;
  border: 1.5px solid rgba(37, 99, 235, .25) !important;
  border-radius: 999px !important;
  box-shadow: 0 2px 6px rgba(15,23,42,.10) !important;
  color: #0f2f66 !important;
  display: inline-flex !important;
  font-size: 17px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  margin-left: 3px !important;
  padding: 4px 8px !important;
  vertical-align: middle !important;
}
.agenda-cycle-block.unassigned-cycle .agenda-machine-name {
  background: rgba(255, 247, 237, .72) !important;
  border-color: rgba(194, 65, 12, .30) !important;
  color: #7c2d12 !important;
}
:root[data-theme="dark"] .agenda-machine-name {
  background: linear-gradient(180deg, rgba(219,234,254,.30), rgba(59,130,246,.22)) !important;
  border-color: rgba(147,197,253,.38) !important;
  box-shadow: 0 2px 8px rgba(2,6,23,.25) !important;
  color: #eff6ff !important;
}
:root[data-theme="dark"] .agenda-cycle-block.unassigned-cycle .agenda-machine-name {
  background: rgba(251,146,60,.22) !important;
  border-color: rgba(251,146,60,.42) !important;
  color: #ffedd5 !important;
}

/* v58: máquina asignada más visible sin bajar ni superponerse */
.agenda-cycle-block {
  overflow: hidden !important;
  align-content: start !important;
  gap: 5px !important;
}
.agenda-cycle-meta {
  align-items: center !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
  min-width: 0 !important;
  width: 100% !important;
  line-height: 1.05 !important;
  margin-top: 0 !important;
}
.agenda-order-code {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.agenda-machine-name {
  flex: 0 0 auto !important;
  max-width: min(150px, 62%) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  padding: 4px 9px !important;
  font-size: 16px !important;
  line-height: 1.05 !important;
  transform: translateY(-1px) !important;
}
.agenda-cycle-block .agenda-cycle-client {
  margin-top: 1px !important;
}
@media (max-width: 1200px) {
  .agenda-machine-name {
    max-width: min(128px, 58%) !important;
    font-size: 15px !important;
    padding: 4px 8px !important;
  }
}

/* v59: agenda machine label + deposito direct navigation + dev logo sizing */
.business-logo {
  height: var(--business-logo-size, 92px) !important;
  width: var(--business-logo-size, 92px) !important;
  max-height: 140px !important;
  max-width: 140px !important;
}

.order-card-focus {
  outline: 3px solid rgba(59, 130, 246, .95) !important;
  box-shadow: 0 0 0 8px rgba(59, 130, 246, .18) !important;
  transition: box-shadow .25s ease, outline-color .25s ease;
}

.agenda-cycle-block {
  position: absolute !important;
  padding-right: 76px !important;
}

.agenda-cycle-block .agenda-machine-name {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-44%) !important;
  max-width: 42% !important;
  min-width: 46px !important;
  justify-content: center !important;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(219,234,254,.82)) !important;
  border: 2px solid rgba(37, 99, 235, .28) !important;
  box-shadow: 0 5px 12px rgba(15,23,42,.16) !important;
  color: #0f2f66 !important;
  font-size: 17px !important;
  padding: 5px 10px !important;
  z-index: 3 !important;
}

.agenda-cycle-block.dense-agenda-cycle {
  padding-right: 54px !important;
}

.agenda-cycle-block.dense-agenda-cycle .agenda-machine-name {
  right: 8px !important;
  max-width: 42px !important;
  min-width: 36px !important;
  padding: 5px 7px !important;
  font-size: 15px !important;
  letter-spacing: -.02em !important;
}

.agenda-cycle-block.unassigned-cycle {
  padding-right: 34px !important;
}

.agenda-cycle-block.unassigned-cycle .agenda-cycle-meta {
  max-width: calc(100% - 10px) !important;
}

.agenda-cycle-block.unassigned-cycle .agenda-machine-name {
  display: none !important;
}

.agenda-cycle-meta {
  padding-right: 0 !important;
  max-width: calc(100% - 12px) !important;
}

.agenda-cycle-block.assigned-cycle .agenda-cycle-meta,
.agenda-cycle-block.assigned-cycle .agenda-cycle-client,
.agenda-cycle-block.assigned-cycle .agenda-cycle-service {
  max-width: calc(100% - 28px) !important;
}

:root[data-theme="dark"] .agenda-cycle-block .agenda-machine-name {
  background: linear-gradient(180deg, rgba(239,246,255,.34), rgba(59,130,246,.28)) !important;
  border-color: rgba(147,197,253,.46) !important;
  color: #eff6ff !important;
  box-shadow: 0 5px 13px rgba(2,6,23,.34) !important;
}

@media (max-width: 1200px) {
  .agenda-cycle-block {
    padding-right: 58px !important;
  }
  .agenda-cycle-block .agenda-machine-name {
    right: 8px !important;
    max-width: 48px !important;
    min-width: 38px !important;
    font-size: 15px !important;
    padding: 5px 7px !important;
  }
}

/* v60: logo con control fino, máquina más legible y patrón de retirado más visible */
.brand-block {
  align-items: center !important;
}
.business-logo {
  width: var(--business-logo-width, var(--business-logo-size, 110px)) !important;
  height: var(--business-logo-height, var(--business-logo-size, 84px)) !important;
  max-width: 220px !important;
  max-height: 160px !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: translate(var(--business-logo-x, 0px), var(--business-logo-y, 0px)) !important;
  transform-origin: center center !important;
  flex: 0 0 auto !important;
}
.logo-preview {
  max-width: 220px !important;
  max-height: 160px !important;
  object-fit: contain !important;
}
.logo-settings-box {
  grid-column: span 2;
}

.agenda-cycle-block {
  padding-right: 82px !important;
}
.agenda-cycle-block .agenda-machine-name {
  right: 14px !important;
  top: 54% !important;
  transform: translateY(-50%) !important;
  max-width: 44% !important;
  min-width: 48px !important;
  background: linear-gradient(180deg, #fff7d6, #fbbf24) !important;
  border: 2px solid rgba(146, 64, 14, .42) !important;
  color: #3b2100 !important;
  box-shadow: 0 6px 14px rgba(92, 45, 0, .22) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.35) !important;
}
.agenda-cycle-block.dense-agenda-cycle {
  padding-right: 58px !important;
}
.agenda-cycle-block.dense-agenda-cycle .agenda-machine-name {
  right: 9px !important;
  max-width: 48px !important;
  min-width: 38px !important;
  font-size: 15px !important;
  padding: 5px 7px !important;
}
.agenda-cycle-block.assigned-cycle .agenda-cycle-meta,
.agenda-cycle-block.assigned-cycle .agenda-cycle-client,
.agenda-cycle-block.assigned-cycle .agenda-cycle-service {
  max-width: calc(100% - 82px) !important;
}
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-meta,
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-client,
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-service {
  max-width: calc(100% - 56px) !important;
}
:root[data-theme="dark"] .agenda-cycle-block .agenda-machine-name {
  background: linear-gradient(180deg, #fde68a, #d97706) !important;
  border-color: rgba(251, 191, 36, .62) !important;
  color: #1f1300 !important;
  box-shadow: 0 6px 15px rgba(0,0,0,.30) !important;
}

.agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(15, 23, 42, 0.23) 0 9px,
    rgba(255, 255, 255, 0) 9px 17px
  ) !important;
  opacity: .95 !important;
}
.agenda-cycle-block.status-retirado {
  box-shadow: inset 0 0 0 2px rgba(99, 102, 241, .60), inset 0 0 0 9999px rgba(99, 102, 241, .20) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(226, 232, 240, 0.24) 0 9px,
    rgba(255, 255, 255, 0) 9px 17px
  ) !important;
  opacity: .95 !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-retirado {
  box-shadow: inset 0 0 0 2px rgba(165, 180, 252, .62), inset 0 0 0 9999px rgba(129, 140, 248, .21) !important;
}

/* v61: logo con más libertad real, badge de máquina más sólido y retirados más visibles */
.brand-block {
  align-items: center !important;
  gap: 18px !important;
  min-height: 118px !important;
}
.business-logo {
  display: block !important;
  width: var(--business-logo-width, var(--business-logo-size, 110px)) !important;
  height: var(--business-logo-height, var(--business-logo-size, 84px)) !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: var(--business-logo-fit, contain) !important;
  object-position: var(--business-logo-object-x, 50%) var(--business-logo-object-y, 50%) !important;
  transform: translate(var(--business-logo-x, 0px), var(--business-logo-y, 0px)) !important;
  transform-origin: center center !important;
  flex: 0 0 auto !important;
}
.logo-preview {
  max-width: 360px !important;
  max-height: 240px !important;
  object-fit: var(--business-logo-fit, contain) !important;
  object-position: var(--business-logo-object-x, 50%) var(--business-logo-object-y, 50%) !important;
}
.logo-settings-box {
  grid-column: span 2;
}

.agenda-cycle-block .agenda-machine-name {
  background: linear-gradient(180deg, #1d4ed8 0%, #1e3a8a 100%) !important;
  border: 2px solid rgba(191, 219, 254, .95) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .34), 0 0 0 1px rgba(255,255,255,.16) inset !important;
  text-shadow: none !important;
  font-weight: 1000 !important;
}
.agenda-cycle-block.dense-agenda-cycle .agenda-machine-name {
  background: linear-gradient(180deg, #1e40af 0%, #172554 100%) !important;
  color: #ffffff !important;
  border-color: rgba(219, 234, 254, .95) !important;
}
:root[data-theme="dark"] .agenda-cycle-block .agenda-machine-name {
  background: linear-gradient(180deg, #2563eb 0%, #1e3a8a 100%) !important;
  border-color: rgba(219, 234, 254, .88) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.12) inset !important;
}

.agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(15, 23, 42, 0.30) 0 10px,
    rgba(255, 255, 255, 0.06) 10px 18px
  ) !important;
  opacity: 1 !important;
}
.agenda-cycle-block.status-retirado {
  box-shadow: inset 0 0 0 2px rgba(99, 102, 241, .74), inset 0 0 0 9999px rgba(99, 102, 241, .25) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(226, 232, 240, 0.28) 0 10px,
    rgba(15, 23, 42, 0.04) 10px 18px
  ) !important;
  opacity: 1 !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-retirado {
  box-shadow: inset 0 0 0 2px rgba(165, 180, 252, .76), inset 0 0 0 9999px rgba(129, 140, 248, .26) !important;
}
.order-card.retirado {
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(99, 102, 241, 0.16) 0 12px,
    rgba(255,255,255,0) 12px 24px
  ) !important;
}
:root[data-theme="dark"] .order-card.retirado {
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(165, 180, 252, 0.18) 0 12px,
    rgba(255,255,255,0) 12px 24px
  ) !important;
}

/* v62: logo más controlable, máquina sin solaparse, colores únicos por franja y retirado más visible solo en turnero */
.topbar {
  min-height: max(150px, calc(var(--business-logo-height, 90px) + 64px)) !important;
  overflow: visible !important;
}
.brand-block {
  align-items: center !important;
  gap: clamp(18px, 2.2vw, 34px) !important;
  min-height: calc(var(--business-logo-height, 90px) + 24px) !important;
  overflow: visible !important;
}
.business-logo {
  box-sizing: border-box !important;
  display: block !important;
  width: var(--business-logo-width, var(--business-logo-size, 110px)) !important;
  height: var(--business-logo-height, var(--business-logo-size, 90px)) !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: var(--business-logo-fit, contain) !important;
  object-position: var(--business-logo-object-x, 50%) var(--business-logo-object-y, 50%) !important;
  padding: var(--business-logo-padding, 0px) !important;
  transform: translate(var(--business-logo-x, 0px), var(--business-logo-y, 0px)) !important;
  transform-origin: center center !important;
  flex: 0 0 auto !important;
}
.logo-preview-wrap {
  min-height: 180px !important;
  justify-content: center !important;
}
.logo-preview {
  box-sizing: border-box !important;
  width: min(100%, var(--business-logo-width, 220px)) !important;
  height: min(260px, var(--business-logo-height, 160px)) !important;
  max-width: 520px !important;
  max-height: 340px !important;
  object-fit: var(--business-logo-fit, contain) !important;
  object-position: var(--business-logo-object-x, 50%) var(--business-logo-object-y, 50%) !important;
  padding: var(--business-logo-padding, 0px) !important;
}

.agenda-cycle-block.assigned-cycle {
  padding-right: 112px !important;
}
.agenda-cycle-block.assigned-cycle .agenda-cycle-top {
  padding-right: 22px !important;
}
.agenda-cycle-block .agenda-machine-name {
  align-items: center !important;
  background: linear-gradient(180deg, #f59e0b 0%, #b45309 100%) !important;
  border: 2px solid rgba(255, 237, 213, .98) !important;
  border-radius: 999px !important;
  box-shadow: 0 9px 18px rgba(69, 26, 3, .34), 0 0 0 1px rgba(255,255,255,.22) inset !important;
  color: #fffaf0 !important;
  display: inline-flex !important;
  font-size: 16px !important;
  font-weight: 1000 !important;
  justify-content: center !important;
  line-height: 1 !important;
  max-width: 96px !important;
  min-width: 54px !important;
  overflow: hidden !important;
  padding: 7px 12px !important;
  position: absolute !important;
  right: 18px !important;
  text-overflow: ellipsis !important;
  top: 58% !important;
  transform: translateY(-50%) !important;
  white-space: nowrap !important;
  z-index: 5 !important;
}
.agenda-cycle-block.dense-agenda-cycle {
  padding-right: 66px !important;
}
.agenda-cycle-block.dense-agenda-cycle .agenda-machine-name {
  background: linear-gradient(180deg, #f97316 0%, #9a3412 100%) !important;
  font-size: 14px !important;
  max-width: 44px !important;
  min-width: 38px !important;
  padding: 7px 8px !important;
  right: 9px !important;
}
.agenda-cycle-block.assigned-cycle .agenda-cycle-meta,
.agenda-cycle-block.assigned-cycle .agenda-cycle-client,
.agenda-cycle-block.assigned-cycle .agenda-cycle-service {
  max-width: calc(100% - 114px) !important;
}
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-meta,
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-client,
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-service {
  max-width: calc(100% - 68px) !important;
}
.agenda-cycle-block.unassigned-cycle .agenda-machine-name {
  display: none !important;
}
:root[data-theme="dark"] .agenda-cycle-block .agenda-machine-name {
  background: linear-gradient(180deg, #f59e0b 0%, #92400e 100%) !important;
  border-color: rgba(255, 237, 213, .92) !important;
  color: #fff7ed !important;
  box-shadow: 0 9px 18px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.18) inset !important;
}

/* Retirado vistoso en el turnero/agenda solamente */
.agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(15, 23, 42, 0.42) 0 10px,
    rgba(255, 255, 255, 0.12) 10px 18px
  ) !important;
  opacity: 1 !important;
}
.agenda-cycle-block.status-retirado {
  filter: saturate(.92) brightness(.92) !important;
  box-shadow: inset 0 0 0 3px rgba(220, 38, 38, .76), inset 0 0 0 9999px rgba(127, 29, 29, .17), 0 7px 18px rgba(127, 29, 29, .28) !important;
}
.agenda-cycle-block.status-retirado .agenda-cycle-status-badge.status-retirado {
  background: linear-gradient(180deg, #ef4444 0%, #991b1b 100%) !important;
  border: 2px solid rgba(254, 226, 226, .92) !important;
  box-shadow: 0 5px 12px rgba(127, 29, 29, .38) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  padding: 7px 12px !important;
  text-transform: uppercase !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(248, 250, 252, 0.27) 0 10px,
    rgba(127, 29, 29, 0.20) 10px 18px
  ) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-retirado {
  box-shadow: inset 0 0 0 3px rgba(248, 113, 113, .82), inset 0 0 0 9999px rgba(127, 29, 29, .20), 0 7px 18px rgba(0, 0, 0, .34) !important;
}
:root[data-theme="dark"] .agenda-cycle-block.status-retirado .agenda-cycle-status-badge.status-retirado {
  background: linear-gradient(180deg, #ef4444 0%, #7f1d1d 100%) !important;
  border-color: rgba(254, 226, 226, .82) !important;
}
/* Anula rayas globales de retirado en Pedidos/otras secciones: solo queda rayado el turnero */
.order-card.retirado {
  background-image: none !important;
}

@media (max-width: 1200px) {
  .agenda-cycle-block.assigned-cycle {
    padding-right: 66px !important;
  }
  .agenda-cycle-block .agenda-machine-name {
    max-width: 46px !important;
    min-width: 38px !important;
    font-size: 14px !important;
    padding: 7px 8px !important;
    right: 9px !important;
  }
  .agenda-cycle-block.assigned-cycle .agenda-cycle-meta,
  .agenda-cycle-block.assigned-cycle .agenda-cycle-client,
  .agenda-cycle-block.assigned-cycle .agenda-cycle-service {
    max-width: calc(100% - 68px) !important;
  }
}


/* v63: correcciones de rayas solo en agenda y badge de máquina más prolijo */
/* Anular definitivamente el patrón rayado fuera del turnero, incluyendo modo oscuro. */
.order-card.retirado,
.order-card.status-retirado,
.orders-panel .order-card.retirado,
.orders-panel .order-card.status-retirado,
#orders .order-card.retirado,
#orders .order-card.status-retirado,
:root[data-theme="dark"] .order-card.retirado,
:root[data-theme="dark"] .order-card.status-retirado,
:root[data-theme="dark"] .orders-panel .order-card.retirado,
:root[data-theme="dark"] .orders-panel .order-card.status-retirado,
:root[data-theme="dark"] #orders .order-card.retirado,
:root[data-theme="dark"] #orders .order-card.status-retirado {
  background-image: none !important;
}

/* Mantener las rayas únicamente dentro de la agenda/turnero. */
.schedule-agenda-grid .agenda-cycle-block.status-retirado::after,
.agenda-grid .agenda-cycle-block.status-retirado::after,
.agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(15, 23, 42, 0.40) 0 10px,
    rgba(255, 255, 255, 0.12) 10px 18px
  ) !important;
  opacity: 1 !important;
}
:root[data-theme="dark"] .schedule-agenda-grid .agenda-cycle-block.status-retirado::after,
:root[data-theme="dark"] .agenda-grid .agenda-cycle-block.status-retirado::after,
:root[data-theme="dark"] .agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(248, 250, 252, 0.26) 0 10px,
    rgba(127, 29, 29, 0.20) 10px 18px
  ) !important;
}

/* Badge de máquina: más limpio, compacto y sin cortarse. */
.agenda-cycle-block.assigned-cycle {
  padding-right: 78px !important;
}
.agenda-cycle-block.assigned-cycle .agenda-cycle-top {
  padding-right: 4px !important;
}
.agenda-cycle-block .agenda-machine-name {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 2px solid rgba(219, 234, 254, .96) !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 12px rgba(15, 23, 42, .24), 0 0 0 1px rgba(255,255,255,.18) inset !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
  letter-spacing: .01em !important;
  line-height: 1 !important;
  min-width: 42px !important;
  max-width: 66px !important;
  padding: 6px 9px !important;
  position: absolute !important;
  right: 16px !important;
  top: 52% !important;
  transform: translateY(-50%) !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  z-index: 5 !important;
}
.agenda-cycle-block.dense-agenda-cycle {
  padding-right: 64px !important;
}
.agenda-cycle-block.dense-agenda-cycle .agenda-machine-name {
  max-width: 52px !important;
  min-width: 38px !important;
  right: 8px !important;
  font-size: 14px !important;
  padding: 6px 8px !important;
}
.agenda-cycle-block.assigned-cycle .agenda-cycle-meta,
.agenda-cycle-block.assigned-cycle .agenda-cycle-client,
.agenda-cycle-block.assigned-cycle .agenda-cycle-service {
  max-width: calc(100% - 82px) !important;
}
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-meta,
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-client,
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-service {
  max-width: calc(100% - 68px) !important;
}
:root[data-theme="dark"] .agenda-cycle-block .agenda-machine-name {
  background: linear-gradient(180deg, #3b82f6 0%, #1d4ed8 100%) !important;
  border-color: rgba(219, 234, 254, .90) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 12px rgba(0,0,0,.40), 0 0 0 1px rgba(255,255,255,.14) inset !important;
}

/* Badge Retirado más visible únicamente en agenda. */
.agenda-cycle-block.status-retirado .agenda-cycle-status-badge.status-retirado {
  background: linear-gradient(180deg, #f97316 0%, #b91c1c 100%) !important;
  border: 2px solid rgba(255, 237, 213, .94) !important;
  color: #ffffff !important;
  box-shadow: 0 5px 12px rgba(127, 29, 29, .36) !important;
}

/* v64: ajustes finales solicitados */
.theme-switcher,
.icon-theme-switcher {
  display: none !important;
}

/* Evita que el patrón de retirado se filtre a Pedidos u otras tarjetas. */
.order-card.retirado,
.order-card.status-retirado,
.orders-panel .order-card.retirado,
.orders-panel .order-card.status-retirado,
#orders .order-card.retirado,
#orders .order-card.status-retirado,
:root[data-theme="dark"] .order-card.retirado,
:root[data-theme="dark"] .order-card.status-retirado,
:root[data-theme="dark"] .orders-panel .order-card.retirado,
:root[data-theme="dark"] .orders-panel .order-card.status-retirado,
:root[data-theme="dark"] #orders .order-card.retirado,
:root[data-theme="dark"] #orders .order-card.status-retirado {
  background-image: none !important;
  filter: none !important;
  box-shadow: none !important;
}

/* El rayado queda limitado al turnero/agenda. */
.agenda-grid .agenda-cycle-block.status-retirado::after,
.schedule-agenda-grid .agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(15, 23, 42, 0.48) 0 9px,
    rgba(255, 255, 255, 0.18) 9px 17px
  ) !important;
  opacity: 1 !important;
}
:root[data-theme="dark"] .agenda-grid .agenda-cycle-block.status-retirado::after,
:root[data-theme="dark"] .schedule-agenda-grid .agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.34) 0 9px,
    rgba(127, 29, 29, 0.24) 9px 17px
  ) !important;
  opacity: 1 !important;
}

/* Badge Retirado más alerta solo en agenda. */
.agenda-grid .agenda-cycle-block.status-retirado .agenda-cycle-status-badge.status-retirado,
.schedule-agenda-grid .agenda-cycle-block.status-retirado .agenda-cycle-status-badge.status-retirado {
  background: linear-gradient(180deg, #ef4444 0%, #991b1b 100%) !important;
  border: 2px solid rgba(254, 226, 226, .94) !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(127, 29, 29, .46) !important;
  font-size: 12px !important;
  padding: 7px 11px !important;
  text-transform: uppercase !important;
}

/* Badge de máquina: compacto, centrado visualmente, sin recortes ni solapes. */
.agenda-cycle-block.assigned-cycle {
  padding-right: 76px !important;
}
.agenda-cycle-block.assigned-cycle .agenda-cycle-top {
  padding-right: 0 !important;
}
.agenda-cycle-block .agenda-machine-name {
  align-items: center !important;
  background: linear-gradient(180deg, #0ea5e9 0%, #1d4ed8 100%) !important;
  border: 2px solid rgba(219, 234, 254, .98) !important;
  border-radius: 999px !important;
  box-shadow: 0 7px 14px rgba(15, 23, 42, .36), 0 0 0 1px rgba(255,255,255,.16) inset !important;
  color: #fff !important;
  display: inline-flex !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
  justify-content: center !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
  min-width: 42px !important;
  max-width: 58px !important;
  padding: 7px 9px !important;
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  z-index: 8 !important;
}
.agenda-cycle-block.dense-agenda-cycle,
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle {
  padding-right: 58px !important;
}
.agenda-cycle-block.dense-agenda-cycle .agenda-machine-name {
  right: 8px !important;
  min-width: 36px !important;
  max-width: 44px !important;
  font-size: 13px !important;
  padding: 7px 7px !important;
}
.agenda-cycle-block.assigned-cycle .agenda-cycle-meta,
.agenda-cycle-block.assigned-cycle .agenda-cycle-client,
.agenda-cycle-block.assigned-cycle .agenda-cycle-service {
  max-width: calc(100% - 72px) !important;
}
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-meta,
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-client,
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-service {
  max-width: calc(100% - 56px) !important;
}
:root[data-theme="dark"] .agenda-cycle-block .agenda-machine-name {
  background: linear-gradient(180deg, #38bdf8 0%, #2563eb 100%) !important;
  border-color: rgba(219, 234, 254, .92) !important;
  color: #ffffff !important;
  box-shadow: 0 7px 14px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.14) inset !important;
}

/* Más libertad real para logos grandes sin romper la cabecera. */
.topbar {
  min-height: max(170px, calc(var(--business-logo-height, 120px) + 78px)) !important;
  overflow: visible !important;
}
.brand-block {
  align-items: center !important;
  min-height: calc(var(--business-logo-height, 120px) + 28px) !important;
  overflow: visible !important;
}
.business-logo {
  width: var(--business-logo-width, var(--business-logo-size, 150px)) !important;
  height: var(--business-logo-height, var(--business-logo-size, 120px)) !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: var(--business-logo-fit, contain) !important;
  object-position: var(--business-logo-object-x, 50%) var(--business-logo-object-y, 50%) !important;
}
.logo-preview-wrap {
  min-height: 240px !important;
}
.logo-preview {
  max-width: 900px !important;
  max-height: 620px !important;
}

/* v65: orden de gastos, logo grande y badge de máquina legible */
.local-expense-movements-first {
  margin-top: 18px !important;
}

/* Logo: más grande por defecto y con contenedor estable para que no parezca chico ni descentrado. */
.topbar {
  min-height: max(188px, calc(var(--business-logo-height, 150px) + 78px)) !important;
}
.brand-block {
  align-items: center !important;
  gap: 22px !important;
  min-height: calc(var(--business-logo-height, 150px) + 30px) !important;
}
.business-logo {
  width: var(--business-logo-width, var(--business-logo-size, 180px)) !important;
  height: var(--business-logo-height, var(--business-logo-size, 130px)) !important;
  object-fit: var(--business-logo-fit, contain) !important;
  object-position: var(--business-logo-object-x, 50%) var(--business-logo-object-y, 50%) !important;
  transform: translate(var(--business-logo-offset-x, 0px), var(--business-logo-offset-y, 0px)) !important;
}
.logo-preview-wrap {
  min-height: 280px !important;
}
.logo-preview {
  max-width: 1000px !important;
  max-height: 720px !important;
}

/* Badge de máquina: palabra completa cuando hay espacio, abreviado solo en muchos tickets. */
.agenda-cycle-block.assigned-cycle {
  padding-right: 150px !important;
}
.agenda-cycle-block.medium-agenda-cycle.assigned-cycle {
  padding-right: 126px !important;
}
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle {
  padding-right: 58px !important;
}
.agenda-cycle-block .agenda-machine-name {
  align-items: center !important;
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 2px solid rgba(219, 234, 254, .98) !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .34), 0 0 0 1px rgba(255,255,255,.16) inset !important;
  color: #ffffff !important;
  display: inline-flex !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
  justify-content: center !important;
  letter-spacing: .01em !important;
  line-height: 1.05 !important;
  min-width: 96px !important;
  max-width: 132px !important;
  overflow: visible !important;
  padding: 7px 11px !important;
  position: absolute !important;
  right: 14px !important;
  text-align: center !important;
  text-overflow: clip !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  white-space: nowrap !important;
  z-index: 8 !important;
}
.agenda-cycle-block.medium-agenda-cycle .agenda-machine-name {
  font-size: 12px !important;
  min-width: 82px !important;
  max-width: 108px !important;
  right: 10px !important;
  padding: 7px 9px !important;
}
.agenda-cycle-block.dense-agenda-cycle .agenda-machine-name {
  font-size: 13px !important;
  min-width: 38px !important;
  max-width: 48px !important;
  right: 7px !important;
  padding: 7px 8px !important;
  overflow: visible !important;
}
.agenda-cycle-block.assigned-cycle .agenda-cycle-meta,
.agenda-cycle-block.assigned-cycle .agenda-cycle-client,
.agenda-cycle-block.assigned-cycle .agenda-cycle-service {
  max-width: calc(100% - 154px) !important;
}
.agenda-cycle-block.medium-agenda-cycle.assigned-cycle .agenda-cycle-meta,
.agenda-cycle-block.medium-agenda-cycle.assigned-cycle .agenda-cycle-client,
.agenda-cycle-block.medium-agenda-cycle.assigned-cycle .agenda-cycle-service {
  max-width: calc(100% - 126px) !important;
}
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-meta,
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-client,
.agenda-cycle-block.dense-agenda-cycle.assigned-cycle .agenda-cycle-service {
  max-width: calc(100% - 58px) !important;
}
:root[data-theme="dark"] .agenda-cycle-block .agenda-machine-name {
  background: linear-gradient(180deg, #3b82f6 0%, #1d4ed8 100%) !important;
  border-color: rgba(219, 234, 254, .94) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 14px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.14) inset !important;
}

/* Retirado: patrón visible solo en la agenda. Nada de rayas en Pedidos u otras tarjetas. */
.order-card.retirado,
.order-card.status-retirado,
.orders-panel .order-card.retirado,
.orders-panel .order-card.status-retirado,
#orders .order-card.retirado,
#orders .order-card.status-retirado,
:root[data-theme="dark"] .order-card.retirado,
:root[data-theme="dark"] .order-card.status-retirado,
:root[data-theme="dark"] .orders-panel .order-card.retirado,
:root[data-theme="dark"] .orders-panel .order-card.status-retirado,
:root[data-theme="dark"] #orders .order-card.retirado,
:root[data-theme="dark"] #orders .order-card.status-retirado {
  background-image: none !important;
}
.agenda-grid .agenda-cycle-block.status-retirado::after,
.schedule-agenda-grid .agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(15, 23, 42, 0.48) 0 9px,
    rgba(255, 255, 255, 0.16) 9px 17px
  ) !important;
  opacity: 1 !important;
}
:root[data-theme="dark"] .agenda-grid .agenda-cycle-block.status-retirado::after,
:root[data-theme="dark"] .schedule-agenda-grid .agenda-cycle-block.status-retirado::after {
  background: repeating-linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.30) 0 9px,
    rgba(127, 29, 29, 0.24) 9px 17px
  ) !important;
}


/* v66: header fijo, logo grande sin agrandar la cabecera y logo bloqueado por archivo local */
.topbar {
  height: 132px !important;
  min-height: 132px !important;
  max-height: 132px !important;
  padding: 14px 30px !important;
  overflow: visible !important;
}
.brand-block {
  align-items: center !important;
  gap: 22px !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: visible !important;
}
.business-logo {
  background: rgba(255,255,255,.96) !important;
  border: 2px solid rgba(255,255,255,.62) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  height: var(--business-logo-height, 124px) !important;
  margin: -8px 0 !important;
  max-height: none !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 0 !important;
  transform: none !important;
  width: var(--business-logo-width, 230px) !important;
}
.topbar .brand-text h1 {
  line-height: .98 !important;
}
.logo-fixed-note {
  background: #eef4ff;
  border: 2px solid var(--line);
  border-radius: 18px;
  color: var(--primary-dark);
  padding: 14px;
}
.logo-fixed-note p {
  color: var(--muted);
  font-weight: 800;
  margin: 6px 0 0;
}
.logo-fixed-note code {
  background: rgba(255,255,255,.82);
  border-radius: 8px;
  padding: 2px 6px;
}
:root[data-theme="dark"] .logo-fixed-note {
  background: #0f1f3d;
  border-color: #334155;
  color: #dbeafe;
}
:root[data-theme="dark"] .logo-fixed-note p {
  color: #cbd5e1;
}
.login-logo {
  height: 112px !important;
  width: 210px !important;
}
@media (max-width: 920px) {
  .topbar {
    height: 132px !important;
    min-height: 132px !important;
    max-height: 132px !important;
    padding: 12px 18px !important;
  }
  .business-logo {
    width: min(46vw, var(--business-logo-width, 230px)) !important;
    height: min(112px, var(--business-logo-height, 124px)) !important;
    margin: -6px 0 !important;
  }
}

/* v67: microajuste visual del logo en header.
   Mantiene el mismo tamaño, pero lo corre un poco a la izquierda
   y le da más aire respecto del título. */
.topbar {
  padding-left: 26px !important;
}
.brand-block {
  gap: 30px !important;
  align-items: center !important;
}
.business-logo {
  margin-left: -8px !important;
  margin-right: 2px !important;
}
@media (max-width: 920px) {
  .topbar {
    padding-left: 18px !important;
  }
  .brand-block {
    gap: 18px !important;
  }
  .business-logo {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* v68: corrección del armado logo + título.
   El PNG tiene mucho aire transparente lateral; se achica el marco invisible
   sin achicar la altura visible del logo, y el título queda más cerca. */
.topbar {
  padding-left: 34px !important;
}
.brand-block {
  gap: 22px !important;
  align-items: center !important;
}
.business-logo {
  width: 165px !important;
  height: 124px !important;
  margin-left: 22px !important;
  margin-right: 0 !important;
  transform: none !important;
}
.topbar .brand-text {
  margin-left: 0 !important;
}
.topbar .brand-text h1 {
  line-height: 1.05 !important;
}
@media (max-width: 920px) {
  .topbar {
    padding-left: 18px !important;
  }
  .business-logo {
    width: 140px !important;
    height: 104px !important;
    margin-left: 0 !important;
  }
  .brand-block {
    gap: 16px !important;
  }
}


/* v69: mover el conjunto logo + título un poco más a la izquierda.
   No cambia el tamaño del logo ni genera imágenes nuevas. */
.topbar {
  padding-left: 14px !important;
}

.topbar .brand-block {
  transform: translateX(-18px) !important;
}

@media (max-width: 920px) {
  .topbar {
    padding-left: 18px !important;
  }

  .topbar .brand-block {
    transform: none !important;
  }
}

/* v70: logo del login un poco más grande y con presencia visual. */
.login-logo {
  width: 246px !important;
  height: 132px !important;
  margin: 0 auto 12px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .22));
}
:root[data-theme="dark"] .login-logo {
  filter: drop-shadow(0 12px 28px rgba(0, 0, 0, .42));
}


/* v74: nota de modo WhatsApp sin pestañas. */
.whatsapp-mode-note {
  background: #eef4ff;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  margin: 0;
  padding: 10px 12px;
}
:root[data-theme="dark"] .whatsapp-mode-note {
  background: #0f1f3d;
  border-color: #334155;
  color: #cbd5e1;
}

/* v75: tickets separados por unidad de trabajo en el turnero. */
.pending-ticket-service {
  background: rgba(37, 99, 235, .12);
  border: 1px solid rgba(147, 197, 253, .55);
  border-radius: 999px;
  color: #dbeafe;
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  justify-self: start;
  letter-spacing: .02em;
  margin-top: 2px;
  padding: 3px 8px;
  text-transform: uppercase;
}
:root[data-theme="light"] .pending-ticket-service {
  background: #eaf1ff;
  color: var(--primary-dark);
}
.compact-ticket .pending-ticket-meta {
  margin-top: 2px;
}


.pending-ticket-unit-badge {
  align-items: center;
  background: linear-gradient(135deg, #f59e0b, #f97316);
  border: 1px solid rgba(255, 237, 213, .75);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 1000;
  justify-self: start;
  letter-spacing: .04em;
  margin-bottom: 5px;
  padding: 4px 10px;
  text-transform: uppercase;
}
:root[data-theme="light"] .pending-ticket-unit-badge {
  color: #fff;
}
.agenda-cycle-block.multi-unit-agenda-cycle {
  outline: 2px solid rgba(245, 158, 11, .88) !important;
  outline-offset: -3px;
}
.agenda-unit-badge {
  background: linear-gradient(135deg, #f59e0b, #f97316);
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 10px;
  font-weight: 1000;
  letter-spacing: .04em;
  line-height: 1;
  padding: 4px 7px;
  text-transform: uppercase;
  white-space: nowrap;
}
.agenda-cycle-block.multi-unit-agenda-cycle .agenda-cycle-service {
  font-weight: 1000 !important;
  text-transform: uppercase;
}
.agenda-cycle-block.dense-agenda-cycle .agenda-unit-badge {
  font-size: 9px;
  padding: 3px 5px;
}


/* v79: modal propia de capacidad del turnero. */
.capacity-warning-modal {
  display: grid;
  gap: 16px;
}
.capacity-warning-hero {
  background: linear-gradient(135deg, #fff4e6, #ffe3e3);
  border: 2px solid #ff922b;
  border-radius: 22px;
  padding: 18px;
}
.capacity-warning-hero span {
  color: #c2410c;
  display: block;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.capacity-warning-hero h3 {
  margin: 6px 0 8px;
}
.capacity-warning-hero p,
.capacity-warning-intro,
.capacity-warning-note {
  color: var(--muted);
  font-weight: 800;
  margin: 0;
}
.capacity-warning-list {
  display: grid;
  gap: 12px;
}
.capacity-warning-item {
  background: #fffaf2;
  border: 2px solid #ffd8a8;
  border-left: 8px solid #f97316;
  border-radius: 18px;
  padding: 14px;
}
.capacity-warning-item strong {
  color: #9a3412;
  display: block;
  font-size: 18px;
  margin-bottom: 6px;
}
.capacity-warning-item p {
  margin: 0;
}
.capacity-warning-note {
  background: #f8fbff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 12px;
}
.capacity-warning-actions {
  justify-content: flex-end;
}
:root[data-theme="dark"] .capacity-warning-hero {
  background: linear-gradient(135deg, #422006, #450a0a);
  border-color: #f97316;
}
:root[data-theme="dark"] .capacity-warning-item {
  background: #1f1710;
  border-color: #7c2d12;
}
:root[data-theme="dark"] .capacity-warning-item strong {
  color: #fdba74;
}
:root[data-theme="dark"] .capacity-warning-note {
  background: #0f172a;
}


/* v80: detalle visible por sub-ticket del mismo pedido en Turnos. */
.pending-ticket-detail {
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(37, 99, 235, .18);
  border-radius: 999px;
  color: #1d4ed8;
  display: inline-flex;
  font-size: 12px;
  font-weight: 950;
  margin-top: 3px;
  max-width: 100%;
  overflow: hidden;
  padding: 3px 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
:root[data-theme="dark"] .pending-ticket-detail {
  background: rgba(15, 23, 42, .72);
  border-color: rgba(147, 197, 253, .24);
  color: #bfdbfe;
}


/* v81: detalle claro al editar/asignar un sub-ticket. */
.cycle-detail-box {
  background: #f8fbff;
  border: 2px solid var(--line);
  border-left: 8px solid var(--primary);
  border-radius: 18px;
  display: grid;
  gap: 5px;
  padding: 13px 14px;
}
.cycle-detail-box strong {
  color: var(--primary-dark);
  font-size: 18px;
}
.cycle-detail-box span {
  color: var(--ink);
  font-size: 16px;
  font-weight: 950;
}
.cycle-detail-box small {
  color: var(--muted);
  font-weight: 850;
}
.compact-cycle .cycle-machine small,
.compact-cycle .cycle-person em {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
:root[data-theme="dark"] .cycle-detail-box {
  background: #0f172a;
  border-color: #334155;
}
:root[data-theme="dark"] .cycle-detail-box strong {
  color: #bfdbfe;
}
:root[data-theme="dark"] .cycle-detail-box span {
  color: #f8fafc;
}


/* v82: cada fila de Prendas / trabajos representa una sola tarea.
   Se elimina el contador de cantidad; para varios valets se usa + Agregar prenda. */
.item-row {
  grid-template-columns: 1.4fr 1fr 150px 54px !important;
}
@media (max-width: 920px) {
  .item-row {
    grid-template-columns: 1fr !important;
  }
}


/* v83: depósitos por tarea/valet dentro de un mismo pedido. */
.items-builder-help {
  color: var(--muted);
  font-weight: 850;
  margin: 0 0 10px;
}
.item-row {
  grid-template-columns: 1.4fr 1fr 130px 150px 54px !important;
}
.order-storage-summary {
  color: var(--muted);
  display: block;
  font-size: 14px;
  font-weight: 900;
  margin-top: 3px;
}
.location-button em {
  color: var(--muted);
  display: block;
  font-style: normal;
  font-weight: 850;
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pending-ticket-detail.storage-mini {
  color: #0f766e;
  border-color: rgba(15, 118, 110, .22);
}
@media (max-width: 920px) {
  .item-row {
    grid-template-columns: 1fr !important;
  }
}
:root[data-theme="dark"] .pending-ticket-detail.storage-mini {
  color: #99f6e4;
  border-color: rgba(45, 212, 191, .28);
}


/* v85: alertas propias del sistema para evitar bloqueo de inputs en Electron. */
.system-alert-backdrop {
  align-items: center;
  background: rgba(2, 6, 23, .62);
  backdrop-filter: blur(4px);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: fixed;
  z-index: 99999;
}
.system-alert-card {
  align-items: flex-start;
  background: var(--card);
  border: 2px solid var(--line);
  border-radius: 24px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .38);
  color: var(--ink);
  display: grid;
  gap: 16px;
  grid-template-columns: 54px minmax(0, 1fr);
  max-width: 520px;
  padding: 22px;
  width: min(520px, 100%);
}
.system-alert-icon {
  align-items: center;
  background: var(--primary);
  border-radius: 18px;
  color: white;
  display: flex;
  font-size: 28px;
  font-weight: 1000;
  height: 54px;
  justify-content: center;
  width: 54px;
}
.system-alert-content {
  display: grid;
  gap: 12px;
}
.system-alert-content h3 {
  margin: 0;
}
.system-alert-content p {
  color: var(--muted);
  font-weight: 850;
  line-height: 1.45;
  margin: 0;
  white-space: pre-wrap;
}
.system-alert-ok {
  justify-self: end;
  min-width: 130px;
}
:root[data-theme="dark"] .system-alert-card {
  background: #111827;
  border-color: #334155;
}


/* v93: tarjeta de backups y rutas de datos. */
.backup-card .backup-paths {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}
.backup-card code {
  background: rgba(15, 23, 42, .06);
  border: 1px solid var(--line);
  border-radius: 10px;
  display: block;
  font-size: 12px;
  font-weight: 800;
  max-width: 100%;
  overflow-x: auto;
  padding: 8px 10px;
  white-space: nowrap;
}
:root[data-theme="dark"] .backup-card code {
  background: rgba(15, 23, 42, .9);
}


/* v99: compatibilidad con monitores 1024x768.
   La ventana ya no exige 1100px y el turnero deja de depender de una columna derecha fija. */
@media (max-width: 1150px) {
  .schedule-workspace {
    grid-template-columns: 1fr !important;
  }

  .pending-ticket-column {
    max-height: 250px !important;
    order: -1;
    position: static !important;
  }

  .pending-ticket {
    min-height: auto;
  }

  .pending-ticket-column .pending-ticket-list,
  .pending-ticket-column > div:not(.pending-ticket-header) {
    max-height: 185px;
    overflow: auto;
  }

  .simple-machine-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }

  .daily-slot {
    grid-template-columns: 58px 1fr;
  }

  .compact-cycle {
    grid-template-columns: 52px 92px 1fr;
  }
}

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

  .sidebar {
    padding-left: 10px;
    padding-right: 10px;
  }

  .nav-button {
    font-size: 16px;
    min-height: 48px;
    padding: 10px 12px;
  }

  .content {
    padding: 14px;
  }

  .topbar {
    min-height: 126px;
    padding: 12px 18px;
  }

  .brand-logo {
    width: 140px;
  }

  .brand-title h1 {
    font-size: 32px;
  }

  .schedule-workspace {
    gap: 12px;
  }

  .card {
    border-radius: 20px;
    padding: 16px;
  }
}

@media (max-height: 760px) {
  .pending-ticket-column {
    max-height: 215px !important;
  }

  .content {
    padding-bottom: 18px;
  }

  .topbar {
    min-height: 118px;
  }
}


/* v100: modo compacto real para 1024x768.
   Objetivo: que el turnero sea operable sin cambiar resolución. */
@media (max-width: 1060px) {
  body {
    overflow-x: hidden;
  }

  .app-shell {
    grid-template-columns: 150px minmax(0, 1fr) !important;
  }

  .sidebar {
    padding: 10px 8px !important;
  }

  .nav-button {
    border-radius: 14px !important;
    font-size: 14px !important;
    min-height: 42px !important;
    padding: 8px 9px !important;
  }

  .topbar {
    min-height: 86px !important;
    padding: 7px 14px !important;
  }

  .brand {
    gap: 10px !important;
  }

  .brand-logo {
    height: 74px !important;
    width: 116px !important;
  }

  .brand-title .eyebrow,
  .brand-title .eyebrow-dark {
    font-size: 11px !important;
    letter-spacing: .12em !important;
  }

  .brand-title h1 {
    font-size: 28px !important;
    line-height: 1.05 !important;
  }

  .role-pill {
    font-size: 13px !important;
    padding: 9px 14px !important;
  }

  .content {
    padding: 10px !important;
  }

  .card {
    border-radius: 16px !important;
    padding: 12px !important;
  }

  .section-card h1,
  .section-card h2,
  .toolbar h1,
  .toolbar h2 {
    font-size: 25px !important;
    line-height: 1.08 !important;
  }

  /* Turnero: pendientes arriba, pero en formato compacto. */
  .schedule-workspace {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .pending-ticket-column {
    max-height: 142px !important;
    overflow: hidden !important;
    padding: 10px !important;
  }

  .pending-ticket-column h2,
  .pending-ticket-column h3,
  .pending-ticket-header h2,
  .pending-ticket-header h3 {
    font-size: 18px !important;
    margin: 0 0 6px !important;
  }

  .pending-ticket-list,
  .pending-ticket-column .ticket-list,
  .pending-ticket-column > div:not(.pending-ticket-header) {
    display: flex !important;
    gap: 8px !important;
    max-height: 92px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-bottom: 4px !important;
  }

  .pending-ticket {
    flex: 0 0 250px !important;
    min-height: 74px !important;
    padding: 9px !important;
  }

  .pending-ticket .order-code,
  .pending-ticket strong {
    font-size: 15px !important;
  }

  .pending-ticket small,
  .pending-ticket p,
  .pending-ticket .badge {
    font-size: 11px !important;
  }

  .pending-ticket .actions,
  .pending-ticket button {
    font-size: 11px !important;
    padding: 6px 8px !important;
  }

  /* Agenda: menos alto por fila y más legible. */
  .agenda-card,
  .daily-agenda-card {
    padding: 10px !important;
  }

  .agenda-card h2,
  .daily-agenda-card h2 {
    font-size: 24px !important;
    margin-bottom: 8px !important;
  }

  .daily-slot {
    grid-template-columns: 50px minmax(0, 1fr) !important;
    gap: 5px !important;
    min-height: 54px !important;
  }

  .slot-time {
    border-radius: 12px !important;
    font-size: 14px !important;
    min-height: 48px !important;
    padding: 5px !important;
  }

  .slot-time button,
  .slot-time .mini-button {
    font-size: 10px !important;
    padding: 4px 6px !important;
  }

  .schedule-card,
  .cycle-card,
  .timeline-cycle,
  .compact-cycle {
    border-radius: 12px !important;
    min-height: 46px !important;
    padding: 7px 8px !important;
  }

  .compact-cycle {
    grid-template-columns: 44px 76px minmax(0, 1fr) !important;
    gap: 5px !important;
  }

  .schedule-card strong,
  .cycle-card strong,
  .timeline-cycle strong,
  .compact-cycle strong {
    font-size: 13px !important;
    line-height: 1.05 !important;
  }

  .schedule-card small,
  .cycle-card small,
  .timeline-cycle small,
  .compact-cycle small {
    font-size: 10.5px !important;
    line-height: 1.1 !important;
  }

  .machine-pill,
  .machine-badge,
  .cycle-machine {
    font-size: 10px !important;
    padding: 3px 6px !important;
    max-width: 110px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .date-controls,
  .schedule-date-controls {
    gap: 6px !important;
  }

  .date-controls input,
  .schedule-date-controls input,
  input[type="date"] {
    font-size: 13px !important;
    min-height: 38px !important;
    padding: 6px 8px !important;
  }

  .simple-machine-grid {
    grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)) !important;
    gap: 8px !important;
  }
}

@media (max-width: 1060px) and (max-height: 780px) {
  .topbar {
    min-height: 78px !important;
  }

  .brand-logo {
    height: 66px !important;
    width: 102px !important;
  }

  .brand-title h1 {
    font-size: 25px !important;
  }

  .pending-ticket-column {
    max-height: 118px !important;
  }

  .pending-ticket-list,
  .pending-ticket-column .ticket-list,
  .pending-ticket-column > div:not(.pending-ticket-header) {
    max-height: 76px !important;
  }

  .pending-ticket {
    flex-basis: 220px !important;
    min-height: 58px !important;
    padding: 7px !important;
  }

  .section-card {
    padding: 10px !important;
  }

  .section-card h1,
  .section-card h2 {
    font-size: 22px !important;
  }
}


/* v101: compactación fuerte para turnero en 1024x768.
   En este monitor importa más operar la agenda que mantener aire visual. */
@media (max-width: 1060px) and (max-height: 800px) {
  .app-shell {
    grid-template-columns: 132px minmax(0, 1fr) !important;
  }

  .sidebar {
    padding: 7px 6px !important;
  }

  .nav-button {
    border-radius: 12px !important;
    font-size: 13px !important;
    min-height: 36px !important;
    padding: 6px 8px !important;
  }

  .topbar {
    min-height: 62px !important;
    padding: 5px 12px !important;
  }

  .brand-logo {
    height: 50px !important;
    width: 82px !important;
  }

  .brand-title .eyebrow,
  .brand-title .eyebrow-dark {
    display: none !important;
  }

  .brand-title h1 {
    font-size: 22px !important;
    line-height: 1 !important;
  }

  .role-pill {
    border-radius: 18px !important;
    font-size: 12px !important;
    padding: 7px 10px !important;
  }

  .content {
    padding: 7px !important;
  }

  .card,
  .section-card,
  .orders-panel,
  .report-panel {
    border-radius: 14px !important;
    padding: 9px !important;
  }

  /* En turnos, "Cronograma de hoy" queda como barra baja. */
  #schedule .section-card,
  #schedule .toolbar,
  .schedule-hero,
  .schedule-title-card {
    min-height: 0 !important;
    padding: 8px 12px !important;
  }

  #schedule .section-card p,
  #schedule .toolbar p,
  .schedule-hero p,
  .schedule-title-card p {
    display: none !important;
  }

  #schedule .section-card h1,
  #schedule .section-card h2,
  #schedule .toolbar h1,
  #schedule .toolbar h2,
  .schedule-hero h1,
  .schedule-hero h2,
  .schedule-title-card h1,
  .schedule-title-card h2 {
    font-size: 21px !important;
    margin: 0 !important;
    line-height: 1.05 !important;
  }

  /* Pendientes: altura fija baja y tarjetas muy compactas. */
  .pending-ticket-column,
  .pending-orders-panel,
  .pending-panel,
  .schedule-pending-panel {
    max-height: 104px !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 8px !important;
  }

  .pending-ticket-column h2,
  .pending-ticket-column h3,
  .pending-orders-panel h2,
  .pending-panel h2,
  .schedule-pending-panel h2 {
    font-size: 16px !important;
    line-height: 1 !important;
    margin: 0 0 5px !important;
  }

  .pending-ticket-list,
  .pending-ticket-column .ticket-list,
  .pending-orders-panel .order-card-list,
  .pending-panel .order-card-list,
  .schedule-pending-panel .order-card-list,
  .pending-ticket-column > div:not(.pending-ticket-header) {
    display: flex !important;
    flex-direction: row !important;
    gap: 7px !important;
    max-height: 66px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  .pending-ticket,
  .pending-orders-panel .order-card,
  .pending-panel .order-card,
  .schedule-pending-panel .order-card {
    flex: 0 0 210px !important;
    min-height: 54px !important;
    max-height: 62px !important;
    overflow: hidden !important;
    padding: 7px !important;
  }

  .pending-ticket .badge,
  .pending-orders-panel .badge,
  .pending-panel .badge,
  .schedule-pending-panel .badge,
  .pending-ticket .order-storage-summary,
  .pending-orders-panel .order-storage-summary,
  .pending-panel .order-storage-summary {
    font-size: 9.5px !important;
    line-height: 1 !important;
  }

  .pending-ticket .order-code,
  .pending-orders-panel .order-code,
  .pending-panel .order-code,
  .schedule-pending-panel .order-code,
  .pending-ticket strong,
  .pending-orders-panel strong,
  .pending-panel strong {
    font-size: 12px !important;
    line-height: 1.05 !important;
  }

  .pending-ticket small,
  .pending-ticket p,
  .pending-orders-panel small,
  .pending-orders-panel p,
  .pending-panel small,
  .pending-panel p {
    font-size: 9.5px !important;
    line-height: 1.05 !important;
    margin: 0 !important;
  }

  .pending-ticket .actions,
  .pending-orders-panel .actions,
  .pending-panel .actions {
    position: absolute !important;
    right: 7px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .pending-ticket button,
  .pending-orders-panel button,
  .pending-panel button {
    border-radius: 14px !important;
    font-size: 10px !important;
    padding: 5px 7px !important;
  }

  /* Agenda más arriba y más compacta. */
  .agenda-card,
  .daily-agenda-card,
  .schedule-agenda,
  .agenda-panel {
    padding: 8px !important;
  }

  .agenda-card h2,
  .daily-agenda-card h2,
  .schedule-agenda h2,
  .agenda-panel h2 {
    font-size: 20px !important;
    margin: 0 !important;
  }

  .daily-slot {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    gap: 4px !important;
    min-height: 44px !important;
  }

  .slot-time {
    border-radius: 10px !important;
    font-size: 12px !important;
    min-height: 40px !important;
    padding: 4px !important;
  }

  .slot-time button,
  .slot-time .mini-button,
  .slot-time .secondary {
    font-size: 9px !important;
    padding: 3px 5px !important;
  }

  .schedule-card,
  .cycle-card,
  .timeline-cycle,
  .compact-cycle {
    min-height: 38px !important;
    padding: 5px 7px !important;
  }

  .schedule-card strong,
  .cycle-card strong,
  .timeline-cycle strong,
  .compact-cycle strong {
    font-size: 11px !important;
  }

  .schedule-card small,
  .cycle-card small,
  .timeline-cycle small,
  .compact-cycle small {
    font-size: 9px !important;
  }

  .date-controls input,
  .schedule-date-controls input,
  input[type="date"] {
    min-height: 32px !important;
    font-size: 11px !important;
    padding: 4px 6px !important;
  }

  .date-controls button,
  .schedule-date-controls button {
    min-height: 32px !important;
    padding: 5px 8px !important;
  }
}

/* Si la app está justo en el monitor del lavadero, evitar scroll horizontal por sombras/bordes. */
@media (max-width: 1060px) {
  main,
  .content,
  .view,
  #schedule {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
}


/* v102: editor mejorado de WhatsApp. */
.whatsapp-template-editor {
  border: 1px solid var(--line);
  border-radius: 18px;
  display: grid;
  gap: 14px;
  padding: 14px;
}
.whatsapp-template-editor h3 {
  margin: 0;
}
.whatsapp-template-editor p {
  color: var(--muted);
  margin: 0;
}
.whatsapp-template-block {
  background: rgba(15, 23, 42, .04);
  border: 1px solid var(--line);
  border-radius: 16px;
  display: grid;
  gap: 8px;
  padding: 12px;
}
:root[data-theme="dark"] .whatsapp-template-block {
  background: rgba(15, 23, 42, .55);
}
.whatsapp-template-block textarea {
  min-height: 105px;
  white-space: pre-wrap;
}
.whatsapp-variable-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.variable-chip {
  background: rgba(37, 99, 235, .12);
  border: 1px solid rgba(96, 165, 250, .55);
  border-radius: 999px;
  color: var(--ink);
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
  padding: 6px 9px;
}
.variable-chip:hover {
  border-color: var(--primary);
}
.whatsapp-preview {
  background: rgba(2, 6, 23, .06);
  border: 1px dashed var(--line);
  border-radius: 14px;
  color: var(--ink);
  font-family: inherit;
  font-size: 13px;
  line-height: 1.35;
  margin: 0;
  min-height: 48px;
  overflow: auto;
  padding: 10px;
  white-space: pre-wrap;
}
:root[data-theme="dark"] .whatsapp-preview {
  background: rgba(2, 6, 23, .7);
}
.toggle-line {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.toggle-line input {
  width: auto;
}
.mini-actions {
  margin-top: 0;
}


/* v104: pedidos más legibles para visión reducida */
.order-top-right {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: flex-end;
}
.order-vision-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.order-vision-box {
  align-items: flex-start;
  background: rgba(15, 23, 42, .50);
  border: 1px solid rgba(96, 165, 250, .28);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  min-width: 112px;
  padding: 10px 12px;
}
.order-vision-box small {
  color: #dbeafe;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
}
.order-vision-box strong {
  color: #fff;
  font-size: 22px;
  line-height: 1.05;
}
.order-vision-box.total {
  background: rgba(2, 132, 199, .88);
  border-color: rgba(186, 230, 253, .65);
  min-width: 158px;
}
.order-vision-box.total strong {
  font-size: 28px;
}
.order-vision-box.paid {
  background: rgba(5, 150, 105, .92);
  border-color: rgba(167, 243, 208, .72);
}
.order-vision-box.due {
  background: rgba(194, 65, 12, .92);
  border-color: rgba(254, 215, 170, .7);
}
.order-meta-vision {
  align-items: center;
  font-size: 19px;
  font-weight: 800;
}
.order-payment-inline,
.order-total-inline {
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
}
.order-payment-inline strong,
.order-total-inline strong {
  font-size: 24px;
}
.order-total-inline strong {
  color: #fff;
}
.order-card .badge {
  font-size: 18px;
  padding: 10px 16px;
}
@media (max-width: 980px) {
  .order-main,
  .order-meta,
  .order-top-right,
  .order-vision-summary {
    align-items: stretch;
    justify-content: flex-start;
  }
  .order-vision-box {
    min-width: 96px;
    padding: 8px 10px;
  }
  .order-vision-box strong {
    font-size: 18px;
  }
  .order-vision-box.total strong,
  .order-payment-inline strong,
  .order-total-inline strong {
    font-size: 21px;
  }
  .order-card .badge {
    font-size: 16px;
    padding: 8px 12px;
  }
}


/* v105: resumen simple de pedido + limpieza de WhatsApp imagen */
.order-vision-summary.single {
  justify-content: flex-end;
}
.order-vision-box.order-vision-single {
  min-width: 260px;
  padding: 12px 16px;
}
.order-vision-box.order-vision-single small {
  font-size: 12px;
}
.order-vision-box.order-vision-single strong {
  font-size: 28px;
  line-height: 1.05;
  white-space: nowrap;
}
.order-vision-box.order-vision-single.paid {
  background: rgba(5, 150, 105, .96);
  border-color: rgba(167, 243, 208, .8);
}
.order-vision-box.order-vision-single.due {
  background: rgba(194, 65, 12, .96);
  border-color: rgba(254, 215, 170, .78);
}
.order-meta-vision {
  justify-content: space-between;
}
.order-meta-vision .order-payment-inline {
  font-size: 18px;
}
.order-meta-vision .order-total-inline strong {
  font-size: 24px;
}
@media (max-width: 980px) {
  .order-vision-summary.single {
    justify-content: flex-start;
  }
  .order-vision-box.order-vision-single {
    min-width: 210px;
    width: fit-content;
  }
  .order-vision-box.order-vision-single strong {
    font-size: 22px;
    white-space: normal;
  }
}


/* v108: señas, caja sin PIN y trazabilidad */
.payment-badge.partial,
.order-vision-box.order-vision-single.partial {
  background: rgba(202, 138, 4, .96);
  border-color: rgba(254, 240, 138, .78);
}
.payment-breakdown {
  color: #fff7cc;
  display: block;
  font-size: 13px;
  font-weight: 800;
  margin-top: 4px;
}
.payment-edit-summary {
  background: rgba(15, 23, 42, .58);
  border: 1px solid rgba(96, 165, 250, .28);
  border-radius: 14px;
  padding: 10px 12px;
}
.tiny-action {
  font-size: 13px;
  min-height: 34px;
  padding: 7px 10px;
}
.cash-audit-section table td {
  vertical-align: top;
}


/* v109: seña desplegable y trazabilidad de caja en sección admin */
.payment-deposit-field[hidden] { display: none !important; }
.payment-deposit-field { border: 1px solid rgba(245, 158, 11, .45); border-radius: 16px; padding: 10px; background: rgba(245, 158, 11, .08); }
.delete-cash-modal { display: grid; gap: 12px; }
.delete-cash-modal textarea { min-height: 92px; }
.cash-audit-section { border: 1px solid rgba(245, 158, 11, .35); }
.cash-audit-section .toolbar h2::before { content: "🧾 "; }


/* v111: pedidos más legibles + teléfono grande + navegación por fecha */
.order-client-block {
  background: rgba(15, 23, 42, .18);
  border: 1px solid rgba(96, 165, 250, .24);
  border-radius: 14px;
  padding: 8px 10px;
}
.order-client-name {
  color: #fff;
  display: inline-block;
  font-size: 25px;
  line-height: 1.12;
  margin-bottom: 4px;
}
.order-client-meta {
  color: #e5edf8;
  font-size: 15px;
  font-weight: 800;
}
.order-card .order-code { font-size: 36px; }
.order-card .order-storage-summary { font-size: 15px; font-weight: 900; }
.order-card .order-items-list { font-size: 16px; }
.order-card .order-item-line span { font-size: 18px; font-weight: 900; }
.order-card .order-item-line small { font-size: 14px; font-weight: 800; }
.client-phone-label { font-size: 17px; }
.client-phone-input {
  font-size: 26px !important;
  font-weight: 900 !important;
  letter-spacing: .03em;
  min-height: 54px;
}
.orders-day-navigation {
  align-items: center;
  background: rgba(15, 23, 42, .72);
  border: 1px solid rgba(96, 165, 250, .25);
  border-radius: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  margin-top: 14px;
  padding: 12px 14px;
}
.orders-day-navigation strong { color: #f8fafc; font-size: 20px; }
.orders-day-arrow { min-width: 145px; white-space: nowrap; }
@media (max-width: 980px) {
  .order-client-name { font-size: 21px; }
  .order-card .order-code { font-size: 29px; }
  .client-phone-input { font-size: 22px !important; }
  .orders-day-navigation { justify-content: center; }
  .orders-day-arrow { min-width: 120px; }
}


/* v112: más legibilidad en pedidos, teléfono de clientes y modal de nuevo pedido */
.order-main-left {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.order-title-row {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  line-height: 1.05;
}
.order-head-client {
  color: #ffffff;
  display: inline-block;
  font-size: 32px;
  font-weight: 950;
  letter-spacing: -0.02em;
  line-height: 1.05;
}
.order-head-meta {
  display: block;
  margin-top: 6px;
}
.order-card .order-main {
  align-items: flex-start;
  gap: 14px;
}
.order-card .order-code {
  color: #ffffff;
  font-size: 38px;
  line-height: 1;
}
.order-card .order-storage-summary {
  margin-top: 6px;
}
.client-phone-line {
  background: rgba(37, 99, 235, .16);
  border: 1px solid rgba(96, 165, 250, .35);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 12px;
}
.client-phone-line span {
  color: #dbeafe;
  font-size: 13px;
  font-weight: 900;
}
.client-phone-line strong {
  color: #ffffff;
  font-size: 27px;
  font-weight: 950;
  letter-spacing: .025em;
  line-height: 1.05;
}
.order-modal-form label {
  font-size: 17px;
  font-weight: 950;
}
.order-modal-form input,
.order-modal-form select,
.order-modal-form textarea {
  font-size: 22px !important;
  font-weight: 850 !important;
  min-height: 58px;
}
.order-modal-form select {
  cursor: pointer;
}
.order-modal-form option {
  font-size: 20px;
}
.order-modal-form [name="clientSearch"] {
  font-size: 24px !important;
  min-height: 62px;
}
.order-modal-form .payment-deposit-field input {
  font-size: 24px !important;
}
.order-modal-form .items-builder {
  padding: 18px;
}
.order-modal-form .items-builder h3 {
  font-size: 22px;
}
.order-modal-form .items-builder-help {
  font-size: 15px;
}
.order-modal-form .item-row {
  grid-template-columns: 1.8fr 1.05fr .85fr 125px 56px;
}
.order-modal-form .item-row input,
.order-modal-form .item-row select {
  min-height: 54px;
}
.order-modal-form [data-add-item],
.order-modal-form button.primary.full {
  font-size: 18px;
  min-height: 56px;
}
@media (max-width: 980px) {
  .order-title-row {
    gap: 8px;
  }
  .order-head-client {
    font-size: 24px;
  }
  .order-card .order-code {
    font-size: 30px;
  }
  .client-phone-line strong {
    font-size: 22px;
  }
  .order-modal-form input,
  .order-modal-form select,
  .order-modal-form textarea {
    font-size: 19px !important;
  }
  .order-modal-form .item-row {
    grid-template-columns: 1fr;
  }
}


/* v113: teléfono de clientes más moderado y caja simple tipo planilla */
.client-phone-line {
  padding: 8px 11px;
}
.client-phone-line strong {
  font-size: 22px !important;
  letter-spacing: .015em;
}
.cash-top-metrics .metric strong {
  font-size: clamp(24px, 2.7vw, 34px);
}
.cash-quick-entry-card .toolbar,
.cash-simple-section .toolbar {
  align-items: flex-start;
}
.quick-cash-form {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: 135px 180px 145px minmax(220px, 1fr) 145px 120px;
}
.quick-cash-form label {
  color: #f8fafc;
  font-size: 14px;
  font-weight: 950;
}
.quick-cash-form input,
.quick-cash-form select {
  background: #020617;
  border: 1px solid rgba(148, 163, 184, .6);
  border-radius: 14px;
  color: #fff;
  font-size: 18px;
  font-weight: 850;
  min-height: 50px;
  padding: 0 13px;
  width: 100%;
}
.quick-cash-form button {
  min-height: 50px;
}
.quick-cash-hint {
  color: #cbd5e1;
  display: block;
  font-size: 13px;
  font-weight: 800;
  grid-column: 1 / -1;
}
.cash-board {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.2fr 1fr 1fr;
}
.cash-board-column {
  background: rgba(15, 23, 42, .58);
  border: 1px solid rgba(96, 165, 250, .23);
  border-radius: 20px;
  overflow: hidden;
}
.cash-board-column header {
  align-items: center;
  background: rgba(37, 99, 235, .18);
  border-bottom: 1px solid rgba(96, 165, 250, .25);
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 13px 15px;
}
.cash-board-column header span {
  color: #dbeafe;
  font-size: 17px;
  font-weight: 950;
}
.cash-board-column header strong {
  color: #fff;
  font-size: 26px;
  font-weight: 950;
  white-space: nowrap;
}
.cash-board-income header {
  background: rgba(16, 185, 129, .16);
}
.cash-simple-table {
  min-width: 0;
}
.cash-simple-table th,
.cash-simple-table td {
  font-size: 14px;
  padding: 10px 9px;
}
.cash-simple-table td strong {
  color: #fff;
  font-size: 15px;
}
.cash-simple-table td small {
  color: #cbd5e1;
  display: block;
  font-size: 11px;
  font-weight: 750;
  margin-top: 3px;
}
.cash-order-code {
  color: #93c5fd;
  font-size: 15px !important;
  font-weight: 950;
  white-space: nowrap;
}
.cash-simple-table .tiny-action {
  font-size: 12px;
  padding: 6px 9px;
}
@media (max-width: 1180px) {
  .quick-cash-form {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .cash-board {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 980px) {
  .client-phone-line strong {
    font-size: 19px !important;
  }
  .quick-cash-form {
    grid-template-columns: 1fr;
  }
  .cash-board-column header strong {
    font-size: 22px;
  }
}


/* v114: caja en una única tabla, sin columnas paralelas */
.cash-board,
.cash-board-column,
.cash-board-column header {
  all: unset;
}
.cash-single-table-wrap {
  border: 1px solid rgba(96, 165, 250, .24);
  border-radius: 18px;
  overflow: auto;
}
.cash-single-table {
  min-width: 980px;
  width: 100%;
}
.cash-single-table th {
  background: rgba(15, 23, 42, .95);
  color: #dbeafe;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .02em;
  padding: 12px 10px;
  text-transform: uppercase;
  white-space: nowrap;
}
.cash-single-table td {
  border-bottom: 1px solid rgba(148, 163, 184, .16);
  font-size: 14px;
  padding: 11px 10px;
  vertical-align: middle;
}
.cash-single-table tbody tr:hover {
  background: rgba(37, 99, 235, .09);
}
.cash-single-table tfoot td {
  background: rgba(30, 41, 59, .9);
  border-top: 2px solid rgba(96, 165, 250, .35);
  color: #fff;
  font-size: 15px;
  padding: 13px 10px;
}
.cash-date-cell {
  color: #cbd5e1;
  font-size: 12px !important;
  font-weight: 800;
  white-space: nowrap;
}
.cash-detail-cell strong {
  color: #ffffff;
  display: block;
  font-size: 15px;
}
.cash-detail-cell small {
  color: #94a3b8;
  display: block;
  font-size: 11px;
  font-weight: 800;
  margin-top: 3px;
}
.cash-method-badge {
  border-radius: 999px;
  display: inline-block;
  font-size: 12px;
  font-weight: 950;
  padding: 5px 9px;
  white-space: nowrap;
}
.cash-method-efectivo {
  background: rgba(34, 197, 94, .15);
  border: 1px solid rgba(74, 222, 128, .35);
  color: #bbf7d0;
}
.cash-method-transferencia {
  background: rgba(59, 130, 246, .16);
  border: 1px solid rgba(96, 165, 250, .4);
  color: #bfdbfe;
}
.amount-cell {
  text-align: right;
  white-space: nowrap;
}
.amount-cell strong {
  color: #ffffff;
  font-size: 15px;
  font-weight: 950;
}
.income-amount strong {
  color: #bbf7d0;
}
.expense-amount strong,
.negative-amount {
  color: #fecaca !important;
}
@media (max-width: 980px) {
  .cash-single-table {
    min-width: 900px;
  }
  .cash-single-table th,
  .cash-single-table td {
    font-size: 12px;
    padding: 9px 8px;
  }
}


/* v115: WhatsApp solo automáticos + caja diaria mínima */
.whatsapp-auto-only {
  gap: 12px;
}
.whatsapp-auto-only button {
  font-size: 18px;
  min-height: 56px;
}

.cash-daily-clean {
  padding: 18px;
}
.cash-daily-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.cash-daily-header h2 {
  color: #ffffff;
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 950;
  letter-spacing: -0.04em;
  line-height: 1;
  margin: 2px 0 0;
}
.quick-cash-form-minimal {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: 180px minmax(240px, 1fr) 210px;
  margin: 8px 0 16px;
}
.quick-cash-form-minimal label {
  color: #f8fafc;
  font-size: 15px;
  font-weight: 950;
}
.quick-cash-form-minimal input,
.quick-cash-form-minimal select {
  background: #020617;
  border: 2px solid rgba(148, 163, 184, .65);
  border-radius: 14px;
  color: #fff;
  font-size: 22px;
  font-weight: 900;
  min-height: 56px;
  padding: 0 14px;
  width: 100%;
}
.visually-hidden-submit {
  border: 0;
  height: 1px;
  left: -9999px;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.quick-cash-hint,
.cash-quick-entry-card p,
.cash-simple-section .toolbar p {
  display: none !important;
}
.cash-clean-table-wrap {
  border: 2px solid rgba(96, 165, 250, .42);
  border-radius: 18px;
  overflow: auto;
}
.cash-clean-table {
  border-collapse: separate;
  border-spacing: 0;
  min-width: 720px;
  width: 100%;
}
.cash-clean-table th {
  background: rgba(15, 23, 42, .98);
  border-bottom: 2px solid rgba(96, 165, 250, .45);
  border-right: 2px solid rgba(96, 165, 250, .28);
  color: #dbeafe;
  font-size: 16px;
  font-weight: 950;
  padding: 13px 14px;
  text-transform: uppercase;
}
.cash-clean-table th:last-child {
  border-right: 0;
}
.cash-clean-table td {
  background: rgba(2, 6, 23, .28);
  border-bottom: 2px solid rgba(96, 165, 250, .22);
  border-right: 2px solid rgba(96, 165, 250, .22);
  color: #fff;
  font-size: 17px;
  padding: 12px 14px;
  vertical-align: middle;
}
.cash-clean-table td:last-child {
  border-right: 0;
}
.cash-clean-table tbody tr:last-child td {
  border-bottom: 2px solid rgba(96, 165, 250, .32);
}
.cash-clean-table tfoot td {
  background: rgba(30, 41, 59, .96);
  border-top: 2px solid rgba(96, 165, 250, .5);
  color: #ffffff;
  font-size: 18px;
  font-weight: 950;
}
.cash-detail-grid {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.cash-detail-text {
  color: #ffffff;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.25;
}
.cash-detail-order {
  color: #93c5fd;
  font-weight: 950;
  margin-right: 6px;
}
.cash-delete-inline {
  flex: 0 0 auto;
  font-size: 12px;
  opacity: .78;
  padding: 6px 9px;
}
.cash-money-cell {
  min-width: 180px;
  text-align: right;
  white-space: nowrap;
}
.cash-money-cell strong {
  font-size: 20px;
  font-weight: 950;
}
.cash-positive-value {
  color: #86efac !important;
}
.cash-negative-value {
  color: #fca5a5 !important;
}
.cash-income-row .cash-detail-text::before {
  color: #22c55e;
  content: "● ";
}
.cash-expense-row .cash-detail-text::before {
  color: #ef4444;
  content: "● ";
}
@media (max-width: 980px) {
  .cash-daily-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .quick-cash-form-minimal {
    grid-template-columns: 1fr;
  }
  .cash-clean-table {
    min-width: 660px;
  }
  .cash-clean-table th,
  .cash-clean-table td {
    font-size: 14px;
    padding: 10px;
  }
  .cash-money-cell strong {
    font-size: 17px;
  }
}


/* v116: clientes más natural + caja mínima navegable */
.client-phone-line {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: block !important;
  padding: 0 !important;
}
.client-phone-line span {
  color: #cbd5e1 !important;
  display: inline !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  margin-right: 6px;
}
.client-phone-line strong {
  color: #ffffff !important;
  display: inline !important;
  font-size: 20px !important;
  font-weight: 950 !important;
  letter-spacing: .01em !important;
}
.quick-cash-form-minimal {
  grid-template-columns: 235px minmax(260px, 1fr) 210px 130px !important;
}
.money-input-wrap {
  align-items: center;
  background: #020617;
  border: 2px solid rgba(148, 163, 184, .65);
  border-radius: 14px;
  display: flex;
  gap: 8px;
  min-height: 56px;
  padding: 0 12px;
}
.money-input-wrap span {
  color: #bfdbfe;
  font-size: 22px;
  font-weight: 950;
}
.money-input-wrap input {
  background: transparent !important;
  border: 0 !important;
  flex: 1;
  min-height: 52px !important;
  padding: 0 !important;
}
.quick-cash-add-button {
  font-size: 18px;
  min-height: 56px;
}
.cash-delete-inline {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 20px !important;
  height: 34px;
  justify-content: center;
  line-height: 1;
  min-width: 34px;
  opacity: .82;
  padding: 0 !important;
}
.delete-warning {
  background: rgba(239, 68, 68, .13);
  border: 1px solid rgba(248, 113, 113, .35);
  border-radius: 14px;
  color: #fecaca;
  font-size: 17px;
  font-weight: 950;
  padding: 12px 14px;
}
.delete-cash-modal-compact textarea {
  min-height: 92px;
}
.cash-day-navigation {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: center;
  margin: 16px 0 6px;
}
.cash-day-navigation strong {
  color: #ffffff;
  font-size: 20px;
  font-weight: 950;
}
.cash-day-arrow {
  min-width: 150px;
}
@media (max-width: 980px) {
  .quick-cash-form-minimal {
    grid-template-columns: 1fr !important;
  }
  .client-phone-line strong {
    font-size: 18px !important;
  }
  .cash-day-navigation {
    align-items: stretch;
    flex-direction: column;
  }
}


/* v120: edición de caja en modal limpio, manteniendo visual v116 */
.cash-row-actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}
.cash-edit-inline {
  font-size: 12px;
  opacity: .9;
  padding: 6px 10px;
}
.edit-cash-modal {
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr 1fr;
}
.edit-cash-modal .full {
  grid-column: 1 / -1;
}
.edit-cash-modal input,
.edit-cash-modal select,
.edit-cash-modal textarea {
  background: #020617;
  border: 1px solid rgba(148, 163, 184, .55);
  border-radius: 14px;
  color: #fff;
  font-size: 18px;
  font-weight: 850;
  min-height: 52px;
  padding: 0 13px;
  width: 100%;
}
.edit-cash-modal textarea {
  min-height: 96px;
  padding-top: 12px;
}
@media (max-width: 760px) {
  .edit-cash-modal {
    grid-template-columns: 1fr;
  }
}


/* v121: acciones externas de caja + columna Ingresos */
.cash-external-actions {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin: 0 0 12px;
}
.cash-select-cell {
  text-align: center;
  width: 44px;
}
.cash-select-cell input {
  accent-color: #60a5fa;
  height: 20px;
  min-height: auto !important;
  width: 20px;
}
.cash-clean-table-v121 th:first-child,
.cash-clean-table-v121 td:first-child {
  width: 44px;
}
.cash-clean-table-v121 th,
.cash-clean-table-v121 td {
  border-right: 2px solid rgba(96, 165, 250, .24);
}
.cash-clean-table-v121 th:last-child,
.cash-clean-table-v121 td:last-child {
  border-right: 0;
}
.cash-total-income-cell strong {
  font-size: 20px;
}
@media (max-width: 980px) {
  .cash-external-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .cash-external-actions button {
    width: 100%;
  }
}


/* v122: caja con acciones arriba, agregar rápido debajo, selección por click */
.cash-external-actions-v122 {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin: 0 0 10px;
}
.cash-external-actions-v122 button {
  min-width: 110px;
}
.quick-cash-form-minimal {
  margin: 0 0 14px !important;
}
.cash-clean-table-v122 tbody tr[data-cash-selectable] {
  cursor: pointer;
}
.cash-clean-table-v122 tbody tr[data-cash-selectable]:hover td {
  background: rgba(37, 99, 235, .13);
}
.cash-clean-table-v122 tbody tr.cash-row-selected td {
  background: rgba(96, 165, 250, .22) !important;
  outline-color: rgba(147, 197, 253, .42);
}
.cash-clean-table-v122 th,
.cash-clean-table-v122 td {
  border-right: 2px solid rgba(96, 165, 250, .24);
}
.cash-clean-table-v122 th:last-child,
.cash-clean-table-v122 td:last-child {
  border-right: 0;
}
@media (max-width: 980px) {
  .cash-external-actions-v122 {
    align-items: stretch;
    flex-direction: row;
  }
  .cash-external-actions-v122 button {
    flex: 1;
    min-width: 0;
  }
}


/* v123: resaltado fuerte de fila seleccionada en caja */
.cash-clean-table-v122 tbody tr.cash-row-selected td {
  background: rgba(37, 99, 235, .38) !important;
  border-bottom-color: rgba(191, 219, 254, .85) !important;
  border-top: 3px solid rgba(191, 219, 254, .9) !important;
  box-shadow: inset 0 0 0 2px rgba(147, 197, 253, .72);
}
.cash-clean-table-v122 tbody tr.cash-row-selected td:first-child {
  border-left: 8px solid #60a5fa !important;
}
.cash-clean-table-v122 tbody tr.cash-row-selected .cash-detail-text {
  color: #ffffff !important;
  font-weight: 950;
}
.cash-clean-table-v122 tbody tr.cash-row-selected .cash-detail-text::after {
  background: rgba(96, 165, 250, .95);
  border-radius: 999px;
  color: #020617;
  content: " seleccionado";
  display: inline-block;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .03em;
  margin-left: 10px;
  padding: 4px 9px;
  text-transform: uppercase;
}
.cash-clean-table-v122 tbody tr.cash-row-selected .cash-money-cell strong {
  font-size: 21px;
}


/* v124: permite deseleccionar tocando otra vez la misma fila */
.cash-clean-table-v122 tbody tr[data-cash-selectable] {
  transition: background .12s ease, box-shadow .12s ease, transform .08s ease;
}
.cash-clean-table-v122 tbody tr[data-cash-selectable]:active td {
  transform: scale(.998);
}


/* v125: Turnero simple por capacidad de valets */
.turnero-simple-workspace {
  display: grid;
  gap: 16px;
}
.turnero-simple-hero {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}
.turnero-simple-hero h2 {
  color: #ffffff;
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 950;
  letter-spacing: -0.04em;
  margin: 4px 0;
}
.turnero-simple-hero p {
  color: #cbd5e1;
  font-size: 16px;
  font-weight: 750;
  max-width: 680px;
}
.turnero-total-box {
  background: rgba(37, 99, 235, .16);
  border: 2px solid rgba(96, 165, 250, .42);
  border-radius: 22px;
  min-width: 190px;
  padding: 16px 18px;
  text-align: center;
}
.turnero-total-box span,
.turnero-total-box small {
  color: #dbeafe;
  display: block;
  font-weight: 900;
}
.turnero-total-box strong {
  color: #ffffff;
  display: block;
  font-size: 56px;
  font-weight: 950;
  line-height: .95;
}
.turnero-day-navigation {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: center;
}
.turnero-day-navigation strong {
  color: #ffffff;
  font-size: 20px;
  font-weight: 950;
}
.turnero-day-arrow {
  min-width: 160px;
}
.turnero-slot-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.turnero-slot-card {
  background: rgba(15, 23, 42, .82);
  border: 2px solid rgba(96, 165, 250, .24);
  border-radius: 22px;
  box-shadow: 0 16px 38px rgba(2, 6, 23, .22);
  padding: 16px;
}
.turnero-slot-card.free {
  border-color: rgba(34, 197, 94, .36);
}
.turnero-slot-card.tight {
  border-color: rgba(251, 191, 36, .52);
}
.turnero-slot-card.full {
  border-color: rgba(248, 113, 113, .65);
}
.turnero-slot-card.closed {
  opacity: .72;
}
.turnero-slot-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.turnero-slot-head strong {
  color: #ffffff;
  font-size: 24px;
  font-weight: 950;
}
.turnero-slot-head span {
  border-radius: 999px;
  color: #020617;
  font-size: 13px;
  font-weight: 950;
  padding: 6px 10px;
  text-transform: uppercase;
}
.turnero-slot-card.free .turnero-slot-head span {
  background: #86efac;
}
.turnero-slot-card.tight .turnero-slot-head span {
  background: #fde68a;
}
.turnero-slot-card.full .turnero-slot-head span {
  background: #fca5a5;
}
.turnero-slot-card.closed .turnero-slot-head span {
  background: #cbd5e1;
}
.turnero-slot-main {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: 58px 1fr 58px;
  margin: 18px 0;
}
.turnero-count-btn {
  border-radius: 18px;
  font-size: 32px;
  font-weight: 950;
  min-height: 58px;
  padding: 0;
}
.turnero-counter {
  background: rgba(2, 6, 23, .48);
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 18px;
  padding: 12px;
  text-align: center;
}
.turnero-counter strong {
  color: #ffffff;
  display: block;
  font-size: 34px;
  font-weight: 950;
  line-height: 1;
}
.turnero-counter small {
  color: #cbd5e1;
  display: block;
  font-size: 13px;
  font-weight: 850;
  margin-top: 5px;
}
.turnero-capacity-line {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 92px 76px;
}
.turnero-capacity-line label {
  color: #dbeafe;
  font-size: 13px;
  font-weight: 950;
}
.turnero-capacity-line input {
  background: #020617;
  border: 1px solid rgba(148, 163, 184, .55);
  border-radius: 14px;
  color: #ffffff;
  font-size: 20px;
  font-weight: 900;
  min-height: 46px;
  padding: 0 12px;
  width: 100%;
}
.ghost-button {
  background: rgba(148, 163, 184, .10);
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 14px;
  color: #e5e7eb;
  cursor: pointer;
  font-weight: 900;
  min-height: 46px;
}
@media (max-width: 760px) {
  .turnero-simple-hero,
  .turnero-day-navigation {
    align-items: stretch;
    flex-direction: column;
  }
  .turnero-total-box {
    min-width: 0;
  }
  .turnero-day-arrow {
    width: 100%;
  }
}


/* v126: Turnero ultra simple diario, sin franjas horarias */
.turnero-ultra-workspace {
  display: grid;
  gap: 16px;
  margin: 0 auto;
  max-width: 900px;
}
.turnero-ultra-card {
  background: linear-gradient(135deg, rgba(15, 23, 42, .96), rgba(30, 58, 138, .45));
  border: 2px solid rgba(96, 165, 250, .32);
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(2, 6, 23, .28);
  padding: clamp(18px, 3vw, 30px);
}
.turnero-ultra-card.free {
  border-color: rgba(34, 197, 94, .46);
}
.turnero-ultra-card.tight {
  border-color: rgba(251, 191, 36, .58);
}
.turnero-ultra-card.full {
  border-color: rgba(248, 113, 113, .70);
}
.turnero-ultra-top {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}
.turnero-ultra-top h2 {
  color: #ffffff;
  font-size: clamp(36px, 5vw, 60px);
  font-weight: 950;
  letter-spacing: -0.05em;
  line-height: .98;
  margin: 4px 0 8px;
}
.turnero-ultra-top p {
  color: #cbd5e1;
  font-size: 17px;
  font-weight: 800;
  max-width: 620px;
}
.turnero-ultra-status {
  border-radius: 999px;
  color: #020617;
  flex: 0 0 auto;
  font-size: 18px;
  font-weight: 950;
  padding: 10px 14px;
  text-transform: uppercase;
}
.turnero-ultra-card.free .turnero-ultra-status {
  background: #86efac;
}
.turnero-ultra-card.tight .turnero-ultra-status {
  background: #fde68a;
}
.turnero-ultra-card.full .turnero-ultra-status {
  background: #fca5a5;
}
.turnero-ultra-card.closed .turnero-ultra-status {
  background: #cbd5e1;
}
.turnero-ultra-counter {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: 88px minmax(240px, 1fr) 88px;
  margin: 26px 0 20px;
}
.turnero-ultra-btn {
  border-radius: 24px;
  font-size: 52px;
  font-weight: 950;
  min-height: 88px;
  padding: 0;
}
.turnero-ultra-number {
  background: rgba(2, 6, 23, .58);
  border: 2px solid rgba(148, 163, 184, .24);
  border-radius: 26px;
  padding: 24px 18px;
  text-align: center;
}
.turnero-ultra-number strong {
  color: #ffffff;
  display: block;
  font-size: clamp(54px, 8vw, 88px);
  font-weight: 950;
  line-height: .95;
}
.turnero-ultra-number small {
  color: #cbd5e1;
  display: block;
  font-size: 17px;
  font-weight: 900;
  margin-top: 8px;
}
.turnero-ultra-available {
  background: rgba(16, 185, 129, .14);
  border: 2px solid rgba(52, 211, 153, .32);
  border-radius: 26px;
  margin: 0 auto 20px;
  max-width: 360px;
  padding: 18px;
  text-align: center;
}
.turnero-ultra-available span,
.turnero-ultra-available small {
  color: #bbf7d0;
  display: block;
  font-weight: 950;
}
.turnero-ultra-available strong {
  color: #ffffff;
  display: block;
  font-size: 80px;
  font-weight: 950;
  line-height: .9;
}
.turnero-ultra-config {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(180px, 1fr) 180px 130px;
}
.turnero-ultra-config label {
  color: #dbeafe;
  font-size: 15px;
  font-weight: 950;
}
.turnero-ultra-config input {
  background: #020617;
  border: 1px solid rgba(148, 163, 184, .55);
  border-radius: 16px;
  color: #ffffff;
  font-size: 24px;
  font-weight: 950;
  min-height: 56px;
  padding: 0 14px;
  width: 100%;
}
.turnero-day-navigation.ultra {
  margin-top: 4px;
}
@media (max-width: 760px) {
  .turnero-ultra-top {
    flex-direction: column;
  }
  .turnero-ultra-counter {
    grid-template-columns: 1fr;
  }
  .turnero-ultra-btn {
    min-height: 70px;
  }
  .turnero-ultra-config,
  .turnero-day-navigation.ultra {
    align-items: stretch;
    flex-direction: column;
    grid-template-columns: 1fr;
  }
}


/* v127: Turnero predictivo simple: "para cuándo lo prometo" */
.turnero-predictive-workspace {
  display: grid;
  gap: 16px;
}
.turnero-promise-card {
  align-items: stretch;
  background: linear-gradient(135deg, rgba(15, 23, 42, .98), rgba(30, 58, 138, .42));
  border: 2px solid rgba(96, 165, 250, .34);
  border-radius: 28px;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .85fr);
  padding: clamp(18px, 3vw, 30px);
}
.turnero-promise-card.free {
  border-color: rgba(34, 197, 94, .48);
}
.turnero-promise-card.tight {
  border-color: rgba(251, 191, 36, .62);
}
.turnero-promise-card.full {
  border-color: rgba(248, 113, 113, .72);
}
.turnero-promise-copy h2 {
  color: #ffffff;
  font-size: clamp(38px, 5vw, 66px);
  font-weight: 950;
  letter-spacing: -0.055em;
  line-height: .96;
  margin: 4px 0 10px;
}
.turnero-promise-copy p {
  color: #cbd5e1;
  font-size: 17px;
  font-weight: 800;
  max-width: 680px;
}
.turnero-promise-result {
  background: rgba(2, 6, 23, .58);
  border: 2px solid rgba(147, 197, 253, .28);
  border-radius: 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px;
  text-align: center;
}
.turnero-promise-result span,
.turnero-promise-result small {
  color: #dbeafe;
  display: block;
  font-weight: 950;
}
.turnero-promise-result strong {
  color: #ffffff;
  display: block;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 950;
  letter-spacing: -0.04em;
  line-height: 1;
  margin: 10px 0;
}
.turnero-control-card {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(220px, 1fr) minmax(260px, 1fr);
}
.turnero-control-block {
  background: rgba(15, 23, 42, .72);
  border: 1px solid rgba(96, 165, 250, .24);
  border-radius: 22px;
  padding: 16px;
  text-align: center;
}
.turnero-control-block span,
.turnero-control-block small {
  color: #dbeafe;
  display: block;
  font-weight: 950;
}
.turnero-control-block small {
  color: #cbd5e1;
  font-size: 12px;
  margin-top: 5px;
}
.turnero-mini-counter {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: 58px 1fr 58px;
  margin: 12px 0 4px;
}
.turnero-mini-counter button {
  border-radius: 18px;
  font-size: 30px;
  font-weight: 950;
  min-height: 58px;
  padding: 0;
}
.turnero-mini-counter strong {
  color: #ffffff;
  font-size: 54px;
  font-weight: 950;
  line-height: 1;
}
.turnero-settings-row {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-column: 1 / -1;
  grid-template-columns: 1fr 1fr 120px 110px;
}
.turnero-settings-row label {
  color: #dbeafe;
  font-size: 14px;
  font-weight: 950;
}
.turnero-settings-row input {
  background: #020617;
  border: 1px solid rgba(148, 163, 184, .55);
  border-radius: 16px;
  color: #ffffff;
  font-size: 22px;
  font-weight: 950;
  min-height: 54px;
  padding: 0 14px;
  width: 100%;
}
.turnero-summary-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.turnero-summary {
  border: 1px solid rgba(96, 165, 250, .24);
  text-align: center;
}
.turnero-summary span,
.turnero-summary small {
  color: #dbeafe;
  display: block;
  font-weight: 950;
}
.turnero-summary strong {
  color: #ffffff;
  display: block;
  font-size: clamp(32px, 4vw, 46px);
  font-weight: 950;
  line-height: 1;
  margin: 8px 0;
}
.turnero-backlog-list {
  background: rgba(15, 23, 42, .72);
  border: 1px solid rgba(96, 165, 250, .22);
  border-radius: 22px;
  padding: 16px;
}
.turnero-backlog-list h3 {
  color: #ffffff;
  font-size: 21px;
  margin: 0 0 10px;
}
.turnero-backlog-row {
  align-items: center;
  border-top: 1px solid rgba(148, 163, 184, .16);
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
}
.turnero-backlog-row span {
  color: #e5e7eb;
  font-weight: 900;
}
.turnero-backlog-row strong {
  color: #ffffff;
  font-size: 20px;
  font-weight: 950;
}
.turnero-backlog-list p,
.turnero-backlog-list small {
  color: #cbd5e1;
  font-weight: 850;
}
.turnero-day-navigation.predictive {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: center;
}
@media (max-width: 900px) {
  .turnero-promise-card,
  .turnero-control-card,
  .turnero-summary-grid,
  .turnero-settings-row {
    grid-template-columns: 1fr;
  }
  .turnero-day-navigation.predictive {
    align-items: stretch;
    flex-direction: column;
  }
}


/* v128: pedidos más simples, depósito grande, WhatsApp cliente, caja con descomposición */
.order-card-simple {
  padding: 18px 20px;
}
.order-simple-top {
  align-items: center;
  display: grid;
  gap: 14px;
  grid-template-columns: auto minmax(0, 1fr) auto;
}
.order-simple-person {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  min-width: 0;
}
.order-card-simple .order-head-client {
  font-size: clamp(28px, 3vw, 42px);
  line-height: .98;
}
.order-storage-big {
  background: rgba(96, 165, 250, .16);
  border: 2px solid rgba(96, 165, 250, .42);
  border-radius: 999px;
  color: #dbeafe;
  font-size: clamp(18px, 2vw, 28px);
  font-weight: 950;
  padding: 7px 12px;
  white-space: nowrap;
}
.order-simple-right {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.order-total-big {
  color: #ffffff;
  font-size: clamp(24px, 2.6vw, 36px);
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}
.order-simple-body {
  align-items: center;
  background: rgba(2, 6, 23, .32);
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 18px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 14px 0 10px;
  padding: 12px 14px;
}
.order-main-service span {
  color: #ffffff;
  display: block;
  font-size: clamp(22px, 2.3vw, 32px);
  font-weight: 950;
}
.order-main-service small {
  color: #cbd5e1;
  display: block;
  font-size: 14px;
  font-weight: 850;
  margin-top: 2px;
}
.order-simple-pay {
  flex: 0 0 auto;
}
.order-simple-meta {
  color: #cbd5e1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  font-size: 13px;
  font-weight: 850;
}
.order-simple-actions {
  margin-top: 14px;
}
.order-simple-actions button {
  font-size: 17px;
  min-height: 48px;
}
.client-actions button {
  min-height: 44px;
}
.quick-cash-form-split {
  align-items: end;
  grid-template-columns: 190px minmax(230px, 1fr) 170px 190px 120px !important;
}
.edit-cash-modal-split {
  grid-template-columns: 1fr 1fr 1fr;
}
.edit-cash-modal-split .full,
.edit-cash-modal-split .actions {
  grid-column: 1 / -1;
}
@media (max-width: 980px) {
  .order-simple-top,
  .order-simple-body,
  .quick-cash-form-split,
  .edit-cash-modal-split {
    grid-template-columns: 1fr !important;
  }
  .order-simple-right {
    align-items: flex-start;
  }
  .order-simple-body {
    align-items: stretch;
    flex-direction: column;
  }
  .order-storage-big {
    white-space: normal;
  }
}


/* v129: volver al visual anterior de pedidos, manteniendo depósito grande junto al nombre */
.order-storage-inline {
  background: rgba(96, 165, 250, .16);
  border: 2px solid rgba(96, 165, 250, .38);
  border-radius: 999px;
  color: #dbeafe;
  display: inline-flex;
  align-items: center;
  font-size: clamp(17px, 1.7vw, 24px);
  font-weight: 950;
  line-height: 1;
  padding: 7px 12px;
  white-space: nowrap;
}
@media (max-width: 980px) {
  .order-storage-inline {
    font-size: 17px;
    white-space: normal;
  }
}


/* v132: pantalla chica del lavadero, sin romper cliente/caja/pedidos */
@media (max-width: 1180px) {
  .app-shell {
    grid-template-columns: 178px minmax(0, 1fr);
  }
  .content {
    min-width: 0;
  }
  .quick-cash-form-split {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .quick-cash-form-split .quick-cash-concept {
    grid-column: 1 / -1;
  }
  .quick-cash-form-split .quick-cash-add-button {
    grid-column: 1 / -1;
    min-height: 54px;
    width: 100%;
  }
  .cash-daily-clean {
    overflow-x: hidden;
  }
  .cash-clean-table-wrap {
    overflow-x: auto;
  }
  .cash-clean-table {
    min-width: 760px;
  }
  .order-card {
    overflow: hidden;
  }
  .order-title-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
  }
  .order-code {
    font-size: clamp(24px, 3vw, 34px) !important;
  }
  .order-head-client {
    font-size: clamp(23px, 2.6vw, 34px) !important;
    line-height: 1.02;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .order-storage-inline {
    font-size: clamp(15px, 1.6vw, 20px) !important;
    max-width: 100%;
    white-space: normal !important;
  }
  .order-top-right {
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .client-card {
    min-width: 0;
  }
  .client-phone-line strong {
    display: block;
    font-size: clamp(18px, 2vw, 24px) !important;
    line-height: 1.05;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}
@media (max-width: 760px) {
  .quick-cash-form-split {
    grid-template-columns: 1fr !important;
  }
}

/* v132: Turnero real pero tonto visualmente */
.turnero-real-workspace {
  display: grid;
  gap: 14px;
  margin: 0 auto;
  max-width: 820px;
}
.turnero-real-card {
  text-align: center;
}
.turnero-real-why {
  background: rgba(2, 6, 23, .44);
  border: 1px solid rgba(147, 197, 253, .26);
  border-radius: 22px;
  margin: 10px auto 18px;
  max-width: 680px;
  padding: 14px 16px;
}
.turnero-real-why strong,
.turnero-real-why span,
.turnero-real-why small {
  display: block;
}
.turnero-real-why strong {
  color: #ffffff;
  font-size: 18px;
  font-weight: 950;
}
.turnero-real-why span {
  color: #dbeafe;
  font-size: 15px;
  font-weight: 900;
  margin-top: 5px;
}
.turnero-real-why small {
  color: #cbd5e1;
  font-size: 13px;
  font-weight: 850;
  margin-top: 6px;
}
.turnero-tonto-answer {
  text-transform: none !important;
}
.turnero-hour-only {
  grid-template-columns: minmax(180px, 1fr) 120px !important;
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
}
.turnero-settings-note {
  color: #cbd5e1;
  font-size: 13px;
  font-weight: 850;
  margin: 10px 0 0;
  text-align: center;
}
@media (max-width: 760px) {
  .turnero-hour-only {
    grid-template-columns: 1fr !important;
  }
}


/* v133: Caja 1024 real - dos columnas y botón entero */
@media (max-width: 1300px) {
  #cash .quick-cash-form.quick-cash-form-split,
  #cash .quick-cash-form-minimal.quick-cash-form-split {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
  }
  #cash .quick-cash-form.quick-cash-form-split label,
  #cash .quick-cash-form.quick-cash-form-split input,
  #cash .quick-cash-form.quick-cash-form-split select,
  #cash .quick-cash-form.quick-cash-form-split .money-input-wrap {
    min-width: 0 !important;
    width: 100% !important;
  }
  #cash .quick-cash-form.quick-cash-form-split .quick-cash-concept {
    grid-column: 1 / -1 !important;
  }
  #cash .quick-cash-form.quick-cash-form-split .quick-cash-add-button {
    grid-column: 1 / -1 !important;
    min-height: 56px !important;
    width: 100% !important;
  }
  #cash .cash-clean-table-wrap {
    overflow-x: auto !important;
  }
  #cash .cash-clean-table {
    min-width: 760px !important;
  }
}

/* v133: Pedidos 1024 - mantener pago/estado arriba al costado */
@media (max-width: 1300px) {
  .order-card .order-main {
    align-items: start !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(250px, auto) !important;
    gap: 12px !important;
  }
  .order-card .order-main-left {
    min-width: 0 !important;
  }
  .order-card .order-title-row {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 10px !important;
  }
  .order-card .order-top-right {
    align-items: flex-end !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: flex-end !important;
    min-width: 250px !important;
  }
  .order-card .order-code {
    font-size: clamp(25px, 2.8vw, 34px) !important;
  }
  .order-card .order-head-client {
    font-size: clamp(24px, 2.6vw, 34px) !important;
    line-height: 1.02 !important;
    overflow-wrap: anywhere !important;
  }
  .order-card .order-storage-inline {
    font-size: clamp(15px, 1.6vw, 20px) !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
  .order-card .payment-vision,
  .order-card .order-vision-summary,
  .order-card .payment-summary,
  .order-card .order-payment-card {
    max-width: 250px !important;
  }
}
@media (max-width: 850px) {
  .order-card .order-main {
    grid-template-columns: 1fr !important;
  }
  .order-card .order-top-right {
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }
}

/* v133: Clientes teléfono largo */
@media (max-width: 1300px) {
  .client-card {
    min-width: 0 !important;
  }
  .client-phone-line strong {
    display: block !important;
    font-size: clamp(18px, 2vw, 24px) !important;
    line-height: 1.05 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
}

/* v133: Turnero final, simple y dinámico */
.turnero-final-workspace {
  display: grid;
  gap: 14px;
  margin: 0 auto;
  max-width: 820px;
}
.turnero-final-card {
  background: linear-gradient(135deg, rgba(15, 23, 42, .98), rgba(30, 58, 138, .42));
  border: 3px solid rgba(96, 165, 250, .35);
  border-radius: 30px;
  box-shadow: 0 26px 70px rgba(2, 6, 23, .32);
  padding: clamp(20px, 4vw, 34px);
  text-align: center;
}
.turnero-final-card.free {
  border-color: rgba(34, 197, 94, .54);
}
.turnero-final-card.tight {
  border-color: rgba(251, 191, 36, .68);
}
.turnero-final-card.full {
  border-color: rgba(248, 113, 113, .78);
}
.turnero-final-card h2 {
  color: #dbeafe;
  font-size: clamp(26px, 3.2vw, 42px);
  font-weight: 950;
  letter-spacing: -0.03em;
  margin: 2px 0 8px;
}
.turnero-final-answer {
  color: #ffffff;
  font-size: clamp(52px, 8vw, 92px);
  font-weight: 950;
  letter-spacing: -0.07em;
  line-height: .92;
  margin: 8px auto 8px;
}
.turnero-final-sub {
  color: #cbd5e1;
  font-size: 18px;
  font-weight: 900;
}
.turnero-final-counter {
  align-items: center;
  display: grid;
  gap: 16px;
  grid-template-columns: 78px 1fr 78px;
  margin: 22px auto;
  max-width: 420px;
}
.turnero-final-counter button {
  border-radius: 24px;
  font-size: 44px;
  font-weight: 950;
  min-height: 78px;
  padding: 0;
}
.turnero-final-counter strong {
  background: rgba(2, 6, 23, .55);
  border: 2px solid rgba(147, 197, 253, .28);
  border-radius: 24px;
  color: #ffffff;
  display: block;
  font-size: 70px;
  font-weight: 950;
  line-height: 1;
  padding: 10px;
}
.turnero-final-why {
  background: rgba(2, 6, 23, .44);
  border: 1px solid rgba(147, 197, 253, .26);
  border-radius: 22px;
  margin: 10px auto 18px;
  max-width: 680px;
  padding: 14px 16px;
}
.turnero-final-why strong,
.turnero-final-why span,
.turnero-final-why small {
  display: block;
}
.turnero-final-why strong {
  color: #ffffff;
  font-size: 18px;
  font-weight: 950;
}
.turnero-final-why span {
  color: #dbeafe;
  font-size: 15px;
  font-weight: 900;
  margin-top: 5px;
}
.turnero-final-why small {
  color: #cbd5e1;
  font-size: 13px;
  font-weight: 850;
  margin-top: 6px;
}
.turnero-final-facts {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, 1fr);
}
.turnero-final-facts article {
  background: rgba(2, 6, 23, .40);
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 20px;
  padding: 14px 10px;
}
.turnero-final-facts span {
  color: #cbd5e1;
  display: block;
  font-size: 14px;
  font-weight: 950;
  text-transform: uppercase;
}
.turnero-final-facts strong {
  color: #ffffff;
  display: block;
  font-size: 42px;
  font-weight: 950;
  line-height: 1;
  margin-top: 6px;
}
@media (max-width: 760px) {
  .turnero-final-counter,
  .turnero-final-facts {
    grid-template-columns: 1fr;
  }
}


/* v134: Pedidos sin título superior y botón + centrado */
.orders-clean-header {
  padding-top: 18px;
}
.orders-plus-row {
  display: flex;
  justify-content: center;
  margin: 0 0 18px;
}
.orders-plus-button {
  align-items: center;
  aspect-ratio: 1 / 1;
  border-radius: 18px;
  display: inline-flex;
  font-size: 54px;
  font-weight: 950;
  justify-content: center;
  line-height: 1;
  min-height: 92px;
  min-width: 92px;
  padding: 0;
}

/* v134: crear cliente rápido desde Nuevo pedido */
.order-client-fast-label small {
  color: #cbd5e1;
  display: block;
  font-size: 12px;
  font-weight: 850;
  margin-top: 6px;
}
.order-client-fast-phone input {
  font-size: 20px;
  font-weight: 850;
}

/* v134: Turnos adaptable para 1024x768 y pantallas angostas */
#schedule,
#schedule * {
  box-sizing: border-box;
}
.turnero-final-workspace {
  max-width: min(820px, 100%) !important;
  width: 100% !important;
}
.turnero-final-card {
  overflow: hidden;
  padding: clamp(16px, 2.8vw, 28px) !important;
}
.turnero-final-card h2 {
  font-size: clamp(24px, 3vw, 38px) !important;
}
.turnero-final-answer {
  font-size: clamp(42px, 7vw, 78px) !important;
  line-height: .95 !important;
  overflow-wrap: anywhere;
}
.turnero-final-counter {
  grid-template-columns: 70px minmax(0, 1fr) 70px !important;
  max-width: 380px !important;
}
.turnero-final-counter button {
  min-height: 68px !important;
}
.turnero-final-counter strong {
  font-size: clamp(48px, 6vw, 64px) !important;
}
.turnero-final-why {
  max-width: 100% !important;
}
@media (max-width: 1120px) {
  .turnero-final-workspace {
    margin: 0 !important;
  }
  .turnero-final-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .turnero-final-facts strong {
    font-size: clamp(28px, 4vw, 38px) !important;
  }
}
@media (max-width: 760px) {
  .orders-plus-button {
    min-height: 78px;
    min-width: 78px;
    font-size: 44px;
  }
  .turnero-final-counter,
  .turnero-final-facts {
    grid-template-columns: 1fr !important;
  }
}


/* v135: + de Pedidos más grande */
.orders-plus-button {
  min-height: 118px !important;
  min-width: 118px !important;
  border-radius: 24px !important;
  font-size: 74px !important;
  box-shadow: 0 18px 45px rgba(37, 99, 235, .35);
}

/* v135: pago/seña/abonado compacto para 1024x768 */
@media (max-width: 1300px) {
  .order-card .order-main {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 250px) !important;
  }
  .order-card .order-top-right {
    min-width: 220px !important;
    max-width: 250px !important;
  }
  .order-vision-summary.single,
  .order-vision-box.order-vision-single {
    max-width: 250px !important;
    width: 250px !important;
  }
  .order-vision-box.order-vision-single {
    padding: 10px 12px !important;
    min-height: 0 !important;
  }
  .order-vision-box.order-vision-single small {
    font-size: 10px !important;
    line-height: 1 !important;
  }
  .order-vision-box.order-vision-single strong {
    display: block !important;
    font-size: clamp(18px, 2vw, 24px) !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .payment-breakdown {
    display: block !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    margin-top: 4px !important;
    white-space: normal !important;
  }
}
@media (max-width: 900px) {
  .order-card .order-main {
    grid-template-columns: 1fr !important;
  }
  .order-vision-summary.single,
  .order-vision-box.order-vision-single {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* v135: cliente nuevo explícito en Nuevo pedido */
.order-new-client-check {
  align-items: center;
  background: rgba(96, 165, 250, .12);
  border: 1px solid rgba(96, 165, 250, .28);
  border-radius: 16px;
  color: #e5e7eb;
  display: flex;
  gap: 10px;
  font-size: 16px;
  font-weight: 950;
  padding: 12px 14px;
}
.order-new-client-check input {
  width: 22px;
  height: 22px;
}
.order-client-fast-label small {
  color: #cbd5e1;
  display: block;
  font-size: 12px;
  font-weight: 850;
  margin-top: 6px;
}

/* v135: explicación del Turnero más corta */
.turnero-final-why-simple {
  max-width: 560px !important;
}
.turnero-final-why-simple strong {
  font-size: 17px !important;
}
.turnero-final-why-simple span {
  font-size: 15px !important;
}
.turnero-final-why-simple small {
  font-size: 12px !important;
}
@media (max-width: 760px) {
  .orders-plus-button {
    min-height: 92px !important;
    min-width: 92px !important;
    font-size: 58px !important;
  }
}


/* v136: centrar visualmente el + de Pedidos */
.orders-plus-button {
  align-items: center !important;
  display: inline-flex !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 0 !important;
}
.orders-plus-symbol {
  display: block;
  line-height: .72;
  transform: translateY(-5px);
}

/* v136: Crear cliente desde pedido, escondido hasta que se necesite */
.order-new-client-panel {
  display: grid;
  gap: 10px;
}
.order-new-client-toggle {
  min-height: 52px;
  width: 100%;
}
.order-new-client-fields {
  background: rgba(96, 165, 250, .12);
  border: 1px solid rgba(96, 165, 250, .30);
  border-radius: 16px;
  display: grid;
  gap: 10px;
  padding: 12px 14px;
}
.order-new-client-fields[hidden] {
  display: none !important;
}
.order-new-client-fields p {
  color: #dbeafe;
  font-size: 13px;
  font-weight: 900;
  margin: 0;
}
.order-new-client-fields label {
  color: #ffffff;
  font-weight: 950;
}
.order-new-client-fields input {
  margin-top: 6px;
}


/* v137: Cliente nuevo dentro de pedido, nombre + teléfono, más simple */
.order-new-client-toggle {
  background: rgba(37, 99, 235, .88) !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 950 !important;
  min-height: 58px !important;
}
.order-new-client-fields-v137 {
  grid-template-columns: 1.2fr 1fr;
}
.order-new-client-fields-v137 label {
  display: grid;
}
.order-new-client-fields-v137 input {
  font-size: 20px;
  font-weight: 850;
}
@media (max-width: 760px) {
  .order-new-client-fields-v137 {
    grid-template-columns: 1fr;
  }
}


/* v138: línea de tiempo estimada debajo del Turnero */
.turnero-timeline-card {
  margin-top: 14px;
  overflow: hidden;
}
.turnero-timeline-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.turnero-timeline-head h3 {
  color: #ffffff;
  font-size: 24px;
  font-weight: 950;
  margin: 0 0 4px;
}
.turnero-timeline-head p {
  color: #cbd5e1;
  font-size: 13px;
  font-weight: 850;
  margin: 0;
  max-width: 680px;
}
.turnero-timeline-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}
.turnero-timeline-legend span {
  border-radius: 999px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 950;
  padding: 6px 9px;
}
.turnero-timeline-legend .wash-dot {
  background: rgba(37, 99, 235, .85);
}
.turnero-timeline-legend .dry-dot {
  background: rgba(14, 165, 233, .72);
}
.turnero-timeline-legend .incoming-dot {
  background: rgba(245, 158, 11, .86);
}
.turnero-time-scale {
  color: #cbd5e1;
  display: flex;
  font-size: 12px;
  font-weight: 900;
  justify-content: space-between;
  margin: 14px 0 6px 136px;
}
.turnero-time-scroll {
  overflow-x: auto;
  padding-bottom: 4px;
}
.turnero-time-lane {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 126px minmax(620px, 1fr);
  margin: 8px 0;
}
.turnero-time-lane-name {
  color: #dbeafe;
  font-size: 12px;
  font-weight: 950;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.turnero-time-track {
  background: rgba(2, 6, 23, .42);
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 14px;
  height: 42px;
  position: relative;
}
.turnero-time-block {
  align-items: center;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  height: 34px;
  justify-content: center;
  left: 0;
  min-width: 54px;
  overflow: hidden;
  padding: 2px 6px;
  position: absolute;
  top: 3px;
  white-space: nowrap;
}
.turnero-time-block.wash {
  background: linear-gradient(135deg, rgba(37, 99, 235, .95), rgba(30, 64, 175, .92));
}
.turnero-time-block.dry {
  background: linear-gradient(135deg, rgba(14, 165, 233, .92), rgba(12, 74, 110, .9));
}
.turnero-time-block.incoming {
  outline: 3px solid rgba(245, 158, 11, .95);
}
.turnero-time-block span {
  color: #ffffff;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
}
.turnero-time-block small {
  color: rgba(255,255,255,.9);
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
  margin-top: 3px;
}
.turnero-timeline-empty {
  color: #cbd5e1;
  font-weight: 850;
}
@media (max-width: 900px) {
  .turnero-timeline-head {
    flex-direction: column;
  }
  .turnero-time-scale {
    margin-left: 0;
  }
  .turnero-time-lane {
    grid-template-columns: 104px minmax(520px, 1fr);
  }
}


/* v139: caja manual compacta arriba de la tabla */
@media (min-width: 980px) {
  #cash .quick-cash-form.quick-cash-form-split,
  #cash .quick-cash-form-minimal.quick-cash-form-split {
    display: grid !important;
    grid-template-columns: 142px minmax(190px, 1fr) 132px 150px 92px !important;
    gap: 8px !important;
    align-items: end !important;
  }
  #cash .quick-cash-form.quick-cash-form-split .quick-cash-concept {
    grid-column: auto !important;
  }
  #cash .quick-cash-form.quick-cash-form-split .quick-cash-add-button {
    grid-column: auto !important;
    min-height: 46px !important;
    width: 92px !important;
    padding: 0 10px !important;
  }
  #cash .quick-cash-form.quick-cash-form-split label {
    font-size: 12px !important;
  }
  #cash .quick-cash-form.quick-cash-form-split input,
  #cash .quick-cash-form.quick-cash-form-split select,
  #cash .quick-cash-form.quick-cash-form-split .money-input-wrap {
    min-height: 46px !important;
    font-size: 16px !important;
  }
}
@media (max-width: 979px) {
  #cash .quick-cash-form.quick-cash-form-split,
  #cash .quick-cash-form-minimal.quick-cash-form-split {
    grid-template-columns: 1fr 1fr !important;
  }
  #cash .quick-cash-form.quick-cash-form-split .quick-cash-concept,
  #cash .quick-cash-form.quick-cash-form-split .quick-cash-add-button {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
}

/* v139: Turnero más fácil de entender: agenda simple */
.turnero-timeline-card,
.turnero-time-scroll,
.turnero-time-lane,
.turnero-time-track {
  display: none !important;
}
.turnero-agenda-card {
  margin-top: 14px;
  overflow: hidden;
}
.turnero-agenda-head {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.turnero-agenda-head h3 {
  color: #ffffff;
  font-size: 24px;
  font-weight: 950;
  margin: 0 0 4px;
}
.turnero-agenda-head p {
  color: #cbd5e1;
  font-size: 13px;
  font-weight: 850;
  margin: 0;
  max-width: 650px;
}
.turnero-agenda-head span {
  background: rgba(245, 158, 11, .92);
  border-radius: 999px;
  color: #020617;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 950;
  padding: 7px 10px;
}
.turnero-agenda-wrap {
  overflow-x: auto;
  margin-top: 12px;
}
.turnero-agenda-table {
  border-collapse: separate;
  border-spacing: 0;
  min-width: 700px;
  width: 100%;
}
.turnero-agenda-table th {
  background: rgba(30, 58, 138, .32);
  color: #dbeafe;
  font-size: 12px;
  font-weight: 950;
  padding: 10px;
  text-align: left;
  text-transform: uppercase;
}
.turnero-agenda-table td {
  border-top: 1px solid rgba(148, 163, 184, .18);
  color: #ffffff;
  font-size: 14px;
  font-weight: 900;
  padding: 10px;
  vertical-align: top;
}
.turnero-agenda-table td small {
  color: #cbd5e1;
  display: block;
  font-size: 11px;
  font-weight: 800;
  margin-top: 3px;
}
.turnero-agenda-table tr.incoming td {
  background: rgba(245, 158, 11, .16);
  border-top-color: rgba(245, 158, 11, .5);
}
.turnero-agenda-more {
  color: #cbd5e1;
  font-size: 13px;
  font-weight: 850;
  margin: 10px 0 0;
}
@media (max-width: 900px) {
  .turnero-agenda-head {
    flex-direction: column;
  }
}


/* v141: Caja - selección robusta y visible */
.cash-actions-v141 {
  align-items: center;
  display: grid !important;
  gap: 10px;
  grid-template-columns: minmax(220px, 1fr) auto auto;
}
.cash-selection-hint {
  background: rgba(2, 6, 23, .42);
  border: 1px solid rgba(147, 197, 253, .26);
  border-radius: 14px;
  color: #dbeafe;
  font-size: 14px;
  font-weight: 900;
  min-height: 42px;
  padding: 11px 13px;
}
.cash-clean-table-v122 tbody tr[data-cash-selectable] {
  cursor: pointer !important;
}
.cash-clean-table-v122 tbody tr.cash-row-selected td {
  background: rgba(37, 99, 235, .48) !important;
  border-bottom-color: rgba(191, 219, 254, .90) !important;
  border-top: 3px solid rgba(191, 219, 254, .92) !important;
  box-shadow: inset 0 0 0 2px rgba(147, 197, 253, .78) !important;
}
.cash-clean-table-v122 tbody tr.cash-row-selected td:first-child {
  border-left: 10px solid #93c5fd !important;
}
.cash-clean-table-v122 tbody tr.cash-row-selected .cash-detail-text {
  color: #ffffff !important;
  font-weight: 950 !important;
}
.cash-clean-table-v122 tbody tr.cash-row-selected .cash-detail-text::after {
  background: #93c5fd;
  border-radius: 999px;
  color: #020617;
  content: " seleccionado";
  display: inline-block;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .03em;
  margin-left: 8px;
  padding: 4px 8px;
  text-transform: uppercase;
}
@media (max-width: 760px) {
  .cash-actions-v141 {
    grid-template-columns: 1fr 1fr;
  }
  .cash-selection-hint {
    grid-column: 1 / -1;
  }
}


/* v142: Caja sin leyenda, Editar/Borrar robustos */
.cash-actions-v142 {
  display: flex !important;
  gap: 10px;
  justify-content: flex-end;
  align-items: center;
}
.cash-actions-v142 button {
  min-width: 92px;
}
.cash-selection-hint {
  display: none !important;
}


/* v143: estabilización de botones, rol y caja */
.role-switch-modal .role-helper {
  color: #dbeafe;
  font-weight: 900;
}
.role-switch-modal select,
.role-switch-modal input {
  font-size: 20px;
  font-weight: 900;
}
.cash-actions-v142,
.cash-actions-v141 {
  display: flex !important;
  gap: 10px;
  justify-content: flex-end;
  align-items: center;
}
.cash-selection-hint {
  display: none !important;
}
.cash-clean-table-v122 tbody tr[data-cash-selectable] {
  cursor: pointer !important;
}
.cash-clean-table-v122 tbody tr.cash-row-selected td {
  background: rgba(37, 99, 235, .48) !important;
  border-top: 3px solid rgba(191, 219, 254, .92) !important;
  box-shadow: inset 0 0 0 2px rgba(147, 197, 253, .78) !important;
}
.cash-clean-table-v122 tbody tr.cash-row-selected td:first-child {
  border-left: 10px solid #93c5fd !important;
}


/* v144: rol vuelve a sesión simple */
.role-simple-modal .role-helper {
  color: #dbeafe;
  font-size: 16px;
  font-weight: 900;
}

/* v144: desplegable propio de clientes con letras grandes */
.client-suggestions-list {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  max-height: 260px;
  overflow-y: auto;
}
.client-suggestion-item {
  align-items: center;
  background: rgba(15, 23, 42, .92);
  border: 1px solid rgba(96, 165, 250, .32);
  border-radius: 14px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  padding: 10px 12px;
  text-align: left;
  width: 100%;
}
.client-suggestion-item:hover,
.client-suggestion-item:focus {
  background: rgba(37, 99, 235, .32);
  outline: 2px solid rgba(147, 197, 253, .55);
}
.client-suggestion-item strong {
  color: #ffffff;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.05;
}
.client-suggestion-item span {
  color: #bfdbfe;
  font-size: 18px;
  font-weight: 900;
  overflow-wrap: anywhere;
  text-align: right;
}
@media (max-width: 760px) {
  .client-suggestion-item {
    align-items: flex-start;
    flex-direction: column;
  }
  .client-suggestion-item span {
    text-align: left;
  }
}


/* v145: buscador de cliente con sensación de desplegable real */
.order-client-dropdown-label {
  position: relative;
}
.client-search-wrap {
  position: relative;
}
.client-search-wrap input[data-client-autocomplete] {
  position: relative;
  z-index: 3;
}
.client-suggestions-dropdown {
  background: #071124;
  border: 2px solid rgba(147, 197, 253, .55);
  border-top: 0;
  border-radius: 0 0 18px 18px;
  box-shadow: 0 22px 50px rgba(2, 6, 23, .42);
  display: grid;
  gap: 0;
  left: 0;
  margin-top: -2px;
  max-height: 260px;
  overflow-y: auto;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 40;
}
.client-suggestions-dropdown:empty {
  display: none;
}
.client-suggestions-dropdown .client-suggestion-item {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(148, 163, 184, .20);
  border-radius: 0;
  min-height: 60px;
  padding: 12px 14px;
}
.client-suggestions-dropdown .client-suggestion-item:last-child {
  border-bottom: 0;
}
.client-suggestions-dropdown .client-suggestion-item:hover,
.client-suggestions-dropdown .client-suggestion-item:focus {
  background: rgba(37, 99, 235, .36);
  outline: none;
}
.client-suggestions-dropdown .client-suggestion-item strong {
  font-size: 23px;
}
.client-suggestions-dropdown .client-suggestion-item span {
  font-size: 19px;
}
.order-modal-form .order-new-client-panel {
  margin-top: 8px;
}


/* v146: feedback visual al seleccionar cliente existente */
.client-search-wrap.client-selected-ok input[data-client-autocomplete] {
  background: rgba(37, 99, 235, .22) !important;
  border-color: rgba(147, 197, 253, .85) !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, .24) !important;
}
.client-search-wrap.client-selected-ok::after {
  background: rgba(147, 197, 253, .95);
  border-radius: 999px;
  color: #020617;
  content: "Seleccionado";
  font-size: 12px;
  font-weight: 950;
  padding: 5px 9px;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
}
.client-search-wrap.client-selected-ok input[data-client-autocomplete] {
  padding-right: 130px !important;
}


/* v148: pedidos compactos con detalle desplegable */
.order-card-v148 {
  padding: 16px 18px !important;
}
.order-main-v148 {
  align-items: start;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) minmax(230px, auto);
}
.order-top-right-v148 {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: flex-start;
}
.order-compact-summary {
  align-items: center;
  background: rgba(2, 6, 23, .34);
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 16px;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin: 12px 0 10px;
  padding: 11px 13px;
}
.order-compact-summary strong {
  color: #ffffff;
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 950;
  line-height: 1.05;
}
.order-compact-summary span {
  background: rgba(245, 158, 11, .2);
  border: 1px solid rgba(245, 158, 11, .42);
  border-radius: 999px;
  color: #fde68a;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 950;
  padding: 5px 8px;
}
.order-meta-v148 {
  margin: 8px 0 10px !important;
}
.order-actions-v148 {
  margin-top: 8px !important;
}
.order-actions-v148 button {
  min-height: 48px;
}
.order-detail-toggle {
  margin-top: 10px;
}
.order-detail-toggle summary {
  color: #bfdbfe;
  cursor: pointer;
  font-size: 14px;
  font-weight: 950;
  list-style: none;
  width: fit-content;
}
.order-detail-toggle summary::-webkit-details-marker {
  display: none;
}
.order-detail-toggle summary::after {
  content: " ▾";
}
.order-detail-toggle[open] summary::after {
  content: " ▴";
}
.order-detail-toggle .order-items-list {
  margin-top: 9px;
}
.order-notes-compact {
  margin-top: 8px !important;
}
@media (max-width: 1300px) {
  .order-main-v148 {
    grid-template-columns: minmax(0, 1fr) minmax(210px, 250px) !important;
  }
  .order-top-right-v148 {
    max-width: 250px !important;
  }
}
@media (max-width: 850px) {
  .order-main-v148 {
    grid-template-columns: 1fr !important;
  }
  .order-top-right-v148 {
    align-items: flex-start;
    max-width: 100% !important;
  }
  .order-compact-summary {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* v149: depósitos grandes debajo del ID/nombre y resumen expandible */
.order-card-v149 .order-title-row {
  align-items: baseline;
}
.order-storage-row-v149 {
  margin: 8px 0 4px;
}
.order-storage-inline-v149 {
  font-size: clamp(20px, 2.1vw, 30px) !important;
  padding: 8px 14px !important;
}
.order-detail-toggle-v149 {
  margin: 13px 0 10px !important;
}
.order-detail-toggle-v149 summary {
  align-items: center;
  background: rgba(2, 6, 23, .34);
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 16px;
  cursor: pointer;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  list-style: none;
  min-height: 44px;
  padding: 11px 13px;
}
.order-detail-toggle-v149 summary::-webkit-details-marker {
  display: none;
}
.order-detail-toggle-v149 summary strong {
  color: #ffffff;
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 950;
  line-height: 1.05;
}
.order-detail-toggle-v149 summary span {
  background: rgba(96, 165, 250, .18);
  border: 1px solid rgba(96, 165, 250, .38);
  border-radius: 999px;
  color: #bfdbfe;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 950;
  padding: 6px 9px;
}
.order-detail-toggle-v149 summary span::after {
  content: " ▾";
}
.order-detail-toggle-v149[open] summary span::after {
  content: " ▴";
}
.order-detail-expanded {
  margin-top: 9px;
}
.order-detail-toggle-v149[open] summary {
  border-color: rgba(147, 197, 253, .48);
  box-shadow: 0 0 0 2px rgba(37, 99, 235, .14);
}
@media (max-width: 850px) {
  .order-detail-toggle-v149 summary {
    align-items: flex-start;
    flex-direction: column;
  }
  .order-storage-inline-v149 {
    font-size: 18px !important;
  }
}


/* v150: depósitos y detalle sin celeste fuerte */
.order-storage-row-v150 {
  margin: 8px 0 6px !important;
}
.order-storage-badge-v150 {
  align-items: center;
  background: rgba(255, 255, 255, .055);
  border: 1px solid rgba(255, 255, 255, .18);
  border-left: 5px solid rgba(255, 255, 255, .42);
  border-radius: 12px;
  display: inline-flex;
  gap: 10px;
  padding: 7px 12px;
}
.order-storage-badge-v150 small {
  color: rgba(226, 232, 240, .78);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.order-storage-badge-v150 strong {
  color: #ffffff;
  font-size: clamp(22px, 2.1vw, 31px);
  font-weight: 950;
  line-height: 1;
}
.order-card-v149 .order-storage-inline-v149 {
  background: transparent !important;
  border: 0 !important;
}

/* v150: "Ver detalle" más sobrio, sin pastilla celeste */
.order-detail-toggle-v149 summary {
  background: rgba(2, 6, 23, .28) !important;
  border-color: rgba(255, 255, 255, .16) !important;
}
.order-detail-toggle-v149 summary span {
  background: transparent !important;
  border: 0 !important;
  color: rgba(226, 232, 240, .74) !important;
  font-size: 12px !important;
  padding: 0 !important;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.order-detail-toggle-v149 summary span::after {
  color: rgba(226, 232, 240, .74);
  content: " +" !important;
}
.order-detail-toggle-v149[open] summary span::after {
  content: " -" !important;
}
.order-detail-toggle-v149[open] summary {
  border-color: rgba(255, 255, 255, .24) !important;
  box-shadow: none !important;
}
@media (max-width: 850px) {
  .order-storage-badge-v150 {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
  .order-storage-badge-v150 strong {
    font-size: 21px;
  }
}


/* v152: restaurar Turnos antiguo con agenda, tickets de colores y columna lateral */
#schedule .turnero-final-workspace,
#schedule .turnero-real-workspace,
#schedule .turnero-tonto-workspace,
#schedule .turnero-agenda-card,
#schedule .turnero-timeline-card {
  display: none !important;
}
#schedule .schedule-workspace {
  align-items: start;
  display: grid !important;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  width: 100%;
}
#schedule .schedule-main-board {
  min-width: 0;
}
#schedule .schedule-sidebar,
#schedule .schedule-ticket-column,
#schedule .pending-schedule-tickets,
#schedule .schedule-side-panel {
  min-width: 0;
}
#schedule [draggable="true"] {
  cursor: grab;
}
#schedule [draggable="true"]:active {
  cursor: grabbing;
}
@media (max-width: 1120px) {
  #schedule .schedule-workspace {
    grid-template-columns: 1fr;
  }
}


/* v153: Turnos vuelve al modelo anterior al rollback, con agenda sugerida más legible */
#schedule .turnero-final-workspace {
  display: grid !important;
}
#schedule .turnero-agenda-card {
  display: block !important;
}
#schedule .schedule-workspace {
  display: none !important;
}
#schedule .turnero-agenda-card h3 {
  font-size: 30px !important;
}
#schedule .turnero-agenda-head p {
  font-size: 17px !important;
  line-height: 1.25 !important;
}
#schedule .turnero-agenda-head span {
  font-size: 15px !important;
  padding: 9px 12px !important;
}
#schedule .turnero-agenda-table th {
  font-size: 16px !important;
  padding: 14px !important;
}
#schedule .turnero-agenda-table td {
  font-size: 20px !important;
  padding: 15px 14px !important;
}
#schedule .turnero-agenda-table td strong {
  font-size: 22px !important;
}
#schedule .turnero-agenda-table td small {
  font-size: 15px !important;
  margin-top: 5px !important;
}

/* v153: Pedidos - cliente arriba, número debajo, depósitos junto al nombre */
.order-main-v153 {
  grid-template-columns: minmax(0, 1fr) minmax(230px, auto) !important;
}
.order-title-row-v153 {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 14px !important;
}
.order-client-name-v153 {
  font-size: clamp(34px, 3.3vw, 48px) !important;
  line-height: .96 !important;
}
.order-code-v153 {
  color: rgba(226, 232, 240, .92) !important;
  display: block !important;
  font-size: clamp(22px, 2.1vw, 30px) !important;
  margin: 6px 0 4px !important;
}
.order-storage-row-v153 {
  display: inline-flex !important;
  margin: 0 !important;
}
.order-storage-badge-v153 {
  background: rgba(245, 158, 11, .13) !important;
  border: 1px solid rgba(245, 158, 11, .42) !important;
  border-left: 6px solid rgba(245, 158, 11, .9) !important;
  padding: 8px 13px !important;
}
.order-storage-badge-v153 small {
  color: rgba(253, 230, 138, .84) !important;
}
.order-storage-badge-v153 strong {
  color: #ffffff !important;
  font-size: clamp(24px, 2.35vw, 34px) !important;
}

/* v153: botón rápido Retirado y ticket retirado tipo sello */
.order-actions-v153 {
  align-items: center;
  flex-wrap: wrap;
}
.order-retire-button-v153 {
  min-height: 52px !important;
  font-size: 17px !important;
}
.order-card.retirado {
  opacity: .72;
  filter: saturate(.58);
  position: relative;
}
.order-card.retirado::after {
  border: 5px solid rgba(196, 181, 253, .85);
  border-radius: 14px;
  color: rgba(221, 214, 254, .92);
  content: "RETIRADO";
  font-size: clamp(38px, 6vw, 76px);
  font-weight: 950;
  left: 50%;
  letter-spacing: .08em;
  padding: 10px 22px;
  pointer-events: none;
  position: absolute;
  text-transform: uppercase;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-16deg);
  z-index: 4;
}
.order-card.retirado .order-detail-toggle,
.order-card.retirado .order-meta,
.order-card.retirado .actions {
  opacity: .55;
}

/* v153: Clientes, botón + grande en la posición del botón actual */
.clients-toolbar-v153 {
  align-items: center;
}
.client-plus-button-v153 {
  align-items: center;
  aspect-ratio: 1 / 1;
  border-radius: 20px;
  display: inline-flex;
  font-size: 58px;
  font-weight: 950;
  justify-content: center;
  line-height: .72;
  min-height: 88px;
  min-width: 88px;
  padding: 0 0 7px;
}

/* v153: Nuevo pedido, cliente nuevo menos largo y al costado */
.order-new-client-panel {
  display: flex !important;
  justify-content: flex-end !important;
}
.order-new-client-toggle {
  flex: 0 0 auto !important;
  min-height: 48px !important;
  width: auto !important;
  min-width: 190px !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}
.order-new-client-fields {
  width: 100%;
}
@media (max-width: 900px) {
  .order-main-v153 {
    grid-template-columns: 1fr !important;
  }
  .order-client-name-v153 {
    font-size: 32px !important;
  }
  .order-storage-badge-v153 strong {
    font-size: 23px !important;
  }
  .order-new-client-panel {
    justify-content: stretch !important;
  }
  .order-new-client-toggle {
    width: 100% !important;
  }
}


/* v154: clientes más cómodos y botón + apenas más a la izquierda */
.clients-toolbar-v153 {
  padding-right: 18px !important;
}
.client-plus-button-v153 {
  min-height: 102px !important;
  min-width: 102px !important;
  border-radius: 24px !important;
  font-size: 70px !important;
  margin-right: 18px !important;
}
#clients .filters-row {
  margin-bottom: 20px !important;
}
#clients .client-card-grid {
  gap: 18px !important;
}
#clients .client-card {
  padding: 18px 20px !important;
}
#clients .client-card h3,
#clients .client-card strong {
  font-size: 21px !important;
}
#clients .client-card p,
#clients .client-card small,
#clients .client-card span {
  font-size: 15px !important;
  line-height: 1.25 !important;
}
#clients .client-card .actions button,
#clients .client-card button {
  font-size: 15px !important;
  min-height: 40px !important;
}

/* v154: depósitos más grandes y resaltados en pedidos */
.order-storage-badge-v154 {
  background: linear-gradient(135deg, rgba(245, 158, 11, .22), rgba(251, 191, 36, .08)) !important;
  border: 2px solid rgba(251, 191, 36, .70) !important;
  border-left: 8px solid rgba(251, 191, 36, 1) !important;
  box-shadow: 0 0 0 2px rgba(251, 191, 36, .10), 0 10px 22px rgba(0, 0, 0, .18) !important;
  padding: 10px 15px !important;
}
.order-storage-badge-v154 small {
  color: #fde68a !important;
  font-size: 13px !important;
}
.order-storage-badge-v154 strong {
  color: #ffffff !important;
  font-size: clamp(28px, 2.7vw, 40px) !important;
  text-shadow: 0 2px 0 rgba(0, 0, 0, .25);
}

/* v154: botón retirado rápido separado, grande, no rojo */
.order-top-right-v154 {
  gap: 10px !important;
}
.order-retire-top-v154 {
  background: linear-gradient(135deg, #7c3aed, #4f46e5) !important;
  border: 1px solid rgba(221, 214, 254, .7) !important;
  border-radius: 18px !important;
  color: #ffffff !important;
  cursor: pointer;
  font-size: 18px !important;
  font-weight: 950 !important;
  min-height: 56px !important;
  padding: 0 22px !important;
  box-shadow: 0 10px 22px rgba(79, 70, 229, .22);
}
.order-retire-top-v154:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

/* v154: el botón retirado viejo no se usa más en la fila inferior */
.order-actions-v153 .order-retire-button-v153 {
  display: none !important;
}

/* v154: nuevo pedido, cliente nuevo menos largo y campo de descripción más claro */
.order-new-client-panel {
  justify-content: flex-end !important;
}
.order-new-client-toggle {
  min-width: 165px !important;
  max-width: 190px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}
@media (max-width: 900px) {
  .client-plus-button-v153 {
    min-height: 88px !important;
    min-width: 88px !important;
    font-size: 60px !important;
    margin-right: 4px !important;
  }
  .order-storage-badge-v154 strong {
    font-size: 24px !important;
  }
  .order-retire-top-v154 {
    width: 100%;
  }
}


/* v155: título de Clientes mucho más grande */
#clients .section-card > .toolbar:first-child .eyebrow-dark {
  font-size: 22px !important;
  letter-spacing: .09em !important;
  margin-bottom: 6px !important;
}
#clients .section-card > .toolbar:first-child h2 {
  font-size: clamp(42px, 4.4vw, 64px) !important;
  line-height: .95 !important;
}

/* v155: botón Retirado más vistoso y en bloque propio */
.order-retire-top-v154 {
  display: none !important;
}
.order-retire-main-v155 {
  align-items: center;
  background: linear-gradient(135deg, rgba(124, 58, 237, .92), rgba(14, 165, 233, .78));
  border: 2px solid rgba(221, 214, 254, .76);
  border-radius: 20px;
  box-shadow: 0 12px 26px rgba(79, 70, 229, .28), inset 0 1px 0 rgba(255,255,255,.18);
  color: #ffffff;
  cursor: pointer;
  display: grid;
  gap: 1px 10px;
  grid-template-columns: 42px 1fr;
  margin: 10px 0 12px auto;
  max-width: 300px;
  min-height: 66px;
  padding: 10px 16px;
  text-align: left;
  transition: transform .12s ease, filter .12s ease;
}
.order-retire-main-v155 span {
  font-size: 30px;
  grid-row: span 2;
  text-align: center;
}
.order-retire-main-v155 strong {
  font-size: 22px;
  font-weight: 950;
  line-height: 1;
}
.order-retire-main-v155 small {
  color: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.05;
}
.order-retire-main-v155:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}
.order-card.retirado .order-retire-main-v155 {
  display: none !important;
}
@media (max-width: 900px) {
  .order-retire-main-v155 {
    margin-left: 0;
    max-width: none;
    width: 100%;
  }
  #clients .section-card > .toolbar:first-child h2 {
    font-size: 38px !important;
  }
}


/* v156: carpetas simples para clientes */
.clients-section-v156 #clientFolderTabs {
  margin: 12px 0 16px;
}
.client-folder-tabs-v156 {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.client-folder-tab-v156,
.client-folder-new-v156 {
  background: rgba(15, 23, 42, .76);
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 999px;
  color: #e5e7eb;
  cursor: pointer;
  font-size: 15px;
  font-weight: 900;
  min-height: 42px;
  padding: 0 15px;
}
.client-folder-tab-v156 strong {
  background: rgba(255, 255, 255, .12);
  border-radius: 999px;
  color: #ffffff;
  font-size: 13px;
  margin-left: 6px;
  padding: 3px 8px;
}
.client-folder-tab-v156.active {
  background: linear-gradient(135deg, rgba(37, 99, 235, .95), rgba(14, 165, 233, .78));
  border-color: rgba(191, 219, 254, .8);
  box-shadow: 0 8px 18px rgba(37, 99, 235, .22);
}
.client-folder-new-v156 {
  background: rgba(245, 158, 11, .16);
  border-color: rgba(251, 191, 36, .45);
  color: #fde68a;
}
.client-folder-badge-v156 {
  background: rgba(245, 158, 11, .14);
  border: 1px solid rgba(245, 158, 11, .38);
  border-radius: 999px;
  color: #fde68a;
  display: inline-flex;
  font-size: 13px;
  font-weight: 950;
  margin: 0 0 10px;
  padding: 5px 9px;
}
@media (max-width: 900px) {
  .client-folder-tabs-v156 {
    gap: 8px;
  }
  .client-folder-tab-v156,
  .client-folder-new-v156 {
    font-size: 14px;
    min-height: 40px;
    padding: 0 12px;
  }
}


/* v157: barra inferior de días más grande y visible */
.orders-day-navigation {
  align-items: center !important;
  border: 2px solid rgba(96, 165, 250, .28) !important;
  border-radius: 22px !important;
  display: grid !important;
  grid-template-columns: minmax(190px, auto) 1fr minmax(190px, auto) !important;
  gap: 16px !important;
  margin-top: 20px !important;
  min-height: 86px !important;
  padding: 12px 16px !important;
}
.orders-day-navigation strong {
  color: #ffffff !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  font-weight: 950 !important;
  text-align: center !important;
}
.orders-day-arrow {
  border-radius: 18px !important;
  font-size: 20px !important;
  font-weight: 950 !important;
  min-height: 58px !important;
  padding: 0 24px !important;
}
.orders-day-arrow:not(:disabled) {
  background: linear-gradient(135deg, rgba(37, 99, 235, .88), rgba(30, 64, 175, .86)) !important;
  border-color: rgba(147, 197, 253, .44) !important;
}
.orders-day-arrow:disabled {
  opacity: .55 !important;
}
.business-expense-actions-v157 .mini-button {
  min-height: 36px !important;
  padding: 0 12px !important;
  font-size: 13px !important;
}
@media (max-width: 900px) {
  .orders-day-navigation {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }
  .orders-day-arrow {
    width: 100% !important;
  }
}


/* v158: carpetas de clientes mejoradas, limpias y funcionales */
.clients-section-v158 #clientGroupsPanel {
  margin: 14px 0 16px;
}
.client-groups-panel-v158 {
  align-items: end;
  background: rgba(2, 6, 23, .30);
  border: 1px solid rgba(148, 163, 184, .20);
  border-radius: 20px;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 300px) auto auto;
  padding: 14px;
}
.client-groups-panel-v158 > div strong {
  color: #ffffff;
  display: block;
  font-size: 22px;
  font-weight: 950;
}
.client-groups-panel-v158 > div span {
  color: rgba(226, 232, 240, .72);
  display: block;
  font-size: 14px;
  margin-top: 3px;
}
.client-groups-panel-v158 label {
  color: rgba(226, 232, 240, .8);
  font-size: 13px;
  font-weight: 950;
}
.client-groups-panel-v158 select {
  background: rgba(15, 23, 42, .92);
  border: 1px solid rgba(147, 197, 253, .35);
  border-radius: 14px;
  color: #ffffff;
  display: block;
  font-size: 17px;
  font-weight: 850;
  margin-top: 6px;
  min-height: 48px;
  padding: 0 12px;
  width: 100%;
}
.client-group-new-v158,
.client-group-clear-v158 {
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  min-height: 48px !important;
  padding: 0 16px !important;
}
.client-group-new-v158 {
  background: rgba(245, 158, 11, .18) !important;
  border-color: rgba(251, 191, 36, .45) !important;
  color: #fde68a !important;
}
.client-folder-chip-v158 {
  background: rgba(245, 158, 11, .16);
  border: 1px solid rgba(245, 158, 11, .40);
  border-radius: 999px;
  color: #fde68a;
  display: inline-flex;
  font-size: 13px;
  font-weight: 950;
  margin-bottom: 10px;
  padding: 5px 9px;
}
@media (max-width: 1050px) {
  .client-groups-panel-v158 {
    grid-template-columns: 1fr;
  }
  .client-group-new-v158,
  .client-group-clear-v158 {
    width: 100%;
  }
}


/* v159: carpetas realmente usables desde cada tarjeta */
.client-card-v159 {
  position: relative;
}
.client-folder-chip-v159 {
  margin-bottom: 8px !important;
}
.client-folder-chip-v159.empty {
  background: rgba(148, 163, 184, .12);
  border: 1px solid rgba(148, 163, 184, .26);
  border-radius: 999px;
  color: rgba(226, 232, 240, .72);
  display: inline-flex;
  font-size: 13px;
  font-weight: 950;
  margin-bottom: 8px;
  padding: 5px 9px;
}
.client-folder-mini-control-v159 {
  color: rgba(226, 232, 240, .72);
  display: block;
  font-size: 12px;
  font-weight: 950;
  margin: 8px 0 12px;
}
.client-folder-mini-control-v159 select {
  background: rgba(2, 6, 23, .72);
  border: 1px solid rgba(147, 197, 253, .28);
  border-radius: 12px;
  color: #ffffff;
  display: block;
  font-size: 15px;
  font-weight: 850;
  margin-top: 5px;
  min-height: 38px;
  padding: 0 10px;
  width: 100%;
}
.client-groups-panel-v158 select[data-client-group-filter] {
  cursor: pointer;
}


/* v160: carpetas simples y confiables con botones, sin select roto */
.client-groups-panel-v158,
.client-folder-mini-control-v159 {
  display: none !important;
}
.clients-section-v160 #clientGroupsPanel {
  margin: 14px 0 18px;
}
.client-groups-panel-v160 {
  background: rgba(2, 6, 23, .32);
  border: 1px solid rgba(148, 163, 184, .20);
  border-radius: 22px;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(180px, 260px) 1fr auto;
  padding: 14px;
}
.client-groups-title-v160 strong {
  color: #ffffff;
  display: block;
  font-size: 24px;
  font-weight: 950;
}
.client-groups-title-v160 span {
  color: rgba(226, 232, 240, .70);
  display: block;
  font-size: 14px;
  margin-top: 3px;
}
.client-group-buttons-v160 {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.client-group-button-v160 {
  background: rgba(15, 23, 42, .86);
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 999px;
  color: #e5e7eb;
  cursor: pointer;
  font-size: 15px;
  font-weight: 950;
  min-height: 42px;
  padding: 0 14px;
}
.client-group-button-v160 b {
  background: rgba(255,255,255,.13);
  border-radius: 999px;
  margin-left: 5px;
  padding: 2px 7px;
}
.client-group-button-v160.active {
  background: linear-gradient(135deg, rgba(37, 99, 235, .96), rgba(14, 165, 233, .78));
  border-color: rgba(191, 219, 254, .72);
  box-shadow: 0 9px 20px rgba(37, 99, 235, .24);
}
.client-create-folder-v160 {
  border-radius: 16px !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  min-height: 48px !important;
  padding: 0 18px !important;
}
.client-folder-chip-v160 {
  background: rgba(245, 158, 11, .16);
  border: 1px solid rgba(245, 158, 11, .40);
  border-radius: 999px;
  color: #fde68a;
  display: inline-flex;
  font-size: 13px;
  font-weight: 950;
  margin-bottom: 8px;
  padding: 5px 9px;
}
.client-folder-chip-v160.empty {
  background: rgba(148, 163, 184, .12);
  border-color: rgba(148, 163, 184, .26);
  color: rgba(226, 232, 240, .72);
}
.client-card-v160 .client-actions {
  gap: 8px;
}
@media (max-width: 1050px) {
  .client-groups-panel-v160 {
    grid-template-columns: 1fr;
  }
  .client-create-folder-v160 {
    width: 100%;
  }
}


/* v161: rehacer carpetas limpias y funcionales */
.client-groups-panel-v160,
.client-groups-panel-v158,
.client-folder-mini-control-v159 {
  display: none !important;
}
.clients-section-v161 #clientGroupsPanel {
  margin: 10px 0 16px;
}
.client-folder-strip-v161 {
  align-items: center;
  background: rgba(2, 6, 23, .22);
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
}
.client-folder-strip-v161 > span {
  color: rgba(226, 232, 240, .78);
  font-size: 14px;
  font-weight: 950;
  margin: 0 4px 0 2px;
  text-transform: uppercase;
}
.client-folder-pill-v161,
.client-folder-add-v161 {
  border-radius: 999px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 950;
  min-height: 38px;
  padding: 0 13px;
}
.client-folder-pill-v161 {
  background: rgba(15, 23, 42, .78);
  border: 1px solid rgba(148, 163, 184, .24);
  color: #e5e7eb;
}
.client-folder-pill-v161 b {
  background: rgba(255,255,255,.12);
  border-radius: 999px;
  margin-left: 5px;
  padding: 2px 7px;
}
.client-folder-pill-v161.active {
  background: linear-gradient(135deg, rgba(37, 99, 235, .96), rgba(14, 165, 233, .74));
  border-color: rgba(191, 219, 254, .72);
  box-shadow: 0 8px 18px rgba(37, 99, 235, .22);
}
.client-folder-add-v161 {
  background: rgba(245, 158, 11, .16);
  border: 1px solid rgba(251, 191, 36, .42);
  color: #fde68a;
  margin-left: auto;
}
.client-folder-chip-v161 {
  background: rgba(245, 158, 11, .14);
  border: 1px solid rgba(245, 158, 11, .34);
  border-radius: 999px;
  color: #fde68a;
  display: inline-flex;
  font-size: 13px;
  font-weight: 950;
  margin-bottom: 8px;
  padding: 5px 9px;
}
.client-card-v161 .client-actions {
  gap: 8px;
}
@media (max-width: 900px) {
  .client-folder-strip-v161 {
    align-items: stretch;
    flex-direction: column;
  }
  .client-folder-add-v161 {
    margin-left: 0;
  }
}


/* v162: carpetas de clientes más grandes, prolijas y alineadas */
.client-folder-strip-v161 {
  align-items: center !important;
  background: rgba(2, 6, 23, .34) !important;
  border: 1px solid rgba(148, 163, 184, .22) !important;
  border-radius: 22px !important;
  gap: 12px !important;
  min-height: 70px !important;
  padding: 14px 16px !important;
}
.client-folder-strip-v161 > span {
  color: rgba(226, 232, 240, .88) !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  letter-spacing: .07em !important;
  margin-right: 4px !important;
}
.client-folder-pill-v161 {
  border-radius: 999px !important;
  font-size: 17px !important;
  min-height: 48px !important;
  padding: 0 18px !important;
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
}
.client-folder-pill-v161:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}
.client-folder-pill-v161 b {
  font-size: 14px !important;
  margin-left: 7px !important;
  padding: 3px 9px !important;
}
.client-folder-pill-v161.active {
  border: 2px solid rgba(191, 219, 254, .88) !important;
  box-shadow: 0 10px 24px rgba(37, 99, 235, .30), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.client-folder-add-v161 {
  background: linear-gradient(135deg, rgba(245, 158, 11, .92), rgba(217, 119, 6, .86)) !important;
  border: 2px solid rgba(253, 230, 138, .86) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 22px rgba(245, 158, 11, .22), inset 0 1px 0 rgba(255,255,255,.18) !important;
  color: #111827 !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  min-height: 54px !important;
  padding: 0 22px !important;
}
.client-folder-add-v161:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

/* v162: chip de carpeta dentro de la tarjeta, sin desfasaje ni barra estirada */
.client-card-v161 {
  overflow: hidden !important;
}
.client-folder-chip-v161 {
  align-items: center !important;
  align-self: flex-start !important;
  background: linear-gradient(135deg, rgba(245, 158, 11, .22), rgba(251, 191, 36, .10)) !important;
  border: 1px solid rgba(251, 191, 36, .58) !important;
  border-left: 5px solid rgba(251, 191, 36, .95) !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 14px rgba(0,0,0,.12) !important;
  box-sizing: border-box !important;
  color: #fde68a !important;
  display: inline-flex !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  margin: 0 0 12px 0 !important;
  max-width: 100% !important;
  min-height: 30px !important;
  padding: 6px 12px 6px 10px !important;
  vertical-align: middle !important;
  width: auto !important;
}
.client-card-v161 h3 {
  margin-top: 4px !important;
}

/* v162: que los botones de la tarjeta no parezcan corridos por el chip */
.client-card-v161 .client-actions {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
}
@media (max-width: 900px) {
  .client-folder-strip-v161 {
    align-items: stretch !important;
  }
  .client-folder-pill-v161,
  .client-folder-add-v161 {
    width: 100% !important;
  }
}


/* v163: carpetas más grandes, más limpias y sin cortes raros */
.client-folder-strip-v161 {
  align-items: center !important;
  background: rgba(2, 6, 23, .42) !important;
  border: 2px solid rgba(96, 165, 250, .22) !important;
  border-radius: 24px !important;
  gap: 14px !important;
  min-height: 86px !important;
  padding: 16px 18px !important;
}
.client-folder-strip-v161 > span {
  color: #dbeafe !important;
  font-size: 22px !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
  margin-right: 8px !important;
  text-transform: uppercase !important;
}
.client-folder-pill-v161 {
  background: rgba(15, 23, 42, .92) !important;
  border: 2px solid rgba(148, 163, 184, .34) !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 950 !important;
  min-height: 58px !important;
  padding: 0 24px !important;
}
.client-folder-pill-v161 b {
  background: rgba(255,255,255,.16) !important;
  border-radius: 999px !important;
  font-size: 17px !important;
  margin-left: 10px !important;
  padding: 4px 11px !important;
}
.client-folder-pill-v161.active {
  background: linear-gradient(135deg, #2563eb, #0ea5e9) !important;
  border: 3px solid rgba(219, 234, 254, .92) !important;
  box-shadow: 0 12px 28px rgba(37, 99, 235, .34), inset 0 1px 0 rgba(255,255,255,.22) !important;
  transform: translateY(-1px);
}
.client-folder-add-v161 {
  background: linear-gradient(135deg, #f59e0b, #d97706) !important;
  border: 3px solid rgba(253, 230, 138, .92) !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 30px rgba(245, 158, 11, .26), inset 0 1px 0 rgba(255,255,255,.22) !important;
  color: #111827 !important;
  font-size: 21px !important;
  font-weight: 950 !important;
  min-height: 64px !important;
  padding: 0 28px !important;
  white-space: nowrap !important;
}

/* v163: etiqueta de carpeta dentro de la tarjeta, compacta y bien alineada */
.client-card-v161 {
  overflow: hidden !important;
}
.client-folder-chip-v161 {
  align-items: center !important;
  background: rgba(245, 158, 11, .18) !important;
  border: 2px solid rgba(251, 191, 36, .58) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: #fde68a !important;
  display: inline-flex !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  margin: 0 0 14px 0 !important;
  max-width: calc(100% - 6px) !important;
  min-height: 34px !important;
  padding: 8px 12px !important;
  width: fit-content !important;
}
.client-folder-chip-v161::before {
  content: "";
}
.client-card-v161 h3 {
  clear: both !important;
  margin-top: 0 !important;
}
.client-card-v161 .client-actions button[data-action="openMoveClientGroup"] {
  font-size: 15px !important;
  min-height: 42px !important;
  padding: 0 13px !important;
}
@media (max-width: 900px) {
  .client-folder-strip-v161 {
    align-items: stretch !important;
    flex-direction: column !important;
  }
  .client-folder-pill-v161,
  .client-folder-add-v161 {
    width: 100% !important;
  }
}


/* v164: carpetas corregidas para 1024x768 */
.client-folder-strip-v161 {
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 12px 14px !important;
  min-height: 72px !important;
  gap: 10px !important;
  scrollbar-width: thin;
}
.client-folder-strip-v161 > span {
  flex: 0 0 auto !important;
  font-size: 18px !important;
  margin-right: 2px !important;
}
.client-folder-pill-v161 {
  flex: 0 0 auto !important;
  font-size: 17px !important;
  min-height: 48px !important;
  padding: 0 18px !important;
}
.client-folder-pill-v161 b {
  font-size: 14px !important;
  margin-left: 7px !important;
  padding: 3px 8px !important;
}
.client-folder-add-v161 {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  font-size: 17px !important;
  min-height: 50px !important;
  padding: 0 20px !important;
  white-space: nowrap !important;
}

/* Ajuste puntual para monitores 1024x768: que no baje el botón */
@media (max-width: 1150px) {
  .client-folder-strip-v161 {
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    min-height: 68px !important;
    padding: 10px 12px !important;
  }
  .client-folder-strip-v161 > span {
    font-size: 16px !important;
  }
  .client-folder-pill-v161 {
    font-size: 15px !important;
    min-height: 44px !important;
    padding: 0 14px !important;
  }
  .client-folder-add-v161 {
    font-size: 15px !important;
    min-height: 46px !important;
    padding: 0 16px !important;
  }
}

/* En celulares sí puede apilarse, pero no en 1024 */
@media (max-width: 700px) {
  .client-folder-strip-v161 {
    align-items: stretch !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    overflow-x: visible !important;
  }
  .client-folder-pill-v161,
  .client-folder-add-v161 {
    width: 100% !important;
  }
}


/* v165: editar/borrar carpetas */
.client-folder-strip-v165 {
  padding-right: 12px !important;
}
.client-folder-manage-v165,
.client-folder-delete-v165 {
  border-radius: 16px;
  cursor: pointer;
  flex: 0 0 auto;
  font-size: 15px;
  font-weight: 950;
  min-height: 46px;
  padding: 0 16px;
  white-space: nowrap;
}
.client-folder-manage-v165 {
  background: rgba(96, 165, 250, .16);
  border: 2px solid rgba(147, 197, 253, .45);
  color: #dbeafe;
}
.client-folder-delete-v165 {
  background: rgba(168, 85, 247, .18);
  border: 2px solid rgba(216, 180, 254, .48);
  color: #f3e8ff;
}
.client-folder-manage-v165:hover,
.client-folder-delete-v165:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}
@media (max-width: 1150px) {
  .client-folder-manage-v165,
  .client-folder-delete-v165 {
    font-size: 14px;
    min-height: 42px;
    padding: 0 12px;
  }
}


/* v166: rollback carpetas + exportar PDF clientes */
.client-folder-strip-v161,
.client-folder-strip-v165,
.client-folder-strip-v160,
.client-groups-panel-v158,
.client-groups-panel-v160,
.client-folder-chip-v161,
.client-folder-chip-v160,
.client-folder-mini-control-v159 {
  display: none !important;
}
.clients-toolbar-v166 {
  align-items: center !important;
}
.clients-header-actions-v166 {
  align-items: center;
  display: flex;
  gap: 16px;
}
.clients-export-pdf-v166 {
  background: linear-gradient(135deg, rgba(245, 158, 11, .92), rgba(217, 119, 6, .86)) !important;
  border: 2px solid rgba(253, 230, 138, .82) !important;
  border-radius: 20px !important;
  color: #111827 !important;
  font-size: 20px !important;
  font-weight: 950 !important;
  min-height: 64px !important;
  padding: 0 24px !important;
  white-space: nowrap;
}
.clients-export-pdf-v166:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}
@media (max-width: 900px) {
  .clients-header-actions-v166 {
    align-items: stretch;
    flex-direction: column-reverse;
  }
  .clients-export-pdf-v166,
  .client-plus-button-v153 {
    width: 100% !important;
  }
}


/* v169: imprimir clientes separado del botón + */
.clients-section-v169 .clients-toolbar-v166 {
  align-items: center !important;
}
.clients-print-row-v169 {
  align-items: center;
  display: flex;
  justify-content: flex-start;
  margin: 12px 0 18px;
}
.clients-print-button-v169 {
  border-radius: 18px !important;
  font-size: 18px !important;
  min-height: 54px !important;
  padding: 0 22px !important;
}
@media (max-width: 900px) {
  .clients-print-button-v169 {
    width: 100%;
  }
}


/* v172: letras grandes en modal de cliente */
.client-modal-form-v172 {
  gap: 18px !important;
}
.client-modal-form-v172 label {
  color: #f8fafc !important;
  font-size: 19px !important;
  font-weight: 950 !important;
}
.client-modal-form-v172 input,
.client-modal-form-v172 textarea {
  font-size: 25px !important;
  font-weight: 900 !important;
  min-height: 58px !important;
  padding: 14px 16px !important;
}
.client-modal-form-v172 textarea {
  min-height: 112px !important;
}
.client-modal-form-v172 small {
  color: #dbeafe !important;
  display: block;
  font-size: 15px !important;
  font-weight: 900 !important;
  margin-top: 8px;
}
.client-modal-form-v172 button.primary {
  font-size: 21px !important;
  min-height: 64px !important;
}

/* v172: cartel de seña más claro */
.order-vision-box.payment-deposit-box-v172 {
  background: rgba(202, 138, 4, .98) !important;
  border: 2px solid rgba(254, 240, 138, .9) !important;
  min-width: 300px !important;
  padding: 14px 18px !important;
}
.order-vision-box.payment-deposit-box-v172 small {
  font-size: 13px !important;
  font-weight: 950 !important;
}
.payment-debt-main-v172 {
  color: #fff !important;
  display: block;
  font-size: 32px !important;
  line-height: 1.05 !important;
  white-space: nowrap;
}
.payment-deposit-main-v172 {
  color: #fff7cc !important;
  display: block;
  font-size: 24px !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
  margin-top: 6px;
  white-space: nowrap;
}
@media (max-width: 980px) {
  .order-vision-box.payment-deposit-box-v172 {
    min-width: 240px !important;
    width: fit-content;
  }
  .payment-debt-main-v172 {
    font-size: 27px !important;
  }
  .payment-deposit-main-v172 {
    font-size: 22px !important;
  }
  .client-modal-form-v172 input,
  .client-modal-form-v172 textarea {
    font-size: 22px !important;
  }
}
