/* Shared shell polish. Home content and Coach navigation remain intact. */
#spaceSwitch, .coach-toggle, .footer button[onclick*="coach"] { display: none !important; }
html[data-coach-authorized="true"] #spaceSwitch,
html[data-coach-authorized="true"] .coach-toggle,
html[data-coach-authorized="true"] .footer button[onclick*="coach"] { display: inline-flex !important; }
#dailyMotivation { margin: -13px 0 28px; color: #71809a; font-size: 13px; line-height: 1.7; letter-spacing: -.1px; }
main:not(:has(#inicio.active)) #dailyMotivation { display: none; }
#telegramLinkDialog { padding: 28px; }
#telegramLinkDialog label { display: block; color: #738096; font-size: 12px; margin: 20px 0 8px; }
#telegramLink { width: 100%; border: 1px solid #e4e9f3; background: #f7f9fc; border-radius: 13px; padding: 14px; font-size: 16px; }
#telegramLinkStatus { color: #ad344a; font-size: 13px; }
.telegram-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
#aplicacion > .row { margin-bottom: 22px !important; }
#aplicacion #appTitle { letter-spacing: -.9px; font-weight: 650; }
#aplicacion iframe { background: transparent; }
@media (max-width: 600px) {
  aside { height: auto; min-height: 72px; padding: 7px 10px max(9px, env(safe-area-inset-bottom)); }
  .nav { align-items: center; }
  .nav button { min-width: 0; min-height: 54px; padding: 8px 2px; gap: 5px; color: #8b909d; }
  .nav button span { font-size: 10px; font-weight: 550; letter-spacing: -.1px; }
  .nav button.active { color: var(--blue); }
  body[data-space="cliente"] .nav button[data-page="inicio"] svg { width: 25px; height: 25px; }
  body[data-space="cliente"] .nav button[data-page="inicio"] { position: relative; }
  body[data-space="cliente"] .nav button[data-page="inicio"].active { background: #edf3ff; border-radius: 18px; }
  #aplicacion > .row { gap: 12px; align-items: flex-start; }
  #aplicacion #appTitle { font-size: 27px !important; }
  #aplicacion > .row > div { gap: 16px !important; }
  #aplicacion .textbtn { font-size: 12px; }
  main { padding-bottom: calc(105px + env(safe-area-inset-bottom)); }
}

/* Make client shortcuts easy to read and tap, including on small screens. */
#inicio .textbtn:not([hidden]),
#aplicacion > .row .textbtn:not([hidden]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 18px;
  border: 1px solid #c8d9ff;
  border-radius: 12px;
  background: #edf3ff;
  color: #1250d3;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.4;
  text-align: center;
}
#inicio .textbtn:not([hidden]):hover,
#aplicacion > .row .textbtn:not([hidden]):hover {
  background: #dfeaff;
  border-color: #91b3ff;
}
#inicio .mini .row { flex-wrap: wrap; gap: 10px; }

/* Compact review summary; device notification settings expand on demand. */
#nextReviewBanner:not([hidden]) { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 8px 16px; padding: 16px 18px; margin: 0 0 22px; border: 1px solid #e2e8f3; border-left: 3px solid #1760ff; border-radius: 16px; background: #fff; color: #183a83; }
#nextReviewBanner .review-count { padding: 8px 11px; border-radius: 10px; background: #edf3ff; color: #1760ff; font-size: 13px; font-weight: 700; text-align: center; white-space: nowrap; }
#nextReviewBanner .review-copy { min-width: 0; }
#nextReviewBanner .review-label, #nextReviewBanner .review-note { display: none; }
#nextReviewBanner h2 { margin: 0 0 4px; font-size: 16px; line-height: 1.35; letter-spacing: -.2px; font-weight: 650; }
#nextReviewBanner p { margin: 0; line-height: 1.5; }
#nextReviewBanner .review-date { font-size: 12px; color: #738096; }
#nextReviewBanner .review-action { min-height: 44px; padding: 10px 13px; border: 1px solid #dce5f5; border-radius: 10px; background: #f5f8ff; color: #1760ff; font-size: 13px; font-weight: 600; }
#nextReviewBanner[data-urgency="tomorrow"] { border-left-color: #b77b22; background: #fffcf5; color: #744309; }
#nextReviewBanner[data-urgency="tomorrow"] .review-count { background: #fff0d2; color: #87530c; }
#nextReviewBanner[data-urgency="today"], #nextReviewBanner[data-urgency="overdue"] { border-left-color: #b44355; background: #fffafb; color: #912939; }
#nextReviewBanner[data-urgency="today"] .review-count, #nextReviewBanner[data-urgency="overdue"] .review-count { background: #fce7eb; color: #a33448; }
#nextReviewBanner .review-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#nextReviewBanner .review-push { grid-column: 2 / -1; justify-self: start; font-size: 12px; color: #738096; }
#nextReviewBanner .review-push summary { display: flex; align-items: center; gap: 6px; min-height: 36px; cursor: pointer; list-style: none; }
#nextReviewBanner .review-push summary::-webkit-details-marker { display: none; }
#nextReviewBanner .review-push summary::after { content: '⌄'; }
#nextReviewBanner .review-push[open] summary::after { content: '⌃'; }
#nextReviewBanner .review-push p { font-size: 12px; margin-top: 8px; max-width: 450px; }
#nextReviewBanner .review-push button:disabled { opacity: .65; cursor: wait; }
@media (max-width: 600px) {
 #nextReviewBanner:not([hidden]) { grid-template-columns: minmax(0,1fr) auto; padding: 12px 14px; gap: 4px 10px; margin-bottom: 18px; }
 #nextReviewBanner .review-copy { grid-column: 1; grid-row: 1; }
 #nextReviewBanner .review-count { grid-column: 2; grid-row: 1; padding: 7px 9px; font-size: 11px; }
 #nextReviewBanner h2 { font-size: 15px; }
 #nextReviewBanner > .review-action { grid-column: 1; grid-row: 2; justify-self: start; border: 0; background: transparent; padding: 8px 0; }
 #nextReviewBanner .review-push { grid-column: 2; grid-row: 2; justify-self: end; }
 #nextReviewBanner .review-push[open] { grid-column: 1 / -1; grid-row: 3; justify-self: stretch; border-top: 1px solid #e7ebf3; padding-top: 4px; }
}

/* Compact challenge entry near the Home greeting; controls expand on request. */
#inicio .home-challenge{padding:0;margin:0 0 20px;border:1px solid #dce7ff;border-radius:18px;background:#f5f8ff;box-shadow:none;overflow:hidden}
.home-challenge summary{display:flex;align-items:center;gap:12px;padding:15px 17px;cursor:pointer;list-style:none}
.home-challenge summary::-webkit-details-marker{display:none}
.home-challenge .challenge-badge{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:12px;background:#fff;font-size:21px}
.home-challenge .challenge-copy{display:grid;gap:3px;min-width:0}
.home-challenge .challenge-copy strong{color:#1760ff;font-size:12px;font-weight:750;letter-spacing:.5px}
.home-challenge .challenge-copy>span{color:#556277;font-size:12px;line-height:1.4}
.home-challenge .challenge-arrow{margin-left:auto;color:#1760ff;font-size:23px;transition:transform .15s}
.home-challenge details[open] .challenge-arrow{transform:rotate(45deg)}
.home-challenge details>div{padding:0 17px 17px!important;font-size:13px;line-height:1.6}
.home-challenge .save{background:#1760ff;color:white;border:0;border-radius:11px;padding:11px 14px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}
.home-challenge summary:focus-visible,.home-challenge button:focus-visible{outline:3px solid #1760ff55;outline-offset:-3px}
