#externalAdminScreen { --ext-red:#cc111b; --ext-dark:#282b30; --ext-soft:#f4f5f6; }
#externalAdminScreen .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#externalAdminScreen .ext-hero { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px; color:#fff; background:linear-gradient(125deg,#292c31,#3a3d43 72%,#4b2428); border-radius:13px; margin-bottom:9px; }
#externalAdminScreen .ext-hero h2 { margin:0 0 4px; font-size:21px; }
#externalAdminScreen .ext-hero p { max-width:720px; margin:0; color:#e0e2e4; font-size:13px; line-height:1.5; }
#externalAdminScreen .ext-hero-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
#externalAdminScreen .ext-hero-actions .btn { color:#fff; background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.34); }
#externalAdminScreen .ext-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:9px; }
#externalAdminScreen .ext-kpi { padding:13px; background:#fff; border:1px solid var(--line); border-radius:11px; }
#externalAdminScreen .ext-kpi strong { display:block; font-size:24px; color:var(--ext-red); }
#externalAdminScreen .ext-kpi span { color:var(--muted); font-size:12px; }
#externalAdminScreen .ext-tabs { display:flex; gap:6px; overflow:auto; padding:6px; margin-bottom:9px; background:#e8eaec; border-radius:11px; }
#externalAdminScreen .ext-tabs button { min-height:42px; padding:9px 14px; color:#555b62; background:transparent; border:0; border-radius:8px; font-size:13px; font-weight:850; white-space:nowrap; }
#externalAdminScreen .ext-tabs button.active { color:#fff; background:var(--ext-dark); }
#externalAdminScreen .ext-tabs button:focus-visible { outline:3px solid rgba(204,17,27,.28); outline-offset:2px; }
#externalAdminScreen .ext-panel { display:none; }
#externalAdminScreen .ext-panel.active { display:block; }
#externalAdminScreen .ext-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
#externalAdminScreen .ext-form-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:9px; }
#externalAdminScreen .ext-logo-row { display:flex; align-items:center; gap:13px; }
#externalAdminScreen .ext-logo-preview { width:118px; height:72px; flex:0 0 auto; display:grid; place-items:center; overflow:hidden; color:#6d7379; background:#f1f2f3; border:1px dashed #b9bec3; border-radius:10px; font-size:12px; font-weight:800; text-align:center; }
#externalAdminScreen .ext-logo-preview img { width:100%; height:100%; object-fit:contain; background:#fff; }
#externalAdminScreen .ext-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
#externalAdminScreen .ext-company-card { padding:12px; background:#fff; border:1px solid var(--line); border-left:4px solid var(--ext-dark); border-radius:10px; }
#externalAdminScreen .ext-company-card.inactive { opacity:.68; border-left-color:#9ca1a6; }
#externalAdminScreen .ext-company-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
#externalAdminScreen .ext-company-ident { min-width:0; display:flex; align-items:center; gap:10px; }
#externalAdminScreen .ext-company-logo { width:64px; height:43px; flex:0 0 auto; display:grid; place-items:center; overflow:hidden; color:#fff; background:#34373c; border-radius:8px; font-weight:900; }
#externalAdminScreen .ext-company-logo img { width:100%; height:100%; object-fit:contain; background:#fff; }
#externalAdminScreen .ext-company-ident h4 { margin:0; overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
#externalAdminScreen .ext-company-ident p { margin:3px 0 0; color:var(--muted); font-size:12px; }
#externalAdminScreen .ext-url { margin-top:9px; padding:8px 10px; overflow:hidden; color:#4f565d; background:#f3f4f5; border-radius:7px; font:11px ui-monospace,SFMono-Regular,Menlo,monospace; text-overflow:ellipsis; white-space:nowrap; }
#externalAdminScreen .ext-actions { display:flex; gap:5px; flex-wrap:wrap; margin-top:9px; }
#externalAdminScreen .ext-worker-table td:last-child { min-width:235px; }
#externalAdminScreen .ext-worker-table .btn { margin:1px; }
#externalAdminScreen .ext-fence-layout { display:grid; grid-template-columns:minmax(275px,.72fr) minmax(360px,1.28fr); gap:10px; }
#externalAdminScreen .ext-worker-checks { max-height:190px; overflow:auto; padding:6px; border:1px solid var(--line); border-radius:9px; }
#externalAdminScreen .ext-worker-check { display:flex; align-items:center; gap:7px; padding:8px 6px; border-bottom:1px solid #eceeef; font-size:12px; }
#externalAdminScreen .ext-worker-check:last-child { border-bottom:0; }
#externalAdminScreen .ext-map-shell { position:relative; min-height:440px; overflow:hidden; background:#e7eaec; border:1px solid var(--line); border-radius:11px; }
#externalAdminScreen #externalFenceMap, #externalAdminScreen #externalAttendanceMap { position:absolute; inset:0; }
#externalAdminScreen .ext-map-search { display:flex; gap:6px; }
#externalAdminScreen .ext-map-search input { flex:1; min-width:0; min-height:40px; padding:8px; border:1px solid #cbd1d7; border-radius:9px; }
#externalAdminScreen .ext-search-results { max-height:160px; overflow:auto; margin-top:5px; border:1px solid var(--line); border-radius:8px; }
#externalAdminScreen .ext-search-results:empty { display:none; }
#externalAdminScreen .ext-search-results button { width:100%; padding:10px; text-align:left; background:#fff; border:0; border-bottom:1px solid #eee; font-size:12px; }
#externalAdminScreen .ext-search-results button:hover { background:#f4f5f6; }
#externalAdminScreen .ext-attendance-filters { display:flex; align-items:end; gap:7px; flex-wrap:wrap; }
#externalAdminScreen .ext-attendance-filters .field { min-width:150px; margin:0; }
#externalAdminScreen .ext-history-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr); gap:9px; }
#externalAdminScreen .ext-history-map-card { min-height:430px; position:relative; overflow:hidden; border:1px solid var(--line); border-radius:11px; }
#externalAdminScreen .ext-history-map-card #externalAttendanceMap { min-height:430px; }
#externalAdminScreen .ext-message { min-height:20px; margin-top:7px; color:#176c3b; font-size:12px; line-height:1.45; }
#externalAdminScreen .ext-message.error { color:#a00000; }
#externalAdminScreen .ext-help { padding:11px; color:#515960; background:#f3f5f6; border-left:4px solid #7b8289; border-radius:8px; font-size:12px; line-height:1.5; }
#externalAdminScreen .ext-gps { font-size:11px; line-height:1.5; }
#externalAdminScreen .ext-gps a { color:#1b61ad; }
#externalAdminScreen .ext-no-gps { display:inline-block; color:#7a4e00; font-size:11px; font-weight:800; line-height:1.35; }

