/*
 * Techburg MGM & Analistik 1.0.22
 * Enterprise Design System 2026
 *
 * Diese Datei ist die verbindliche Darstellungsschicht der Anwendung.
 * Bestehende Komponentenklassen bleiben aus Kompatibilitätsgründen erhalten,
 * beziehen ihre sichtbare Gestaltung jedoch ausschließlich aus diesen Tokens.
 */

:root {
    color-scheme: light;

    /* Brand & surfaces */
    --aho-bg-root: #f0f2f6;
    --aho-bg-app: #f6f7fa;
    --aho-bg-sidebar: #ffffff;
    --aho-bg-surface: #ffffff;
    --aho-bg-surface-raised: #fafafd;
    --aho-bg-surface-hover: #f0f2f6;
    --aho-bg-surface-soft: #f6f7fa;
    --aho-bg-overlay: rgba(15, 23, 42, .46);

    /* Brand accents */
    --aho-accent: #c91f68;
    --aho-accent-hover: #a91555;
    --aho-accent-soft: #c91f68;
    --aho-accent-ink: #ffffff;
    --aho-accent-wash: #fce7f1;
    --aho-accent-border: rgba(201, 31, 104, .30);

    /* Semantic colours */
    --aho-success: #087a55;
    --aho-success-soft: rgba(8, 122, 85, .10);
    --aho-warning: #a85d00;
    --aho-warning-soft: rgba(168, 93, 0, .10);
    --aho-danger: #c6283d;
    --aho-danger-soft: rgba(198, 40, 61, .10);
    --aho-info: #287ec5;
    --aho-info-soft: rgba(40, 126, 197, .10);

    /* Module identity – nur als Orientierung, nie als eigenes Theme */
    --aho-module-social: #c91f68;
    --aho-module-lab: #d9468d;
    --aho-module-tests: #287ec5;
    --aho-module-events: #b77900;
    --aho-module-exchange: #7957d5;
    --aho-module-inventory: #d85b40;
    --aho-module-reports: #60516e;
    --aho-module-search: #c83f87;

    /* Typography */
    --aho-text: #171a22;
    --aho-text-secondary: #5f6673;
    --aho-text-muted: #68707d;
    --aho-text-disabled: #94a0b2;
    --aho-font: Inter, Manrope, Geist, "Plus Jakarta Sans", ui-sans-serif,
        -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --aho-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    --aho-font-size: 16px;
    --aho-line-height: 1.55;

    /* Borders, radii, depth */
    --aho-border: #dde1e8;
    --aho-border-strong: #cbd1dc;
    --aho-divider: #e7e9ee;
    --aho-radius-sm: 8px;
    --aho-radius-control: 10px;
    --aho-radius-card: 14px;
    --aho-radius-panel: 18px;
    --aho-radius-round: 999px;
    --aho-shadow-card: 0 8px 24px rgba(35, 46, 79, .055), 0 1px 2px rgba(35, 46, 79, .04);
    --aho-shadow-raised: 0 20px 52px rgba(35, 46, 79, .14), 0 2px 6px rgba(35, 46, 79, .06);
    --aho-focus: 0 0 0 3px rgba(227, 59, 130, .22), 0 0 0 1px #e33b82;

    /* 8-pixel spacing system */
    --aho-space-1: 4px;
    --aho-space-2: 8px;
    --aho-space-3: 12px;
    --aho-space-4: 16px;
    --aho-space-5: 20px;
    --aho-space-6: 24px;
    --aho-space-7: 32px;
    --aho-space-8: 40px;
    --aho-space-9: 48px;
    --aho-space-10: 64px;

    /* Motion & layout */
    --aho-motion-fast: 160ms;
    --aho-motion: 200ms;
    --aho-ease: cubic-bezier(.2, .8, .2, 1);
    --aho-sidebar-width: 284px;
    --aho-sidebar-collapsed: 88px;
    --aho-content-max: none;
    --aho-control-height: 44px;

    /* Compatibility aliases used by the existing application */
    --color-primary: var(--aho-accent);
    --color-primary-hover: var(--aho-accent-hover);
    --color-primary-soft: var(--aho-accent-wash);
    --color-primary-soft-2: rgba(201, 31, 104, .055);
    --color-secondary: var(--aho-success);
    --color-secondary-soft: var(--aho-success-soft);
    --color-success: var(--aho-success);
    --color-success-soft: var(--aho-success-soft);
    --color-warning: var(--aho-warning);
    --color-warning-soft: var(--aho-warning-soft);
    --color-danger: var(--aho-danger);
    --color-danger-soft: var(--aho-danger-soft);
    --color-info: var(--aho-info);
    --color-info-soft: var(--aho-info-soft);
    --bg-app: var(--aho-bg-app);
    --bg-sidebar: var(--aho-bg-sidebar);
    --bg-card: var(--aho-bg-surface);
    --bg-muted: var(--aho-bg-surface-soft);
    --bg-hover: var(--aho-bg-surface-hover);
    --text-primary: var(--aho-text);
    --text-secondary: var(--aho-text-secondary);
    --text-muted: var(--aho-text-muted);
    --border-color: var(--aho-border);
    --surface: var(--aho-bg-surface);
    --surface-color: var(--aho-bg-surface);
    --muted-color: var(--aho-text-muted);
    --text-color: var(--aho-text);
    --shadow-xs: var(--aho-shadow-card);
    --shadow-sm: var(--aho-shadow-card);
    --shadow-md: var(--aho-shadow-raised);
    --shadow-lg: var(--aho-shadow-raised);
    --radius-xs: var(--aho-radius-sm);
    --radius-sm: var(--aho-radius-control);
    --radius-md: var(--aho-radius-card);
    --radius-lg: var(--aho-radius-panel);
    --radius-xl: var(--aho-radius-panel);
    --radius-2xl: 22px;
    --radius-round: var(--aho-radius-round);

    /* Canvas-Diagramme lesen diese Werte bei jedem Neuaufbau aus. */
    --aho-chart-ink: #172033;
    --aho-chart-text: #344259;
    --aho-chart-muted: #66758c;
    --aho-chart-grid: rgba(102, 117, 140, .16);
    --aho-chart-grid-strong: rgba(102, 117, 140, .30);
    --aho-chart-track: #edf0f5;
    --aho-chart-surface: #ffffff;
    --aho-chart-primary: #5659d9;
    --aho-chart-primary-soft: #9fa3f2;
}

:root[data-theme="dark"] {
    color-scheme: dark;

    --aho-bg-root: #0e131c;
    --aho-bg-app: #121722;
    --aho-bg-sidebar: #171e2a;
    --aho-bg-surface: #202836;
    --aho-bg-surface-raised: #293343;
    --aho-bg-surface-hover: #344052;
    --aho-bg-surface-soft: #252e3d;
    --aho-bg-overlay: rgba(2, 5, 10, .72);

    --aho-accent: #f06aa2;
    --aho-accent-hover: #ff8fbb;
    --aho-accent-soft: #f279ab;
    --aho-accent-ink: #1c0e15;
    --aho-accent-wash: rgba(240, 106, 162, .14);
    --aho-accent-border: rgba(240, 106, 162, .42);

    --aho-success: #48c99a;
    --aho-success-soft: rgba(72, 201, 154, .13);
    --aho-warning: #e4ad4f;
    --aho-warning-soft: rgba(228, 173, 79, .14);
    --aho-danger: #ff7e8e;
    --aho-danger-soft: rgba(255, 126, 142, .14);
    --aho-info: #66b5f2;
    --aho-info-soft: rgba(102, 181, 242, .14);

    --aho-module-social: #f06aa2;
    --aho-module-lab: #f084b8;
    --aho-module-tests: #66b5f2;
    --aho-module-events: #e4ad4f;
    --aho-module-exchange: #a98bf5;
    --aho-module-inventory: #f0846d;
    --aho-module-reports: #b8a7c5;
    --aho-module-search: #f091bf;

    --aho-text: #f8fafc;
    --aho-text-secondary: #dce3ed;
    --aho-text-muted: #bbc6d5;
    --aho-text-disabled: #98a6b9;
    --aho-border: #435064;
    --aho-border-strong: #59687d;
    --aho-divider: #374356;
    --aho-shadow-card: 0 10px 28px rgba(0, 0, 0, .22), 0 1px 2px rgba(0, 0, 0, .28);
    --aho-shadow-raised: 0 24px 58px rgba(0, 0, 0, .42), 0 2px 8px rgba(0, 0, 0, .30);
    --aho-focus: 0 0 0 3px rgba(240, 106, 162, .28), 0 0 0 1px #f06aa2;

    --color-primary-soft-2: rgba(240, 106, 162, .07);
    --aho-chart-ink: #f3f5f8;
    --aho-chart-text: #d7dce5;
    --aho-chart-muted: #aab3c2;
    --aho-chart-grid: rgba(190, 199, 214, .16);
    --aho-chart-grid-strong: rgba(190, 199, 214, .31);
    --aho-chart-track: #303746;
    --aho-chart-surface: #202836;
    --aho-chart-primary: #9295ff;
    --aho-chart-primary-soft: #656aa8;
}

/* Der Umschalter bleibt auf jeder Fachseite sichtbar. */
.aho-theme-switcher {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 3px;
    border: 1px solid var(--aho-border);
    border-radius: 12px;
    background: var(--aho-bg-surface-soft);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045);
}

.aho-theme-switcher button {
    min-width: 42px;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 9px;
    border: 1px solid transparent;
    border-radius: 9px;
    color: var(--aho-text-muted);
    background: transparent;
    font: inherit;
    font-size: .75rem;
    font-weight: 780;
    cursor: pointer;
    transition: color var(--aho-motion-fast), border-color var(--aho-motion-fast), background var(--aho-motion-fast), box-shadow var(--aho-motion-fast);
}

.aho-theme-switcher button:hover {
    color: var(--aho-text);
    background: var(--aho-bg-surface-hover);
}

.aho-theme-switcher button.is-active,
.aho-theme-switcher button[aria-pressed="true"] {
    border-color: var(--aho-accent-border);
    color: var(--aho-text);
    background: var(--aho-bg-surface);
    box-shadow: 0 2px 8px rgba(24, 32, 48, .12);
}

.aho-theme-switcher button:focus-visible {
    outline: 0;
    box-shadow: var(--aho-focus);
}

.aho-theme-switcher svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    min-width: 320px;
    min-height: 100%;
    scroll-behavior: smooth;
    background: var(--aho-bg-root);
}

body {
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    font-family: var(--aho-font) !important;
    font-size: var(--aho-font-size) !important;
    line-height: var(--aho-line-height) !important;
    color: var(--aho-text) !important;
    background:
        radial-gradient(circle at 92% -8%, rgba(201, 31, 104, .035), transparent 30rem),
        radial-gradient(circle at 18% 108%, rgba(96, 81, 110, .025), transparent 34rem),
        var(--aho-bg-app) !important;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

::selection {
    color: var(--aho-accent-ink);
    background: var(--aho-accent-soft);
}

::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

::-webkit-scrollbar-track {
    background: var(--aho-bg-root);
}

::-webkit-scrollbar-thumb {
    min-height: 44px;
    border: 3px solid var(--aho-bg-root);
    border-radius: var(--aho-radius-round);
    background: #b7c0cf;
}

::-webkit-scrollbar-thumb:hover {
    background: #929db0;
}

a {
    color: var(--aho-accent-soft);
    text-underline-offset: 3px;
}

a:hover {
    color: var(--aho-accent-hover);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 0 !important;
    box-shadow: var(--aho-focus) !important;
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
[role="button"],
select,
input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--aho-accent);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--aho-text) !important;
    letter-spacing: -.025em;
    text-wrap: balance;
}

p {
    text-wrap: pretty;
}

.muted,
.aho-muted,
.text-muted {
    color: var(--aho-text-muted) !important;
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.skip-link {
    position: fixed;
    z-index: 10000;
    top: var(--aho-space-3);
    left: var(--aho-space-3);
    translate: 0 -160%;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 var(--aho-space-4);
    border-radius: var(--aho-radius-control);
    color: var(--aho-accent-ink);
    background: var(--aho-accent);
    font-weight: 800;
    text-decoration: none;
    transition: translate var(--aho-motion) var(--aho-ease);
}

.skip-link:focus {
    translate: 0 0;
}

/* Application shell */

.app-shell {
    min-height: 100vh !important;
    display: grid !important;
    grid-template-columns: var(--aho-sidebar-width) minmax(0, 1fr) !important;
    background: transparent !important;
    transition: grid-template-columns var(--aho-motion) var(--aho-ease);
}

.app-main {
    min-width: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin-left: 0 !important;
    background: transparent !important;
}

.sidebar {
    position: sticky !important;
    top: 0;
    z-index: 1000;
    width: auto !important;
    height: 100vh;
    display: flex !important;
    flex-direction: column;
    padding: 0 !important;
    overflow: hidden;
    border-right: 1px solid var(--aho-border) !important;
    color: var(--aho-text) !important;
    background: var(--aho-bg-sidebar) !important;
    box-shadow: 10px 0 32px rgba(35, 46, 79, .045) !important;
    transition: width var(--aho-motion) var(--aho-ease), transform var(--aho-motion) var(--aho-ease);
}

.sidebar__brand {
    position: relative;
    min-height: 82px;
    display: flex !important;
    align-items: center;
    gap: var(--aho-space-2);
    padding: var(--aho-space-4) var(--aho-space-4) !important;
    border-bottom: 1px solid var(--aho-divider);
}

.brand {
    min-width: 0;
    display: flex !important;
    align-items: center;
    gap: var(--aho-space-3) !important;
    color: var(--aho-text) !important;
    text-decoration: none !important;
}

.brand__mark,
.brand-mark,
.brand__logo {
    flex: 0 0 auto;
    width: 48px !important;
    height: 48px !important;
    display: grid !important;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(201, 31, 104, .22) !important;
    border-radius: var(--aho-radius-card) !important;
    color: var(--aho-accent-ink) !important;
    background: linear-gradient(145deg, var(--aho-accent-hover), var(--aho-accent)) !important;
    box-shadow: 0 10px 24px rgba(201, 31, 104, .16), inset 0 1px 0 rgba(255, 255, 255, .30) !important;
}

.brand__logo img,
.brand-mark--logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 4px;
    background: #fff;
}

.brand__mark i {
    position: absolute;
    width: 18px;
    height: 5px;
    border-radius: var(--aho-radius-round);
    background: var(--aho-accent-ink);
}

.brand__mark i:first-child {
    rotate: 45deg;
}

.brand__mark i:last-child {
    rotate: -45deg;
}

.brand__text {
    min-width: 0;
    display: flex !important;
    flex-direction: column;
    line-height: 1.2;
}

.brand__text strong {
    overflow: hidden;
    color: var(--aho-text) !important;
    font-size: 1rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brand__text small {
    margin-top: 4px;
    color: var(--aho-text-muted) !important;
    font-size: .78rem;
}

.sidebar__collapse,
.sidebar__close {
    flex: 0 0 auto;
    width: 40px !important;
    height: 40px !important;
    display: inline-grid;
    place-items: center;
    margin-left: auto;
    padding: 0 !important;
    border: 1px solid var(--aho-border) !important;
    border-radius: var(--aho-radius-control) !important;
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface-soft) !important;
    cursor: pointer;
    transition: color var(--aho-motion-fast), background var(--aho-motion-fast), border-color var(--aho-motion-fast), rotate var(--aho-motion);
}

.sidebar__collapse:hover,
.sidebar__close:hover {
    border-color: var(--aho-accent-border) !important;
    color: var(--aho-text) !important;
    background: var(--aho-accent-wash) !important;
}

.sidebar__collapse svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.sidebar__close {
    display: none;
    font-size: 1.65rem;
}

.sidebar__navigation {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: var(--aho-space-4) var(--aho-space-3) !important;
    scrollbar-width: thin;
}

.nav-section + .nav-section {
    margin-top: var(--aho-space-5) !important;
}

.nav-section__title {
    padding: 0 var(--aho-space-3) var(--aho-space-2) !important;
    color: var(--aho-text-disabled) !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: none !important;
}

.nav-section__items {
    display: grid;
    gap: var(--aho-space-1);
}

.nav-item {
    position: relative;
    min-height: 46px;
    display: flex !important;
    align-items: center;
    gap: var(--aho-space-3) !important;
    padding: 0 var(--aho-space-3) !important;
    overflow: hidden;
    border: 1px solid transparent !important;
    border-radius: var(--aho-radius-control) !important;
    color: var(--aho-text-secondary) !important;
    background: transparent !important;
    font-size: .94rem;
    font-weight: 650;
    text-decoration: none !important;
    transition: color var(--aho-motion-fast), background var(--aho-motion-fast), border-color var(--aho-motion-fast), translate var(--aho-motion-fast);
}

.nav-item::before {
    content: "";
    position: absolute;
    inset: 8px auto 8px 0;
    width: 3px;
    border-radius: var(--aho-radius-round);
    background: var(--aho-accent);
    opacity: 0;
    scale: .7;
    transition: opacity var(--aho-motion-fast), scale var(--aho-motion-fast);
}

.nav-item:hover {
    color: var(--aho-text) !important;
    border-color: var(--aho-border) !important;
    background: var(--aho-bg-surface-hover) !important;
    translate: 2px 0;
}

.nav-item.is-active,
.nav-item[aria-current="page"] {
    color: var(--aho-text) !important;
    border-color: rgba(201, 31, 104, .18) !important;
    background: linear-gradient(90deg, rgba(201, 31, 104, .12), rgba(201, 31, 104, .045)) !important;
}

.nav-item.is-active::before,
.nav-item[aria-current="page"]::before {
    opacity: 1;
    scale: 1;
}

.nav-item__icon {
    flex: 0 0 auto;
    width: 22px !important;
    height: 22px !important;
    display: grid;
    place-items: center;
    color: var(--aho-text-muted) !important;
}

.nav-item.is-active .nav-item__icon {
    color: var(--aho-accent-hover) !important;
}

.nav-item__icon svg,
.topbar svg,
.button svg,
.btn svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.sidebar__footer {
    padding: var(--aho-space-3) !important;
    border-top: 1px solid var(--aho-divider) !important;
    background: var(--aho-bg-surface-raised) !important;
}

.system-indicator {
    min-height: 54px;
    display: flex !important;
    align-items: center;
    gap: var(--aho-space-3) !important;
    padding: var(--aho-space-2) var(--aho-space-3) !important;
    border: 1px solid var(--aho-border) !important;
    border-radius: var(--aho-radius-card) !important;
    background: var(--aho-bg-surface-soft) !important;
}

.system-indicator__dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50%;
    background: var(--aho-success) !important;
    box-shadow: 0 0 0 5px var(--aho-success-soft);
}

.system-indicator strong {
    display: block;
    color: var(--aho-text) !important;
    font-size: .86rem;
}

.system-indicator small {
    display: block;
    color: var(--aho-text-muted) !important;
    font-size: .75rem;
}

body.sidebar-collapsed .app-shell {
    grid-template-columns: var(--aho-sidebar-collapsed) minmax(0, 1fr) !important;
}

body.sidebar-collapsed .sidebar__brand {
    justify-content: center;
    padding-inline: var(--aho-space-3) !important;
}

body.sidebar-collapsed .brand__text,
body.sidebar-collapsed .nav-section__title,
body.sidebar-collapsed .nav-item__label,
body.sidebar-collapsed .system-indicator > div {
    display: none !important;
}

body.sidebar-collapsed .brand {
    justify-content: center;
}

body.sidebar-collapsed .sidebar__collapse {
    position: absolute;
    right: 5px;
    bottom: -14px;
    z-index: 2;
    width: 30px !important;
    height: 30px !important;
    rotate: 180deg;
}

body.sidebar-collapsed .sidebar__navigation {
    padding-inline: var(--aho-space-2) !important;
}

body.sidebar-collapsed .nav-section + .nav-section {
    margin-top: var(--aho-space-3) !important;
}

body.sidebar-collapsed .nav-item {
    justify-content: center;
    padding: 0 !important;
}

body.sidebar-collapsed .nav-item:hover {
    translate: 0;
}

body.sidebar-collapsed .system-indicator {
    justify-content: center;
    padding-inline: 0 !important;
}

/* Top command bar */

.topbar {
    position: sticky !important;
    top: 0;
    z-index: 900;
    min-height: 76px !important;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: var(--aho-space-4);
    padding: var(--aho-space-3) clamp(18px, 2.5vw, 40px) !important;
    border-bottom: 1px solid var(--aho-border) !important;
    color: var(--aho-text) !important;
    background: color-mix(in srgb, var(--aho-bg-surface) 90%, transparent) !important;
    box-shadow: 0 8px 24px rgba(35, 46, 79, .045) !important;
    backdrop-filter: blur(18px) saturate(130%);
}

.topbar__left {
    min-width: 0;
    flex: 1 1 auto;
    display: flex !important;
    align-items: center;
    gap: var(--aho-space-4) !important;
}

.topbar__title {
    flex: 0 0 auto;
    min-width: 160px;
    display: flex !important;
    flex-direction: column;
    line-height: 1.15;
}

.topbar__eyebrow {
    margin-bottom: 5px;
    color: var(--aho-text-muted) !important;
    font-size: .72rem !important;
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: none !important;
}

.topbar__title strong {
    overflow: hidden;
    color: var(--aho-text) !important;
    font-size: 1.05rem !important;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.topbar-search {
    width: min(100%, 620px);
    min-height: 46px;
    display: flex !important;
    align-items: center;
    gap: var(--aho-space-3) !important;
    margin-inline: auto;
    padding: 0 var(--aho-space-3) !important;
    border: 1px solid var(--aho-border-strong) !important;
    border-radius: var(--aho-radius-control) !important;
    color: var(--aho-text-muted) !important;
    background: var(--aho-bg-surface-raised) !important;
    box-shadow: inset 0 1px 2px rgba(35, 46, 79, .035) !important;
    text-decoration: none !important;
    transition: border-color var(--aho-motion-fast), background var(--aho-motion-fast), color var(--aho-motion-fast);
}

.topbar-search:hover,
.topbar-search:focus-visible {
    border-color: var(--aho-accent-border) !important;
    color: var(--aho-text) !important;
    background: var(--aho-bg-surface-raised) !important;
}

.topbar-search span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.topbar-search kbd {
    margin-left: auto;
    padding: 3px 8px;
    border: 1px solid var(--aho-border-strong);
    border-bottom-color: #b9c1cf;
    border-radius: 7px;
    color: var(--aho-text-secondary);
    background: var(--aho-bg-root);
    font-family: var(--aho-font);
    font-size: .72rem;
    white-space: nowrap;
}

.topbar__actions {
    flex: 0 0 auto;
    display: flex !important;
    align-items: center;
    gap: var(--aho-space-2) !important;
}

.icon-button,
.topbar__menu,
.notification-button {
    width: 44px !important;
    height: 44px !important;
    display: inline-grid !important;
    place-items: center;
    padding: 0 !important;
    border: 1px solid var(--aho-border) !important;
    border-radius: var(--aho-radius-control) !important;
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface) !important;
    text-decoration: none !important;
    cursor: pointer;
}

.icon-button:hover,
.notification-button:hover {
    border-color: var(--aho-accent-border) !important;
    color: var(--aho-text) !important;
    background: var(--aho-accent-wash) !important;
}

.notification-button {
    position: relative;
}

.notification-button__badge {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    padding: 0 5px;
    border: 2px solid var(--aho-bg-app);
    border-radius: var(--aho-radius-round);
    color: var(--aho-accent-ink) !important;
    background: var(--aho-accent) !important;
    font-size: .68rem;
    font-weight: 900;
}

.user-menu {
    min-height: 48px !important;
    display: flex !important;
    align-items: center;
    gap: var(--aho-space-2) !important;
    padding: 4px 10px 4px 5px !important;
    border: 1px solid var(--aho-border) !important;
    border-radius: var(--aho-radius-card) !important;
    color: var(--aho-text) !important;
    background: var(--aho-bg-surface) !important;
    cursor: pointer;
}

.user-menu:hover {
    border-color: var(--aho-accent-border) !important;
    background: var(--aho-bg-surface-raised) !important;
}

.user-menu__avatar {
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center;
    border: 1px solid rgba(201, 31, 104, .22);
    border-radius: 11px !important;
    color: var(--aho-accent-ink) !important;
    background: linear-gradient(145deg, var(--aho-accent-hover), var(--aho-accent)) !important;
    font-size: .78rem;
    font-weight: 900;
}

.user-menu__avatar--large {
    width: 48px !important;
    height: 48px !important;
}

.user-menu__details {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.2;
}

.user-menu__details strong {
    max-width: 150px;
    overflow: hidden;
    color: var(--aho-text) !important;
    font-size: .84rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-menu__details small {
    max-width: 150px;
    overflow: hidden;
    color: var(--aho-text-muted) !important;
    font-size: .7rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-menu__chevron {
    width: 16px !important;
    height: 16px !important;
}

.profile-dropdown {
    position: fixed !important;
    z-index: 1100;
    top: 70px !important;
    right: clamp(14px, 2.5vw, 40px) !important;
    width: min(310px, calc(100vw - 28px));
    padding: var(--aho-space-2) !important;
    border: 1px solid var(--aho-border-strong) !important;
    border-radius: var(--aho-radius-panel) !important;
    color: var(--aho-text) !important;
    background: color-mix(in srgb, var(--aho-bg-surface) 98%, transparent) !important;
    box-shadow: var(--aho-shadow-raised) !important;
    backdrop-filter: blur(20px);
}

.profile-dropdown__header {
    display: flex !important;
    align-items: center;
    gap: var(--aho-space-3) !important;
    padding: var(--aho-space-3) !important;
}

.profile-dropdown__header strong,
.profile-dropdown__header small {
    display: block;
}

.profile-dropdown__header small {
    color: var(--aho-text-muted) !important;
}

.profile-dropdown__divider {
    height: 1px;
    margin: var(--aho-space-2) 0 !important;
    background: var(--aho-divider) !important;
}

.profile-dropdown > a,
.profile-dropdown button {
    width: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 0 var(--aho-space-3) !important;
    border: 0;
    border-radius: var(--aho-radius-control);
    color: var(--aho-text-secondary) !important;
    background: transparent !important;
    text-decoration: none;
    cursor: pointer;
}

.profile-dropdown > a:hover,
.profile-dropdown button:hover {
    color: var(--aho-text) !important;
    background: var(--aho-bg-surface-hover) !important;
}

.profile-dropdown__logout-button {
    color: var(--aho-danger) !important;
}

/* Content hierarchy */

.content {
    width: 100%;
    max-width: var(--aho-content-max);
    min-width: 0;
    flex: 1 0 auto;
    margin: 0;
    padding: clamp(24px, 2.4vw, 42px) clamp(18px, 2vw, 34px) var(--aho-space-10) !important;
}

/*
 * Breite Arbeitsfläche
 *
 * Fachliche Inhalte nutzen den vollständigen Raum neben der Navigation.
 * Nur beschreibende Fließtexte behalten eine begrenzte Zeilenlänge, damit
 * sie auf großen Monitoren gut lesbar bleiben.
 */
.content > :where(
    .aho-workspace,
    .aho-intel,
    .aho-admin,
    .aho-users,
    .aho-settings-page,
    .aho-catalog,
    .aho-import-page,
    .aho-import-job-page,
    .aho-audit-page,
    .aho-audit-detail-page,
    .aho-system-status-page,
    .aho-user-edit-page,
    .aho-user-form-page,
    .aho-permissions-page,
    .dashboard-toolbar,
    .dashboard-kpi-grid,
    .dashboard-intelligence-strip,
    .dashboard-grid,
    .kpi-grid,
    .aho-grid-2,
    .aho-analytics-grid,
    .card,
    .alert,
    section
) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
}

.page-header {
    position: relative;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between;
    gap: var(--aho-space-6) !important;
    margin: 0 0 var(--aho-space-7) !important;
    padding: 0 0 var(--aho-space-6) !important;
    border-bottom: 1px solid var(--aho-divider) !important;
}

.page-header::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 88px;
    height: 2px;
    border-radius: var(--aho-radius-round);
    background: linear-gradient(90deg, var(--aho-accent), transparent);
}

.page-breadcrumb {
    display: flex;
    align-items: center;
    gap: var(--aho-space-2);
    margin-bottom: var(--aho-space-2);
    color: var(--aho-text-muted);
    font-size: .78rem;
    font-weight: 650;
}

