/* Brújula — hoja de estilos propia (0.10.0, 10/10/2026).
   Estructura de mensajería conocida con identidad propia: el celeste azulado y el logo de Brújula, grises neutros, tipografía del sistema, lista a la izquierda y "conversación"
   a la derecha en escritorio; en el teléfono, la conversación del día con barra de pestañas abajo.
   No usa logos, nombres ni fondos de terceros: el fondo con brújulas y estrellas es propio.
   El tema lo fija ui/eko.js (data-theme en <html>, preferencia en localStorage 'eko_theme'). */

/* ── Tokens ──────────────────────────────────────────────────────────── */
:root{
  /* Color de Brújula (el de siempre, el del ícono): celeste azulado */
  --acento:#0E8FB0; --acento-ink:#0B6A82; --acento-fuerte:#0E8FB0; --acento-suave:#DDF1F7; --chip-sel:#DDF1F7; --chip-sel-ink:#0B6A82;
  --panel:#FFFFFF; --cab:#F0F2F5; --campo:#FFFFFF; --campo-2:#F0F2F5; --hover:#F5F6F6; --sel:#F0F2F5; --riel:#F0F2F5; --riel-activo:#D9DBDF;
  --fondo:#EEF0F1; --burbuja:#FFFFFF; --burbuja-evento:#E6F4F8; --celeste:#0E8FB0; --celeste-suave:#E6F4F8; --pill:#FFFFFF; --pill-ink:#54656F;
  --ink:#111B21; --ink-2:#3B4A54; --ink-3:#667781; --ink-4:#8696A0;
  --linea:#E9EDEF; --linea-2:#D1D7DB;
  --azul:#53BDEB; --rojo:#EA0038; --rojo-suave:#FDE7EB; --naranja:#C2620A;
  --aviso-bg:#FFF3C4; --aviso-ink:#6B5300;
  --avatar:#DFE5E7; --avatar-ink:#54656F;
  --sombra-burbuja:0 1px .5px rgba(11,20,26,.13);
  --sombra-2:0 2px 5px rgba(11,20,26,.12),0 2px 10px rgba(11,20,26,.08);
  --sombra-3:0 17px 50px rgba(11,20,26,.19),0 12px 15px rgba(11,20,26,.24);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;
  --riel-w:64px; --lista-w:clamp(320px,30vw,420px); --cab-h:60px; --tab-h:58px;
  --bg:#FFFFFF; /* color de la barra del sistema (eko.js lo copia a theme-color) */
  color-scheme:light;
}
:root[data-theme="dark"]{
  --acento:#1BA8CC; --acento-ink:#4CCCE6; --acento-fuerte:#1BA8CC; --acento-suave:#0F3644; --chip-sel:#0F3644; --chip-sel-ink:#4CCCE6;
  --panel:#111B21; --cab:#202C33; --campo:#2A3942; --campo-2:#202C33; --hover:#202C33; --sel:#2A3942; --riel:#202C33; --riel-activo:#374248;
  --fondo:#0C1317; --burbuja:#202C33; --burbuja-evento:#12313B; --celeste:#4CCCE6; --celeste-suave:#12313B; --pill:#182229; --pill-ink:#8696A0;
  --ink:#E9EDEF; --ink-2:#D1D7DB; --ink-3:#8696A0; --ink-4:#667781;
  --linea:#222D34; --linea-2:#2A3942;
  --azul:#53BDEB; --rojo:#F15C6D; --rojo-suave:#3B2227; --naranja:#F0A04B;
  --aviso-bg:#3A3220; --aviso-ink:#F5D38A;
  --avatar:#6A7175; --avatar-ink:#E9EDEF;
  --sombra-burbuja:0 1px .5px rgba(0,0,0,.25);
  --sombra-2:0 2px 5px rgba(0,0,0,.3),0 2px 10px rgba(0,0,0,.2);
  --sombra-3:0 17px 50px rgba(0,0,0,.45),0 12px 15px rgba(0,0,0,.4);
  --bg:#111B21;
  color-scheme:dark;
}

