:root {
    --ui-bg: #dbe5ef;
    --ui-surface: #ffffff;
    --ui-surface-muted: #f1f5f9;
    --ui-border: rgba(15, 23, 42, 0.10);
    --ui-border-strong: rgba(15, 23, 42, 0.18);
    --ui-ink: #111827;
    --ui-ink-muted: #64748b;
    --ui-primary: #1d4ed8;
    --ui-primary-strong: #1e40af;
    --ui-primary-soft: #dbeafe;
    --ui-danger: #b91c1c;
    --ui-danger-soft: #fee2e2;
    --ui-success: #166534;
    --ui-success-soft: #dcfce7;
    --ui-warning: #92400e;
    --ui-warning-soft: #fef3c7;
    --ui-radius: 12px;
    --ui-shadow: none;
    --font-sans: "Avenir Next", "Trebuchet MS", "Segoe UI", sans-serif;
    --font-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", serif;
}

*, *::before, *::after { box-sizing: border-box; }
html {
    font-size: 16px;
    background: var(--ui-bg);
}

body {
    margin: 0;
    min-height: 100vh;
    color: var(--ui-ink);
    font-family: var(--font-sans);
    line-height: 1.5;
    background: var(--ui-bg) !important;
    background-image: none !important;
}

.auth-login {
    min-height: 100vh;
}

.auth-login__main {
    display: grid;
    place-items: center;
    min-height: 100vh;
    padding: 1.5rem;
}

.auth-login .auth-card {
    width: min(100%, 24rem);
}

.site-shell,
.site-main,
.site-content,
.app-body--front {
    background: var(--ui-bg) !important;
    background-image: none !important;
}

body::before,
body::after { background-image: none !important; }

a { color: inherit; text-decoration: none; }
p, ul, ol, dl { margin-top: 0; }
button, input, select, textarea { font: inherit; }

button,
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    border: 1px solid transparent;
    border-radius: 10px;
    padding: 0.65rem 0.9rem;
    background: var(--ui-primary);
    background-image: none !important;
    color: #ffffff;
    cursor: pointer;
    font-weight: 700;
}

button:hover,
.button:hover { background: var(--ui-primary-strong); }
button:disabled,
.button[aria-disabled='true'] { cursor: not-allowed; opacity: 0.55; }

.button--ghost {
    border-color: var(--ui-border-strong);
    background: #ffffff !important;
    background-image: none !important;
    color: var(--ui-ink);
}

.button--ghost:hover { background: var(--ui-surface-muted) !important; }

input:not([type='checkbox']),
select,
textarea,
.form-input,
.form-select,
.form-textarea {
    width: 100%;
    border: 1px solid var(--ui-border-strong);
    border-radius: 10px;
    padding: 0.68rem 0.8rem;
    background: #ffffff;
    color: var(--ui-ink);
}

label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.9rem;
    font-weight: 700;
}

input:focus,
select:focus,
textarea:focus,
button:focus,
.button:focus,
.dropdown__trigger:focus,
.icon-button:focus,
.dashboard-tile:focus,
.dashboard-tile:focus-visible {
    outline: 2px solid rgba(29, 78, 216, 0.28);
    outline-offset: 2px;
}

code {
    display: inline-block;
    border-radius: 7px;
    padding: 0.1rem 0.4rem;
    background: rgba(15, 23, 42, 0.06);
    color: var(--ui-ink);
    font-size: 0.9em;
}

body.app-ui,
body.admin-ui {
    height: 100vh;
    overflow: hidden;
    background: var(--ui-bg) !important;
    background-image: none !important;
}

.ui-shell {
    min-height: 100vh;
    background: var(--ui-bg) !important;
    background-image: none !important;
}

body.app-ui .ui-shell,
body.admin-ui .ui-shell {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: 100vh;
    background: var(--ui-bg) !important;
    background-image: none !important;
}

.ui-header {
    position: sticky;
    top: 0;
    z-index: 40;
    display: grid;
    gap: 0;
    padding: 0.85rem 1.25rem 0.75rem;
    background: var(--ui-bg) !important;
    background-image: none !important;
}

body.app-ui .ui-header,
body.admin-ui .ui-header,
body.app-ui .ui-content,
body.admin-ui .ui-content {
    background: var(--ui-bg) !important;
    background-image: none !important;
}

body.app-ui .ui-content,
body.admin-ui .ui-content {
    min-height: 0;
}

.ui-topbar,
.ui-primary-nav,
.ui-secondary-nav,
.ui-context-row,
.card,
.dashboard-tile,
.stat-card,
.page-header,
.plan-card,
.module-card,
.quick-action,
.dropdown__trigger,
.dropdown__menu,
.site-header,
.site-hero,
body:not(.app-ui):not(.admin-ui) > main > section,
body:not(.app-ui):not(.admin-ui) > main form,
body:not(.app-ui):not(.admin-ui) > main article {
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius);
    background: #ffffff !important;
    background-image: none !important;
    box-shadow: none;
    backdrop-filter: none !important;
}

.ui-topbar {
    display: grid;
    grid-template-columns: auto minmax(16rem, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 0.85rem;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.admin-global-search {
    position: relative;
    display: flex;
    align-items: center;
    width: min(100%, 42rem);
    justify-self: center;
}

.admin-global-search__icon {
    position: absolute;
    left: 0.8rem;
    width: 1rem;
    height: 1rem;
    color: var(--ui-ink-muted);
    pointer-events: none;
}

.admin-global-search input {
    width: 100%;
    min-height: 2.6rem;
    padding: 0.55rem 6.2rem 0.55rem 2.35rem;
    border: 1px solid var(--ui-border);
    border-radius: 999px;
    background: var(--ui-bg);
}

.admin-global-search input:focus {
    border-color: var(--ui-primary);
    outline: 3px solid color-mix(in srgb, var(--ui-primary) 14%, transparent);
}

.admin-global-search__submit {
    position: absolute;
    right: 0.35rem;
    padding: 0.42rem 0.8rem;
    border: 0;
    border-radius: 999px;
    background: var(--ui-primary);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.search-result-list { display: grid; gap: 0.35rem; }

.search-result {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
    padding: 0.7rem;
    border: 1px solid transparent;
    border-radius: calc(var(--ui-radius) - 4px);
    color: inherit;
}

.search-result:hover,
.search-result:focus-visible {
    border-color: var(--ui-border);
    background: var(--ui-bg);
}

.search-result__icon { width: 1.1rem; height: 1.1rem; color: var(--ui-primary); }
.search-result strong,
.search-result small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-result small { margin-top: 0.15rem; color: var(--ui-ink-muted); }

.action-menu { position: relative; display: inline-block; text-align: left; }
.action-menu > summary { list-style: none; cursor: pointer; }
.action-menu > summary::-webkit-details-marker { display: none; }
.action-menu__panel {
    position: static;
    z-index: 20;
    display: grid;
    gap: 0.35rem;
    min-width: 13rem;
    margin-top: 0.35rem;
    padding: 0.5rem;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius);
    background: #fff;
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.14);
}
.action-menu__panel form,
.action-menu__panel .button { width: 100%; }
.action-menu__panel .button { justify-content: flex-start; }

.organization-tabs {
    position: sticky;
    top: 9.2rem;
    z-index: 12;
    display: flex;
    gap: 0.35rem;
    overflow-x: auto;
    margin-bottom: 1rem;
    padding: 0.45rem;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius);
    background: #fff;
}
.organization-tabs a { padding: 0.5rem 0.75rem; border-radius: 999px; white-space: nowrap; font-weight: 700; }
.organization-tabs a:hover,
.organization-tabs a:focus-visible { background: var(--ui-bg); color: var(--ui-primary); }
.organization-section { scroll-margin-top: 13rem; }

