/* Shared actions for office and installers: strong contrast, visible focus and touch targets. */
main.content form:not([action*="Delete"]):not([action*="Remove"]):not([action*="Archive"]):not([action*="Cancel"])
    :is(button[type="submit"], button:not([type])):not(.secondary-button):not(.danger-button):not(.link-button):not(.project-workflow-step button) {
    color: #fff;
    background: #096b45;
    border: 2px solid #075234;
    font-weight: 750;
    min-height: 44px;
}
main.content form:not([action*="Delete"]):not([action*="Remove"]):not([action*="Archive"]):not([action*="Cancel"])
    :is(button[type="submit"], button:not([type])):not(.secondary-button):not(.danger-button):not(.link-button):not(.project-workflow-step button):hover:not(:disabled) {
    background: #075234;
}
main.content .voice-input-button {
    min-height: 44px;
    padding: .6rem .85rem;
    border: 2px solid #00685f;
    border-radius: 8px;
    background: #e0f7ef;
    color: #064f47;
    font-weight: 800;
    white-space: normal;
}
main.content .voice-input-button.is-listening {
    color: #fff;
    background: #a32323;
    border-color: #7c1919;
}
main.content .voice-input-tools { flex-wrap: wrap; }
main.content .voice-input-status { color: #334155; overflow-wrap: anywhere; }
main.content button:focus-visible { outline: 3px solid #9a5300; outline-offset: 3px; }
main.content button:disabled { cursor: not-allowed; }
@media (max-width: 600px) {
    main.content .voice-input-row { grid-template-columns: minmax(0, 1fr); }
    main.content .voice-input-row .voice-input-button { width: 100%; }
}
