/* AI Text workspace presentation only; interaction and OCR owners are retained. */
body:has(.brodlin-ai-text) { --violet:#34465b; background:#f6f7f9; color:#252a31; font-family:"Open Sans",Arial,Helvetica,sans-serif; }
body:has(.brodlin-ai-text) .wrap { width:calc(100% - 64px); max-width:1120px; margin-inline:auto; padding-block:32px 48px; box-sizing:border-box; }
.ai-text-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; color:#252a31; }
.ai-text-intro__copy { min-width:0; max-width:68ch; }
.ai-text-intro h1 { margin:0 0 10px; font-size:32px; font-weight:650; line-height:1.25; }
.ai-text-intro p { margin:0; color:#56616d; font-size:15px; line-height:1.6; }
.ai-text-intro img { width:112px; height:112px; flex:0 0 auto; object-fit:contain; }
.brodlin-ai-text { --bg-page:#f6f7f9; --bg-shell:#fff; --bg-stage:#fff; --bg-doc-ready:#fff; --bg-overlay:rgb(36 42 49 / 70%); --text-primary:#252a31; --text-secondary:#34465b; --text-muted:#56616d; --text-faint:#65717e; --text-inverse-dim:#56616d; --purple:#34465b; --purple-mid:#687f95; --purple-soft:#edf1f4; --purple-glow:transparent; --purple-beam:#687f95; --red:#34465b; --red-soft:#edf1f4; --border:#e1e4e8; --border-hover:#94a3b3; --shadow-sm:none; --shadow-md:0 8px 24px rgb(36 42 49 / 12%); --shadow-lg:0 12px 32px rgb(36 42 49 / 16%); --shadow-beam:none; --font:"Open Sans",Arial,Helvetica,sans-serif; min-height:0; grid-template-rows:auto minmax(360px,auto) auto; border:1px solid #e1e4e8; border-radius:6px; overflow:visible; }
.brodlin-ai-text > #status-strip.status-strip { height:auto; min-height:60px; padding:16px 24px; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); background:#f6f7f9; border-bottom:1px solid #e1e4e8; }
.brodlin-ai-text .strip-steps { justify-content:center; gap:8px; }
.brodlin-ai-text .strip-right,.brodlin-ai-text .strip-file { max-width:100%; }
.brodlin-ai-text .strip-file__name { min-width:0; }
.brodlin-ai-text .strip-step { height:auto; min-height:28px; padding:0; gap:8px; font-size:12px; color:#56616d; }
.brodlin-ai-text .strip-step__label { display:inline; white-space:normal; line-height:1.4; }
.brodlin-ai-text .strip-step__num { width:24px; min-width:24px; height:24px; font-size:12px; }
.brodlin-ai-text .strip-step.is-active { color:#252a31; font-weight:600; }
.brodlin-ai-text .strip-step.is-active .strip-step__num { background:#34465b; color:#fff; box-shadow:none; }
.brodlin-ai-text .strip-step__sep { width:16px; }
.brodlin-ai-text .source-stage { background:#fff; }
.brodlin-ai-text[data-stage="upload"] #source-stage.source-stage,.brodlin-ai-text[data-stage="upload"] > #stage-shell.stage-shell { min-height:360px; }
.brodlin-ai-text[data-stage="upload"] #upload-surface.source-canvas { min-height:360px; padding:32px 24px; }
.brodlin-ai-text[data-stage="upload"] #upload-prompt.upload-prompt { width:min(100%,600px); max-width:600px; min-height:0; padding:0; gap:16px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.brodlin-ai-text .upload-prompt__ring { width:40px; height:40px; border:0; border-radius:0; color:#687f95; background:none; }
.brodlin-ai-text .upload-prompt__title { color:#252a31; font-size:21px; font-weight:600; line-height:1.4; }
.brodlin-ai-text .upload-prompt__sub { color:#56616d; font-size:14px; line-height:1.65; max-width:64ch; }
.brodlin-ai-text .upload-prompt__formats { color:#56616d; font-size:12px; line-height:1.5; }
.brodlin-ai-text .upload-prompt__actions { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:center; gap:10px; width:auto; }
.brodlin-ai-text .upload-prompt__btn { min-height:46px; width:auto; padding:10px 18px; border:1px solid #34465b; border-radius:6px; background:#34465b; color:#fff; font-size:14px; font-weight:600; box-shadow:none; }
.brodlin-ai-text .upload-prompt__btn--camera { background:#fff; border-color:#cbd2da; color:#34465b; }
.brodlin-ai-text .upload-prompt__btn:hover { background:#34465b; border-color:#34465b; color:#fff; transform:none; box-shadow:none; }
.brodlin-ai-text .upload-prompt__btn--camera:hover { background:#fff; border-color:#cbd2da; color:#34465b; }
/* Upload invitation stays neutral under pointer and keyboard interaction. */
.brodlin-ai-text[data-stage="upload"] #upload-prompt.upload-prompt:is(:hover,:focus-within),
.brodlin-ai-text[data-stage="upload"] .source-stage.is-drag #upload-prompt.upload-prompt { background:transparent; border:0; box-shadow:none; transition:none; }
.brodlin-ai-text[data-stage="upload"] #upload-prompt.upload-prompt .upload-prompt__ring { color:#687f95; border:0; }
.brodlin-ai-text[data-stage="upload"] .source-stage.is-drag #upload-surface.source-canvas { outline:2px dashed #94a3b3; outline-offset:-8px; }
.brodlin-ai-text .source-image-wrap { background:#edf1f4; }
.brodlin-ai-text[data-stage] #source-toolbar.source-toolbar { top:12px; bottom:auto; inset-inline-end:12px; inset-inline-start:auto; padding:4px; gap:4px; border:1px solid #dce1e7; border-radius:6px; background:#fff; box-shadow:0 4px 16px rgb(36 42 49 / 10%); opacity:1; transform:none; }
.brodlin-ai-text #source-toolbar.source-toolbar .src-btn .material-symbols-outlined { color:inherit; }
.brodlin-ai-text .source-img { object-fit:contain; }
.brodlin-ai-text .scan-status { color:#56616d; }
.brodlin-ai-text :is(.bridge-canvas,.scan-trail,.scan-beam,.scan-status__pulse) { display:none; }
.brodlin-ai-text :is(.btn-run,.btn-continue,.btn-secondary,.btn-danger,.src-btn,.source-image-modal__btn,.source-image-modal__close,.mobile-view-btn) { min-height:44px; min-width:44px; border-radius:6px; box-shadow:none; }
.brodlin-ai-text :is(.btn-run,.btn-continue) { background:#34465b; border-color:#34465b; color:#fff; }
.brodlin-ai-text :is(.btn-run,.btn-continue):hover { background:#26374a; border-color:#26374a; color:#fff; }
.brodlin-ai-text :is(.btn-secondary,.btn-danger,.src-btn) { background:#fff; border:1px solid #cbd2da; color:#34465b; }
.brodlin-ai-text :is(.btn-secondary,.btn-danger,.src-btn):hover { background:#edf1f4; color:#252a31; }
.brodlin-ai-text button:disabled { opacity:.5; cursor:not-allowed; box-shadow:none; }
.brodlin-ai-text .dock-progress__fill { background:#687f95; box-shadow:none; }
.brodlin-ai-text .result-canvas { background:#fff; }
.brodlin-ai-text .doc-surface { background:#fff; border:1px solid #e1e4e8; box-shadow:none; }
.brodlin-ai-text .result-textarea { color:#252a31; caret-color:#34465b; }
.brodlin-ai-text .result-textarea::placeholder { color:#56616d; }
.brodlin-ai-text .source-image-modal__panel { background:#fff; color:#252a31; }
.brodlin-ai-text[data-stage] #command-dock :is(.btn-run,.btn-continue,.btn-secondary,.btn-danger) { min-height:44px; height:auto; padding:12px 14px; border-radius:6px; }
/* Small visible switch inside a 48x44px native button hit area. */
.brodlin-ai-text[data-stage][data-mobile] #command-dock #save-mode.save-mode {
  min-height:44px; height:44px; padding:0; gap:8px; align-items:center;
  border:0; border-radius:0; background:transparent; box-shadow:none;
}
.brodlin-ai-text[data-stage][data-mobile] #command-dock #save-mode-toggle {
  position:relative; display:block; flex:0 0 48px; width:48px; min-width:48px;
  height:44px; min-height:44px; padding:0; border:0; border-radius:999px;
  background:transparent; box-shadow:none; overflow:visible;
}
.brodlin-ai-text[data-stage][data-mobile] #command-dock #save-mode-toggle::before {
  content:""; position:absolute; box-sizing:border-box; left:2px; top:9px;
  width:44px; height:26px; border:1px solid #73808f; border-radius:999px;
  background:#84919f; transition:background 140ms ease,border-color 140ms ease;
}
.brodlin-ai-text[data-stage][data-mobile] #command-dock #save-mode-toggle[aria-pressed="true"]::before {
  background:#33784a; border-color:#33784a;
}
.brodlin-ai-text[data-stage][data-mobile] #command-dock #save-mode-toggle .save-mode__thumb {
  position:absolute; box-sizing:border-box; left:6px; top:13px; width:18px; height:18px;
  border:0; border-radius:50%; background:#fff; box-shadow:none; transform:none;
  transition:left 140ms ease;
}
.brodlin-ai-text[data-stage][data-mobile] #command-dock #save-mode-toggle[aria-pressed="true"] .save-mode__thumb { left:24px; }
@media(prefers-reduced-motion:reduce) {
  .brodlin-ai-text #save-mode-toggle::before,.brodlin-ai-text #save-mode-toggle .save-mode__thumb { transition:none; }
}
.brodlin-ai-text[data-stage] #status-area.scan-status { background:#f6f7f9; border-color:#dce1e7; border-radius:6px; box-shadow:none; color:#56616d; }
.brodlin-ai-text[data-stage][data-mobile] #result-status.doc-surface__result-status { background:#f6f7f9; border-radius:6px; color:#56616d; }
.brodlin-ai-text[data-stage][data-mobile] :is(.source-image-modal__content,.source-image-modal__header,.source-image-modal__toolbar) { background:#fff; color:#252a31; border-color:#dce1e7; border-radius:6px; box-shadow:0 8px 24px rgb(36 42 49 / 12%); }
.brodlin-ai-text[data-stage][data-mobile] .source-image-modal__visual { background:#f6f7f9; }
.brodlin-ai-text[data-stage][data-mobile] :is(.source-image-modal__close,.source-image-modal__btn) { min-width:44px; min-height:44px; width:44px; height:44px; background:#fff; border:1px solid #cbd2da; border-radius:6px; color:#34465b; box-shadow:none; }
.brodlin-ai-text :is(button,[tabindex],textarea):focus-visible { outline:2px solid #566e87; outline-offset:3px; box-shadow:none; }
.brodlin-ai-text ::selection { background:#dce6ee; color:#252a31; }
body:has(.brodlin-ai-text:not([data-stage="upload"])) .ai-text-intro { margin-bottom:16px; }
body:has(.brodlin-ai-text:not([data-stage="upload"])) .ai-text-intro img { width:60px; height:60px; }
body:has(.brodlin-ai-text:not([data-stage="upload"])) .ai-text-intro p { display:none; }
body:has(.brodlin-ai-text:not([data-stage="upload"])) .ai-text-intro h1 { margin:0; font-size:25px; }
.brodlin-ai-text[data-stage="upload"] .upload-prompt__actions { flex-direction:row; width:auto; }
.brodlin-ai-text[data-stage="upload"] .upload-prompt__btn { width:auto; min-height:46px; }
.brodlin-ai-text[data-stage="upload"] .upload-prompt__btn--camera { border:1px solid #cbd2da; color:#34465b; }
@media(min-width:981px) { .brodlin-ai-text:not([data-stage="upload"]) > #stage-shell.stage-shell { height:clamp(360px,54svh,560px); min-height:360px; } }
@media(min-width:981px) {
  .brodlin-ai-text[data-stage="result"] #upload-surface.source-canvas { align-items:stretch; padding:16px 18px 24px; }
  .brodlin-ai-text[data-stage="result"] #source-image-wrap.source-image-wrap { height:100%; min-height:0; max-height:100%; aspect-ratio:auto; flex:0 1 auto; padding-top:64px; box-sizing:border-box; overflow:hidden; }
}
@media(max-width:980px) { .brodlin-ai-text > #status-strip.status-strip { padding:14px 16px; grid-template-columns:minmax(0,1fr); } .brodlin-ai-text .strip-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; } .brodlin-ai-text .strip-step { display:flex; flex-direction:column; align-items:center; gap:6px; min-width:0; text-align:center; } .brodlin-ai-text .strip-step__sep { display:none; } .brodlin-ai-text .strip-right { display:none; } .brodlin-ai-text[data-stage="upload"] > #stage-shell.stage-shell,.brodlin-ai-text[data-stage="upload"] #source-stage.source-stage { min-height:360px; } }
@media(max-width:600px) {
  body:has(.brodlin-ai-text) .wrap { width:calc(100% - 32px); padding-block:24px 36px; }
  .ai-text-intro { align-items:flex-start; gap:12px; margin-bottom:20px; }
  .ai-text-intro h1 { font-size:25px; }
  .ai-text-intro p { font-size:14px; }
  .ai-text-intro img { width:70px; height:70px; }
  .brodlin-ai-text .strip-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
  .brodlin-ai-text .strip-step { display:flex; flex-direction:column; align-items:center; gap:6px; min-width:0; text-align:center; font-size:11px; }
  .brodlin-ai-text .strip-step__sep { display:none; }
  .brodlin-ai-text .strip-step__label { display:block; }
  .brodlin-ai-text[data-stage="upload"] #upload-surface.source-canvas { min-height:360px; padding:24px 18px; }
  .brodlin-ai-text .upload-prompt__title { font-size:20px; }
  .brodlin-ai-text[data-stage="upload"] .upload-prompt__actions { display:grid; grid-template-columns:1fr; width:100%; }
  .brodlin-ai-text[data-stage="upload"] .upload-prompt__btn { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .brodlin-ai-text * { animation:none !important; transition:none !important; } }