.page-breadcrumb a {
    color: var(--aho-text-secondary);
    text-decoration: none;
}

.page-breadcrumb a:hover {
    color: var(--aho-accent-soft);
}

.page-header h1 {
    margin: 0 !important;
    color: var(--aho-text) !important;
    font-size: clamp(1.85rem, 2.4vw, 2.25rem) !important;
    font-weight: 850 !important;
    line-height: 1.12 !important;
}

.page-header p {
    max-width: 820px;
    margin: var(--aho-space-2) 0 0 !important;
    color: var(--aho-text-secondary) !important;
    font-size: 1rem !important;
}

.page-header__actions,
.aho-hero-actions,
.aho-actions,
.aho-row-actions,
.dashboard-toolbar__actions {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: var(--aho-space-2) !important;
    flex-wrap: wrap;
}

.app-footer {
    min-height: 58px;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: var(--aho-space-4);
    padding: 0 clamp(18px, 3vw, 48px) !important;
    border-top: 1px solid var(--aho-divider) !important;
    color: var(--aho-text-disabled) !important;
    background: rgba(255, 255, 255, .72) !important;
    font-size: .78rem;
}

/* Unified workspaces and page heroes */

.aho-workspace,
.aho-intel,
.aho-admin,
.aho-users,
.aho-settings-page,
.aho-catalog,
.aho-import-page,
.aho-import-job-page,
.aho-audit-page,
.aho-audit-detail-page,
.aho-system-status-page,
.aho-user-edit-page,
.aho-user-form-page,
.aho-permissions-page {
    --aho-module-accent: var(--aho-accent);
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    display: grid !important;
    gap: var(--aho-space-6) !important;
    color: var(--aho-text) !important;
}

.aho-workspace--social_work { --aho-module-accent: var(--aho-module-social); }
.aho-workspace--events { --aho-module-accent: var(--aho-module-events); }
.aho-workspace--needle_exchange { --aho-module-accent: var(--aho-module-exchange); }
.aho-workspace--inventory { --aho-module-accent: var(--aho-module-inventory); }
.aho-workspace--analytics,
.aho-workspace--employees { --aho-module-accent: var(--aho-info); }
.aho-workspace--reports { --aho-module-accent: var(--aho-module-reports); }
.aho-workspace--smart-search { --aho-module-accent: var(--aho-module-search); }
.aho-workspace--own { --aho-module-accent: var(--aho-accent-hover); }

.aho-module-hero {
    position: relative;
    isolation: isolate;
    min-height: 176px;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: var(--aho-space-7) !important;
    margin: 0 !important;
    padding: clamp(24px, 3vw, 40px) !important;
    overflow: hidden;
    border: 1px solid var(--aho-border-strong) !important;
    border-radius: var(--aho-radius-panel) !important;
    color: var(--aho-text) !important;
    background:
        linear-gradient(118deg, rgba(201, 31, 104, .025), transparent 58%),
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--aho-module-accent) 11%, transparent), transparent 42%),
        var(--aho-bg-surface) !important;
    box-shadow: var(--aho-shadow-card) !important;
}

.aho-module-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--aho-module-accent);
}

.aho-module-hero > div:first-child {
    max-width: 840px;
}

.aho-module-hero h2 {
    margin: var(--aho-space-2) 0 0 !important;
    color: var(--aho-text) !important;
    font-size: clamp(1.5rem, 2.25vw, 2.05rem) !important;
    font-weight: 850 !important;
    line-height: 1.16;
}

.aho-module-hero p {
    max-width: 740px;
    margin: var(--aho-space-3) 0 0 !important;
    color: var(--aho-text-secondary) !important;
    font-size: 1rem !important;
}

.aho-eyebrow,
.dashboard-card-kicker,
.smart-search-kicker,
.card__eyebrow {
    color: var(--aho-module-accent, var(--aho-accent-soft)) !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    letter-spacing: .045em !important;
    text-transform: none !important;
}

/* Cards and panels */

html body .app-shell .card,
html body .app-shell .aho-card,
html body .app-shell .aho-intel-card,
html body .app-shell .aho-admin-card,
html body .app-shell .aho-form-section,
html body .app-shell .aho-settings-group,
html body .app-shell [class*="_card"] {
    border: 1px solid var(--aho-border) !important;
    border-radius: var(--aho-radius-card) !important;
    color: var(--aho-text) !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: var(--aho-shadow-card) !important;
}

.card {
    overflow: clip;
}

.card__header {
    min-height: 70px;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: var(--aho-space-4) !important;
    padding: var(--aho-space-4) var(--aho-space-5) !important;
    border-bottom: 1px solid var(--aho-divider) !important;
    background: var(--aho-bg-surface-raised) !important;
}

.card__title {
    margin: 0 !important;
    color: var(--aho-text) !important;
    font-size: 1.08rem !important;
    font-weight: 800 !important;
    line-height: 1.3;
}

.card__header p {
    margin: var(--aho-space-1) 0 0 !important;
    color: var(--aho-text-muted) !important;
    font-size: .88rem !important;
}

.card__body {
    padding: var(--aho-space-5) !important;
    color: var(--aho-text-secondary) !important;
}

.aho-grid-2,
.dashboard-grid,
.aho-analytics-grid {
    width: 100% !important;
    min-width: 0;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--aho-space-6) !important;
    margin-top: 0 !important;
}

/* Buttons */

.button,
.btn,
.aho-button,
.login-button,
.submit-button {
    min-height: var(--aho-control-height) !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: var(--aho-space-2) !important;
    padding: 0 var(--aho-space-4) !important;
    border: 1px solid var(--aho-border-strong) !important;
    border-radius: var(--aho-radius-control) !important;
    color: var(--aho-text) !important;
    background: var(--aho-bg-surface-raised) !important;
    box-shadow: none !important;
    font-size: .9rem !important;
    font-weight: 750 !important;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    transition: translate var(--aho-motion-fast) var(--aho-ease), color var(--aho-motion-fast), background var(--aho-motion-fast), border-color var(--aho-motion-fast), box-shadow var(--aho-motion-fast) !important;
}

.button:hover,
.btn:hover,
.aho-button:hover {
    border-color: #b8c0cf !important;
    color: var(--aho-text) !important;
    background: var(--aho-bg-surface-hover) !important;
    translate: 0 -1px;
}

.button:active,
.btn:active,
.aho-button:active {
    translate: 0 0;
}

.button--primary,
.btn--primary,
.aho-button:not(.aho-button--secondary):not(.aho-button-secondary),
.aho-button-primary,
.login-button,
.submit-button,
html body .app-shell [class*="button-primary"],
html body .app-shell [class*="save-button"] {
    border-color: var(--aho-accent) !important;
    color: var(--aho-accent-ink) !important;
    background: var(--aho-accent) !important;
    box-shadow: 0 9px 22px rgba(201, 31, 104, .16), inset 0 1px 0 rgba(255, 255, 255, .25) !important;
}

.button--primary:hover,
.btn--primary:hover,
.login-button:hover,
.submit-button:hover,
html body .app-shell [class*="button-primary"]:hover {
    border-color: var(--aho-accent-hover) !important;
    color: var(--aho-accent-ink) !important;
    background: var(--aho-accent-hover) !important;
    box-shadow: 0 12px 26px rgba(201, 31, 104, .20) !important;
}

.button--danger,
.btn--danger,
.button--danger-ghost,
.link-button {
    border-color: color-mix(in srgb, var(--aho-danger) 32%, var(--aho-border)) !important;
    color: var(--aho-danger) !important;
    background: var(--aho-danger-soft) !important;
}

.button--success,
.btn--success {
    border-color: color-mix(in srgb, var(--aho-success) 32%, var(--aho-border)) !important;
    color: var(--aho-success) !important;
    background: var(--aho-success-soft) !important;
}

.button--ghost,
.btn--ghost,
.button--tertiary {
    border-color: transparent !important;
    background: transparent !important;
}

.aho-button--secondary,
.aho-button-secondary {
    border-color: var(--aho-border-strong) !important;
    color: var(--aho-text) !important;
    background: var(--aho-bg-surface-raised) !important;
    box-shadow: none !important;
}

.button--small,
.button--sm,
.btn--sm {
    min-height: 38px !important;
    padding-inline: var(--aho-space-3) !important;
    font-size: .82rem !important;
}

.button--lg,
.btn--lg {
    min-height: 50px !important;
    padding-inline: var(--aho-space-5) !important;
}

:where(.button, .btn, .aho-button, button):disabled,
:where(.button, .btn, .aho-button, button)[aria-disabled="true"] {
    opacity: .48 !important;
    cursor: not-allowed !important;
    translate: 0 !important;
}

/* Forms and filters */

html body .app-shell :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.login-page :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.setup-page :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    width: 100%;
    min-height: var(--aho-control-height) !important;
    padding: 9px 12px !important;
    border: 1px solid var(--aho-border-strong) !important;
    border-radius: var(--aho-radius-control) !important;
    color: var(--aho-text) !important;
    background: var(--aho-bg-surface-soft) !important;
    box-shadow: inset 0 1px 2px rgba(35, 46, 79, .045) !important;
    font-size: .94rem !important;
    line-height: 1.35;
    transition: border-color var(--aho-motion-fast), background var(--aho-motion-fast), box-shadow var(--aho-motion-fast) !important;
}

html body .app-shell :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):hover,
.login-page :where(input, select, textarea):hover,
.setup-page :where(input, select, textarea):hover {
    border-color: #adb7c8 !important;
}

html body .app-shell :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus,
.login-page :where(input, select, textarea):focus,
.setup-page :where(input, select, textarea):focus {
    border-color: var(--aho-accent-hover) !important;
    background: var(--aho-bg-surface) !important;
    outline: 0 !important;
    box-shadow: var(--aho-focus) !important;
}

textarea {
    min-height: 116px !important;
    resize: vertical;
}

select[multiple] {
    min-height: 132px !important;
}

select option {
    color: var(--aho-text);
    background: var(--aho-bg-surface);
}

input::placeholder,
textarea::placeholder {
    color: var(--aho-text-disabled) !important;
    opacity: 1;
}

input[type="checkbox"],
input[type="radio"] {
    width: 19px !important;
    height: 19px !important;
    flex: 0 0 auto;
}

.aho-form-grid,
.aho-filter-grid,
.aho-goal-form,
.field-grid,
.aho-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--aho-space-4) !important;
}

.aho-filter-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
    align-items: end;
}

.aho-form-grid > label,
.aho-filter-grid > label,
.aho-goal-form > label,
.aho-field,
.field,
.form-group {
    display: grid !important;
    align-content: start;
    gap: var(--aho-space-2) !important;
    color: var(--aho-text-secondary) !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
}

.aho-span-2,
.field-full {
    grid-column: 1 / -1 !important;
}

.aho-checkbox,
.aho-check,
.aho-checkbox-row,
.aho-switch-row {
    min-height: 44px;
    display: flex !important;
    align-items: flex-start !important;
    gap: var(--aho-space-3) !important;
    color: var(--aho-text-secondary) !important;
}

.aho-inline-form {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    align-items: flex-end !important;
    gap: var(--aho-space-3) !important;
    flex-wrap: wrap;
    padding: var(--aho-space-4) !important;
    border: 1px solid var(--aho-border) !important;
    border-radius: var(--aho-radius-card) !important;
    background: var(--aho-bg-surface-soft) !important;
}

.aho-inline-form > :where(label, .aho-field, .field, .form-group) {
    min-width: min(180px, 100%);
    flex: 1 1 220px;
}

.aho-inline-form > :where(.button, .btn, button, .aho-actions, .aho-filter-actions) {
    flex: 0 0 auto;
}

.aho-inline-form label {
    display: grid !important;
    gap: var(--aho-space-2) !important;
    color: var(--aho-text-secondary) !important;
    font-size: .86rem;
    font-weight: 700;
}

.aho-filter-panel {
    width: 100% !important;
    max-width: none !important;
    position: relative;
    overflow: visible !important;
    border-color: rgba(201, 31, 104, .16) !important;
    background: linear-gradient(180deg, rgba(201, 31, 104, .025), transparent 55%), var(--aho-bg-surface) !important;
}

.aho-filter-panel .card__header {
    min-height: 64px;
}

.aho-filter-panel .card__body {
    padding-top: var(--aho-space-4) !important;
}

.aho-filter-actions {
    min-height: var(--aho-control-height);
    display: flex !important;
    align-items: center;
    gap: var(--aho-space-2) !important;
    flex-wrap: wrap;
}

.aho-active-filters {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: var(--aho-space-2);
    flex-wrap: wrap;
    padding-top: var(--aho-space-2);
    border-top: 1px solid var(--aho-divider);
}

.aho-active-filters__label {
    color: var(--aho-text-muted);
    font-size: .78rem;
    font-weight: 700;
}

.aho-filter-chip,
.smart-search-chip,
.aho-chip {
    min-height: 34px;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 5px 10px !important;
    border: 1px solid var(--aho-accent-border) !important;
    border-radius: var(--aho-radius-round) !important;
    color: var(--aho-accent) !important;
    background: var(--aho-accent-wash) !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

button.aho-filter-chip {
    cursor: pointer;
}

.aho-filter-chip:hover,
.smart-search-chip:hover {
    border-color: var(--aho-accent-hover) !important;
    background: rgba(201, 31, 104, .14) !important;
}

.aho-filter-count {
    min-width: 24px;
    height: 24px;
    display: inline-grid;
    place-items: center;
    padding-inline: 6px;
    border-radius: var(--aho-radius-round);
    color: var(--aho-accent-ink);
    background: var(--aho-accent);
    font-size: .72rem;
    font-weight: 900;
}

/* KPI language */

.kpi-grid,
.aho-summary-grid,
.dashboard-kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
    gap: var(--aho-space-4) !important;
    margin: 0 !important;
}

.dashboard-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.aho-summary-grid--seven {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
}

.kpi-card,
.aho-summary-card,
.dashboard-kpi-card {
    --kpi-accent: var(--aho-module-accent, var(--aho-accent));
    position: relative;
    isolation: isolate;
    min-height: 148px !important;
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    padding: var(--aho-space-5) !important;
    overflow: hidden;
    border: 1px solid var(--aho-border) !important;
    border-radius: var(--aho-radius-card) !important;
    color: var(--aho-text) !important;
    background: linear-gradient(145deg, rgba(201, 31, 104, .018), transparent 62%), var(--aho-bg-surface) !important;
    box-shadow: var(--aho-shadow-card) !important;
    transition: border-color var(--aho-motion), translate var(--aho-motion) var(--aho-ease), box-shadow var(--aho-motion) !important;
}

.kpi-card::after,
.aho-summary-card::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: -44px;
    right: -42px;
    width: 124px;
    height: 124px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--kpi-accent) 10%, transparent);
}

.kpi-card:hover,
.aho-summary-card:hover {
    border-color: color-mix(in srgb, var(--kpi-accent) 38%, var(--aho-border)) !important;
    box-shadow: var(--aho-shadow-raised) !important;
    translate: 0 -2px;
}

.kpi-card--social { --kpi-accent: var(--aho-module-social); }
.kpi-card--lab { --kpi-accent: var(--aho-module-lab); }
.kpi-card--blue { --kpi-accent: var(--aho-module-tests); }
.kpi-card--event,
.kpi-card--orange { --kpi-accent: var(--aho-module-events); }
.kpi-card--exchange,
.kpi-card--violet { --kpi-accent: var(--aho-module-exchange); }
.kpi-card--inventory { --kpi-accent: var(--aho-module-inventory); }
.kpi-card--green,
.kpi-card--teal { --kpi-accent: var(--aho-module-social); }

.kpi-card__top {
    display: flex !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--aho-space-3);
}

.kpi-card__icon {
    width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--kpi-accent) 30%, transparent) !important;
    border-radius: 12px !important;
    color: var(--kpi-accent) !important;
    background: color-mix(in srgb, var(--kpi-accent) 10%, transparent) !important;
}

.kpi-card__label,
.aho-summary-card > span,
.dashboard-kpi-card__status {
    color: var(--aho-text-secondary) !important;
    font-size: .84rem !important;
    font-weight: 700 !important;
}

.kpi-card__value,
.aho-summary-card > strong,
.aho-intel-number {
    margin-top: var(--aho-space-2);
    color: var(--aho-text) !important;
    font-size: clamp(1.85rem, 2.5vw, 2.55rem) !important;
    font-weight: 880 !important;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.045em;
    line-height: 1.05;
}

.aho-summary-card > small,
.dashboard-kpi-card__footer,
.kpi-card__footer,
.aho-intel-meta {
    margin-top: var(--aho-space-3);
    color: var(--aho-text-muted) !important;
    font-size: .8rem !important;
}

.dashboard-kpi-card__link {
    position: absolute;
    z-index: 2;
    inset: 0;
    border-radius: inherit;
}

/* Data tables */

.table-responsive {
    width: 100%;
    max-width: none !important;
    min-width: 0;
    overflow: auto !important;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
}

.table,
.aho-data-table {
    width: 100% !important;
    min-width: 680px;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    color: var(--aho-text-secondary) !important;
    font-size: .875rem !important;
    font-variant-numeric: tabular-nums;
}

.table th,
.table td,
.aho-data-table th,
.aho-data-table td {
    padding: 13px 14px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--aho-divider) !important;
    color: inherit !important;
    text-align: left;
    vertical-align: middle !important;
}

.table thead th,
.aho-data-table thead th {
    position: sticky;
    z-index: 2;
    top: 0;
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface-raised) !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    letter-spacing: .02em;
    white-space: nowrap;
}

.table tbody tr,
.aho-data-table tbody tr {
    background: transparent;
    transition: background var(--aho-motion-fast);
}

.table tbody tr:hover,
.aho-data-table tbody tr:hover {
    background: var(--aho-bg-surface-hover) !important;
}

.table tbody tr:focus-within,
.aho-data-table tbody tr:focus-within {
    background: var(--aho-accent-wash) !important;
}

.table td strong,
.aho-data-table td strong {
    color: var(--aho-text) !important;
}

.table td a:not(.button),
.aho-data-table td a:not(.button) {
    color: var(--aho-accent-soft) !important;
    font-weight: 700;
}

.text-right,
.table .is-numeric,
.aho-data-table .is-numeric {
    text-align: right !important;
}

.aho-actions-column {
    width: 1%;
    white-space: nowrap;
}

.aho-table-subline {
    display: block;
    margin-top: 3px;
    color: var(--aho-text-muted) !important;
    font-size: .75rem;
}

.aho-view-switch {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    padding: 3px;
    border: 1px solid var(--aho-border);
    border-radius: var(--aho-radius-control);
    background: var(--aho-bg-root);
}

.aho-view-switch a {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 7px;
    color: var(--aho-text-muted) !important;
    font-size: .78rem;
    font-weight: 750;
    text-decoration: none !important;
}

.aho-view-switch a.is-active {
    color: var(--aho-accent-ink) !important;
    background: var(--aho-accent);
}

.aho-entry-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: var(--aho-space-4);
}

.aho-entry-card {
    min-width: 0;
    min-height: 218px;
    display: flex;
    flex-direction: column;
    padding: var(--aho-space-4);
    border: 1px solid var(--aho-border);
    border-radius: var(--aho-radius-card);
    background: var(--aho-bg-surface-soft);
    transition: border-color var(--aho-motion-fast), translate var(--aho-motion-fast);
}

.aho-entry-card:hover {
    border-color: var(--aho-accent-border);
    translate: 0 -1px;
}

.aho-entry-card__top,
.aho-entry-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--aho-space-3);
}

.aho-tab-list {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid var(--aho-border);
    border-radius: var(--aho-radius-control);
    background: var(--aho-bg-root);
}

.aho-tab-list button {
    min-height: 32px;
    padding: 0 11px;
    border: 0;
    border-radius: 7px;
    color: var(--aho-text-muted);
    background: transparent;
    font-size: .78rem;
    font-weight: 750;
    cursor: pointer;
}

.aho-tab-list button.is-active {
    color: var(--aho-accent-ink);
    background: var(--aho-accent);
}

.aho-counting-model [data-tab-panel] strong {
    color: var(--aho-text);
    font-size: 1.02rem;
}

.aho-counting-model [data-tab-panel] p {
    margin: var(--aho-space-2) 0 0;
    color: var(--aho-text-secondary);
}

.aho-entry-card__top time,
.aho-entry-card__footer small {
    color: var(--aho-text-muted);
    font-size: .75rem;
}

.aho-entry-card h3 {
    margin: var(--aho-space-4) 0 var(--aho-space-3);
    font-size: 1.08rem;
}

.aho-entry-card__meta {
    display: grid;
    gap: var(--aho-space-2);
    color: var(--aho-text-secondary);
    font-size: .84rem;
}

.aho-entry-card__footer {
    margin-top: auto;
    padding-top: var(--aho-space-4);
    border-top: 1px solid var(--aho-divider);
}

.aho-module-badge--social_work {
    border-color: color-mix(in srgb, var(--aho-success) 32%, var(--aho-border)) !important;
    color: var(--aho-success) !important;
    background: var(--aho-success-soft) !important;
}

.aho-module-badge--events {
    border-color: color-mix(in srgb, var(--aho-warning) 32%, var(--aho-border)) !important;
    color: var(--aho-warning) !important;
    background: var(--aho-warning-soft) !important;
}

.aho-module-badge--needle_exchange {
    border-color: rgba(121, 87, 213, .25) !important;
    color: #6342bd !important;
    background: rgba(121, 87, 213, .10) !important;
}

.aho-code,
code,
pre {
    color: #3946a8 !important;
    font-family: var(--aho-font-mono) !important;
}

.aho-code,
code {
    padding: 2px 6px;
    border: 1px solid var(--aho-border);
    border-radius: 6px;
    background: var(--aho-bg-root) !important;
}

/* Status and feedback */

.badge,
.aho-badge,
.aho-status-pill,
.aho-module-badge,
.aho-team-badge,
.dashboard-live-badge {
    min-height: 28px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 4px 9px !important;
    border: 1px solid var(--aho-border-strong) !important;
    border-radius: var(--aho-radius-round) !important;
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface-soft) !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    line-height: 1;
    white-space: nowrap;
}

.aho-status-pill--success,
.aho-status-pill--ready,
.badge--success,
.aho-badge--success,
.dashboard-live-badge {
    border-color: color-mix(in srgb, var(--aho-success) 32%, var(--aho-border)) !important;
    color: var(--aho-success) !important;
    background: var(--aho-success-soft) !important;
}

.aho-status-pill--warning,
.badge--warning,
.aho-badge--warning {
    border-color: color-mix(in srgb, var(--aho-warning) 32%, var(--aho-border)) !important;
    color: var(--aho-warning) !important;
    background: var(--aho-warning-soft) !important;
}

.aho-status-pill--danger,
.badge--danger,
.aho-badge--danger {
    border-color: color-mix(in srgb, var(--aho-danger) 32%, var(--aho-border)) !important;
    color: var(--aho-danger) !important;
    background: var(--aho-danger-soft) !important;
}

.aho-status-pill--info,
.badge--info,
.aho-badge--info {
    border-color: color-mix(in srgb, var(--aho-info) 32%, var(--aho-border)) !important;
    color: var(--aho-info) !important;
    background: var(--aho-info-soft) !important;
}

.aho-team-badge {
    border-color: var(--aho-accent-border) !important;
    color: var(--aho-accent) !important;
    background: var(--aho-accent-wash) !important;
}

.alert,
.aho-alert,
.aho-admin-notice {
    min-height: 54px;
    display: flex !important;
    align-items: flex-start;
    gap: var(--aho-space-3) !important;
    padding: var(--aho-space-4) !important;
    border: 1px solid var(--aho-info) !important;
    border-radius: var(--aho-radius-card) !important;
    color: var(--aho-info) !important;
    background: var(--aho-info-soft) !important;
}

.alert--success,
.aho-alert--ok {
    border-color: color-mix(in srgb, var(--aho-success) 32%, var(--aho-border)) !important;
    color: var(--aho-success) !important;
    background: var(--aho-success-soft) !important;
}

.alert--danger,
.alert--error,
.aho-alert--error {
    border-color: color-mix(in srgb, var(--aho-danger) 32%, var(--aho-border)) !important;
    color: var(--aho-danger) !important;
    background: var(--aho-danger-soft) !important;
}

.alert--warning {
    border-color: color-mix(in srgb, var(--aho-warning) 32%, var(--aho-border)) !important;
    color: var(--aho-warning) !important;
    background: var(--aho-warning-soft) !important;
}

.aho-empty-state,
.aho-empty-compact,
.empty-state__inner {
    min-height: 150px;
    display: grid !important;
    place-items: center;
    align-content: center;
    gap: var(--aho-space-2);
    padding: var(--aho-space-7) !important;
    border: 1px dashed var(--aho-border-strong) !important;
    border-radius: var(--aho-radius-card) !important;
    color: var(--aho-text-muted) !important;
    background: var(--aho-bg-surface-raised) !important;
    text-align: center;
}

.aho-empty-state strong {
    color: var(--aho-text) !important;
}

/* Charts and visual analysis */

.aho-chart-card,
.dashboard-chart-card {
    width: 100%;
    max-width: none !important;
    min-width: 0;
}

.aho-chart-export,
.dashboard-chart-actions {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: var(--aho-space-2) !important;
    flex-wrap: wrap;
}

.aho-chart-type-label {
    display: inline-flex !important;
    align-items: center;
    gap: var(--aho-space-2) !important;
    color: var(--aho-text-muted) !important;
    font-size: .78rem !important;
    font-weight: 700;
}

.aho-chart-type {
    width: auto !important;
    min-width: 126px;
    min-height: 38px !important;
    padding-block: 5px !important;
}

.aho-chart-preview {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: var(--aho-chart-height, 430px) !important;
    min-height: 360px;
    border: 1px solid var(--aho-border) !important;
    border-radius: var(--aho-radius-card) !important;
    background: var(--aho-chart-surface) !important;
    box-shadow: inset 0 0 0 1px rgba(35, 46, 79, .012);
    aspect-ratio: auto !important;
}

.aho-chart-preview:focus-visible {
    box-shadow: var(--aho-focus) !important;
}

.aho-chart-data-list {
    margin-top: var(--aho-space-4);
}

.aho-bar-chart {
    display: grid !important;
    gap: var(--aho-space-3) !important;
}

.aho-bar-row {
    display: grid !important;
    grid-template-columns: minmax(74px, 170px) minmax(100px, 1fr) minmax(44px, auto) !important;
    align-items: center;
    gap: var(--aho-space-3) !important;
    color: var(--aho-text-secondary) !important;
    font-size: .82rem;
}

.aho-bar {
    height: 12px !important;
    overflow: hidden;
    border-radius: var(--aho-radius-round) !important;
    background: #e9edf4 !important;
}

.aho-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--aho-accent), var(--aho-accent-hover)) !important;
    opacity: 1 !important;
}

.aho-progress {
    height: 12px !important;
    overflow: hidden;
    border-radius: var(--aho-radius-round) !important;
    background: #e9edf4 !important;
}

.aho-progress i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--aho-accent), var(--aho-accent-hover)) !important;
}

.aho-intel-grid,
.aho-goal-grid,
.aho-saved-filter-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    gap: var(--aho-space-4) !important;
}

html body .app-shell .aho-intel-card {
    padding: var(--aho-space-5) !important;
}

.aho-trend-up { color: var(--aho-success) !important; }
.aho-trend-down { color: var(--aho-danger) !important; }

.aho-goal-editor {
    margin-top: var(--aho-space-5);
    padding-top: var(--aho-space-5);
    border-top: 1px solid var(--aho-divider);
}

/* Operational scan and team workflows */

.aho-scan-panel {
    border-color: rgba(40, 126, 197, .20) !important;
}

.aho-scan-form,
.aho-inline-scanner,
.aho-team-options,
.aho-report-option,
.aho-save-filter-card {
    padding: var(--aho-space-4) !important;
    border: 1px solid var(--aho-border) !important;
    border-radius: var(--aho-radius-card) !important;
    background: var(--aho-bg-surface-soft) !important;
}

.aho-scan-form {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
    gap: var(--aho-space-4) !important;
}

.aho-segmented {
    min-height: 44px;
    display: flex !important;
    align-items: center;
    gap: 4px;
    padding: 4px !important;
    border: 1px solid var(--aho-border) !important;
    border-radius: var(--aho-radius-control) !important;
    background: var(--aho-bg-root) !important;
}

