.diagnostic-page{max-width:1100px;margin:auto}.diagnostic-intro{max-width:760px;margin:20px 0 36px}.diagnostic-intro h1{font-size:clamp(32px,5vw,52px);line-height:1.1;letter-spacing:-1.5px}.diagnostic-tags,.diagnostic-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:24px 0}.diagnostic-tags span{background:#e8eef8;color:#0d378c;padding:8px 12px;border-radius:24px;font-size:14px}.diagnostic-entry{max-width:650px}.diagnostic-page progress{width:100%;height:8px;accent-color:#0d378c;margin:12px 0 24px}.diagnostic-chat{height:clamp(240px,48vh,560px);overflow:auto;overscroll-behavior:contain;padding:12px 18px;background:#eef1f6;border-radius:18px}.diagnostic-message{background:white;padding:16px 20px;border-radius:16px;max-width:83%;margin:0 auto 18px 0;box-shadow:0 2px 6px #172a4706}.diagnostic-message p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:8px 0 0}.diagnostic-message strong{font-size:12px;color:#536078}.diagnostic-message.from-user{margin-left:auto;margin-right:0;background:#0d378c;color:white}.diagnostic-message.from-user strong{color:#cbdcfa}.diagnostic-processing{min-height:2.5rem;margin:18px 0;color:#536078;line-height:1.4}.diagnostic-processing:empty{display:none}.diagnostic-compose{margin-top:18px;display:grid;gap:12px}.diagnostic-compose textarea{resize:vertical;min-height:95px;font:inherit;padding:14px;border:1px solid #bdc9dc;border-radius:12px;max-width:100%;width:100%;box-sizing:border-box}.diagnostic-compose button{justify-self:end}.diagnostic-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.diagnostic-radar{width:100%;max-height:370px}.diagnostic-score{display:grid;gap:5px;border-bottom:1px solid #e7ebf1;padding:12px 0}.diagnostic-score span{font-size:14px;color:#536078}.diagnostic-result>.card,.diagnostic-review>.card,.diagnostic-history>.card{margin-bottom:16px}.diagnostic-result summary{cursor:pointer;font-weight:600}.diagnostic-page [role=alert]{background:#fff0ec;color:#7b2918;padding:14px;border-radius:10px}.diagnostic-page [hidden]{display:none}.diagnostic-page button:disabled{opacity:.55;cursor:wait}.diagnostic-page h2{margin-top:28px}.diagnostic-page .card{overflow-wrap:anywhere}.diagnostic-page a:focus-visible,.diagnostic-page button:focus-visible,.diagnostic-page textarea:focus-visible{outline:3px solid #6ba5f2;outline-offset:3px}@media(max-width:700px){.diagnostic-result-grid{grid-template-columns:1fr}.diagnostic-page{padding:22px 16px}.diagnostic-message{max-width:94%}.diagnostic-actions .button{width:100%;justify-content:center}.diagnostic-chat{padding:12px}.diagnostic-compose button{width:100%}.diagnostic-tags{gap:7px}}
.diagnostic-page details.card{display:block;min-height:0;padding:20px 24px}.diagnostic-page .card h2{margin-top:0}.diagnostic-page .card p:last-child{margin-bottom:0}
.diagnostic-entry + p{max-width:650px;margin:28px 0 0;padding:0 8px;line-height:1.7}

.diagnostic-phone{border:0;padding:0;margin:0;min-width:0}.diagnostic-phone legend{font-weight:600;margin-bottom:12px}.diagnostic-phone-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.diagnostic-phone-row select,.diagnostic-phone-row input{width:100%;min-width:0;box-sizing:border-box}.diagnostic-phone .field-note{margin-top:8px}@media(max-width:480px){.diagnostic-phone-row{grid-template-columns:1fr}}

.diagnostic-intro{margin:20px auto 36px}.diagnostic-entry{max-width:760px;margin-inline:auto}.diagnostic-entry + p{max-width:760px;margin:28px auto 0}
.diagnostic-conversation{max-width:860px;margin:auto;background:#fff;border:1px solid #e0e5ee;border-radius:28px;padding:28px;box-shadow:0 14px 50px #1837660a}.diagnostic-conversation h1{font-size:clamp(26px,3vw,36px);letter-spacing:-1px;margin:10px 0 22px}.diagnostic-chat-heading{display:flex;align-items:center;gap:12px;padding:14px 0}.diagnostic-chat-heading small{display:block;color:#617087;margin-top:5px}.diagnostic-avatar{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;background:#0d378c;color:white;border-radius:16px;font-weight:700}.diagnostic-conversation>.eyebrow{font-size:12px}.diagnostic-conversation>.diagnostic-chat{background:#f5f7fb;border:1px solid #e8edf5;padding:22px;height:clamp(260px,42vh,500px);scroll-behavior:smooth}.diagnostic-conversation .diagnostic-message{border:1px solid #e2e8f0;box-shadow:none;border-radius:4px 18px 18px 18px;max-width:88%}.diagnostic-conversation .from-user{border:0;border-radius:18px 4px 18px 18px}.diagnostic-conversation .diagnostic-compose{border:1px solid #d5deec;border-radius:18px;padding:16px;gap:8px}.diagnostic-conversation .diagnostic-compose textarea{border:0;padding:8px 0;min-height:72px;outline-offset:4px}.diagnostic-conversation progress{height:5px;margin:0 0 18px}.diagnostic-conversation [role=status]{color:#0d378c;min-height:22px;font-size:14px}.diagnostic-feedback-button{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:20px;z-index:40;border:1px solid #cdd8ea;border-radius:24px;background:#fff;color:#0d378c;padding:12px 18px;box-shadow:0 4px 20px #18376620;cursor:pointer;font:inherit;font-size:14px}.diagnostic-feedback-dialog{border:0;border-radius:24px;padding:28px;width:min(500px,calc(100vw - 32px));max-height:85dvh;overflow:auto;color:#172a47;box-shadow:0 20px 70px #172a4740}.diagnostic-feedback-dialog::backdrop{background:#13223c66}.diagnostic-feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.diagnostic-feedback-heading h2{margin:0;font-size:24px}.diagnostic-feedback-heading button{border:0;background:transparent;font-size:28px;cursor:pointer}.diagnostic-feedback-dialog textarea{font:inherit;resize:vertical;padding:12px;border:1px solid #cdd8ea;border-radius:12px;width:100%;box-sizing:border-box}.diagnostic-feedback-dialog p{line-height:1.6}.diagnostic-page:has(.diagnostic-conversation){padding-bottom:100px}@media(max-width:700px){.diagnostic-conversation{padding:18px 14px;border-radius:20px}.diagnostic-conversation>.diagnostic-chat{padding:12px;height:38dvh;min-height:230px}.diagnostic-conversation .diagnostic-message{max-width:95%;padding:12px 14px}.diagnostic-feedback-button{left:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:10px 14px}.diagnostic-page:has(.diagnostic-conversation):focus-within~.diagnostic-feedback-button{position:static;margin:0 16px 20px}.diagnostic-feedback-dialog{padding:20px}}@media(prefers-reduced-motion:reduce){.diagnostic-conversation>.diagnostic-chat{scroll-behavior:auto}}

.diagnostic-entry-actions{width:100%;max-width:760px;box-sizing:border-box;margin:18px auto 0}.diagnostic-result-nav{margin-top:-10px}.diagnostic-history-nav{margin:0 0 16px}@media(max-width:700px){.diagnostic-actions .button{width:100%;justify-content:space-between}.diagnostic-result-nav{margin-top:-12px}}

.diagnostic-review{max-width:860px;margin:0 auto}.diagnostic-review>h2{margin:0 0 8px}.diagnostic-review>.notice{margin:20px 0;background:#eef4ff;color:#173f82}.diagnostic-review>.notice ul{margin:10px 0 0;padding-left:20px}.diagnostic-progress{margin-top:20px;padding:18px 20px;border:1px solid #d7e2f7;border-radius:16px;background:#f7faff}.diagnostic-progress>div{display:flex;align-items:center;gap:10px;color:#173f82}.diagnostic-progress>div strong{flex:1}.diagnostic-progress>div span:last-child{font-weight:700}.diagnostic-progress-spinner{width:18px;height:18px;border:2px solid #bed0ef;border-top-color:#114396;border-radius:50%;animation:diagnostic-spin .8s linear infinite}.diagnostic-progress progress{width:100%;height:8px;margin:14px 0 0}@keyframes diagnostic-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.diagnostic-progress-spinner{animation:none}}

/* El historial no necesita la altura fija de las tarjetas de inicio. */
.diagnostic-history > .card{min-height:0;padding:24px 26px}
.diagnostic-history > .card .client-actions{margin-top:14px}

/* Mantiene el mismo ancho útil en todas las vistas del diagnóstico. */
.diagnostic-intro{max-width:none;margin:20px 0 36px}
.diagnostic-entry,.diagnostic-entry-actions,.diagnostic-entry + p{max-width:none;margin-inline:0}
.diagnostic-conversation,.diagnostic-review{max-width:none;margin-inline:0}
