/* Sistema visual unificado de CFC App. El Inicio conserva su layout propio. */
/* Importador OCR local: modal fijo, desplazamiento solo vertical, campos legibles. */
.cronograma-import-overlay { position:fixed; inset:0; z-index:10050; display:grid; place-items:center; padding:16px; background:#05292ede; box-sizing:border-box; }
.cronograma-import-modal { width:min(960px,100%); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; background:#fff; color:#182735; border-radius:24px; padding:24px; box-sizing:border-box; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.cronograma-import-modal * { box-sizing:border-box; }
.cronograma-import-modal [hidden] { display:none!important; }
.cronograma-import-modal > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.cronograma-import-modal h2 { color:#182735; font-size:30px; margin:6px 0 10px; }
.cronograma-import-modal h3 { color:#182735; margin:0 0 8px; }
.cronograma-import-modal p { color:#627383; font-size:14px; line-height:1.5; overflow-wrap:anywhere; margin:12px 0; }
.cronograma-import-modal small { color:#086970; font-size:12px; }
.cronograma-import-privacy { padding:12px 14px; background:#e7f6f7; border-radius:12px; }
.cronograma-import-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:24px; align-items:start; }
.cronograma-import-layout > section { min-width:0; }
.cronograma-import-modal img { max-width:100%; height:auto; border:1px solid #e0e8ec; border-radius:14px; margin:12px 0; }
.cronograma-import-modal label { display:grid; gap:7px; margin:12px 0; color:#182735; font-size:14px; font-weight:600; }
.cronograma-import-modal :is(input:not([type=checkbox]),textarea) { min-width:0; max-width:100%; width:100%; min-height:44px; border:1px solid #cadadd; border-radius:10px; padding:10px 12px; background:#fff; color:#182735; font:inherit; font-size:16px; }
.cronograma-import-modal textarea { resize:vertical; }
.cronograma-import-modal button,.cronograma-image-btn { min-height:44px; padding:10px 14px; border:1px solid #0B3E43; border-radius:12px; background:#0B3E43!important; color:#fff!important; font:inherit; font-size:14px; cursor:pointer; }
.cronograma-import-modal button:disabled { opacity:.45; cursor:default; }
.cronograma-import-modal button:not(:disabled):active { background:#086970!important; }
.cronograma-import-modal :is(button,input,textarea,summary):focus-visible { outline:2px solid #0097A3; outline-offset:2px; }
.cronograma-import-modal summary { min-height:44px; padding:12px 0; color:#086970; font-size:14px; cursor:pointer; }
.cronograma-import-modal .cronograma-import-review { display:flex; align-items:flex-start; gap:10px; line-height:1.5; font-weight:400; }
.cronograma-import-review input { width:20px; height:20px; flex-shrink:0; accent-color:#086970; }
.cronograma-import-row { border:1px solid #e0e8ec; border-radius:14px; padding:14px; margin:12px 0; background:#f8fafb; }
.cronograma-import-row-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.cronograma-import-row-heading strong { color:#182735; font-size:14px; }
.cronograma-import-row-heading > div { display:flex; gap:5px; }
.cronograma-import-row-heading button { min-width:44px; padding:8px; }
.cronograma-admin-header { flex-wrap:wrap; }
@media(max-width:800px) {
  .cronograma-import-overlay { padding:10px; }
  .cronograma-import-modal { max-height:calc(100dvh - 20px); border-radius:18px; padding:18px; }
  .cronograma-import-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
  .cronograma-import-modal h2 { font-size:26px; }
  .cronograma-image-btn { width:100%; }
}
/* Confirmo: descripción legible, en flujo normal, sin tapar el selector. */
.setlist-date-picker { position:relative; z-index:2; min-width:0; margin:4px 0 24px; }
.setlist-date-picker .confirmo-date-label { margin-top:0; }
.setlist-date-picker .confirmo-date-tabs { padding-bottom:12px; scroll-padding-bottom:12px; }
.setlist-date-picker .setlist-date-tab { min-width:100px; min-height:52px; padding:8px 14px; touch-action:manipulation; }
.setlist-date-picker .setlist-date-tab > span:last-child { display:grid; gap:2px; text-align:center; }
.setlist-date-picker .setlist-date-tab small { display:block; max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; font-weight:500; }
.setlist-date-loading > :not(.section-heading):not(.setlist-date-picker):not(#setlistDateLoading) { display:none!important; }
.setlist-date-loading .setlist-header-actions { visibility:hidden; }
.setlist-switch-loading { min-height:110px; display:grid; place-items:center; padding:20px; border-radius:16px; background:#f0f7f7; color:#086970; font-size:15px; font-weight:600; text-align:center; }
body[data-cfc-ui="fresh"] #view-canciones .locked-setlist-wrapper .locked-setlist { display:none; }
body[data-cfc-ui="fresh"] #view-canciones .locked-setlist-wrapper .locked-setlist-overlay {
  position:relative; top:auto; left:auto; transform:none; width:min(520px,100%);
  margin:0 auto;
  background:#123338;
  color:#fff;
}
body[data-cfc-ui="fresh"] #view-canciones .locked-setlist-overlay .locked-message :is(h3,strong) { color:#fff; }
body[data-cfc-ui="fresh"] #view-canciones .locked-setlist-overlay .locked-message p { color:#e7f3f3; }
@media(max-width:800px) {
  body[data-cfc-ui="fresh"] #view-canciones .locked-setlist-overlay .locked-message {
    background:transparent; border:0; padding:0;
  }
}
.cfc-fresh-app .setlist-auto-missing { background:#fff8eb; border-color:#efc981; color:#533b1e; }
.cfc-fresh-app .setlist-auto-missing strong { color:#3b2a16; }
.cfc-fresh-app .setlist-auto-missing-names { color:#795017; }
@media(max-width:800px) { .setlist-date-picker .setlist-date-tab { min-width:96px; min-height:50px; } }
body[data-cfc-ui="fresh"] #view-confirmo .confirmo-overview {
  display:grid; grid-template-columns:minmax(0,1fr); gap:0; min-width:0;
}
body[data-cfc-ui="fresh"] #view-confirmo .confirmo-overview.has-meeting-info {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:28px;
}
body[data-cfc-ui="fresh"] #view-confirmo .confirmo-heading { grid-column:1; grid-row:1; margin:0; }
body[data-cfc-ui="fresh"] #view-confirmo .confirmo-date-picker { grid-column:1; grid-row:2; min-width:0; }
body[data-cfc-ui="fresh"] #view-confirmo .confirmo-meeting-info {
  grid-column:2; grid-row:1 / 3; align-self:center; min-width:0;
  padding:20px 22px; margin:0 0 12px; border:1px solid #c9e8e9;
  border-radius:18px; background:#f1f9f9; color:#182735;
}
body[data-cfc-ui="fresh"] #view-confirmo .confirmo-meeting-info small {
  display:block; color:#086970; font-size:12px; font-weight:700; line-height:1.5;
  letter-spacing:.06em; text-transform:uppercase;
}
body[data-cfc-ui="fresh"] #view-confirmo .confirmo-meeting-info p {
  margin:8px 0 0; color:#182735; font-size:18px; font-weight:600; line-height:1.5;
  white-space:pre-line; overflow-wrap:anywhere; word-break:normal;
}
@media(max-width:800px) {
  body[data-cfc-ui="fresh"] #view-confirmo .confirmo-overview.has-meeting-info { grid-template-columns:minmax(0,1fr); }
  body[data-cfc-ui="fresh"] #view-confirmo .confirmo-meeting-info { grid-column:1; grid-row:2; margin:16px 0 0; padding:14px 16px; }
  body[data-cfc-ui="fresh"] #view-confirmo .confirmo-meeting-info p { font-size:16px; }
  body[data-cfc-ui="fresh"] #view-confirmo .has-meeting-info .confirmo-date-picker { grid-row:3; }
  body[data-cfc-ui="fresh"] #view-confirmo .has-meeting-info .confirmo-date-label { margin-top:18px; }
}
/* Panel Push privado, con desplazamiento vertical y sin desbordes laterales. */
body[data-cfc-ui="fresh"] .admin-push-modal { width:min(800px,100%); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; box-sizing:border-box; }
.push-admin-panel { margin-top:24px; padding-top:22px; border-top:1px solid #e0e8ec; color:#182735; min-width:0; }
.push-admin-panel p { color:#627383; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.push-admin-panel h3 { font-size:20px; margin:0; color:#182735; }
.push-admin-panel h4 { margin:22px 0 10px; color:#182735; }
.push-admin-heading,.push-admin-target { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.push-admin-target { margin-bottom:16px; color:#182735; flex-wrap:wrap; }
.push-admin-panel button,.push-admin-target button { min-height:44px; border:1px solid #cadadd; border-radius:12px; padding:10px 14px; background:#0B3E43; color:#fff; font:inherit; font-size:13px; cursor:pointer; }
.push-admin-panel button:disabled { opacity:.5; cursor:default; }
.push-admin-search { display:grid; gap:7px; font-size:13px; margin:18px 0; color:#182735; }
.push-admin-search input { width:100%; min-width:0; min-height:48px; box-sizing:border-box; font:inherit; font-size:16px; padding:10px 12px; border:1px solid #cadadd; border-radius:12px; color:#182735; background:#fff; }
.push-admin-search input:focus-visible { outline:2px solid #0097A3; outline-offset:2px; }
[data-push-users] { max-height:360px; overflow-y:auto; overscroll-behavior:contain; }
.push-admin-user { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid #e0e8ec; }
.push-admin-user > div { display:grid; gap:4px; min-width:0; }
.push-admin-user strong { color:#182735; overflow-wrap:anywhere; }
.push-admin-user small { color:#627383; font-size:12px; line-height:1.45; }
.push-admin-history { border:1px solid #e0e8ec; border-radius:14px; background:#f7fafb; padding:12px; margin:8px 0; overflow-wrap:anywhere; }
.push-admin-history summary { cursor:pointer; min-height:44px; color:#182735; font-size:13px; line-height:1.5; }
.push-admin-history ul { padding-left:20px; color:#182735; font-size:13px; line-height:1.6; }
body[data-cfc-ui="fresh"] .admin-push-preview :is(h3,strong),body[data-cfc-ui="fresh"] .admin-push-reach strong { color:#182735; }
body[data-cfc-ui="fresh"] .admin-push-status.is-success { color:#086970; }
@media(max-width:600px) { .push-admin-user { grid-template-columns:minmax(0,1fr); } .push-admin-user button { width:100%; } .push-admin-heading { align-items:flex-start; } }
body[data-cfc-ui="fresh"].cfc-fresh-app {
  --cfc-ui-accent: #0097a3;
  --cfc-ui-accent-dark: #006c75;
  --cfc-ui-selected: #086970;
  --cfc-ui-soft: #e7f6f7;
  --cfc-ui-ink: #182735;
  --cfc-ui-muted: #627383;
  --cfc-ui-line: #e0e8ec;
  --cfc-ui-shadow: 0 3px 0 #173a4608, 0 16px 38px #173a4610;
}
body.cfc-fresh-app:not(.cfc-fresh-home) {
  color-scheme: light;
  background: #f4f7f8;
  color: var(--cfc-ui-ink);
  --bg: #f4f7f8;
  --bg-2: #f4f7f8;
  --card: #fff;
  --card-2: #f5f8fa;
  --card-3: #edf3f5;
  --line: var(--cfc-ui-line);
  --line-strong: #cadadd;
  --text: var(--cfc-ui-ink);
  --muted: var(--cfc-ui-muted);
  --soft: #80929d;
  --brand: var(--cfc-ui-accent);
  --brand-light: var(--cfc-ui-accent);
}
body.cfc-fresh-app:not(.cfc-fresh-home)::before,
body.cfc-fresh-app:not(.cfc-fresh-home)::after { display: none; }
body.cfc-fresh-app:not(.cfc-fresh-home) .main {
  position: relative;
  isolation: isolate;
  width: min(1180px, 100%);
  padding: 40px 40px 64px;
}
body.cfc-fresh-app:not(.cfc-fresh-home) .main::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 0 auto;
  height: 270px;
  border-radius: 0 0 48% 12% / 0 0 12% 5%;
  background: radial-gradient(ellipse at 75% 105%, #56c7ca, #20abb4 38%, transparent 70%), var(--cfc-ui-accent);
  pointer-events: none;
}
body.cfc-fresh-app:not(.cfc-fresh-home) .topbar-app {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 32px;
}
body.cfc-fresh-app:not(.cfc-fresh-home) .topbar-app > div:first-child { display: block; flex: 1; min-width: 0; }
body.cfc-fresh-app:not(.cfc-fresh-home) .topbar-app .eyebrow,
body.cfc-fresh-app:not(.cfc-fresh-home) .topbar-app h1,
body.cfc-fresh-app:not(.cfc-fresh-home) #personalLine { color: #fff; }
body.cfc-fresh-app:not(.cfc-fresh-home) .topbar-app .eyebrow { font-size: 11px; letter-spacing: .16em; }
body.cfc-fresh-app:not(.cfc-fresh-home) .topbar-app h1 { font-size: clamp(30px, 3.4vw, 43px); line-height: 1.08; letter-spacing: -.045em; }
body.cfc-fresh-app:not(.cfc-fresh-home) #personalLine { font-size: 14px; line-height: 1.4; }
body.cfc-fresh-app:not(.cfc-fresh-home) .top-actions { position: relative; inset: auto; display: flex; flex: 0 0 auto; align-items: center; gap: 9px; padding: 0; }
body.cfc-fresh-app:not(.cfc-fresh-home) .top-actions .circle-btn,
body.cfc-fresh-app:not(.cfc-fresh-home) .profile-chip {
  min-width: 46px;
  min-height: 46px;
  height: 46px;
  border: 1px solid #ffffff55;
  background: #fffffff0;
  color: var(--cfc-ui-accent);
  box-shadow: 0 3px 0 #006c7520;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #notificationsCount { background: #ffd08e; color: #66310c; border: 2px solid var(--cfc-ui-accent); }
body.cfc-fresh-app:not(.cfc-fresh-home) .sidebar {
  background: #fbfdfe;
  border-right: 1px solid var(--cfc-ui-line);
  color: var(--cfc-ui-ink);
}
body.cfc-fresh-app:not(.cfc-fresh-home) .sidebar .nav-btn,
body.cfc-fresh-app:not(.cfc-fresh-home) .sidebar .nav-btn span { color: #516373; }
body.cfc-fresh-app:not(.cfc-fresh-home) .sidebar .nav-btn.active,
body.cfc-fresh-app:not(.cfc-fresh-home) .sidebar .nav-btn.active span { background: var(--cfc-ui-soft); color: var(--cfc-ui-accent-dark); }
body.cfc-fresh-app:not(.cfc-fresh-home) .sidebar .user-card { background: #eff5f7; border-color: var(--cfc-ui-line); color: var(--cfc-ui-ink); }
body.cfc-fresh-app:not(.cfc-fresh-home) .sidebar .user-card small,
body.cfc-fresh-app:not(.cfc-fresh-home) .sidebar .brand-lockup small,
body.cfc-fresh-app:not(.cfc-fresh-home) .sidebar .support-block a { color: var(--cfc-ui-muted); }
body.cfc-fresh-app:not(.cfc-fresh-home) .sidebar .support-block strong,
body.cfc-fresh-app:not(.cfc-fresh-home) .sidebar .brand-lockup strong { color: var(--cfc-ui-ink); }

/* Tarjetas, listas y secciones comparten el aspecto del Inicio. */
body.cfc-fresh-app:not(.cfc-fresh-home) .view .card,
body.cfc-fresh-app:not(.cfc-fresh-home) .view .visual-team-card,
body.cfc-fresh-app:not(.cfc-fresh-home) .view .cronograma-program-panel,
body.cfc-fresh-app:not(.cfc-fresh-home) .view .cronograma-announcements-panel,
body.cfc-fresh-app:not(.cfc-fresh-home) .view .production-summary-card,
body.cfc-fresh-app:not(.cfc-fresh-home) .view .production-column,
body.cfc-fresh-app:not(.cfc-fresh-home) .view .production-task,
body.cfc-fresh-app:not(.cfc-fresh-home) .view .admin-v2-card {
  border: 1px solid var(--cfc-ui-line);
  border-radius: 28px;
  background: #fff;
  color: var(--cfc-ui-ink);
  box-shadow: var(--cfc-ui-shadow);
}
body.cfc-fresh-app:not(.cfc-fresh-home) .view .section-heading .eyebrow,
body.cfc-fresh-app:not(.cfc-fresh-home) .view .production-header .eyebrow,
body.cfc-fresh-app:not(.cfc-fresh-home) .view .admin-v2-heading .eyebrow { color: var(--cfc-ui-accent-dark); }
body.cfc-fresh-app:not(.cfc-fresh-home) .view :is(.section-heading, .production-header, .admin-v2-heading) :is(h2, h3),
body.cfc-fresh-app:not(.cfc-fresh-home) .view :is(.section-heading, .production-header, .admin-v2-heading) p:not(.eyebrow) { color: var(--cfc-ui-ink); }
body.cfc-fresh-app:not(.cfc-fresh-home) .view :is(.clean-item, .assignment-row, .setlist-card, .confirmo-schedule-item, .admin-edit-row, .admin-convocation-card, .admin-team-builder, .song-studio-form-section, .song-studio-library-row, .cronograma-arrival-card, .cronograma-announcement-card) {
  border: 1px solid var(--cfc-ui-line);
  border-radius: 19px;
  background: #f8fafb;
  color: var(--cfc-ui-ink);
  box-shadow: none;
}
body.cfc-fresh-app:not(.cfc-fresh-home) .view :is(.clean-item, .assignment-row, .setlist-card, .admin-edit-row, .cronograma-announcement-card) strong { color: var(--cfc-ui-ink); }

/* Fechas, confirmaciones y canciones. */
body.cfc-fresh-app:not(.cfc-fresh-home) .confirmo-date-label,
body.cfc-fresh-app:not(.cfc-fresh-home) .confirmo-team-title { color: var(--cfc-ui-ink); }
body.cfc-fresh-app:not(.cfc-fresh-home) .confirmo-date-title,
body.cfc-fresh-app:not(.cfc-fresh-home) .confirmo-date-tab,
body.cfc-fresh-app:not(.cfc-fresh-home) .songs-tab,
body.cfc-fresh-app:not(.cfc-fresh-home) .setlist-number {
  border: 1px solid var(--cfc-ui-line);
  background: var(--cfc-ui-soft);
  color: var(--cfc-ui-accent-dark);
}
body.cfc-fresh-app:not(.cfc-fresh-home) .confirmo-date-tab.active,
body.cfc-fresh-app:not(.cfc-fresh-home) .songs-tab.active { border-color: var(--cfc-ui-accent); background: var(--cfc-ui-accent); color: #fff; box-shadow: 0 5px 0 var(--cfc-ui-accent-dark); }
body.cfc-fresh-app:not(.cfc-fresh-home) .confirmo-team-title::before { background: var(--cfc-ui-accent); }
body.cfc-fresh-app:not(.cfc-fresh-home) .setlist-auto-player { border-color: var(--cfc-ui-line); background: #fff; color: var(--cfc-ui-ink); }
body.cfc-fresh-app:not(.cfc-fresh-home) .setlist-auto-track { background: #f4f8f9; color: var(--cfc-ui-ink); }
body.cfc-fresh-app:not(.cfc-fresh-home) .setlist-auto-track[aria-current="true"] { border-color: var(--cfc-ui-accent); background: var(--cfc-ui-soft); }
body.cfc-fresh-app:not(.cfc-fresh-home) .setlist-auto-open { color: var(--cfc-ui-accent-dark); }
body.cfc-fresh-app:not(.cfc-fresh-home) .setlist-auto-footer { color: var(--cfc-ui-muted); }
body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-content { min-width: 0; }
body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-song-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 16px;
  min-width: 0;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-song-title {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-tonality {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-tonality-label {
  color: var(--cfc-ui-ink);
  font-size: 13px;
  font-weight: 750;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-tonality-value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 30px;
  padding: 2px 10px;
  border: 2px solid #00b686;
  border-radius: 999px;
  background: #0b3e43;
  color: #fff;
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .02em;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-edit-tone-btn {
  border-color: #88d6cb;
  background: #e8f7f4;
  color: #075b61;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-edit-tone-label-mobile { display: none; }
body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-edit-tone-btn:hover,
body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-edit-tone-btn:focus-visible {
  border-color: #00978b;
  background: #d8f2ed;
  outline-color: #00978b;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-category-badge {
  min-height: 26px;
  border: 1.5px solid #00b686;
  background: #fff;
  color: #086970;
  font-size: 12px;
  font-weight: 800;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-bpm-badge {
  border: 1px solid var(--cfc-ui-line);
  background: var(--cfc-ui-soft);
  color: var(--cfc-ui-muted);
}
@media (max-width: 600px) {
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-card {
    grid-template-columns: 40px minmax(0, 1fr) max-content;
    grid-template-rows: auto auto minmax(50px, auto) auto;
    align-items: start;
    column-gap: 12px;
    row-gap: 0;
  }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-content,
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-song-title-row { display: contents; }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-number {
    grid-column: 1;
    grid-row: 1 / 3;
    margin-top: 3px;
  }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-song-title {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
  }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-artist {
    grid-column: 2;
    grid-row: 2;
    margin-top: 3px;
  }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-tonality {
    grid-column: 2 / 4;
    grid-row: 3;
    justify-self: start;
    align-self: center;
    margin: 0;
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: 5px;
  }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-card-manageable .setlist-tonality { padding-right: 48px; }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-tonality-label { font-size: 12px; white-space: nowrap; }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-tonality-value { min-width: 36px; padding-inline: 7px; }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-edit-tone-btn { min-height: 30px; padding-inline: 8px; }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-edit-tone-label-desktop { display: none; }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-edit-tone-label-mobile { display: inline; }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-badges {
    grid-column: 3;
    grid-row: 1 / 3;
    flex-direction: column;
    align-items: flex-end;
    justify-self: end;
    margin: 0;
  }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-lead {
    grid-column: 1 / 3;
    grid-row: 4;
    flex-wrap: wrap;
    align-self: end;
    margin-top: 8px;
    padding-right: 0;
  }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .song-lyrics-chip.setlist-lyrics-btn {
    grid-column: 3;
    grid-row: 4;
    justify-self: end;
    align-self: end;
    margin-top: 8px;
  }
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-drag-handle {
    grid-column: 3;
    grid-row: 1 / 5;
    justify-self: end;
    align-self: center;
    margin: 0;
  }
}
@media (max-width: 360px) {
  body.cfc-fresh-app:not(.cfc-fresh-home) #view-canciones .setlist-tonality {
    gap: 4px;
  }
}
body.cfc-fresh-app:not(.cfc-fresh-home) .cancionero-song-card,
body.cfc-fresh-app:not(.cfc-fresh-home) .song-studio-library-row { border-color: var(--cfc-ui-line); background: #fff; color: var(--cfc-ui-ink); box-shadow: var(--cfc-ui-shadow); }
body.cfc-fresh-app:not(.cfc-fresh-home) .cancionero-search,
body.cfc-fresh-app:not(.cfc-fresh-home) .song-studio-search { border-color: var(--cfc-ui-line); background: #fff; }
body.cfc-fresh-app:not(.cfc-fresh-home) .view :is(.cancionero-search, .song-studio-search) input { border: 0; background: transparent; color: var(--cfc-ui-ink); }
body.cfc-fresh-app:not(.cfc-fresh-home) .cancionero-song-icon,
body.cfc-fresh-app:not(.cfc-fresh-home) .song-studio-song-icon { background: var(--cfc-ui-soft); color: var(--cfc-ui-accent-dark); }

/* Cronograma conserva el orden y las franjas horarias. */
body.cfc-fresh-app:not(.cfc-fresh-home) .cronograma-hero {
  border-color: var(--cfc-ui-line);
  background: #fff;
  color: var(--cfc-ui-ink);
  box-shadow: var(--cfc-ui-shadow);
}
body.cfc-fresh-app:not(.cfc-fresh-home) .cronograma-hero-copy h2,
body.cfc-fresh-app:not(.cfc-fresh-home) .cronograma-hero-summary > strong,
body.cfc-fresh-app:not(.cfc-fresh-home) .cronograma-summary-stats b { color: var(--cfc-ui-ink); }
body.cfc-fresh-app:not(.cfc-fresh-home) .cronograma-hero-copy h2 em,
body.cfc-fresh-app:not(.cfc-fresh-home) .cronograma-kicker,
body.cfc-fresh-app:not(.cfc-fresh-home) .cronograma-hero-summary > span { color: var(--cfc-ui-accent-dark); }
body.cfc-fresh-app:not(.cfc-fresh-home) .cronograma-hero-summary { border-color: var(--cfc-ui-line); background: var(--cfc-ui-soft); box-shadow: none; }
body.cfc-fresh-app:not(.cfc-fresh-home) .cronograma-hero-copy p,
body.cfc-fresh-app:not(.cfc-fresh-home) .cronograma-summary-stats small { color: var(--cfc-ui-muted); }

/* Tasks: tablero, filtros y tarjetas. */
body.cfc-fresh-app:not(.cfc-fresh-home) .production-header p:not(.eyebrow),
body.cfc-fresh-app:not(.cfc-fresh-home) .production-task-date,
body.cfc-fresh-app:not(.cfc-fresh-home) .production-assignee { color: var(--cfc-ui-muted); }
/* Encabezado contenido en su propia tarjeta: no depende de la altura del fondo turquesa. */
body.cfc-fresh-app:not(.cfc-fresh-home) .view .production-header {
  padding: 20px 24px;
  border: 1px solid var(--cfc-ui-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--cfc-ui-shadow);
  align-items: center;
}
body.cfc-fresh-app:not(.cfc-fresh-home) .view .production-header h2 {
  color: var(--cfc-ui-ink);
  font-size: clamp(34px, 3.4vw, 44px);
  line-height: 1.08;
  letter-spacing: -.045em;
}
body.cfc-fresh-app:not(.cfc-fresh-home) .view .production-header p:not(.eyebrow) {
  margin: 6px 0 0;
  color: var(--cfc-ui-muted);
  font-size: 16px;
  line-height: 1.4;
}
body.cfc-fresh-app:not(.cfc-fresh-home) .production-column > header strong { color: var(--cfc-ui-ink); }
body.cfc-fresh-app:not(.cfc-fresh-home) .production-column > header span,
body.cfc-fresh-app:not(.cfc-fresh-home) .production-role-chip,
body.cfc-fresh-app:not(.cfc-fresh-home) .production-view-switch { border-color: var(--cfc-ui-line); background: var(--cfc-ui-soft); color: var(--cfc-ui-accent-dark); }
body.cfc-fresh-app:not(.cfc-fresh-home) .production-task-main { color: var(--cfc-ui-ink); }
body.cfc-fresh-app:not(.cfc-fresh-home) .production-filters button,
body.cfc-fresh-app:not(.cfc-fresh-home) .production-view-switch button { border-color: var(--cfc-ui-line); background: #fff; color: var(--cfc-ui-muted); }
body.cfc-fresh-app:not(.cfc-fresh-home) .production-filters button.active,
body.cfc-fresh-app:not(.cfc-fresh-home) .production-view-switch button.active,
body.cfc-fresh-app:not(.cfc-fresh-home) .production-new-btn { border-color: var(--cfc-ui-accent); background: var(--cfc-ui-accent); color: #fff; }
body.cfc-fresh-app:not(.cfc-fresh-home) .production-action.primary { background: var(--cfc-ui-accent); color: #fff; }
body.cfc-fresh-app:not(.cfc-fresh-home) .production-action.secondary { border-color: var(--cfc-ui-line); background: var(--cfc-ui-soft); color: var(--cfc-ui-accent-dark); }

/* Formularios y herramientas de Admin. */
body.cfc-fresh-app:not(.cfc-fresh-home) .view :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  border-color: var(--cfc-ui-line);
  background: #fff;
  color: var(--cfc-ui-ink);
}
body.cfc-fresh-app:not(.cfc-fresh-home) .view :is(input, textarea)::placeholder { color: #8797a3; opacity: 1; }
body.cfc-fresh-app:not(.cfc-fresh-home) .view :is(input, select, textarea):focus-visible { outline: 2px solid var(--cfc-ui-accent); outline-offset: 1px; }
body.cfc-fresh-app:not(.cfc-fresh-home) .view :is(.admin-editor-section, .admin-v2-tool-card, .admin-team-builder, .admin-review-hero, .admin-review-team, .admin-assignment-editor-row) {
  border-color: var(--cfc-ui-line);
  background: #f8fafb;
  color: var(--cfc-ui-ink);
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-v2-card :is(h3, strong, label) { color: var(--cfc-ui-ink); }
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-v2-card :is(p, small) { color: var(--cfc-ui-muted); }
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-v2-card.admin-v2-songstudio {
  background: #00B686;
  border-color: var(--cfc-ui-line);
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-v2-songstudio::after { background: none; }
body.cfc-fresh-app:not(.cfc-fresh-home) .view :is(.admin-v2-primary-btn, .admin-save-convocation-btn, .btn-ok, .setlist-share-btn) { background: var(--cfc-ui-accent); color: #fff; }
body.cfc-fresh-app:not(.cfc-fresh-home) .view :is(.admin-v2-secondary-btn, .btn-muted) { border-color: var(--cfc-ui-line); background: var(--cfc-ui-soft); color: var(--cfc-ui-accent-dark); }
body.cfc-fresh-app:not(.cfc-fresh-home) .view .song-studio-field > span { color: var(--cfc-ui-ink); }

/* Dialogs sit outside .app-shell in the existing app. */
body.cfc-fresh-app :is(.production-modal, .setlist-modal, .admin-push-modal) {
  border-color: var(--cfc-ui-line);
  background: #fff;
  color: var(--cfc-ui-ink);
  box-shadow: 0 28px 90px #112e4040;
}
body.cfc-fresh-app :is(.production-modal, .setlist-modal, .admin-push-modal) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { border-color: var(--cfc-ui-line); background: #fff; color: var(--cfc-ui-ink); }
body.cfc-fresh-app :is(.production-modal, .setlist-modal, .admin-push-modal) :is(.production-detail-block, .production-attachment-selection, .setlist-modal-song, .admin-push-option, .admin-push-preview) { border-color: var(--cfc-ui-line); background: #f7fafb; color: var(--cfc-ui-ink); }
body.cfc-fresh-app :is(.production-modal, .setlist-modal, .admin-push-modal) :is(.production-action.primary, .production-form-actions button[type="submit"]) { background: var(--cfc-ui-accent); color: #fff; }
body.cfc-fresh-app .production-modal :is(.production-detail-block p, .production-field > span, .production-existing-attachments > div span) { color: var(--cfc-ui-ink); }
body.cfc-fresh-app .production-modal :is(.production-detail-block h3, .production-reference-list a, .production-reference-list span) { color: var(--cfc-ui-accent-dark); }
body.cfc-fresh-app .production-modal .production-attachment-link { border-color: var(--cfc-ui-line); background: var(--cfc-ui-soft); color: var(--cfc-ui-ink); }
body.cfc-fresh-app .production-modal .production-action.secondary { border-color: var(--cfc-ui-line); background: var(--cfc-ui-soft); color: var(--cfc-ui-accent-dark); }
body.cfc-fresh-app .production-modal :is(.production-reminder-copy, .production-delivery-hint) { color: var(--cfc-ui-ink); }
body.cfc-fresh-app .production-modal .production-reminder-copy strong { color: var(--cfc-ui-accent-dark); }
body.cfc-fresh-app .production-modal .production-link-warning { background: #fff4df; border-color: #e4b95e; color: #62400a !important; }
body.cfc-fresh-app #cancioneroLyricsModal .lyrics-modal { border-color: var(--cfc-ui-line); background: #fff; color: var(--cfc-ui-ink); box-shadow: 0 28px 90px #112e4040; }
body.cfc-fresh-app #cancioneroLyricsModal .lyrics-modal-header .eyebrow { color: var(--cfc-ui-accent-dark); }
body.cfc-fresh-app #cancioneroLyricsModal .lyrics-modal-artist { color: var(--cfc-ui-muted); }
body.cfc-fresh-app #cancioneroLyricsModal :is(.lyrics-copy-button, .lyrics-modal-close) { border-color: var(--cfc-ui-line); background: var(--cfc-ui-soft); color: var(--cfc-ui-accent-dark); }
body.cfc-fresh-app #cancioneroLyricsModal .lyrics-modal-body { background: #fff; color: var(--cfc-ui-ink); }
body.cfc-fresh-app #cancioneroLyricsModal .lyrics-modal-body pre { color: var(--cfc-ui-ink); }
body.cfc-fresh-app #cancioneroLyricsModal .lyrics-modal-footer { border-color: var(--cfc-ui-line); background: #f7fafb; }
body.cfc-fresh-app #cancioneroLyricsModal .lyrics-modal-footer .btn-muted { background: var(--cfc-ui-soft); color: var(--cfc-ui-accent-dark); }

/* El panel de avisos mantiene texto blanco sobre su propia superficie oscura. */
body.cfc-fresh-app #notificationsPanel { --text: #f6f8f8; --muted: #a7b4b6; --line: #ffffff20; color: #f6f8f8; }
body.cfc-fresh-app #notificationsPanel .notification-item { color: #f6f8f8; }
body.cfc-fresh-app .cfc-more-backdrop { background: #143d4759; }
body.cfc-fresh-app .cfc-more-sheet { border-color: var(--cfc-ui-line); background: #fff; color: var(--cfc-ui-ink); box-shadow: 0 -20px 60px #153a4530; }
body.cfc-fresh-app .cfc-more-heading { color: var(--cfc-ui-ink); }
body.cfc-fresh-app .cfc-more-close { border-color: var(--cfc-ui-line); background: var(--cfc-ui-soft); color: var(--cfc-ui-accent-dark); }
body.cfc-fresh-app .cfc-more-option { border-color: var(--cfc-ui-line); background: #f7fafb; color: var(--cfc-ui-ink); }
body.cfc-fresh-app .cfc-more-option-icon { background: var(--cfc-ui-soft); color: var(--cfc-ui-accent-dark); }

/* Acceso y selección de perfiles: mismas superficies y color, sin cambiar el flujo. */
body[data-cfc-ui="fresh"] .login-screen { background: #f4f7f8; color: #182735; }
body[data-cfc-ui="fresh"] .login-brand-panel { background: linear-gradient(165deg, #0097a3, #007b86); border-color: #007984; color: #fff; }
body[data-cfc-ui="fresh"] .login-brand-panel .brand-lockup small { color: #e7fbfb; }
body[data-cfc-ui="fresh"] .login-content { background: radial-gradient(circle at 50% 0, #d9f5f4, transparent 36rem), #f4f7f8; }
body[data-cfc-ui="fresh"] .login-center h1,
body[data-cfc-ui="fresh"] .emoji-hero h1 { color: #182735; }
body[data-cfc-ui="fresh"] .login-content :is(.login-copy, .subtitle),
body[data-cfc-ui="fresh"] .emoji-hero .login-copy { color: #627383; }
body[data-cfc-ui="fresh"] .login-content .eyebrow,
body[data-cfc-ui="fresh"] .emoji-hero .eyebrow { color: #006c75; }
body[data-cfc-ui="fresh"] .welcome-icon { border-color: #c9e8e9; background: #e7f6f7; }
body[data-cfc-ui="fresh"] .search { background: #fff; border-color: #d5e5e8; }
body[data-cfc-ui="fresh"] .search input { color: #182735; }
body[data-cfc-ui="fresh"] .access-gateway-card,
body[data-cfc-ui="fresh"] .access-gateway-card.primary { border-color: #dce8eb; background: #fff; color: #182735; box-shadow: 0 10px 28px #173a460c; }
body[data-cfc-ui="fresh"] .access-gateway-card.primary { border-color: #b7e4e5; background: #eefafa; }
body[data-cfc-ui="fresh"] .access-gateway-card small,
body[data-cfc-ui="fresh"] .privacy-note { color: #627383; }
body[data-cfc-ui="fresh"] .access-gateway-icon,
body[data-cfc-ui="fresh"] .access-gateway-card.primary .access-gateway-icon { background: #dff3f4; color: #006c75; }
body[data-cfc-ui="fresh"] .access-gateway-card b { color: #006c75; }
body[data-cfc-ui="fresh"] .access-back-btn { border-color: #dce8eb; background: #fff; color: #006c75; }
body[data-cfc-ui="fresh"] .access-request-form label > span { color: #526671; }
body[data-cfc-ui="fresh"] .access-request-form input { border-color: #dce8eb; background: #fff; color: #182735; }
body[data-cfc-ui="fresh"] .access-request-submit { background: #0097a3; color: #fff; }
body[data-cfc-ui="fresh"] .person-option,
body[data-cfc-ui="fresh"] .emoji-option { border-color: #e0e8ec; background: #fff; color: #182735; box-shadow: 0 9px 25px #173a460d; }
body[data-cfc-ui="fresh"] .person-option :is(strong, small) { color: #182735; }
body[data-cfc-ui="fresh"] .emoji-screen { background: radial-gradient(circle at 40% 0, #d9f5f4, transparent 35rem), #f4f7f8; }
body[data-cfc-ui="fresh"] .emoji-card { border-color: #e0e8ec; background: #fff; color: #182735; box-shadow: 0 18px 48px #173a4612; }
body[data-cfc-ui="fresh"] .emoji-brand :is(strong, small) { color: #182735; }
body[data-cfc-ui="fresh"] .skip-btn { border-color: #c9e8e9; background: #e7f6f7; color: #006c75; }
body[data-cfc-ui="fresh"] .auth-modal { border-color: #dce8eb; background: #fff; color: #182735; box-shadow: 0 28px 85px #153a4540; }
body[data-cfc-ui="fresh"] .auth-modal :is(.auth-modal-header h2, .login-profile-option-copy strong, .auth-remember-device strong) { color: #182735; }
body[data-cfc-ui="fresh"] .auth-modal :is(.auth-modal-header p:not(.eyebrow), .login-profile-option-copy small, .auth-field > span, .auth-field > label, .auth-remember-device small) { color: #627383; }
body[data-cfc-ui="fresh"] .auth-modal .eyebrow,
body[data-cfc-ui="fresh"] .auth-forgot-password { color: #006c75; }
body[data-cfc-ui="fresh"] .auth-modal-icon,
body[data-cfc-ui="fresh"] .auth-remember-device,
body[data-cfc-ui="fresh"] .login-profile-option,
body[data-cfc-ui="fresh"] .auth-password-rules { border-color: #dce8eb; background: #f4f9fa; color: #182735; }
body[data-cfc-ui="fresh"] .auth-modal :is(.auth-field > input, .auth-password-control input) { border-color: #d4e4e6; background: #fff; color: #182735; }
body[data-cfc-ui="fresh"] .auth-modal :is(.auth-field > input, .auth-password-control input)::placeholder { color: #83939d; }
body[data-cfc-ui="fresh"] .auth-modal :is(.auth-modal-close, .auth-password-toggle) { border-color: #dce8eb; background: #f4f9fa; color: #526671; }
body[data-cfc-ui="fresh"] .auth-save-passwords { border-color: #c9e8e9; background: #e7f6f7; color: #006c75; }
body[data-cfc-ui="fresh"] .auth-modal .btn-ok { background: #0097a3; color: #fff; }
body[data-cfc-ui="fresh"] .auth-modal .btn-muted { border-color: #dce8eb; background: #e7f6f7; color: #006c75; }

@media (max-width: 980px) {
  body.cfc-fresh-app:not(.cfc-fresh-home) .main { width: 100%; max-width: 720px; padding: 34px 20px 120px; }
  body.cfc-fresh-app:not(.cfc-fresh-home) .main::before { height: 305px; }
  body.cfc-fresh-app:not(.cfc-fresh-home) .topbar-app { margin-bottom: 28px; }
  body.cfc-fresh-app:not(.cfc-fresh-home) .topbar-app h1 { font-size: 32px; white-space: normal; }
  body.cfc-fresh-app:not(.cfc-fresh-home) #personalLine { font-size: 12px; }
  body.cfc-fresh-app:not(.cfc-fresh-home) .top-actions { gap: 7px; }
  body.cfc-fresh-app:not(.cfc-fresh-home) .profile-chip { width: 44px; min-width: 44px; padding: 0; justify-content: center; }
  body.cfc-fresh-app:not(.cfc-fresh-home) #topPersonAction { display: none; }
  body.cfc-fresh-app:not(.cfc-fresh-home) .top-actions .circle-btn { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
  body.cfc-fresh-app:not(.cfc-fresh-home) .mobile-nav { border: 1px solid #ffffffd9; border-radius: 100px; background: #ffffffed; box-shadow: 0 5px 18px #43577912; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
  body.cfc-fresh-app:not(.cfc-fresh-home) .mobile-nav .mobile-nav-btn { color: #7d8491; }
  body.cfc-fresh-app:not(.cfc-fresh-home) .mobile-nav .mobile-nav-btn.active { color: var(--cfc-ui-accent); }
  body.cfc-fresh-app:not(.cfc-fresh-home) .mobile-nav .mobile-nav-btn.active > span { border-color: transparent; border-radius: 15px; background: var(--cfc-ui-soft); box-shadow: none; }
  body.cfc-fresh-app:not(.cfc-fresh-home) .mobile-nav .mobile-nav-btn::before,
  body.cfc-fresh-app:not(.cfc-fresh-home) .mobile-nav .mobile-nav-btn::after { display: none; }
}
@media (max-width: 370px) {
  body.cfc-fresh-app:not(.cfc-fresh-home) .main { padding-inline: 14px; }
  body.cfc-fresh-app:not(.cfc-fresh-home) .topbar-app h1 { font-size: 28px; }
}

/* Selección y presión: una sola tonalidad en todas las pantallas de CFC App. */
body[data-cfc-ui="fresh"].cfc-fresh-app button:is(.active, .is-selected, [aria-pressed="true"], [aria-selected="true"], [aria-current="true"]),
body[data-cfc-ui="fresh"].cfc-fresh-app button:not(:disabled):active {
  border-color: var(--cfc-ui-selected);
  background: var(--cfc-ui-selected);
  color: #fff;
}
body[data-cfc-ui="fresh"].cfc-fresh-app button:not(.mobile-nav-btn):not(:disabled):active :is(span, strong, small, svg) { color: #fff; }
body[data-cfc-ui="fresh"].cfc-fresh-app .sidebar .nav-btn.active,
body[data-cfc-ui="fresh"].cfc-fresh-app .sidebar .nav-btn.active span { background: var(--cfc-ui-selected); color: #fff; }
body[data-cfc-ui="fresh"].cfc-fresh-app .mobile-nav .mobile-nav-btn.active {
  border-color: transparent;
  background: transparent;
  color: var(--cfc-ui-selected);
}
body[data-cfc-ui="fresh"].cfc-fresh-app .mobile-nav .mobile-nav-btn.active > span {
  border-color: var(--cfc-ui-selected);
  background: var(--cfc-ui-selected);
  color: #fff;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .mobile-nav .mobile-nav-btn.active > span svg { color: #fff; }
body[data-cfc-ui="fresh"].cfc-fresh-app .confirmo-date-tab.active,
body[data-cfc-ui="fresh"].cfc-fresh-app .songs-tab.active,
body[data-cfc-ui="fresh"].cfc-fresh-app .production-filters button.active,
body[data-cfc-ui="fresh"].cfc-fresh-app .production-view-switch button.active {
  border-color: var(--cfc-ui-selected);
  background: var(--cfc-ui-selected);
  color: #fff;
  box-shadow: 0 5px 0 #064f54;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .setlist-auto-track[aria-current="true"] {
  border-color: var(--cfc-ui-selected);
  background: var(--cfc-ui-selected);
  color: #fff;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .setlist-auto-track[aria-current="true"] :is(strong, small, span) { color: #fff; }
body[data-cfc-ui="fresh"].cfc-fresh-home .fresh-day.is-selected {
  border-color: var(--cfc-ui-selected);
  background: var(--cfc-ui-selected);
  color: #fff;
}
body[data-cfc-ui="fresh"].cfc-fresh-home .fresh-day.is-selected > i {
  border-color: #ffffff8a;
  background: #ffffff24;
  color: #fff;
}
body[data-cfc-ui="fresh"].cfc-fresh-app:not(.cfc-fresh-home) .confirmo-date-tabs {
  padding-bottom: 12px;
  scroll-padding-bottom: 12px;
}
body[data-cfc-ui="fresh"] .login-screen button:not(:disabled):active,
body[data-cfc-ui="fresh"] .auth-modal button:not(:disabled):active {
  border-color: #086970;
  background: #086970;
  color: #fff;
}

/* CFC App: no heredar textos blancos del antiguo panel oscuro. */
body[data-cfc-ui="fresh"].cfc-fresh-app #view-admin :is(h2, h3, h4, label),
body[data-cfc-ui="fresh"].cfc-fresh-app #view-admin :is(.admin-v2-songstudio-brand, .summary-main, .summary-stats) strong {
  color: var(--cfc-ui-ink);
}
body[data-cfc-ui="fresh"].cfc-fresh-app #view-admin :is(.admin-v2-intro, .admin-v2-tool-copy p, .admin-v2-card-title p) {
  color: var(--cfc-ui-muted);
}
body[data-cfc-ui="fresh"].cfc-fresh-app #view-admin :is(.admin-v2-songstudio-features span, .admin-v2-tool-action, .admin-v2-card-icon, .admin-v2-security-badge, .summary-mode) {
  border-color: #c9e8e9;
  background: var(--cfc-ui-soft);
  color: var(--cfc-ui-accent-dark);
}
body[data-cfc-ui="fresh"].cfc-fresh-app #view-admin .admin-v2-summary > summary {
  border-color: var(--cfc-ui-line);
  background: #f0f7f8;
  color: var(--cfc-ui-ink);
}
body[data-cfc-ui="fresh"].cfc-fresh-app #view-admin .admin-v2-summary > summary span {
  color: inherit;
}
body[data-cfc-ui="fresh"].cfc-fresh-app #view-admin :is(.convocation-summary-details-body, .summary-stats > div) {
  border-color: var(--cfc-ui-line);
  background: #f8fafb;
}

/* Misma leyenda de estados que Producción, también con la base anterior de CFC App. */
body[data-cfc-ui="fresh"].cfc-fresh-app :is([data-production-filter="ESPERA"], [data-status="ESPERA"], .production-status-espera) {
  --production-state: #F6B042;
  --production-state-ink: #271700;
}
body[data-cfc-ui="fresh"].cfc-fresh-app :is([data-production-filter="EDITANDO"], [data-status="EDITANDO"], .production-status-editando) {
  --production-state: #D94A3A;
  --production-state-ink: #fff;
}
body[data-cfc-ui="fresh"].cfc-fresh-app :is([data-production-filter="ENVIADO"], [data-status="ENVIADO"], .production-status-enviado) {
  --production-state: #91A2A7;
  --production-state-ink: #102024;
}
body[data-cfc-ui="fresh"].cfc-fresh-app :is([data-production-filter="REVISION"], [data-status="REVISION"], .production-status-revision) {
  --production-state: #5B3DFF;
  --production-state-ink: #fff;
}
body[data-cfc-ui="fresh"].cfc-fresh-app :is([data-production-filter="APROBADO"], [data-status="APROBADO"], .production-status-aprobado) {
  --production-state: #40F556;
  --production-state-ink: #08220d;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-filters button[data-production-filter]:not([data-production-filter="TODAS"]) {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-color: var(--production-state);
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-filters button[data-production-filter]:not([data-production-filter="TODAS"])::before {
  content: "";
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--production-state);
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-filters button[data-production-filter]:not([data-production-filter="TODAS"]):is(.active, :active) {
  border-color: var(--production-state);
  background: var(--production-state);
  color: var(--production-state-ink);
  box-shadow: none;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-filters button[data-production-filter]:not([data-production-filter="TODAS"]).active::before {
  background: currentColor;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .view :is(.production-summary-card[data-production-filter], .production-task[class*="production-status-"]) {
  border-left: 4px solid var(--production-state, var(--cfc-ui-line));
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-summary-card[data-production-filter] > span {
  background: var(--production-state);
  border-color: var(--production-state);
  color: var(--production-state-ink);
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-column[data-status] > header {
  min-height: 44px;
  margin-bottom: 10px;
  padding: 8px 10px;
  border-radius: 14px;
  background: var(--production-state);
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-column[data-status] > header :is(strong, span) {
  color: var(--production-state-ink);
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-column[data-status] > header span { background: #ffffff55; }
body[data-cfc-ui="fresh"].cfc-fresh-app :is(.production-task-status, .production-status-pill[class*="production-status-"]) {
  background: var(--production-state);
  border-color: var(--production-state);
  color: var(--production-state-ink);
}

/* Espacio para la sombra y objetivos táctiles completos, sin recortar etiquetas. */
body[data-cfc-ui="fresh"].cfc-fresh-app .production-filters {
  flex-wrap: wrap;
  overflow: visible;
  padding: 4px 3px 12px;
  scroll-padding-inline: 3px;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-filters button { flex: 0 0 auto; min-height: 44px; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-header > div { min-width: 0; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-new-btn { flex-shrink: 0; max-width: 100%; min-height: 48px; white-space: normal; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-task-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-task-actions button {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 10px 8px;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.3;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-task-meta { flex-wrap: wrap; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-priority { background: #fff1d9; color: #7f4e16; }

/* Estados de carga y vacíos: tarjetas claras, no superficies del tema oscuro. */
body[data-cfc-ui="fresh"].cfc-fresh-app :is(.production-loading, .production-empty, .production-error, .production-denied, .cronograma-loading-state, .cronograma-empty-state, .cronograma-error-state) {
  border: 1px solid var(--cfc-ui-line);
  border-radius: 28px;
  background: #fff;
  color: var(--cfc-ui-ink);
  box-shadow: var(--cfc-ui-shadow);
}
body[data-cfc-ui="fresh"].cfc-fresh-app :is(.production-loading, .production-empty, .production-error, .production-denied, .cronograma-loading-state, .cronograma-empty-state, .cronograma-error-state) :is(h2, h3, h4, strong) { color: var(--cfc-ui-ink); }
body[data-cfc-ui="fresh"].cfc-fresh-app :is(.production-loading, .production-empty, .production-error, .production-denied, .cronograma-loading-state, .cronograma-empty-state, .cronograma-error-state) :is(p, small) { color: var(--cfc-ui-muted); }
body[data-cfc-ui="fresh"].cfc-fresh-app :is(.production-loader, .cronograma-loading-orb) {
  border-color: #d5ecee;
  border-top-color: var(--cfc-ui-accent);
}
body[data-cfc-ui="fresh"].cfc-fresh-app .cronograma-loading-state .auth-loading-spinner {
  border-color: #d5ecee;
  border-top-color: var(--cfc-ui-accent);
  border-right-color: var(--cfc-ui-accent-dark);
  box-shadow: none;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .cronograma-loading-state .auth-loading-spinner::after { background: var(--cfc-ui-accent); box-shadow: none; }

/* Mensajes centrados y por encima de la navegación, también al envolver texto. */
body[data-cfc-ui="fresh"].cfc-fresh-app .toast {
  display: grid;
  place-items: center;
  width: max-content;
  max-width: min(420px, calc(100vw - 32px));
  text-align: center;
  line-height: 1.45;
  overflow-wrap: anywhere;
  bottom: calc(112px + env(safe-area-inset-bottom, 0px));
  z-index: 100002;
  background: #086970;
  color: #fff;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .confirmo-not-invited {
  margin: 18px 0;
  padding: 12px 16px;
  border-radius: 16px;
  background: #e8f5f5;
  color: #086970;
  text-align: center;
  line-height: 1.5;
}

/* Acciones destacadas y Setlist: contraste explícito fuera de las vistas del shell. */
body[data-cfc-ui="fresh"].cfc-fresh-app :is(.production-new-btn, #manageSongStudioBtn, .setlist-modal-actions .btn-ok) {
  background: #0B3E43;
  border-color: #0B3E43;
  color: #fff;
}
body[data-cfc-ui="fresh"].cfc-fresh-app :is(.production-new-btn, #manageSongStudioBtn, .setlist-modal-actions .btn-ok):not(:disabled):active {
  background: #086970;
  border-color: #086970;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .setlist-modal {
  color-scheme: light;
  --text: #182735;
  --muted: #627383;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .setlist-modal :is(.setlist-modal-header h2, .setlist-modal-song strong, .admin-field > span) { color: #182735; }
body[data-cfc-ui="fresh"].cfc-fresh-app .setlist-modal :is(.setlist-modal-header .eyebrow, .setlist-modal-song > span) { color: #086970; }
body[data-cfc-ui="fresh"].cfc-fresh-app .setlist-modal :is(.setlist-modal-song small, .admin-field small, .confirm-setlist-copy) { color: #627383; }
body[data-cfc-ui="fresh"].cfc-fresh-app .setlist-modal :is(input, select, textarea) { color: #182735; background: #fff; border-color: #e0e8ec; }
body[data-cfc-ui="fresh"].cfc-fresh-app .setlist-modal :is(input, textarea)::placeholder { color: #627383; opacity: 1; }
body[data-cfc-ui="fresh"].cfc-fresh-app .setlist-modal :is(input, select, textarea):disabled { color: #627383; -webkit-text-fill-color: #627383; background: #f2f5f7; opacity: 1; }
body[data-cfc-ui="fresh"].cfc-fresh-app .setlist-modal .setlist-modal-status { color: #8b5100; }
body[data-cfc-ui="fresh"].cfc-fresh-app .setlist-modal :is(.setlist-modal-close, .setlist-modal-actions .btn-muted) { background: #e7f6f7; border-color: #d2e6e8; color: #0B3E43; }

/* Las revisiones y adjuntos de Tasks 1.0.65 conservan contraste en la estética clara. */
body[data-cfc-ui="fresh"].cfc-fresh-app .production-modal {
  --card: #fff;
  --text: #182735;
  --muted: #627383;
  --line: #e0e8ec;
  --line-strong: #cadadd;
  color-scheme: light;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-modal :is(.production-review-preview, .production-review-side, .production-review-pin-row) { background: #f7fafb; border-color: #e0e8ec; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-modal :is(.production-review-open, .production-final-upload, .production-attachment-controls button) { background: #e7f6f7; border-color: #d2e6e8; color: #0B3E43; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-modal .production-attachment-controls button.danger { background: #fff0ed; border-color: #D94A3A; color: #a32b20; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-modal .production-review-pin-row > button { background: #e7f6f7; border-color: #d2e6e8; color: #0B3E43; }

/* El asistente de convocatorias es claro también en sus estados y resumen. */
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-convocation-wizard .admin-wizard-steps {
  background:#eaf6f7; border-color:#d5e9eb;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-convocation-wizard .admin-wizard-step {
  color:#4d6970;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-convocation-wizard .admin-wizard-step.active {
  background:#086970; border-color:#086970; color:#fff;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-convocation-wizard .admin-wizard-connector {
  background:#b3d6d8;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-publication-choice {
  background:#eaf6f7; border-color:#bee0e1;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-publication-choice strong {
  color:#18343b;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-publication-choice small {
  color:#526b73;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-review-hero,
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-review-schedule > div,
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-review-team {
  background:#f8fafb; border-color:#dce8eb;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-review-hero h4,
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-review-schedule strong,
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-review-team h4,
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-review-members strong {
  color:#182735;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-review-hero p,
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-review-schedule :is(span,small),
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-review-team :is(small,.admin-review-empty) {
  color:#5e737e;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-review-status.active {
  background:#ddf6ed; color:#086348;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-review-status.inactive {
  background:#fff0e8; color:#92521f;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-review-edit {
  background:#e7f6f7; border-color:#c9e5e7; color:#0b5158;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-review-members > div {
  background:#eaf3f5;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-assignment-sync {
  color:#086348;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-team-builder-worship > header {
  background:#fff8ed; border-color:#e7e6dc;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-team-builder-media > header {
  background:#edf8fa; border-color:#dce9ec;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-team-builder-title h4 {
  color:#182735;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-team-builder-title small {
  color:#5e737e;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-add-team-person {
  background:#e7f6f7; border-color:#bcdfe1; color:#086970;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-add-team-person:hover {
  background:#d6eff0; border-color:#75c6cb;
}
body.cfc-fresh-app:not(.cfc-fresh-home) #view-admin .admin-autosave-note {
  margin:14px 0 0; color:#536c75; font-size:12px; line-height:1.4;
}

/* Tasks: los modales están fuera de .view; recuperar contraste en Dark Mode. */
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal {
  --card:#172437;
  --text:#edf5ff;
  --muted:#b9c9d9;
  --line:#40586e;
  --line-strong:#52677c;
  color-scheme:dark;
  background:#172437 !important;
  border-color:#40586e !important;
  color:#edf5ff !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-modal-header h2 {
  color:#f1f7ff !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-modal-header .eyebrow,
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-detail-block h3 {
  color:#82e6e3 !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-modal-header p:not(.eyebrow),
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-detail-block p {
  color:#cbd8e5 !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-detail-block {
  background:#1d2d42 !important;
  border-color:#3a5065 !important;
  color:#edf5ff !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-reference-list :is(a, span) {
  color:#86e5e1 !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-attachment-link {
  background:#20384a !important;
  border-color:#456076 !important;
  color:#edf5ff !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-attachment-link small {
  color:#b9c9d9 !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-attachment-controls button:not(.danger),
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal :is(.production-review-open, .production-final-upload) {
  background:#20384a !important;
  border-color:#456076 !important;
  color:#c8f4f1 !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-action.secondary {
  background:#20384a !important;
  border-color:#456076 !important;
  color:#c8f4f1 !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-action.primary {
  background:#00a98f !important;
  color:#fff !important;
}
/* Dark Mode: mantener legibles las devoluciones que se escriben en el modal de Tasks. */
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-review-modal :is(.production-review-preview, .production-review-side, .production-review-pin-row) {
  background:#1d2d42 !important;
  border-color:#40586e !important;
  color:#edf5ff !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-review-modal .production-field > span {
  color:#82e6e3 !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-review-modal :is(.production-review-hint, .production-review-load, .production-review-pin-row > p) {
  color:#cbd8e5 !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-review-modal textarea {
  background:#101e30 !important;
  border-color:#52677c !important;
  color:#f1f7ff !important;
  -webkit-text-fill-color:#f1f7ff;
  caret-color:#82e6e3;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-review-modal textarea::placeholder {
  color:#a5b8c8 !important;
  -webkit-text-fill-color:#a5b8c8;
  opacity:1;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-review-modal textarea:focus-visible {
  outline:2px solid #5cbfc1;
  outline-offset:1px;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-modal .production-review-author,
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-modal .production-review-file {
  color:var(--cfc-ui-ink);
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-modal .production-review-file {
  border-color:var(--cfc-ui-line);
  background:#f7fafb;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-modal .production-review-author strong,
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-modal .production-review-readonly-notes > p {
  color:var(--cfc-ui-ink);
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-modal :is(.production-review-author small,.production-review-file small,.production-review-files .production-field > small) {
  color:var(--cfc-ui-muted);
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-review-modal .production-review-file {
  border-color:#40586e;
  background:#14243a;
  color:#edf5ff;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-review-modal .production-review-author {
  border-color:#40586e;
  background:#14243a;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-review-modal :is(.production-review-author strong,.production-review-readonly-notes > p) {
  color:#edf5ff;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-review-modal :is(.production-review-author small,.production-review-file small,.production-review-files .production-field > small) {
  color:#cbd8e5;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-author {
  display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;
  border:1px solid var(--cfc-ui-line);border-radius:13px;background:#f7fafb;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-author-avatar {
  display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;
  background:rgba(91,61,255,.16);font-size:21px;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-author > span:last-child { display:grid;gap:2px;min-width:0; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-author-chip {
  display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;padding:4px 8px;
  border:1px solid var(--cfc-ui-line);border-radius:99px;color:var(--cfc-ui-muted);font-size:11px;font-weight:700;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-revision-card-meta { display:grid;gap:6px; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-readonly-notes,
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-files { display:grid;gap:9px;margin:0 0 14px; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-readonly-notes > span,
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-files > span,
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-files .production-field > span {
  color:var(--cfc-ui-accent);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-readonly-notes > p { margin:0;color:var(--cfc-ui-ink);line-height:1.5;overflow-wrap:anywhere; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-file-list,
body[data-cfc-ui="fresh"].cfc-fresh-app [data-review-selected-files],
body[data-cfc-ui="fresh"].cfc-fresh-app [data-review-saved-files] { display:grid;gap:8px;min-width:0; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-file {
  display:flex;align-items:center;gap:9px;min-width:0;width:100%;padding:9px 10px;
  border:1px solid var(--cfc-ui-line);border-radius:11px;background:#f7fafb;color:var(--cfc-ui-ink);text-align:left;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-file > span:first-child { flex:none; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-file > span:nth-child(2) { flex:1;min-width:0;overflow-wrap:anywhere; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-file small { flex:none;color:var(--cfc-ui-muted);font-size:11px; }
body[data-cfc-ui="fresh"].cfc-fresh-app [data-review-selected-files] .production-review-file > button {
  flex:none;width:30px;height:30px;border:1px solid var(--cfc-ui-line);border-radius:8px;background:transparent;color:var(--cfc-ui-ink);font-size:18px;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-files input[type=file] { width:100%;min-width:0;color:var(--cfc-ui-ink); }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-files .production-field > small { display:block;margin-top:7px;color:var(--cfc-ui-muted);line-height:1.4; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-load { overflow-wrap:anywhere; }
@media (max-width:720px) {
  body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-canvas { max-height:48vh;overflow:auto; }
}
/* Tasks: formulario de creación/edición, con campos legibles en Dark Mode. */
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-form-modal .production-field > span {
  color:#82e6e3 !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-form-modal :is(.production-field > small, .production-attachment-selection, .production-existing-attachments > div span) {
  color:#cbd8e5 !important;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-form-modal :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  color-scheme:dark;
  background:#101e30 !important;
  border-color:#52677c !important;
  color:#f1f7ff !important;
  -webkit-text-fill-color:#f1f7ff;
  caret-color:#82e6e3;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-form-modal :is(input, textarea)::placeholder {
  color:#a5b8c8 !important;
  -webkit-text-fill-color:#a5b8c8;
  opacity:1;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-form-modal select option {
  background:#101e30;
  color:#f1f7ff;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-form-modal input[type="file"]::file-selector-button {
  border:1px solid #4a8b91;
  background:#087f86;
  color:#fff;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-form-modal :is(input, select, textarea):focus-visible {
  outline:2px solid #5cbfc1;
  outline-offset:1px;
}
/* Tasks: autor visible para el equipo en tarjetas y detalle. */
body[data-cfc-ui="fresh"].cfc-fresh-app .production-task-creator {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
  margin-top:10px;
  color:#627383;
  font-size:12px;
  line-height:1.3;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-task-creator-avatar {
  display:grid;
  place-items:center;
  flex:0 0 28px;
  width:28px;
  height:28px;
  border:1px solid #d2e6e8;
  border-radius:50%;
  background:#e7f6f7;
  font-size:16px;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-task-creator-label { color:#627383; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-task-creator strong {
  min-width:0;
  color:#182735;
  font-size:13px;
  font-weight:750;
  overflow-wrap:anywhere;
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-task-creator-detail { margin-top:10px; }
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-task-creator,
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-task-creator-label {
  color:#b9c9d9;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-task-creator-avatar {
  border-color:#456076;
  background:#20384a;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-task-creator strong {
  color:#edf5ff;
}
/* Dark Mode: contraste de autor y recursos dentro del detalle de una tarea editada. */
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-detail-review .production-review-author,
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-detail-review .production-review-file {
  background:#14243a !important;
  border-color:#40586e !important;
  color:#edf5ff !important;
  -webkit-text-fill-color:#edf5ff;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-detail-review .production-review-author small,
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-detail-review .production-review-file small {
  color:#cbd8e5 !important;
  -webkit-text-fill-color:#cbd8e5;
}
body[data-cfc-ui="fresh"][data-cfc-theme="dark"].cfc-fresh-app .production-modal .production-detail-review .production-review-file > span:nth-child(2) {
  color:#edf5ff !important;
  -webkit-text-fill-color:#edf5ff;
}
/* More breathing room between review annotations and attached resources. */
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-side > .production-review-files {
  margin-top:18px;
  padding-top:12px;
  border-top:1px solid var(--cfc-ui-line);
}
/* Mobile review markers: keep the precise target point visible and offset its number. */
.production-review-pin {
  width:30px !important;height:30px !important;padding:0 !important;border:0 !important;
  border-radius:0 !important;background:transparent !important;color:inherit !important;box-shadow:none !important;
}
.production-review-pin-dot {
  position:absolute;left:50%;top:50%;width:9px;height:9px;transform:translate(-50%,-50%);
  border:2px solid #fff;border-radius:50%;background:#5B3DFF;box-shadow:0 1px 5px #0009;
}
.production-review-pin-number {
  position:absolute;left:16px;top:-7px;display:grid;place-items:center;min-width:22px;height:22px;
  padding:0 4px;box-sizing:border-box;border:2px solid #fff;border-radius:50%;background:#5B3DFF;
  color:#fff;font-size:11px;font-weight:800;line-height:1;box-shadow:0 2px 7px #0008;
}
@media (max-width:720px) {
  .production-review-pin { width:24px !important;height:24px !important; }
  .production-review-pin-dot { width:7px;height:7px; }
  .production-review-pin-number { left:12px;top:-5px;min-width:19px;height:19px;padding:0 3px;font-size:10px;border-width:1px; }
}
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-load { display:flex;align-items:center;gap:10px;overflow-wrap:anywhere; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-load[hidden] { display:none; }
body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-spinner {
  flex:0 0 18px;width:18px;height:18px;border:2px solid rgba(91,191,193,.28);
  border-top-color:#5bbfc1;border-radius:50%;animation:cfcReviewPreviewSpin .8s linear infinite;
}
@keyframes cfcReviewPreviewSpin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) {
  body[data-cfc-ui="fresh"].cfc-fresh-app .production-review-spinner { animation:none;border-color:#5bbfc1; }
}
.production-image-viewer-backdrop {
  position:fixed;inset:0;z-index:31010;display:grid;place-items:center;
  padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
  background:rgba(3,9,17,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.production-image-viewer {
  display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;width:min(1100px,100%);
  max-height:calc(100dvh - 32px);padding:12px;border:1px solid #40586e;border-radius:18px;
  background:#172437;color:#edf5ff;box-shadow:0 24px 80px #0008;
}
.production-image-viewer header { display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0; }
.production-image-viewer header span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700; }
.production-image-viewer header button { flex:0 0 40px;width:40px;height:40px;border:1px solid #52677c;border-radius:50%;background:#20384a;color:#edf5ff;font-size:24px;line-height:1; }
.production-image-viewer img { display:block;max-width:100%;max-height:calc(100dvh - 112px);width:auto;height:auto;justify-self:center;align-self:center;object-fit:contain;border-radius:10px; }
@media (max-width:720px) {
  .production-image-viewer-backdrop { padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom)); }
  .production-image-viewer { width:100%;max-height:calc(100dvh - 20px);padding:9px;border-radius:14px; }
  .production-image-viewer img { max-height:calc(100dvh - 90px); }
}