/* ── Base ────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;touch-action:manipulation;height:100%}
body{margin:0;height:100%;overflow:hidden;font-family:var(--font);font-size:15px;line-height:1.4;color:var(--ink);background:var(--panel);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--acento-ink)}
svg{flex:none}
[hidden]{display:none !important}
:focus-visible{outline:2px solid var(--acento);outline-offset:2px}
kbd{font:inherit;font-size:11px;color:var(--ink-3);border:1px solid var(--linea-2);border-radius:5px;padding:0 5px;background:var(--panel)}
code{font-size:12px;background:var(--cab);padding:1px 5px;border-radius:5px}
.grow{flex:1}
@keyframes girar{to{transform:rotate(360deg)}} .girando svg{animation:girar .9s linear infinite}
@keyframes brillo{0%{background-position:-200px 0}100%{background-position:200px 0}}

/* ── Controles ───────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 16px;border-radius:999px;border:1px solid var(--linea-2);background:var(--panel);color:var(--acento-ink);font-size:14px;font-weight:500;white-space:nowrap;text-decoration:none;transition:background .15s,filter .15s}
.btn:hover{background:var(--hover)}
.btn.primary{background:var(--acento);border-color:var(--acento);color:#fff}
:root[data-theme="dark"] .btn.primary{color:#111B21}
.btn.primary:hover{filter:brightness(.94)}
.btn.sm{min-height:32px;padding:0 12px;font-size:13.5px}
.btn.quiet{border-color:transparent;background:transparent}
.btn.quiet:hover{background:var(--hover)}
.btn.icon{width:36px;height:36px;min-height:0;padding:0;border-radius:50%;border:0;background:transparent;color:var(--ink-3)}
.btn.icon:hover{background:var(--hover)}
.btn.peligro,.peligro{color:var(--rojo)}
.btn:disabled{opacity:.5;cursor:default}
.ico-btn{width:40px;height:40px;display:inline-grid;place-items:center;border-radius:50%;border:0;background:transparent;color:var(--ink-3);padding:0}
.ico-btn:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.ico-btn.verde{background:var(--acento);color:#fff}
.ico-btn.verde:hover{filter:brightness(.94);background:var(--acento)}
:root[data-theme="dark"] .ico-btn.verde{color:#111B21}
.ico-btn svg{width:22px;height:22px}
.input,.field input,.field select,.field textarea,.plan textarea,.plan input[type=text]{width:100%;min-height:40px;padding:8px 12px;border-radius:8px;border:1px solid transparent;background-color:var(--campo-2);color:var(--ink);font-size:15px;outline:none}
:root[data-theme="dark"] .input,:root[data-theme="dark"] .field input,:root[data-theme="dark"] .field select,:root[data-theme="dark"] .field textarea,:root[data-theme="dark"] .plan textarea,:root[data-theme="dark"] .plan input[type=text]{background-color:var(--campo)}
.input:focus,.field input:focus,.field select:focus,.field textarea:focus,.plan textarea:focus,.plan input[type=text]:focus{border-color:var(--acento)}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 256 256'%3E%3Cpath fill='%238696A0' d='m213.66 101.66l-80 80a8 8 0 0 1-11.32 0l-80-80a8 8 0 0 1 11.32-11.32L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}
::placeholder{color:var(--ink-4)}
.field{display:block}
.field>label{display:block;font-size:12.5px;color:var(--ink-3);margin:0 0 4px}
.sub{font-size:12.5px;color:var(--ink-3)}
/* Interruptor (verde, como los de configuración del teléfono) */
.switch{display:flex;align-items:center;gap:12px;cursor:pointer;min-height:44px}
.switch input{position:absolute;opacity:0;width:1px;height:1px}
.switch .switch-label{flex:1;order:1;font-size:15px;color:var(--ink)}
.switch .track{order:2;position:relative;width:44px;height:26px;border-radius:13px;background:var(--linea-2);transition:background .2s;flex:none}
.switch .thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.switch input:checked+.track{background:var(--acento)}
.switch input:checked+.track .thumb{transform:translateX(18px)}
.switch input:focus-visible+.track{outline:2px solid var(--acento);outline-offset:2px}
/* Control segmentado (Día/Semana, tema) */
.segmento{display:inline-flex;padding:3px;border-radius:999px;background:var(--campo-2);gap:2px}
:root[data-theme="dark"] .segmento{background:var(--campo)}
.segmento button{border:0;background:transparent;border-radius:999px;padding:5px 14px;font-size:13.5px;color:var(--ink-3)}
.segmento button[aria-pressed="true"]{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px rgba(11,20,26,.15)}
:root[data-theme="dark"] .segmento button[aria-pressed="true"]{background:var(--sel)}
.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:16px;border:0;background:var(--cab);color:var(--pill-ink);font-size:14px;white-space:nowrap}
.chip:hover{filter:brightness(.97)}
.skeleton{border-radius:8px;background:linear-gradient(90deg,var(--burbuja) 0,color-mix(in srgb,var(--burbuja) 70%,var(--linea)) 50%,var(--burbuja) 100%);background-size:400px 100%;animation:brillo 1.2s linear infinite;opacity:.8}
.theme-btn svg{width:22px;height:22px}
.theme-btn .sun,.theme-btn .moon{display:none}
:root[data-theme="light"] .theme-btn .moon,:root:not([data-theme]) .theme-btn .moon{display:block}
:root[data-theme="dark"] .theme-btn .sun{display:block}

/* ── Estructura ──────────────────────────────────────────────────────── */
.app{display:grid;grid-template-columns:var(--riel-w) var(--lista-w) minmax(0,1fr);height:100dvh;height:var(--vvh,100dvh);overflow:hidden}
.riel{grid-column:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 0;background:var(--riel);border-right:1px solid var(--linea)}
.riel-btn{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink-3);padding:0;position:relative}
.riel-btn svg{width:24px;height:24px}
.riel-btn:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.riel-btn[aria-current="page"]{background:var(--riel-activo);color:var(--ink)}
.riel .grow{flex:1}
.riel-avatar{width:36px;height:36px;border-radius:50%;border:0;background:var(--avatar);color:var(--avatar-ink);font-weight:600;font-size:15px;margin-top:4px;padding:0}
.lista{grid-column:2;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--panel);border-right:1px solid var(--linea)}
.panel-dia,.panel-plan{grid-column:3;display:flex;flex-direction:column;min-width:0;min-height:0}
section[data-vista]:not([data-activa]){display:none !important}
.tabbar{display:none}

