/* Clinic Concierge: warm editorial workspace and explicit connection state. */
.studio-dialog{width:min(1180px,calc(100vw - 48px));max-width:1180px;height:min(900px,92dvh);max-height:92dvh;border-radius:20px;border:1px solid #c6b49c;box-shadow:0 40px 120px #17130f60}
.workspace-header{background:#fffaf2}.workspace-layout{grid-template-columns:242px minmax(0,1fr)}
.workspace-sidebar{background:#2d2b26;color:#eee4d4;padding:25px 18px}
.concierge-signature{display:flex;align-items:center;gap:13px;padding:0 10px 28px;font-size:9px;letter-spacing:.15em;color:#c6b594}
.concierge-signature strong{display:block;font:italic 25px 'Playfair Display',Georgia,serif;color:#f4ead9;margin-top:4px;letter-spacing:0}
.concierge-star{font-size:36px;color:#caa878}
.workspace-tabs button{color:#cabdab;border:1px solid transparent;border-radius:8px;margin-bottom:7px;padding:15px 12px}
.workspace-tabs button:hover{background:#ffffff0a;color:#fff4df}
.workspace-tabs button[aria-selected=true]{color:#fff0d6;background:#514330;border:1px solid #866e4b}
.workspace-side-note{border-color:#5b5041}.workspace-side-note h3,.workspace-side-note a{color:#eddbbe}
.workspace-side-note p{color:#bdaf99;font-size:12px}.workspace-orbit{border-color:#70604b}
.workspace-orbit:before,.workspace-orbit:after{border-color:#70604b}
.connection-status{color:#dbcbaa;line-height:1.7;align-items:center;gap:8px}
#connection-recheck{border:0;color:#e8d6b5;background:transparent;font-size:21px;padding:6px;margin-left:auto}
.workspace-panel{padding:28px 32px}.chat-panel{background:linear-gradient(180deg,#fffcf7,#f4eee4);overflow:hidden}
.panel-topline h3{font-size:30px}.chat-header-actions{display:flex;align-items:center;gap:13px}.chat-header-actions button{white-space:nowrap}
.assistant-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0 18px;flex-shrink:0}
.assistant-modes button{border:1px solid #dfd4c3;padding:13px 10px;border-radius:8px;background:#fffaf2;text-align:left;font-size:12px}
.assistant-modes button span{font-size:9px;color:#a78661;margin-right:8px}
.assistant-modes button[aria-pressed=true]{background:#ede0cc;border-color:#bfa281;color:#50381e}
.chat-log{min-height:120px;padding:7px 8px 12px 0;scrollbar-width:thin;scrollbar-color:#cbbb9f transparent}
.message{max-width:93%;border-radius:12px;padding:15px 17px}.message.assistant{background:#fffdf8;border:1px solid #e2d5c2;box-shadow:0 5px 15px #4a321405}
.message.user{background:#e3d2b7;color:#35291c;border:1px solid #cfb995}
.message-source{font-size:9px;letter-spacing:.12em;margin-bottom:10px}
.message-text,.message.user .message-text{white-space:normal;font-size:14px;line-height:1.75;overflow-wrap:anywhere;background:transparent;border:0;padding:0;border-radius:0;color:inherit}
.message-text p{margin:0 0 10px}.message-text p:last-child{margin-bottom:0}.message-text ul{margin:10px 0;padding-left:22px}.message-text li{margin-bottom:6px}
.message-text h4{font-size:15px;margin:12px 0 8px}.message-text strong{font-weight:650}
.message-actions{margin-top:11px;display:flex;border-top:1px solid #eadfcd;padding-top:8px}
.message-copy{background:transparent;border:0;padding:4px 0;font-size:10px;color:#83613a}
.chat-suggestions{gap:7px;padding-top:8px}.chat-suggestions .suggestion{border-radius:7px;background:#fffcf7;font-size:11px}
.answer-preferences{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0;color:#817055;font-size:10px}
.answer-preferences select{font-size:11px;padding:6px 9px;border:1px solid #d7c6ac;border-radius:5px;background:#fffaf1;color:#5c4226}
.answer-preferences>span{margin-left:auto;font-size:9px}.chat-form{border-radius:10px;background:#fffdf8;border:1px solid #baa384}
.send-button{border-radius:6px;background:#6c4c2d}.ai-disclosure{border-radius:7px;font-size:11px}.brief-form{margin-top:22px}
.case-readiness{border:1px solid #dfd0ba;border-radius:12px;padding:18px 20px;background:linear-gradient(110deg,#f2e6d4,#fcf7ee);margin-top:20px}
.case-readiness-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.case-readiness h4{font-size:15px;margin:3px 0;color:#4d3d2a;font-weight:500}
#case-readiness-count{font-size:10px;white-space:nowrap;background:#e4d2b6;border-radius:15px;padding:6px 10px}
#case-checklist{display:flex;list-style:none;padding:0;flex-wrap:wrap;gap:8px 16px;margin:15px 0;font-size:11px;color:#88765b}
#case-checklist li{display:flex;gap:6px;align-items:center}#case-checklist .complete{color:#46644a}.check-icon{font-size:15px}
#case-file-status{font-size:11px;line-height:1.6;margin:0 0 8px;color:#76634c}.case-readiness>small{font-size:10px;color:#8c7357}
.tooth-planner{padding:22px;border:1px solid #e0d4c1;border-radius:12px;background:#fffcf6}
.tooth-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.tooth-heading h4{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:22px;margin:4px 0}
.tooth-planner>p{font-size:11px;line-height:1.7;color:#8a7357;margin:8px 0 16px}
.tooth-grid{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:3px}
.tooth-button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 1px;border:1px solid #e2d5c0;border-radius:7px;background:#faf3e5;min-width:0;min-height:58px;transition:background .15s,color .15s}
.tooth-button:hover{background:#e6d4b7}.tooth-button[aria-pressed=true]{background:#795331;border-color:#795331;color:#fff4df}
.tooth-shape{height:19px;width:15px;border-radius:6px 6px 4px 4px;border:1px solid #c6b08d;box-shadow:inset 2px 2px 3px #ffffff99;background:linear-gradient(130deg,#fffdf6,#e7d9c4);position:relative}
.tooth-shape:after{content:'';position:absolute;left:6px;top:5px;height:8px;border-left:1px solid #c7b596;transform:rotate(15deg)}.tooth-number{font-size:10px;font-weight:500}
.jaw-caption{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8b7456;letter-spacing:.12em;margin:10px 0}
.jaw-caption button{border:0;background:transparent;color:#7e5732;font-size:10px;letter-spacing:0;min-height:30px}
.arch-divider{display:flex;align-items:center;justify-content:center;color:#ba9e79;letter-spacing:.12em;font-size:8px;margin:13px 0;gap:10px}
.arch-divider:before,.arch-divider:after{content:'';height:1px;background:#eadfce;flex:1}
.teeth-selection{border-top:1px solid #e9decc;margin-top:14px;padding-top:12px;display:flex;gap:15px;align-items:baseline}
.teeth-selection>span{font-size:8px;letter-spacing:.1em;color:#967955}.teeth-selection output{font-size:11px;line-height:1.7}.brief-actions{flex-wrap:wrap}
@media(max-width:850px){.workspace-layout{grid-template-columns:195px minmax(0,1fr)}.workspace-panel{padding:22px}.tooth-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.panel-topline{align-items:start}.chat-header-actions{gap:5px;flex-direction:column;align-items:end}.assistant-modes button{font-size:11px}.concierge-signature{padding-inline:0}}
@media(max-width:700px){
 .studio-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border-radius:0;border:0}.workspace-layout{grid-template-columns:1fr}.workspace-sidebar{padding:9px 12px}
 .concierge-signature,.workspace-side-note{display:none}.workspace-tabs button{font-size:10px!important;margin:0;padding:11px 6px!important;border-radius:7px}
 .connection-status{font-size:9px;padding-top:6px}.workspace-panel{padding:20px 16px}.workspace-content{overflow-y:auto}.chat-panel{height:auto;min-height:100%;overflow:visible;flex-shrink:0}.panel-topline h3{font-size:25px}
 .assistant-modes{margin-bottom:8px}.assistant-modes button{padding:10px 7px;font-size:11px;min-height:43px}.assistant-modes button span{display:none}
 .chat-log{flex:none;min-height:190px;height:32dvh;max-height:340px}.message{max-width:98%;padding:13px}.answer-preferences select{font-size:16px;max-width:160px}.answer-preferences>span{margin-left:0}
 .case-readiness{padding:16px}.case-readiness-top{align-items:start;flex-direction:column}.tooth-planner{padding:15px}.tooth-heading{align-items:start;flex-direction:column}
 .tooth-button{min-height:62px}.tooth-number{font-size:12px}.tooth-heading h4{font-size:21px}.digital-actions .button{font-size:12px}
}
