/* Visitas a Sucursales: superficie aislada que adopta los tokens y patrones de Tareas 360. */
#appShell.visits360-shell {
  --visits360-primary: var(--tasks360-color-primary, #005f86);
  --visits360-primary-soft: var(--tasks360-color-primary-soft, rgba(0, 95, 134, .1));
  --visits360-surface: var(--tasks360-color-surface, #fff);
  --visits360-surface-muted: var(--tasks360-color-surface-muted, #f8fbfd);
  --visits360-text: var(--tasks360-color-text, #1e293b);
  --visits360-text-strong: var(--tasks360-color-text-strong, #0f172a);
  --visits360-text-muted: var(--tasks360-color-text-muted, #64748b);
  --visits360-border: var(--tasks360-color-border, rgba(0, 95, 134, .18));
  --visits360-border-strong: var(--tasks360-color-border-strong, rgba(0, 95, 134, .36));
  --visits360-danger: var(--tasks360-color-danger, #b42318);
  --visits360-success: var(--tasks360-color-success, #15803d);
  --visits360-warning: var(--tasks360-color-warning, #b45309);
  --visits360-shadow: var(--tasks360-shadow-card, 0 10px 24px rgba(15, 23, 42, .08));
  --visits360-sheet-shadow: var(--tasks360-shadow-sheet, 0 8px 24px rgba(15, 23, 42, .12));
  --visits360-radius: var(--tasks360-radius-lg, 16px);
  --visits360-control-height: var(--tasks360-control-height, 44px);
  color: var(--visits360-text);
  max-width: none;
  padding: 16px;
}

#appShell.visits360-shell .visits360-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 0;
  gap: 16px;
  min-height: calc(100dvh - 32px);
}

#appShell.visits360-shell .visits360-workspace,
#appShell.visits360-shell .visits360-detail {
  min-height: 0;
  border: 1px solid var(--visits360-border);
  border-radius: var(--visits360-radius);
  background: var(--visits360-surface);
  box-shadow: var(--visits360-shadow);
}

#appShell.visits360-shell .visits360-nav {
  display: flex;
  min-height: 56px;
  align-items: center;
  gap: 8px;
  margin: 0 16px 12px;
  padding: 8px;
  border: 1px solid var(--visits360-border);
  border-radius: 12px;
  background: var(--visits360-surface-muted);
}

#appShell.visits360-shell .visits360-nav-head,
#appShell.visits360-shell .visits360-detail-head,
#appShell.visits360-shell .back-menu-bar,
#appShell.visits360-shell .visits-header-grid {
  display: flex;
  align-items: center;
  gap: 12px;
}

#appShell.visits360-shell .visits360-nav-head { justify-content: space-between; }
#appShell.visits360-shell .visits360-eyebrow { margin: 0 0 3px; color: var(--visits360-primary); font-size: 11px; font-weight: 800; letter-spacing: .09em; }
#appShell.visits360-shell .visits360-nav-head strong,
#appShell.visits360-shell .visits360-detail-head strong { color: var(--visits360-text-strong); font-size: 16px; }

#appShell.visits360-shell .visits360-icon-button {
  display: inline-grid;
  width: 44px;
  min-height: 44px;
  place-items: center;
  border: 1px solid var(--visits360-border);
  border-radius: 10px;
  background: var(--visits360-surface);
  color: var(--visits360-primary);
  font-size: 21px;
  line-height: 1;
}
#appShell.visits360-shell .visits360-nav-head,
#appShell.visits360-shell .visits360-nav-footer { display: none; }
#appShell.visits360-shell #visits360NavClose { display: none; }

#appShell.visits360-shell .visits360-nav-list { display: flex; flex: 1; flex-wrap: wrap; gap: 6px; }
#appShell.visits360-shell .visits360-nav-list .tab-btn {
  display: flex;
  width: auto;
  min-height: 38px;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--visits360-border);
  border-left: 1px solid var(--visits360-border);
  border-radius: 9px;
  background: var(--visits360-surface);
  color: var(--visits360-text);
  font-weight: 700;
  text-align: center;
}
#appShell.visits360-shell .visits360-nav-list .tab-btn:hover,
#appShell.visits360-shell .visits360-nav-list .tab-btn:focus-visible,
#appShell.visits360-shell .visits360-nav-list .tab-btn.active {
  border-color: var(--visits360-primary);
  background: var(--visits360-primary-soft);
  color: var(--visits360-text-strong);
}
#appShell.visits360-shell .visits360-nav-footer { gap: 8px; margin-top: auto; color: var(--visits360-text-muted); }
#appShell.visits360-shell .visits360-nav-footer small { line-height: 1.45; }

#appShell.visits360-shell .visits360-workspace { display: flex; flex-direction: column; overflow: hidden; }
#appShell.visits360-shell .back-menu-bar { min-height: 58px; margin: 0; padding: 8px 16px; border-bottom: 1px solid var(--visits360-border); background: var(--visits360-surface-muted); }
#appShell.visits360-shell #visits360NavToggle { display: none; }
#appShell.visits360-shell .back-menu-bar #btnVolverMenu { min-height: 40px; border: 0; background: transparent; color: var(--visits360-primary); font-weight: 700; }

#appShell.visits360-shell .visits-header-grid {
  display: grid;
  grid-template-columns: minmax(250px, 1fr) repeat(4, minmax(112px, .32fr));
  gap: 12px;
  margin: 0;
  padding: 12px 16px;
  border-bottom: 1px solid var(--visits360-border);
  background: var(--visits360-surface);
}
#appShell.visits360-shell .visits-header-grid > .card,
#appShell.visits360-shell .visits360-main .card,
#appShell.visits360-shell .tab-panel > .card,
#appShell.visits360-shell .tab-panel .card {
  border: 1px solid var(--visits360-border);
  border-radius: var(--visits360-radius);
  background: var(--visits360-surface);
  box-shadow: none;
}
#appShell.visits360-shell .visits-title-card { padding: 2px 0; border: 0 !important; }
#appShell.visits360-shell .visits-title-card h1 { margin: 0; color: var(--visits360-text-strong); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.15; }
#appShell.visits360-shell .visits-title-card p { margin: 6px 0 0; color: var(--visits360-text-muted); }
#appShell.visits360-shell .status-strip { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
#appShell.visits360-shell .status-strip span,
#appShell.visits360-shell .visits360-save-indicator {
  display: inline-flex;
  min-height: 23px;
  align-items: center;
  border-radius: 999px;
  background: var(--visits360-primary-soft);
  color: var(--visits360-primary);
  font-size: 11px;
  font-weight: 800;
  padding: 3px 8px;
}
#appShell.visits360-shell .visits360-save-indicator.is-pending { background: #fef3c7; color: var(--visits360-warning); }
#appShell.visits360-shell .visits360-save-indicator.is-error { background: #fee4e2; color: var(--visits360-danger); }
#appShell.visits360-shell .visits360-save-indicator.is-synced { background: #dcfce7; color: var(--visits360-success); }
#appShell.visits360-shell .visits-kpi-card { display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: 9px; row-gap: 0; align-content: center; min-height: 62px; padding: 8px 12px; }
#appShell.visits360-shell .visits-kpi-icon { color: var(--visits360-primary); }
#appShell.visits360-shell .visits-kpi-card .visits-kpi-icon { grid-row: 1 / span 2; }
#appShell.visits360-shell .visits-kpi-label { color: var(--visits360-text-muted); font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
#appShell.visits360-shell .visits-kpi-value { color: var(--visits360-text-strong); font-size: 23px; line-height: 1.05; }

