
    .rc-root{ position:relative; width:100%; min-height:100vh; }
    .rc-root *{ box-sizing:border-box; }
    .rc-scroll{ max-height:100vh; overflow-y:auto; scrollbar-width:thin; }
    .rc-scroll::-webkit-scrollbar{ width:10px; height:10px; }
    .rc-scroll::-webkit-scrollbar-thumb{ background:var(--border-strong); border-radius:99px; border:3px solid transparent; background-clip:padding-box; }
    [data-density="compacta"] .ar-page{ gap:14px; padding-top:18px; }
    [data-density="compacta"] .ar-table th,[data-density="compacta"] .ar-table td{ padding:8px 16px; }
    [data-density="compacta"] .ar-card{ }
    @keyframes rcScanLine { 0%{ top:16px; } 100%{ top:206px; } }
    .rc-scanline{ animation: rcScanLine 1.1s ease-in-out infinite alternate; }

    /* ===== Móvil: drawer + apilado (PWA en iPhone) ===== */
    .rc-burger{ display:none; align-items:center; justify-content:center; width:38px; height:38px; border-radius:10px; border:1px solid var(--border-default); background:var(--bg-surface); color:var(--fg-default); cursor:pointer; flex:none; margin-right:10px; }
    .rc-drawer-bd{ display:none; }
    @media (max-width: 900px){
      .ar-cockpit{ display:block !important; }
      .ar-sidebar{ position:fixed !important; top:0; left:0; bottom:0; width:268px !important; max-width:84vw; z-index:300; transform:translateX(-100%); transition:transform .28s cubic-bezier(.4,0,.2,1); box-shadow:0 24px 60px -10px rgba(0,0,0,.45); overflow-y:auto; }
      .rc-root[data-drawer="1"] .ar-sidebar{ transform:translateX(0) !important; }
      .rc-drawer-bd{ display:block; position:fixed; inset:0; z-index:250; background:rgba(8,12,24,.5); opacity:0; pointer-events:none; transition:opacity .28s ease; }
      .rc-root[data-drawer="1"] .rc-drawer-bd{ opacity:1 !important; pointer-events:auto; }
      .ar-cockpit-main{ width:100% !important; }
      .ar-topbar{ position:sticky; top:0; z-index:120; padding:0 14px !important; }
      .rc-burger{ display:inline-flex; }
      .ar-topbar .ar-sidebar-search{ display:none !important; }
      .ar-page{ padding:18px 14px 104px !important; gap:16px !important; max-width:100% !important; }
      .ar-page-head{ flex-direction:column; align-items:flex-start !important; gap:14px; }
      .ar-page-head > div:last-child{ width:100%; flex-wrap:wrap; }
      /* Estas dos reglas aplastan a 1-2 columnas CUALQUIER grilla con repeat()
         dentro de la app en movil. Eso esta bien para rejillas de tarjetas,
         pero se estaba tragando tambien el CALENDARIO de reservas: sus dos
         grillas de repeat(7,1fr) (los dias de la semana y los numeros del mes)
         salian una debajo de otra, o sea 31 barras apiladas — un calendario de
         una sola columna no es un calendario. Se excluye por data-rc-grid-fija:
         cualquier grilla que DEBA conservar sus columnas en movil lo declara.
         (Recorrido en emulador · 17-ago-2026.) */
      .rc-screen div[style*="repeat("]:not([data-rc-grid-fija]){ grid-template-columns:repeat(2,1fr) !important; }
      .rc-screen div[style*="repeat("]:not(:has(.ar-kpi-card)):not([data-rc-grid-fija]){ grid-template-columns:1fr !important; }
      .rc-screen .ar-grid-2{ grid-template-columns:1fr !important; }
      .rc-screen div[style*="1.6fr"], .rc-screen div[style*="1.5fr"], .rc-screen div[style*="1.4fr"], .rc-screen div[style*="2fr 1fr"], .rc-screen div[style*="1fr 1fr"], .rc-screen div[style*="1.1fr"], .rc-screen div[style*="1.2fr"]{ grid-template-columns:1fr !important; }
      .rc-screen .ar-card{ overflow-x:auto; }
      .rc-screen[data-screen-label="App residente"] [style*="max-width"]{ max-width:100% !important; }
      .rc-dock{ max-width:calc(100vw - 16px); overflow-x:auto; justify-content:flex-start !important; scrollbar-width:none; bottom:max(12px, env(safe-area-inset-bottom)) !important; }
      .rc-dock::-webkit-scrollbar{ display:none; }
      .rc-dock button > span{ display:none; }
      .rc-dock button{ padding:9px !important; }
    }
    @media (max-width: 560px){
      h2{ font-size:24px !important; }
      .ar-kpi-value{ font-size:24px !important; }
    }
    @media print {
      .rc-dock, .ar-sidebar, .ar-topbar, .rc-burger { display:none !important; }
      .rc-root { background:#fff !important; }
      .ar-page, .rc-screen { padding:0 !important; }
      .ar-card { break-inside: avoid; box-shadow:none !important; }
    }

    /* ===== Capa de color · matices Monday/Disi (menos plano) ===== */
    .rc-screen .ar-card{ transition: box-shadow .2s ease, border-color .2s ease, transform .15s ease; background-image:linear-gradient(180deg, rgba(148,163,184,.05), transparent 58%); }
    .rc-screen .ar-card:hover{ box-shadow: var(--shadow-md); }
    .rc-screen .ar-kpi-card{ border:0 !important; color:#fff !important; background:#2A6FDB !important; box-shadow:0 8px 22px -12px rgba(2,8,20,.45) !important; border-radius:14px !important; }
    .rc-screen .ar-kpi-card:nth-child(5n+2){ background:#1F8A5B !important; }
    .rc-screen .ar-kpi-card:nth-child(5n+3){ background:#D97706 !important; }
    .rc-screen .ar-kpi-card:nth-child(5n+4){ background:#DC2626 !important; }
    .rc-screen .ar-kpi-card:nth-child(5n+5){ background:#0E7C86 !important; }
    .rc-screen .ar-kpi-card .ar-kpi-label,.rc-screen .ar-kpi-card .ar-kpi-value,.rc-screen .ar-kpi-card .ar-kpi-suffix{ color:#fff !important; }
    .rc-screen .ar-kpi-card .ar-kpi-delta{ color:#fff !important; opacity:.9; }
    .rc-screen .ar-page-head .ar-caption{ color:#E2722C; font-weight:600; }
    .rc-screen .ar-table thead th{ background:var(--bg-subtle); }
    .rc-screen .ar-table tbody tr{ transition: background-color .12s ease; }
    .rc-screen .ar-table tbody tr:hover{ background:var(--bg-subtle); }
    .rc-screen .ar-card-title{ letter-spacing:-0.01em; display:flex; align-items:center; gap:8px; }
    .rc-screen .ar-card-title::before{ content:""; width:4px; height:15px; border-radius:3px; background:linear-gradient(180deg,#2A6FDB,#0E7C86); flex:none; }
    .rc-screen .ar-table-card .ar-card-title::before,.rc-screen .ar-page-head .ar-card-title::before{ display:none; }
    .rc-screen .ar-badge{ font-weight:700; }
    .rc-screen .ar-progress{ background:var(--bg-subtle); border-radius:99px; }
    .rc-screen .ar-progress-bar{ border-radius:99px; }
    .rc-screen .ar-alert{ border-radius:11px; }

    /* ===== Capa de diseño · residente / guardia / móvil (mobile-first, tablet) ===== */
    .rc-screen[data-screen-label^="App"] .ar-caption{ color:#E2722C; font-weight:600; }
    .rc-screen[data-screen-label="App residente"] .ar-card{ border-radius:16px; transition: box-shadow .2s ease, transform .15s ease; }
    .rc-screen[data-screen-label="App residente"] .ar-card:hover{ box-shadow: var(--shadow-md); }
    .rc-screen[data-screen-label="App residente"] button{ min-height:44px; }
    .rc-screen[data-screen-label="App guardia / caseta"] button{ min-height:48px; }
    /* Tablet (iPad): rejillas cómodas a 2–3 columnas */
    @media (min-width:561px) and (max-width:1024px){
      .rc-screen div[style*="repeat(4"]{ grid-template-columns:repeat(2,1fr) !important; }
      .rc-screen div[style*="repeat(5"]{ grid-template-columns:repeat(3,1fr) !important; }
      .rc-screen div[style*="repeat(6"]{ grid-template-columns:repeat(3,1fr) !important; }
    }
    /* Touch: estados activos en táctil */
    @media (hover:none){
      .rc-screen .ar-card:active{ transform:scale(0.997); }
      .rc-dock button:active{ filter:brightness(0.95); }
    }
    /* Teléfono (guardias y residentes usan móvil): apila y agranda */
    @media (max-width:560px){
      .rc-screen[data-screen-label="App guardia / caseta"] main{ grid-template-columns:1fr !important; padding:14px 12px 96px !important; }
      .rc-screen[data-screen-label="App guardia / caseta"] header{ padding:0 14px !important; }
      .rc-screen[data-screen-label="Login / onboarding"]{ grid-template-columns:1fr !important; }
      .rc-screen[data-screen-label="Login / onboarding"] h1{ font-size:28px !important; }
      .rc-screen div[style*="1.4fr 1fr"]{ grid-template-columns:1fr !important; }
      .rc-screen div[style*="1.1fr 1fr"]{ grid-template-columns:1fr !important; }
      .rc-screen div[style*="repeat(3,"]{ grid-template-columns:repeat(2,1fr) !important; }
      .rc-screen div[style*="repeat(4,"]{ grid-template-columns:repeat(2,1fr) !important; }
      .rc-screen div[style*="repeat(5,"]{ grid-template-columns:repeat(2,1fr) !important; }
      .rc-screen div[style*="repeat(6,"]{ grid-template-columns:repeat(3,1fr) !important; }
      .rc-screen[data-screen-label="App residente"] [style*="max-width:880"]{ padding-left:12px !important; padding-right:12px !important; }
      .rc-screen .ar-page-head{ flex-wrap:wrap; }
      .rc-screen[data-screen-label^="App"] button{ min-height:48px; }
    }
  