/* Libro de asistencia externo: calendario corporativo, visible solo en ERP Central. */
#externalAdminScreen .ext-attendance-kpis {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
  margin:0 0 10px;
}
#externalAdminScreen .ext-attendance-kpi {
  min-width:0;
  padding:14px 15px 13px;
  background:#fff;
  border:1px solid #d7dce1;
  border-top:4px solid var(--ext-dark);
  border-radius:11px;
  box-shadow:0 3px 12px rgba(24,28,32,.045);
}
#externalAdminScreen .ext-attendance-kpi:nth-child(1) { border-top-color:#16824f; }
#externalAdminScreen .ext-attendance-kpi:nth-child(2) { border-top-color:var(--ext-red); }
#externalAdminScreen .ext-attendance-kpi:nth-child(3) { border-top-color:#268fbd; }
#externalAdminScreen .ext-attendance-kpi:nth-child(4) { border-top-color:#d28a17; }
#externalAdminScreen .ext-attendance-kpi strong {
  display:block;
  overflow:hidden;
  color:#25292e;
  font-size:clamp(21px,2.1vw,28px);
  font-weight:900;
  font-variant-numeric:tabular-nums;
  line-height:1.08;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#externalAdminScreen .ext-attendance-kpi span {
  display:block;
  margin-top:5px;
  color:#626a72;
  font-size:12px;
  font-weight:750;
  line-height:1.3;
}

