.section-nav {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 22px;
    padding-bottom: 15px;
    border-bottom: 1px solid #dfe5f2
}

.section-nav a {
    padding: 8px 11px;
    border-radius: 6px;
    font-weight: 700
}

.section-nav a:hover {
    background: #eef2ff;
    color: #3157d5
}

.admin-page {
    background: #f5f7fb
}

.admin-page footer {
    display: none
}

.admin-layout {
    display: flex;
    min-height: 100vh
}

.admin-sidebar {
    width: 250px;
    min-height: 100vh;
    background: #12213a;
    color: #d8e1f3;
    padding: 26px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable
}

.admin-sidebar .brand {
    color: #fff;
    padding: 0 10px 28px
}

.admin-sidebar .brand span {
    color: #8ba4ff
}

.admin-sidebar>a {
    color: #d8e1f3;
    padding: 11px 12px;
    border-radius: 7px;
    font-weight: 650
}

.admin-sidebar>a:hover {
    background: #22395e;
    color: #fff
}

.sidebar-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #8fa4c8;
    padding: 0 12px 8px
}

.sidebar-bottom {
    margin-top: auto;
    border-top: 1px solid #304867;
    padding-top: 14px;
    display: grid;
    gap: 4px
}

.sidebar-bottom a {
    color: #d8e1f3;
    padding: 9px 12px
}

.admin-content {
    flex: 1;
    max-width: 1400px;
    padding: 36px 40px
}

.admin-content .admin-nav {
    display: none
}

@media(max-width:760px) {
    .admin-layout {
        display: block
    }

    .admin-sidebar {
        position: static;
        width: auto;
        min-height: 0;
        height: auto;
        overflow: visible
    }

    .admin-sidebar>a,
    .sidebar-bottom {
        display: none
    }

    .admin-sidebar .brand {
        padding-bottom: 8px
    }

    .sidebar-label {
        display: none
    }

    .admin-content {
        padding: 24px 16px
    }
}

/* EventCompany public landing page */
.home-hero{position:relative;isolation:isolate;min-height:570px;margin:-34px -24px 54px;overflow:hidden;background:#061633;color:#fff}.home-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.86}.home-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#061633 0%,#061633ed 36%,#06163373 64%,#06163325 100%)}.home-hero-content{position:relative;z-index:1;max-width:690px;padding:105px max(48px,calc((100% - 1152px)/2));padding-right:0}.home-kicker{display:inline-block;color:#fdac9e;font-size:11px;font-weight:850;letter-spacing:1.8px;text-transform:uppercase}.home-hero h1{margin:17px 0 19px;color:#fff;font-size:62px;letter-spacing:-3.3px;line-height:1.02}.home-hero h1 em,.home-section h2 em,.home-demo-band h2 em,.home-cta h2 em{color:#ff9d8b;font-family:Georgia,serif;font-weight:400}.home-hero p{max-width:570px;margin:0;color:#d4def1;font-size:18px;line-height:1.7}.home-hero-actions{display:flex;align-items:center;gap:25px;margin-top:31px}.home-hero .button,.home-cta .button{padding:13px 19px;border-radius:0;background:#ff725d;color:#fff}.home-hero .button:hover,.home-cta .button:hover{background:#fa614a}.home-text-action{display:inline-flex;align-items:center;gap:9px;color:#163877;font-size:14px;font-weight:800}.home-hero .home-text-action{color:#fff}.home-hero .home-text-action span,.home-text-action span{font-size:18px}.home-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:48px;color:#e9effc;font-size:12px;font-weight:700}.home-stat-strip{display:grid;grid-template-columns:repeat(4,1fr);margin:-54px auto 86px;position:relative;z-index:2;max-width:1050px;background:#fff;box-shadow:0 20px 50px #0616331c}.home-stat-strip>div{display:grid;gap:2px;min-height:107px;padding:25px 31px;border-right:1px solid #e6eaf3}.home-stat-strip>div:last-child{border:0}.home-stat-strip b{color:#112b60;font-size:29px;line-height:1}.home-stat-strip span{color:#74829b;font-size:12px;font-weight:700}.home-section{display:flex;align-items:end;justify-content:space-between;gap:50px;margin:75px 0 30px}.home-section h2,.home-demo-band h2,.home-cta h2{margin:12px 0 0;color:#112b60;font-size:40px;letter-spacing:-1.8px;line-height:1.1}.home-intro{align-items:center;margin-top:0;padding:34px 0 48px;border-bottom:1px solid #dde5f2}.home-intro>div{max-width:560px}.home-intro p{max-width:480px;margin:0;color:#65738b;font-size:16px;line-height:1.75}.home-journey{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.home-journey article{min-height:236px;padding:31px;border:1px solid #dbe4f2;background:#fff;transition:transform .2s ease,box-shadow .2s ease}.home-journey article:hover{transform:translateY(-5px);box-shadow:0 17px 33px #0b23501a}.home-journey article>span{color:#fb765f;font-size:12px;font-weight:900}.home-journey h3{margin:35px 0 9px;color:#122b5e;font-size:20px}.home-journey p{min-height:49px;margin:0 0 17px;color:#65738b;font-size:14px;line-height:1.55}.home-journey a,.home-product-body a,.home-resource-grid a{color:#20498d;font-size:13px;font-weight:850}.home-event-feature{display:grid;grid-template-columns:.88fr 1.12fr;min-height:430px;margin:94px -24px 75px;background:#102958;color:#fff}.home-event-feature>img{width:100%;height:100%;min-height:430px;object-fit:cover}.home-event-feature:not(:has(img)):before{content:'';min-height:430px;background:radial-gradient(circle at 70% 30%,#508ce5 0,transparent 18%),radial-gradient(circle at 38% 58%,#fa775f 0,transparent 19%),linear-gradient(135deg,#1f56a6,#081d43)}.home-event-copy{padding:54px 8%}.home-event-date{display:flex;align-items:center;gap:11px;margin:22px 0 17px}.home-event-date b{color:#ff9c8b;font-size:52px;line-height:.85}.home-event-date span{display:grid;color:#d5e3ff;font-size:13px;font-weight:850;letter-spacing:1px;text-transform:uppercase}.home-event-date small{color:#8299c0;font-size:10px}.home-event-copy h2{max-width:630px;margin:0 0 12px;color:#fff;font-size:34px;letter-spacing:-1.1px}.home-event-copy p{max-width:650px;margin:0;color:#d4e1fa;line-height:1.65}.home-event-meta{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 28px}.home-event-meta span{padding:5px 9px;border:1px solid #ffffff2c;color:#dce8fe;font-size:11px;font-weight:750}.home-event-copy .button{border-radius:0;background:#fff;color:#153366}.home-section-heading{margin-top:82px}.home-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.home-product-card{overflow:hidden;border:1px solid #dce5f1;background:#fff;transition:transform .2s ease,box-shadow .2s ease}.home-product-card:hover{transform:translateY(-5px);box-shadow:0 17px 34px #102a5819}.home-product-art{display:grid;place-items:center;height:145px;background:linear-gradient(135deg,#182f61,#3372c8)}.home-product-art-1{background:linear-gradient(135deg,#672c65,#d36661)}.home-product-art-2{background:linear-gradient(135deg,#0a7665,#60b796)}.home-product-art span{display:grid;place-items:center;width:72px;height:72px;border:1px solid #ffffff68;border-radius:50%;background:#ffffff1a;color:#fff;font-size:30px;font-weight:850}.home-product-body{padding:25px}.home-card-label,.home-resource-grid>article>span{color:#ea6a54;font-size:11px;font-weight:850;letter-spacing:1.1px;text-transform:uppercase}.home-product-body h3{margin:9px 0;color:#142d60;font-size:20px}.home-product-body p{min-height:63px;margin:0 0 20px;color:#6a7891;font-size:14px;line-height:1.55}.home-empty-card{grid-column:1/-1;padding:40px;border:1px dashed #b8c6dd;background:#fff}.home-demo-band{display:grid;grid-template-columns:.84fr 1.16fr;gap:70px;align-items:center;margin:90px -24px 72px;padding:75px max(48px,calc((100% - 1152px)/2));background:#edf2fb}.home-demo-band>div:first-child p{max-width:420px;margin:16px 0 26px;color:#65738b;line-height:1.7}.home-demo-band .button{border-radius:0}.home-demo-list{display:grid;gap:10px}.home-demo-list>a,.home-demo-placeholder{display:grid;grid-template-columns:45px 1fr auto;gap:15px;align-items:center;min-height:79px;padding:13px 16px;background:#fff;border:1px solid #dce5f2;transition:transform .18s ease}.home-demo-list>a:hover{transform:translateX(5px)}.home-play{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#ff725d;color:#fff;font-size:12px}.home-demo-list small,.home-demo-list b{display:block}.home-demo-list small{margin-bottom:3px;color:#7b8ba6;font-size:11px}.home-demo-list b{color:#193568;font-size:14px}.home-demo-list i{color:#ec725d;font-size:18px;font-style:normal}.home-demo-placeholder{grid-template-columns:45px 1fr;color:#5f6f89}.home-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.home-resource-grid article{min-height:224px;padding:29px;border-top:3px solid #f27661;background:#fff;box-shadow:0 8px 22px #1732600b}.home-resource-grid h3{margin:24px 0 9px;color:#142d60;font-size:19px}.home-resource-grid p{min-height:44px;margin:0 0 17px;color:#687792;font-size:14px;line-height:1.6}.home-cta{margin:92px -24px -34px;padding:76px max(48px,calc((100% - 930px)/2));background:linear-gradient(110deg,#071a3b,#153b7c);color:#fff;text-align:center}.home-cta h2{color:#fff;font-size:44px}.home-cta p{max-width:580px;margin:18px auto 27px;color:#d6e2f7;line-height:1.7}.home-cta>div{display:flex;justify-content:center;align-items:center;gap:25px}.home-cta .home-text-action{color:#fff}@media(max-width:900px){.home-hero-content{padding-left:48px}.home-hero h1{font-size:50px}.home-event-feature,.home-demo-band{grid-template-columns:1fr}.home-event-feature>img{max-height:330px;min-height:0}.home-event-feature:not(:has(img)):before{min-height:180px}.home-demo-band{gap:36px;padding:56px 48px}.home-stat-strip{margin-left:24px;margin-right:24px}.home-product-grid,.home-resource-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.home-hero{min-height:560px;margin:-34px -24px 34px}.home-hero>img{object-position:64% center}.home-hero:after{background:linear-gradient(90deg,#061633f5,#061633b3)}.home-hero-content{padding:78px 26px}.home-hero h1{font-size:40px;letter-spacing:-2px}.home-hero-actions,.home-cta>div{align-items:flex-start;flex-direction:column;gap:18px}.home-trust{gap:10px;flex-direction:column;margin-top:34px}.home-stat-strip{grid-template-columns:repeat(2,1fr);margin:0 0 54px}.home-stat-strip>div{min-height:86px;padding:20px;border-bottom:1px solid #e6eaf3}.home-stat-strip>div:nth-child(2){border-right:0}.home-section{align-items:flex-start;flex-direction:column;gap:15px;margin:55px 0 26px}.home-section h2,.home-demo-band h2,.home-cta h2{font-size:32px}.home-intro{padding-bottom:35px}.home-journey,.home-product-grid,.home-resource-grid{grid-template-columns:1fr}.home-event-feature{margin:65px -24px 55px}.home-event-copy{padding:39px 28px}.home-event-copy h2{font-size:28px}.home-demo-band{margin:60px -24px 55px;padding:52px 27px}.home-demo-list>a{padding:12px}.home-cta{margin:70px -24px -34px;padding:57px 28px;text-align:left}.home-cta h2{font-size:34px}.home-cta p{margin-left:0}.home-product-body p,.home-resource-grid p{min-height:0}}

.inline-form {
    display: flex;
    gap: 6px;
    align-items: center
}

.inline-form input,
.inline-form select {
    max-width: 110px;
    padding: 6px
}

.inline-form button {
    padding: 7px 10px
}

@media(max-width:760px) {
    .inline-form {
        min-width: 440px
    }
}

.event-hero {
    background: linear-gradient(125deg, #12213a, #3157d5);
    color: #fff;
    border-radius: 18px;
    padding: 52px;
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 28px
}

.event-hero h1 {
    font-size: 46px;
    max-width: 650px;
    margin: 9px 0
}

.event-hero p {
    max-width: 620px;
    color: #dbe4ff;
    font-size: 17px
}

.event-hero .eyebrow {
    color: #b8c8ff
}

.event-hero-stat {
    min-width: 145px;
    padding: 20px;
    border: 1px solid #ffffff47;
    border-radius: 12px;
    background: #ffffff12
}

.event-hero-stat b {
    font-size: 38px;
    display: block
}

.event-hero-stat span {
    color: #dbe4ff
}

.event-tabs {
    display: flex;
    gap: 22px;
    border-bottom: 1px solid #dfe5f2;
    margin-top: 30px
}

.event-tabs a {
    padding: 12px 3px;
    color: #64748b;
    font-weight: 700
}

.event-tabs a.active {
    color: #3157d5;
    border-bottom: 3px solid #3157d5
}

.event-filter {
    display: grid;
    grid-template-columns: 2fr 1fr auto;
    gap: 10px;
    margin: 22px 0
}

.featured-event {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 24px;
    align-items: center;
    background: #fff;
    border: 1px solid #dfe5f2;
    border-radius: 14px;
    padding: 26px
}

.featured-event h2 {
    margin: 8px 0
}

.featured-date,
.event-card-date {
    display: flex;
    flex-direction: column;
    text-align: center
}

.featured-date {
    background: #eef2ff;
    border-radius: 10px;
    padding: 10px 16px;
    color: #3157d5
}

.featured-date span,
.event-card-date span {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase
}

.featured-date b {
    font-size: 32px
}

.section-title {
    display: flex;
    justify-content: space-between;
    align-items: end
}

.event-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px
}

.event-card {
    background: #fff;
    border: 1px solid #dfe5f2;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    gap: 17px
}

.event-card-date {
    color: #3157d5;
    min-width: 43px
}

.event-card-date b {
    font-size: 25px;
    line-height: 1
}

.event-card h3 {
    margin: 9px 0 5px
}

@media(max-width:760px) {
    .event-hero {
        padding: 32px 24px;
        display: block
    }

    .event-hero h1 {
        font-size: 36px
    }

    .event-hero-stat {
        margin-top: 22px
    }

    .event-filter {
        grid-template-columns: 1fr
    }

    .featured-event {
        grid-template-columns: 1fr
    }

    .event-grid {
        grid-template-columns: 1fr
    }
}

.product-media {
    max-width: 100%;
    max-height: 250px;
    object-fit: cover;
    border: 1px solid #dfe5f2;
    border-radius: 8px
}

.demo-slot-booking {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 12px 0;
    padding: 12px;
    border: 1px solid #dfe5f2;
    border-radius: 10px;
    background: #f8faff
}

.demo-slot-booking small {
    color: #64748b
}

.demo-slot-booking button {
    padding: 8px 11px;
    white-space: nowrap
}

@media(max-width:500px) {
    .demo-slot-booking {
        align-items: flex-start;
        flex-direction: column
    }
}

.dashboard-menu a:hover {
    color: #fff;
    background: #213a65
}

.dashboard-menu a.active {
    position: relative;
    color: #fff;
    background: #243d69;
    box-shadow: none
}

.dashboard-menu a.active:before {
    content: '';
    position: absolute;
    left: -15px;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #8fa9ff
}

.admin-workspace {
    min-width: 0;
    flex: 1
}

.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 8;
    display: flex;
    align-items: center;
    gap: 15px;
    height: 70px;
    padding: 0 36px;
    border-bottom: 1px solid #e0e6f1;
    background: #fff
}

