/* Vistas: diario, sesiones, perfil, acceso, demo */

/* ---------- Diario ---------- */
.diary-grid{display:grid;grid-template-columns:380px 1fr;gap:28px;align-items:start}
.diary-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:90px}
.prompt-card{display:block;transition:border-color .2s}
.prompt-card:hover{border-color:var(--fase)}
.prompt-card p{font-size:21px;line-height:1.35;margin:12px 0 16px}
.composer textarea{margin-top:12px;min-height:130px}
.composer-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.entries{display:flex;flex-direction:column;gap:14px}
.entry{background:var(--papel);border:1px solid var(--lino);border-radius:var(--r);padding:24px 26px 14px}
.entry header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.entry-date{font-size:13px;color:var(--tinta-3)}
.entry-share{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--tinta-3)}
.entry-share .ico{width:15px;height:15px}
.entry-q{font-size:18px;color:var(--tinta-2);margin-bottom:8px}
.entry-t{font-size:16.5px;line-height:1.7;white-space:pre-wrap}
.entry-actions{display:flex;justify-content:flex-end;gap:4px;margin-top:10px;border-top:1px solid var(--lino);padding-top:8px}
.entry-actions .ico{width:18px;height:18px}
.empty{padding:40px 0;text-align:center}

/* ---------- Sesiones ---------- */
.next-session{display:grid;grid-template-columns:auto 1.3fr 1fr;gap:34px;align-items:center;padding:34px;border-radius:var(--r);background:var(--fase-honda);color:var(--hueso);margin-bottom:48px;position:relative;overflow:hidden}
.next-session::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;left:-160px;top:-180px;background:radial-gradient(circle,var(--alba),rgba(232,180,138,0) 66%);opacity:.45}
.next-session>*{position:relative}
.ns-date{width:96px;text-align:center;border-radius:20px;border:1px solid rgba(244,239,230,.25);padding:14px 0}
.ns-date b{display:block;font-family:var(--serif);font-weight:400;font-size:48px;line-height:1;color:var(--alba)}
.ns-date span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(244,239,230,.7)}
.ns-body .eyebrow,.ns-prep .eyebrow{color:rgba(244,239,230,.62)}
.ns-body h2{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:400;margin:8px 0 6px}
.ns-body p{color:rgba(244,239,230,.75);font-size:15px}
.ns-body .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.btn-ghost-light{background:transparent;color:var(--hueso);box-shadow:inset 0 0 0 1.5px rgba(244,239,230,.4)}
.btn-ghost-light:hover{background:rgba(244,239,230,.1)}
.ns-prep{background:rgba(244,239,230,.06);border:1px solid rgba(244,239,230,.12);border-radius:16px;padding:18px}
.prep{display:flex;gap:12px;align-items:center;padding:10px 0;font-size:14.5px;color:rgba(244,239,230,.9);border-top:1px solid rgba(244,239,230,.1)}
.prep:first-of-type{border-top:0;margin-top:8px}
.prep .chk{width:22px;height:22px;border-color:rgba(244,239,230,.5);flex:none}
.prep.ok{color:rgba(244,239,230,.6)}
.prep.ok .chk{background:var(--alba);border-color:var(--alba);color:var(--anil-hondo)}
.prep:hover{color:var(--hueso)}
.ses-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start}
.past{margin-top:18px;border-top:1px solid var(--lino)}
.past-row{display:grid;grid-template-columns:12px 1fr auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--lino)}
.past-row strong{display:block;font-weight:600;font-size:15px}
.past-row small{font-size:13px;color:var(--tinta-3)}
.past-row .btn .ico{width:18px;height:18px}
.dot-ph{width:10px;height:10px;border-radius:50%;background:var(--anil)}
.dot-ph.ph-m1{background:var(--terracota)}
.dot-ph.ph-m3{background:var(--musgo)}
.calls-card .muted.small{margin-bottom:18px}
.call-list{margin-top:20px;border-top:1px solid var(--lino)}
.call-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--lino)}
.call-row small{font-size:12.5px;color:var(--tinta-3)}
.call-row p{font-size:14px;color:var(--tinta-2)}

/* ---------- Perfil ---------- */
.profile-head{display:flex;gap:20px;align-items:center;margin-bottom:30px}
.profile-head h1{font-size:clamp(2rem,4vw,2.8rem);font-weight:400}
.blk-card{margin-bottom:16px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin-top:14px}
.facts dt{font-size:12.5px;color:var(--tinta-3)}
.facts dd{font-weight:600}
.pref{align-items:flex-start;padding:16px 0;border-top:1px solid var(--lino)}
.blk-card .eyebrow+.pref{border-top:0}
.pref .track{margin-top:2px}
.pref strong{display:block;color:var(--tinta);font-weight:600}
.pref small{display:block;font-size:13px;color:var(--tinta-3)}
.field.inline{flex-direction:row;align-items:center;justify-content:space-between;padding:0 0 16px 54px;margin:0}
.field.inline .input{width:auto;padding:8px 14px}
.privacy p{margin-top:10px;color:var(--tinta-2)}
.profile-actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:24px}

/* ---------- Acceso ---------- */
.login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;
  background:radial-gradient(800px 500px at 50% 0%,rgba(232,180,138,.25),transparent 70%)}
.login-card{width:min(440px,100%);text-align:center}
.login-mark{display:flex;justify-content:center;margin-bottom:26px;color:var(--tinta);animation:spin 120s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.login h1{font-size:clamp(2.8rem,8vw,4rem);font-weight:400;margin:10px 0 14px}
.login-card .muted{margin-bottom:26px}
.login form{text-align:left}
.login .btn-block+.btn-block{margin-top:10px}
.err{color:var(--terracota);font-size:14px;margin:-6px 0 14px}
.login-foot{margin-top:40px;font-size:14px;color:var(--tinta-3)}
.login-foot a{color:var(--tinta);border-bottom:1px solid var(--lino)}
.coach-login{margin-top:14px;font-size:13px;color:var(--tinta-3)}

/* ---------- Demo ---------- */
.demo-steps{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin:20px 0}
.demo-step{aspect-ratio:1;border-radius:50%;border:0;font-family:var(--serif);font-size:16px;color:var(--hueso);background:var(--anil);transition:transform .2s var(--ease)}
.demo-step.ph-m1{background:var(--terracota)}
.demo-step.ph-m3{background:var(--musgo)}
.demo-step:hover{transform:scale(1.1)}
.demo-step.on{box-shadow:0 0 0 3px var(--hueso),0 0 0 5px var(--alba)}
.demo-roles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}

@media (max-width:900px){
  .diary-grid,.ses-grid{grid-template-columns:1fr}
  .diary-side{position:static}
  .next-session{grid-template-columns:auto 1fr;padding:24px;gap:20px}
  .ns-prep{grid-column:1/-1}
  .ns-date{width:72px}
  .ns-date b{font-size:36px}
  .facts{grid-template-columns:1fr}
  .field.inline{padding-left:0}
}