.aho-segmented label {
    min-height: 34px;
    flex: 1 1 auto;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 7px;
    color: var(--aho-text-secondary);
    cursor: pointer;
}

.aho-segmented label:has(input:checked) {
    color: var(--aho-accent-ink);
    background: var(--aho-accent);
}

.aho-segmented input {
    position: absolute;
    opacity: 0;
}

.aho-scan-feedback {
    min-height: 24px;
    color: var(--aho-info) !important;
    font-size: .82rem;
}

/* Dashboard */

.dashboard-toolbar {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: var(--aho-space-4) !important;
    margin-bottom: var(--aho-space-6) !important;
    padding: var(--aho-space-3) var(--aho-space-4) !important;
    border: 1px solid var(--aho-border) !important;
    border-radius: var(--aho-radius-card) !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: var(--aho-shadow-card) !important;
}

.dashboard-year-filter {
    display: flex !important;
    align-items: center;
    gap: var(--aho-space-2) !important;
}

.dashboard-year-filter__icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    color: var(--aho-accent-hover);
}

.dashboard-year-filter select {
    width: 104px !important;
}

.dashboard-grid--2026 {
    margin-top: var(--aho-space-6) !important;
    grid-template-columns: minmax(0, 1.72fr) minmax(320px, .68fr) !important;
}

.dashboard-intelligence-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--aho-space-3);
    margin-top: var(--aho-space-5);
}

.dashboard-signal {
    --signal-color: var(--aho-accent);
    min-height: 82px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--aho-space-3);
    padding: var(--aho-space-3) var(--aho-space-4);
    border: 1px solid var(--aho-border);
    border-radius: var(--aho-radius-card);
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface);
    box-shadow: var(--aho-shadow-card);
    text-decoration: none !important;
    transition: border-color var(--aho-motion-fast), translate var(--aho-motion-fast);
}

.dashboard-signal:hover {
    border-color: color-mix(in srgb, var(--signal-color) 40%, var(--aho-border)) !important;
    translate: 0 -1px;
}

.dashboard-signal--success { --signal-color: var(--aho-success); }
.dashboard-signal--warning { --signal-color: var(--aho-warning); }
.dashboard-signal--info { --signal-color: var(--aho-info); }
.dashboard-signal--goal { --signal-color: var(--aho-accent); }

.dashboard-signal__icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--signal-color) 30%, transparent);
    border-radius: 12px;
    color: var(--signal-color);
    background: color-mix(in srgb, var(--signal-color) 10%, transparent);
}

.dashboard-signal__icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.dashboard-signal small,
.dashboard-signal strong {
    display: block;
}

.dashboard-signal small {
    color: var(--aho-text-muted);
    font-size: .72rem;
    font-weight: 700;
}

.dashboard-signal strong {
    margin-top: 3px;
    overflow: hidden;
    color: var(--aho-text) !important;
    font-size: .9rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-signal > b {
    color: var(--signal-color);
}

.dashboard-highlights-card {
    --aho-module-accent: var(--aho-accent);
    position: relative;
    white-space: normal !important;
    background: var(--aho-bg-surface) !important;
}

.dashboard-highlights-visual {
    height: 118px !important;
    display: grid;
    place-items: center;
    overflow: hidden;
    color: var(--aho-accent-hover) !important;
    background:
        radial-gradient(circle at 50% 130%, rgba(201, 31, 104, .13), transparent 60%),
        var(--aho-bg-surface-raised) !important;
}

.dashboard-highlights-visual svg {
    width: 64px;
    height: 64px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
}

.dashboard-insight {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: var(--aho-space-3) !important;
    padding: var(--aho-space-3) !important;
    border: 1px solid var(--aho-border) !important;
    border-radius: var(--aho-radius-card) !important;
    background: var(--aho-bg-surface-raised) !important;
}

.dashboard-insight__icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--aho-accent-hover) !important;
    background: var(--aho-accent-wash) !important;
}

.dashboard-insight small,
.dashboard-insight p {
    color: var(--aho-text-muted) !important;
}

.dashboard-insight small {
    font-size: .72rem !important;
}

.dashboard-insight strong {
    font-size: .88rem !important;
    line-height: 1.35;
}

.dashboard-insight p {
    font-size: .75rem !important;
    line-height: 1.4;
}

.dashboard-insight strong {
    color: var(--aho-text) !important;
}

.dashboard-quick-actions {
    display: grid !important;
    gap: var(--aho-space-2) !important;
    margin-top: var(--aho-space-4);
}

.dashboard-quick-action {
    min-height: 48px;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: var(--aho-space-3);
    padding: 0 var(--aho-space-3) !important;
    border: 1px solid var(--aho-border) !important;
    border-radius: var(--aho-radius-control) !important;
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface-soft) !important;
    font-size: .82rem !important;
    text-decoration: none !important;
}

.dashboard-quick-action:hover {
    border-color: var(--aho-accent-border) !important;
    color: var(--aho-text) !important;
    background: var(--aho-bg-surface-hover) !important;
}

.dashboard-quick-action--primary {
    color: var(--aho-accent) !important;
    background: var(--aho-accent-wash) !important;
}

/* Smart Search */

.smart-search-hero {
    position: relative;
    overflow: hidden;
    border-color: rgba(201, 31, 104, .22) !important;
    background:
        radial-gradient(circle at 90% 0, rgba(201, 31, 104, .11), transparent 38%),
        radial-gradient(circle at 10% 110%, rgba(216, 70, 141, .07), transparent 42%),
        var(--aho-bg-surface) !important;
}

.smart-search-glow {
    display: none !important;
}

.smart-search-hero__body {
    padding: clamp(26px, 4vw, 52px) !important;
}

.smart-search-hero__icon {
    width: 54px !important;
    height: 54px !important;
    display: grid !important;
    place-items: center;
    border: 1px solid var(--aho-accent-border) !important;
    border-radius: var(--aho-radius-card) !important;
    color: var(--aho-accent-hover) !important;
    background: var(--aho-accent-wash) !important;
}

.smart-search-hero h2 {
    margin: var(--aho-space-2) 0 0 !important;
    color: var(--aho-text) !important;
    font-size: clamp(1.65rem, 2.8vw, 2.55rem) !important;
}

.smart-search-hero p {
    color: var(--aho-text-secondary) !important;
}

.smart-search-form {
    width: 100% !important;
    max-width: none !important;
    margin-top: var(--aho-space-6) !important;
}

.smart-search-input-wrap {
    min-height: 62px;
    display: flex !important;
    align-items: center;
    gap: var(--aho-space-2) !important;
    padding: var(--aho-space-2) !important;
    border: 1px solid var(--aho-border-strong) !important;
    border-radius: var(--aho-radius-card) !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: 0 12px 30px rgba(35, 46, 79, .08) !important;
}

.smart-search-input-wrap > svg {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    margin-left: var(--aho-space-2);
    fill: none;
    stroke: var(--aho-text-muted);
    stroke-width: 1.8;
}

.smart-search-input-wrap input {
    min-width: 0;
    flex: 1 1 auto;
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 1rem !important;
}

.smart-search-examples {
    display: flex !important;
    gap: var(--aho-space-2) !important;
    flex-wrap: wrap;
    margin-top: var(--aho-space-4) !important;
}

.smart-search-interpretation {
    display: flex;
    align-items: center;
    gap: var(--aho-space-2);
    flex-wrap: wrap;
    margin: 0 0 var(--aho-space-4);
    padding: var(--aho-space-3) var(--aho-space-4);
    border: 1px solid var(--aho-border);
    border-radius: var(--aho-radius-control);
    background: var(--aho-bg-surface-soft);
}

.smart-search-summary {
    color: var(--aho-text) !important;
    font-size: 1.05rem !important;
    font-weight: 650;
}

.smart-search-visual {
    display: grid;
    gap: var(--aho-space-3);
    margin: var(--aho-space-5) 0;
    padding: var(--aho-space-4);
    border: 1px solid var(--aho-border);
    border-radius: var(--aho-radius-card);
    background: var(--aho-bg-surface-soft);
}

.smart-search-source {
    margin-top: var(--aho-space-4);
    padding: var(--aho-space-3) var(--aho-space-4);
    border-left: 3px solid var(--aho-info);
    border-radius: 0 var(--aho-radius-control) var(--aho-radius-control) 0;
    color: var(--aho-text-muted);
    background: var(--aho-info-soft);
    font-size: .8rem;
}

.smart-search-json {
    max-height: 540px;
    overflow: auto;
    padding: var(--aho-space-4) !important;
    border: 1px solid var(--aho-border) !important;
    border-radius: var(--aho-radius-card) !important;
    background: var(--aho-bg-root) !important;
}

/* Administration compatibility */

html body .content :where(.aho-admin, .aho-users, .aho-settings-page, .aho-catalog, .aho-import-page, .aho-import-job-page, .aho-audit-page, .aho-audit-detail-page, .aho-system-status-page, .aho-user-edit-page, .aho-user-form-page, .aho-permissions-page) :is(h1, h2, h3, h4) {
    color: var(--aho-text) !important;
}

html body .content :where(.aho-admin, .aho-users, .aho-settings-page, .aho-catalog, .aho-import-page, .aho-import-job-page, .aho-audit-page, .aho-audit-detail-page, .aho-system-status-page) :is([class*="card"], [class*="entry"], [class*="section"], [class*="panel"]) {
    border-color: var(--aho-border) !important;
    color: var(--aho-text-secondary) !important;
    background-color: var(--aho-bg-surface) !important;
    box-shadow: var(--aho-shadow-card) !important;
}

html body .content :where(.aho-admin, .aho-users, .aho-settings-page, .aho-catalog, .aho-import-page, .aho-import-job-page, .aho-audit-page, .aho-audit-detail-page, .aho-system-status-page, .aho-user-edit-page, .aho-user-form-page, .aho-permissions-page) :is([class*="title"], strong, label) {
    color: var(--aho-text) !important;
}

html body .content :where(.aho-admin, .aho-users, .aho-settings-page, .aho-catalog, .aho-import-page, .aho-import-job-page, .aho-audit-page, .aho-audit-detail-page, .aho-system-status-page, .aho-user-edit-page, .aho-user-form-page, .aho-permissions-page) :is([class*="description"], [class*="muted"], small, p) {
    color: var(--aho-text-muted) !important;
}

html body .content :where(.aho-user-edit-page, .aho-user-form-page, .aho-permissions-page) :is(
    .aho-user-summary,
    .aho-form-card,
    .aho-form-section,
    .aho-role-card,
    .aho-info-item,
    .aho-form-footer,
    .aho-role-summary-card,
    .aho-editor,
    .aho-permission-group,
    .aho-matrix-card,
    .aho-permission-notice
) {
    border-color: var(--aho-border) !important;
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: var(--aho-shadow-card) !important;
}

html body .content :where(.aho-user-edit-page, .aho-user-form-page, .aho-permissions-page) :is(
    .aho-section-heading,
    .aho-editor-header,
    .aho-permission-group-header,
    .aho-matrix-toolbar
) {
    border-color: var(--aho-divider) !important;
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface-soft) !important;
}

html body .content :where(.aho-user-edit-page, .aho-user-form-page, .aho-permissions-page) :is(
    .aho-form-section,
    .aho-role-card,
    .aho-info-item,
    .aho-form-footer,
    .aho-permission-group
) {
    background: var(--aho-bg-surface-soft) !important;
    box-shadow: none !important;
}

html body .content :where(.aho-user-edit-page, .aho-user-form-page, .aho-permissions-page) :is(
    [class*="help"],
    [class*="meta"],
    [class*="key"]
) {
    color: var(--aho-text-muted) !important;
}

.aho-permissions-page .aho-matrix-table {
    width: 100%;
    color: var(--aho-text-secondary) !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.aho-permissions-page .aho-matrix-table :is(th, td) {
    border-color: var(--aho-divider) !important;
    color: inherit !important;
    background: transparent !important;
}

.aho-permissions-page .aho-matrix-table th {
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface-raised) !important;
}

.aho-admin-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: var(--aho-space-4) !important;
}

.aho-admin-card {
    min-height: 210px;
    padding: var(--aho-space-5) !important;
    transition: border-color var(--aho-motion), translate var(--aho-motion) var(--aho-ease) !important;
}

.aho-admin-card:hover {
    border-color: var(--aho-accent-border) !important;
    translate: 0 -2px;
}

/* Toasts and overlays */

.sidebar-overlay,
[data-modal] {
    background: var(--aho-bg-overlay) !important;
    backdrop-filter: blur(8px);
}

.toast-container {
    position: fixed;
    z-index: 3000;
    right: var(--aho-space-4);
    bottom: var(--aho-space-4);
    width: min(380px, calc(100vw - 32px));
    display: grid;
    gap: var(--aho-space-2);
}

.toast {
    display: flex !important;
    align-items: flex-start;
    gap: var(--aho-space-3);
    padding: var(--aho-space-4) !important;
    border: 1px solid var(--aho-border-strong) !important;
    border-radius: var(--aho-radius-card) !important;
    color: var(--aho-text) !important;
    background: color-mix(in srgb, var(--aho-bg-surface) 98%, transparent) !important;
    box-shadow: var(--aho-shadow-raised) !important;
    opacity: 0;
    translate: 0 12px;
    transition: opacity var(--aho-motion), translate var(--aho-motion) var(--aho-ease) !important;
}

.toast.is-visible {
    opacity: 1;
    translate: 0 0;
}

.toast__message {
    color: var(--aho-text-secondary) !important;
}

.toast__close {
    width: 36px;
    height: 36px;
    margin-left: auto;
    border: 0;
    border-radius: var(--aho-radius-sm);
    color: var(--aho-text-muted);
    background: transparent;
    cursor: pointer;
}

/* Stand-alone login and setup surfaces */

.login-page,
.setup-page {
    min-height: 100vh;
    color: var(--aho-text) !important;
    background:
        radial-gradient(circle at 78% 14%, rgba(201, 31, 104, .10), transparent 31rem),
        radial-gradient(circle at 12% 90%, rgba(216, 70, 141, .055), transparent 30rem),
        var(--aho-bg-app) !important;
}

.login-panel,
.setup-form-panel {
    border-color: var(--aho-border) !important;
    color: var(--aho-text) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 18px 0 52px rgba(35, 46, 79, .10) !important;
}

.login-page .brand-name,
.login-page .intro h1,
.setup-page :is(h1, h2, h3),
.setup-page .form-intro h1 {
    color: var(--aho-text) !important;
}

.login-page :is(.brand-subtitle, .intro p, .form-label, .security-note, .login-footer),
.setup-page :is(p, small, .step-text, .password-help) {
    color: var(--aho-text-muted) !important;
}

.login-page .eyebrow,
.setup-page .form-eyebrow {
    color: var(--aho-accent-soft) !important;
}

.login-page .eyebrow-dot,
.setup-page .badge-dot {
    background: var(--aho-success) !important;
    box-shadow: 0 0 0 5px var(--aho-success-soft) !important;
}

.visual-panel,
.setup-info {
    color: var(--aho-text) !important;
    background:
        radial-gradient(circle at 82% 12%, rgba(201, 31, 104, .15), transparent 32%),
        radial-gradient(circle at 18% 86%, rgba(216, 70, 141, .10), transparent 35%),
        linear-gradient(145deg, #eef0ff, #f7f5ff 52%, #fff3f8) !important;
}

.visual-panel::before,
.setup-info::before {
    border-color: rgba(201, 31, 104, .08) !important;
    background: radial-gradient(circle, rgba(201, 31, 104, .06), transparent 65%) !important;
}

.feature-card,
.setup-step,
.security-box,
.visual-badge,
.setup-badge {
    border-color: var(--aho-border) !important;
    color: var(--aho-text-secondary) !important;
    background: rgba(255, 255, 255, .72) !important;
    box-shadow: none !important;
}

.feature-title,
.step-title,
.visual-title {
    color: var(--aho-text) !important;
}

.feature-description,
.visual-text {
    color: var(--aho-text-secondary) !important;
}

.password-control,
.password-toggle {
    color: var(--aho-text-muted) !important;
}

.setup-locked-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: var(--aho-space-5);
    background:
        radial-gradient(circle at 78% 14%, rgba(201, 31, 104, .10), transparent 31rem),
        radial-gradient(circle at 12% 90%, rgba(216, 70, 141, .055), transparent 30rem),
        var(--aho-bg-app) !important;
}

.setup-locked-page > .card {
    width: min(560px, 100%);
    padding: clamp(26px, 5vw, 48px) !important;
    border: 1px solid var(--aho-border-strong) !important;
    border-radius: var(--aho-radius-panel) !important;
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: var(--aho-shadow-raised) !important;
}

.setup-locked-page :is(.icon, .notice) {
    border-color: var(--aho-border) !important;
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface-soft) !important;
}

.setup-locked-page .icon {
    color: var(--aho-accent-hover) !important;
}

.setup-locked-page :is(.eyebrow, h1) {
    color: var(--aho-text) !important;
}

.setup-locked-page p {
    color: var(--aho-text-secondary) !important;
}

.utility-page {
    min-height: 100vh;
    padding: clamp(24px, 4vw, 48px) clamp(16px, 3vw, 28px) !important;
    color: var(--aho-text-secondary) !important;
    background:
        radial-gradient(circle at 90% 0, rgba(201, 31, 104, .07), transparent 28rem),
        var(--aho-bg-app) !important;
}

.utility-page .container {
    width: min(1040px, 100%) !important;
}

.utility-page :is(.header, .card, .check, .migration, .result, .warning, .error) {
    border-color: var(--aho-border) !important;
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: var(--aho-shadow-card) !important;
}

.utility-page :is(h1, h2, h3, .migration__name, strong) {
    color: var(--aho-text) !important;
}

.utility-page :is(p, .message, .footer) {
    color: var(--aho-text-muted) !important;
}

.utility-page .label,
.utility-page .status {
    border-color: var(--aho-border-strong) !important;
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface-soft) !important;
}

.utility-page .status--success {
    border-color: color-mix(in srgb, var(--aho-success) 32%, var(--aho-border)) !important;
    color: var(--aho-success) !important;
    background: var(--aho-success-soft) !important;
}

.utility-page .status--warning,
.utility-page .warning {
    border-color: color-mix(in srgb, var(--aho-warning) 32%, var(--aho-border)) !important;
    color: var(--aho-warning) !important;
    background: var(--aho-warning-soft) !important;
}

.utility-page .status--error,
.utility-page .error {
    border-color: color-mix(in srgb, var(--aho-danger) 32%, var(--aho-border)) !important;
    color: var(--aho-danger) !important;
    background: var(--aho-danger-soft) !important;
}

.utility-page .button {
    border-color: var(--aho-accent) !important;
    color: var(--aho-accent-ink) !important;
    background: var(--aho-accent) !important;
}

/* Responsive layout */

@media (max-width: 1500px) {
    .dashboard-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1180px) {
    .app-shell,
    body.sidebar-collapsed .app-shell {
        grid-template-columns: 1fr !important;
    }

    .sidebar {
        position: fixed !important;
        inset: 0 auto 0 0;
        width: min(320px, calc(100vw - 48px)) !important;
        transform: translateX(-104%);
        box-shadow: var(--aho-shadow-raised) !important;
    }

    body.sidebar-open .sidebar {
        transform: translateX(0);
    }

    body.sidebar-collapsed .brand__text,
    body.sidebar-collapsed .nav-section__title,
    body.sidebar-collapsed .nav-item__label,
    body.sidebar-collapsed .system-indicator > div {
        display: initial !important;
    }

    body.sidebar-collapsed .sidebar__brand,
    body.sidebar-collapsed .brand,
    body.sidebar-collapsed .nav-item,
    body.sidebar-collapsed .system-indicator {
        justify-content: initial;
    }

    body.sidebar-collapsed .nav-item {
        padding-inline: var(--aho-space-3) !important;
    }

    .sidebar__collapse {
        display: none !important;
    }

    .sidebar__close {
        display: inline-grid !important;
    }

    .sidebar-overlay {
        position: fixed !important;
        z-index: 950;
        inset: 0;
        display: block;
        visibility: hidden;
        border: 0;
        opacity: 0;
        pointer-events: none;
        transition: opacity var(--aho-motion), visibility var(--aho-motion);
    }

    body.sidebar-open .sidebar-overlay {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }

    .topbar__menu {
        display: inline-grid !important;
    }

    .dashboard-grid--2026 {
        grid-template-columns: 1fr !important;
    }

    .dashboard-intelligence-strip {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 1181px) {
    .topbar__menu {
        display: none !important;
    }
}

@media (max-width: 900px) {
    .topbar__title {
        min-width: 0;
    }

    .topbar-search {
        width: 46px;
        flex: 0 0 46px;
        justify-content: center;
        padding: 0 !important;
    }

    .topbar-search span,
    .topbar-search kbd {
        display: none;
    }

    .page-header,
    .aho-module-hero,
    .dashboard-toolbar {
        align-items: flex-start !important;
        flex-direction: column;
    }

    .page-header__actions,
    .aho-hero-actions,
    .dashboard-toolbar__actions {
        width: 100%;
        justify-content: flex-start;
    }

    .aho-grid-2,
    .dashboard-grid,
    .aho-analytics-grid {
        grid-template-columns: 1fr !important;
    }

    .dashboard-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .card__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .aho-chart-export,
    .dashboard-chart-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .login-page,
    .setup-page {
        grid-template-columns: 1fr !important;
    }

    .visual-panel,
    .setup-info {
        display: none !important;
    }
}

@media (max-width: 720px) {
    :root {
        --aho-font-size: 16px;
    }

    .topbar {
        min-height: 68px !important;
        padding-inline: var(--aho-space-3) !important;
    }

    .topbar__eyebrow,
    .user-menu__details,
    .user-menu__chevron {
        display: none !important;
    }

    .user-menu {
        padding: 4px !important;
    }

    .content {
        padding: var(--aho-space-5) var(--aho-space-3) var(--aho-space-9) !important;
    }

    .page-header {
        margin-bottom: var(--aho-space-5) !important;
        padding-bottom: var(--aho-space-5) !important;
    }

    .aho-module-hero,
    .card__body,
    .card__header {
        padding: var(--aho-space-4) !important;
    }

    .aho-form-grid,
    .aho-filter-grid,
    .aho-goal-form,
    .field-grid,
    .aho-row {
        grid-template-columns: 1fr !important;
    }

    .aho-inline-form > :where(label, .aho-field, .field, .form-group) {
        min-width: 0;
        flex-basis: 100%;
    }

    .aho-inline-form > :where(.button, .btn, button, .aho-actions, .aho-filter-actions) {
        flex: 1 1 100%;
    }

    .aho-span-2,
    .field-full {
        grid-column: auto !important;
    }

    .aho-summary-grid,
    .kpi-grid,
    .dashboard-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .kpi-card,
    .aho-summary-card,
    .dashboard-kpi-card {
        min-height: 132px !important;
        padding: var(--aho-space-4) !important;
    }

    .aho-responsive-table {
        min-width: 0 !important;
    }

    .aho-responsive-table thead {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
    }

    .aho-responsive-table,
    .aho-responsive-table tbody,
    .aho-responsive-table tr,
    .aho-responsive-table td {
        display: block !important;
        width: 100% !important;
    }

    .aho-responsive-table tbody {
        display: grid !important;
        gap: var(--aho-space-3) !important;
    }

    .aho-responsive-table tbody tr {
        overflow: hidden;
        border: 1px solid var(--aho-border) !important;
        border-radius: var(--aho-radius-card) !important;
        background: var(--aho-bg-surface-soft) !important;
    }

    .aho-responsive-table td {
        min-height: 46px;
        display: grid !important;
        grid-template-columns: minmax(108px, .72fr) minmax(0, 1fr) !important;
        gap: var(--aho-space-3) !important;
        padding: 11px var(--aho-space-3) !important;
        text-align: left !important;
        white-space: normal !important;
    }

    .aho-responsive-table td::before {
        content: attr(data-label);
        color: var(--aho-text-muted);
        font-size: .72rem;
        font-weight: 800;
    }

    .aho-actions-column {
        width: 100%;
    }

    .smart-search-input-wrap {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .smart-search-input-wrap > svg {
        align-self: center;
    }

    .smart-search-input-wrap input {
        width: calc(100% - 48px) !important;
    }

    .smart-search-input-wrap .button {
        flex: 1 1 130px;
    }

    .app-footer {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        padding-block: var(--aho-space-3) !important;
    }
}

@media (max-width: 460px) {
    .topbar__title strong {
        max-width: 126px;
        font-size: .92rem !important;
    }

    .notification-button {
        display: none !important;
    }

    .page-header h1 {
        font-size: 1.75rem !important;
    }

    .aho-summary-grid,
    .kpi-grid,
    .dashboard-kpi-grid {
        grid-template-columns: 1fr !important;
    }

    .aho-hero-actions .button,
    .page-header__actions .button,
    .dashboard-toolbar__actions .button,
    .aho-filter-actions .button {
        width: 100%;
    }

    .dashboard-year-filter {
        width: 100%;
        flex-wrap: wrap;
    }

    .dashboard-year-filter select {
        flex: 1 1 auto;
    }

    .aho-chart-export .button,
    .dashboard-chart-actions .button {
        flex: 1 1 auto;
    }

    .aho-chart-type-label,
    .aho-chart-type {
        width: 100% !important;
    }
}

/* ========================================================================== 
   Erfassungsseiten 1.0.14 - ruhiges Vollbreiten-Formularsystem
   ========================================================================== */

.aho-entry-workspace,
.aho-entry-form,
.aho-form-section {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
}

.aho-entry-workspace {
    --aho-module-accent: var(--aho-accent);
    --aho-module-accent-strong: var(--aho-accent-hover);
    --aho-module-wash: #fff7fb;
    --aho-module-border: #f1c7d9;
    gap: var(--aho-space-5) !important;
    padding: clamp(12px, 1.5vw, 24px);
    border: 1px solid var(--aho-module-border);
    border-radius: 20px;
    background:
        radial-gradient(circle at 100% 0, var(--aho-module-wash), transparent 38%),
        color-mix(in srgb, var(--aho-module-wash) 58%, var(--aho-bg-app));
}

.aho-entry-workspace--social_work {
    --aho-module-accent: #c91f68;
    --aho-module-accent-strong: #9f174f;
    --aho-module-wash: #fff4f9;
    --aho-module-border: #efc6d8;
}

.aho-entry-workspace--events {
    --aho-module-accent: #9a5f00;
    --aho-module-accent-strong: #724600;
    --aho-module-wash: #fff9ed;
    --aho-module-border: #ead6aa;
}

.aho-entry-workspace--needle_exchange {
    --aho-module-accent: #6847c7;
    --aho-module-accent-strong: #4f31a8;
    --aho-module-wash: #f7f4ff;
    --aho-module-border: #d8cff4;
}

.aho-entry-workspace--inventory {
    --aho-module-accent: #b54831;
    --aho-module-accent-strong: #8b3322;
    --aho-module-wash: #fff6f2;
    --aho-module-border: #edccc3;
}

.aho-entry-form {
    display: grid;
    gap: var(--aho-space-5);
}

html body .app-shell .aho-entry-form .aho-form-section {
    overflow: clip;
    padding: clamp(20px, 2vw, 30px) !important;
    border-color: var(--aho-border) !important;
    border-radius: 16px !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: 0 4px 18px rgba(23, 26, 34, .045) !important;
}

.aho-form-section__header {
    display: flex;
    align-items: center;
    gap: var(--aho-space-3);
    margin: calc(-1 * clamp(20px, 2vw, 30px)) calc(-1 * clamp(20px, 2vw, 30px)) var(--aho-space-5);
    padding: 17px clamp(20px, 2vw, 30px);
    border-bottom: 1px solid var(--aho-divider);
    background: color-mix(in srgb, var(--aho-module-wash, var(--aho-bg-surface-raised)) 72%, var(--aho-bg-surface));
}

.aho-form-section__header h2 {
    margin: 0 !important;
    color: var(--aho-text) !important;
    font-size: clamp(1.08rem, 1.35vw, 1.28rem) !important;
    font-weight: 800 !important;
    line-height: 1.25;
}

.aho-section-number {
    min-width: 34px;
    height: 28px;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--aho-module-border, var(--aho-accent-border));
    border-radius: 9px;
    color: var(--aho-module-accent-strong, var(--aho-accent-hover));
    background: var(--aho-module-wash, var(--aho-accent-wash));
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .04em;
}

.aho-entry-grid {
    min-width: 0;
    display: grid;
    gap: var(--aho-space-4);
    align-items: start;
}

.aho-entry-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aho-entry-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aho-entry-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.aho-entry-grid .aho-span-2 {
    grid-column: span 2 !important;
}

.aho-entry-grid .aho-span-3 {
    grid-column: span 3 !important;
}

.aho-entry-grid .aho-span-4 {
    grid-column: 1 / -1 !important;
}

.aho-field,
.aho-fieldset {
    min-width: 0;
}

.aho-entry-form .aho-field {
    display: grid !important;
    gap: 8px !important;
    color: var(--aho-text-secondary) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}

.aho-entry-form .aho-field > span:first-child,
.aho-entry-form .aho-field > label,
.aho-fieldset > legend {
    color: var(--aho-text) !important;
    font-size: .93rem !important;
    font-weight: 750 !important;
}

.aho-fieldset--quick .aho-choice-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 132px), 1fr));
}

