
  /* ---- Good Morning ---- */
  .morning {
    background: var(--panel);
    border: 1px solid var(--line);
    border-left: 3px solid var(--accent);
    border-radius: 10px;
    padding: 16px 18px;
  }
  .morning .m-head {
    display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
  }
  /* section h2 global viene en mayúsculas con tracking; un saludo no debe gritar */
  .morning .m-head h2 {
    margin: 0; font-family: var(--font-display);
    font-size: 19px; font-weight: 600; letter-spacing: -0.01em;
    text-transform: none; color: var(--ink);
  }
  .morning #morning-toggle {
    background: none; border: none; padding: 4px 2px;
    color: var(--ink-3); font-family: var(--font-body); font-size: 12.5px;
    cursor: pointer; white-space: nowrap;
  }
  .morning #morning-toggle:hover { color: var(--ink); }
  /* Voz (voice.js los inyecta; van con borde porque son las únicas acciones de
     la tarjeta que hacen algo, no que muestran u ocultan) */
  .morning .voice-actions { display: inline-flex; align-items: baseline; gap: 8px; flex-shrink: 0; }
  .morning .voice-btn {
    background: none; border: 1px solid var(--line); border-radius: 999px;
    padding: 4px 11px; color: var(--ink-2); font-family: var(--font-body); font-size: 12.5px;
    cursor: pointer; white-space: nowrap;
  }
  .morning .voice-btn:hover { color: var(--ink); border-color: var(--accent); }
  .morning .voice-status {
    margin: 0; padding: 8px 11px; border-radius: 8px;
    background: var(--panel-2); color: var(--ink-2);
    font-size: 13px; line-height: 1.45;
  }
  .morning.collapsed .m-body { display: none; }

  .morning .m-body { display: flex; flex-direction: column; gap: 16px; margin-top: 14px; }
  .morning .m-headline {
    margin: 0; color: var(--ink-2); font-size: 14px; line-height: 1.55;
  }
  .morning .m-block { display: flex; flex-direction: column; gap: 7px; }
  .morning .m-label {
    font-size: 10.5px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase;
    color: var(--ink-3);
  }
  .morning .m-empty { margin: 0; color: var(--ink-2); font-size: 13.5px; }

  /* Logros */
  .morning .m-kudos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
  .morning .m-kudos li { font-size: 14px; line-height: 1.45; }
  .morning .m-by { color: var(--ink-3); font-size: 12.5px; }
  .morning .m-why {
    margin-top: 3px; padding-left: 10px;
    border-left: 2px solid var(--good);
    color: var(--ink-2); font-size: 13px; line-height: 1.5;
  }
  .morning .m-sub { margin: 2px 0 0; color: var(--ink-3); font-size: 12.5px; }

  /* La prioridad — el salto de escala es deliberado: una sola cosa manda */
  .morning .m-focus {
    background: var(--panel-2);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 13px 14px;
    cursor: pointer;
    display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
  }
  .morning .m-focus:hover { border-color: var(--accent); }
  .morning .m-focus-title {
    margin: 0; font-family: var(--font-display);
    font-size: 18px; font-weight: 650; line-height: 1.3; letter-spacing: -0.01em;
  }
  .morning .m-focus-why { margin: 0; color: var(--ink-2); font-size: 13px; line-height: 1.5; }
  .morning .m-goto { color: var(--accent); font-size: 12.5px; font-weight: 600; }

  .morning .m-next { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
  .morning .m-next-label {
    font-size: 11px; color: var(--ink-3); text-transform: uppercase; letter-spacing: 0.07em;
  }
  .morning .m-next ol {
    margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 3px;
  }
  .morning .m-next li { font-size: 13px; color: var(--ink-2); cursor: pointer; }
  .morning .m-next li:hover { color: var(--ink); text-decoration: underline; }

  /* Alertas */
  .morning .m-alerts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
  .morning .m-alerts li {
    font-size: 13px; line-height: 1.45; padding-left: 12px; border-left: 2px solid var(--line);
  }
  .morning .m-alerts li[data-goto] { cursor: pointer; }
  .morning .m-alerts li[data-goto]:hover { text-decoration: underline; }
  .morning .m-alerts li.warn { border-left-color: var(--accent); color: var(--ink-2); }
  .morning .m-alerts li.bad { border-left-color: var(--bad); color: var(--ink-2); }

  .morning .m-stale {
    margin: 0; padding: 8px 10px;
    background: var(--accent-soft); border-radius: 6px;
    color: var(--ink-2); font-size: 12.5px; line-height: 1.45;
  }

  @media (max-width: 600px) {
    .morning { padding: 14px 13px; }
    .morning .m-head h2 { font-size: 17px; }
    .morning .m-focus-title { font-size: 16.5px; }
    .morning .m-body { gap: 14px; }
  }
