.development-nav-label{padding:24px 14px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.recognition-lab-heading{margin-bottom:24px}.recognition-lab-heading h2{margin:8px 0}
.recognition-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:24px}.recognition-tabs .active{background:#322c28;color:white}
.resident-record .record-grid[hidden]{display:none!important}
.recognition-care{max-width:940px;margin:auto;min-width:0}.recognition-care *{box-sizing:border-box}.recognition-care [hidden]{display:none!important}
.recognition-eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:700}
.recognition-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:16px 0 28px}.recognition-hero h2{font-size:30px;letter-spacing:-.7px;margin:0 0 8px}.recognition-hero p{color:var(--muted);margin:0;line-height:1.6}
.recognition-badge{display:inline-flex;align-items:center;gap:7px;border-radius:24px;padding:8px 13px;background:#e7f1e9;color:#245039;font-size:13px;font-weight:700;white-space:nowrap}.recognition-badge.pending{background:#fff0d8;color:#795423}.recognition-badge.neutral{background:#eeeae5;color:#5d554d}
.recognition-summary{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--line);border-radius:18px;background:white;overflow:hidden}.recognition-summary>div{padding:22px;border-right:1px solid var(--line)}.recognition-summary>div:last-child{border:0}.recognition-summary small{display:block;color:var(--muted);margin-bottom:10px}.recognition-summary strong{font-size:18px;display:block;margin-bottom:8px}.recognition-summary p{font-size:13px;line-height:1.6;margin:0;color:var(--muted)}
.recognition-coverage{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:14px}.recognition-coverage .covered{color:#285e40}
.recognition-improvement{margin:22px 0;padding:22px;border:1px solid #dddfd3;border-radius:18px;background:#f5f7f0}.recognition-improvement h3{margin:10px 0}.recognition-improvement p{max-width:680px;font-size:14px;line-height:1.7;color:#625e52}.recognition-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.recognition-actions .btn{min-height:44px}
.recognition-footnote{color:var(--muted);font-size:12px;line-height:1.7;margin-top:20px}.recognition-care select{max-width:100%;padding:10px;border-radius:10px;border:1px solid var(--line)}
.recognition-wizard{border:1px solid var(--line);border-radius:20px;background:white;padding:28px;margin-top:24px}.recognition-wizard h3{font-size:24px;margin:22px 0 12px}.recognition-wizard p{font-size:15px;line-height:1.7;color:var(--muted);max-width:650px}.recognition-steps{display:flex;list-style:none;padding:0;gap:5px;flex-wrap:wrap}.recognition-steps li{padding:6px 10px;border-radius:20px;font-size:12px;color:var(--muted);background:#f5f1eb}.recognition-steps .active{background:#fbe0c5;color:#663c18;font-weight:700}.recognition-choice{display:block;border:1px solid var(--line);padding:15px;border-radius:12px;margin:12px 0;cursor:pointer}.recognition-choice input{margin-right:10px}
.recognition-notice{background:#fff2dc;border-radius:12px;padding:16px;line-height:1.6;color:#6a4b28;margin:16px 0}.recognition-loading{display:flex;gap:12px;align-items:center;padding:24px 0}.recognition-loading span:first-child{width:18px;height:18px;border:2px solid #ddc7ad;border-top-color:#9b622e;border-radius:50%;animation:recognition-spin 1s linear infinite}@keyframes recognition-spin{to{transform:rotate(360deg)}}
.recognition-care .btn:disabled{opacity:.5;cursor:not-allowed}.care-video-dialog{border:1px solid var(--line);border-radius:20px;background:#fffdfa;padding:24px}.care-video-dialog [hidden]{display:none!important}.care-video-dialog .camera-diagnostics{display:none!important}
.care-video-dialog{width:min(700px,calc(100% - 32px));max-height:90dvh;overflow:auto}.care-video-dialog::backdrop{background:#29251f88}.care-video-dialog .appearance-camera{position:relative;max-width:640px;margin:16px auto;background:#25231f;border-radius:16px;overflow:hidden}.care-video-dialog .appearance-camera video{width:100%;display:block;transform:scaleX(-1)}.care-video-dialog .appearance-frame{position:absolute;left:25%;top:12%;width:50%;height:72%;border:3px solid #aab2bc;border-radius:50%;pointer-events:none}.care-video-dialog .form-actions{flex-wrap:wrap}.care-video-dialog .btn{min-height:44px}.care-video-dialog label{display:block;line-height:1.6;margin-top:16px}
@media(max-width:600px){.recognition-hero{flex-direction:column;gap:12px}.recognition-hero h2{font-size:26px}.recognition-summary{grid-template-columns:1fr}.recognition-summary>div{border-right:0;border-bottom:1px solid var(--line);padding:18px}.recognition-wizard{padding:18px}.recognition-improvement{padding:18px}.recognition-actions .btn{flex:1 1 160px}.recognition-steps{gap:4px}.recognition-steps li{font-size:11px;padding:5px 7px}}
@media(prefers-reduced-motion:reduce){.recognition-loading span:first-child{animation:none}}
.recognition-analysis-progress{height:12px;border-radius:12px;background:#f3e8db;overflow:hidden;margin:24px 0;position:relative}.recognition-analysis-progress>span{display:block;position:absolute;inset:0 auto 0 0;width:38%;border-radius:inherit;background:linear-gradient(90deg,#ffbe7a,#ff7a0a);animation:recognition-analysis-sweep 2s ease-in-out infinite}.recognition-analysis-stages{list-style:none;padding:0;display:grid;gap:14px;font-size:14px;color:var(--muted)}.recognition-analysis-stages .complete{color:#285e40}.recognition-analysis-stages .current{color:#663c18;font-weight:700}.recognition-analysis-reassurance{background:#fff4e5;padding:14px 16px;border-radius:12px}@keyframes recognition-analysis-sweep{0%{left:-38%}100%{left:100%}}@media(prefers-reduced-motion:reduce){.recognition-analysis-progress>span{animation:none;left:31%;opacity:.8}}

.recognition-analysis-progress.determinate>span{animation:none;left:0;transition:width .4s ease}
/* Persistent lifecycle: labels and states remain visible at every viewport. */
.recognition-lifecycle{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fffdfa}.recognition-lifecycle h3{font-size:15px;margin:0 0 16px}.recognition-lifecycle .recognition-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:0}.recognition-lifecycle .recognition-steps li{display:flex;align-items:flex-start;gap:8px;padding:12px 8px;border-radius:10px;background:#f3f1ed;color:#62605c;min-width:0}.recognition-steps b{display:block;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.recognition-steps small{display:block;font-size:12px;margin-top:5px;line-height:1.4}.recognition-step-symbol{font-size:16px;flex-shrink:0}.recognition-lifecycle .completed{background:#eaf3ed!important;color:#285e40!important}.recognition-lifecycle .current{background:#fff0dc!important;color:#75420e!important;outline:2px solid #ce8532}.recognition-lifecycle .skipped{background:transparent!important;border:1px dashed #bbb5ac}.recognition-lifecycle .failed{background:#fbeceb!important;color:#913b33!important;outline:2px solid #b9544a}.recognition-validation-action{flex-basis:100%;margin:0}.recognition-action-reason{font-size:13px;color:var(--muted)}.recognition-privacy-action{background:transparent!important;border-color:transparent!important;color:var(--muted)!important;text-decoration:underline;font-weight:400!important}.recognition-analysis-stages .pending{color:#65625e}.recognition-improvement h3{margin-top:0}
@media(max-width:1000px){.recognition-lifecycle .recognition-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.recognition-lifecycle{padding:16px}.recognition-lifecycle .recognition-steps{grid-template-columns:1fr 1fr;gap:10px}.recognition-lifecycle .recognition-steps li{padding:10px;min-height:72px}.recognition-lifecycle .recognition-steps b{font-size:13px}.recognition-lifecycle .recognition-steps small{font-size:12px}.recognition-privacy-action{flex-basis:100%!important}}

/* Connection to the device controller, independent of recognition/profile state. */
.recognition-device-name{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.recognition-connection{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;border-radius:999px;padding:4px 8px}
.recognition-connection.connected{color:#166534;background:#dcfce7}
.recognition-connection.disconnected{color:#991b1b;background:#fee2e2}