#externalAdminScreen .ext-att-calendar {
  min-width:0;
  margin:0 0 10px;
  overflow:hidden;
  color:#272c31;
  background:#fff;
  border:1px solid #cfd4da;
  border-radius:14px;
  box-shadow:0 4px 18px rgba(20,24,28,.06);
}
#externalAdminScreen .ext-cal-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-width:0;
  padding:14px 16px;
  color:#fff;
  background:linear-gradient(105deg,#282b30 0%,#3d4146 70%,#a80f17 100%);
}
#externalAdminScreen .ext-cal-top > div:first-child { min-width:0; }
#externalAdminScreen .ext-cal-title {
  overflow:hidden;
  font-size:24px;
  font-weight:900;
  letter-spacing:-.025em;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#externalAdminScreen .ext-cal-note {
  margin-top:3px;
  color:#e4e7e9;
  font-size:12px;
  line-height:1.35;
}
#externalAdminScreen .ext-cal-nav {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex:0 0 auto;
}
#externalAdminScreen .ext-cal-nav button {
  min-width:44px;
  min-height:44px;
  padding:0 13px;
  color:#282b30;
  background:#fff;
  border:1px solid rgba(255,255,255,.7);
  border-radius:999px;
  box-shadow:0 1px 4px rgba(0,0,0,.14);
  font:inherit;
  font-size:18px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
}
#externalAdminScreen .ext-cal-nav button.today {
  min-width:64px;
  font-size:13px;
}
#externalAdminScreen .ext-cal-nav button:hover { background:#f1f3f4; }
#externalAdminScreen .ext-cal-nav button:active { transform:translateY(1px); }
#externalAdminScreen .ext-cal-nav button:focus-visible {
  outline:3px solid rgba(255,255,255,.68);
  outline-offset:2px;
}
#externalAdminScreen .ext-cal-week,
#externalAdminScreen .ext-cal-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  min-width:0;
}
#externalAdminScreen .ext-cal-week {
  color:#41474d;
  background:#f0f2f4;
  border-bottom:1px solid #d7dce1;
}
#externalAdminScreen .ext-cal-week > * {
  min-width:0;
  padding:9px 3px;
  overflow:hidden;
  font-size:12px;
  font-weight:850;
  text-align:center;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
#externalAdminScreen .ext-cal-day {
  position:relative;
  display:block;
  width:100%;
  min-width:0;
  min-height:108px;
  padding:8px;
  overflow:hidden;
  color:#2c3136;
  background:#fff;
  border:0;
  border-right:1px solid #e1e4e7;
  border-bottom:1px solid #e1e4e7;
  border-radius:0;
  font:inherit;
  text-align:left;
  cursor:pointer;
  appearance:none;
}
#externalAdminScreen .ext-cal-day:nth-child(7n) { border-right:0; }
#externalAdminScreen .ext-cal-day:nth-last-child(-n+7) { border-bottom:0; }
#externalAdminScreen .ext-cal-day:hover { background:#fff5f5; }
#externalAdminScreen .ext-cal-day:focus-visible {
  z-index:3;
  outline:3px solid #247da9;
  outline-offset:-3px;
}
#externalAdminScreen .ext-cal-day.out,
#externalAdminScreen .ext-cal-day.outside,
#externalAdminScreen .ext-cal-day.is-outside,
#externalAdminScreen .ext-cal-day[data-outside="true"] {
  color:#969da4;
  background:#f7f8f9;
}
#externalAdminScreen .ext-cal-day.selected,
#externalAdminScreen .ext-cal-day.is-selected,
#externalAdminScreen .ext-cal-day[aria-pressed="true"] {
  z-index:2;
  background:#fff1f2;
  box-shadow:inset 0 0 0 3px var(--ext-red);
}
#externalAdminScreen .ext-cal-day.today .ext-cal-day-number,
#externalAdminScreen .ext-cal-day.is-today .ext-cal-day-number,
#externalAdminScreen .ext-cal-day[data-today="true"] .ext-cal-day-number,
#externalAdminScreen .ext-cal-day.today .ext-day-number,
#externalAdminScreen .ext-cal-day.is-today .ext-day-number,
#externalAdminScreen .ext-cal-day[data-today="true"] .ext-day-number {
  display:inline-grid;
  width:30px;
  height:30px;
  place-items:center;
  color:#fff;
  background:var(--ext-red);
  border-radius:50%;
}
#externalAdminScreen .ext-cal-day-number,
#externalAdminScreen .ext-day-number {
  display:block;
  margin-left:auto;
  color:inherit;
  font-size:17px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  line-height:30px;
  text-align:center;
}
#externalAdminScreen .ext-cal-day > strong {
  display:block;
  min-width:0;
  margin-top:10px;
  overflow:hidden;
  color:#242a2f;
  font-size:12px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#externalAdminScreen .ext-cal-hours,
