/* One control surface for the opt-in CRM and public synthetic widgets. */
[data-ui-preview] { --control-font:14px; }
@media(max-width:760px){[data-ui-preview]{--control-font:16px}}
[data-ui-preview] .icon { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
:where([data-ui-preview] .btn) { display:inline-flex; }
[data-ui-preview] .btn { align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; margin:0; border:1px solid var(--ui-border); border-radius:var(--ui-radius-control); background:var(--ui-surface); color:var(--ui-text-secondary); font:600 13px/1.4 var(--ui-font); cursor:pointer; text-decoration:none; }
[data-ui-preview] .btn:hover { background:var(--ui-surface-hover); border-color:var(--ui-border-strong); }
[data-ui-preview] .btn-primary { background:var(--ui-accent); color:var(--ui-on-accent); border-color:var(--ui-accent); }
[data-ui-preview] .btn-primary:hover { background:var(--ui-accent-hover); border-color:var(--ui-accent-hover); }
[data-ui-preview] .btn-subtle { background:var(--ui-surface-soft); }
[data-ui-preview] .btn:disabled { opacity:.55; cursor:default; }
[data-ui-preview] .icon-button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--ui-border); border-radius:8px; background:var(--ui-surface); color:var(--ui-text-secondary); cursor:pointer; }
[data-ui-preview] .avatar { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; flex-shrink:0; border-radius:12px; background:var(--ui-accent-soft); color:var(--ui-accent); font-size:13px; font-weight:700; }
[data-ui-preview] .avatar.small { width:32px; height:32px; border-radius:10px; font-size:12px; }
[data-ui-preview] .field { display:flex; flex-direction:column; gap:8px; min-width:0; }
[data-ui-preview] .field>span { color:var(--ui-text-secondary); font-size:13px; font-weight:600; }
[data-ui-preview] .field :is(input,textarea,select) { min-width:0; width:100%; min-height:44px; padding:10px 12px; background:var(--ui-surface); color:var(--ui-text); border:1px solid var(--ui-border-strong); border-radius:8px; font:var(--control-font)/22px var(--ui-font); }
[data-ui-preview] .field textarea { min-height:104px; resize:vertical; line-height:1.4; }
[data-ui-preview] .notice { display:flex; align-items:flex-start; gap:10px; padding:12px 14px; border-radius:8px; background:var(--ui-info-soft); color:var(--ui-info); border:1px solid var(--ui-border); }
[data-ui-preview] .notice p { margin:0; font-size:13px; line-height:1.5; }
[data-ui-preview] .notice.success { background:var(--ui-success-soft); color:var(--ui-success); }
[data-ui-preview] .notice.error { background:var(--ui-danger-soft); color:var(--ui-danger); }

/* Primitive styling must never reveal a controller-hidden action. */
[data-ui-preview] [hidden]{display:none!important}

/* Status/action meaning survives the shared neutral control surface. */
[data-ui-preview] .btn[type=submit]:not(:is(.btn-danger,.danger,.btn-warning,.warning)) { background:var(--ui-accent); color:var(--ui-on-accent); border-color:var(--ui-accent); }
[data-ui-preview] .btn[type=submit]:not(:is(.btn-danger,.danger,.btn-warning,.warning)):hover { background:var(--ui-accent-hover); border-color:var(--ui-accent-hover); }
[data-ui-preview] :is(.btn,.icon-button):is(.btn-danger,.danger) { background:var(--ui-danger-soft); color:var(--ui-danger); border-color:var(--ui-danger); }
[data-ui-preview] :is(.btn,.icon-button):is(.btn-danger,.danger):hover { background:var(--ui-danger); color:var(--ui-on-danger); }
[data-ui-preview] :is(.btn,.icon-button):is(.btn-warning,.warning) { background:var(--ui-warning-soft); color:var(--ui-warning); border-color:var(--ui-warning); }
[data-ui-preview] .btn.clinic-slot.free { background:var(--ui-success-soft); color:var(--ui-success); border-color:var(--ui-success); }
[data-ui-preview] .btn.clinic-slot.busy { background:var(--ui-warning-soft); color:var(--ui-warning); border-color:var(--ui-warning); }
[data-ui-preview] .btn.clinic-slot.unavailable { background:var(--ui-surface-soft); color:var(--ui-text-muted); border-color:var(--ui-border); }
[data-ui-preview] .btn.clinic-slot:disabled { opacity:1; cursor:default; }
[data-ui-preview] :is(.btn,.icon-button):is(.btn-info,.info) { background:var(--ui-info-soft); color:var(--ui-info); border-color:var(--ui-info); }
[data-ui-preview] .btn:is(.primary,.success,.btn-success) { background:var(--ui-accent); color:var(--ui-on-accent); border-color:var(--ui-accent); }
[data-ui-preview] .btn:is(.primary,.success,.btn-success):hover { background:var(--ui-accent-hover); border-color:var(--ui-accent-hover); }

