*{box-sizing:border-box;}
:root{--ease-standard:.1s ease;--accent:#7C5CFF;} /* default para el instante antes de que corra applyTheme(); sin esto los color-mix no resuelven */
html[data-theme="light"]{--bg:color-mix(in srgb, var(--accent) 3%, #FCFCFD);--card:color-mix(in srgb, var(--accent) 1.5%, #FFFFFF);--text:color-mix(in srgb, var(--accent) 7%, #14161A);--text2:color-mix(in srgb, var(--accent) 13%, #6A717C);--border:color-mix(in srgb, var(--accent) 11%, #E4E7EB);--track:color-mix(in srgb, var(--accent) 6%, #F3F4F7);--danger:#FF3B30;--success:#34C759;--warning:#FF9500;--heatmap-muted:color-mix(in srgb, var(--accent) 8%, #EEF0F3);--glass:color-mix(in srgb, var(--accent) 3%, rgba(255,255,255,.86));--glass-border:color-mix(in srgb, var(--accent) 14%, rgba(20,22,26,.07));--glass-blur:18px;}
html[data-theme="dark"]{--bg:#000000;--card:color-mix(in srgb, var(--accent) 7%, #14171C);--text:color-mix(in srgb, var(--accent) 5%, #E8EAEE);--text2:color-mix(in srgb, var(--accent) 12%, #98A0AA);--border:color-mix(in srgb, var(--accent) 14%, #262A31);--track:color-mix(in srgb, var(--accent) 9%, #1A1D23);--danger:#FF453A;--success:#30D158;--warning:#FF9F0A;--heatmap-muted:color-mix(in srgb, var(--accent) 9%, #1A1D23);--glass:color-mix(in srgb, var(--accent) 7%, rgba(20,23,28,.82));--glass-border:color-mix(in srgb, var(--accent) 16%, rgba(255,255,255,.09));--glass-blur:18px;}
html[data-theme="system"]{--bg:color-mix(in srgb, var(--accent) 3%, #FCFCFD);--card:color-mix(in srgb, var(--accent) 1.5%, #FFFFFF);--text:color-mix(in srgb, var(--accent) 7%, #14161A);--text2:color-mix(in srgb, var(--accent) 13%, #6A717C);--border:color-mix(in srgb, var(--accent) 11%, #E4E7EB);--track:color-mix(in srgb, var(--accent) 6%, #F3F4F7);--danger:#FF3B30;--success:#34C759;--warning:#FF9500;--heatmap-muted:color-mix(in srgb, var(--accent) 8%, #EEF0F3);--glass:color-mix(in srgb, var(--accent) 3%, rgba(255,255,255,.86));--glass-border:color-mix(in srgb, var(--accent) 14%, rgba(20,22,26,.07));--glass-blur:18px;}
@media (prefers-color-scheme: dark){html[data-theme="system"]{--bg:#000000;--card:color-mix(in srgb, var(--accent) 7%, #14171C);--text:color-mix(in srgb, var(--accent) 5%, #E8EAEE);--text2:color-mix(in srgb, var(--accent) 12%, #98A0AA);--border:color-mix(in srgb, var(--accent) 14%, #262A31);--track:color-mix(in srgb, var(--accent) 9%, #1A1D23);--danger:#FF453A;--success:#30D158;--warning:#FF9F0A;--heatmap-muted:color-mix(in srgb, var(--accent) 9%, #1A1D23);--glass:color-mix(in srgb, var(--accent) 7%, rgba(20,23,28,.82));--glass-border:color-mix(in srgb, var(--accent) 16%, rgba(255,255,255,.09));--glass-blur:18px;}}

.logo-box{background:rgba(255,255,255,0.9);border-radius:12px;display:flex;align-items:center;justify-content:center;}
.toggle-switch{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0;}
.toggle-switch input{opacity:0;width:0;height:0;position:absolute;}
.toggle-switch .toggle-slider{position:absolute;inset:0;background:var(--border);transition:background var(--ease-standard);border-radius:999px;cursor:pointer;}
.toggle-switch .toggle-slider::before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform var(--ease-standard);}
.toggle-switch input:checked + .toggle-slider{background:var(--accent);}
.toggle-switch input:checked + .toggle-slider::before{transform:translateX(18px);}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);touch-action:manipulation;overscroll-behavior-y:contain;}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Helvetica,Arial,sans-serif;}
input,button,select,textarea{font-family:inherit;}
button{cursor:pointer;}
a{color:var(--accent);}
::placeholder{color:var(--text2);}
@keyframes cardFadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.card{background:var(--card);border-radius:16px;padding:24px;min-width:0;}
.modal-fadeup{animation:cardFadeUp .35s ease both;}
/* #pushPromptCard es la hoja de "activá las notificaciones": flota igual que los popups y le
   toca el mismo vidrio, pero NO puede llevar la clase .modal-fadeup — sube y baja con su propio
   transform en JS, y la animación cardFadeUp (fill both) le pisaría ese transform y le rompería
   la salida. Por eso entra por el selector en vez de por la clase. */
/* Rediseño 2026: todos los popups sólidos y con buen contraste (criterio de Pablo 2026-10-07),
   sin el vidrio translúcido de antes. */
.modal-fadeup,#pushPromptCard{
  background:var(--card);
  border:1px solid var(--border);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}
/* Con un popup abierto, la burbuja de Alma no queda flotando encima. */
body:has(.modal-fadeup, .hu-backdrop, .finance-overlay, .ciclo-reg-bg) .floating-alma,
body:has(.modal-fadeup, .hu-backdrop, .finance-overlay, .ciclo-reg-bg) .alma-float-panel{display:none;}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .modal-fadeup,#pushPromptCard{background:var(--card);}
}
@media (prefers-reduced-transparency: reduce){
  .modal-fadeup,#pushPromptCard,.sidebar{background:var(--card);-webkit-backdrop-filter:none;backdrop-filter:none;}
  .sidebar-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;}
}
/* Política/Términos vienen del editor de texto enriquecido del Admin, que a veces guarda el
   color de texto pegado en el HTML (negro) — se fuerza acá para que siempre se lea con el
   color del tema, sin importar qué haya quedado guardado. */
#termsGateBody, #termsGateBody *, #legalInfoModalBody, #legalInfoModalBody *, .admin-rich-editor, .admin-rich-editor *{color:var(--text) !important;}
.muted{color:var(--text2);}
.row{display:flex;align-items:center;}
.pill-tab{font-size:16px;padding:8px 16px;border-radius:9px;cursor:pointer;user-select:none;transition:background var(--ease-standard),color var(--ease-standard),transform var(--ease-standard);}
.pill-tab:hover{background:var(--track);}
.pill-tab:active{transform:scale(.95);}
.field{width:100%;background:var(--track);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:17px;color:var(--text);margin-bottom:10px;}
.field-counter{font-size:12px;text-align:right;margin:-6px 0 10px;}
/* Altura pareja para todos los campos de una línea. Cada tipo de control calcula su alto solo y
   les da distinto: los date de WebKit se van 2px arriba por el botón del calendario que llevan
   adentro, y los select ni siquiera respetan el padding. Fijarla acá es lo único que los deja
   iguales en todos los navegadores. Los 44px son los que ya medía el más alto, así que ninguno
   se achica y queda holgura de sobra para el texto. Los textarea quedan afuera a propósito:
   tienen que poder crecer. */
input.field:not([type=checkbox]):not([type=radio]),select.field{height:44px;}
/* Los <select> nativos no respetan el padding que se les pone: WebKit dibuja el control con sus
   propias medidas (appearance:menulist) y quedaban más bajos que los <input> de al lado, que sí
   lo respetan. Sacándoles la apariencia nativa pasan a ser una caja común y comparten exactamente
   la misma altura que el resto de los campos; a cambio hay que dibujarles la flecha, que va como
   imagen de fondo en el gris apagado de la interfaz (sirve igual en tema claro y oscuro). */
select.field{
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.75 6 6.25 11 1.75' fill='none' stroke='%238E8E93' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;
  padding-right:32px;
}
/* OJO al escribir un <select>: si se le pone un `padding` en línea con la forma corta, se pisa
   ese padding-right y el texto termina abajo de la flecha. Si hace falta un padding propio,
   escribirlo con los cuatro valores dejando al menos 30px a la derecha. */
/* Los campos de fecha y hora de WebKit traen un ancho mínimo propio y no bajan de ahí: adentro de
   una tarjeta angosta, o de un .row (donde cada ítem arranca en min-width:auto y se niega a
   achicarse por debajo de su contenido), se desbordaban del contenedor. */
input[type="date"].field,input[type="time"].field,input[type="datetime-local"].field{
  min-width:0;max-width:100%;
}
/* Y el que se desbordaba de verdad no era el campo sino la columna que lo envuelve: en una fila
   flex cada ítem arranca en min-width:auto, o sea que no baja del ancho mínimo de su contenido —
   y el ancho mínimo de un date es grande. Se acota con :has() a las columnas que efectivamente
   contienen un campo, en vez de aflojar todos los hijos de .row, que se usa en toda la app. */
.row > .field,
.row > *:has(> .field){min-width:0;}

.btn-accent{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:10px 16px;font-size:17px;font-weight:600;transition:filter var(--ease-standard),transform var(--ease-standard),opacity var(--ease-standard);cursor:pointer;}
.btn-accent:hover{filter:brightness(1.1);}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:10px;padding:9px 16px;font-size:17px;transition:background var(--ease-standard),transform var(--ease-standard),opacity var(--ease-standard);cursor:pointer;}
.btn-outline:hover{background:var(--track);}
.btn-danger{color:var(--danger);border-color:var(--danger);}
.btn-danger:hover{background:var(--danger);color:#fff;}
.btn-add{background:transparent;border:1.5px solid var(--accent);color:var(--accent);border-radius:10px;padding:8px 16px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;transition:background var(--ease-standard),color var(--ease-standard),transform var(--ease-standard),opacity var(--ease-standard);cursor:pointer;}
.btn-add:hover{background:var(--accent);color:#fff;}
.btn-add svg{flex-shrink:0;}
.btn-accent:active,.btn-outline:active,.btn-add:active{transform:scale(.96);}
/* Todo lo de Max usa este morado en vez del acento general de la cuenta, para que se sienta
   como un nivel aparte — más "premium" — del resto de la app. */
.max-badge{background:#30B0C7 !important;}
.btn-max{background:#30B0C7;position:relative;overflow:hidden;isolation:isolate;}
.btn-max:hover{filter:brightness(1.1);}
/* Módulos extra: oro champagne, igual para cualquier acento que elija la persona. Botón metálico
   con el mismo brillo que .btn-max y caja con borde en degradé champagne (como .dream-card). */
.btn-module{background:linear-gradient(135deg,#F3E2B3,#C9A24A 45%,#F1DCA0 70%,#B8892E) !important;color:#3A2A06 !important;position:relative;overflow:hidden;isolation:isolate;}
.btn-module:hover{filter:brightness(1.06);}
.module-card{
  position:relative;
  overflow:hidden;
  border:1.5px solid transparent;
  background:
    linear-gradient(color-mix(in srgb, #C9A24A 10%, var(--card)), color-mix(in srgb, #C9A24A 10%, var(--card))) padding-box,
    linear-gradient(135deg, #F3E2B3, #C9A24A, #B8892E, #F1DCA0) border-box;
  box-shadow:0 0 22px 1px color-mix(in srgb, #C9A24A 22%, transparent);
}
.btn-max::after,.btn-module::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,0.55), transparent);
  transform:skewX(-20deg);animation:btnMaxShine 3.2s ease-in-out infinite;pointer-events:none;}
@keyframes btnMaxShine{0%{left:-60%;}28%{left:130%;}100%{left:130%;}}
@media (prefers-reduced-motion: reduce){.btn-max::after,.btn-module::after{animation:none;}}
.btn-accent:focus-visible,.btn-outline:focus-visible,.btn-add:focus-visible,.pill-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.btn-accent:disabled,.btn-outline:disabled,.btn-add:disabled{opacity:.6;cursor:default;transform:none;filter:none;}
.btn-spinner{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;vertical-align:middle;animation:btn-spin .7s linear infinite;}
.btn-outline .btn-spinner{border-color:var(--border);border-top-color:var(--text);}
@keyframes btn-spin{to{transform:rotate(360deg);}}
.swatch{width:26px;height:26px;border-radius:50%;cursor:pointer;display:inline-block;transition:transform var(--ease-standard);}
.swatch:hover{transform:scale(1.12);}
.icon-btn{transition:opacity var(--ease-standard);}
.icon-btn:hover{opacity:.6;}
.habit-check{transition:transform var(--ease-standard);}
.habit-check:hover{transform:scale(1.1);}
.scroll-x{overflow-x:auto;}
/* Scrollbar fina y redondeada para las filas con scroll horizontal — solo para quien tiene
   mouse (pointer:fine + hover:hover, o sea escritorio real). En mobile/touch no se toca nada:
   queda el scroll táctil nativo del sistema, sin barra dibujada encima. En Mac con mouse el
   navegador ya la dibujaba parecida (por eso se veía bien); en Windows por default es la barra
   gris cuadrada del sistema — scrollbar-width/scrollbar-color cubre Firefox y Chrome/Edge en
   Windows, los ::-webkit-scrollbar de abajo son el mismo resultado para Chrome/Edge/Safari. */
@media (hover:hover) and (pointer:fine){
  .scroll-x{scrollbar-width:thin;scrollbar-color:var(--border) transparent;}
  .scroll-x::-webkit-scrollbar{height:7px;}
  .scroll-x::-webkit-scrollbar-track{background:transparent;}
  .scroll-x::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;}
  .scroll-x:hover{scrollbar-color:var(--accent) transparent;}
  .scroll-x:hover::-webkit-scrollbar-thumb{background:var(--accent);}
}
.card-title{font-size:18px;font-weight:700;margin:0 0 12px;color:var(--text);}
.nav-round{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--accent);flex-shrink:0;}
.nav-round:hover{background:var(--track);}
.face-btn{width:42px;height:42px;border-radius:50%;border:2px solid transparent;background:var(--track);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;flex-shrink:0;transition:background var(--ease-standard);}
.face-btn:hover{background:var(--border);}
.face-btn.selected{border-color:var(--accent);background:var(--card);}

/* ---------- layout con sidebar ---------- */
.app-layout{display:flex;min-height:100vh;}
.sidebar{width:272px;flex-shrink:0;background:var(--card);border-right:1px solid var(--border);padding:20px 10px max(24px, env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:space-between;position:sticky;top:0;height:100vh;overflow-y:auto;}
.sidebar-nav-item{padding:10px 12px;border-radius:10px;font-size:16px;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--text2);margin-bottom:2px;transition:background var(--ease-standard),color var(--ease-standard);}
.sidebar-nav-item:hover:not(.soon){background:var(--track);}
.sidebar-nav-item.active{background:var(--track);color:var(--text);font-weight:600;}
.sidebar-nav-item.soon{opacity:.4;cursor:default;}
.sidebar-group-title{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;font:inherit;font-size:12px;color:var(--text2);opacity:.75;margin:14px 0 4px;padding:4px 12px;border-radius:8px;cursor:pointer;text-align:left;transition:opacity var(--ease-standard);}
.sidebar-group-title:hover{opacity:1;}
.sidebar-group-chevron{display:flex;transition:transform var(--ease-standard);}
.sidebar-group-chevron svg{width:12px;height:12px;}
.sidebar-group.collapsed .sidebar-group-chevron{transform:rotate(-90deg);}
.sidebar-group.collapsed nav{display:none;}
.sidebar-nav-item > span:not(.soon-badge):not(.pro-badge){white-space:nowrap;}
.soon-badge{flex-basis:100%;margin-left:24px;width:fit-content;font-size:12px;background:var(--track);padding:2px 6px;border-radius:6px;white-space:nowrap;}
.module-badge{margin-left:auto;flex-shrink:0;display:flex;align-items:center;color:#C9A24A;}
.pro-badge{margin-left:auto;flex-shrink:0;font-size:10px;font-weight:700;background:var(--accent);color:#fff;padding:2px 6px;border-radius:6px;white-space:nowrap;}
.beta-badge{flex-shrink:0;font-size:9px;font-weight:700;letter-spacing:0.5px;background:var(--track);color:var(--text2);padding:2px 6px;border-radius:6px;white-space:nowrap;}
/* Menú personalizable (ver "Menú personalizable" en shared.js) */
.nav-add-mod{--gold:#C9A24A;width:100%;margin-top:14px;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;border:1.5px dashed var(--gold);background:none;color:var(--gold);font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:border-color var(--ease-standard),color var(--ease-standard),background var(--ease-standard);}
.nav-add-mod:hover{border-style:solid;background:color-mix(in srgb, var(--gold) 8%, transparent);}
.nav-add-plus{width:22px;height:22px;border-radius:7px;flex-shrink:0;background:color-mix(in srgb, var(--gold) 16%, transparent);color:var(--gold);display:flex;align-items:center;justify-content:center;}
.nav-add-plus svg{width:13px;height:13px;}
/* Invitá y ganá: mismo estilo que "Sumá más módulos", en verde (--gold es la variable que usa ese estilo). */
.nav-add-mod.nav-invite{--gold:#34C759;margin-top:8px;}
.nav-edit-btn{display:flex;align-items:center;gap:6px;margin:6px 0 0;padding:6px 12px;border:none;border-radius:8px;background:none;color:var(--text2);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--ease-standard),color var(--ease-standard);}
.nav-edit-btn:hover{background:var(--track);color:var(--text);}
.nav-edit-btn.on{color:var(--accent);}
.nav-edit-btn svg{width:14px;height:14px;flex-shrink:0;}
.nav-edit-hint{font-size:12.5px;color:var(--text2);line-height:1.45;margin:12px 0 0;padding:0 12px;}
.sidebar-nav-item.nav-movable{cursor:grab;background:var(--track);margin-bottom:4px;touch-action:none;user-select:none;-webkit-user-select:none;}
.sidebar-nav-item.nav-movable:active{cursor:grabbing;}
.sidebar-nav-item.nav-movable .module-badge,.sidebar-nav-item.nav-movable .pro-badge{display:none;}
.nav-grip{display:flex;color:var(--text2);opacity:.6;margin-left:-4px;flex-shrink:0;}
.nav-grip svg{width:15px;height:15px;}
.nav-unpin{margin-left:auto;flex-shrink:0;width:24px;height:24px;border-radius:50%;border:none;background:none;color:var(--text2);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;}
.nav-unpin:hover{background:color-mix(in srgb, var(--text2) 18%, transparent);color:var(--text);}
.nav-unpin svg{width:14px;height:14px;}
.nav-dragging{opacity:0;}
.nav-drag-ghost{position:fixed;z-index:70;margin:0;pointer-events:none;background:var(--card) !important;border:1px solid var(--border);box-shadow:0 10px 28px rgba(0,0,0,.28);transform:scale(1.03);}
.nav-mod-bg{position:fixed;inset:0;z-index:55;background:rgba(0,0,0,0.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;}
.nav-mod-sheet{width:100%;max-width:580px;max-height:min(760px,calc(100vh - 32px));display:flex;flex-direction:column;border-radius:20px;padding:0;overflow:hidden;}
.nav-mod-head{display:flex;align-items:flex-start;gap:12px;padding:22px 22px 12px;}
.nav-mod-title{font-size:21px;font-weight:700;margin:0 0 4px;}
.nav-mod-sub{font-size:14px;line-height:1.45;margin:0;}
.nav-mod-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:0 22px 10px;}
.nav-mod-tab{border:1px solid var(--border);background:none;color:var(--text2);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;}
.nav-mod-tab.on{background:var(--text);border-color:var(--text);color:var(--bg);}
.nav-mod-body{overflow-y:auto;padding:0 14px 18px;}
.nav-mod-area{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;margin:16px 8px 6px;}
.nav-mod-area::after{content:"";flex:1;height:1px;background:var(--border);}
.nav-mod-row{display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:12px;margin-bottom:4px;border:1px solid transparent;transition:background var(--ease-standard);}
.nav-mod-row:hover{background:var(--track);}
.nav-mod-row.sell{background:color-mix(in srgb, var(--accent) 5%, transparent);border-color:color-mix(in srgb, var(--accent) 14%, transparent);}
.nav-mod-row.sell:hover{background:color-mix(in srgb, var(--accent) 9%, transparent);}
.nav-mod-ic{width:40px;height:40px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb, var(--accent) 13%, transparent);color:var(--accent);}
.nav-mod-row.sell .nav-mod-ic{background:var(--track);color:var(--text2);}
.nav-mod-txt{flex:1;min-width:0;}
.nav-mod-txt b{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:15.5px;font-weight:600;}
.nav-mod-txt > span{display:block;font-size:13px;color:var(--text2);line-height:1.4;margin-top:2px;}
.nav-mod-tag{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;letter-spacing:.02em;}
.nav-mod-tag.ok{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success);}
.nav-mod-tag.new{background:var(--accent);color:#fff;}
.nav-mod-acts{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.nav-buy-btn{border:none;background:var(--accent);color:#fff;border-radius:999px;padding:7px 13px;font:inherit;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap;transition:filter var(--ease-standard),transform var(--ease-standard);}
.nav-buy-btn:hover{filter:brightness(1.1);}
.nav-buy-btn:active{transform:scale(.96);}
.nav-buy-btn svg{width:13px;height:13px;flex-shrink:0;}
.nav-pin-btn{border:1px solid var(--border);background:none;color:var(--text);border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;white-space:nowrap;transition:background var(--ease-standard),border-color var(--ease-standard),color var(--ease-standard);}
.nav-pin-btn svg{width:14px;height:14px;flex-shrink:0;}
.nav-pin-btn:hover{border-color:var(--accent);color:var(--accent);}
.nav-pin-btn.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.nav-pin-btn.icon-only{width:32px;height:32px;padding:0;}
@media (max-width:600px){
  .nav-mod-bg{align-items:flex-end;padding:0;}
  .nav-mod-sheet{max-width:none;max-height:88vh;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom);}
  .nav-mod-row{flex-wrap:wrap;}
  .nav-mod-acts{width:100%;justify-content:flex-end;}
}
.unread-dot{margin-left:auto;flex-shrink:0;width:11px;height:11px;border-radius:50%;background:var(--danger);}
.notif-item-dot{flex-shrink:0;width:11px;height:11px;border-radius:50%;background:var(--danger);}
.main-content{flex:1;min-width:0;padding:74px 32px 60px;max-width:1500px;}
body.has-floating-timer .main-content{padding-bottom:120px;}

/* min-height fijo: si la sección real (blureada atrás) trae poco contenido — Anotaciones sin
   notas cargadas es el caso típico — el wrap quedaba tan bajo que, con overflow:hidden, la
   tarjeta del candado (ícono + título + descripción + botón) no entraba entera y se cortaba. */
.pro-lock-wrap{position:relative;overflow:hidden;min-height:60vh;}
.pro-lock-content{filter:blur(10px);pointer-events:none;user-select:none;}
.pro-lock-overlay{position:absolute;inset:0;z-index:5;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;background:color-mix(in srgb, var(--bg) 55%, transparent);}
.pro-lock-card{position:sticky;top:12vh;max-width:400px;width:100%;margin:0 16px;text-align:center;box-shadow:0 8px 30px rgba(0,0,0,0.18);}
@media (max-width:900px){.pro-lock-overlay{padding-top:8vh;}.pro-lock-card{top:8vh;}}

/* Vista de muestra de las secciones de Max (ver planPreviewStart en shared.js): se ve todo, pero
   lo único que se puede tocar es lo marcado con data-nav — cambiar de semana, de pestaña, abrir
   un día. El resto queda apagado; el click igual llega (no se usa pointer-events:none) porque es
   el que abre el popup que ofrece probar Max. */
#main.plan-preview button,
#main.plan-preview input,
#main.plan-preview select,
#main.plan-preview textarea,
#main.plan-preview .pill-tab,
#main.plan-preview .icon-btn,
#main.plan-preview .nav-round,
#main.plan-preview .btn-add,
#main.plan-preview [onclick]{opacity:.45;cursor:not-allowed;}
/* El * hace falta para el chevron de las tarjetas de grupo en Inversiones: vive adentro de la
   cabecera clickeable (data-nav) pero es un .icon-btn, y la opacidad del padre no la puede
   levantar un hijo por sí solo. */
#main.plan-preview [data-nav],
#main.plan-preview [data-nav] *{opacity:1;cursor:pointer;}
#main.plan-preview #planPreviewBar,
#main.plan-preview #planPreviewBar *{opacity:1;cursor:auto;}
#main.plan-preview #planPreviewBar button{cursor:pointer;}

.floating-timer{
  position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:50;
  background:var(--card);border-radius:16px;
  padding:12px 16px;box-shadow:0 6px 20px rgba(0,0,0,0.2);
  display:flex;align-items:center;gap:10px;cursor:pointer;
  max-width:calc(100vw - 40px);
}
.floating-alma{
  position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:49;
  width:56px;height:56px;border-radius:50%;background-size:cover;background-position:center;
  cursor:pointer;border:2px solid var(--accent);
  box-shadow:0 6px 20px rgba(0,0,0,0.25), 0 0 16px 4px color-mix(in srgb, var(--accent) 45%, transparent);
}
body.has-floating-timer .floating-alma{bottom:calc(86px + env(safe-area-inset-bottom));}
/* Reproductor flotante de Tutoriales (tutoriales.js): arriba de la burbuja de Alma y del timer. */
.tutorial-float{
  position:fixed;right:20px;bottom:calc(160px + env(safe-area-inset-bottom));z-index:48;
  width:380px;max-width:calc(100vw - 40px);
  background:var(--card);border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,0.3);overflow:hidden;
}
.tutorial-float-bar{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;cursor:move;user-select:none;touch-action:none;}
.tutorial-float-title{flex:1;min-width:0;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tutorial-float-close{cursor:pointer;color:var(--text2);display:flex;}
.tutorial-float-close svg{width:18px;height:18px;}
.tutorial-float-video{position:relative;aspect-ratio:16/9;background:#000;}
.tutorial-float-video iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}
.tutorial-float.dragging iframe{pointer-events:none;}
.alma-float-panel{
  position:fixed;right:20px;bottom:calc(88px + env(safe-area-inset-bottom));z-index:49;
  width:340px;max-width:calc(100vw - 40px);height:480px;max-height:calc(100vh - 140px);
  background:var(--card);border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,0.3);
  display:flex;flex-direction:column;overflow-y:auto;
}
body.has-floating-timer .alma-float-panel{bottom:calc(154px + env(safe-area-inset-bottom));}
@media (max-width:900px){
  .floating-alma{right:16px;}
  .alma-float-panel{right:16px;width:calc(100vw - 32px);}
}

.alma-chat-card{margin-top:20px;height:calc(100vh - 154px);display:flex;flex-direction:column;}
body.has-floating-timer .alma-chat-card{height:calc(100vh - 214px);}
@media (max-width:900px){
  .alma-chat-card{height:calc(100vh - 166px);}
  body.has-floating-timer .alma-chat-card{height:calc(100vh - 226px);}
}

.sidebar-toggle{display:none;position:fixed;top:14px;left:14px;z-index:22;background:var(--accent);color:#fff;border:none;border-radius:50%;width:46px;height:46px;padding:0;margin:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;align-items:center;justify-content:center;transition:transform var(--ease-standard),filter var(--ease-standard);touch-action:manipulation;}
.sidebar-toggle:hover{filter:brightness(1.1);}
.sidebar-toggle svg{pointer-events:none;}
.sidebar-toggle.shifted{transform:translateX(272px);}

.topbar-actions{position:fixed;top:14px;right:14px;z-index:20;display:flex;gap:10px;}
@media (min-width:901px){.topbar-actions{right:30px;}}
.topbar-icon-btn{background:var(--card);color:var(--accent);border:1px solid var(--border);border-radius:50%;width:46px;height:46px;padding:0;margin:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:filter var(--ease-standard);touch-action:manipulation;}
.topbar-icon-btn:hover{filter:brightness(0.96);}
.topbar-icon-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.topbar-icon-btn.has-count{width:auto;border-radius:999px;padding:0 14px 0 13px;}
.topbar-icon-btn svg{pointer-events:none;}
.topbar-badge-count{font-size:14px;font-weight:700;color:var(--accent);}
.topbar-icon-btn.active .topbar-badge-count{color:#fff;}

/* ---------- grillas del dashboard ---------- */
/* auto-fit + minmax: las tarjetas van entrando de a una según el ancho disponible,
   en vez de saltar de golpe entre un layout de escritorio fijo y uno apilado. */
.dash-grid{display:grid;gap:30px;margin-bottom:14px;align-items:start;}
.dash-mid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}

.home-grid{display:grid;grid-template-columns:1fr;gap:30px;align-items:stretch;margin-bottom:14px;}
@media (min-width:640px){.home-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1100px){.home-grid{grid-template-columns:repeat(3,1fr);}}

.home-question-card{padding:16px;padding-top:36px;padding-bottom:36px;}

@media (max-width:900px){.home-question-card{padding-top:44px;padding-bottom:44px;}}
.obj-quarters-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}

.sidebar-overlay{display:none;position:fixed;inset:0;z-index:21;background:color-mix(in srgb, var(--bg) 45%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);touch-action:none;}
.sidebar-overlay.open{display:block;}
/* Mismo motivo que en el menú: la regla general de prefers-reduced-transparency está más arriba
   en el archivo y el desenfoque del fondo se declara acá, así que hay que repetir la excepción
   después para que gane por orden. */
@media (prefers-reduced-transparency: reduce){
  .sidebar-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;}
}

@media (max-width:900px){
  .sidebar-toggle{display:flex;}
  .sidebar{position:fixed;left:0;top:0;z-index:22;transform:translateX(-100%);transition:transform var(--ease-standard);background:var(--glass);border-right:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%);}
  @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
    .sidebar{background:var(--card);}
  }
  /* Repetido acá dentro a propósito: la regla general de prefers-reduced-transparency vive más
     arriba en el archivo, así que el vidrio del menú móvil (que se declara después) le ganaría
     por orden de aparición. */
  @media (prefers-reduced-transparency: reduce){
    .sidebar{background:var(--card);-webkit-backdrop-filter:none;backdrop-filter:none;}
  }
  .sidebar.open{transform:translateX(0);}
  .main-content{padding:96px 16px 50px;}
  body.has-floating-timer .main-content{padding-bottom:110px;}
  .floating-timer{right:16px;}
  .obj-quarters-grid{grid-template-columns:1fr;}
}

.skeleton-line{background:linear-gradient(90deg, var(--track) 25%, var(--border) 37%, var(--track) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite;border-radius:6px;}

/* Proyectos: la tarjeta de la lista y la cabecera del detalle son la misma fila —emoji, nombre
   y chips, barra de progreso, acciones—. En pantallas angostas esa fila no entra: el nombre se
   parte en dos líneas, los chips se apilan y la barra queda espachurrada contra el borde. Ahí
   la barra pasa a su propio renglón, a todo el ancho (order alto = último), y con eso el nombre
   recupera espacio y deja de partirse. */
.proy-card-bar{width:168px;flex-shrink:0;}
.proy-head .proy-card-bar{width:186px;}
@media (max-width:640px){
  .proy-card, .proy-head{flex-wrap:wrap;}
  .proy-card .proy-card-bar, .proy-head .proy-card-bar{width:100%;flex-basis:100%;order:10;margin-top:6px;}
}

.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;}
/* Las 9 categorías se reparten el ancho en una grilla en vez de ir en una fila con scroll: con
   scroll, la primera y la última quedaban cortadas contra los bordes del modal. */
.emoji-cats{display:grid;grid-template-columns:repeat(9,1fr);gap:2px;margin-bottom:10px;}
.emoji-cat{cursor:pointer;font-size:18px;line-height:1.5;text-align:center;padding:6px 0;border-radius:9px;min-width:0;opacity:.5;transition:background var(--ease-standard),opacity var(--ease-standard);}
.emoji-cat:hover{background:var(--track);opacity:.85;}
.emoji-cat.active{background:var(--track);opacity:1;}
.emoji-option{cursor:pointer;font-size:24px;text-align:center;padding:8px 0;border-radius:8px;transition:background var(--ease-standard);}
.emoji-option:hover{background:var(--track);}

.habit-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:14px;}
@media (max-width:700px){.habit-cards-grid{grid-template-columns:repeat(2,1fr);}}

.habit-list-grid{display:grid;grid-template-columns:1fr;gap:30px;}
@media (min-width:900px){.habit-list-grid{grid-template-columns:repeat(2,1fr);}}

.habit-day-pills{display:flex;flex-direction:row-reverse;gap:12px;flex-shrink:0;}
@media (max-width:700px){
  .habit-day-pills{
    flex-direction:row;
    flex-wrap:nowrap;
    overflow-x:auto;
    width:100%;
    max-width:180px;
  }
}

.habit-heatmap-grid{display:grid;grid-template-columns:1fr;gap:30px;}
@media (min-width:640px){.habit-heatmap-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1100px){.habit-heatmap-grid{grid-template-columns:repeat(3,1fr);}}

.training-blocks-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:20px;}
@media (min-width:640px){.training-blocks-grid{grid-template-columns:repeat(2,1fr);gap:30px;}}
@media (min-width:1100px){.training-blocks-grid{grid-template-columns:repeat(3,1fr);}}

.training-day-cards-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:20px;}
@media (min-width:640px){.training-day-cards-grid{grid-template-columns:repeat(2,1fr);gap:30px;}}
@media (min-width:1100px){.training-day-cards-grid{grid-template-columns:repeat(3,1fr);}}

.memento-grid{display:flex;flex-direction:column;gap:3px;}
.memento-row{display:flex;align-items:center;gap:8px;}
.memento-cells{display:grid;grid-template-columns:repeat(52,1fr);gap:4px;flex:1;min-width:0;}
.memento-label{width:22px;flex-shrink:0;font-size:12px;}
@media (max-width:900px){.memento-cells{gap:2px;}}
@media (max-width:700px){
  .memento-row{gap:4px;}
  .memento-cells{gap:1px;}
  .memento-label{width:18px;font-size:10px;}
}

.habit-card{aspect-ratio:1/1;border-radius:20px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;transition:background-color var(--ease-standard);}
.habit-card-name{transition:color var(--ease-standard);}
.habit-toggle-btn{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:background-color var(--ease-standard),color var(--ease-standard);}
.habit-cat-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;margin-bottom:16px;}
.habit-cat-card{flex-shrink:0;width:92px;min-height:104px;border-radius:18px;background:var(--track);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 6px;box-sizing:border-box;cursor:pointer;border:2px solid transparent;transition:background-color var(--ease-standard),border-color var(--ease-standard);}
.habit-cat-card.active{background:var(--card);border-color:var(--accent);}
.habit-cat-card-icon{width:40px;height:40px;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center;color:var(--text);flex-shrink:0;transition:background-color var(--ease-standard),color var(--ease-standard);}
.habit-cat-card.active .habit-cat-card-icon{background:var(--accent);color:#fff;}
.habit-cat-card-label{font-size:12px;font-weight:600;text-align:center;line-height:1.2;}
.habit-preset-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--track);border-radius:12px;padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:background-color var(--ease-standard);}
.habit-day-pill{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--track);color:var(--text2);font-size:14px;font-weight:600;cursor:pointer;}
.habit-day-pill.active{background:var(--accent);color:#fff;}
.habit-row-arrow-btn{width:36px;height:36px;border-radius:50%;background:var(--track);color:var(--text2);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background-color var(--ease-standard),opacity var(--ease-standard);}
.habit-row-arrow-btn.disabled{opacity:.3;cursor:default;}
.habit-preset-row:hover{background:var(--card);}

/* Utilidad general: cualquier elemento cuyo color/fondo/borde cambia según estado (seleccionado,
   tildado, hoy, etc.) usa esta clase para que el cambio se vea con la transición estándar de 0.3s
   en vez de saltar de golpe. */
.fx-color{transition:background-color var(--ease-standard),color var(--ease-standard),border-color var(--ease-standard);}
.fx-size{transition:width var(--ease-standard),height var(--ease-standard);}

.lang-spin-icon{animation:lang-spin 1.4s linear infinite;}
@keyframes lang-spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

.dream-card{
  position:relative;
  overflow:hidden;
  border:1.5px solid transparent;
  background:
    linear-gradient(color-mix(in srgb, var(--accent) 13%, var(--card)), color-mix(in srgb, var(--accent) 13%, var(--card))) padding-box,
    linear-gradient(135deg, var(--accent), #FFD76A, var(--accent)) border-box;
  box-shadow:0 0 22px 1px color-mix(in srgb, var(--accent) 20%, transparent);
}
@keyframes skeleton-shimmer{0%{background-position:100% 50%;}100%{background-position:0 50%;}}

.pillar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
@media (min-width:900px){.pillar-grid{grid-template-columns:repeat(3,1fr);}}

/* Cuentas (arriba de Presupuesto): tarjetas chicas, más apretadas que las de grupo de
   Patrimonio — son una lectura rápida de "cuánto tengo y dónde", no una tarjeta de contenido. */
.finance-account-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px;}
@media (min-width:640px){.finance-account-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1100px){.finance-account-grid{grid-template-columns:repeat(3,1fr);}}
.finance-account-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--track);border-radius:12px;padding:12px 14px;cursor:pointer;transition:filter var(--ease-standard);}
.finance-account-card:hover{filter:brightness(0.97);}

.finance-group-grid{display:grid;grid-template-columns:1fr;gap:16px;}
@media (min-width:640px){.finance-group-grid{grid-template-columns:repeat(2,1fr);gap:30px;}}
@media (min-width:1100px){.finance-group-grid{grid-template-columns:repeat(3,1fr);}}

.notes-category-grid{display:grid;grid-template-columns:1fr;gap:16px;}
@media (min-width:640px){.notes-category-grid{grid-template-columns:repeat(2,1fr);gap:20px;}}
@media (min-width:1100px){.notes-category-grid{grid-template-columns:repeat(3,1fr);}}

/* Misma grilla que .finance-group-grid (mismo gap en cada breakpoint también), para que la
   tarjeta de Patrimonio (1 columna) y la de Crecimiento (2 columnas, "2/3") queden alineadas
   con las tarjetas de abajo. */
.finance-top-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:20px;}
@media (min-width:640px){.finance-top-grid{grid-template-columns:repeat(2,1fr);gap:30px;}}
@media (min-width:1100px){.finance-top-grid{grid-template-columns:repeat(3,1fr);}}
.finance-top-grid .finance-chart-card{grid-column:span 1;}
@media (min-width:1100px){.finance-top-grid .finance-chart-card{grid-column:span 2;}}

/* Popup de agregar/editar activo: 1 columna en mobile, 2 en desktop (más ancho para que entre). */
.finance-modal.finance-holding-modal{max-width:360px;}
@media (min-width:640px){.finance-modal.finance-holding-modal{max-width:580px;}}
.finance-holding-form-grid{display:grid;grid-template-columns:1fr;gap:0 16px;}
@media (min-width:640px){.finance-holding-form-grid{grid-template-columns:1fr 1fr;}}
.finance-holding-form-grid > div{margin-bottom:10px;}
.finance-holding-span2{grid-column:1/-1;}

/* ---------- Finanzas ----------
   Todo el estilo de la sección vive acá (finanzas.js no lleva style="" salvo para valores que
   salen de los datos: un color por categoría con --c y el ancho de una barra). */

/* Encabezado y pestañas */
.finance-header{margin-bottom:18px;}
.finance-page-title{font-size:28px;font-weight:700;margin:0;}
.finance-loading{font-size:16px;}
.finance-between{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.finance-between-end{align-items:flex-end;}
.finance-between.finance-no-wrap{flex-wrap:nowrap;}
.finance-block-gap{margin-bottom:14px;}
.finance-inline{display:flex;align-items:center;gap:8px;}
.finance-inline-tight{gap:6px;}
.finance-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.finance-toolbar-label{font-size:13px;color:var(--text2);}
.field.finance-display-select{width:auto;margin:0;padding:6px 30px 6px 10px;font-size:13px;}
.finance-settings-btn{padding:6px 12px;font-size:13px;display:flex;align-items:center;gap:6px;}
.finance-fx-pill{font-size:12px;color:var(--text2);background:var(--track);border-radius:999px;padding:4px 10px;white-space:nowrap;}
.finance-subtabs{display:flex;align-items:center;gap:6px;margin-bottom:22px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch;}
.finance-pill{border:1.5px solid var(--border);border-radius:999px;white-space:nowrap;flex-shrink:0;}
.finance-pill.is-active{background:var(--accent);color:#fff;border-color:var(--accent);}
.finance-pill-sm{font-size:12px;padding:5px 12px;}

/* Tarjetas y textos */
.finance-card-flush{margin:0;}
.finance-card-gap{margin-bottom:12px;}
.finance-card-spaced{margin-bottom:20px;}
.finance-card-col{display:flex;flex-direction:column;}
.finance-title-flush{margin:0;}
.finance-label{font-size:14px;color:var(--text2);}
.finance-label-sm{font-size:13px;color:var(--text2);margin:0 0 6px;}
.finance-label-flush{margin:0;}
.finance-label-row{margin-bottom:6px;}
.finance-label-spaced{margin-bottom:10px;}
.finance-hint{font-size:12px;line-height:1.5;color:var(--text2);margin:0 0 14px;}
.finance-hint.is-error{color:var(--danger);margin:0 0 10px;}
.finance-hint-sm{font-size:12px;color:var(--text2);margin:0;}
.finance-hint-xs{font-size:12px;color:var(--text2);margin:0;}
.finance-hint-xs.finance-hint-gap{font-size:11px;margin:4px 0 0;}
.finance-err{color:var(--danger);font-size:14px;min-height:16px;margin:0 0 8px;}
.finance-err-spaced{margin:10px 0 8px;}
.finance-warn{color:var(--danger);font-size:13px;margin:0 0 10px;}
.finance-empty-text{font-size:14px;margin:0;}
.finance-total{font-size:28px;font-weight:700;margin:0;}
.finance-total-lg{font-size:32px;}
.finance-month-title{font-weight:700;font-size:20px;}
.finance-nav-title{flex-wrap:wrap;gap:14px;}
.finance-amount-row{align-items:baseline;gap:10px;margin-bottom:12px;}
.finance-gain-line{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text2);margin:6px 0 0;}
.finance-delta{font-size:12px;color:var(--text2);}
.finance-delta-line{margin:8px 0 0;}
.finance-change{font-size:11px;font-weight:600;white-space:nowrap;}
.finance-change.is-up{color:#1D9E75;}
.finance-change.is-down{color:var(--danger);}
.finance-badge{font-size:12px;color:var(--accent);background:var(--track);padding:3px 9px;border-radius:999px;}
.finance-recurring-badge{font-size:11px;color:var(--text2);background:var(--track);padding:1px 7px;border-radius:999px;margin-left:4px;}
.finance-icon-btn{cursor:pointer;color:var(--text2);flex-shrink:0;}
.finance-clickable{cursor:pointer;}
.finance-grow{flex:1;}

/* Filas de listas (movimientos, activos, categorías, recurrentes) */
.finance-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border);}
.finance-row-main{flex:1;min-width:0;}
.finance-row-name{font-size:14px;margin:0;}
.finance-row-meta{font-size:12px;color:var(--text2);margin:2px 0 0;}
.finance-row-amount{font-size:14px;white-space:nowrap;flex-shrink:0;}
.finance-dot{display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--c,var(--text2));flex-shrink:0;}
.finance-dot.is-track{background:var(--track);}
.finance-dot.is-neutral{background:var(--text2);}

/* Barras de progreso */
.finance-bar{background:var(--track);border-radius:8px;height:8px;overflow:hidden;margin-bottom:6px;}
.finance-bar-sm{height:6px;margin-bottom:0;}
.finance-bar-xs{height:5px;margin:4px 0 2px;}
.finance-bar-gap{margin-bottom:10px;}
.finance-bar-fill{height:100%;background:var(--accent);}
.finance-bar.is-over .finance-bar-fill{background:var(--danger);}

/* Presupuesto: resumen, topes, donut, listas */
.finance-summary{display:flex;flex-wrap:wrap;align-items:stretch;gap:16px;margin-bottom:20px;}
.finance-summary-card{flex:1;min-width:260px;}
.finance-donut-box{position:relative;height:180px;margin-bottom:14px;}
.finance-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;}
.finance-donut-pct{font-size:26px;font-weight:700;}
.finance-legend{display:flex;flex-direction:column;gap:8px;}
.finance-legend-item{min-width:0;}
.finance-legend-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;}
.finance-cap-note{margin:0 0 6px;}
.finance-caps-title{margin:14px 0 4px;}
.finance-caps-grid{display:grid;grid-template-columns:1fr;gap:6px;margin-bottom:12px;}
@media (min-width:420px){.finance-caps-grid{grid-template-columns:repeat(2,1fr);gap:6px 14px;}}
.finance-cap-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;}
.field.finance-cap-input{width:96px;margin:0;padding:6px 8px;font-size:14px;}
.finance-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.field.finance-search{flex:1;min-width:180px;margin:0;}
.field.finance-filter-select{width:auto;min-width:160px;margin:0;}
.finance-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.finance-tool-btn{padding:6px 12px;font-size:13px;}
.finance-columns{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;}
.finance-column{flex:1;min-width:260px;}
.finance-column-title{font-size:13px;color:var(--text2);margin:0 0 8px;}
.finance-column-total{color:var(--text);font-weight:600;}
.finance-transfers{margin-top:20px;}

/* Vista anual */
.finance-year-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;align-items:center;gap:4px 8px;padding:10px 0;border-top:1px solid var(--border);font-size:13px;cursor:pointer;}
.finance-year-row > span:not(:first-child){text-align:right;}
.finance-year-row.is-head{border-top:0;padding-top:0;font-size:12px;color:var(--text2);cursor:default;}
.finance-year-row.is-total{font-weight:700;cursor:default;}
.finance-year-row.is-empty{color:var(--text2);}
.finance-year-row .is-up{color:#1D9E75;}
.finance-year-row .is-down{color:var(--danger);}
.finance-year-month{font-weight:600;}
.finance-year-bars{grid-column:1/-1;display:flex;flex-direction:column;gap:2px;}
.finance-year-bars .finance-bar-fill{height:4px;border-radius:2px;}
.finance-bar-fill.is-income{background:#34C759;}
.finance-bar-fill.is-expense{background:var(--accent);}

/* Cuentas */
.finance-account-info{gap:10px;min-width:0;}
.finance-account-emoji{font-size:22px;line-height:1;flex-shrink:0;}
.finance-account-name{font-size:14px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.finance-account-balance{font-size:15px;font-weight:600;white-space:nowrap;flex-shrink:0;}
.finance-accounts-empty{font-size:14px;margin:14px 0 0;}

/* Inversiones */
.finance-pie-box{position:relative;margin-top:16px;}
.finance-chart-head{margin-bottom:10px;flex-shrink:0;}
.finance-range-scroll{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.finance-growth-box{position:relative;flex:1;min-height:200px;}
.finance-growth-note{font-size:11px;margin:8px 0 0;flex-shrink:0;}
.finance-expand-bar{display:flex;justify-content:flex-end;gap:8px;margin:20px 0 12px;}
.finance-group-title{font-size:16px;font-weight:600;margin:0;}
.finance-chevron{color:var(--text2);flex-shrink:0;transition:transform .2s;}
.finance-chevron.is-open{transform:rotate(180deg);}
.finance-group-grid .is-hidden{display:none;}
.finance-holding-icon{width:32px;height:32px;border-radius:50%;background:color-mix(in srgb, var(--c) 13%, transparent);color:var(--c);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.finance-holding-values{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;}
.finance-disclaimer{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--text2);margin:20px 0 0;}
.finance-disclaimer-icon{flex-shrink:0;margin-top:1px;}

/* Deseos */
.finance-add-btn{display:flex;align-items:center;gap:6px;}
.finance-wish-head{margin-bottom:10px;}
.finance-actions-icons{gap:14px;margin-left:10px;flex-shrink:0;}
.finance-wish-plan{font-size:12px;color:var(--text2);margin:8px 0 0;}
.finance-wish-plan.is-late{color:var(--danger);}
.finance-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.finance-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:color-mix(in srgb, var(--c) 13%, transparent);color:var(--c);border:1px solid color-mix(in srgb, var(--c) 33%, transparent);padding:3px 8px 3px 10px;border-radius:999px;}
.finance-tag-remove{cursor:pointer;opacity:.7;}

/* Ventanas emergentes */
.finance-overlay{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;}
.finance-overlay .is-hidden{display:none;}
.finance-modal{max-width:360px;width:100%;}
.finance-modal-scroll{max-height:88vh;overflow-y:auto;}
.finance-modal.finance-holding-modal{max-height:85vh;overflow-y:auto;}
.finance-actions{display:flex;align-items:center;gap:10px;}
.finance-actions-top{margin-top:14px;}
.finance-actions .btn-add{justify-content:center;}
.finance-delete-btn{width:100%;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:6px;}
.field.finance-field{margin:4px 0 10px;}
.field.finance-field-tight{margin:4px 0 4px;}
.field.finance-field-flush{margin:4px 0 0;}
.finance-form-row{display:flex;align-items:center;gap:8px;}
.finance-form-row > *{min-width:0;}
.finance-switch-row{display:flex;align-items:center;gap:10px;cursor:pointer;margin:0;}
.finance-switch-line{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;}
.finance-switch-label{font-size:14px;}
.finance-link-btn{font-size:11px;color:var(--accent);cursor:pointer;text-decoration:underline;}
.finance-search-results{border-radius:8px;max-height:220px;overflow-y:auto;}
.finance-search-result{padding:8px 10px;cursor:pointer;border-bottom:1px solid var(--border);}
.finance-search-name{font-size:13px;}
.finance-type-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.finance-type-option{flex:1 1 calc(50% - 4px);display:flex;align-items:center;gap:10px;border:1.5px solid var(--border);border-radius:12px;padding:12px 14px;cursor:pointer;}
.finance-type-option.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);}
.finance-type-label{font-size:14px;font-weight:600;}
.finance-radio-dot{width:16px;height:16px;border-radius:50%;flex-shrink:0;border:1.5px solid var(--text2);}
.finance-type-option.is-active .finance-radio-dot{border:5px solid var(--accent);}
.finance-emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:6px 0 12px;}
.finance-emoji-option{font-size:22px;text-align:center;padding:6px 0;border-radius:9px;cursor:pointer;border:1.5px solid transparent;background:var(--track);}
.finance-emoji-option.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);}
.finance-swatch-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin:6px 0 12px;}
.finance-swatch{height:28px;border-radius:50%;background:var(--c);cursor:pointer;border:2px solid transparent;}
.finance-swatch.is-active{border-color:var(--text);}

/* Vencimientos */
.finance-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--text2);flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;color:#fff;transition:background var(--ease-standard),border-color var(--ease-standard);}
.finance-check:hover{border-color:var(--accent);}
.finance-check.is-done{background:var(--accent);border-color:var(--accent);}
.finance-due-row.is-paid .finance-due-name{text-decoration:line-through;color:var(--text2);}
.finance-due-row.is-paid .finance-row-amount{color:var(--text2);}
.finance-status.is-overdue{color:var(--danger);font-weight:600;}
.finance-status.is-today,.finance-status.is-soon{color:#E8890C;font-weight:600;}
.finance-status.is-paid{color:#1D9E75;}
.finance-due-late-count{color:var(--danger);font-weight:600;}
.finance-disclaimer-top{margin:12px 0 0;}
.finance-pay-name{font-size:15px;font-weight:600;margin:0 0 6px;}

.weekly-days-grid{display:grid;grid-template-columns:repeat(7,minmax(317px,1fr));gap:18px;overflow-x:auto;}
.weekly-mobile-nav{display:flex;}
@media (max-width:900px){
  .weekly-days-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;-webkit-overflow-scrolling:touch;}
  .weekly-day-col{flex:0 0 100%;scroll-snap-align:start;box-sizing:border-box;padding:0 8px;}
  .weekly-mobile-nav{display:flex;}
}

/* ---------- Planificador: vista mensual ---------- */
/* Interruptor Semana / Mes del encabezado. */
.weekly-view-toggle{display:flex;gap:4px;padding:4px;background:var(--track);border-radius:999px;}
.weekly-view-tab{border:none;background:transparent;border-radius:999px;padding:7px 16px;font-size:14px;font-weight:600;color:var(--text2);cursor:pointer;transition:background var(--ease-standard),color var(--ease-standard),transform var(--ease-standard);}
.weekly-view-tab:hover{color:var(--text);}
.weekly-view-tab:active{transform:scale(.96);}
.weekly-view-tab.is-active{background:var(--card);color:var(--text);}
.weekly-view-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

.weekly-month-weekdays,.weekly-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;}
.weekly-month-weekday{margin:0 0 6px;padding:0 4px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text2);}
.weekly-month-weekday-short{display:none;}
/* Cada día es un <button>: se llega con Tab y se abre con Enter, igual que con el dedo. */
.weekly-month-cell{
  display:flex;flex-direction:column;gap:6px;align-items:stretch;text-align:left;
  height:132px;overflow:hidden;padding:10px;box-sizing:border-box;
  border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);
  font:inherit;cursor:pointer;transition:border-color var(--ease-standard),transform var(--ease-standard);
}
.weekly-month-cell:hover{border-color:var(--accent);}
.weekly-month-cell:active{transform:scale(.98);}
.weekly-month-cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.weekly-month-cell.is-today{border:2px solid var(--accent);padding:9px;}
.weekly-month-cell.is-other{background:var(--bg);border-color:transparent;}
.weekly-month-top{display:flex;align-items:center;justify-content:space-between;gap:6px;}
.weekly-month-badges{display:flex;align-items:center;gap:5px;}
.weekly-month-daynum{font-size:15px;font-weight:700;}
.weekly-month-cell.is-other .weekly-month-daynum{color:var(--text2);}
.weekly-month-cell.is-today .weekly-month-daynum{font-size:13px;padding:3px 9px;border-radius:999px;background:var(--accent);color:#fff;}
.weekly-month-count{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--track);color:var(--text2);}
.weekly-month-count.is-full{background:var(--accent);color:#fff;}
.weekly-month-detail{display:flex;flex-direction:column;gap:4px;min-width:0;}
.weekly-month-bar{display:block;height:4px;border-radius:2px;background:var(--track);}
.weekly-month-event,.weekly-month-task{display:flex;align-items:center;gap:6px;min-width:0;font-size:12px;}
.weekly-month-event{font-size:11px;}
.weekly-month-check{width:12px;height:12px;border-radius:4px;border:1px solid var(--border);flex-shrink:0;}
.weekly-month-ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.weekly-month-dots{display:none;}
/* En el teléfono no entra el detalle de cada día: la celda queda en número + un punto por tarea
   (lleno si está cumplida) y el detalle completo se ve al tocarla, en el panel del día. */
@media (max-width:760px){
  .weekly-month-weekdays,.weekly-month-grid{gap:4px;}
  .weekly-month-weekday{text-align:center;padding:0;}
  .weekly-month-weekday-long{display:none;}
  .weekly-month-weekday-short{display:inline;}
  .weekly-month-cell{height:54px;padding:4px;gap:4px;align-items:center;justify-content:center;background:transparent;border-color:transparent;}
  .weekly-month-cell.is-other{background:transparent;}
  .weekly-month-cell.is-today{padding:3px;}
  .weekly-month-detail,.weekly-month-badges{display:none;}
  .weekly-month-top{justify-content:center;}
  .weekly-month-dots{display:flex;align-items:center;justify-content:center;gap:3px;height:6px;}
}

/* Panel del día: modal centrado en escritorio, hoja desde abajo en el teléfono. */
.calev-overlay{position:fixed;inset:0;z-index:45;background:rgba(0,0,0,0.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;}
.calev-card{width:100%;max-width:440px;position:relative;overflow:hidden;padding-top:26px;margin:auto;}
.calev-bar{position:absolute;top:0;left:0;right:0;height:5px;}
.calev-title{margin:0;font-size:21px;font-weight:700;line-height:1.25;letter-spacing:-.01em;overflow-wrap:anywhere;}
.calev-row{display:flex;gap:12px;align-items:flex-start;padding:9px 0;}
.calev-icon{flex:none;width:20px;color:var(--text2);display:flex;align-items:center;justify-content:center;padding-top:1px;}
.calev-icon svg{width:17px;height:17px;}
.calev-description{margin:0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow-y:auto;}
.calev-join{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:16px;text-decoration:none;box-sizing:border-box;}
.calev-join svg{width:18px;height:18px;}
.calev-notice{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;padding:10px 14px;background:var(--track);border-radius:10px;font-size:13px;}
.calev-label{display:block;font-size:12px;font-weight:600;color:var(--text2);margin:6px 0 6px;}
.calev-check{display:flex;align-items:center;gap:10px;margin:4px 0 8px;font-size:15px;cursor:pointer;user-select:none;}
.calev-check input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;}
.weekly-agenda-block.is-event,.weekly-agenda-allday,.weekly-calendar-event{cursor:pointer;}
.weekly-day-panel-overlay{position:fixed;inset:0;z-index:28;background:rgba(0,0,0,0.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;}
.weekly-day-panel{width:100%;max-width:480px;max-height:88vh;overflow-y:auto;}
@media (max-width:760px){
  .weekly-day-panel-overlay{align-items:flex-end;padding:0;}
  .weekly-day-panel{max-width:none;max-height:92vh;border-radius:20px 20px 0 0;padding-bottom:28px;}
}

/* ---------- Agenda (sección del plan Max) ---------- */
.weekly-agenda-card{padding:14px 14px 16px 0;}
.weekly-agenda-grid{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));column-gap:6px;}
.weekly-agenda-dayhead{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;border-radius:12px;color:var(--text2);}
.weekly-agenda-dayhead span:first-child{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;}
.weekly-agenda-dayhead span:last-child{font-size:20px;font-weight:700;}
.weekly-agenda-dayhead.is-today{background:var(--accent);color:#fff;}
.weekly-agenda-row{padding:10px 0;border-bottom:1px solid var(--border);}
.weekly-agenda-head + .weekly-agenda-row{margin-top:8px;border-top:1px solid var(--border);}
.weekly-agenda-rowlabel{font-size:11px;color:var(--text2);text-align:right;padding-right:8px;line-height:1.2;}
.weekly-agenda-cell{display:flex;flex-direction:column;gap:4px;min-width:0;}
.agenda-project{display:flex;align-items:center;gap:5px;min-width:0;padding:4px 8px;border-radius:6px;background:color-mix(in srgb, var(--accent) 14%, var(--card));border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);font-size:12px;cursor:pointer;}
.agenda-project-tag{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--accent);}
.agenda-project.is-done .weekly-agenda-title{text-decoration:line-through;color:var(--text2);}
.weekly-agenda-allday{display:block;padding:4px 8px;border-radius:6px;background:var(--track);font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.weekly-agenda-loose{display:flex;align-items:center;gap:6px;min-width:0;padding:5px 8px;border-radius:8px;border:1px dashed var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);font-size:12px;cursor:pointer;}
.weekly-agenda-loose:hover{background:color-mix(in srgb, var(--accent) 16%, transparent);}
.weekly-agenda-body{margin-top:10px;}
.weekly-agenda-hours{position:relative;}
.weekly-agenda-hour{position:absolute;right:8px;transform:translateY(-50%);font-size:11px;color:var(--text2);}
.weekly-agenda-hour:first-child{transform:none;}
.weekly-agenda-col{position:relative;border-radius:10px;background-color:var(--bg);background-image:linear-gradient(to bottom, var(--border) 0, var(--border) 1px, transparent 1px);}
.weekly-agenda-col.is-today{background-color:color-mix(in srgb, var(--accent) 6%, var(--bg));}
.weekly-agenda-block{position:absolute;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;gap:2px;padding:5px 8px;border-radius:8px;font-size:12px;}
.weekly-agenda-block.is-event{background:var(--track);padding-left:10px;}
.weekly-agenda-block.is-task{background:color-mix(in srgb, var(--accent) 16%, var(--card));border:1px solid color-mix(in srgb, var(--accent) 60%, transparent);cursor:pointer;transition:filter var(--ease-standard);}
.weekly-agenda-block.is-task:hover{filter:brightness(1.08);}
.weekly-agenda-block.is-compact{flex-direction:row;align-items:center;gap:6px;padding-top:2px;padding-bottom:2px;}
/* En un bloque corto la hora le sacaba el lugar al título: se ve solo el título (la hora queda en el title=""). */
.weekly-agenda-block.is-compact .weekly-agenda-time{display:none;}
.weekly-agenda-title{font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.weekly-agenda-time{font-size:11px;color:var(--text2);white-space:nowrap;}
.is-done > .row .weekly-agenda-title,.weekly-agenda-loose.is-done .weekly-agenda-title{text-decoration:line-through;color:var(--text2);}
.weekly-agenda-check{width:14px;height:14px;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;background:var(--track);border:1px solid var(--border);cursor:pointer;}
.is-done .weekly-agenda-check{background:var(--accent);border-color:var(--accent);}
.weekly-agenda-now{position:absolute;left:0;right:0;height:0;border-top:2px dashed var(--danger);z-index:2;pointer-events:none;}
.weekly-agenda-now::before{content:"";position:absolute;left:-5px;top:-6px;width:10px;height:10px;border-radius:50%;background:var(--danger);}
.weekly-agenda-strip{display:none;}
.weekly-duration-pill{height:36px;padding:0 14px;border-radius:999px;border:1.5px solid var(--border);background:transparent;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background var(--ease-standard),color var(--ease-standard),border-color var(--ease-standard);}
/* Hora de una tarea programada, en la fila del Planificador (plan Max). Tocarla abre el pop-up. */
.weekly-task-time{flex-shrink:0;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);cursor:pointer;font-variant-numeric:tabular-nums;}
.weekly-duration-pill.is-active{background:var(--accent);border-color:var(--accent);color:#fff;}
/* En el teléfono no entran 7 columnas con horas: un día por vez, con la tira de días arriba.
   Cambiar de día solo mueve la clase .is-selected (weeklyAgendaPickDay), no repinta nada. */
@media (max-width:760px){
  .weekly-agenda-grid{grid-template-columns:44px minmax(0,1fr);}
  .weekly-agenda-grid [data-agenda-day]:not(.is-selected){display:none;}
  .weekly-agenda-head{display:none;}
  .weekly-agenda-head + .weekly-agenda-row{margin-top:0;border-top:none;}
  .weekly-agenda-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:12px;}
  .weekly-agenda-strip-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0;border:2px solid transparent;border-radius:12px;background:var(--card);color:var(--text2);font:inherit;cursor:pointer;}
  .weekly-agenda-strip-day span:first-child{font-size:11px;font-weight:700;}
  .weekly-agenda-strip-day span:last-child{font-size:16px;font-weight:700;}
  .weekly-agenda-strip-day.is-today{border-color:var(--accent);}
  .weekly-agenda-strip-day.is-selected{background:var(--accent);color:#fff;}
}

.reward-box{
  position:relative;
  border-radius:10px;
  border:1.5px solid transparent;
  padding:10px;
  background:
    linear-gradient(color-mix(in srgb, var(--accent) 15%, var(--card)), color-mix(in srgb, var(--accent) 15%, var(--card))) padding-box,
    linear-gradient(135deg, var(--accent), #FFD76A, var(--accent)) border-box;
  box-shadow:0 0 14px 0 color-mix(in srgb, var(--accent) 25%, transparent);
}

/* ---------- páginas de autenticación (login / registro) ---------- */
.auth-bg{position:fixed;inset:0;z-index:0;background:url('images/background-app.webp') center/cover no-repeat;}
.auth-bg-overlay{position:fixed;inset:0;z-index:0;background:linear-gradient(135deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.8) 100%);pointer-events:none;}
.auth-shell{
  min-height:100vh;width:100%;position:relative;z-index:1;
  display:flex;align-items:center;justify-content:center;
  padding:60px 100px;
}
.auth-card-wrap{position:relative;z-index:1;width:100%;max-width:480px;}
.auth-logo{display:block;width:56px;height:56px;margin:0 auto 18px;}

.landing-shell{
  position:relative;z-index:1;width:100%;height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:40px 24px;
}
.landing-logo{width:84px;height:84px;margin-bottom:32px;}
.landing-title{
  color:#fff;font-size:52px;font-weight:800;line-height:1.15;
  margin:0 0 40px;max-width:760px;text-shadow:0 4px 30px rgba(0,0,0,.5);
}
.landing-btn{padding:16px 52px;font-size:19px;border-radius:14px;text-decoration:none;display:inline-block;text-align:center;}
.landing-btn-secondary{background:#fff;color:var(--accent);font-weight:600;}
.landing-btn-group{display:flex;flex-direction:column;gap:14px;width:100%;max-width:340px;}

@media (max-width:700px){
  .landing-title{font-size:34px;margin-bottom:32px;}
  .landing-logo{width:68px;height:68px;margin-bottom:24px;}
  .landing-btn{width:100%;padding:15px 0;}
}
.auth-card-wrap .card{
  padding:36px;
  background:color-mix(in srgb, var(--card) 45%, transparent);
  backdrop-filter:blur(24px) saturate(160%);
  -webkit-backdrop-filter:blur(24px) saturate(160%);
  border:1px solid color-mix(in srgb, var(--border) 45%, transparent);
  box-shadow:0 24px 70px rgba(0,0,0,.4);
}

@media (max-width:900px){
  .auth-shell{justify-content:center;padding:24px;}
  .auth-card-wrap .card{padding:24px;}
}

/* ---------- login / registro con el estilo de la portada (body.auth-v2) ----------
   Fondo negro con resplandor naranja y grilla (igual que index.html), tipografía Inter Tight,
   tarjeta de vidrio y botón con degradé. Solo afecta a las páginas que llevan la clase. */
body.auth-v2{background:#000;font-family:"Inter Tight",-apple-system,BlinkMacSystemFont,"SF Pro Text",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;}
body.auth-v2 .auth-bg{background:radial-gradient(closest-side,rgba(124,92,255,.30),transparent 70%) 50% 18%/120% 70% no-repeat,radial-gradient(closest-side,rgba(155,123,255,.12),transparent 70%) 85% 0%/60% 45% no-repeat,#000;}
body.auth-v2 .auth-bg-overlay{background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 50% 25%,#000 10%,transparent 65%);mask-image:radial-gradient(ellipse at 50% 25%,#000 10%,transparent 65%);}
body.auth-v2 .auth-shell{flex-direction:column;gap:22px;}
body.auth-v2 .auth-top{position:relative;z-index:1;display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--text);}
body.auth-v2 .auth-top img{width:30px;height:30px;}
body.auth-v2 .auth-top span{font-size:21px;font-weight:800;letter-spacing:-.02em;}
body.auth-v2 .auth-card-wrap .card{
  border-radius:28px;padding:34px;
  background:linear-gradient(180deg,color-mix(in srgb, var(--accent) 8%, rgba(20,23,28,.78)),rgba(10,11,14,.82));
  border:1px solid color-mix(in srgb, var(--accent) 22%, rgba(255,255,255,.08));
  box-shadow:0 40px 100px -40px rgba(124,92,255,.45),0 24px 60px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.05);
}
body.auth-v2 .auth-card-wrap .card > .auth-logo,body.auth-v2 .auth-card-wrap .card > .auth-logo + p{display:none;}
body.auth-v2 .card h1{font-size:28px !important;font-weight:800 !important;letter-spacing:-.025em;line-height:1.15;}
body.auth-v2 .field{background:rgba(255,255,255,.03);border-color:color-mix(in srgb, var(--accent) 14%, #2a2e35);border-radius:14px;padding:13px 14px;transition:border-color .2s ease,box-shadow .2s ease;}
body.auth-v2 .field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);}
body.auth-v2 .btn-accent{position:relative;overflow:hidden;border-radius:14px;padding:14px 18px;font-weight:700;background:linear-gradient(135deg,#9B7BFF,var(--accent) 55%,#5B3DF0);box-shadow:0 14px 34px -10px rgba(124,92,255,.65),inset 0 1px 0 rgba(255,255,255,.25);}
body.auth-v2 .btn-accent::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.3),transparent);transform:skewX(-20deg);animation:authShine 3.6s ease-in-out infinite;}
@keyframes authShine{0%,60%{left:-60%;}100%{left:130%;}}
@media (prefers-reduced-motion:reduce){body.auth-v2 .btn-accent::after{animation:none;}}
body.auth-v2 .btn-outline{border-radius:14px;padding:13px 18px;background:rgba(255,255,255,.04);border-color:color-mix(in srgb, var(--accent) 16%, rgba(255,255,255,.09));}
@media (max-width:900px){
  body.auth-v2 .auth-shell{justify-content:flex-start;padding:28px 16px 32px;}
  body.auth-v2 .auth-card-wrap .card{padding:26px 22px;border-radius:24px;}
}

/* Modal de detalle de usuario en Admin: angosto y en una sola columna por defecto (mobile),
   más ancho y en 2 columnas en escritorio para que los campos no queden apilados en una tira
   larga vertical. */
.admin-user-modal{max-width:480px;padding:28px;}
@media (min-width:860px){.admin-user-modal{max-width:840px;padding:36px;}}
.admin-user-modal-grid{display:grid;grid-template-columns:1fr;column-gap:36px;row-gap:2px;margin-bottom:20px;}
@media (min-width:860px){.admin-user-modal-grid{grid-template-columns:1fr 1fr;}}
.admin-user-modal-row{padding:12px 0;border-bottom:1px solid var(--border);}
.admin-user-modal-row-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text2);margin-bottom:5px;}
.admin-user-modal-row-value{font-size:16px;color:var(--text);line-height:1.4;}
.admin-user-activity-row{padding:12px 0;border-bottom:1px solid var(--border);}
.admin-user-activity-row:last-child{border-bottom:none;}

/* Pantalla de carga de la app (dashboard.html) */
#appLoader{position:fixed;inset:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;transition:opacity .3s ease;}
#appLoader.is-hidden{opacity:0;pointer-events:none;}
#appLoader img{width:76px;height:76px;border-radius:18px;}
.app-loader-track{width:180px;height:4px;border-radius:2px;background:var(--track);overflow:hidden;}
#appLoaderFill{width:0;height:100%;border-radius:2px;background:var(--accent);}
.loading-spinner{display:block;width:28px;height:28px;margin:12px auto;border:3px solid var(--track);border-top-color:var(--accent);border-radius:50%;animation:btn-spin .8s linear infinite;box-sizing:border-box;}
/* Checklist de Anotaciones: el casillero se dibuja en el margen izquierdo del <li> (ahí es
   donde notasChecklistPointerDown() detecta el toque); tildado = tachado y atenuado. */
.notas-editor ul[data-checklist="1"]{list-style:none;padding-left:0;}
.notas-editor ul[data-checklist="1"] > li{position:relative;margin-left:30px;min-height:22px;}
.notas-editor ul[data-checklist="1"] > li::before{content:"";position:absolute;left:-28px;top:2px;width:18px;height:18px;border:2px solid var(--text2);border-radius:5px;box-sizing:border-box;cursor:pointer;}
.notas-editor ul[data-checklist="1"] > li[data-checked="1"]::before{background:var(--accent);border-color:var(--accent);}
.notas-editor ul[data-checklist="1"] > li[data-checked="1"]::after{content:"";position:absolute;left:-22px;top:5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);pointer-events:none;}
.notas-editor ul[data-checklist="1"] > li[data-checked="1"]{text-decoration:line-through;color:var(--text2);}

/* Biblioteca (libros): galería de portadas + ficha en dos columnas en escritorio. */
.bib-top{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px;}
@media (min-width:760px){.bib-top{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);}}
.bib-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;}
.bib-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.bib-chip{font-size:13px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;white-space:nowrap;}
.bib-chip.on{background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:var(--accent);color:var(--accent);}
.bib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;}
@media (min-width:1100px){.bib-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;}}
.bib-card{background:var(--card);border-radius:14px;overflow:hidden;cursor:pointer;border:1px solid var(--border);transition:transform var(--ease-standard);}
.bib-card:hover{transform:translateY(-2px);}
.bib-cover{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;color:rgba(255,255,255,.92);font-weight:600;}
.bib-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.bib-card .bib-cover{aspect-ratio:2/3;font-size:54px;}
.bib-badge{position:absolute;top:8px;left:8px;z-index:1;font-size:11px;padding:2px 9px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;}
.bib-bar{height:5px;border-radius:3px;background:var(--track);overflow:hidden;}
.bib-bar i{display:block;height:100%;background:var(--accent);}
.bib-stars{color:#F5A623;letter-spacing:1px;}
.bib-star-pick{font-size:26px;line-height:1;cursor:pointer;color:var(--border);background:none;border:0;padding:0 2px;}
.bib-star-pick.on{color:#F5A623;}
.bib-modal-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0 32px;}
@media (min-width:900px){.bib-modal-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
.bib-modal-grid label.muted{display:block;font-size:14px;}
.bib-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;}
.bib-result{display:flex;gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--border);}
.bib-result:last-child{border-bottom:0;}
.bib-result .bib-cover{width:34px;height:48px;border-radius:4px;font-size:16px;flex-shrink:0;}
.bib-quote{border-left:3px solid var(--accent);padding:2px 0 2px 12px;margin-bottom:10px;}

.bib-stack{position:relative;aspect-ratio:2/3;background:var(--track);overflow:hidden;}
.bib-sbadge{position:absolute;bottom:8px;left:8px;z-index:1;font-size:11px;padding:2px 9px;border-radius:999px;background:var(--accent);color:#fff;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* Sueño y energía: check-in en dos tarjetas, métricas, patrones. Los chips y las estrellas también los usa el Ritual. */
.sue-today{display:grid;grid-template-columns:1fr;gap:20px;}
@media (min-width:900px){.sue-today{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}}
.sue-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin-bottom:14px;}
/* Los campos de hora de WebKit traen un ancho mínimo propio; sin min-width:0 en la columna se salían de la tarjeta en pantallas angostas (se veían desfasados). */
.sue-two > *{min-width:0;}
/* Sin la apariencia nativa, iOS deja de imponerle su ancho propio al campo de hora y respeta el de la columna. */
.sue-two input.field{display:block;min-width:0;max-width:100%;width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none;text-align:center;}
.sue-two input.field::-webkit-date-and-time-value{min-width:0;text-align:center;margin:0 auto;}
.sue-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.sue-chip{font-size:13px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;white-space:nowrap;}
.sue-chip.on{background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:var(--accent);color:var(--accent);}
.sue-star{font-size:26px;line-height:1;cursor:pointer;color:var(--border);background:none;border:0;padding:0 2px;}
.sue-star.on{color:#F5A623;}
.sue-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:16px;}
.sue-pats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px;}
.sue-pill{display:inline-block;font-size:12px;padding:3px 10px;border-radius:999px;}
.sue-pill.ok{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success);}
.sue-pill.warn{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--warning);}
.sue-pill.bad{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger);}
.sue-pill.nt{background:var(--track);color:var(--text2);}

/* Salud: resumen (próximo turno, anillo de controles, "para atender"), lista de turnos con calendario, controles con anillo de progreso e historial en línea de tiempo. .sal-dt y .sal-count también los usa la tarjeta de Inicio. */
.sal-hero{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px;}
@media (min-width:1150px){.sal-hero{grid-template-columns:1.3fr 1fr 1.1fr;}}
.sal-next{background:color-mix(in srgb,var(--accent) 9%,var(--card));}
.sal-count{font-size:14px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);padding:5px 14px;border-radius:999px;white-space:nowrap;}
.sal-alert{border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));}
.sal-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:16px;}
.sal-split{display:grid;grid-template-columns:1fr;gap:16px;align-items:start;}
@media (min-width:1100px){.sal-split{grid-template-columns:1.3fr 1fr;}}
.sal-ctls{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:16px;}
.sal-ctl{display:flex;gap:16px;align-items:flex-start;}
.sal-ring{position:relative;width:64px;height:64px;flex-shrink:0;}
.sal-ring span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.sal-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);}
.sal-item:last-child{border-bottom:0;padding-bottom:0;}
.sal-dt{width:48px;flex:none;text-align:center;border-radius:10px;background:var(--track);padding:6px 0;box-sizing:border-box;}
.sal-dt b{display:block;font-size:19px;font-weight:700;line-height:1.1;}
.sal-dt span{font-size:11px;color:var(--text2);text-transform:uppercase;}
.sal-dt.big{width:64px;padding:10px 0;background:var(--accent);color:#fff;}
.sal-dt.big span{color:rgba(255,255,255,.85);}
.sal-dt.big b{font-size:26px;}
.sal-dot{display:inline-flex;align-items:center;gap:6px;}
.sal-dot::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c);flex-shrink:0;}
.sal-att{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:5px 11px;border-radius:10px;background:var(--track);color:var(--text2);margin:8px 8px 0 0;text-decoration:none;max-width:100%;overflow-wrap:anywhere;}
a.sal-att:hover{color:var(--accent);}
.sal-esp{font-size:12px;padding:3px 10px;border-radius:999px;white-space:nowrap;}
.sal-sync{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--success);}
.sal-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center;}
.sal-cal .h{font-size:12px;color:var(--text2);padding-bottom:4px;}
.sal-cal .d{font-size:14px;padding:8px 0;border-radius:10px;}
.sal-cal .d.mark{background:var(--accent);color:#fff;font-weight:700;}
.sal-cal .d.today{border:1.5px solid var(--accent);color:var(--accent);font-weight:700;}
.sal-year{position:relative;height:58px;margin:0 4px;}
.sal-year-track{position:absolute;left:0;right:0;top:26px;height:2px;border-radius:2px;background:var(--border);}
.sal-year-fill{height:100%;border-radius:2px;background:var(--accent);}
.sal-year-dot{position:absolute;top:27px;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);box-sizing:border-box;}
.sal-year-dot.is-next{width:11px;height:11px;background:var(--card);border:2px solid;}
.sal-year-today{position:absolute;top:18px;width:2px;height:18px;border-radius:1px;background:var(--accent);transform:translateX(-50%);}
.sal-year-today span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:2px;font-size:10px;font-weight:700;color:var(--accent);white-space:nowrap;}
.sal-year-months{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(12,1fr);font-size:11px;letter-spacing:.3px;color:var(--text2);}
@media (max-width:480px){.sal-year-months{font-size:9px;letter-spacing:0;}}
.sal-tl{position:relative;}
.sal-tl::before{content:"";position:absolute;left:7px;top:26px;bottom:0;width:2px;background:var(--border);}
.sal-tl-item{position:relative;padding-left:28px;margin-bottom:16px;}
.sal-tl-item>i{position:absolute;left:0;top:22px;width:16px;height:16px;border-radius:50%;border:3px solid var(--bg);box-sizing:content-box;margin-left:-3px;}

/* Perfil: cabecera de ancho completo + pestañas + grillas que aprovechan el ancho */
.perfil-head{display:flex;gap:24px;align-items:center;flex-wrap:wrap;}
.perfil-head-id{min-width:180px;}
.perfil-head-slogan{flex:1 1 280px;min-width:0;}
.perfil-tabs{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;margin:18px 0 20px;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.perfil-tabs::-webkit-scrollbar{display:none;}
.perfil-tab[hidden]{display:none;}
.perfil-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px;align-items:start;}
.perfil-grid-wide{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));}
.perfil-opt{border:1.5px solid var(--border);border-radius:12px;padding:10px;text-align:center;font-size:14px;cursor:pointer;user-select:none;transition:border-color var(--ease-standard),box-shadow var(--ease-standard);}
.perfil-opt.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);font-weight:600;}
@media (max-width:640px){
  .perfil-head{flex-direction:column;align-items:stretch;text-align:center;gap:16px;}
  .perfil-head > div:first-child{margin:0 auto;}
  .perfil-head-slogan{flex:0 0 auto;text-align:left;}
}

/* Sección Pro y Max (assets/planes.js) */
.pl-wrap{max-width:980px;}
/* Landing de módulos (modulos.js): mismas bases que .pl-*, con el oro champagne de los módulos. */
.ml-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;}
.ml-card{border:1.5px solid var(--border);display:flex;flex-direction:column;}
.ml-card.is-on{border-color:#C9A24A;box-shadow:0 0 18px 0 color-mix(in srgb, #C9A24A 22%, transparent);}
.ml-card h3{font-size:17px;font-weight:700;margin:0 0 8px;display:flex;align-items:center;gap:8px;}
.ml-ico{display:inline-flex;color:#C9A24A;}
.ml-card p{font-size:14px;line-height:1.55;margin:0 0 8px;}
.ml-card ul{margin:0 0 14px;padding:0 0 0 18px;font-size:14px;line-height:1.55;flex:1;}
.ml-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border);}
.ml-price{font-size:20px;font-weight:700;}
.ml-price small{font-size:13px;font-weight:500;}
.ml-pick{width:auto;padding:8px 16px;font-size:14px;}
.ml-owned{font-size:13px;font-weight:600;color:#C9A24A;}
.ml-tag{align-self:flex-start;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;margin-bottom:10px;background:color-mix(in srgb, #C9A24A 18%, transparent);color:#C9A24A;}
.ml-bar{position:sticky;bottom:12px;z-index:5;padding:12px 16px;}
.ml-bar-line{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.ml-bar-sum{font-size:15px;min-width:0;flex:1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.ml-bar-toggle{font-size:13px;color:var(--text2);display:inline-flex;align-items:center;gap:4px;}
.ml-pay{width:auto;padding:10px 20px;flex-shrink:0;}
.ml-bar-list{max-height:45vh;overflow-y:auto;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border);}
.ml-bar-row{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:10px;align-items:center;padding:6px 0;font-size:14px;}
.ml-bar-row-price{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;}
.ml-bar-total{border-top:1px solid var(--border);margin-top:4px;padding-top:10px;font-weight:700;font-size:15px;}
@media (max-width:520px){.ml-pay{width:100%;}}
@media (max-width:760px){.ml-grid{grid-template-columns:1fr;}}
.pl-lead{line-height:1.5;max-width:640px;}
.pl-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:34px;}
.pl-plan{border:1.5px solid var(--border);}
.pl-plan.is-max{border-color:#30B0C7;}
.pl-plan-name{font-size:20px;font-weight:700;margin:0 0 4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pl-tag{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--track);color:var(--text2);}
.pl-tag.is-current{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);}
.pl-price{font-size:22px;font-weight:700;margin:10px 0 2px;}
.pl-price small{font-size:14px;font-weight:500;}
.pl-price-alt{font-size:15px;font-weight:600;margin:2px 0 0;}
.pl-price-alt small{font-size:13px;font-weight:500;}
.pl-plan ul{margin:14px 0 0;padding:0 0 0 18px;font-size:14px;line-height:1.55;}
.pl-h2{font-size:20px;font-weight:700;margin:0 0 6px;}
.pl-sub{font-size:14px;margin:0 0 16px;}
.pl-table{background:var(--card);border-radius:16px;padding:6px 20px 10px;margin-bottom:38px;}
.pl-grp{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);padding:18px 0 6px;}
.pl-head,.pl-row{display:grid;grid-template-columns:minmax(0,1fr) 92px 92px;gap:10px;align-items:center;}
.pl-head{padding:14px 0 4px;font-size:13px;font-weight:700;text-align:center;}
.pl-head div:first-child{text-align:left;}
.pl-row{padding:11px 0;border-top:1px solid var(--border);}
.pl-name{font-size:15px;font-weight:600;}
.pl-desc{font-size:13px;margin-top:2px;line-height:1.4;}
.pl-cell{text-align:center;font-size:13px;line-height:1.35;}
.pl-yes{color:#30B0C7;font-weight:700;font-size:17px;}
.pl-no{color:var(--text2);opacity:.6;}
.pl-detail{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:34px;}
.pl-card h3{font-size:16px;font-weight:700;margin:0 0 8px;display:flex;align-items:center;gap:8px;}
.pl-ico{display:inline-flex;color:#30B0C7;}
.pl-card p{font-size:14px;line-height:1.55;margin:0 0 8px;}
.pl-card ul{margin:0;padding:0 0 0 18px;font-size:14px;line-height:1.55;}
.pl-cta{text-align:center;}
.pl-cta p{margin:0 0 14px;font-size:15px;}
@media (max-width:700px){
  .pl-summary,.pl-detail{grid-template-columns:1fr;}
  .pl-head,.pl-row{grid-template-columns:minmax(0,1fr) 64px 64px;gap:6px;}
  .pl-table{padding:4px 14px 8px;}
}

/* ---------- Ciclo Menstrual ---------- */
/* Las 4 fases son 4 tonos del acento que eligió la usuaria (claro/oscuro/puro/apagado), así se
   distinguen por luminosidad y no solo por tono. Texto encima: --ciclo-*-ink. */
:root{--ciclo-menstrual:color-mix(in srgb, var(--accent) 52%, #000);--ciclo-folicular:color-mix(in srgb, var(--accent) 36%, #fff);--ciclo-ovulatoria:var(--accent);--ciclo-lutea:color-mix(in srgb, var(--accent) 48%, #6f6878);--ciclo-menstrual-ink:#fff;--ciclo-folicular-ink:#1b1b1f;--ciclo-ovulatoria-ink:#fff;--ciclo-lutea-ink:#fff;--ciclo-soft:color-mix(in srgb, var(--accent) 12%, var(--card));}
.ciclo-tabs{display:flex;gap:4px;background:var(--track);border-radius:12px;padding:4px;margin-bottom:20px;}
.ciclo-tab{flex:1;text-align:center;font-size:15px;font-weight:600;padding:9px 6px;border-radius:9px;cursor:pointer;color:var(--text2);border:none;background:transparent;}
.ciclo-tab.on{background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.12);}
.ciclo-wrap{width:100%;}
.ciclo-wrap.narrow{max-width:760px;}
.ciclo-stack{display:flex;flex-direction:column;gap:16px;}
.ciclo-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);margin:0 0 6px;}
.ciclo-hr{height:1px;background:var(--border);margin:2px 0;}
.ciclo-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;flex-wrap:wrap;}
.ciclo-row-text{display:flex;flex-direction:column;gap:2px;font-size:15px;min-width:0;}
.ciclo-row.ciclo-tg{flex-wrap:nowrap;}
.ciclo-hint{font-size:13px;color:var(--text2);}
.ciclo-chip{min-height:44px;padding:0 16px;border-radius:999px;font-size:15px;border:1px solid var(--border);background:var(--track);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.ciclo-chip.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700;}
.ciclo-chip.small{min-height:36px;padding:0 12px;font-size:13px;color:var(--text2);}
.ciclo-chip.small.on{color:#fff;}
.ciclo-chips3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.ciclo-stepper{display:flex;align-items:center;gap:6px;}
.ciclo-stepper button{width:44px;height:44px;border-radius:12px;border:1px solid var(--border);background:var(--track);color:var(--text);font-size:20px;cursor:pointer;}
.ciclo-stepper b{min-width:70px;text-align:center;font-size:15px;}
.ciclo-progress{display:flex;gap:6px;margin-bottom:20px;}
.ciclo-progress span{flex:1;height:6px;border-radius:999px;background:var(--border);}
.ciclo-progress span.on{background:var(--accent);}
.ciclo-soft{background:var(--ciclo-soft);}
.ciclo-phase-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.ciclo-phase-menstrual{background:var(--ciclo-menstrual);}.ciclo-phase-folicular{background:var(--ciclo-folicular);}.ciclo-phase-ovulatoria{background:var(--ciclo-ovulatoria);}.ciclo-phase-lutea{background:var(--ciclo-lutea);}
.ciclo-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;}
.ciclo-grid > *{min-width:0;}
@media (min-width:900px){.ciclo-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}.ciclo-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}.ciclo-grid .span2{grid-column:1/-1;}}
@media (min-width:700px) and (max-width:1199px){.ciclo-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));}}
.ciclo-cta{background:var(--accent);color:#fff;border-radius:16px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.ciclo-cta .t{font-size:20px;font-weight:700;margin:0;}.ciclo-cta .s{font-size:14px;margin:2px 0 0;opacity:.85;}
.ciclo-cta button{background:#fff;color:#1b1b1f;border:none;border-radius:14px;min-height:48px;padding:0 22px;font-size:16px;font-weight:700;cursor:pointer;}
.ciclo-reg-btn{width:100%;min-height:56px;border-radius:16px;font-size:17px;font-weight:700;border:none;cursor:pointer;background:var(--accent);color:#fff;box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 40%, transparent);}
.ciclo-reg-btn.done{background:var(--card);color:var(--text);border:1px solid var(--border);box-shadow:none;}
.ciclo-tag{font-size:14px;padding:8px 14px;border-radius:999px;background:var(--ciclo-soft);white-space:nowrap;}
.ciclo-ring-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap;}
.ciclo-phase-row{width:100%;display:grid;grid-template-columns:14px minmax(0,1fr) 52px 16px;gap:10px;align-items:center;min-height:44px;text-align:left;background:none;border:none;color:var(--text);cursor:pointer;font-size:14px;padding:0;}
.ciclo-phase-row > :nth-child(3){text-align:right;}
.ciclo-phase-row.cur{background:var(--ciclo-soft);border-radius:12px;margin:0 -8px;padding:0 8px;width:calc(100% + 16px);}
.ciclo-bar{height:8px;border-radius:999px;background:var(--card);overflow:hidden;}.ciclo-bar > div{height:100%;background:var(--accent);border-radius:999px;}
.ciclo-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center;}
.ciclo-week button{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:6px;align-items:center;color:var(--text);font-size:12px;padding:0;}
.ciclo-week button:disabled{cursor:default;}
.ciclo-dot{width:30px;height:30px;border-radius:50%;background:var(--track);}.ciclo-dot.on{background:var(--accent);}.ciclo-dot.today{border:2px solid var(--accent);}
.ciclo-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.ciclo-cal-d{min-height:56px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:2px solid transparent;}
.ciclo-cal-d b{font-size:15px;font-weight:600;}.ciclo-cal-d i{font-size:11px;font-style:normal;font-weight:700;opacity:.8;}
.ciclo-segbar{height:12px;border-radius:999px;background:var(--track);display:flex;gap:2px;overflow:hidden;}
.ciclo-heat{display:flex;gap:2px;}.ciclo-heat span{width:12px;height:20px;border-radius:3px;background:var(--track);flex-shrink:0;}
.ciclo-heat span.fut{background:transparent;border:1px dashed var(--border);}
.ciclo-pick{height:44px;border-radius:12px;border:none;font-size:14px;font-weight:600;cursor:pointer;color:var(--text);}
.ciclo-btn-round{width:44px;height:44px;border-radius:50%;background:var(--track);border:none;color:var(--text);font-size:20px;cursor:pointer;}
.ciclo-day-card{background:var(--card);border-radius:16px;padding:14px 20px;display:flex;flex-direction:column;gap:8px;}
.ciclo-mini{font-size:13px;padding:4px 10px;border-radius:999px;background:var(--track);}
.ciclo-select{width:100%;min-height:44px;border-radius:12px;border:1px solid var(--border);background:var(--track);color:var(--text);padding:0 12px;font-size:15px;}
.ciclo-seg{display:flex;background:var(--track);border-radius:12px;padding:3px;gap:2px;}.ciclo-seg button{min-height:36px;padding:0 16px;border-radius:10px;border:none;background:transparent;color:var(--text2);font-size:14px;cursor:pointer;}.ciclo-seg button.on{background:var(--accent);color:#fff;font-weight:700;}
/* Registro diario (modal) */
.ciclo-reg-bg{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;}
.ciclo-reg{background:var(--bg);width:100%;max-width:1040px;height:min(92vh,900px);border-radius:24px;display:flex;flex-direction:column;overflow:hidden;}
.ciclo-reg-body{flex:1;overflow-y:auto;padding:0 24px 24px;}
.ciclo-reg-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;}
.ciclo-reg-foot{background:var(--card);padding:14px 24px 18px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px;}
.ciclo-reg-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch;}
@media (min-width:900px){.ciclo-reg-cols{grid-template-columns:repeat(2,minmax(0,1fr));}.ciclo-reg-cols > .span2{grid-column:1/-1;}}
.ciclo-reg-cols > .card{padding:18px;display:flex;flex-direction:column;gap:12px;}
.ciclo-sub{font-size:14px;color:var(--text2);margin:0;}
.ciclo-chips{display:flex;flex-wrap:wrap;gap:8px;}
.ciclo-chips.grid3{display:grid;grid-template-columns:repeat(3,1fr);}.ciclo-chips.grid2{display:grid;grid-template-columns:repeat(2,1fr);}
@media (max-width:640px){.ciclo-reg-bg{padding:0;}.ciclo-reg{border-radius:0;height:100%;max-width:none;}}
.ciclo-pill{min-height:40px;padding:0 14px;border-radius:999px;border:none;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;background:var(--ciclo-soft);color:var(--text);flex-shrink:0;}
.ciclo-pill.on{background:var(--accent);color:#fff;}
.ciclo-panel{background:var(--ciclo-soft);border-radius:16px;padding:16px 20px;display:flex;flex-direction:column;gap:12px;margin-bottom:20px;}
.ciclo-panel-sec{border-top:1px solid color-mix(in srgb, var(--text) 10%, transparent);padding-top:12px;display:flex;flex-direction:column;gap:10px;}
@media (min-width:900px){.ciclo-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:12px 28px;align-items:start;}.ciclo-panel > :last-child{grid-column:1/-1;}.ciclo-panel-sec{border-top:none;padding-top:0;border-left:1px solid color-mix(in srgb, var(--text) 10%, transparent);padding-left:28px;}}
@media (max-width:560px){.ciclo-ring-row{flex-direction:column;align-items:center;gap:20px;}.ciclo-ring-row > div{width:100%;min-width:0;}}

/* Saldo de HU$ dentro de Alma */
.alma-hu-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--track);color:var(--accent);border-radius:999px;padding:5px 11px;font-size:13px;font-weight:700;cursor:pointer;flex-shrink:0;}
.alma-hu-pill.low{color:var(--danger);}
.alma-hu-pill svg{pointer-events:none;}
/* Barra de arriba: "Con tu ritmo" como píldora con texto en desktop y solo ícono en mobile; en mobile los contadores pasan a globito sobre el ícono */
.topbar-ritmo{width:auto;border-radius:999px;padding:0 16px 0 14px;font-size:14px;font-weight:600;}
.topbar-ritmo svg{width:18px;height:18px;}
@media (max-width:700px){
  .topbar-actions{gap:8px;right:12px;top:12px;}
  .topbar-icon-btn{width:42px;height:42px;}
  .topbar-ritmo{width:42px;padding:0;border-radius:50%;}
  .topbar-ritmo-label{display:none;}
  .topbar-icon-btn{overflow:visible;}
  .topbar-icon-btn.has-count{width:42px;padding:0;border-radius:50%;position:relative;}
  /* Contador como globito prolijo sobre la esquina del ícono: tamaño fijo, número centrado, borde del color del fondo; si el botón está activo (fondo de acento) se invierte para que se lea */
  .topbar-icon-btn.has-count .topbar-badge-count{position:absolute;top:-6px;right:-6px;z-index:1;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg);}
  .topbar-icon-btn.has-count.active .topbar-badge-count{background:#fff;color:var(--accent);border-color:var(--accent);}
  .sidebar-toggle{top:12px;left:12px;width:42px;height:42px;}
}
/* "Con tu ritmo" activo: mismo estilo que la tarjeta de premio (borde degradé acento→dorado, fondo con tinte y resplandor suave) */
.topbar-icon-btn.topbar-ritmo.active{
  border:1.5px solid transparent;
  color:var(--accent);
  background:
    linear-gradient(color-mix(in srgb, var(--accent) 13%, var(--card)), color-mix(in srgb, var(--accent) 13%, var(--card))) padding-box,
    linear-gradient(135deg, var(--accent), #FFD76A, var(--accent)) border-box;
  box-shadow:0 0 16px 1px color-mix(in srgb, var(--accent) 22%, transparent);
}
/* Panel "Con tu ritmo" colapsable + etapa del ciclo en cada día */
.ciclo-panel{display:block;padding:0;gap:0;}
.ciclo-panel-head{width:100%;display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--text);cursor:pointer;padding:12px 18px;text-align:left;font-size:14px;min-height:48px;}
.ciclo-panel-ico{display:flex;color:var(--accent);flex-shrink:0;}
.ciclo-panel-title{font-weight:700;flex-shrink:0;}
.ciclo-panel-sum{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;flex:1;color:var(--text);}
.ciclo-panel-feel{color:var(--text2);}
.ciclo-panel-chev{color:var(--text2);font-size:13px;flex-shrink:0;transition:transform var(--ease-standard);}
.ciclo-panel-inner{padding:2px 20px 16px;display:flex;flex-direction:column;gap:12px;}
@media (min-width:900px){.ciclo-panel .ciclo-panel-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:12px 28px;align-items:start;}.ciclo-panel-inner > :last-child{grid-column:1/-1;}}
.ciclo-dayslot.chip:not(:empty){display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;}
.ciclo-daymark{display:inline-flex;align-items:center;gap:3px;font-size:11px;line-height:1;margin-top:2px;}
.ciclo-daymark .ciclo-phase-dot{width:8px;height:8px;}
/* Registro: tira de los últimos 14 días para completar días anteriores */
.ciclo-daystrip{display:flex;gap:6px;overflow-x:auto;padding:0 24px 12px;scrollbar-width:thin;}
.ciclo-dchip{flex:0 0 auto;width:48px;padding:6px 0 8px;border-radius:12px;border:1px solid var(--border);background:var(--track);color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;}
.ciclo-dchip span{color:var(--text2);text-transform:capitalize;}
.ciclo-dchip b{font-size:16px;}
.ciclo-dchip i{width:6px;height:6px;border-radius:50%;background:transparent;}
.ciclo-dchip i.on{background:var(--accent);}
.ciclo-dchip.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.ciclo-dchip.on span{color:#fff;}
.ciclo-dchip.on i.on{background:#fff;}

/* ---------- Estudios y Formaciones (assets/estudios.js) ---------- */
.est{--est-leido:#0A84FF;--est-resumido:#AF52DE;}
.est-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:24px;}
.est-title{font-size:28px;font-weight:700;margin:0;letter-spacing:-.01em;overflow-wrap:anywhere;}
.est-sub{font-size:16px;margin:4px 0 0;}
.est-head .btn-accent,.est-head .btn-outline,.est-hero .btn-accent{display:inline-flex;align-items:center;gap:8px;width:auto;white-space:nowrap;}
.est-icon-btn{padding:9px 12px !important;display:inline-flex;align-items:center;justify-content:center;}
.est-ibtn{background:none;border:none;color:var(--text2);width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;cursor:pointer;transition:background var(--ease-standard),color var(--ease-standard);}
.est-ibtn:hover{background:var(--track);color:var(--accent);}
.est-ibtn svg{width:18px;height:18px;}
.est-chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;padding:4px 9px;border-radius:999px;background:var(--track);color:var(--text2);white-space:nowrap;max-width:100%;}
.est-chip svg{width:13px;height:13px;}
.est-chip-sm{font-size:11px;padding:2px 8px;}
.est-chip-acc{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);}
.est-chip-ok{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);}
.est-chip-btn{border:none;cursor:pointer;font-family:inherit;}
.est-chip-btn.on{background:var(--accent);color:#fff;}
.est-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0;}
.est-pill{border:1.5px solid var(--border);border-radius:999px;flex-shrink:0;}
.est-pill.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.est-pill-sm{font-size:14px;padding:6px 13px;}
.est-scroll-x{overflow-x:auto;scrollbar-width:none;}
.est-scroll-x::-webkit-scrollbar{display:none;}
.est-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.est-err{color:var(--danger);font-size:13.5px;margin:4px 0 0;min-height:0;}
.est-err:empty{display:none;}
.est-empty{text-align:center;padding:40px 24px;}
.est-only-m{display:none !important;}

.est-stat-grid{display:grid;grid-template-columns:1.1fr 1fr 1.3fr;gap:16px;}
.est-stat-label{font-size:13px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;display:flex;align-items:center;gap:6px;}
.est-stat-label svg{width:15px;height:15px;}
.est-big{font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1;}
.est-unit{font-size:18px;font-weight:600;}
.est-week-bars{display:flex;gap:8px;align-items:flex-end;height:64px;margin-top:16px;}
.est-week-bars .wb{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end;}
.est-week-bars .wb i{display:block;width:100%;max-width:26px;border-radius:6px;background:var(--accent);min-height:6px;}
.est-week-bars .wb i.zero{background:var(--track);height:6px !important;}
.est-week-bars .wb span{font-size:11px;color:var(--text2);font-weight:600;}
.est-week-bars .wb.today span{color:var(--accent);}
.est-flame{font-size:30px;line-height:1;}
.est-streak-dots{display:flex;gap:4px;margin-top:16px;}
.est-streak-dots div{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;color:var(--text2);font-weight:600;}
.est-streak-dots b{width:26px;height:26px;border-radius:50%;background:var(--track);display:flex;align-items:center;justify-content:center;}
.est-streak-dots b.on{background:color-mix(in srgb,var(--warning) 22%,transparent);color:var(--warning);}
.est-streak-dots b.today{outline:2px dashed var(--warning);outline-offset:2px;background:transparent;}
.est-exam,.est-countdown{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#7A1E5A));}
.est-exam .est-stat-label,.est-countdown .est-stat-label{color:rgba(255,255,255,.85);}
.est-exam::after,.est-countdown::after{content:"";position:absolute;right:-40px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.1);pointer-events:none;}
.est-exam-days{font-size:52px;font-weight:800;line-height:.9;letter-spacing:-.03em;}
.est-exam-what{margin:12px 0 2px;font-size:17px;font-weight:700;position:relative;z-index:1;overflow-wrap:anywhere;}
.est-exam-sub{margin:0;font-size:13.5px;opacity:.88;position:relative;z-index:1;}
.est-heat-card{grid-column:1 / -1;}
.est-heat-wrap{display:grid;grid-template-columns:auto 1fr;gap:8px;}
.est-heat-days{display:grid;grid-template-rows:repeat(7,15px);gap:4px;font-size:10px;color:var(--text2);font-weight:600;}
.est-heat-days span{display:flex;align-items:center;}
.est-heat{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,15px);grid-auto-columns:15px;gap:4px;justify-content:end;overflow:hidden;}
.est-heat i{display:block;width:15px;height:15px;border-radius:4px;}
.est-legend{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text2);}
.est-legend i{width:11px;height:11px;border-radius:3px;display:block;}

.est-study-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;}
.est-study-card{display:flex;gap:16px;align-items:center;cursor:pointer;padding:20px;border:1px solid transparent;transition:border-color var(--ease-standard);}
.est-study-card:hover,.est-subj-card:hover{border-color:var(--border);}
.est-emoji{width:52px;height:52px;flex-shrink:0;border-radius:14px;background:var(--track);display:flex;align-items:center;justify-content:center;font-size:26px;}
.est-emoji-lg{width:72px;height:72px;font-size:38px;border-radius:20px;}
.est-card-name{font-size:17px;font-weight:650;margin:4px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.est-ring{position:relative;width:58px;height:58px;flex-shrink:0;}
.est-ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;}

.est-crumbs{gap:10px;margin-bottom:16px;flex-wrap:wrap;}
.est-crumbs .muted{font-size:15px;cursor:pointer;}
.est-crumbs .muted svg{width:14px;height:14px;}
.est-hero{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:20px;position:relative;}
.est-hero-name{font-size:26px;font-weight:700;margin:0 0 14px;letter-spacing:-.01em;overflow-wrap:anywhere;}
.est-hero-stats{display:flex;gap:28px;flex-wrap:wrap;}
.est-hero-stats div{display:flex;flex-direction:column;gap:2px;}
.est-hero-stats b{font-size:22px;font-weight:700;}
.est-hero-stats span{font-size:12.5px;color:var(--text2);font-weight:600;}
.est-groups{display:flex;flex-direction:column;gap:26px;}
.est-group-title{font-size:13px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;display:flex;align-items:center;gap:10px;}
.est-group-title::after{content:"";flex:1;height:1px;background:var(--border);}
.est-subj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;}
.est-subj-card{position:relative;cursor:pointer;padding:20px 20px 18px;display:flex;flex-direction:column;gap:12px;overflow:hidden;border:1px solid transparent;transition:border-color var(--ease-standard);}
.est-subj-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--c);}
.est-subj-name{font-size:17px;font-weight:650;margin:0;line-height:1.25;overflow-wrap:anywhere;}
.est-subj-next{gap:8px;padding-top:10px;border-top:1px solid var(--border);font-size:13.5px;}
.est-subj-next svg{width:15px;height:15px;}
.est-grade{font-size:30px;font-weight:800;color:var(--success);line-height:1;}
.est-add-card{border:1.5px dashed var(--border);display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text2);font-weight:600;min-height:150px;cursor:pointer;border-radius:16px;font-size:15px;transition:border-color var(--ease-standard),color var(--ease-standard);}
.est-add-card:hover{border-color:var(--accent);color:var(--accent);}
.est-bar{display:flex;height:8px;border-radius:999px;background:var(--track);overflow:hidden;}
.est-bar i{display:block;height:100%;}
.est-bar.thick{height:12px;}

.est-color-bar{width:14px;height:44px;border-radius:6px;flex-shrink:0;}
.est-subj-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start;}
.est-aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:20px;}
.est-tabs{display:flex;gap:6px;margin-bottom:18px;background:var(--card);padding:5px;border-radius:12px;width:max-content;max-width:100%;}
.est-tabs .pill-tab{font-size:15px;padding:8px 14px;color:var(--text2);font-weight:600;display:flex;gap:6px;align-items:center;white-space:nowrap;flex-shrink:0;}
.est-tabs .pill-tab.on{background:var(--track);color:var(--text);}
.est-tabs .n{font-size:12px;background:var(--track);border-radius:999px;padding:1px 7px;}
.est-tabs .pill-tab.on .n{background:var(--accent);color:#fff;}
.est-legend-row{justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap;font-size:12.5px;font-weight:600;color:var(--text2);}
.est-legend-row svg{width:14px;height:14px;}

.est-unit{padding:0;overflow:hidden;margin-bottom:14px;}
.est-unit-head{display:flex;align-items:center;gap:12px;padding:12px 14px 12px 20px;min-height:58px;cursor:pointer;}
.est-unit-head h4{margin:0;font-size:16px;font-weight:650;flex:1;min-width:0;overflow-wrap:anywhere;}
.est-unit-head .num{width:28px;height:28px;border-radius:9px;background:var(--track);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--text2);flex-shrink:0;}
.est-unit-head .chev{display:flex;color:var(--text2);transition:transform var(--ease-standard);}
.est-unit.closed .chev{transform:rotate(-90deg);}
.est-unit.closed .est-topics{display:none;}
.est-topic{display:flex;align-items:center;gap:12px;padding:8px 14px 8px 20px;min-height:52px;border-top:1px solid var(--border);cursor:pointer;transition:background var(--ease-standard);}
.est-topic:hover{background:color-mix(in srgb,var(--track) 60%,transparent);}
.est-topic-name{flex:1;min-width:0;font-size:16px;overflow-wrap:anywhere;}
.est-topic.done .est-topic-name{color:var(--text2);}
.est-meta{display:flex;align-items:center;gap:10px;color:var(--text2);font-size:12.5px;font-weight:600;}
.est-meta > span{display:inline-flex;align-items:center;gap:4px;}
.est-meta svg{width:14px;height:14px;}
.est-st{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:999px;padding:6px 11px 6px 9px;font-size:12.5px;font-weight:700;min-width:104px;font-family:inherit;cursor:pointer;flex-shrink:0;transition:transform var(--ease-standard);}
.est-st:active{transform:scale(.92);}
.est-st .dot{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;}
.est-st-sinver{background:var(--track);color:var(--text2);}
.est-st-sinver .dot{border:2px solid var(--text2);opacity:.6;}
.est-st-leido{background:color-mix(in srgb,#0A84FF 16%,transparent);color:#0A84FF;}
.est-st-leido .dot{border:2px solid #0A84FF;background:linear-gradient(90deg,#0A84FF 33%,transparent 33%);}
.est-st-resumido{background:color-mix(in srgb,#AF52DE 16%,transparent);color:#AF52DE;}
.est-st-resumido .dot{border:2px solid #AF52DE;background:conic-gradient(#AF52DE 0 66%,transparent 66%);}
.est-st-repasado{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success);}
.est-st-repasado .dot{background:var(--success);color:#fff;}
.est-add-topic{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--border);color:var(--text2);}
.est-add-topic svg{width:16px;height:16px;}
.est-add-topic input{flex:1;min-width:0;background:none;border:none;font-size:15px;color:var(--text);outline:none;font-family:inherit;}

.est-donut-wrap{display:flex;gap:18px;align-items:center;}
.est-donut{position:relative;width:110px;height:110px;flex-shrink:0;}
.est-donut b{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:24px;font-weight:800;}
.est-donut b small{font-size:11px;color:var(--text2);font-weight:600;}
.est-lg{display:flex;flex-direction:column;gap:7px;font-size:13.5px;flex:1;min-width:0;}
.est-lg div{display:flex;align-items:center;gap:8px;}
.est-lg i{width:10px;height:10px;border-radius:3px;display:block;flex-shrink:0;}
.est-lg span{margin-left:auto;font-weight:700;}

.est-paste{display:flex;gap:10px;align-items:center;padding:8px 8px 8px 16px;margin-bottom:16px;border:1.5px dashed var(--border);background:transparent;}
.est-paste input,.est-quick input{flex:1;background:none;border:none;outline:none;font-size:16px;color:var(--text);min-width:0;font-family:inherit;}
.est-paste .btn-accent{font-size:15px;padding:9px 14px;width:auto;}
.est-mat{display:flex;gap:14px;align-items:center;padding:14px 16px;margin-bottom:10px;}
.est-mat-ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.est-mat-title{display:block;font-size:16px;font-weight:600;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);text-decoration:none;}
.est-mat-title:hover{color:var(--accent);}
.est-check{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;background:none;color:transparent;flex-shrink:0;cursor:pointer;padding:0;}
.est-check.on{background:var(--success);border-color:var(--success);color:#fff;}
.est-quick{display:flex;gap:10px;align-items:center;padding:12px 14px 12px 16px;margin-bottom:18px;}
.est-notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.est-sticky{position:relative;border-radius:14px;padding:16px 34px 14px 16px;font-size:15px;line-height:1.4;min-height:100px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;background:color-mix(in srgb,var(--c) 14%,var(--card));border:1px solid color-mix(in srgb,var(--c) 25%,transparent);overflow-wrap:anywhere;}
.est-sticky small{color:var(--text2);font-size:12px;font-weight:600;}
.est-sticky-x{position:absolute;top:6px;right:6px;background:none;border:none;color:var(--text2);width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.6;padding:0;}
.est-sticky-x:hover{opacity:1;background:var(--track);}
.est-sticky-x svg{width:14px;height:14px;}
.est-summary-row{display:flex;gap:14px;padding:14px 16px;align-items:center;cursor:pointer;margin-bottom:10px;}

.est-agenda-toggle{gap:12px;padding:14px 18px;margin-bottom:16px;justify-content:space-between;}
.est-agenda-toggle svg{width:19px;height:19px;}
.est-timeline{position:relative;padding-left:26px;margin-bottom:12px;}
.est-timeline::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:var(--border);}
.est-tl-item{position:relative;margin-bottom:12px;}
.est-tl-item::before{content:"";position:absolute;left:-24px;top:24px;width:14px;height:14px;border-radius:50%;background:var(--card);border:3px solid var(--c);box-sizing:border-box;}
.est-tl-item.past{opacity:.6;}
.est-tl-card{display:flex;gap:16px;align-items:center;padding:14px 16px;cursor:pointer;}
.est-date-box{width:54px;flex-shrink:0;text-align:center;border-radius:12px;background:var(--track);padding:6px 0;}
.est-date-box b{display:block;font-size:22px;line-height:1.1;}
.est-date-box span{font-size:11px;font-weight:700;color:var(--text2);text-transform:uppercase;}

.est-mobile-cta{display:none;}
body.has-floating-timer .est-mobile-cta{display:none !important;}

/* Popups */
.est-backdrop{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,0.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;animation:estFadeIn .2s ease both;}
@keyframes estFadeIn{from{opacity:0;}}
.est-modal{width:100%;max-height:92vh;overflow-y:auto;}
.est-no-anim{animation:none !important;}
.est-grabber{display:none;width:40px;height:5px;border-radius:5px;background:var(--border);margin:-8px auto 14px;}
.est-lbl{display:block;font-size:13px;font-weight:700;color:var(--text2);margin:8px 0 8px;}
.est-type-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:8px;}
.est-type-grid button{border:1.5px solid var(--border);background:transparent;border-radius:14px;padding:12px 4px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text);font-family:inherit;cursor:pointer;}
.est-type-grid button span{font-size:26px;}
.est-type-grid button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);}
.est-emoji-btn{width:52px !important;flex-shrink:0;font-size:22px;padding:0 !important;margin:0 !important;cursor:pointer;}
.est-seg{display:flex;background:var(--track);padding:4px;border-radius:12px;gap:4px;margin-bottom:8px;}
.est-seg button{flex:1;border:none;background:none;border-radius:9px;padding:9px 6px;font-size:14px;font-weight:600;color:var(--text2);font-family:inherit;cursor:pointer;min-width:0;}
.est-seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.12);}
.est-seg button:disabled{opacity:.4;cursor:default;}
.est-preview{border-radius:14px;background:var(--track);padding:14px;display:flex;flex-direction:column;gap:6px;font-size:14px;margin:6px 0 10px;overflow-wrap:anywhere;}
.est-swatches{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
.est-swatch{width:30px;height:30px;border-radius:50%;border:none;cursor:pointer;padding:0;}
.est-swatch.on{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--text);}
.est-topic-title{width:100%;background:none;border:none;border-bottom:1.5px solid transparent;font-size:21px;font-weight:700;color:var(--text);padding:4px 0;margin:4px 0 12px;font-family:inherit;outline:none;}
.est-topic-title:focus{border-bottom-color:var(--accent);}
.est-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:16px;}
.est-steps button{border:1.5px solid var(--border);background:transparent;border-radius:12px;padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--text2);font-family:inherit;cursor:pointer;}
.est-steps button.on{border-color:currentColor;}
.est-steps .est-st{min-width:0;padding:0;background:none !important;pointer-events:none;}
.est-editor{min-height:150px;max-height:340px;overflow-y:auto;line-height:1.55;margin-bottom:12px;}
.est-editor:empty::before{content:attr(data-placeholder);color:var(--text2);}
.est-topic-mats{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;}
.est-topic-mat{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 12px;border-radius:12px;background:var(--track);font-size:14.5px;min-width:0;}
.est-topic-mat a.est-ellipsis{flex:1;min-width:0;color:var(--text);text-decoration:none;}
.est-topic-mat svg{width:19px;height:19px;}
.est-dashed{border-style:dashed !important;font-size:14.5px !important;padding:9px 12px !important;text-align:left;}
.est-link-pick{display:flex;flex-direction:column;gap:6px;}
.est-link-pick button{text-align:left;border:1px solid var(--border);background:transparent;color:var(--text);border-radius:10px;padding:9px 12px;font-size:14px;font-family:inherit;cursor:pointer;}
.est-link-pick button:hover{background:var(--track);}
.est-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.est-days button{border:1.5px solid var(--border);background:transparent;color:var(--text);border-radius:12px;padding:8px 0;display:flex;flex-direction:column;align-items:center;font-size:11px;font-weight:700;gap:2px;font-family:inherit;cursor:pointer;}
.est-days button b{font-size:17px;}
.est-days button.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.est-days button.past{opacity:.35;}
.est-days button:disabled{cursor:default;}
.est-topic-checks{max-height:240px;overflow-y:auto;padding:4px 10px 8px;border-radius:12px;background:var(--track);margin-bottom:6px;}
.est-check-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:14.5px;cursor:pointer;}
.est-check-row input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;}
.est-streak-big{font-size:64px;line-height:1;animation:estPop .6s ease;}
@keyframes estPop{40%{transform:scale(1.15);}}
.est-adv-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--track);margin-bottom:8px;}
.est-adv-row .est-st{min-width:0;padding:6px;pointer-events:none;}
.est-adv-row .est-st .lb{display:none;}

@media (max-width:1180px){
  .est-subj-layout{grid-template-columns:1fr;}
  .est-aside{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));order:-1;}
  .est-stat-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .est-title{font-size:26px;}
  .est-hide-m{display:none !important;}
  .est-only-m{display:inline-flex !important;}
  .est-stat-grid{gap:12px;}
  .est-stat-grid .card{padding:16px;}
  .est-stat-grid .est-exam{grid-column:1 / -1;order:-1;}
  .est-big{font-size:26px;}
  .est-streak-dots{gap:2px;}
  .est-streak-dots b{width:20px;height:20px;}
  .est-study-list,.est-subj-grid{grid-template-columns:1fr;}
  .est-study-card{padding:16px;gap:12px;}
  .est-study-card .est-emoji{width:46px;height:46px;font-size:23px;}
  .est-hero{padding:18px;gap:14px;}
  .est-emoji-lg{width:58px;height:58px;font-size:30px;}
  .est-hero-name{padding-right:44px;}
  .est-hero-stats{gap:18px;width:100%;}
  .est-hero-stats b{font-size:19px;}
  .est-aside{display:flex;flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;gap:12px;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none;}
  .est-aside::-webkit-scrollbar{display:none;}
  .est-aside > .card{min-width:82%;scroll-snap-align:start;}
  .est-tabs{width:auto;}
  .est-topic{padding:8px 10px 8px 14px;gap:10px;min-height:56px;}
  .est-unit-head{padding:12px 10px 12px 14px;}
  .est-st{min-width:0;padding:7px;}
  .est-st .lb{display:none;}
  .est-st .dot{width:20px;height:20px;}
  .est-hide-xs{display:none !important;}
  .est-add-topic{padding:12px 14px;}
  .est-mobile-cta{display:block;position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:20;}
  body:has(.floating-alma) .est-mobile-cta{right:88px;}
  .est-mobile-cta .btn-accent{width:100%;padding:14px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 35%,transparent);}
  .est{padding-bottom:70px;}
  .est-backdrop{align-items:flex-end;padding:0;}
  .est-modal{max-width:none !important;border-radius:22px 22px 0 0;max-height:92vh;padding:22px 18px calc(26px + env(safe-area-inset-bottom));animation:estSheetUp .3s cubic-bezier(.2,.8,.2,1) both;}
  @keyframes estSheetUp{from{transform:translateY(100%);}}
  .est-grabber{display:block;}
  .est-type-grid{grid-template-columns:repeat(3,1fr);}
  .est-tl-card{padding:12px;gap:12px;}
}
.est-head-subj{flex-wrap:nowrap;align-items:center;}
.agenda-loading-veil{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-start;justify-content:center;padding-top:140px;background:color-mix(in srgb,var(--card) 65%,transparent);border-radius:16px;}

/* ---------- Nutrición (assets/nutricion.js) ---------- */
/* Popups: reusan .est-backdrop / .est-modal de Educación. */
.nut-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;}
.nut-title{font-size:28px;font-weight:700;margin:0;letter-spacing:-.01em;}
.nut-sub{font-size:16px;margin:4px 0 0;}
.nut-head .btn-accent{width:auto;white-space:nowrap;}
.nut-disclaimer{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.45;color:var(--text2);background:var(--track);border-radius:10px;padding:9px 12px;margin:14px 0 0;}
.nut-disclaimer svg{flex-shrink:0;margin-top:1px;color:var(--accent);}
.nut-tabs{gap:6px;margin:18px 0 20px;padding-bottom:4px;}
.nut-pill{border:1.5px solid var(--border);border-radius:999px;white-space:nowrap;flex-shrink:0;}
.nut-pill.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.nut-icon-btn{width:44px;height:44px;padding:0 !important;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.nut-sm{font-size:14px !important;padding:7px 14px !important;width:auto;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.nut-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nut-empty{text-align:center;padding:28px 12px;}
.nut-split{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;}
@media (min-width:1200px){.nut-split{grid-template-columns:minmax(0,1fr) 320px;}}
.nut-aside{display:flex;flex-direction:column;gap:16px;min-width:0;}
.nut-stat{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:14px;padding:5px 0;}
.nut-stat b{font-size:15px;text-align:right;overflow-wrap:anywhere;}
.nut-bar{height:8px;border-radius:99px;background:var(--track);overflow:hidden;margin-top:4px;}
.nut-bar i{display:block;height:100%;background:var(--accent);border-radius:99px;}
.nut-chip{font-size:13px;padding:5px 11px;border-radius:999px;background:var(--track);color:var(--text2);border:none;cursor:pointer;font-family:inherit;}
.nut-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.nut-two .field{min-width:0;}
/* Semana */
.nut-weekbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.nut-weeklabel{font-size:17px;font-weight:700;margin:0 6px;white-space:nowrap;}
.nut-gridcard{padding:18px;}
.nut-grid{display:grid;gap:6px;}
.nut-grid .h{font-size:12px;color:var(--text2);text-align:center;padding:4px 0 6px;line-height:1.25;}
.nut-grid .h b{display:block;font-size:17px;color:var(--text);}
.nut-grid .h.today b{color:var(--accent);}
.nut-grid .h .tr{display:flex;justify-content:center;color:var(--accent);margin-top:2px;}
.nut-grid .slot{font-size:13px;color:var(--text2);display:flex;align-items:center;font-weight:600;}
.nut-cell{font:inherit;color:inherit;text-align:left;min-height:64px;width:100%;border-radius:10px;background:var(--track);padding:7px 8px;font-size:13px;line-height:1.3;cursor:pointer;display:flex;flex-direction:column;gap:3px;border:1.5px solid transparent;transition:border-color var(--ease-standard);min-width:0;}
.nut-cell:hover{border-color:color-mix(in srgb,var(--accent) 40%,transparent);}
.nut-cell.today{background:color-mix(in srgb,var(--accent) 9%,var(--card));}
.nut-cell.empty{background:transparent;border:1.5px dashed var(--border);align-items:center;justify-content:center;color:var(--text2);font-size:18px;}
.nut-cell-top{display:flex;justify-content:space-between;align-items:center;width:100%;}
.nut-cell .e{font-size:16px;line-height:1;}
.nut-cell .n{color:var(--text);font-weight:500;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow-wrap:anywhere;}
.nut-rec-ic{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:4px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:9px;font-weight:800;flex-shrink:0;}
.nut-legend{font-size:13px;margin:14px 0 0;display:flex;gap:14px;flex-wrap:wrap;}
.nut-daystrip,.nut-daylist{display:none;}
.nut-dchip{flex:1 0 40px;padding:6px 0 8px;border-radius:12px;border:1px solid var(--border);background:var(--track);color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-family:inherit;}
.nut-dchip span{color:var(--text2);}
.nut-dchip b{font-size:16px;}
.nut-dchip i{display:flex;height:13px;align-items:center;color:var(--accent);}
.nut-dchip.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.nut-dchip.on span,.nut-dchip.on i{color:#fff;}
.nut-dot{width:6px;height:6px !important;border-radius:50%;background:transparent;}
.nut-dot.on{background:currentColor;}
.nut-lrow{display:flex;align-items:center;gap:12px;}
.nut-lrow .slot{width:76px;flex-shrink:0;font-size:13px;color:var(--text2);font-weight:600;}
.nut-lrow .nut-cell{flex:1;min-height:52px;flex-direction:row;align-items:center;gap:8px;}
.nut-task{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border);}
.nut-task-ic{width:38px;height:38px;border-radius:10px;background:var(--track);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;}
.nut-sync{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--success);white-space:nowrap;}
/* Compras */
.nut-addrow{display:flex;gap:8px;margin:14px 0 6px;}
.nut-addrow .field{margin:0;}
.nut-addrow .btn-accent{height:44px;}
.nut-cat-select{max-width:170px;flex-shrink:0;}
.nut-cat-h{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--text2);margin:18px 0 4px;text-transform:uppercase;}
.nut-shop{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer;user-select:none;}
.nut-shop.hide{display:none;}
.nut-check{width:22px;height:22px;border-radius:7px;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;transition:background var(--ease-standard),border-color var(--ease-standard);}
.nut-check svg{opacity:0;}
.nut-shop.done .nut-check{background:var(--accent);border-color:var(--accent);}
.nut-shop.done .nut-check svg{opacity:1;}
.nut-shop .nm{font-size:16px;overflow-wrap:anywhere;}
.nut-shop.done .nm{text-decoration:line-through;color:var(--text2);}
.nut-shop .qt{font-size:14px;color:var(--text2);white-space:nowrap;}
.nut-shop .fr{display:block;font-size:12px;color:var(--text2);margin-top:1px;overflow-wrap:anywhere;}
.nut-manual{font-size:11px;padding:1px 7px;border-radius:99px;background:var(--track);color:var(--text2);margin-left:6px;white-space:nowrap;}
/* Recetas */
.nut-recbar{gap:10px;flex-wrap:wrap;margin-bottom:16px;}
.nut-recipes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:16px;}
.nut-rcard{font:inherit;color:inherit;text-align:left;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;transition:transform var(--ease-standard);min-width:0;}
.nut-rcard:active{transform:scale(.99);}
.nut-rcard .em{width:52px;height:52px;border-radius:14px;background:var(--track);display:flex;align-items:center;justify-content:center;font-size:28px;}
.nut-rcard .t{font-size:17px;font-weight:700;overflow-wrap:anywhere;}
.nut-rcard .m{font-size:13px;color:var(--text2);}
.nut-rmac{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--text2);}
.nut-rmac b{color:var(--text);font-weight:600;}
.nut-tag{font:inherit;font-size:13px;padding:5px 12px;border-radius:999px;border:1.5px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;user-select:none;white-space:nowrap;}
.nut-tag.on{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent);font-weight:600;}
.nut-tag.sm{font-size:11px;padding:2px 9px;cursor:inherit;}
.nut-tag.auto{background:color-mix(in srgb,var(--success) 14%,transparent);border-color:transparent;color:var(--success);font-weight:600;}
.nut-newtag{width:150px !important;height:32px !important;font-size:13px !important;padding:4px 10px !important;margin:0 !important;border-radius:999px !important;}
/* Popup de receta */
.nut-emoji-btn{width:52px !important;flex-shrink:0;font-size:22px;padding:0 !important;margin:0 !important;cursor:pointer;}
.nut-ings{display:flex;flex-direction:column;gap:6px;margin:0 0 12px;}
.nut-ing{display:flex;gap:8px;align-items:center;}
.nut-ing .field{margin:0;height:40px !important;font-size:15px;min-width:0;flex:1;}
.nut-ing-g{flex-shrink:0;display:flex;justify-content:flex-end;min-width:0;}
.nut-g{font:inherit;font-size:12px;color:var(--text2);white-space:nowrap;background:none;border:none;padding:4px 2px;cursor:pointer;text-align:right;}
.nut-g.miss{color:var(--warning);font-weight:600;}
.nut-cat{font:inherit;font-size:12px;padding:4px 8px;border-radius:99px;background:var(--track);color:var(--text2);border:none;width:120px;flex-shrink:0;cursor:pointer;}
.nut-nutri{background:var(--track);border-radius:12px;padding:12px 14px;margin:0 0 6px;}
.nut-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;}
.nut-macros div{background:var(--card);border-radius:10px;padding:8px 6px;text-align:center;min-width:0;}
.nut-macros b{display:block;font-size:17px;}
.nut-macros span{font-size:11px;color:var(--text2);}
.nut-pickrecs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px;}
.nut-pickrecs button{font:inherit;color:inherit;text-align:left;display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;background:var(--track);font-size:14px;cursor:pointer;border:1.5px solid transparent;min-width:0;}
.nut-pickrecs button.on{border-color:var(--accent);}
.nut-days{gap:6px;flex-wrap:wrap;margin:0 0 6px;}
.nut-days button{font:inherit;color:inherit;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;padding:0;}
.nut-days button.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700;}
.nut-days button.fixed{cursor:default;opacity:1;}
.nut-set{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border);}
.nut-set p{margin:0;font-size:15px;}
.nut-set span{font-size:13px;}
.nut-tpls{display:flex;flex-direction:column;gap:2px;margin-bottom:6px;}
.nut-tpl{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);}
/* Mi día */
.nut-dstrip{gap:6px;margin-bottom:16px;}
.nut-dstrip .nut-dchip{flex:0 0 52px;}
.nut-train{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:3px 10px;border-radius:99px;vertical-align:middle;margin-left:6px;}
.nut-meal{padding:14px 0;border-top:1px solid var(--border);}
.nut-meal-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px;}
.nut-meal-h p{margin:0;}
.nut-time{width:120px !important;margin:0 !important;height:38px !important;font-size:15px !important;flex-shrink:0;}
.nut-seg{display:flex;gap:6px;flex-wrap:wrap;}
.nut-seg button{font:inherit;color:inherit;font-size:14px;padding:7px 13px;border-radius:10px;background:var(--track);cursor:pointer;border:1.5px solid transparent;}
.nut-seg button.on{border-color:var(--accent);color:var(--accent);font-weight:600;background:color-mix(in srgb,var(--accent) 8%,var(--card));}
.nut-feel{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.nut-feel button{font:inherit;display:inline-flex;align-items:center;gap:5px;font-size:13px;padding:4px 11px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;}
.nut-feel button.on{background:var(--text);color:var(--bg);border-color:var(--text);}
.nut-water{display:flex;gap:6px;flex-wrap:wrap;}
.nut-glass{background:none;border:none;padding:0;cursor:pointer;color:var(--border);transition:color var(--ease-standard);display:flex;}
.nut-glass.on{color:#5AC8FA;}
/* Patrones */
.nut-patterns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:16px;}
.nut-kicker{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--text2);margin:0 0 8px;text-transform:uppercase;}
.nut-headline{font-size:17px;font-weight:600;margin:0 0 14px;}
.nut-foot{font-size:12px;margin:10px 0 0;}
.nut-hbar{display:grid;grid-template-columns:130px 1fr 64px;align-items:center;gap:10px;font-size:13px;margin-bottom:8px;}
.nut-hbar span{color:var(--text2);}
.nut-hbar div{height:12px;border-radius:99px;background:var(--track);overflow:hidden;}
.nut-hbar i{display:block;height:100%;background:var(--accent);border-radius:99px;}
.nut-hbar b{text-align:right;}
.nut-stack{display:grid;grid-template-columns:86px 1fr;gap:10px;align-items:center;font-size:13px;margin-bottom:8px;}
.nut-stack span{color:var(--text2);}
.nut-stack div{display:flex;height:14px;border-radius:99px;overflow:hidden;background:var(--track);}
.nut-cols{display:flex;align-items:flex-end;gap:16px;height:150px;}
.nut-cols div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:4px;}
.nut-cols i{width:100%;max-width:64px;background:color-mix(in srgb,var(--accent) 75%,transparent);border-radius:10px 10px 4px 4px;}
.nut-cols b{font-size:15px;}
.nut-cols span{font-size:12px;color:var(--text2);text-align:center;}
/* Inicio */
.nut-home-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--border);font-size:15px;}
.nut-home-row b{text-align:right;font-weight:600;overflow-wrap:anywhere;}
@media (max-width:760px){
  .nut-grid{display:none !important;}
  .nut-daystrip{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:12px;}
  .nut-daystrip::-webkit-scrollbar{display:none;}
  .nut-daylist{display:flex;flex-direction:column;gap:8px;}
  .nut-gridcard{padding:14px;}
}
@media (max-width:600px){
  .nut-addrow{flex-wrap:wrap;}
  .nut-addrow .field:first-child{flex:1 1 100%;}
  .nut-cat-select{flex:1;max-width:none;}
  .nut-cat{width:96px;}
  .nut-hbar{grid-template-columns:96px 1fr 56px;}
  .nut-macros b{font-size:15px;}
  .nut-pickrecs{grid-template-columns:1fr;}
}

/* ---------- Academia (assets/academia.js) — mockup interno/mockups/academia.html ---------- */
/* Popups del Admin: reusan .est-backdrop / .est-modal de Educación. */
.ac-title{font-size:28px;font-weight:700;margin:0;letter-spacing:-.01em;}
.ac-sub{margin:6px 0 26px;font-size:16px;color:var(--text2);}
.ac-label{font-size:13px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;}
.ac-cover{position:absolute;inset:0;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 85%,#000),color-mix(in srgb,var(--accent) 45%,#1a1a1a));}
.ac-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.ac-cover-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);}
.ac-cover-ph svg{width:30%;height:30%;max-width:84px;max-height:84px;}
.ac-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.78));}
.ac-glass-chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.42);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;}
.ac-glass-chip.ok{background:rgba(48,209,88,.85);}
.ac-chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;padding:4px 9px;border-radius:999px;background:var(--track);color:var(--text2);white-space:nowrap;vertical-align:middle;}
.ac-chip.ok{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);}
.ac-chip.warn{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning);}
.ac-chip.acc{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);}
.ac-bar{height:6px;border-radius:999px;background:var(--track);overflow:hidden;}
.ac-bar.thick{height:8px;}
.ac-bar i{display:block;height:100%;background:var(--accent);border-radius:999px;}
.ac-btn-white{background:#fff;color:#111;border:none;border-radius:999px;padding:12px 22px;font-size:16px;font-weight:700;display:inline-flex;align-items:center;gap:8px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform var(--ease-standard);}
.ac-btn-white:active{transform:scale(.96);}
.ac-btn-sm{font-size:15px;padding:8px 14px;display:inline-flex;align-items:center;gap:6px;justify-content:center;}
.ac-btn-xs{font-size:13.5px;padding:5px 12px;}
.ac-empty{text-align:center;padding:44px 24px;color:var(--text2);}
.ac-empty svg{width:34px;height:34px;color:var(--accent);}
.ac-empty p{margin:10px 0 0;font-size:16px;}

/* Continuar */
.ac-continue{position:relative;border-radius:22px;overflow:hidden;min-height:300px;display:flex;align-items:flex-end;margin-bottom:34px;cursor:pointer;color:#fff;}
.ac-continue .ac-shade{background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.55) 45%,rgba(0,0,0,.05) 100%);}
.ac-continue:hover img{transform:scale(1.03);}
.ac-continue-in{position:relative;padding:32px;max-width:560px;width:100%;}
.ac-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin:0 0 10px;}
.ac-continue h2{font-size:34px;line-height:1.1;margin:0 0 8px;letter-spacing:-.02em;}
.ac-continue p{margin:0 0 18px;font-size:16px;opacity:.88;line-height:1.45;}
.ac-continue-meta{display:flex;align-items:center;gap:14px;margin-bottom:20px;font-size:14px;}
.ac-continue-meta .ac-bar,.ac-hero .ac-bar{flex:1;max-width:220px;background:rgba(255,255,255,.25);}
.ac-continue-meta .ac-bar i{background:#fff;}

/* Tarjetas */
.ac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px;}
.ac-card{padding:0;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;}
.ac-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.18);}
.ac-card:hover img{transform:scale(1.05);}
.ac-card-cover{position:relative;aspect-ratio:16/10;}
.ac-card-chips{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:6px;}
.ac-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1;}
.ac-card-body h3{margin:0;font-size:19px;letter-spacing:-.01em;}
.ac-card-body p{margin:0;font-size:14.5px;line-height:1.5;color:var(--text2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.ac-card-foot{margin-top:auto;padding-top:12px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text2);}
.ac-card-foot .ac-bar{flex:1;}
.ac-card-foot b{color:var(--text);}

/* Curso por dentro / vitrina */
.ac-back{display:inline-flex;align-items:center;gap:4px;font-size:15px;font-weight:600;color:var(--accent);cursor:pointer;margin-bottom:16px;}
.ac-back svg{width:18px;height:18px;}
.ac-hero{position:relative;border-radius:22px;overflow:hidden;min-height:340px;display:flex;align-items:flex-end;color:#fff;margin-bottom:26px;}
.ac-hero .ac-shade{background:linear-gradient(180deg,rgba(0,0,0,.05) 10%,rgba(0,0,0,.85) 100%);}
.ac-hero-in{position:relative;padding:30px 32px;width:100%;display:flex;gap:28px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;}
.ac-hero-text{max-width:620px;}
.ac-hero h1{font-size:36px;line-height:1.08;margin:10px 0 8px;letter-spacing:-.02em;}
.ac-hero p{margin:0;font-size:16px;opacity:.88;line-height:1.5;}
.ac-hero-stats{display:flex;gap:26px;margin-top:18px;flex-wrap:wrap;}
.ac-hero-stats div{display:flex;flex-direction:column;gap:2px;}
.ac-hero-stats b{font-size:21px;}
.ac-hero-stats span{font-size:12.5px;opacity:.75;font-weight:600;text-transform:uppercase;letter-spacing:.04em;}
.ac-hero-right{display:flex;align-items:center;gap:18px;}
.ac-ring{position:relative;width:74px;height:74px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ac-ring svg{position:absolute;inset:0;transform:rotate(-90deg);}
.ac-ring b{font-size:17px;}
.ac-course-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start;}
.ac-mod{padding:8px 8px 6px;margin-bottom:18px;}
.ac-mod-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 10px;}
.ac-mod-n{font-size:12.5px;font-weight:700;color:var(--accent);letter-spacing:.06em;text-transform:uppercase;}
.ac-mod-h h3{margin:3px 0 0;font-size:18px;}
.ac-les{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;cursor:pointer;transition:background var(--ease-standard);}
.ac-les:hover{background:var(--track);}
.ac-les.cur{background:color-mix(in srgb,var(--accent) 10%,transparent);}
.ac-num{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;background:var(--track);color:var(--text2);flex-shrink:0;}
.ac-num.done{background:var(--success);color:#fff;}
.ac-num.cur{background:var(--accent);color:#fff;}
.ac-les-t{flex:1;min-width:0;font-size:16px;}
.ac-les-t small{display:block;font-size:13px;color:var(--text2);margin-top:2px;}
.ac-les-d{font-size:13px;color:var(--text2);white-space:nowrap;display:flex;align-items:center;gap:5px;}
.ac-side-card{position:sticky;top:76px;}
.ac-list{margin:0;padding:0;list-style:none;}
.ac-list li{display:flex;gap:10px;padding:8px 0;font-size:15px;line-height:1.4;}
.ac-list li svg{color:var(--success);margin-top:2px;flex-shrink:0;}
.ac-about{margin:0;font-size:16px;line-height:1.65;white-space:pre-wrap;}
.ac-buy-full{display:flex;justify-content:center;margin-top:16px;text-decoration:none;}
.ac-buy-note{font-size:13px;margin:12px 0 0;line-height:1.45;}

/* Clase */
.ac-lesson{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start;}
.ac-player{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 18px 50px rgba(0,0,0,.25);}
.ac-player .ac-shade{background:rgba(0,0,0,.38);}
.ac-player iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}
.ac-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;border:none;background:rgba(255,255,255,.94);color:#111;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.35);cursor:pointer;padding:0 0 0 4px;transition:transform var(--ease-standard);}
.ac-play:hover{transform:translate(-50%,-50%) scale(1.06);}
.ac-crumb{font-size:14px;color:var(--text2);margin:22px 0 6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.ac-crumb svg{width:13px;height:13px;}
.ac-crumb span{cursor:pointer;color:var(--accent);font-weight:600;}
.ac-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.ac-title-row h1{font-size:30px;margin:0;letter-spacing:-.02em;line-height:1.15;}
.ac-title-row button{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
.ac-done{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);border-color:transparent;}
.ac-notice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--warning) 10%,transparent);border:1px solid color-mix(in srgb,var(--warning) 25%,transparent);font-size:14.5px;line-height:1.5;margin:20px 0 6px;}
.ac-notice svg{color:var(--warning);margin-top:1px;flex-shrink:0;}
.ac-prose{font-size:17px;line-height:1.75;max-width:720px;margin-top:18px;}
.ac-prose h2{font-size:22px;margin:30px 0 8px;letter-spacing:-.01em;line-height:1.3;}
.ac-prose h3{font-size:18px;margin:22px 0 6px;}
.ac-prose p{margin:0 0 14px;}
.ac-prose ul,.ac-prose ol{margin:0 0 14px;padding-left:22px;}
.ac-prose li{margin-bottom:6px;}
.ac-section-title{font-size:20px;font-weight:700;margin:40px 0 4px;letter-spacing:-.01em;}
.ac-section-sub{margin:0;font-size:15px;}
.ac-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;}
.ac-action{display:flex;align-items:center;gap:14px;padding:16px;border-radius:16px;background:var(--card);border:1px solid var(--border);cursor:pointer;transition:transform var(--ease-standard),border-color var(--ease-standard);}
.ac-action:hover{border-color:var(--accent);}
.ac-action:active{transform:scale(.98);}
.ac-action-ic{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent);flex-shrink:0;}
.ac-action-ic svg{width:22px;height:22px;}
.ac-action-t{flex:1;min-width:0;}
.ac-action-t b{display:block;font-size:15.5px;}
.ac-action-t small{font-size:13px;color:var(--text2);}
.ac-action-go{color:var(--text2);display:flex;}
.ac-next{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:36px;}
.ac-next > div{display:flex;align-items:center;gap:14px;padding:16px;border-radius:16px;background:var(--card);cursor:pointer;min-width:0;}
.ac-next > div.off{opacity:.4;cursor:default;}
.ac-next > div.r{justify-content:flex-end;text-align:right;}
.ac-next small{display:flex;align-items:center;gap:3px;font-size:12.5px;color:var(--text2);font-weight:600;margin-bottom:3px;text-transform:uppercase;letter-spacing:.04em;}
.ac-next .r small{justify-content:flex-end;}
.ac-next small svg{width:12px;height:12px;}
.ac-next b{font-size:15px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ac-outline{position:sticky;top:76px;padding:20px 12px 12px;}
.ac-out-head{padding:0 10px 14px;}
.ac-outline .ac-les{padding:10px;gap:12px;}
.ac-outline .ac-num{width:28px;height:28px;font-size:12.5px;}
.ac-outline .ac-les-t{font-size:14.5px;}
.ac-out-mod{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);padding:12px 10px 4px;}

/* Comentarios */
.ac-comments{max-width:760px;}
.ac-compose{display:flex;gap:12px;margin:16px 0 26px;}
.ac-compose .field{min-height:52px;margin:0 0 8px;font-size:16px;resize:vertical;}
.ac-compose-foot{justify-content:space-between;gap:10px;flex-wrap:wrap;}
.ac-compose-foot span{font-size:12.5px;}
.ac-av{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;background:color-mix(in srgb,var(--text2) 70%,var(--accent));overflow:hidden;}
.ac-av.admin{background:var(--accent);}
.ac-av.sm{width:32px;height:32px;font-size:12.5px;}
.ac-av img{width:100%;height:100%;object-fit:cover;}
.ac-c{display:flex;gap:12px;padding:16px 4px;border-top:1px solid var(--border);border-radius:4px;}
.ac-c.flash,.ac-reply.flash{animation:acFlash 1.8s ease;}
@keyframes acFlash{0%,35%{background:color-mix(in srgb,var(--accent) 16%,transparent);}100%{background:transparent;}}
.ac-c-b{flex:1;min-width:0;}
.ac-c-who{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;}
.ac-c-who b{font-size:15px;}
.ac-c-txt{margin:5px 0 8px;font-size:15.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;}
.ac-c-acts{display:flex;gap:16px;font-size:13.5px;font-weight:600;color:var(--text2);}
.ac-c-acts span{cursor:pointer;}
.ac-c-acts span:hover{color:var(--text);}
.ac-reply{display:flex;gap:10px;margin-top:12px;padding:14px;border-radius:14px;background:color-mix(in srgb,var(--accent) 8%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);}
.ac-badge{font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:var(--accent);color:#fff;}
.ac-reply-box{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-top:10px;}
.ac-reply-box .field{margin:0;min-height:60px;font-size:15px;}
.ac-no-comments{padding:16px 0;border-top:1px solid var(--border);margin:0;}

/* Admin */
.ac-count{display:inline-block;font-size:12px;background:var(--danger);color:#fff;border-radius:999px;padding:1px 7px;margin-left:4px;}
.ac-adm-row{display:flex;align-items:center;gap:16px;padding:14px 18px 14px 12px;margin-bottom:12px;}
.ac-grip{color:var(--text2);cursor:grab;display:flex;opacity:.7;touch-action:none;padding:4px 0;}
.ac-adm-thumb{position:relative;width:120px;aspect-ratio:16/10;border-radius:12px;overflow:hidden;flex-shrink:0;}
.ac-adm-t{flex:1;min-width:0;}
.ac-adm-t b{font-size:17px;}
.ac-adm-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px;}
.ac-adm-edit{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start;}
.ac-adm-err{color:var(--danger);font-size:14px;margin:0 0 8px;min-height:0;}
.ac-adm-err:empty{display:none;}
.ac-seg{display:inline-flex;gap:3px;background:var(--track);padding:3px;border-radius:11px;}
.ac-seg span{padding:7px 14px;border-radius:9px;font-size:15px;cursor:pointer;color:var(--text2);font-weight:600;user-select:none;}
.ac-seg span.on{background:var(--card);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.12);}
.ac-set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--border);}
.ac-set-row.first{border-top:none;padding-top:0;}
.ac-set-row p{margin:0;font-size:15.5px;font-weight:600;}
.ac-set-row small{display:block;font-size:13px;color:var(--text2);font-weight:400;margin-top:2px;}
.ac-drop{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:2px dashed color-mix(in srgb,var(--text2) 40%,transparent);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--text2);text-align:center;cursor:pointer;margin-bottom:10px;padding:12px;}
.ac-drop.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);}
.ac-drop.has{border:none;padding:0;cursor:default;}
.ac-drop b{color:var(--text);font-size:15px;}
.ac-drop span{font-size:13px;}
.ac-drop-over{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;padding:12px;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55));}
.ac-drop-over button{background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:999px;padding:7px 13px;font-size:13.5px;font-weight:600;display:inline-flex;gap:6px;align-items:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.ac-drop-over button svg{width:14px;height:14px;}
.ac-tree-mod{border:1px solid var(--border);border-radius:14px;margin-bottom:12px;overflow:hidden;background:var(--card);}
.ac-tree-mod-h{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--track);}
.ac-tree-mod-h b{flex:1;font-size:15.5px;min-width:0;}
.ac-tree-les{display:flex;align-items:center;gap:10px;padding:9px 12px;border-top:1px solid var(--border);font-size:15px;background:var(--card);}
.ac-tree-les-t{flex:1;min-width:0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ac-tree-min{font-size:13px;white-space:nowrap;}
.ac-tree-add{padding:10px 12px;border-top:1px solid var(--border);}
.ac-two{display:grid;grid-template-columns:1fr 130px;gap:12px;}
.ac-video-hint{font-size:13px;color:var(--text2);margin:-4px 0 12px;display:flex;align-items:center;gap:6px;}
.ac-video-hint svg{color:var(--success);}
.ac-video-hint.bad{color:var(--danger);}
.ac-act-row{display:flex;gap:8px;align-items:center;margin-bottom:8px;}
.ac-act-row .field{margin:0;min-width:0;}
.ac-act-row select.field{flex:1;}
.ac-act-row input.field{flex:1.3;}
.ac-modal-foot{justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--border);}
.ac-who-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border);}
.ac-who-t{flex:1;min-width:0;font-size:15px;}
.ac-who-t small{display:block;font-size:13px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;}
.ac-inbox{display:flex;gap:14px;padding:18px;margin-bottom:12px;}
.ac-inbox-where{font-size:13px;color:var(--text2);margin-bottom:4px;}
.ac-inbox-where span{color:var(--accent);font-weight:600;cursor:pointer;}

/* Admin → estadísticas de un curso */
.ac-adm-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.ac-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;}
.ac-stat{padding:18px 20px;}
.ac-stat .ac-label{margin-bottom:6px;}
.ac-stat b{font-size:30px;font-weight:700;}
.ac-st-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 90px 100px;gap:10px;align-items:center;padding:12px 10px;border-top:1px solid var(--border);font-size:15px;cursor:pointer;border-radius:8px;}
.ac-st-row:hover,.ac-st-row.open{background:var(--track);}
.ac-st-row span:not(.ac-st-t){text-align:center;font-weight:600;}
.ac-st-row.head{cursor:default;border-top:none;font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;padding-top:0;}
.ac-st-row.head:hover{background:none;}
.ac-st-row.head span:not(.ac-st-t){font-weight:600;}
.ac-st-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ac-st-people{padding:2px 10px 10px 22px;}
.ac-st-seen{width:200px;flex-shrink:0;display:flex;flex-direction:column;gap:5px;}
.ac-st-seen small{font-size:12.5px;color:var(--text2);}

@media (max-width:1180px){
  .ac-lesson,.ac-course-layout,.ac-adm-edit{grid-template-columns:1fr;}
  .ac-outline,.ac-side-card{position:static;}
}
@media (max-width:640px){
  .ac-title{font-size:26px;}
  .ac-continue{min-height:380px;border-radius:18px;}
  .ac-continue .ac-shade{background:linear-gradient(180deg,rgba(0,0,0,.05) 15%,rgba(0,0,0,.88) 100%);}
  .ac-continue-in{padding:22px;}
  .ac-continue h2{font-size:27px;}
  .ac-continue .ac-btn-white,.ac-hero .ac-btn-white{width:100%;justify-content:center;}
  .ac-grid{grid-template-columns:1fr;gap:18px;}
  .ac-hero{min-height:400px;border-radius:18px;margin:0 0 22px;}
  .ac-hero-in{padding:22px;}
  .ac-hero h1{font-size:28px;}
  .ac-hero-right{width:100%;}
  .ac-hero-stats{gap:20px;}
  .ac-player{margin:0 -16px;border-radius:0;}
  .ac-title-row h1{font-size:24px;}
  .ac-title-row button{width:100%;justify-content:center;}
  .ac-prose{font-size:16.5px;}
  .ac-next,.ac-actions{grid-template-columns:1fr;}
  .ac-les{padding:12px 8px;gap:12px;}
  .ac-adm-row{flex-wrap:wrap;padding:14px;}
  .ac-adm-thumb{width:100%;}
  .ac-adm-row .ac-grip{display:none;}
  .ac-two{grid-template-columns:1fr;}
  .ac-stat-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .ac-stat b{font-size:26px;}
  .ac-st-row{grid-template-columns:minmax(0,1fr) 48px 48px 48px;gap:6px;font-size:14px;padding:12px 6px;}
  .ac-st-row.head{font-size:10px;letter-spacing:.02em;}
  .ac-st-people{padding:2px 4px 10px;}
  .ac-st-people .ac-who-row,.ac-card .ac-who-row{flex-wrap:wrap;}
  .ac-who-row{flex-wrap:wrap;}
  .ac-st-seen{width:100%;}
  .ac-adm-btns{width:100%;justify-content:stretch;}
  .ac-adm-btns button{flex:1;}
  .ac-act-row{flex-wrap:wrap;}
  .ac-act-row select.field,.ac-act-row input.field{flex:1 1 40%;}
}

/* ---------- Profesionales (assets/profesionales.js) — mockup interno/mockups/profesionales.html ---------- */
/* Reusa de Academia: .ac-title, .ac-sub, .ac-label, .ac-chip, .ac-glass-chip, .ac-back, .ac-seg, .ac-set-row, .ac-adm-*, .ac-inbox, .ac-av. */
.pr-sub{max-width:640px;line-height:1.5;margin-bottom:22px;}
.pr-photo{position:absolute;inset:0;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:40px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 55%,#222),color-mix(in srgb,var(--accent) 20%,#111));}
.pr-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.pr-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.6));}
.pr-spec{font-size:14.5px;color:var(--accent);font-weight:600;}
.pr-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:24px;}
.pr-filters{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;}
.pr-filters::-webkit-scrollbar{display:none;}
.pr-pill{font-size:15px;padding:7px 14px;border:1.5px solid var(--border);border-radius:999px;white-space:nowrap;}
.pr-pill.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.pr-search{position:relative;width:260px;max-width:100%;}
.pr-search svg{position:absolute;left:12px;top:13px;color:var(--text2);pointer-events:none;}
.pr-search .field{margin:0;padding-left:38px;}
.pr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px;}
.pr-card{padding:0;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;}
.pr-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.18);}
.pr-card:hover img{transform:scale(1.05);}
.pr-card-photo{position:relative;aspect-ratio:1/1;}
.pr-card-chips{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:6px;}
.pr-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:4px;flex:1;}
.pr-body h3{margin:0;font-size:19px;letter-spacing:-.01em;}
.pr-body p{margin:6px 0 0;font-size:14.5px;line-height:1.5;color:var(--text2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.pr-meta{margin-top:auto;padding-top:14px;display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--text2);}

/* Perfil */
.pr-profile{display:grid;grid-template-columns:340px minmax(0,1fr);gap:26px;align-items:start;}
.pr-side{padding:0;overflow:hidden;position:sticky;top:76px;}
.pr-side-top .pr-photo{position:relative;inset:auto;aspect-ratio:1/1;font-size:64px;}
.pr-side-ttl{display:none;}
.pr-side-in{padding:20px 22px 22px;}
.pr-side h1{font-size:25px;margin:0 0 4px;letter-spacing:-.01em;}
.pr-facts{margin:16px 0 18px;padding:0;list-style:none;}
.pr-facts li{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:15px;line-height:1.4;}
.pr-facts li svg{color:var(--text2);margin-top:1px;flex-shrink:0;}
.pr-cta{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.pr-cta:disabled{opacity:.5;cursor:default;filter:none;}
.pr-sent{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--success) 12%,transparent);font-size:14px;line-height:1.45;}
.pr-sent svg{color:var(--success);margin-top:1px;flex-shrink:0;}
.pr-again{width:100%;margin-top:10px;}
.pr-quote{padding:24px 26px 22px;margin-bottom:20px;background:color-mix(in srgb,var(--accent) 9%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);}
.pr-quote-ic{color:var(--accent);margin-bottom:6px;}
.pr-quote p{margin:0;font-size:17px;line-height:1.65;white-space:pre-wrap;}
.pr-quote-by{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:14px;color:var(--text2);}
.pr-quote-by b{color:var(--text);}
.pr-block{margin-bottom:20px;}
.pr-prose{font-size:16.5px;line-height:1.7;margin:0;white-space:pre-wrap;}
.pr-helps li{font-size:16px;}
.pr-notice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:var(--track);font-size:14px;line-height:1.5;color:var(--text2);}
.pr-notice svg{margin-top:1px;flex-shrink:0;}

/* Formulario de consulta */
.pr-modal-photo{position:relative;width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;}
.pr-modal-photo .pr-photo{font-size:15px;}
.pr-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;margin:6px 0 14px;cursor:pointer;}
.pr-consent input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent);flex-shrink:0;}
.pr-done{text-align:center;padding:10px 6px 4px;}
.pr-done-ic{width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.pr-done-t{margin:0 0 8px;font-size:21px;font-weight:700;}
.pr-done-p{margin:0 0 20px;color:var(--text2);font-size:15.5px;line-height:1.5;}

/* Admin */
.pr-adm-public{margin-bottom:18px;padding:18px 20px;}
.pr-adm-thumb{position:relative;width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0;}
.pr-adm-thumb .pr-photo{font-size:20px;}
.pr-adm-edit{grid-template-columns:minmax(0,1fr) 340px;}
.pr-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.pr-drop{position:relative;width:200px;max-width:100%;aspect-ratio:1/1;margin:0 auto 12px;border-radius:50%;overflow:hidden;border:2px dashed color-mix(in srgb,var(--text2) 40%,transparent);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--text2);text-align:center;cursor:pointer;padding:16px;}
.pr-drop.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);}
.pr-drop.has{border:none;padding:0;cursor:default;}
.pr-drop .pr-photo{font-size:56px;}
.pr-drop b{color:var(--text);font-size:15px;}
.pr-drop span{font-size:13px;}
.pr-photo-actions{display:flex;gap:8px;justify-content:center;margin-bottom:10px;}
.pr-inbox-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.pr-inbox-foot .ac-chip{white-space:normal;}
.pr-cat-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--border);background:var(--card);}
.pr-cat-row .field{margin:0;flex:1;min-width:0;}
.pr-cat-n{font-size:13px;white-space:nowrap;}

@media (max-width:1180px){
  .pr-adm-edit{grid-template-columns:1fr;}
}
@media (max-width:980px){
  .pr-profile{grid-template-columns:1fr;}
  .pr-side{position:static;}
  .pr-side-top{display:flex;gap:18px;align-items:center;padding:20px 22px 0;}
  .pr-side-top .pr-photo{width:110px;height:110px;aspect-ratio:auto;border-radius:50%;font-size:34px;flex-shrink:0;}
  .pr-side-ttl{display:block;min-width:0;}
  .pr-side-ttl h1{font-size:23px;}
  .pr-side-head{display:none;}
}
@media (max-width:640px){
  .pr-tools{flex-direction:column;align-items:stretch;}
  .pr-search{width:100%;}
  .pr-filters{margin:0 -16px;padding:0 16px;}
  .pr-grid{grid-template-columns:1fr;gap:18px;}
  .pr-side-top .pr-photo{width:88px;height:88px;font-size:28px;}
  .pr-quote{padding:20px;}
  .pr-quote p{font-size:16px;}
  .pr-two{grid-template-columns:1fr;}
  .pr-adm-row{flex-wrap:wrap;}
  .pr-adm-row .btn-outline{width:100%;}
}

/* ====== Rediseño 2026 · base común (cabecera, pestañas, transiciones) ====== */
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px;}
.page-title{font-size:30px;font-weight:700;margin:0;letter-spacing:-.01em;}
.page-sub{font-size:16px;color:var(--text2);margin:4px 0 0;}
.stat-label{font-size:13px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;}
.hu-link{color:var(--accent);font-weight:700;cursor:pointer;font-size:14px;display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;font-family:inherit;}
.hu-lbl{font-size:13px;font-weight:700;color:var(--text2);margin:0 0 8px;display:flex;align-items:center;gap:6px;}
.seg{display:flex;background:var(--track);padding:4px;border-radius:12px;gap:4px;width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none;}
.seg::-webkit-scrollbar{display:none;}
.seg button{border:none;background:none;border-radius:9px;padding:8px 16px;font-size:14.5px;font-weight:600;color:var(--text2);white-space:nowrap;flex-shrink:0;cursor:pointer;font-family:inherit;}
.seg button small{font-weight:700;opacity:.65;margin-left:4px;}
.seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.14);}
.seg.full{width:100%;}
.seg.full button{flex:1;}
.seg.sm button{padding:6px 12px;font-size:13.5px;}
.hu-swap{transition:opacity .16s ease,transform .16s ease;}
.hu-swap.swap-out{opacity:0 !important;transform:translateY(6px);}
.hu-swap.swap-in{animation:huSwapIn .3s cubic-bezier(.2,.8,.2,1) both;}
@keyframes huSwapIn{from{opacity:0;transform:translateY(8px);}}
.hu-x{width:34px;height:34px;border-radius:50%;border:none;background:var(--track);color:var(--text);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;}
@media (max-width:640px){
  .page-title{font-size:26px;}
  .page-sub{font-size:15px;}
  .seg.full{overflow-x:auto;}
  .seg.full button{padding:8px 10px;font-size:13.5px;}
}

/* ====== Rediseño 2026 · Inicio (todo bajo .hm) ====== */
.hm .card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;}
.hm .stat-label{display:flex;align-items:center;gap:6px;margin:0 0 12px;}
.hm .group-title{font-size:13px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin:34px 0 14px;display:flex;align-items:center;gap:10px;}
.hm .group-title::after{content:"";flex:1;height:1px;background:var(--border);}
/* fila de arriba: Tu día + Hoy */
.hm .top-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;}
.hm .hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#7A1E5A));display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:230px;}
.hm .hero::after{content:"";position:absolute;right:-50px;bottom:-80px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.09);pointer-events:none;}
.hm .hero::before{content:"";position:absolute;right:70px;top:-60px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.06);pointer-events:none;}
.hm .hero .stat-label{color:rgba(255,255,255,.82);margin:0 0 10px;}
.hm .hero-mission{font-size:27px;font-weight:700;line-height:1.25;margin:0;letter-spacing:-.01em;max-width:620px;position:relative;z-index:1;}
.hm .hero-words{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:1;}
.hm .hero-words span{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 15px;font-size:14.5px;font-weight:600;}
.hm .hero-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;position:relative;z-index:1;font-size:13.5px;color:rgba(255,255,255,.85);}
.hm .hero-btn{background:#fff;color:var(--accent);border:none;border-radius:12px;padding:12px 20px;font-size:16px;font-weight:700;display:inline-flex;align-items:center;gap:8px;}
.hm .hero-btn:active{transform:scale(.96);}
.hm .hero-ghost{background:rgba(255,255,255,.16);color:#fff;border:none;border-radius:10px;padding:7px 12px;font-size:13.5px;font-weight:600;}

.hm .today-card{display:flex;flex-direction:column;gap:18px;}
.hm .today-top{display:flex;align-items:center;gap:20px;}
.hm .ring{position:relative;flex-shrink:0;}
.hm .ring > svg{transform:rotate(-90deg);display:block;}
.hm .ring circle{transition:stroke-dashoffset .5s cubic-bezier(.2,.8,.2,1);}
.hm .ring .ring-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;}
.hm .ring .ring-c b{font-size:24px;font-weight:800;letter-spacing:-.02em;}
.hm .ring .ring-c span{font-size:11px;color:var(--text2);font-weight:600;margin-top:3px;}
.hm .mini-bars{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0;}
.hm .mini-bar p{margin:0 0 6px;display:flex;justify-content:space-between;font-size:14px;font-weight:600;}
.hm .mini-bar p span{color:var(--text2);font-weight:600;}
.hm .bar{height:8px;border-radius:999px;background:var(--track);overflow:hidden;}
.hm .bar i{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .4s cubic-bezier(.2,.8,.2,1);}
.hm .streaks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.hm .streak{background:var(--track);border-radius:12px;padding:10px 8px;text-align:center;}
.hm .streak b{display:block;font-size:20px;font-weight:800;line-height:1.1;}
.hm .streak span{font-size:11.5px;color:var(--text2);font-weight:600;}

/* Hoy: columna principal + lateral */
.hm .day-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:16px;}
.hm .col{display:flex;flex-direction:column;gap:16px;min-width:0;}

.hm .habit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;}
.hm .habit{position:relative;border:1.5px solid transparent;background:var(--track);border-radius:14px;padding:14px 12px 12px;display:flex;flex-direction:column;gap:10px;cursor:pointer;user-select:none;min-height:112px;transition:background var(--ease-standard),border-color var(--ease-standard),transform var(--ease-standard);}
.hm .habit:hover{border-color:var(--border);}
.hm .habit:active{transform:scale(.97);}
.hm .habit .em{font-size:26px;line-height:1;}
.hm .habit .nm{font-size:13.5px;font-weight:600;line-height:1.25;flex:1;}
.hm .habit .ck{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:#fff;transition:background var(--ease-standard),border-color var(--ease-standard);}
.hm .habit .st{font-size:11.5px;color:var(--text2);font-weight:600;display:flex;align-items:center;gap:4px;}
.hm .habit.done{background:color-mix(in srgb,var(--accent) 14%,var(--card));border-color:color-mix(in srgb,var(--accent) 45%,transparent);}
.hm .habit.done .ck{background:var(--accent);border-color:var(--accent);}
.hm .habit.done .ck svg{animation:pop .3s ease;}
@keyframes pop{0%{transform:scale(.4);}70%{transform:scale(1.2);}100%{transform:scale(1);}}
.hm .all-done{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);font-weight:600;font-size:14.5px;}

.hm .events{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.hm .event{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--track);font-size:14px;border:1px solid var(--c,var(--accent));border-left:3px solid var(--c,var(--accent));}
.hm .event b{font-variant-numeric:tabular-nums;font-size:13px;}
.hm .task{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--border);}
.hm .task:last-of-type{border-bottom:none;}
.hm .task .box{width:24px;height:24px;border-radius:7px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;flex-shrink:0;transition:background var(--ease-standard),border-color var(--ease-standard);}
.hm .task.done .box{background:var(--accent);border-color:var(--accent);}
.hm .task .tt{flex:1;font-size:15.5px;cursor:pointer;min-width:0;}
.hm .task.done .tt{color:var(--text2);text-decoration:line-through;}
.hm .task .time{font-size:12.5px;font-weight:700;color:var(--text2);background:var(--track);border-radius:999px;padding:3px 9px;font-variant-numeric:tabular-nums;}
.hm .add-row{display:flex;align-items:center;gap:12px;padding:10px 4px 2px;color:var(--text2);}
.hm .add-row input{flex:1;background:none;border:none;color:var(--text);font-size:15.5px;outline:none;padding:4px 0;}
.hm .add-row input::placeholder{color:var(--text2);}
.hm .reward{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 14px;border-radius:12px;background:var(--track);font-size:14px;}

.hm .faces{display:flex;justify-content:space-between;gap:6px;}
.hm .face{flex:1;aspect-ratio:1;max-width:54px;border-radius:50%;border:2px solid transparent;background:var(--track);font-size:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--ease-standard),border-color var(--ease-standard),background var(--ease-standard);filter:grayscale(.35);}
.hm .face:hover{transform:scale(1.06);}
.hm .face.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);filter:none;transform:scale(1.08);}
.hm .mood-extra{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--track);font-size:14px;cursor:pointer;display:flex;flex-direction:column;gap:4px;}
.hm .mood-extra:hover{filter:brightness(1.05);}

.hm .question{background:color-mix(in srgb,var(--accent) 12%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);}
.hm .question .q{font-size:22px;font-weight:700;line-height:1.3;margin:0;letter-spacing:-.01em;}
.hm .question .stat-label{color:var(--accent);}

.hm .mini-num{font-size:24px;font-weight:700;letter-spacing:-.01em;line-height:1;}
.hm .date-box{width:50px;flex-shrink:0;border-radius:12px;background:var(--track);text-align:center;padding:6px 0;border:1px solid var(--c);border-top:4px solid var(--c);}
.hm .date-box b{display:block;font-size:20px;line-height:1.1;}
.hm .date-box span{font-size:10.5px;font-weight:700;color:var(--text2);text-transform:uppercase;}
.hm .soon{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);white-space:nowrap;}
.hm .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--danger);margin-right:8px;}

/* Tu semana */
.hm .week-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;}
.hm .wk-bars{display:flex;gap:10px;align-items:flex-end;height:120px;margin:4px 0 6px;}
.hm .wk-bars .wb{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end;}
.hm .wk-bars .wb .stack{width:100%;max-width:38px;flex:1;display:flex;align-items:flex-end;}
.hm .wk-bars .wb i{display:block;width:100%;border-radius:8px;background:var(--accent);}
.hm .wk-bars .wb i.zero{background:var(--track);height:6px !important;}
.hm .wk-bars .wb .sun{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;}
.hm .wk-bars .wb .sun.on{background:color-mix(in srgb,var(--warning) 20%,transparent);}
.hm .wk-bars .wb span{font-size:11.5px;color:var(--text2);font-weight:700;}
.hm .wk-bars .wb.today span{color:var(--accent);}
.hm .legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text2);font-weight:600;}
.hm .legend i{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--accent);margin-right:6px;vertical-align:-1px;}
.hm .wk-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px;}
.hm .wk-stat{background:var(--track);border-radius:12px;padding:12px 14px;}
.hm .wk-stat b{font-size:22px;font-weight:800;display:flex;align-items:baseline;gap:6px;}
.hm .wk-stat p{margin:4px 0 0;font-size:12.5px;color:var(--text2);font-weight:600;line-height:1.25;}
.hm .delta{font-size:12px;font-weight:700;padding:1px 6px;border-radius:999px;}
.hm .delta.up{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent);}
.hm .delta.down{color:var(--text2);background:var(--track);}
.hm .pillars{display:flex;gap:8px;flex-wrap:wrap;}
.hm .pillar{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--track);font-size:13.5px;font-weight:600;}
.hm .pillar b{font-weight:800;}
.hm .pillar.zero{opacity:.45;}
.hm .memento{display:flex;align-items:center;gap:14px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border);font-size:14px;}
.hm .memento .bar{flex:1;height:6px;min-width:60px;}

.hm .ach-next{display:flex;align-items:center;gap:16px;}
.hm .medals{display:flex;flex-direction:column;gap:8px;margin-top:20px;}
.hm .medal{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;}
.hm .medal .m{width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;}

.hm .coach{display:flex;align-items:center;gap:20px;margin-top:16px;}
.hm .coach .av{width:64px;height:64px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#c9a27c,#7d5a43);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:22px;}
.hm .coach p{margin:0;font-size:15px;line-height:1.5;flex:1;}

/* Primeros pasos (cuenta nueva) */
.hm .onb{margin-bottom:16px;}
.hm .onb-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:16px;}
.hm .onb-step{border-radius:14px;background:var(--track);padding:14px;display:flex;flex-direction:column;gap:10px;cursor:pointer;border:1.5px solid transparent;}
.hm .onb-step:hover{border-color:var(--border);}
.hm .onb-step .n{width:26px;height:26px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;color:var(--text2);}
.hm .onb-step.done .n{background:var(--accent);border-color:var(--accent);color:#fff;}
.hm .onb-step.done .t{color:var(--text2);text-decoration:line-through;}
.hm .onb-step .t{font-size:14px;font-weight:600;line-height:1.3;flex:1;}
.hm .onb-step .go{font-size:13px;font-weight:700;color:var(--accent);}


@media (max-width:1180px){
  .hm .wk-stats{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .hm .top-grid,.hm .week-grid{grid-template-columns:1fr;}
  .hm .day-layout{grid-template-columns:1fr;}
  .hm .onb-steps{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
}
@media (max-width:640px){
  .hm .card{padding:18px;}
  .hm .hero{min-height:0;gap:16px;}
  .hm .hero-mission{font-size:22px;}
  .hm .hero-words span{padding:6px 12px;font-size:13.5px;}
  .hm .habit-grid{display:flex;overflow-x:auto;gap:8px;margin:0 -18px;padding:0 18px 2px;scroll-snap-type:x proximity;scroll-padding:0 18px;scrollbar-width:none;}
  .hm .habit-grid::-webkit-scrollbar{display:none;}
  .hm .habit{flex:0 0 112px;scroll-snap-align:start;}
  .hm .habit{min-height:104px;padding:12px 10px 10px;}
  .hm .habit .em{font-size:24px;}
  .hm .habit .nm{font-size:12.5px;}
  .hm .habit .ck{width:22px;height:22px;top:8px;right:8px;}
  .hm .question .q{font-size:20px;}
  .hm .wk-bars{gap:6px;height:100px;}
  .hm .memento{flex-wrap:wrap;gap:8px 12px;}
  .hm .memento .link{width:100%;}
  .hm .coach{flex-direction:column;text-align:center;gap:14px;}
  .hm .onb-steps{display:flex;overflow-x:auto;margin:16px -18px 0;padding:0 18px;scrollbar-width:none;}
  .hm .onb-steps::-webkit-scrollbar{display:none;}
  .hm .onb-step{min-width:150px;}
}
/* Ciclo menstrual en Inicio ("A tu ritmo") */
.ciclo-home-slot{margin-bottom:30px;}
.ciclo-home-slot:empty{display:none;}
.hm .ciclo-home-slot{margin:16px 0 0;}
.ciclo-home-card{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;}
.ciclo-home-card .chc-main{flex:1;min-width:240px;display:flex;flex-direction:column;gap:8px;}
.ciclo-home-card .chc-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.ciclo-home-card .chc-head .stat-label{display:inline-flex;align-items:center;gap:8px;}
.ciclo-home-card .chc-btn{width:auto;padding:12px 22px;font-size:15px;flex-shrink:0;}
.ciclo-home-card .chc-btn.done{background:var(--track);color:var(--text);box-shadow:none;}
@media (max-width:640px){ .ciclo-home-card .chc-btn{width:100%;} }
.hm .coach .av{overflow:hidden;}
.hm .coach .av img{width:100%;height:100%;object-fit:cover;display:block;}
.hm .coach-btn{flex-shrink:0;width:auto;border-color:var(--accent);color:var(--accent);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;}

/* ====== Rediseño 2026 · Planificador semanal (todo bajo .wk2) ====== */
/* cabecera de la semana */
.wk2 .week-head{padding:18px 20px;margin-bottom:16px;}
.wk2 .wh-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.wk2 .wh-range{display:flex;align-items:center;gap:10px;}
.wk2 .wh-range b{font-size:19px;font-weight:700;}
.wk2 .wh-sum{display:flex;align-items:center;gap:18px;}
.wk2 .wh-sum .s{display:flex;align-items:center;gap:10px;font-size:14px;}
.wk2 .wh-sum .s b{font-size:17px;}
.wk2 .ring{position:relative;flex-shrink:0;}
.wk2 .ring > svg{transform:rotate(-90deg);display:block;}
.wk2 .ring circle{transition:stroke-dashoffset .4s cubic-bezier(.2,.8,.2,1);}
.wk2 .ring .ring-c{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;}
.wk2 .strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:16px;}
.wk2 .sd{border:1.5px solid transparent;background:var(--track);border-radius:12px;padding:8px 6px 9px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;color:var(--text);transition:border-color var(--ease-standard),background var(--ease-standard);}
.wk2 .sd:hover{border-color:var(--border);}
.wk2 .sd .l{font-size:11.5px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.04em;}
.wk2 .sd .n{font-size:18px;font-weight:700;line-height:1.1;}
.wk2 .sd .mb{width:70%;height:4px;border-radius:4px;background:color-mix(in srgb,var(--text2) 22%,transparent);overflow:hidden;margin-top:3px;}
.wk2 .sd .mb i{display:block;height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease;}
.wk2 .sd .rw{font-size:10px;height:12px;line-height:12px;}
.wk2 .sd.today .l{color:var(--accent);}
.wk2 .sd.today{border-color:color-mix(in srgb,var(--accent) 55%,transparent);}
.wk2 .sd.sel{background:var(--accent);color:#fff;border-color:var(--accent);}
.wk2 .sd.sel .l{color:rgba(255,255,255,.85);}
.wk2 .sd.sel .mb{background:rgba(255,255,255,.3);}
.wk2 .sd.sel .mb i{background:#fff;}
.wk2 .sd.full .n::after{content:"✓";font-size:11px;margin-left:3px;color:var(--success);vertical-align:3px;}
.wk2 .sd.sel.full .n::after{color:#fff;}

/* tablero */
.wk2 .board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(330px,1fr);gap:14px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding:0 2px;padding-bottom:6px;scrollbar-width:thin;align-items:start;}
.wk2 .day{padding:18px 16px 16px;display:flex;flex-direction:column;scroll-snap-align:start;border:1.5px solid transparent;transition:border-color var(--ease-standard),background var(--ease-standard);}
.wk2 .day.today{border-color:color-mix(in srgb,var(--accent) 45%,transparent);}
.wk2 .day.drop{border-color:var(--accent);border-style:dashed;}
.wk2 .dh{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.wk2 .dnum{width:42px;height:42px;border-radius:12px;background:var(--track);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;flex-shrink:0;}
.wk2 .dnum b{font-size:18px;}
.wk2 .dnum span{font-size:9.5px;font-weight:800;color:var(--text2);text-transform:uppercase;margin-top:2px;}
.wk2 .day.today .dnum{background:var(--accent);color:#fff;}
.wk2 .day.today .dnum span{color:rgba(255,255,255,.85);}
.wk2 .dh .nm{flex:1;min-width:0;}
.wk2 .dh .nm p{margin:0;font-size:17px;font-weight:700;}
.wk2 .dh .nm span{font-size:12.5px;color:var(--text2);font-weight:600;}
.wk2 .icon-btn{width:30px;height:30px;border-radius:8px;border:none;background:none;color:var(--text2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.wk2 .icon-btn:hover{background:var(--track);color:var(--text);}
.wk2 .dbar{height:5px;border-radius:5px;background:var(--track);overflow:hidden;margin-bottom:12px;}
.wk2 .dbar i{display:block;height:100%;background:var(--accent);border-radius:5px;transition:width .3s ease;}
.wk2 .dbar.full i{background:var(--success);}
.wk2 .events{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;}
.wk2 .event{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:9px;background:var(--track);font-size:13.5px;cursor:pointer;}
.wk2 .event i{width:3px;align-self:stretch;border-radius:3px;background:var(--c);}
.wk2 .event b{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text2);min-width:36px;white-space:nowrap;line-height:1.3;}
.wk2 .pending{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;background:color-mix(in srgb,var(--warning) 13%,transparent);color:var(--warning);font-size:13px;font-weight:600;margin-bottom:10px;cursor:pointer;}
.wk2 .tasks{display:flex;flex-direction:column;min-height:8px;}
.wk2 .task{display:flex;align-items:flex-start;gap:10px;padding:8px 6px;margin:0 -6px;border-radius:9px;position:relative;cursor:pointer;}
.wk2 .task:hover{background:var(--track);}
.wk2 .team-tasks{margin-bottom:6px;padding-bottom:6px;border-bottom:1px dashed var(--border);}
.wk2 .team-tasks .team-tag{display:inline-block;width:100%;font-size:12px;color:var(--text2);margin-top:2px;}
.wk2 .task.dragging{opacity:.35;}
.wk2 .task .grip{position:absolute;left:-14px;top:9px;color:var(--text2);opacity:0;cursor:grab;}
.wk2 .task:hover .grip{opacity:.6;}
.wk2 .box{width:22px;height:22px;border-radius:7px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;margin-top:1px;transition:background var(--ease-standard),border-color var(--ease-standard);}
.wk2 .task.done .box{background:var(--accent);border-color:var(--accent);}
.wk2 .task.done .box svg{animation:pop .3s ease;}
@keyframes pop{0%{transform:scale(.4);}70%{transform:scale(1.2);}100%{transform:scale(1);}}
.wk2 .task.sapo{background:color-mix(in srgb,var(--success) 13%,transparent);}
.wk2 .task.sapo:hover{background:color-mix(in srgb,var(--success) 20%,transparent);}
.wk2 .task.sapo .box{border-color:color-mix(in srgb,var(--success) 70%,var(--border));}
.wk2 .task.sapo.done .box{background:var(--accent);border-color:var(--accent);}
.wk2 .frog{display:inline-block;margin-right:5px;text-decoration:none;}
.wk2 .task.sapo .time{background:color-mix(in srgb,var(--success) 20%,transparent);color:color-mix(in srgb,var(--success) 75%,var(--text));}
.wk2 .task.sapo:hover .time{background:color-mix(in srgb,var(--success) 28%,transparent);}
.wk2 .task.done .frog{opacity:.7;}
.wk2 .task .tt{flex:1;min-width:0;font-size:14.5px;line-height:1.35;}
.wk2 .task.done .tt{color:var(--text2);text-decoration:line-through;}
.wk2 .task .meta{display:inline-flex;gap:4px;vertical-align:-2px;margin-left:4px;color:var(--text2);opacity:.75;}
.wk2 .time{font-size:12px;font-weight:700;color:var(--text2);background:var(--track);border-radius:999px;padding:3px 8px;font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:1px;}
.wk2 .task:hover .time{background:var(--card);}
.wk2 .empty-day{font-size:13.5px;color:var(--text2);padding:6px 0 4px;}
.wk2 .add{display:flex;align-items:center;gap:10px;padding:8px 6px;margin:2px -6px 0;border-radius:9px;color:var(--text2);font-size:14.5px;cursor:text;}
.wk2 .add:hover{background:var(--track);}
.wk2 .add input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text);font-size:14.5px;padding:0;}
.wk2 .add input::placeholder{color:var(--text2);}
.wk2 .reward{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);}
.wk2 .rw-set{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:8px 10px;border-radius:10px;background:var(--track);cursor:pointer;}
.wk2 .rw-won{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);font-weight:600;}
.wk2 .rw-add{font-size:13.5px;color:var(--text2);font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 0;}
.wk2 .rw-add:hover{color:var(--accent);}
.wk2 .rw-input{width:100%;background:var(--track);border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:13.5px;color:var(--text);outline:none;}
.wk2 .rw-input:focus{border-color:var(--accent);}

.wk2 .empty-week{text-align:center;padding:48px 24px;}
.wk2 .empty-week .ic{width:64px;height:64px;border-radius:20px;background:var(--track);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--accent);}


.wk2 .wh-cur{margin:2px 0 0;font-size:12.5px;color:var(--accent);font-weight:600;}
.wk2 .week-head{margin-bottom:16px;}
.wk2 .board .weekly-day-col,.wk2.weekly-day-col{padding:0;}
.wk2 .day{height:100%;}
.wk2 .tbtn{width:26px;height:26px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;color:var(--text2);cursor:pointer;flex-shrink:0;font-size:17px;line-height:1;}
.wk2 .tbtn:hover{background:var(--card);color:var(--text);}
.wk2 .tbtn.off{opacity:.25;cursor:default;}
.wk2 .tbtn svg{width:15px;height:15px;}
.wk2 .tctl{display:none;gap:0;align-items:center;margin:-2px -4px -2px 0;}
.wk2 .task:hover .tctl{display:inline-flex;}
.wk2 .task:hover .tclock{display:none;}
.wk2 .task .meta svg{width:13px;height:13px;}
.wk2 .events .event span{flex:1;min-width:0;}
.wk2 .pending svg{width:15px;height:15px;}
@media (hover:none){ .wk2 .tctl{display:inline-flex;} .wk2 .task .tctl .tbtn:not(:last-child){display:none;} }
@media (max-width:640px){
  .wk2 .page-head{align-items:center;}
  .wk2 .week-head{padding:14px;}
  .wk2 .wh-range b{font-size:16px;}
  .wk2 .wh-range{width:100%;justify-content:space-between;}
  .wk2 .wh-range > div{flex:1;text-align:center;}
  .wk2 .wh-sum{width:100%;justify-content:space-between;}
  .wk2 .strip{gap:4px;margin-top:12px;}
  .wk2 .sd{padding:7px 2px 8px;border-radius:10px;}
  .wk2 .sd .n{font-size:16px;}
  .wk2 .board{grid-auto-columns:100%;gap:12px;scroll-snap-type:x mandatory;scrollbar-width:none;}
  .wk2 .board::-webkit-scrollbar{display:none;}
  .wk2 .day{padding:16px 14px;}
  .wk2 .task{padding:10px 6px;}
  .wk2 .task .tt{font-size:15.5px;}
}

/* ====== Rediseño 2026 · Panel de Hábitos (todo bajo .hb2) ====== */
/* ====== Panel de Hábitos ====== */
.hb2 .big-num{font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1;}
.hb2 .big-num small{font-size:17px;font-weight:600;color:var(--text2);}
.hb2 .ring{position:relative;flex-shrink:0;}
.hb2 .ring > svg{transform:rotate(-90deg);display:block;}
.hb2 .ring circle{transition:stroke-dashoffset .4s cubic-bezier(.2,.8,.2,1);}
.hb2 .ring .ring-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;}
.hb2 .ring .ring-c b{font-size:18px;font-weight:800;}
.hb2 .ring .ring-c span{font-size:10.5px;color:var(--text2);font-weight:600;margin-top:2px;}
.hb2 .stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;}
.hb2 .stat-grid.four{grid-template-columns:repeat(4,1fr);}
.hb2 .streak-dots{display:flex;gap:6px;margin-top:14px;}
.hb2 .streak-dots div{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;color:var(--text2);font-weight:600;}
.hb2 .streak-dots b{width:26px;height:26px;border-radius:50%;background:var(--track);display:flex;align-items:center;justify-content:center;}
.hb2 .streak-dots b.on{background:color-mix(in srgb,var(--warning) 22%,transparent);color:var(--warning);}
.hb2 .streak-dots b.today{outline:2px dashed var(--warning);outline-offset:2px;background:transparent;}
.hb2 .streak-dots b.today.on{outline:none;background:color-mix(in srgb,var(--warning) 22%,transparent);}
.hb2 .bar{height:8px;border-radius:999px;background:var(--track);overflow:hidden;}
.hb2 .bar i{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .35s ease;}
.hb2 .bar.ok i{background:var(--success);}
.hb2 .toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:6px 0 14px;flex-wrap:wrap;}
.hb2 .group-title{font-size:13px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin:22px 0 12px;display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none;}
.hb2 .group-title .dt{width:9px;height:9px;border-radius:50%;background:var(--c);}
.hb2 .group-title::after{content:"";flex:1;height:1px;background:var(--border);order:9;}
.hb2 .group-title .cnt{font-weight:600;opacity:.8;text-transform:none;letter-spacing:0;}
.hb2 .group-title svg{transition:transform .15s ease;}
.hb2 .group-title.closed svg{transform:rotate(-90deg);}

/* tarjeta de hábito */
.hb2 .hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;}
.hb2 .hcard{padding:18px;display:flex;flex-direction:column;gap:14px;border:1.5px solid transparent;cursor:pointer;transition:border-color var(--ease-standard),background var(--ease-standard);}
.hb2 .hcard:hover{border-color:var(--border);}
.hb2 .hcard.done{background:color-mix(in srgb,var(--accent) 10%,var(--card));border-color:color-mix(in srgb,var(--accent) 35%,transparent);}
.hb2 .hc-top{display:flex;align-items:center;gap:12px;}
.hb2 .emoji-box{width:46px;height:46px;border-radius:14px;background:var(--track);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;}
.hb2 .hc-top .nm{flex:1;min-width:0;}
.hb2 .hc-top .nm p{margin:0;font-size:16px;font-weight:650;line-height:1.25;}
.hb2 .hc-top .nm span{font-size:12.5px;color:var(--text2);font-weight:600;}
.hb2 .check-big{width:44px;height:44px;border-radius:50%;border:2px solid var(--border);background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--ease-standard),border-color var(--ease-standard),transform var(--ease-standard);}
.hb2 .check-big:hover{border-color:var(--accent);}
.hb2 .check-big:active{transform:scale(.92);}
.hb2 .hcard.done .check-big{background:var(--accent);border-color:var(--accent);}
.hb2 .hcard.done .check-big svg{animation:pop .3s ease;}
@keyframes pop{0%{transform:scale(.4);}70%{transform:scale(1.2);}100%{transform:scale(1);}}
.hb2 .hc-month{display:flex;flex-direction:column;gap:6px;}
.hb2 .hc-month p{margin:0;display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:var(--text2);}
.hb2 .hc-month p b{color:var(--text);}
.hb2 .week7{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.hb2 .week7 button{border:none;background:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;color:var(--text2);font-size:10.5px;font-weight:700;}
.hb2 .week7 button i{width:26px;height:26px;border-radius:8px;background:var(--track);display:flex;align-items:center;justify-content:center;color:#fff;transition:background var(--ease-standard);}
.hb2 .week7 button.on i{background:color-mix(in srgb,var(--accent) 80%,transparent);}
.hb2 .week7 button.today span{color:var(--accent);}
.hb2 .week7 button.off i{background:transparent;border:1.5px dashed var(--border);}
.hb2 .add-card{border:1.5px dashed var(--border);background:transparent;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text2);font-weight:600;min-height:150px;cursor:pointer;border-radius:16px;font-size:15px;}
.hb2 .add-card:hover{border-color:var(--accent);color:var(--accent);}
.hb2 .all-done{display:flex;align-items:center;gap:10px;margin-top:16px;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);font-weight:600;font-size:15px;}

/* constancia (mapa) */
.hb2 .heat-card{padding:18px;}
.hb2 .heat-card .hc-top{margin-bottom:14px;}
.hb2 .hmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,13px);grid-auto-columns:13px;gap:3px;}
.hb2 .hmap i{display:block;width:13px;height:13px;border-radius:3px;background:var(--track);}
.hb2 .hmap i.on{background:var(--accent);}
.hb2 .hmap i.fut{background:transparent;}
.hb2 .hm-wrap{display:grid;grid-template-columns:auto 1fr;gap:6px;overflow:hidden;}
.hb2 .hm-days{display:grid;grid-template-rows:repeat(7,13px);gap:3px;font-size:9.5px;color:var(--text2);font-weight:700;}
.hb2 .hm-months{display:flex;font-size:10.5px;color:var(--text2);font-weight:700;margin:0 0 4px 18px;gap:0;}
.hb2 .legend{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text2);font-weight:600;}
.hb2 .legend i{width:11px;height:11px;border-radius:3px;display:inline-block;}

/* mes */
.hb2 .mtable{overflow-x:auto;}
.hb2 .mt{border-collapse:separate;border-spacing:0;min-width:100%;}
.hb2 .mt th{font-size:10.5px;color:var(--text2);font-weight:700;padding:4px 2.5px;text-align:center;min-width:31px;line-height:1.35;}
.hb2 .mt th.today{color:var(--accent);}
.hb2 .mt th.wk{border-left:0;}
.hb2 .mt td{padding:4px 2.5px;}
.hb2 .mt tr:first-child th:first-child{position:sticky;left:0;background:var(--card);z-index:1;}
.hb2 .mt td.nm{white-space:nowrap;font-size:14px;font-weight:600;padding-right:14px;position:sticky;left:0;background:var(--card);z-index:1;}
.hb2 .mt td.nm span{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;}
.hb2 .mt td .c{width:26px;height:26px;border-radius:8px;background:var(--track);display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;margin:0 auto;}
.hb2 .mt td .c.on{background:var(--accent);}
.hb2 .mt td .c.fut{opacity:.4;cursor:default;}
.hb2 .mt th.today,.hb2 .mt td.today{background:color-mix(in srgb,var(--accent) 12%,transparent);}
.hb2 .mt th.today{border-radius:8px 8px 0 0;}
.hb2 .mt tr:last-child td.today{border-radius:0 0 8px 8px;}
.hb2 .mt td.sum{font-size:13px;font-weight:700;padding-left:14px;white-space:nowrap;color:var(--text2);}
.hb2 .mt tr.sep th{padding-top:0;}
.hb2 .dbars{display:flex;align-items:flex-end;gap:4px;height:120px;}
.hb2 .dbars div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;}
.hb2 .dbars i{display:block;width:100%;max-width:18px;border-radius:5px;background:var(--accent);}
.hb2 .dbars i.fut{background:var(--track);height:4px !important;}
.hb2 .dbars span{font-size:9.5px;color:var(--text2);font-weight:700;height:12px;line-height:12px;flex-shrink:0;white-space:nowrap;}
.hb2 .dbars div{min-width:0;}
.hb2 .dbars div.today span{color:var(--accent);}
.hb2 .rank{display:flex;flex-direction:column;}
.hb2 .rank-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr) 64px 64px;gap:14px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--border);font-size:14.5px;}
.hb2 .rank-row:last-child{border-bottom:none;}
.hb2 .rank-row.head{font-size:12px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;padding-top:0;}
.hb2 .rank-row .n{font-weight:600;display:flex;gap:8px;align-items:center;min-width:0;}
.hb2 .rank-row .n span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hb2 .rank-row .pg{display:flex;align-items:center;gap:10px;}
.hb2 .rank-row .pg .bar{flex:1;}
.hb2 .rank-row .pg b{font-size:13px;min-width:44px;text-align:right;}
.hb2 .rank-row .r{text-align:center;font-weight:700;}
.hb2 .two-col{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;margin-top:14px;}

/* año */
.hb2 .yheat{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:3px;}
.hb2 .yheat i{display:block;aspect-ratio:1;border-radius:3px;background:var(--track);}
.hb2 .ymonths{display:grid;grid-template-columns:repeat(12,1fr);font-size:11px;color:var(--text2);font-weight:700;margin-bottom:6px;}
.hb2 .mbars{display:flex;align-items:flex-end;gap:8px;height:150px;}
.hb2 .mbars div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;}
.hb2 .mbars i{display:block;width:100%;max-width:30px;border-radius:7px;background:var(--accent);}
.hb2 .mbars i.fut{background:var(--track);height:5px !important;}
.hb2 .mbars span{font-size:11px;color:var(--text2);font-weight:700;}
.hb2 .mbars div.cur span{color:var(--accent);}


.hb2 .menu{position:absolute;top:46px;right:0;z-index:20;min-width:230px;padding:6px;border-radius:14px;}
.hb2 .menu div{padding:10px 12px;border-radius:9px;font-size:14.5px;cursor:pointer;display:flex;gap:10px;align-items:center;}
.hb2 .menu div:hover{background:var(--track);}
.hb2 .nav-round{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);flex-shrink:0;}
.hb2 .nav-round.off{opacity:.35;cursor:default;}
.hb2 .only-m{display:none !important;}
@media (max-width:1180px){
  .hb2 .stat-grid.four{grid-template-columns:repeat(2,1fr);}
  .hb2 .two-col{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .hb2 .page-head{align-items:center;}
  .hb2 .stat-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .hb2 .stat-grid > .card:first-child{grid-column:1 / -1;}
  .hb2 .stat-grid.four > .card:first-child{grid-column:auto;}
  .hb2 .big-num{font-size:26px;}
  .hb2 .streak-dots{gap:2px;}
  .hb2 .streak-dots b{width:16px;height:16px;font-size:9px;}
  .hb2 .streak-dots div{font-size:10px;}
  .hb2 .hgrid{grid-template-columns:1fr;gap:10px;}
  .hb2 .hcard{padding:14px;gap:12px;}
  .hb2 .rank-row{grid-template-columns:minmax(0,1fr) 90px 44px;gap:10px;}
  .hb2 .rank-row .hide-m,.hb2 .hide-m{display:none !important;}
  .hb2 .only-m{display:flex !important;}
  .hb2 .mbars{gap:4px;}
}

/* ====== Rediseño 2026 · Ritual Matutino (todo bajo .rt2) ====== */
/* ====== Ritual Matutino ====== */
.rt2 .big-num{font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1;}
.rt2 .big-num small{font-size:17px;font-weight:600;color:var(--text2);}
.rt2 .stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0;}
.rt2 .streak-dots{display:flex;gap:6px;margin-top:14px;}
.rt2 .streak-dots div{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;color:var(--text2);font-weight:600;}
.rt2 .streak-dots b{width:26px;height:26px;border-radius:50%;background:var(--track);display:flex;align-items:center;justify-content:center;font-size:12px;}
.rt2 .streak-dots b.on{background:color-mix(in srgb,var(--warning) 22%,transparent);color:var(--warning);}
.rt2 .streak-dots b.today{outline:2px dashed var(--warning);outline-offset:2px;background:transparent;}
.rt2 .chips{display:flex;gap:8px;flex-wrap:wrap;}
.rt2 .chip2{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:var(--track);font-size:14px;font-weight:600;}

/* hero */
.rt2 .hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#7A1E5A));padding:28px;}
.rt2 .hero::after{content:"";position:absolute;right:-60px;bottom:-90px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.09);pointer-events:none;}
.rt2 .hero::before{content:"";position:absolute;right:90px;top:-70px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.06);pointer-events:none;}
.rt2 .hero > *{position:relative;z-index:1;}
.rt2 .hero .stat-label{color:rgba(255,255,255,.82);}
.rt2 .hero h2{font-size:30px;font-weight:700;line-height:1.2;margin:0 0 10px;letter-spacing:-.01em;max-width:640px;}
.rt2 .hero p.sub{margin:0 0 20px;color:rgba(255,255,255,.88);font-size:16px;max-width:560px;}
.rt2 .hero-steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;}
.rt2 .hero-steps span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;}
.rt2 .hero-btn{background:#fff;color:var(--accent);border:none;border-radius:12px;padding:13px 22px;font-size:16px;font-weight:700;display:inline-flex;align-items:center;gap:8px;}
.rt2 .hero-btn:active{transform:scale(.96);}
.rt2 .hero-ghost{background:rgba(255,255,255,.16);color:#fff;border:none;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600;}
.rt2 .mission{font-size:28px;font-weight:700;line-height:1.25;margin:0 0 16px;letter-spacing:-.01em;max-width:680px;}
.rt2 .words{display:flex;gap:8px;flex-wrap:wrap;}
.rt2 .words span{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 15px;font-size:14.5px;font-weight:600;}
.rt2 .hero-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px;font-size:13.5px;color:rgba(255,255,255,.85);}

.rt2 .grid2{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;}
.rt2 .col{display:flex;flex-direction:column;gap:14px;min-width:0;}
.rt2 .card-title{font-size:18px;font-weight:700;margin:0 0 14px;}
.rt2 .sapo-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);font-size:15.5px;font-weight:600;}
.rt2 .sapo-row:last-child{border-bottom:none;}
.rt2 .sapo-row .fr{width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--success) 16%,transparent);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.rt2 .qa{padding:12px 0;border-bottom:1px solid var(--border);}
.rt2 .qa:last-child{border-bottom:none;padding-bottom:0;}
.rt2 .qa:first-child{padding-top:0;}
.rt2 .qa p{margin:0;}
.rt2 .qa .q{font-size:12.5px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;}
.rt2 .qa .a{font-size:16px;font-weight:600;line-height:1.4;}
.rt2 .energy-bars{display:flex;gap:5px;margin-top:6px;}
.rt2 .energy-bars i{flex:1;height:10px;border-radius:5px;background:var(--track);}
.rt2 .energy-bars i.on{background:var(--accent);}
.rt2 .pillar-today{display:flex;gap:12px;align-items:flex-start;}
.rt2 .pillar-today .em{width:46px;height:46px;border-radius:14px;background:var(--track);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;}
.rt2 .pbars{display:flex;flex-direction:column;gap:10px;}
.rt2 .pbar{display:grid;grid-template-columns:130px 1fr 26px;gap:10px;align-items:center;font-size:14px;font-weight:600;}
.rt2 .pbar .bar{height:8px;border-radius:99px;background:var(--track);overflow:hidden;}
.rt2 .pbar .bar i{display:block;height:100%;background:var(--accent);border-radius:99px;}
.rt2 .pbar b{text-align:right;color:var(--text2);font-size:13px;}
.rt2 .ach{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;padding:6px 0;}
.rt2 .ach .m{width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.rt2 .ach.lock{color:var(--text2);}
.rt2 .ach.lock .m{background:var(--track);color:var(--text2);}

/* ====== Recorrido (pantalla completa) ====== */
.rt2 .flow{position:fixed;z-index:60;inset:0;overflow-y:auto;background:radial-gradient(120% 70% at 50% 0%, color-mix(in srgb,var(--accent) 16%,var(--bg)) 0%, var(--bg) 60%);display:flex;flex-direction:column;}
.rt2 .flow-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;padding:18px 24px;background:linear-gradient(to bottom,color-mix(in srgb,var(--accent) 10%,var(--bg)) 70%,transparent);}
.rt2 .flow-top .x{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--text2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.rt2 .segs{flex:1;display:flex;gap:5px;max-width:520px;margin:0 auto;}
.rt2 .segs i{flex:1;height:5px;border-radius:5px;background:var(--track);}
.rt2 .segs i.on{background:var(--accent);}
.rt2 .segs i.cur{background:color-mix(in srgb,var(--accent) 55%,var(--track));}
.rt2 .flow-top .cnt{font-size:13px;font-weight:700;color:var(--text2);min-width:40px;text-align:right;}
.rt2 .flow-body{flex:1;width:100%;max-width:620px;margin:0 auto;padding:24px 24px 140px;}
.rt2 .step-ic{width:64px;height:64px;border-radius:20px;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:20px;box-shadow:0 10px 30px rgba(0,0,0,.18);}
.rt2 .step-q{font-size:32px;font-weight:700;line-height:1.2;margin:0 0 10px;letter-spacing:-.015em;}
.rt2 .step-d{font-size:16px;color:var(--text2);margin:0 0 26px;line-height:1.5;}
.rt2 .big-in{width:100%;background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:16px 18px;font-size:19px;color:var(--text);outline:none;resize:none;line-height:1.45;font-family:inherit;}
.rt2 .big-in:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent);}
.rt2 .big-in::placeholder{color:var(--text2);}
.rt2 .flow-foot{position:sticky;bottom:0;z-index:5;padding:16px 24px 24px;background:linear-gradient(to top,var(--bg) 65%,transparent);}
.rt2 .flow-foot > div{max-width:620px;margin:0 auto;display:flex;gap:10px;align-items:center;}
.rt2 .flow-foot .btn-accent{flex:1;padding:14px 18px;font-size:17px;border-radius:14px;}
.rt2 .flow-foot .btn-outline{padding:13px 18px;border-radius:14px;}
.rt2 .skip{background:none;border:none;color:var(--text2);font-weight:600;font-size:14.5px;padding:10px 8px;}
.rt2 .hint-k{font-size:12.5px;color:var(--text2);text-align:center;margin-top:10px;}
.rt2 .hint-k kbd{background:var(--track);border-radius:5px;padding:1px 6px;font-family:inherit;font-weight:700;font-size:11.5px;}

/* paso energía */
.rt2 .energy{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:26px;}
.rt2 .energy button{border:1.5px solid var(--border);background:var(--card);border-radius:16px;padding:16px 4px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text);font-size:12.5px;font-weight:700;transition:border-color var(--ease-standard),background var(--ease-standard),transform var(--ease-standard);}
.rt2 .energy button:active{transform:scale(.96);}
.rt2 .energy button span{font-size:28px;line-height:1;}
.rt2 .energy button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--card));}
.rt2 .sleep{border-radius:18px;background:var(--card);padding:18px;}
.rt2 .sleep-top{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;}
.rt2 .sleep-top b{font-size:16px;}
.rt2 .sleep-body{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);}
.rt2 .two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.rt2 .two label{font-size:13px;font-weight:700;color:var(--text2);display:block;margin-bottom:6px;}
.rt2 .time-in{width:100%;background:var(--track);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:17px;padding:9px 10px;font-variant-numeric:tabular-nums;font-family:inherit;}
.rt2 .stars{display:flex;gap:4px;}
.rt2 .stars button{background:none;border:none;font-size:28px;color:var(--track);padding:0 2px;line-height:1;}
.rt2 .stars button.on{color:var(--warning);}
.rt2 .mini-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.rt2 .mini-chips button{border:1.5px solid var(--border);background:transparent;color:var(--text);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600;}
.rt2 .mini-chips button.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.rt2 .lbl2{font-size:13px;font-weight:700;color:var(--text2);margin:14px 0 6px;}

/* paso proyectos */
.rt2 .proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:14px;}
.rt2 .proj{position:relative;border:1.5px solid var(--border);background:var(--card);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px;cursor:pointer;text-align:left;color:var(--text);transition:border-color var(--ease-standard),background var(--ease-standard);}
.rt2 .proj .em{font-size:28px;line-height:1;}
.rt2 .proj .nm{font-size:15px;font-weight:600;line-height:1.25;}
.rt2 .proj .ck{position:absolute;top:12px;right:12px;width:24px;height:24px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:#fff;}
.rt2 .proj .arc{position:absolute;bottom:10px;right:10px;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text2);opacity:0;transition:opacity var(--ease-standard);}
.rt2 .proj:hover .arc{opacity:.8;}
.rt2 .proj .arc:hover{background:var(--track);opacity:1;}
.rt2 .proj.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--card));}
.rt2 .proj.on .ck{background:var(--accent);border-color:var(--accent);}
.rt2 .add-line{display:flex;gap:8px;align-items:center;background:var(--card);border:1.5px dashed var(--border);border-radius:16px;padding:8px 8px 8px 14px;}
.rt2 .add-line input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:15.5px;min-width:0;}
.rt2 .add-line .emj{flex:0 0 34px;width:34px;font-size:22px;cursor:pointer;}
.rt2 .add-line button{border:none;background:var(--accent);color:#fff;border-radius:10px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;}
.rt2 .arch-link{display:inline-flex;margin-top:14px;font-size:14px;font-weight:600;color:var(--text2);cursor:pointer;gap:6px;align-items:center;}
.rt2 .arch-link:hover{color:var(--accent);}

/* paso SAPO */
.rt2 .sapo-opt{display:flex;align-items:center;gap:12px;border:1.5px solid var(--border);background:var(--card);border-radius:14px;padding:14px 16px;margin-bottom:8px;cursor:pointer;transition:border-color var(--ease-standard),background var(--ease-standard);}
.rt2 .sapo-opt .fr{width:30px;height:30px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;transition:background var(--ease-standard);}
.rt2 .sapo-opt .tt{flex:1;font-size:16px;font-weight:600;}
.rt2 .sapo-opt .tm{font-size:12.5px;font-weight:700;color:var(--text2);background:var(--track);border-radius:999px;padding:3px 9px;}
.rt2 .sapo-opt.on{border-color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--card));}
.rt2 .sapo-opt.on .fr{background:color-mix(in srgb,var(--success) 22%,transparent);border-color:var(--success);}

/* paso palabras */
.rt2 .sentence{font-size:28px;font-weight:700;line-height:1.7;letter-spacing:-.01em;}
.rt2 .word-in{display:inline-block;min-width:150px;width:auto;background:transparent;border:none;border-bottom:2.5px solid var(--border);color:var(--accent);font-size:28px;font-weight:700;padding:0 4px;outline:none;text-align:center;font-family:inherit;}
.rt2 .word-in:focus{border-color:var(--accent);}
.rt2 .word-in::placeholder{color:color-mix(in srgb,var(--text2) 55%,transparent);font-weight:600;}
.rt2 .sugg{display:flex;gap:6px;flex-wrap:wrap;margin-top:26px;}
.rt2 .sugg button{border:1.5px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:7px 13px;font-size:14px;font-weight:600;}
.rt2 .sugg button:hover{border-color:var(--accent);}

/* paso pilares */
.rt2 .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.rt2 .pil{border:1.5px solid var(--border);background:var(--card);border-radius:16px;padding:16px 12px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text);transition:border-color var(--ease-standard),background var(--ease-standard);}
.rt2 .pil .em{font-size:28px;line-height:1;}
.rt2 .pil b{font-size:15px;}
.rt2 .pil span{font-size:12.5px;color:var(--text2);line-height:1.35;}
.rt2 .pil.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--card));}
.rt2 .pil-q{margin-top:16px;padding:16px 18px;border-radius:16px;background:color-mix(in srgb,var(--accent) 12%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);font-size:17px;font-weight:600;line-height:1.4;}
.rt2 .pil-q small{display:block;font-size:12px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;}

/* final */
.rt2 .done-wrap{max-width:620px;margin:0 auto;padding:40px 24px 60px;text-align:center;}
.rt2 .done-badge{width:84px;height:84px;border-radius:28px;margin:0 auto 18px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:42px;box-shadow:0 18px 40px color-mix(in srgb,var(--accent) 40%,transparent);animation:pop .5s ease;}
@keyframes pop{0%{transform:scale(.4);}70%{transform:scale(1.12);}100%{transform:scale(1);}}
.rt2 .done-card{text-align:left;margin-top:24px;}
.rt2 .streak-up{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:8px 14px;border-radius:999px;background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning);font-weight:700;font-size:14.5px;}



.rt2 .hero .stat-label{color:rgba(255,255,255,.82);}
.rt2 .sapo-opt .ed{color:var(--text2);display:flex;padding:4px;border-radius:8px;}
.rt2 .sapo-opt .ed:hover{background:var(--track);}
.rt2 .sapo-opt.editing{border-color:var(--accent);}
.rt2 .sapo-opt input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:16px;font-weight:600;}
@media (max-width:1100px){ .rt2 .grid2{grid-template-columns:1fr;} }
@media (max-width:640px){
  .rt2 .hero{padding:22px;}
  .rt2 .hero h2{font-size:24px;}
  .rt2 .mission{font-size:22px;}
  .rt2 .stat-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .rt2 .stat-grid > .card:first-child{grid-column:1 / -1;}
  .rt2 .pbar{grid-template-columns:110px 1fr 22px;}
  .rt2 .flow-top{padding:14px 16px;padding-top:max(14px, env(safe-area-inset-top));}
  .rt2 .flow-body{padding:16px 18px 140px;}
  .rt2 .step-q{font-size:26px;}
  .rt2 .step-ic{width:56px;height:56px;font-size:28px;margin-bottom:16px;}
  .rt2 .energy{gap:6px;}
  .rt2 .energy button{padding:12px 2px 10px;font-size:11px;border-radius:14px;}
  .rt2 .energy button span{font-size:24px;}
  .rt2 .pillars{grid-template-columns:1fr 1fr;}
  .rt2 .sentence,.rt2 .word-in{font-size:22px;}
  .rt2 .word-in{min-width:110px;}
  .rt2 .flow-foot{padding:12px 16px 22px;}
  .rt2 .hide-m{display:none !important;}
}

/* ====== Rediseño 2026 · Agenda (todo bajo .ag2) ====== */
.ag2 .bar-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 18px;margin-bottom:14px;}
.ag2 .range{display:flex;align-items:center;gap:10px;}
.ag2 .bar-top{justify-content:flex-start;}
.ag2 .range b{font-size:18px;}
.ag2 .today-btn{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600;}
.ag2 .today-btn:hover{background:var(--track);}
.ag2 .legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;font-weight:600;color:var(--text2);}
.ag2 .legend span{display:inline-flex;align-items:center;gap:6px;}
.ag2 .legend i{width:10px;height:10px;border-radius:3px;background:var(--c);display:inline-block;}

.ag2 .add-menu{position:absolute;top:50px;right:0;z-index:20;min-width:250px;padding:6px;border-radius:16px;background:var(--card);border:1px solid var(--border);box-shadow:0 18px 48px rgba(0,0,0,.28);}
.ag2 .add-menu > div{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;cursor:pointer;}
.ag2 .add-menu > div:hover{background:var(--track);}
.ag2 .add-menu .ic{width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ag2 .add-menu b{display:block;font-size:15px;}
.ag2 .add-menu small{display:block;font-size:12.5px;color:var(--text2);margin-top:1px;}
/* grilla */
.ag2 .cal{padding:0;overflow:hidden;}
.ag2 .cal-x{overflow-x:auto;}
.ag2 .cal-scroll{overflow-y:auto;overflow-x:hidden;scrollbar-width:none;max-height:max(620px,calc(100vh - 160px));min-height:520px;min-width:956px;}
.ag2 .grid-top{border-bottom:1px solid var(--border);}
.ag2 .grid{display:grid;grid-template-columns:56px repeat(7,minmax(128px,1fr));min-width:956px;}
.ag2 .dh{background:var(--card);padding:12px 6px 10px;text-align:center;border-bottom:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:4px;}
.ag2 .dh span{font-size:11.5px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;}
.ag2 .dh b{font-size:19px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.ag2 .dh.today span{color:var(--accent);}
.ag2 .dh.today b{background:var(--accent);color:#fff;}
.ag2 .corner{background:var(--card);border-bottom:1px solid var(--border);}
.ag2 .row-lbl{position:sticky;left:0;z-index:3;background:var(--card);font-size:11px;font-weight:700;color:var(--text2);padding:10px 8px 0 0;text-align:right;line-height:1.2;border-bottom:1px solid var(--border);}
.ag2 .top-cell{padding:6px 4px;display:flex;flex-direction:column;gap:4px;border-bottom:1px solid var(--border);border-left:1px solid var(--border);min-width:0;}
.ag2 .top-cell.today{background:color-mix(in srgb,var(--accent) 5%,transparent);}
.ag2 .chip-ev{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;line-height:1.25;padding:5px 8px;border-radius:8px;background:color-mix(in srgb,var(--c) 16%,var(--card));border:1px solid var(--c);border-left:3px solid var(--c);cursor:pointer;min-width:0;}
.ag2 .chip-ev span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.ag2 .chip-task{--c:var(--accent);display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;line-height:1.25;padding:5px 7px;border-radius:8px;background:color-mix(in srgb,var(--c) 14%,var(--card));border:none;cursor:pointer;min-width:0;}
.ag2 .chip-task .mini-box{border:none;background:var(--card);}
.ag2 .chip-task.done .mini-box{background:var(--c);border-color:var(--c);}
.ag2 .chip-task span.t{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.ag2 .chip-task.done span.t{color:var(--text2);text-decoration:line-through;}
.ag2 .chip-task.sapo{--c:var(--success);}
.ag2 .mini-box{width:15px;height:15px;border-radius:5px;border:1.5px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;}
.ag2 .done .mini-box{background:var(--accent);border-color:var(--accent);}
.ag2 .more-loose{font-size:12px;font-weight:700;color:var(--accent);padding:2px 6px;cursor:pointer;}
.ag2 .hours{position:sticky;left:0;z-index:3;background:var(--card);}
.ag2 .hours span{position:absolute;right:8px;font-size:11px;font-weight:700;color:var(--text2);transform:translateY(-50%);}
.ag2 .col{position:relative;border-left:1px solid var(--border);background-image:linear-gradient(to bottom,var(--border) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--border) 45%,transparent) 1px,transparent 1px);background-size:100% var(--hpx),100% calc(var(--hpx) / 2);background-position:0 0,0 0;}
.ag2 .col.today{background-color:color-mix(in srgb,var(--accent) 5%,transparent);}
.ag2 .blk{text-align:left;position:absolute;border-radius:9px;padding:5px 8px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;gap:2px;font-size:12.5px;line-height:1.25;background:color-mix(in srgb,var(--c) 18%,var(--card));border:1px solid var(--c);border-left:3px solid var(--c);transition:filter var(--ease-standard),transform var(--ease-standard);}
.ag2 .blk:hover{filter:brightness(1.08);z-index:2;}
.ag2 .blk .t{font-weight:700;display:flex;align-items:center;gap:6px;}
.ag2 .blk .t span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;}
.ag2 .blk .tm{font-size:11.5px;color:var(--text2);font-weight:600;font-variant-numeric:tabular-nums;}
.ag2 .blk.is-task{border:none;background:color-mix(in srgb,var(--c) 16%,var(--card));}
.ag2 .blk.is-task .mini-box{width:17px;height:17px;border:none;background:var(--card);}
.ag2 .blk.is-task.done{background:color-mix(in srgb,var(--c) 5%,var(--card));}
.ag2 .blk.is-task.done .mini-box{background:var(--c);border-color:var(--c);}
.ag2 .blk.done .t span:last-child{text-decoration:line-through;color:var(--text2);}
.ag2 .blk.done .tm{opacity:.7;}
.ag2 .blk.small{flex-direction:row;align-items:center;gap:6px;padding:2px 7px;}
.ag2 .blk.small .t span{-webkit-line-clamp:1;}
.ag2 .blk.small .tm{flex-shrink:0;}
.ag2 .now{position:absolute;left:-1px;right:0;height:2px;background:var(--danger);z-index:3;}
.ag2 .now::before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--danger);}
.ag2 .now-lbl{position:absolute;right:4px;transform:translateY(-50%);font-size:10.5px;font-weight:800;color:#fff;background:var(--danger);border-radius:6px;padding:1px 5px;z-index:4;}

.ag2 .strip{display:none;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px;}
.ag2 .sd{border:1.5px solid transparent;background:var(--card);border-radius:12px;padding:7px 2px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text);}
.ag2 .sd .l{font-size:11px;font-weight:700;color:var(--text2);text-transform:uppercase;}
.ag2 .sd .n{font-size:16px;font-weight:700;}
.ag2 .sd .dots{display:flex;gap:2px;height:5px;}
.ag2 .sd .dots i{width:4px;height:4px;border-radius:50%;background:var(--c);}
.ag2 .sd.today .l{color:var(--accent);}
.ag2 .sd.today{border-color:color-mix(in srgb,var(--accent) 55%,transparent);}
.ag2 .sd.sel{background:var(--accent);border-color:var(--accent);color:#fff;}
.ag2 .sd.sel .l{color:rgba(255,255,255,.85);}
.ag2 .sd.sel .dots i{background:#fff;}

/* popups */
.ag2 .backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:20px;z-index:40;animation:fadeIn .2s ease;}
@keyframes fadeIn{from{opacity:0;}}
.ag2 .modal{width:100%;max-width:470px;max-height:calc(100% - 40px);overflow-y:auto;border-radius:20px;padding:24px;}
.ag2 .grabber{display:none;width:40px;height:5px;border-radius:5px;background:var(--border);margin:-10px auto 14px;}
.ag2 .x-btn{width:34px;height:34px;border-radius:50%;border:none;background:var(--track);color:var(--text2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ag2 .title-in{width:100%;background:none;border:none;outline:none;color:var(--text);font-size:21px;font-weight:700;padding:4px 0;border-bottom:1.5px solid var(--border);margin-bottom:18px;}
.ag2 .title-in:focus{border-color:var(--accent);}
.ag2 .lbl{font-size:13px;font-weight:700;color:var(--text2);margin:0 0 8px;display:flex;align-items:center;gap:6px;}
.ag2 .days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:18px;}
.ag2 .days button{border:1.5px solid var(--border);background:transparent;color:var(--text);border-radius:12px;padding:7px 0;display:flex;flex-direction:column;align-items:center;font-size:10.5px;font-weight:700;gap:1px;}
.ag2 .days button b{font-size:16px;}
.ag2 .days button.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.ag2 .opt{border-radius:14px;background:var(--track);padding:12px 14px;margin-bottom:10px;}
.ag2 .opt-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px;font-weight:600;}
.ag2 .opt-row span{display:flex;align-items:center;gap:8px;}
.ag2 .opt-body{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);}
.ag2 .pills{display:flex;gap:6px;flex-wrap:wrap;}
.ag2 .pills button{border:1.5px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600;}
.ag2 .pills button.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.ag2 .letters{display:flex;gap:6px;margin-top:10px;}
.ag2 .letters button{width:34px;height:34px;border-radius:50%;border:none;background:var(--card);color:var(--text2);font-weight:700;font-size:13px;}
.ag2 .letters button.on{background:var(--accent);color:#fff;}
.ag2 .time-in{background:var(--card);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:16px;padding:8px 10px;margin-bottom:12px;font-variant-numeric:tabular-nums;}
.ag2 .hint{font-size:12.5px;color:var(--text2);margin:10px 0 0;}
.ag2 .toggle-switch{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0;}
.ag2 .toggle-switch input{opacity:0;width:0;height:0;position:absolute;}
.ag2 .toggle-slider{position:absolute;inset:0;background:var(--border);border-radius:999px;cursor:pointer;transition:background var(--ease-standard);}
.ag2 .toggle-slider::before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform var(--ease-standard);}
.ag2 .toggle-switch input:checked + .toggle-slider{background:var(--accent);}
.ag2 .toggle-switch input:checked + .toggle-slider::before{transform:translateX(18px);}
.ag2 .note-in{width:100%;min-height:80px;resize:vertical;background:var(--track);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:15px;color:var(--text);outline:none;}
.ag2 .note-in:focus{border-color:var(--accent);}
.ag2 .foot{display:flex;gap:10px;align-items:center;margin-top:20px;}
.ag2 .del{background:none;border:none;color:var(--danger);font-weight:600;font-size:14.5px;display:flex;align-items:center;gap:6px;padding:8px 4px;margin-right:auto;}
.ag2 .chip-src{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--track);color:var(--text2);margin-bottom:14px;}
.ag2 .toast{position:absolute;left:50%;top:24px;transform:translateX(-50%);padding:12px 18px;border-radius:14px;font-size:15px;font-weight:600;display:flex;gap:8px;align-items:center;animation:cardFadeUp .3s ease both;white-space:nowrap;z-index:50;}
.ag2 .no-anim,.ag2 .no-anim .fade,.ag2 .no-anim .fade-in,.ag2 .no-anim.modal,.ag2 .no-anim.backdrop,.ag2 .no-anim.menu{animation:none !important;}
.ag2 .only-m{display:none !important;}


.ag2 .chip-src{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--track);color:var(--text2);margin-bottom:14px;}
.ag2 .ev-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;}
.ag2 .ev-head i{width:14px;height:14px;border-radius:4px;background:var(--c);margin-top:7px;flex-shrink:0;}
.ag2 .ev-row{display:flex;gap:12px;align-items:center;font-size:15px;padding:9px 0;border-bottom:1px solid var(--border);}
.ag2 .ev-row:last-of-type{border-bottom:none;}
.ag2 .ev-row svg{color:var(--text2);}


.ag2 .nav-round{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);flex-shrink:0;}
.ag2 .wh-cur{margin:2px 0 0;font-size:12.5px;color:var(--accent);font-weight:600;}
.ag2 .legend{margin-left:auto;}
.ag2 .only-m{display:none !important;}
.ag2 .top-cell .agenda-project,.ag2 .top-cell .sal-agenda-chip{font-size:12.5px;}
@media (max-width:640px){
  .ag2 .add-menu{left:0;right:auto;}
  .ag2 .bar-top{padding:12px 14px;}
  .ag2 .range{width:100%;justify-content:space-between;}
  .ag2 .range > div{flex:1;text-align:center;}
  .ag2 .legend{display:none;}
  .ag2 .strip{display:grid;}
  .ag2 .grid{grid-template-columns:48px minmax(0,1fr);min-width:0;}
  .ag2 .grid .dh,.ag2 .grid .top-cell,.ag2 .grid .col{display:none;}
  .ag2 .grid .top-cell.sel{display:flex;}
  .ag2 .grid .dh.sel,.ag2 .grid-top .corner{display:none;}
  .ag2 .grid .col.sel{display:block;}
  .ag2 .cal-scroll{max-height:none;min-width:0;}
  .ag2 .cal-x{overflow:visible;}
  .ag2 .blk{font-size:14px;}
  .ag2 .hide-m{display:none !important;}
  .ag2 .only-m{display:flex !important;}
}

/* ====== Rediseño 2026 · Anotaciones (bajo .nt2; la barra del editor .hu-tb es global) ====== */
.nt2 .search{position:relative;margin-bottom:14px;}
.nt2 .search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text2);}
.nt2 .search input{width:100%;height:46px;border-radius:14px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:16px;padding:0 14px 0 42px;outline:none;}
.nt2 .search input:focus{border-color:var(--accent);}
.nt2 .cats{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;margin-bottom:18px;}
.nt2 .cats::-webkit-scrollbar{display:none;}
.nt2 .cat{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:8px 14px;font-size:14.5px;font-weight:600;cursor:pointer;user-select:none;}
.nt2 .cat small{font-size:12px;font-weight:700;color:var(--text2);}
.nt2 .cat.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.nt2 .cat.on small{color:rgba(255,255,255,.8);}
.nt2 .cat .dots{display:flex;margin-left:2px;opacity:.85;}
.nt2 .cat.add{border-style:dashed;color:var(--text2);}
.nt2 .cat.add:hover{border-color:var(--accent);color:var(--accent);}
.nt2 .cat.drop{outline:2px dashed var(--accent);outline-offset:2px;}

.nt2 .menu{position:absolute;z-index:20;min-width:200px;padding:6px;border-radius:14px;background:var(--card);border:1px solid var(--border);box-shadow:0 18px 48px rgba(0,0,0,.28);}
.nt2 .menu div{padding:10px 12px;border-radius:9px;font-size:14.5px;cursor:pointer;display:flex;gap:10px;align-items:center;}
.nt2 .menu div:hover{background:var(--track);}
.nt2 .menu .danger{color:var(--danger);}

/* grilla tipo pizarra */
.nt2 .wall{columns:280px;column-gap:14px;}
.nt2 .note{break-inside:avoid;margin-bottom:14px;padding:18px;cursor:pointer;border:1.5px solid transparent;display:block;transition:border-color var(--ease-standard),transform var(--ease-standard);}
.nt2 .note:hover{border-color:var(--border);}
.nt2 .note.sel{border-color:var(--accent);}
.nt2 .note.dragging{opacity:.35;}
.nt2 .note .cat-l{font-size:11.5px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px;}
.nt2 .note h4{margin:0 0 8px;font-size:17px;line-height:1.3;}
.nt2 .note .prev{font-size:14px;line-height:1.5;color:color-mix(in srgb,var(--text) 82%,var(--text2));overflow:hidden;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;}
.nt2 .note .prev p{margin:0 0 4px;}
.nt2 .note .ck{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.4;margin:0 0 5px;}
.nt2 .note .ck i{width:16px;height:16px;border-radius:5px;background:var(--track);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;color:#fff;}
.nt2 .note .ck.on{color:var(--text2);text-decoration:line-through;}
.nt2 .note .ck.on i{background:var(--accent);}
.nt2 .note .ck-sum{font-size:12.5px;font-weight:700;color:var(--text2);margin-top:6px;}
.nt2 .note .meta{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:12.5px;color:var(--text2);font-weight:600;}
.nt2 .note mark{background:color-mix(in srgb,var(--accent) 30%,transparent);color:inherit;border-radius:3px;padding:0 2px;}
.nt2 .new-note{break-inside:avoid;margin-bottom:14px;border:1.5px dashed var(--border);border-radius:16px;padding:22px 18px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text2);font-weight:600;font-size:15px;cursor:pointer;}
.nt2 .new-note:hover{border-color:var(--accent);color:var(--accent);}
.nt2 .empty{text-align:center;padding:52px 24px;}
.nt2 .empty .ic{width:68px;height:68px;border-radius:22px;background:var(--track);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:32px;}

/* editor lateral */
.nt2 .panel-back{position:fixed;z-index:60;inset:0;background:rgba(0,0,0,.35);z-index:35;animation:fadeIn .2s ease;}
@keyframes fadeIn{from{opacity:0;}}
.nt2 .panel{position:fixed;z-index:61;top:0;right:0;bottom:0;width:min(640px,100%);z-index:36;background:var(--card);border-left:1px solid var(--border);box-shadow:-20px 0 60px rgba(0,0,0,.25);display:flex;flex-direction:column;animation:panelIn .28s cubic-bezier(.2,.8,.2,1) both;}
@keyframes panelIn{from{transform:translateX(40px);opacity:0;}}
.nt2 .p-top{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border);}
.nt2 .p-top .where{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--text2);background:var(--track);border-radius:999px;padding:6px 12px;}
.nt2 .saved{font-size:13px;font-weight:600;color:var(--text2);display:inline-flex;align-items:center;gap:5px;margin-left:auto;}
.nt2 .saved.ok{color:var(--success);}
.nt2 .p-body{flex:1;overflow-y:auto;padding:22px 28px 40px;}
.nt2 .p-title{width:100%;border:none;background:none;outline:none;color:var(--text);font-size:26px;font-weight:700;letter-spacing:-.01em;padding:0;margin:0 0 6px;font-family:inherit;}
.nt2 .p-title::placeholder{color:var(--text2);}
.nt2 .p-date{font-size:13px;color:var(--text2);font-weight:600;margin:0 0 16px;}
.nt2 .hu-tb{position:sticky;top:-22px;}
.hu-tb{z-index:2;display:flex;gap:2px;flex-wrap:wrap;padding:6px;margin:0 -6px 14px;background:var(--card);border-radius:12px;border:1px solid var(--border);}
.hu-tb button{height:34px;min-width:34px;border:none;background:none;border-radius:8px;color:var(--text);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 8px;}
.hu-tb button:hover{background:var(--track);}
.hu-tb .sep{width:1px;background:var(--border);margin:6px 4px;}
.nt2 .editor{outline:none;font-size:16.5px;line-height:1.65;min-height:300px;}
.nt2 .editor h2{font-size:21px;margin:16px 0 6px;}
.nt2 .editor h3{font-size:18px;margin:14px 0 4px;}
.nt2 .editor p{margin:0 0 8px;}
.nt2 .editor a{color:var(--accent);}
.nt2 .editor ul[data-checklist]{list-style:none;padding-left:0;}
.nt2 .editor ul[data-checklist] > li{position:relative;padding-left:30px;margin:4px 0;}
.nt2 .editor ul[data-checklist] > li::before{content:"";position:absolute;left:0;top:4px;width:19px;height:19px;border-radius:6px;background:var(--track);border:1.5px solid color-mix(in srgb,var(--text2) 40%,transparent);cursor:pointer;}
.nt2 .editor ul[data-checklist] > li[data-checked]{color:var(--text2);text-decoration:line-through;}
.nt2 .editor ul[data-checklist] > li[data-checked]::before{background:var(--accent);border-color:var(--accent);}
.nt2 .editor ul[data-checklist] > li[data-checked]::after{content:"";position:absolute;left:6px;top:7px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);}


.nt2 .menu{position:relative;z-index:20;width:max-content;min-width:220px;margin:-10px 0 14px auto;}
.nt2 .where-sel{font-size:13.5px;font-weight:700;color:var(--text);background:var(--track);border:none;border-radius:999px;padding:6px 12px;}
.nt2 .tbtn{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--text2);cursor:pointer;border:none;background:none;}
.nt2 .tbtn:hover{background:var(--track);color:var(--text);}
.nt2 .tbtn.off{opacity:.25;cursor:default;}
.nt2 .note .mv{display:none;gap:2px;}
.nt2 .note:hover .mv{display:inline-flex;}
@media (hover:none){ .nt2 .note .mv{display:inline-flex;} }
.nt2 .p-top .hu-x{flex-shrink:0;}
@media (max-width:640px){
  .nt2 .panel{width:100%;border-left:none;}
  .nt2 .p-body{padding:18px 18px 40px;}
  .nt2 .wall{columns:1;}
}

/* ====== Rediseño 2026 · popups (base común) ====== */
.hu-backdrop{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:20px;animation:huFadeIn .2s ease;}
html[data-theme="light"] .hu-backdrop{background:rgba(20,22,26,.38);}
@keyframes huFadeIn{from{opacity:0;}}
.hu-modal{width:100%;max-width:480px;max-height:calc(100vh - 40px);overflow-y:auto;border-radius:20px;padding:24px;background:var(--card);border:1px solid var(--border);box-shadow:0 24px 60px rgba(0,0,0,.28);}
.hu-modal .title-in{border-bottom-color:color-mix(in srgb,var(--text2) 35%,transparent);font-family:inherit;}
.hu-modal .hu-lbl{color:color-mix(in srgb,var(--text2) 80%,var(--text));}
.hu-modal .opt{border:1px solid var(--border);}
@media (max-width:640px){
  .hu-backdrop{align-items:flex-end;padding:0;}
  .hu-modal{max-width:none;border-radius:22px 22px 0 0;max-height:92vh;padding:22px 18px 30px;animation:huSheetUp .3s cubic-bezier(.2,.8,.2,1) both;}
  @keyframes huSheetUp{from{transform:translateY(100%);}}
}
.hu-modal .title-in{width:100%;background:none;border:none;outline:none;color:var(--text);font-size:21px;font-weight:700;padding:4px 0;border-bottom:1.5px solid var(--border);margin-bottom:18px;}
.hu-modal .title-in:focus{border-color:var(--accent);}
.hu-modal .lbl{font-size:13px;font-weight:700;color:var(--text2);margin:0 0 8px;display:flex;align-items:center;gap:6px;}
.hu-modal .days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:18px;}
.hu-modal .days button{border:1.5px solid var(--border);background:transparent;color:var(--text);border-radius:12px;padding:7px 0;display:flex;flex-direction:column;align-items:center;font-size:10.5px;font-weight:700;gap:1px;}
.hu-modal .days button b{font-size:16px;}
.hu-modal .days button.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.hu-modal .opt{border-radius:14px;background:var(--track);padding:12px 14px;margin-bottom:10px;}
.hu-modal .opt-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px;font-weight:600;}
.hu-modal .opt-row span{display:flex;align-items:center;gap:8px;}
.hu-modal .opt-body{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);}
.hu-modal .pills{display:flex;gap:6px;flex-wrap:wrap;}
.hu-modal .pills button{border:1.5px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600;}
.hu-modal .pills button.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.hu-modal .letters{display:flex;gap:6px;margin-top:10px;}
.hu-modal .letters button{width:34px;height:34px;border-radius:50%;border:none;background:var(--card);color:var(--text2);font-weight:700;font-size:13px;}
.hu-modal .letters button.on{background:var(--accent);color:#fff;}
.hu-modal .time-in{background:var(--card);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:16px;padding:8px 10px;margin-bottom:12px;font-variant-numeric:tabular-nums;}
.hu-modal .hint{font-size:12.5px;color:var(--text2);margin:10px 0 0;}
.hu-modal .note-in{width:100%;min-height:80px;resize:vertical;background:var(--track);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:15px;color:var(--text);outline:none;}
.hu-modal .note-in:focus{border-color:var(--accent);}
.hu-modal .foot{display:flex;gap:10px;align-items:center;margin-top:20px;}
.hu-modal .del{background:none;border:none;color:var(--danger);font-weight:600;font-size:14.5px;display:flex;align-items:center;gap:6px;padding:8px 4px;margin-right:auto;}
.hu-modal .qpick{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:18px;}
.hu-modal .qpick button{border:1.5px solid color-mix(in srgb,var(--text2) 35%,transparent);background:transparent;color:var(--text);border-radius:12px;padding:9px 0;display:flex;flex-direction:column;align-items:center;font-size:11px;font-weight:700;gap:2px;}
.hu-modal .qpick button b{font-size:15px;}
.hu-modal .qpick button.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.hu-modal .qpick button.dream-b.on{background:var(--warning);border-color:var(--warning);}
.hu-modal .proj-list{display:flex;flex-direction:column;gap:6px;}
.hu-modal .proj-it{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--track);font-size:14.5px;font-weight:600;}
.hu-modal .proj-it small{margin-left:auto;color:var(--text2);font-weight:700;}
/* ====== Rediseño 2026 · Objetivos y metas (bajo .ob2) ====== */
/* ====== Objetivos y metas ====== */
.ob2 .nav-round{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);flex-shrink:0;}
.ob2 .nav-round:hover{background:var(--track);}
.ob2 .seg{display:flex;background:var(--track);padding:4px;border-radius:12px;gap:4px;}
.ob2 .seg button{border:none;background:none;border-radius:9px;padding:8px 16px;font-size:14.5px;font-weight:600;color:var(--text2);display:flex;align-items:center;gap:7px;}
.ob2 .seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.14);}
.ob2 .seg button svg{color:var(--accent);}
.ob2 .icon-btn{width:32px;height:32px;border-radius:9px;border:none;background:none;color:var(--text2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ob2 .icon-btn:hover{background:var(--track);color:var(--text);}
.ob2 .ring{position:relative;flex-shrink:0;}
.ob2 .ring > svg{transform:rotate(-90deg);display:block;}
.ob2 .ring circle{transition:stroke-dashoffset .4s cubic-bezier(.2,.8,.2,1);}
.ob2 .ring .ring-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;}
.ob2 .ring .ring-c b{font-size:22px;font-weight:800;}
.ob2 .ring .ring-c span{font-size:11px;font-weight:600;margin-top:3px;opacity:.85;}

/* barra de año */
.ob2 .yearbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.ob2 .yearnav{display:flex;align-items:center;gap:10px;}
.ob2 .yearnav b{font-size:22px;min-width:64px;text-align:center;}

/* hero: frase + avance del año */
.ob2 .hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#7A1E5A));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:28px;margin-bottom:16px;}
.ob2 .hero::after{content:"";position:absolute;right:-60px;bottom:-90px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none;}
.ob2 .hero > *{position:relative;z-index:1;}
.ob2 .hero .stat-label{color:rgba(255,255,255,.8);display:flex;align-items:center;gap:8px;}
.ob2 .hero .quote{font-size:24px;font-weight:700;line-height:1.3;margin:0 0 8px;letter-spacing:-.01em;max-width:720px;}
.ob2 .hero .author{font-size:14.5px;color:rgba(255,255,255,.85);margin:0;}
.ob2 .hero .edit{background:rgba(255,255,255,.16);border:none;color:#fff;border-radius:9px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;}
.ob2 .hero-stats{display:flex;align-items:center;gap:18px;}
.ob2 .hero-stats .lines p{margin:0 0 4px;font-size:14px;color:rgba(255,255,255,.88);}
.ob2 .hero-stats .lines b{font-size:18px;color:#fff;}
.ob2 .ytime{height:6px;border-radius:6px;background:rgba(255,255,255,.22);overflow:hidden;margin-top:8px;width:170px;}
.ob2 .ytime i{display:block;height:100%;background:#fff;border-radius:6px;}

/* sueños */
.ob2 .dreams{margin-bottom:16px;}
.ob2 .dreams-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap;}
.ob2 .dreams-head h3{margin:0;font-size:18px;}
.ob2 .dream-row{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:2px;}
.ob2 .dream-row::-webkit-scrollbar{display:none;}
.ob2 .dream{flex-shrink:0;display:flex;align-items:center;gap:8px;max-width:300px;padding:10px 14px;border-radius:14px;background:color-mix(in srgb,var(--warning) 12%,var(--card));border:1.5px solid color-mix(in srgb,var(--warning) 35%,transparent);font-size:14.5px;font-weight:600;cursor:grab;}
.ob2 .dream span.t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ob2 .dream.dragging{opacity:.4;}
.ob2 .dream-add{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;border:1.5px dashed var(--border);color:var(--text2);font-size:14.5px;font-weight:600;cursor:pointer;}
.ob2 .dream-add:hover{border-color:var(--warning);color:var(--warning);}
.ob2 .dream-add input{background:none;border:none;outline:none;color:var(--text);font-size:14.5px;width:220px;}

/* trimestres */
.ob2 .quarters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start;}
.ob2 .q{padding:18px 16px 14px;border:1.5px solid transparent;transition:border-color var(--ease-standard);}
.ob2 .q.now{border-color:color-mix(in srgb,var(--accent) 50%,transparent);}
.ob2 .q.drop{border-color:var(--accent);border-style:dashed;}
.ob2 .q.past .q-title{color:var(--text2);}
.ob2 .q-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px;}
.ob2 .q-title{margin:0;font-size:18px;font-weight:700;}
.ob2 .q-months{font-size:12.5px;color:var(--text2);font-weight:600;margin:2px 0 0;}
.ob2 .q-badge{font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:999px;background:var(--accent);color:#fff;white-space:nowrap;}
.ob2 .q-badge.past{background:var(--track);color:var(--text2);}
.ob2 .q-bar{height:5px;border-radius:5px;background:var(--track);overflow:hidden;margin:10px 0 4px;}
.ob2 .q-bar i{display:block;height:100%;background:var(--accent);border-radius:5px;transition:width .3s ease;}
.ob2 .q-bar.full i{background:var(--success);}
.ob2 .q-count{font-size:12.5px;font-weight:600;color:var(--text2);margin:0 0 10px;}
.ob2 .goal{display:flex;align-items:flex-start;gap:10px;padding:9px 6px;margin:0 -6px;border-radius:10px;cursor:pointer;}
.ob2 .goal:hover{background:var(--track);}
.ob2 .goal.dragging{opacity:.35;}
.ob2 .goal .box{width:22px;height:22px;border-radius:7px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;margin-top:1px;transition:background var(--ease-standard),border-color var(--ease-standard);}
.ob2 .goal.done .box{background:var(--accent);border-color:var(--accent);}
.ob2 .goal.done .box svg{animation:pop .3s ease;}
@keyframes pop{0%{transform:scale(.4);}70%{transform:scale(1.2);}100%{transform:scale(1);}}
.ob2 .goal .tt{flex:1;min-width:0;font-size:15px;line-height:1.35;}
.ob2 .goal.done .tt{color:var(--text2);text-decoration:line-through;}
.ob2 .goal .from{display:inline-block;margin-left:4px;}
.ob2 .gproj{margin:2px 0 6px 32px;display:flex;flex-direction:column;gap:6px;}
.ob2 .gproj .pg{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--text2);}
.ob2 .gproj .pg .bar{flex:1;max-width:120px;height:5px;border-radius:5px;background:var(--track);overflow:hidden;}
.ob2 .gproj .pg .bar i{display:block;height:100%;background:var(--accent);}
.ob2 .gproj .chips{display:flex;gap:6px;flex-wrap:wrap;}
.ob2 .gproj .chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:4px 9px;border-radius:8px;background:var(--track);cursor:pointer;}
.ob2 .add{display:flex;align-items:center;gap:10px;padding:9px 6px;margin:2px -6px 0;border-radius:10px;color:var(--text2);font-size:14.5px;cursor:text;}
.ob2 .add:hover{background:var(--track);}
.ob2 .add input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text);font-size:14.5px;}
.ob2 .q-empty{font-size:13.5px;color:var(--text2);margin:0 0 4px;}
.ob2 .q-fold{display:none;}


.ob2 .q-fold{display:flex;justify-content:center;font-size:13px;font-weight:600;color:var(--text2);padding-top:4px;cursor:pointer;}
.ob2 .hero .stat-label{display:flex;align-items:center;gap:6px;}
@media (max-width:1100px){ .ob2 .quarters{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){
  .ob2 .quarters{grid-template-columns:1fr;}
  .ob2 .hero{grid-template-columns:1fr;}
  .ob2 .yearbar{flex-direction:column;align-items:stretch;}
  .ob2 .yearnav{justify-content:space-between;}
  .ob2 .seg{width:100%;}
  .ob2 .seg button{flex:1;}
  .hu-modal .qpick{grid-template-columns:repeat(3,1fr);}
}

/* ====== Rediseño 2026 · Proyectos (bajo .pr2) ====== */
/* ====== Proyectos ====== */
.pr2 .big-num{font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1;}
.pr2 .big-num small{font-size:17px;font-weight:600;color:var(--text2);}
.pr2 .stat-grid{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:14px;margin-bottom:18px;}
.pr2 .due-card{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#7A1E5A));cursor:pointer;}
.pr2 .due-card .stat-label{color:rgba(255,255,255,.82);}
.pr2 .due-card::after{content:"";position:absolute;right:-40px;bottom:-60px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.1);}
.pr2 .due-days{font-size:44px;font-weight:800;line-height:.95;letter-spacing:-.03em;}
.pr2 .toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.pr2 .nav-round{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);flex-shrink:0;}
.pr2 .icon-btn{width:32px;height:32px;border-radius:9px;border:none;background:none;color:var(--text2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pr2 .icon-btn:hover{background:var(--track);color:var(--text);}
.pr2 .ring{position:relative;flex-shrink:0;}
.pr2 .ring > svg{transform:rotate(-90deg);display:block;}
.pr2 .ring circle{transition:stroke-dashoffset .4s cubic-bezier(.2,.8,.2,1);}
.pr2 .ring .ring-c{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;}
.pr2 .emoji-box{width:52px;height:52px;flex-shrink:0;border-radius:15px;background:var(--track);display:flex;align-items:center;justify-content:center;font-size:26px;}
.pr2 .chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--track);color:var(--text);white-space:nowrap;}
.pr2 .chip i{width:7px;height:7px;border-radius:50%;background:var(--c,var(--accent));}
.pr2 .chip.late{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger);}
.pr2 .chip.soon{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning);}

/* lista */
.pr2 .plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:14px;}
.pr2 .pcard{display:flex;flex-direction:column;gap:14px;padding:20px;cursor:pointer;border:1.5px solid transparent;transition:border-color var(--ease-standard),transform var(--ease-standard);}
.pr2 .pcard:hover{border-color:var(--border);transform:translateY(-1px);}
.pr2 .pc-top{display:flex;align-items:center;gap:14px;}
.pr2 .pc-top .nm{flex:1;min-width:0;}
.pr2 .pc-top .nm p{margin:0 0 6px;font-size:17px;font-weight:650;line-height:1.25;}
.pr2 .pc-top .chips{display:flex;gap:6px;flex-wrap:wrap;}
.pr2 .next{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--track);font-size:14px;}
.pr2 .next small{font-size:11.5px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;}
.pr2 .next span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;}
.pr2 .next .done-all{color:var(--success);}
.pr2 .add-card{border:1.5px dashed var(--border);background:transparent;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text2);font-weight:600;min-height:150px;cursor:pointer;border-radius:16px;font-size:15px;}
.pr2 .add-card:hover{border-color:var(--accent);color:var(--accent);}

/* detalle */
.pr2 .crumb{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:14px;}
.pr2 .crumb a{color:var(--text2);cursor:pointer;font-weight:600;display:flex;align-items:center;gap:6px;}
.pr2 .crumb a:hover{color:var(--accent);}
.pr2 .phead{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:24px;margin-bottom:16px;}
.pr2 .phead .emoji-box{width:68px;height:68px;font-size:36px;border-radius:20px;}
.pr2 .phead .nm{flex:1;min-width:220px;}
.pr2 .phead h2{margin:0 0 8px;font-size:26px;letter-spacing:-.01em;}
.pr2 .phead .chips{display:flex;gap:6px;flex-wrap:wrap;}
.pr2 .status{position:relative;display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--border);background:var(--card);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:700;cursor:pointer;}
.pr2 .status i{width:8px;height:8px;border-radius:50%;background:var(--c);}
.pr2 .pstats{display:flex;align-items:center;gap:18px;}
.pr2 .pstats .ln p{margin:0 0 4px;font-size:14px;color:var(--text2);}
.pr2 .pstats .ln b{color:var(--text);font-size:17px;}
.pr2 .layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start;}
.pr2 .aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:20px;}
.pr2 .card-title{font-size:18px;font-weight:700;margin:0;}
.pr2 .steps-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.pr2 .step{position:relative;display:flex;align-items:center;gap:12px;padding:10px 8px;margin:0 -8px;border-radius:10px;}
.pr2 .step:hover{background:var(--track);}
.pr2 .step.dragging{opacity:.35;}
.pr2 .step .grip{color:var(--text2);opacity:0;cursor:grab;margin-left:-4px;}
.pr2 .step:hover .grip{opacity:.6;}
.pr2 .step .ck{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;cursor:pointer;transition:background var(--ease-standard),border-color var(--ease-standard);}
.pr2 .step.done .ck{background:var(--success);border-color:var(--success);}
.pr2 .step.done .ck svg{animation:pop .3s ease;}
@keyframes pop{0%{transform:scale(.4);}70%{transform:scale(1.2);}100%{transform:scale(1);}}
.pr2 .step .tt{flex:1;min-width:0;font-size:15.5px;cursor:text;outline:none;border-radius:6px;padding:2px 4px;margin:-2px -4px;}
.pr2 .step .tt:focus{background:var(--card);box-shadow:0 0 0 2px var(--accent);}
.pr2 .step.done .tt{color:var(--text2);text-decoration:line-through;}
.pr2 .step .when{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);cursor:pointer;flex-shrink:0;}
.pr2 .step .sched{opacity:0;}
.pr2 .step:hover .sched{opacity:1;}
.pr2 .step .done-at{font-size:12.5px;color:var(--text2);flex-shrink:0;}
.pr2 .step .del{opacity:0;}
.pr2 .step:hover .del{opacity:1;}
.pr2 .add{display:flex;align-items:center;gap:12px;padding:10px 8px;margin:4px -8px 0;border-radius:10px;color:var(--text2);font-size:15px;cursor:text;}
.pr2 .add:hover{background:var(--track);}
.pr2 .add input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text);font-size:15.5px;}
.pr2 .done-toggle{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border);font-size:14px;font-weight:700;color:var(--text2);cursor:pointer;}
.pr2 .done-toggle svg{transition:transform .15s ease;}
.pr2 .done-toggle.open svg{transform:rotate(90deg);}
.pr2 .wk{display:flex;flex-direction:column;gap:8px;}
.pr2 .wk-it{display:flex;align-items:center;gap:10px;font-size:14.5px;}
.pr2 .wk-it .d{width:44px;flex-shrink:0;text-align:center;border-radius:10px;background:var(--track);padding:5px 0;font-size:10.5px;font-weight:800;color:var(--text2);text-transform:uppercase;line-height:1.15;}
.pr2 .wk-it .d b{display:block;font-size:16px;color:var(--text);}
.pr2 .wk-it .d.today{background:var(--accent);color:rgba(255,255,255,.85);}
.pr2 .wk-it .d.today b{color:#fff;}
.pr2 .wk-it.done span.t{color:var(--text2);text-decoration:line-through;}
.pr2 .info-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);font-size:14.5px;}
.pr2 .info-row:last-child{border-bottom:none;padding-bottom:0;}
.pr2 .info-row:first-child{padding-top:0;}
.pr2 .info-row .k{color:var(--text2);font-weight:600;width:84px;flex-shrink:0;font-size:13.5px;}
.pr2 .info-row .v{flex:1;min-width:0;font-weight:600;}
.pr2 .info-row a{color:var(--accent);cursor:pointer;}
.pr2 .menu{position:absolute;z-index:40;min-width:200px;padding:6px;border-radius:14px;background:var(--card);border:1px solid var(--border);box-shadow:0 18px 48px rgba(0,0,0,.28);}
.pr2 .menu div{padding:10px 12px;border-radius:9px;font-size:14.5px;cursor:pointer;display:flex;gap:10px;align-items:center;}
.pr2 .menu div:hover{background:var(--track);}
.pr2 .menu .danger{color:var(--danger);}
.pr2 .menu i{width:9px;height:9px;border-radius:50%;background:var(--c);display:inline-block;}


.pr2 .wknav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.pr2 .wknav b{font-size:15px;}
.pr2 .mcal-h,.pr2 .mcal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;}
.pr2 .mcal-h{margin-bottom:6px;}
.pr2 .mcal-h span{text-align:center;font-size:11.5px;font-weight:800;color:var(--text2);}
.pr2 .mcal button{aspect-ratio:1;border:1.5px solid transparent;background:var(--track);color:var(--text);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0;}
.pr2 .mcal button b{font-size:15px;line-height:1;}
.pr2 .mcal button .dots{display:flex;gap:2px;height:7px;align-items:center;font-size:9px;line-height:1;}
.pr2 .mcal button .dots i{width:5px;height:5px;border-radius:50%;}
.pr2 .mcal button .dots em{font-style:normal;font-size:9px;font-weight:800;color:var(--text2);margin-left:1px;}
.pr2 .mcal button.on .dots{background:rgba(255,255,255,.9);border-radius:6px;padding:1px 3px;}
.pr2 .mcal button:hover:not([disabled]){border-color:var(--accent);}
.pr2 .mcal button.today{border-color:color-mix(in srgb,var(--accent) 60%,transparent);}
.pr2 .mcal button.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.pr2 .mcal button.past{opacity:.3;cursor:default;}
.pr2 .picked{margin-top:14px;padding:11px 14px;border-radius:12px;background:var(--track);font-size:14.5px;display:flex;align-items:center;gap:8px;}
.pr2 .picked svg{color:var(--accent);}
.pr2 .mcal-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:12.5px;color:var(--text2);font-weight:600;}
.pr2 .mcal-legend i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);vertical-align:2px;margin-right:2px;}
.pr2 .mcal-legend i.l1{opacity:.4;}.mcal-legend i.l2{opacity:.7;}
.pr2 .emoji-pick{width:56px;height:56px;border-radius:16px;background:var(--track);border:1.5px dashed color-mix(in srgb,var(--text2) 35%,transparent);font-size:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;}
.pr2 .sel{width:100%;height:46px;border-radius:12px;border:1px solid color-mix(in srgb,var(--text2) 30%,transparent);background:var(--track);color:var(--text);font-size:15px;padding:0 12px;margin-bottom:14px;}
.pr2 .tbtn{width:32px;height:32px;border-radius:9px;border:none;background:none;color:var(--text2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.pr2 .tbtn:hover{background:var(--track);color:var(--text);}
.pr2 .menu{position:absolute;top:34px;left:0;z-index:40;min-width:220px;padding:6px;border-radius:14px;}
.pr2 .menu div{padding:10px 12px;border-radius:9px;font-size:14.5px;cursor:pointer;display:flex;gap:10px;align-items:center;}
.pr2 .menu div:hover{background:var(--track);}
.pr2 .menu i{width:10px;height:10px;border-radius:50%;background:var(--c);display:inline-block;}
.pr2 .step .tt-in{flex:1;background:var(--track);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:15px;padding:5px 8px;outline:none;font-family:inherit;}
.pr2 .add input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:15px;min-width:0;font-family:inherit;}
.pr2 .ring .ring-c{font-size:12.5px;font-weight:800;}
@media (max-width:1180px){
  .pr2 .layout{grid-template-columns:1fr;}
  .pr2 .aside{position:static;display:grid;grid-template-columns:1fr 1fr;}
  .pr2 .stat-grid{grid-template-columns:1fr 1fr;}
  .pr2 .stat-grid .due-card{grid-column:1 / -1;order:-1;}
}
@media (max-width:900px){ .pr2 .plist{grid-template-columns:1fr;} }
@media (max-width:640px){
  .pr2 .big-num{font-size:26px;}
  .pr2 .stat-grid{gap:10px;}
  .pr2 .aside{grid-template-columns:1fr;}
  .pr2 .phead{padding:18px;gap:14px;}
  .pr2 .phead .emoji-box{width:56px;height:56px;font-size:30px;}
  .pr2 .phead h2{font-size:22px;}
  .pr2 .pstats{width:100%;}
  .pr2 .step .sched,.pr2 .step .del{opacity:1;}
  .pr2 .step .grip{opacity:.55;touch-action:none;}
  .pr2 .hide-m{display:none !important;}
}

/* ====== Rediseño 2026 · Rueda de la vida (bajo .wh2) ====== */
/* ====== Rueda de la vida ====== */
.wh2 .icon-btn{width:32px;height:32px;border-radius:9px;border:none;background:none;color:var(--text2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.wh2 .icon-btn:hover{background:var(--track);color:var(--text);}
.wh2 .monthnav{display:flex;align-items:center;gap:10px;}
.wh2 .monthnav b{font-size:19px;min-width:150px;text-align:center;}
.wh2 .monthnav small{display:block;font-size:12px;color:var(--accent);font-weight:600;}
.wh2 .card-title{font-size:18px;font-weight:700;margin:0;}

.wh2 .top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;margin-bottom:16px;align-items:stretch;}
.wh2 .wheel-card{display:flex;flex-direction:column;align-items:center;padding:20px;}
.wh2 .layers{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:6px;}
.wh2 .layer-chip{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600;cursor:pointer;user-select:none;}
.wh2 .layer-chip i{width:16px;height:0;border-top:2.5px solid var(--c);}
.wh2 .layer-chip i.dash{border-top-style:dashed;}
.wh2 .layer-chip i.fill{height:10px;border:none;border-radius:3px;background:linear-gradient(90deg,#34C759,#0A84FF,#AF52DE);}
.wh2 .layer-chip.off{opacity:.45;}
.wh2 .wheel{width:100%;max-width:560px;}
.wh2 .wheel svg{width:100%;height:100%;overflow:visible;}
.wh2 .wheel .wedge{transition:d .35s cubic-bezier(.2,.8,.2,1),opacity .15s ease;cursor:pointer;}
.wh2 .wheel .lbl{font-size:15px;font-weight:700;fill:var(--text);}
.wh2 .wheel .num{font-size:15px;font-weight:800;}
.wh2 .wheel.dim .wedge{opacity:.35;}
.wh2 .wheel.dim .wedge.hot{opacity:1;}

.wh2 .summary{display:flex;flex-direction:column;gap:14px;}
.wh2 .big-num{font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1;}
.wh2 .big-num small{font-size:18px;font-weight:600;color:var(--text2);}
.wh2 .delta{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;padding:3px 9px;border-radius:999px;}
.wh2 .delta.up{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent);}
.wh2 .delta.down{color:var(--text2);background:var(--track);}
.wh2 .hl{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--track);}
.wh2 .hl .dot{width:12px;height:12px;border-radius:50%;background:var(--c);flex-shrink:0;}
.wh2 .hl .t{flex:1;min-width:0;}
.wh2 .hl .t p{margin:0;font-size:15px;font-weight:700;}
.wh2 .hl .t span{font-size:12.5px;color:var(--text2);font-weight:600;}
.wh2 .hl b{font-size:22px;font-weight:800;}
.wh2 .hl .act{font-size:13px;font-weight:700;color:var(--accent);cursor:pointer;white-space:nowrap;}
.wh2 .gap-note{font-size:13.5px;line-height:1.5;color:var(--text2);margin:0;}
.wh2 .gap-note b{color:var(--text);}

/* áreas */
.wh2 .areas-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 12px;flex-wrap:wrap;}
.wh2 .areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.wh2 .area{padding:16px 18px;border-left:4px solid var(--c);transition:box-shadow var(--ease-standard);}
.wh2 .area.hot{box-shadow:0 0 0 2px var(--c);}
.wh2 .a-top{display:flex;align-items:center;gap:10px;margin-bottom:4px;}
.wh2 .a-top .nm{flex:1;min-width:0;}
.wh2 .a-top .nm p{margin:0;font-size:16px;font-weight:700;}
.wh2 .a-top .nm span{font-size:12.5px;color:var(--text2);}
.wh2 .a-score{font-size:24px;font-weight:800;color:var(--c);min-width:28px;text-align:right;}
.wh2 .a-delta{font-size:12px;font-weight:700;color:var(--text2);}
.wh2 .a-delta.up{color:var(--success);}
.wh2 .scale{display:grid;grid-template-columns:repeat(11,1fr);gap:3px;margin:12px 0 8px;}
.wh2 .scale button{height:28px;border:none;border-radius:7px;background:var(--track);color:var(--text2);font-size:11.5px;font-weight:700;padding:0;transition:background var(--ease-standard),color var(--ease-standard);}
.wh2 .scale button.fill{background:color-mix(in srgb,var(--c) 35%,var(--track));color:var(--text);}
.wh2 .scale button.on{background:var(--c);color:#fff;}
.wh2 .scale button:hover{outline:2px solid var(--c);outline-offset:-2px;}
.wh2 .a-act{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text2);font-weight:600;}
.wh2 .a-act .bar{flex:0 0 70px;height:5px;border-radius:5px;background:var(--track);overflow:hidden;}
.wh2 .a-act .bar i{display:block;height:100%;background:var(--c);opacity:.7;}
.wh2 .add-area{border:1.5px dashed var(--border);border-radius:16px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text2);font-weight:600;font-size:15px;cursor:pointer;min-height:118px;}
.wh2 .add-area:hover{border-color:var(--accent);color:var(--accent);}

/* conexiones */
.wh2 .conn{margin-top:16px;}
.wh2 .conn-head{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;}
.wh2 .conn-head svg.ch{transition:transform .15s ease;}
.wh2 .conn.open .conn-head svg.ch{transform:rotate(90deg);}
.wh2 .conn-body{margin-top:14px;display:flex;flex-direction:column;gap:8px;}
.wh2 .conn-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--track);flex-wrap:wrap;}
.wh2 .conn-row .src{flex:1;min-width:150px;font-size:14.5px;font-weight:600;display:flex;align-items:center;gap:8px;}
.wh2 .conn-row .arrow{color:var(--text2);}
.wh2 .area-pick{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--border);background:var(--card);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600;cursor:pointer;}
.wh2 .area-pick i{width:9px;height:9px;border-radius:50%;background:var(--c);}
.wh2 .area-pick.none{color:var(--text2);border-style:dashed;}

.wh2 .menu{position:absolute;z-index:40;min-width:210px;padding:6px;border-radius:14px;background:var(--card);border:1px solid var(--border);box-shadow:0 18px 48px rgba(0,0,0,.28);max-height:320px;overflow-y:auto;}
.wh2 .menu div{padding:9px 12px;border-radius:9px;font-size:14.5px;cursor:pointer;display:flex;gap:10px;align-items:center;}
.wh2 .menu div:hover{background:var(--track);}
.wh2 .menu .danger{color:var(--danger);}
.wh2 .menu i{width:10px;height:10px;border-radius:50%;background:var(--c);display:inline-block;}


.wh2 .swatches{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;}
.wh2 .swatch{width:32px;height:32px;border-radius:50%;border:3px solid transparent;cursor:pointer;}
.wh2 .swatch.on{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--text);}
.wh2 .tbtn{width:32px;height:32px;border-radius:9px;border:none;background:none;color:var(--text2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;}
.wh2 .tbtn:hover{background:var(--track);color:var(--text);}
.wh2 .menu{position:absolute;right:0;top:36px;z-index:40;min-width:220px;padding:6px;border-radius:14px;}
.wh2 .menu.up{top:auto;bottom:36px;}
.wh2 .menu div{padding:10px 12px;border-radius:9px;font-size:14.5px;cursor:pointer;display:flex;gap:10px;align-items:center;}
.wh2 .menu div:hover{background:var(--track);}
.wh2 .menu .danger{color:var(--danger);}
.wh2 .area-sel{border:1.5px solid color-mix(in srgb,var(--c) 60%,transparent);background:color-mix(in srgb,var(--c) 12%,var(--card));color:var(--text);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600;max-width:220px;}
.wh2 .conn-head .ch{color:var(--text2);display:flex;transition:transform .2s;}
.wh2 .conn.open .conn-head .ch{transform:rotate(90deg);}
.hu-modal .field{margin:0 0 14px;}
.wh2 .monthnav{display:flex;align-items:center;gap:10px;}
.wh2 .monthnav b{display:flex;flex-direction:column;align-items:center;font-size:17px;min-width:150px;}
.wh2 .monthnav small{font-size:12.5px;color:var(--accent);font-weight:600;}
@media (max-width:1180px){ .wh2 .top{grid-template-columns:1fr;} }
@media (max-width:900px){ .wh2 .areas{grid-template-columns:1fr;} }
@media (max-width:640px){
  .wh2 .page-head .monthnav{width:100%;justify-content:space-between;}
  .wh2 .wheel .lbl,.wh2 .wheel .num{font-size:19px;}
  .wh2 .big-num{font-size:36px;}
  .wh2 .scale button{height:30px;font-size:11px;}
}

/* ====== Rediseño 2026 · Entrenamiento (bajo .tr2) ====== */
/* ====== Entrenamiento ====== */
.tr2 .big-num{font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1;}
.tr2 .big-num small{font-size:17px;font-weight:600;color:var(--text2);}
.tr2 .stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;}
.tr2 .streak-dots{display:flex;gap:6px;margin-top:14px;}
.tr2 .streak-dots div{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;color:var(--text2);font-weight:600;}
.tr2 .streak-dots b{width:24px;height:24px;border-radius:50%;background:var(--track);display:flex;align-items:center;justify-content:center;font-size:11px;}
.tr2 .streak-dots b.on{background:color-mix(in srgb,var(--warning) 22%,transparent);color:var(--warning);}
.tr2 .streak-dots b.today{outline:2px dashed var(--warning);outline-offset:2px;background:transparent;}
.tr2 .icon-btn{width:32px;height:32px;border-radius:9px;border:none;background:none;color:var(--text2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tr2 .icon-btn:hover{background:var(--track);color:var(--text);}
.tr2 .unit{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text2);}
.tr2 .ring{position:relative;flex-shrink:0;}
.tr2 .ring > svg{transform:rotate(-90deg);display:block;}
.tr2 .ring .ring-c{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;}
.tr2 .toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.tr2 .weeknav{display:flex;align-items:center;gap:10px;}
.tr2 .weeknav b{font-size:17px;}
.tr2 .weeknav small{display:block;font-size:12px;color:var(--accent);font-weight:600;}
.tr2 .menu{position:absolute;z-index:40;min-width:240px;padding:6px;border-radius:14px;background:var(--card);border:1px solid var(--border);box-shadow:0 18px 48px rgba(0,0,0,.28);}
.tr2 .menu div{padding:10px 12px;border-radius:9px;font-size:14.5px;cursor:pointer;display:flex;gap:10px;align-items:center;}
.tr2 .menu div:hover{background:var(--track);}
.tr2 .menu .danger{color:var(--danger);}
.tr2 .menu small{display:block;font-size:12px;color:var(--text2);font-weight:500;}

/* objetivo */
.tr2 .goal{display:flex;align-items:center;gap:14px;padding:16px 20px;margin-bottom:16px;background:color-mix(in srgb,var(--accent) 10%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);}
.tr2 .goal .ic{font-size:24px;}
.tr2 .goal .stat-label{margin:0 0 3px;color:var(--accent);}
.tr2 .goal input{width:100%;background:none;border:none;outline:none;color:var(--text);font-size:17px;font-weight:700;padding:0;}
.tr2 .goal input::placeholder{color:var(--text2);font-weight:500;}

/* días */
.tr2 .tdays{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;}
.tr2 .tday{display:flex;flex-direction:column;gap:12px;padding:20px;border:1.5px solid transparent;}
.tr2 .tday.next{border-color:color-mix(in srgb,var(--accent) 50%,transparent);}
.tr2 .d-top{display:flex;align-items:flex-start;gap:12px;}
.tr2 .d-num{width:46px;height:46px;border-radius:14px;background:var(--track);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;flex-shrink:0;}
.tr2 .d-num span{font-size:9.5px;font-weight:800;color:var(--text2);text-transform:uppercase;letter-spacing:.04em;}
.tr2 .d-num b{font-size:19px;}
.tr2 .tday.done .d-num{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success);}
.tr2 .tday.next .d-num{background:var(--accent);color:#fff;}
.tr2 .tday.next .d-num span{color:rgba(255,255,255,.85);}
.tr2 .d-top .nm{flex:1;min-width:0;}
.tr2 .d-top .nm p{margin:0 0 4px;font-size:17px;font-weight:700;line-height:1.25;}
.tr2 .chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--track);color:var(--text2);}
.tr2 .chip.ok{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);}
.tr2 .chip.go{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);}
.tr2 .blocks{display:flex;flex-direction:column;gap:6px;}
.tr2 .blk{display:flex;align-items:center;gap:10px;font-size:13.5px;}
.tr2 .blk .l{width:24px;height:24px;border-radius:8px;background:var(--track);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;}
.tr2 .blk .l.ok{background:var(--success);color:#fff;}
.tr2 .blk .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb,var(--text) 85%,var(--text2));}
.tr2 .blk .n{font-size:12px;font-weight:700;color:var(--text2);font-variant-numeric:tabular-nums;}
.tr2 .tday .btn-accent,.tr2 .tday .btn-outline{width:100%;margin-top:auto;}
.tr2 .add-day{border:1.5px dashed var(--border);border-radius:16px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text2);font-weight:600;font-size:15px;cursor:pointer;min-height:190px;}
.tr2 .add-day:hover{border-color:var(--accent);color:var(--accent);}

/* planes */
.tr2 .plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;}
.tr2 .plan{padding:20px;display:flex;flex-direction:column;gap:12px;}
.tr2 .plan h4{margin:0;font-size:17px;}
.tr2 .plan .pd{display:flex;flex-direction:column;gap:6px;font-size:13.5px;}
.tr2 .plan .pd span b{display:inline-block;width:52px;color:var(--text2);font-weight:700;font-size:12px;}

/* entrenar (pantalla de foco) */
.tr2 .train{max-width:760px;margin:0 auto;}
.tr2 .crumb{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:14px;}
.tr2 .crumb a{color:var(--text2);cursor:pointer;font-weight:600;display:flex;align-items:center;gap:6px;}
.tr2 .crumb a:hover{color:var(--accent);}
.tr2 .t-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:12px;}
.tr2 .t-head h2{margin:0;font-size:28px;letter-spacing:-.01em;}
.tr2 .t-head p{margin:4px 0 0;color:var(--text2);font-size:15px;}
.tr2 .t-bar{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.tr2 .t-bar .bar{flex:1;height:8px;border-radius:8px;background:var(--track);overflow:hidden;}
.tr2 .t-bar .bar i{display:block;height:100%;background:var(--accent);border-radius:8px;transition:width .35s ease;}
.tr2 .t-bar span{font-size:13px;font-weight:700;color:var(--text2);white-space:nowrap;}
.tr2 .tblock{margin-bottom:14px;padding:20px;}
.tr2 .tb-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.tr2 .tb-head .l{width:30px;height:30px;border-radius:10px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;}
.tr2 .tb-head .l.ok{background:var(--success);}
.tr2 .tb-head b{font-size:17px;}
.tr2 .tb-head .rs{margin-left:auto;font-size:12.5px;color:var(--text2);font-weight:600;text-align:right;}
.tr2 .ex{padding:12px 0 4px;}
.tr2 .rest-div{display:flex;align-items:center;gap:10px;margin:10px 0 2px;}
.tr2 .rest-div i{flex:1;height:1px;background:var(--border);}
.tr2 .rest-div.sm{margin:0;}
.tr2 .rest-div.sm span{font-size:11.5px;padding:2px 9px;color:var(--text2);background:transparent;}
.tr2 .rest-div.sm i{opacity:.6;}
.tr2 .tblock + .rest-div{margin:-2px 0 12px;}
.tr2 .rest-div span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:999px;padding:4px 11px;white-space:nowrap;}
.tr2 .ex-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;}
.tr2 .ex-h b{font-size:16px;}
.tr2 .ex-h span{font-size:12.5px;color:var(--text2);font-weight:600;}
.tr2 .sets{display:flex;flex-direction:column;gap:6px;}
.tr2 .set{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:8px 10px;border-radius:12px;background:var(--track);cursor:pointer;transition:background var(--ease-standard);}
.tr2 .set:hover{filter:brightness(1.06);}
.tr2 .set .ck{width:32px;height:32px;border-radius:10px;border:2px solid color-mix(in srgb,var(--text2) 45%,transparent);display:flex;align-items:center;justify-content:center;color:#fff;transition:background var(--ease-standard),border-color var(--ease-standard);}
.tr2 .set.done{background:color-mix(in srgb,var(--accent) 12%,var(--track));}
.tr2 .set.done .ck{background:var(--accent);border-color:var(--accent);}
.tr2 .set.done .ck svg{animation:pop .3s ease;}
@keyframes pop{0%{transform:scale(.4);}70%{transform:scale(1.2);}100%{transform:scale(1);}}
.tr2 .set .v{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;}
.tr2 .set .v small{font-size:12.5px;color:var(--text2);font-weight:600;margin-left:6px;}
.tr2 .set .kg{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);background:var(--card);border-radius:8px;padding:5px 10px;}
.tr2 .set .kg small{color:var(--text2);font-weight:600;font-size:12px;}
.tr2 .set.done .v{color:var(--text2);}
.tr2 .note{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--text2);margin-top:8px;padding:9px 12px;border-radius:10px;background:var(--track);}
.tr2 .rest-pill{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:10px 12px 10px 18px;border-radius:999px;min-width:300px;background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 48px rgba(0,0,0,.3);animation:cardFadeUp .3s ease both;z-index:20;}
.tr2 .rest-pill .tm{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;}
.tr2 .rest-pill p{margin:0;font-size:12.5px;color:var(--text2);font-weight:600;}
.tr2 .rest-pill button{margin-left:auto;}
.tr2 .done-banner{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:16px;background:color-mix(in srgb,var(--success) 14%,var(--card));border:1px solid color-mix(in srgb,var(--success) 35%,transparent);margin-bottom:14px;}
.tr2 .done-banner b{font-size:17px;}

/* editar */
.tr2 .eblock{padding:18px 20px;margin-bottom:14px;}
.tr2 .eb-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
.tr2 .eb-head .l{width:30px;height:30px;border-radius:10px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;}
.tr2 .eb-head b{font-size:17px;}
.tr2 .rest-sel{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text2);font-weight:700;}
.tr2 .rest-sel select{background:var(--track);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:5px 8px;font-size:13px;}
.tr2 .erow{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;background:var(--track);margin-bottom:6px;cursor:pointer;}
.tr2 .erow:hover{filter:brightness(1.06);}
.tr2 .erow .grip{color:var(--text2);opacity:.6;}
.tr2 .erow .t{flex:1;min-width:0;}
.tr2 .erow .t b{display:block;font-size:15px;}
.tr2 .erow .t span{font-size:12.5px;color:var(--text2);font-weight:600;}
.tr2 .add-ex{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;border:1.5px dashed var(--border);color:var(--text2);font-weight:600;font-size:14px;cursor:pointer;}
.tr2 .add-ex:hover{border-color:var(--accent);color:var(--accent);}


.hu-modal .seg2{display:flex;background:var(--track);padding:4px;border-radius:12px;gap:4px;margin-bottom:14px;}
.hu-modal .seg2 button{flex:1;border:none;background:none;border-radius:9px;padding:9px 6px;font-size:14px;font-weight:600;color:var(--text2);}
.hu-modal .seg2 button.on{background:var(--card);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.12);}
.hu-modal .stbl{display:grid;grid-template-columns:40px 1fr 96px;gap:8px;align-items:center;}
.hu-modal .stbl .h{font-size:11px;font-weight:800;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;}
.hu-modal .stbl .n{font-size:14px;font-weight:700;color:var(--text2);text-align:center;}
.hu-modal .stbl input{height:42px;border-radius:10px;border:1px solid color-mix(in srgb,var(--text2) 30%,transparent);background:var(--track);color:var(--text);font-size:15px;padding:0 10px;width:100%;}
.hu-modal .stepper{display:flex;align-items:center;gap:10px;}
.hu-modal .stepper button{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:18px;font-weight:700;}
.hu-modal .stepper b{font-size:20px;min-width:28px;text-align:center;}
.hu-modal .plan-pick{border:1.5px solid color-mix(in srgb,var(--text2) 30%,transparent);border-radius:14px;padding:12px 14px;margin-bottom:8px;cursor:pointer;}
.hu-modal .plan-pick.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--card));}
.hu-modal .plan-pick b{font-size:15px;}
.hu-modal .plan-pick p{margin:4px 0 0;font-size:12.5px;color:var(--text2);}
.hu-modal .rest-pill{min-width:0;left:16px;right:16px;transform:none;}.tr2 .tbtn{width:32px;height:32px;border-radius:9px;border:none;background:none;color:var(--text2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;}
.tr2 .tbtn:hover{background:var(--track);color:var(--text);}
.tr2 .menu{position:absolute;right:0;top:44px;z-index:40;min-width:250px;padding:6px;border-radius:14px;}
.tr2 .menu div{padding:10px 12px;border-radius:9px;font-size:14.5px;cursor:pointer;display:flex;gap:10px;align-items:center;}
.tr2 .menu div small{display:block;font-size:12px;color:var(--text2);font-weight:500;}
.tr2 .menu div:hover{background:var(--track);}
.tr2 .menu .danger{color:var(--danger);}
.tr2 .plan-name{font-size:24px;max-width:460px;margin-bottom:18px;}
.tr2 .ring .ring-c{font-size:12px;font-weight:800;}
@media (max-width:1180px){ .tr2 .stat-grid{grid-template-columns:1fr 1fr;} .tr2 .stat-grid > .card:first-child{grid-column:1 / -1;} }
@media (max-width:640px){
  .tr2 .big-num{font-size:26px;}
  .tr2 .stat-grid{gap:10px;}
  .tr2 .toolbar .seg{width:100%;}
  .tr2 .toolbar .seg button{flex:1;}
  .tr2 .toolbar .weeknav{width:100%;justify-content:space-between;}
  .tr2 .weeknav > div{flex:1;text-align:center;}
  .tr2 .tdays,.tr2 .plans{grid-template-columns:1fr;}
  .tr2 .t-head h2{font-size:24px;}
  .tr2 .tblock{padding:16px;}
  .tr2 .set{grid-template-columns:40px 1fr auto;padding:8px;}
}

/* ====== Rediseño 2026 · Sueño y energía (bajo .su2) ====== */
/* ====== Sueño y energía ====== */
.su2 .big-num{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1;}
.su2 .big-num small{font-size:16px;font-weight:600;color:var(--text2);}
.su2 .card-title{font-size:18px;font-weight:700;margin:0;}
.su2 .icon-btn{width:32px;height:32px;border-radius:9px;border:none;background:none;color:var(--text2);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.su2 .icon-btn:hover{background:var(--track);color:var(--text);}
.su2 .ring{position:relative;flex-shrink:0;}
.su2 .ring > svg{transform:rotate(-90deg);display:block;}
.su2 .ring .ring-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;}
.su2 .ring .ring-c b{font-size:20px;font-weight:800;}
.su2 .ring .ring-c span{font-size:10.5px;font-weight:600;margin-top:3px;opacity:.85;}
.su2 .chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;}

.su2 .top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;margin-bottom:16px;align-items:stretch;}
/* anoche */
.su2 .night{position:relative;overflow:hidden;color:#fff;background:linear-gradient(140deg,#2B2E6B,#4B3A8C 55%,color-mix(in srgb,var(--accent) 45%,#4B3A8C));padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:22px;}
.su2 .night::after{content:"";position:absolute;right:46px;top:62px;width:96px;height:96px;border-radius:50%;box-shadow:-22px 15px 0 0 #fff;transform:rotate(-15deg);opacity:.16;pointer-events:none;}
.su2 .night .stars-bg{position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 20% 30%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 60% 20%,rgba(255,255,255,.6),transparent),radial-gradient(1.5px 1.5px at 80% 70%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 35% 75%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 90% 40%,rgba(255,255,255,.6),transparent);pointer-events:none;}
.su2 .night > *{position:relative;z-index:1;}
.su2 .night .stat-label{color:rgba(255,255,255,.75);}
.su2 .n-main{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.su2 .n-head{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.su2 .n-dur{font-size:52px;font-weight:800;letter-spacing:-.03em;line-height:1;}
.su2 .n-dur small{font-size:22px;font-weight:700;opacity:.75;margin:0 6px 0 4px;}
.su2 .n-q-row{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:13px;font-weight:700;opacity:.9;}
.su2 .n-times{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;opacity:.92;margin-top:8px;}
.su2 .n-q{font-size:17px;letter-spacing:2px;color:#FFD60A;}
.su2 .n-q i{color:rgba(255,255,255,.25);font-style:normal;}
.su2 .n-foot{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.su2 .night .edit{background:rgba(255,255,255,.16);border:none;color:#fff;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px;}
.su2 .n-cta{background:#fff;color:#3B3580;border:none;border-radius:12px;padding:13px 20px;font-size:16px;font-weight:700;display:inline-flex;align-items:center;gap:8px;align-self:flex-start;}
/* energía */
.su2 .energy{display:flex;flex-direction:column;gap:14px;}
.su2 .slotrow{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--track);}
.su2 .slotrow .ic{width:36px;height:36px;border-radius:11px;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.su2 .slotrow .t{flex:1;min-width:0;}
.su2 .slotrow .t p{margin:0;font-size:14.5px;font-weight:700;}
.su2 .slotrow .t span{font-size:12.5px;color:var(--text2);font-weight:600;}
.su2 .lvl{font-size:14px;font-weight:800;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);white-space:nowrap;}
.su2 .levels{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;}
.su2 .levels button{border:1.5px solid var(--border);background:var(--card);border-radius:12px;padding:9px 2px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text);font-size:11.5px;font-weight:700;}
.su2 .levels button i{display:flex;gap:2px;align-items:flex-end;height:16px;}
.su2 .levels button i b{width:4px;border-radius:2px;background:color-mix(in srgb,var(--text2) 40%,transparent);}
.su2 .levels button.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--card));}
.su2 .levels button.on i b.f{background:var(--c);}
.su2 .moods{display:flex;gap:6px;flex-wrap:wrap;}
.su2 .moods button{border:1.5px solid var(--border);background:transparent;color:var(--text);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600;}
.su2 .moods button.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.su2 .saved-note{font-size:12.5px;color:var(--success);font-weight:700;display:inline-flex;align-items:center;gap:5px;}

/* historial */
.su2 .hist-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 12px;flex-wrap:wrap;}
.su2 .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px;}
.su2 .metrics .card p.sub{margin:8px 0 0;font-size:13px;color:var(--text2);}
.su2 .metrics .goal-btn{border:none;background:var(--track);color:var(--text);border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;gap:5px;margin-top:8px;}
.su2 .charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;}
.su2 .legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--text2);font-weight:600;margin-top:6px;}
.su2 .legend i{display:inline-block;width:14px;height:3px;border-radius:2px;vertical-align:middle;margin-right:6px;}
.su2 .pats{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;}
.su2 .pat{display:flex;flex-direction:column;gap:8px;}
.su2 .pat .pi{width:38px;height:38px;border-radius:12px;background:var(--track);display:flex;align-items:center;justify-content:center;font-size:19px;}
.su2 .pat h4{margin:0;font-size:16px;line-height:1.3;}
.su2 .pat p{margin:0;font-size:14px;color:var(--text2);line-height:1.5;}
.su2 .badge{align-self:flex-start;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;}
.su2 .badge.ok{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);}
.su2 .badge.warn{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning);}
.su2 .disc{font-size:12.5px;color:var(--text2);margin:18px 0 0;}

.su2 .sue-chip{border:1.5px solid var(--border);background:transparent;color:var(--text);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600;cursor:pointer;}
.su2 .sue-chip.on{background:var(--accent);border-color:var(--accent);color:#fff;}
.su2 .energy > .btn-accent{width:100%;}
.su2 .lvl{--c:var(--accent);}
@media (max-width:1180px){ .su2 .top,.su2 .charts{grid-template-columns:1fr;} }
@media (max-width:640px){
  .su2 .night{padding:20px;}
  .su2 .n-dur{font-size:40px;}
  .su2 .metrics{grid-template-columns:1fr 1fr;gap:10px;}
  .su2 .metrics .card:first-child{grid-column:1 / -1;}
  .su2 .big-num{font-size:24px;}
  .su2 .hist-head .seg{width:100%;}
  .su2 .hist-head .seg button{flex:1;}
}

/* ====== Rediseño 2026 · Ciclo menstrual · Hoy (bajo .cy2) ====== */
/* Hoy */
.cy2 .hoy{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:stretch;}
.cy2 .hero{position:relative;overflow:hidden;padding:26px;display:flex;flex-direction:column;gap:20px;background:linear-gradient(150deg,color-mix(in srgb,var(--c) 30%,var(--card)),var(--card) 70%);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);}
.cy2 .h-main{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.cy2 .cring{position:relative;width:150px;height:150px;flex-shrink:0;}
.cy2 .cring svg{width:100%;height:100%;transform:rotate(-90deg);}
.cy2 .cring .c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;}
.cy2 .cring .c b{font-size:44px;font-weight:800;letter-spacing:-.03em;}
.cy2 .cring .c span{font-size:12px;color:var(--text2);font-weight:700;margin-top:4px;}
.cy2 .h-info .stat-label{margin:0 0 6px;}
.cy2 .h-phase{font-size:28px;font-weight:800;margin:0;display:flex;align-items:center;gap:10px;letter-spacing:-.01em;}
.cy2 .h-kind{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;padding:4px 11px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);margin-top:8px;}
.cy2 .h-next{margin:14px 0 0;font-size:15px;color:var(--text2);}
.cy2 .h-next b{color:var(--text);}
.cy2 .h-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.cy2 .h-foot .btn-accent{padding:12px 20px;}
.cy2 .h-foot a{font-size:14px;font-weight:600;color:var(--text2);cursor:pointer;}
.cy2 .h-foot a:hover{color:var(--accent);}
.cy2 .wk{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:12.5px;font-weight:700;color:var(--text2);}
.cy2 .wk i{width:10px;height:10px;border-radius:50%;background:var(--track);display:inline-block;}
.cy2 .wk i.on{background:var(--c);}
.cy2 .wk i.today{outline:2px solid var(--c);outline-offset:1px;}
.cy2 .side{display:flex;flex-direction:column;gap:16px;}
.cy2 .feel .chips{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 8px;}
.cy2 .feel .chips span{padding:7px 13px;border-radius:999px;background:var(--track);font-size:14px;font-weight:600;}
.cy2 .letter{background:color-mix(in srgb,var(--ph-men) 9%,var(--card));border:1px solid color-mix(in srgb,var(--ph-men) 22%,transparent);}
.cy2 .letter p.q{font-size:15.5px;line-height:1.55;margin:10px 0 12px;font-style:italic;}
.cy2 .letter .meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;color:var(--text2);font-weight:600;}
.cy2 .link{color:var(--accent);font-weight:700;cursor:pointer;font-size:14px;display:inline-flex;align-items:center;gap:4px;}
.cy2 .phases{margin-top:16px;}
.cy2 .timeline{display:flex;height:14px;border-radius:8px;overflow:hidden;margin:0 0 10px;position:relative;}
.cy2 .timeline i{display:block;height:100%;background:var(--c);opacity:.85;}
.cy2 .tl-wrap{position:relative;margin-top:34px;}
.cy2 .tl-mark{position:absolute;top:-6px;width:3px;height:26px;border-radius:2px;background:var(--text);}
.cy2 .tl-mark::after{content:attr(data-label);position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:800;color:var(--text);}
.cy2 .tl-days{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text2);font-weight:700;}
.cy2 .ph-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px;}
.cy2 .ph-item{padding:14px;border-radius:14px;background:var(--track);border:1.5px solid transparent;cursor:pointer;}
.cy2 .ph-item.now{border-color:var(--c);background:color-mix(in srgb,var(--c) 12%,var(--track));}
.cy2 .ph-item b{display:flex;align-items:center;gap:8px;font-size:15px;}
.cy2 .ph-item span{display:block;font-size:12.5px;color:var(--text2);margin-top:4px;line-height:1.4;}
.cy2 .ph-item small{display:block;font-size:12px;font-weight:800;color:var(--text2);margin-top:8px;}
.cy2 .disc{font-size:12.5px;color:var(--text2);margin:14px 0 0;}


.cy2 .dot{display:inline-block;width:10px;height:10px;border-radius:50%;}
.cy2 .hero{background:linear-gradient(150deg,color-mix(in srgb,var(--c) 30%,var(--card)),var(--card) 70%);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);}
.cy2 .h-foot a{cursor:pointer;}
.cy2 .wk i{cursor:pointer;}
.cy2 .ph-item.now{border-color:var(--c);background:color-mix(in srgb,var(--c) 12%,var(--track));}
@media (max-width:1180px){ .cy2 .hoy{grid-template-columns:1fr;} .cy2 .ph-list{grid-template-columns:1fr 1fr;} }
@media (max-width:640px){
  .cy2 .hero{padding:20px;}
  .cy2 .cring{width:124px;height:124px;}
  .cy2 .cring .c b{font-size:36px;}
  .cy2 .h-phase{font-size:24px;}
  .cy2 .wk{margin-left:0;width:100%;}
  .cy2 .h-foot .btn-accent{flex:1 1 100%;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;}
}

/* ====== Rediseño 2026 · Controles médicos (bajo .sl2) ====== */
.sl2 .head-acts{display:flex;gap:10px;}
.sl2 .res-top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;}
.sl2 .res-top > .card{margin:0;}
.sl2 .attend-wrap{margin-top:16px;}
.sl2 .attend-wrap > .card{margin:0;}
.sl2 .dbox{border-radius:12px;border:1px solid var(--c,var(--accent));border-top-width:5px;background:color-mix(in srgb,var(--c,var(--accent)) 10%,var(--card));}
.sl2 .sal-dt.big.dbox{width:72px;}
.sl2 .mgroup{font-size:12.5px;font-weight:800;color:var(--text2);letter-spacing:.06em;text-transform:uppercase;margin:18px 0 10px;}
.sl2 .mgroup:first-child{margin-top:4px;}
.sl2 .appt-list .sal-item.appt{border:1px solid var(--c);border-left-width:5px;border-radius:14px;background:color-mix(in srgb,var(--c) 7%,var(--card));padding:12px 14px;margin-bottom:10px;gap:14px;}
.sl2 .appt-list .sal-item.appt.cancel{opacity:.6;}
.sl2 .sal-item.appt .sal-dt{border-left:none !important;}
@media (max-width:900px){ .sl2 .res-top{grid-template-columns:1fr;} }
@media (max-width:640px){
  .sl2 .page-head{flex-direction:column;align-items:stretch;}
  .sl2 .head-acts{width:100%;}
  .sl2 .head-acts button{flex:1;}
  .sl2 .seg.full button{padding:8px 4px;font-size:13.5px;}
}

/* ====== Rediseño 2026 · Finanzas (.fi2) ====== */
.fi2{--in:#34C759;--late:#FF453A;--soon:#F5A623;}
.fi2 .head-acts{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.fi2 .head-acts .finance-fx-pill{margin:0;}
.fi2 .cur{display:flex;align-items:center;gap:6px;height:42px;padding:0 6px 0 12px;border-radius:12px;border:1px solid var(--border);background:var(--card);font-size:13px;font-weight:700;color:var(--text2);}
.fi2 .cur select{background:none;border:none;color:var(--text);font-size:14.5px;font-weight:700;outline:none;font-family:inherit;cursor:pointer;}
.fi2 .sq{width:42px;height:42px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;padding:0;}
.fi2 .sq svg{width:18px;height:18px;}
.fi2 .sq.sm{width:38px;height:38px;}
.fi2 .fi2-main-add{display:inline-flex;align-items:center;gap:6px;}
.fi2 .fi2-main-add svg{width:17px;height:17px;}
.fi2 .fi2-tabs{margin-bottom:16px;}
.fi2 .card-title{font-size:18px;font-weight:700;margin:0;}
.fi2 .nav-round{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);flex-shrink:0;padding:0;}
.fi2 .nav-round svg{width:18px;height:18px;}
.fi2 .money{font-variant-numeric:tabular-nums;white-space:nowrap;}
.fi2 .pos{color:var(--in);}
.fi2 .neg{color:var(--late);}
.fi2 .bar{height:8px;border-radius:6px;background:var(--track);overflow:hidden;}
.fi2 .bar i{display:block;height:100%;border-radius:6px;background:var(--c,var(--accent));}
.fi2 .fi2-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.fi2 .fi2-card-head{margin-bottom:14px;}
.fi2 .fi2-sm{font-size:13px;}
.fi2 .fi2-empty{font-size:14px;margin:6px 0;}
.fi2 .fi2-swap{transition:opacity .16s ease,transform .16s ease;}
.fi2 .fi2-swap.swap-out{opacity:0 !important;transform:translateY(6px);}
.fi2 .fi2-swap.swap-in{animation:huSwapIn .3s cubic-bezier(.2,.8,.2,1) both;}
/* Cuentas */
.fi2 .accts{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.fi2 .avail .stat-label{margin:0 0 6px;}
.fi2 .avail b{font-size:34px;font-weight:800;letter-spacing:-.02em;display:flex;align-items:center;gap:10px;}
.fi2 .avail b button{border:none;background:none;color:var(--text2);padding:0;display:flex;cursor:pointer;}
.fi2 .avail b button svg{width:20px;height:20px;}
.fi2 .fi2-acc-empty{font-size:13px;margin:6px 0 0;}
.fi2 .fi2-acc-debt{font-size:13px;font-weight:600;margin:6px 0 0;color:var(--danger);}
.fi2 .acc-list{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;justify-content:flex-end;}
.fi2 .acc-list::-webkit-scrollbar{display:none;}
.fi2 .acc{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:var(--track);min-width:150px;cursor:pointer;}
.fi2 .acc .em{font-size:20px;}
.fi2 .acc div span{display:block;font-size:12.5px;color:var(--text2);font-weight:600;}
.fi2 .acc b{font-size:15.5px;}
.fi2 .acc.add{background:transparent;border:1.5px dashed var(--border);justify-content:center;color:var(--text2);font-weight:700;font-size:13.5px;min-width:0;gap:6px;}
.fi2 .acc.add svg{width:15px;height:15px;}
/* Mes */
.fi2 .mbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 14px;flex-wrap:wrap;}
.fi2 .mnav{display:flex;align-items:center;gap:10px;}
.fi2 .mnav b{font-size:21px;min-width:150px;text-align:center;}
.fi2 .pgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;}
.fi2 .sum3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.fi2 .sum3 div span{display:block;font-size:12.5px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;}
.fi2 .sum3 div b{font-size:22px;font-weight:800;letter-spacing:-.01em;display:block;overflow:hidden;text-overflow:ellipsis;}
.fi2 .budget{margin-top:20px;padding-top:18px;border-top:1px solid var(--border);}
.fi2 .budget .fi2-row{font-size:14.5px;font-weight:600;margin-bottom:8px;flex-wrap:wrap;}
.fi2 .budget .fi2-row > span:last-child{display:inline-flex;align-items:center;gap:6px;}
.fi2 .budget .bar{height:12px;}
.fi2 .budget p{margin:8px 0 0;font-size:13px;color:var(--text2);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.fi2 .fi2-pen{width:26px;height:26px;border-radius:8px;border:none;background:var(--track);color:var(--text2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.fi2 .fi2-pen svg{width:13px;height:13px;}
.fi2 .cats{display:flex;flex-direction:column;gap:12px;margin-top:4px;}
.fi2 .cat{display:grid;grid-template-columns:28px 1fr auto;gap:4px 10px;align-items:center;}
.fi2 .cat .ic,.fi2 .mv .ic{border-radius:9px;background:color-mix(in srgb,var(--c) 18%,transparent);display:flex;align-items:center;justify-content:center;color:var(--c);}
.fi2 .cat .ic{grid-row:1 / 3;width:28px;height:28px;}
.fi2 .cat .ic i,.fi2 .mv .ic i{width:10px;height:10px;border-radius:50%;background:var(--c);}
.fi2 .cat .n{font-size:14.5px;font-weight:600;min-width:0;}
.fi2 .cat .v{font-size:14px;font-weight:700;text-align:right;}
.fi2 .cat .v small{color:var(--text2);font-weight:600;margin-left:4px;}
.fi2 .cat .bar{grid-column:2 / 4;height:6px;}
.fi2 .cat .cap{grid-column:2 / 4;font-size:11.5px;color:var(--text2);font-weight:600;margin-top:-2px;}
.fi2 .cat .cap.over{color:var(--late);}
/* Movimientos */
.fi2 .movs{margin-top:16px;}
.fi2 .fi2-acts{display:flex;gap:8px;align-items:center;}
.fi2 .fi2-btn-sm{padding:8px 14px;font-size:13.5px;display:inline-flex;align-items:center;gap:6px;}
.fi2 .fi2-btn-sm svg{width:15px;height:15px;}
.fi2 .fi2-menu-wrap{position:relative;}
.fi2 .fi2-catch,.fi2 .fi2-menu{display:none;}
.fi2 .fi2-menu-wrap.open .fi2-catch{display:block;position:fixed;inset:0;z-index:44;}
.fi2 .fi2-menu-wrap.open .fi2-menu{display:block;position:absolute;right:0;top:calc(100% + 6px);z-index:45;min-width:220px;padding:6px;border-radius:14px;background:var(--card);border:1px solid var(--border);box-shadow:0 18px 40px rgba(0,0,0,.3);animation:huFadeIn .15s ease;}
.fi2 .fi2-menu button{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;color:var(--text);font-size:14.5px;font-weight:600;padding:10px 12px;border-radius:10px;text-align:left;cursor:pointer;font-family:inherit;}
.fi2 .fi2-menu button:hover{background:var(--track);}
.fi2 .mv-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0 6px;}
.fi2 .search{flex:1;min-width:200px;display:flex;align-items:center;gap:8px;background:var(--track);border-radius:12px;padding:0 12px;height:40px;color:var(--text2);}
.fi2 .search input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text);font-size:14.5px;font-family:inherit;}
.fi2 .fi2-cat-filter{height:40px;border-radius:12px;border:none;background:var(--track);color:var(--text);font-size:14px;font-weight:600;padding:0 10px;font-family:inherit;outline:none;max-width:180px;}
.fi2 .dayh{display:flex;justify-content:space-between;font-size:12.5px;font-weight:800;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;margin:16px 0 4px;}
.fi2 .mv{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer;}
.fi2 .mv:last-child{border-bottom:none;}
.fi2 .mv .ic{width:38px;height:38px;border-radius:12px;flex-shrink:0;}
.fi2 .mv .t{flex:1;min-width:0;}
.fi2 .mv .t b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fi2 .mv .t span{font-size:13px;color:var(--text2);}
.fi2 .mv .a{font-size:15.5px;font-weight:800;}
.fi2 .mv.tr .a{color:var(--text2);}
.fi2 .fi2-foot{font-size:12.5px;margin:12px 0 0;}
/* Año */
.fi2 .fi2-ywrap{overflow-x:auto;}
.fi2 .ytable{width:100%;border-collapse:collapse;font-size:14.5px;}
.fi2 .ytable th{font-size:12px;font-weight:800;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;text-align:right;padding:0 8px 10px;}
.fi2 .ytable th:first-child,.fi2 .ytable td:first-child{text-align:left;}
.fi2 .ytable td{padding:10px 8px;border-top:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
.fi2 .ytable tbody tr{cursor:pointer;}
.fi2 .ytable tbody tr:hover td{background:color-mix(in srgb,var(--text2) 6%,transparent);}
.fi2 .ytable tr.is-empty td{color:var(--text2);}
.fi2 .ytable tr.cur td{background:color-mix(in srgb,var(--accent) 8%,transparent);}
.fi2 .ytable tr.cur td:first-child{border-radius:10px 0 0 10px;font-weight:800;}
.fi2 .ytable tr.cur td:last-child{border-radius:0 10px 10px 0;}
.fi2 .ytable td.bars{width:34%;}
.fi2 .yb{display:flex;flex-direction:column;gap:3px;}
.fi2 .yb i{display:block;height:6px;border-radius:4px;}
.fi2 .ytable tfoot td{font-weight:800;border-top:2px solid var(--border);}
.fi2 .fi2-ylegend{display:flex;gap:16px;margin-top:14px;font-size:12.5px;font-weight:700;color:var(--text2);}
.fi2 .fi2-ylegend span{display:inline-flex;align-items:center;gap:6px;}
.fi2 .fi2-ylegend i{width:12px;height:6px;border-radius:3px;display:inline-block;}
/* Popups de Finanzas: sólidos y con buen contraste, hoja desde abajo en celular */
.finance-overlay{z-index:70;background:rgba(0,0,0,.45);-webkit-backdrop-filter:none;backdrop-filter:none;padding:20px;animation:huFadeIn .2s ease;}
[data-theme="light"] .finance-overlay{background:rgba(20,22,26,.38);}
.finance-overlay .finance-modal{max-width:470px;max-height:calc(100vh - 40px);overflow-y:auto;border-radius:20px;padding:24px;background:var(--card);border:1px solid var(--border);box-shadow:0 24px 60px rgba(0,0,0,.28);-webkit-backdrop-filter:none;backdrop-filter:none;}
.finance-modal .field{border-color:color-mix(in srgb,var(--text2) 30%,transparent);}
.fi2-del{background:none;border:none;color:var(--danger);font-weight:600;font-size:14.5px;display:flex;align-items:center;gap:6px;padding:4px 0 12px;cursor:pointer;font-family:inherit;}
.fi2-del svg{width:16px;height:16px;}
@media (max-width:1180px){ .fi2 .pgrid{grid-template-columns:1fr;} .fi2 .accts{display:block;} .fi2 .acc-list{justify-content:flex-start;margin-top:14px;} }
@media (max-width:640px){
  .fi2 .page-head{flex-direction:column;align-items:stretch;}
  .fi2 .head-acts .fi2-main-add{flex:1;justify-content:center;}
  .fi2 .seg.full button{padding:8px 12px;font-size:13.5px;flex:0 0 auto;}
  .fi2 .avail b{font-size:30px;}
  .fi2 .mbar{justify-content:center;}
  .fi2 .mnav b{font-size:18px;min-width:130px;}
  .fi2 .sum3 div b{font-size:17px;}
  .fi2 .sum3 div span{font-size:11px;}
  .fi2 .ytable td.bars,.fi2 .ytable th.bars{display:none;}
  .fi2 .ytable{font-size:12.5px;}
  .fi2 .ytable td,.fi2 .ytable th{padding:8px 4px;}
  .fi2 .search{min-width:0;flex-basis:100%;}
  .fi2 .fi2-cat-filter{flex:1;max-width:none;}
  .fi2 .mv-tools .seg{max-width:100%;}
  .finance-overlay{align-items:flex-end;padding:0;}
  .finance-overlay .finance-modal{max-width:none;border-radius:22px 22px 0 0;max-height:94vh;animation:huSheetUp .3s cubic-bezier(.2,.8,.2,1) both;}
}
/* Finanzas · Vencimientos */
.fi2 .vgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:16px;align-items:start;}
.fi2 .vsum b{font-size:30px;font-weight:800;letter-spacing:-.02em;}
.fi2 .vsum .of{font-size:15px;color:var(--text2);font-weight:600;margin-left:6px;}
.fi2 .vsum .bar{height:12px;margin:14px 0 10px;}
.fi2 .vsum > p:not(.stat-label){margin:0;font-size:14px;color:var(--text2);}
.fi2 .vsum .fi2-foot{margin-top:14px;}
.fi2 .fi2-late{color:var(--late);font-weight:700;}
.fi2 .fi2-full{width:100%;margin-top:18px;display:inline-flex;align-items:center;justify-content:center;gap:6px;}
.fi2 .fi2-full svg{width:15px;height:15px;}
.fi2 .vgroup{font-size:12.5px;font-weight:800;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin:4px 0 10px;}
.fi2 .vgroup.fi2-gap{margin-top:20px;}
.fi2 .due{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid var(--border);margin-bottom:10px;cursor:pointer;}
.fi2 .due .chk{width:30px;height:30px;border-radius:50%;border:none;background:color-mix(in srgb,var(--text2) 22%,transparent);color:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;padding:0;}
.fi2 .due .chk svg{width:16px;height:16px;}
.fi2 .due .chk:hover{color:var(--text2);}
.fi2 .due.paid .chk{background:var(--in);color:#fff;}
.fi2 .due .t{flex:1;min-width:0;}
.fi2 .due .t b{display:block;font-size:15.5px;}
.fi2 .due .t span{font-size:13px;color:var(--text2);}
.fi2 .due .pill{display:inline-flex;align-items:center;font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:999px;margin-right:6px;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);}
.fi2 .due .pill.is-soon,.fi2 .due .pill.is-today{--c:var(--soon);}
.fi2 .due .pill.is-overdue{--c:var(--late);}
.fi2 .due .a{font-size:15.5px;font-weight:800;}
.fi2 .due.paid{background:transparent;}
.fi2 .due.paid .t b,.fi2 .due.paid .a{color:var(--text2);}
.fi2 .due.paid .t b{text-decoration:line-through;}
@media (max-width:1180px){ .fi2 .vgrid{grid-template-columns:1fr;} }
@media (max-width:640px){ .fi2 .due{padding:12px;gap:10px;} }
/* Finanzas · Objetivos y deseos */
.fi2 .fi2-intro{margin-bottom:14px;flex-wrap:wrap;}
.fi2 .fi2-intro p{margin:0;font-size:14px;}
.fi2 .fi2-min{min-width:0;}
.fi2 .wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;}
.fi2 .wish{display:flex;flex-direction:column;gap:14px;}
.fi2 .wish-top{display:flex;align-items:center;gap:14px;}
.fi2 .wring{position:relative;width:64px;height:64px;flex-shrink:0;}
.fi2 .wring svg{width:100%;height:100%;transform:rotate(-90deg);}
.fi2 .wring span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:var(--text);}
.fi2 .wring span svg{width:20px;height:20px;transform:none;color:var(--in);}
.fi2 .wish-top b{display:block;font-size:17px;}
.fi2 .wish-top span{font-size:13.5px;color:var(--text2);}
.fi2 .wplan{font-size:13.5px;padding:10px 12px;border-radius:12px;background:var(--track);display:flex;gap:8px;align-items:center;}
.fi2 .wplan svg{flex-shrink:0;color:var(--text2);}
.fi2 .wplan.is-late{color:var(--late);}
.fi2 .saves{display:flex;flex-direction:column;gap:6px;}
.fi2 .saves > div{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;}
.fi2 .saves > div > span{color:var(--text2);display:inline-flex;align-items:center;gap:8px;min-width:0;}
.fi2 .saves i{width:8px;height:8px;border-radius:50%;background:var(--c);flex-shrink:0;}
.fi2 .saves b{display:inline-flex;align-items:center;gap:6px;}
.fi2 .saves b button{border:none;background:none;color:var(--text2);padding:2px;display:flex;cursor:pointer;opacity:.6;}
.fi2 .saves b button:hover{opacity:1;}
.fi2 .saves b button svg{width:13px;height:13px;}
.fi2 .wish-foot{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border);margin-top:auto;}
.fi2 .fi2-icon-del{border:none;background:none;color:var(--text2);padding:4px;display:flex;cursor:pointer;margin-left:6px;}
.fi2 .fi2-icon-del:hover{color:var(--danger);}
.fi2 .fi2-icon-del svg{width:15px;height:15px;}
.fi2 .wish.done{opacity:.75;}
.fi2 .wish.add{border:1.5px dashed var(--border);background:transparent;align-items:center;justify-content:center;color:var(--text2);font-weight:700;min-height:200px;cursor:pointer;flex-direction:row;gap:8px;text-align:center;}
.fi2 .wish.add svg{width:20px;height:20px;flex-shrink:0;}
@media (max-width:640px){ .fi2 .wgrid{grid-template-columns:1fr;} .fi2 .wish.add{min-height:120px;} }
/* Finanzas · Patrimonio */
.fi2 .ptop{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;}
.fi2 .ptop > .card{display:flex;flex-direction:column;}
.fi2 .fi2-ptop-head{align-items:flex-start;flex-wrap:wrap;}
.fi2 .ptotal .stat-label{margin:0 0 6px;}
.fi2 .ptotal .avail b{font-size:36px;}
.fi2 .fi2-gain{margin:6px 0 0;font-size:13.5px;color:var(--text2);font-weight:600;}
.fi2 .fi2-gain .finance-change{font-size:13px;}
.fi2 .fi2-chart{margin-top:16px;}
.fi2 .fi2-full-w{width:100%;}
.fi2 .pdonut{align-items:center;gap:14px;}
.fi2 .pdonut .d{position:relative;width:170px;height:170px;}
.fi2 .pdonut svg{width:100%;height:100%;transform:rotate(-90deg);}
.fi2 .pdonut .c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.fi2 .pdonut .c b{font-size:22px;font-weight:800;}
.fi2 .pdonut .c span{font-size:12px;color:var(--text2);font-weight:700;}
.fi2 .plegend{width:100%;display:flex;flex-direction:column;gap:8px;}
.fi2 .plegend div{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;}
.fi2 .plegend i{width:12px;height:12px;border-radius:4px;flex-shrink:0;}
.fi2 .plegend span{flex:1;min-width:0;}
.fi2 .plegend b{font-size:13.5px;color:var(--text2);}
.fi2 .groups{margin-top:16px;}
.fi2 .groups > .fi2-row{margin-bottom:4px;}
.fi2 .fi2-icon-btn{width:34px;height:34px;border-radius:10px;border:none;background:var(--track);color:var(--text2);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.fi2 .fi2-icon-btn svg{width:16px;height:16px;}
.fi2 .grp{border-bottom:1px solid var(--border);}
.fi2 .grp:last-of-type{border-bottom:none;}
.fi2 .grp-h{display:flex;align-items:center;gap:12px;padding:14px 0;cursor:pointer;}
.fi2 .grp-h i.sw{width:12px;height:12px;border-radius:4px;background:var(--c);flex-shrink:0;}
.fi2 .grp-h b{flex:1;font-size:15.5px;min-width:0;}
.fi2 .grp-h .pct{font-size:13px;color:var(--text2);font-weight:700;width:46px;text-align:right;}
.fi2 .grp-h .v{font-size:15.5px;font-weight:800;min-width:120px;text-align:right;}
.fi2 .grp-h .chev{color:var(--text2);transition:transform .2s;display:flex;}
.fi2 .grp-h .chev svg{width:16px;height:16px;}
.fi2 .grp-h .chev.is-open{transform:rotate(90deg);}
.fi2 .holds{padding:0 0 12px 24px;}
.fi2 .holds.is-hidden{display:none;}
.fi2 .hold{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;background:var(--track);margin-bottom:6px;font-size:14px;cursor:pointer;}
.fi2 .hold .finance-holding-icon{width:30px;height:30px;}
.fi2 .hold .finance-holding-icon svg{width:15px;height:15px;}
.fi2 .hold .t{flex:1;min-width:0;}
.fi2 .hold .t b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fi2 .hold .t span{font-size:12.5px;color:var(--text2);}
.fi2 .hold .hv{display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
.fi2 .hold .hv span{display:flex;gap:6px;}
.fi2 .hold .finance-change{font-size:12px;font-weight:800;}
.fi2 .finance-change.is-up{color:var(--in);}
.fi2 .disc{font-size:12.5px;color:var(--text2);margin:16px 0 0;line-height:1.5;display:flex;gap:8px;align-items:flex-start;}
.fi2 .disc svg{width:15px;height:15px;flex-shrink:0;margin-top:2px;}
@media (max-width:1180px){ .fi2 .ptop{grid-template-columns:1fr;} }
@media (max-width:640px){
  .fi2 .ptotal .avail b{font-size:30px;}
  .fi2 .grp-h .v{min-width:0;}
  .fi2 .grp-h .pct{display:none;}
  .fi2 .holds{padding-left:0;}
}
@media (max-width:640px){
  .fi2 .sum3{grid-template-columns:1fr;gap:8px;}
  .fi2 .sum3 div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
  .fi2 .sum3 div b{font-size:18px;}
}

/* ====== Rediseño 2026 · Biblioteca (.bi2) ====== */
.bi2{--star:#F5B83D;}
.bi2 .bi2-add{display:inline-flex;align-items:center;gap:6px;width:auto;}
.bi2 .bi2-add svg{width:17px;height:17px;}
.bi2 .bi2-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.bi2 .bi2-row .stat-label{margin:0;}
.bi2 .bi2-pen{width:28px;height:28px;border-radius:8px;border:none;background:var(--track);color:var(--text2);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.bi2 .bi2-pen svg{width:14px;height:14px;}
.bi2 .bi2-sm{padding:8px 14px;font-size:13.5px;width:auto;align-self:flex-start;}
.bi2 .bi2-empty{font-size:14.5px;margin:4px 0 0;}
.bi2 .bar{height:6px;border-radius:6px;background:var(--track);overflow:hidden;}
.bi2 .bar i{display:block;height:100%;border-radius:6px;background:var(--accent);}
.bi2 .stars{color:var(--star);letter-spacing:1px;font-size:13px;white-space:nowrap;}
.bi2 .stars .off{color:color-mix(in srgb,var(--text2) 40%,transparent);}
/* Portada generada: si hay imagen va encima; si no, título y autor sobre el color del libro */
.bi2-cover{position:relative;aspect-ratio:2/3;border-radius:6px 10px 10px 6px;background:linear-gradient(160deg,color-mix(in srgb,var(--cv) 85%,#fff 15%),var(--cv) 55%,color-mix(in srgb,var(--cv) 70%,#000)) !important;color:#fff;overflow:hidden;display:flex !important;flex-direction:column;justify-content:space-between !important;align-items:stretch !important;padding:1.1em .9em;box-shadow:0 6px 16px rgba(0,0,0,.25);font-size:13px;text-align:left;}
.bi2-cover::before{content:"";position:absolute;left:5%;top:0;bottom:0;width:2px;background:rgba(255,255,255,.18);}
.bi2-cover > b{font-family:Georgia,'Times New Roman',serif;font-size:clamp(11px,1.15em,18px);line-height:1.15;font-weight:700;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;}
.bi2-cover > span{font-size:.72em;opacity:.85;font-weight:600;}
.bi2-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.bi2-cover .bib-badge,.bi2-cover .bib-sbadge{z-index:2;}
/* Arriba */
.bi2 .top{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;margin-bottom:22px;}
.bi2 .now-list{display:flex;flex-direction:column;gap:14px;margin-top:4px;}
.bi2 .now{display:flex;gap:16px;align-items:center;cursor:pointer;}
.bi2 .now .bi2-cover{width:68px;flex-shrink:0;font-size:9px;}
.bi2 .now .t{flex:1;min-width:0;}
.bi2 .now .t b{display:block;font-size:16.5px;}
.bi2 .now .t span.a{font-size:13.5px;color:var(--text2);}
.bi2 .now .bar{margin:10px 0 6px;height:8px;}
.bi2 .now .meta{display:flex;justify-content:space-between;font-size:12.5px;font-weight:700;color:var(--text2);}
.bi2 .now .upd{flex-shrink:0;width:auto;padding:8px 14px;font-size:13.5px;}
.bi2 .goal{display:flex;flex-direction:column;gap:16px;}
.bi2 .goal-main{display:flex;align-items:center;gap:18px;}
.bi2 .gring{position:relative;width:96px;height:96px;flex-shrink:0;}
.bi2 .gring svg{width:100%;height:100%;transform:rotate(-90deg);}
.bi2 .gring .c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;}
.bi2 .gring .c b{font-size:26px;font-weight:800;}
.bi2 .gring .c span{font-size:11.5px;color:var(--text2);font-weight:700;margin-top:3px;}
.bi2 .goal-main p{margin:0;font-size:14px;color:var(--text2);line-height:1.45;}
.bi2 .goal-main p b{color:var(--text);}
.bi2 .mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:14px;border-top:1px solid var(--border);}
.bi2 .mini > div > span{display:block;font-size:11.5px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;}
.bi2 .mini b{font-size:17px;font-weight:800;white-space:nowrap;}
.bi2 .mini b.bi2-fav{font-size:14px;display:block;overflow:hidden;text-overflow:ellipsis;}
.bi2 .bi2-years{font-size:12.5px;margin:-6px 0 0;}
/* Estantería */
.bi2 .shelf-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.bi2 .tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px;}
.bi2 .search{flex:1;min-width:200px;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:0 12px;height:42px;color:var(--text2);}
.bi2 .search input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text);font-size:14.5px;font-family:inherit;}
.bi2 .sel{height:42px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);padding:0 12px;font-size:14px;font-weight:600;font-family:inherit;outline:none;}
.bi2 .gchips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:18px;align-items:center;}
.bi2 .gchips::-webkit-scrollbar{display:none;}
.bi2 .gchips button{flex-shrink:0;border:1.5px solid var(--border);background:transparent;color:var(--text);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;}
.bi2 .gchips button small{color:var(--text2);font-weight:700;margin-left:3px;}
.bi2 .gchips button.on{background:var(--text);border-color:var(--text);color:var(--bg);}
.bi2 .gchips button.on small{color:var(--bg);opacity:.7;}
.bi2 .gchips .gear{width:34px;height:34px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--text2);}
.bi2 .gchips .gear svg{width:16px;height:16px;}
.bi2 .grp-tog{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--text2);}
.bi2 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:22px 18px;}
.bi2 .bi2-none{text-align:center;padding:40px 20px;}
.bi2 .bi2-none p{margin:0;font-size:15px;}
.bi2 .book{min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:8px;}
.bi2 .book .bi2-cover{transition:transform .2s ease;}
.bi2 .book:hover .bi2-cover{transform:translateY(-3px);}
.bi2 .book .bt em{display:block;font-style:normal;color:var(--accent);font-weight:800;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bi2 .book .bt b{display:block;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bi2 .book .bt span{display:block;font-size:13px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bi2 .book .bf{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text2);min-height:16px;}
.bi2 .book .bf .is-reading{color:var(--accent);}
.bi2 .badge-st{position:absolute;top:8px;right:8px;font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;backdrop-filter:blur(4px);}
.bi2 .saga .stack{position:relative;aspect-ratio:2/3;}
.bi2 .saga .stack .bi2-cover{position:absolute;width:74%;top:9%;font-size:11px;}
.bi2 .saga .stack .bi2-cover:not(:last-of-type) > b,.bi2 .saga .stack .bi2-cover:not(:last-of-type) > span{visibility:hidden;}
.bi2 .saga .stack .bi2-cover:nth-child(1){left:0;transform:rotate(-4deg);z-index:1;opacity:.85;}
.bi2 .saga .stack .bi2-cover:nth-child(2){left:11%;transform:rotate(0);z-index:2;}
.bi2 .saga .stack .bi2-cover:nth-child(3){left:22%;transform:rotate(4deg);z-index:3;}
.bi2 .saga .stack.n1 .bi2-cover:nth-child(1){left:13%;transform:none;opacity:1;}
.bi2 .saga .stack.n2 .bi2-cover:nth-child(2){left:22%;transform:rotate(4deg);}
.bi2 .saga .stack .badge-st{top:auto;bottom:6%;right:4%;z-index:4;}
.bi2 .back{display:inline-flex;align-items:center;gap:6px;border:none;background:none;color:var(--text2);font-size:14.5px;font-weight:700;padding:0;margin-bottom:14px;cursor:pointer;font-family:inherit;}
.bi2 .back svg{width:17px;height:17px;}
.bi2 .bi2-sbar{height:8px;margin-bottom:22px;}
@media (max-width:1180px){ .bi2 .top{grid-template-columns:1fr;} }
@media (max-width:640px){
  .bi2 .page-head{flex-direction:column;align-items:stretch;}
  .bi2 .bi2-add{justify-content:center;}
  .bi2 .now .upd{display:none;}
  .bi2 .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px;}
  .bi2 .book .bi2-cover{font-size:9px;}
  .bi2 .book .bt b{font-size:13px;}
  .bi2 .book .bt span,.bi2 .book .bf{font-size:11.5px;}
  .bi2 .badge-st{font-size:9px;padding:2px 6px;top:5px;right:5px;}
  .bi2 .mini b{font-size:15px;}

}
.bi2-book-modal{max-width:1100px !important;}
.bi2-backdrop .hu-modal .field{border-color:color-mix(in srgb,var(--text2) 30%,transparent);}

/* ====== Rediseño 2026 · Notificaciones (.nf2) ====== */
.nf2{max-width:760px;}
.nf2 .bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.nf2 .seg button small{font-weight:800;margin-left:5px;color:var(--accent);opacity:1;}
.nf2 .hu-link svg{width:16px;height:16px;}
.nf2 .grp{font-size:12.5px;font-weight:800;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin:22px 0 10px;}
.nf2 .grp:first-child{margin-top:0;}
.nf2 .card.list{padding:0;overflow:hidden;}
.nf2 .nt{display:flex;gap:14px;padding:16px 20px;cursor:pointer;position:relative;border-bottom:1px solid var(--border);}
.nf2 .nt:last-child{border-bottom:none;}
.nf2 .nt:hover{background:color-mix(in srgb,var(--text) 3%,transparent);}
.nf2 .nt .ic{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;background:color-mix(in srgb,var(--c) 16%,transparent);}
.nf2 .nt .t{flex:1;min-width:0;}
.nf2 .nt .h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
.nf2 .nt .h b{font-size:15.5px;font-weight:700;}
.nf2 .nt .h time{font-size:12.5px;color:var(--text2);font-weight:600;white-space:nowrap;}
.nf2 .nt .pv{margin:4px 0 0;font-size:14.5px;color:var(--text2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.nf2 .nt.open .pv{display:none;}
.nf2 .nt .full{margin:10px 0 0;font-size:15px;line-height:1.6;white-space:pre-wrap;cursor:text;}
.nf2 .nt .acts{display:flex;align-items:center;gap:14px;margin-top:14px;flex-wrap:wrap;}
.nf2 .nf2-btn{width:auto;padding:8px 14px;font-size:13.5px;}
.nf2 .like{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:transparent;color:var(--text2);border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit;}
.nf2 .like svg{width:15px;height:15px;}
.nf2 .like.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);}
.nf2 .nt.unread::before{content:"";position:absolute;left:7px;top:34px;width:7px;height:7px;border-radius:50%;background:var(--accent);}
.nf2 .nt.unread .h b{font-weight:800;}
.nf2 .empty{text-align:center;padding:44px 20px;}
.nf2 .empty .ic{width:64px;height:64px;border-radius:20px;background:var(--track);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:var(--text2);}
.nf2 .empty .ic svg{width:28px;height:28px;}
.nf2 .empty .et{font-size:17px;font-weight:700;margin:0 0 4px;}
.nf2 .empty .muted{margin:0;font-size:14.5px;}
@media (max-width:640px){
  .nf2 .nt{padding:14px 14px 14px 18px;gap:12px;}
  .nf2 .nt .ic{width:38px;height:38px;font-size:17px;}
  .nf2 .nt .h{flex-direction:column;gap:2px;}
}

/* ====== Rediseño 2026 · Mensajes (.ms2) ====== */
.ms2 .page-head{margin-bottom:18px;}
.ms2 .chat{display:flex;flex-direction:column;padding:0;overflow:hidden;width:100%;height:calc(100vh - 230px);min-height:440px;}
.ms2 .back{display:inline-flex;align-items:center;gap:6px;border:none;background:none;color:var(--text2);font-size:14.5px;font-weight:700;padding:0;margin-bottom:14px;cursor:pointer;font-family:inherit;}
.ms2 .back svg{width:17px;height:17px;}
.ms2 .back + .chat{height:calc(100vh - 170px);}
.ms2 .ch-head{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border);}
.ms2 .av{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 50%,#7A1E5A));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;flex-shrink:0;object-fit:cover;}
.ms2 .who{min-width:0;}
.ms2 .ch-head b{display:block;font-size:16.5px;}
.ms2 .ch-head .who span{font-size:13px;color:var(--text2);}
.ms2 .ch-head .resp{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--text2);text-align:right;max-width:130px;}
.ms2 #chatThreadWrap{flex:1;min-height:0;display:flex;flex-direction:column;}
.ms2 .ms2-empty{font-size:14px;margin:20px;}
.ms2 .thread{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:4px;}
.ms2 .day{align-self:center;font-size:12px;font-weight:800;color:var(--text2);background:var(--track);padding:4px 12px;border-radius:999px;margin:12px 0 8px;}
.ms2 .msg{display:flex;flex-direction:column;max-width:72%;align-self:flex-start;}
.ms2 .msg.me{align-self:flex-end;align-items:flex-end;}
.ms2 .msg .bb{padding:10px 14px;font-size:15px;line-height:1.5;white-space:pre-wrap;border-radius:18px;overflow-wrap:anywhere;}
.ms2 .msg.them .bb{background:var(--track);border-bottom-left-radius:6px;}
.ms2 .msg.me .bb{background:var(--accent);color:#fff;border-bottom-right-radius:6px;}
.ms2 .msg .bb a{color:var(--accent);font-weight:600;text-decoration:underline;}
.ms2 .msg.me .bb a{color:#fff;}
.ms2 .msg.same.them .bb{border-top-left-radius:6px;}
.ms2 .msg.same.me .bb{border-top-right-radius:6px;}
.ms2 .msg time{font-size:11.5px;color:var(--text2);margin:4px 6px 8px;display:flex;align-items:center;gap:4px;}
.ms2 .msg.mid time{display:none;}
.ms2 .msg .ck{display:inline-flex;}
.ms2 .typing{display:none;align-self:flex-start;gap:4px;padding:12px 14px;border-radius:18px;border-bottom-left-radius:6px;background:var(--track);margin:0 20px 8px;width:max-content;}
.ms2 .typing.on{display:flex;}
.ms2 .typing i{width:7px;height:7px;border-radius:50%;background:var(--text2);animation:ms2Typing 1.2s infinite;}
.ms2 .typing i:nth-child(2){animation-delay:.15s;}
.ms2 .typing i:nth-child(3){animation-delay:.3s;}
@keyframes ms2Typing{0%,60%,100%{opacity:.3;transform:none;}30%{opacity:1;transform:translateY(-3px);}}
.ms2 .hello{margin:auto;text-align:center;max-width:420px;padding:20px;}
.ms2 .hello .av{width:72px;height:72px;font-size:26px;margin:0 auto 14px;}
.ms2 .hello p{margin:0;}
.ms2 .hello .ht{font-size:19px;font-weight:700;margin-bottom:6px;}
.ms2 .hello .muted{font-size:14.5px;line-height:1.5;}
.ms2 .sugs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px;}
.ms2 .sugs button{border:1px solid var(--border);background:var(--track);color:var(--text);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;}
.ms2 .comp{display:flex;align-items:flex-end;gap:10px;padding:14px 16px;border-top:1px solid var(--border);}
.ms2 .comp textarea{flex:1;resize:none;min-height:46px;max-height:140px;border-radius:23px;border:1px solid var(--border);background:var(--track);color:var(--text);font:inherit;font-size:15px;padding:12px 18px;outline:none;line-height:1.4;overflow-y:auto;}
.ms2 .comp textarea:focus{border-color:var(--accent);}
.ms2 .send{width:46px;height:46px;border-radius:50%;border:none;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;padding:0;}
.ms2 .send svg{width:20px;height:20px;}
.ms2 .send:disabled{background:var(--track);color:var(--text2);cursor:default;}
.ms2 .hint-k{font-size:11.5px;color:var(--text2);text-align:right;padding:0 20px 10px;margin:-6px 0 0;}
@media (max-width:640px){
  .ms2 .chat{height:calc(100vh - 210px);min-height:380px;}
  .ms2 .ch-head{padding:12px 14px;}
  .ms2 .ch-head .resp{font-size:11px;max-width:96px;}
  .ms2 .thread{padding:14px;}
  .ms2 .msg{max-width:85%;}
  .ms2 .hint-k{display:none;}
  .ms2 .comp{padding:10px 12px;}
}
/* Panel de un día (vista Mes del Planificador): la misma tarjeta de día del rediseño. */
.weekly-day-panel-overlay{z-index:70;background:rgba(0,0,0,.45);-webkit-backdrop-filter:none;backdrop-filter:none;}
[data-theme="light"] .weekly-day-panel-overlay{background:rgba(20,22,26,.38);}
.weekly-day-panel .wk2 .day.weekly-panel-day{padding:0;border:none;background:none;}
.weekly-panel-nav{font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:4px;color:var(--accent);text-decoration:none;}
.weekly-panel-nav svg{width:16px;height:16px;}
.hu-x svg{width:18px;height:18px;}
.ag2 .hours span.first{transform:none;top:3px !important;}
/* Entrenamiento · editar rutina: nombre del día como título editable y descansos en dos columnas */
.tr2 .title-in{width:100%;background:none;border:none;outline:none;color:var(--text);font-weight:700;padding:4px 0;border-bottom:1.5px solid var(--border);font-family:inherit;letter-spacing:-.01em;}
.tr2 .title-in:focus{border-color:var(--accent);}
.tr2 .eb-rests{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px;}
.tr2 .eb-rests .rest-sel{margin:0;flex-direction:column;align-items:stretch;gap:5px;}
.tr2 .eb-rests .rest-sel select{width:100%;padding:8px 10px;font-size:14px;font-family:inherit;}
@media (max-width:640px){ .tr2 .title-in{font-size:22px !important;} }
.cy2 .h-foot .btn-accent{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;}
@media (max-width:640px){ .bi2 .book .bf{flex-wrap:wrap;row-gap:2px;} .bi2 .book .bf .stars{font-size:11px;letter-spacing:0;} }
/* Títulos de sección: mismo tamaño en toda la app (también en las secciones con clase propia). */
.est-title,.nut-title,.ac-title{font-size:30px;}
.est-sub,.nut-sub,.ac-sub{font-size:16px;color:var(--text2);}
@media (max-width:640px){
  .est-title,.nut-title,.ac-title{font-size:26px;}
  .est-sub,.nut-sub,.ac-sub{font-size:15px;}
}
/* Descripción del hábito debajo del nombre (Inicio y Panel de Hábitos) */
.hm .habit .nm small{display:block;font-size:11.5px;font-weight:500;color:var(--text2);margin-top:3px;line-height:1.3;}
.hb2 .hcard .nm .desc{display:block;font-size:13px;color:var(--text2);margin:1px 0 2px;line-height:1.3;}
/* Proyectos · hábitos vinculados */
.pr2 .pr2-habits{display:flex;flex-direction:column;gap:8px;}
.pr2 .ph{display:flex;align-items:center;gap:10px;padding:9px 10px 9px 12px;border-radius:12px;background:var(--track);}
.pr2 .ph .em{font-size:20px;flex-shrink:0;}
.pr2 .ph .t{flex:1;min-width:0;}
.pr2 .ph .t b{display:block;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pr2 .ph .t span{font-size:12.5px;color:var(--text2);}
.pr2 .ph .ck{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);background:var(--card);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;padding:0;}
.pr2 .ph.done .ck{background:var(--success);border-color:var(--success);}
/* Planificador: ordenar tareas arrastrando desde la manija (también en celular) */
.wk2 .task .grip{position:static;display:flex;align-items:center;justify-content:center;width:20px;height:22px;margin:0 -4px 0 -2px;flex-shrink:0;opacity:0;cursor:grab;touch-action:none;color:var(--text2);transition:opacity var(--ease-standard);}
.wk2 .task:hover .grip{opacity:.6;}
@media (hover:none){ .wk2 .task .grip{opacity:.55;} }
.wk2 .tasks.sorting{user-select:none;-webkit-user-select:none;}
.wk2 .tasks.sorting .task{cursor:grabbing;}
.wk2 .task.dragging{opacity:1;background:var(--card);box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:2;}
.wk2 .task.dragging .grip{opacity:1;cursor:grabbing;}
@media (hover:none){ .pr2 .step .grip{opacity:.55;touch-action:none;} }
/* Rachas: 7 columnas iguales y círculos que se achican para entrar siempre en su tarjeta
   (antes tenían ancho fijo y en tarjetas angostas se salían por la derecha). */
.hb2 .streak-dots,.rt2 .streak-dots,.tr2 .streak-dots,.est-streak-dots{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;}
.hb2 .streak-dots div,.rt2 .streak-dots div,.tr2 .streak-dots div,.est-streak-dots div{min-width:0;}
.hb2 .streak-dots b,.rt2 .streak-dots b,.tr2 .streak-dots b,.est-streak-dots b{width:100%;max-width:26px;height:auto;aspect-ratio:1;}
.hb2 .streak-dots b.today,.rt2 .streak-dots b.today,.tr2 .streak-dots b.today,.est-streak-dots b.today{outline-offset:1px;}
@media (max-width:640px){
  .hb2 .streak-dots,.rt2 .streak-dots,.tr2 .streak-dots,.est-streak-dots{gap:4px;}
  .hb2 .streak-dots b,.rt2 .streak-dots b,.tr2 .streak-dots b,.est-streak-dots b{max-width:22px;font-size:10px;}
}
/* Panel de Hábitos · Mes: "Hábitos por día" + "Cómo va cada uno" van una debajo de la otra en tablet y celular */
.hb2 .two-col.rev{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);}
@media (max-width:1180px){ .hb2 .two-col.rev{grid-template-columns:1fr;} }
/* Vencimientos: cobros */
.fi2 .fi2-vsum-gap{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);}
.fi2 .vsum .fi2-vsum-gap > p:not(.stat-label){margin:0;font-size:14px;color:var(--text2);}
.fi2 .due .kind-in{color:var(--in);font-weight:700;}
.fi2 .due.income.paid .chk{background:var(--in);}
.nt2 .cat .dots.off{visibility:hidden;pointer-events:none;}
/* Proyectos · estadísticas de hábitos vinculados */
.pr2 .ph-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;}
.pr2 .ph-stats div{background:var(--track);border-radius:12px;padding:10px;text-align:center;}
.pr2 .ph-stats b{display:block;font-size:20px;font-weight:800;}
.pr2 .ph-stats span{display:block;font-size:11.5px;color:var(--text2);font-weight:600;line-height:1.25;margin-top:2px;}
.pr2 .ph{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px;}
.pr2 .ph-top{display:flex;align-items:center;gap:10px;}
.pr2 .ph-bar{height:6px;border-radius:6px;background:color-mix(in srgb,var(--text2) 18%,transparent);overflow:hidden;}
.pr2 .ph-bar i{display:block;height:100%;border-radius:6px;background:var(--success);}
.pr2 .ph-days{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:3px;}
.pr2 .ph-days i{display:block;aspect-ratio:1;max-width:14px;border-radius:4px;background:color-mix(in srgb,var(--text2) 18%,transparent);}
.pr2 .ph-days i.on{background:var(--success);}
.pr2 .ph-days i.today{outline:1.5px solid var(--text2);outline-offset:1px;}
/* Proyecto: en tablet y celular el lápiz de editar va arriba a la derecha de la tarjeta (antes quedaba solo en una fila) */
@media (max-width:1180px){
  .pr2 .phead{position:relative;}
  .pr2 .phead .pedit{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:var(--track);color:var(--text);}
  .pr2 .phead .nm{padding-right:34px;}
}

/* ====== Rediseño 2026 · Nutrición (.nut) ====== */
.nut .head-acts{display:flex;gap:10px;align-items:center;}
.nut .sq{width:42px;height:42px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;padding:0;}
.nut .sq.sm{width:38px;height:38px;}
.nut .sq svg{width:18px;height:18px;}
.nut .nut-main-add{display:inline-flex;align-items:center;gap:6px;width:auto;}
.nut .nut-main-add svg{width:17px;height:17px;}
.nut .nut-tabs2{margin-bottom:16px;}
.nut .nut-note{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.45;color:var(--text2);margin:22px 0 0;}
.nut .nut-note svg{flex-shrink:0;margin-top:1px;width:15px;height:15px;}
/* Semana */
.nut .nut-wbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.nut .mnav{display:flex;align-items:center;gap:10px;}
.nut .mnav .wl{text-align:center;min-width:150px;display:flex;flex-direction:column;align-items:center;}
.nut .mnav .wl b{font-size:19px;}
.nut .mnav .wl small,.nut .mnav .wl a{font-size:12.5px;font-weight:700;color:var(--accent);margin-top:1px;}
.nut .nav-round{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);flex-shrink:0;padding:0;}
.nut .nav-round svg{width:18px;height:18px;}
.nut .nut-menu-wrap{position:relative;}
.nut .nut-catch,.nut .nut-menu{display:none;}
.nut .nut-menu-wrap.open .nut-catch{display:block;position:fixed;inset:0;z-index:44;}
.nut .nut-menu-wrap.open .nut-menu{display:block;position:absolute;right:0;top:calc(100% + 6px);z-index:45;min-width:230px;padding:6px;border-radius:14px;background:var(--card);border:1px solid var(--border);box-shadow:0 18px 40px rgba(0,0,0,.3);animation:huFadeIn .15s ease;}
.nut .nut-menu button{display:block;width:100%;border:none;background:none;color:var(--text);font-size:14.5px;font-weight:600;padding:10px 12px;border-radius:10px;text-align:left;cursor:pointer;font-family:inherit;}
.nut .nut-menu button:hover{background:var(--track);}
.nut .nut-cell{border-radius:12px;}
.nut .nut-cell.empty{font-size:16px;border-width:1.5px;opacity:.7;}
.nut .nut-cell.empty:hover{opacity:1;}
.nut .nut-dchip{border:none;border-radius:14px;padding:8px 0 9px;background:var(--track);}
.nut .nut-dchip span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;}
.nut .nut-dchip b{font-size:17px;}
.nut .nut-lrow .nut-cell{min-height:48px;}
.nut .nut-lrow .nut-cell.empty{min-height:40px;}
/* Mi día */
.nut .nut-meal{padding:16px 0;}
.nut .nut-meal-h p:first-child{font-size:16px;}
.nut .nut-seg{display:inline-flex;background:var(--track);padding:4px;border-radius:12px;gap:4px;flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none;}
.nut .nut-seg::-webkit-scrollbar{display:none;}
.nut .nut-seg button{border:none;background:none;border-radius:9px;padding:7px 14px;font-size:14px;font-weight:600;color:var(--text2);white-space:nowrap;}
.nut .nut-seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.14);border:none;}
.nut .nut-feel button{border:1.5px solid var(--border);font-weight:600;padding:5px 12px;}
.nut .nut-feel button.on{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent);}
.nut .nut-time{border-radius:10px !important;}
/* Compras */
.nut .nut-shopbar{height:8px;margin-top:10px;max-width:420px;}
.nut .nut-shopbar i{background:var(--success);transition:width .25s ease;}
.nut .nut-cat-h{font-size:12.5px;font-weight:800;letter-spacing:.06em;margin:20px 0 4px;}
.nut .nut-shop .nut-check{border-radius:50%;}
.nut .nut-shop.done .nut-check{background:var(--success);border-color:var(--success);}
/* Recetas */
.nut .nut-rcard{border:1px solid var(--border);}
.nut .nut-rcard:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));}
.nut .nut-rcard .em{width:58px;height:58px;font-size:32px;border-radius:16px;}
.nut .nut-rmac span{background:var(--track);padding:3px 9px;border-radius:999px;}
/* Patrones */
.nut .nut-patterns > .card{display:flex;flex-direction:column;}
.nut .nut-headline{font-size:18px;font-weight:700;line-height:1.35;}
@media (max-width:640px){
  .nut .page-head{flex-direction:column;align-items:stretch;}
  .nut .head-acts .nut-main-add{flex:1;justify-content:center;}
  .nut .seg.full button{padding:8px 12px;font-size:13.5px;flex:0 0 auto;}
  .nut .mnav .wl{min-width:0;}
  .nut .mnav .wl b{font-size:17px;}
  .nut .nut-seg{display:flex;}
}
.nut .nut-dchip.on{background:var(--accent);color:#fff;}
.nut .nut-dchip.on span,.nut .nut-dchip.on i{color:#fff;}
.nut .nut-rcard{display:grid;grid-template-columns:58px minmax(0,1fr);column-gap:14px;row-gap:6px;align-items:start;padding:18px;}
.nut .nut-rcard .em{grid-row:1 / span 4;}
.nut .nut-rcard > :not(.em){grid-column:2;}
.nut .nut-rcard .t{font-size:16.5px;line-height:1.25;}
/* Inicio · tarjeta del Ritual: en Safari de iPhone una tarjeta con overflow:hidden dentro de la grilla
   podía quedar más baja que su contenido y cortar el botón. Se recorta con overflow:clip (no le quita
   su alto mínimo) y nunca puede ser más baja que lo que tiene adentro. */
.hm .hero{overflow:clip;height:auto;}
@media (max-width:640px){ .hm .hero{min-height:max-content;} }
@supports not (overflow:clip){ .hm .hero{overflow:visible;clip-path:inset(0 round 16px);} }

/* Inicio: caja de Finanzas para cargar un movimiento sin salir */
.home-fin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.home-fin-head .card-title{margin:0;}
.home-fin-more{font-size:13px;}
.home-fin-text{font-size:15px;margin:0 0 14px;}
.home-fin-cta{width:100%;}

/* ====== Rediseño 2026 · Módulos (landing #modulos) ====== */
.ml-wrap{--gold:#C9A24A;}
.ml-controls{display:flex;gap:12px 22px;flex-wrap:wrap;align-items:center;margin-bottom:18px;}
.ml-ctl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.ml-ctl-l{font-size:12.5px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;}
.ml-cycle-note{font-size:14px;margin:0;}
.ml-grid{gap:16px;}
.ml-card{position:relative;border:1.5px solid var(--border);padding:22px;gap:0;transition:border-color var(--ease-standard),box-shadow var(--ease-standard),transform var(--ease-standard);}
.ml-card.is-pickable{cursor:pointer;}
.ml-card.is-pickable:hover{border-color:color-mix(in srgb,var(--gold) 55%,var(--border));}
.ml-card.is-on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 10px 30px color-mix(in srgb,var(--gold) 18%,transparent);}
.ml-card.is-owned{opacity:.75;}
.ml-check{position:absolute;top:16px;right:16px;width:26px;height:26px;border-radius:50%;background:var(--gold);color:#3A2A06;display:flex;align-items:center;justify-content:center;}
.ml-check svg{width:15px;height:15px;}
.ml-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-right:30px;}
.ml-ico{width:44px;height:44px;border-radius:13px;flex-shrink:0;background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--gold);display:flex;align-items:center;justify-content:center;}
.ml-ico svg{width:22px;height:22px;}
.ml-ht{min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-start;}
.ml-card h3{font-size:18px;font-weight:700;margin:0;}
.ml-tag{margin:0;}
.ml-card .ml-pitch{font-size:14.5px;line-height:1.5;margin:0 0 12px;color:var(--text2);}
.ml-card ul{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:8px;flex:1;font-size:14px;line-height:1.5;}
.ml-card li{position:relative;padding-left:24px;}
.ml-card li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--gold) 18%,transparent);}
.ml-card li::after{content:"";position:absolute;left:6px;top:6px;width:4px;height:7px;border:solid var(--gold);border-width:0 2px 2px 0;transform:rotate(45deg);}
.ml-foot{align-items:center;padding-top:14px;}
.ml-price{font-size:24px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums;}
.ml-price small{font-size:13px;font-weight:600;color:var(--text2);}
.ml-price-note{font-size:12.5px;color:var(--text2);margin-top:2px;}
.ml-pick{padding:9px 18px;font-size:14px;font-weight:700;border-radius:12px;}
.ml-owned{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,transparent);padding:6px 12px;border-radius:999px;}
/* Barra de abajo: sólida y con borde dorado cuando hay algo elegido */
.ml-bar{background:var(--card) !important;border:1.5px solid var(--border) !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;box-shadow:0 14px 40px rgba(0,0,0,.28);border-radius:18px;padding:14px 18px;}
.ml-bar:has(.ml-bar-sum b){border-color:var(--gold) !important;}
.ml-bar-sum b{font-size:16px;}
.ml-pay{border-radius:12px;padding:12px 22px;font-weight:800;}
@media (max-width:760px){
  .ml-controls{gap:10px;}
  .ml-ctl{width:100%;}
  .ml-ctl .seg{flex:1;}
  .ml-ctl .seg button{flex:1;}
  .ml-card{padding:18px;}
}
@media (max-width:760px){
  .ml-ctl{flex-direction:column;align-items:stretch;gap:6px;}
  .ml-ctl .seg{width:100%;overflow:visible;}
  .ml-ctl .seg button{white-space:normal;line-height:1.25;padding:8px 10px;font-size:13.5px;}
}

/* ====== Rediseño 2026 · Administrador (.adm2) ====== */
.adm2 .adm2-tabs{margin-bottom:18px;}
/* Subpestañas viejas (pill-tab con estilo en línea): se ven como la barra de opciones común */
.adm2 .row:has(> .pill-tab){background:var(--track);padding:4px;border-radius:12px;gap:4px !important;width:max-content;max-width:100%;overflow-x:auto;flex-wrap:nowrap !important;scrollbar-width:none;}
.adm2 .row:has(> .pill-tab)::-webkit-scrollbar{display:none;}
.adm2 .row > .pill-tab{border:none !important;background:transparent !important;color:var(--text2) !important;border-radius:9px !important;padding:7px 14px !important;font-size:14px;font-weight:600;white-space:nowrap;flex-shrink:0;cursor:pointer;}
.adm2 .row > .pill-tab[style*="background:var(--accent)"]{background:var(--card) !important;color:var(--text) !important;box-shadow:0 1px 4px rgba(0,0,0,.14);}
.adm2 .row > .pill-tab[style*="background:var(--danger)"]{background:var(--danger) !important;color:#fff !important;}
.adm2 h3{font-size:18px;font-weight:700;}
.adm2 .card{border:1px solid var(--border);}

/* ====== Alma por WhatsApp: tarjeta de Inicio y barra de la pantalla de Alma ====== */
.wa-card{border:1px solid color-mix(in srgb,#25D366 35%,var(--border));background:color-mix(in srgb,#25D366 6%,var(--card));display:flex;flex-direction:column;gap:14px;}
.wa-top{display:flex;align-items:center;gap:12px;}
.wa-ic{width:44px;height:44px;border-radius:13px;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.wa-ic svg{width:24px;height:24px;}
.wa-ic.sm{width:26px;height:26px;border-radius:8px;}
.wa-ic.sm svg{width:15px;height:15px;}
.wa-t{min-width:0;}
.wa-t b{display:block;font-size:16px;}
.wa-t span{font-size:13.5px;color:var(--text2);line-height:1.4;}
.wa-card.on .wa-t span{color:var(--text);font-weight:600;}
.wa-acts{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.wa-btn{width:auto;padding:9px 16px;font-size:14px;font-weight:700;border-radius:12px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;}
.wa-green{background:#25D366;color:#fff;border:none;}
.wa-green svg{width:18px;height:18px;}
.wa-perms{font-size:13.5px;}
.wa-perms svg{width:14px;height:14px;}
.wa-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 4px;border-bottom:1px solid var(--border);font-size:13px;}
.wa-bar-t{color:var(--text2);margin-right:auto;min-width:0;}
.wa-bar.on .wa-bar-t{color:var(--text);font-weight:600;}
.wa-bar .hu-link{font-size:13px;}
.wa-sep{color:var(--text2);}
#homeWaCard:empty,#almaWaBar:empty{display:none;}

/* ====== Rediseño 2026 · Perfil (.pf2) ====== */
.pf2{max-width:1080px;}
.pf2-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.pf2-av{position:relative;width:76px;height:76px;flex-shrink:0;cursor:pointer;}
.pf2-av img,.pf2-av-i{width:76px;height:76px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 50%,#7A1E5A));color:#fff;font-size:28px;font-weight:800;}
.pf2-av-ed{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;background:var(--card);border:1px solid var(--border);color:var(--accent);display:flex;align-items:center;justify-content:center;}
.pf2-av-ed svg{width:13px;height:13px;}
.pf2-who{flex:1;min-width:200px;}
.pf2-who b{display:block;font-size:22px;}
.pf2-who > span{font-size:14.5px;color:var(--text2);overflow-wrap:anywhere;}
.pf2-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}
.pf2-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:999px;background:var(--track);color:var(--text2);cursor:pointer;}
.pf2-chip.on{background:color-mix(in srgb,var(--c) 15%,transparent);color:var(--c);}
.pf2-chip svg{width:13px;height:13px;flex-shrink:0;}
.pf2-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;margin-top:20px;align-items:start;}
.pf2-nav{padding:8px;position:sticky;top:20px;}
.pf2-nav button{display:flex;align-items:center;gap:12px;width:100%;border:none;background:none;color:var(--text);padding:10px 12px;border-radius:12px;font-size:15px;font-weight:600;text-align:left;cursor:pointer;font-family:inherit;}
.pf2-nav button[hidden]{display:none;}
.pf2-nav button .ic{width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--c) 15%,transparent);color:var(--c);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pf2-nav button .ic svg{width:17px;height:17px;}
.pf2-nav button .lb{flex:1;min-width:0;}
.pf2-nav button .chev{color:var(--text2);display:none;}
.pf2-nav button .chev svg{width:16px;height:16px;}
.pf2-nav button.on{background:var(--track);}
.pf2-nav-foot{border-top:1px solid var(--border);margin:6px 4px 0;padding-top:6px;}
.pf2-nav .pf2-logout{color:var(--danger);}
.pf2-panel{min-width:0;}
.pf2-pane > .perfil-grid,.pf2-pane > .card,.pf2-pane > div + .card{margin-top:0;}
.pf2-back{display:none;align-items:center;gap:6px;border:none;background:none;color:var(--text2);font-size:14.5px;font-weight:700;padding:0;margin-bottom:12px;cursor:pointer;font-family:inherit;}
.pf2-back svg{width:17px;height:17px;}
.pf2-sec-h{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.pf2-sec-h .ic{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--c) 15%,transparent);color:var(--c);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pf2-sec-h .ic svg{width:20px;height:20px;}
.pf2-sec-h b{font-size:20px;}
.pf2-sec-h p{margin:2px 0 0;font-size:13.5px;color:var(--text2);}
.pf2 .card{border:1px solid var(--border);}
.pf2 .perfil-grid{gap:16px;}
.pf2-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;margin-top:4px;border-top:1px solid var(--border);font-size:13px;color:var(--text2);}
.pf2-pager .hu-link{font-size:13.5px;}
.pf2-hu b{font-size:28px;font-weight:800;}
.pf2-bar{height:8px;border-radius:6px;background:var(--track);overflow:hidden;margin-top:12px;}
.pf2-bar i{display:block;height:100%;background:var(--accent);border-radius:6px;}
.pf2-perm{justify-content:space-between;align-items:center;padding:11px 0;gap:12px;font-size:14.5px;}
.pf2-mem{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px;background:var(--track);margin-bottom:8px;}
.pf2-mem p{margin:0;font-size:14px;line-height:1.45;overflow-wrap:anywhere;}
.pf2-mem span{display:block;font-size:11.5px;color:var(--text2);margin-top:3px;}
.pf2-mem button{border:none;background:none;color:var(--text2);padding:2px;cursor:pointer;flex-shrink:0;}
.pf2-danger-row{margin-top:14px;}
.pf2-danger{color:var(--danger);font-size:13.5px;font-weight:600;cursor:pointer;}
.pf2 .card-title svg{width:16px;height:16px;vertical-align:-2px;}
/* Perfil → Invitá y ganá (referidos) */
.pf2-nav button .pf2-nav-n{margin-left:auto;font-size:11.5px;font-weight:700;color:#34C759;white-space:nowrap;}
.pf2-nav button .pf2-nav-n:empty{display:none;}
#perfilInvita{display:flex;flex-direction:column;gap:16px;}
#perfilInvita > .card{margin:0;}
.inv-hero{background:linear-gradient(135deg,color-mix(in srgb,#34C759 20%,var(--card)),var(--card) 70%);}
.inv-h{font-size:22px;font-weight:700;margin:0 0 6px;letter-spacing:-.01em;}
.inv-p{font-size:14.5px;color:var(--text2);margin:0 0 16px;line-height:1.5;max-width:560px;}
.inv-p b{color:var(--text);}
.inv-link{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.inv-link .field{flex:1;min-width:200px;margin:0;font-weight:600;}
.inv-link .btn-outline{gap:6px;}
.inv-link .btn-outline svg{width:15px;height:15px;}
.inv-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.inv-stat b{display:block;font-size:30px;font-weight:800;line-height:1.1;}
.inv-stat span{font-size:13px;color:var(--text2);}
.inv-use{display:flex;width:max-content;margin-top:12px;padding:8px 14px;font-size:14px;gap:6px;}
.inv-use svg{width:15px;height:15px;}
.inv-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px;}
.inv-step{background:var(--track);border-radius:14px;padding:14px;}
.inv-step i{width:28px;height:28px;border-radius:50%;background:#34C759;color:#fff;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;font-size:14px;margin-bottom:10px;}
.inv-step b{display:block;font-size:14.5px;margin-bottom:4px;}
.inv-step span{font-size:13px;color:var(--text2);line-height:1.45;}
.inv-ref{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border);}
.inv-ref:first-of-type{border-top:none;}
.inv-ref .a{width:36px;height:36px;border-radius:50%;background:var(--track);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:var(--text2);flex-shrink:0;}
.inv-ref .t{flex:1;min-width:0;}
.inv-ref .t b{display:block;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.inv-ref .t span{font-size:12.5px;color:var(--text2);}
.inv-st{font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap;}
.inv-st.wait{background:color-mix(in srgb,#FF9F0A 16%,transparent);color:#E08A00;}
.inv-st.ok{background:color-mix(in srgb,#34C759 16%,transparent);color:#28A745;}
.inv-st.no{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger);}
.inv-foot{font-size:12.5px;margin:0 4px;}
.inv-gift{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,#34C759 12%,var(--card));border:1px solid color-mix(in srgb,#34C759 30%,transparent);}
.inv-gift .ic{width:36px;height:36px;border-radius:11px;background:#34C759;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.inv-gift div{flex:1;font-size:14px;line-height:1.45;}
.inv-lock{text-align:center;padding:36px 24px;}
.inv-lock .ic{width:56px;height:56px;border-radius:16px;background:var(--track);color:var(--text2);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.inv-lock .ic svg{width:26px;height:26px;}
.inv-lock p.muted{font-size:14px;max-width:380px;margin:6px auto 16px;line-height:1.5;}
.inv-backdrop{position:fixed;inset:0;z-index:96;background:rgba(0,0,0,0.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding:16px;overflow-y:auto;}
.inv-modal{max-width:470px;width:100%;margin:auto;}
.inv-pick{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.inv-pick button{display:flex;align-items:center;gap:12px;text-align:left;border:1.5px solid color-mix(in srgb,var(--text2) 30%,transparent);background:var(--card);color:var(--text);border-radius:14px;padding:10px 12px;font:inherit;cursor:pointer;}
.inv-pick button b{display:block;font-size:14.5px;}
.inv-pick button span{font-size:12.5px;color:var(--text2);line-height:1.4;}
.inv-pick button.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);}
.inv-pick button:disabled{cursor:default;}
.inv-pick button:disabled > span,.inv-pick button:disabled b{opacity:.5;}
.inv-lbl{font-size:13px;font-weight:700;color:var(--text2);margin:0 0 8px;}
.inv-qty{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.inv-qty button{width:34px;height:34px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--text2) 35%,transparent);background:var(--card);color:var(--text);font-size:18px;font-weight:700;cursor:pointer;}
.inv-qty b{font-size:17px;min-width:80px;text-align:center;}
.inv-res{background:var(--track);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.5;}
.inv-res b{color:var(--accent);}
@media (max-width:900px){ .inv-stats,.inv-steps{grid-template-columns:1fr;} }
@media (max-width:640px){
  .inv-backdrop{align-items:flex-end;padding:0;}
  .inv-modal{border-radius:22px 22px 0 0;max-height:88vh;overflow-y:auto;}
}
@media (max-width:900px){
  .pf2-layout{grid-template-columns:1fr;}
  .pf2-nav{position:static;padding:6px;}
  .pf2-nav button .chev{display:flex;}
  .pf2-layout.detail .pf2-nav{display:none;}
  .pf2-layout:not(.detail) .pf2-panel{display:none;}
  .pf2-back{display:inline-flex;}
}
@media (max-width:640px){
  .pf2-head{gap:14px;}
  .pf2-av,.pf2-av img,.pf2-av-i{width:64px;height:64px;}
  .pf2-av-i{font-size:24px;}
  .pf2-who b{font-size:20px;}
}
@media (max-width:900px){ .pf2-nav button.on{background:none;} }

/* ====== Equipos (todo bajo .eq; popups bajo .eq-pop) — mockup interno/mockups/equipos.html ====== */
.eq .btn-accent,.eq-pop .btn-accent{width:auto;font-size:16px;display:inline-flex;align-items:center;gap:8px;justify-content:center;white-space:nowrap;}
.eq .btn-outline,.eq-pop .btn-outline{font-size:15px;display:inline-flex;align-items:center;gap:8px;justify-content:center;white-space:nowrap;}
.eq .btn-outline:disabled,.eq-pop .btn-outline:disabled,.eq-pop .btn-accent:disabled{opacity:.5;cursor:not-allowed;}
.eq .card-title{font-size:18px;font-weight:700;margin:0;}
.eq .chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--track);color:var(--text);white-space:nowrap;}
.eq .chip i{width:7px;height:7px;border-radius:50%;background:var(--c,var(--accent));}
.eq .chip.late{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger);}
.eq .chip.soon{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning);}
.eq .emoji-box{width:52px;height:52px;flex-shrink:0;border-radius:15px;background:var(--track);display:flex;align-items:center;justify-content:center;font-size:26px;}
.eq .icon-btn{width:32px;height:32px;border-radius:9px;border:none;background:none;color:var(--text2);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;}
.eq .icon-btn:hover{background:var(--track);color:var(--text);}
.eq .icon-btn:disabled{opacity:.4;cursor:not-allowed;}
.eq .toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.eq .nav-round{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);flex-shrink:0;}
.eq .ring{position:relative;flex-shrink:0;}
.eq .ring > svg{transform:rotate(-90deg);display:block;}
.eq .ring circle{transition:stroke-dashoffset .4s cubic-bezier(.2,.8,.2,1);}
.eq .ring .ring-c{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;}
.eq .sel,.eq-pop .sel{width:100%;height:46px;border-radius:12px;border:1px solid color-mix(in srgb,var(--text2) 30%,transparent);background:var(--track);color:var(--text);font-size:15px;padding:0 12px;margin-bottom:14px;font-family:inherit;}
.eq .sel:disabled,.eq-pop .sel:disabled{opacity:.6;}
.eq .plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:14px;}
.eq .pcard{display:flex;flex-direction:column;gap:14px;padding:20px;cursor:pointer;border:1.5px solid transparent;transition:border-color var(--ease-standard),transform var(--ease-standard);}
.eq .pcard:hover{border-color:var(--border);transform:translateY(-1px);}
.eq .pc-top{display:flex;align-items:center;gap:14px;}
.eq .pc-top .nm{flex:1;min-width:0;}
.eq .pc-top .nm p{margin:0 0 6px;font-size:17px;font-weight:650;line-height:1.25;}
.eq .pc-top .chips{display:flex;gap:6px;flex-wrap:wrap;}
.eq .next{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--track);font-size:14px;}
.eq .next small{font-size:11.5px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;}
.eq .next span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;}
.eq .next .done-all{color:var(--success);display:inline-flex;align-items:center;gap:6px;}
.eq .next .eq-av{flex:none;overflow:visible;}
.eq .add-card{border:1.5px dashed var(--border);background:transparent;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text2);font-weight:600;min-height:150px;cursor:pointer;border-radius:16px;font-size:15px;}
.eq .add-card:hover{border-color:var(--accent);color:var(--accent);}
.eq .crumb{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:14px;}
.eq .crumb a{color:var(--text2);cursor:pointer;font-weight:600;display:flex;align-items:center;gap:6px;}
.eq .crumb a:hover{color:var(--accent);}
.eq .layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start;}
.eq .aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:20px;}
.eq .step{position:relative;display:flex;align-items:center;gap:12px;padding:10px 8px;margin:0 -8px;border-radius:10px;cursor:pointer;}
.eq .step:hover{background:var(--track);}
.eq .step .tt{flex:1;min-width:0;font-size:15.5px;}
.eq .step.done .tt{color:var(--text2);text-decoration:line-through;}
.eq .step .done-at{font-size:12.5px;color:var(--text2);flex-shrink:0;}
.eq .add{display:flex;align-items:center;gap:12px;padding:10px 8px;margin:4px -8px 0;border-radius:10px;color:var(--text2);font-size:15px;cursor:pointer;}
.eq .add:hover{background:var(--track);}
.eq .page-head .btn-accent{align-self:flex-end;}
.eq-av{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex-shrink:0;line-height:1;overflow:hidden;}
.eq-av img{width:100%;height:100%;object-fit:cover;display:block;}
.eq-stack{display:inline-flex;align-items:center;}
.eq-stack .eq-av{border:2px solid var(--card);margin-left:-6px;}
.eq-stack .eq-av:first-child{margin-left:0;}
.eq-stack .eq-more{background:var(--track);color:var(--text2);}
.eq-role{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);}
.eq-lock{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.45;color:var(--text2);padding:12px 14px;border-radius:12px;background:var(--track);}
.eq-lock svg{flex-shrink:0;margin-top:1px;}
.eq .eq-sub{display:block;font-size:12.5px;color:var(--text2);margin-top:2px;text-decoration:none;}
.eq .eq-note{display:inline-flex;color:var(--text2);}
.eq .eq-ck-off{opacity:.45;cursor:not-allowed !important;}
.eq .eq-ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14.5px;}
.eq .eq-ul li{display:flex;gap:10px;align-items:flex-start;}
.eq .eq-ul li svg{color:var(--success);flex-shrink:0;margin-top:2px;}
.eq .eq-ul li.off,.eq .eq-ul li.off svg{color:var(--text2);}
.eq .eq-day{font-size:12.5px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;margin:18px 0 6px;}
.eq .eq-perm{display:grid;grid-template-columns:minmax(150px,1.6fr) repeat(3,minmax(70px,1fr));gap:0;font-size:14px;}
.eq .eq-perm > div{padding:11px 6px;border-bottom:1px solid var(--border);display:flex;align-items:center;}
.eq .eq-perm > div.c{justify-content:center;text-align:center;}
.eq .eq-perm > div.hd{font-size:12.5px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.04em;}
.eq .eq-perm .yes{color:var(--success);display:inline-flex;}
.eq .eq-perm .no{color:var(--text2);opacity:.5;display:inline-flex;}
.eq .eq-state{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success);white-space:nowrap;}
.eq .eq-state.pend{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning);}
.eq .eq-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 18px;}
.eq .eq-hero{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#7A1E5A));color:#fff;border-radius:18px;padding:24px 26px;display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:16px;}
.eq .eq-hero .eq-av{border-color:rgba(255,255,255,.4);}
.eq .eq-hero .ring .ring-c{color:#fff;font-size:18px;}
.eq .eq-hchip{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.2);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;}
.eq .eq-hstat .big{font-size:42px;font-weight:700;line-height:1;}
.eq .eq-hbar{display:flex;height:9px;border-radius:5px;background:rgba(255,255,255,.28);overflow:hidden;margin:12px 0 8px;min-width:230px;}
.eq .eq-hbar i{display:block;height:100%;background:#fff;}
.eq .eq-hbar i.b{background:rgba(255,255,255,.6);}
.eq .eq-stchip{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;padding:5px 12px;border-radius:10px;}
.eq .eq-stchip.todo{background:var(--track);color:var(--text2);}
.eq .eq-stchip.doing{background:#0A84FF;color:#fff;}
.eq .eq-stchip.done{background:var(--success);color:#fff;}
.eq .eq-stn{color:var(--text2);font-size:14px;margin-left:10px;}
.eq .eq-sticon{display:inline-flex;flex-shrink:0;cursor:pointer;}
.eq .eq-grp{margin-bottom:14px;}
.eq .eq-stack3{display:flex;height:8px;border-radius:4px;background:var(--track);overflow:hidden;}
.eq .eq-stack3 i{display:block;height:100%;}
.eq .eq-pillst{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);white-space:nowrap;}
.eq .eq-ws{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;}
.eq .eq-kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;}
.eq .eq-kcol{border-radius:18px;padding:14px;background:var(--track);min-height:140px;}
.eq .eq-kcol.doing{background:color-mix(in srgb,#0A84FF 9%,var(--card));}
.eq .eq-kcol.done{background:color-mix(in srgb,var(--success) 9%,var(--card));}
.eq .eq-kcol.over{outline:2px dashed var(--accent);outline-offset:-2px;}
.eq .eq-kcard{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:10px;cursor:pointer;}
.eq .eq-kcard[draggable="true"]{cursor:grab;}
.eq .eq-kcard.dragging{opacity:.35;}
.eq .eq-gantt{overflow-x:auto;}
.eq .eq-gh,.eq .eq-grow{display:grid;grid-template-columns:130px minmax(420px,1fr);gap:12px;align-items:center;}
.eq .eq-gax{position:relative;height:26px;border-bottom:1px solid var(--border);}
.eq .eq-gax span{position:absolute;top:0;transform:translateX(-50%);font-size:12px;color:var(--text2);white-space:nowrap;}
.eq .eq-grow{padding:8px 0;border-bottom:1px solid var(--border);}
.eq .eq-grow .who{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;}
.eq .eq-track{position:relative;height:28px;border-radius:8px;background:color-mix(in srgb,var(--text2) 7%,transparent);}
.eq .eq-span{position:absolute;top:10px;height:8px;border-radius:4px;opacity:.4;}
.eq .eq-today{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--text);opacity:.85;z-index:2;}
.eq .eq-dot{position:absolute;top:7px;width:14px;height:14px;border-radius:50%;transform:translateX(-50%);border:2.5px solid var(--text2);background:var(--card);cursor:pointer;z-index:3;display:inline-block;}
.eq .eq-dot.doing{border-color:#0A84FF;background:#0A84FF;}
.eq .eq-dot.done{border-color:var(--success);background:var(--success);}
.eq .eq-flag{position:absolute;top:5px;transform:translateX(-50%);color:var(--accent);z-index:3;}
.eq .eq-mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;}
.eq .eq-mcard{display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px 16px;}
.eq .eq-pend{border:1.5px dashed var(--border);background:transparent;}
.eq .eq-tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.eq .eq-tcard{display:flex;flex-direction:column;}
.eq .eq-temo{width:52px;height:52px;border-radius:15px;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);display:flex;align-items:center;justify-content:center;font-size:26px;}
.eq .eq-g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;}
.eq .eq-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px;border-radius:14px;background:color-mix(in srgb,var(--warning) 13%,transparent);border:1px solid color-mix(in srgb,var(--warning) 40%,transparent);}
.eq .eq-banner > svg{color:var(--warning);flex-shrink:0;}
.eq .eq-bar{height:8px;border-radius:4px;background:var(--track);overflow:hidden;flex:1;min-width:60px;}
.eq .eq-bar i{display:block;height:100%;background:var(--accent);border-radius:4px;}
.eq .eq-ga{display:grid;grid-template-columns:60px 1fr 40px;gap:10px;align-items:center;font-size:13px;margin-bottom:8px;}
.eq .eq-ga span{color:var(--text2);}
.eq .eq-ga b{text-align:right;}
.eq .eq-ev{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--border);}
.eq .eq-ev:last-child{border-bottom:0;padding-bottom:0;}
.eq .eq-time{width:118px;flex-shrink:0;font-size:14px;font-weight:700;padding-top:2px;line-height:1.3;}
.eq .eq-time small{display:block;font-size:12px;font-weight:500;color:var(--text2);margin-top:2px;}
.eq .eq-week7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:16px;}
.eq .eq-d{background:var(--card);border-radius:14px;padding:12px 6px;text-align:center;border:1.5px solid transparent;color:var(--text);font-family:inherit;cursor:pointer;min-width:0;}
.eq .eq-d:hover{border-color:var(--border);}
.eq .eq-d.picked{border-color:var(--accent);}
.eq .eq-d.today.picked{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--accent);}
.eq .eq-d span{display:block;font-size:12px;color:var(--text2);text-transform:uppercase;}
.eq .eq-d b{display:block;font-size:20px;margin:4px 0 8px;}
.eq .eq-d.today{background:var(--accent);color:#fff;}
.eq .eq-d.today span{color:rgba(255,255,255,.85);}
.eq .eq-dots{display:flex;gap:4px;justify-content:center;height:8px;}
.eq .eq-dots i{width:7px;height:7px;border-radius:50%;display:block;}
.eq .eq-d.today .eq-dots i{box-shadow:0 0 0 1.5px rgba(255,255,255,.7);}
.eq .eq-mon{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;}
.eq .eq-mh{font-size:12px;color:var(--text2);text-transform:uppercase;text-align:center;padding:2px 0 4px;}
.eq .eq-mc{background:var(--track);border:1.5px solid transparent;border-radius:12px;min-height:88px;padding:8px;text-align:left;display:flex;flex-direction:column;gap:5px;color:var(--text);cursor:pointer;font-family:inherit;min-width:0;}
.eq .eq-mc b{font-size:14px;}
.eq .eq-mc.today{border-color:var(--accent);}
.eq .eq-mc.today b{color:var(--accent);}
.eq .eq-mc.picked{background:color-mix(in srgb,var(--accent) 14%,var(--card));border-color:var(--accent);}
.eq .eq-mc-today{font-size:11.5px;font-weight:800;letter-spacing:.04em;}
.eq .eq-mcd{display:flex;gap:3px;}
.eq .eq-mcd i{width:6px;height:6px;border-radius:50%;display:block;}
.eq .eq-mct{font-size:11.5px;color:var(--text2);line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.eq-pop .hu-backdrop{z-index:30;}
.eq-pop .x-btn{width:34px;height:34px;border-radius:50%;border:none;background:var(--track);color:var(--text);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;}
.eq-pop .emoji-pick{width:56px;height:56px;border-radius:16px;background:var(--track);border:1.5px dashed color-mix(in srgb,var(--text2) 35%,transparent);font-size:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;}
.eq-pop .eq-sw{width:30px;height:30px;border-radius:50%;border:3px solid transparent;padding:0;cursor:pointer;}
.eq-pop .eq-sw.on{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--text);}
.eq-pop .eq-chipsel{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.eq-pop .eq-chipsel button{display:inline-flex;align-items:center;gap:8px;border:1.5px solid color-mix(in srgb,var(--text2) 35%,transparent);background:transparent;color:var(--text);border-radius:999px;padding:4px 12px 4px 5px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;}
.eq-pop .eq-chipro{display:inline-flex;align-items:center;gap:8px;border:1.5px solid color-mix(in srgb,var(--text2) 35%,transparent);border-radius:999px;padding:4px 12px 4px 5px;font-size:14px;font-weight:600;}
.eq-pop .eq-chipsel button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);}
.eq-pop .note-in:disabled{opacity:.7;}
.eq-pop .eq-err{color:var(--danger);font-size:14px;min-height:16px;margin:12px 0 0;}
@media (max-width:1180px){
  .eq .layout{grid-template-columns:1fr;}
  .eq .aside{position:static;display:grid;grid-template-columns:1fr 1fr;}
}
@media (max-width:900px){
  .eq .eq-mct{display:none;}
  .eq .eq-mc{min-height:58px;}
  .eq .plist{grid-template-columns:1fr;}
  .eq .eq-kanban{grid-template-columns:1fr;}
  .eq .eq-perm{grid-template-columns:minmax(120px,1.6fr) repeat(3,minmax(54px,1fr));font-size:13px;}
}
@media (max-width:640px){
  .eq .aside{grid-template-columns:1fr;}
  .eq .eq-week7{gap:4px;}
  .eq .eq-d{padding:10px 2px;}
  .eq .eq-d b{font-size:17px;}
  .eq .eq-time{width:92px;}
  .eq .eq-mc{padding:6px 4px;align-items:center;}
  .eq .eq-mc-today{display:none;}
  .eq .eq-line .sel{min-width:0 !important;width:100% !important;flex:1 1 100%;}
  .eq .eq-line .btn-outline{margin-left:0 !important;}
}

/* Finanzas · "Por categoría": vistas (lista, anillo, torta, barras) y desglose */
.fi2 .fi2-cat-ctl{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.fi2 .cat.click{cursor:pointer;}
.fi2 .cat.click:hover .n{text-decoration:underline;}
.fi2 .cat.flat .ic{grid-row:auto;}
.fi2 .fi2-chart{display:flex;justify-content:center;margin:4px 0 16px;}
.fi2 .fi2-chart svg{width:100%;max-width:230px;height:auto;}
.fi2 .fi2-slice{cursor:pointer;transition:opacity var(--ease-standard);}
.fi2 .fi2-slice:hover{opacity:.78;}
.fi2 .fi2-chart-total{font-size:15px;font-weight:800;fill:var(--text);}
.fi2 .fi2-chart-sub{font-size:10px;font-weight:600;fill:var(--text2);}
.fi2 .fi2-cols{display:flex;align-items:flex-end;gap:10px;height:230px;overflow-x:auto;padding-bottom:4px;}
.fi2 .fi2-col{flex:1 0 56px;max-width:110px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;cursor:pointer;}
.fi2 .fi2-col-bar{width:100%;height:var(--h);min-height:4px;border-radius:8px 8px 4px 4px;background:var(--c);transition:opacity var(--ease-standard);}
.fi2 .fi2-col:hover .fi2-col-bar{opacity:.78;}
.fi2 .fi2-col-val{font-size:11.5px;font-weight:700;white-space:nowrap;}
.fi2 .fi2-col-name{font-size:12px;color:var(--text2);font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* Finanzas · categorías: chips con las que ya existen */
.finance-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 14px;}
.finance-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--track);color:var(--text2);}

/* ====== Huella Equipos, fase 2: selector de equipo, Para mí, selectores y filas (mockup interno/mockups/equipos_v10.html) ======
   Espacios de 8 en 8: 24 entre bloques, 16 de relleno en celular, 8 mínimo entre chips. */
.eq-sw-box{position:relative;margin:0 4px 12px;}
.eq-sw-btn{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;border:1px solid var(--border);background:var(--track);color:var(--text);text-align:left;font-family:inherit;cursor:pointer;}
.eq-sw-btn:hover,.eq-sw-btn.on{border-color:var(--accent);}
.eq-sw-ic{width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;}
.eq-sw-ic.sm{width:30px;height:30px;border-radius:9px;font-size:15px;}
.eq-sw-n{flex:1;min-width:0;display:flex;flex-direction:column;}
.eq-sw-n b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eq-sw-n small{font-size:12.5px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eq-sw-ch{color:var(--text2);display:flex;transition:transform var(--ease-standard);}
.eq-sw-btn.on .eq-sw-ch{transform:rotate(180deg);}
.eq-sw-menu{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:30;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:8px;box-shadow:0 18px 48px rgba(0,0,0,.3);animation:cardFadeUp .18s ease both;}
.eq-sw-it{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;font-size:14.5px;font-weight:600;cursor:pointer;color:var(--text);}
.eq-sw-it:hover{background:var(--track);}
.eq-sw-it.on svg{color:var(--accent);}
.eq-sw-sep{height:1px;background:var(--border);margin:8px 4px;}

.eq .eq-tctx{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--text);}
.eq .eq-tctx::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c);}

/* Selector desplegable (filtros) */
.eq-dd{position:relative;display:inline-flex;}
.eq-dd-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px 0 14px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);font-family:inherit;font-size:14.5px;cursor:pointer;white-space:nowrap;}
.eq-dd-btn:hover,.eq-dd.open .eq-dd-btn{border-color:var(--accent);}
.eq-dd-btn.set{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--card));}
.eq-dd-btn b{font-weight:600;}
.eq-dd-btn svg{color:var(--text2);}
.eq-dd-btn i,.eq-dd-it i{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.eq-dd-it i.none{background:transparent;}
.eq-dd-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:20;min-width:220px;padding:8px;border-radius:14px;background:var(--card);border:1px solid var(--border);box-shadow:0 18px 48px rgba(0,0,0,.3);animation:cardFadeUp .16s ease both;}
.eq-dd-it{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-size:15px;cursor:pointer;}
.eq-dd-it span{flex:1;}
.eq-dd-it:hover{background:var(--track);}
.eq-dd-it.on{font-weight:600;}
.eq-dd-it.on svg{color:var(--accent);}
.eq .eq-fsel{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 8px;}
.eq .eq-fclear{border:none;background:none;color:var(--accent);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;padding:8px;}

/* Para mí */
.eq .eq-pm{display:flex;flex-direction:column;gap:24px;}
.eq .eq-pm-bar{display:flex;gap:8px;margin-top:-8px;}
.eq .eq-pm-hero{display:flex;align-items:center;gap:24px;padding:24px;color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#2A1466));border:none;}
.eq .eq-pm-hero-m{flex:1;min-width:0;}
.eq .eq-pm-hero .ring .ring-c{color:#fff;font-weight:700;}
.eq .eq-pm-k{margin:0 0 4px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.8;}
.eq .eq-pm-n{margin:0;font-size:28px;font-weight:700;line-height:1.15;}
.eq .eq-pm-x{margin:8px 0 0;font-size:15px;opacity:.9;}
.eq .eq-blk{padding:24px;}
.eq .eq-blk-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px;}
.eq .eq-blk-t{margin:0;font-size:18px;font-weight:700;}
.eq .eq-blk-s{font-size:13.5px;color:var(--text2);font-weight:600;}
.eq .eq-link{display:inline-flex;align-items:center;gap:4px;font-size:13.5px;font-weight:600;color:var(--accent);cursor:pointer;}
.eq .eq-pm-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start;}
.eq .eq-pm-side{display:flex;flex-direction:column;gap:24px;}
.eq .eq-pm-g{margin:24px 0 8px;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);}
.eq .eq-pm-empty{margin:8px 0;font-size:14.5px;}
.eq .eq-pm-more{display:inline-flex;align-items:center;gap:6px;margin:16px 0 0;padding:8px 0;border:none;background:none;color:var(--text2);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;}
.eq .eq-pm-more:hover{color:var(--text);}

/* Fila de tarea: título, de dónde viene y la fecha */
.eq .eq-r2{display:flex;align-items:center;gap:12px;padding:12px;margin:0 -12px;border-radius:12px;cursor:pointer;}
.eq .eq-r2 + .eq-r2{margin-top:4px;}
.eq .eq-r2:hover{background:var(--track);}
.eq .eq-r2-m{flex:1;min-width:0;}
.eq .eq-r2-t{margin:0;font-size:15.5px;font-weight:500;line-height:1.35;}
.eq .eq-r2-s{margin:4px 0 0;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text2);min-width:0;}
.eq .eq-r2-s span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eq .eq-r2-s i{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.eq .eq-r2-e{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.eq .eq-r2-n{display:inline-flex;color:var(--text2);}
.eq .eq-r2.done .eq-r2-t{color:var(--text2);text-decoration:line-through;}

/* Próximos eventos */
.eq .eq-ev2{display:flex;flex-direction:column;gap:4px;padding:12px 0;}
.eq .eq-ev2 + .eq-ev2{border-top:1px solid var(--border);}
.eq .eq-ev2-d{font-size:12.5px;color:var(--text2);display:flex;gap:8px;flex-wrap:wrap;}
.eq .eq-ev2-d b{color:var(--text);font-weight:700;}
.eq .eq-ev2-t{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;}
.eq .eq-ev2-t i{width:8px;height:8px;border-radius:50%;flex-shrink:0;}

/* Sin equipo */
.eq .eq-none{display:flex;justify-content:center;padding:40px 0;}
.eq .eq-none-card{max-width:520px;text-align:center;padding:40px 32px;}
.eq .eq-none-card h2{margin:24px 0 8px;font-size:24px;}
.eq .eq-none-card > p{margin:0;font-size:15.5px;line-height:1.5;}
.eq .eq-none-acts{display:flex;justify-content:center;gap:8px;margin:24px 0 0;}
.eq .eq-none-foot{margin-top:24px !important;font-size:13.5px !important;}

@media (max-width:1100px){ .eq .eq-pm-grid{grid-template-columns:1fr;} }
@media (max-width:640px){
  .eq .eq-pm{gap:16px;}
  .eq .eq-blk{padding:16px;}
  .eq .eq-pm-hero{padding:16px 20px;gap:16px;}
  .eq .eq-pm-hero .ring{display:none;}
  .eq .eq-pm-n{font-size:22px;}
  .eq .eq-pm-x{font-size:14px;}
  .eq .eq-pm-side{gap:16px;}
  .eq .eq-r2{flex-wrap:wrap;padding:12px 8px;margin:0 -8px;}
  .eq .eq-r2-m{flex-basis:calc(100% - 40px);}
  .eq .eq-r2-e{width:100%;padding-left:34px;}
  .eq .eq-r2-e:empty{display:none;}
  .eq .eq-none-card{padding:32px 20px;}
}
