/* One icon/label rhythm across public pages, settings, tools, and dialogs. */
body :is(.action-control,.button,.quiet,.action-button,.brand-primary,.brand-secondary,.editor-button){align-items:center;justify-content:center;gap:8px;vertical-align:middle;line-height:1.4}
body .action-control{display:inline-flex;min-height:40px;text-decoration:none}
body .action-control>.button-icon,body :is(.button,.quiet,.action-button,.brand-primary,.brand-secondary,.editor-button)>.button-icon{display:block;width:17px;height:17px;min-width:17px;flex:0 0 17px;margin:0;align-self:center;pointer-events:none}
body .action-control>.action-label{display:block;min-width:0;line-height:1.4;overflow-wrap:anywhere}
body a.action-control.action-control{padding-inline:16px}
body .action-control::before,body .action-control::after{content:none!important}
body :is(.form-actions,.tool-actions,.event-actions,.configuration-actions,.brand-form-actions){align-items:center;gap:10px}
body :is(.form-actions,.tool-actions,.event-actions)>:is(a,button){margin-block:0}
body .action-control:focus-visible{outline:2px solid #d7b7ff;outline-offset:3px}
body summary.action-control{cursor:pointer;list-style:none}
body summary.action-control::-webkit-details-marker{display:none}
body :is(.workspace,.dashboard-embed,.branding-page) .page-heading{margin:0 0 28px}
body :is(.workspace,.dashboard-embed,.branding-page) .page-heading h1{margin:10px 0 12px;line-height:1.2}
body :is(.workspace,.dashboard-embed,.branding-page) .page-heading>p:last-child{margin-bottom:0;line-height:1.65;max-width:72ch}
body .tools-page .tool-form>h2{margin:0 0 24px}
body .tools-page .tool-grid{align-items:start}
body .tools-page .tool-grid label{margin-top:0}
body .tools-page .tool-actions{padding-top:2px}
body :is(.delete-confirm-actions,.connection-dialog-actions){display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
@media(max-width:600px){body .action-control{min-height:44px}body .action-control>.button-icon{width:16px;height:16px;min-width:16px;flex-basis:16px}}
@media print{body .action-control{break-inside:avoid}}
/* Keep event actions in document flow so they never cover message inputs. */
body .event-actions{position:static}
body .action-control[hidden]{display:none!important}
body form[action="/signin"]>a.signin-signup.action-control{display:flex;flex-direction:row;align-items:center;justify-content:center}
@media(max-width:600px){
 body .configuration-actions{grid-template-columns:minmax(0,1fr)}
 body .configuration-actions :is(.button,.quiet){width:100%;white-space:normal;min-width:0}
}
/* File inputs and the Discord preview must not set the phone grid's width. */
body .branding-layout>*{min-width:0}
body .branding-form input[type=file]{max-width:100%;min-width:0;box-sizing:border-box}
@media(max-width:800px){body .branding-layout{grid-template-columns:minmax(0,1fr)}}

/* The same Overseer animation accompanies inline saves and other pending actions. */
body .overseer-inline-loader{display:inline-block!important;width:22px!important;height:22px!important;min-width:22px;max-width:22px;object-fit:contain;flex:0 0 22px;vertical-align:middle;margin:0 7px 0 0;pointer-events:none}
body button.overseer-loading-control{display:inline-flex;align-items:center;justify-content:center;gap:8px}
body button.overseer-loading-control>.overseer-inline-loader{margin:0}
body .overseer-loading-control>.button-icon{display:none!important}

body .icon-only-action{padding:8px;gap:0}.dashboard-embed .embed-card-actions .icon-only-action,.dashboard-embed .embed-field-actions .icon-only-action{width:32px;min-width:32px;height:32px;min-height:32px;padding:7px}.embed-chevron>.button-icon{display:block;width:14px;height:14px}.embed-chevron{display:inline-flex;align-items:center;justify-content:center}.support-widget button[data-support-dismiss].icon-only-action{display:grid;place-items:center;min-width:32px;min-height:32px;padding:6px}

/* Keep supplied artwork and animated GIFs intact inside the Ticket-style backing. */
body .button-icon.custom-icon-background{box-sizing:border-box;padding:3px;border-radius:16%;background:rgba(107,107,107,.4);object-fit:contain}

/* Original navigation symbols stay white in every navigation state. */
body svg.button-icon.custom-icon-background{color:#fff;stroke:#fff}
