/* Aurora Command Center
   Shared application shell and reusable visual primitives.
   This file intentionally contains no page-specific selectors. */
:root {
    --gs-sidebar-width: 244px;
    --gs-sidebar-compact-width: 78px;
    --gs-commandbar-height: 68px;
    --gs-primary: #176bff;
    --gs-primary-dark: #0d4fd1;
    --gs-primary-darker: #083aa4;
    --gs-accent: #7357ff;
    --gs-accent-rgb: 115, 87, 255;
    --gs-sidebar-bg: #071a3d;
    --gs-sidebar-bg-end: #05132e;
    --gs-sidebar-text: #b7c6e1;
    --gs-sidebar-text-strong: #fff;
    --gs-page-bg: #f3f6fc;
    --gs-surface: #fff;
    --gs-panel-border: #e1e8f3;
    --gs-panel-head: #f8faff;
    --gs-text: #14213d;
    --gs-muted: #71809b;
    --gs-ui-radius: .8rem;
    --gs-card-shadow: 0 8px 28px rgb(21 45 86 / 8%);
}

html[data-gs-theme-color="ocean"] {
    --gs-primary: #0284c7;
    --gs-primary-dark: #0369a1;
    --gs-primary-darker: #075985;
    --gs-accent: #22d3ee;
    --gs-accent-rgb: 34,211,238;
    --gs-sidebar-bg: #082f49;
    --gs-sidebar-bg-end: #062438;
}

html[data-gs-theme-color="emerald"] {
    --gs-primary: #059669;
    --gs-primary-dark: #047857;
    --gs-primary-darker: #065f46;
    --gs-accent: #2dd4bf;
    --gs-accent-rgb: 45,212,191;
    --gs-sidebar-bg: #052e2b;
    --gs-sidebar-bg-end: #03221f;
}

html[data-gs-theme-color="royal"] {
    --gs-primary: #6366f1;
    --gs-primary-dark: #4f46e5;
    --gs-primary-darker: #4338ca;
    --gs-accent: #ec4899;
    --gs-accent-rgb: 236,72,153;
    --gs-sidebar-bg: #1e1b4b;
    --gs-sidebar-bg-end: #141236;
}

html[data-gs-theme-color="sunset"] {
    --gs-primary: #ea580c;
    --gs-primary-dark: #c2410c;
    --gs-primary-darker: #9a3412;
    --gs-accent: #f59e0b;
    --gs-accent-rgb: 245,158,11;
    --gs-sidebar-bg: #172554;
    --gs-sidebar-bg-end: #101a3d;
}

html[data-gs-theme-color="graphite"] {
    --gs-primary: #3b82f6;
    --gs-primary-dark: #2563eb;
    --gs-primary-darker: #1d4ed8;
    --gs-accent: #94a3b8;
    --gs-accent-rgb: 148,163,184;
    --gs-sidebar-bg: #111827;
    --gs-sidebar-bg-end: #080d16;
}

html[data-gs-theme-color="obsidian"] {
    --gs-primary: #a7792e;
    --gs-primary-dark: #815b20;
    --gs-primary-darker: #654617;
    --gs-accent: #d6b66c;
    --gs-accent-rgb: 214,182,108;
    --gs-sidebar-bg: #151a20;
    --gs-sidebar-bg-end: #090d12;
    --gs-page-bg: #f7f5f0;
    --gs-surface: #fffdfa;
    --gs-panel-border: #e4dfd5;
    --gs-panel-head: #faf8f3;
    --gs-text: #171a20;
    --gs-muted: #74716b;
    --gs-card-shadow: 0 8px 28px rgb(37 31 20 / 7%);
}

html, body {
    min-height: 100%;
}

    body.gs-app-body {
        background: var(--gs-page-bg);
        color: var(--gs-text);
        overflow-x: hidden;
    }

.gs-page {
    min-height: 100vh;
    padding-left: var(--gs-sidebar-width);
    display: flex;
    flex-direction: column;
    transition: padding-left .22s ease;
}

    .gs-page > .page-wrapper {
        min-height: 0;
        flex: 1 0 auto;
        padding-top: var(--gs-commandbar-height);
        display: flex;
        flex-direction: column;
        background: transparent;
    }

    .gs-page > .gs-module-nav:not([hidden]) {
        margin-top: var(--gs-commandbar-height);
    }

        .gs-page > .gs-module-nav:not([hidden]) + .page-wrapper {
            padding-top: 0;
        }

    .gs-page > .page-wrapper > .gs-page-header,
    .gs-page > .page-wrapper > .gs-page-body,
    .gs-page > .page-wrapper > .gs-footer,
    .gs-page > .gs-module-nav {
        transition: max-width .2s ease, margin .2s ease;
    }

html[data-gs-content-width="centered"] .gs-page > .page-wrapper > .gs-page-header > .container-fluid,
html[data-gs-content-width="centered"] .gs-page > .page-wrapper > .gs-page-body > .container-fluid,
html[data-gs-content-width="centered"] .gs-page > .gs-module-nav > .container-fluid {
    max-width: 1440px;
    margin-inline: auto;
}

.gs-app-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 1050;
    width: var(--gs-sidebar-width);
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    color: var(--gs-sidebar-text);
    background: radial-gradient(circle at 15% 5%,rgba(var(--gs-accent-rgb),.22),transparent 28%),linear-gradient(180deg,var(--gs-sidebar-bg),var(--gs-sidebar-bg-end));
    box-shadow: 10px 0 32px rgb(7 26 61 / 12%);
    transition: width .22s ease,transform .22s ease;
}

.gs-sidebar-brand {
    min-height: 76px;
    display: flex;
    align-items: center;
    padding: 0 14px 0 18px;
    border-bottom: 1px solid rgb(255 255 255 / 8%);
}

    .gs-sidebar-brand .gs-brand {
        min-width: 0;
        flex: 1;
        margin: 0;
        padding: 0;
        gap: 11px;
        background: transparent;
        overflow: hidden;
    }

        .gs-sidebar-brand .gs-brand::after {
            display: none;
        }

.gs-brand-mark {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(135deg,var(--gs-primary),var(--gs-accent));
    box-shadow: 0 8px 22px rgba(var(--gs-accent-rgb),.3);
    font-size: .9rem;
}

.gs-brand-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    color: #fff;
    line-height: 1.2;
    white-space: nowrap;
}

    .gs-brand-copy strong {
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 1.02rem;
        letter-spacing: .01em;
    }

    .gs-brand-copy small {
        margin-top: 3px;
        color: rgb(255 255 255 / 55%);
        font-size: .66rem;
        text-transform: uppercase;
        letter-spacing: .1em;
    }

.gs-sidebar-collapse, .gs-mobile-menu {
    border: 0;
    background: transparent;
    display: grid;
    place-items: center;
}

.gs-sidebar-collapse {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 8px;
    color: #91a4c7;
}

    .gs-sidebar-collapse:hover {
        color: #fff;
        background: rgb(255 255 255 / 9%);
    }

    .gs-sidebar-collapse svg, .gs-mobile-menu svg,
    .gs-sidebar-collapse .ti, .gs-mobile-menu .ti {
        width: 19px;
        height: 19px;
        font-size: 19px;
        line-height: 1;
    }

