.pcais-wrap { max-width: 1180px; margin: 0 auto; }
.pcais-grid { display: grid; grid-template-columns: repeat(2, minmax(280px, 1fr)); gap: 16px; }
.pcais-panel { background: #fff; border: 1px solid #dcdcde; border-radius: 6px; padding: 18px; box-sizing: border-box; }
.pcais-panel h3 { margin: 0 0 14px; font-size: 18px; }
.pcais-panel label { display: block; font-weight: 600; margin: 0 0 14px; }
.pcais-panel input, .pcais-panel select, .pcais-panel textarea, .pcais-settings input, .pcais-settings select, .pcais-settings textarea { display: block; width: 100%; margin-top: 6px; max-width: 100%; box-sizing: border-box; }
.pcais-recorder { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.pcais-actions { grid-column: 1 / -1; }
.pcais-inline { display: flex !important; align-items: flex-start; gap: 8px; }
.pcais-inline input { width: auto !important; margin-top: 2px !important; }
#pcais-status, #pcais-save-status { font-weight: 600; }
.pcais-notice { border: 1px solid #dcdcde; background: #fff; padding: 16px; border-radius: 6px; }
.pcais-settings { max-width: 760px; background: #fff; border: 1px solid #dcdcde; border-radius: 6px; padding: 18px; }
.pcais-settings label { display: block; font-weight: 600; margin-bottom: 16px; }
@media (max-width: 782px) { .pcais-grid { grid-template-columns: 1fr; } }

.pcais-recorder #pcais-status { display: inline-block; min-height: 24px; padding: 4px 0; color: #1d2327; }

.pcais-video-link { margin: 0 0 16px; }
.pcais-waiting-public { max-width: 760px; }
.pcais-waiting-list { margin-top: 14px; display: grid; gap: 10px; }
.pcais-waiting-card { border: 1px solid #dcdcde; border-radius: 6px; padding: 12px; background: #f6f7f7; }
.pcais-waiting-card strong, .pcais-waiting-card span { display: block; }
.pcais-waiting-card span { color: #50575e; margin-top: 3px; }
.pcais-invite { margin-bottom: 16px; }
#pcais-invite-status { display: inline-block; margin-left: 10px; font-weight: 600; }

.pcais-video-panel { margin-top: 16px; }
.pcais-video-grid { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 12px; margin: 12px 0; }
.pcais-video-grid video { width: 100%; aspect-ratio: 16 / 9; background: #101517; border-radius: 6px; object-fit: cover; }
.pcais-call-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
@media (max-width: 782px) { .pcais-video-grid { grid-template-columns: 1fr; } }

.pcais-patient-waiting-state { text-align: center; padding: 28px; }
.pcais-patient-waiting-state h3 { font-size: 26px; margin: 12px 0 8px; }
.pcais-muted { color: #646970; }
.pcais-spinner { width: 54px; height: 54px; border: 5px solid #dcdcde; border-top-color: #d81b60; border-radius: 50%; margin: 0 auto 14px; animation: pcais-spin 1s linear infinite; }
.pcais-error { color: #b32d2e; font-weight: 600; }
@keyframes pcais-spin { to { transform: rotate(360deg); } }

.pcais-connection-debug { font-weight: 600; color: #2271b1; margin: 6px 0 10px; }

.pcais-archive-search { display: grid; grid-template-columns: minmax(240px, 1fr) 180px auto auto; gap: 12px; align-items: end; }
.pcais-archive-results { display: grid; gap: 12px; margin-top: 16px; }
.pcais-consult-card { background: #fff; border: 1px solid #dcdcde; border-radius: 6px; padding: 14px; }
.pcais-consult-card header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.pcais-consult-card dl { display: grid; grid-template-columns: 150px 1fr; gap: 8px 12px; margin: 0; }
.pcais-consult-card dt { font-weight: 700; }
.pcais-consult-card dd { margin: 0; }
.pcais-consult-card pre { white-space: pre-wrap; font-family: inherit; margin: 0; }
@media (max-width: 782px) { .pcais-archive-search, .pcais-consult-card dl { grid-template-columns: 1fr; } }

.pcais-consult-top { position: sticky; top: 32px; z-index: 20; background: #fff; border-bottom: 1px solid #dcdcde; padding-bottom: 12px; }
.admin-bar .pcais-consult-top { top: 32px; }
.pcais-consult-body { padding-top: 18px; }
.pcais-checklist { grid-column: 1 / -1; }
.pcais-checklist-grid { display: grid; grid-template-columns: repeat(2, minmax(260px, 1fr)); gap: 10px 18px; }
.pcais-video-panel { background: #fff; }
.pcais-waiting-dashboard { max-height: 360px; overflow: auto; }
@media (max-width: 782px) { .pcais-consult-top { position: static; } .pcais-checklist-grid { grid-template-columns: 1fr; } }

/* v1.0.1: undo sticky layout because some themes hide the consultation form beneath fixed headers. */
.pcais-consult-top { position: relative !important; top: auto !important; z-index: auto !important; background: transparent; border-bottom: 0; padding-bottom: 0; }
.admin-bar .pcais-consult-top { top: auto !important; }
.pcais-consult-body { display: block !important; clear: both; padding-top: 24px; }
.pcais-front .pcais-grid { display: grid !important; }

.pcais-login-wrap { max-width: 520px; margin: 28px auto; }
.pcais-login-form h2 { margin-top: 0; }
#pcais-login-status { font-weight: 600; }

.pcais-ai-intake { border: 1px solid #dcdcde; border-radius: 6px; padding: 14px; margin: 14px 0; background: #f6f7f7; }
.pcais-ai-intake h3 { margin-top: 0; }
.pcais-ai-question { display: block; margin: 12px 0; font-weight: 600; }
.pcais-ai-question textarea { margin-top: 6px; width: 100%; box-sizing: border-box; }
.pcais-ai-summary { margin: 8px 0; }
.pcais-ai-summary pre { white-space: pre-wrap; font-family: inherit; background: #fff; border: 1px solid #dcdcde; border-radius: 4px; padding: 10px; }
#pcais-ai-intake-status { font-weight: 600; margin-top: 8px; }

.pcais-avatar-panel { display: grid; grid-template-columns: 190px 1fr; gap: 18px; align-items: center; background: #fff; border: 1px solid #dcdcde; border-radius: 8px; padding: 16px; margin-bottom: 12px; }
.pcais-avatar-frame { position: relative; border-radius: 8px; overflow: hidden; background: #f6f7f7; aspect-ratio: 4 / 3; }
.pcais-avatar-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pcais-avatar-copy h3 { margin: 0 0 8px; }
.pcais-avatar-copy p { font-size: 16px; line-height: 1.45; margin: 0 0 12px; }
.pcais-avatar-pulse { position: absolute; right: 10px; bottom: 10px; width: 14px; height: 14px; border-radius: 50%; background: #46b450; box-shadow: 0 0 0 0 rgba(70,180,80,.6); }
.pcais-avatar-speaking .pcais-avatar-pulse { animation: pcais-avatar-pulse 1s infinite; }
@keyframes pcais-avatar-pulse { 0% { box-shadow: 0 0 0 0 rgba(70,180,80,.65); } 70% { box-shadow: 0 0 0 12px rgba(70,180,80,0); } 100% { box-shadow: 0 0 0 0 rgba(70,180,80,0); } }
@media (max-width: 700px) { .pcais-avatar-panel { grid-template-columns: 1fr; } .pcais-avatar-frame { max-width: 260px; } }

.pcais-ai-stepper { background: #fff; border: 1px solid #dcdcde; border-radius: 8px; padding: 16px; margin-top: 12px; }
.pcais-ai-progress { display: grid; gap: 8px; margin-bottom: 12px; font-weight: 700; }
.pcais-ai-progress div { height: 8px; background: #e5e5e5; border-radius: 999px; overflow: hidden; }
#pcais-ai-progress-bar { display: block; height: 100%; width: 0; background: #d81b60; transition: width .25s ease; }
.pcais-ai-current-question { display: block; font-size: 18px; font-weight: 700; margin-bottom: 8px; }
#pcais-ai-current-answer { width: 100%; box-sizing: border-box; }
.pcais-ai-step-actions { display: flex; gap: 8px; margin-top: 12px; }
.pcais-ai-complete { background: #f0f6fc; border: 1px solid #72aee6; border-radius: 8px; padding: 16px; margin-top: 12px; }

.pcais-guideline-link, .pcais-guideline-missing { font-weight: 600; margin: 8px 0; }
.pcais-guideline-link a { color: #2271b1; }
.pcais-guideline-missing { color: #8a6d3b; }