#appShell.visits360-shell main { min-height: 0; overflow: auto; padding: 0 16px 16px; }
#appShell.visits360-shell .tab-panel { margin: 0; }
#appShell.visits360-shell .tab-panel > * + * { margin-top: 16px; }
#appShell.visits360-shell .toolbar,
#appShell.visits360-shell .join-row { gap: 10px; }
#appShell.visits360-shell button:not(.tab-btn):not(.visits360-icon-button) { min-height: var(--visits360-control-height); border-radius: 10px; }
#appShell.visits360-shell input,
#appShell.visits360-shell select,
#appShell.visits360-shell textarea {
  min-height: var(--visits360-control-height);
  border-color: var(--visits360-border);
  border-radius: 10px;
  color: var(--visits360-text);
}
#appShell.visits360-shell textarea { min-height: 112px; }
#appShell.visits360-shell input:focus,
#appShell.visits360-shell select:focus,
#appShell.visits360-shell textarea:focus { border-color: var(--visits360-primary); box-shadow: 0 0 0 3px var(--visits360-primary-soft); outline: 0; }

#appShell.visits360-shell .grid-main { display: grid; grid-template-columns: 1fr; gap: 16px; }
#appShell.visits360-shell .acta-controls-panel { position: static; }
#appShell.visits360-shell .visits360-relevamiento-list-card { min-height: min(680px, calc(100dvh - 210px)); padding: 14px; }
#appShell.visits360-shell .visits360-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
#appShell.visits360-shell .visits360-list-heading h2 { margin: 0; color: var(--visits360-text-strong); font-size: 20px; }
#appShell.visits360-shell .visits360-list-heading .visits360-eyebrow { margin-bottom: 2px; }
#appShell.visits360-shell .visits360-reset-acta { min-height: 34px !important; padding: 5px 10px; font-size: 12px; }
#appShell.visits360-shell .visits360-list-filters { display: grid; grid-template-columns: minmax(220px, 1fr) 190px 190px; gap: 8px; margin-bottom: 12px; }
#appShell.visits360-shell .visits360-list-filters label { display: grid; gap: 4px; color: var(--visits360-text-muted); font-size: 11px; font-weight: 700; }
#appShell.visits360-shell .visits360-list-filters label > span { padding-left: 2px; }
#appShell.visits360-shell .visits360-list-filters input,
#appShell.visits360-shell .visits360-list-filters select { min-height: 40px; }
#appShell.visits360-shell .control-list { display: grid; gap: 6px; }
#appShell.visits360-shell .visits360-control-card {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto 18px;
  gap: 10px;
  width: 100%;
  min-height: 52px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid var(--visits360-border);
  border-left: 3px solid var(--visits360-primary);
  border-radius: 10px;
  background: var(--visits360-surface);
  color: var(--visits360-text);
  cursor: pointer;
  text-align: left;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
#appShell.visits360-shell .visits360-control-card:hover { border-color: var(--visits360-border-strong); box-shadow: var(--visits360-shadow); transform: translateY(-1px); }
#appShell.visits360-shell .visits360-control-card:focus-visible { outline: 3px solid var(--visits360-primary-soft); outline-offset: 2px; }
#appShell.visits360-shell .visits360-control-state { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--visits360-primary-soft); color: var(--visits360-primary); font-size: 11px; font-weight: 900; }
#appShell.visits360-shell .visits360-control-card-main { display: grid; gap: 2px; min-width: 0; }
#appShell.visits360-shell .visits360-control-card h3 { margin: 0; overflow: hidden; color: var(--visits360-text-strong); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
#appShell.visits360-shell .visits360-control-card p { margin: 0; overflow: hidden; color: var(--visits360-text-muted); font-size: 12px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
#appShell.visits360-shell .visits360-control-card .badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
#appShell.visits360-shell .visits360-control-card .badge { padding: 3px 6px; font-size: 10px; }
#appShell.visits360-shell .visits360-control-chevron { color: var(--visits360-primary); font-size: 20px; line-height: 1; }
#appShell.visits360-shell .badge { border-radius: 999px; }

