/* Shared client controls, responsive settings and personal reading preferences. */
body.precision.studio:not(.auth-required) .button:not(.chat-back):not(.contact-toggle):not(.contact-collapse):not(.chat-info-button):not([hidden]) {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  max-width:100%; line-height:1.4; vertical-align:middle; text-align:center;
}
body.precision.studio .button > .ui-icon {flex:0 0 auto;align-self:center}
body.precision.studio .button[hidden] {display:none!important}
body.precision.studio .top-actions .top-avatar {background:var(--accent-soft);color:var(--accent);border-color:var(--line);font-weight:600}
body.precision.studio .page-head .button.primary::after {content:none}
body.precision.studio :is(.page-head,.section-head,.modal-head) > div {min-width:0}
body.precision.studio :is(.page-head,.section-head,.modal-actions) .button {flex-shrink:0}
body.precision.studio select:not([multiple]):not([size]) {
  appearance:none; padding-right:36px;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 17px) 50%,calc(100% - 13px) 50%;
  background-size:4px 4px;background-repeat:no-repeat;
}
body.precision.studio :is(input[type=checkbox],input[type=radio]) {
  width:18px;height:18px;min-width:18px;min-height:18px;flex:0 0 18px;
  padding:0;margin:0;accent-color:var(--accent);vertical-align:middle;
}
body.precision.studio[data-page=settings] .settings-card {overflow-wrap:anywhere}
body.precision.studio[data-page=settings] .settings-card > p {max-width:72ch}
body.precision.studio[data-page=settings] .settings-card form {max-width:760px}
body.precision.studio[data-page=settings] .settings-nav button {white-space:normal;line-height:1.4}
body.precision.studio[data-page=settings] .settings-block > p {max-width:68ch}
body.precision.studio[data-page=settings] .team-list {display:grid;gap:12px;margin:22px 0}
body.precision.studio[data-page=settings] .team-list article {
  padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--canvas);
}
body.precision.studio[data-page=settings] .pending-invites article {min-width:0;flex-wrap:wrap}
body.precision.studio[data-page=settings] .pending-invites article > div {flex:1 1 180px;min-width:0}
body.precision.studio[data-page=settings] .session-list article > div {min-width:0}
body.precision.studio[data-page=settings] :is(.settings-option-row,.settings-preference-toggle) {
  display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-top:1px solid var(--line);
}
body.precision.studio[data-page=settings] :is(.settings-option-row,.settings-preference-toggle) > input {margin-top:3px}
body.precision.studio[data-page=settings] :is(.settings-option-row,.settings-preference-toggle) span {min-width:0}
body.precision.studio[data-page=settings] :is(.settings-option-row,.settings-preference-toggle) small {display:block;color:var(--muted);margin-top:5px;line-height:1.6}
body.precision.studio[data-page=settings] .client-preference-status {padding:12px 14px;border-radius:10px;background:var(--raised);color:var(--muted);margin-top:18px}
body.precision.studio[data-page=settings] .client-preference-status[data-state=error] {background:var(--red-soft);color:var(--red)}
body.precision.studio[data-page=editor] .connection-mini-list article {display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
body.precision.studio[data-page=editor] .connection-mini-list article > div {min-width:0}
body.precision.studio[data-page=editor] .connection-mini-list article :is(b,small) {overflow-wrap:anywhere}
body.precision.studio .member-capabilities {display:grid;gap:0;min-width:0;border:1px solid var(--line);border-radius:12px;padding:4px 16px;margin:16px 0}
body.precision.studio .member-capabilities label {display:flex;align-items:flex-start;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5;min-width:0}
body.precision.studio .member-capabilities label:last-child {border-bottom:0}
body.precision.studio .member-capabilities input {margin-top:2px}
body.precision.studio .member-capabilities span {min-width:0;overflow-wrap:anywhere}
body.precision.studio .member-capabilities small {display:block;color:var(--muted);margin-top:3px}
body.precision.studio .client-observation {width:min(680px,calc(100vw - 32px));max-width:100%;padding:24px}
body.precision.studio .client-observation .eyebrow {overflow-wrap:anywhere}
body.precision.studio .client-observation h2 {margin-top:8px}
body.precision.studio .client-observation-body {min-height:120px;margin-top:22px}
body.precision.studio .client-observation-body p {line-height:1.65;color:var(--muted)}
body.precision.studio .client-observation-notice {padding:12px;border-radius:10px;background:var(--amber-soft)}
body.precision.studio .client-activity-list {list-style:none;padding:0;margin:0}
body.precision.studio .client-activity-list li {padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
body.precision.studio .client-activity-list li > div {display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
body.precision.studio .client-activity-list time {color:var(--muted);font-size:12px}
body.precision.studio .client-activity-list p {font-size:13px;margin-top:6px}
body.precision.studio .client-observation-caption {font-size:13px;margin-top:18px}
body.precision.studio .client-runtime-summary h3 {margin:14px 0 8px}
body.precision.studio .client-runtime-summary dl {margin:20px 0}
body.precision.studio .client-runtime-summary dl > div {padding:12px 0;border-bottom:1px solid var(--line)}
body.precision.studio .client-runtime-summary dt {font-size:13px;color:var(--muted)}
body.precision.studio .client-runtime-summary dd {margin:5px 0 0;font-size:14px}
body.precision.studio[data-page=billing] .billing-current {align-items:center}
body.precision.studio[data-page=billing] .billing-plans {align-items:stretch}
body.precision.studio[data-page=billing] .billing-plan header {min-height:105px}
body.precision.studio[data-page=billing] .billing-plan strong {white-space:normal;overflow-wrap:anywhere}
body.precision.studio[data-page=billing] .billing-plan-action {display:flex;align-items:center;min-height:44px}
body.precision.studio[data-page=billing] .billing-plan-action > .badge {min-height:36px;align-items:center}
body.precision.studio[data-page=billing] .billing-usage-card progress {appearance:none;border:0;border-radius:8px;overflow:hidden}
body.precision.studio[data-page=billing] .billing-resource-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
body.precision.studio[data-page=billing] .billing-resource-grid > article {min-width:0;border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--card)}
body.precision.studio[data-page=billing] .billing-resource-grid strong {display:block;font-size:22px;margin:8px 0;font-variant-numeric:tabular-nums}
body.precision.studio[data-page=billing] .billing-resource-grid p {color:var(--muted);line-height:1.6}
body.precision.studio[data-page=analytics] .analytics-metric a {display:flex;align-items:center;justify-content:space-between;gap:8px}
body.precision.studio[data-page=analytics] .analytics-metric a > span {min-width:0}
body.precision.studio[data-page=analytics] .analytics-metric a > .ui-icon {flex:0 0 auto}
body.precision.studio[data-page=analytics] .analytics-metric a > [aria-hidden=true] {flex:0 0 auto}
/* Preferences change actual presentation; touch controls keep their minimum size. */
body.precision.studio[data-client-density=compact] #app {padding-top:20px;padding-bottom:24px}
body.precision.studio[data-client-density=compact] .card-pad {padding:14px}
body.precision.studio[data-client-density=compact] :is(.page-head,.section-head) {margin-bottom:12px}
body.precision.studio[data-client-density=compact][data-page=settings] .settings-card {padding:20px}
body.precision.studio[data-client-density=compact][data-page=settings] .settings-block {padding-block:16px}
body.precision.studio[data-client-density=compact][data-page=billing] :is(.billing-current,.billing-usage-card,.billing-plan) {padding:18px}
body.precision.studio[data-client-text-size=large] #app {font-size:16px}
body.precision.studio[data-client-text-size=large] #app :is(button,input,select,textarea,.field label,.page-head p,.section-head p,.muted,.settings-card p,.settings-card small,.settings-status,.settings-nav button,.billing-plan-details,.billing-heading p,.billing-usage-card p,.billing-notice,.billing-muted,.billing-payment,.help-answer,.message-text) {font-size:16px;line-height:1.65}
body.precision.studio[data-client-text-size=large] #app :is(h3,.settings-block h3,.security-block h3) {font-size:19px}
body.precision.studio[data-client-text-size=large] #app h1 {font-size:32px}
body.precision.studio[data-client-text-size=large] :is(.modal-inner,.settings-dialog,.billing-review) :is(p,label,small,.button,input,select,textarea) {font-size:16px;line-height:1.6}
@media(min-width:761px) {
  body.precision.studio[data-page=settings] .settings-nav {position:sticky;top:90px}
}
@media(max-width:760px) {
  body.precision.studio[data-page=settings] .settings-nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;padding:0;position:static}
  body.precision.studio[data-page=settings] .settings-nav-group {display:contents}
  body.precision.studio[data-page=settings] .settings-nav button {display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:10px 8px;text-align:center;border-color:var(--line);background:var(--card)}
  body.precision.studio[data-page=settings] .settings-nav button.active {background:var(--accent-soft);border-color:var(--accent)}
  body.precision.studio[data-page=settings] .settings-card {padding:20px}
  body.precision.studio[data-page=settings] .team-list article {padding:16px}
  body.precision.studio[data-page=settings] .settings-themes {display:flex;flex-wrap:wrap;gap:8px}
  body.precision.studio[data-page=settings] .settings-themes button {flex:1 1 110px;min-width:0}
  body.precision.studio[data-page=settings] .session-list article {flex-wrap:wrap}
  body.precision.studio[data-page=editor] .connection-mini-list article {grid-template-columns:auto minmax(0,1fr)}
  body.precision.studio[data-page=editor] .connection-mini-list article > .badge {grid-column:2;justify-self:start}
  body.precision.studio[data-page=billing] .billing-resource-grid {grid-template-columns:minmax(0,1fr)}
  body.precision.studio[data-page=billing] .billing-plan header {min-height:0}
  body.precision.studio[data-client-text-size=large] #app h1 {font-size:28px}
  body.precision.studio .modal-actions {flex-wrap:wrap}
  body.precision.studio .modal-actions > .button {flex:0 1 auto;min-height:44px}
  body.precision.studio .client-observation {padding:18px}
}
@media(prefers-reduced-motion:reduce) {
  body.precision.studio *,body.precision.studio *::before,body.precision.studio *::after {scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