.admin-topbar>div {
    display: flex;
    flex-direction: column
}

.admin-topbar .eyebrow {
    font-size: 10px
}

.admin-topbar b {
    color: #34425c;
    font-size: 14px
}

.admin-avatar {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    margin-left: auto;
    border-radius: 10px;
    background: #dce5ff;
    color: #274ab5;
    font-size: 12px;
    font-weight: 800
}

.admin-menu-toggle {
    display: none;
    padding: 7px 9px;
    background: #eef2ff;
    color: #3157d5
}

.admin-content {
    width: 100%;
    max-width: 1440px;
    min-height: calc(100vh - 70px);
    margin: 0 auto
}

@media(max-width:760px) {
    .admin-layout {
        display: flex
    }

    .admin-sidebar {
        position: fixed;
        z-index: 20;
        left: -280px;
        width: 250px;
        min-height: 100vh;
        height: 100vh;
        overflow-y: auto;
        box-shadow: 16px 0 35px #10203a44;
        transition: left .22s ease
    }

    .admin-menu-open .admin-sidebar {
        left: 0
    }

    .admin-sidebar>a,
    .admin-sidebar .sidebar-bottom {
        display: block
    }

    .admin-sidebar .sidebar-bottom {
        margin-top: auto
    }

    .admin-sidebar .sidebar-label {
        display: block
    }

    .admin-topbar {
        padding: 0 20px
    }

    .admin-menu-toggle {
        display: block
    }

    .admin-content {
        padding: 26px 20px
    }

    .admin-content>.dashboard-head {
        margin: -26px -20px 22px;
        padding: 27px 20px 21px
    }

    .admin-content>.dashboard-head h1 {
        font-size: 29px
    }
}

@media(max-width:600px) {
    .admin-topbar {
        height: 62px
    }

    .admin-content {
        min-height: calc(100vh - 62px);
        padding: 22px 15px
    }

    .admin-content>.dashboard-head {
        margin: -22px -15px 20px;
        padding: 24px 15px 18px
    }
}

.admin-sidebar {
    width: 262px;
    padding: 25px 15px 18px;
    background: #172541;
    color: #d4def2
}

.admin-sidebar .brand {
    padding: 0 11px 23px;
    color: #fff
}

.admin-sidebar .brand span {
    color: #8fa9ff
}

.admin-sidebar>a {
    position: relative;
    padding: 10px 12px;
    border-radius: 8px;
    color: #c9d5ed;
    font-size: 14px;
    font-weight: 650
}

.admin-sidebar>a:hover {
    color: #fff;
    background: #213a65
}

.admin-sidebar>a.active {
    color: #fff;
    background: #243d69;
    box-shadow: none
}

.admin-sidebar>a.active:before {
    content: '';
    position: absolute;
    left: -15px;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #8fa9ff
}

.admin-sidebar .sidebar-label {
    padding: 16px 12px 8px;
    color: #8096be;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px
}

.admin-sidebar .sidebar-bottom {
    padding: 14px 5px 0;
    border-top: 1px solid #334969
}

.admin-sidebar .sidebar-bottom a {
    padding: 8px 7px;
    color: #bdcae0;
    font-size: 13px
}

@media(max-width:760px) {
    .admin-sidebar {
        width: 262px;
        padding: 25px 15px 18px
    }
}

.brand.has-custom-logo {
    display: flex;
    align-items: center;
    max-width: 190px;
    letter-spacing: 0
}

.brand.has-custom-logo img {
    display: block;
    max-width: 100%;
    max-height: 42px;
    object-fit: contain;
    object-position: left center
}

.admin-sidebar .brand.has-custom-logo,
.user-dashboard-sidebar .brand.has-custom-logo {
    justify-content: center;
    margin: 0 5px 22px;
    padding: 9px 10px;
    background: #fff;
    border: 1px solid #dfe5f2;
    border-radius: 10px;
    box-shadow: 0 6px 16px #0916332e
}

.admin-sidebar .brand.has-custom-logo img,
.user-dashboard-sidebar .brand.has-custom-logo img {
    max-height: 38px;
    filter: none
}

.branding-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 22px;
    align-items: start
}

.branding-form {
    overflow: hidden;
    border: 1px solid #dfe5f2;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 28px #152d5b0c
}

.branding-form-heading {
    display: flex;
    gap: 13px;
    align-items: center;
    padding: 23px 25px 19px;
    border-bottom: 1px solid #e9edf6
}