#externalAdminScreen .ext-day-hours {
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
  margin-top:10px;
  color:#242a2f;
  font-size:12px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  line-height:1.25;
}
#externalAdminScreen .ext-cal-hours::before,
#externalAdminScreen .ext-day-hours::before {
  width:4px;
  height:22px;
  flex:0 0 auto;
  background:#268fbd;
  border-radius:4px;
  content:"";
}
#externalAdminScreen .ext-cal-range,
#externalAdminScreen .ext-day-range,
#externalAdminScreen .ext-cal-count,
#externalAdminScreen .ext-day-count {
  display:block;
  min-width:0;
  margin-top:3px;
  overflow:hidden;
  color:#68717a;
  font-size:10px;
  font-variant-numeric:tabular-nums;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#externalAdminScreen .ext-cal-alert,
#externalAdminScreen .ext-cal-ok,
#externalAdminScreen .ext-cal-empty {
  display:block;
  min-width:0;
  margin-top:4px;
  overflow:hidden;
  font-size:9px;
  font-weight:850;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#externalAdminScreen .ext-cal-alert { color:#a45e00; }
#externalAdminScreen .ext-cal-ok { color:#12683f; }
#externalAdminScreen .ext-cal-empty { color:#a5abb0; font-size:14px; text-align:center; }
#externalAdminScreen .ext-review-text { color:#a20d15; font-weight:800; }
#externalAdminScreen .ext-cal-day.has-record,
#externalAdminScreen .ext-cal-day.has-records,
#externalAdminScreen .ext-cal-day[data-state="records"] { box-shadow:inset 0 4px 0 #268fbd; }
#externalAdminScreen .ext-cal-day.complete,
#externalAdminScreen .ext-cal-day.is-complete,
#externalAdminScreen .ext-cal-day.has-complete,
#externalAdminScreen .ext-cal-day[data-state="complete"],
#externalAdminScreen .ext-cal-day[data-status="complete"] { box-shadow:inset 0 4px 0 #16824f; }
#externalAdminScreen .ext-cal-day.complete .ext-cal-hours::before,
#externalAdminScreen .ext-cal-day.complete .ext-day-hours::before,
#externalAdminScreen .ext-cal-day.is-complete .ext-cal-hours::before,
#externalAdminScreen .ext-cal-day.is-complete .ext-day-hours::before,
#externalAdminScreen .ext-cal-day[data-state="complete"] .ext-cal-hours::before,
#externalAdminScreen .ext-cal-day[data-state="complete"] .ext-day-hours::before { background:#16824f; }
#externalAdminScreen .ext-cal-day.missing,
#externalAdminScreen .ext-cal-day.missing-exit,
#externalAdminScreen .ext-cal-day.is-missing,
#externalAdminScreen .ext-cal-day.has-missing,
#externalAdminScreen .ext-cal-day[data-state="missing"],
#externalAdminScreen .ext-cal-day[data-status="missing-exit"] {
  background:#fff9ed;
  box-shadow:inset 0 4px 0 #d28a17;
}
#externalAdminScreen .ext-cal-day.missing .ext-cal-hours::before,
#externalAdminScreen .ext-cal-day.missing-exit .ext-cal-hours::before,
#externalAdminScreen .ext-cal-day.is-missing .ext-cal-hours::before,
#externalAdminScreen .ext-cal-day[data-state="missing"] .ext-cal-hours::before,
#externalAdminScreen .ext-cal-day[data-status="missing-exit"] .ext-cal-hours::before,
#externalAdminScreen .ext-cal-day.missing .ext-day-hours::before,
#externalAdminScreen .ext-cal-day.missing-exit .ext-day-hours::before,
#externalAdminScreen .ext-cal-day.is-missing .ext-day-hours::before { background:#d28a17; }
#externalAdminScreen .ext-cal-day.review,
#externalAdminScreen .ext-cal-day.is-review,
#externalAdminScreen .ext-cal-day.has-review,
#externalAdminScreen .ext-cal-day[data-state="review"],
#externalAdminScreen .ext-cal-day[data-status="review"] {
  background:#fff1f1;
  box-shadow:inset 0 4px 0 var(--ext-red);
}
#externalAdminScreen .ext-cal-day.review .ext-cal-hours::before,
#externalAdminScreen .ext-cal-day.is-review .ext-cal-hours::before,
#externalAdminScreen .ext-cal-day[data-state="review"] .ext-cal-hours::before,
#externalAdminScreen .ext-cal-day[data-status="review"] .ext-cal-hours::before,
#externalAdminScreen .ext-cal-day.review .ext-day-hours::before,
#externalAdminScreen .ext-cal-day.is-review .ext-day-hours::before { background:var(--ext-red); }
#externalAdminScreen .ext-cal-day.has-complete > strong { color:#12683f; }
#externalAdminScreen .ext-cal-day.has-missing > strong { color:#8f5705; }
#externalAdminScreen .ext-cal-day.has-review > strong { color:#a20d15; }
#externalAdminScreen .ext-cal-day.has-review .ext-cal-alert { color:#a20d15; }
#externalAdminScreen .ext-cal-day[aria-pressed="true"] { box-shadow:inset 0 0 0 3px var(--ext-red),inset 0 5px 0 var(--ext-red); }