.aho-entry-form abbr {
    color: var(--aho-accent);
    text-decoration: none;
}

html body .app-shell .aho-entry-form :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-height: 48px !important;
    padding: 11px 13px !important;
    border-color: var(--aho-border-strong) !important;
    border-radius: 10px !important;
    color: var(--aho-text) !important;
    background: var(--aho-bg-surface) !important;
    font-size: 1rem !important;
}

html body .app-shell .aho-entry-form :where(input, select, textarea)[aria-invalid="true"] {
    border-color: var(--aho-danger) !important;
    box-shadow: 0 0 0 3px var(--aho-danger-soft) !important;
}

.aho-entry-form textarea {
    min-height: 112px !important;
}

.aho-entry-form small {
    color: var(--aho-text-muted);
    font-size: .84rem;
    font-weight: 500;
}

.aho-field-error {
    display: block;
    color: var(--aho-danger);
    font-size: .85rem;
    font-weight: 700;
}

.aho-fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.aho-fieldset > legend {
    margin-bottom: 10px;
    padding: 0;
}

.aho-choice-search {
    max-width: 420px;
    margin-bottom: 10px;
}

html body .app-shell .aho-entry-form .aho-choice-search input {
    min-height: 42px !important;
    padding-block: 8px !important;
    background: var(--aho-bg-surface-soft) !important;
}

.aho-choice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
    gap: 10px;
}

.aho-choice-grid--scroll {
    max-height: 280px;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 2px 6px 6px 2px;
    scrollbar-gutter: stable;
}

html body .app-shell label.choice {
    position: relative;
    min-width: 0;
    min-height: 48px;
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 10px 12px !important;
    border: 1px solid var(--aho-border-strong) !important;
    border-radius: 11px !important;
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface) !important;
    cursor: pointer;
    font-size: .94rem !important;
    font-weight: 650 !important;
    line-height: 1.28;
    transition: border-color var(--aho-motion-fast), background var(--aho-motion-fast), color var(--aho-motion-fast), box-shadow var(--aho-motion-fast), transform var(--aho-motion-fast);
}

html body .app-shell label.choice:hover {
    border-color: var(--aho-module-accent, var(--aho-accent)) !important;
    background: var(--aho-module-wash, var(--aho-accent-wash)) !important;
}

html body .app-shell label.choice.is-selected,
html body .app-shell label.choice:has(input:checked) {
    border-color: var(--aho-module-accent, var(--aho-accent)) !important;
    color: var(--aho-module-accent-strong, var(--aho-accent-hover)) !important;
    background: var(--aho-module-wash, var(--aho-accent-wash)) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--aho-module-accent, var(--aho-accent)) 18%, transparent) !important;
}

label.choice input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0;
    pointer-events: none;
}

.choice__indicator {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    display: inline-grid;
    place-items: center;
    border: 1.5px solid #aeb5c0;
    border-radius: 6px;
    color: var(--aho-accent-ink);
    background: var(--aho-bg-surface);
}

label.choice input[type="radio"] ~ .choice__indicator {
    border-radius: 50%;
}

label.choice input:checked ~ .choice__indicator {
    border-color: var(--aho-module-accent, var(--aho-accent));
    background: var(--aho-module-accent, var(--aho-accent));
}

label.choice input:checked ~ .choice__indicator::after {
    content: "✓";
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
}

label.choice input[type="radio"]:checked ~ .choice__indicator::after {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
}

label.choice input:focus-visible ~ .choice__indicator {
    box-shadow: var(--aho-focus);
}

.choice__label {
    min-width: 0;
    overflow-wrap: anywhere;
}

.aho-binary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--aho-space-3);
}

.aho-toggle-card {
    min-height: 74px;
    display: flex;
    align-items: center;
    gap: var(--aho-space-3);
    padding: var(--aho-space-4);
    border: 1px solid var(--aho-border-strong);
    border-radius: 12px;
    background: var(--aho-bg-surface-soft);
    cursor: pointer;
}

.aho-toggle-card input {
    position: absolute;
    width: 1px !important;
    height: 1px !important;
    opacity: 0;
}

.aho-toggle-card__control {
    position: relative;
    width: 46px;
    height: 26px;
    flex: 0 0 46px;
    border-radius: 999px;
    background: #b7bec9;
    transition: background var(--aho-motion-fast);
}

.aho-toggle-card__control::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(23, 26, 34, .22);
    transition: transform var(--aho-motion-fast);
}

.aho-toggle-card input:checked + .aho-toggle-card__control {
    background: var(--aho-module-accent, var(--aho-accent));
}

.aho-toggle-card input:checked + .aho-toggle-card__control::after {
    transform: translateX(20px);
}

.aho-toggle-card input:focus-visible + .aho-toggle-card__control {
    box-shadow: var(--aho-focus);
}

.aho-toggle-card strong,
.aho-toggle-card small {
    display: block;
}

.aho-toggle-card strong {
    color: var(--aho-text);
    font-size: 1rem;
}

.aho-toggle-card small {
    margin-top: 3px;
}

.aho-toggle-card--compact {
    min-height: 66px;
    padding: 13px 15px;
}

.aho-binary-grid--tests {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aho-field-help {
    max-width: 92ch;
    margin: 0 0 var(--aho-space-3) !important;
    color: var(--aho-text-secondary) !important;
    font-size: .88rem;
    line-height: 1.55;
}

.aho-event-targets {
    margin-top: var(--aho-space-4);
}

.aho-team-options,
.aho-conditional-panel {
    margin-top: var(--aho-space-4);
    padding: var(--aho-space-4);
    border: 1px solid var(--aho-border);
    border-radius: 12px;
    background: var(--aho-bg-surface-raised);
}

.aho-team-calculation {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-top: var(--aho-space-3);
    padding-top: var(--aho-space-3);
    border-top: 1px solid var(--aho-divider);
    color: var(--aho-text-secondary);
    font-size: .9rem;
}

.aho-team-calculation strong {
    color: var(--aho-text);
}

.aho-subsection-grid {
    margin-top: var(--aho-space-5);
    padding-top: var(--aho-space-5);
    border-top: 1px solid var(--aho-divider);
}

.aho-number-stepper {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: stretch;
}

.aho-number-stepper button {
    min-width: 44px;
    min-height: 48px;
    border: 1px solid var(--aho-border-strong);
    color: var(--aho-module-accent-strong, var(--aho-accent-hover));
    background: var(--aho-module-wash, var(--aho-bg-surface-soft));
    cursor: pointer;
    font-size: 1.2rem;
    font-weight: 800;
}

.aho-number-stepper button:first-child {
    border-radius: 10px 0 0 10px;
}

.aho-number-stepper button:last-child {
    border-radius: 0 10px 10px 0;
}

html body .app-shell .aho-number-stepper input {
    border-right: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    text-align: center;
    font-weight: 800 !important;
    appearance: textfield;
    -moz-appearance: textfield;
}

html body .app-shell .aho-number-stepper input::-webkit-inner-spin-button,
html body .app-shell .aho-number-stepper input::-webkit-outer-spin-button {
    margin: 0;
    appearance: none;
    -webkit-appearance: none;
}

.aho-number-stepper button:hover {
    color: #fff;
    border-color: var(--aho-module-accent, var(--aho-accent));
    background: var(--aho-module-accent, var(--aho-accent));
}

.aho-number-stepper button:focus-visible {
    position: relative;
    z-index: 2;
    outline: 0;
    box-shadow: var(--aho-focus);
}

.aho-file-panel {
    padding: var(--aho-space-4);
    border: 1px solid var(--aho-border);
    border-radius: 12px;
    background: var(--aho-bg-surface-soft);
}

.aho-file-panel ul {
    display: grid;
    gap: 8px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.aho-file-panel li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-top: 1px solid var(--aho-divider);
}

.aho-file-panel li a {
    min-width: 0;
    flex: 1 1 auto;
    overflow-wrap: anywhere;
}

.aho-save-confirmation {
    width: 100%;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--aho-space-4);
    padding: var(--aho-space-5);
    border: 1px solid rgba(8, 122, 85, .24);
    border-radius: 14px;
    background: color-mix(in srgb, var(--aho-success-soft) 76%, var(--aho-bg-surface));
}

.aho-save-confirmation__icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--aho-success);
    font-size: 1.2rem;
    font-weight: 900;
}

.aho-save-confirmation h2,
.aho-save-confirmation p {
    margin: 0 !important;
}

.aho-save-confirmation h2 {
    margin-top: 2px !important;
    font-size: 1.15rem !important;
}

.aho-save-confirmation p {
    color: var(--aho-text-secondary) !important;
}

.aho-save-confirmation__warning {
    margin-top: 4px !important;
    color: var(--aho-warning) !important;
    font-weight: 700;
}

.aho-save-confirmation__actions,
.aho-form-actions__buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.aho-form-actions {
    position: sticky;
    z-index: 20;
    bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--aho-space-4);
    padding: 14px 16px;
    border: 1px solid var(--aho-border-strong);
    border-radius: 14px;
    background: color-mix(in srgb, var(--aho-bg-surface) 94%, transparent);
    box-shadow: 0 14px 34px rgba(23, 26, 34, .12);
    backdrop-filter: blur(14px);
}

.aho-form-actions__status {
    color: var(--aho-text-muted);
    font-size: .86rem;
}

.aho-entry-form[aria-busy="true"] .aho-form-actions__status {
    color: var(--aho-accent-hover);
    font-weight: 750;
}

@media (max-width: 1180px) {
    .aho-entry-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aho-entry-grid--4 .aho-span-4,
    .aho-entry-grid--4 .aho-span-3 {
        grid-column: 1 / -1 !important;
    }

    .aho-entry-grid--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aho-entry-grid--3 .aho-span-3 {
        grid-column: 1 / -1 !important;
    }

    .aho-save-confirmation {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .aho-save-confirmation__actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .aho-entry-grid--2,
    .aho-entry-grid--3,
    .aho-entry-grid--4,
    .aho-binary-grid {
        grid-template-columns: 1fr;
    }

    .aho-entry-grid :where(.aho-span-2, .aho-span-3, .aho-span-4) {
        grid-column: auto !important;
    }

    .aho-choice-grid {
        grid-template-columns: 1fr;
    }

    .aho-fieldset--quick .aho-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aho-entry-workspace {
        padding: 10px;
        border-radius: 16px;
    }

    .aho-team-calculation,
    .aho-file-panel li,
    .aho-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .aho-form-actions {
        position: static;
    }

    .aho-form-actions__buttons,
    .aho-form-actions__buttons .button,
    .aho-save-confirmation__actions,
    .aho-save-confirmation__actions .button {
        width: 100%;
    }

    .aho-form-actions__buttons {
        display: grid;
    }

    .aho-save-confirmation {
        grid-template-columns: 1fr;
    }
}

/* ========================================================================== 
   Erfassungsseiten 1.0.17 - schnelle, visuell geführte Klick-/Touch-Erfassung
   ========================================================================== */

.aho-entry-workspace {
    position: relative;
    isolation: isolate;
    overflow: visible;
    padding: clamp(14px, 1.7vw, 28px);
    border: 0;
    border-radius: 22px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--aho-module-wash) 82%, var(--aho-bg-app)) 0%, var(--aho-bg-app) 52%, color-mix(in srgb, var(--aho-module-wash) 52%, var(--aho-bg-app)) 100%);
    box-shadow: inset 0 0 0 1px var(--aho-module-border);
}

.aho-entry-workspace::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0 0 auto;
    height: 7px;
    border-radius: 22px 22px 0 0;
    background: linear-gradient(90deg, var(--aho-module-accent), color-mix(in srgb, var(--aho-module-accent) 34%, transparent) 72%, transparent);
    pointer-events: none;
}

.aho-entry-form {
    gap: clamp(18px, 2vw, 26px);
}

.aho-form-map {
    position: sticky;
    z-index: 24;
    top: 76px;
    display: flex;
    align-items: stretch;
    gap: 7px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 7px;
    border: 1px solid var(--aho-border-strong);
    border-radius: 15px;
    background: color-mix(in srgb, var(--aho-bg-surface) 94%, transparent);
    box-shadow: 0 10px 28px rgba(30, 40, 64, .10);
    backdrop-filter: blur(16px);
    scrollbar-width: thin;
}

.aho-form-map a {
    min-width: max-content;
    flex: 1 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--aho-text-secondary);
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--aho-motion-fast), border-color var(--aho-motion-fast), background var(--aho-motion-fast), box-shadow var(--aho-motion-fast), transform var(--aho-motion-fast);
}

.aho-form-map a > span {
    min-width: 25px;
    height: 25px;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--aho-border);
    border-radius: 8px;
    color: var(--aho-text-muted);
    background: var(--aho-bg-surface-soft);
    font-size: .7rem;
    font-weight: 850;
}

.aho-form-map a > strong {
    font-size: .82rem;
    font-weight: 760;
}

.aho-form-map a:hover {
    color: var(--aho-module-accent-strong);
    border-color: var(--aho-module-border);
    background: var(--aho-module-wash);
}

.aho-form-map a[aria-current="step"] {
    color: #fff;
    border-color: var(--aho-module-accent);
    background: var(--aho-module-accent);
    box-shadow: 0 7px 17px color-mix(in srgb, var(--aho-module-accent) 24%, transparent);
}

.aho-form-map a[aria-current="step"] > span {
    color: inherit;
    border-color: rgba(255, 255, 255, .38);
    background: rgba(255, 255, 255, .15);
}

.aho-form-map a:focus-visible {
    outline: 0;
    box-shadow: var(--aho-focus);
}

html body .app-shell .aho-entry-form .aho-form-section {
    position: relative;
    overflow: clip;
    scroll-margin-top: 160px;
    border: 1px solid var(--aho-border) !important;
    border-radius: 18px !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: 0 10px 30px rgba(30, 40, 64, .065), 0 1px 2px rgba(30, 40, 64, .055) !important;
}

html body .app-shell .aho-entry-form .aho-form-section::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: -82px;
    right: -72px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--aho-module-wash) 78%, transparent), transparent 68%);
    pointer-events: none;
}

.aho-form-section > * {
    position: relative;
    z-index: 1;
}

.aho-form-section__header {
    min-height: 66px;
    margin: calc(-1 * clamp(20px, 2vw, 30px)) calc(-1 * clamp(20px, 2vw, 30px)) clamp(20px, 2vw, 28px);
    padding: 15px clamp(20px, 2vw, 30px);
    border-bottom: 1px solid var(--aho-border);
    border-left: 5px solid var(--aho-module-accent);
    background: linear-gradient(90deg, var(--aho-module-wash), color-mix(in srgb, var(--aho-module-wash) 34%, var(--aho-bg-surface)) 58%, var(--aho-bg-surface));
}

.aho-form-section__header h2 {
    letter-spacing: -.012em;
}

.aho-section-number {
    min-width: 38px;
    height: 38px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: var(--aho-module-accent);
    box-shadow: 0 6px 14px color-mix(in srgb, var(--aho-module-accent) 25%, transparent);
    font-size: .75rem;
}

.aho-entry-grid {
    gap: clamp(16px, 1.5vw, 22px);
}

.aho-entry-form .aho-field {
    align-content: start;
}

.aho-entry-form .aho-field > span:first-child,
.aho-entry-form .aho-field > label,
.aho-fieldset > legend {
    font-size: .95rem !important;
    letter-spacing: -.005em;
}

html body .app-shell .aho-entry-form :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-height: 52px !important;
    border-width: 1px !important;
    border-color: var(--aho-border-strong) !important;
    border-radius: 11px !important;
    background: var(--aho-bg-surface-raised) !important;
    box-shadow: inset 0 1px 1px rgba(29, 37, 52, .025);
    transition: border-color var(--aho-motion-fast), background var(--aho-motion-fast), box-shadow var(--aho-motion-fast);
}

html body .app-shell .aho-entry-form :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):hover {
    border-color: color-mix(in srgb, var(--aho-module-accent) 48%, var(--aho-border-strong)) !important;
}

html body .app-shell .aho-entry-form :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
    border-color: var(--aho-module-accent) !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--aho-module-accent) 16%, transparent) !important;
    outline: 0;
}

.aho-choice-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    gap: 12px;
}

.aho-fieldset--quick .aho-choice-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 138px), 1fr));
}

html body .app-shell label.choice {
    min-height: 58px;
    padding: 13px 14px !important;
    border-width: 1px !important;
    border-radius: 13px !important;
    color: var(--aho-text-secondary) !important;
    background: linear-gradient(180deg, var(--aho-bg-surface) 0%, var(--aho-bg-surface-raised) 100%) !important;
    box-shadow: 0 2px 8px rgba(30, 40, 64, .035);
}

html body .app-shell label.choice:hover {
    border-color: var(--aho-module-accent) !important;
    color: var(--aho-text) !important;
    background: var(--aho-module-wash) !important;
    box-shadow: 0 8px 18px color-mix(in srgb, var(--aho-module-accent) 10%, transparent) !important;
    transform: translateY(-1px);
}

html body .app-shell label.choice.is-selected,
html body .app-shell label.choice:has(input:checked) {
    border-color: var(--aho-module-accent) !important;
    color: var(--aho-module-accent-strong) !important;
    background: linear-gradient(135deg, var(--aho-module-wash), color-mix(in srgb, var(--aho-module-wash) 50%, var(--aho-bg-surface))) !important;
    box-shadow: inset 0 0 0 1px var(--aho-module-accent), 0 7px 18px color-mix(in srgb, var(--aho-module-accent) 11%, transparent) !important;
}

.choice__indicator {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
    border-width: 1.5px;
    border-color: var(--aho-border-strong);
    border-radius: 7px;
}

.choice__label {
    font-weight: 710;
}

.aho-toggle-card {
    min-height: 82px;
    padding: 17px 18px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--aho-bg-surface-raised), var(--aho-bg-surface-soft));
    transition: border-color var(--aho-motion-fast), background var(--aho-motion-fast), box-shadow var(--aho-motion-fast), transform var(--aho-motion-fast);
}

.aho-toggle-card:hover {
    border-color: var(--aho-module-accent);
    transform: translateY(-1px);
}

.aho-toggle-card:has(input:checked) {
    border-color: var(--aho-module-accent);
    background: linear-gradient(135deg, var(--aho-module-wash), color-mix(in srgb, var(--aho-module-wash) 48%, var(--aho-bg-surface)));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--aho-module-accent) 55%, transparent);
}

.aho-toggle-card__control {
    width: 50px;
    height: 28px;
    flex-basis: 50px;
}

.aho-toggle-card__control::after {
    width: 22px;
    height: 22px;
}

.aho-toggle-card input:checked + .aho-toggle-card__control::after {
    transform: translateX(22px);
}

.aho-team-options,
.aho-conditional-panel {
    padding: clamp(15px, 1.6vw, 22px);
    border-color: var(--aho-module-border);
    border-radius: 14px;
    background: color-mix(in srgb, var(--aho-module-wash) 38%, var(--aho-bg-surface-raised));
}

.aho-number-control {
    display: grid;
    gap: 8px;
}

.aho-number-stepper {
    grid-template-columns: 52px minmax(64px, 1fr) 52px;
    overflow: hidden;
    min-height: 52px;
    border: 1px solid var(--aho-border-strong);
    border-radius: 12px;
    background: var(--aho-bg-surface);
    box-shadow: inset 0 1px 2px rgba(30, 40, 64, .035);
}

.aho-number-stepper button {
    min-width: 52px;
    min-height: 52px;
    border: 0;
    border-radius: 0 !important;
    color: var(--aho-module-accent-strong);
    background: var(--aho-module-wash);
    font-size: 1.35rem;
    line-height: 1;
}

.aho-number-stepper button:first-child {
    border-right: 1px solid var(--aho-border-strong);
}

.aho-number-stepper button:last-child {
    border-left: 1px solid var(--aho-border-strong);
}

html body .app-shell .aho-entry-form .aho-number-stepper input {
    min-height: 50px !important;
    padding-inline: 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: none !important;
    font-size: 1.08rem !important;
}

.aho-number-stepper:focus-within {
    border-color: var(--aho-module-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--aho-module-accent) 16%, transparent);
}

.aho-number-presets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(42px, 1fr));
    gap: 6px;
}

.aho-number-presets button {
    min-height: 34px;
    padding: 5px 8px;
    border: 1px solid var(--aho-border);
    border-radius: 9px;
    color: var(--aho-text-muted);
    background: var(--aho-bg-surface);
    font: inherit;
    font-size: .78rem;
    font-weight: 760;
    cursor: pointer;
}

.aho-number-presets button:hover,
.aho-number-presets button.is-active,
.aho-number-presets button[aria-pressed="true"] {
    color: var(--aho-module-accent-strong);
    border-color: var(--aho-module-accent);
    background: var(--aho-module-wash);
}

.aho-number-presets button:focus-visible {
    outline: 0;
    box-shadow: var(--aho-focus);
}

.aho-form-actions {
    border-color: color-mix(in srgb, var(--aho-module-accent) 28%, var(--aho-border-strong));
    background: color-mix(in srgb, var(--aho-bg-surface) 95%, transparent);
}

:root[data-theme="dark"] .aho-form-map a[aria-current="step"],
:root[data-theme="dark"] .aho-section-number {
    color: #171a22;
}

:root[data-theme="dark"] html body .app-shell label.choice,
:root[data-theme="dark"] html body .app-shell .aho-entry-form :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    background: var(--aho-bg-surface-raised) !important;
}

@media (max-width: 920px) {
    .aho-form-map {
        top: 66px;
        justify-content: flex-start;
    }

    .aho-form-map a {
        flex: 0 0 auto;
    }
}

@media (max-width: 720px) {
    .aho-entry-workspace {
        padding: 9px;
        border-radius: 17px;
    }

    .aho-entry-workspace::before {
        border-radius: 17px 17px 0 0;
    }

    .aho-form-map {
        top: 58px;
        margin-inline: -2px;
        border-radius: 12px;
    }

    .aho-form-map a {
        padding: 7px 10px;
    }

    html body .app-shell .aho-entry-form .aho-form-section {
        padding: 16px !important;
        scroll-margin-top: 130px;
        border-radius: 15px !important;
    }

    .aho-form-section__header {
        min-height: 60px;
        margin: -16px -16px 18px;
        padding: 12px 16px;
    }

    .aho-section-number {
        min-width: 34px;
        height: 34px;
    }

    .aho-choice-grid,
    .aho-fieldset--quick .aho-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html body .app-shell label.choice {
        min-height: 54px;
        padding: 11px 12px !important;
    }

    .aho-number-stepper {
        grid-template-columns: 50px minmax(56px, 1fr) 50px;
    }
}