.branding-form-heading h2 {
    margin: 0;
    font-size: 20px
}

.branding-form-heading p {
    margin: 2px 0 0;
    color: #64748b;
    font-size: 13px
}

.branding-form-body {
    padding: 23px 25px
}

.branding-form-body .field {
    margin-bottom: 18px
}

.branding-form-body .field:last-child {
    margin-bottom: 0
}

.branding-form-body input {
    width: 100%;
    border-color: #d5ddeb
}

.branding-form-body small {
    display: block;
    margin-top: 5px;
    color: #64748b
}

.branding-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 25px;
    background: #f8faff;
    border-top: 1px solid #e9edf6;
    color: #64748b;
    font-size: 12px
}

.branding-preview {
    padding: 25px;
    border: 1px solid #dfe5f2;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 28px #152d5b0c
}

.branding-preview h2 {
    margin: 5px 0 22px;
    font-size: 20px
}

.branding-preview-mark {
    display: grid;
    place-items: center;
    min-height: 130px;
    padding: 20px;
    border-radius: 12px;
    background: linear-gradient(135deg, #1b315f, #3157d5)
}

.branding-preview-mark img {
    max-width: 100%;
    max-height: 80px;
    object-fit: contain
}

.branding-preview-mark span {
    color: #fff;
    font-size: 24px;
    font-weight: 800
}

.branding-preview-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 0;
    border-bottom: 1px solid #e9edf6
}

.branding-preview-meta:last-child {
    border-bottom: 0
}

.branding-preview-meta span {
    color: #718096;
    font-size: 12px;
    font-weight: 700
}

.branding-preview-meta b {
    font-size: 13px
}

.branding-preview-meta img {
    width: 28px;
    height: 28px;
    object-fit: contain
}

@media(max-width:900px) {
    .branding-layout {
        grid-template-columns: 1fr
    }

    .branding-preview {
        max-width: none
    }
}

@media(max-width:600px) {

    .branding-form-heading,
    .branding-form-body,
    .branding-form-footer {
        padding-left: 18px;
        padding-right: 18px
    }

    .branding-form-footer {
        align-items: flex-start;
        flex-direction: column
    }
}

.footer-brand-logo {
    width: auto;
    max-height: 28px;
    max-width: 150px;
    vertical-align: middle;
    object-fit: contain
}

/* Public-site footer */
.site-footer {
    min-height: 470px !important;
    padding-top: 72px !important;
    background: linear-gradient(120deg, #03112a, #071b3c) !important
}

.site-footer-grid {
    max-width: 100%;
    margin: 0 auto;
    grid-template-columns: 1.05fr 1fr 1.15fr 1fr !important;
    gap: 56px !important
}

.site-footer-intro .footer-brand-logo {
    padding: 8px 10px;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 0 16px #ffffff4d
}

.site-footer-intro p {
    max-width: 285px;
    color: #d7e4ff;
    font-size: 16px
}

.site-footer h3 {
    position: relative;
    padding-bottom: 13px;
    margin-bottom: 18px
}

.site-footer h3:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 32px;
    height: 2px;
    background: #ff6d55
}

.footer-links {
    gap: 12px 27px
}

.footer-links a {
    font-size: 14px
}

.footer-posts>a {
    position: relative;
    min-height: 64px;
    padding: 5px 0 5px 76px
}

.footer-posts>a:before {
    content: '↗';
    position: absolute;
    left: 0;
    top: 3px;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 8px;
    background: linear-gradient(135deg, #ff6d55, #3c4c96);
    color: #fff;
    font-size: 22px;
    font-weight: 900
}

.footer-posts b {
    font-size: 14px
}

.footer-contact p {
    display: grid;
    /* grid-template-columns: 24px 1fr; */
    gap: 8px
}

.site-footer-bottom {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 27px !important;
    border-top: 1px solid #ffffff18
}

@media(max-width:900px) {
    .site-footer {
        min-height: 0 !important
    }

    .site-footer-grid {
        gap: 38px !important
    }
}

@media(max-width:600px) {
    .site-footer-grid {
        grid-template-columns: 1fr !important
    }

    .site-footer h3 {
        margin-top: 0
    }

    .footer-posts>a {
        max-width: 360px
    }
}

/* Keep contact icon and details aligned with consistent spacing. */
.footer-contact p {
    display: grid;
    gap: 8px;
}

.site-footer {
    margin: 0 !important;
    padding: 52px 0 !important;
    border: 0 !important;
    background: #061633 !important;
    color: #c6d7fa !important;
    text-align: left !important;
}

.site-footer {
    margin: 0 !important;
    padding: 58px max(24px, calc((100% - 93%)/2)) 24px !important;
    border: 0 !important;
    background: #061633 !important;
    color: #c6d7fa !important;
    text-align: left !important
}

.site-footer-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1.15fr 1fr;
    gap: 48px;
    padding-bottom: 42px;
    border-bottom: 1px solid #ffffff18
}

.site-footer h3 {
    margin: 4px 0 20px;
    color: #fff;
    font-size: 16px
}

.site-footer-intro .footer-brand-logo {
    display: block;
    width: auto;
    max-width: 175px;
    max-height: 55px;
    margin: 0 0 22px;
    object-fit: contain
}

.site-footer p {
    margin: 0 0 14px;
    line-height: 1.75
}

.footer-social {
    display: flex;
    gap: 10px;
    margin-top: 22px
}

.footer-social a {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #ffffff12;
    color: #fff;
    font-weight: 850
}

.footer-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 13px
}

.site-footer a {
    color: #c6d7fa
}

.site-footer a:hover {
    color: #ff9c8b
}

.footer-posts {
    display: grid;
    gap: 16px
}

.footer-posts>a {
    display: grid;
    gap: 4px
}

.footer-posts b {
    color: #fff;
    line-height: 1.4
}

.footer-posts small {
    color: #91a8d1
}

.footer-contact {
    display: grid;
    gap: 7px
}

.site-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-top: 22px;
    color: #91a8d1;
    font-size: 13px
}

@media(max-width:900px) {
    .site-footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 34px
    }
}

@media(max-width:600px) {
    .site-footer {
        padding: 42px 24px 22px !important
    }

    .site-footer-grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .footer-links {
        max-width: 330px
    }

    .site-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px
    }
}

/* Shared buyer and vendor dashboard shell */
.user-dashboard-page {
    background: #f4f6fb
}

.user-dashboard-layout {
    display: flex;
    min-height: 100vh
}

.user-dashboard-sidebar {
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    width: 262px;
    height: 100vh;
    padding: 25px 15px 18px;
    background: #172541;
    color: #d4def2;
    overflow-y: auto
}

.user-dashboard-sidebar .brand {
    padding: 0 11px 23px;
    color: #fff
}

.user-dashboard-sidebar .brand span {
    color: #8fa9ff
}

.dashboard-user {
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 0 5px 25px;
    padding: 12px;
    border: 1px solid #3a4d70;
    border-radius: 12px;
    background: #203352
}

.dashboard-user>span,
.dashboard-avatar {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #dce5ff;
    color: #274ab5;
    font-size: 12px;
    font-weight: 800
}

.dashboard-user b {
    display: block;
    color: #fff;
    font-size: 13px
}

.dashboard-user small {
    display: block;
    margin-top: 1px;
    color: #9db0d2;
    font-size: 11px
}

.dashboard-menu-label {
    padding: 0 12px 8px;
    color: #8096be;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase
}

.dashboard-menu {
    display: grid;
    gap: 3px;
    flex: 1
}

.dashboard-menu a {
    padding: 10px 12px;
    border-radius: 8px;
    color: #c9d5ed;
    font-size: 14px;
    font-weight: 650
}

.dashboard-sidebar-bottom {
    display: grid;
    gap: 3px;
    padding: 14px 5px 0;
    border-top: 1px solid #334969
}

.dashboard-sidebar-bottom a {
    padding: 8px 7px;
    color: #bdcae0;
    font-size: 13px
}

.user-dashboard-workspace {
    min-width: 0;
    flex: 1
}

.user-dashboard-topbar {
    position: sticky;
    top: 0;
    z-index: 8;
    display: flex;
    align-items: center;
    gap: 15px;
    height: 70px;
    padding: 0 36px;
    border-bottom: 1px solid #e0e6f1;
    background: #fff
}

.user-dashboard-topbar>div {
    display: flex;
    flex-direction: column;
    gap: 0
}

.user-dashboard-topbar .eyebrow {
    font-size: 10px
}

.user-dashboard-topbar b {
    font-size: 14px;
    color: #34425c
}

.dashboard-avatar {
    margin-left: auto;
    width: 36px;
    height: 36px;
    text-decoration: none
}

.dashboard-menu-toggle {
    display: none;
    padding: 7px 9px;
    background: #eef2ff;
    color: #3157d5
}

.user-dashboard-content {
    max-width: 1440px;
    min-height: calc(100vh - 70px);
    margin: 0 auto;
    padding: 34px 38px
}

.user-dashboard-content>.dashboard-head {
    min-height: 130px;
    margin: -34px -38px 28px;
    padding: 34px 38px 25px;
    align-items: flex-end;
    color: #fff;
    background: radial-gradient(circle at 92% 0, #7188ee 0, transparent 27%), linear-gradient(125deg, #10203a, #3157d5)
}

.user-dashboard-content>.dashboard-head .eyebrow {
    color: #c3d1ff
}

.user-dashboard-content>.dashboard-head h1 {
    margin: 4px 0 0;
    font-size: 36px;
    color: #fff
}

.user-dashboard-content .section-nav {
    display: none
}

.user-dashboard-content .stat-grid {
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
    gap: 15px
}

.user-dashboard-content .stat {
    position: relative;
    overflow: hidden;
    padding: 20px;
    border: 0;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 9px 24px #152d5b0c
}

.user-dashboard-content .stat:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #3157d5
}

.user-dashboard-content .stat .muted {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .6px
}

.user-dashboard-content .stat b {
    color: #1c3263;
    font-size: 28px
}

.user-dashboard-content .card {
    border-radius: 14px;
    box-shadow: 0 9px 24px #152d5b0b
}