#externalAdminScreen .ext-day-detail {
  min-width:0;
  margin:0 0 10px;
  padding:13px 14px;
  color:#30363c;
  background:#fff;
  border:1px solid #d7dce1;
  border-left:4px solid var(--ext-red);
  border-radius:11px;
  box-shadow:0 2px 10px rgba(20,24,28,.04);
}
#externalAdminScreen .ext-day-detail h4 {
  margin:0 0 8px;
  color:#252a2f;
  font-size:15px;
  line-height:1.3;
}
#externalAdminScreen .ext-day-detail .ext-day-records {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
#externalAdminScreen .ext-day-detail .ext-day-record,
#externalAdminScreen .ext-day-detail > .card {
  min-width:0;
  margin:6px 0 0;
  padding:10px 11px;
  background:#f7f8f9;
  border:1px solid #e0e4e7;
  border-radius:9px;
  box-shadow:none;
}
#externalAdminScreen .ext-day-detail .ext-day-record.complete { border-left:4px solid #16824f; }
#externalAdminScreen .ext-day-detail .ext-day-record.missing,
#externalAdminScreen .ext-day-detail .ext-day-record.missing-exit { border-left:4px solid #d28a17; }
#externalAdminScreen .ext-day-detail .ext-day-record.review { border-left:4px solid var(--ext-red); }
#externalAdminScreen .ext-day-detail .ext-day-record-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
#externalAdminScreen .ext-day-detail .ext-day-record-meta {
  margin-top:3px;
  color:#68717a;
  font-size:11px;
  line-height:1.45;
}
#externalAdminScreen .ext-day-detail .ext-day-record-hours {
  flex:0 0 auto;
  color:#252a2f;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
#externalAdminScreen .ext-rectify-panel[hidden] { display:none !important; }
#externalAdminScreen .ext-manual-panel[hidden] { display:none !important; }
#externalAdminScreen .ext-manual-panel {
  margin-bottom:10px;
  border:1px solid #d8dde2;
  border-left:4px solid #16824f;
  box-shadow:0 4px 16px rgba(20,24,28,.06);
}
#externalAdminScreen .ext-manual-panel h3 { margin:0 0 3px; }
#externalAdminScreen .ext-manual-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:10px;
}
#externalAdminScreen [data-attendance-manual-message] { flex:1 1 260px; margin:0; }
#externalAdminScreen .ext-rectify-panel {
  margin-bottom:10px;
  border:1px solid #d8dde2;
  border-left:4px solid var(--ext-red);
  box-shadow:0 4px 16px rgba(20,24,28,.06);
}
#externalAdminScreen .ext-rectify-panel h3 { margin:0 0 3px; }
#externalAdminScreen .ext-rectify-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
#externalAdminScreen .ext-rectify-original {
  margin:10px 0 3px;
  padding:10px 12px;
  color:#4b535a;
  background:#f4f6f7;
  border:1px solid #dde1e5;
  border-radius:9px;
  font-size:12px;
  line-height:1.5;
}
#externalAdminScreen .ext-rectify-history {
  margin-top:9px;
  padding:11px 12px;
  background:#fffaf0;
  border:1px solid #eadfc8;
  border-radius:9px;
}
#externalAdminScreen .ext-rectify-history h4 { margin:0 0 7px; font-size:13px; }
#externalAdminScreen .ext-rectify-history ol { margin:0; padding-left:22px; }
#externalAdminScreen .ext-rectify-history li { padding:4px 0; color:#343a40; font-size:12px; line-height:1.45; }
#externalAdminScreen .ext-rectify-history li span,
#externalAdminScreen .ext-rectify-history li small { display:block; }
#externalAdminScreen .ext-rectify-history li small { color:#68717a; }
#externalAdminScreen [data-attendance-rectify-message] { flex:1 1 260px; margin:0; }
#externalAdminScreen [data-attendance-message]:empty { display:none; }
#externalAdminScreen [data-attendance-message] { margin:-2px 0 9px; padding:8px 10px; background:#edf8f1; border-radius:8px; }
#externalAdminScreen [data-attendance-summary] td,
#externalAdminScreen [data-attendance-list] td { font-variant-numeric:tabular-nums; }

