:root {
  --plur-red: #e21b2d;
  --plur-soft: #fff1f2;
  --plur-edge: #e5e7ec;
  --plur-muted: #606977;
  --r: 16px;
}
body[data-experience] { background: #f5f6f8; color: #202630; }
html:has(body[data-experience="logistics"]) { scroll-padding-top: 90px; }
.plur-icon { flex: 0 0 auto; vertical-align: middle; }
body[data-experience] button, body[data-experience] .btn {
  transition: background-color 160ms, border-color 160ms, box-shadow 160ms, transform 160ms;
}
body[data-experience] :is(input, select, textarea) {
  transition: border-color 160ms, box-shadow 160ms;
}
body[data-experience] :is(input, select, textarea):focus {
  border-color: var(--plur-red);
  box-shadow: 0 0 0 3px rgb(226 27 45 / 8%);
}
body[data-experience] button:active:not(:disabled) { transform: translateY(1px); }
body[data-experience] button:disabled { cursor: wait; }
body[data-experience="logistics"] { margin: 0; padding-inline: clamp(12px, 2.4vw, 42px); }
body[data-experience="logistics"] header.top { border-bottom: 0; padding-block: 22px 12px; }
body[data-experience="logistics"] header.top h1 { font-size: 1.65rem; letter-spacing: -.04em; }
body[data-experience="logistics"] header.top h1 span { font-weight: 500; letter-spacing: -.025em; }
body[data-experience="logistics"] .sync { border: 1px solid var(--plur-edge); background: white; border-radius: 999px; padding: 7px 12px; }
body[data-experience="logistics"] nav.tabs { padding-block: 10px 16px; gap: 6px; }
body[data-experience="logistics"] nav.tabs button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; border-radius: 12px; padding-inline: 12px; }
body[data-experience="logistics"] nav.tabs button[aria-current="true"] { box-shadow: 0 4px 12px rgb(226 27 45 / 15%); }
body[data-experience="logistics"] :is(.card, .stop, .agenda-day) { border-color: var(--plur-edge); box-shadow: 0 3px 10px rgb(20 28 44 / 3%); }
body[data-experience="logistics"] .card { padding: 18px; }
body[data-experience="logistics"] .card .card { box-shadow: none; background: #fafbfc; }
body[data-experience="logistics"] .stop { padding: 16px; }
body[data-experience="logistics"] :is(.btn, button[type=submit]) { min-height: 44px; border-radius: 11px; }
body[data-experience="logistics"] label.f { color: #596272; gap: 6px; }
body[data-experience="logistics"] label.f :is(input, select, textarea) { background: #fff; border-radius: 10px; min-height: 44px; }
body[data-experience="logistics"] :is(.note, .quiet, .meta dt) { color: var(--plur-muted); }
body[data-experience="logistics"] .summary div { background: #fafbfc; border-color: #edf0f3; border-radius: 12px; }
body[data-experience="logistics"] .summary dt { color: var(--plur-muted); font-size: .69rem; }
body[data-experience="logistics"] .summary dd { letter-spacing: -.03em; }
body[data-experience="logistics"] details > summary { cursor: pointer; padding-block: 12px; font-weight: 650; }
body[data-experience="logistics"] .badge { border-radius: 999px; background: #f0f2f5; color: #515b6a; }
.view-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin: 4px 0 20px; }
.view-heading p { margin: 5px 0 0; color: var(--plur-muted); }
.eyebrow { display: block; color: var(--plur-red); font-size: .68rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 5px; }
.sales-tools { display: flex; align-items: end; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 16px; }
.sales-search { flex: 1 1 260px; max-width: 470px; }
.sales-filters { display: flex; flex-wrap: wrap; gap: 7px; }
.sales-filters .btn[aria-pressed="true"] { background: var(--plur-soft); border-color: #f2b3bc; color: #ab1021; }
.sales-count { margin-block: 0 12px; color: var(--plur-muted); font-size: .82rem; }
.sales-card h3 { font-size: 1.12rem; }
.sales-card .sale-actions { margin-top: auto; }
.sale-owner { display: flex; align-items: flex-start; gap: 11px; padding: 13px; background: #f8f9fb; border: 1px solid #eceef2; border-radius: 12px; min-width: 0; }
.sale-owner > div:last-child { min-width: 0; }
.sale-owner strong { display: block; font-size: .88rem; overflow-wrap: anywhere; }
.sale-owner p { margin: 4px 0 0; font-size: .8rem; color: var(--plur-muted); overflow-wrap: anywhere; }
.sale-owner .owner-actor { font-size: .73rem; margin-top: 7px; }
.sale-owner.unassigned { background: #fffbf1; border-color: #f1e2b9; }
.avatar { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border-radius: 11px; font-weight: 750; font-size: .8rem; color: #ab1021; background: #ffe6e9; }
.seller-assignment { margin: 14px 0; }
.seller-assignment > summary { color: #b61424; }
.seller-assignment .card { margin-top: 8px; }
.seller-assignment [hidden] { display: none; }
.assignment-note { padding: 12px; background: var(--plur-soft); border-radius: 10px; margin: 0; }
.team-layout { display: grid; gap: 18px; align-items: start; }
.team-intro { margin-bottom: 20px; }
.member-heading { display: flex; align-items: center; gap: 10px; }
.member-heading > div { min-width: 0; flex: 1; }
.member-heading strong { overflow-wrap: anywhere; }
.member-heading small { display: block; color: var(--plur-muted); font-size: .76rem; margin-top: 3px; }
.member-state { padding: 5px 8px; background: #edf7f1; border-radius: 999px; color: #246341; font-size: .68rem; font-weight: 700; }
.member-state.inactive { color: #6c5b35; background: #fff7e5; }
.member-card p { margin: 0; overflow-wrap: anywhere; }
.member-card .row { margin-top: 5px; }
.deleted-members { grid-column: 1 / -1; border-top: 1px solid var(--plur-edge); padding-top: 12px; }
.deleted-members .list { margin-top: 12px; }
.timeline > div { border-left: 2px solid #f3c4ca; padding-left: 15px; }
.timeline .assignment-history { padding: 10px; border-radius: 10px; background: #f8f9fb; font-size: .82rem; }
#notification:not([hidden]) { position: fixed; bottom: 24px; right: 20px; z-index: 45; display: flex; align-items: center; gap: 14px; max-width: min(520px, calc(100vw - 32px)); background: #fff; border: 1px solid #c5ddce; border-left: 4px solid #2a8051; border-radius: 13px; box-shadow: 0 10px 35px rgb(22 32 48 / 14%); padding: 14px; }
#notification.error { border-color: #efc0c5; border-left-color: var(--plur-red); }
#notification .toast-close { border: 0; background: transparent; min-width: 36px; min-height: 36px; font-size: 1.2rem; cursor: pointer; }
.plur-confirm { width: min(470px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); overflow: auto; border: 1px solid var(--plur-edge); border-radius: 22px; padding: 26px; color: #202630; background: white; box-shadow: 0 24px 80px rgb(20 26 42 / 20%); }
.plur-confirm::backdrop { background: rgb(25 29 39 / 42%); }
.plur-confirm h2 { font-size: 1.3rem; margin: 16px 0 10px; line-height: 1.25; overflow-wrap: anywhere; }
.plur-confirm p { color: var(--plur-muted); line-height: 1.6; white-space: pre-line; }
.dialog-mark { width: 44px; height: 44px; display: grid; place-items: center; background: var(--plur-soft); color: #bc1627; border-radius: 14px; font-size: 1.3rem; font-weight: 700; }
.dialog-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 22px; }
.dialog-actions .btn { min-height: 44px; }
.btn.danger-solid { color: white; background: #c41829; border-color: #c41829; }
body[data-experience="quote"] .topbar { box-shadow: 0 3px 14px rgb(20 28 44 / 3%); }
body[data-experience="quote"] .quote-seller { border-color: var(--plur-edge); border-radius: 14px; margin: 0 clamp(12px, 2vw, 28px) 14px; padding: 14px 18px; }
body[data-experience="quote"] .start-screen { position: relative; overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 8px 30px rgb(20 28 44 / 4%); }
.sales-card[hidden], #sales-empty[hidden] { display: none; }
.start-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 17px; background: var(--plur-soft); color: var(--plur-red); margin-bottom: 18px; }
.start-icon .plur-icon { width: 29px; height: 29px; }
.start-screen .start-icon { margin-bottom: 0; }
.quote-steps { display: grid; width: 100%; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 14px 0 0; padding: 0; list-style: none; text-align: left; }
.quote-steps li { padding: 15px; border: 1px solid #eceef2; border-radius: 14px; background: #fafbfc; }
.quote-steps b { font-size: .76rem; color: #b61424; display: block; margin-bottom: 7px; }
.quote-steps strong { display: block; font-size: .87rem; color: #202630; }
.quote-steps span { display: block; margin-top: 4px; font-size: .76rem; line-height: 1.5; color: var(--plur-muted); }
body[data-experience="quote"] .sale-panel { border-radius: 20px; box-shadow: 0 5px 20px rgb(20 28 44 / 4%); }
.sale-success .start-icon { margin-inline: auto; background: #edf8f1; color: #237443; }
body[data-experience="logistics"] header.top { flex-wrap: nowrap; align-items: center; padding-block: 12px 4px; gap: 8px; }
body[data-experience="logistics"] header.top h1 { min-width: 0; font-size: clamp(.82rem, 2.5vw, 1.1rem); letter-spacing: -.015em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#session { flex: 0 0 auto; }
#pending:empty { display: none; }
body[data-experience="logistics"] nav.tabs, body[data-experience="quote"] .workspace-nav { display: flex; flex-wrap: nowrap; gap: 5px; overflow-x: auto; scrollbar-width: thin; overscroll-behavior-x: contain; }
body[data-experience="logistics"] nav.tabs > *, body[data-experience="quote"] .workspace-nav > * { flex: 0 0 auto; white-space: nowrap; min-height: 44px; text-decoration: none; }
body[data-experience="logistics"] nav.tabs button[data-tab=nuevo] { margin-inline-start: 0; }
body[data-experience="logistics"] nav.tabs .nav-secondary { display: inline-flex; align-items: center; padding: 8px 10px; font-size: .78rem; color: #626b76; background: #eceef1; border: 1px solid #e2e5e9; border-radius: 11px; }
body[data-experience="quote"] .workspace-nav { max-width: 100%; justify-content: flex-start; }
body[data-experience="quote"] .workspace-nav > * { display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 11px; font-size: .85rem; border: 1px solid #e2e5e9; background: white; color: #525c69; }
body[data-experience="quote"] .workspace-nav [aria-current="true"] { background: var(--plur-red); color: white; border-color: var(--plur-red); }
.record-details { min-width: 0; }
.record-details > summary { color: #4c5665; line-height: 1.45; }
.record-details[open] > summary { margin-bottom: 10px; border-bottom: 1px solid var(--plur-edge); }
.record-details .meta { padding-block: 8px; }
.pickup-progress { margin: 0; font-size: .8rem; color: #635e55; font-weight: 600; }
.pickup-editor { grid-column: 1 / -1; width: 100%; min-width: 0; }
.stop:has(.pickup-editor) { grid-column: 1 / -1; }
.pickup-pieces { display: grid; gap: 12px; margin-bottom: 12px; }
.pickup-piece { border: 1px solid var(--plur-edge); border-radius: 14px; padding: 14px; background: white; min-width: 0; }
.pickup-piece-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.pickup-piece-head small { flex: 1; color: var(--plur-muted); }
.pickup-numbers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pickup-numbers label { font-size: .8rem; min-width: 0; }
.pickup-numbers input { width: 100%; }
.piece-codes { font-size: .76rem; font-variant-numeric: tabular-nums; color: #4b5563; overflow-wrap: anywhere; }
.pickup-total { background: #fff1f2; color: #9f1928; padding: 14px; border-radius: 12px; font-weight: 650; }
.pickup-actions { padding-top: 16px; }
.box-piece > div { min-width: 0; }
@media (min-width: 1000px) {
  body[data-experience="logistics"] nav.tabs button { font-size: .77rem; gap: 4px; padding-inline: 8px; }
  body[data-experience="logistics"] nav.tabs .plur-icon { width: 16px; height: 16px; }
  .pickup-pieces { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
}
@media (max-width: 480px) {
  .pickup-editor.card, .pickup-piece { padding: 12px; }
  .pickup-numbers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pickup-numbers > :last-child { grid-column: 1 / -1; }
  .pickup-actions .btn { width: 100%; }
  .box-piece > div:last-child { width: 100%; }
}
@media (hover: hover) {
  body[data-experience] :is(.btn, .primary-action, .secondary-action):hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 3px 8px rgb(20 28 44 / 8%); }
  body[data-experience="logistics"] nav.tabs button:not([aria-current="true"]):hover { background: #fff1f2; border-color: #f3c4ca; }
}
@media (min-width: 1000px) {
  .quote-seller .seller-picker { display: grid; grid-template-columns: minmax(320px, 520px) 1fr; align-items: center; gap: 24px; }
  .quote-seller .seller-picker label { display: grid; grid-template-columns: auto minmax(180px, 1fr); align-items: center; gap: 16px; }
  .team-layout { grid-template-columns: minmax(320px, .85fr) minmax(0, 1.45fr); }
  .team-layout > .list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  body[data-experience="logistics"] main[data-view="equipo"] { display: block; }
}
@media (max-width: 620px) {
  .view-heading { margin-bottom: 16px; }
  .sales-search { max-width: none; flex-basis: 100%; }
  .sales-filters { gap: 5px; }
  .sales-filters .btn { font-size: .77rem; padding-inline: 10px; }
  .sale-actions .btn { flex: 1; }
  .quote-steps { grid-template-columns: 1fr; gap: 8px; margin-block: 18px; }
  .quote-steps li { display: grid; grid-template-columns: 24px 1fr; gap: 2px 9px; padding: 11px; }
  .quote-steps b { grid-row: span 2; margin: 2px 0 0; }
  .quote-steps span { margin-top: 0; }
  .plur-confirm { padding: 22px; }
  .dialog-actions .btn { flex: 1; }
  #notification:not([hidden]) { bottom: max(16px, env(safe-area-inset-bottom)); right: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-experience] *, body[data-experience] *::before, body[data-experience] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