.user-dashboard-content .table-wrap {
    border: 0;
    border-radius: 14px;
    box-shadow: 0 9px 24px #152d5b0b
}

.user-dashboard-content .table {
    background: #fff
}

.user-dashboard-content .table th {
    padding: 14px 16px;
    background: #f7f9fd;
    color: #6d7c94;
    font-size: 11px;
    letter-spacing: .6px
}

.user-dashboard-content .table td {
    padding: 14px 16px
}

.user-dashboard-content .table tr:hover td {
    background: #f7f9ff
}

.user-dashboard-content .form {
    max-width: 700px;
    margin: 0
}

.user-dashboard-content .form input,
.user-dashboard-content .form select,
.user-dashboard-content .form textarea {
    width: 100%;
    border-color: #d5ddeb
}

.user-dashboard-content .form input:focus,
.user-dashboard-content .form select:focus,
.user-dashboard-content .form textarea:focus {
    outline: 0;
    border-color: #3157d5;
    box-shadow: 0 0 0 3px #3157d51c
}

@media(max-width:920px) {
    .user-dashboard-sidebar {
        position: fixed;
        z-index: 20;
        left: -280px;
        box-shadow: 16px 0 35px #10203a44;
        transition: left .22s ease
    }

    .dashboard-menu-open .user-dashboard-sidebar {
        left: 0
    }

    .dashboard-menu-toggle {
        display: block
    }

    .user-dashboard-topbar {
        padding: 0 20px
    }

    .user-dashboard-content {
        padding: 26px 20px
    }

    .user-dashboard-content>.dashboard-head {
        margin: -26px -20px 23px;
        padding: 27px 20px 21px
    }

    .user-dashboard-content>.dashboard-head h1 {
        font-size: 30px
    }
}

@media(max-width:600px) {
    .user-dashboard-topbar {
        height: 62px
    }

    .user-dashboard-content {
        min-height: calc(100vh - 62px);
        padding: 22px 15px
    }

    .user-dashboard-content>.dashboard-head {
        min-height: 110px;
        margin: -22px -15px 20px;
        padding: 24px 15px 18px
    }

    .user-dashboard-content>.dashboard-head h1 {
        font-size: 27px
    }

    .user-dashboard-content .table th,
    .user-dashboard-content .table td {
        padding: 11px
    }

    .user-dashboard-content .card {
        padding: 19px
    }
}

.admin-account-hero {
    min-height: 190px;
    border-radius: 18px;
    padding: 34px 38px;
    display: flex;
    align-items: center;
    gap: 22px;
    color: #fff;
    background: radial-gradient(circle at 90% 15%, #7188ee 0, transparent 30%), linear-gradient(125deg, #10203a, #3157d5);
    box-shadow: 0 16px 35px #19367536;
    margin-bottom: 24px
}

.admin-account-hero .eyebrow {
    color: #b9c8ff
}

.admin-account-hero h1 {
    margin: 5px 0 7px;
    font-size: 38px
}

.admin-account-hero p {
    margin: 0;
    color: #e4eaff;
    font-size: 16px
}

.account-avatar {
    width: 68px;
    height: 68px;
    border-radius: 19px;
    display: grid;
    place-items: center;
    background: #fff;
    color: #2448bb;
    font-size: 25px;
    font-weight: 800;
    box-shadow: 0 8px 22px #09163236
}

.account-role {
    margin-left: auto;
    align-self: flex-start;
    padding: 7px 12px;
    border: 1px solid #ffffff38;
    border-radius: 999px;
    background: #ffffff17;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .3px
}

.account-settings-grid {
    display: grid;
    grid-template-columns: 1.25fr .9fr;
    gap: 20px;
    align-items: start
}

.account-form-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #dfe5f2;
    border-radius: 16px;
    box-shadow: 0 10px 28px #152d5b0c
}

.account-form-heading {
    padding: 23px 25px 19px;
    display: flex;
    gap: 13px;
    align-items: center;
    border-bottom: 1px solid #e9edf6
}

.account-form-heading h2 {
    font-size: 20px;
    margin: 0
}

.account-form-heading p {
    color: #64748b;
    margin: 2px 0 0;
    font-size: 13px
}

.account-form-icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #eaf0ff;
    color: #3157d5;
    font-size: 13px;
    font-weight: 800
}

.account-security-card .account-form-icon {
    background: #eafaf4;
    color: #087f5b
}

.account-form-body {
    padding: 20px 25px 24px
}

.account-form-body .field {
    margin: 0 0 16px
}

.account-form-body .field:last-child {
    margin-bottom: 0
}

.account-form-body label {
    color: #334155
}

.account-form-body input {
    width: 100%;
    padding: 11px 12px;
    border-color: #d5ddeb
}

.account-form-body input:focus {
    outline: 0;
    border-color: #3157d5;
    box-shadow: 0 0 0 3px #3157d51c
}

.account-form-body input:disabled {
    color: #64748b;
    background: #f7f9fc
}

.account-form-body small {
    display: block;
    color: #64748b;
    margin-top: 5px
}

.account-name-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

.account-form-footer {
    min-height: 66px;
    padding: 13px 25px;
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    background: #f8faff;
    border-top: 1px solid #e9edf6
}

.account-form-footer span {
    max-width: 250px;
    color: #64748b;
    font-size: 12px
}

.account-form-footer button {
    padding: 10px 14px;
    white-space: nowrap
}

.security-tip {
    display: flex;
    flex-direction: column;
    gap: 3px;
    background: #effaf5;
    border: 1px solid #d5f2e5;
    color: #087f5b;
    padding: 12px 13px;
    border-radius: 9px;
    margin-bottom: 18px;
    font-size: 12px
}

.security-tip b {
    font-size: 13px
}

.account-activity-card {
    margin-top: 20px;
    padding: 24px 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    border: 1px solid #dfe5f2;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 28px #152d5b0b
}

.account-activity-card h2 {
    font-size: 20px;
    margin: 4px 0 0
}

.account-activity-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(135px, 1fr));
    gap: 28px
}

.account-activity-grid div {
    display: flex;
    flex-direction: column;
    gap: 5px;
    border-left: 1px solid #e2e8f3;
    padding-left: 18px
}

.account-activity-grid span {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: #7a8aa3
}

.account-activity-grid b {
    font-size: 14px;
    color: #22324d
}

@media(max-width:960px) {
    .account-settings-grid {
        grid-template-columns: 1fr
    }

    .account-activity-card {
        align-items: flex-start;
        flex-direction: column
    }

    .account-activity-grid {
        width: 100%
    }
}

@media(max-width:600px) {
    .admin-account-hero {
        min-height: 0;
        padding: 26px 22px;
        flex-wrap: wrap
    }

    .admin-account-hero h1 {
        font-size: 31px
    }

    .account-role {
        margin-left: 0
    }

    .account-name-grid {
        grid-template-columns: 1fr
    }

    .account-form-heading,
    .account-form-body,
    .account-form-footer {
        padding-left: 18px;
        padding-right: 18px
    }

    .account-form-footer {
        align-items: flex-start;
        flex-direction: column
    }

    .account-activity-card {
        padding: 20px
    }

    .account-activity-grid {
        grid-template-columns: 1fr;
        gap: 13px
    }

    .account-activity-grid div {
        border-left: 0;
        border-top: 1px solid #e2e8f3;
        padding: 13px 0 0
    }
}

/* Consistent form alignment across public, workspace, and admin pages. */
.field {
    min-width: 0;
    margin: 0
}

.field>label {
    display: block;
    margin: 0;
    color: #334155;
    font-size: 13px;
    line-height: 1.35
}

.field>input,
.field>select,
.field>textarea {
    width: 100%;
    min-height: 42px;
    margin: 0;
    border-color: #d5ddeb;
    transition: border-color .16s ease, box-shadow .16s ease
}

.field>textarea {
    min-height: 120px;
    resize: vertical;
    line-height: 1.5
}

.field>input:focus,
.field>select:focus,
.field>textarea:focus {
    outline: 0;
    border-color: #3157d5;
    box-shadow: 0 0 0 3px #3157d51c
}

.field>input::placeholder,
.field>textarea::placeholder {
    color: #94a3b8
}

.field small {
    display: block;
    margin-top: 5px;
    color: #64748b;
    line-height: 1.4
}

.form,
.user-dashboard-content form.card,
.admin-content form.card,
.grid>form.card {
    display: grid;
    gap: 18px;
    align-content: start
}

.form .field,
.user-dashboard-content form.card .field,
.admin-content form.card .field,
.grid>form.card .field {
    margin: 0 !important
}

.form>h2,
.user-dashboard-content form.card>h2,
.admin-content form.card>h2,
.grid>form.card>h2 {
    margin: 0 0 2px
}

.form>.grid,
.user-dashboard-content form.card>.grid,
.admin-content form.card>.grid,
.grid>form.card>.grid {
    margin: 0
}

.form>label:not(.field label),
.user-dashboard-content form.card>label,
.admin-content form.card>label,
.grid>form.card>label {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 0;
    color: #475569;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45
}

.form input[type=checkbox],
.form input[type=radio],
form.card input[type=checkbox],
form.card input[type=radio] {
    width: auto;
    min-height: 0;
    margin: 3px 0 0;
    accent-color: #3157d5
}

.form>button,
.form>.button,
.user-dashboard-content form.card>button,
.admin-content form.card>button,
.grid>form.card>button {
    justify-self: start;
    margin-top: 2px
}

.toolbar {
    gap: 16px;
    padding: 20px;
    flex-wrap: wrap
}

.toolbar .field {
    flex: 1 1 180px
}

.toolbar button,
.toolbar .button {
    min-height: 42px;
    white-space: nowrap
}

.inline-form {
    flex-wrap: wrap;
    gap: 8px;
    align-items: center
}

.inline-form input,
.inline-form select {
    min-height: 34px;
    max-width: 170px
}

.inline-form button {
    min-height: 34px
}

.demo-slot-booking {
    margin: 0;
    padding: 14px
}

.demo-slot-booking button {
    min-height: 38px
}

.account-form-card {
    display: flex;
    flex-direction: column
}