@media(max-width:1000px) {
  #externalAdminScreen .ext-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #externalAdminScreen .ext-fence-layout, #externalAdminScreen .ext-history-grid { grid-template-columns:1fr; }
  #externalAdminScreen .ext-map-shell { min-height:380px; }
  #externalAdminScreen .ext-cal-day { min-height:94px; padding:7px; }
  #externalAdminScreen .ext-day-detail .ext-day-records { grid-template-columns:1fr; }
  #externalAdminScreen .ext-manual-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #externalAdminScreen .ext-rectify-grid { grid-template-columns:1fr; }
}
@media(max-width:720px) {
  #externalAdminScreen .ext-hero { display:block; }
  #externalAdminScreen .ext-hero-actions { justify-content:flex-start; margin-top:12px; }
  #externalAdminScreen .ext-kpis { grid-template-columns:repeat(2,1fr); }
  #externalAdminScreen .ext-form-grid, #externalAdminScreen .ext-cards { grid-template-columns:1fr; }
  #externalAdminScreen .ext-manual-grid { grid-template-columns:1fr; }
  #externalAdminScreen .ext-logo-row { align-items:flex-start; flex-direction:column; }
  #externalAdminScreen .ext-attendance-filters { align-items:stretch; flex-direction:column; }
  #externalAdminScreen .ext-attendance-filters .field { width:100%; }
  #externalAdminScreen .ext-map-shell { min-height:330px; }
  #externalAdminScreen .ext-attendance-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  #externalAdminScreen .ext-attendance-kpi { padding:11px 12px; }
  #externalAdminScreen .ext-cal-top { align-items:flex-start; padding:12px; }
  #externalAdminScreen .ext-cal-title { font-size:20px; }
  #externalAdminScreen .ext-cal-note { max-width:360px; font-size:11px; }
  #externalAdminScreen .ext-cal-nav { gap:4px; }
  #externalAdminScreen .ext-cal-nav button { min-width:44px; min-height:44px; padding:0 10px; }
  #externalAdminScreen .ext-cal-nav button.today { min-width:58px; }
  #externalAdminScreen .ext-cal-week > * { padding:7px 1px; font-size:10px; }
  #externalAdminScreen .ext-cal-day { min-height:76px; padding:5px; }
  #externalAdminScreen .ext-cal-day-number,
  #externalAdminScreen .ext-day-number { font-size:14px; line-height:26px; }
  #externalAdminScreen .ext-cal-day.today .ext-cal-day-number,
  #externalAdminScreen .ext-cal-day.is-today .ext-cal-day-number,
  #externalAdminScreen .ext-cal-day[data-today="true"] .ext-cal-day-number,
  #externalAdminScreen .ext-cal-day.today .ext-day-number,
  #externalAdminScreen .ext-cal-day.is-today .ext-day-number,
  #externalAdminScreen .ext-cal-day[data-today="true"] .ext-day-number { width:26px; height:26px; }
  #externalAdminScreen .ext-cal-hours,
  #externalAdminScreen .ext-day-hours,
  #externalAdminScreen .ext-cal-day > strong { margin-top:6px; font-size:10px; }
  #externalAdminScreen .ext-cal-hours::before,
  #externalAdminScreen .ext-day-hours::before { width:3px; height:17px; }
  #externalAdminScreen .ext-cal-range,
  #externalAdminScreen .ext-day-range,
  #externalAdminScreen .ext-cal-count,
  #externalAdminScreen .ext-day-count,
  #externalAdminScreen .ext-cal-alert,
  #externalAdminScreen .ext-cal-ok { font-size:8px; }
  #externalAdminScreen .ext-day-detail { padding:11px; }
}
@media(min-width:360px) and (max-width:720px) {
  #externalAdminScreen .ext-cal-day { min-width:44px; }
}
@media(max-width:430px) {
  #externalAdminScreen .ext-cal-top { display:block; }
  #externalAdminScreen .ext-cal-note { white-space:normal; }
  #externalAdminScreen .ext-cal-nav { justify-content:flex-start; margin-top:9px; }
  #externalAdminScreen .ext-cal-day { min-height:68px; padding:4px; }
  #externalAdminScreen .ext-cal-range,
  #externalAdminScreen .ext-day-range { display:none; }
  #externalAdminScreen .ext-cal-count,
  #externalAdminScreen .ext-day-count { margin-top:1px; }
}
@media(max-width:390px) {
  #externalAdminScreen .ext-attendance-kpi { padding:10px; }
  #externalAdminScreen .ext-attendance-kpi strong { font-size:20px; }
  #externalAdminScreen .ext-attendance-kpi span { font-size:11px; }
  #externalAdminScreen .ext-cal-top { padding:11px; }
  #externalAdminScreen .ext-cal-day { min-height:64px; padding:3px; }
  #externalAdminScreen .ext-cal-week > * { font-size:9px; }
  #externalAdminScreen .ext-cal-hours,
  #externalAdminScreen .ext-day-hours,
  #externalAdminScreen .ext-cal-day > strong { gap:3px; font-size:9px; }
}
@media(max-width:360px) {
  #externalAdminScreen .ext-attendance-kpis { gap:5px; }
  #externalAdminScreen .ext-attendance-kpi { padding:9px 8px; }
  #externalAdminScreen .ext-cal-title { font-size:18px; }
  #externalAdminScreen .ext-cal-note { font-size:10px; }
  #externalAdminScreen .ext-cal-day { min-height:60px; padding:3px 2px; }
  #externalAdminScreen .ext-cal-day-number,
  #externalAdminScreen .ext-day-number { font-size:13px; }
  #externalAdminScreen .ext-cal-hours::before,
  #externalAdminScreen .ext-day-hours::before { display:none; }
  #externalAdminScreen .ext-cal-count,
  #externalAdminScreen .ext-day-count { display:none; }
}