.gs-sidebar-context {
    margin: 14px 13px 10px;
    padding: 11px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgb(255 255 255 / 10%);
    border-radius: 12px;
    background: rgb(255 255 255 / 6%);
    overflow: hidden;
}

.gs-sidebar-context-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(135deg,var(--gs-primary),var(--gs-accent));
}

    .gs-sidebar-context-icon svg,
    .gs-sidebar-context-icon .ti {
        width: 18px;
        height: 18px;
        font-size: 18px;
        line-height: 1;
    }

.gs-sidebar-context-copy {
    min-width: 0;
    display: flex;
    flex: 1;
    flex-direction: column;
    white-space: nowrap;
}

    .gs-sidebar-context-copy small {
        color: #8193b5;
        font-size: .65rem;
        text-transform: uppercase;
        letter-spacing: .06em;
    }

    .gs-sidebar-context-copy strong {
        overflow: hidden;
        text-overflow: ellipsis;
        color: #fff;
        font-size: .83rem;
    }

.gs-sidebar-status {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #35d38b;
    box-shadow: 0 0 0 4px rgb(53 211 139 / 12%);
}

.gs-sidebar-section-label {
    padding: 8px 23px 7px;
    color: #607699;
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .13em;
    white-space: nowrap;
    overflow: hidden;
}

.gs-menu-host {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    padding: 0 10px 12px;
    scrollbar-width: thin;
    scrollbar-color: rgb(255 255 255 / 16%) transparent;
}

.gs-sidebar-nav {
    display: grid;
    gap: 3px;
}

.gs-sidebar-home, .gs-nav-module-toggle {
    width: 100%;
    min-height: 43px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 0;
    border-radius: 10px;
    color: var(--gs-sidebar-text);
    background: transparent;
    text-decoration: none;
    text-align: left;
}

    .gs-sidebar-home:hover, .gs-nav-module-toggle:hover {
        color: #fff;
        background: rgb(255 255 255 / 7%);
    }

    .gs-sidebar-home.active, .gs-nav-module.is-active > .gs-nav-module-toggle {
        color: #fff;
        background: linear-gradient(90deg,var(--gs-primary),color-mix(in srgb,var(--gs-primary) 72%,var(--gs-accent)));
        box-shadow: 0 8px 20px rgb(0 0 0 / 18%);
    }

.gs-nav-icon {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: grid;
    place-items: center;
}

    .gs-nav-icon > svg,
    .gs-nav-icon > .ti {
        width: 20px;
        height: 20px;
        font-size: 1.15rem;
        line-height: 1;
    }

.gs-module-glyph {
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    border-radius: 7px;
    color: inherit;
    background: rgb(255 255 255 / 9%);
    font-size: .72rem;
    font-weight: 800;
}

.gs-sidebar-home.active .gs-nav-icon, .gs-nav-module.is-active .gs-module-glyph {
    color: #fff;
    background: rgb(255 255 255 / 16%);
}

.gs-nav-label {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .83rem;
    font-weight: 650;
}

.gs-nav-chevron {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    font-size: 16px;
    line-height: 1;
    transition: transform .18s ease;
}

.gs-nav-module.is-open > .gs-nav-module-toggle .gs-nav-chevron {
    transform: rotate(90deg);
}

.gs-nav-module-items {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .24s ease, opacity .18s ease;
}

.gs-nav-module.is-open > .gs-nav-module-items {
    max-height: 1200px;
    opacity: 1;
    padding: 4px 0 7px;
}

.gs-nav-item, .gs-nav-children > a, .gs-nav-group-toggle {
    position: relative;
    width: 100%;
    min-height: 34px;
    padding: 7px 9px 7px 47px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 0;
    border-radius: 8px;
    color: #91a4c7;
    background: transparent;
    text-decoration: none;
    text-align: left;
    font-size: .78rem;
}

    .gs-nav-item:hover, .gs-nav-children > a:hover, .gs-nav-group-toggle:hover {
        color: #fff;
        background: rgb(255 255 255 / 6%);
    }

    .gs-nav-item.active, .gs-nav-children > a.active, .gs-nav-group-toggle.active {
        color: #fff;
        background: rgb(var(--gs-accent-rgb) / 13%);
    }

.gs-nav-tree-dot {
    position: absolute;
    left: 26px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #506886;
}

.gs-nav-item.active .gs-nav-tree-dot, .gs-nav-children > a.active .gs-nav-tree-dot {
    background: var(--gs-accent);
    box-shadow: 0 0 0 4px rgb(var(--gs-accent-rgb) / 13%);
}

.gs-nav-group-toggle {
    justify-content: space-between;
}

    .gs-nav-group-toggle .gs-submenu-chevron {
        width: 14px;
        height: 14px;
        font-size: 14px;
        line-height: 1;
        transition: transform .18s ease;
    }

    .gs-nav-group-toggle[aria-expanded="true"] .gs-submenu-chevron {
        transform: rotate(90deg);
    }

.gs-nav-children {
    display: none;
    padding: 2px 0 3px;
}

    .gs-nav-children.show {
        display: block;
    }

    .gs-nav-children > a {
        padding-left: 58px;
    }

        .gs-nav-children > a .gs-nav-tree-dot {
            left: 37px;
        }

.gs-sidebar-bottom {
    padding: 11px 13px 15px;
    border-top: 1px solid rgb(255 255 255 / 8%);
}

.gs-sidebar-shortcut {
    min-height: 38px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 9px;
    color: #a8b9d5;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
}

    .gs-sidebar-shortcut:hover {
        color: #fff;
        background: rgb(255 255 255 / 7%);
    }

    .gs-sidebar-shortcut svg {
        width: 17px;
        height: 17px;
        flex: 0 0 17px;
    }

.gs-sidebar-version {
    padding: 8px 10px 0;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #607699;
    font-size: .67rem;
    white-space: nowrap;
    overflow: hidden;
}

.gs-sidebar-version-dot {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #35d38b;
}

.gs-commandbar {
    position: fixed;
    left: var(--gs-sidebar-width);
    right: 0;
    top: 0;
    z-index: 1040;
    height: var(--gs-commandbar-height);
    background: rgb(255 255 255 / 94%);
    border-bottom: 1px solid var(--gs-panel-border);
    backdrop-filter: blur(18px);
    transition: left .22s ease;
}

.gs-commandbar-inner {
    height: 100%;
    padding: 0 22px;
    display: flex;
    align-items: center;
    gap: 18px;
}

.gs-mobile-menu {
    display: none;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    color: var(--gs-text);
}

.gs-command-context {
    min-width: 170px;
    align-items: center;
    gap: 9px;
}

.gs-command-context-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: var(--gs-primary);
    background: rgb(var(--gs-accent-rgb) / 9%);
}

    .gs-command-context-icon svg {
        width: 18px;
        height: 18px;
    }

.gs-command-context > span:nth-child(2) {
    min-width: 0;
    display: flex;
    flex: 1;
    flex-direction: column;
    line-height: 1.2;
}