@media (max-width: 420px) {
    .aho-form-map a > strong {
        font-size: .78rem;
    }

    .aho-choice-grid:not(.aho-choice-grid--scroll) {
        grid-template-columns: 1fr;
    }

    .aho-fieldset--quick .aho-choice-grid:not(.aho-choice-grid--scroll) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ========================================================================== */
/* Techburg Enterprise Workspace 2026 · Version 1.0.18                       */
/* ========================================================================== */

:root {
    --aho-bg-root: #e9edf2;
    --aho-bg-app: #f3f5f8;
    --aho-bg-sidebar: #0c121b;
    --aho-bg-surface: #ffffff;
    --aho-bg-surface-raised: #f9fafb;
    --aho-bg-surface-hover: #f0f3f7;
    --aho-bg-surface-soft: #f6f8fa;
    --aho-accent: #5363e8;
    --aho-accent-hover: #4353d6;
    --aho-accent-soft: #5363e8;
    --aho-accent-ink: #ffffff;
    --aho-accent-wash: #eef0ff;
    --aho-accent-border: rgba(83, 99, 232, .30);
    --aho-text: #111827;
    --aho-text-secondary: #465467;
    --aho-text-muted: #687588;
    --aho-text-disabled: #8d99a8;
    --aho-border: #dce2e9;
    --aho-border-strong: #c6ced8;
    --aho-divider: #e7ebef;
    --aho-radius-sm: 6px;
    --aho-radius-control: 8px;
    --aho-radius-card: 11px;
    --aho-radius-panel: 14px;
    --aho-shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 14px rgba(16, 24, 40, .035);
    --aho-shadow-raised: 0 18px 44px rgba(16, 24, 40, .13), 0 3px 8px rgba(16, 24, 40, .05);
    --aho-focus: 0 0 0 3px rgba(83, 99, 232, .23), 0 0 0 1px #5363e8;
    --aho-sidebar-width: 264px;
    --aho-sidebar-collapsed: 76px;
    --aho-control-height: 44px;
    --aho-module-social: #087d72;
    --aho-module-lab: #9b3d78;
    --aho-module-tests: #2466c8;
    --aho-module-events: #6548c7;
    --aho-module-exchange: #2466c8;
    --aho-module-inventory: #985b08;
    --aho-module-reports: #665676;
    --aho-module-search: #99406f;
    --aho-chart-ink: #162033;
    --aho-chart-text: #3c4a5f;
    --aho-chart-muted: #6c7a8e;
    --aho-chart-grid: rgba(92, 107, 126, .14);
    --aho-chart-grid-strong: rgba(92, 107, 126, .26);
    --aho-chart-track: #edf1f5;
    --aho-chart-surface: #ffffff;
    --aho-chart-primary: #5363e8;
    --aho-chart-primary-soft: #9aa5f5;
}

:root[data-theme="dark"] {
    --aho-bg-root: #070b10;
    --aho-bg-app: #0b1119;
    --aho-bg-sidebar: #070b10;
    --aho-bg-surface: #111a24;
    --aho-bg-surface-raised: #16212d;
    --aho-bg-surface-hover: #1b2835;
    --aho-bg-surface-soft: #131e29;
    --aho-bg-overlay: rgba(0, 3, 7, .78);
    --aho-accent: #8792ff;
    --aho-accent-hover: #a4acff;
    --aho-accent-soft: #a4acff;
    --aho-accent-ink: #0a0e16;
    --aho-accent-wash: rgba(135, 146, 255, .13);
    --aho-accent-border: rgba(135, 146, 255, .40);
    --aho-text: #f1f5f9;
    --aho-text-secondary: #c2ccd7;
    --aho-text-muted: #96a5b5;
    --aho-text-disabled: #718091;
    --aho-border: #293746;
    --aho-border-strong: #3b4b5c;
    --aho-divider: #22303e;
    --aho-shadow-card: 0 1px 2px rgba(0, 0, 0, .28), 0 8px 24px rgba(0, 0, 0, .12);
    --aho-shadow-raised: 0 22px 56px rgba(0, 0, 0, .42), 0 3px 10px rgba(0, 0, 0, .24);
    --aho-focus: 0 0 0 3px rgba(135, 146, 255, .28), 0 0 0 1px #8792ff;
    --aho-success: #44c69c;
    --aho-success-soft: rgba(68, 198, 156, .13);
    --aho-warning: #e7ad55;
    --aho-warning-soft: rgba(231, 173, 85, .14);
    --aho-danger: #ff7d8d;
    --aho-danger-soft: rgba(255, 125, 141, .14);
    --aho-info: #70b8f2;
    --aho-info-soft: rgba(112, 184, 242, .14);
    --aho-chart-ink: #f1f5f9;
    --aho-chart-text: #c7d0db;
    --aho-chart-muted: #93a2b3;
    --aho-chart-grid: rgba(155, 173, 192, .15);
    --aho-chart-grid-strong: rgba(155, 173, 192, .28);
    --aho-chart-track: #1c2835;
    --aho-chart-surface: #111a24;
    --aho-chart-primary: #8792ff;
    --aho-chart-primary-soft: #5964b8;
    --aho-module-social: #39c6b5;
    --aho-module-lab: #f090c2;
    --aho-module-tests: #68a3ff;
    --aho-module-events: #a38cf5;
    --aho-module-exchange: #68a3ff;
    --aho-module-inventory: #e7a94d;
    --aho-module-reports: #c7b4d5;
    --aho-module-search: #f096c5;
}

html body {
    background:
        radial-gradient(circle at 82% -8%, rgba(83, 99, 232, .055), transparent 30rem),
        var(--aho-bg-app) !important;
    font-size: 15px;
}

html body .sidebar {
    border-color: #1c2835 !important;
    color: #d9e1ea !important;
    background: #0c121b !important;
    box-shadow: 8px 0 28px rgba(2, 6, 12, .14) !important;
}

html body .sidebar__brand,
html body .sidebar__footer {
    border-color: #1c2835 !important;
    background: #0c121b !important;
}

html body .sidebar__brand {
    min-height: 72px;
    padding: 12px 14px !important;
}

html body .brand__mark,
html body .brand-mark,
html body .brand__logo {
    width: 42px !important;
    height: 42px !important;
    border-color: rgba(135, 146, 255, .28) !important;
    border-radius: 10px !important;
    background: linear-gradient(145deg, #6d78f0, #4d5ed8) !important;
    box-shadow: 0 8px 20px rgba(70, 83, 203, .24) !important;
}

html body .brand__text strong {
    color: #f3f6f9 !important;
    font-size: .92rem;
}

html body .brand__text small,
html body .nav-section__title,
html body .system-indicator small {
    color: #7f8c9c !important;
}

html body .sidebar__collapse,
html body .sidebar__close {
    width: 44px !important;
    height: 44px !important;
    border-color: #283544 !important;
    color: #9ba9b8 !important;
    background: #111a24 !important;
}

html body .sidebar__collapse:hover,
html body .sidebar__close:hover {
    border-color: #485868 !important;
    color: #f2f5f8 !important;
    background: #182430 !important;
}

html body .sidebar__navigation {
    padding: 14px 10px !important;
}

html body .nav-section + .nav-section {
    margin-top: 16px !important;
}

html body .nav-section__title {
    padding: 0 10px 6px !important;
    font-size: .66rem !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

html body .nav-section__items {
    gap: 2px;
}

html body .nav-item {
    min-height: 44px;
    gap: 10px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    color: #aab5c1 !important;
    font-size: .86rem;
    font-weight: 600;
}

html body .nav-item__icon {
    width: 20px !important;
    height: 20px !important;
    color: #788696 !important;
}

html body .nav-item:hover {
    border-color: #263442 !important;
    color: #f1f5f8 !important;
    background: #131e29 !important;
    translate: 0;
}

html body .nav-item.is-active,
html body .nav-item[aria-current="page"] {
    border-color: rgba(135, 146, 255, .24) !important;
    color: #f6f7ff !important;
    background: linear-gradient(90deg, rgba(103, 116, 239, .22), rgba(103, 116, 239, .07)) !important;
}

html body .nav-item.is-active .nav-item__icon,
html body .nav-item[aria-current="page"] .nav-item__icon {
    color: #aeb5ff !important;
}

html body .system-indicator {
    min-height: 46px;
    border-color: #24313f !important;
    background: #111a24 !important;
}

html body .system-indicator strong {
    color: #dce3ea !important;
}

html body .topbar {
    min-height: 64px !important;
    border-bottom: 1px solid var(--aho-border) !important;
    background: color-mix(in srgb, var(--aho-bg-surface) 94%, transparent) !important;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .025) !important;
    backdrop-filter: blur(16px) saturate(140%);
}

html body .topbar__title strong {
    font-size: .98rem;
    letter-spacing: -.01em;
}

html body .topbar__eyebrow {
    color: var(--aho-text-muted) !important;
    font-size: .68rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

html body .topbar-search {
    min-height: 38px;
    max-width: 480px;
    border-radius: 8px !important;
    box-shadow: none !important;
}

html body :is(.icon-button, .aho-theme-switcher button, .profile-button, .topbar-profile-button) {
    min-width: 44px;
    min-height: 44px;
}

html body .content {
    width: 100%;
    max-width: none !important;
    padding: 22px clamp(18px, 2vw, 34px) 44px !important;
}

html body .page-header {
    margin-bottom: 18px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid var(--aho-divider);
}

html body .page-header h1 {
    font-size: clamp(1.55rem, 1.3rem + .6vw, 2rem) !important;
    line-height: 1.18;
}

html body :is(.card, .panel, .kpi-card, .aho-summary-card, .aho-chart-card, .aho-filter-panel, .aho-admin-card, .aho-profile-card) {
    border-color: var(--aho-border) !important;
    border-radius: var(--aho-radius-card) !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: var(--aho-shadow-card) !important;
}

html body :is(.card, .panel, .aho-admin-card, .aho-profile-card) {
    padding: 18px !important;
}

html body :is(.kpi-card, .aho-summary-card) {
    min-height: 112px;
    padding: 16px !important;
}

html body :is(.kpi-card, .aho-summary-card) :is(.value, strong, .kpi-card__value) {
    font-variant-numeric: tabular-nums;
}

html body :is(.button, .btn) {
    min-height: 44px;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-size: .88rem;
    font-weight: 700;
}

html body :is(.button--primary, .btn-primary, .button.primary) {
    border-color: var(--aho-accent) !important;
    color: var(--aho-accent-ink) !important;
    background: var(--aho-accent) !important;
}

html body :is(.button--primary, .btn-primary, .button.primary):hover {
    border-color: var(--aho-accent-hover) !important;
    background: var(--aho-accent-hover) !important;
}

html body .button--quiet {
    border-color: transparent !important;
    color: var(--aho-text-secondary) !important;
    background: transparent !important;
}

html body .button--quiet:hover {
    border-color: var(--aho-border) !important;
    color: var(--aho-text) !important;
    background: var(--aho-bg-surface-hover) !important;
}

html body :is(table, .data-table) {
    font-size: .87rem;
}

html body :is(table, .data-table) thead th {
    height: 42px;
    color: var(--aho-text-muted) !important;
    background: var(--aho-bg-surface-soft) !important;
    font-size: .71rem;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

html body :is(table, .data-table) tbody tr:hover {
    background: var(--aho-bg-surface-hover) !important;
}

html body :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    border-color: var(--aho-border-strong) !important;
    border-radius: 8px !important;
    color: var(--aho-text) !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: 0 1px 1px rgba(16, 24, 40, .025) !important;
}

html body :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):hover {
    border-color: color-mix(in srgb, var(--aho-border-strong) 65%, var(--aho-accent)) !important;
}

html body :is(.filter-bar, .aho-filter-panel, .filters, [class*="filter-toolbar"]) {
    gap: 12px;
}

/* Analytics details behave like a real right-hand workspace drawer. */
html body .aho-drilldown-backdrop {
    align-items: stretch !important;
    justify-content: flex-end !important;
    padding: 0 !important;
}

html body .aho-drilldown-modal {
    width: min(920px, 94vw) !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    border-block: 0 !important;
    border-right: 0 !important;
    box-shadow: -24px 0 70px rgba(3, 8, 14, .24) !important;
}

/* Premium operational workspace ------------------------------------------ */
body.page-entry--social-work {
    --entry-accent: #087d72;
    --entry-accent-rgb: 8, 125, 114;
    --entry-accent-ink: #063d37;
}

body.page-entry--events {
    --entry-accent: #6548c7;
    --entry-accent-rgb: 101, 72, 199;
    --entry-accent-ink: #35246f;
}

body.page-entry--needle-exchange {
    --entry-accent: #2466c8;
    --entry-accent-rgb: 36, 102, 200;
    --entry-accent-ink: #173e7d;
}

body.page-entry--inventory {
    --entry-accent: #985b08;
    --entry-accent-rgb: 152, 91, 8;
    --entry-accent-ink: #6f4107;
}

html body.page-entry {
    --aho-accent: var(--entry-accent);
    --aho-accent-hover: color-mix(in srgb, var(--entry-accent) 82%, #000);
    --aho-accent-wash: rgba(var(--entry-accent-rgb), .10);
    --aho-accent-border: rgba(var(--entry-accent-rgb), .34);
    --aho-focus: 0 0 0 3px rgba(var(--entry-accent-rgb), .22), 0 0 0 1px var(--entry-accent);
}

html body.page-entry .content {
    position: relative;
    padding: 0 0 96px !important;
    background:
        linear-gradient(145deg, rgba(var(--entry-accent-rgb), .055), transparent 34rem),
        var(--aho-bg-app) !important;
}

html body.page-entry .content::before {
    content: "";
    position: fixed;
    z-index: 0;
    inset: 64px 0 auto var(--aho-sidebar-width);
    height: 3px;
    background: linear-gradient(90deg, var(--entry-accent), rgba(var(--entry-accent-rgb), .12), transparent 72%);
    pointer-events: none;
}

body.sidebar-collapsed.page-entry .content::before {
    left: var(--aho-sidebar-collapsed);
}

html body.page-entry .aho-entry-workspace {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 clamp(18px, 2vw, 34px) 34px !important;
    background: transparent !important;
}

html body.page-entry .aho-entry-workspace::before {
    display: none !important;
}

html body.page-entry .aho-save-confirmation,
html body.page-entry .alert {
    margin-top: 20px;
}

.aho-entry-command-header {
    min-height: 118px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: 20px 2px 18px;
    border-bottom: 1px solid var(--aho-border);
}

.aho-entry-command-header__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(var(--entry-accent-rgb), .30);
    border-radius: 11px;
    color: var(--entry-accent);
    background: rgba(var(--entry-accent-rgb), .10);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .32);
}

.aho-entry-command-header__icon svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.aho-entry-command-header__eyebrow {
    display: block;
    margin-bottom: 3px;
    color: var(--entry-accent);
    font-size: .69rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.aho-entry-command-header h1 {
    margin: 0 !important;
    font-size: clamp(1.45rem, 1.25rem + .55vw, 1.9rem) !important;
    line-height: 1.16;
}

.aho-entry-command-header p {
    max-width: 720px;
    margin: 5px 0 0;
    color: var(--aho-text-muted);
    font-size: .88rem;
}

.aho-entry-online {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 11px;
    border: 1px solid var(--aho-border);
    border-radius: 8px;
    color: var(--aho-text-secondary);
    background: var(--aho-bg-surface);
    font-size: .76rem;
    font-weight: 750;
}

.aho-entry-online i,
.aho-entry-actionbar__state i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--aho-success);
    box-shadow: 0 0 0 4px var(--aho-success-soft);
}

.aho-entry-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(290px, 326px);
    align-items: start;
    gap: clamp(18px, 2vw, 28px);
    padding-top: 20px;
}

.aho-entry-stage {
    min-width: 0;
}

.aho-entry-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-bottom: 14px;
    overflow: hidden;
    border: 1px solid var(--aho-border);
    border-radius: 11px;
    background: var(--aho-bg-surface);
    box-shadow: var(--aho-shadow-card);
}

.aho-entry-steps button {
    position: relative;
    min-width: 0;
    min-height: 70px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 11px 12px;
    border: 0;
    border-right: 1px solid var(--aho-divider);
    border-radius: 0;
    color: var(--aho-text-muted);
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.aho-entry-steps button:last-child {
    border-right: 0;
}

.aho-entry-steps button::after {
    content: "";
    position: absolute;
    inset: auto 10px 0;
    height: 2px;
    border-radius: 2px 2px 0 0;
    background: transparent;
}

.aho-entry-steps button > span:first-child {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border: 1px solid var(--aho-border-strong);
    border-radius: 7px;
    color: var(--aho-text-secondary);
    background: var(--aho-bg-surface-soft);
    font-size: .76rem;
    font-weight: 850;
    font-variant-numeric: tabular-nums;
}

.aho-entry-steps button > span:nth-child(2) {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.aho-entry-steps button strong {
    overflow: hidden;
    color: inherit;
    font-size: .79rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aho-entry-steps button small {
    overflow: hidden;
    color: var(--aho-text-disabled);
    font-size: .66rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aho-entry-steps button > i {
    display: none;
    color: var(--aho-success);
    font-style: normal;
    font-size: .8rem;
}

.aho-entry-steps button:hover {
    color: var(--aho-text);
    background: var(--aho-bg-surface-hover);
}

.aho-entry-steps button[aria-current="step"] {
    color: var(--aho-text);
    background: rgba(var(--entry-accent-rgb), .075);
}

.aho-entry-steps button[aria-current="step"]::after {
    background: var(--entry-accent);
}

.aho-entry-steps button[aria-current="step"] > span:first-child {
    border-color: var(--entry-accent);
    color: #fff;
    background: var(--entry-accent);
}

.aho-entry-steps button.is-complete > i {
    display: block;
}

.aho-draft-restored {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding: 10px 12px;
    border: 1px solid rgba(var(--entry-accent-rgb), .25);
    border-radius: 8px;
    color: var(--aho-text-secondary);
    background: rgba(var(--entry-accent-rgb), .075);
    font-size: .79rem;
}

.aho-draft-restored strong {
    color: var(--aho-text);
}

.aho-draft-restored--warning {
    border-color: color-mix(in srgb, var(--aho-warning) 35%, transparent);
    background: var(--aho-warning-soft);
}

html body .aho-entry-form .aho-form-section {
    margin: 0 0 14px !important;
    padding: clamp(18px, 2vw, 24px) !important;
    overflow: visible;
    border: 1px solid var(--aho-border) !important;
    border-radius: 11px !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: var(--aho-shadow-card) !important;
}

html body .aho-entry-form .aho-form-section::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    border-radius: 11px 0 0 11px;
    background: var(--entry-accent);
    opacity: .75;
}

html body .aho-entry-form .aho-form-section::after {
    display: none !important;
}

.aho-entry-form.is-workflow-ready .aho-form-section[hidden] {
    display: none !important;
}

.aho-form-section__header {
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--aho-divider);
}

.aho-form-section__header h2 {
    margin: 0 !important;
    font-size: 1rem !important;
    letter-spacing: -.012em;
}

.aho-section-number {
    width: 28px !important;
    height: 28px !important;
    display: grid !important;
    place-items: center;
    border: 1px solid rgba(var(--entry-accent-rgb), .28) !important;
    border-radius: 7px !important;
    color: var(--entry-accent) !important;
    background: rgba(var(--entry-accent-rgb), .08) !important;
    font-size: .7rem !important;
    font-weight: 850 !important;
}

.aho-entry-grid {
    gap: 16px !important;
}

.aho-entry-form .aho-field,
.aho-entry-form .aho-fieldset {
    min-width: 0;
}

.aho-entry-form .aho-field > span:first-child,
.aho-entry-form .aho-field > label,
.aho-entry-form .aho-fieldset > legend {
    color: var(--aho-text-secondary) !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    letter-spacing: .01em;
}

html body .app-shell .aho-entry-form :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-height: 44px !important;
    border: 1px solid var(--aho-border-strong) !important;
    border-radius: 8px !important;
    color: var(--aho-text) !important;
    background: var(--aho-bg-surface-raised) !important;
    box-shadow: inset 0 1px 1px rgba(16, 24, 40, .025) !important;
}

html body .app-shell .aho-entry-form textarea {
    min-height: 104px !important;
    resize: vertical;
}

html body .app-shell .aho-entry-form :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
    border-color: var(--entry-accent) !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: var(--aho-focus) !important;
}

.aho-choice-grid {
    grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)) !important;
    gap: 8px !important;
}

.aho-choice-grid--scroll {
    max-height: 260px !important;
}

html body .app-shell .aho-entry-form label.choice {
    min-height: 48px !important;
    gap: 9px !important;
    padding: 9px 11px !important;
    border: 1px solid var(--aho-border) !important;
    border-radius: 9px !important;
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface-raised) !important;
    box-shadow: none !important;
}

html body .app-shell .aho-entry-form label.choice:hover {
    border-color: rgba(var(--entry-accent-rgb), .48) !important;
    color: var(--aho-text) !important;
    background: rgba(var(--entry-accent-rgb), .055) !important;
    translate: 0 !important;
}

html body .app-shell .aho-entry-form label.choice.is-selected,
html body .app-shell .aho-entry-form label.choice:has(input:checked) {
    border-color: rgba(var(--entry-accent-rgb), .62) !important;
    color: var(--aho-text) !important;
    background: rgba(var(--entry-accent-rgb), .11) !important;
    box-shadow: inset 0 0 0 1px rgba(var(--entry-accent-rgb), .10) !important;
}

.aho-entry-form .choice__indicator {
    flex: 0 0 auto;
    width: 18px !important;
    height: 18px !important;
    border-color: var(--aho-border-strong) !important;
    border-radius: 5px !important;
    background: var(--aho-bg-surface) !important;
}

.aho-entry-form input[type="radio"] + .choice__indicator {
    border-radius: 50% !important;
}

.aho-entry-form .choice input:checked + .choice__indicator {
    border-color: var(--entry-accent) !important;
    background: var(--entry-accent) !important;
}

.aho-entry-form .choice__label {
    font-size: .81rem !important;
    font-weight: 700 !important;
}

.aho-toggle-card {
    min-height: 68px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--aho-border) !important;
    border-radius: 9px !important;
    background: var(--aho-bg-surface-raised) !important;
    box-shadow: none !important;
}

.aho-toggle-card:has(input:checked) {
    border-color: rgba(var(--entry-accent-rgb), .48) !important;
    background: rgba(var(--entry-accent-rgb), .075) !important;
}

.aho-number-control {
    gap: 7px !important;
}

.aho-number-stepper {
    min-height: 46px;
    display: grid !important;
    grid-template-columns: 46px minmax(68px, 1fr) 46px;
    overflow: hidden;
    border: 1px solid var(--aho-border-strong) !important;
    border-radius: 9px !important;
    background: var(--aho-bg-surface-raised) !important;
    box-shadow: inset 0 1px 1px rgba(16, 24, 40, .025);
}

.aho-number-stepper button {
    width: 46px !important;
    min-width: 46px;
    min-height: 44px;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--entry-accent) !important;
    background: transparent !important;
    font-size: 1.2rem !important;
    font-weight: 850 !important;
}

.aho-number-stepper button:first-child {
    border-right: 1px solid var(--aho-border) !important;
}

.aho-number-stepper button:last-child {
    border-left: 1px solid var(--aho-border) !important;
}

.aho-number-stepper button:hover {
    background: rgba(var(--entry-accent-rgb), .09) !important;
}

html body .app-shell .aho-entry-form .aho-number-stepper input {
    width: 100% !important;
    min-width: 0;
    min-height: 44px !important;
    padding: 0 6px !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--aho-text) !important;
    background: transparent !important;
    font-size: .95rem !important;
    font-weight: 800 !important;
    text-align: center;
    box-shadow: none !important;
}

.aho-number-stepper:focus-within {
    border-color: var(--entry-accent) !important;
    box-shadow: var(--aho-focus) !important;
}

.aho-number-presets {
    gap: 5px !important;
}

.aho-number-presets button {
    min-height: 32px !important;
    padding: 0 10px !important;
    border-radius: 7px !important;
    font-size: .72rem !important;
}

.aho-number-presets button.is-active {
    border-color: rgba(var(--entry-accent-rgb), .45) !important;
    color: var(--entry-accent) !important;
    background: rgba(var(--entry-accent-rgb), .09) !important;
}

.aho-conditional-panel,
.aho-team-options,
.aho-subsection-grid {
    border-color: var(--aho-border) !important;
    border-radius: 9px !important;
    background: var(--aho-bg-surface-soft) !important;
    box-shadow: none !important;
}

.aho-entry-assistant {
    position: sticky;
    top: 84px;
    display: grid;
    gap: 12px;
    padding: 15px;
    border: 1px solid var(--aho-border);
    border-radius: 12px;
    background: var(--aho-bg-surface);
    box-shadow: var(--aho-shadow-card);
}

.aho-entry-assistant__head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--aho-divider);
}

.aho-entry-assistant__spark {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(var(--entry-accent-rgb), .28);
    border-radius: 8px;
    color: var(--entry-accent);
    background: rgba(var(--entry-accent-rgb), .09);
    font-size: 1rem;
}

.aho-entry-assistant__head > div {
    display: grid;
    gap: 1px;
}

.aho-entry-assistant__head span:not(.aho-entry-assistant__spark) {
    color: var(--aho-text-muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.aho-entry-assistant__head strong {
    color: var(--aho-text);
    font-size: .84rem;
}

.aho-entry-progress {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.aho-entry-progress > span {
    height: 5px;
    overflow: hidden;
    border-radius: 5px;
    background: var(--aho-bg-surface-hover);
}

.aho-entry-progress > span i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--entry-accent);
    transition: width var(--aho-motion) var(--aho-ease);
}

.aho-entry-progress > strong {
    color: var(--aho-text-muted);
    font-size: .7rem;
    font-variant-numeric: tabular-nums;
}

.aho-assistant-panel {
    padding: 11px;
    border: 1px solid var(--aho-divider);
    border-radius: 9px;
    background: var(--aho-bg-surface-raised);
}

.aho-assistant-panel h2 {
    margin: 0 0 9px !important;
    color: var(--aho-text-secondary) !important;
    font-size: .69rem !important;
    font-weight: 850;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.aho-assistant-panel ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.aho-assistant-panel li {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    color: var(--aho-text-secondary);
    font-size: .76rem;
}

.aho-assistant-panel li i {
    width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    border: 1px solid var(--aho-border-strong);
    border-radius: 50%;
    color: #fff;
    font-size: .66rem;
    font-style: normal;
}

.aho-assistant-panel li.is-complete i {
    border-color: var(--aho-success);
    background: var(--aho-success);
}

.aho-assistant-hints {
    display: grid;
    gap: 7px;
}

.aho-assistant-hints p {
    margin: 0;
    padding-left: 10px;
    border-left: 2px solid var(--aho-warning);
    color: var(--aho-text-secondary);
    font-size: .75rem;
    line-height: 1.45;
}

.aho-assistant-hints p.is-good {
    border-left-color: var(--aho-success);
}

.aho-autosave-state {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--aho-text-secondary);
    font-size: .77rem;
    font-weight: 700;
}

.aho-autosave-state i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--aho-text-disabled);
}

.aho-autosave-state[data-state="saving"] i,
.aho-autosave-state[data-state="pending"] i {
    background: var(--aho-warning);
}

.aho-autosave-state[data-state="saved"] i {
    background: var(--aho-success);
}

.aho-autosave-state[data-state="error"] i {
    background: var(--aho-danger);
}

.aho-assistant-panel--autosave small {
    display: block;
    margin-top: 5px;
    color: var(--aho-text-muted);
    font-size: .67rem;
}

.aho-assistant-next {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 12px;
    border: 1px solid rgba(var(--entry-accent-rgb), .30);
    border-radius: 9px;
    color: var(--aho-text);
    background: rgba(var(--entry-accent-rgb), .09);
    text-align: left;
    cursor: pointer;
}

.aho-assistant-next > span:first-child {
    display: grid;
    gap: 1px;
}

.aho-assistant-next small {
    color: var(--aho-text-muted);
    font-size: .65rem;
}

.aho-assistant-next strong {
    color: var(--entry-accent);
    font-size: .8rem;
}

.aho-entry-review__intro,
.aho-entry-review__file-note {
    color: var(--aho-text-muted);
    font-size: .82rem;
}

.aho-entry-review__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
}

.aho-entry-review__list article {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid var(--aho-divider);
    border-radius: 8px;
    background: var(--aho-bg-surface-raised);
}

