/* Readable defaults and resilient controls across all screens. */
html{font-size:100%}body{font-size:var(--text-lg);line-height:1.5}
.bubble,.user-bubble,.side-chat-bubble,.composer textarea,.modal-lead,.field input,.field textarea,.field select,.landing-copy>p,.provider-card .provider-quote,.story-field p,.icc-question legend{font-size:var(--text-lg);line-height:1.6}
button,a,input,textarea,select,summary{scroll-margin:1rem}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.btn,.chip,.icon-btn,.send-btn,.role-tab,.huddle-toggle,.huddle-close,.text-link{min-height:44px}
.icon-btn,.send-btn,.huddle-toggle,.huddle-close{min-width:44px}
button,.btn,.nav-item,.role-tab{white-space:normal;overflow-wrap:anywhere}
input:not([type=checkbox]):not([type=range]),select,textarea{font-size:var(--text-lg);min-height:44px}
.field input,.field textarea,.field select,.composer,.agent-admin input,.agent-admin textarea,.agent-admin select{border-color:#718596}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.provider-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.provider-card .provider-body>.btn{font-size:var(--text-md);min-height:44px}
.provider-card .provider-name>span,.provider-card .provider-perspective,.provider-card .style-tag,.provider-card .provider-detail{font-size:var(--text-base)}
.provider-card .ai-label{font-size:var(--text-base)}
.role-title{flex-wrap:wrap}.role-title>.muted{white-space:normal}
.message-meta{flex-wrap:wrap}.conversation-title>span{white-space:normal;overflow:visible;text-overflow:clip}
.sidebar-label,.eyebrow{letter-spacing:.08em}
@media(max-width:700px){.sidebar{height:auto;min-height:76px}.sidebar nav{align-items:stretch}.nav-item{font-size:var(--text-base);line-height:1.25;padding:9px 3px}.workspace{padding-bottom:100px}.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding-block:10px}.top-label{display:none}.chat-page{height:auto;min-height:calc(100dvh - 170px)}.chat-layout{min-height:520px}.landing-copy h1{font-size:clamp(2.4rem,12vw,3.375rem)}.landing-cta{gap:12px}.landing-cta .btn{font-size:var(--text-lg)}.provider-grid,.wide .provider-grid{grid-template-columns:1fr}.modal .onboard-brand{flex-wrap:wrap}.admin-header{flex-wrap:wrap}}
.role-tab,.role-title p,.selection-hint,.provider-card .provider-perspective,.provider-card .provider-detail,.field label,.story-field p{font-size:var(--text-lg);line-height:1.6}
.wide .provider-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
@media(max-width:700px){.wide .provider-grid{grid-template-columns:1fr}}

.nav-label-short{display:none}
@media(max-width:700px){.nav-label-full{display:none}.nav-label-short{display:inline}.nav-item{overflow-wrap:normal}}
.topbar{height:auto;min-height:70px;flex-wrap:wrap;gap:12px;padding-block:12px}.top-actions{flex-wrap:wrap}
.provider-name{flex-wrap:wrap}.nav-item{overflow-wrap:normal}
@media(min-width:701px){.sidebar{width:13.5rem;overflow-y:auto}.workspace{margin-left:13.5rem;width:calc(100% - 13.5rem)}.team-builder{grid-template-columns:minmax(0,12.5rem) minmax(0,1fr)}}
@media(min-width:701px){.team-builder{display:flex;flex-wrap:wrap}.role-list{flex:0 1 15rem;max-width:100%}.role-content{flex:1 1 20rem;min-width:0}}

/* Short interface labels stay intact; long content can still reflow. */
.profile-switch small,.mode-badge,.ai-label,.nav-label-short{white-space:nowrap;overflow-wrap:normal}
.profile-switch>.initial,.profile-switch>.icon{flex-shrink:0}
@media(max-width:700px){.role-list{display:flex;flex-wrap:nowrap;flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:8px}.role-tab{flex:0 0 auto;min-width:max-content}.role-tab>span{white-space:nowrap}}
@media(min-width:701px){.landing-footer{row-gap:4px}.landing-links>.text-link{min-height:24px;padding-block:0}}
.icc-periods{flex-wrap:wrap}
.icc-periods button{white-space:nowrap;overflow-wrap:normal;padding:10px 8px}