#appShell.visits360-shell .visits360-detail {
  display: flex;
  position: relative;
  width: 0;
  flex-direction: column;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transition: width 240ms ease, opacity 160ms ease;
}
#appShell.visits360-shell .visits360-layout.detail-open { grid-template-columns: minmax(560px, 1fr) minmax(340px, 450px); }
#appShell.visits360-shell .visits360-layout.detail-open .visits360-detail { width: auto; opacity: 1; pointer-events: auto; }
#appShell.visits360-shell .visits360-detail-head { justify-content: space-between; padding: 16px; border-bottom: 1px solid var(--visits360-border); }
#appShell.visits360-shell .visits360-detail-scroll { flex: 1; overflow: auto; padding: 16px; }
#appShell.visits360-shell .visits360-detail-form { display: grid; gap: 14px; }
#appShell.visits360-shell .visits360-detail-form-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#appShell.visits360-shell .visits360-detail-form-topline .danger { min-height: 34px; padding: 5px 11px; font-size: 12px; }
#appShell.visits360-shell .visits360-detail-form label { display: grid; gap: 6px; color: var(--visits360-text-strong); font-size: 13px; font-weight: 700; }
#appShell.visits360-shell .visits360-detail-empty,
#appShell.visits360-shell .visits360-empty-state { display: grid; gap: 8px; place-items: start; padding: 24px; border: 1px dashed var(--visits360-border-strong); border-radius: var(--visits360-radius); color: var(--visits360-text-muted); }
#appShell.visits360-shell .visits360-detail-empty strong,
#appShell.visits360-shell .visits360-empty-state strong { color: var(--visits360-text-strong); }
#appShell.visits360-shell .visits360-nav-overlay { display: none; }
#appShell.visits360-shell .visits360-detail-overlay { display: none; }
#appShell.visits360-shell .visits360-fab-wrap { position: fixed; z-index: 65; right: 28px; bottom: 28px; display: grid; justify-items: end; gap: 10px; }
#appShell.visits360-shell .visits360-fab { display: grid; width: 54px; min-height: 54px; place-items: center; border: 0; border-radius: 50%; background: var(--visits360-primary); box-shadow: var(--visits360-sheet-shadow); color: #fff; cursor: pointer; font-size: 31px; line-height: 1; transition: transform 180ms ease, background 180ms ease; }
#appShell.visits360-shell .visits360-fab[aria-expanded="true"] { background: #0f2f42; transform: rotate(45deg); }
#appShell.visits360-shell .visits360-fab-menu { display: grid; min-width: 206px; gap: 8px; padding: 0; background: transparent; }
#appShell.visits360-shell .visits360-fab-menu button { min-height: 40px; border: 1px solid var(--visits360-border); border-radius: 999px; background: var(--visits360-surface); box-shadow: 0 4px 12px rgba(15, 23, 42, .14); color: var(--visits360-text-strong); font-size: 12px; font-weight: 800; text-align: left; }
#appShell.visits360-shell .visits360-fab-menu button:hover,
#appShell.visits360-shell .visits360-fab-menu button:focus-visible { background: var(--visits360-primary-soft); color: var(--visits360-primary); }
#appShell.visits360-shell #acta .grid-acta { grid-template-columns: minmax(0, 1fr); }
#appShell.visits360-shell .visits360-acta-fab-wrap {
  position: fixed;
  z-index: 65;
  right: 28px;
  bottom: 28px;
  display: grid;
  justify-items: end;
  gap: 10px;
}
#appShell.visits360-shell .visits360-acta-fab {
  display: grid;
  width: 54px;
  min-height: 54px !important;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--visits360-primary);
  box-shadow: var(--visits360-sheet-shadow);
  color: #fff;
  cursor: pointer;
  font-size: 30px;
  font-weight: 800;
  line-height: .7;
  transition: transform 180ms ease, background 180ms ease;
}
#appShell.visits360-shell .visits360-acta-fab:hover,
#appShell.visits360-shell .visits360-acta-fab:focus-visible { background: #0f2f42; }
#appShell.visits360-shell .visits360-acta-fab[aria-expanded="true"] { transform: rotate(90deg); }
#appShell.visits360-shell .visits360-acta-fab-menu {
  display: grid;
  width: min(244px, calc(100vw - 48px));
  gap: 7px;
  padding: 10px;
  border: 1px solid rgba(188, 216, 231, .8);
  border-radius: 14px;
  background: rgba(255, 255, 255, .88);
  box-shadow: var(--visits360-sheet-shadow);
  backdrop-filter: blur(12px) saturate(.9);
  -webkit-backdrop-filter: blur(12px) saturate(.9);
}
#appShell.visits360-shell .visits360-acta-fab-menu.hidden { display: none; }
#appShell.visits360-shell .visits360-acta-fab-menu__title {
  margin: 1px 4px 3px;
  color: var(--visits360-text-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
#appShell.visits360-shell .visits360-acta-fab-menu button {
  width: 100%;
  min-height: 38px !important;
  padding: 7px 11px;
  border: 1px solid var(--visits360-border);
  border-radius: 9px;
  background: rgba(255, 255, 255, .82);
  color: var(--visits360-primary);
  font-size: 12px;
  font-weight: 800;
  text-align: left;
}
#appShell.visits360-shell .visits360-acta-fab-menu button.primary {
  border-color: var(--visits360-primary);
  background: var(--visits360-primary);
  color: #fff;
}
#appShell.visits360-shell .visits360-acta-fab-menu button:hover,
#appShell.visits360-shell .visits360-acta-fab-menu button:focus-visible { border-color: var(--visits360-primary); background: var(--visits360-primary-soft); color: var(--visits360-primary); }
#appShell.visits360-shell .visits360-acta-fab-menu button.primary:hover,
#appShell.visits360-shell .visits360-acta-fab-menu button.primary:focus-visible { background: #0f2f42; color: #fff; }
#appShell.visits360-shell .visits360-acta-fab-wrap .acta-action-feedback {
  width: min(320px, calc(100vw - 48px));
  margin: 0;
  text-align: right;
}
#appShell.visits360-shell .visits360-utility-overlay { display: none !important; }
#appShell.visits360-shell .visits360-utility-panel { position: fixed; z-index: 75; top: 16px; right: 16px; bottom: auto; display: flex; width: min(430px, calc(100vw - 48px)); max-height: calc(100dvh - 32px); flex-direction: column; border: 1px solid rgba(188, 216, 231, .72); border-radius: var(--visits360-radius); background: rgba(242, 249, 252, .48); box-shadow: 0 12px 30px rgba(15, 23, 42, .12); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
#appShell.visits360-shell .visits360-utility-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; border-bottom: 1px solid rgba(188, 216, 231, .72); background: rgba(255, 255, 255, .18); }
#appShell.visits360-shell .visits360-utility-head strong { color: var(--visits360-text-strong); font-size: 17px; }
#appShell.visits360-shell .visits360-utility-body { display: grid; align-content: start; min-height: 0; gap: 12px; overflow: auto; padding: 16px; background: transparent; }
#appShell.visits360-shell .visits360-utility-body label { display: grid; gap: 6px; color: var(--visits360-text-strong); font-size: 13px; font-weight: 700; }
#appShell.visits360-shell .visits360-utility-body .inline-option { display: flex; align-items: center; font-weight: 500; }
#appShell.visits360-shell .visits360-new-control { display: grid; gap: 12px; }
#appShell.visits360-shell .visits360-filter-fields hr { width: 100%; margin: 4px 0; border: 0; border-top: 1px solid var(--visits360-border); }
#appShell.visits360-shell .datos-tab.active { display: grid; gap: 16px; }
#appShell.visits360-shell .datos-tab .visits360-section { margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--visits360-border); border-radius: var(--visits360-radius); background: var(--visits360-surface); }
#appShell.visits360-shell .visits360-section-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; border-bottom: 1px solid rgba(0, 95, 134, .1); }
#appShell.visits360-shell .visits360-section-heading { display: flex; min-width: 0; align-items: center; gap: 11px; }
#appShell.visits360-shell .visits360-section-icon { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--visits360-primary); color: #fff; font-size: 16px; font-weight: 900; }
#appShell.visits360-shell .visits360-section-header h2 { margin: 0; color: var(--visits360-text-strong); font-size: 18px; line-height: 1.15; }
#appShell.visits360-shell .visits360-section-header .small { margin: 3px 0 0; color: var(--visits360-text-muted); font-size: 12px; line-height: 1.3; }
#appShell.visits360-shell .visits360-section-body { padding: 12px 18px 16px; }
#appShell.visits360-shell .visits360-header-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
#appShell.visits360-shell .visits360-action-button { min-height: 36px; padding: 7px 13px; border: 1px solid var(--visits360-primary); border-radius: 9px; background: var(--visits360-primary); color: #fff; font-size: 13px; font-weight: 800; }
#appShell.visits360-shell .visits360-action-button:hover { filter: brightness(.94); }
#appShell.visits360-shell .visits360-action-button--outline { background: rgba(255, 255, 255, .8); color: var(--visits360-primary); border-color: var(--visits360-border); }
#appShell.visits360-shell .visits360-action-button--outline:hover { border-color: var(--visits360-primary); background: var(--visits360-primary-soft); }
#appShell.visits360-shell .visits360-open-acta-disclosure { position: relative; }
#appShell.visits360-shell .visits360-open-acta-disclosure > summary { display: flex; min-height: 36px; align-items: center; gap: 6px; padding: 7px 13px; border: 1px solid var(--visits360-border); border-radius: 9px; background: rgba(255, 255, 255, .8); color: var(--visits360-primary); cursor: pointer; font-size: 13px; font-weight: 800; list-style: none; }
#appShell.visits360-shell .visits360-open-acta-disclosure > summary::-webkit-details-marker { display: none; }
#appShell.visits360-shell .visits360-open-acta-disclosure[open] > summary { border-color: var(--visits360-primary); background: var(--visits360-primary-soft); }
#appShell.visits360-shell .visits360-open-acta-row { position: absolute; z-index: 6; top: calc(100% + 8px); right: 0; display: grid; grid-template-columns: minmax(250px, 1fr) auto; width: min(460px, calc(100vw - 84px)); gap: 8px; margin: 0; padding: 10px; border: 1px solid var(--visits360-border); border-radius: 12px; background: var(--visits360-surface); box-shadow: var(--visits360-sheet-shadow); }
#appShell.visits360-shell .visits360-collaborators-heading { display: flex; align-items: center; gap: 7px; margin: 0 0 8px; color: var(--visits360-text-strong); font-size: 13px; }
#appShell.visits360-shell .visits360-inline-icon { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: var(--visits360-primary-soft); color: var(--visits360-primary); font-size: 13px; }
#appShell.visits360-shell .visits360-acta-section .visits-collaborators-row { margin: 0; align-items: start; }
#appShell.visits360-shell .visits360-acta-section .visits-collaborators-field { min-width: 0; flex: 1; }
#appShell.visits360-shell .visits360-acta-section .visits-collaborator-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
#appShell.visits360-shell .visits360-acta-section .visits-collaborator-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 29px; padding: 4px 9px; border: 1px solid var(--visits360-border); border-radius: 999px; background: var(--visits360-surface-muted); font-size: 12px; }
#appShell.visits360-shell .visits360-acta-section .visits-collaborator-empty { color: var(--visits360-text-muted); font-size: 12px; }
#appShell.visits360-shell .visits360-acta-section #actCollaboratorHelp { margin: 7px 0 0; font-size: 12px; }
#appShell.visits360-shell .visits360-data-groups { display: grid; gap: 9px; padding: 10px 12px 12px; }
#appShell.visits360-shell .visits360-data-group { overflow: hidden; border: 1px solid var(--visits360-border); border-radius: 12px; background: rgba(247, 251, 253, .88); transition: box-shadow 160ms ease, border-color 160ms ease; }
#appShell.visits360-shell .visits360-data-group:not(.collapsed) { border-color: rgba(0, 95, 134, .3); box-shadow: 0 4px 14px rgba(0, 95, 134, .08); }
#appShell.visits360-shell .visits360-data-group__header { display: flex; width: 100%; min-height: 48px; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 14px; border: 0; background: transparent; color: inherit; cursor: pointer; text-align: left; }
#appShell.visits360-shell .visits360-data-group__header:hover { background: rgba(0, 95, 134, .035); }
#appShell.visits360-shell .visits360-data-group__title { display: grid; gap: 3px; min-width: 0; }
#appShell.visits360-shell .visits360-data-group__title strong { color: var(--visits360-text-strong); font-size: 14px; }
#appShell.visits360-shell .visits360-data-group__title small { color: var(--visits360-text-muted); font-size: 12px; }
#appShell.visits360-shell .visits360-data-group__meta { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
#appShell.visits360-shell .visits360-data-count { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 999px; background: var(--visits360-primary-soft); color: var(--visits360-primary); font-size: 11px; font-weight: 800; }
#appShell.visits360-shell .visits360-data-chevron { color: var(--visits360-primary); font-size: 18px; font-weight: 800; transition: transform 160ms ease; }
#appShell.visits360-shell .visits360-data-group.collapsed .visits360-data-chevron { transform: rotate(-90deg); }
#appShell.visits360-shell .visits360-data-group.collapsed .visits360-data-group__body { display: none; }
#appShell.visits360-shell .visits360-data-group__body { border-top: 1px solid var(--visits360-border); background: rgba(255, 255, 255, .78); }
#appShell.visits360-shell .visits360-data-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 14px; padding: 12px 14px; }
#appShell.visits360-shell .visits360-data-fields .field { min-width: 0; }
#appShell.visits360-shell .visits360-data-fields .field.wide { grid-column: 1 / -1; }
#appShell.visits360-shell .visits360-data-fields label { display: block; margin: 0 0 6px; color: var(--visits360-text-muted); font-size: 12px; font-weight: 800; }
#appShell.visits360-shell .visits360-data-fields input,
#appShell.visits360-shell .visits360-data-fields select { width: 100%; min-height: var(--visits360-control-height); height: var(--visits360-control-height); border: 1px solid var(--visits360-border); border-radius: 10px; background: #fff; }
#appShell.visits360-shell .visits360-data-fields textarea { width: 100%; min-height: 96px; border: 1px solid var(--visits360-border); border-radius: 10px; background: #fff; resize: vertical; }
#appShell.visits360-shell .visits360-data-fields input:focus,
#appShell.visits360-shell .visits360-data-fields select:focus,
#appShell.visits360-shell .visits360-data-fields textarea:focus { outline: none; border-color: var(--visits360-primary); box-shadow: 0 0 0 3px var(--visits360-primary-soft); }
#appShell.visits360-shell .visits360-drafts-section .visits360-section-header { align-items: center; }
#appShell.visits360-shell .visits360-drafts-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex: 1 1 auto; flex-wrap: wrap; }
#appShell.visits360-shell .visits360-drafts-toolbar-actions { display: flex; gap: 8px; flex-wrap: wrap; }
#appShell.visits360-shell .visits360-draft-search { position: relative; display: block; min-width: min(100%, 270px); }
#appShell.visits360-shell .visits360-draft-search > span { position: absolute; top: 50%; left: 11px; z-index: 1; color: var(--visits360-text-muted); transform: translateY(-50%); }
#appShell.visits360-shell .visits360-draft-search input { width: 100%; min-height: var(--visits360-control-height); padding-left: 34px; border: 1px solid var(--visits360-border); border-radius: 10px; background: #fff; }
#appShell.visits360-shell .visits360-draft-search input:focus { outline: none; border-color: var(--visits360-primary); box-shadow: 0 0 0 3px var(--visits360-primary-soft); }
#appShell.visits360-shell .visits360-drafts-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-height: 430px; gap: 10px; overflow: auto; padding: 0 12px 12px; }
#appShell.visits360-shell .visits360-draft-card { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto auto auto; align-items: center; gap: 8px; min-height: 66px; padding: 9px 11px; border: 1px solid var(--visits360-border); border-radius: 12px; background: rgba(255, 255, 255, .88); transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
#appShell.visits360-shell .visits360-draft-card:hover { border-color: rgba(0, 95, 134, .58); box-shadow: 0 6px 16px rgba(0, 95, 134, .1); transform: translateY(-1px); }
#appShell.visits360-shell .visits360-draft-card__icon { display: grid; width: 26px; height: 26px; grid-row: 1; place-items: center; border-radius: 7px; background: var(--visits360-primary-soft); color: var(--visits360-primary); font-size: 14px; font-weight: 900; }
#appShell.visits360-shell .visits360-draft-card__content { display: grid; min-width: 0; gap: 3px; }
#appShell.visits360-shell .visits360-draft-code { overflow: hidden; color: var(--visits360-text-strong); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
#appShell.visits360-shell .visits360-draft-meta { overflow: hidden; color: var(--visits360-text-muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
#appShell.visits360-shell .visits360-draft-status { padding: 4px 9px; border-radius: 999px; background: #eaf0f4; color: var(--visits360-text-muted); font-size: 11px; font-weight: 800; text-transform: lowercase; }
#appShell.visits360-shell .visits360-draft-status.is-borrador { background: #fef3c7; color: #92400e; }
#appShell.visits360-shell .visits360-draft-open { min-height: 30px !important; padding: 4px 10px; border: 1px solid var(--visits360-border); border-radius: 8px; background: var(--visits360-surface); color: var(--visits360-primary); font-size: 12px; font-weight: 800; }
#appShell.visits360-shell .visits360-draft-open:hover { border-color: var(--visits360-primary); background: var(--visits360-primary-soft); }
#appShell.visits360-shell .visits360-draft-menu { position: relative; }
#appShell.visits360-shell .visits360-draft-menu > summary { display: grid; width: 30px; min-height: 30px; place-items: center; border: 1px solid var(--visits360-border); border-radius: 8px; background: var(--visits360-surface); color: var(--visits360-primary); cursor: pointer; font-size: 15px; font-weight: 900; letter-spacing: 1px; line-height: 1; list-style: none; }
#appShell.visits360-shell .visits360-draft-menu > summary::-webkit-details-marker { display: none; }
#appShell.visits360-shell .visits360-draft-menu[open] > summary { border-color: var(--visits360-primary); background: var(--visits360-primary-soft); }
#appShell.visits360-shell .visits360-draft-menu__items { position: absolute; z-index: 12; top: calc(100% + 6px); right: 0; min-width: 112px; padding: 5px; border: 1px solid var(--visits360-border); border-radius: 9px; background: var(--visits360-surface); box-shadow: var(--visits360-sheet-shadow); }
#appShell.visits360-shell .visits360-draft-menu__items button { width: 100%; min-height: 32px !important; padding: 5px 9px; border: 0; border-radius: 6px; background: transparent; color: #b91c1c; cursor: pointer; font-size: 12px; font-weight: 800; text-align: left; }
#appShell.visits360-shell .visits360-draft-menu__items button:hover { background: #fef2f2; }
#appShell.visits360-shell .visits360-drafts-empty { margin: 0; padding: 14px; border: 1px dashed var(--visits360-border); border-radius: 10px; color: var(--visits360-text-muted); text-align: center; }

