/* === MCT v57 final repair: messages, moon phases, professional patients, admin responsive === */
html,body{max-width:100%;overflow-x:hidden}.app-shell,.main,.mct-page{min-width:0}.main{overflow-x:hidden}.mct-page{width:100%}

/* Mensajes: evita scrolls internos fantasma cuando no hacen falta */
.mct-v54-messages .mct-chat-shell{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:1rem;height:auto!important;min-height:clamp(440px,calc(100dvh - 230px),720px);max-height:none!important;overflow:visible!important;align-items:stretch}.mct-v54-messages .thread-list,.mct-v54-messages .chat-box{min-height:0}.mct-v54-messages .thread-items{overflow-y:auto;overflow-x:hidden;max-height:calc(100dvh - 300px);scrollbar-gutter:stable}.mct-v54-messages .thread-view-body{overflow-y:auto;overflow-x:hidden;max-height:calc(100dvh - 330px)}.mct-v54-messages .chat-box:not(.has-thread) .thread-view-body{display:none!important}.mct-v54-messages .chat-reply textarea{min-height:48px;max-height:110px}.mct-v54-messages .chat-empty{min-height:360px}

/* Mis fases: dibujos más precisos para cuartos y gibosas */
.mct-icon.moon-first-quarter,.mct-icon.moon-last-quarter,.mct-icon.moon-waxing-crescent,.mct-icon.moon-waning-crescent,.mct-icon.moon-waxing-gibbous,.mct-icon.moon-waning-gibbous{background:radial-gradient(circle at 50% 50%,#080b15 55%,#02030a 100%)!important;position:relative;overflow:hidden}.mct-icon.moon-first-quarter:before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#fff,#dfe8ff 72%);clip-path:inset(0 0 0 50%)}.mct-icon.moon-last-quarter:before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#fff,#dfe8ff 72%);clip-path:inset(0 50% 0 0)}.mct-icon.moon-waxing-crescent:before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 42% 30%,#fff,#dfe8ff 72%);clip-path:ellipse(22% 50% at 74% 50%)}.mct-icon.moon-waning-crescent:before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 42% 30%,#fff,#dfe8ff 72%);clip-path:ellipse(22% 50% at 26% 50%)}.mct-icon.moon-waxing-gibbous:before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#fff,#dfe8ff 72%);clip-path:ellipse(44% 50% at 63% 50%)}.mct-icon.moon-waning-gibbous:before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#fff,#dfe8ff 72%);clip-path:ellipse(44% 50% at 37% 50%)}

/* Profesional: apartado Pacientes */
.pro-patient-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem}.pro-patient-card{display:grid;gap:.45rem;padding:1rem;border-radius:20px;text-decoration:none;color:var(--mct-text,#eef6ff);border:1px solid rgba(255,255,255,.11);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.032));min-width:0}.pro-patient-card:hover{transform:translateY(-2px);border-color:rgba(110,231,255,.38);background:rgba(110,231,255,.08)}.pro-patient-card b,.pro-patient-card span,.pro-patient-card small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pro-patient-meta{display:flex;gap:.4rem;flex-wrap:wrap}.pro-patient-meta em{font-style:normal;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);border-radius:999px;padding:.25rem .55rem;color:var(--mct-muted,#aab6cc);font-size:.78rem}

/* Admin v57: layout estable y responsive */
.admin-v57{max-width:1320px;margin-inline:auto;display:grid;gap:1rem}.admin-v57 .admin-hero-v56{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:clamp(1rem,2vw,1.35rem);border-radius:26px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035))}.admin-v57 .admin-hero-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.admin-v57 .admin-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}.admin-v57 .admin-kpi-grid article{min-width:0;padding:1rem;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035))}.admin-v57 .admin-kpi-grid small,.admin-v57 .admin-kpi-grid span{display:block;color:var(--mct-muted,#aab6cc)}.admin-v57 .admin-kpi-grid strong{display:block;font-size:clamp(1.45rem,3.2vw,2.4rem);line-height:1;margin:.35rem 0}.admin-v57 .admin-module-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:.75rem}.admin-v57 .admin-module-grid>*{min-width:0;display:grid;gap:.25rem;text-align:left;text-decoration:none;color:var(--mct-text,#eef6ff);padding:1rem;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);cursor:pointer}.admin-v57 .admin-module-grid>*.active,.admin-v57 .admin-module-grid>*:hover{border-color:rgba(110,231,255,.42);background:rgba(110,231,255,.095)}.admin-v57 .admin-panel-stack{display:grid;gap:.9rem}.admin-v57 .admin-section.hidden{display:none!important}.admin-v57 .panel-head{display:flex;justify-content:space-between;gap:.8rem;align-items:center;margin-bottom:.85rem}.admin-v57 .panel-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.admin-v57 .admin-inline-form{align-items:end;margin-bottom:.9rem}.admin-v57 .admin-list{max-height:none;overflow:visible;display:grid;gap:.55rem}.admin-v57 .compact-row{display:grid!important;grid-template-columns:minmax(130px,1fr) minmax(80px,.55fr) minmax(160px,1.2fr) auto!important;align-items:center;gap:.65rem;min-width:0;padding:.75rem;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.admin-v57 .compact-row>*{min-width:0;overflow:hidden;text-overflow:ellipsis}.admin-v57 .assignment-row{grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) auto!important}.admin-v57 .admin-start-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:170px}.admin-v57 .admin-start-orbit{width:110px;height:110px;min-width:110px;border-radius:50%;border:1px solid rgba(110,231,255,.3);background:radial-gradient(circle,rgba(110,231,255,.22),transparent 66%)}
@media(max-width:1180px){.admin-v57 .admin-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-v57 .admin-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:900px){.mct-v54-messages .mct-chat-shell{grid-template-columns:1fr;min-height:auto}.mct-v54-messages .thread-items{max-height:none;overflow:visible}.mct-v54-messages .chat-box{position:fixed;inset:.5rem;z-index:1200;display:none!important;border-radius:20px;max-height:calc(100dvh - 1rem)}.mct-v54-messages .chat-box.is-open{display:grid!important}.mct-v54-messages .thread-view-body{max-height:calc(100dvh - 165px)}.admin-v57 .admin-hero-v56,.admin-v57 .panel-head,.admin-v57 .admin-start-card{display:grid;align-items:stretch}.admin-v57 .panel-actions>*{width:100%}.admin-v57 .compact-row,.admin-v57 .assignment-row{grid-template-columns:1fr!important}.pro-insights-grid{grid-template-columns:1fr!important}}
@media(max-width:640px){.admin-v57{gap:.75rem}.admin-v57 .admin-kpi-grid,.admin-v57 .admin-module-grid{grid-template-columns:1fr!important}.admin-v57 .admin-hero-actions,.admin-v57 .admin-hero-actions .mct-btn{width:100%}.admin-v57 .admin-start-orbit{display:none}.pro-patient-list{grid-template-columns:1fr}.mct-v54-messages .chat-reply{grid-template-columns:1fr}.mct-v54-messages .chat-bubble{max-width:94%;padding:.7rem}}
