/**
 * Event101 organiser action controls — late overrides.
 * Loads after module styles (wp_footer) to suppress WordPress/theme blue button bleed.
 * Tokens: html/body.event101-app-shell in app-shell.css
 */

/* WordPress .button family inside organiser shell */
body.event101-app-shell .e101-app .button,
body.event101-app-shell .e101-router-panel .button,
body.event101-app-shell .e101-drawer .button,
body.event101-app-shell dialog .button {
	transition:
		background 0.12s ease,
		border-color 0.12s ease,
		color 0.12s ease,
		box-shadow 0.12s ease;
}

body.event101-app-shell .e101-app .button:not(.button-primary):not(.button-link-delete):hover,
body.event101-app-shell .e101-app .button:not(.button-primary):not(.button-link-delete):focus-visible,
body.event101-app-shell .e101-router-panel .button:not(.button-primary):not(.button-link-delete):hover,
body.event101-app-shell .e101-router-panel .button:not(.button-primary):not(.button-link-delete):focus-visible,
body.event101-app-shell .e101-drawer .button:not(.button-primary):not(.button-link-delete):hover,
body.event101-app-shell .e101-drawer .button:not(.button-primary):not(.button-link-delete):focus-visible {
	background: var(--e101-btn-secondary-bg-hover, #f0fdf4);
	border-color: var(--e101-btn-secondary-border-hover, #58e28a);
	color: var(--e101-btn-secondary-fg-hover, #14532d);
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
}

body.event101-app-shell .e101-app .button.button-primary,
body.event101-app-shell .e101-app .button.button-primary:link,
body.event101-app-shell .e101-app .button.button-primary:visited,
body.event101-app-shell .e101-router-panel .button.button-primary,
body.event101-app-shell .e101-drawer .button.button-primary {
	background: var(--e101-btn-primary-bg, #16324f);
	border-color: var(--e101-btn-primary-bg, #16324f);
	color: var(--e101-btn-primary-fg, #fff);
	box-shadow: none;
}

body.event101-app-shell .e101-app .button.button-primary:hover,
body.event101-app-shell .e101-app .button.button-primary:focus-visible,
body.event101-app-shell .e101-router-panel .button.button-primary:hover,
body.event101-app-shell .e101-router-panel .button.button-primary:focus-visible,
body.event101-app-shell .e101-drawer .button.button-primary:hover,
body.event101-app-shell .e101-drawer .button.button-primary:focus-visible {
	background: var(--e101-btn-primary-bg-hover, #58e28a);
	border-color: var(--e101-btn-primary-bg-hover, #58e28a);
	color: var(--e101-btn-primary-fg-hover, #052e16);
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
}

/* Module __btn pattern (Medical, Risk, Timeline, etc.) */
body.event101-app-shell .e101-app button[class*="__btn"]:not([class*="--danger"]):not([class*="--destructive"]):not([class*="--warning"]),
body.event101-app-shell .e101-app a[class*="__btn"]:not([class*="--danger"]):not([class*="--destructive"]):not([class*="--warning"]),
body.event101-app-shell .e101-router-panel button[class*="__btn"]:not([class*="--danger"]):not([class*="--destructive"]):not([class*="--warning"]),
body.event101-app-shell .e101-router-panel a[class*="__btn"]:not([class*="--danger"]):not([class*="--destructive"]):not([class*="--warning"]) {
	transition:
		background 0.12s ease,
		border-color 0.12s ease,
		color 0.12s ease,
		box-shadow 0.12s ease;
}

body.event101-app-shell .e101-app button[class*="__btn--primary"]:not([class*="--danger"]):hover:not(:disabled),
body.event101-app-shell .e101-app button[class*="__btn--primary"]:not([class*="--danger"]):focus-visible:not(:disabled),
body.event101-app-shell .e101-app a[class*="__btn--primary"]:not([class*="--danger"]):hover,
body.event101-app-shell .e101-app a[class*="__btn--primary"]:not([class*="--danger"]):focus-visible,
body.event101-app-shell .e101-router-panel button[class*="__btn--primary"]:hover:not(:disabled),
body.event101-app-shell .e101-router-panel button[class*="__btn--primary"]:focus-visible:not(:disabled),
body.event101-app-shell .e101-router-panel a[class*="__btn--primary"]:hover,
body.event101-app-shell .e101-router-panel a[class*="__btn--primary"]:focus-visible {
	background: var(--e101-btn-primary-bg-hover, #58e28a);
	border-color: var(--e101-btn-primary-bg-hover, #58e28a);
	color: var(--e101-btn-primary-fg-hover, #052e16);
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
}

body.event101-app-shell .e101-app button[class*="__btn--secondary"]:hover:not(:disabled),
body.event101-app-shell .e101-app button[class*="__btn--secondary"]:focus-visible:not(:disabled),
body.event101-app-shell .e101-app a[class*="__btn--secondary"]:hover,
body.event101-app-shell .e101-app a[class*="__btn--secondary"]:focus-visible,
body.event101-app-shell .e101-router-panel button[class*="__btn--secondary"]:hover:not(:disabled),
body.event101-app-shell .e101-router-panel button[class*="__btn--secondary"]:focus-visible:not(:disabled),
body.event101-app-shell .e101-router-panel a[class*="__btn--secondary"]:hover,
body.event101-app-shell .e101-router-panel a[class*="__btn--secondary"]:focus-visible {
	background: var(--e101-btn-secondary-bg-hover, #f0fdf4);
	border-color: var(--e101-btn-secondary-border-hover, #58e28a);
	color: var(--e101-btn-secondary-fg-hover, #14532d);
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
}

body.event101-app-shell .e101-app button[class*="__btn"]:not([class*="--primary"]):not([class*="--secondary"]):not([class*="--ghost"]):not([class*="--danger"]):not([class*="--destructive"]):hover:not(:disabled),
body.event101-app-shell .e101-app button[class*="__btn"]:not([class*="--primary"]):not([class*="--secondary"]):not([class*="--ghost"]):not([class*="--danger"]):not([class*="--destructive"]):focus-visible:not(:disabled) {
	background: var(--e101-btn-secondary-bg-hover, #f0fdf4);
	border-color: var(--e101-btn-secondary-border-hover, #58e28a);
	color: var(--e101-btn-secondary-fg-hover, #14532d);
}

/* Hub command actions on dark heroes (not standardised section headers — see section-headers.css) */
body.event101-app-shell .e101-app .e101-hub-hero__btn--primary:hover,
body.event101-app-shell .e101-app .e101-hub-hero__btn--primary:focus-visible {
	background: var(--e101-btn-primary-bg-hover, #58e28a);
	border-color: var(--e101-btn-primary-bg-hover, #58e28a);
	color: var(--e101-btn-primary-fg-hover, #052e16);
}

body.event101-app-shell .e101-app .e101-hub-hero__btn--secondary:hover,
body.event101-app-shell .e101-app .e101-hub-hero__btn--secondary:focus-visible {
	background: rgba(88, 226, 138, 0.16);
	border-color: rgba(88, 226, 138, 0.55);
	color: #ecfdf5;
}

/* Shared .e101-btn (dashboard cards, drawers) */
body.event101-app-shell .e101-app .e101-btn--primary:hover,
body.event101-app-shell .e101-app .e101-btn--primary:focus-visible {
	background: var(--e101-btn-primary-bg-hover, #58e28a);
	border-color: var(--e101-btn-primary-bg-hover, #58e28a);
	color: var(--e101-btn-primary-fg-hover, #052e16);
}

body.event101-app-shell .e101-app .e101-btn--ghost:hover,
body.event101-app-shell .e101-app .e101-btn--ghost:focus-visible {
	background: var(--e101-btn-secondary-bg-hover, #f0fdf4);
	border-color: var(--e101-btn-secondary-border-hover, #58e28a);
	color: var(--e101-btn-secondary-fg-hover, #14532d);
}

/* Router buttons — reinforce after module CSS */
body.event101-app-shell .e101-app .e101-router-btn--primary:hover,
body.event101-app-shell .e101-app .e101-router-btn--primary:focus-visible,
body.event101-app-shell .e101-router-panel .e101-router-btn--primary:hover,
body.event101-app-shell .e101-router-panel .e101-router-btn--primary:focus-visible {
	background: var(--e101-btn-primary-bg-hover, #58e28a);
	border-color: var(--e101-btn-primary-bg-hover, #58e28a);
	color: var(--e101-btn-primary-fg-hover, #052e16);
}

body.event101-app-shell .e101-app .e101-router-btn--ghost:hover,
body.event101-app-shell .e101-app .e101-router-btn--ghost:focus-visible,
body.event101-app-shell .e101-app .e101-router-btn--secondary:hover,
body.event101-app-shell .e101-app .e101-router-btn--secondary:focus-visible,
body.event101-app-shell .e101-router-panel .e101-router-btn--ghost:hover,
body.event101-app-shell .e101-router-panel .e101-router-btn--ghost:focus-visible,
body.event101-app-shell .e101-router-panel .e101-router-btn--secondary:hover,
body.event101-app-shell .e101-router-panel .e101-router-btn--secondary:focus-visible {
	background: var(--e101-btn-secondary-bg-hover, #f0fdf4);
	border-color: var(--e101-btn-secondary-border-hover, #58e28a);
	color: var(--e101-btn-secondary-fg-hover, #14532d);
}

/* Selected tab / pill / toggle (soft green, not WP blue) — workspace controls only */
body.event101-app-shell .e101-app .event101-timeline-mode-toggle__btn--active,
body.event101-app-shell .e101-app [class*="__pill"].is-active:not([class*="--danger"]):not(.e101-section-header__menu-link),
body.event101-app-shell .e101-app [class*="__tab"].is-active:not([class*="--danger"]):not(.e101-section-header__menu-link) {
	border-color: var(--e101-system-green, #58e28a);
	background: var(--e101-system-green-soft, #f0fdf4);
	color: var(--e101-system-green-ink-secondary, #14532d);
}

/* Preserve destructive / warning button treatments */
body.event101-app-shell .e101-app [class*="--danger"]:hover,
body.event101-app-shell .e101-app [class*="--danger"]:focus-visible,
body.event101-app-shell .e101-app [class*="--destructive"]:hover,
body.event101-app-shell .e101-app [class*="--destructive"]:focus-visible,
body.event101-app-shell .e101-app .button-link-delete:hover,
body.event101-app-shell .e101-app .button-link-delete:focus-visible {
	box-shadow: none;
}

/* --------------------------------------------------------------------------
 * Form controls (organiser shell)
 * -------------------------------------------------------------------------- */
body.event101-app-shell .e101-app input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="image"]):not([type="button"]):not([type="submit"]):not([type="reset"]):focus,
body.event101-app-shell .e101-app select:focus,
body.event101-app-shell .e101-app textarea:focus,
body.event101-app-shell .e101-drawer input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="image"]):not([type="button"]):not([type="submit"]):not([type="reset"]):focus,
body.event101-app-shell .e101-drawer select:focus,
body.event101-app-shell .e101-drawer textarea:focus,
body.event101-app-shell .e101-router-panel input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="image"]):not([type="button"]):not([type="submit"]):not([type="reset"]):focus,
body.event101-app-shell .e101-router-panel select:focus,
body.event101-app-shell .e101-router-panel textarea:focus {
	outline: none;
	border-color: var(--e101-btn-secondary-border-hover, #58e28a);
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
}

body.event101-app-shell .e101-app .e101-router__input:focus,
body.event101-app-shell .e101-drawer .e101-router__input:focus,
body.event101-app-shell .e101-router-panel .e101-router__input:focus {
	outline: none;
	border-color: var(--e101-btn-secondary-border-hover, #58e28a);
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
}

/* Tabs, nav pills, toggles, filter/toolbar actions */
body.event101-app-shell .e101-app [class*="__tab"]:focus-visible,
body.event101-app-shell .e101-app [class*="__pill"]:focus-visible,
body.event101-app-shell .e101-app [class*="__nav"]:focus-visible,
body.event101-app-shell .e101-app [class*="__toggle"]:focus-visible,
body.event101-app-shell .e101-app [class*="__filter"]:focus-visible,
body.event101-app-shell .e101-app [class*="__chip"]:focus-visible,
body.event101-app-shell .e101-app summary:focus-visible,
body.event101-app-shell .e101-router-panel [class*="__tab"]:focus-visible,
body.event101-app-shell .e101-router-panel [class*="__pill"]:focus-visible {
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
}

body.event101-app-shell .e101-app [class*="__tab"].is-active:not(.e101-section-header__menu-link),
body.event101-app-shell .e101-app [class*="__tab"][aria-current="page"]:not(.e101-section-header__menu-link),
body.event101-app-shell .e101-app [class*="__tab--current"]:not(.e101-section-header__menu-link),
body.event101-app-shell .e101-app [class*="__nav"][aria-current="page"]:not(.e101-section-header__menu-link) {
	border-color: var(--e101-system-green, #58e28a);
}

body.event101-app-shell .e101-app tr:focus-visible,
body.event101-app-shell .e101-app [role="row"]:focus-visible,
body.event101-app-shell .e101-app .e101-router-btn:focus-visible {
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
}

/* Cross-surface row jump highlight */
body.event101-app-shell tr.e101-cross-target-highlight,
body.event101-app-shell .event101-budget-row.e101-cross-target-highlight {
	outline: 2px solid var(--e101-system-green, #58e28a);
	outline-offset: 2px;
}

/* Gantt / timeline interactive markers (keyboard targets) */
body.event101-app-shell .e101-project-timeline__gantt-marker:focus-visible,
body.event101-app-shell .e101-project-timeline__gantt-marker[data-gantt-marker-btn]:focus-visible {
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
}

/* Map builder toolbar (not canvas geometry selection) */
body.event101-app-shell .e101-map-builder__add-btn--active,
body.event101-app-shell .e101-map-builder__place-btn--active,
body.event101-app-shell .e101-map-builder__mode-chip[data-e101-map-mode="placement"],
body.event101-app-shell .e101-map-builder__mode-chip[data-e101-map-mode="drawing"] {
	border-color: var(--e101-system-green, #58e28a);
	background: var(--e101-system-green-soft, #f0fdf4);
	color: var(--e101-system-green-ink-secondary, #14532d);
}

body.event101-app-shell .e101-map-builder__place-btn--active:focus-visible,
body.event101-app-shell .e101-map-builder__add-btn:focus-visible {
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
}

/* Plan intent / onboarding cards */
body.event101-app-shell .event101-plan-intent-card button:focus-visible,
body.event101-app-shell .event101-plan-intent-card a:focus-visible {
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
}

/* --------------------------------------------------------------------------
 * Supplier front-end (may render outside organiser shell)
 * -------------------------------------------------------------------------- */
.e101-sw,
.e101-supplier-directory,
.e101-supplier-profile {
	--e101-btn-primary-bg: #16324f;
	--e101-btn-primary-bg-hover: #58e28a;
	--e101-btn-primary-fg: #fff;
	--e101-btn-primary-fg-hover: #052e16;
	--e101-btn-secondary-bg-hover: #f0fdf4;
	--e101-btn-secondary-border-hover: #58e28a;
	--e101-btn-secondary-fg-hover: #14532d;
	--e101-btn-focus-ring: rgba(88, 226, 138, 0.45);
	--e101-btn-focus-shadow: 0 0 0 3px rgba(88, 226, 138, 0.18);
}

.e101-sw .e101-sw__button,
.e101-supplier-directory .button-primary,
.e101-supplier-profile .button-primary,
.e101-supplier-directory button[type="submit"],
.e101-supplier-profile button[type="submit"] {
	background: var(--e101-btn-primary-bg, #16324f);
	border-color: var(--e101-btn-primary-bg, #16324f);
	color: var(--e101-btn-primary-fg, #fff);
}

.e101-sw .e101-sw__button:hover,
.e101-sw .e101-sw__button:focus-visible,
.e101-sw .e101-sw__button--compact:hover,
.e101-sw .e101-sw__button--compact:focus-visible,
.e101-supplier-directory .button-primary:hover,
.e101-supplier-directory .button-primary:focus-visible,
.e101-supplier-profile .button-primary:hover,
.e101-supplier-profile .button-primary:focus-visible {
	background: var(--e101-btn-primary-bg-hover, #58e28a);
	border-color: var(--e101-btn-primary-bg-hover, #58e28a);
	color: var(--e101-btn-primary-fg-hover, #052e16);
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
}

.e101-sw .e101-sw__button--secondary.e101-sw__button--compact:hover,
.e101-sw .e101-sw__button--secondary.e101-sw__button--compact:focus-visible {
	background: var(--e101-btn-secondary-bg-hover, #f0fdf4);
	border-color: var(--e101-btn-secondary-border-hover, #58e28a);
	color: var(--e101-btn-secondary-fg-hover, #14532d);
}

.e101-sw .e101-sw__nav-link:focus-visible,
.e101-sw .e101-sw-doc-expiry__summary:focus-visible,
.e101-sw .e101-sw-doc-expiry__date:focus,
.e101-sw .e101-sw-doc-expiry__date:focus-visible,
.e101-supplier-directory a:focus-visible,
.e101-supplier-directory button:focus-visible,
.e101-supplier-directory input:focus,
.e101-supplier-directory select:focus,
.e101-supplier-profile a:focus-visible,
.e101-supplier-profile button:focus-visible,
.e101-supplier-profile input:focus,
.e101-supplier-profile select:focus {
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	outline-offset: 2px;
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
}

.e101-supplier-directory input:focus,
.e101-supplier-directory select:focus,
.e101-supplier-profile input:focus,
.e101-supplier-profile select:focus {
	border-color: var(--e101-btn-secondary-border-hover, #58e28a);
}

/* Cashflow / budget interactive rows (Programming) */
body.event101-app-shell .event101-cashflow-table__row--interactive:focus-visible,
body.event101-app-shell .event101-cashflow-table__month-row:focus-visible,
body.event101-app-shell .event101-cashflow-date-quick:focus-visible {
	outline: 2px solid var(--e101-btn-focus-ring, rgba(88, 226, 138, 0.45));
	box-shadow: var(--e101-btn-focus-shadow, 0 0 0 3px rgba(88, 226, 138, 0.18));
}

body.event101-app-shell .event101-cashflow-table__row--interactive:hover {
	background: var(--e101-btn-secondary-bg-hover, #f0fdf4);
}

/* Hub dashboard ghost buttons */
body.event101-app-shell .e101-hub-dash-btn:hover {
	border-color: var(--e101-btn-secondary-border-hover, #58e28a);
	background: var(--e101-btn-secondary-bg-hover, #f0fdf4);
	color: var(--e101-btn-secondary-fg-hover, #14532d);
}

/* --------------------------------------------------------------------------
 * Section headers — slate shell only; no green hero wash or filled menu tabs
 * -------------------------------------------------------------------------- */
body.event101-app-shell .e101-section-control-header.e101-hub-hero--product,
body.event101-app-shell .e101-section-page-header.e101-hub-hero--product {
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 52%, #0a0f18 100%);
}

body.event101-app-shell .e101-section-control-header.e101-hub-hero--product::after,
body.event101-app-shell .e101-section-page-header.e101-hub-hero--product::after {
	content: none;
	display: none;
	background: none;
}

body.event101-app-shell .e101-section-control-header .e101-hub-hero__btn--primary:hover,
body.event101-app-shell .e101-section-control-header .e101-hub-hero__btn--primary:focus-visible,
body.event101-app-shell .e101-section-page-header .e101-hub-hero__btn--primary:hover,
body.event101-app-shell .e101-section-page-header .e101-hub-hero__btn--primary:focus-visible {
	background: #334155;
	border-color: #475569;
	color: #fff;
}

body.event101-app-shell .e101-section-control-header .e101-hub-hero__btn--secondary:hover,
body.event101-app-shell .e101-section-control-header .e101-hub-hero__btn--secondary:focus-visible,
body.event101-app-shell .e101-section-page-header .e101-hub-hero__btn--secondary:hover,
body.event101-app-shell .e101-section-page-header .e101-hub-hero__btn--secondary:focus-visible,
body.event101-app-shell .e101-section-control-header .e101-hub-hero__btn--ghost:hover,
body.event101-app-shell .e101-section-control-header .e101-hub-hero__btn--ghost:focus-visible,
body.event101-app-shell .e101-section-page-header .e101-hub-hero__btn--ghost:hover,
body.event101-app-shell .e101-section-page-header .e101-hub-hero__btn--ghost:focus-visible,
body.event101-app-shell .e101-section-control-header .e101-section-header__menu-link:hover,
body.event101-app-shell .e101-section-control-header .e101-section-header__menu-link:focus-visible,
body.event101-app-shell .e101-section-page-header .e101-section-header__menu-link:hover,
body.event101-app-shell .e101-section-page-header .e101-section-header__menu-link:focus-visible {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.32);
	color: #fff;
	box-shadow: none;
}

body.event101-app-shell .e101-section-control-header .e101-section-header__menu-link--active,
body.event101-app-shell .e101-section-page-header .e101-section-header__menu-link--active {
	background: rgba(15, 23, 42, 0.55);
	border-color: rgba(88, 226, 138, 0.55);
	color: #fff;
	box-shadow: 0 0 0 1px rgba(88, 226, 138, 0.18);
}