@media (max-width: 1180px) {
  #appShell.visits360-shell .visits360-layout { grid-template-columns: minmax(0, 1fr) 0; }
  #appShell.visits360-shell .visits360-layout.detail-open { grid-template-columns: minmax(0, 1fr); }
  #appShell.visits360-shell .visits360-detail {
    position: fixed;
    z-index: 80;
    top: 16px;
    right: 16px;
    bottom: 16px;
    width: min(450px, calc(100vw - 48px));
    transform: translateX(calc(100% + 24px));
    box-shadow: var(--visits360-sheet-shadow);
    transition: transform 240ms ease, opacity 160ms ease;
  }
  #appShell.visits360-shell .visits360-layout.detail-open .visits360-detail { width: min(450px, calc(100vw - 48px)); transform: translateX(0); }
  #appShell.visits360-shell .visits360-layout.detail-open .visits360-detail-overlay { display: block; position: fixed; z-index: 70; inset: 0; border: 0; background: rgba(15, 23, 42, .28); }
  #appShell.visits360-shell .visits-header-grid { grid-template-columns: minmax(250px, 1fr) repeat(4, minmax(92px, .3fr)); }
  #appShell.visits360-shell .visits360-data-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #appShell.visits360-shell .visits360-drafts-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  #appShell.visits360-shell { padding: 0; }
  #appShell.visits360-shell .visits360-layout { display: block; min-height: 100dvh; }
  #appShell.visits360-shell .visits360-workspace { min-height: 100dvh; border: 0; border-radius: 0; }
  #appShell.visits360-shell .visits360-nav {
    position: fixed;
    z-index: 100;
    top: 8px;
    bottom: 8px;
    left: 8px;
    width: min(296px, calc(100vw - 16px));
    height: auto;
    flex-direction: column;
    align-items: stretch;
    margin: 0;
    padding: 16px;
    transform: translateX(calc(-100% - 24px));
    transition: transform 240ms ease;
    box-shadow: var(--visits360-sheet-shadow);
  }
  #appShell.visits360-shell #visits360NavClose { display: inline-grid; }
  #appShell.visits360-shell .visits360-nav-head,
  #appShell.visits360-shell .visits360-nav-footer { display: flex; }
  #appShell.visits360-shell .visits360-nav-footer { display: grid; }
  #appShell.visits360-shell .visits360-nav-list { display: grid; flex: 0 0 auto; }
  #appShell.visits360-shell .visits360-nav-list .tab-btn { width: 100%; min-height: 44px; justify-content: flex-start; text-align: left; }
  #appShell.visits360-shell .visits360-layout.drawer-open .visits360-nav { transform: translateX(0); }
  #appShell.visits360-shell .visits360-layout.drawer-open .visits360-nav-overlay { display: block; position: fixed; z-index: 90; inset: 0; border: 0; background: rgba(15, 23, 42, .28); }
  #appShell.visits360-shell .back-menu-bar { min-height: 54px; padding: 5px 12px; }
  #appShell.visits360-shell #visits360NavToggle { display: inline-grid; }
  #appShell.visits360-shell .visits-header-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; }
  #appShell.visits360-shell .visits-title-card { grid-column: 1 / -1; }
  #appShell.visits360-shell main { padding: 0 12px max(20px, env(safe-area-inset-bottom)); }
  #appShell.visits360-shell .grid-main,
  #appShell.visits360-shell .grid-2,
  #appShell.visits360-shell .grid-acta { grid-template-columns: 1fr; }
  #appShell.visits360-shell .acta-controls-panel { position: static; }
  #appShell.visits360-shell .visits360-detail {
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-height: min(88dvh, 760px);
    border-radius: 18px 18px 0 0;
    transform: translateY(calc(100% + 24px));
  }
  #appShell.visits360-shell .visits360-layout.detail-open .visits360-detail { width: 100%; transform: translateY(0); }
  #appShell.visits360-shell .visits360-list-heading { align-items: flex-start; }
  #appShell.visits360-shell .visits360-list-filters { grid-template-columns: 1fr 1fr; }
  #appShell.visits360-shell .visits360-search-field { grid-column: 1 / -1; }
  #appShell.visits360-shell .visits360-control-card { grid-template-columns: 24px minmax(0, 1fr) 16px; }
  #appShell.visits360-shell .visits360-control-card .badges { display: none; }
  #appShell.visits360-shell .visits360-fab-wrap,
  #appShell.visits360-shell .visits360-acta-fab-wrap { right: 18px; bottom: 18px; }
  #appShell.visits360-shell .visits360-utility-panel { top: auto; right: 0; bottom: 0; left: 0; width: 100%; max-height: min(82dvh, 720px); border-radius: 18px 18px 0 0; }
  #appShell.visits360-shell .visits360-data-fields { grid-template-columns: 1fr; }
  #appShell.visits360-shell .visits360-section-header { align-items: stretch; flex-direction: column; padding: 14px 14px 10px; }
  #appShell.visits360-shell .visits360-section-body { padding: 10px 16px 16px; }
  #appShell.visits360-shell .visits360-header-actions { width: 100%; flex-wrap: wrap; }
  #appShell.visits360-shell .visits360-header-actions > * { flex: 1 1 160px; }
  #appShell.visits360-shell .visits360-open-acta-disclosure > summary { justify-content: center; }
  #appShell.visits360-shell .visits360-open-acta-row { position: static; width: 100%; grid-template-columns: 1fr; margin-top: 8px; box-shadow: none; }
  #appShell.visits360-shell .visits360-data-groups { padding: 0 12px 12px; }
  #appShell.visits360-shell .visits360-data-group__header { min-height: 62px; padding: 11px 13px; }
  #appShell.visits360-shell .visits360-drafts-section .visits360-section-header { gap: 12px; }
  #appShell.visits360-shell .visits360-drafts-toolbar { align-items: stretch; width: 100%; }
  #appShell.visits360-shell .visits360-drafts-toolbar-actions { display: grid; grid-template-columns: 1fr 1fr; }
  #appShell.visits360-shell .visits360-drafts-toolbar-actions .visits360-action-button:last-of-type { grid-column: 1 / -1; }
  #appShell.visits360-shell .visits360-draft-search { width: 100%; }
  #appShell.visits360-shell .visits360-drafts-list { grid-template-columns: 1fr; max-height: none; padding: 0 12px 14px; }
  #appShell.visits360-shell .visits360-draft-card { min-height: 0; }
}