.settings-tabs {
    display: flex;
    gap: 0.35rem;
    margin: 0 0 1.25rem;
    padding: 0 0 0.65rem;
    border-bottom: 1px solid var(--ui-border);
}
.settings-tabs a {
    padding: 0.55rem 0.8rem;
    border-radius: 0.5rem;
    color: var(--ui-ink-muted);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.settings-tabs a:hover,
.settings-tabs a:focus-visible {
    background: var(--ui-bg);
    color: var(--ui-primary);
}
.settings-tabs a[aria-current='page'] {
    background: var(--ui-primary);
    color: #fff;
}
@media (max-width: 640px) {
    .settings-tabs {
        overflow-x: auto;
        padding-bottom: 0.75rem;
    }
}

.module-status-list { display: grid; gap: 0.5rem; }
.module-status-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.65rem 0; border-bottom: 1px solid var(--ui-border); }
.module-status-row:last-child { border-bottom: 0; }
.module-status-row small { display: block; margin-top: 0.15rem; color: var(--ui-ink-muted); }

.organization-health { display: flex; align-items: center; gap: 0.75rem; margin-top: 1rem; padding: 0.8rem; border-radius: var(--ui-radius); }
.organization-health--success { background: rgba(22, 163, 74, 0.09); color: #166534; }
.organization-health--warning { background: rgba(217, 119, 6, 0.1); color: #92400e; }
.organization-health__icon { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; }
.organization-health strong,
.organization-health small { display: block; }

.organization-timeline { display: grid; gap: 0; }
.organization-timeline__entry { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.75rem; align-items: center; padding: 0.7rem 0; }
.organization-timeline__entry:not(:last-child)::before { content: ''; position: absolute; left: 0.3rem; top: 1.4rem; bottom: -0.7rem; width: 1px; background: var(--ui-border); }
.organization-timeline__marker { position: relative; z-index: 1; width: 0.65rem; height: 0.65rem; border-radius: 50%; background: var(--ui-primary); }
.organization-timeline__entry--warning .organization-timeline__marker { background: #d97706; }
.organization-timeline__entry--danger .organization-timeline__marker { background: var(--ui-danger); }
.organization-timeline__meta { margin: 0 0 0.15rem; color: var(--ui-ink-muted); font-size: 0.78rem; }
.organization-timeline small { display: block; margin-top: 0.15rem; color: var(--ui-ink-muted); }

.ui-brand {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    white-space: nowrap;
}

.ui-brand__mark,
.site-brand__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 10px;
    background: var(--ui-primary) !important;
    background-image: none !important;
    color: #ffffff;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.ui-brand__subline {
    display: block;
    margin-top: 0.1rem;
    color: var(--ui-ink-muted);
    font-size: 0.86rem;
}

.ui-topbar__title { min-width: 0; }
.ui-topbar__eyebrow,
.page-header__eyebrow,
.plan-card__eyebrow,
.module-card__eyebrow {
    margin: 0 0 0.2rem;
    color: var(--ui-primary);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ui-topbar__title h1 {
    margin: 0;
    font-size: clamp(1.2rem, 1.7vw, 1.5rem);
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.ui-topbar__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    flex-wrap: nowrap;
}

.ui-topbar__actions .button,
.ui-topbar__actions .dropdown__trigger { white-space: nowrap; }

.ui-primary-nav {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 0.22rem;
    overflow-x: auto;
    margin-top: -1px;
    padding: 0.35rem;
    border-top: 0;
    border-radius: 0;
    box-shadow: none;
}

.ui-primary-nav__spacer {
    flex: 1 1 auto;
    min-width: 1rem;
}

.ui-primary-nav__item {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.35rem;
    border: 0;
    border-radius: 8px;
    padding: 0.55rem 0.85rem;
    background: transparent !important;
    background-image: none !important;
    color: var(--ui-ink-muted);
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ui-primary-nav__item--utility {
    font-weight: 700;
}

.ui-primary-nav__item:focus,
.ui-primary-nav__item:focus-visible {
    outline: none;
}

.ui-primary-nav__item:hover,
.ui-primary-nav__item.is-active {
    background: var(--ui-primary-soft) !important;
    color: var(--ui-primary);
}

.ui-secondary-nav {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 0.22rem;
    overflow-x: auto;
    margin: -1px 0 0;
    padding: 0.35rem;
    border-top: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    box-shadow: none;
    transform-origin: top center;
}

.ui-secondary-nav[hidden] {
    display: none !important;
}

.ui-secondary-nav.is-visible {
    animation: uiSlideFadeDown 180ms ease-out both;
}

.ui-secondary-nav__item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.25rem;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    color: var(--ui-ink-muted);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ui-secondary-nav__item:hover,
.ui-secondary-nav__item.is-active {
    background: var(--ui-surface-muted) !important;
    color: var(--ui-ink);
}

.ui-secondary-nav__item.is-active { color: var(--ui-primary); }
.ui-secondary-nav__icon { width: 1rem; height: 1rem; flex: 0 0 auto; }

@keyframes uiSlideFadeDown {
    from { opacity: 0; transform: translateY(-0.4rem) scaleY(0.98); }
    to { opacity: 1; transform: translateY(0) scaleY(1); }
}

.ui-context-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 0.75rem;
    margin-top: 0.65rem;
    padding: 0.75rem;
    box-shadow: none;
}

.ui-context-row:empty { display: none; }

.ui-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 1.25rem 2rem;
}

.app-flashes,
.admin-flashes {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

body.admin-ui .admin-sidebar,
body.app-ui .app-sidebar { display: none !important; }

body.admin-ui .admin-shell,
body.app-ui .app-shell,
body.admin-ui .admin-main,
body.app-ui .app-main {
    display: block !important;
    min-height: auto;
    padding: 0;
    background: var(--ui-bg) !important;
    background-image: none !important;
}

.context-switcher { padding: 0; box-shadow: none; border: none; }
.context-switcher__header,
.plan-card__header,
.module-card__header,
.page-header,
.card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.context-switcher__label {
    margin: 0 0 0.15rem;
    color: var(--ui-ink-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.context-switcher__value { margin: 0; font-weight: 800; font-size: 0.94rem; }
.context-switcher__meta { display: none; }
.context-switcher__badge,
.badge,
.admin-topbar__fact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 0.28rem 0.55rem;
    background: rgba(15, 23, 42, 0.08);
    color: var(--ui-ink-muted);
    font-size: 0.76rem;
    font-weight: 800;
    white-space: nowrap;
}

.context-switcher__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem;
    margin-top: 0.65rem;
}

.page-header {
    padding: 1.15rem;
    border: none;
    background: transparent !important;
    box-shadow: none;
}
.page-header > div { min-width: 0; }
.page-header__title {
    margin: 0;
    font-size: clamp(1.5rem, 2vw, 2rem);
    line-height: 1.1;
    letter-spacing: -0.03em;
    text-transform: uppercase;
}

.page-header__description,
.card__description,
.stat-card__description,
.table-subline,
.muted,
.section-note,
.dropdown__meta { color: var(--ui-ink-muted); }

.page-header__actions,
.button-row,
.form-actions,
.inline-form,
.filter-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin: 0;
}

.page-header__actions .icon-button {
    flex: 0 0 auto;
}

.page-header__help {
    position: relative;
}

.page-header__help-menu {
    width: min(24rem, 92vw);
    padding: 0.85rem 0.95rem;
}

.page-header__help-title {
    margin: 0 0 0.35rem;
    color: var(--ui-ink);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.page-header__help-content {
    display: grid;
    gap: 0.45rem;
}

.page-header__help-content p {
    margin: 0;
    color: var(--ui-ink-muted);
    font-size: 0.9rem;
}

.feature-toggle-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
    gap: 1rem;
}

.feature-toggle-grid--compact {
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 0.75rem;
}

.feature-toggle-card {
    display: grid;
    gap: 1rem;
    padding: 1rem;
}

.feature-toggle-card--compact {
    gap: 0;
    min-height: 4.5rem;
    padding: 0.85rem;
}

.feature-toggle-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.feature-toggle-card--compact .feature-toggle-card__header {
    align-items: center;
}

.feature-toggle-card__heading {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.feature-toggle-card__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
    cursor: pointer;
}

.feature-toggle-card--compact .feature-toggle-card__title {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    font-size: 0.95rem;
    text-overflow: ellipsis;
}

.feature-toggle-card__actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex: 0 0 auto;
}

.feature-toggle-card__help {
    position: relative;
}

.feature-toggle-card__help-menu {
    width: min(23rem, 88vw);
    padding: 0.85rem;
    text-align: left;
}

.feature-toggle-card__help-title {
    margin: 0 0 0.65rem;
    color: var(--ui-ink);
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.feature-toggle-card__help-list {
    gap: 0.65rem;
}

.feature-toggle-card__help-list dd {
    color: var(--ui-ink-muted);
    font-weight: 600;
}

.feature-toggle-card__status,
.feature-toggle-card__description,
.feature-toggle-card__meta {
    margin: 0;
    color: var(--ui-ink-muted);
    font-size: 0.9rem;
}

.feature-toggle-card__body {
    display: grid;
    gap: 0.6rem;
}

.feature-toggle-card__meta strong {
    color: var(--ui-ink);
}

.feature-switch {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    cursor: pointer;
}

.feature-switch__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.feature-switch__track {
    position: relative;
    display: inline-flex;
    width: 3.3rem;
    height: 1.95rem;
    border: 1px solid var(--ui-border-strong);
    border-radius: 999px;
    background: var(--ui-surface-muted);
    transition: background-color 0.16s ease, border-color 0.16s ease;
}

.feature-switch__track::after {
    content: '';
    position: absolute;
    top: 0.16rem;
    left: 0.16rem;
    width: 1.35rem;
    height: 1.35rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 999px;
    background: #ffffff;
    transition: transform 0.16s ease;
}

.feature-switch__input:checked + .feature-switch__track {
    border-color: var(--ui-primary);
    background: var(--ui-primary);
}

.feature-switch__input:checked + .feature-switch__track::after {
    transform: translateX(1.35rem);
}

.feature-switch__input:focus-visible + .feature-switch__track {
    outline: 2px solid rgba(29, 78, 216, 0.28);
    outline-offset: 2px;
}

.filter-bar { margin-bottom: 0.8rem; }
.stats-grid,
.content-grid,
.module-grid,
.pricing-grid { display: grid; gap: 1rem; }
.stats-grid { grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
.content-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.stat-card,
.dashboard-tile,
.card__body,
.plan-card,
.module-card { padding: 1rem; }
.stat-card,
.dashboard-tile { box-shadow: none; }
.dashboard-tile {
    display: grid;
    gap: 0.75rem;
}
.dashboard-tile:hover {
    background: var(--ui-surface-muted) !important;
    border-color: rgba(29, 78, 216, 0.18);
}
.dashboard-tile__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.dashboard-tile__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 10px;
    background: var(--ui-primary-soft) !important;
    color: var(--ui-primary);
    flex: 0 0 auto;
}
.dashboard-tile__icon-svg { width: 1.2rem; height: 1.2rem; }
.dashboard-tile__label { margin: 0; color: var(--ui-ink-muted); font-size: 0.84rem; font-weight: 800; }
.dashboard-tile__value {
    margin: 0.35rem 0 0;
    font-size: clamp(1.65rem, 2.5vw, 2.15rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.03em;
}
.dashboard-tile__description { margin: 0; color: var(--ui-ink-muted); font-size: 0.9rem; }
.stat-card__label { margin: 0; color: var(--ui-ink-muted); font-size: 0.84rem; font-weight: 800; }
.stat-card__value {
    margin: 0.35rem 0 0;
    font-size: clamp(1.65rem, 2.5vw, 2.15rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.03em;
}
.stat-card-link { display: block; color: inherit; text-decoration: none; }
.stat-card-link .stat-card { height: 100%; transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease; }
.stat-card-link:hover .stat-card { background: var(--ui-surface-muted); border-color: var(--ui-border-strong); transform: translateY(-1px); }
.card__header { padding: 1rem 1rem 0; }
.card__title { margin: 0; font-size: 1.02rem; letter-spacing: 0.04em; text-transform: uppercase; }
.card__description { margin: 0.25rem 0 0; font-size: 0.9rem; }

.definition-list { display: grid; gap: 0.75rem; margin: 0; }
.definition-list dt {
    color: var(--ui-ink-muted);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.definition-list dd { margin: 0.15rem 0 0; font-weight: 700; }

.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th,
.data-table td {
    padding: 0.75rem 0.65rem;
    border-top: 1px solid var(--ui-border);
    text-align: left;
    vertical-align: middle;
}
.data-table thead th {
    border-top: none;
    color: var(--ui-ink-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.table-actions { width: 1%; text-align: right; white-space: nowrap; }
.table-subline { margin-top: 0.15rem; font-size: 0.88rem; }
.tenant-card {
    display: grid;
    gap: 0.75rem;
}
.tenant-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.tenant-card__title {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.tenant-card__actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-left: auto;
}
.tenant-card__tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
}
.tenant-card__meta {
    margin: 0;
    color: var(--ui-ink-muted);
    font-size: 0.9rem;
    font-weight: 700;
}
.owner-directory-card {
    display: grid;
    align-content: start;
}
.owner-directory-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.owner-directory-card .card__header { display: grid; gap: 0.75rem; }
.owner-directory-card__identity {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}
.owner-directory-card__title-row {
    display: flex;
    align-items: center;
    gap: 0.6rem 0.7rem;
    flex-wrap: wrap;
    min-width: 0;
}
.owner-directory-card__badges { display: flex; align-items: center; flex-wrap: wrap; gap: 0.45rem; }
.owner-directory-card__email {
    margin: 0;
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}
.owner-directory-card__body { display: grid; gap: 1rem; }
.owner-directory-card__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.owner-metric-tile {
    display: grid;
    gap: 0.35rem;
    min-height: 5.25rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid var(--ui-border);
    border-radius: 0.95rem;
    color: inherit;
    text-decoration: none;
    transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}
.owner-metric-tile:hover {
    background: var(--ui-surface-muted);
    border-color: var(--ui-border-strong);
    transform: translateY(-1px);
}
.owner-metric-tile__label {
    color: var(--ui-ink-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.owner-metric-tile__value {
    font-size: clamp(1.4rem, 2vw, 1.8rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.03em;
}
.owner-metric-tile--workspaces {
    background: var(--ui-primary-soft);
    border-color: rgba(29, 78, 216, 0.18);
    color: var(--ui-primary);
}
.owner-metric-tile--members {
    background: var(--ui-success-soft);
    border-color: rgba(5, 150, 105, 0.18);
    color: var(--ui-success);
}
.owner-metric-tile--disabled { opacity: 0.72; }
.owner-directory-card__meta {
    gap: 0.35rem;
    min-width: 0;
}
.owner-directory-card__last-login,
.owner-directory-card__last-login-value {
    min-width: 0;
}
.owner-directory-card__meta dd {
    min-height: 2.75rem;
    display: block;
}
.owner-directory-card__last-login-value {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    white-space: nowrap;
}
.owner-directory-card__last-login-date,
.owner-directory-card__last-login-ip {
    min-width: 0;
}
.owner-directory-card__last-login-separator {
    flex: 0 0 auto;
    color: var(--ui-ink-muted);
}
.owner-directory-card__last-login-ip {
    color: var(--ui-ink-muted);
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    overflow: hidden;
    text-overflow: ellipsis;
}
.list-footer,
.owner-directory-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}
.list-footer__note,
.owner-directory-footer__note { margin: 0; }
.list-footer .pagination,
.owner-directory-footer .pagination { margin-top: 0; }
.module-registry-details { margin-top: 0.45rem; }
.module-registry-details summary {
    cursor: pointer;
    color: var(--ui-primary);
    font-size: 0.84rem;
    font-weight: 700;
}
.module-registry-meta { margin-top: 0.55rem; }
.module-registry-resource-list { display: grid; gap: 0.25rem; }

.log-stack { display: grid; gap: 1rem; }
.log-card { overflow: hidden; }
.log-card__summary {
    display: block;
    cursor: pointer;
    padding: 1rem;
}
.log-card__summary::-webkit-details-marker { display: none; }
.log-card__summary::marker { content: ''; }
.log-card__summary::after {
    content: 'Show';
    float: right;
    color: var(--ui-primary);
    font-size: 0.82rem;
    font-weight: 700;
}
.log-card[open] .log-card__summary::after { content: 'Hide'; }
.log-card__meta {
    display: block;
    margin-top: 0.2rem;
    color: var(--ui-ink-muted);
    font-size: 0.84rem;
}
.audit-log-filters {
    margin-top: 0.15rem;
    overflow: hidden;
}
.audit-log-filters__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    cursor: pointer;
    padding: 1rem;
    border: 0;
    background: #ffffff;
    color: var(--ui-ink);
}
.audit-log-filters__toggle:hover {
    background: var(--ui-surface-muted);
    color: var(--ui-ink);
}
.audit-log-filters__toggle::after {
    content: 'Show';
    color: var(--ui-primary);
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.audit-log-filters.is-open .audit-log-filters__toggle {
    border-bottom: 1px solid var(--ui-border);
}
.audit-log-filters.is-open .audit-log-filters__toggle::after { content: 'Hide'; }
.audit-log-filters__toggle-copy {
    display: grid;
    gap: 0.18rem;
    text-align: left;
}
.audit-log-filters__eyebrow {
    margin: 0;
    color: var(--ui-ink-muted);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.audit-log-filters__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
}
.audit-log-filters__panel { overflow: hidden; }
.audit-log-list { gap: 0.8rem; }
.audit-log-entry { overflow: hidden; }
.audit-log-entry__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
}
.audit-log-entry__main {
    display: grid;
    gap: 0.55rem;
    min-width: 0;
}
.audit-log-entry__headline {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    min-width: 0;
}
.audit-log-entry__action {
    font-size: 0.92rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}
.audit-log-entry__meta {
    display: flex;
    align-items: center;
    gap: 0.55rem 1rem;
    flex-wrap: wrap;
    color: var(--ui-ink-muted);
    font-size: 0.86rem;
}
.audit-log-entry__meta span {
    min-width: 0;
    overflow-wrap: anywhere;
}
.audit-log-entry__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.log-viewer {
    max-height: 24rem;
    overflow-y: auto;
    border: 1px solid var(--ui-border);
    border-radius: 10px;
    padding: 0.9rem 1rem;
    background: var(--ui-surface-muted);
}
.log-viewer pre {
    margin: 0;
    font: 0.82rem/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    white-space: pre-wrap;
}
.audit-detail-page .page-header__title,
.audit-detail-page .page-header__description {
    overflow-wrap: anywhere;
}

.audit-detail-summary .card__body {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    padding: 0.9rem 1rem;
}

.audit-detail-summary__item {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    align-content: start;
}

.audit-detail-summary__label {
    margin: 0;
    color: var(--ui-ink-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.audit-detail-summary__value {
    margin: 0;
    min-width: 0;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.audit-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.audit-detail-grid > *,
.audit-detail-grid .card__body,
.audit-detail-grid .definition-list,
.audit-detail-grid .definition-list > div,
.audit-detail-payload {
    min-width: 0;
}

.audit-detail-value,
.audit-detail-grid .definition-list dd {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.audit-detail-grid .definition-list code {
    display: inline;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.audit-detail-payload .log-viewer {
    max-height: 30rem;
    overflow-y: auto;
}

.audit-detail-payload .log-viewer pre {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.empty-state { display: flex; flex-direction: column; align-items: flex-start; gap: 0.8rem; }
.badge--accent { background: var(--ui-primary-soft); color: var(--ui-primary); }
.badge--success { background: var(--ui-success-soft); color: var(--ui-success); }
.badge--warning { background: var(--ui-warning-soft); color: var(--ui-warning); }
.badge--danger { background: var(--ui-danger-soft); color: var(--ui-danger); }
.badge--neutral { background: rgba(15, 23, 42, 0.08); color: var(--ui-ink-muted); }
.metric-link { display: inline-flex; align-items: center; gap: 0.75rem; color: inherit; text-decoration: none; }
.metric-link:hover .metric-square { transform: translateY(-1px); }
.metric-link__label { font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ui-ink-muted); }
.metric-square {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 0.9rem;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
    transition: transform 0.16s ease;
}
.metric-square--workspaces { background: var(--ui-primary-soft); color: var(--ui-primary); }
.metric-square--members { background: var(--ui-success-soft); color: var(--ui-success); }

.alert { border-left: 4px solid transparent; padding: 0.85rem 1rem; }
.alert--success { border-color: var(--ui-success); background: var(--ui-success-soft) !important; }
.alert--warning { border-color: var(--ui-warning); background: var(--ui-warning-soft) !important; }
.alert--danger { border-color: var(--ui-danger); background: var(--ui-danger-soft) !important; }
.alert--info { border-color: var(--ui-primary); background: var(--ui-primary-soft) !important; }
.alert__title { margin: 0 0 0.25rem; font-weight: 800; }

.dropdown { position: relative; }
.dropdown__trigger {
    display: grid;
    gap: 0.1rem;
    min-width: 12rem;
    padding: 0.65rem 0.8rem;
    color: var(--ui-ink);
    text-align: left;
    box-shadow: none;
}
.dropdown__label { font-weight: 800; }
.dropdown__meta { font-size: 0.84rem; }
.dropdown__menu {
    position: absolute;
    right: 0;
    z-index: 50;
    min-width: 12rem;
    margin-top: 0.55rem;
    padding: 0.4rem;
    display: grid;
    gap: 0.2rem;
}
.dropdown__menu[hidden] { display: none !important; }
.dropdown__menu form { margin: 0; }
.dropdown__item {
    display: block;
    width: 100%;
    border-radius: 8px;
    padding: 0.65rem 0.7rem;
    color: var(--ui-ink);
}
.dropdown__item:hover,
.dropdown__item--button:hover { background: var(--ui-surface-muted); }
.dropdown__item--button { border: none; background: transparent; color: inherit; text-align: left; }

.icon-actions,
.inline-role-form { display: inline-flex; align-items: center; justify-content: flex-end; gap: 0.35rem; }
.icon-actions form,
.inline-role-form { margin: 0; }
.inline-role-form select { min-width: 8rem; padding: 0.45rem 0.55rem; }
.icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    border: 1px solid var(--ui-border-strong);
    border-radius: 9px;
    padding: 0;
    background: #ffffff !important;
    background-image: none !important;
    color: var(--ui-ink-muted);
    cursor: pointer;
}
.icon-button:hover { background: var(--ui-surface-muted) !important; color: var(--ui-ink); }
.icon-button--danger { border-color: rgba(185, 28, 28, 0.24); color: var(--ui-danger); }
.icon-button--danger:hover { background: var(--ui-danger-soft) !important; color: var(--ui-danger); }
.icon-button__icon { width: 1rem; height: 1rem; }

.quick-actions { display: grid; gap: 0.7rem; }
.quick-actions--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.quick-action { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.85rem; box-shadow: none; }
.quick-action:hover { background: var(--ui-surface-muted) !important; }
.quick-action__icon { width: 1.15rem; height: 1.15rem; color: var(--ui-primary); flex: 0 0 auto; }
.quick-action small { display: block; margin-top: 0.1rem; color: var(--ui-ink-muted); }

@media (max-width: 1200px) {
    .quick-actions--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.pricing-grid,
.module-grid { grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); }
.plan-card--current { border-color: rgba(29, 78, 216, 0.30); background: #eff6ff !important; }
.plan-card__title,
.module-card__title { margin: 0; font-size: 1.25rem; line-height: 1.1; letter-spacing: 0.04em; text-transform: uppercase; }
.plan-card__price { margin: 0; font-size: 1.6rem; line-height: 1; font-weight: 800; }
.plan-card__price span { color: var(--ui-ink-muted); font-size: 0.9rem; font-weight: 700; }
.module-card { display: flex; flex-direction: row; align-items: flex-start; gap: 1rem; }
.module-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 10px;
    background: var(--ui-primary-soft) !important;
    color: var(--ui-primary);
    flex: 0 0 auto;
}
.module-card__icon-svg { width: 1.25rem; height: 1.25rem; }
.module-card__body { display: grid; gap: 0.75rem; min-width: 0; flex: 1; }
.module-card__footer { display: flex; align-items: center; justify-content: flex-end; gap: 0.5rem; flex-wrap: wrap; }
.module-card__title-link { color: inherit; text-decoration: none; }
.module-card__title-link:hover { color: var(--ui-primary); }

.form-grid { display: grid; gap: 1rem; }
.form-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sales-form { display: grid; gap: 0.85rem; }
.sales-form__section {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.7rem;
    min-width: 0;
    margin: 0;
    padding: 0.75rem;
    border: 1px solid var(--ui-border);
    border-radius: 10px;
}
.sales-form__section legend {
    padding: 0 0.3rem;
    color: var(--ui-ink-muted);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.sales-form__section .form-field { grid-column: span 4; margin: 0; }
.sales-form__section .sales-form__field--half { grid-column: span 6; }
.sales-form__section .sales-form__field--wide { grid-column: span 8; }
.sales-form__section .sales-form__field--full { grid-column: 1 / -1; }
.sales-form textarea { min-height: 4.25rem; resize: vertical; }
.sales-form__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 0.6rem; }
.sales-form--compact .sales-form__section { padding: 0.65rem; }
.sales-form--compact .sales-form__section .form-field { grid-column: span 3; }
.sales-form--compact .sales-form__section .sales-form__field--half { grid-column: span 6; }
.sales-form--compact .sales-form__section .sales-form__field--wide { grid-column: span 8; }
.sales-form--compact .sales-form__section .sales-form__field--full { grid-column: 1 / -1; }
.sales-filter {
    display: grid;
    grid-template-columns: minmax(14rem, 2fr) repeat(2, minmax(9rem, 1fr)) auto;
    align-items: end;
    gap: 0.7rem;
    max-width: 72rem;
}
.sales-filter .form-field { margin: 0; }
.sales-filter__period { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
.sales-filter__toggle { align-self: center; padding-bottom: 0.15rem; }
.sales-filter__toggle span { display: flex; align-items: center; gap: 0.45rem; }
.bundle-form {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.7rem;
    max-width: 72rem;
}
.bundle-form > .form-field,
.bundle-form > label,
.bundle-form > div { grid-column: span 4; margin: 0; }
.bundle-form > .form-grid,
.bundle-form__section > .form-grid { grid-column: 1 / -1; }
.bundle-form > .bundle-form__field--wide { grid-column: span 8; }
.bundle-form > .bundle-form__field--half,
.bundle-form__section .bundle-form__field--half { grid-column: span 6; }
.bundle-form > .bundle-form__field--full { grid-column: 1 / -1; }
.bundle-form > .button-row,
.bundle-form > .form-actions,
.bundle-form > .bundle-form__actions { grid-column: 1 / -1; }
.bundle-form textarea { min-height: 4.25rem; resize: vertical; }
.bundle-form__section {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.7rem;
    min-width: 0;
    margin: 0;
    padding: 0.75rem;
    border: 1px solid var(--ui-border);
    border-radius: 10px;
}
.bundle-form__section legend {
    padding: 0 0.3rem;
    color: var(--ui-ink-muted);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.bundle-form__section .form-field,
.bundle-form__section > label { grid-column: span 4; margin: 0; }
.bundle-form__section .bundle-form__field--wide { grid-column: span 8; }
.bundle-form__section .bundle-form__field--full { grid-column: 1 / -1; }
.bundle-form .form-field--full,
.bundle-form__section > .section-note { grid-column: 1 / -1; }

.company-settings-form { max-width: 84rem; }
.company-settings-form .bundle-form__section { padding: 1rem; }
.company-settings-form .form-grid--two {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.8rem 1rem;
}
.company-settings-form .form-grid--two > .form-field { grid-column: span 6; }
.company-settings-form .form-grid--two > .form-field--full { grid-column: 1 / -1; }

/* Fiscal settings are most easily scanned in short, thematic rows. */
.company-settings-form--fiscal .form-grid--two > .form-field:nth-child(3),
.company-settings-form--fiscal .form-grid--two > .form-field:nth-child(4),
.company-settings-form--fiscal .form-grid--two > .form-field:nth-child(5),
.company-settings-form--fiscal .form-grid--two > .form-field:nth-child(6),
.company-settings-form--fiscal .form-grid--two > .form-field:nth-child(7),
.company-settings-form--fiscal .form-grid--two > .form-field:nth-child(8) { grid-column: span 4; }
.company-settings-form--fiscal .form-grid--two > .form-field:nth-child(9),
.company-settings-form--fiscal .form-grid--two > .form-field:nth-child(10),
.company-settings-form--fiscal .form-grid--two > .form-field:nth-child(11) { grid-column: span 4; }

/* Journals, accounts and locks belong to compact, comparable groups. */
.company-settings-form--accounting > .bundle-form__section:first-of-type .form-grid--two > .form-field:nth-child(n + 6) { grid-column: span 3; }
.company-settings-form--accounting > .bundle-form__section:first-of-type .form-grid--two > .form-field:nth-child(5) { grid-column: 1 / -1; }

@media (max-width: 760px) {
    .company-settings-form .form-grid--two > .form-field,
    .company-settings-form--fiscal .form-grid--two > .form-field:nth-child(n),
    .company-settings-form--accounting > .bundle-form__section:first-of-type .form-grid--two > .form-field:nth-child(n) { grid-column: span 6; }
}
@media (max-width: 640px) {
    .company-settings-form .form-grid--two > .form-field,
    .company-settings-form--fiscal .form-grid--two > .form-field:nth-child(n),
    .company-settings-form--accounting > .bundle-form__section:first-of-type .form-grid--two > .form-field:nth-child(n) { grid-column: 1 / -1; }
}
/* Compact default for remaining module forms and filter areas. */
body.app-ui .hybrid-content .card__body > .form-grid:not(.form-grid--two):not(.sales-form):not(.bundle-form),
body.app-ui .hybrid-content .card__body > form:not([method='get']):not(.form-grid):not(.filter-bar):not(.sales-form):not(.bundle-form) {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.7rem;
    max-width: 72rem;
}
body.app-ui .hybrid-content .card__body > .form-grid:not(.form-grid--two):not(.sales-form):not(.bundle-form) > .form-field,
body.app-ui .hybrid-content .card__body > .form-grid:not(.form-grid--two):not(.sales-form):not(.bundle-form) > label,
body.app-ui .hybrid-content .card__body > form:not([method='get']):not(.form-grid):not(.filter-bar):not(.sales-form):not(.bundle-form) > label,
body.app-ui .hybrid-content .card__body > form:not([method='get']):not(.form-grid):not(.filter-bar):not(.sales-form):not(.bundle-form) > div {
    grid-column: span 4;
    margin: 0;
}
body.app-ui .hybrid-content .card__body > .form-grid:not(.form-grid--two):not(.sales-form):not(.bundle-form) > :where(.button-row, .form-actions),
body.app-ui .hybrid-content .card__body > form:not([method='get']):not(.form-grid):not(.filter-bar):not(.sales-form):not(.bundle-form) > .form-actions {
    grid-column: 1 / -1;
}
body.app-ui .hybrid-content .card__body > form.form-grid[method='get']:not(.sales-filter):not(.purchases-toolbar):not(.expenses-toolbar) {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 0.65rem;
    width: min(100%, 66rem);
}
body.app-ui .hybrid-content .card__body > form.form-grid[method='get']:not(.sales-filter):not(.purchases-toolbar):not(.expenses-toolbar) .form-field {
    flex: 1 1 10rem;
    margin: 0;
}
body.app-ui .hybrid-content .card:has(> .card__body > form[method='get']) {
    align-self: flex-start;
    width: min(100%, 68rem);
}
body.app-ui .hybrid-content .filter-bar { align-self: flex-start; width: min(100%, 66rem); }
@media (max-width: 900px) {
    .bundle-form > .form-field,
    .bundle-form > label,
    .bundle-form > div,
    .bundle-form__section .form-field,
    .bundle-form__section > label { grid-column: span 6; }
    body.app-ui .hybrid-content .card__body > .form-grid:not(.form-grid--two):not(.sales-form):not(.bundle-form) > .form-field,
    body.app-ui .hybrid-content .card__body > .form-grid:not(.form-grid--two):not(.sales-form):not(.bundle-form) > label,
    body.app-ui .hybrid-content .card__body > form:not([method='get']):not(.form-grid):not(.filter-bar):not(.sales-form):not(.bundle-form) > label,
    body.app-ui .hybrid-content .card__body > form:not([method='get']):not(.form-grid):not(.filter-bar):not(.sales-form):not(.bundle-form) > div { grid-column: span 6; }
}
@media (max-width: 900px) {
    .sales-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sales-filter__actions { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .sales-form__section .form-field,
    .sales-form__section .sales-form__field--half,
    .sales-form__section .sales-form__field--wide,
    .sales-form--compact .sales-form__section .form-field { grid-column: 1 / -1; }
    .sales-filter { grid-template-columns: 1fr; }
    .sales-filter__actions { grid-column: auto; }
    .bundle-form > .form-field,
    .bundle-form > label,
    .bundle-form > div,
    .bundle-form__section .form-field,
    .bundle-form__section > label,
    .bundle-form > .bundle-form__field--wide,
    .bundle-form__section .bundle-form__field--wide,
    .bundle-form > .bundle-form__field--half,
    .bundle-form__section .bundle-form__field--half,
    body.app-ui .hybrid-content .card__body > .form-grid:not(.form-grid--two):not(.sales-form):not(.bundle-form) > .form-field,
    body.app-ui .hybrid-content .card__body > .form-grid:not(.form-grid--two):not(.sales-form):not(.bundle-form) > label,
    body.app-ui .hybrid-content .card__body > form:not([method='get']):not(.form-grid):not(.filter-bar):not(.sales-form):not(.bundle-form) > label,
    body.app-ui .hybrid-content .card__body > form:not([method='get']):not(.form-grid):not(.filter-bar):not(.sales-form):not(.bundle-form) > div { grid-column: 1 / -1; }
}
.pilotage-overview__filters {
    align-self: flex-start;
    max-width: 100%;
}
.pilotage-overview__filter-bar { align-items: flex-end; }
.pilotage-overview__filter-bar .form-field { flex: 1 1 10rem; margin: 0; }
.pilotage-overview__filter-action { flex: 0 0 auto; }
.stack,
.app-form {
    display: grid;
    gap: 0.9rem;
}
.stack--sm { gap: 0.6rem; }
.stack--lg { gap: 1.25rem; }
.form-field {
    display: grid;
    gap: 0.45rem;
}
.form-field__control {
    display: grid;
    gap: 0.45rem;
}
.form-help {
    margin: 0;
    color: var(--ui-ink-muted);
    font-size: 0.84rem;
}

.identity-card { display: grid; gap: 1.25rem; }
.identity-card__hero { display: flex; align-items: flex-start; gap: 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--ui-border); }
.identity-card__icon { display: grid; flex: 0 0 auto; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: 1rem; background: var(--ui-primary-soft); color: var(--ui-primary); }
.identity-card__icon svg { width: 1.5rem; height: 1.5rem; }
.identity-card__title { margin: 0; font-size: 1.2rem; }
.identity-card__subtitle { margin: 0.2rem 0 0; color: var(--ui-ink-muted); }
.identity-card__meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem 1rem; margin: 0; }
.identity-card__meta div { min-width: 0; }
.identity-card__meta dt { color: var(--ui-ink-muted); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.identity-card__meta dd { margin: 0.15rem 0 0; overflow-wrap: anywhere; font-weight: 700; }
.location-list { display: grid; gap: 0.7rem; }
.location-list__item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.8rem; border: 1px solid var(--ui-border); border-radius: 10px; }
.location-list__item strong,
.location-list__item small { display: block; }
.location-list__item small { margin-top: 0.15rem; color: var(--ui-ink-muted); }
.location-list__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: flex-end; }

body.app-ui .floating-field,
body.admin-ui .floating-field,
body.app-ui .auth-field,
body.admin-ui .auth-field {
    position: relative;
    display: grid;
    min-width: 0;
    margin: 0;
}

body.app-ui .floating-field__input,
body.admin-ui .floating-field__input,
body.app-ui .auth-field__input,
body.admin-ui .auth-field__input {
    width: 100%;
    min-height: 3.2rem;
    padding-top: 1.3rem;
    padding-bottom: 0.4rem;
    line-height: 1.2;
}

body.app-ui .floating-field__select,
body.admin-ui .floating-field__select {
    padding-top: 1.25rem;
}

body.app-ui .floating-field__textarea,
body.admin-ui .floating-field__textarea {
    min-height: 7.5rem;
    padding-top: 1.35rem;
    resize: vertical;
}

body.app-ui .floating-field__input::placeholder,
body.admin-ui .floating-field__input::placeholder,
body.app-ui .auth-field__input::placeholder,
body.admin-ui .auth-field__input::placeholder {
    color: transparent;
}

body.app-ui .floating-field__label,
body.admin-ui .floating-field__label,
body.app-ui .auth-field__label,
body.admin-ui .auth-field__label {
    position: absolute;
    top: 50%;
    left: 0.7rem;
    z-index: 1;
    max-width: calc(100% - 1.4rem);
    margin: 0;
    overflow: hidden;
    padding: 0 0.18rem;
    background: #ffffff;
    color: var(--ui-ink-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    transform: translateY(-50%);
    transform-origin: left top;
    transition: top 160ms ease, transform 160ms ease, color 160ms ease;
}

body.app-ui .floating-field.is-filled .floating-field__label,
body.app-ui .floating-field.is-raised .floating-field__label,
body.app-ui .floating-field:focus-within .floating-field__label,
body.admin-ui .floating-field.is-filled .floating-field__label,
body.admin-ui .floating-field.is-raised .floating-field__label,
body.admin-ui .floating-field:focus-within .floating-field__label,
body.app-ui .auth-field:focus-within .auth-field__label,
body.app-ui .auth-field__input:not(:placeholder-shown) + .auth-field__label,
body.admin-ui .auth-field:focus-within .auth-field__label,
body.admin-ui .auth-field__input:not(:placeholder-shown) + .auth-field__label {
    top: 0.55rem;
    color: var(--ui-primary);
    transform: translateY(0) scale(0.82);
}

body.app-ui .form-field--error .floating-field__input,
body.admin-ui .form-field--error .floating-field__input,
body.app-ui .form-field--error .auth-field__input,
body.admin-ui .form-field--error .auth-field__input,
body.app-ui .is-invalid,
body.admin-ui .is-invalid {
    border-color: rgba(185, 28, 28, 0.42);
}

body.app-ui .form-field--error .floating-field__label,
body.admin-ui .form-field--error .floating-field__label,
body.app-ui .form-field--error .auth-field__label,
body.admin-ui .form-field--error .auth-field__label {
    color: var(--ui-danger);
}

body.app-ui .filter-bar__item,
body.admin-ui .filter-bar__item,
body.app-ui .filter-bar .floating-field,
body.admin-ui .filter-bar .floating-field,
body.app-ui .filter-bar .auth-field,
body.admin-ui .filter-bar .auth-field {
    flex: 1 1 14rem;
    min-width: min(100%, 12rem);
}

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

@media (max-width: 1200px) {
    .owner-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .audit-detail-summary .card__body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .content-grid--two,
    .form-grid--two { grid-template-columns: 1fr; }
    .quick-actions--three { grid-template-columns: 1fr; }
    .audit-detail-grid { grid-template-columns: 1fr; }
    .audit-log-filters__toggle {
        gap: 1rem;
        align-items: flex-start;
    }
    .audit-log-entry__body { grid-template-columns: 1fr; }
    .audit-log-entry__actions { justify-content: flex-start; }
    .owner-directory-card__meta dd { min-height: 0; }
    .owner-directory-card__last-login-value { white-space: normal; flex-wrap: wrap; }
    .owner-directory-card__last-login-ip {
        overflow: visible;
        text-overflow: clip;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    .ui-topbar { grid-template-columns: 1fr; }
    .admin-global-search { width: 100%; justify-self: stretch; }
    .ui-topbar__actions { justify-content: flex-start; overflow-x: auto; }
}

@media (max-width: 640px) {
    .audit-detail-summary .card__body { grid-template-columns: 1fr; }
    .identity-card__meta { grid-template-columns: 1fr; }
    .location-list__item { align-items: flex-start; flex-direction: column; }
    .location-list__actions { justify-content: flex-start; }
}

.confirm-dialog {
    width: min(36rem, calc(100vw - 2rem));
    padding: 0;
    border: 0;
    border-radius: var(--ui-radius);
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.24);
}

.confirm-dialog::backdrop { background: rgba(15, 23, 42, 0.58); }

.confirm-dialog__panel {
    display: grid;
    gap: 1rem;
    margin: 0;
    padding: 1.25rem;
}

.confirm-dialog__message { margin: 0; font-weight: 700; }
.confirm-dialog__fields { display: grid; gap: 0.85rem; }
.confirm-dialog__field { display: grid; gap: 0.35rem; font-weight: 700; }
.confirm-dialog__input { width: 100%; }
textarea.confirm-dialog__input { min-height: 6rem; resize: vertical; }
.confirm-dialog__validation { margin: 0; color: var(--ui-danger); }
.confirm-dialog__actions { display: flex; justify-content: flex-end; gap: 0.75rem; }

.ai-drawer {
    width: min(30rem, calc(100vw - 2rem));
    max-width: 100%;
    height: 100vh;
    max-height: 100vh;
    margin: 0 0 0 auto;
    padding: 0;
    border: 0;
    border-left: 1px solid var(--ui-border);
    background: #fff;
    box-shadow: -18px 0 48px rgba(15, 23, 42, 0.18);
}
.ai-drawer::backdrop { background: rgba(15, 23, 42, 0.34); }
.ai-drawer__panel { display: grid; gap: 1rem; min-height: 100%; padding: 1.25rem; overflow-y: auto; }
.ai-drawer__header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.ai-drawer__header h2 { margin: 0; }
.ai-drawer__actions { display: grid; gap: 0.55rem; }
.ai-suggestion-card { display: grid; gap: 0.5rem; padding: 0.9rem; border: 1px solid var(--ui-border); border-radius: var(--ui-radius); background: var(--ui-surface-muted); }
.ai-suggestion-card h3, .ai-suggestion-card p { margin: 0; }
.ai-suggestion-card pre { max-width: 100%; overflow: auto; white-space: pre-wrap; }
.status-badge--success { color: var(--ui-success); background: var(--ui-success-soft); }
