﻿:root {
  --mat-client-v95-background:#f8fafc;
  --mat-client-v95-surface:#fff;
  --mat-client-v95-text:#1f2937;
  --mat-client-v95-muted:#6b7280;
  --mat-client-v95-accent:#1ca9cf;
  --mat-client-v95-accent-text:#fff;
  --mat-client-v95-input-background:#f8fafc;
  --mat-client-v95-input-text:#1f2937;
  --mat-client-v95-border:#e5e7eb;
  --mat-client-v95-disabled-background:#f3f4f6;
  --mat-client-v95-disabled-text:#9ca3af;
  --mat-client-v95-success-background:#ecfdf5;
  --mat-client-v95-success-text:#065f46;
  --mat-client-v95-font:system-ui,sans-serif;
  --mat-client-v95-scale:1;
}

#section-cliente {
  background:var(--mat-client-v95-surface)!important;
  border-color:var(--mat-client-v95-border)!important;
  color:var(--mat-client-v95-text)!important;
  font-family:var(--mat-client-v95-font)!important;
  font-size:calc(1rem * var(--mat-client-v95-scale));
}
body:has(#section-cliente:not(.hidden)) { background:var(--mat-client-v95-background)!important; }
#section-cliente *, #section-cliente input, #section-cliente select, #section-cliente textarea, #section-cliente button { font-family:var(--mat-client-v95-font)!important; }
#section-cliente h2, #section-cliente .text-blueAccent { color:var(--mat-client-v95-accent)!important; }
#section-cliente .text-textDark, #section-cliente label { color:var(--mat-client-v95-text)!important; }
#section-cliente .text-textMuted, #section-cliente p { color:var(--mat-client-v95-muted)!important; }
#section-cliente input, #section-cliente select, #section-cliente textarea, #section-cliente .bg-gray-50 {
  background:var(--mat-client-v95-input-background)!important;
  color:var(--mat-client-v95-input-text)!important;
  border-color:var(--mat-client-v95-border)!important;
}
#section-cliente .btn-hora-slot:not(:disabled), #section-cliente .matilde-turno-slot:not(:disabled) {
  background:var(--mat-client-v95-surface)!important;
  color:var(--mat-client-v95-text)!important;
  border-color:var(--mat-client-v95-border)!important;
  box-shadow:none!important;
  filter:none!important;
}
#section-cliente .btn-hora-slot.matilde-v39-hour-selected,
#section-cliente .matilde-turno-slot.matilde-v39-hour-selected,
#section-cliente .btn-hora-slot.bg-blueAccent,
#section-cliente .matilde-turno-slot.bg-blueAccent {
  background:var(--mat-client-v95-accent)!important;
  color:var(--mat-client-v95-accent-text)!important;
  border-color:var(--mat-client-v95-accent)!important;
  box-shadow:none!important;
  filter:none!important;
  opacity:1!important;
}
#section-cliente .btn-hora-slot.matilde-v39-hour-selected::before,
#section-cliente .btn-hora-slot.matilde-v39-hour-selected::after { display:none!important; content:none!important; }
#section-cliente button:disabled, #section-cliente .matilde-turno-slot:disabled {
  background:var(--mat-client-v95-disabled-background)!important;
  color:var(--mat-client-v95-disabled-text)!important;
  border-color:var(--mat-client-v95-border)!important;
}
#btn-solicitar, #btn-client-shift-almuerzo.bg-blueAccent, #btn-client-shift-cena.bg-blueAccent {
  background:var(--mat-client-v95-accent)!important;
  color:var(--mat-client-v95-accent-text)!important;
  box-shadow:none!important;
}
.matilde-client-restaurant-name { color:var(--mat-client-v95-text);font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:3px; }
.matilde-client-custom-logo { display:block;width:70px;height:70px;object-fit:contain;margin:0 auto 9px;border-radius:0;border:0;background:transparent;box-shadow:none; }
.matilde-client-custom-logo[hidden] { display:none!important; }