.account-form-body {
    display: grid;
    gap: 16px
}

.account-form-body .field {
    margin: 0
}

.account-form-body label:not(.field label) {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    line-height: 1.45
}

.account-form-body input[type=checkbox] {
    width: auto;
    min-height: 0;
    margin: 3px 0 0
}

.account-form-footer {
    margin-top: auto
}

@media(max-width:760px) {
    .toolbar {
        align-items: stretch
    }

    .toolbar .field {
        flex-basis: 100%
    }

    .toolbar button,
    .toolbar .button {
        width: 100%
    }

    .form,
    .user-dashboard-content form.card,
    .admin-content form.card,
    .grid>form.card {
        gap: 15px
    }

    .inline-form {
        min-width: 0 !important
    }

    .inline-form input,
    .inline-form select {
        max-width: none;
        flex: 1 1 140px
    }

    .inline-form button {
        flex: 0 0 auto
    }

    .demo-slot-booking {
        gap: 14px
    }
}

@media(max-width:500px) {

    .form>button,
    .form>.button,
    .user-dashboard-content form.card>button,
    .admin-content form.card>button,
    .grid>form.card>button {
        width: 100%
    }

    .inline-form>* {
        flex: 1 1 100%
    }

    .inline-form button {
        width: 100%
    }
}

/* Event management workspace and public event presentation. */
#event-form {
    max-width: 1120px;
    padding: 30px !important;
    background: linear-gradient(180deg, #fff 0, #fbfcff 100%)
}

#event-form>.section-title {
    padding-bottom: 20px;
    margin-bottom: 4px;
    border-bottom: 1px solid #e5eaf4
}

#event-form>h2 {
    position: relative;
    margin: 18px 0 0;
    padding: 15px 16px;
    border-left: 4px solid #3157d5;
    border-radius: 0 10px 10px 0;
    background: #f4f7ff;
    font-size: 19px;
    color: #1d356b
}

#event-form .event-detail-section {
    display: grid;
    gap: 18px;
    padding: 23px;
    border: 1px solid #dfe7f7;
    border-radius: 14px;
    background: #f9fbff;
    box-shadow: inset 0 1px 0 #fff
}

.event-detail-section>h2 {
    margin: 0;
    color: #23457e;
    font-size: 19px
}

.event-detail-section[data-format~="virtual"] {
    border-color: #cddaff;
    background: linear-gradient(135deg, #f1f5ff, #fbfcff)
}

.event-detail-section[data-format~="in_person"] {
    border-color: #bde8df;
    background: linear-gradient(135deg, #f0fbf8, #fbfefd)
}

.event-detail-section[data-format~="in_person"] h2 {
    color: #087f5b
}

#event-form .chips {
    gap: 10px;
    padding-top: 2px
}

#event-form .chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 11px;
    border: 1px solid #d5dff6;
    background: #fff;
    color: #365594
}

#event-form .chip input {
    margin: 0
}

.event-banner {
    display: block;
    width: 100%;
    max-height: 390px;
    margin: 0 0 25px;
    object-fit: cover;
    border: 1px solid #dce4f3;
    border-radius: 18px;
    background: #eff3fb;
    box-shadow: 0 16px 34px #142d5b1c
}

.container>.section>.card {
    margin-bottom: 14px
}

.container>.section>.card:last-child {
    margin-bottom: 0
}

.container>.section>.card h3 {
    color: #203a72
}

.container>.section>.card .chip {
    display: inline-flex;
    margin-bottom: 9px
}

.container>div.grid.two.section>section.card:first-child {
    border-top: 4px solid #3157d5
}

.container>div.grid.two.section>section.card:last-child {
    border-top: 4px solid #087f5b
}

.container>div.grid.two.section>section.card form {
    display: grid;
    gap: 15px
}

.container>div.grid.two.section>section.card form .grid {
    gap: 12px
}

.container>div.grid.two.section>section.card form>button {
    justify-self: start
}

@media(max-width:760px) {
    #event-form {
        padding: 20px !important
    }

    #event-form>h2 {
        margin-top: 10px;
        padding: 13px 14px
    }

    .event-detail-section {
        padding: 17px !important
    }

    .event-banner {
        max-height: 230px;
        border-radius: 13px
    }

    .container>div.grid.two.section>section.card form>button {
        width: 100%
    }
}

/* Shared administration workspace */
.admin-content {
    background: linear-gradient(180deg, #f8faff 0, #f5f7fb 280px)
}

.admin-content>.dashboard-head {
    min-height: 132px;
    margin: -36px -40px 28px;
    padding: 35px 40px 27px;
    align-items: flex-end;
    color: #fff;
    background: radial-gradient(circle at 92% 0, #7188ee 0, transparent 27%), linear-gradient(125deg, #10203a, #2448b9)
}

.admin-content>.dashboard-head .eyebrow {
    color: #bbcbff
}

.admin-content>.dashboard-head h1 {
    margin: 5px 0 0;
    font-size: 36px;
    color: #fff
}

.admin-content>.dashboard-head:after {
    content: 'Administration';
    margin-left: auto;
    align-self: flex-start;
    padding: 7px 12px;
    border: 1px solid #ffffff38;
    border-radius: 999px;
    background: #ffffff14;
    color: #e5ebff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .8px;
    text-transform: uppercase
}

.admin-content>.stat-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 14px;
    margin-bottom: 26px
}

.admin-content .stat {
    position: relative;
    overflow: hidden;
    border: 0;
    border-radius: 14px;
    padding: 19px 20px;
    background: #fff;
    box-shadow: 0 9px 25px #152d5b0c
}

.admin-content .stat:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(#5878e5, #3157d5)
}

.admin-content .stat .muted {
    display: block;
    margin-bottom: 5px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .55px
}

.admin-content .stat b {
    font-size: 30px;
    color: #1b315f
}

.admin-content .card {
    border-radius: 15px;
    box-shadow: 0 9px 24px #152d5b0b
}

.admin-content .card h2 {
    font-size: 20px;
    margin-bottom: 16px
}

.admin-content>.grid.two,
.admin-content>.grid.two.section {
    gap: 20px
}

.admin-content>.grid.two>.card,
.admin-content>.grid.two>form.card {
    height: fit-content
}

.admin-content .table-wrap {
    border: 0;
    border-radius: 15px;
    box-shadow: 0 9px 24px #152d5b0b
}

.admin-content .table {
    background: #fff
}

.admin-content .table th {
    padding: 14px 17px;
    background: #f7f9fd;
    color: #6d7c94;
    font-size: 11px;
    letter-spacing: .65px
}

.admin-content .table td {
    padding: 15px 17px;
    vertical-align: middle
}

.admin-content .table tr:last-child td {
    border-bottom: 0
}

.admin-content .table tbody tr {
    transition: background .15s ease
}

.admin-content .table tbody tr:hover {
    background: #f6f8ff
}

.admin-content .table small {
    color: #718096
}

.admin-content .status {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    text-transform: capitalize
}

.admin-content .table form:not(.inline-form) {
    display: flex;
    gap: 7px;
    flex-wrap: wrap
}

.admin-content .table button,
.admin-content .card button {
    padding: 8px 12px;
    font-size: 13px
}

.admin-content form.card {
    max-width: none;
    margin: 0;
    padding: 25px
}

.admin-content form.card .field {
    margin: 15px 0
}

.admin-content form.card input,
.admin-content form.card select,
.admin-content form.card textarea {
    width: 100%;
    border-color: #d5ddeb
}

.admin-content form.card input:focus,
.admin-content form.card select:focus,
.admin-content form.card textarea:focus {
    outline: 0;
    border-color: #3157d5;
    box-shadow: 0 0 0 3px #3157d51c
}

.admin-content .inline-form {
    gap: 8px;
    padding: 4px 0
}

.admin-content .inline-form select {
    border-color: #d5ddeb;
    background: #fff
}

.admin-content .inline-form label {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 3px 5px;
    border-radius: 5px;
    color: #526178;
    font-size: 11px
}

.admin-content .inline-form label:hover {
    background: #eef2ff
}

.admin-content .section.card {
    padding: 26px 28px;
    border-left: 4px solid #3157d5
}

.admin-content .section.card .muted {
    max-width: 720px
}

.admin-content .alert {
    box-shadow: 0 8px 20px #152d5b14
}

@media(max-width:760px) {
    .admin-content>.dashboard-head {
        min-height: 112px;
        margin: -24px -16px 22px;
        padding: 26px 16px 21px
    }

    .admin-content>.dashboard-head h1 {
        font-size: 29px
    }

    .admin-content>.dashboard-head:after {
        display: none
    }

    .admin-content .table th,
    .admin-content .table td {
        padding: 12px
    }

    .admin-content .inline-form {
        min-width: 420px
    }

    .admin-content .card,
    .admin-content form.card {
        padding: 19px
    }

    .admin-content .section.card {
        padding: 21px
    }
}

.admin-table-tools {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 10px
}

.admin-table-tools input {
    min-width: 220px;
    padding: 9px 11px;
    border: 1px solid #d5ddeb;
    border-radius: 8px;
    background: #fff
}

.admin-table-tools select {
    padding: 9px 30px 9px 11px;
    border: 1px solid #d5ddeb;
    border-radius: 8px;
    background: #fff
}

.admin-table-tools input:focus,
.admin-table-tools select:focus {
    outline: 0;
    border-color: #3157d5;
    box-shadow: 0 0 0 3px #3157d51c
}

.admin-table-count {
    margin-left: auto;
    color: #718096;
    font-size: 12px;
    font-weight: 700
}

@media(max-width:600px) {
    .admin-table-tools {
        align-items: stretch;
        flex-wrap: wrap
    }

    .admin-table-tools input {
        min-width: 0;
        width: 100%;
        flex-basis: 100%
    }

    .admin-table-tools select {
        flex: 1
    }

    .admin-table-count {
        margin-left: 0;
        padding: 8px 0
    }
}

.section-actions {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 14px
}

.event-ticket {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    max-width: 760px;
    padding: 32px;
    border-top: 4px solid #3157d5
}

.event-ticket h1 {
    margin: 10px 0
}

.ticket-qr {
    display: grid;
    justify-items: center;
    gap: 9px;
    min-width: 220px
}

.ticket-qr img {
    width: 180px;
    height: 180px;
    padding: 8px;
    border: 1px solid #dfe5f2;
    border-radius: 10px;
    background: #fff
}

.ticket-qr small {
    color: #64748b
}

.form-narrow {
    max-width: 590px
}

.certificate {
    max-width: 820px;
    margin: 30px auto;
    padding: 64px 45px;
    text-align: center;
    border: 12px double #3157d5;
    border-radius: 18px;
    background: linear-gradient(135deg, #fbfcff, #eef3ff);
    box-shadow: 0 18px 45px #18376b22
}

.certificate h1 {
    margin: 18px 0 4px;
    font-size: 42px;
    color: #1b315f
}

.certificate h2 {
    margin: 17px 0;
    color: #3157d5;
    font-size: 28px
}

.certificate p {
    font-size: 17px
}

@media(max-width:600px) {
    .section-actions {
        justify-content: stretch
    }

    .section-actions form,
    .section-actions button {
        width: 100%
    }

    .event-ticket {
        align-items: flex-start;
        flex-direction: column;
        padding: 22px
    }

    .certificate {
        margin: 15px 0;
        padding: 38px 20px
    }

    .certificate h1 {
        font-size: 31px
    }

    .certificate h2 {
        font-size: 23px
    }
}

.form,
.card.form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    align-content: start
}

.form .field,
.card.form .field {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    margin: 0 !important
}

.form .field>label,
.card.form .field>label {
    font-weight: 750;
    letter-spacing: .01em
}

.form .field>input,
.form .field>select,
.form .field>textarea,
.card.form .field>input,
.card.form .field>select,
.card.form .field>textarea {
    width: 100%;
    min-height: 44px
}

.form>button,
.card.form>button {
    min-height: 43px;
    justify-self: start;
    padding-inline: 18px
}

.card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 2px
}

