/* Scoped visual treatment; existing forms and data remain unchanged. */
.profesionales-container{--pr-bg:#fff;--pr-soft:#f2f7f8;--pr-text:#18343c;--pr-muted:#48616b;--pr-line:#ccdce0;--pr-tint:#e5f5f2;--pr-accent:#006a61;--pr-danger:#a12335;background:var(--pr-bg)!important;color:var(--pr-text)!important;border:1px solid var(--pr-line);border-radius:20px;padding:28px!important;box-shadow:0 10px 32px #123c4810;font-family:inherit}
[data-theme=dark] .profesionales-container{--pr-bg:#15252d;--pr-soft:#1e333d;--pr-text:#f0f7fa;--pr-muted:#c1d3dc;--pr-line:#405d69;--pr-tint:#17433f;--pr-accent:#8ce8d9;--pr-danger:#ffb3be;background:var(--pr-bg)!important}
.container:has(>.profesionales-container){background:transparent!important;padding:24px!important;min-height:0!important}
.profesionales-container *{box-sizing:border-box}
.profesionales-container .profesionales-header{gap:24px;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--pr-line)}
.profesionales-container .profesionales-header h2{color:var(--pr-text)!important;font-size:clamp(22px,2vw,30px);font-weight:750;line-height:1.3;display:flex;align-items:center;gap:14px}
.profesionales-container .profesionales-header h2 svg{color:var(--pr-accent)!important;background:var(--pr-tint);padding:12px;box-sizing:content-box;border-radius:14px;width:24px;height:24px}
.profesionales-container .profesionales-search{gap:12px;flex-wrap:wrap}
.profesionales-container input[type=text]{background:var(--pr-soft)!important;color:var(--pr-text)!important;border:1px solid var(--pr-line)!important;border-radius:12px!important;padding:13px 15px!important;min-height:48px;font-size:16px;line-height:1.4;max-width:100%}
.profesionales-container input::placeholder{color:var(--pr-muted)!important;opacity:1}
.profesionales-container .btn.btn-add{background:#006a61!important;color:#fff!important;border:1px solid #006a61!important;border-radius:12px;padding:13px 20px;min-height:48px;font-size:15px;font-weight:700;cursor:pointer}
.profesionales-container .btn.btn-add:hover{background:#00534c!important}
.profesionales-container :is(button,input,.close):focus-visible{outline:3px solid #19a99a!important;outline-offset:3px}
.profesionales-container .table-container{border:1px solid var(--pr-line);border-radius:14px;overflow:auto;background:var(--pr-bg)!important}
.profesionales-container .table{width:100%;border-collapse:collapse;margin:0;background:var(--pr-bg)!important;color:var(--pr-text)!important}
.profesionales-container .table th{background:var(--pr-soft)!important;color:var(--pr-muted)!important;padding:17px 20px;font-size:13px;font-weight:700;text-align:left;letter-spacing:.04em;border:0!important}
.profesionales-container .table td{background:var(--pr-bg)!important;color:var(--pr-text)!important;padding:22px 20px;line-height:1.65;border:0!important;border-top:1px solid var(--pr-line)!important;vertical-align:middle;font-size:15px}
.profesionales-container .table td:first-child{font-weight:700;min-width:160px}
.profesionales-container .tags-container{color:var(--pr-text)!important;background:var(--pr-tint)!important;border-radius:10px;padding:10px 14px;line-height:1.7}
.profesionales-container .table td:last-child{white-space:nowrap;width:130px}
.profesionales-container :is(.editar,.eliminar){display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:3px;border:1px solid var(--pr-line)!important;border-radius:12px!important;background:var(--pr-soft)!important;color:var(--pr-accent)!important;cursor:pointer;padding:10px!important}
.profesionales-container .eliminar{color:var(--pr-danger)!important}
.profesionales-container :is(.editar,.eliminar) svg{color:inherit!important;width:19px;height:19px}
.profesionales-container .modal{position:fixed!important;inset:0!important;z-index:10000!important;background:rgba(5,16,23,.72)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important;backdrop-filter:blur(5px);overflow:auto}
.profesionales-container .modal .modal-content{position:relative;margin:auto!important;width:100%!important;max-width:720px!important;height:auto!important;min-height:0!important;max-height:calc(100dvh - 40px)!important;overflow-y:auto!important;padding:32px!important;background:var(--pr-bg)!important;color:var(--pr-text)!important;border:1px solid var(--pr-line)!important;border-radius:22px!important;box-shadow:0 24px 90px #0006}
.profesionales-container .modal h3{color:var(--pr-text)!important;font-size:26px;font-weight:750;line-height:1.3;margin:0 44px 28px 0!important}
.profesionales-container .modal .close{position:absolute;right:20px;top:20px;display:flex;align-items:center;justify-content:center;background:var(--pr-soft)!important;color:var(--pr-text)!important;border:1px solid var(--pr-line);border-radius:50%;width:38px;height:38px;font-size:28px;line-height:1;cursor:pointer;float:none}
.profesionales-container .form-profesional{display:flex;flex-direction:column;gap:24px}
.profesionales-container .form-group{display:flex;flex-direction:column;gap:10px;margin:0}
.profesionales-container .form-group>label{font-size:14px;font-weight:700;color:var(--pr-muted)!important}
.profesionales-container .form-group input[type=text]{width:100%}
.profesionales-container .categorias-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:transparent!important;border:0;padding:0;max-height:320px;overflow-y:auto}
.profesionales-container .categoria-checkbox{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--pr-line);background:var(--pr-soft)!important;border-radius:12px;min-height:80px}
.profesionales-container .categoria-checkbox:has(input:checked){background:var(--pr-tint)!important;border-color:var(--pr-accent)}
.profesionales-container .categoria-checkbox label{color:var(--pr-text)!important;font-size:15px!important;line-height:1.5;font-weight:500;cursor:pointer;flex:1}
.profesionales-container input[type=checkbox]{accent-color:#00796d;width:20px;height:20px;flex:0 0 20px;margin:0;cursor:pointer}
.profesionales-container .form-profesional>button{margin-top:4px;width:100%}
.profesionales-container .p-aviso{background:var(--pr-soft)!important;color:var(--pr-muted)!important}
/* Header controls use explicit foregrounds in both themes. */
header nav .estadoRestaurante{background:#e5f4f4!important;color:#07585b!important;border:1px solid #b5dadd;border-radius:999px;min-height:42px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer}
header nav .estadoRestaurante :is(span,svg){color:#07585b!important;font-weight:750}
header nav .cartIcon{background:#e5f4f4!important;color:#07585b!important;border:1px solid #b5dadd!important;border-radius:50%!important;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px!important}
header nav .cartIcon svg{color:#07585b!important;width:21px;height:21px}
@media(max-width:640px){.container:has(>.profesionales-container){padding:12px!important}.profesionales-container{padding:18px!important;border-radius:16px}.profesionales-container .profesionales-header{gap:18px}.profesionales-container .profesionales-search{width:100%;flex-direction:column;align-items:stretch}.profesionales-container .table{min-width:0!important}.profesionales-container .table thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.profesionales-container .table :is(tbody,tr,td){display:block;width:100%!important;white-space:normal!important}.profesionales-container .table td{padding:12px 16px;border:0!important}.profesionales-container .table td:first-child{font-size:19px;padding-top:20px}.profesionales-container .table td:last-child{padding-bottom:18px}.profesionales-container .table tbody tr+tr{border-top:1px solid var(--pr-line)}.profesionales-container .modal{padding:12px!important}.profesionales-container .modal .modal-content{padding:24px 20px!important;max-height:calc(100dvh - 24px)!important}.profesionales-container .modal h3{font-size:23px}.profesionales-container .categorias-grid{grid-template-columns:1fr;max-height:38dvh}.profesionales-container .categoria-checkbox{min-height:64px;padding:12px}.profesionales-container .form-profesional{gap:20px}header nav .estadoRestaurante{padding:8px 11px;gap:6px}header nav .estadoRestaurante span{font-size:12px!important}}

.overlay-horarios{z-index:11000!important;background:rgba(5,16,23,.7)!important;backdrop-filter:blur(4px)}
.modal-horarios{background:#fff!important;color:#18343c!important;max-height:calc(100dvh - 32px)!important;border-radius:18px!important;overflow:auto!important}
.modal-horarios .headerHorarios{background:#006a61!important;color:#fff!important}
.modal-horarios .headerHorarios :is(h3,svg,button){color:#fff!important}
.modal-horarios .horariosLista{background:#fff!important;padding:16px!important;gap:8px}
.modal-horarios .horarioItem{background:#f2f7f8!important;color:#18343c!important;border:1px solid #ccdce0;border-radius:12px;padding:12px 14px!important;opacity:1!important}
.modal-horarios .horarioItem :is(.horarioDiaLabel,.horarioHoras,span){color:#18343c!important}
.modal-horarios .horarioItem.diaActual{background:#e5f5f2!important;border-color:#006a61!important}
.modal-horarios .horarioItem .badge{background:#006a61!important;color:#fff!important}
[data-theme=dark] .modal-horarios,[data-theme=dark] .modal-horarios .horariosLista{background:#15252d!important;color:#f0f7fa!important}
[data-theme=dark] .modal-horarios .horarioItem{background:#1e333d!important;border-color:#405d69!important}
[data-theme=dark] .modal-horarios .horarioItem.diaActual{background:#17433f!important;border-color:#8ce8d9!important}
[data-theme=dark] .modal-horarios .horarioItem :is(.horarioDiaLabel,.horarioHoras,span){color:#f0f7fa!important}
