/* Shared input portal across every Operator lane. */
body .global .global-actions{flex-wrap:wrap;justify-content:flex-end}body .global button#voiceLaunch{font:600 12px/1.2 Manrope,Arial,sans-serif!important;min-height:42px!important;padding:9px 12px!important;white-space:nowrap!important}body .global button#voiceLaunch:before,body .global button#voiceLaunch:after{display:none!important}body #voiceFieldButton{position:fixed;z-index:70;right:18px;bottom:100px;max-width:220px;min-height:44px;padding:12px 17px;border:1px solid #e0be79;border-radius:24px;background:#213e63;color:#fff2cc;box-shadow:0 5px 22px #0005;font:600 13px Manrope,Arial,sans-serif}body #voicePortal{z-index:1000;width:min(580px,calc(100vw - 24px));max-height:calc(100dvh - 32px);background:#111e35;color:#f4edda;border:1px solid #bca066;border-radius:18px;padding:0;overflow:auto;box-shadow:0 22px 80px #0009}#voicePortal::backdrop{background:#020815cc}.voice-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px;border-bottom:1px solid #bca06655}.voice-top small{font:9px Manrope,Arial,sans-serif;letter-spacing:2px;color:#d0b578}.voice-top h2{font:32px Georgia,serif;margin:8px 0 0;color:#f4dfaa}.voice-body{padding:0 22px 22px}.voice-body>p{font:14px/1.7 Manrope,Arial,sans-serif;color:#e5e9f0}.voice-body label{display:block;font:600 13px/1.5 Manrope,Arial,sans-serif;color:#f4edda;margin:17px 0 8px}.voice-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.voice-body select,.voice-body textarea{width:100%;font:16px/1.6 Manrope,Arial,sans-serif;color:#f4edda;background:#0a1425;border:1px solid #bca06688;border-radius:8px;padding:11px;min-height:44px}.voice-body textarea{min-height:145px;resize:vertical;margin:0 0 15px}.voice-body textarea::placeholder{color:#c5cddd}.voice-body .voice-hint{font-size:12px}.voice-body .voice-status{padding:12px 14px;background:#09152a;border-left:3px solid #d7b469;color:#f4edda}.voice-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}body #voicePortal button,body #voicePortal button[data-op-control]{font:600 13px/1.4 Manrope,Arial,sans-serif!important;text-shadow:none!important;-webkit-text-fill-color:currentColor!important;min-height:44px!important;border:1px solid #bca066!important;border-radius:8px!important;background:#13243e!important;color:#f4edda!important;box-shadow:none!important;padding:10px 15px!important;white-space:normal!important}body #voicePortal button:before,body #voicePortal button:after{display:none!important}body #voicePortal button#voiceStart,body #voicePortal button#voiceInsert{background:linear-gradient(125deg,#f3dda5,#c99e4d)!important;color:#261d0d!important}body #voicePortal button:disabled{opacity:.45;cursor:not-allowed}body #voicePortal :focus-visible{outline:3px solid #62c8b5;outline-offset:3px}body #voicePortal #voiceClose{font-size:23px!important;min-width:44px;padding:5px!important}body:is([data-theme=light],[data-theme=sepia]) #voicePortal{background:#111e35;color:#f4edda}@media(max-width:550px){body .global button#voiceLaunch{font-size:10px!important;padding:8px!important;min-height:38px!important}body .global .global-actions{gap:7px!important}#voicePortal .voice-options{grid-template-columns:1fr;gap:0}#voicePortal .voice-top{padding:18px}#voicePortal .voice-body{padding:0 18px 18px}.voice-actions>button{flex:1;min-width:110px}body #voiceFieldButton{right:12px;bottom:96px;max-width:180px;font-size:12px}}

/* Keep the contextual microphone control compact and clear of text. */
body button#voiceFieldButton,body button#voiceFieldButton[data-op-control]{font:600 12px/1.4 Manrope,Arial,sans-serif!important;padding:10px 14px!important;min-height:42px!important;max-width:185px!important;background:#213e63!important;color:#fff2cc!important;text-shadow:none!important;-webkit-text-fill-color:currentColor!important;border-radius:23px!important;box-shadow:0 4px 18px #0004!important}body button#voiceFieldButton:before,body button#voiceFieldButton:after{display:none!important}
/* Reviewed insertion and destination finding use the same accessible panel in every lane. */
#voicePortal .voice-body>p{font-size:16px;color:#f4f1e9}#voicePortal .voice-body label{font-size:16px}#voicePortal .voice-body input[type=search]{box-sizing:border-box;width:100%;min-height:48px;background:#0a1425;color:#fff6df;border:1px solid #d6b575;border-radius:8px;padding:12px;font:17px/1.5 Manrope,Arial,sans-serif}#voicePortal #voicePreviewBox,#voicePortal #voiceUndoBox{border:1px solid #d6b575;border-radius:12px;padding:18px;margin:24px 0;background:#14243c}#voicePortal h3{font:700 26px/1.3 Georgia,serif;color:#ffe3aa;margin:0 0 14px}#voicePortal #voicePreviewNote,#voicePortal #voiceUndoNote{font:16px/1.65 Manrope,Arial,sans-serif;color:#f4edda}#voicePortal .voice-body textarea[readonly]{background:#0a1425;color:#fff6df;font-size:17px}#voicePortal #voiceConfirm{background:linear-gradient(125deg,#f3dda5,#c99e4d)!important;color:#261d0d!important}#voicePortal .voice-body button,#voicePortal .voice-body button[data-op-control]{font-size:16px!important;min-height:48px!important}#voicePortal .voice-hint{font-size:14px!important;color:#e8edf5!important}#voicePortal .voice-options{min-width:0}#voicePortal .voice-body select,#voicePortal .voice-body textarea{box-sizing:border-box;max-width:100%}#voicePortal [hidden]{display:none!important}#voicePortal summary{cursor:pointer;font-size:17px;color:#ffe3aa;min-height:44px;padding:10px 0}@media(max-width:550px){#voicePortal #voicePreviewBox,#voicePortal #voiceUndoBox{padding:14px}.voice-actions>button{min-width:140px}#voicePortal .voice-body>p{font-size:16px}}