.card-heading h2 {
    margin: 4px 0 0 !important
}

.check-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 28px;
    padding: 9px 11px;
    border: 1px solid #e0e6f1;
    border-radius: 9px;
    background: #f8faff;
    color: #3c4d68 !important;
    font-weight: 650 !important
}

.check-row input {
    flex: 0 0 auto;
    margin: 0 !important
}

.event-registration-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: start
}

.event-registration-grid>.card:first-child {
    grid-column: 1/-1
}

.question-list {
    display: grid;
    gap: 9px
}

.question-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 0;
    border-bottom: 1px solid #e5eaf3
}

.question-row:last-child {
    border-bottom: 0;
    padding-bottom: 0
}

.question-row b,
.question-row small {
    display: block
}

.question-row small {
    margin-top: 3px;
    color: #718096;
    font-size: 12px
}

.question-row form {
    margin: 0
}

.question-row button {
    white-space: nowrap
}

.setting-note {
    display: grid;
    gap: 3px;
    padding: 13px 14px;
    border: 1px solid #cddaff;
    border-radius: 10px;
    background: #f2f6ff;
    color: #3157d5
}

.setting-note span {
    color: #5f7190;
    font-size: 13px
}

.admin-content>.grid.two,
.user-dashboard-content>.grid.two,
.container>.grid.two {
    align-items: start
}

.admin-content .card.form,
.admin-content form.card.form {
    padding: 26px
}

.user-dashboard-content .card.form,
.user-dashboard-content form.card.form {
    padding: 24px
}

@media(max-width:760px) {
    .event-registration-grid {
        grid-template-columns: 1fr
    }

    .event-registration-grid>.card:first-child {
        grid-column: auto
    }

    .card-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px
    }

    .form>button,
    .card.form>button {
        width: 100%
    }

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

    .question-row form,
    .question-row button {
        width: 100%
    }

    .check-row {
        align-items: flex-start !important
    }

    .admin-content .card.form,
    .admin-content form.card.form,
    .user-dashboard-content .card.form,
    .user-dashboard-content form.card.form {
        padding: 20px
    }
}

@media(max-width:460px) {

    .form,
    .card.form {
        gap: 15px
    }

    .question-row {
        padding: 12px 0
    }
}

.gateway-help {
    display: grid;
    align-content: start;
    gap: 14px;
    padding: 28px !important;
    background: linear-gradient(145deg, #fff, #f4f7ff)
}

.gateway-help h2 {
    margin: 0 !important
}

.gateway-help p {
    margin: 0;
    color: #5f6f88
}

.gateway-help dl {
    display: grid;
    gap: 12px;
    margin: 4px 0 0
}

.gateway-help dl div {
    padding: 12px;
    border: 1px solid #dce5f4;
    border-radius: 10px;
    background: #fff
}

.gateway-help dt {
    margin-bottom: 3px;
    color: #2448b9;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .55px
}

.gateway-help dd {
    margin: 0;
    color: #526178;
    font-size: 13px;
    line-height: 1.45
}

.empty-payment-records {
    margin-top: 14px;
    text-align: center;
    color: #64748b
}

.admin-content .stat-grid+.grid.two {
    margin-top: 4px
}

.currency-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px
}

.currency-refresh {
    display: grid;
    align-content: start;
    gap: 15px;
    padding: 28px !important;
    background: linear-gradient(145deg, #fff, #f3f7ff)
}

.currency-refresh h2,
.currency-refresh p {
    margin: 0
}

.currency-refresh small {
    color: #64748b;
    line-height: 1.5
}

.currency-price-card {
    display: grid;
    gap: 6px;
    max-width: 500px;
    margin: 24px 0;
    padding: 18px 20px;
    border: 1px solid #cddaff;
    border-radius: 13px;
    background: linear-gradient(135deg, #f0f5ff, #fff);
    color: #2448b9
}

.currency-price-card b {
    font-size: 28px
}

.currency-price-card small {
    color: #64748b
}

.currency-price-card.compact {
    margin: 15px 0
}

.currency-price-card.compact b {
    font-size: 23px
}

.base-price {
    color: #718096;
    font-size: 12px;
    font-weight: 600
}

.currency-switcher {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto
}

.currency-switcher label {
    font-size: 11px;
    color: #718096
}

.currency-switcher select {
    min-height: 34px;
    padding: 5px 24px 5px 8px;
    border-color: #d5ddeb;
    font-size: 12px
}

.admin-topbar .currency-switcher {
    margin-left: auto
}

.nav-actions .currency-switcher {
    margin-left: 0
}

@media(max-width:760px) {
    .currency-options {
        grid-template-columns: 1fr
    }

    .currency-switcher label {
        display: none
    }

    .user-dashboard-topbar .currency-switcher {
        margin-left: auto
    }

    .currency-price-card {
        margin: 18px 0
    }
}

/* Final form baseline: applies to every full form, while compact table and toolbar controls stay compact. */
:is(.container, .admin-content, .user-dashboard-content) form.card:not(.inline-form):not(.toolbar):not(.currency-switcher),
:is(.container, .admin-content, .user-dashboard-content) .card>form:not(.inline-form):not(.toolbar):not(.currency-switcher) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    align-content: start;
    margin: 0
}

:is(.container, .admin-content, .user-dashboard-content) form.card:not(.inline-form):not(.toolbar):not(.currency-switcher)>:is(h2, h3, .eyebrow, p),
:is(.container, .admin-content, .user-dashboard-content) .card>form:not(.inline-form):not(.toolbar):not(.currency-switcher)>:is(h2, h3, .eyebrow, p) {
    margin: 0
}

:is(.container, .admin-content, .user-dashboard-content) form.card:not(.inline-form):not(.toolbar):not(.currency-switcher)>.grid,
:is(.container, .admin-content, .user-dashboard-content) .card>form:not(.inline-form):not(.toolbar):not(.currency-switcher)>.grid {
    gap: 16px;
    margin: 0
}

:is(.container, .admin-content, .user-dashboard-content) form.card:not(.inline-form):not(.toolbar):not(.currency-switcher) .field,
:is(.container, .admin-content, .user-dashboard-content) .card>form:not(.inline-form):not(.toolbar):not(.currency-switcher) .field {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    min-width: 0;
    margin: 0 !important
}

:is(.container, .admin-content, .user-dashboard-content) form.card:not(.inline-form):not(.toolbar):not(.currency-switcher) .field>label,
:is(.container, .admin-content, .user-dashboard-content) .card>form:not(.inline-form):not(.toolbar):not(.currency-switcher) .field>label {
    margin: 0;
    color: #31415d;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.35
}

:is(.container, .admin-content, .user-dashboard-content) form.card:not(.inline-form):not(.toolbar):not(.currency-switcher) .field>:is(input, select, textarea),
:is(.container, .admin-content, .user-dashboard-content) .card>form:not(.inline-form):not(.toolbar):not(.currency-switcher) .field>:is(input, select, textarea) {
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 10px 12px;
    border-color: #d0daea
}

:is(.container, .admin-content, .user-dashboard-content) form.card:not(.inline-form):not(.toolbar):not(.currency-switcher) .field>textarea,
:is(.container, .admin-content, .user-dashboard-content) .card>form:not(.inline-form):not(.toolbar):not(.currency-switcher) .field>textarea {
    min-height: 124px
}

:is(.container, .admin-content, .user-dashboard-content) form.card:not(.inline-form):not(.toolbar):not(.currency-switcher)>button,
:is(.container, .admin-content, .user-dashboard-content) .card>form:not(.inline-form):not(.toolbar):not(.currency-switcher)>button {
    min-height: 43px;
    justify-self: start;
    margin: 2px 0 0;
    padding: 10px 18px
}

:is(.container, .admin-content, .user-dashboard-content) .card>p>form:not(.inline-form),
:is(.container, .admin-content, .user-dashboard-content) .table form:not(.inline-form) {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0
}

:is(.container, .admin-content, .user-dashboard-content) .card>p>form:not(.inline-form) button,
:is(.container, .admin-content, .user-dashboard-content) .table form:not(.inline-form) button {
    min-height: 34px;
    padding: 7px 10px
}

.toolbar {
    display: flex !important;
    align-items: flex-end;
    gap: 16px
}

.toolbar>.field {
    display: grid !important;
    gap: 7px
}

.toolbar>:is(button, .button) {
    align-self: flex-end;
    min-height: 44px
}

.inline-form {
    display: flex !important;
    align-items: center;
    gap: 8px
}

.inline-form>label {
    margin: 0 !important
}

@media(max-width:760px) {

    :is(.container, .admin-content, .user-dashboard-content) form.card:not(.inline-form):not(.toolbar):not(.currency-switcher)>.grid,
    :is(.container, .admin-content, .user-dashboard-content) .card>form:not(.inline-form):not(.toolbar):not(.currency-switcher)>.grid {
        grid-template-columns: 1fr
    }

    :is(.container, .admin-content, .user-dashboard-content) form.card:not(.inline-form):not(.toolbar):not(.currency-switcher)>button,
    :is(.container, .admin-content, .user-dashboard-content) .card>form:not(.inline-form):not(.toolbar):not(.currency-switcher)>button {
        width: 100%
    }

    .toolbar {
        align-items: stretch
    }

    .toolbar>:is(button, .button) {
        width: 100%
    }
}

/* Covers older dashboard forms that were created before the shared form classes. */
main form:not(.inline-form):not(.toolbar):not(.currency-switcher):not(.demo-slot-booking):not([style*="inline"]) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    align-content: start
}