/* Modales de Relevamiento: estas reglas cierran la cascada para reemplazar
   los paneles laterales heredados sin alterar los demás módulos. */
#appShell.visits360-shell .visits360-control-modal {
  position: fixed;
  z-index: 85;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  display: flex;
  width: min(900px, calc(100vw - 48px));
  max-height: min(84dvh, 760px);
  transform: translate(-50%, -50%);
  background: var(--visits360-surface);
  box-shadow: 0 20px 48px rgba(15, 23, 42, .22);
}
#appShell.visits360-shell .visits360-control-modal__body { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 14px 16px; }
#appShell.visits360-shell .visits360-control-modal__full { grid-column: 1 / -1; }
#appShell.visits360-shell .visits360-control-modal .visits360-new-control { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#appShell.visits360-shell .visits360-control-modal .visits360-new-control .inline-option { grid-column: 1 / -1; }
#appShell.visits360-shell .visits360-control-modal textarea { min-height: 112px; resize: vertical; }
#appShell.visits360-shell .visits360-control-modal__actions { display: flex; justify-content: flex-end; padding-top: 2px; }
#appShell.visits360-shell .visits360-control-modal__actions .primary { min-width: 220px; }

#appShell.visits360-shell .visits360-detail {
  display: none;
  position: fixed;
  z-index: 85;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  width: min(760px, calc(100vw - 48px));
  max-height: min(82dvh, 720px);
  opacity: 1;
  overflow: hidden;
  pointer-events: auto;
  transform: translate(-50%, -50%);
  box-shadow: 0 20px 48px rgba(15, 23, 42, .22);
  transition: opacity 160ms ease;
}
#appShell.visits360-shell .visits360-detail.is-open { display: flex; }
#appShell.visits360-shell .visits360-detail-overlay:not(.hidden) { display: block; position: fixed; z-index: 80; inset: 0; border: 0; background: rgba(15, 23, 42, .22); }
#appShell.visits360-shell .visits360-detail-scroll { padding: 20px; }
#appShell.visits360-shell .visits360-control-view { display: grid; gap: 18px; }
#appShell.visits360-shell .visits360-control-view__summary { display: flex; flex-wrap: wrap; gap: 7px; }
#appShell.visits360-shell .visits360-control-view__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
#appShell.visits360-shell .visits360-control-view__fields > div { padding: 11px 12px; border: 1px solid var(--visits360-border); border-radius: 10px; background: var(--visits360-surface-muted); }
#appShell.visits360-shell .visits360-control-view__fields dt { color: var(--visits360-text-muted); font-size: 11px; font-weight: 800; }
#appShell.visits360-shell .visits360-control-view__fields dd { margin: 4px 0 0; color: var(--visits360-text-strong); font-size: 14px; font-weight: 700; }
#appShell.visits360-shell .visits360-control-view__note { padding: 14px; border: 1px solid var(--visits360-border); border-radius: 12px; background: var(--visits360-surface-muted); }
#appShell.visits360-shell .visits360-control-view__note h3 { margin: 0 0 7px; color: var(--visits360-text-strong); font-size: 14px; }
#appShell.visits360-shell .visits360-control-view__note p { margin: 0; color: var(--visits360-text); line-height: 1.5; }
#appShell.visits360-shell .visits360-control-view__actions { display: flex; justify-content: flex-end; }
#appShell.visits360-shell .visits360-detail-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
#appShell.visits360-shell .visits360-detail-form-topline,
#appShell.visits360-shell .visits360-detail-form label:has(textarea) { grid-column: 1 / -1; }
#appShell.visits360-shell .visits360-detail-form-actions { display: flex; gap: 8px; }

