/* activity-ui.css — F2.17 (D72): re-skin al design system del editor ActivityUI
   (js/activity-ui.js). El modal/campos ya reusaban .spkc-*/.spk-inp (STYLEGUIDE §14) — este
   archivo cubre lo que era exclusivo del editor y vivía SOLO como `style=""` inline (chips de
   participantes, badges RSVP, bloque de auditoría, encabezado/acciones del modal): 110
   ocurrencias de estilo inline auditadas, las de color/token se migran aquí. Los layouts de un
   solo uso (fila de un recordatorio, bloque de videollamada) se quedan inline a propósito —
   convertirlos no ganaba legibilidad ni reusabilidad real, ver STYLEGUIDE §14 nota de alcance.
   Cargado como CSS core (index.html, junto a tasks.css/mail-composer.css) porque activity-ui.js
   TAMBIÉN es core (usado por Agenda/Tareas/expedientes, no lazy). */

.au-muted{ font-size:12px; color:var(--text-muted,#6b6660); }
.au-faint{ font-size:10.5px; color:var(--text-faint,#98938c); }

/* ── Chips de participante/responsable/contacto — background y borde derivados de --pc (color
   por tipo: ponente/patrocinador/staff/invitado externo) vía color-mix, en vez de concatenar
   sufijos hex de alpha ('1a'/'55') a mano en JS.
   IOS-3 (auditoría de cierre F2): el texto NO usa var(--pc) crudo — medido con la fórmula de
   contraste WCAG, cada uno de los 4 colores por tipo falla AA (<4.5:1) en alguno de los dos temas
   (los que pasan en claro fallan en oscuro y viceversa, porque son valores hex fijos, ajenos al
   tema). Se mezcla con --text (que SÍ es distinto por tema) para que el texto se acerque al color
   de marca pero conserve el contraste real del tema activo — mismo criterio que .ag-mm-d.today/
   .ag-yr-d.today de css/agenda.css (anillo+tinte en vez de relleno sólido). ── */
.au-pchip{ display:inline-flex; align-items:center; gap:4px; padding:3px 9px 3px 7px; border-radius:14px; font-size:12.5px; font-weight:600;
  background:color-mix(in srgb, var(--pc,#6b7280) 12%, transparent); border:1px solid color-mix(in srgb, var(--pc,#6b7280) 38%, transparent); color:color-mix(in srgb, var(--pc,#6b7280) 65%, var(--text)); }
.au-pchip.sm{ font-size:11px; padding:2px 7px 2px 6px; }
.au-pchip .au-prm, .au-pchip .au-orm, .au-pchip .au-crm-rm{ background:none; border:none; color:inherit; opacity:.7; cursor:pointer; font-size:13px; line-height:1; margin-left:1px; }
.au-pchip .au-prm:hover, .au-pchip .au-orm:hover, .au-pchip .au-crm-rm:hover{ opacity:1; }

/* ── Badge RSVP (rsvpBadge()) — 5 estados; iTIP-C2 (STYLEGUIDE §21): colores semánticos del
   sistema (--ok/--err/--warn), nunca hex literal, así el modo claro/oscuro y un futuro tenant
   con overrides de marca los heredan gratis. ── */
.au-rb{ font-size:13px; line-height:1; }
.au-rb-accepted{ color:var(--ok); }
.au-rb-declined{ color:var(--err); }
.au-rb-tentative{ color:var(--warn); }
.au-rb-viewed{ color:var(--text-muted,#6b6660); }
.au-rb-pending{ opacity:.5; }

/* ── Bloque "Auditoría RSVP" (quién vio/respondió/desde dónde) ── */
.au-rsvp-hdr{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:4px; }
.au-rsvp-row{ border-top:1px solid var(--bg-border,#f0ede8); padding:6px 0; font-size:12px; }
.au-rsvp-name{ font-weight:700; }
.au-rsvp-status{ color:var(--text-muted,#6b6660); }
.au-rsvp-meta{ font-size:12px; color:var(--text-muted,#6b6660); margin-top:1px; }
.au-rsvp-tech{ font-size:10.5px; color:var(--text-faint,#98938c); margin-top:1px; }
.au-rsvp-note{ font-size:12px; color:var(--text-2,#444); margin-top:1px; }
.au-rsvp-proposed{ font-size:12px; color:var(--warn); margin-top:1px; }
/* iTIP-C1: rótulo PARTSTAT (RFC 5545 §3.2.12) para invitados EXTERNOS (ref_type='email') — el
   vocabulario interno de la app (confirmó/quizá/no asistirá) sigue siendo el texto principal;
   PARTSTAT aparece como etiqueta secundaria/tooltip solo cuando el invitado es externo, porque
   es a esos destinatarios a quienes de verdad se les manda un .ics con METHOD:REQUEST (lib/
   ics2.js) — un ponente/staff interno no recibe iTIP, no tiene sentido mostrárselo ahí. */
.au-partstat{ display:inline-block; font-size:9.5px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; padding:1px 5px; border-radius:4px;
  background:var(--bg-raised,#f6f3ee); border:1px solid var(--bg-border,#e5e3dc); color:var(--text-muted,#6b6660); margin-left:5px; vertical-align:1px; }

/* ── Encabezado y fila de acciones del modal ── */
.au-hdr{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; position:sticky; top:-18px; background:var(--bg-surface,#fff); padding:8px 0; z-index:1; }
.au-hdr-title{ font-size:16px; font-weight:700; }
.au-footer{ display:flex; justify-content:space-between; align-items:center; margin-top:14px; }
.au-footer-left{ display:flex; gap:6px; flex-wrap:wrap; }
.au-footer-right{ display:flex; gap:8px; }

/* IOS-1/IOS-4 (auditoría de cierre K0-K8, 2026-07-18, CONFIRMADOS HIGH/MEDIUM): el editor de
   eventos (20+ campos: K2 mini-mapa, K5 traslado, K13 videollamada, K17 RSVP...) nunca recibió el
   tratamiento de hoja de pantalla completa que css/mail-composer.css ya usa para SU editor
   (composer de correo, misma complejidad) — seguía siendo una caja centrada de 96vw en cualquier
   viewport, incluido un iPhone. Mismo gate `(max-width:680px) and (pointer:coarse)` que el
   composer, para no activar en un MacBook angosto con mouse. */
@media (max-width:680px) and (pointer:coarse) {
  .au-editor.spkc-modal { position:fixed; top:0; left:0; width:100vw !important; max-width:100vw !important; height:100vh; height:100dvh; max-height:100vh; max-height:100dvh; border-radius:0; }
  .au-footer { padding-bottom:max(0px, env(safe-area-inset-bottom)); }
}