main form:not(.inline-form):not(.toolbar):not(.currency-switcher):not(.demo-slot-booking):not([style*="inline"])>.grid {
    gap: 16px;
    margin: 0
}

main form:not(.inline-form):not(.toolbar):not(.currency-switcher):not(.demo-slot-booking):not([style*="inline"])>.field {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    margin: 0 !important
}

main form:not(.inline-form):not(.toolbar):not(.currency-switcher):not(.demo-slot-booking):not([style*="inline"])>.field>:is(input, select, textarea) {
    width: 100%;
    min-height: 44px
}

main form:not(.inline-form):not(.toolbar):not(.currency-switcher):not(.demo-slot-booking):not([style*="inline"])>button {
    justify-self: start;
    min-height: 43px;
    padding: 10px 18px
}

.table form:not(.inline-form),
.question-row form,
.card>p>form {
    display: inline-flex !important;
    grid-template-columns: none !important;
    align-items: center;
    gap: 7px
}

.table form:not(.inline-form)>button,
.question-row form>button,
.card>p>form>button {
    width: auto !important;
    justify-self: auto !important
}

@media(max-width:760px) {
    main form:not(.inline-form):not(.toolbar):not(.currency-switcher):not(.demo-slot-booking):not([style*="inline"])>.grid {
        grid-template-columns: 1fr
    }

    main form:not(.inline-form):not(.toolbar):not(.currency-switcher):not(.demo-slot-booking):not([style*="inline"])>button {
        width: 100%
    }
}

/* Checkbox and radio controls use a dedicated row so the input never drifts above its label. */
main form:not(.inline-form) label:has(>input[type="checkbox"]),
main form:not(.inline-form) label:has(>input[type="radio"]) {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    min-width: 0;
    margin: 0 !important;
    padding: 10px 12px;
    border: 1px solid #dce4f0;
    border-radius: 9px;
    background: #f8faff;
    color: #3c4d68 !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.45
}

main form:not(.inline-form) label:has(>input[type="checkbox"]):hover,
main form:not(.inline-form) label:has(>input[type="radio"]):hover {
    border-color: #b9c8eb;
    background: #f3f6ff
}

main form:not(.inline-form) label:has(>input[type="checkbox"])>input[type="checkbox"],
main form:not(.inline-form) label:has(>input[type="radio"])>input[type="radio"] {
    flex: 0 0 auto !important;
    width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    accent-color: #3157d5
}

main form:not(.inline-form) .field>label:has(>input[type="checkbox"]),
main form:not(.inline-form) .field>label:has(>input[type="radio"]) {
    width: max-content;
    max-width: 100%
}

.inline-form label:has(>input[type="checkbox"]),
.inline-form label:has(>input[type="radio"]) {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 3px 5px !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 11px !important;
    line-height: 1.2
}

.inline-form input[type="checkbox"],
.inline-form input[type="radio"] {
    width: 14px !important;
    height: 14px !important;
    min-height: 14px !important;
    margin: 0 !important;
    accent-color: #3157d5
}

@media(max-width:600px) {

    main form:not(.inline-form) label:has(>input[type="checkbox"]),
    main form:not(.inline-form) label:has(>input[type="radio"]) {
        padding: 10px 11px
    }

    .inline-form label:has(>input[type="checkbox"]),
    .inline-form label:has(>input[type="radio"]) {
        align-items: flex-start !important
    }
}

/* Email settings uses grouped permissions instead of loose checkbox rows. */
.email-settings-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .75fr);
    gap: 22px;
    align-items: start
}

.email-settings-form {
    max-width: none !important
}

.email-settings-side {
    display: grid;
    gap: 20px
}

.email-test-card,
.email-security-card {
    display: grid;
    gap: 14px;
    padding: 25px !important
}

.email-test-card h2,
.email-security-card h2,
.email-test-card p,
.email-security-card p {
    margin: 0 !important
}

.email-test-card form {
    margin: 0 !important
}

.email-test-card form>button {
    width: 100%;
    justify-self: stretch
}

.email-security-card {
    border-left: 4px solid #3157d5;
    background: linear-gradient(145deg, #fff, #f3f6ff)
}

.email-security-card small {
    color: #64748b;
    line-height: 1.55
}

.role-permission-group {
    display: grid;
    gap: 11px;
    margin: 2px 0 0;
    padding: 17px;
    border: 1px solid #dce4f0;
    border-radius: 11px;
    background: #fbfcff
}

.role-permission-group legend {
    padding: 0 6px;
    color: #31415d;
    font-size: 13px;
    font-weight: 800
}

.role-permission-group p {
    margin: 0;
    color: #64748b;
    font-size: 13px
}

.role-permission-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px
}

.role-permission-options .check-row {
    height: 100%;
    padding: 10px !important
}