@media (max-width: 700px) {
  #appShell.visits360-shell .visits360-control-modal,
  #appShell.visits360-shell .visits360-detail { top: auto; right: 0; bottom: 0; left: 0; width: 100%; max-height: min(88dvh, 760px); border-radius: 18px 18px 0 0; transform: none; }
  #appShell.visits360-shell .visits360-control-modal__body,
  #appShell.visits360-shell .visits360-control-modal .visits360-new-control,
  #appShell.visits360-shell .visits360-detail-form,
  #appShell.visits360-shell .visits360-control-view__fields { grid-template-columns: 1fr; }
  #appShell.visits360-shell .visits360-control-modal__actions .primary { width: 100%; }
}

/* Ajuste de escala y jerarquía para los modales del relevamiento. */
#appShell.visits360-shell .visits360-control-modal {
  width: min(1040px, calc(100vw - 56px));
  max-height: min(90dvh, 860px);
}

#appShell.visits360-shell .visits360-detail {
  width: min(980px, calc(100vw - 56px));
  max-height: min(90dvh, 840px);
}

#appShell.visits360-shell .visits360-detail-overlay:not(.hidden) {
  display: block;
  position: fixed;
  z-index: 80;
  inset: 0;
  border: 0;
  appearance: none;
  background: rgba(15, 23, 42, .13) !important;
  backdrop-filter: blur(8px) saturate(.9);
  -webkit-backdrop-filter: blur(8px) saturate(.9);
}