/* ---- Feriados legales (3.5.6) ---- */
#externalAdminScreen .ext-cal-day.holiday { background:#fff8e6; }
#externalAdminScreen .ext-cal-day.holiday.outside { background:#faf5ea; }
#externalAdminScreen .ext-cal-day.holiday.holiday-normal { background:#f3f6fb; }
#externalAdminScreen .ext-cal-day.holiday .ext-cal-day-number { color:#9a4d00; }
#externalAdminScreen .ext-cal-day.holiday.holiday-normal .ext-cal-day-number { color:#2d4a6b; }
#externalAdminScreen .ext-cal-day.holiday.today .ext-cal-day-number { color:#fff; }
#externalAdminScreen .ext-cal-holiday {
  display:block;
  min-width:0;
  margin-top:4px;
  overflow:hidden;
  color:#9a4d00;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#externalAdminScreen .ext-cal-day.holiday-normal .ext-cal-holiday { color:#2d4a6b; }
#externalAdminScreen .ext-cal-holiday em {
  display:block;
  color:inherit;
  font-size:9px;
  font-style:normal;
  font-weight:700;
  opacity:.85;
  text-transform:uppercase;
}
#externalAdminScreen .ext-attendance-kpi-holiday strong { color:#9a4d00; }
#externalAdminScreen .ext-holiday {
  margin:0 0 12px;
  padding:10px 14px;
  background:#fff8e6;
  border:1px solid #f1dfb3;
  border-radius:12px;
}
#externalAdminScreen .ext-holiday > summary {
  cursor:pointer;
  color:#7a3d00;
  font-weight:800;
}
#externalAdminScreen .ext-holiday-head {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:10px 0 4px;
}
#externalAdminScreen .ext-holiday-badge { background:#9a4d00; color:#fff; }
#externalAdminScreen .ext-holiday-rule { margin:0 0 10px; }
#externalAdminScreen .ext-holiday-companies { display:grid; gap:8px; }
#externalAdminScreen .ext-holiday-company {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 14px;
  padding:9px 12px;
  background:#fff;
  border:1px solid #ecdfc3;
  border-radius:10px;
}
#externalAdminScreen .ext-holiday-actions { display:flex; flex-wrap:wrap; gap:6px; }
#externalAdminScreen .ext-holiday-actions .btn[aria-pressed="true"] { box-shadow:inset 0 0 0 2px rgba(0,0,0,.12); }
#externalAdminScreen .ext-holiday-custom {
  display:grid;
  gap:8px;
  padding:9px 12px;
  background:#fff;
  border:1px dashed #d9c48f;
  border-radius:10px;
}
#externalAdminScreen .ext-holiday-custom .field input { width:100%; }
@media (max-width: 900px) {
  #externalAdminScreen .ext-attendance-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #externalAdminScreen .ext-cal-holiday em { display:none; }
}

