/* Edição mobile com foco textual. Mesma paleta do painel editorial. */
.mobile-text-editor {
  position:fixed; inset:0; margin:0; width:100%; max-width:none; max-height:none;
  padding:0; border:0; border-radius:0; color:#e8edf5; background:#101827;
  font:16px/1.55 Inter,system-ui,sans-serif; overflow:hidden; box-sizing:border-box;
}
.mobile-text-editor[open] { display:flex; flex-direction:column; }
.mobile-text-editor::backdrop { background:#101827; }
.mobile-text-editing { overflow:hidden; }
.mobile-text-editing .day-editor-panel { visibility:hidden; }
.mobile-text-editor [hidden] { display:none !important; }
.mobile-edit-header {
  display:flex; align-items:center; gap:4px; flex-shrink:0; padding:8px max(8px,env(safe-area-inset-right)) 8px max(4px,env(safe-area-inset-left));
  padding-top:max(8px,env(safe-area-inset-top)); border-bottom:2px solid #d4af37; background:#1e293b;
}
.mobile-text-editor button { font:inherit; color:inherit; background:transparent; border:0; border-radius:6px; min-height:44px; padding:8px 12px; cursor:pointer; }
.mobile-edit-header>button:first-child { font-size:32px; line-height:1; min-width:44px; }
.mobile-edit-header [data-mobile="options"] { font-weight:700; font-size:24px; padding:4px 8px; min-width:44px; }
.mobile-edit-heading { flex:1; min-width:0; line-height:1.3; }
.mobile-edit-heading label { display:block; font-weight:600; font-size:14px; }
.mobile-field-title { display:flex; align-items:center; gap:6px; }
.mobile-field-title label { min-width:0; }
.mobile-color-dot { display:inline-block; width:14px; height:14px; flex:0 0 14px; border-radius:50%; border:1px solid #cbd5e180; box-sizing:border-box; }
.mobile-field-title .mobile-color-dot { width:10px; height:10px; flex-basis:10px; }
.mobile-edit-heading #mobileEditContext { display:flex; align-items:baseline; gap:6px; font-size:10px; margin-top:3px; white-space:nowrap; }
.mobile-edit-date { color:#cbd5e1; flex-shrink:0; }
.mobile-save-state { color:#94a3b8; font-weight:400; }
.mobile-text-editor button.mobile-edit-primary { color:#101827; background:#d4af37; font-weight:600; font-size:13px; }
.mobile-text-editor button:focus-visible { outline:2px solid #93c5fd; outline-offset:-2px; }
.mobile-presentation-segments { display:flex; border:1px solid #475569; border-radius:6px; overflow:hidden; }
.mobile-presentation-segments button { flex:1; border-radius:0; }
.mobile-presentation-segments button+button { border-left:1px solid #475569; }
.mobile-presentation-segments button[aria-pressed="true"] { background:#d4af3726; color:#e5c766; }
.mobile-text-editor button:disabled { opacity:.4; cursor:default; }
#mobileFieldInput,#mobileReferenceInput {
  display:block; flex:1; min-height:0; width:100%; resize:none; box-sizing:border-box;
  border:0; outline:none; border-radius:0; padding:20px max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));
  color:#e8edf5; background:#101827; font:17px/1.65 Inter,system-ui,sans-serif;
  caret-color:#e5c766; overscroll-behavior:contain; scroll-padding-block:24px; color-scheme:dark;
}
.mobile-edit-header .mobile-edit-check { min-width:44px; padding:8px; display:flex; align-items:center; justify-content:center; }
.mobile-edit-fields { display:flex; flex-shrink:0; overflow-x:auto; background:#1e293b; border-bottom:1px solid #475569; padding-inline:8px; }
.mobile-edit-fields button { flex:1 0 auto; white-space:nowrap; font-size:12px; min-height:44px; padding:10px 8px; border-radius:0; border-bottom:2px solid transparent; color:#a9b7ca; }
.mobile-edit-fields [aria-pressed="true"] { color:#e5c766; border-bottom-color:#d4af37; font-weight:600; }
.mobile-edit-content { display:flex; flex-direction:column; flex:1; min-height:0; overflow:hidden; }
.mobile-text-editor:not([data-field="texto"]) .mobile-edit-content { overflow:auto; overscroll-behavior:contain; }
.mobile-text-editor:not([data-field="texto"]) #mobileFieldInput,.mobile-text-editor #mobileReferenceInput {
  flex:0 0 auto; min-height:54px; margin:16px 16px 0; width:calc(100% - 32px); padding:12px 14px;
  border:1px solid #475569; border-radius:8px; background:#182437; max-height:40dvh;
}
.mobile-short-tools { padding:16px; flex-shrink:0; }
.mobile-short-tools h2 { font-size:12px; color:#a9b7ca; margin:20px 0 8px; font-weight:500; }
.mobile-short-toolbar { display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.mobile-short-toolbar>[data-mobile="versions"] { display:inline-flex; align-items:center; gap:12px; border:1px solid #475569; background:#1e293b; font-size:13px; }
.mobile-short-tools .edition-color-picker { margin-top:16px; }
.mobile-text-editor .edition-color-picker button { min-height:var(--control-touch-height); }
.mobile-type-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:18px 0; }
.mobile-type-row>span { font-size:14px; }
.mobile-type-segments { display:flex; align-items:stretch; flex:0 0 auto; border:1px solid #475569; border-radius:6px; overflow:hidden; background:#182437; }
.mobile-type-segments button { min-width:44px; border-radius:0; font-size:20px; padding:8px; }
.mobile-type-segments output { display:flex; align-items:center; justify-content:center; min-width:60px; border-inline:1px solid #475569; font-size:14px; font-variant-numeric:tabular-nums; }
.mobile-undo-segments { display:flex; flex:0 0 auto; overflow:hidden; border:1px solid #475569; border-radius:6px; background:#182437; }
.mobile-undo-segments button { display:flex; align-items:center; justify-content:center; min-width:44px; padding:8px; border-radius:0; }
.mobile-undo-segments button+button { border-left:1px solid #475569; }
.mobile-undo-segments button:hover:not(:disabled) { background:#334155; }
.mobile-header-undo { flex:0 0 auto; }
.mobile-text-editor[data-mode="auxiliary"] .mobile-header-undo { visibility:hidden; pointer-events:none; }
.mobile-initial-source { display:flex; align-items:flex-start; gap:12px; margin-top:14px; padding:12px; border:1px solid #475569; border-radius:8px; background:#182437; }
.mobile-initial-source>div { flex:1; min-width:0; }
.mobile-short-tools .mobile-initial-source h2 { margin:0 0 6px; font-size:11px; }
.mobile-short-tools .mobile-initial-source p { margin:0; color:#e8edf5; font-size:14px; white-space:pre-wrap; overflow-wrap:anywhere; }
.mobile-initial-source [data-mobile="useInitial"] { flex:0 0 auto; background:#1e293b; border:1px solid #475569; font-size:13px; }
.mobile-short-tools p { font-size:11px; line-height:1.5; color:#a9b7ca; margin:10px 0; }
.mobile-short-tools>[data-mobile="normalize"] { width:100%; background:#1e293b; border:1px solid #475569; font-size:13px; }
.mobile-celebration-list { border:1px solid #475569; border-radius:8px; overflow:hidden; }
.mobile-celebration-list button { display:flex; flex-direction:column; align-items:flex-start; text-align:left; width:100%; border-radius:0; border-bottom:1px solid #475569; background:#1e293b; }
.mobile-celebration-list button:last-child { border-bottom:0; }
.mobile-celebration-list small { color:#a9b7ca; font-size:10px; }
.mobile-edit-options { flex:1; min-height:0; overflow:auto; padding:20px; overscroll-behavior:contain; }
.mobile-edit-options h2 { font-size:18px; margin:0 0 12px; }
.mobile-edit-options p { color:#a9b7ca; font-size:13px; margin:12px 0 20px; }
.mobile-edit-options>button { display:flex; justify-content:space-between; gap:12px; align-items:center; width:100%; text-align:left; background:#1e293b; margin:8px 0; min-height:48px; }
.mobile-edit-options>button.mobile-return { justify-content:flex-start; background:#182437; border:1px solid #475569; color:#cbd5e1; }
.mobile-edit-options pre { white-space:pre-wrap; overflow-wrap:anywhere; font:16px/1.65 Inter,system-ui,sans-serif; }
.mobile-edit-options .mobile-edit-version { flex-direction:column; align-items:flex-start; }
.mobile-edit-version strong { font-size:12px; color:#d4af37; }
.mobile-edit-version span { font-size:14px; }
.mobile-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.mobile-history-entry { border:1px solid #475569; border-radius:8px; margin:10px 0; background:#1e293b; overflow:hidden; }
.mobile-history-entry.is-selected { border-color:#d4af37; box-shadow:inset 0 0 0 1px #d4af37; }
.mobile-history-entry>.mobile-edit-version { display:flex; width:100%; position:relative; text-align:left; border-radius:0; padding:12px 34px 12px 12px; gap:8px; }
.mobile-history-entry>.mobile-edit-version>span:not(.mobile-history-check) { white-space:pre-wrap; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.mobile-history-entry.is-selected>.mobile-edit-version>span:not(.mobile-history-check) { display:block; }
.mobile-history-entry .mobile-history-check { position:absolute; right:12px; top:12px; width:18px; height:18px; display:flex; align-items:center; justify-content:center; color:#e5c766; visibility:hidden; }
.mobile-history-entry.is-selected .mobile-history-check { visibility:visible; }
.mobile-history-entry>[data-mobile="useHistory"] { display:block; margin:0 12px 12px auto; }
.mobile-edit-status:not(.is-visible) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.mobile-edit-status.is-visible { padding:8px 16px; background:#451a1a; color:#fecaca; font-size:12px; flex-shrink:0; }
#mobileRetry { flex-shrink:0; border-top:1px solid #7f1d1d; border-radius:0; background:#451a1a; color:#fecaca; }
@media(max-width:340px) {
  .mobile-edit-heading label { font-size:12px; }
  .mobile-edit-heading #mobileEditContext { font-size:9px; gap:4px; }
  .mobile-edit-header { gap:0; }
  .mobile-edit-header>button:first-child { min-width:44px; padding:6px; }
  .mobile-edit-header button.mobile-edit-primary { padding:6px 8px; }
}
.mobile-text-editor #mobileInlineInput {
  flex:1; min-height:0; overflow:auto; outline:none; padding:20px;
  font:17px/1.65 Inter,system-ui,sans-serif; color:#e8edf5; background:#101827;
  caret-color:#e5c766; overscroll-behavior:contain; scroll-padding-block:24px;
}
.mobile-text-editor #mobileInlineInput:empty::before { content:' '; }
.mobile-edit-modes { display:flex; flex-shrink:0; padding:0 12px; gap:0; border-bottom:1px solid #475569; background:#1e293b; }
.mobile-edit-modes button { flex:1; font-size:14px; min-height:44px; border:0; border-bottom:3px solid transparent; border-radius:0; color:#b8c4d4; background:transparent; }
.mobile-edit-modes [aria-selected="true"] { color:#e5c766; border-bottom-color:#d4af37; font-weight:600; }
.mobile-conference-host { display:flex; flex-direction:column; flex:1; min-height:0; overflow:hidden; }
.mobile-consult-return { flex-shrink:0; border-top:1px solid #475569 !important; border-radius:0 !important; background:#1e293b !important; }

.mobile-text-editor[data-mode="conference"] .mobile-header-undo,
.mobile-text-editor[data-mode="conference"] .mobile-edit-header :is([data-mobile="options"],[data-mobile="complete"]) { visibility:hidden; pointer-events:none; }
.mobile-text-editor[data-mode="conference"] .edition-conference-pin { display:none; }
.mobile-text-editor .edition-conference-close { font-size:16px; }

.mobile-editing-pane { display:flex; flex-direction:column; flex:1; min-height:0; overflow:hidden; }
.mobile-text-editor[data-mode="conference"] .mobile-editing-pane { display:none; }

.mobile-celebration-list button { position:relative; padding-right:36px; }
.mobile-celebration-list button[aria-pressed="true"] { box-shadow:inset 0 0 0 2px #d4af37; }
.mobile-celebration-check { display:none; position:absolute; right:10px; top:10px; color:#e5c766; }
.mobile-celebration-list button[aria-pressed="true"] .mobile-celebration-check { display:block; }
@media (forced-colors:active) { .mobile-celebration-list button[aria-pressed="true"] { outline:2px solid Highlight; outline-offset:-2px; } }