#appShell.visits360-shell .visits360-detail-scroll { padding: 24px 26px 26px; }
#appShell.visits360-shell .visits360-detail-form { grid-template-columns: repeat(3, minmax(150px, 210px)) minmax(0, 1fr); gap: 16px 18px; }
#appShell.visits360-shell .visits360-detail-form__compact { grid-column: auto; max-width: 210px; }
#appShell.visits360-shell .visits360-detail-form__responsable { grid-column: 1 / -1; max-width: none; }
#appShell.visits360-shell .visits360-detail-form__detail,
#appShell.visits360-shell .visits360-detail-form__comment { grid-column: 1 / -1; }
#appShell.visits360-shell .visits360-detail-form__detail textarea { min-height: 230px; }
#appShell.visits360-shell .visits360-detail-form__comment textarea { min-height: 128px; }

#appShell.visits360-shell .visits360-control-view__note:first-of-type { min-height: 154px; }
#appShell.visits360-shell .visits360-control-view__note + .visits360-control-view__note { min-height: 104px; }

@media (max-width: 700px) {
  #appShell.visits360-shell .visits360-control-modal,
  #appShell.visits360-shell .visits360-detail {
    width: 100%;
    max-height: min(92dvh, 860px);
  }
  #appShell.visits360-shell .visits360-detail-scroll { padding: 18px 16px max(22px, env(safe-area-inset-bottom)); }
  #appShell.visits360-shell .visits360-detail-form { grid-template-columns: 1fr; }
  #appShell.visits360-shell .visits360-detail-form__compact,
  #appShell.visits360-shell .visits360-detail-form__responsable { max-width: none; }
  #appShell.visits360-shell .visits360-detail-form__detail textarea { min-height: 190px; }
}

/* Hallazgos reutiliza la jerarquía de tarjetas e interacción de Relevamiento. */
#appShell.visits360-shell .visits360-hallazgos-section { min-height: min(64dvh, 720px); padding: 0; overflow: hidden; }
#appShell.visits360-shell .visits360-hallazgos-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px 14px; border-bottom: 1px solid rgba(0, 95, 134, .1); }
#appShell.visits360-shell .visits360-hallazgos-heading h2 { margin: 0; color: var(--visits360-text-strong); font-size: 24px; line-height: 1.2; }
#appShell.visits360-shell .visits360-hallazgos-heading p:not(.visits360-eyebrow) { max-width: 680px; margin: 6px 0 0; color: var(--visits360-text-muted); font-size: 13px; line-height: 1.45; }
#appShell.visits360-shell .visits360-hallazgos-heading .toolbar { margin: 0; flex: 0 0 auto; }
#appShell.visits360-shell .visits360-hallazgos-list { display: grid; gap: 10px; padding: 16px 22px 22px; }
#appShell.visits360-shell .visits360-hallazgo-card { width: 100%; min-height: 76px; }
#appShell.visits360-shell .visits360-hallazgos-list .visits360-empty-state { min-height: 150px; place-content: center; place-items: center; text-align: center; }