/* 3.9.5: colores tomados del logo */
#externalAdminScreen .ext-brand { margin-top: 14px; padding: 14px; border: 1px solid #e3e6ea; border-radius: 12px; background: #fafbfb; }
#externalAdminScreen .ext-brand-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 18px; align-items: start; }
#externalAdminScreen .ext-brand-pick { display: flex; flex-direction: column; gap: 10px; }
#externalAdminScreen .ext-brand-row { display: flex; align-items: center; gap: 10px; }
#externalAdminScreen .ext-brand-row > span { width: 64px; font-size: 12px; font-weight: 800; color: #5b636b; }
#externalAdminScreen .ext-brand-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
#externalAdminScreen .ext-swatch { width: 34px; height: 34px; border-radius: 9px; border: 2px solid #fff; box-shadow: 0 0 0 1px #c9ced3; cursor: pointer; padding: 0; position: relative; display: grid; place-items: center; font-weight: 800; color: #5b636b; background: #fff; }
#externalAdminScreen .ext-swatch.on { box-shadow: 0 0 0 3px #15191d; }
#externalAdminScreen .ext-swatch.other input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
#externalAdminScreen .ext-brand-check { font-size: 13px; color: #11613a; background: #e7f6ec; border-radius: 8px; padding: 8px 10px; }
#externalAdminScreen .ext-brand-check:empty { display: none; }
#externalAdminScreen .ext-brand-toggle { font-size: 13px; font-weight: 700; display: flex; gap: 8px; align-items: center; }
#externalAdminScreen .ext-brand-pick .btn { align-self: flex-start; }
#externalAdminScreen .ext-brand-preview { display: flex; gap: 14px; align-items: flex-start; }
#externalAdminScreen .ext-mini-phone { width: 150px; flex: 0 0 auto; border: 6px solid #1e2326; border-radius: 22px; background: #f3f4f6; overflow: hidden; }
#externalAdminScreen .ext-mini-top { height: 30px; display: flex; align-items: center; gap: 6px; padding: 0 8px; background: #fff; border-bottom: 1px solid #e3e6ea; font-size: 9px; }
#externalAdminScreen .ext-mini-top img, #externalAdminScreen .ext-mini-pdf-head img { width: 18px; height: 18px; object-fit: contain; }
#externalAdminScreen .ext-mini-hero { margin: 8px; border-radius: 10px; padding: 8px; color: #fff; display: flex; flex-direction: column; gap: 5px; font-size: 9px; }
#externalAdminScreen .ext-mini-hero b { font-size: 11px; }
#externalAdminScreen .ext-mini-hero span { background: #fff; border-radius: 6px; padding: 5px; text-align: center; font-weight: 800; }
#externalAdminScreen .ext-mini-tabs { height: 28px; margin-top: 40px; background: #fff; border-top: 1px solid #e3e6ea; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; justify-items: center; }
#externalAdminScreen .ext-mini-tabs span { width: 22px; height: 10px; border-radius: 999px; border: 2px solid; }
#externalAdminScreen .ext-mini-tabs i { width: 10px; height: 10px; border-radius: 3px; background: #c9ced3; }
#externalAdminScreen .ext-mini-pdf { flex: 1; min-width: 0; background: #fff; border-radius: 4px; box-shadow: 0 4px 16px rgba(0,0,0,.12); overflow: hidden; }
#externalAdminScreen .ext-mini-pdf-head { display: flex; align-items: center; gap: 6px; padding: 8px; border-bottom: 1px solid #e3e6ea; font-size: 10px; }
#externalAdminScreen .ext-mini-pdf-head b { flex: 1; }
#externalAdminScreen .ext-mini-pdf-head span { padding: 2px 6px; border-radius: 999px; font-size: 8px; font-weight: 800; }
#externalAdminScreen .ext-mini-pdf-body { padding: 8px; display: flex; flex-direction: column; gap: 6px; }
#externalAdminScreen .ext-mini-pdf-body small { font-size: 8px; font-weight: 800; letter-spacing: .06em; }
#externalAdminScreen .ext-mini-total { border: 1.5px solid; border-radius: 6px; padding: 6px; display: flex; justify-content: space-between; font-size: 10px; }
#externalAdminScreen .ext-mini-th { height: 12px; border-radius: 3px 3px 0 0; }
#externalAdminScreen .ext-mini-pdf-body i { height: 10px; border-bottom: 1px solid #eef0f2; }
@media (max-width: 900px) { #externalAdminScreen .ext-brand-cols { grid-template-columns: 1fr; } }