/* Shared writing primitive. Dimensions and editor behavior remain with each workflow.
   Document, platform, meeting and support ShadowRoot consume this same source. */
:root, :host {
  --ui-writing-surface: var(--ui-surface-soft, #f5f7fa);
  --ui-writing-text: var(--ui-text, #192638);
  --ui-writing-muted: var(--ui-text-muted, #5d6e82);
  --ui-writing-line: var(--ui-border, #dce3eb);
  --ui-writing-focus: var(--ui-focus, #297e71);
  --ui-writing-danger: var(--ui-danger, #a73332);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]), :host {
    --ui-writing-surface: var(--ui-surface-soft, #131c28);
    --ui-writing-text: var(--ui-text, #edf2f8);
    --ui-writing-muted: var(--ui-text-muted, #a5b5c9);
    --ui-writing-line: var(--ui-border, #334357);
    --ui-writing-focus: var(--ui-focus, #9ae5d0);
    --ui-writing-danger: var(--ui-danger, #ffa6a4);
  }
}
/* Hidden controls and PDF annotation editors keep their vendor presentation. */
textarea:not([hidden]):not([aria-hidden="true"]):not(.annotationLayer textarea):not(.textLayer textarea) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid transparent;
  border-bottom-color: var(--ui-writing-line);
  border-radius: 10px 10px 4px 4px;
  background: var(--ui-writing-surface);
  color: var(--ui-writing-text);
  caret-color: var(--ui-writing-focus);
  font-family: var(--ui-font, inherit);
  font-size: var(--control-font, 14px);
  line-height: 1.6;
  box-shadow: none;
  outline: none;
  transition: background-color var(--ui-duration-control, 150ms), outline-color var(--ui-duration-control, 150ms);
}
textarea:not([hidden]):not([aria-hidden="true"]):not(.annotationLayer textarea):not(.textLayer textarea)::placeholder {
  color: var(--ui-writing-muted);
  opacity: 1;
}
textarea:not([hidden]):not([aria-hidden="true"]):not(.annotationLayer textarea):not(.textLayer textarea):focus-visible {
  border-bottom-color: transparent;
  outline: 2px solid var(--ui-writing-focus);
  outline-offset: 2px;
  box-shadow: none;
}
textarea:not([hidden]):not([aria-hidden="true"]):not(.annotationLayer textarea):not(.textLayer textarea)[aria-invalid="true"] {
  border-bottom-color: var(--ui-writing-danger);
}
textarea:not([hidden]):not([aria-hidden="true"]):not(.annotationLayer textarea):not(.textLayer textarea):disabled,
textarea:not([hidden]):not([aria-hidden="true"]):not(.annotationLayer textarea):not(.textLayer textarea)[readonly] {
  color: var(--ui-writing-muted);
  cursor: default;
}
:is(.composer-write-row, .team-composer, .meeting-chat, .composer) textarea:not([hidden]):not([aria-hidden="true"]):not(.annotationLayer textarea):not(.textLayer textarea) {
  padding: 10px 12px;
}
@media (max-width: 760px) {
  textarea:not([hidden]):not([aria-hidden="true"]):not(.annotationLayer textarea):not(.textLayer textarea) { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  textarea:not([hidden]):not([aria-hidden="true"]):not(.annotationLayer textarea):not(.textLayer textarea) { transition: none; }
}
@media (forced-colors: active) {
  textarea:not([hidden]):not([aria-hidden="true"]):not(.annotationLayer textarea):not(.textLayer textarea) { border-bottom-color: CanvasText; }
  textarea:not([hidden]):not([aria-hidden="true"]):not(.annotationLayer textarea):not(.textLayer textarea):focus-visible { outline-color: Highlight; }
}