.aho-entry-review__list article > div {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.aho-entry-review__list article span {
    color: var(--aho-text-muted);
    font-size: .68rem;
}

.aho-entry-review__list article strong {
    overflow: hidden;
    color: var(--aho-text);
    font-size: .8rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.aho-entry-review__list article button {
    min-height: 44px;
    padding: 0 8px;
    border: 1px solid var(--aho-border);
    border-radius: 7px;
    color: var(--entry-accent);
    background: var(--aho-bg-surface);
    font-size: .69rem;
    font-weight: 750;
    cursor: pointer;
}

.aho-entry-actionbar {
    position: fixed;
    z-index: 850;
    right: 0;
    bottom: 0;
    left: var(--aho-sidebar-width);
    min-height: 66px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px clamp(18px, 2vw, 34px);
    border-top: 1px solid var(--aho-border);
    background: color-mix(in srgb, var(--aho-bg-surface) 94%, transparent);
    box-shadow: 0 -10px 30px rgba(16, 24, 40, .06);
    backdrop-filter: blur(18px) saturate(140%);
}

body.sidebar-collapsed .aho-entry-actionbar {
    left: var(--aho-sidebar-collapsed);
}

.aho-entry-actionbar__state {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--aho-text-muted);
    font-size: .76rem;
}

.aho-entry-actionbar__buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

.aho-entry-actionbar__buttons .button {
    min-height: 44px;
}

:root[data-theme="dark"] body.page-entry {
    --entry-accent-ink: #f5f7fa;
}

:root[data-theme="dark"] body.page-entry--social-work {
    --entry-accent: #39c6b5;
    --entry-accent-rgb: 57, 198, 181;
}

:root[data-theme="dark"] body.page-entry--events {
    --entry-accent: #a38cf5;
    --entry-accent-rgb: 163, 140, 245;
}

:root[data-theme="dark"] body.page-entry--needle-exchange {
    --entry-accent: #68a3ff;
    --entry-accent-rgb: 104, 163, 255;
}

:root[data-theme="dark"] body.page-entry--inventory {
    --entry-accent: #e7a94d;
    --entry-accent-rgb: 231, 169, 77;
}

:root[data-theme="dark"] .aho-entry-command-header__icon,
:root[data-theme="dark"] .aho-entry-steps button[aria-current="step"],
:root[data-theme="dark"] .aho-entry-form .choice.is-selected,
:root[data-theme="dark"] .aho-entry-form .choice:has(input:checked),
:root[data-theme="dark"] .aho-toggle-card:has(input:checked),
:root[data-theme="dark"] .aho-assistant-next {
    background: rgba(var(--entry-accent-rgb), .14) !important;
}

:root[data-theme="dark"] .aho-entry-steps button[aria-current="step"] > span:first-child {
    color: #071018 !important;
}

:root[data-theme="dark"] html body .sidebar {
    background: #070b10 !important;
}

:root[data-theme="dark"] html body .topbar,
:root[data-theme="dark"] .aho-entry-actionbar {
    background: rgba(11, 17, 25, .94) !important;
}

@media (max-width: 1220px) {
    .aho-entry-layout {
        grid-template-columns: minmax(0, 1fr) 286px;
        gap: 16px;
    }

    .aho-entry-steps button small {
        display: none;
    }
}

@media (max-width: 1040px) {
    .aho-entry-layout {
        grid-template-columns: 1fr;
    }

    .aho-entry-assistant {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aho-entry-assistant__head,
    .aho-entry-progress,
    .aho-assistant-next {
        grid-column: 1 / -1;
    }

    .aho-assistant-panel--autosave {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    html body .content {
        padding-inline: 16px !important;
    }

    html body.page-entry .content {
        padding-inline: 0 !important;
    }

    html body.page-entry .content::before {
        left: 0;
    }

    html body.page-entry .aho-entry-workspace {
        padding-inline: 14px !important;
    }

    .aho-entry-actionbar,
    body.sidebar-collapsed .aho-entry-actionbar {
        left: 0;
        padding-inline: 14px;
    }

    .aho-entry-steps {
        grid-template-columns: repeat(4, minmax(132px, 1fr));
        overflow-x: auto;
    }

    .aho-entry-steps button {
        min-height: 58px;
    }
}

@media (max-width: 680px) {
    html body.page-entry .content {
        padding-bottom: 220px !important;
    }

    .aho-entry-command-header {
        min-height: 0;
        grid-template-columns: auto minmax(0, 1fr);
        padding-block: 16px;
    }

    .aho-entry-command-header__icon {
        width: 42px;
        height: 42px;
    }

    .aho-entry-online {
        grid-column: 1 / -1;
        justify-self: start;
    }

    html body .aho-entry-form .aho-form-section {
        padding: 16px !important;
    }

    .aho-entry-grid,
    .aho-entry-grid--2,
    .aho-entry-grid--3,
    .aho-entry-grid--4,
    .aho-entry-review__list,
    .aho-entry-assistant {
        grid-template-columns: 1fr !important;
    }

    .aho-entry-form :is(.aho-span-2, .aho-span-3, .aho-span-4),
    .aho-entry-assistant__head,
    .aho-entry-progress,
    .aho-assistant-next,
    .aho-assistant-panel--autosave {
        grid-column: auto !important;
    }

    .aho-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .aho-number-presets button {
        min-height: 44px !important;
    }

    .aho-entry-actionbar {
        min-height: 0;
        align-items: stretch;
        flex-direction: column;
        gap: 8px;
        padding-block: 9px;
    }

    .aho-entry-actionbar__state {
        min-height: 24px;
    }

    .aho-entry-actionbar__buttons {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aho-entry-actionbar__buttons .button {
        width: 100%;
    }

    .aho-entry-actionbar__buttons .button--quiet:first-child {
        display: none;
    }
}

@media (max-width: 360px) {
    .aho-choice-grid {
        grid-template-columns: 1fr !important;
    }

    .aho-entry-command-header h1 {
        font-size: 1.3rem !important;
    }
}

/* ========================================================================== */
/* Enterprise Pro Max Single-Page Capture · Version 1.0.20                   */
/* ========================================================================== */

:root {
    --aho-sidebar-width: 246px;
    --aho-sidebar-collapsed: 76px;
    --promax-nav-text: #1d2b3f;
    --promax-nav-muted: #66758a;
    --promax-nav-line: #dfe7f0;
}

:root[data-theme="light"] body {
    background: #f3f7fc !important;
}

:root[data-theme="light"] body .sidebar,
:root[data-theme="light"] body .sidebar__brand,
:root[data-theme="light"] body .sidebar__footer {
    border-color: var(--promax-nav-line) !important;
    color: var(--promax-nav-text) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 250, 254, .98)) !important;
}

:root[data-theme="light"] body .sidebar {
    box-shadow: 12px 0 36px rgba(42, 64, 92, .075) !important;
}

:root[data-theme="light"] body .brand__text strong {
    color: #152338 !important;
}

:root[data-theme="light"] body .brand__text small,
:root[data-theme="light"] body .nav-section__title,
:root[data-theme="light"] body .system-indicator small {
    color: var(--promax-nav-muted) !important;
}

:root[data-theme="light"] body .nav-item {
    color: #43536a !important;
}

:root[data-theme="light"] body .nav-item__icon {
    color: #74849a !important;
}

:root[data-theme="light"] body .nav-item:hover {
    border-color: #dbe5f0 !important;
    color: #17253a !important;
    background: linear-gradient(90deg, #edf3fa, #f7faff) !important;
}

:root[data-theme="light"] body .nav-item.is-active,
:root[data-theme="light"] body .nav-item[aria-current="page"] {
    border-color: rgba(83, 99, 232, .23) !important;
    color: #26378d !important;
    background: linear-gradient(100deg, rgba(83, 99, 232, .15), rgba(83, 99, 232, .045)) !important;
    box-shadow: inset 3px 0 0 #5363e8, 0 8px 22px rgba(55, 71, 168, .08) !important;
}

:root[data-theme="light"] body .nav-item.is-active .nav-item__icon,
:root[data-theme="light"] body .nav-item[aria-current="page"] .nav-item__icon {
    color: #5363e8 !important;
}

:root[data-theme="light"] body .sidebar__collapse,
:root[data-theme="light"] body .sidebar__close {
    border-color: #dce5ef !important;
    color: #66758a !important;
    background: #f7faff !important;
}

:root[data-theme="light"] body .sidebar__collapse:hover,
:root[data-theme="light"] body .sidebar__close:hover {
    border-color: #bdcada !important;
    color: #203047 !important;
    background: #eef4fa !important;
}

:root[data-theme="light"] body .system-indicator {
    border-color: #dfe7f0 !important;
    background: #f7faff !important;
}

:root[data-theme="light"] body .system-indicator strong {
    color: #35465e !important;
}

:root[data-theme="light"] body .topbar {
    border-color: #dfe7f0 !important;
    background: rgba(255, 255, 255, .88) !important;
    box-shadow: 0 8px 28px rgba(39, 60, 88, .055) !important;
    backdrop-filter: blur(22px) saturate(145%);
}

:root[data-theme="dark"] body .sidebar,
:root[data-theme="dark"] body .sidebar__brand,
:root[data-theme="dark"] body .sidebar__footer {
    border-color: #2b3a4d !important;
    background: #172333 !important;
}

:root[data-theme="dark"] body .sidebar {
    box-shadow: 12px 0 36px rgba(0, 0, 0, .18) !important;
}

:root[data-theme="dark"] body .nav-item:hover {
    background: #202e40 !important;
}

html body.page-entry {
    --entry-canvas: #f2f7fb;
    --entry-shell: rgba(255, 255, 255, .88);
    --entry-shell-strong: #ffffff;
    --entry-card: rgba(255, 255, 255, .78);
    --entry-card-muted: rgba(245, 248, 252, .94);
    --entry-line: rgba(86, 107, 134, .18);
    --entry-text: #142136;
    --entry-text-secondary: #40516a;
    --entry-text-muted: #6a788c;
}

html body.page-entry--social-work {
    --entry-accent: #087d72;
    --entry-accent-rgb: 8, 125, 114;
    --entry-accent-strong: #075f58;
    --entry-canvas: #eef8f7;
}

html body.page-entry--events {
    --entry-accent: #6548c7;
    --entry-accent-rgb: 101, 72, 199;
    --entry-accent-strong: #5135aa;
    --entry-canvas: #f5f2fb;
}

html body.page-entry--needle-exchange {
    --entry-accent: #2466c8;
    --entry-accent-rgb: 36, 102, 200;
    --entry-accent-strong: #184f9f;
    --entry-canvas: #f0f6fd;
}

html body.page-entry--inventory {
    --entry-accent: #985b08;
    --entry-accent-rgb: 152, 91, 8;
    --entry-accent-strong: #754404;
    --entry-canvas: #faf6ef;
}

:root[data-theme="dark"] body.page-entry {
    --entry-shell: rgba(23, 34, 47, .94);
    --entry-shell-strong: #1b2938;
    --entry-card: rgba(31, 45, 60, .82);
    --entry-card-muted: rgba(27, 40, 54, .96);
    --entry-line: rgba(173, 190, 209, .21);
    --entry-text: #f7f9fc;
    --entry-text-secondary: #d5deea;
    --entry-text-muted: #aebccc;
}

:root[data-theme="dark"] body.page-entry--social-work { --entry-canvas: #12232b; }
:root[data-theme="dark"] body.page-entry--events { --entry-canvas: #1b192d; }
:root[data-theme="dark"] body.page-entry--needle-exchange { --entry-canvas: #142238; }
:root[data-theme="dark"] body.page-entry--inventory { --entry-canvas: #282117; }

html body.page-entry .content {
    padding: 14px 16px 104px !important;
    background:
        radial-gradient(circle at 18% -10%, rgba(var(--entry-accent-rgb), .17), transparent 36rem),
        linear-gradient(145deg, rgba(255, 255, 255, .24), transparent 50%),
        var(--entry-canvas) !important;
}

html body.page-entry .content::after {
    opacity: .16;
}

html body.page-entry .aho-entry-form {
    padding: 0 15px 92px !important;
    border: 1px solid var(--entry-line) !important;
    border-radius: 24px !important;
    background:
        linear-gradient(145deg, rgba(var(--entry-accent-rgb), .045), transparent 32rem),
        var(--entry-shell) !important;
    box-shadow: 0 24px 64px rgba(40, 57, 78, .13), inset 0 1px 0 rgba(255, 255, 255, .65) !important;
    backdrop-filter: blur(22px) saturate(125%);
}

:root[data-theme="dark"] body.page-entry .aho-entry-form {
    box-shadow: 0 26px 68px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
}

html body.page-entry .aho-entry-command-header {
    min-height: 92px;
    margin-inline: -15px;
    padding: 16px 22px;
    border-radius: 24px 24px 0 0;
    background:
        linear-gradient(105deg, rgba(var(--entry-accent-rgb), .16), rgba(var(--entry-accent-rgb), .035) 48%, transparent),
        var(--entry-shell-strong);
}

.aho-entry-command-header__icon {
    width: 48px;
    height: 48px;
    border-radius: 15px;
}

.aho-entry-command-header__icon svg {
    width: 27px;
    height: 27px;
}

.aho-entry-command-header h1 {
    font-size: clamp(1.45rem, 1.22rem + .72vw, 2rem) !important;
}

.aho-entry-command-header p {
    margin-top: 2px !important;
    font-size: .84rem;
}

.aho-entry-online {
    color: var(--entry-text-secondary);
    background: rgba(var(--entry-accent-rgb), .08);
}

.aho-entry-layout.aho-entry-layout--single {
    display: block !important;
    padding-top: 12px;
}

.aho-entry-layout--single .aho-entry-stage {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

.aho-entry-layout--single :is(.aho-draft-restored, .alert, .aho-entry-intelligence) {
    grid-column: 1 / -1;
}

.aho-entry-intelligence {
    min-height: 74px;
    display: grid;
    grid-template-columns: minmax(210px, .85fr) minmax(300px, 1.35fr) minmax(220px, 1fr) minmax(220px, .85fr);
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--entry-line);
    border-radius: 17px;
    color: var(--entry-text-secondary);
    background:
        linear-gradient(110deg, rgba(var(--entry-accent-rgb), .11), transparent 42%),
        var(--entry-card);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
}

.aho-entry-intelligence__identity,
.aho-entry-intelligence__autosave {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.aho-entry-intelligence__identity > div,
.aho-entry-intelligence__autosave {
    display: grid;
    gap: 2px;
}

.aho-entry-intelligence__identity span:not(.aho-entry-assistant__spark),
.aho-entry-intelligence__autosave small {
    color: var(--entry-text-muted);
    font-size: .68rem;
    font-weight: 720;
}

.aho-entry-intelligence__identity strong {
    color: var(--entry-text);
    font-size: .78rem;
}

.aho-entry-intelligence .aho-entry-assistant__spark {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
}

.aho-entry-intelligence__progress {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.aho-entry-intelligence .aho-entry-progress {
    grid-template-columns: 1fr auto;
    margin: 0;
}

.aho-entry-intelligence__checklist {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.aho-entry-intelligence__checklist li {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--entry-text-muted);
    font-size: .64rem;
    font-weight: 700;
}

.aho-entry-intelligence__checklist li i {
    width: 14px;
    height: 14px;
    display: grid;
    place-items: center;
    border: 1px solid var(--entry-line);
    border-radius: 50%;
}

.aho-entry-intelligence__checklist li.is-complete {
    color: var(--entry-text-secondary);
}

.aho-entry-intelligence__checklist li.is-complete i {
    border-color: var(--aho-success);
    background: var(--aho-success);
}

.aho-entry-intelligence__checklist li.is-complete i::after {
    content: "";
    width: 6px;
    height: 3px;
    border-bottom: 1.5px solid #fff;
    border-left: 1.5px solid #fff;
    rotate: -45deg;
    translate: 0 -1px;
}

.aho-entry-intelligence__hints {
    min-width: 0;
    padding-left: 11px;
    border-left: 1px solid var(--entry-line);
}

.aho-entry-intelligence__hints p {
    margin: 0;
    color: var(--entry-text-secondary);
    font-size: .72rem;
    line-height: 1.45;
}

.aho-entry-intelligence__hints p.is-good {
    color: var(--aho-success);
}

.aho-entry-intelligence__autosave {
    padding-left: 11px;
    border-left: 1px solid var(--entry-line);
}

.aho-entry-intelligence__autosave .aho-autosave-state {
    color: var(--entry-text-secondary);
    font-size: .72rem;
}

html body .aho-entry-layout--single .aho-form-section {
    grid-column: span 12;
    margin: 0 !important;
    padding: 15px 16px !important;
    border: 1px solid var(--entry-line) !important;
    border-radius: 18px !important;
    background:
        linear-gradient(140deg, rgba(var(--entry-accent-rgb), .032), transparent 55%),
        var(--entry-card) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .17) !important;
}

html body .aho-entry-layout--single .aho-form-section::before {
    inset: 14px auto 14px 0;
    width: 2px;
}

.aho-entry-layout--single #social-team,
.aho-entry-layout--single #social-client,
.aho-entry-layout--single #event-type,
.aho-entry-layout--single #inventory-id {
    grid-column: span 5;
}

.aho-entry-layout--single #social-person,
.aho-entry-layout--single #social-topics,
.aho-entry-layout--single #event-target,
.aho-entry-layout--single #inventory-batch {
    grid-column: span 7;
}

.aho-entry-layout--single #social-lab {
    grid-column: span 8;
}

.aho-entry-layout--single #social-notes {
    grid-column: span 4;
}

.aho-entry-layout--single #needle-basics,
.aho-entry-layout--single #needle-type {
    grid-column: span 6;
}

.aho-entry-layout--single .aho-form-section__header {
    min-height: 38px;
    margin-bottom: 12px !important;
    padding-bottom: 10px;
}

.aho-entry-layout--single .aho-section-number {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(var(--entry-accent-rgb), .13) !important;
    box-shadow: none;
}

.aho-entry-layout--single .aho-section-number svg {
    width: 20px;
    height: 20px;
}

.aho-entry-layout--single .aho-form-section__header h2 {
    font-size: .94rem !important;
    letter-spacing: -.015em;
}

.aho-entry-layout--single .aho-entry-grid {
    gap: 11px;
}

html body .aho-entry-layout--single label.choice {
    min-height: 50px !important;
    border-radius: 14px !important;
    background: var(--entry-card-muted) !important;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

html body .aho-entry-layout--single label.choice:hover {
    transform: translateY(-2px) !important;
}

html body .aho-entry-layout--single label.choice:has(input:checked) {
    background:
        radial-gradient(circle at 16% 10%, rgba(255, 255, 255, .18), transparent 42%),
        linear-gradient(135deg, rgba(var(--entry-accent-rgb), .27), rgba(var(--entry-accent-rgb), .10)) !important;
}

.aho-entry-layout--single .aho-choice-grid {
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
    gap: 8px !important;
}

.aho-entry-layout--single .aho-number-stepper {
    min-height: 50px;
    border-radius: 14px !important;
}

.aho-entry-layout--single .aho-number-stepper button,
html body .aho-entry-layout--single .aho-number-stepper input {
    min-height: 48px !important;
}

.aho-entry-layout--single .aho-number-stepper button {
    border-radius: 12px !important;
}

.aho-entry-actionbar--single {
    min-height: 76px;
    background:
        linear-gradient(100deg, rgba(var(--entry-accent-rgb), .10), transparent 40%),
        color-mix(in srgb, var(--entry-shell-strong) 94%, transparent) !important;
}

.aho-entry-actionbar--single .button--primary {
    min-width: 190px;
}

:root[data-theme="light"] body.page-entry .nav-item.is-active,
:root[data-theme="light"] body.page-entry .nav-item[aria-current="page"] {
    border-color: rgba(var(--entry-accent-rgb), .26) !important;
    color: var(--entry-accent-strong) !important;
    background: linear-gradient(100deg, rgba(var(--entry-accent-rgb), .16), rgba(var(--entry-accent-rgb), .045)) !important;
    box-shadow: inset 3px 0 0 var(--entry-accent), 0 8px 22px rgba(var(--entry-accent-rgb), .08) !important;
}

@media (max-width: 1260px) {
    .aho-entry-intelligence {
        grid-template-columns: minmax(200px, .8fr) minmax(320px, 1.4fr) 1fr;
    }

    .aho-entry-intelligence__hints {
        display: none;
    }
}

@media (max-width: 1080px) {
    .aho-entry-layout--single :is(#social-team, #social-client, #event-type, #inventory-id),
    .aho-entry-layout--single :is(#social-person, #social-topics, #event-target, #inventory-batch),
    .aho-entry-layout--single :is(#social-lab, #social-notes, #needle-basics, #needle-type) {
        grid-column: span 12;
    }

    .aho-entry-intelligence {
        grid-template-columns: 1fr 1.6fr;
    }

    .aho-entry-intelligence__autosave {
        display: none;
    }
}

@media (max-width: 760px) {
    html body.page-entry .content {
        padding: 8px 8px 176px !important;
    }

    html body.page-entry .aho-entry-form {
        padding: 0 9px 150px !important;
        border-radius: 18px !important;
    }

    html body.page-entry .aho-entry-command-header {
        margin-inline: -9px;
        padding: 13px;
        border-radius: 18px 18px 0 0;
    }

    .aho-entry-command-header p {
        display: none;
    }

    .aho-entry-intelligence {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .aho-entry-intelligence__progress {
        padding-top: 8px;
        border-top: 1px solid var(--entry-line);
    }

    .aho-entry-layout--single .aho-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .aho-entry-actionbar--single .aho-entry-actionbar__state,
    .aho-entry-actionbar--single [data-draft-save],
    .aho-entry-actionbar--single [data-draft-discard],
    .aho-entry-actionbar--single [data-save-mode-value="save_and_new"] {
        display: none !important;
    }

    .aho-entry-actionbar--single .aho-entry-actionbar__buttons,
    .aho-entry-actionbar--single .button--primary {
        width: 100%;
    }
}

@media (max-width: 430px) {
    .aho-entry-layout--single .aho-choice-grid {
        grid-template-columns: 1fr !important;
    }

    .aho-entry-layout--single .aho-fieldset--quick .aho-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aho-form-map a,
    html body .app-shell label.choice,
    .aho-toggle-card {
        transition: none;
    }
}

/* ==========================================================================
   Profil, Darstellungsmodus und Zwei-Faktor-Verwaltung
   ========================================================================== */

.aho-confirm-backdrop {
    position: fixed;
    z-index: 2800;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 18px;
    background: var(--aho-bg-overlay);
    backdrop-filter: blur(8px);
}

.aho-confirm-backdrop[hidden] {
    display: none !important;
}

.aho-confirm-dialog {
    width: min(520px, 100%);
    overflow: hidden;
    border: 1px solid var(--aho-border-strong);
    border-radius: var(--aho-radius-panel);
    color: var(--aho-text);
    background: var(--aho-bg-surface);
    box-shadow: var(--aho-shadow-raised);
}

.aho-confirm-dialog__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--aho-space-4);
    padding: var(--aho-space-4) var(--aho-space-5);
    border-bottom: 1px solid var(--aho-divider);
    background: var(--aho-bg-surface-raised);
}

.aho-confirm-dialog__header h2 {
    margin: 3px 0 0;
    color: var(--aho-text);
    font-size: 1.15rem;
}

.aho-confirm-dialog__close {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border: 1px solid var(--aho-border);
    border-radius: 10px;
    color: var(--aho-text-secondary);
    background: var(--aho-bg-surface);
    cursor: pointer;
    font-size: 1.45rem;
}

.aho-confirm-dialog > p {
    margin: 0;
    padding: var(--aho-space-5);
    color: var(--aho-text-secondary);
    white-space: pre-line;
}

.aho-confirm-dialog__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: var(--aho-space-4) var(--aho-space-5);
    border-top: 1px solid var(--aho-divider);
    background: var(--aho-bg-surface-raised);
}

.profile-dropdown__theme {
    display: grid;
    gap: 8px;
    padding: 8px 10px;
}

.profile-dropdown__theme label {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    color: var(--aho-text-secondary);
    font-size: .84rem;
    font-weight: 700;
}

.profile-dropdown__theme select {
    min-width: 0;
    min-height: 38px;
    border: 1px solid var(--aho-border);
    border-radius: 9px;
    color: var(--aho-text);
    background: var(--aho-bg-surface);
}

.profile-dropdown__theme .button {
    min-height: 38px !important;
}

.aho-profile-layout {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--aho-space-5);
}

.aho-profile-security-card,
.aho-profile-employee-card {
    grid-column: 1 / -1;
}

.aho-card-intro {
    max-width: 82ch;
    margin: 0 0 var(--aho-space-4);
    color: var(--aho-text-secondary);
}

.aho-theme-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 var(--aho-space-4);
    padding: 0;
    border: 0;
}

.aho-theme-option {
    position: relative;
    min-width: 0;
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--aho-border-strong);
    border-radius: 12px;
    color: var(--aho-text-secondary);
    background: var(--aho-bg-surface);
    cursor: pointer;
    transition: border-color var(--aho-motion-fast), background var(--aho-motion-fast), box-shadow var(--aho-motion-fast);
}

.aho-theme-option:hover,
.aho-theme-option:has(input:checked) {
    border-color: var(--aho-accent);
    background: var(--aho-accent-wash);
}

.aho-theme-option:has(input:checked) {
    box-shadow: inset 0 0 0 1px var(--aho-accent-border);
}

.aho-theme-option input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.aho-theme-option input:focus-visible + .aho-theme-option__preview {
    box-shadow: var(--aho-focus);
}

.aho-theme-option strong,
.aho-theme-option small {
    display: block;
}

.aho-theme-option strong {
    color: var(--aho-text);
}

.aho-theme-option small {
    margin-top: 3px;
    font-size: .78rem;
}

.aho-theme-option__preview {
    height: 50px;
    display: grid;
    grid-template-columns: 21px 1fr;
    gap: 5px;
    padding: 5px;
    border: 1px solid #bfc6d2;
    border-radius: 8px;
    background: #f6f7fa;
}

.aho-theme-option__preview i,
.aho-theme-option__preview b {
    display: block;
    border-radius: 4px;
}

.aho-theme-option__preview i {
    background: #ffffff;
}

.aho-theme-option__preview b {
    position: relative;
    background: #ffffff;
}

.aho-theme-option__preview b::after {
    content: "";
    position: absolute;
    inset: 8px 7px auto;
    height: 5px;
    border-radius: 99px;
    background: #c91f68;
    box-shadow: 0 10px 0 #dfe3ea, 0 20px 0 #dfe3ea;
}

.aho-theme-option__preview--dark {
    border-color: #485160;
    background: #11151d;
}

.aho-theme-option__preview--dark i,
.aho-theme-option__preview--dark b {
    background: #202733;
}

.aho-theme-option__preview--dark b::after {
    background: #f06aa2;
    box-shadow: 0 10px 0 #46505f, 0 20px 0 #46505f;
}

.aho-theme-option__preview--system {
    background: linear-gradient(110deg, #f6f7fa 0 49.5%, #11151d 50%);
}

.aho-theme-option__preview--system i {
    background: linear-gradient(110deg, #fff 0 49.5%, #202733 50%);
}

.aho-theme-option__preview--system b {
    background: linear-gradient(110deg, #fff 0 49.5%, #202733 50%);
}

.aho-security-status {
    flex: 0 0 auto;
    padding: 6px 10px;
    border: 1px solid var(--aho-border);
    border-radius: 999px;
    color: var(--aho-text-muted);
    background: var(--aho-bg-surface-soft);
    font-size: .78rem;
    font-weight: 800;
}

.aho-security-status.is-active {
    border-color: color-mix(in srgb, var(--aho-success) 38%, transparent);
    color: var(--aho-success);
    background: var(--aho-success-soft);
}

.aho-security-settings {
    display: grid;
    gap: var(--aho-space-4);
}

.aho-security-method,
.aho-security-setup,
.aho-security-management-form,
.aho-recovery-codes,
.aho-security-danger-zone {
    min-width: 0;
    padding: var(--aho-space-4);
    border: 1px solid var(--aho-border);
    border-radius: 13px;
    background: var(--aho-bg-surface-raised);
}

.aho-security-method {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(260px, auto);
    align-items: center;
    gap: var(--aho-space-4);
}

.aho-security-method > div > strong,
.aho-security-method > div > small {
    display: block;
}

.aho-security-method > div > strong {
    color: var(--aho-text);
}

.aho-security-method > div > small {
    margin-top: 4px;
    color: var(--aho-text-muted);
}

.aho-security-method > span {
    justify-self: end;
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--aho-text-muted);
    background: var(--aho-bg-surface-soft);
    font-size: .76rem;
    font-weight: 800;
}

.aho-security-method.is-enabled {
    border-color: color-mix(in srgb, var(--aho-success) 32%, var(--aho-border));
    background: color-mix(in srgb, var(--aho-success-soft) 64%, var(--aho-bg-surface));
}

.aho-security-method.is-enabled > span {
    color: var(--aho-success);
    background: var(--aho-success-soft);
}

.aho-security-method.is-unavailable {
    opacity: .82;
}

.aho-password-action,
.aho-security-inline-form,
.aho-security-management-form {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.aho-password-action label,
.aho-security-inline-form label,
.aho-security-management-form label {
    min-width: min(250px, 100%);
    display: grid;
    gap: 6px;
    color: var(--aho-text-secondary);
    font-size: .84rem;
    font-weight: 700;
}

.aho-security-setup h3,
.aho-recovery-codes h3 {
    margin: 0 0 8px;
    color: var(--aho-text);
}

.aho-security-setup__grid {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: var(--aho-space-5);
    margin: var(--aho-space-4) 0;
}

.aho-qr-code {
    width: 220px;
    max-width: 100%;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 12px;
    border: 1px solid var(--aho-border);
    border-radius: 12px;
    background: #fff;
}

.aho-qr-code img {
    width: 100%;
    height: auto;
    image-rendering: pixelated;
}

.aho-manual-secret {
    display: block;
    max-width: 100%;
    margin-top: 8px;
    padding: 10px;
    overflow-wrap: anywhere;
    border: 1px dashed var(--aho-border-strong);
    border-radius: 8px;
    color: var(--aho-text);
    background: var(--aho-bg-surface);
}

.aho-recovery-codes {
    border-color: color-mix(in srgb, var(--aho-warning) 34%, var(--aho-border));
    background: color-mix(in srgb, var(--aho-warning-soft) 56%, var(--aho-bg-surface));
}

.aho-recovery-codes ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
    margin: 14px 0;
    padding: 0;
    list-style: none;
}

.aho-recovery-codes code {
    display: block;
    padding: 8px 10px;
    border: 1px solid var(--aho-border);
    border-radius: 8px;
    color: var(--aho-text);
    background: var(--aho-bg-surface);
    text-align: center;
}

.aho-security-danger-zone {
    display: grid;
    gap: 12px;
    border-color: color-mix(in srgb, var(--aho-danger) 26%, var(--aho-border));
}

.aho-admin-security-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--aho-border);
    border-radius: 10px;
    background: var(--aho-bg-surface-raised);
}

/* Dark mode corrects legacy hard-coded light surfaces without changing the
   familiar layout. The four entry modules keep their own subtle identity. */
:root[data-theme="dark"] body {
    background:
        radial-gradient(circle at 92% -8%, rgba(240, 106, 162, .055), transparent 30rem),
        radial-gradient(circle at 18% 108%, rgba(146, 149, 255, .035), transparent 34rem),
        var(--aho-bg-app) !important;
}

:root[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: #4d5868;
}

:root[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: #647084;
}

:root[data-theme="dark"] :is(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea
) {
    color: var(--aho-text) !important;
    border-color: var(--aho-border-strong) !important;
    background-color: var(--aho-bg-surface) !important;
}

:root[data-theme="dark"] :is(input, textarea)::placeholder {
    color: var(--aho-text-disabled) !important;
}

:root[data-theme="dark"] :is(option, optgroup) {
    color: var(--aho-text);
    background: var(--aho-bg-surface);
}

:root[data-theme="dark"] :is(
    .table th,
    table th,
    .data-table th,
    .aho-table th,
    .aho-drilldown-table th
) {
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface-raised) !important;
}

:root[data-theme="dark"] :is(
    .table td,
    table td,
    .data-table td,
    .aho-table td,
    .aho-drilldown-table td
) {
    color: var(--aho-text-secondary);
    border-color: var(--aho-divider) !important;
    background: var(--aho-bg-surface) !important;
}

:root[data-theme="dark"] :is(
    .modal,
    .modal__content,
    .aho-dialog,
    .aho-drilldown-modal,
    .aho-drilldown-content,
    .aho-drilldown-summary,
    .aho-drilldown-status
) {
    color: var(--aho-text) !important;
    border-color: var(--aho-border) !important;
    background: var(--aho-bg-surface) !important;
}

:root[data-theme="dark"] .aho-entry-workspace--social_work {
    --aho-module-accent: #f06aa2;
    --aho-module-accent-strong: #ff9fc5;
    --aho-module-wash: rgba(240, 106, 162, .12);
    --aho-module-border: rgba(240, 106, 162, .34);
}

:root[data-theme="dark"] .aho-entry-workspace--events {
    --aho-module-accent: #e4ad4f;
    --aho-module-accent-strong: #f2c876;
    --aho-module-wash: rgba(228, 173, 79, .11);
    --aho-module-border: rgba(228, 173, 79, .34);
}