/* Before/after review remains readable on narrow phones. */
#voicePortal #voiceBefore{min-height:110px}#voicePortal #voicePreviewBox textarea{overflow-wrap:anywhere;white-space:pre-wrap}#voicePortal .voice-top small{font-size:11px;color:#f4dfaa}#voicePortal .voice-body input[type=search]::placeholder{color:#c5cddd}

/* Honest browser-speech fallback; keyboard dictation is controlled by the phone. */
#voicePortal #voiceFallback{border:1px solid #d6b575;border-radius:12px;padding:16px;margin:16px 0;background:#14243c}#voicePortal #voiceFallback h3{font-size:22px}#voicePortal #voiceFallback p,#voicePortal #voiceFallback li{font:16px/1.6 Manrope,Arial,sans-serif;color:#f4edda}#voicePortal #voiceFallback ol{padding-left:22px}#voicePortal #voiceFallback li+li{margin-top:10px}body #voicePortal #voiceFocusPreview{width:100%;background:linear-gradient(125deg,#f3dda5,#c99e4d)!important;color:#261d0d!important}body #voicePortal #voiceStart:disabled{background:#13243e!important;color:#d4dbe5!important}

/* Contextual speech stays in document flow, never over a neighboring action.
   Hidden mounted control keeps its footprint through blur/pointer-up so the
   action the user pressed cannot move underneath their finger. */
body button#voiceFieldButton,body button#voiceFieldButton[data-op-control]{position:static!important;inset:auto!important;transform:none!important;z-index:auto!important;display:flex!important;align-items:center;justify-content:center;grid-column:1/-1;flex:0 0 auto!important;width:max-content!important;max-width:100%!important;min-height:44px!important;margin:8px 0 12px!important;padding:10px 14px!important;border-radius:9px!important;box-shadow:none!important;white-space:normal!important;overflow-wrap:anywhere}
body button#voiceFieldButton[hidden]{display:none!important}
body button#voiceFieldButton.voice-inline-mounted[hidden]{display:flex!important;visibility:hidden!important;pointer-events:none!important}
body button#voiceFieldButton .op-control-icon,body button#voiceFieldButton svg{display:none!important}
/* The contextual helper is not a primary enamel command, even inside a lane. */
body :is(#app,#panel,#voicePortal) button#voiceFieldButton{display:flex!important;width:max-content!important;height:auto!important;min-height:44px!important;max-width:100%!important;padding:10px 14px!important;font:600 14px/1.4 Manrope,Arial,sans-serif!important;letter-spacing:0!important;grid-template-columns:none!important;gap:0!important;text-align:center!important}
body button#voiceFieldButton .op-command-art{display:none!important}
body :is(#app,#panel,#voicePortal) button#voiceFieldButton .op-command-label{font:inherit!important;min-width:0!important;white-space:normal!important}

/* Component isolation: repeated ID deliberately outranks generic two-ID panel
   command rules. Keep this inline utility identical in every destination. */
body button#voiceFieldButton#voiceFieldButton.voice-field-button{position:static!important;inset:auto!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;grid-column:1/-1!important;grid-template-columns:none!important;gap:0!important;box-sizing:border-box!important;width:max-content!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:44px!important;margin:8px 0 12px!important;padding:10px 14px!important;border:1px solid #e0be79!important;border-radius:9px!important;background:#213e63!important;color:#fff2cc!important;-webkit-text-fill-color:currentColor!important;font:600 14px/1.4 Manrope,Arial,sans-serif!important;letter-spacing:0!important;text-align:center!important;text-transform:none!important;text-shadow:none!important;box-shadow:none!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;writing-mode:horizontal-tb!important}
body button#voiceFieldButton#voiceFieldButton[hidden]{display:none!important}
body button#voiceFieldButton#voiceFieldButton.voice-inline-mounted[hidden]{display:flex!important;visibility:hidden!important;pointer-events:none!important}
body button#voiceFieldButton#voiceFieldButton::before,body button#voiceFieldButton#voiceFieldButton::after{display:none!important}