@media(max-width:900px) {
    .email-settings-grid {
        grid-template-columns: 1fr
    }

    .email-settings-side {
        grid-template-columns: repeat(2, minmax(0, 1fr)
        }
    }

    @media(max-width:600px) {
        .email-settings-side, .role-permission-options {
            grid-template-columns:1fr
        }

        .email-test-card, .email-security-card {
            padding:20px !important
        }
    }

    /* Context-specific checkbox variants: full preference rows, compact product/event chips, and table role toggles. */
    .account-form-body>label:has(>input[type="checkbox"]), .account-form-body>label:has(>input[type="radio"]) {
        width:100%; min-height:40px
    }

    .chips>label.chip:has(>input[type="checkbox"]), .chips>label.chip:has(>input[type="radio"]) {
        display:inline-flex !important; align-items:center !important; width:auto !important; min-height:36px !important; margin:0 !important; padding:7px 10px !important; border:1px solid #d5dff6 !important; border-radius:999px !important; background:#fff !important; color:#365594 !important; font-size:12px !important; font-weight:700 !important; line-height:1.2
    }

    .chips>label.chip>input[type="checkbox"], .chips>label.chip>input[type="radio"] {
        width:14px !important; height:14px !important; min-height:14px !important; margin:0 !important
    }

    .admin-content .field>label:has(>input[type="checkbox"]), .admin-content .field>label:has(>input[type="radio"]) {
        width:100%
    }

    .admin-content .inline-form span {
        display:inline-flex; align-items:center; gap:5px; flex-wrap:wrap
    }

    .admin-content .inline-form span label {
        white-space:nowrap
    }

    .event-detail-section .chips {
        align-items:center
    }

    .event-detail-section .chips>label.chip {
        box-shadow:0 1px 2px #1c3f7a0c
    }

    .check-row {
        width:100%
    }

    @media(max-width:600px) {
        .chips>label.chip:has(>input[type="checkbox"]), .chips>label.chip:has(>input[type="radio"]) {
            width:100% !important; justify-content:flex-start
        }
    }

    /* Final footer presentation overrides */
    /* Shared public-page content alignment. Dashboard layouts use their own containers. */
    .container {
        max-width:100% !important;
        margin:auto !important;
        padding:34px var(--page-gutter) !important;
        min-height:calc(100vh - 126px) !important
    }

    .site-footer {
        min-height:0 !important; padding:52px 0 !important; background:#061633 !important
    }

    .site-footer-grid {
        width:100% !important; max-width:1300px !important; margin:0 auto !important; padding:0 var(--page-gutter) !important; grid-template-columns:1.05fr 1fr 1.15fr 1fr !important; gap:56px !important
    }

    .site-footer-intro .footer-brand-logo {
        padding:8px 10px; border-radius:4px; background:#fff; box-shadow:0 0 16px #ffffff4d
    }

    .site-footer-intro p {
        max-width:285px; color:#d7e4ff; font-size:16px
    }

    .site-footer h3 {
        position:relative; padding-bottom:13px; margin-bottom:18px
    }

    .site-footer h3:after {
        content:''; position:absolute; left:0; bottom:0; width:32px; height:2px; background:#ff6d55
    }

    .footer-links {
        gap:12px 27px
    }

    .footer-links a {
        font-size:14px
    }

    .footer-posts>a {
        position:relative; min-height:64px; padding:5px 0 5px 76px
    }

    .footer-posts>a:before {
        content:'↗'; position:absolute; left:0; top:3px; display:grid; place-items:center; width:58px; height:58px; border-radius:8px; background:linear-gradient(135deg, #ff6d55, #3c4c96); color:#fff; font-size:22px; font-weight:900
    }

    .footer-posts b {
        font-size:14px
    }

    .footer-contact p {
        display:flex;
        align-items:center;
        gap:8px;
        white-space:nowrap
    }

    .footer-social a[aria-disabled="true"] {
        opacity:.58
    }

    .site-footer-bottom {
        width:100% !important; max-width:1300px !important; margin:0 auto !important; padding:27px var(--page-gutter) 0 !important; border-top:1px solid #ffffff18
    }

    @media(max-width:900px) {
        .site-footer {
            min-height:0 !important
        }

        .site-footer-grid {
            gap:38px !important
        }
    }

    @media(max-width:600px) {
        .container {
            padding:28px var(--page-gutter)
        }

        .site-footer-grid {
            padding:0 24px; grid-template-columns:1fr !important
        }

        .site-footer-bottom {
            padding-left:24px !important; padding-right:24px !important
        }

        .site-footer h3 {
            margin-top:0
        }

        .footer-posts>a {
            max-width:360px
        }
    }

    /* Public event discovery: a bespoke Eventz-inspired editorial event layout. */
    .eventz-hero {
        position:relative; isolation:isolate; overflow:hidden; min-height:510px; margin:-34px -24px 0; padding:72px max(7vw, calc((100vw - 1120px)/2)); display:grid; grid-template-columns:minmax(0, 1fr) minmax(320px, .72fr); gap:52px; align-items:center; background:radial-gradient(circle at 83% 18%, #fa6c55 0, transparent 22%), radial-gradient(circle at 71% 95%, #353e8f 0, transparent 35%), linear-gradient(130deg, #11172e, #19234b 60%, #171e39); color:#fff
    }

    .eventz-hero>img {
        position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; opacity:.2; mix-blend-mode:screen
    }

    .eventz-hero:after {
        content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg, #11172efa 15%, #11172e98 60%, #11172ebd)
    }

    .eventz-orbit {
        position:absolute; z-index:-1; border:1px solid #ffffff24; border-radius:50%; pointer-events:none
    }

    .eventz-orbit-one {
        width:580px; height:580px; right:-190px; top:-250px
    }

    .eventz-orbit-two {
        width:320px; height:320px; right:20%; bottom:-220px
    }

    .eventz-hero-content {
        max-width:610px
    }

    .eventz-kicker {
        color:#ff9c8b; font-size:11px; font-weight:900; letter-spacing:2px; text-transform:uppercase
    }

    .eventz-hero h1 {
        margin:13px 0 18px; color:#fff; font-size:clamp(46px, 6vw, 78px); line-height:.98; letter-spacing:-3.6px
    }

    .eventz-hero h1 em {
        font-family:Georgia, serif; font-weight:400; color:#ff9c8b
    }

    .eventz-hero-content>p {
        max-width:490px; margin:0; color:#d7dced; font-size:18px; line-height:1.6
    }

    .eventz-hero-actions {
        display:flex; align-items:center; gap:24px; margin-top:30px
    }

    .eventz-primary {
        background:#ff6d55 !important; color:#fff !important; border-radius:0 !important; padding:13px 21px !important; box-shadow:0 12px 26px #e84f3b3d
    }

    .eventz-text-link {
        color:#fff; font-size:13px; font-weight:800
    }

    .eventz-text-link span {
        padding-left:5px; color:#ff9c8b; font-size:17px
    }

    .eventz-next-event {
        position:relative; display:grid; grid-template-columns:80px 1fr; gap:20px; align-items:start; padding:29px; background:#ffffff; color:#17203f; box-shadow:0 25px 50px #06102d4d
    }

    .eventz-next-event:before {
        content:''; position:absolute; left:0; top:0; width:100%; height:5px; background:#ff6d55
    }

    .eventz-date {
        display:flex; flex-direction:column; justify-content:center; align-items:center; width:78px; min-height:98px; padding:11px 8px; border:1px solid #e2e7f1; background:#f8f9fd; color:#17203f; text-align:center
    }

    .eventz-date span, .eventz-date small {
        font-size:10px; font-weight:900; letter-spacing:1px; text-transform:uppercase
    }

    .eventz-date span {
        color:#f15d49
    }

    .eventz-date b {
        font-size:35px; line-height:1.05; letter-spacing:-2px
    }

    .eventz-date small {
        margin-top:3px; color:#7b8598
    }

    .eventz-label {
        font-size:10px; font-weight:900; letter-spacing:1.1px; text-transform:uppercase; color:#f15d49
    }

    .eventz-next-event h2 {
        margin:7px 0 8px; font-size:23px; line-height:1.15; letter-spacing:-.8px
    }

    .eventz-next-event p {
        margin:0 0 14px; color:#66738a; font-size:12px
    }

    .eventz-next-event a {
        color:#17203f; font-size:12px; font-weight:900
    }

    .eventz-next-event a span {
        padding-left:4px; color:#f15d49
    }

    .eventz-browser {
        padding:74px 0 20px
    }

    .eventz-browser-head {
        display:flex; align-items:flex-end; justify-content:space-between; gap:20px
    }

    .eventz-browser-head h2 {
        margin:8px 0 0; font-size:37px; letter-spacing:-1.6px
    }

    .eventz-count {
        color:#f15d49; font-size:38px; font-weight:900; letter-spacing:-2px
    }

    .eventz-count span {
        display:block; color:#768196; font-size:10px; font-weight:900; letter-spacing:1px; text-align:right; text-transform:uppercase
    }

    .eventz-tabs {
        display:flex; gap:24px; margin:28px 0 19px; border-bottom:1px solid #dfe5f0
    }

    .eventz-tabs a {
        position:relative; padding:0 0 12px; color:#7a8598; font-size:13px; font-weight:800
    }

    .eventz-tabs a.active {
        color:#17203f
    }

    .eventz-tabs a.active:after {
        content:''; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:#ff6d55
    }

    .eventz-filter {
        display:grid !important; grid-template-columns:1.5fr .72fr auto; gap:10px; margin-bottom:34px; padding:0 !important; background:transparent !important; border:0 !important
    }

    .eventz-filter label {
        display:grid !important; gap:5px !important; padding:0 !important; border:0 !important; background:transparent !important; color:#536176 !important; font-size:10px !important; font-weight:900 !important; letter-spacing:.7px; text-transform:uppercase
    }

    .eventz-filter :is(input, select) {
        min-height:47px !important; padding:10px 13px !important; border:1px solid #dbe2ed !important; border-radius:0 !important; background:#fff !important; color:#17203f !important; font-size:14px !important; font-weight:600 !important; text-transform:none
    }

    .eventz-filter button {
        align-self:end; min-height:47px; padding:10px 18px; border-radius:0; background:#17203f
    }

    .eventz-filter button span {
        padding-left:4px; color:#ff9c8b
    }

    .eventz-grid {
        display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px
    }

    .eventz-card {
        position:relative; overflow:hidden; min-height:310px; border:1px solid #e1e6ef; background:#fff; box-shadow:0 10px 24px #13254b0a; transition:transform .2s ease, box-shadow .2s ease
    }

    .eventz-card:hover {
        transform:translateY(-5px); box-shadow:0 18px 34px #13254b1c
    }

    .eventz-card-top {
        display:flex; justify-content:space-between; align-items:flex-start; padding:20px 20px 0
    }

    .eventz-card .eventz-date {
        width:62px; min-height:76px; padding:8px
    }

    .eventz-card .eventz-date b {
        font-size:28px
    }

    .eventz-format {
        padding:7px 9px; background:#fff1ed; color:#e9533f; font-size:10px; font-weight:900; letter-spacing:.8px; text-transform:uppercase
    }

    .eventz-card-body {
        display:flex; flex-direction:column; min-height:207px; padding:16px 20px 20px
    }

    .eventz-meta {
        margin:0; color:#f15d49; font-size:10px; font-weight:900; letter-spacing:.65px; text-transform:uppercase
    }

    .eventz-card h3 {
        margin:8px 0; font-size:22px; line-height:1.13; letter-spacing:-.8px
    }

    .eventz-card-body>p:not(.eventz-meta) {
        margin:0; color:#637087; font-size:13px; line-height:1.55
    }

    .eventz-card-footer {
        display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:16px; color:#778298; font-size:11px; font-weight:700
    }

    .eventz-card-footer a {
        display:grid; place-items:center; width:34px; height:34px; background:#17203f; color:#fff; font-size:20px; line-height:1; transition:background .2s
    }

    .eventz-card-footer a:hover {
        background:#ff6d55
    }

    .eventz-card-featured {
        border-top:4px solid #ff6d55
    }

    .eventz-empty {
        padding:32px; border:1px dashed #cdd7e5; color:#657389; text-align:center
    }

    @media(max-width:900px) {
        .eventz-hero {
            grid-template-columns:1fr; padding:58px 38px
        }

        .eventz-next-event {
            max-width:570px
        }

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

    @media(max-width:700px) {
        .eventz-hero {
            min-height:0; margin:-34px -24px 0; padding:52px 24px
        }

        .eventz-hero h1 {
            font-size:51px; letter-spacing:-2.5px
        }

        .eventz-hero-actions {
            align-items:flex-start; flex-direction:column; gap:16px
        }

        .eventz-next-event {
            grid-template-columns:64px 1fr; padding:21px; gap:15px
        }

        .eventz-next-event .eventz-date {
            width:64px; min-height:82px
        }

        .eventz-next-event h2 {
            font-size:19px
        }

        .eventz-browser {
            padding-top:46px
        }

        .eventz-browser-head h2 {
            font-size:31px
        }

        .eventz-filter {
            grid-template-columns:1fr !important
        }

        .eventz-filter button {
            width:100%
        }

        .eventz-grid {
            grid-template-columns:1fr
        }

        .eventz-card {
            min-height:0
        }
    }

/* Shared public-site grid: header, page content, full-bleed bands, and footer. */
body:not(.admin-page):not(.user-dashboard-page) .topbar,
body:not(.admin-page):not(.user-dashboard-page) .container {
    padding-inline: var(--page-gutter) !important;
}

.home-hero,
.home-event-feature,
.home-demo-band,
.home-cta {
    margin-inline: calc(var(--page-gutter) * -1) !important;
}

.home-hero-content,
.home-demo-band,
.home-cta,
.home-event-copy {
    padding-left: var(--page-gutter) !important;
    padding-right: var(--page-gutter) !important;
}

@media (max-width: 760px) {
    .site-footer-grid,
    .site-footer-bottom {
        padding-left: var(--page-gutter) !important;
        padding-right: var(--page-gutter) !important;
    }
}
