/* Respaldo, capa complementaria de original.css.
   Todos los controles primarios utilizan las clases Tailwind originales
   recuperadas del HTML de Liniers. NO reemplazar tokens, tipografías ni
   utilidades globales por un segundo design system. */
:root {color-scheme:light}
html,body {margin:0;min-height:100%;background:var(--background);color:var(--foreground);font-family:Inter,Arial,sans-serif}
button,input,select,textarea {font:inherit}
button {cursor:pointer}
button:disabled {opacity:.45;cursor:not-allowed}
[hidden] {display:none!important}
#app,.salon-layout {min-height:100dvh}
.salon-layout {display:flex;flex-direction:column}
.salon-layout>main {width:100%;padding-bottom:104px}
.salon-layout>main.salon-wide {max-width:1080px}
.salon-top svg {width:23px;height:23px}
.salon-bottomnav {position:sticky;bottom:0;margin-top:auto;min-height:56px;width:100%;z-index:40;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.salon-navitem {background:var(--background);border:0;min-height:56px;color:var(--muted-foreground);font-size:13px;letter-spacing:.01em;font-weight:500}
.salon-navitem.current {color:var(--brand-deep);font-weight:650;box-shadow:inset 0 2px 0 var(--brand)}
.salon-navitem:focus-visible {outline:2px solid var(--brand)}
.salon-empty {color:var(--muted-foreground);font-size:14px;padding:22px 15px;border:1px dashed var(--border);border-radius:var(--radius-card-mobile)}
.salon-field,.salon-fieldset {min-width:0}
.salon-fieldset {border:0;padding:0}
.salon-fieldset legend {padding:0}
.salon-options>label {position:relative;min-width:0}
.salon-options:has(input[name="source"])>label {width:auto}
.salon-choices.two {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.salon-choices.two .salon-choice {font-size:13px;line-height:1.25;min-width:0;min-height:44px}
.salon-choice {min-width:0;transition:background .15s,border-color .15s;cursor:pointer}
.salon-choice:has(input:checked),.salon-choice.is-checked {background:var(--selected);border-color:var(--brand);font-weight:550}
.salon-choice input:focus-visible+.salon-choice-indicator,
.salon-choice input:focus-visible+.salon-choice-circle {outline:2px solid var(--brand);outline-offset:2px}
.salon-choice-indicator svg {visibility:hidden}
.salon-choice:has(input:checked) .salon-choice-indicator,
.salon-choice:has(input:checked) .salon-choice-circle {background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.salon-choice:has(input:checked) .salon-choice-indicator svg {visibility:visible}
.salon-choice-circle {width:22px;height:22px;min-width:22px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:transparent;font-size:13px}
.salon-visit-list {display:grid;gap:8px;list-style:none;margin:0;padding:0}
.salon-visit {width:100%;min-height:78px;display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card-mobile);padding:14px;text-align:left;color:var(--foreground);transition:background .15s}
.salon-visit:hover,.salon-visit:active {background:var(--pressed)}
.salon-visit-details {flex:1;min-width:0;display:grid;gap:3px}
.salon-visit-details strong {font-size:16px;font-weight:580}
.salon-visit-details small {color:var(--muted-foreground);font-size:13px;line-height:1.5}
.salon-avatar {width:46px;height:46px;min-width:46px;border-radius:999px;display:grid;place-items:center;background:var(--id-red-tint,#ffefed);color:var(--id-red-text,#b71b14);font-size:16px;font-weight:600}
.salon-chevron {font-size:24px;color:var(--muted-foreground)}
.salon-intro {margin-bottom:20px}
.salon-intro h1 {margin:0 0 7px}
.salon-intro p {margin:0 0 8px}
.salon-meta {font-size:13px;color:var(--muted-foreground);line-height:1.5}
.salon-back {color:var(--muted-foreground);background:transparent;border:0;min-height:44px;padding:9px 0;text-align:left;display:inline-flex;align-items:center;gap:9px;font-size:15px}
.salon-back:hover {color:var(--foreground)}
.salon-form {display:grid;gap:28px}
.salon-sticky-save {position:sticky;bottom:54px;background:var(--background);z-index:20;box-shadow:0 -12px 12px -8px var(--background);border-top:1px solid var(--border-row);padding:14px 0 calc(12px + env(safe-area-inset-bottom))}
.salon-sticky-save p {font-size:13px;color:var(--muted-foreground);line-height:1.5;margin:0 0 12px}
.salon-primary {background:var(--brand-deep);color:var(--on-brand);border:0;border-radius:var(--radius-field-mobile,14px);padding:12px 16px;min-height:52px;width:100%;font-size:16px;font-weight:600;box-shadow:var(--shadow-lift)}
.salon-primary:hover {background:var(--brand-press)}
.salon-button {min-height:44px;display:inline-flex;justify-content:center;align-items:center;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-field-mobile,14px);font-size:14px;background:var(--surface);font-weight:550}
.salon-button.link,.salon-button.text {border:0;background:transparent;color:var(--muted-foreground)}
.salon-button.outline {color:var(--brand-deep)}
.salon-questions>fieldset {min-width:0}
.salon-test-actions {display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:flex-end;padding:14px 0;border-top:1px solid var(--border-row)}
.salon-test-actions button[type="submit"] {flex:1;min-width:190px;width:auto}
.salon-total {border:1px solid var(--border);background:var(--selected);border-radius:var(--radius-card);padding:20px;display:grid;gap:12px}
.salon-location-tabs {display:flex;flex-wrap:wrap;gap:7px}
.salon-location-tab {border:1px solid var(--border);border-radius:var(--radius-field-mobile);padding:7px 14px;min-height:38px;font-size:13px;background:var(--surface)}
.salon-location-tab.is-active {color:var(--on-brand);background:var(--brand-deep);border-color:var(--brand-deep)}
.salon-location-group {padding:12px 0}
.salon-location-group h3 {font-size:15px;font-weight:580;margin-bottom:10px}
.salon-location-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.salon-location {display:flex;gap:8px;align-items:center;font-size:13px;padding:10px;min-height:43px;border:1px solid var(--border);border-radius:var(--radius-field-mobile);background:var(--surface)}
.salon-location:has(input:checked) {background:var(--selected);border-color:var(--brand)}
.salon-location input {accent-color:var(--brand);flex-shrink:0;width:16px;height:16px}
.salon-stats {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 30px}
.salon-stats>div {border:1px solid var(--border);border-radius:var(--radius-card-mobile);padding:20px;display:grid;gap:9px;background:var(--surface)}
.salon-stats strong {font-size:32px;font-weight:650}
.salon-stats small {font-size:13px;color:var(--muted-foreground)}
.salon-admin {max-width:920px;margin:0 auto}
.salon-admin h1 {font-size:30px;font-weight:600}
.admin-section {padding:26px 0;border-top:1px solid var(--border);display:grid;gap:16px}
.admin-section h2 {font-size:21px;font-weight:600}
.admin-section p {font-size:14px;line-height:1.6;color:var(--muted-foreground)}
.salon-staff-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.salon-staff-row {display:grid;gap:10px;border:1px solid var(--border);border-radius:var(--radius-card-mobile);padding:16px;background:var(--surface)}
.salon-staff-row .salon-field {display:grid;gap:6px}
.salon-staff-row .salon-input {min-height:42px}
.salon-toggle {display:flex;align-items:center;gap:8px;font-size:14px}
.salon-toggle input {accent-color:var(--brand)}
.salon-input {width:100%;min-height:50px;padding:11px 15px;border:1px solid var(--border);border-radius:var(--radius-field-mobile);background:var(--surface);outline:none}
.salon-input:focus {border-color:var(--brand)}
.salon-search-tools {display:flex;flex-wrap:wrap;gap:10px}
.salon-search-tools input {flex:1 1 240px}
.salon-details {border-bottom:1px solid var(--border);padding:14px 0}
.salon-details summary {font-weight:580;cursor:pointer}
.salon-details dl {display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:14px;overflow-wrap:anywhere}
.salon-details dt {color:var(--muted-foreground)}
.salon-details dd {margin:0}
.salon-convert-yes,.salon-convert-no {min-height:65px}
.salon-convert-yes {color:var(--good-text);background:var(--good-tint);border-color:var(--good)}
.salon-convert-no {color:var(--bad-text);background:var(--bad-tint);border-color:var(--bad)}
.salon-counters {display:flex;flex-wrap:wrap;gap:10px}
.salon-counters>span {display:grid;gap:3px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-card);flex:1}
.salon-counters strong {font-size:21px}
.salon-list-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px}
.salon-list-heading h2 {font-size:19px;font-weight:600}
.salon-page {max-width:550px;margin:25px auto;padding:30px 16px}
.salon-content {display:grid;gap:16px}
.salon-wordmark {font-size:23px}
.salon-wordmark span {font-size:14px;color:var(--muted-foreground)}
.notice {position:fixed;z-index:999;bottom:18px;right:18px;max-width:350px;padding:15px;border-radius:var(--radius-card);background:var(--foreground);color:var(--on-brand);font-size:14px;box-shadow:var(--shadow-lift)}
.notice.success {background:var(--good-text)}
@media (min-width:1024px) {
 .salon-wide .salon-questions {grid-template-columns:repeat(2,minmax(0,1fr))}
 .salon-test-actions button[type="submit"] {max-width:430px}
}
@media (max-width:520px) {
 .salon-test-actions button[type="submit"] {flex-basis:100%}
 .salon-location-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .salon-stats>div {padding:13px}
 .salon-admin .salon-stats strong {font-size:26px}
}


/* Utilidades de composición adicionales para vistas que no existían en Next. */
.salon-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.salon-questions .salon-field {width:100%}
.salon-advisor-list {max-height:390px;overflow-y:auto;overscroll-behavior:contain;padding:2px;gap:7px}
.salon-advisor-list .salon-choice {font-size:13px;line-height:1.25;min-height:44px}
.salon-choices.two .salon-choice>span:last-child {overflow-wrap:anywhere}
.salon-field .salon-label {font-size:13px;color:var(--muted-foreground)}
.salon-test>form {margin-top:12px}
.salon-staff-list input[type=checkbox] {width:17px;height:17px}
.salon-search input[type=search]::-webkit-search-cancel-button {cursor:pointer}
.salon-location-group:not(:first-child) {border-top:1px solid var(--border-row)}
.salon-test-actions .salon-button {white-space:nowrap}
@media (max-width:440px){
 .salon-grid {grid-template-columns:1fr}
 .salon-test-actions .salon-button {flex:1}
 .salon-questions .salon-options {gap:7px}
}

.salon-contact-correction {padding:18px;border:1px solid var(--border);border-radius:var(--radius-card-mobile);background:var(--surface);display:grid;gap:14px}
.salon-contact-correction[hidden] {display:none}
.salon-contact-actions {display:flex;gap:8px;flex-wrap:wrap}
.salon-contact-actions .salon-primary {width:auto;flex:1}
@media(max-width:440px){.salon-contact-actions .salon-primary {flex-basis:100%}}
