/* Shared matte raised controls. No gradients or glossy highlights. */
:root {
    --button-blue: #1e40af;
    --button-blue-edge: #10265e;
    --button-violet: #6d28d9;
    --button-violet-edge: #3b146f;
    --button-green: #047857;
    --button-green-edge: #064e3b;
    --button-red: #b91c1c;
    --button-red-edge: #7f1d1d;
    --button-slate: #475569;
    --button-slate-edge: #263244;
    --button-face: var(--button-blue);
    --button-edge: var(--button-blue-edge);
    --button-ink: #fff;
}
body :is(button:not(.sentence-circle), input[type="submit"], input[type="button"], a.btn, a.popup-btn, a.account-control-btn, a.tasks-notification-btn, a.top-logout-btn, a.header-icon-btn, a.home-icon, a.back-link, a.nav-link, [role="button"]) {
    background: var(--button-face) !important;
    color: var(--button-ink) !important;
    border: 1px solid var(--button-edge) !important;
    border-radius: 8px;
    box-shadow: 0 4px 0 var(--button-edge), 0 6px 8px rgba(15, 23, 42, .12) !important;
    transform: translateY(0) !important;
    transition: transform 150ms ease, box-shadow 150ms ease, filter 150ms ease !important;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}
body :is(.btn-secondary, .page-btn, .view-tab-btn, .filter-btn, .theme-btn, .theme-toggle-btn,
         .header-icon-btn, .home-icon, .back-link, .nav-link, .top-logout-btn,
         .app-notification-close, .chip-insert-btn, .lock-toggle-btn) {
    --button-face: var(--button-slate);
    --button-edge: var(--button-slate-edge);
}
body :is(a.home-icon, a.back-link, a.nav-link) {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 6px 10px;
}
body :is(.btn-success, .lock-toggle-btn.locked) {
    --button-face: var(--button-green);
    --button-edge: var(--button-green-edge);
}
body :is(.btn-danger, .header-clear, button[onclick*="delete" i], a[href$="/logout"]) {
    --button-face: var(--button-red);
    --button-edge: var(--button-red-edge);
}
body :is(.view-tab-btn.active, .page-btn.active, .filter-btn.active) {
    --button-face: var(--button-blue);
    --button-edge: var(--button-blue-edge);
}
body :is(#btn-assign-users, a[href$="/conversation/assign"], #assign-form button[type="submit"]) {
    --button-face: var(--button-violet);
    --button-edge: var(--button-violet-edge);
}
body .lock-toggle-btn.unlocked,
body a.tasks-notification-btn.task-start-evaluation {
    --button-face: #fbbf24;
    --button-edge: #92400e;
    --button-ink: #451a03;
}
body :is(button:not(.sentence-circle), input[type="submit"], input[type="button"], a.btn, a.popup-btn, a.account-control-btn, a.tasks-notification-btn, a.top-logout-btn, a.header-icon-btn, a.home-icon, a.back-link, a.nav-link, [role="button"]):hover:not(:disabled):not([aria-disabled="true"]) {
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 0 var(--button-edge), 0 7px 10px rgba(15, 23, 42, .16) !important;
    filter: brightness(1.07);
}
body :is(button:not(.sentence-circle), input[type="submit"], input[type="button"], a.btn, a.popup-btn, a.account-control-btn, a.tasks-notification-btn, a.top-logout-btn, a.header-icon-btn, a.home-icon, a.back-link, a.nav-link, [role="button"]):active:not(:disabled):not([aria-disabled="true"]) {
    transform: translateY(3px) !important;
    box-shadow: 0 1px 0 var(--button-edge), 0 2px 3px rgba(15, 23, 42, .12) !important;
    filter: none;
}
body :is(button:not(.sentence-circle), input[type="submit"], input[type="button"], a.btn, a.popup-btn, a.account-control-btn, a.tasks-notification-btn, a.top-logout-btn, a.header-icon-btn, a.home-icon, a.back-link, a.nav-link, [role="button"]):focus-visible {
    outline: 3px solid var(--button-face);
    outline-offset: 5px;
}
body :is(button:not(.sentence-circle), input[type="submit"], input[type="button"], a.btn, a.popup-btn, a.account-control-btn, a.tasks-notification-btn, a.top-logout-btn, a.header-icon-btn, a.home-icon, a.back-link, a.nav-link, [role="button"]):is(:disabled, [aria-disabled="true"]) {
    opacity: .45;
    cursor: not-allowed;
    transform: translateY(2px) !important;
    box-shadow: 0 2px 0 var(--button-edge) !important;
    filter: none;
}
/* Leave room for lower edges in compact groups and scrolling toolbars. */
body :is(.view-switcher-group, .header-utilities) { padding-bottom: 5px; }
body .view-switcher-group { gap: 6px; }
body .header-utilities { gap: 7px; }
body .header-content { padding-top: 5px; padding-bottom: 8px; }
@media (prefers-reduced-motion: reduce) {
body :is(button:not(.sentence-circle), input[type="submit"], input[type="button"], a.btn, a.popup-btn, a.account-control-btn, a.tasks-notification-btn, a.top-logout-btn, a.header-icon-btn, a.home-icon, a.back-link, a.nav-link, [role="button"]) { transition: none !important; }
}

body a.tasks-notification-btn.task-start-evaluation { font-weight: 800; }