:root[data-theme="dark"] .aho-entry-workspace--needle_exchange {
    --aho-module-accent: #a98bf5;
    --aho-module-accent-strong: #c3aff8;
    --aho-module-wash: rgba(169, 139, 245, .12);
    --aho-module-border: rgba(169, 139, 245, .36);
}

:root[data-theme="dark"] .aho-entry-workspace--inventory {
    --aho-module-accent: #f0846d;
    --aho-module-accent-strong: #f6a493;
    --aho-module-wash: rgba(240, 132, 109, .12);
    --aho-module-border: rgba(240, 132, 109, .34);
}

/*
 * Gut lesbarer Dunkelmodus für ältere Fach- und Verwaltungsansichten.
 * Einige dieser Ansichten enthalten noch lokale helle Farbwerte. Die Regeln
 * ersetzen ausschließlich Bildschirmoberflächen; Berichtspapier und PDF-
 * Vorschauen bleiben absichtlich weiß und druckgetreu.
 */
:root[data-theme="dark"] .app-footer {
    color: var(--aho-text-muted) !important;
    border-color: var(--aho-border) !important;
    background: rgba(23, 30, 42, .96) !important;
}

:root[data-theme="dark"] body :is(
    .profile-dropdown,
    .card,
    .kpi-card,
    .dashboard-kpi-card,
    .dashboard-chart-card,
    .dashboard-highlights-card,
    .aho-card,
    .aho-intel-card,
    .aho-stat-card,
    .aho-summary-card,
    .aho-data-card,
    .aho-entry-card,
    .aho-chart-card,
    .aho-drilldown-card,
    .aho-form-card,
    .aho-import-card,
    .aho-import-job-card,
    .aho-import-summary-card,
    .aho-import-job-summary-card,
    .aho-matrix-card,
    .aho-role-card,
    .aho-role-summary-card,
    .aho-user-card,
    .aho-system-check-card,
    .aho-system-info-card,
    .aho-system-overall-card,
    .aho-system-summary-card,
    .aho-audit-detail-card,
    .aho-audit-filter-card,
    .aho-audit-metadata-card,
    .aho-audit-summary-card,
    .aho-audit-table-card,
    .aho-annual-report-card,
    .aho-admin-card,
    .aho-admin-security,
    .aho-mfa-kpi,
    .aho-saved-filter-card,
    .aho-save-filter-card,
    .security-card
) {
    color: var(--aho-text) !important;
    border-color: var(--aho-border) !important;
    background: var(--aho-bg-surface) !important;
    box-shadow: var(--aho-shadow-card) !important;
}

:root[data-theme="dark"] body :is(
    .aho-card h3,
    .aho-intel-number,
    .aho-entry summary,
    .aho-card-intro,
    .aho-field label,
    .aho-admin-card-description,
    .aho-table-subline,
    .aho-import-card-header,
    .aho-import-job-card-header,
    .aho-audit-table-title,
    .aho-audit-filter-title
) {
    color: var(--aho-text) !important;
}

:root[data-theme="dark"] body :is(
    .aho-muted,
    .aho-intel-meta,
    .muted,
    .aho-card small,
    .aho-entry__meta,
    .aho-filter-hint,
    .aho-audit-table-meta
) {
    color: var(--aho-text-muted) !important;
}

:root[data-theme="dark"] body :is(
    .aho-entry,
    .aho-conditional-panel,
    .aho-file-panel,
    .aho-saved-filter-panel,
    .aho-annual-media-panel,
    .aho-admin-card-footer,
    .dashboard-kpi-card__footer,
    .aho-import-card-header,
    .aho-import-job-card-header
) {
    color: var(--aho-text-secondary) !important;
    border-color: var(--aho-border) !important;
    background: var(--aho-bg-surface-soft) !important;
}

:root[data-theme="dark"] body :is(
    .aho-segmented span,
    .aho-chip,
    .aho-badge,
    .badge,
    .aho-filter-chip,
    .aho-button--secondary
) {
    color: var(--aho-text-secondary) !important;
    border-color: var(--aho-border) !important;
    background: var(--aho-bg-surface-raised) !important;
}

:root[data-theme="dark"] body :is(.aho-progress, .aho-bar) {
    background: #39465a !important;
}

:root[data-theme="dark"] body .aho-progress i,
:root[data-theme="dark"] body .aho-bar i {
    background: var(--aho-info) !important;
    opacity: 1;
}

:root[data-theme="dark"] body :is(.aho-alert--ok, .alert--success) {
    color: #baf3d8 !important;
    border-color: rgba(72, 201, 154, .42) !important;
    background: rgba(27, 100, 75, .32) !important;
}

:root[data-theme="dark"] body :is(.aho-alert--error, .alert--danger) {
    color: #ffd0d7 !important;
    border-color: rgba(255, 126, 142, .45) !important;
    background: rgba(123, 39, 54, .34) !important;
}

:root[data-theme="dark"] body .alert--info {
    color: #cbe8ff !important;
    border-color: rgba(102, 181, 242, .44) !important;
    background: rgba(34, 88, 128, .34) !important;
}

:root[data-theme="dark"] body .alert--warning {
    color: #ffe5af !important;
    border-color: rgba(228, 173, 79, .44) !important;
    background: rgba(116, 78, 22, .34) !important;
}

:root[data-theme="dark"] body :is(.aho-mfa-badge, .status-badge) {
    color: var(--aho-text-secondary) !important;
    border-color: var(--aho-border) !important;
    background: var(--aho-bg-surface-raised) !important;
}

:root[data-theme="dark"] body .aho-mfa-badge.is-ok {
    color: #baf3d8 !important;
    border-color: rgba(72, 201, 154, .40) !important;
    background: rgba(27, 100, 75, .34) !important;
}

:root[data-theme="dark"] body .aho-mfa-badge.is-warning {
    color: #ffe5af !important;
    border-color: rgba(228, 173, 79, .42) !important;
    background: rgba(116, 78, 22, .34) !important;
}

:root[data-theme="dark"] body .aho-mfa-badge.is-critical {
    color: #ffd0d7 !important;
    border-color: rgba(255, 126, 142, .42) !important;
    background: rgba(123, 39, 54, .34) !important;
}

@media (max-width: 1180px) {
    .aho-theme-switcher button span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .aho-theme-switcher button {
        padding-inline: 7px;
    }
}

@media (max-width: 520px) {
    .aho-theme-switcher {
        min-height: 40px;
    }

    .aho-theme-switcher button {
        min-width: 34px;
        min-height: 32px;
        padding: 5px;
    }

    .aho-theme-switcher svg {
        width: 16px;
        height: 16px;
    }
}

@media (max-width: 900px) {
    .aho-profile-layout,
    .aho-theme-options {
        grid-template-columns: 1fr;
    }

    .aho-profile-security-card,
    .aho-profile-employee-card {
        grid-column: auto;
    }

    .aho-security-method {
        grid-template-columns: 1fr;
    }

    .aho-security-method > span {
        justify-self: start;
    }
}

@media (max-width: 620px) {
    .aho-security-setup__grid {
        grid-template-columns: 1fr;
    }

    .aho-qr-code {
        width: min(100%, 250px);
        justify-self: center;
    }

    .aho-password-action,
    .aho-security-inline-form,
    .aho-security-management-form,
    .aho-password-action .button,
    .aho-security-inline-form .button,
    .aho-security-management-form .button {
        width: 100%;
    }
}

/* ========================================================================== 
   Tätigkeitsbericht - dreiseitiger A4-Editor
   ========================================================================== */

.aho-activity-report,
.aho-activity-report > form,
.aho-report-toolbar,
.aho-report-sources,
.aho-report-preview {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
}

.aho-activity-report > form {
    display: grid;
    gap: var(--aho-space-5);
}

.aho-report-toolbar {
    padding: clamp(18px, 2vw, 28px);
    border: 1px solid var(--aho-border);
    border-radius: 16px;
    background: var(--aho-bg-surface);
    box-shadow: var(--aho-shadow-card);
}

.aho-report-toolbar__topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--aho-space-4);
    margin-bottom: var(--aho-space-5);
    padding-bottom: var(--aho-space-4);
    border-bottom: 1px solid var(--aho-divider);
}

.aho-report-toolbar h2 {
    margin: 3px 0 0 !important;
    color: var(--aho-text) !important;
    font-size: 1.3rem !important;
}

.aho-report-toolbar__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex-wrap: wrap;
}

.aho-report-version {
    padding: 7px 10px;
    border: 1px solid var(--aho-border);
    border-radius: 999px;
    color: var(--aho-text-secondary);
    background: var(--aho-bg-surface-soft);
    font-size: .78rem;
    font-weight: 750;
}

.aho-report-toolbar__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(130px, 1fr));
    gap: var(--aho-space-3);
    align-items: end;
}

.aho-toolbar-wide {
    grid-column: span 2;
}

.aho-period-mode {
    grid-column: span 2;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.aho-period-mode legend {
    margin-bottom: 8px;
    color: var(--aho-text);
    font-size: .86rem;
    font-weight: 750;
}

.aho-period-mode {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aho-period-mode legend {
    grid-column: 1 / -1;
}

.aho-period-mode label {
    position: relative;
}

.aho-period-mode input {
    position: absolute;
    width: 1px !important;
    height: 1px !important;
    opacity: 0;
}

.aho-period-mode span {
    min-height: 44px;
    display: grid;
    place-items: center;
    padding: 7px 10px;
    border: 1px solid var(--aho-border-strong);
    color: var(--aho-text-secondary);
    background: var(--aho-bg-surface);
    cursor: pointer;
    font-size: .84rem;
    font-weight: 700;
}

.aho-period-mode label:first-of-type span {
    border-radius: 10px 0 0 10px;
}

.aho-period-mode label:last-of-type span {
    border-radius: 0 10px 10px 0;
}

.aho-period-mode input:checked + span {
    position: relative;
    z-index: 1;
    border-color: var(--aho-accent);
    color: var(--aho-accent-hover);
    background: var(--aho-accent-wash);
}

.aho-period-mode input:focus-visible + span {
    position: relative;
    z-index: 2;
    box-shadow: var(--aho-focus);
}

.aho-report-sources {
    overflow: clip;
    border: 1px solid var(--aho-border);
    border-radius: 16px;
    background: var(--aho-bg-surface);
    box-shadow: var(--aho-shadow-card);
}

.aho-report-sources.has-period-change {
    border-color: rgba(168, 93, 0, .42);
}

.aho-report-sources > summary {
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--aho-space-4);
    padding: 16px clamp(18px, 2vw, 28px);
    color: var(--aho-text);
    background: linear-gradient(135deg, var(--aho-bg-surface) 0%, var(--aho-accent-wash) 100%);
    cursor: pointer;
}

.aho-report-sources > summary::marker {
    color: var(--aho-accent);
}

.aho-report-sources > summary > span:first-child {
    display: grid;
    gap: 3px;
}

.aho-report-sources > summary small {
    color: var(--aho-accent-hover);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.aho-report-sources > summary strong {
    font-size: 1.08rem;
}

.aho-report-sources__period,
.aho-status-chip {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 30px;
    padding: 5px 10px;
    border: 1px solid rgba(227, 59, 130, .22);
    border-radius: 999px;
    color: var(--aho-accent-hover);
    background: var(--aho-bg-surface);
    font-size: .76rem;
    font-weight: 750;
}

.aho-report-sources__body {
    display: grid;
    gap: var(--aho-space-5);
    padding: clamp(18px, 2vw, 28px);
    border-top: 1px solid var(--aho-divider);
}

.aho-report-sources__intro,
.aho-report-sources__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--aho-space-4);
}

.aho-report-sources__intro h3,
.aho-report-sources__intro p,
.aho-report-sources__footer p {
    margin: 0 !important;
}

.aho-report-sources__intro h3 {
    color: var(--aho-text) !important;
    font-size: 1.02rem !important;
}

.aho-report-sources__intro p {
    max-width: 88ch;
    margin-top: 4px !important;
    color: var(--aho-text-secondary) !important;
    font-size: .88rem;
    line-height: 1.5;
}

.aho-report-sources__groups {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: var(--aho-space-4);
}

.aho-source-group {
    min-width: 0;
    margin: 0;
    padding: var(--aho-space-4);
    border: 1px solid var(--aho-border);
    border-radius: 13px;
    background: var(--aho-bg-surface-soft);
}

.aho-source-group legend {
    padding: 0 6px;
    color: var(--aho-text);
    font-size: .88rem;
    font-weight: 800;
}

.aho-source-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--aho-space-3);
}

.aho-source-grid--structure {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aho-source-grid .aho-field {
    min-width: 0;
}

.aho-source-grid input[readonly] {
    color: var(--aho-text-secondary) !important;
    background: var(--aho-bg-surface-hover) !important;
    cursor: not-allowed;
}

.aho-report-sources__footer {
    padding-top: var(--aho-space-4);
    border-top: 1px solid var(--aho-divider);
}

.aho-report-sources__footer > p {
    color: var(--aho-text-secondary) !important;
    font-size: .84rem;
}

.aho-source-period-warning {
    max-width: 78ch;
    color: var(--aho-warning) !important;
    font-weight: 700;
}

.aho-report-sources.has-period-change > summary {
    background: var(--aho-warning-soft);
}

.aho-report-quality {
    width: 100%;
    overflow: clip;
    border: 1px solid rgba(168, 93, 0, .26);
    border-radius: 14px;
    background: var(--aho-warning-soft);
}

.aho-report-quality summary {
    min-height: 56px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 16px;
    color: var(--aho-warning);
    cursor: pointer;
}

.aho-report-quality summary strong {
    margin-left: auto;
}

.aho-report-quality ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0 22px 16px 42px;
    color: var(--aho-text-secondary);
    font-size: .9rem;
}

.aho-report-preview {
    display: grid;
    gap: 30px;
    justify-items: stretch;
}

.aho-report-sheet {
    width: 100%;
    max-width: 1180px;
    min-height: 1120px;
    justify-self: center;
    position: relative;
    overflow: hidden;
    padding: clamp(38px, 5vw, 72px) clamp(34px, 6vw, 82px) 70px;
    border: 1px solid #d5d0d8;
    border-radius: 3px;
    color: #000;
    background: #fff;
    box-shadow: 0 18px 48px rgba(49, 46, 81, .12);
    font-family: Arial, Helvetica, sans-serif;
}

.aho-report-sheet::after {
    content: "A4 · Seite " attr(aria-label);
    position: absolute;
    right: 14px;
    bottom: 12px;
    color: #9a929d;
    font-size: .68rem;
}

.aho-paper-header {
    min-height: 38px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
    padding-bottom: 10px;
    border-bottom: 2px solid #312e51;
    color: #312e51;
    font-size: .82rem;
}

.aho-paper-header > strong {
    font-size: 1.23rem;
}

.aho-paper-header--page-2 {
    justify-content: flex-end;
    margin-bottom: 38px;
}

.aho-paper-header b {
    font-weight: inherit;
}

.aho-paper-meta {
    display: grid;
    gap: 7px;
    margin-bottom: 28px;
    padding-bottom: 18px;
    border-bottom: 1px solid #938497;
    font-size: .88rem;
}

.aho-paper-meta > div {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 10px;
}

.aho-paper-meta b {
    color: #312e51;
}

.aho-report-sheet h2 {
    margin: 28px 0 12px !important;
    color: #312e51 !important;
    font-size: 1.18rem !important;
    font-weight: 750 !important;
}

.aho-report-sheet h3 {
    margin: 13px 0 9px !important;
    color: #60516e !important;
    font-size: .94rem !important;
    font-weight: 750 !important;
}

.aho-report-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    color: #111;
    background: #fff;
    font-size: .86rem;
}

.aho-report-table th,
.aho-report-table td {
    height: 42px;
    padding: 7px 10px;
    border: 1px solid #938497;
    vertical-align: middle;
    text-align: left;
}

.aho-report-table th {
    color: #312e51;
    background: #e1dde3;
    font-weight: 750;
}

.aho-report-table th:last-child,
.aho-report-table td:last-child {
    width: 170px;
}

.aho-report-table--events th:nth-child(1),
.aho-report-table--events td:nth-child(1) {
    width: 58%;
}

.aho-report-table--events th:nth-child(2),
.aho-report-table--events td:nth-child(2),
.aho-report-table--events th:nth-child(3),
.aho-report-table--events td:nth-child(3) {
    width: 21%;
}

.aho-report-table tr.is-total td {
    background: #f4f1f4;
    font-weight: 750;
}

.aho-report-value {
    position: relative;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 4px;
}

html body .app-shell .aho-report-sheet .aho-report-value > input[type="text"] {
    width: 100% !important;
    min-height: 32px !important;
    padding: 4px 6px !important;
    border: 1px solid transparent !important;
    border-radius: 5px !important;
    color: #111 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: .9rem !important;
    font-weight: 750 !important;
    text-align: right;
}

html body .app-shell .aho-report-sheet .aho-report-value > input[type="text"]:hover {
    border-color: #c8c0cb !important;
    background: #faf8fa !important;
}

html body .app-shell .aho-report-sheet .aho-report-value > input[type="text"]:focus {
    border-color: #e33b82 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(227, 59, 130, .18) !important;
}

.aho-report-value__meta {
    grid-column: 1 / -1;
    justify-self: end;
    color: #716977;
    font-size: .61rem;
    font-style: italic;
    line-height: 1;
}

.aho-report-value.is-manual .aho-report-value__meta {
    color: #a91555;
    font-weight: 750;
}

.aho-report-reset {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #d1cbd4;
    border-radius: 5px;
    color: #60516e;
    background: #fff;
    cursor: pointer;
}

.aho-report-reset:hover,
.aho-report-reset:focus-visible {
    border-color: #c91f68;
    color: #c91f68;
}

.aho-report-reset:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 3px rgba(227, 59, 130, .18);
}

.aho-paper-check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid #938497;
    border-left: 1px solid #938497;
}

.aho-paper-check-grid > div {
    min-width: 0;
}

.aho-report-check {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 6px 9px;
    border-right: 1px solid #938497;
    border-bottom: 1px solid #938497;
    cursor: pointer;
    font-size: .82rem;
}

.aho-report-check input[type="checkbox"] {
    position: absolute;
    width: 1px !important;
    height: 1px !important;
    opacity: 0;
}

.aho-report-check > span {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    display: grid;
    place-items: center;
    border: 1px solid #60516e;
    color: #312e51;
    background: #fff;
    font-size: .85rem;
    font-weight: 900;
}

.aho-report-check input[type="checkbox"]:checked + span::after {
    content: "×";
    font-size: 1rem;
    line-height: 1;
}

.aho-report-check input[type="checkbox"]:focus-visible + span {
    box-shadow: 0 0 0 3px rgba(227, 59, 130, .22);
}

.aho-report-check b {
    min-width: 0;
    font-weight: 500;
}

.aho-report-check--custom {
    display: grid;
    grid-template-columns: 17px minmax(0, 1fr);
}

html body .app-shell .aho-report-sheet .aho-report-check--custom input[type="text"],
html body .app-shell .aho-report-sheet .aho-paper-inline-input,
html body .app-shell .aho-report-sheet .aho-custom-row-label input {
    width: 100% !important;
    min-height: 30px !important;
    padding: 3px 5px !important;
    border: 1px solid transparent !important;
    border-radius: 4px !important;
    color: #111 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: .82rem !important;
}

html body .app-shell .aho-report-sheet :where(.aho-report-check--custom input[type="text"], .aho-paper-inline-input, .aho-custom-row-label input):hover {
    border-color: #c8c0cb !important;
}

html body .app-shell .aho-report-sheet :where(.aho-report-check--custom input[type="text"], .aho-paper-inline-input, .aho-custom-row-label input):focus {
    border-color: #e33b82 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(227, 59, 130, .16) !important;
}

.aho-paper-subheading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-top: 20px;
}

.aho-paper-subheading h3 {
    color: #312e51 !important;
}

.aho-paper-subheading em,
.aho-paper-note,
.aho-paper-footnote {
    color: #6f6874;
    font-size: .72rem;
    font-style: italic;
}

.aho-paper-note {
    margin: 7px 0 20px !important;
    line-height: 1.42;
}

.aho-paper-footnote {
    position: absolute;
    left: clamp(34px, 6vw, 82px);
    bottom: 38px;
}

.aho-custom-row-label {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 6px;
}

.aho-instagram-label {
    margin-bottom: 7px;
    font-weight: 650;
}

.aho-instagram-parts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.aho-instagram-parts > label {
    display: grid;
    gap: 3px;
    color: #60516e;
    font-size: .67rem;
    font-weight: 700;
}

.aho-instagram-parts .aho-report-value__meta,
.aho-instagram-parts .aho-report-reset {
    display: none !important;
}