#mobile-map-base { width:560px!important;height:760px!important; }
body.matilde-v37-table-edit-mode #tablet-map-base,
body.matilde-v40-table-editing #tablet-map-base,
body.matilde-v43-table-editing #tablet-map-base,
body.matilde-v37-table-edit-mode #mobile-map-base,
body.matilde-v40-table-editing #mobile-map-base,
body.matilde-v43-table-editing #mobile-map-base { touch-action:none!important; }
.matilde-v95-map-dragging {
  transition:none!important;
  will-change:transform;
  z-index:999!important;
  touch-action:none!important;
  cursor:grabbing!important;
  box-shadow:none!important;
}
.matilde-v95-map-dragging > * { pointer-events:none!important; }
.matilde-v95-performance #tablet-map-viewport,
.matilde-v95-performance #tablet-map-base,
.matilde-v95-performance #mobile-map-stage,
.matilde-v95-performance #mobile-map-base,
.matilde-v95-performance #sala-canvas-container { contain:layout paint; }
body:is(.matilde-v37-table-edit-mode,.matilde-v40-table-editing,.matilde-v43-table-editing) #tablet-map-base {
  transition:none!important;
  transform-origin:top left!important;
}

.matilde-v95-room-web { margin-left:auto;margin-right:6px;border:1px solid #86efac;background:#ecfdf5;color:#047857;border-radius:8px;padding:5px 8px;font-size:9px;font-weight:900;white-space:nowrap; }
.matilde-v95-room-web.is-blocked { border-color:#fca5a5;background:#fef2f2;color:#b91c1c; }

body.matilde-v102-web-drawer-open { overflow:hidden!important; }
#matilde-v102-web-availability { position:fixed;inset:0;z-index:190000;display:none; }
#matilde-v102-web-availability.is-open { display:block; }
.matilde-v102-web-shade { position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(2,6,23,.68);backdrop-filter:blur(3px); }
.matilde-v102-web-drawer { position:absolute;top:0;right:0;width:min(470px,94vw);height:100dvh;display:flex;flex-direction:column;background:var(--mat-surface,#fff);color:var(--mat-text,#1f2937);border-left:1px solid var(--mat-border,#e5e7eb);box-shadow:-18px 0 55px rgba(0,0,0,.3);transform:translateX(102%);transition:transform .2s ease; }
#matilde-v102-web-availability.is-open .matilde-v102-web-drawer { transform:translateX(0); }
.matilde-v102-web-drawer header { display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--mat-border,#e5e7eb); }
.matilde-v102-web-drawer header h3 { margin:0;font-size:19px;font-weight:900; }
.matilde-v102-web-drawer header p { margin:5px 0 0;color:var(--mat-muted,#64748b);font-size:11px;line-height:1.45; }
.matilde-v102-web-drawer header > button { flex:0 0 40px;height:40px;border:1px solid var(--mat-border,#e5e7eb);border-radius:10px;background:var(--mat-card,var(--mat-surface,#fff));color:var(--mat-text,#1f2937); }
.matilde-v102-web-room-list { flex:1;overflow:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:9px; }
.matilde-v102-web-room { position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid #86efac;border-radius:13px;background:#ecfdf5;color:#065f46;cursor:pointer; }
.matilde-v102-web-room.is-blocked { border-color:#94a3b8;background:#334155;color:#f8fafc; }
.matilde-v102-web-room input { position:absolute;opacity:0;pointer-events:none; }
.matilde-v102-web-tick { width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#16a34a;color:#fff; }
.matilde-v102-web-room.is-blocked .matilde-v102-web-tick { background:#0f172a; }
.matilde-v102-web-room-copy { min-width:0;display:flex;flex-direction:column;gap:3px; }
.matilde-v102-web-room-copy strong { overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:900; }
.matilde-v102-web-room-copy small { font-size:9px;opacity:.82; }
.matilde-v102-web-state { padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.65);font-size:9px;font-weight:900; }
.matilde-v102-web-room.is-blocked .matilde-v102-web-state { background:rgba(15,23,42,.65); }
.matilde-v102-web-empty { display:flex;min-height:220px;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:var(--mat-muted,#64748b); }
.matilde-v102-web-empty i { font-size:28px; }
.matilde-v102-web-empty strong { color:var(--mat-text,#1f2937); }
.matilde-v102-web-status { min-height:36px;margin:0;padding:8px 18px;color:var(--mat-muted,#64748b);font-size:10px;border-top:1px solid var(--mat-border,#e5e7eb); }
.matilde-v102-web-drawer footer { display:flex;gap:9px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--mat-border,#e5e7eb); }
.matilde-v102-web-drawer footer button { flex:1;border:1px solid var(--mat-border,#e5e7eb);border-radius:11px;padding:12px;background:var(--mat-card,var(--mat-surface,#fff));color:var(--mat-text,#1f2937);font-size:10px;font-weight:900; }
.matilde-v102-web-drawer footer button.primary { flex:1.5;background:var(--mat-accent,#f6c945);border-color:var(--mat-accent,#f6c945);color:var(--mat-accent-text,#111827); }
.matilde-v102-web-drawer footer button:disabled { opacity:.55;cursor:wait; }
.matilde-v102-web-entry > div,.matilde-v102-web-config-entry > div { display:flex;flex-direction:column;gap:3px;text-align:left; }
.matilde-v102-web-config-entry { width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--mat-border,#e5e7eb);background:var(--mat-surface,#fff);color:var(--mat-text,#1f2937);border-radius:12px;padding:12px;text-align:left; }
.matilde-v102-web-entry strong,.matilde-v102-web-config-entry strong { font-size:12px;font-weight:900; }
.matilde-v102-web-entry span,.matilde-v102-web-config-entry span { color:var(--mat-muted,#64748b);font-size:9px; }

/* Una mesa cerrada solamente para el motor web sigue operativa en consola,
   pero debe reconocerse de inmediato en todos los planos de gestión. */
#sala-canvas-container .matilde-web-blocked-v95,
#tablet-map-base .matilde-web-blocked-v95,
#mobile-map-base .matilde-web-blocked-v95,
#mobile-table-list .matilde-web-blocked-v95 {
  position:absolute;
  background:#4b5563!important;
  background-image:none!important;
  border-color:#1f2937!important;
  color:#f9fafb!important;
  box-shadow:0 8px 18px rgba(15,23,42,.28),inset 0 0 0 1px rgba(255,255,255,.12)!important;
  filter:none!important;
  animation:none!important;
  transition:none!important;
}
#mobile-table-list .matilde-web-blocked-v95 {
  position:relative;
}
html body #section-tablet #tablet-map-base .tablet-table.matilde-web-blocked-v95,
html body #mobile-map-base .mobile-table.matilde-web-blocked-v95,
html body #sala-canvas-container > .matilde-web-blocked-v95,
html body #mobile-table-list .mobile-table-row.matilde-web-blocked-v95 {
  background:#4b5563!important;
  background-color:#4b5563!important;
  background-image:none!important;
  border-color:#1f2937!important;
  color:#f9fafb!important;
  box-shadow:0 8px 18px rgba(15,23,42,.28),inset 0 0 0 1px rgba(255,255,255,.12)!important;
  filter:none!important;
  animation:none!important;
  transition:none!important;
}
.matilde-web-blocked-v95 > *:not(.matilde-web-blocked-badge-v95),
.matilde-web-blocked-v95 .tablet-table-id,
.matilde-web-blocked-v95 .tablet-table-icon,
.matilde-web-blocked-v95 .tablet-table-meta,
.matilde-web-blocked-v95 .mobile-table-id,
.matilde-web-blocked-v95 .mobile-table-cap {
  color:#f9fafb!important;
  opacity:1!important;
}
.matilde-web-blocked-v95 > .mobile-table-lock { display:none!important; }
.matilde-web-blocked-badge-v95 {
  position:absolute!important;
  z-index:45!important;
  top:-9px!important;
  right:-9px!important;
  min-width:30px;
  height:22px;
  padding:0 6px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:4px;
  border:2px solid #f9fafb!important;
  border-radius:999px!important;
  background:#111827!important;
  color:#fff!important;
  font-size:8px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.02em;
  box-shadow:0 4px 10px rgba(0,0,0,.35)!important;
  pointer-events:none!important;
}
.matilde-web-blocked-badge-v95 i { color:#fff!important;font-size:9px!important; }
#mobile-map-base .matilde-web-blocked-badge-v95 span,
#sala-canvas-container .matilde-web-blocked-badge-v95 span { display:none; }
#mobile-table-list .matilde-web-blocked-badge-v95 { top:50%!important;right:8px!important;transform:translateY(-50%); }

.matilde-v95-client-editor-entry { width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--mat-border);background:var(--mat-surface);color:var(--mat-text);border-radius:12px;padding:12px;margin:12px 0;text-align:left; }
.matilde-v95-client-editor-entry div { display:flex;flex-direction:column;gap:3px; }
.matilde-v95-client-editor-entry strong { font-size:12px; }
.matilde-v95-client-editor-entry span { font-size:9px;color:var(--mat-muted); }

#matilde-v95-client-editor { position:fixed;inset:0;z-index:100500;background:rgba(15,23,42,.68);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:16px; }
#matilde-v95-client-editor.is-open { display:flex; }
.matilde-v95-client-editor-card { width:min(820px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--mat-surface);color:var(--mat-text);border:1px solid var(--mat-border);border-radius:18px;box-shadow:0 25px 70px rgba(0,0,0,.32); }
.matilde-v95-client-editor-head { position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:16px;padding:18px;background:var(--mat-surface);border-bottom:1px solid var(--mat-border); }
.matilde-v95-client-editor-head h3 { margin:0;font-size:20px;font-weight:900; }
.matilde-v95-client-editor-head p { margin:4px 0 0;color:var(--mat-muted);font-size:10px; }
.matilde-v95-client-editor-head button { width:38px;height:38px;border:1px solid var(--mat-border);border-radius:10px; }
.matilde-v95-client-editor-body { padding:18px; }
.matilde-v95-client-text-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.matilde-v95-client-text-grid label { display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:800; }
.matilde-v95-client-text-grid label.wide { grid-column:1/-1; }
.matilde-v95-client-text-grid input,.matilde-v95-client-text-grid textarea,.matilde-v95-client-text-grid select { width:100%;border:1px solid var(--mat-border);border-radius:10px;background:var(--mat-card);color:var(--mat-text);padding:10px;font-size:12px; }
.matilde-v95-client-editor-body h4 { margin:18px 0 9px;font-size:12px;font-weight:900; }
.matilde-v95-client-colours { display:grid;grid-template-columns:1fr 1fr;gap:8px 12px; }
.matilde-v95-client-colour-row { display:grid;grid-template-columns:1fr 42px 90px;align-items:center;gap:7px;border:1px solid var(--mat-border);border-radius:10px;padding:8px;font-size:10px;font-weight:800; }
.matilde-v95-client-colour-row input[type=color] { width:42px;height:34px;border:0;background:transparent;padding:0; }
.matilde-v95-client-colour-row input[type=text] { width:90px;border:1px solid var(--mat-border);border-radius:8px;background:var(--mat-card);color:var(--mat-text);padding:8px 6px;font:700 10px monospace; }
.matilde-v95-client-status { min-height:30px;padding:0 18px;color:var(--mat-muted);font-size:10px; }
.matilde-v95-client-actions { position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;background:var(--mat-surface);border-top:1px solid var(--mat-border); }
.matilde-v95-client-actions button { border:1px solid var(--mat-border);border-radius:10px;padding:10px 12px;font-size:10px;font-weight:900;color:var(--mat-text); }
.matilde-v95-client-actions button.primary { background:var(--mat-accent);border-color:var(--mat-accent);color:var(--mat-accent-text); }
@media (max-width:640px) {
  .matilde-v95-client-text-grid,.matilde-v95-client-colours { grid-template-columns:1fr; }
  .matilde-v95-client-colour-row { grid-template-columns:1fr 42px 86px; }
  .matilde-v95-client-actions { flex-wrap:wrap; }
  .matilde-v95-client-actions button.primary { width:100%;order:-1; }
  .matilde-v95-room-web { font-size:0;padding:7px 9px; }
  .matilde-v95-room-web i { font-size:11px; }
}