/* ── Lista de días (izquierda) ───────────────────────────────────────── */
.lista-cab{flex:none;display:flex;align-items:center;gap:6px;height:var(--cab-h);padding:0 12px 0 18px}
.lista-tit{margin:0;display:flex;align-items:center;gap:10px;font-size:22px;font-weight:700;color:var(--acento-ink);letter-spacing:-.01em;flex:1}
.lista-tit img{width:32px;height:32px;border-radius:8px;flex:none}
.riel-logo{width:38px;height:38px;border-radius:10px;margin:2px 0 8px}
.buscador{flex:none;position:relative;padding:4px 12px 8px}
.buscar{display:flex;align-items:center;gap:10px;height:38px;padding:0 12px;border-radius:8px;background:var(--campo-2);color:var(--ink-3)}
:root[data-theme="dark"] .buscar{background:var(--campo)}
.buscar svg{width:18px;height:18px}
.buscar input{flex:1;min-width:0;border:0;background:transparent;outline:none;font-size:15px;color:var(--ink);height:100%}
.buscar input::-webkit-search-cancel-button{opacity:.6}
.semana-nav{flex:none;display:flex;align-items:center;gap:4px;padding:0 10px 8px 12px}
.semana-nav .lbl{flex:1;text-align:center;font-size:14px;font-weight:600;color:var(--ink-2)}
.semana-nav .ico-btn{width:34px;height:34px}
.semana-nav .ico-btn svg{width:18px;height:18px}
.semana-nav .chip[data-activo],.nav-sem .chip[data-activo]{background:var(--chip-sel);color:var(--chip-sel-ink)}
.dias-lista{flex:1;overflow-y:auto;overscroll-behavior:contain}
.fila-dia{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;width:100%;padding:0 0 0 14px;border:0;background:transparent;text-align:left;color:var(--ink)}
.fila-dia:hover{background:var(--hover)}
.fila-dia[aria-current="true"]{background:var(--sel)}
.fila-dia.sobre{background:var(--chip-sel);box-shadow:inset 3px 0 0 var(--acento)}
.fila-dia .av{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--avatar);color:var(--avatar-ink);font-size:19px;font-weight:500;font-variant-numeric:tabular-nums}
.fila-dia .av svg{width:24px;height:24px}
.fila-dia.hoy .av{background:var(--acento);color:#fff}
:root[data-theme="dark"] .fila-dia.hoy .av{color:#111B21}
.fila-dia .cuerpo{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:72px;padding:10px 14px 10px 0;border-bottom:1px solid var(--linea);min-width:0}
.fila-dia:last-child .cuerpo{border-bottom:0}
.fila-dia .l1,.fila-dia .l2{display:flex;align-items:center;gap:8px;min-width:0}
.fila-dia .nom{flex:1;min-width:0;font-size:16.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fila-dia.hoy .nom{font-weight:600}
.fila-dia .fecha{font-size:12px;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}
.fila-dia.hoy .fecha{color:var(--acento-ink);font-weight:600}
.fila-dia .prev{flex:1;min-width:0;font-size:14px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fila-dia .prev .atr{color:var(--naranja)}
.fila-dia .badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--acento-fuerte);color:#fff;font-size:12px;font-weight:600;display:grid;place-items:center;font-variant-numeric:tabular-nums}
:root[data-theme="dark"] .fila-dia .badge{color:#111B21}

/* ── Día (la "conversación") ─────────────────────────────────────────── */
.dia-cab{flex:none;display:flex;align-items:center;gap:12px;height:var(--cab-h);padding:0 14px;background:var(--cab);border-bottom:1px solid var(--linea);min-width:0}
.dia-cab .volver{display:none}
.dia-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--avatar);color:var(--avatar-ink);font-weight:500;font-size:16px;flex:none;font-variant-numeric:tabular-nums}
.dia-avatar.hoy{background:var(--acento);color:#fff}
:root[data-theme="dark"] .dia-avatar.hoy{color:#111B21}
.dia-avatar svg{width:22px;height:22px}
.dia-txt{flex:1;min-width:0}
.dia-tit{font-size:16px;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dia-sub{font-size:13px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dia-cab .acc{display:flex;align-items:center;gap:4px}
.dia-cab .solo-movil{display:none}
.dias-movil{display:none}
.notice.aviso{flex:none;display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--rojo-suave);color:var(--ink);font-size:14px;border-bottom:1px solid var(--linea)}
.notice.aviso>span:first-child{width:22px;height:22px;border-radius:50%;background:var(--rojo);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.notice.aviso #avisoTxt{flex:1}
.notice.aviso .btn.icon{width:30px;height:30px}
.fondo{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:var(--fondo);-webkit-overflow-scrolling:touch}

/* Identidad propia (pedido de Diego: que no sea idéntico a WhatsApp): el día es una tarjeta blanca sobre gris liso,
   con su encabezado de siempre, las prioridades en su tarjeta y "Agregar tarea" al pie, como antes. */

/* Prioridades de la semana */
.rocas{flex:none;margin:12px auto 0;width:calc(100% - 24px);max-width:880px;padding:8px 14px 10px;background:var(--panel);border:1px solid var(--linea);border-radius:16px}
body[data-modo="semana"] .rocas{max-width:none}
.rocas .cab{display:flex;align-items:center;gap:12px;min-height:34px}
.rocas .titulo{display:inline-flex;align-items:center;gap:8px;min-width:0;border:0;background:none;padding:0 4px 0 0;font-size:14px;font-weight:600;color:var(--ink);text-align:left;white-space:nowrap}
.rocas .titulo svg{color:var(--celeste);width:18px;height:18px}
.rocas .titulo .cnt{color:var(--ink-3);font-size:12.5px;font-weight:400;font-variant-numeric:tabular-nums}
.rocas .titulo .chev{display:inline-flex;color:var(--ink-3);transition:transform .2s;transform:rotate(90deg)}
.rocas .titulo .chev svg{width:14px;height:14px;color:var(--ink-3)}
.rocas.plegado .titulo .chev{transform:none}
.rocas .cab .btn{margin-left:auto}
.rocas .foco{margin:4px 0 2px 26px;padding:1px 0 1px 10px;border-left:2px solid color-mix(in srgb,var(--celeste) 55%,transparent);font-style:italic;color:var(--ink-2);font-size:13.5px;line-height:1.4}
.rocas .grupos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:4px 24px;margin-top:6px;padding-top:8px;border-top:1px solid var(--linea)}
.rocas.plegado .grupos{display:none}
.rocas .grupo{min-width:0}
.rocas .grupo .rol{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3);margin:2px 0 1px 6px}
.rocas .grupo .rol .dot{width:8px;height:8px;border-radius:50%;background:var(--rol)}
.rocas .roca{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 6px;border:0;border-radius:8px;background:none;text-align:left;font-size:14px;color:var(--ink)}
.rocas .roca:hover{background:var(--hover)}
.rocas .roca .pt{width:6px;height:6px;border-radius:50%;background:var(--rol);flex:none;margin:0 3px}
.rocas .roca .ok{color:var(--acento)}
.rocas .roca .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rocas .roca .n{color:var(--ink-3);font-size:12px;font-variant-numeric:tabular-nums}
.rocas .roca[data-estado="lograda"] .t{color:var(--ink-3);text-decoration:line-through}
.rocas .vacio{color:var(--ink-3);font-size:13.5px;padding:2px 6px;grid-column:1/-1}

/* Vista Día: el día como una tarjeta */
body[data-modo="dia"] .tablero{display:block;padding-bottom:12px}
body[data-modo="dia"] .dia{display:none}
body[data-modo="dia"] .dia.sel{display:flex;flex-direction:column;margin:12px auto 0;width:calc(100% - 24px);max-width:880px;background:var(--panel);border:1px solid var(--linea);border-radius:16px}
.dia.hoy{border-color:color-mix(in srgb,var(--celeste) 45%,var(--linea)) !important;box-shadow:0 0 0 1px color-mix(in srgb,var(--celeste) 22%,transparent)}
.dia>header{display:flex;align-items:baseline;gap:8px;padding:12px 14px 6px}
.dia>header .dow{font-size:13px;color:var(--ink-3)}
.dia>header .num{font-size:24px;font-weight:500;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.dia.hoy>header .num{color:var(--celeste)}
.dia>header .carga{margin-left:auto;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.dia>header .tit{font-size:15px;font-weight:600}
body[data-modo="dia"] .tarjetas{padding:4px 10px}
body[data-modo="dia"] .eventos{padding:0 10px 6px}
/* Vista Semana (escritorio): las ocho columnas, como antes */
body[data-modo="semana"] .tablero-scroll{overflow-x:auto;padding:12px}
body[data-modo="semana"] .tablero{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr)) minmax(170px,210px);gap:10px;align-items:start;min-width:1300px}
body[data-modo="semana"] .dia{display:flex;flex-direction:column;min-height:280px;border-radius:14px;background:var(--panel);border:1px solid var(--linea)}
body[data-modo="semana"] .dia.bandeja{background:color-mix(in srgb,var(--panel) 70%,var(--fondo));border-style:dashed}
body[data-modo="semana"] .dia>header{padding:10px 12px 6px}
body[data-modo="semana"] .dia>header .dow{font-size:12px}
body[data-modo="semana"] .dia>header .num{font-size:21px}
body[data-modo="semana"] .dia>header .carga{font-size:11.5px}
body[data-modo="semana"] .tarjetas{padding:4px 8px;flex:1}
body[data-modo="semana"] .eventos{padding:0 8px 6px}
body[data-modo="semana"] .tarjeta{padding:7px 8px}
body[data-modo="semana"] .tarjeta .tit{font-size:13.5px}

/* Tarjetas de tarea */
.tarjetas{display:flex;flex-direction:column;gap:6px;min-height:40px}
.tarjeta{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 11px;align-items:start;padding:8px 10px 7px;border-radius:10px;background:var(--burbuja);border:1px solid var(--linea);box-shadow:0 1px 2px rgba(11,20,26,.06);cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.tarjeta:hover{border-color:var(--linea-2);box-shadow:0 2px 6px rgba(11,20,26,.08)}
:root[data-theme="dark"] .tarjeta{border-color:transparent}
:root[data-theme="dark"] .tarjeta:hover{filter:brightness(1.08)}
.tarjeta.arrastrando{opacity:.3}
.tarjeta .check{position:relative;width:22px;height:22px;margin-top:1px;border-radius:50%;border:2px solid var(--ink-4);background:transparent;color:transparent;display:grid;place-items:center;padding:0}
.tarjeta .check::before{content:"";position:absolute;inset:-11px}
.tarjeta .check svg{width:13px;height:13px}
.tarjeta .check:hover{border-color:var(--acento)}
.tarjeta[data-estado="hecha"] .check{background:var(--acento);border-color:var(--acento);color:#fff}
.tarjeta[data-estado="hecha"]{background:color-mix(in srgb,var(--burbuja) 60%,var(--fondo));box-shadow:none}
.tarjeta .cuerpo{min-width:0}
.tarjeta .rol-nom{font-size:12.5px;font-weight:600;color:var(--rol);margin:-1px 0 1px;line-height:1.3}
:root[data-theme="dark"] .tarjeta .rol-nom{color:color-mix(in srgb,var(--rol) 62%,#fff)}
.tarjeta .tit{font-size:15px;line-height:1.35;color:var(--ink);word-break:break-word;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.tarjeta[data-estado="hecha"] .tit{color:var(--ink-3);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--ink-3) 60%,transparent)}
.tarjeta[data-estado="hecha"] .rol-nom{opacity:.6}
.tarjeta .meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;margin-top:3px;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.tarjeta .meta>span{display:inline-flex;align-items:center;gap:3px}
.tarjeta .meta svg{width:13px;height:13px}
.tarjeta .meta .urg{color:var(--rojo)}
.tarjeta .meta .interr{color:var(--naranja)}
.tarjeta .meta .src{padding:0 7px;border-radius:999px;background:var(--cab);color:var(--ink-2);font-size:11px;line-height:18px}
.tarjeta .meta .sello{margin-left:auto;gap:4px;color:var(--ink-3);font-size:11.5px}
.tarjeta .meta .sello .leido{color:var(--azul);display:inline-flex}
.tarjeta .meta .sello .leido svg{width:16px;height:16px}
.vacio-dia{display:none}
body[data-modo="dia"] .vacio-dia{display:block;color:var(--ink-3);font-size:14px;padding:6px 4px 2px}
.placeholder{border-radius:10px;border:2px dashed color-mix(in srgb,var(--celeste) 60%,transparent);background:color-mix(in srgb,var(--celeste) 8%,transparent);min-height:44px}
.ghost{position:fixed;z-index:100;pointer-events:none;transform:rotate(1.2deg) scale(1.02);box-shadow:var(--sombra-3);opacity:.96}
body.arrastrando,body.arrastrando *{cursor:grabbing !important}
/* Eventos del calendario: bloques compactos, celeste discreto */
.eventos{display:flex;flex-direction:column;gap:4px}
.evento{display:grid;grid-template-columns:1fr;gap:1px;padding:6px 10px;border-radius:9px;background:var(--celeste-suave);color:var(--ink);text-decoration:none;font-size:14px;line-height:1.3}
.evento .h{font-size:12px;color:var(--celeste);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evento.todo .h{color:var(--ink-3);font-weight:500}
.evento .t{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
a.evento:hover{filter:brightness(.97)}
/* Atrasadas: aviso al tope del día */
.atrasadas{margin:0 10px 8px;padding:6px 10px 4px;border-radius:10px;background:var(--aviso-bg);color:var(--aviso-ink);font-size:13px}
body[data-modo="semana"] .atrasadas{margin:0 8px 6px}
.atrasadas summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:600;min-height:26px}
.atrasadas summary::-webkit-details-marker{display:none}
.atrasadas summary svg{width:15px;height:15px}
.atrasadas .tarjetas{padding:6px 0 2px !important}
.atrasadas .btn{margin:4px 0 4px;background:var(--panel)}
body[data-modo="semana"] .atrasadas{padding:6px 6px 4px}
body[data-modo="semana"] .atrasadas .btn{white-space:normal;max-width:100%;min-height:30px;height:auto;padding:4px 10px;font-size:12.5px;line-height:1.2}
body[data-modo="semana"] .atrasadas .tarjeta{padding:6px 7px;gap:0 8px}

/* Agregar tarea (al pie de cada día, como antes) */
.quick{padding:4px 10px 10px}
.quick input{width:100%;height:40px;padding:0 10px;border-radius:10px;border:1px dashed transparent;background:transparent;color:var(--ink);font-size:15px;outline:none}
.quick input::placeholder{color:var(--ink-3)}
.quick input:hover{border-color:var(--linea-2)}
.quick input:focus{border:1px solid color-mix(in srgb,var(--celeste) 70%,transparent);background:var(--campo-2)}
:root[data-theme="dark"] .quick input:focus{background:var(--campo)}
body[data-modo="semana"] .quick{padding:4px 8px 8px}
body[data-modo="semana"] .quick input{height:34px;font-size:13.5px}
/* Botón "+" flotante (teléfono) */
.fab{display:none}

/* ── Planificar ──────────────────────────────────────────────────────── */
.panel-plan{background:var(--cab)}
:root[data-theme="dark"] .panel-plan{background:var(--panel)}
.cab-panel{flex:none;display:flex;align-items:center;gap:12px;height:var(--cab-h);padding:0 16px;background:var(--cab);border-bottom:1px solid var(--linea)}
.cab-panel h2,.cab-panel h3{margin:0;font-size:16px;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px}
.plan{display:grid;grid-template-columns:1.3fr .9fr;gap:14px;align-items:start;max-width:1100px;margin:0 auto}
.plan .card{background:var(--panel);border-radius:12px;padding:16px 18px;box-shadow:var(--sombra-burbuja)}
:root[data-theme="dark"] .plan .card{background:var(--cab)}
.plan h3{margin:0 0 4px;font-size:16px;font-weight:600}
.plan .ayuda{color:var(--ink-3);font-size:13.5px;margin:0 0 12px}
.plan .foco{margin-bottom:6px}
.plan .foco input{font-style:italic}
.rol-bloque{padding:12px 0;border-top:1px solid var(--linea)}
.rol-bloque:first-of-type{border-top:0}
.rol-bloque .rol-nombre{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--rol)}
:root[data-theme="dark"] .rol-bloque .rol-nombre{color:color-mix(in srgb,var(--rol) 62%,#fff)}
.rol-bloque .rol-nombre .dot{width:10px;height:10px;border-radius:50%;background:var(--rol)}
.rol-bloque .rol-nombre .n{color:var(--ink-3);font-weight:400;font-size:12.5px}
.roca-fila{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:15px}
.roca-fila .check{width:22px;height:22px;border-radius:50%;border:2px solid var(--ink-4);background:transparent;color:transparent;display:grid;place-items:center;padding:0;flex:none}
.roca-fila .check svg{width:13px;height:13px}
.roca-fila[data-estado="lograda"] .check{background:var(--acento);border-color:var(--acento);color:#fff}
.roca-fila[data-estado="lograda"] .t{text-decoration:line-through;color:var(--ink-3)}
.roca-fila .t{flex:1;min-width:0}
.roca-fila .n{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.roca-fila .btn.icon{width:32px;height:32px}
.roca-add{display:flex;gap:8px;margin-top:6px}
.roca-add input{flex:1;min-width:0}
.pend-ant{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--aviso-bg);color:var(--aviso-ink);font-size:14px}
.pend-ant .roca-fila{padding:4px 0}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0 0 12px}
.kpi{padding:10px 12px;border-radius:10px;background:var(--cab)}
:root[data-theme="dark"] .kpi{background:var(--campo)}
.kpi .k{font-size:12px;color:var(--ink-3)}
.kpi .v{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}
.kpi .v small{font-size:14px;color:var(--ink-3);font-weight:400}
.kpi .foot{font-size:13px;margin-top:4px}
.plan textarea{min-height:120px;resize:vertical}
.plan .ritual{font-size:14px;color:var(--ink-2);margin:0;padding-left:18px}
.plan .ritual li{margin:4px 0}
.plan .guardado{font-size:12.5px;color:var(--ink-3)}
.modal-foot{display:flex;gap:8px;align-items:center;margin-top:14px;flex-wrap:wrap}

/* ── Ventanas (base) ─────────────────────────────────────────────────── */
.modal-bg{position:fixed;inset:0;z-index:70;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(11,20,26,.45)}
:root[data-theme="dark"] .modal-bg{background:rgba(0,0,0,.6)}
.modal-bg.open{display:flex}
.modal{position:relative;width:100%;max-width:520px;max-height:calc(var(--vvh,100dvh) - 40px);overflow:auto;background:var(--panel);border-radius:14px;box-shadow:var(--sombra-3);padding:22px}
:root[data-theme="dark"] .modal{background:var(--cab)}
.modal h3{margin:0 0 6px;font-size:19px;font-weight:600}
.modal .hint{color:var(--ink-3);font-size:14px;margin:0 0 4px}
.modal-x{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--ink-3);font-size:24px;line-height:1;padding:0}
.modal-x:hover{background:var(--hover)}

/* Entrar: pantalla dividida, panel de marca a la izquierda (escritorio) y formulario limpio a la derecha */
#modalLogin{padding:0;background:var(--panel)}
.login-pantalla{position:fixed;inset:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--panel);overflow:auto}
.login-arte{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:40px 48px;overflow:hidden;background:linear-gradient(155deg,#E6F5FA 0%,#C9EAF4 55%,#B4E0EE 100%);color:#0B3E4D}
:root[data-theme="dark"] .login-arte{background:linear-gradient(155deg,#0F3644 0%,#0B2A35 60%,#08202A 100%);color:#D7F1F8}
.login-arte::before{content:"";position:absolute;right:-120px;bottom:-140px;width:480px;height:480px;border-radius:50%;border:2px solid rgba(14,143,176,.18);box-shadow:0 0 0 46px rgba(14,143,176,.06),0 0 0 92px rgba(14,143,176,.04)}
.arte-marca{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:700;letter-spacing:-.01em;color:#0B6A82;position:relative}
:root[data-theme="dark"] .arte-marca{color:#4CCCE6}
.arte-marca img{border-radius:9px}
.arte-escena{position:relative;align-self:center;width:min(380px,100%);margin-top:6px}
.arte-dia{background:#FFFFFF;border-radius:18px;padding:14px 14px 10px;box-shadow:0 18px 40px rgba(11,62,77,.16),0 2px 6px rgba(11,62,77,.08);transform:rotate(-2deg)}
:root[data-theme="dark"] .arte-dia{background:#111B21;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.arte-cab{display:flex;align-items:baseline;gap:8px;padding:0 2px 8px}
.arte-cab .dow{font-size:12.5px;color:#667781}.arte-cab .num{font-size:24px;font-weight:500;color:#0E8FB0}.arte-cab .carga{margin-left:auto;font-size:12px;color:#667781}
:root[data-theme="dark"] .arte-cab .num{color:#4CCCE6}
.arte-ev{display:flex;flex-direction:column;font-size:13px;padding:6px 10px;border-radius:9px;background:#E6F4F8;color:#111B21;margin-bottom:6px}
.arte-ev b{font-size:11.5px;color:#0E8FB0;font-weight:600}
:root[data-theme="dark"] .arte-ev{background:#12313B;color:#E9EDEF}
:root[data-theme="dark"] .arte-ev b{color:#4CCCE6}
.arte-t{display:flex;align-items:flex-start;gap:9px;padding:7px 9px;margin-top:6px;border:1px solid #E9EDEF;border-radius:10px;font-size:13.5px;color:#111B21;background:#fff}
:root[data-theme="dark"] .arte-t{background:#202C33;border-color:transparent;color:#E9EDEF}
.arte-t .ck{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid #8696A0;display:grid;place-items:center;font-size:11px;color:#fff;margin-top:1px}
.arte-t.hecha .ck{background:#0E8FB0;border-color:#0E8FB0}
.arte-t s{color:#8696A0}
.arte-t i{display:block;font-style:normal;font-size:11px;font-weight:600;color:var(--c)}
.arte-t em{margin-left:auto;font-style:normal;font-size:11.5px;color:#667781;align-self:flex-end}
.arte-wa{position:absolute;right:-44px;bottom:-96px;width:250px;transform:rotate(2deg)}
.arte-wa-burbuja{position:relative;background:#FFFFFF;border-radius:12px 12px 12px 4px;padding:9px 12px 18px;font-size:12.5px;line-height:1.35;color:#111B21;box-shadow:0 10px 26px rgba(11,62,77,.18)}
:root[data-theme="dark"] .arte-wa-burbuja{background:#202C33;color:#E9EDEF}
.arte-wa-burbuja .hora{position:absolute;right:10px;bottom:4px;font-size:10.5px;color:#667781}
.arte-wa-botones{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:4px}
.arte-wa-botones span{background:#FFFFFF;border-radius:9px;padding:6px 0;text-align:center;font-size:12px;font-weight:500;color:#0E8FB0;box-shadow:0 4px 12px rgba(11,62,77,.12)}
:root[data-theme="dark"] .arte-wa-botones span{background:#202C33;color:#4CCCE6}
.arte-lema{position:relative;margin:56px 0 0;font-size:26px;font-weight:700;line-height:1.2;letter-spacing:-.01em;max-width:420px}
.arte-lema span{display:block;margin-top:8px;font-size:15.5px;font-weight:400;line-height:1.45;opacity:.85}
.login-lado{display:flex;align-items:center;justify-content:center;padding:40px 24px}
:root[data-theme="dark"] .modal.login{background:transparent}
.modal.login{position:static;max-width:400px;width:100%;max-height:none;overflow:visible;box-shadow:none;border-radius:0;background:transparent;padding:0;text-align:left}
.login .logo{width:56px;height:56px;margin:0 0 18px;display:block;border-radius:14px}
.login h3{font-size:28px;font-weight:700;letter-spacing:-.015em;margin:0 0 4px}
.login .sub-tit{margin:0 0 22px;color:var(--ink-3);font-size:15.5px}
.login .field{margin:12px 0 0}
.login .field input{height:48px;font-size:16px;border-radius:12px;border:1px solid var(--linea-2) !important;background-color:var(--panel) !important}
.login .field input:focus{border-color:var(--acento) !important}
.login .codigo{font-size:26px !important;letter-spacing:8px;text-align:center}
.login .hint{color:var(--ink-3);font-size:14px;margin:0 0 4px}
.login .modal-foot{flex-direction:column-reverse;align-items:stretch;gap:10px;margin-top:16px}
.login .modal-foot .grow{display:none}
.login .modal-foot .btn.primary{width:100%;min-height:48px;font-size:15.5px;border-radius:12px}
.login .modal-foot .btn.sm{border:0;background:transparent;align-self:center}
.login .error{color:var(--rojo);margin-top:14px}
.login .legal{margin:26px 0 0;font-size:12.5px;color:var(--ink-3);line-height:1.5}
.login .legal a{color:var(--acento-ink)}
body.sin-sesion .app,body.sin-sesion .tabbar,body.sin-sesion .fab{visibility:hidden}
/* "Continuar con Google": botón con los colores que pide Google para el ingreso */
.login .google{width:100%;min-height:48px;gap:10px;border-radius:12px;background:#FFFFFF;color:#1F1F1F;border:1px solid #747775;font-size:15px;font-weight:500}
.login .google:hover{background:#F8FAFB}
:root[data-theme="dark"] .login .google{background:#131314;color:#E3E3E3;border-color:#8E918F}
.login .separador{display:flex;align-items:center;gap:10px;margin:20px 0 10px;color:var(--ink-3);font-size:13px}
.login .separador::before,.login .separador::after{content:"";flex:1;height:1px;background:var(--linea-2)}
@media (max-width:860px){
  .login-pantalla{grid-template-columns:1fr;top:var(--vvt,0px);bottom:auto;height:var(--vvh,100dvh)}
  .login-arte{display:none}
  .login-lado{align-items:flex-start;padding:max(48px,env(safe-area-inset-top)) 24px 32px}
}

/* Hoja de tarea: panel a la derecha (escritorio) / pantalla completa (teléfono) */
#modalTarea{justify-content:flex-end;align-items:stretch;padding:0;background:rgba(11,20,26,.18)}
:root[data-theme="dark"] #modalTarea{background:rgba(0,0,0,.35)}
.modal.hoja{max-width:440px;height:100%;max-height:none;border-radius:0;padding:0;display:flex;flex-direction:column;background:var(--cab);overflow:hidden}
:root[data-theme="dark"] .modal.hoja{background:var(--panel)}
.hoja-cab{flex:none;display:flex;align-items:center;gap:10px;height:var(--cab-h);padding:0 12px 0 8px;background:var(--panel);border-bottom:1px solid var(--linea)}
:root[data-theme="dark"] .hoja-cab{background:var(--cab)}
.hoja-cab h3{flex:1;margin:0;font-size:16px;font-weight:500}
.hoja-cab .modal-x{position:static}
.cab-btn{border:0;background:transparent;color:var(--acento-ink);font-size:16px;padding:8px 10px;border-radius:8px}
.cab-btn:hover{background:var(--hover)}
.cab-btn.fuerte{font-weight:600}
.hoja-cab #hCancelar{display:none}
.hoja-cuerpo{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px 12px calc(24px + env(safe-area-inset-bottom))}
.hoja-cuerpo .grupo{background:var(--panel);border-radius:12px;margin:0 0 12px;padding:4px 14px;box-shadow:var(--sombra-burbuja)}
:root[data-theme="dark"] .hoja-cuerpo .grupo{background:var(--cab)}
.grupo-tit{font-size:13px;color:var(--ink-3);padding:8px 0 2px}
.hoja .titulo-inp{display:block;width:100%;border:0;background:transparent;padding:12px 0 8px;font-size:18px;font-weight:500;line-height:1.3;color:var(--ink);resize:none;outline:none;overflow:hidden}
.hoja .titulo-inp.falta::placeholder{color:var(--rojo)}
.hoja .falta-aviso{color:var(--rojo);padding:0 0 6px}
.hoja .notas-inp{display:block;width:100%;min-height:64px;border:0;border-top:1px solid var(--linea);background:transparent;padding:10px 0 12px;font-size:15px;line-height:1.4;color:var(--ink);resize:vertical;outline:none}
.fila-f{display:flex;align-items:center;gap:12px;min-height:48px;border-bottom:1px solid var(--linea)}
.filas>.fila-f:last-of-type{border-bottom:0}
.fila-f>span:first-child{flex:none;width:118px;font-size:15px;color:var(--ink)}
.fila-f input,.fila-f select{flex:1;min-width:0;min-height:36px;border:0 !important;background-color:transparent !important;text-align:right;font-size:15px;color:var(--acento-ink);padding:0 22px 0 0;outline:none}
.fila-f input[type=date],.fila-f input[type=time]{padding-right:0;justify-content:flex-end}
.fila-f input::-webkit-date-and-time-value{text-align:right}
.fila-f input:not(:valid),.fila-f input.vacio{color:var(--ink-4)}
.fila-f select{background-position:right 0 center}
.matriz{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px 0 12px}
.matriz button{text-align:left;padding:9px 11px;border-radius:10px;border:1.5px solid var(--linea-2);background:transparent;color:var(--ink-3);font-size:12.5px;line-height:1.3;min-height:56px}
.matriz button b{display:block;font-size:14px;color:var(--ink);font-weight:600;margin-bottom:2px}
.matriz button[aria-pressed="true"]{border-color:var(--acento);background:color-mix(in srgb,var(--acento) 9%,transparent)}
.matriz button[aria-pressed="true"] b{color:var(--acento-ink)}
.fila-sw{padding:2px 14px}
.fila-sw .switch{border-bottom:1px solid var(--linea)}
.fila-sw .switch:last-of-type{border-bottom:0}
.fila-sw .aviso-sel{width:100%;margin:2px 0 10px}
.fila-sw .sub{display:block;padding:0 0 10px}
.adjuntos .adj{display:flex;align-items:center;gap:10px;min-height:46px;border-bottom:1px solid var(--linea);font-size:15px}
.adjuntos .adj svg{color:var(--ink-3)}
.adjuntos .adj a{flex:1;min-width:0;color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adjuntos .adj .b{color:var(--ink-3);font-size:12.5px;white-space:nowrap}
.fila-accion{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0;border:0;border-bottom:1px solid var(--linea);background:transparent;text-align:left;font-size:15.5px;color:var(--acento-ink);position:relative;cursor:pointer}
.hoja-cuerpo .grupo>.fila-accion:last-child{border-bottom:0}
.fila-accion svg{width:20px;height:20px}
.fila-accion.peligro{color:var(--rojo)}
.subir input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.subir:focus-within{outline:2px solid var(--acento);outline-offset:2px;border-radius:6px}
.hoja .origen{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:var(--ink-3);margin:0 4px 12px;line-height:1.4}

/* Ajustes: panel sobre la lista (escritorio) / pantalla completa (teléfono) */
#modalAjustes{justify-content:flex-start;align-items:stretch;padding:0;background:transparent;pointer-events:none}
.modal.ajustes{pointer-events:auto;margin-left:var(--riel-w);max-width:none;width:var(--lista-w);height:100%;max-height:none;border-radius:0;padding:0;display:flex;flex-direction:column;background:var(--cab);box-shadow:4px 0 16px rgba(11,20,26,.08)}
:root[data-theme="dark"] .modal.ajustes{background:var(--panel)}
.modal.ajustes .cab-panel{background:var(--panel)}
:root[data-theme="dark"] .modal.ajustes .cab-panel{background:var(--cab)}
.ajustes-cuerpo{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px 12px calc(24px + env(safe-area-inset-bottom))}
.grupo-aj{background:var(--panel);border-radius:12px;padding:12px 14px;margin:0 0 12px;box-shadow:var(--sombra-burbuja)}
:root[data-theme="dark"] .grupo-aj{background:var(--cab)}
.grupo-aj h4{margin:0 0 8px;font-size:13.5px;font-weight:600;color:var(--acento-ink)}
.grupo-aj p{margin:0 0 8px;font-size:14px;color:var(--ink-2)}
.perfil-cab{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.av-grande{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--avatar);color:var(--avatar-ink);font-size:28px;font-weight:500;flex:none}
.perfil-cab .datos{flex:1;min-width:0}
.perfil-cab .datos input{font-size:17px;font-weight:500}
.perfil-cab .datos p{margin:4px 0 0;font-size:13.5px;color:var(--ink-3)}
.ajustes .lbl{display:block;font-size:12.5px;color:var(--ink-3);margin:8px 0 4px}
.ajustes textarea.input{min-height:72px;resize:vertical}
.ajustes .cal{display:flex;align-items:center;gap:10px;min-height:40px;font-size:15px;border-bottom:1px solid var(--linea)}
.ajustes .cal:last-child{border-bottom:0}
.ajustes .cal input{width:18px;height:18px;accent-color:var(--acento)}
.ajustes .cal .sw{width:12px;height:12px;border-radius:4px}
.ajustes .rol-ed{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:4px 0}
.ajustes .rol-ed input[type=color]{width:32px;height:32px;padding:0;border:0;border-radius:50%;background:none;overflow:hidden}
.ajustes .rol-ed input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.ajustes .rol-ed input[type=color]::-webkit-color-swatch{border:0;border-radius:50%}
.ajustes .estado{display:inline-flex;align-items:center;gap:7px;font-size:14px}
.ajustes .estado .pt{width:9px;height:9px;border-radius:50%;background:var(--ink-4)}
.ajustes .estado.ok .pt{background:var(--acento-fuerte)}
.ajustes .estado.mal .pt{background:var(--rojo)}
.ajustes .fallas{margin:6px 0 8px;padding-left:18px;font-size:13.5px;color:var(--rojo)}
.ajustes .usr{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:10px 0;border-top:1px solid var(--linea);font-size:14.5px}
.ajustes .usr small{color:var(--ink-3)}
.ajustes .usr .acciones{display:flex;gap:6px}
.ajustes .usr .enlace{grid-column:1/-1}
.ajustes .enlace{font-size:12.5px;word-break:break-all;background:var(--cab);padding:8px 10px;border-radius:9px;margin:6px 0}
:root[data-theme="dark"] .ajustes .enlace{background:var(--campo)}
.ajustes .version{text-align:center;font-size:12.5px;color:var(--ink-3);margin:6px 0 0}
.ajustes .segmento{display:flex}
.ajustes .segmento button{flex:1}

/* Búsqueda */
.resultados{position:absolute;z-index:40;top:calc(100% - 2px);left:12px;right:12px;max-height:60vh;overflow:auto;padding:6px;border-radius:12px;background:var(--panel);box-shadow:var(--sombra-3)}
:root[data-theme="dark"] .resultados{background:var(--cab)}
.resultados .r{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;min-height:44px;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:14.5px}
.resultados .r:hover{background:var(--hover)}
.resultados .r .dot{width:10px;height:10px;border-radius:50%;background:var(--rol,var(--ink-4))}
.resultados .r .f{font-size:12px;color:var(--ink-3);white-space:nowrap}
.resultados .vacio{padding:10px;color:var(--ink-3);font-size:14px}

/* Aviso flotante */
.aviso-flotante{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:90;padding:10px 16px;border-radius:10px;background:#3B4A54;color:#fff;font-size:14px;box-shadow:var(--sombra-2);opacity:0;transition:opacity .2s;pointer-events:none;max-width:92vw;text-align:center}
.aviso-flotante.ver{opacity:1}

/* ── Teléfono ────────────────────────────────────────────────────────── */
@media (max-width:860px){
  :root{--cab-h:58px}
  body{font-size:16px}
  .app{display:block;position:fixed;left:0;right:0;top:var(--vvt,0px);height:calc(var(--vvh,100dvh) - var(--tab-h) - env(safe-area-inset-bottom))}
  body.teclado .app{height:var(--vvh,100dvh)}
  .riel{display:none}
  .lista,.panel-dia,.panel-plan{position:absolute;inset:0;border:0}
  .panel-dia,.panel-plan{z-index:1}
  .lista{z-index:2;display:none}
  body.ver-lista[data-vista="semana"] .lista{display:flex}
  .lista-cab{padding:env(safe-area-inset-top) 8px 0 16px;height:calc(var(--cab-h) + env(safe-area-inset-top))}
  .lista-tit{font-size:24px}
  .dia-cab{height:calc(var(--cab-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 8px 0 4px;gap:8px;background:var(--panel)}
  :root[data-theme="dark"] .dia-cab{background:var(--cab)}
  .dia-cab .volver{display:grid;width:36px;color:var(--acento-ink)}
  .dia-cab .volver svg{width:26px;height:26px}
  .dia-cab .solo-movil{display:inline-grid}
  .dia-cab .segmento{display:none}
  .cab-panel{height:calc(var(--cab-h) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
  .dias-movil{display:flex;flex:none;gap:8px;overflow-x:auto;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--linea);scrollbar-width:none}
  :root[data-theme="dark"] .dias-movil{background:var(--cab)}
  .dias-movil::-webkit-scrollbar{display:none}
  .dias-movil button{flex:none;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:17px;border:0;background:var(--cab);color:var(--pill-ink);font-size:14.5px;white-space:nowrap}
  :root[data-theme="dark"] .dias-movil button{background:var(--campo)}
  .dias-movil button[aria-pressed="true"]{background:var(--chip-sel);color:var(--chip-sel-ink);font-weight:600}
  .dias-movil button .cnt{min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--acento-fuerte);color:#fff;font-size:11.5px;font-weight:600;display:grid;place-items:center}
  :root[data-theme="dark"] .dias-movil button .cnt{color:#111B21}
  .dias-movil button.sobre{outline:2px solid var(--acento);outline-offset:1px;transform:scale(1.06)}
  .dias-movil button svg{width:17px;height:17px}
  .tarjeta{padding:9px 11px 8px}
  .tarjeta .tit{font-size:16px}
  .tarjeta .check{width:24px;height:24px}
  .quick input{font-size:16px}
  body[data-modo="dia"] .dia.sel,.rocas{width:calc(100% - 20px);margin-top:10px}
  .rocas .grupos{grid-template-columns:1fr}
  .evento{font-size:15px}
  .fondo{padding-bottom:86px}
  .fab{display:grid;place-items:center;position:fixed;right:16px;bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 16px);z-index:60;width:56px;height:56px;border-radius:50%;border:0;padding:0;background:var(--acento);color:#fff;box-shadow:var(--sombra-2)}
  :root[data-theme="dark"] .fab{color:#111B21}
  .fab svg{width:26px;height:26px}
  body:not([data-vista="semana"]) .fab,body.ver-lista .fab,body.teclado .fab{display:none}
  .plan-scroll{padding:12px}
  .plan{grid-template-columns:1fr}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--linea)}
  :root[data-theme="dark"] .tabbar{background:var(--cab)}
  body.teclado .tabbar{display:none}
  .tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:var(--ink-2);font-size:12px;padding:0}
  .tabbar button .ic{width:56px;height:30px;border-radius:15px;display:grid;place-items:center;transition:background .2s}
  .tabbar button svg{width:24px;height:24px}
  .tabbar button .lleno{display:none}
  .tabbar button[aria-current="page"]{color:var(--ink);font-weight:600}
  .tabbar button[aria-current="page"] .ic{background:var(--chip-sel);color:var(--chip-sel-ink)}
  .tabbar button[aria-current="page"] .vacio{display:none}
  .tabbar button[aria-current="page"] .lleno{display:block}
  /* Ventanas a pantalla completa */
  .modal-bg{padding:0;top:var(--vvt,0px);bottom:auto;height:var(--vvh,100dvh)}
  .modal{max-width:none;border-radius:0}
  #modalTarea{background:transparent;z-index:85}
  #modalLogin{z-index:90}
  .modal.hoja{max-width:none;width:100%;height:var(--vvh,100dvh)}
  .hoja-cab{height:calc(var(--cab-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 6px 0}
  .hoja-cab h3{text-align:center}
  .hoja-cab #hCancelar{display:block}
  .hoja-cab .modal-x{display:none}
  #modalAjustes{z-index:75}
  .modal.ajustes{margin:0;width:100%;height:calc(var(--vvh,100dvh) - var(--tab-h) - env(safe-area-inset-bottom));box-shadow:none}
  #ajCerrar{display:none}
  .aviso-flotante{bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 70px)}
  .fila-f>span:first-child{width:104px}
}
/* Vista Semana (escritorio): la grilla ocupa todo; la lista de días se esconde y la cabecera trae la navegación */
.solo-semana{display:none !important}
@media (min-width:861px){
  body[data-modo="semana"] .solo-semana{display:inline-flex !important}
  body[data-modo="semana"] .lista{display:none}
  body[data-modo="semana"] .panel-dia,body[data-modo="semana"] .panel-plan{grid-column:2 / -1}
  body[data-modo="semana"] .tablero{min-width:1180px}
  .nav-sem{align-items:center;gap:2px;margin-right:6px}
  .nav-sem .ico-btn{width:34px;height:34px}
  .nav-sem .ico-btn svg{width:18px;height:18px}
  .dia-cab .segmento{display:inline-flex}
  body[data-vista="semana"] .riel-btn[data-vista="semana"],body[data-vista="planificar"] .riel-btn[data-vista="planificar"]{background:var(--riel-activo);color:var(--ink)}
  .tarjeta .tit{font-size:14.5px}
}