@media (max-width: 1180px) {
    .aho-report-toolbar__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .aho-report-sheet {
        min-height: 1050px;
    }

    .aho-report-sources__groups {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .aho-report-toolbar__topline {
        align-items: stretch;
        flex-direction: column;
    }

    .aho-report-toolbar__actions {
        justify-content: flex-start;
    }

    .aho-report-toolbar__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aho-period-mode,
    .aho-toolbar-wide {
        grid-column: 1 / -1;
    }

    .aho-report-sheet {
        min-height: 0;
        overflow-x: auto;
        padding: 30px 24px 60px;
    }

    .aho-paper-header,
    .aho-paper-subheading {
        align-items: flex-start;
        flex-direction: column;
    }

    .aho-paper-meta > div {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .aho-report-table {
        min-width: 650px;
    }

    .aho-paper-check-grid {
        grid-template-columns: 1fr;
    }

    .aho-report-check {
        border-right: 1px solid #938497;
    }

    .aho-paper-footnote {
        position: static;
        margin-top: 18px;
    }

    .aho-source-grid--structure {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aho-report-sources__intro,
    .aho-report-sources__footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .aho-report-toolbar__grid {
        grid-template-columns: 1fr;
    }

    .aho-report-toolbar__actions,
    .aho-report-toolbar__actions .button,
    .aho-period-mode,
    .aho-toolbar-wide {
        width: 100%;
        grid-column: auto;
    }

    .aho-report-toolbar__actions {
        display: grid;
    }

    .aho-period-mode {
        grid-template-columns: 1fr;
    }

    .aho-period-mode label:first-of-type span,
    .aho-period-mode label:last-of-type span,
    .aho-period-mode span {
        border-radius: 8px;
    }

    .aho-instagram-parts {
        grid-template-columns: 1fr;
    }

    .aho-report-sources > summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .aho-source-grid,
    .aho-source-grid--structure {
        grid-template-columns: 1fr;
    }

    .aho-report-sources__footer .button {
        width: 100%;
    }
}

/* ========================================================================== */
/* Techburg Premium Module Workspace · Version 1.0.19                        */
/* Visual direction: 1.0.17 refined with the supplied 2026 reference.        */
/* ========================================================================== */

:root {
    --aho-sidebar-width: 252px;
    --aho-sidebar-collapsed: 72px;
    --aho-icon-stroke: 1.8;
}

html body .brand__mark svg {
    width: 25px !important;
    height: 25px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: var(--aho-icon-stroke) !important;
}

html body .nav-item__icon {
    width: 23px !important;
    height: 23px !important;
    display: grid;
    place-items: center;
}

html body .nav-item__icon svg {
    width: 21px !important;
    height: 21px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: var(--aho-icon-stroke) !important;
}

html body :is(.icon-button, .topbar-search, .aho-theme-switcher button, .user-menu) svg {
    fill: none;
    stroke: currentColor;
    stroke-width: var(--aho-icon-stroke);
}

html body .nav-item {
    min-height: 46px;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
}

html body .nav-item:hover {
    border-color: rgba(145, 167, 190, .14) !important;
    background: linear-gradient(90deg, rgba(135, 155, 178, .11), rgba(135, 155, 178, .035)) !important;
}

html body .nav-item.is-active,
html body .nav-item[aria-current="page"] {
    border-color: rgba(135, 146, 255, .27) !important;
    background: linear-gradient(100deg, rgba(103, 116, 239, .30), rgba(103, 116, 239, .09)) !important;
    box-shadow: inset 3px 0 0 #8792ff, 0 7px 18px rgba(0, 0, 0, .12) !important;
}

html body .nav-item.is-active .nav-item__icon,
html body .nav-item[aria-current="page"] .nav-item__icon {
    filter: drop-shadow(0 0 7px currentColor);
}

html body.page-entry {
    --entry-accent: #087d72;
    --entry-accent-rgb: 8, 125, 114;
    --entry-accent-strong: #06685f;
    --entry-canvas: #edf6f6;
    --entry-shell: rgba(255, 255, 255, .82);
    --entry-shell-strong: #ffffff;
    --entry-card: rgba(255, 255, 255, .92);
    --entry-card-muted: rgba(246, 249, 251, .92);
    --entry-line: rgba(66, 82, 99, .19);
    --entry-line-strong: rgba(var(--entry-accent-rgb), .42);
    --entry-glow: rgba(var(--entry-accent-rgb), .16);
    --entry-text: #101827;
    --entry-text-secondary: #435166;
    --entry-text-muted: #6c7889;
    --entry-button-ink: #ffffff;
    --aho-accent: var(--entry-accent);
    --aho-accent-hover: var(--entry-accent-strong);
    --aho-accent-ink: var(--entry-button-ink);
}

html body.page-entry--social-work {
    --entry-accent: #087d72;
    --entry-accent-rgb: 8, 125, 114;
    --entry-accent-strong: #06685f;
    --entry-canvas: #edf7f6;
}

html body.page-entry--events {
    --entry-accent: #6548c7;
    --entry-accent-rgb: 101, 72, 199;
    --entry-accent-strong: #5537b8;
    --entry-canvas: #f2effa;
}

html body.page-entry--needle-exchange {
    --entry-accent: #2466c8;
    --entry-accent-rgb: 36, 102, 200;
    --entry-accent-strong: #1856ae;
    --entry-canvas: #edf4fc;
}

html body.page-entry--inventory {
    --entry-accent: #985b08;
    --entry-accent-rgb: 152, 91, 8;
    --entry-accent-strong: #7c4905;
    --entry-canvas: #f8f3ea;
}

:root[data-theme="dark"] body.page-entry {
    --entry-canvas: #07131c;
    --entry-shell: rgba(5, 14, 22, .88);
    --entry-shell-strong: #091620;
    --entry-card: rgba(10, 24, 34, .91);
    --entry-card-muted: rgba(13, 29, 40, .86);
    --entry-line: rgba(151, 174, 196, .20);
    --entry-line-strong: rgba(var(--entry-accent-rgb), .54);
    --entry-glow: rgba(var(--entry-accent-rgb), .26);
    --entry-text: #f5f8fb;
    --entry-text-secondary: #cbd5df;
    --entry-text-muted: #94a4b5;
    --entry-button-ink: #061015;
    --aho-text: var(--entry-text);
    --aho-text-secondary: var(--entry-text-secondary);
    --aho-text-muted: var(--entry-text-muted);
    --aho-bg-surface: #0d1a24;
    --aho-bg-surface-raised: #101f2b;
    --aho-bg-surface-soft: #0b1822;
    --aho-bg-surface-hover: #142634;
    --aho-border: rgba(151, 174, 196, .18);
    --aho-border-strong: rgba(151, 174, 196, .30);
    --aho-divider: rgba(151, 174, 196, .14);
    --aho-accent-ink: var(--entry-button-ink);
}

:root[data-theme="dark"] body.page-entry--social-work {
    --entry-accent: #27d3c1;
    --entry-accent-rgb: 39, 211, 193;
    --entry-accent-strong: #5ae4d6;
    --entry-canvas: #03171d;
}

:root[data-theme="dark"] body.page-entry--events {
    --entry-accent: #aa65ff;
    --entry-accent-rgb: 170, 101, 255;
    --entry-accent-strong: #c08fff;
    --entry-canvas: #100a22;
}

:root[data-theme="dark"] body.page-entry--needle-exchange {
    --entry-accent: #4c91ff;
    --entry-accent-rgb: 76, 145, 255;
    --entry-accent-strong: #76abff;
    --entry-canvas: #061426;
}

:root[data-theme="dark"] body.page-entry--inventory {
    --entry-accent: #f18a2b;
    --entry-accent-rgb: 241, 138, 43;
    --entry-accent-strong: #ffab5e;
    --entry-canvas: #1a1107;
}

html body.page-entry .brand__mark {
    border-color: rgba(var(--entry-accent-rgb), .46) !important;
    color: var(--entry-accent) !important;
    background: linear-gradient(145deg, rgba(var(--entry-accent-rgb), .22), rgba(var(--entry-accent-rgb), .06)) !important;
    box-shadow: 0 8px 22px rgba(var(--entry-accent-rgb), .18), inset 0 1px 0 rgba(255, 255, 255, .10) !important;
}

html body.page-entry .brand__mark svg {
    filter: drop-shadow(0 0 7px rgba(var(--entry-accent-rgb), .62));
}

html body.page-entry .content {
    min-height: calc(100dvh - 64px);
    padding: 18px 20px 110px !important;
    background:
        radial-gradient(circle at 12% -6%, rgba(var(--entry-accent-rgb), .22), transparent 34rem),
        radial-gradient(circle at 96% 104%, rgba(var(--entry-accent-rgb), .12), transparent 32rem),
        var(--entry-canvas) !important;
}

html body.page-entry .content::before {
    position: fixed;
    z-index: 0;
    inset: 64px 0 auto var(--aho-sidebar-width);
    height: 3px;
    background: linear-gradient(90deg, var(--entry-accent), rgba(var(--entry-accent-rgb), .32), transparent 72%);
    box-shadow: 0 0 18px rgba(var(--entry-accent-rgb), .38);
}

html body.page-entry .content::after {
    content: "";
    position: fixed;
    z-index: 0;
    right: 0;
    bottom: 0;
    width: min(42vw, 620px);
    height: min(46vh, 520px);
    background-image: radial-gradient(rgba(var(--entry-accent-rgb), .30) .8px, transparent .8px);
    background-size: 9px 9px;
    -webkit-mask-image: linear-gradient(135deg, transparent 18%, #000 100%);
    mask-image: linear-gradient(135deg, transparent 18%, #000 100%);
    opacity: .34;
    pointer-events: none;
}

body.sidebar-collapsed.page-entry .content::before {
    left: var(--aho-sidebar-collapsed);
}

html body.page-entry .aho-entry-workspace {
    position: relative;
    z-index: 1;
    padding: 0 !important;
}

html body.page-entry .aho-entry-form {
    position: relative;
    display: grid;
    gap: 0 !important;
    padding: 0 18px 96px;
    overflow: visible;
    border: 1px solid var(--entry-line);
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(var(--entry-accent-rgb), .065), transparent 28rem),
        var(--entry-shell);
    box-shadow:
        0 24px 60px rgba(3, 8, 15, .16),
        inset 0 1px 0 rgba(255, 255, 255, .08);
    backdrop-filter: blur(20px) saturate(125%);
}

:root[data-theme="dark"] body.page-entry .aho-entry-form {
    box-shadow:
        0 28px 72px rgba(0, 0, 0, .42),
        0 0 0 1px rgba(var(--entry-accent-rgb), .06),
        inset 0 1px 0 rgba(255, 255, 255, .045);
}

.aho-entry-command-header {
    min-height: 112px;
    gap: 15px;
    margin-inline: -18px;
    padding: 20px 24px 18px;
    border-bottom: 1px solid var(--entry-line);
    border-radius: 22px 22px 0 0;
    background: linear-gradient(100deg, rgba(var(--entry-accent-rgb), .13), rgba(var(--entry-accent-rgb), .025) 44%, transparent);
}

.aho-entry-command-header__icon {
    width: 52px;
    height: 52px;
    border-color: rgba(var(--entry-accent-rgb), .48);
    border-radius: 14px;
    color: var(--entry-accent);
    background: linear-gradient(145deg, rgba(var(--entry-accent-rgb), .22), rgba(var(--entry-accent-rgb), .07));
    box-shadow: 0 10px 28px var(--entry-glow), inset 0 1px 0 rgba(255, 255, 255, .14);
}

.aho-entry-command-header__icon svg {
    width: 28px;
    height: 28px;
}

.aho-entry-command-header h1 {
    color: var(--entry-text) !important;
    font-size: clamp(1.7rem, 1.45rem + .7vw, 2.2rem) !important;
    font-weight: 820;
    letter-spacing: -.035em;
}

.aho-entry-command-header p {
    color: var(--entry-text-muted);
}

.aho-entry-command-header__eyebrow {
    color: var(--entry-accent);
}

.aho-entry-online {
    border-color: var(--entry-line);
    border-radius: 999px;
    color: var(--entry-text-secondary);
    background: rgba(3, 10, 17, .10);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

:root[data-theme="dark"] .aho-entry-online {
    background: rgba(1, 7, 12, .38);
}

.aho-entry-layout {
    grid-template-columns: minmax(0, 1fr) minmax(286px, 320px);
    gap: 18px;
    padding-top: 18px;
}

.aho-entry-steps {
    margin-bottom: 14px;
    border-color: var(--entry-line);
    border-radius: 13px;
    background: var(--entry-card);
    box-shadow: 0 8px 24px rgba(3, 8, 15, .08), inset 0 1px 0 rgba(255, 255, 255, .05);
}

.aho-entry-steps button {
    min-height: 68px;
    border-right-color: var(--entry-line);
    color: var(--entry-text-muted);
}

.aho-entry-steps button > span:first-child {
    border-color: var(--entry-line);
    color: var(--entry-text-secondary);
    background: var(--entry-card-muted);
}

.aho-entry-steps button strong {
    font-size: .8rem;
}

.aho-entry-steps button[aria-current="step"] {
    color: var(--entry-text);
    background: linear-gradient(180deg, rgba(var(--entry-accent-rgb), .17), rgba(var(--entry-accent-rgb), .07));
}

.aho-entry-steps button[aria-current="step"]::after {
    height: 3px;
    background: var(--entry-accent);
    box-shadow: 0 0 12px var(--entry-accent);
}

.aho-entry-steps button[aria-current="step"] > span:first-child {
    border-color: var(--entry-accent);
    color: var(--entry-button-ink) !important;
    background: var(--entry-accent);
    box-shadow: 0 0 18px var(--entry-glow);
}

html body .aho-entry-form .aho-form-section {
    margin-bottom: 14px !important;
    padding: 19px !important;
    border-color: var(--entry-line) !important;
    border-radius: 15px !important;
    background:
        linear-gradient(140deg, rgba(var(--entry-accent-rgb), .038), transparent 44%),
        var(--entry-card) !important;
    box-shadow: 0 10px 28px rgba(3, 8, 15, .075), inset 0 1px 0 rgba(255, 255, 255, .04) !important;
}

html body .aho-entry-form .aho-form-section::before {
    inset: 12px auto 12px 0;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: linear-gradient(180deg, transparent, var(--entry-accent), transparent);
    box-shadow: 0 0 12px var(--entry-glow);
}

.aho-form-section__header {
    min-height: 46px;
    gap: 12px;
    margin-bottom: 17px !important;
    padding-bottom: 13px;
    border-bottom-color: var(--entry-line);
}

.aho-form-section__header h2 {
    color: var(--entry-text) !important;
    font-size: 1.02rem !important;
    font-weight: 780;
}

.aho-section-number {
    position: relative;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    border-color: rgba(var(--entry-accent-rgb), .42) !important;
    border-radius: 12px !important;
    color: var(--entry-accent) !important;
    background: linear-gradient(145deg, rgba(var(--entry-accent-rgb), .18), rgba(var(--entry-accent-rgb), .055)) !important;
    box-shadow: 0 8px 20px rgba(var(--entry-accent-rgb), .10);
}

.aho-section-number svg {
    width: 21px;
    height: 21px;
}

.aho-section-number b {
    position: absolute;
    right: -5px;
    bottom: -5px;
    min-width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    border: 2px solid var(--entry-card);
    border-radius: 999px;
    color: var(--entry-button-ink);
    background: var(--entry-accent);
    font-size: .53rem;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 3px 8px rgba(0, 0, 0, .18);
}

.aho-entry-form .aho-field > span:first-child,
.aho-entry-form .aho-field > label,
.aho-entry-form .aho-fieldset > legend {
    color: var(--entry-text-secondary) !important;
    font-size: .78rem !important;
}

html body .app-shell .aho-entry-form :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-height: 46px !important;
    border-color: var(--entry-line) !important;
    border-radius: 10px !important;
    color: var(--entry-text) !important;
    background: var(--entry-card-muted) !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .06) !important;
}

html body .app-shell .aho-entry-form :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):hover {
    border-color: rgba(var(--entry-accent-rgb), .44) !important;
}

html body .app-shell .aho-entry-form :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
    border-color: var(--entry-accent) !important;
    background: var(--entry-shell-strong) !important;
    box-shadow: 0 0 0 3px rgba(var(--entry-accent-rgb), .20), 0 0 18px rgba(var(--entry-accent-rgb), .10) !important;
}

.aho-choice-grid {
    grid-template-columns: repeat(auto-fit, minmax(146px, 1fr)) !important;
    gap: 9px !important;
}

html body .app-shell .aho-entry-form label.choice {
    position: relative;
    min-height: 54px !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border-color: var(--entry-line) !important;
    border-radius: 11px !important;
    color: var(--entry-text-secondary) !important;
    background: linear-gradient(180deg, var(--entry-card-muted), color-mix(in srgb, var(--entry-card-muted) 82%, transparent)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035) !important;
}

html body .app-shell .aho-entry-form label.choice:hover {
    border-color: rgba(var(--entry-accent-rgb), .58) !important;
    color: var(--entry-text) !important;
    background: linear-gradient(145deg, rgba(var(--entry-accent-rgb), .14), rgba(var(--entry-accent-rgb), .055)) !important;
    box-shadow: 0 8px 20px rgba(var(--entry-accent-rgb), .10), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
    transform: translateY(-1px) !important;
}

html body .app-shell .aho-entry-form label.choice.is-selected,
html body .app-shell .aho-entry-form label.choice:has(input:checked) {
    border-color: var(--entry-accent) !important;
    color: var(--entry-text) !important;
    background: linear-gradient(135deg, rgba(var(--entry-accent-rgb), .31), rgba(var(--entry-accent-rgb), .13)) !important;
    box-shadow: 0 0 0 1px rgba(var(--entry-accent-rgb), .16), 0 10px 26px var(--entry-glow), inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}

.aho-entry-form label.choice.choice--with-icon {
    min-height: 60px !important;
    padding-right: 38px !important;
}

.aho-entry-form .choice--with-icon .choice__indicator {
    position: absolute;
    top: 9px;
    right: 9px;
    width: 16px !important;
    height: 16px !important;
    opacity: .78;
}

.aho-entry-form .choice__icon {
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    display: grid;
    place-items: center;
    color: var(--entry-accent);
}

.aho-entry-form .choice__icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: var(--aho-icon-stroke);
}

.aho-entry-form .choice:has(input:checked) .choice__icon {
    filter: drop-shadow(0 0 7px rgba(var(--entry-accent-rgb), .56));
}

.aho-entry-form .choice__label {
    color: inherit;
    font-size: .82rem !important;
    font-weight: 730 !important;
}

.aho-toggle-card {
    border-color: var(--entry-line) !important;
    border-radius: 12px !important;
    color: var(--entry-text-secondary);
    background: var(--entry-card-muted) !important;
}

.aho-toggle-card:hover,
.aho-toggle-card:has(input:checked) {
    border-color: rgba(var(--entry-accent-rgb), .56) !important;
    background: linear-gradient(145deg, rgba(var(--entry-accent-rgb), .18), rgba(var(--entry-accent-rgb), .06)) !important;
}

.aho-number-stepper {
    min-height: 52px;
    grid-template-columns: 50px minmax(72px, 1fr) 50px;
    border-color: var(--entry-line) !important;
    border-radius: 12px !important;
    background: var(--entry-card-muted) !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .07), 0 5px 14px rgba(3, 8, 15, .04) !important;
}

.aho-number-stepper button {
    width: 50px !important;
    min-width: 50px;
    min-height: 50px;
    color: var(--entry-accent) !important;
    background: rgba(var(--entry-accent-rgb), .045) !important;
    font-size: 1.35rem !important;
}

.aho-number-stepper button:hover {
    color: var(--entry-button-ink) !important;
    background: var(--entry-accent) !important;
    box-shadow: 0 0 20px var(--entry-glow);
}

html body .app-shell .aho-entry-form .aho-number-stepper input {
    min-height: 50px !important;
    color: var(--entry-text) !important;
    font-size: 1.28rem !important;
    font-weight: 860 !important;
    font-variant-numeric: tabular-nums;
}

.aho-number-presets button {
    border-color: var(--entry-line) !important;
    color: var(--entry-text-muted) !important;
    background: var(--entry-card-muted) !important;
}

.aho-number-presets button:hover,
.aho-number-presets button.is-active,
.aho-number-presets button[aria-pressed="true"] {
    border-color: var(--entry-accent) !important;
    color: var(--entry-accent) !important;
    background: rgba(var(--entry-accent-rgb), .13) !important;
}

.aho-conditional-panel,
.aho-team-options,
.aho-subsection-grid {
    border-color: var(--entry-line) !important;
    border-radius: 12px !important;
    background: var(--entry-card-muted) !important;
}

.aho-entry-assistant {
    top: 82px;
    gap: 11px;
    padding: 14px;
    border-color: var(--entry-line);
    border-radius: 15px;
    color: var(--entry-text-secondary);
    background:
        radial-gradient(circle at 100% 0, rgba(var(--entry-accent-rgb), .14), transparent 15rem),
        var(--entry-card);
    box-shadow: 0 14px 36px rgba(3, 8, 15, .12), inset 0 1px 0 rgba(255, 255, 255, .05);
}

.aho-entry-assistant__head,
.aho-assistant-panel {
    border-color: var(--entry-line);
}

.aho-entry-assistant__spark {
    width: 38px;
    height: 38px;
    border-color: rgba(var(--entry-accent-rgb), .46);
    border-radius: 11px;
    color: var(--entry-accent);
    background: rgba(var(--entry-accent-rgb), .15);
    box-shadow: 0 7px 18px rgba(var(--entry-accent-rgb), .12);
}

.aho-entry-assistant__spark svg {
    width: 20px;
    height: 20px;
}

.aho-assistant-panel {
    border-radius: 11px;
    background: var(--entry-card-muted);
}

.aho-assistant-panel h2,
.aho-entry-assistant__head strong,
.aho-assistant-panel li,
.aho-assistant-hints p,
.aho-autosave-state {
    color: var(--entry-text-secondary) !important;
}

.aho-assistant-next {
    min-height: 52px;
    border-color: rgba(var(--entry-accent-rgb), .48);
    border-radius: 11px;
    color: var(--entry-text);
    background: linear-gradient(135deg, rgba(var(--entry-accent-rgb), .21), rgba(var(--entry-accent-rgb), .08));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

.aho-assistant-next:hover {
    border-color: var(--entry-accent);
    box-shadow: 0 9px 24px var(--entry-glow), inset 0 1px 0 rgba(255, 255, 255, .09);
}

.aho-assistant-next > span:last-child,
.aho-assistant-next > span:last-child svg {
    width: 22px;
    height: 22px;
}

.aho-entry-review__list article {
    border-color: var(--entry-line);
    border-radius: 10px;
    background: var(--entry-card-muted);
}

.aho-entry-actionbar {
    right: 18px;
    bottom: 14px;
    left: calc(var(--aho-sidebar-width) + 18px);
    min-height: 72px;
    padding: 10px 12px 10px 16px;
    border: 1px solid var(--entry-line);
    border-radius: 15px;
    color: var(--entry-text-secondary);
    background:
        linear-gradient(100deg, rgba(var(--entry-accent-rgb), .10), transparent 38%),
        color-mix(in srgb, var(--entry-shell-strong) 92%, transparent);
    box-shadow: 0 18px 46px rgba(0, 0, 0, .20), inset 0 1px 0 rgba(255, 255, 255, .07);
    backdrop-filter: blur(22px) saturate(145%);
}

body.sidebar-collapsed .aho-entry-actionbar {
    left: calc(var(--aho-sidebar-collapsed) + 18px);
}

.aho-entry-actionbar__state {
    color: var(--entry-text-muted);
}

.aho-entry-actionbar__state i {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--aho-success) 55%, transparent);
    border-radius: 50%;
    color: var(--aho-success);
    background: var(--aho-success-soft);
    box-shadow: none;
}

.aho-entry-actionbar__state i svg {
    width: 20px;
    height: 20px;
}

.aho-entry-actionbar__buttons .button {
    gap: 8px;
    border-radius: 10px !important;
}

.aho-entry-actionbar__buttons .button svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

html body.page-entry .button--primary {
    border-color: var(--entry-accent) !important;
    color: var(--entry-button-ink) !important;
    background: linear-gradient(135deg, var(--entry-accent-strong), var(--entry-accent)) !important;
    box-shadow: 0 10px 24px var(--entry-glow), inset 0 1px 0 rgba(255, 255, 255, .18) !important;
}

html body.page-entry .button--primary:hover {
    filter: brightness(1.07);
    transform: translateY(-1px);
}

.aho-save-confirmation__icon svg {
    width: 30px;
    height: 30px;
}

body.page-entry .nav-item.is-active,
body.page-entry .nav-item[aria-current="page"] {
    border-color: rgba(var(--entry-accent-rgb), .44) !important;
    color: #ffffff !important;
    background: linear-gradient(100deg, rgba(var(--entry-accent-rgb), .58), rgba(var(--entry-accent-rgb), .17)) !important;
    box-shadow: inset 3px 0 0 var(--entry-accent), 0 9px 24px rgba(var(--entry-accent-rgb), .18) !important;
}

body.page-entry .nav-item.is-active .nav-item__icon,
body.page-entry .nav-item[aria-current="page"] .nav-item__icon {
    color: var(--entry-accent) !important;
}

@media (max-width: 1220px) {
    .aho-entry-layout {
        grid-template-columns: minmax(0, 1fr) 282px;
    }
}

@media (max-width: 1040px) {
    .aho-entry-layout {
        grid-template-columns: 1fr;
    }

    .aho-entry-assistant {
        position: static;
    }
}

@media (max-width: 900px) {
    html body.page-entry .content {
        padding: 12px 12px 112px !important;
    }

    html body.page-entry .content::before {
        left: 0;
    }

    html body.page-entry .aho-entry-form {
        padding-inline: 14px;
        border-radius: 18px;
    }

    .aho-entry-command-header {
        margin-inline: -14px;
        border-radius: 18px 18px 0 0;
    }

    .aho-entry-actionbar,
    body.sidebar-collapsed .aho-entry-actionbar {
        right: 10px;
        bottom: 10px;
        left: 10px;
    }
}

@media (max-width: 680px) {
    html body.page-entry .content {
        padding-bottom: 230px !important;
    }

    html body.page-entry .aho-entry-form {
        padding: 0 10px 190px;
        border-radius: 15px;
    }

    .aho-entry-command-header {
        margin-inline: -10px;
        padding: 15px;
        border-radius: 15px 15px 0 0;
    }

    .aho-entry-command-header__icon {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

    .aho-entry-command-header__icon svg {
        width: 24px;
        height: 24px;
    }

    html body .aho-entry-form .aho-form-section {
        padding: 15px !important;
        border-radius: 13px !important;
    }

    .aho-section-number {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
    }

    .aho-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .aho-entry-form label.choice.choice--with-icon {
        min-height: 62px !important;
    }

    .aho-entry-actionbar {
        padding: 9px;
        border-radius: 13px;
    }

    .aho-entry-actionbar__state i {
        width: 28px;
        height: 28px;
    }
}

@media (max-width: 420px) {
    html body.page-entry .content {
        padding-inline: 6px !important;
    }

    .aho-choice-grid {
        grid-template-columns: 1fr !important;
    }

    .aho-fieldset--quick .aho-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .aho-entry-command-header h1 {
        font-size: 1.35rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

@media print {
    :root {
        color-scheme: light;
    }

    body {
        color: #172033 !important;
        background: #fff !important;
    }

    .sidebar,
    .topbar,
    .sidebar-overlay,
    .app-footer,
    .page-header__actions,
    .aho-hero-actions,
    .aho-filter-panel,
    .aho-chart-export,
    .aho-entry-actionbar,
    .aho-entry-assistant,
    .aho-entry-steps,
    .button {
        display: none !important;
    }

    .app-shell {
        display: block !important;
    }

    .content {
        max-width: none;
        padding: 0 !important;
    }

    .card,
    .kpi-card,
    .aho-summary-card {
        break-inside: avoid;
        border-color: #dfe4ec !important;
        color: #172033 !important;
        background: #fff !important;
        box-shadow: none !important;
    }
}

/* ========================================================================== */
/* 1.0.20 final screen cascade                                                */
/* Keeps the single-page command surface authoritative after legacy layers.   */
/* ========================================================================== */

@media screen {
    :root {
        --aho-sidebar-width: 246px;
        --aho-sidebar-collapsed: 76px;
    }

    :root[data-theme="light"] body .sidebar,
    :root[data-theme="light"] body .sidebar__brand,
    :root[data-theme="light"] body .sidebar__footer {
        border-color: #dfe7f0 !important;
        color: #1d2b3f !important;
        background: linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(247, 250, 254, .99)) !important;
    }

    :root[data-theme="light"] body .sidebar {
        box-shadow: 12px 0 36px rgba(42, 64, 92, .075) !important;
    }

    :root[data-theme="light"] body .nav-item {
        color: #43536a !important;
    }

    :root[data-theme="light"] body .nav-item:hover {
        border-color: #dbe5f0 !important;
        color: #17253a !important;
        background: linear-gradient(90deg, #edf3fa, #f7faff) !important;
    }

    :root[data-theme="light"] body .nav-item.is-active,
    :root[data-theme="light"] body .nav-item[aria-current="page"] {
        border-color: rgba(83, 99, 232, .23) !important;
        color: #26378d !important;
        background: linear-gradient(100deg, rgba(83, 99, 232, .15), rgba(83, 99, 232, .045)) !important;
        box-shadow: inset 3px 0 0 #5363e8, 0 8px 22px rgba(55, 71, 168, .08) !important;
    }

    :root[data-theme="dark"] body .sidebar,
    :root[data-theme="dark"] body .sidebar__brand,
    :root[data-theme="dark"] body .sidebar__footer {
        border-color: #2b3a4d !important;
        background: #172333 !important;
    }

    :root[data-theme="dark"] body.page-entry {
        --entry-shell: rgba(23, 34, 47, .94);
        --entry-shell-strong: #1b2938;
        --entry-card: rgba(31, 45, 60, .86);
        --entry-card-muted: rgba(27, 40, 54, .96);
        --entry-line: rgba(173, 190, 209, .21);
        --entry-text: #f7f9fc;
        --entry-text-secondary: #d5deea;
        --entry-text-muted: #aebccc;
        --entry-button-ink: #07131d;
    }

    :root[data-theme="dark"] body.page-entry--social-work { --entry-canvas: #12232b; }
    :root[data-theme="dark"] body.page-entry--events { --entry-canvas: #1b192d; }
    :root[data-theme="dark"] body.page-entry--needle-exchange { --entry-canvas: #142238; }
    :root[data-theme="dark"] body.page-entry--inventory { --entry-canvas: #282117; }

    html body.page-entry .content {
        padding: 14px 16px 104px !important;
        background:
            radial-gradient(circle at 18% -10%, rgba(var(--entry-accent-rgb), .17), transparent 36rem),
            linear-gradient(145deg, rgba(255, 255, 255, .24), transparent 50%),
            var(--entry-canvas) !important;
    }

    html body.page-entry .content::after {
        opacity: .16;
    }

    html body.page-entry .aho-entry-form {
        padding: 0 15px 92px !important;
        border-radius: 24px !important;
        background:
            linear-gradient(145deg, rgba(var(--entry-accent-rgb), .045), transparent 32rem),
            var(--entry-shell) !important;
        box-shadow: 0 24px 64px rgba(40, 57, 78, .13), inset 0 1px 0 rgba(255, 255, 255, .65) !important;
    }

    :root[data-theme="dark"] body.page-entry .aho-entry-form {
        box-shadow: 0 26px 68px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
    }

    html body.page-entry .aho-entry-command-header {
        min-height: 92px;
        margin-inline: -15px;
        padding: 16px 22px;
        border-radius: 24px 24px 0 0;
        background:
            linear-gradient(105deg, rgba(var(--entry-accent-rgb), .16), rgba(var(--entry-accent-rgb), .035) 48%, transparent),
            var(--entry-shell-strong);
    }

    .aho-entry-layout.aho-entry-layout--single {
        display: block !important;
        padding-top: 12px;
    }

    .aho-entry-layout--single .aho-entry-stage {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 12px;
        align-items: start;
    }

    html body .app-shell .aho-entry-layout--single .aho-form-section {
        margin: 0 !important;
        padding: 15px 16px !important;
        border-radius: 18px !important;
        background:
            linear-gradient(140deg, rgba(var(--entry-accent-rgb), .032), transparent 55%),
            var(--entry-card) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .17) !important;
    }

    .aho-entry-layout--single .aho-form-section__header {
        min-height: 38px;
        margin-bottom: 12px !important;
        padding-bottom: 10px;
    }

    .aho-entry-layout--single .aho-section-number {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        border: 0 !important;
        border-radius: 12px !important;
        background: rgba(var(--entry-accent-rgb), .13) !important;
        box-shadow: none !important;
    }

    html body .app-shell .aho-entry-layout--single label.choice {
        min-height: 54px !important;
        border-radius: 14px !important;
        background: var(--entry-card-muted) !important;
    }

    html body .app-shell .aho-entry-layout--single label.choice:hover {
        transform: translateY(-2px) !important;
    }

    html body .app-shell .aho-entry-layout--single label.choice:has(input:checked) {
        background:
            radial-gradient(circle at 16% 10%, rgba(255, 255, 255, .18), transparent 42%),
            linear-gradient(135deg, rgba(var(--entry-accent-rgb), .27), rgba(var(--entry-accent-rgb), .10)) !important;
    }

    .aho-entry-layout--single .aho-choice-grid {
        grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
        gap: 8px !important;
    }

    .aho-entry-layout--single .aho-number-stepper {
        min-height: 50px;
        border-radius: 14px !important;
    }

    .aho-entry-layout--single .aho-number-stepper button,
    html body .app-shell .aho-entry-layout--single .aho-number-stepper input {
        min-height: 48px !important;
    }

    .aho-entry-actionbar.aho-entry-actionbar--single {
        min-height: 76px;
        background:
            linear-gradient(100deg, rgba(var(--entry-accent-rgb), .10), transparent 40%),
            color-mix(in srgb, var(--entry-shell-strong) 94%, transparent) !important;
    }

    :root[data-theme="light"] body.page-entry .nav-item.is-active,
    :root[data-theme="light"] body.page-entry .nav-item[aria-current="page"] {
        border-color: rgba(var(--entry-accent-rgb), .26) !important;
        color: var(--entry-accent-strong) !important;
        background: linear-gradient(100deg, rgba(var(--entry-accent-rgb), .16), rgba(var(--entry-accent-rgb), .045)) !important;
        box-shadow: inset 3px 0 0 var(--entry-accent), 0 8px 22px rgba(var(--entry-accent-rgb), .08) !important;
    }
}

@media screen and (max-width: 1080px) {
    .aho-entry-layout--single :is(#social-team, #social-client, #event-type, #inventory-id),
    .aho-entry-layout--single :is(#social-person, #social-topics, #event-target, #inventory-batch),
    .aho-entry-layout--single :is(#social-lab, #social-notes, #needle-basics, #needle-type) {
        grid-column: span 12;
    }
}

@media screen and (max-width: 760px) {
    html body.page-entry .content {
        padding: 8px 8px 176px !important;
    }

    html body.page-entry .aho-entry-form {
        padding: 0 9px 150px !important;
        border-radius: 18px !important;
    }

    html body.page-entry .aho-entry-command-header {
        margin-inline: -9px;
        padding: 13px;
        border-radius: 18px 18px 0 0;
    }

    .aho-entry-layout--single .aho-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .aho-entry-actionbar--single .aho-entry-actionbar__state,
    .aho-entry-actionbar--single [data-draft-save],
    .aho-entry-actionbar--single [data-draft-discard],
    .aho-entry-actionbar--single [data-save-mode-value="save_and_new"] {
        display: none !important;
    }
}

@media screen and (max-width: 430px) {
    .aho-entry-layout--single .aho-choice-grid {
        grid-template-columns: 1fr !important;
    }

    .aho-entry-layout--single .aho-fieldset--quick .aho-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
