/* Registro de venta: formulario dentro del modal canónico de Pro. */
.sv-backdrop--replace,.sv-backdrop--replace .sv-modal { animation:none; }
.sv-modal { max-width:520px;padding:0;gap:0;overflow:hidden; }
.sv-modal *, .sv-modal *::before, .sv-modal *::after { box-sizing:border-box; }
.sv-modal .am-head { flex:none;align-items:flex-start;gap:12px;padding:24px 24px 0; }
.sv-modal .am-badge { display:none; }
.sv-modal .am-title { font-size:16px;font-weight:600;line-height:1.4; }
.sv-modal .qv-close-button {margin-top:-4px;}
.sv-content { display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden;color:var(--ink);font:400 14px/1.5 Inter,sans-serif; }
.sv-body { display:flex;flex-direction:column;gap:20px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px; }
.sv-fieldset { padding:0;border:0;margin:0;min-width:0; }
.sv-fieldset>legend, .sv-label { display:block;margin:0 0 8px;font-size:13px;font-weight:500;line-height:20px;color:var(--ink); }
.sv-optional { color:var(--mut);font-size:12px;font-weight:400;margin-left:4px; }
.sv-isapres { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px; }
.sv-isapre { appearance:none;position:relative;display:flex;align-items:center;justify-content:center;min-height:52px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer; }
.sv-isapre:hover { background:var(--bg); }
.sv-isapre[aria-pressed="true"] { border-color:var(--brand);background:var(--brand-50); }
.sv-isapre img, .sv-locked img { display:block;object-fit:contain;width:76px;max-width:100%;height:24px; }
.sv-isapre .sv-check { position:absolute;right:8px;top:8px;width:12px;height:12px;color:var(--brand);opacity:0; }
.sv-check svg { display:block;width:12px;height:12px; }
.sv-isapre[aria-pressed="true"] .sv-check { opacity:1; }
.sv-locked { display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg); }
.sv-locked>span { flex:1;color:var(--mut);font-size:12px;line-height:18px; }
.sv-locked>svg { width:16px;height:16px;flex:none;color:var(--mut); }
.sv-fields { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.sv-label-row { display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;margin-bottom:8px; }
.sv-label-row .sv-label { margin:0; }
.sv-field { display:flex;align-items:center;gap:8px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:0 12px; }
.sv-field:focus-within { border-color:var(--brand);outline:2px solid var(--brand-50);outline-offset:1px; }
.sv-field input { width:100%;min-width:0;padding:10px 0;border:0;outline:0;background:transparent;color:var(--ink);font:400 14px/22px Inter,sans-serif;font-variant-numeric:tabular-nums; }
.sv-field select { width:100%;min-width:0;min-height:44px;padding:10px 0;border:0;outline:0;background:transparent;color:var(--ink);font:400 14px/22px Inter,sans-serif;text-overflow:ellipsis; }
.sv-field--select { display:flex;padding:0;border:0; }
.sv-field--select .ac-trigger { width:100%;min-height:44px;font-size:14px;font-weight:400;line-height:22px; }
.sv-field input::placeholder { color:var(--mut); }
.sv-field--uf input { font-size:20px;font-weight:600; }
.sv-unit, .sv-hint { color:var(--mut);font-size:12px;line-height:18px; }
.sv-hint { margin:6px 0 0; }
.sv-field--date { padding-right:0; }
.sv-calendar { appearance:none;display:grid;place-items:center;flex:none;align-self:stretch;width:40px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--mut);cursor:pointer; }
.sv-calendar svg { width:16px;height:16px; }
.sv-calendar:hover { color:var(--brand);background:var(--bg); }
.sv-quick-dates { display:flex;flex:none;gap:4px; }
.sv-button { appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:7px 12px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);color:#52637b;font:500 13px/20px Inter,sans-serif;cursor:pointer; }
.sv-button:hover { background:var(--bg); }
.sv-button[aria-pressed="true"] { background:var(--brand-50);border-color:transparent;color:var(--brand); }
.sv-button--primary, .sv-button--primary:hover { background:var(--brand);border-color:var(--brand);color:var(--card); }
.sv-button:disabled { opacity:.5;cursor:default; }
.sv-button svg { width:16px;height:16px;flex:none; }
.sv-quick-dates .sv-button { position:relative;isolation:isolate;min-height:28px;padding:4px 8px;border:0;background:transparent;font-size:12px;line-height:18px; }
.sv-quick-dates .sv-button::before { content:"";position:absolute;z-index:-1;left:0;right:0;top:50%;height:24px;transform:translateY(-50%);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);pointer-events:none; }
.sv-quick-dates .sv-button:hover::before { background:var(--bg); }
.sv-quick-dates .sv-button[aria-pressed="true"]::before { border-color:transparent;background:var(--brand-50); }
.sv-modal :is(button,input,select):focus-visible { outline:2px solid var(--brand);outline-offset:2px; }
.sv-field :is(input,select):focus-visible { outline:0; }
.sv-modal input[aria-invalid="true"] { color:var(--err); }
.sv-plan-wrap { position:relative; }
.sv-plan-drop { margin-top:8px;border:1px solid var(--line);border-radius:10px;max-height:200px;overflow-y:auto;overscroll-behavior:contain;background:var(--card); }
.sv-plan-drop[hidden], .sv-spinner[hidden] { display:none!important; }
.sv-plan-opt { appearance:none;display:flex;flex-direction:column;gap:4px;width:100%;min-height:56px;padding:10px 12px;text-align:left;border:0;border-top:1px solid var(--line);background:transparent;font:400 14px/20px Inter,sans-serif;color:var(--ink);cursor:pointer; }
.sv-plan-opt:first-child { border-top:0; }
.sv-plan-opt:hover { background:var(--bg); }
.sv-plan-opt strong { font-weight:500;overflow-wrap:anywhere; }
.sv-plan-opt span, .sv-plan-more { font-size:12px;line-height:18px;color:var(--mut); }
.sv-plan-more { padding:10px 12px;border-top:1px solid var(--line); }
.sv-error { margin:0;color:var(--err);font-size:13px;line-height:20px; }
.sv-error:empty { display:none; }
.sv-case-note { margin:0;color:var(--mut);font-size:12px;line-height:18px; }
.sv-actions { flex:none;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 24px;background:var(--card);border-top:1px solid var(--line); }
.sv-back { margin-right:auto;border-color:transparent;background:transparent;padding-inline:0; }
.sv-back:hover { background:transparent;color:var(--brand); }
@media(max-width:360px) {
 .sv-actions:has(.sv-back) { flex-wrap:wrap; }
 .sv-actions .sv-back { flex-basis:100%;justify-content:flex-start;margin-right:0; }
}
.sv-save-text { display:inline-flex;align-items:center;gap:8px; }
.sv-modal [aria-busy="true"] .sv-save-text { display:none; }
.sv-modal .dp-pop { box-shadow:none; }
@media(max-width:540px) {
 .sv-backdrop { padding:16px; }
 .sv-modal { max-height:calc(100dvh - 32px); }
 .sv-modal .am-head { padding:20px 20px 0; }
 .sv-body { gap:16px;padding:16px 20px; }
 .sv-isapres { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sv-fields { grid-template-columns:1fr;gap:16px; }
 .sv-actions { padding:12px 20px; }
}
@media(max-width:700px),(pointer:coarse) {
 .sv-button, .sv-calendar { min-height:44px; }
 .sv-quick-dates .sv-button { min-height:44px; }
 .sv-calendar { width:44px; }
 .sv-field input, .sv-field--uf input, .sv-field select { font-size:16px; }
 .sv-field--select .ac-trigger { font-size:16px; }
}
@media(min-width:541px) and (pointer:coarse), (min-width:541px) and (max-width:700px) {
 .sv-label-row { min-height:44px; }
}
@media(forced-colors:active) { .sv-isapre[aria-pressed="true"] { outline:2px solid Highlight; } }

/* Celebración original de venta: cubre la ventana, sin interceptar acciones. */
.sv-confetti { position:fixed;inset:0;pointer-events:none;z-index:9800;overflow:hidden; }
.sv-confetti-piece { position:absolute;top:-24px;border-radius:1px;opacity:0;animation-name:sv-confetti-fall;animation-timing-function:cubic-bezier(.25,.6,.45,1);animation-fill-mode:forwards; }
@keyframes sv-confetti-fall {
 0% { transform:translate(0,-24px) rotate(0deg);opacity:0; }
 8% { opacity:1; }
 100% { transform:translate(var(--drift,0),102vh) rotate(var(--rot,360deg));opacity:1; }
}
@media(prefers-reduced-motion:reduce) { .sv-confetti { display:none; } }