.gs-command-context small, .gs-profile-copy small {
    color: var(--gs-muted);
    font-size: .66rem;
}

.gs-command-context strong {
    max-width: 115px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .8rem;
}

.gs-command-chevron {
    width: 15px;
    height: 15px;
    color: #8a98af;
}

.gs-global-search {
    width: min(520px,42vw);
    min-height: 40px;
    margin-inline: auto;
    padding: 0 12px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid #dbe3ef;
    border-radius: 11px;
    color: #8290a7;
    background: #f7f9fd;
    box-shadow: inset 0 1px 2px rgb(26 45 79 / 3%);
}

    .gs-global-search:hover {
        border-color: color-mix(in srgb,var(--gs-primary) 36%,#dbe3ef);
        background: #fff;
    }

    .gs-global-search svg,
    .gs-global-search .ti {
        width: 18px;
        height: 18px;
        flex: 0 0 18px;
        font-size: 18px;
        line-height: 1;
    }

    .gs-global-search span {
        flex: 1;
        overflow: hidden;
        text-align: left;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: .78rem;
    }

    .gs-global-search kbd, .gs-command-searchbox kbd {
        padding: 3px 6px;
        border: 1px solid #dce3ee;
        border-radius: 6px;
        color: #71809a;
        background: #fff;
        box-shadow: 0 1px 1px rgb(29 48 79 / 5%);
        font: 600 .65rem/1 var(--gs-font-family);
    }

.gs-quick-create {
    min-height: 38px;
    padding: 0 17px;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid color-mix(in srgb,var(--gs-primary) 78%,#000);
    border-radius: 9px;
    color: #17130d;
    background: linear-gradient(180deg,#e4c77f,#c99d4d);
    box-shadow: 0 5px 14px rgb(91 62 17 / 16%);
    font-size: .78rem;
    font-weight: 750;
}

    .gs-quick-create:hover {
        filter: brightness(1.04);
        transform: translateY(-1px);
    }

    .gs-quick-create svg {
        width: 16px;
        height: 16px;
    }

.gs-command-actions {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-left: auto;
}

.gs-app-switcher-menu {
    min-width: 16.5rem;
    padding: .4rem;
    z-index: 1060;
    background: var(--gs-surface, #fff);
    color: var(--gs-text);
    border: 1px solid var(--gs-panel-border);
}

.gs-app-switcher-menu .dropdown-header {
    color: var(--gs-muted);
    font-size: .68rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gs-app-switcher-menu .dropdown-item {
    border-radius: .5rem;
    color: var(--gs-text);
}

.gs-app-switcher-menu .dropdown-item:hover,
.gs-app-switcher-menu .dropdown-item:focus {
    color: var(--gs-primary-darker);
    background: color-mix(in srgb, var(--gs-primary) 12%, var(--gs-surface, #fff));
}

.gs-app-switcher-icon {
    width: 1.7rem;
    height: 1.7rem;
    display: grid;
    place-items: center;
    border-radius: .4rem;
    color: var(--gs-primary);
    background: color-mix(in srgb, var(--gs-primary) 12%, var(--gs-surface, #fff));
    font-size: 1.05rem;
}

.gs-welcome-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    min-width: 0;
}

.gs-welcome-action {
    min-width: 9.5rem;
    padding: .45rem .65rem;
    display: flex;
    align-items: center;
    gap: .55rem;
    border: 1px solid color-mix(in srgb, var(--gs-primary) 22%, var(--gs-panel-border));
    border-radius: .7rem;
    color: var(--gs-text);
    background: color-mix(in srgb, var(--gs-primary) 8%, var(--gs-surface));
    text-decoration: none;
}

.gs-welcome-action:hover {
    border-color: var(--gs-primary);
    background: color-mix(in srgb, var(--gs-primary) 16%, var(--gs-surface));
    color: var(--gs-text);
}

.gs-welcome-action-icon {
    width: 1.7rem;
    height: 1.7rem;
    display: grid;
    place-items: center;
    border-radius: .5rem;
    color: #fff;
    background: var(--gs-primary);
}

.gs-welcome-action-icon svg {
    width: .95rem;
    height: .95rem;
}

.gs-welcome-action-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.gs-welcome-action-copy strong {
    font-size: .78rem;
}

.gs-welcome-action-copy small {
    color: var(--gs-muted);
    font-size: .66rem;
}

.gs-command-icon {
    position: relative;
    width: 38px;
    height: 38px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 10px;
    color: #5b6c87;
    background: transparent;
}

    .gs-command-icon:hover {
        color: var(--gs-primary);
        background: #f0f4fb;
    }

    .gs-command-icon svg,
    .gs-command-icon .ti {
        width: 19px;
        height: 19px;
        font-size: 19px;
        line-height: 1;
    }

.gs-command-badge {
    position: absolute;
    top: 1px;
    right: 1px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    display: grid;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 999px;
    color: #fff;
    background: #f0445e;
    font-size: .58rem;
    font-weight: 800;
}

.gs-profile-trigger {
    min-height: 44px;
    padding: 3px 4px 3px 7px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 0;
    border-left: 1px solid #e6ebf3;
    color: var(--gs-text);
    background: transparent;
    text-align: left;
}

.gs-avatar {
    color: #fff;
    background: linear-gradient(135deg,var(--gs-primary),var(--gs-accent));
}

.gs-profile-copy {
    min-width: 0;
    max-width: 140px;
    flex-direction: column;
    line-height: 1.25;
}

    .gs-profile-copy strong {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: .78rem;
    }

.gs-command-modal .modal-dialog {
    max-width: 620px;
}

.gs-command-modal .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 24px 80px rgb(12 29 61 / 28%);
}

.gs-command-searchbox {
    min-height: 64px;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--gs-panel-border);
}

    .gs-command-searchbox > svg,
    .gs-command-searchbox > .ti {
        width: 22px;
        height: 22px;
        font-size: 1.2rem;
        line-height: 1;
        color: var(--gs-primary);
    }

    .gs-command-searchbox .form-control {
        padding-inline: 0;
        border: 0;
        box-shadow: none;
        font-size: 1rem;
    }

.gs-command-results {
    min-height: 110px;
    padding: 20px;
}

.gs-sidebar-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1045;
    background: rgb(7 18 42 / 55%);
    backdrop-filter: blur(2px);
}

.gs-page-header {
    padding: 20px 0 8px;
    background: transparent;
}

.gs-page-title {
    color: var(--gs-text);
    font-size: 1.55rem;
    font-weight: 750;
}

.gs-page-body {
    padding-top: 8px;
    flex: 1 0 auto;
    background: transparent;
}

.gs-footer {
    flex: 0 0 auto;
    margin-top: auto;
    border-top: 1px solid var(--gs-panel-border);
    background: color-mix(in srgb,var(--gs-surface) 92%,transparent);
}

.gs-module-nav {
    margin: 0;
    background: rgb(255 255 255 / 86%);
    border-bottom: 1px solid var(--gs-panel-border);
    backdrop-filter: blur(14px);
}

.card, .gs-filter-card, .gs-manage-card, .gs-panel {
    border-color: var(--gs-panel-border);
    border-radius: var(--gs-ui-radius);
    box-shadow: none;
}

.btn-primary {
    border-color: var(--gs-primary);
    background: var(--gs-primary);
}

    .btn-primary:hover {
        border-color: var(--gs-primary-dark);
        background: var(--gs-primary-dark);
    }

.form-control:focus, .form-select:focus {
    border-color: color-mix(in srgb,var(--gs-primary) 55%,white);
    box-shadow: 0 0 0 .2rem rgb(var(--gs-accent-rgb) / 12%);
}

.gs-filter-card {
    background: linear-gradient(135deg,#fff,color-mix(in srgb,var(--gs-primary) 4%,white));
    box-shadow: 0 5px 18px rgb(21 45 86 / 5%);
}

.gs-manage-table thead th {
    color: #34415a;
    background: #f4f7fc;
    border-color: #e1e8f2;
}

.gs-manage-table tbody tr:nth-child(even) td {
    background: #fafbfe;
}

.gs-action-button {
    color: var(--gs-primary-dark);
    background: rgb(var(--gs-accent-rgb) / 8%);
}

    .gs-action-button:hover {
        color: #fff;
        background: var(--gs-primary);
    }

.gs-detail-tabs {
    background: transparent;
    border-color: var(--gs-panel-border);
}

    .gs-detail-tabs .nav-link {
        border-radius: 9px 9px 0 0;
        background: #e9eef7;
    }

        .gs-detail-tabs .nav-link.active {
            color: var(--gs-primary-dark);
            background: #fff;
            box-shadow: inset 0 3px 0 var(--gs-primary);
        }

html[data-gs-sidebar-size="compact"] .gs-page {
    padding-left: var(--gs-sidebar-compact-width);
}

html[data-gs-sidebar-size="compact"] .gs-app-sidebar {
    width: var(--gs-sidebar-compact-width);
}

html[data-gs-sidebar-size="compact"] .gs-commandbar {
    left: var(--gs-sidebar-compact-width);
}

html[data-gs-sidebar-size="compact"] .gs-brand-copy,
html[data-gs-sidebar-size="compact"] .gs-sidebar-context-copy,
html[data-gs-sidebar-size="compact"] .gs-sidebar-status,
html[data-gs-sidebar-size="compact"] .gs-sidebar-section-label,
html[data-gs-sidebar-size="compact"] .gs-nav-label,
html[data-gs-sidebar-size="compact"] .gs-nav-chevron,
html[data-gs-sidebar-size="compact"] .gs-sidebar-shortcut span,
html[data-gs-sidebar-size="compact"] .gs-sidebar-version span:last-child {
    display: none;
}

html[data-gs-sidebar-size="compact"] .gs-sidebar-brand {
    position: relative;
    justify-content: center;
    padding-inline: 20px 10px;
}

html[data-gs-sidebar-size="compact"] .gs-sidebar-collapse {
    position: absolute;
    right: -14px;
    background: var(--gs-surface);
    color: var(--gs-primary);
    box-shadow: 0 3px 12px rgb(0 0 0 / 18%);
}

html[data-gs-sidebar-size="compact"] .gs-sidebar-collapse .ti {
    transform: rotate(180deg);
}

    html[data-gs-sidebar-size="compact"] .gs-sidebar-brand .gs-brand {
        flex: 0 0 auto;
    }

html[data-gs-sidebar-size="compact"] .gs-sidebar-context {
    justify-content: center;
    margin-inline: 11px;
    padding-inline: 8px;
}

html[data-gs-sidebar-size="compact"] .gs-sidebar-home,
html[data-gs-sidebar-size="compact"] .gs-nav-module-toggle {
    justify-content: center;
    padding-inline: 8px;
}

html[data-gs-sidebar-size="compact"] .gs-nav-module-items {
    display: none !important;
}

html[data-gs-sidebar-size="compact"] .gs-sidebar-shortcut {
    justify-content: center;
}

html[data-gs-card-shadow="true"] .card,
html[data-gs-card-shadow="true"] .gs-filter-card,
html[data-gs-card-shadow="true"] .gs-manage-card,
html[data-gs-card-shadow="true"] .gs-panel {
    box-shadow: var(--gs-card-shadow);
}

html[data-gs-density="spacious"] {
    font-size: 15px;
}

    html[data-gs-density="spacious"] .gs-page-body {
        padding-top: 14px;
    }

    html[data-gs-density="spacious"] .card-body {
        padding: 1.4rem;
    }

html[data-gs-motion="false"] *, html[data-gs-motion="false"] *::before, html[data-gs-motion="false"] *::after {
    scroll-behavior: auto !important;
    transition-duration: 0s !important;
    animation-duration: 0s !important;
}

html[data-gs-sticky-nav="false"] .gs-commandbar {
    position: absolute;
}

.gs-settings-drawer {
    width: min(430px,94vw) !important;
    background: #f8faff;
}

    .gs-settings-drawer .offcanvas-header {
        padding: 22px;
        border-bottom: 1px solid var(--gs-panel-border);
        background: #fff;
    }

    .gs-settings-drawer .offcanvas-body {
        padding: 0 22px;
    }

    .gs-settings-drawer .offcanvas-footer {
        padding: 16px 22px;
        border-top: 1px solid var(--gs-panel-border);
        background: #fff;
    }

.gs-settings-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: var(--gs-primary);
    font-size: .65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.gs-settings-drawer .offcanvas-title {
    color: var(--gs-text);
    font-size: 1.35rem;
    font-weight: 750;
}

.gs-settings-section {
    padding: 18px 0;
    border-bottom: 1px solid var(--gs-panel-border);
}

.gs-settings-label {
    display: block;
    margin-bottom: 7px;
    color: var(--gs-text);
    font-size: .78rem;
    font-weight: 750;
}

.gs-palette-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}

.gs-palette-card {
    position: relative;
    min-width: 0;
    padding: 10px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid #dfe6f1;
    border-radius: 11px;
    color: var(--gs-text);
    background: #fff;
    text-align: left;
}

    .gs-palette-card:hover {
        border-color: color-mix(in srgb,var(--gs-primary) 42%,#dfe6f1);
        transform: translateY(-1px);
    }

    .gs-palette-card.is-active {
        border-color: var(--gs-primary);
        box-shadow: 0 0 0 2px rgb(var(--gs-accent-rgb) / 11%);
    }

.gs-palette-preview {
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    display: flex;
    overflow: hidden;
    border-radius: 9px;
}

    .gs-palette-preview i {
        flex: 1;
    }

.gs-palette-card > span:nth-child(2) {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.gs-palette-card strong {
    font-size: .76rem;
}

.gs-palette-card small {
    color: var(--gs-muted);
    font-size: .61rem;
}

.gs-palette-check {
    position: absolute;
    top: 5px;
    right: 6px;
    display: none;
    color: var(--gs-primary);
    font-size: .7rem;
    font-weight: 800;
}

.gs-palette-card.is-active .gs-palette-check {
    display: block;
}

.gs-settings-two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.gs-segmented-control {
    padding: 3px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px;
    border: 1px solid #dfe6f1;
    border-radius: 10px;
    background: #eef2f8;
}

    .gs-segmented-control button {
        min-height: 34px;
        border: 0;
        border-radius: 7px;
        color: var(--gs-muted);
        background: transparent;
        font-size: .74rem;
        font-weight: 700;
    }

        .gs-segmented-control button.is-active {
            color: var(--gs-primary-dark);
            background: #fff;
            box-shadow: 0 2px 7px rgb(26 45 78 / 10%);
        }

.gs-settings-switches {
    display: grid;
    gap: 0;
}

    .gs-settings-switches > label {
        padding: 11px 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        border-bottom: 1px dashed #dfe6f1;
    }

        .gs-settings-switches > label:last-child {
            border: 0;
        }

    .gs-settings-switches label > span {
        display: flex;
        flex-direction: column;
    }

    .gs-settings-switches strong {
        color: var(--gs-text);
        font-size: .77rem;
    }

    .gs-settings-switches small {
        color: var(--gs-muted);
        font-size: .66rem;
    }

    .gs-settings-switches .form-check-input {
        flex: 0 0 auto;
    }

/* Obsidian Luxe combination: executive graphite shell, ivory workspace and champagne highlights. */
html[data-gs-theme-color="obsidian"] .gs-commandbar {
    color: #e8e8e5;
    background: rgb(18 23 29 / 97%);
    border-bottom-color: #30363e;
    box-shadow: 0 4px 18px rgb(3 6 10 / 15%);
}

html[data-gs-theme-color="obsidian"] .gs-command-context-icon {
    color: var(--gs-accent);
    background: rgb(var(--gs-accent-rgb) / 10%);
}

html[data-gs-theme-color="obsidian"] .gs-command-context strong,
html[data-gs-theme-color="obsidian"] .gs-profile-copy strong {
    color: #f8f7f2;
}

html[data-gs-theme-color="obsidian"] .gs-command-context small,
html[data-gs-theme-color="obsidian"] .gs-profile-copy small {
    color: #999fa8;
}

html[data-gs-theme-color="obsidian"] .gs-global-search {
    color: #aeb4bd;
    background: #242a32;
    border-color: #3b424c;
    box-shadow: inset 0 1px 2px rgb(0 0 0 / 22%);
}

    html[data-gs-theme-color="obsidian"] .gs-global-search:hover {
        border-color: #806a43;
        background: #2a3038;
    }

    html[data-gs-theme-color="obsidian"] .gs-global-search kbd {
        color: #bbb5a8;
        background: #30363e;
        border-color: #494f57;
    }

html[data-gs-theme-color="obsidian"] .gs-command-icon {
    color: #c4c7cc;
}

    html[data-gs-theme-color="obsidian"] .gs-command-icon:hover {
        color: var(--gs-accent);
        background: rgb(255 255 255 / 7%);
    }

html[data-gs-theme-color="obsidian"] .gs-profile-trigger {
    border-left-color: #343a42;
    color: #f8f7f2;
}

html[data-gs-theme-color="obsidian"] .gs-sidebar-home.active,
html[data-gs-theme-color="obsidian"] .gs-nav-module.is-active > .gs-nav-module-toggle {
    color: #fff;
    background: linear-gradient(90deg,#6f5225,#3a3021);
    box-shadow: inset 3px 0 0 var(--gs-accent),0 7px 18px rgb(0 0 0 / 24%);
}

html[data-gs-theme-color="obsidian"] .gs-brand-mark,
html[data-gs-theme-color="obsidian"] .gs-sidebar-context-icon,
html[data-gs-theme-color="obsidian"] .gs-avatar {
    color: #15130f;
    background: linear-gradient(135deg,#8e6425,#e0c27a);
}

html[data-gs-theme-color="obsidian"] .gs-sidebar-status {
    background: #d5b46a;
    box-shadow: 0 0 0 4px rgb(var(--gs-accent-rgb) / 12%);
}

html[data-gs-theme-color="obsidian"] .gs-page-header,
html[data-gs-theme-color="obsidian"] .gs-page-body {
    color: var(--gs-text);
}

html[data-gs-theme-color="obsidian"] .card,
html[data-gs-theme-color="obsidian"] .gs-filter-card,
html[data-gs-theme-color="obsidian"] .gs-manage-card,
html[data-gs-theme-color="obsidian"] .gs-panel {
    background-color: var(--gs-surface);
}

html[data-gs-theme-color="obsidian"] h1,
html[data-gs-theme-color="obsidian"] h2,
html[data-gs-theme-color="obsidian"] .gs-page-title,
html[data-gs-theme-color="obsidian"] .card-title {
    font-family: Georgia,"Times New Roman",serif;
    letter-spacing: -.025em;
}

html[data-gs-theme-color="obsidian"] .gs-module-nav {
    background: rgb(255 253 250 / 90%);
}

html[data-gs-theme-color="obsidian"] .gs-manage-table thead th {
    color: #4b402e;
    background: #f1ece2;
}

html[data-gs-theme-color="obsidian"] .gs-manage-table tbody tr:nth-child(even) td {
    background: #fbf9f5;
}

html[data-gs-theme-color="obsidian"] .gs-action-button {
    color: #76541e;
    background: #f2ead9;
}

html[data-gs-theme-color="obsidian"] .gs-filter-card {
    background: linear-gradient(135deg,#fffdfa,#f5efe3);
}

@media (max-width:991.98px) {
    .gs-page {
        padding-left: 0 !important;
    }

    .gs-app-sidebar {
        width: min(290px,86vw) !important;
        transform: translateX(-105%);
    }

    body.gs-sidebar-mobile-open .gs-app-sidebar {
        transform: translateX(0);
    }

    body.gs-sidebar-mobile-open .gs-sidebar-backdrop {
        display: block;
    }

    .gs-commandbar {
        left: 0 !important;
    }

    .gs-mobile-menu {
        display: grid;
    }

    .gs-commandbar-inner {
        padding-inline: 12px;
        gap: 8px;
    }

    .gs-global-search {
        width: auto;
        flex: 1;
        margin-inline: 0;
    }
}

@media (max-width:575.98px) {
    :root {
        --gs-commandbar-height: 60px;
    }

    .gs-global-search span, .gs-global-search kbd {
        display: none;
    }

    .gs-global-search {
        flex: 0 0 40px;
        padding: 0;
        justify-content: center;
    }

    .gs-profile-trigger {
        padding-left: 4px;
        border-left: 0;
    }

    .gs-quick-create {
        width: 38px;
        padding: 0;
        justify-content: center;
    }

        .gs-quick-create span {
            display: none;
        }

    .gs-command-actions {
        margin-left: auto;
    }

    .gs-settings-two-column, .gs-palette-grid {
        grid-template-columns: 1fr;
    }
}

@media print {
    .gs-page {
        padding-left: 0;
    }

        .gs-page > .page-wrapper {
            padding-top: 0;
        }
}

+
/* ============================================================
   OBSIDIAN LUXE — COMPLETE APPLICATION CONTEXT
   Shared rules for dashboards, manage/detail pages and dialogs.
   ============================================================ */
html[data-gs-theme-color="obsidian"] body.gs-app-body {
    background: radial-gradient(circle at 78% -10%, rgb(204 169 96 / 8%), transparent 27rem), #f7f5f0;
}

html[data-gs-theme-color="obsidian"] .gs-page-header {
    padding-top: 1.25rem;
}

html[data-gs-theme-color="obsidian"] .gs-context-label {
    color: #9a6f2b !important;
    letter-spacing: .11em;
}

html[data-gs-theme-color="obsidian"] .text-primary {
    color: #9a6f2b !important;
}

html[data-gs-theme-color="obsidian"] .bg-primary {
    background-color: #9a6f2b !important;
}

html[data-gs-theme-color="obsidian"] .btn {
    min-height: 38px;
    border-radius: 9px;
    font-weight: 650;
    letter-spacing: .005em;
    transition: transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease;
}

    html[data-gs-theme-color="obsidian"] .btn:hover {
        transform: translateY(-1px);
    }

html[data-gs-theme-color="obsidian"] .btn-primary {
    color: #17130d;
    border-color: #9b7029;
    background: linear-gradient(180deg,#dfc074,#bd8e3f);
    box-shadow: 0 5px 15px rgb(99 69 24 / 15%);
}

    html[data-gs-theme-color="obsidian"] .btn-primary:hover {
        color: #100e0b;
        border-color: #8b6324;
        background: linear-gradient(180deg,#e7cb84,#c69a4c);
    }

html[data-gs-theme-color="obsidian"] .btn-outline-primary {
    color: #875f22;
    border-color: #b98b43;
}

    html[data-gs-theme-color="obsidian"] .btn-outline-primary:hover {
        color: #fff;
        background: #8c6528;
        border-color: #8c6528;
    }

html[data-gs-theme-color="obsidian"] .btn-outline-secondary {
    color: #50545b;
    border-color: #cfc8bb;
    background: #fffdfa;
}

    html[data-gs-theme-color="obsidian"] .btn-outline-secondary:hover {
        color: #171a20;
        background: #eee9df;
        border-color: #bdb4a5;
    }

html[data-gs-theme-color="obsidian"] .badge.bg-blue-lt,
html[data-gs-theme-color="obsidian"] .badge.bg-azure-lt {
    color: #76531d !important;
    background: #f2e8d3 !important;
}

html[data-gs-theme-color="obsidian"] .status-green {
    color: #237447;
    background: #eaf5ed;
}

html[data-gs-theme-color="obsidian"] .pagination .page-link {
    color: #66563c;
    border-color: #dfd8cd;
    background: #fffdfa;
}

html[data-gs-theme-color="obsidian"] .pagination .active .page-link {
    color: #17130d;
    border-color: #a97b31;
    background: #d4b165;
}

/* Reusable surface hierarchy */
html[data-gs-theme-color="obsidian"] .card,
html[data-gs-theme-color="obsidian"] .gs-panel,
html[data-gs-theme-color="obsidian"] .gs-manage-card {
    border: 1px solid #e2ddd4;
    background: #fffdfa;
    box-shadow: 0 5px 20px rgb(36 31 22 / 5%);
}

html[data-gs-theme-color="obsidian"] .card-header {
    min-height: 52px;
    border-bottom-color: #e8e2d8;
    background: linear-gradient(180deg,#fffdfa,#faf7f1);
}

html[data-gs-theme-color="obsidian"] .card-footer {
    border-top-color: #e8e2d8;
    background: #faf8f4;
}

html[data-gs-theme-color="obsidian"] .form-label {
    color: #46413a;
    font-size: .78rem;
    font-weight: 700;
}

html[data-gs-theme-color="obsidian"] .form-control,
html[data-gs-theme-color="obsidian"] .form-select {
    min-height: 40px;
    color: #22252b;
    border-color: #d8d1c5;
    border-radius: 8px;
    background-color: #fffefa;
}

    html[data-gs-theme-color="obsidian"] .form-control::placeholder {
        color: #9b978f;
    }

    html[data-gs-theme-color="obsidian"] .form-control:focus,
    html[data-gs-theme-color="obsidian"] .form-select:focus {
        border-color: #b28a4b;
        box-shadow: 0 0 0 .2rem rgb(190 148 78 / 13%);
    }

html[data-gs-theme-color="obsidian"] .form-check-input:checked {
    border-color: #9a702d;
    background-color: #9a702d;
}

/* Main dashboard */
html[data-gs-theme-color="obsidian"] .gs-home-dashboard {
    --home-ink: #171a20;
    --home-muted: #77736c;
    --home-border: #e2ddd4;
    --home-surface: #fffdfa;
    --home-surface-soft: #faf8f4;
    --home-primary: #a7792e;
    --home-primary-deep: #76531d;
    --home-primary-soft: #f3ead8;
    --home-info: #273b61;
    --home-info-soft: #edf0f5;
}

html[data-gs-theme-color="obsidian"] .gs-home-hero {
    min-height: 225px;
    border-color: #dfd6c8;
    background: linear-gradient(90deg,rgba(255,253,249,.98) 0%,rgba(255,252,246,.91) 44%,rgba(20,25,31,.22) 100%), radial-gradient(circle at 82% 16%,#d8b66d 0%,#6d6b66 21%,#151a20 56%,#0b0f14 100%);
    box-shadow: 0 12px 35px rgb(38 31 20 / 9%);
}

    html[data-gs-theme-color="obsidian"] .gs-home-hero::after {
        width: 330px;
        height: 160px;
        right: 2.5%;
        bottom: -72px;
        border: 0;
        border-radius: 54% 46% 0 0;
        background: linear-gradient(145deg,transparent 28%,rgb(11 16 22 / 36%) 29% 34%,transparent 35%), linear-gradient(35deg,transparent 35%,rgb(214 182 108 / 28%) 36% 39%,transparent 40%);
        opacity: .7;
    }

    html[data-gs-theme-color="obsidian"] .gs-home-hero h1 {
        color: #171a20;
        font-weight: 600;
    }

html[data-gs-theme-color="obsidian"] .gs-home-eyebrow,
html[data-gs-theme-color="obsidian"] .gs-home-panel-kicker,
html[data-gs-theme-color="obsidian"] .gs-home-coverage-kicker {
    color: #8b6324;
}

html[data-gs-theme-color="obsidian"] .gs-home-coverage-card {
    border-color: rgb(160 125 66 / 20%);
    background: rgb(255 253 249 / 88%);
    box-shadow: 0 16px 42px rgb(35 29 20 / 10%);
}

html[data-gs-theme-color="obsidian"] .gs-home-ring-value {
    stroke: #aa7d34;
}

html[data-gs-theme-color="obsidian"] .gs-home-signal-card,
html[data-gs-theme-color="obsidian"] .gs-home-panel,
html[data-gs-theme-color="obsidian"] .gs-home-workspaces {
    border-color: #e2ddd4;
    background: #fffdfa;
    box-shadow: 0 5px 20px rgb(37 31 22 / 5%);
}

    html[data-gs-theme-color="obsidian"] .gs-home-signal-card:hover,
    html[data-gs-theme-color="obsidian"] .gs-home-workspace-card:hover {
        border-color: #c9ab70;
        box-shadow: 0 12px 28px rgb(72 52 22 / 9%);
    }

html[data-gs-theme-color="obsidian"] .gs-home-signal-icon {
    color: #8f6728;
    background: #f1e8d7;
}

html[data-gs-theme-color="obsidian"] .gs-home-signal-value,
html[data-gs-theme-color="obsidian"] .gs-module-metric-value {
    font-family: Georgia,"Times New Roman",serif;
    color: #171a20;
    font-weight: 600;
}

html[data-gs-theme-color="obsidian"] .gs-home-chart-line {
    stroke: #263957;
}

html[data-gs-theme-color="obsidian"] .gs-home-chart-point {
    fill: #a7792e;
    stroke: #fffdfa;
}

html[data-gs-theme-color="obsidian"] .gs-home-module-bar,
html[data-gs-theme-color="obsidian"] .gs-home-group-bar {
    fill: #a7792e;
}

html[data-gs-theme-color="obsidian"] .gs-home-workspace-monogram,
html[data-gs-theme-color="obsidian"] .gs-home-branch-count {
    color: #7c581f;
    background: #f1e7d4;
}

html[data-gs-theme-color="obsidian"] .gs-home-workspace-card,
html[data-gs-theme-color="obsidian"] .gs-home-branch-row,
html[data-gs-theme-color="obsidian"] .gs-home-insight {
    border-color: #e7e1d7;
    background: #fffefa;
}

/* Module dashboards */
html[data-gs-theme-color="obsidian"] .gs-module-dashboard-intro {
    border: 1px solid #ded6c8;
    background: radial-gradient(circle at 88% 12%,rgb(203 163 86 / 20%),transparent 30%), linear-gradient(135deg,#fffdfa 0%,#f6f0e5 68%,#e8ddc9 100%);
}

html[data-gs-theme-color="obsidian"] .gs-dashboard-orb {
    color: #8c6425;
    background: #f0e5d0;
}

html[data-gs-theme-color="obsidian"] .gs-module-metric-card {
    border-color: #e2ddd4;
    background: #fffdfa;
}

    html[data-gs-theme-color="obsidian"] .gs-module-metric-card:hover {
        border-color: #c8a767;
        box-shadow: 0 12px 28px rgb(67 51 26 / 9%);
    }

html[data-gs-theme-color="obsidian"] .gs-dashboard-links .list-group-item:hover {
    background: #f7f2e8;
}

html[data-gs-theme-color="obsidian"] .gs-module-health-progress,
html[data-gs-theme-color="obsidian"] .gs-module-health-progress::-webkit-progress-bar {
    background: #e8e1d6;
}

    html[data-gs-theme-color="obsidian"] .gs-module-health-progress::-webkit-progress-value,
    html[data-gs-theme-color="obsidian"] .gs-module-health-progress::-moz-progress-bar {
        background: linear-gradient(90deg,#8b6325,#d6b66c);
    }

/* Manage pages, responsive tables and live-search filters */
html[data-gs-theme-color="obsidian"] .gs-filter-card {
    border-color: #ddd4c5;
    background: linear-gradient(135deg,#fffdfa,#f4eee2);
}

html[data-gs-theme-color="obsidian"] .gs-manage-table {
    color: #2a2d32;
}

    html[data-gs-theme-color="obsidian"] .gs-manage-table thead th {
        padding: .8rem .7rem;
        color: #594b35;
        border-bottom-color: #dcd3c6;
        background: #eee7da;
        font-size: .72rem;
        text-transform: uppercase;
        letter-spacing: .045em;
    }

    html[data-gs-theme-color="obsidian"] .gs-manage-table tbody td {
        border-color: #eee9e1;
        background: #fffdfa;
    }

    html[data-gs-theme-color="obsidian"] .gs-manage-table tbody tr:nth-child(even) td {
        background: #fbf8f3;
    }

    html[data-gs-theme-color="obsidian"] .gs-manage-table tbody tr:hover td {
        background: #f7f0e4;
    }

html[data-gs-theme-color="obsidian"] .gs-generic-crud-table .gs-crud-action-column {
    background: #fffdfa;
    box-shadow: -10px 0 18px -18px rgb(43 33 19 / 70%);
}

html[data-gs-theme-color="obsidian"] .gs-manage-table tbody tr:nth-child(even) .gs-crud-action-column {
    background: #fbf8f3;
}

html[data-gs-theme-color="obsidian"] .gs-manage-table tbody tr:hover .gs-crud-action-column {
    background: #f7f0e4;
}

.gs-list-footer {
    position: relative;
    min-height: 58px;
    margin-top: 12px;
    padding: 10px 14px;
    border: 1px solid var(--gs-panel-border);
    border-radius: 11px;
    background: rgb(255 255 255 / 94%);
    box-shadow: 0 10px 30px rgb(21 35 56 / 12%);
    backdrop-filter: blur(16px);
}

html[data-gs-theme-color="obsidian"] .gs-list-footer {
    border-color: #d9d0c2;
    background: rgb(255 253 250 / 95%);
    box-shadow: 0 12px 34px rgb(36 29 19 / 13%);
}

.gs-list-footer .pagination {
    max-width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
}

.gs-generic-crud-table-responsive, .table-responsive {
    scrollbar-color: #b7a077 #eee8dd;
}

    .gs-generic-crud-table-responsive::-webkit-scrollbar, .table-responsive::-webkit-scrollbar {
        height: 10px;
        width: 10px;
    }

    .gs-generic-crud-table-responsive::-webkit-scrollbar-track, .table-responsive::-webkit-scrollbar-track {
        background: #eee8dd;
    }

    .gs-generic-crud-table-responsive::-webkit-scrollbar-thumb, .table-responsive::-webkit-scrollbar-thumb {
        border: 2px solid #eee8dd;
        border-radius: 99px;
        background: #b7a077;
    }

/* Detail pages */
html[data-gs-theme-color="obsidian"] .gs-detail-header {
    border-bottom: 1px solid #e5ded4;
}

html[data-gs-theme-color="obsidian"] .gs-detail-tabs {
    background: #f7f5f0;
}

    html[data-gs-theme-color="obsidian"] .gs-detail-tabs .nav-link {
        color: #69645c;
        background: #ebe6dd;
    }

        html[data-gs-theme-color="obsidian"] .gs-detail-tabs .nav-link.active {
            color: #75531e;
            background: #fffdfa;
            box-shadow: inset 0 3px 0 #ad8139;
        }

html[data-gs-theme-color="obsidian"] .gs-side-list .list-group-item {
    border-color: #e8e1d7;
    background: #fffdfa;
}

    html[data-gs-theme-color="obsidian"] .gs-side-list .list-group-item.active {
        color: #17130d;
        border-color: #b28a47;
        background: #e3c985;
    }

html[data-gs-theme-color="obsidian"] .gs-record-avatar,
html[data-gs-theme-color="obsidian"] .gs-user-photo-wrap {
    color: #6e4e1c;
    border-color: #d9c9aa;
    background: linear-gradient(145deg,#f4ead8,#d8b66e);
}

html[data-gs-theme-color="obsidian"] .gs-soft-panel {
    background: #f6f0e5;
}

/* All popups and modal editors */
.modal-backdrop.show {
    opacity: .62;
    background: #080b0f;
    backdrop-filter: blur(3px);
}

html[data-gs-theme-color="obsidian"] .modal-content {
    color: #25272c;
    border: 1px solid #51483a;
    border-radius: 14px;
    background: #fffdfa;
    box-shadow: 0 28px 90px rgb(4 6 9 / 38%);
}

html[data-gs-theme-color="obsidian"] .modal-header {
    padding: 1rem 1.2rem;
    border-bottom-color: #dfd8cd;
    background: linear-gradient(180deg,#fffdfa,#f3ecdf);
}

html[data-gs-theme-color="obsidian"] .modal-title {
    color: #201d18;
    font-family: Georgia,"Times New Roman",serif;
    font-weight: 600;
}

html[data-gs-theme-color="obsidian"] .modal-body {
    background: #fffdfa;
    scrollbar-color: #b7a077 #eee8dd;
}

html[data-gs-theme-color="obsidian"] .modal-footer {
    padding: .9rem 1.2rem;
    border-top-color: #dfd8cd;
    background: #f7f3ec;
}

html[data-gs-theme-color="obsidian"] .gs-confirm-icon {
    color: #7e581e;
    background: #f2e7d1;
}

html[data-gs-theme-color="obsidian"] .gs-generic-crud-busy {
    background: rgb(8 11 15 / 58%);
}

html[data-gs-theme-color="obsidian"] .gs-generic-crud-busy-card {
    border: 1px solid #51483a;
    background: #fffdfa;
}

html[data-gs-theme-color="obsidian"] .gs-generic-crud-notice.is-success {
    color: #285f3f;
    border-color: #bcdcc7;
    background: #edf7f0;
}

html[data-gs-theme-color="obsidian"] .gs-generic-crud-notice.is-danger {
    color: #8a3434;
    border-color: #e5c0bd;
    background: #fff3f1;
}

.modal-dialog-scrollable .modal-content,
#generic-crud-editor-modal .modal-content,
#admin-user-create-modal .modal-content,
#user-group-create-modal .modal-content,
#user-group-edit-modal .modal-content {
    max-height: calc(100dvh - 1.5rem);
}

.modal-dialog-scrollable .modal-body,
#generic-crud-editor-modal .modal-body,
#admin-user-create-modal .modal-body,
#user-group-create-modal .modal-body,
#user-group-edit-modal .modal-body {
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

/* Permissions, branding and specialized detail content */
html[data-gs-theme-color="obsidian"] .gs-permission-section,
html[data-gs-theme-color="obsidian"] .gs-form-rights-module,
html[data-gs-theme-color="obsidian"] .gs-permission-tile,
html[data-gs-theme-color="obsidian"] .gs-form-right-row,
html[data-gs-theme-color="obsidian"] .gs-branding-card {
    border-color: #e4ddd2;
    background: #fffdfa;
}

html[data-gs-theme-color="obsidian"] .gs-permission-section-header,
html[data-gs-theme-color="obsidian"] .gs-form-rights-module-header {
    border-color: #ddd4c5;
    background: #f2ece1;
}

html[data-gs-theme-color="obsidian"] .gs-permission-tile:hover,
html[data-gs-theme-color="obsidian"] .gs-form-right-row:hover {
    border-color: #c8a767;
    background: #f8f2e8;
}

html[data-gs-theme-color="obsidian"] .gs-branding-preview {
    border-color: #d8cdbb;
    background: linear-gradient(145deg,#fffdfa,#eee5d6);
}

/* Live command search */
.gs-command-results {
    max-height: min(58vh,460px);
    padding: 8px;
    overflow-y: auto;
    background: #fffdfa;
}

.gs-command-result-list {
    display: grid;
    gap: 3px;
}

.gs-command-result {
    min-height: 54px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 9px;
    color: #282b31;
    text-decoration: none;
}

    .gs-command-result:hover, .gs-command-result.is-active {
        color: #1d1913;
        background: #f0e7d6;
    }

.gs-command-result-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    border-radius: 8px;
    color: #815b20;
    background: #e8d6b4;
    font-weight: 800;
}

.gs-command-result-copy {
    min-width: 0;
    display: flex;
    flex: 1;
    flex-direction: column;
}

    .gs-command-result-copy strong {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: .8rem;
    }

    .gs-command-result-copy small {
        color: #827c72;
        font-size: .67rem;
    }

.gs-command-result kbd {
    display: none;
    padding: 3px 6px;
    border: 1px solid #d7cdbd;
    border-radius: 5px;
    color: #756a5a;
    background: #fffdfa;
    font-size: .6rem;
}

.gs-command-result.is-active kbd {
    display: inline-block;
}

.gs-command-empty {
    min-height: 96px;
    padding: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    color: #77736c;
    text-align: center;
}

    .gs-command-empty strong {
        color: #302b23;
        font-family: Georgia,"Times New Roman",serif;
        font-size: 1rem;
    }

    .gs-command-empty span {
        font-size: .75rem;
    }

@media (max-width:767.98px) {
    html[data-gs-theme-color="obsidian"] .gs-page-header {
        padding-top: .85rem;
    }

    html[data-gs-theme-color="obsidian"] .gs-home-hero {
        background: linear-gradient(145deg,#fffdfa,#eee3d0);
    }

        html[data-gs-theme-color="obsidian"] .gs-home-hero::after {
            opacity: .25;
        }

    .modal-dialog-scrollable .modal-content,
    #generic-crud-editor-modal .modal-content,
    #admin-user-create-modal .modal-content,
    #user-group-create-modal .modal-content,
    #user-group-edit-modal .modal-content {
        max-height: calc(100dvh - .5rem);
    }

    .gs-list-footer {
        padding: 9px 10px;
        align-items: stretch !important;
        flex-direction: column;
    }

        .gs-list-footer .pagination {
            width: 100%;
        }
}

.page-body {
    margin-top: 0px !important;
}

.page-wrapper .page-header {
    margin: 0px !important
}
/* Sidebar child menu: white text, readable hover/active */
.gs-app-sidebar .gs-nav-children>a,.gs-app-sidebar .gs-nav-children>a:hover,.gs-app-sidebar .gs-nav-children>a:focus,.gs-app-sidebar .gs-nav-children>a.active,.gs-app-sidebar .gs-submenu-toggle,.gs-app-sidebar .gs-menu-submenu a{color:#fff}
.gs-app-sidebar .gs-nav-children>a:hover,.gs-app-sidebar .gs-nav-children>a:focus{background:rgb(255 255 255 / 10%)}
.gs-app-sidebar .gs-nav-children>a.active{font-weight:600;background:rgb(var(--gs-accent-rgb) / 28%)}
.gs-sidebar-context-copy strong{white-space:normal;line-height:1.25}