@media (max-width: 700px) {
  #appShell.visits360-shell .visits360-hallazgos-section { min-height: calc(100dvh - 130px); border-radius: 0; }
  #appShell.visits360-shell .visits360-hallazgos-heading { align-items: stretch; flex-direction: column; padding: 16px 16px 12px; }
  #appShell.visits360-shell .visits360-hallazgos-heading .toolbar,
  #appShell.visits360-shell .visits360-hallazgos-heading .toolbar button { width: 100%; }
  #appShell.visits360-shell .visits360-hallazgos-list { padding: 12px 16px 20px; }
}

/* Tarea del catálogo: se consulta desde el alta sin abandonar el modal. */
#appShell.visits360-shell .visits360-control-picker-field { position: relative; display: grid; gap: 6px; }
#appShell.visits360-shell .visits360-control-picker-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#appShell.visits360-shell .visits360-control-picker-label label { margin: 0; }
#appShell.visits360-shell .visits360-control-task-help { display: grid; width: 28px; min-height: 28px; place-items: center; padding: 0; border: 1px solid var(--visits360-border-strong); border-radius: 50%; background: var(--visits360-surface); color: var(--visits360-primary); cursor: pointer; font-size: 16px; font-weight: 900; line-height: 1; }
#appShell.visits360-shell .visits360-control-task-help:hover,
#appShell.visits360-shell .visits360-control-task-help[aria-expanded="true"] { border-color: var(--visits360-primary); background: var(--visits360-primary-soft); }
#appShell.visits360-shell .visits360-control-task-popover { position: absolute; z-index: 8; top: calc(100% + 9px); right: 0; width: min(440px, 100%); padding: 13px 14px; border: 1px solid var(--visits360-border-strong); border-radius: 12px; background: rgba(255, 255, 255, .96); box-shadow: var(--visits360-sheet-shadow); color: var(--visits360-text); }
#appShell.visits360-shell .visits360-control-task-popover::before { position: absolute; top: -6px; right: 10px; width: 11px; height: 11px; border-top: 1px solid var(--visits360-border-strong); border-left: 1px solid var(--visits360-border-strong); background: rgba(255, 255, 255, .96); content: ''; transform: rotate(45deg); }
#appShell.visits360-shell .visits360-control-task-popover strong { display: block; color: var(--visits360-text-strong); font-size: 12px; }
#appShell.visits360-shell .visits360-control-task-popover p { margin: 5px 0 0; color: var(--visits360-text-muted); font-size: 13px; line-height: 1.45; white-space: pre-wrap; }

#controlCatalogModalOverlay .control-modal textarea { width: 100%; min-height: 112px; margin: 0; border: 1px solid #C7DDEA; border-radius: 10px; background: #FFFFFF; color: #0F172A; resize: vertical; }
#controlCatalogModalOverlay .control-modal textarea:focus { outline: none; border-color: #005F86; box-shadow: 0 0 0 3px rgba(0, 95, 134, .14); }

@media (max-width: 700px) {
  #appShell.visits360-shell .visits360-control-task-popover { right: auto; left: 0; width: 100%; }
}

/* Panel Datos: avance y fechas registradas de las 20 sucursales operativas. */
#appShell.visits360-shell .visits360-branch-visits {
  overflow: hidden;
  border: 1px solid var(--visits360-border);
  border-radius: 12px;
  background: #fff;
}

#appShell.visits360-shell .visits360-branch-visits__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 14px;
  border-bottom: 1px solid var(--visits360-border);
  background: linear-gradient(135deg, rgba(0, 95, 134, .08), rgba(236, 248, 252, .82));
}

#appShell.visits360-shell .visits360-branch-visits__header > div { display: grid; gap: 3px; }
#appShell.visits360-shell .visits360-branch-visits__header strong { color: var(--visits360-text-strong); font-size: 14px; }
#appShell.visits360-shell .visits360-branch-visits__header small { color: var(--visits360-text-muted); font-size: 12px; }
#appShell.visits360-shell .visits360-branch-visits__progress {
  flex: 0 0 auto;
  padding: 5px 9px;
  border: 1px solid rgba(0, 95, 134, .2);
  border-radius: 999px;
  background: #fff;
  color: var(--visits360-primary);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

#appShell.visits360-shell .visits360-branch-visits__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 12px;
  list-style: none;
}

#appShell.visits360-shell .visits360-branch-visit {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  min-width: 0;
  min-height: 66px;
  padding: 9px;
  border: 1px solid var(--visits360-border);
  border-radius: 10px;
  background: var(--visits360-surface-muted);
}

#appShell.visits360-shell .visits360-branch-visit.is-visited { border-color: rgba(5, 150, 105, .28); background: rgba(236, 253, 245, .7); }
#appShell.visits360-shell .visits360-branch-visit__index {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 999px;
  background: #e2e8f0;
  color: #475569;
  font-size: 10px;
  font-weight: 800;
}

#appShell.visits360-shell .visits360-branch-visit.is-visited .visits360-branch-visit__index { background: #d1fae5; color: #047857; }
#appShell.visits360-shell .visits360-branch-visit__content { display: grid; gap: 5px; min-width: 0; }
#appShell.visits360-shell .visits360-branch-visit__content > strong { color: var(--visits360-text-strong); font-size: 11px; line-height: 1.3; overflow-wrap: anywhere; }
#appShell.visits360-shell .visits360-branch-visit__dates { display: flex; flex-wrap: wrap; gap: 4px; }
#appShell.visits360-shell .visits360-branch-visit__dates time {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 6px;
  border-radius: 999px;
  background: #d1fae5;
  color: #047857;
  font-size: 10px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

#appShell.visits360-shell .visits360-branch-visit__dates em { color: var(--visits360-text-muted); font-size: 11px; font-style: normal; }

@media (max-width: 1180px) {
  #appShell.visits360-shell .visits360-branch-visits__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  #appShell.visits360-shell .visits360-branch-visits__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  #appShell.visits360-shell .visits360-branch-visits__header { align-items: flex-start; flex-direction: column; }
  #appShell.visits360-shell .visits360-branch-visits__list { grid-template-columns: 1fr; padding: 10px; }
  #appShell.visits360-shell .visits360-branch-visit { min-height: 56px; }
}
