@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
    --app-primary: #173f62;
    --app-secondary: #c9a65d;
    --ink: #14212d;
    --ink-soft: #53616d;
    --surface: #f6f4ef;
    --surface-alt: #efede7;
    --card: rgba(255, 255, 255, .76);
    --card-solid: #ffffff;
    --line: rgba(18, 35, 48, .11);
    --navy: #0b1f31;
    --navy-soft: #14344d;
    --champagne: #d6b36a;
    --champagne-light: #f5ddaa;
    --white: #ffffff;
    --success: #2c8a6e;
    --shadow-sm: 0 12px 38px rgba(19, 33, 45, .08);
    --shadow-md: 0 28px 70px rgba(19, 33, 45, .14);
    --shadow-lg: 0 45px 110px rgba(4, 17, 29, .25);
    --radius-sm: 16px;
    --radius-md: 24px;
    --radius-lg: 36px;
}

html[data-theme="dark"] {
    --ink: #edf2f5;
    --ink-soft: #aab7c1;
    --surface: #081522;
    --surface-alt: #0d1c29;
    --card: rgba(17, 37, 52, .76);
    --card-solid: #102536;
    --line: rgba(255, 255, 255, .1);
    --shadow-sm: 0 12px 38px rgba(0, 0, 0, .2);
    --shadow-md: 0 28px 70px rgba(0, 0, 0, .28);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 90px;
}

body {
    color: var(--ink);
    background: var(--surface);
    font-family: "DM Sans", sans-serif;
    text-rendering: optimizeLegibility;
    transition: background-color .35s ease, color .35s ease;
}

h1, h2, h3, h4, h5, h6,
.brand-copy strong {
    font-family: "Manrope", sans-serif;
    letter-spacing: -.035em;
}

a {
    color: inherit;
}

img {
    max-width: 100%;
}

.section {
    position: relative;
    padding: 120px 0;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    color: var(--app-secondary);
    font-size: .73rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.eyebrow-light {
    color: var(--champagne-light);
}

.eyebrow-dot,
.live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--champagne);
    box-shadow: 0 0 0 6px rgba(214, 179, 106, .14);
}

.section-heading {
    margin-bottom: 58px;
}

.section-heading h2,
.showcase-copy h2,
.event-copy h2,
.ai-copy h2,
.revenue-copy h2 {
    margin: 0;
    font-size: clamp(2.55rem, 5vw, 4.6rem);
    font-weight: 600;
    line-height: 1.06;
}

.section-heading h2 span,
.showcase-copy h2 span,
.event-copy h2 span,
.ai-copy h2 span,
.revenue-copy h2 span {
    color: var(--app-secondary);
    font-weight: 500;
}

.split-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
    gap: 70px;
    align-items: end;
}

.split-heading p,
.showcase-copy > p,
.ai-copy > p,
.revenue-copy > p {
    margin: 0;
    color: var(--ink-soft);
    font-size: 1.08rem;
    line-height: 1.8;
}

.centered-heading {
    max-width: 780px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.glass-panel {
    border: 1px solid rgba(255, 255, 255, .22);
    background: rgba(255, 255, 255, .11);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .14);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}

.btn {
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: -.01em;
}

.btn-champagne {
    border: 1px solid var(--champagne);
    color: #132130;
    background: linear-gradient(135deg, #f2d99d, var(--champagne));
    box-shadow: 0 12px 30px rgba(214, 179, 106, .25);
}

.btn-champagne:hover,
.btn-champagne:focus {
    color: #132130;
    background: linear-gradient(135deg, #ffe8b7, #dfbc72);
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(214, 179, 106, .35);
}

.btn-ghost-light {
    border: 1px solid rgba(255, 255, 255, .35);
    color: #fff;
    background: rgba(255, 255, 255, .06);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.btn-ghost-light:hover {
    border-color: rgba(255, 255, 255, .6);
    color: #fff;
    background: rgba(255, 255, 255, .13);
}

.btn-soft {
    border: 1px solid var(--line);
    color: var(--ink);
    background: var(--card-solid);
    box-shadow: var(--shadow-sm);
}

.btn-soft:hover {
    color: var(--app-primary);
    transform: translateY(-2px);
}

.btn-light-premium {
    color: #0c2335;
    background: #fff;
    box-shadow: 0 15px 35px rgba(1, 11, 20, .18);
}

.btn-light-premium:hover {
    color: #0c2335;
    transform: translateY(-2px);
    background: #f8e7c0;
}

.text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--ink);
    font-weight: 700;
    text-decoration: none;
}

.text-link span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    transition: .25s ease;
}

.text-link:hover {
    color: var(--app-secondary);
}

.text-link:hover span {
    border-color: var(--app-secondary);
    transform: translateX(4px);
}

/* Premium navigation */
.site-header {
    position: sticky;
    z-index: 1030;
    top: 0;
    min-height: 84px;
    border-bottom: 1px solid var(--line);
    background: rgba(246, 244, 239, .86);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    transition: background .3s ease, border-color .3s ease, box-shadow .3s ease, min-height .3s ease;
}

html[data-theme="dark"] .site-header {
    background: rgba(8, 21, 34, .86);
}

.home-page .site-header {
    position: fixed;
    width: 100%;
    border-color: rgba(255, 255, 255, .14);
    color: #fff;
    background: linear-gradient(to bottom, rgba(4, 15, 25, .68), transparent);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.home-page .site-header.is-scrolled {
    min-height: 74px;
    border-color: var(--line);
    color: var(--ink);
    background: rgba(246, 244, 239, .9);
    box-shadow: 0 14px 40px rgba(2, 13, 23, .12);
    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);
}

html[data-theme="dark"] .home-page .site-header.is-scrolled {
    background: rgba(8, 21, 34, .9);
}

.brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    max-width: 310px;
    color: inherit;
    text-decoration: none;
}

.brand-mark {
    display: grid;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(214, 179, 106, .55);
    border-radius: 13px;
    color: var(--champagne);
    background: rgba(214, 179, 106, .1);
}

.brand-mark svg {
    width: 27px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.4;
}

.brand-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    line-height: 1.1;
}

.brand-copy strong {
    overflow: hidden;
    font-size: .9rem;
    letter-spacing: -.02em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brand-copy small {
    margin-top: 5px;
    color: currentColor;
    font-size: .58rem;
    letter-spacing: .12em;
    opacity: .62;
    text-transform: uppercase;
}

.site-header .nav-link {
    position: relative;
    padding: .55rem .72rem !important;
    color: inherit;
    font-size: .84rem;
    font-weight: 600;
    opacity: .78;
}

.site-header .nav-link::after {
    position: absolute;
    right: .7rem;
    bottom: .3rem;
    left: .7rem;
    height: 1px;
    content: "";
    background: var(--champagne);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease;
}

.site-header .nav-link:hover {
    color: inherit;
    opacity: 1;
}

.site-header .nav-link:hover::after {
    transform: scaleX(1);
}

.nav-cta {
    padding: .62rem 1.05rem;
    border: 1px solid rgba(255, 255, 255, .35);
    color: inherit;
    background: rgba(255, 255, 255, .1);
}

.site-header.is-scrolled .nav-cta,
.site-page .nav-cta {
    border-color: var(--line);
    color: var(--white);
    background: var(--navy);
}

.nav-cta:hover {
    color: #172432;
    background: var(--champagne);
}

.theme-toggle {
    display: grid;
    width: 38px;
    height: 38px;
    margin: 0 .25rem;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 50%;
    color: inherit;
    background: rgba(255, 255, 255, .08);
}

.site-header.is-scrolled .theme-toggle,
.site-page .theme-toggle {
    border-color: var(--line);
    background: var(--card);
}

.theme-icon {
    width: 17px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.theme-icon-moon,
html[data-theme="dark"] .theme-icon-sun {
    display: none;
}

html[data-theme="dark"] .theme-icon-moon {
    display: block;
}

/* Hero */
.home-hero {
    position: relative;
    display: flex;
    min-height: 920px;
    align-items: center;
    overflow: hidden;
    color: #fff;
    background: #071827;
}

.hero-media,
.event-bg {
    position: absolute;
    inset: -6% 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.07);
    will-change: transform;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(5, 17, 29, .96) 0%, rgba(5, 17, 29, .82) 37%, rgba(5, 17, 29, .3) 72%, rgba(5, 17, 29, .15) 100%),
        linear-gradient(0deg, rgba(5, 17, 29, .72), transparent 42%);
}

.hero-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(1px);
    opacity: .32;
    pointer-events: none;
}

.hero-orb-one {
    top: 14%;
    left: 49%;
    width: 330px;
    height: 330px;
    background: radial-gradient(circle, rgba(214, 179, 106, .32), transparent 67%);
    animation: floatOrb 8s ease-in-out infinite;
}

.hero-orb-two {
    right: 5%;
    bottom: 10%;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(214, 179, 106, .28);
    animation: floatOrb 11s ease-in-out -3s infinite reverse;
}

.hero-content {
    position: relative;
    z-index: 2;
    padding-top: 145px;
    padding-bottom: 120px;
}

.hero-copy {
    max-width: 890px;
}

.hero-copy h1 {
    margin: 0;
    font-size: clamp(3.5rem, 7vw, 7rem);
    font-weight: 500;
    line-height: .96;
    letter-spacing: -.065em;
}

.hero-copy h1 span {
    color: var(--champagne-light);
    font-weight: 400;
}

.hero-copy > p {
    max-width: 700px;
    margin: 30px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(1.02rem, 1.5vw, 1.24rem);
    line-height: 1.8;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 36px;
}

.hero-actions .btn {
    padding: .95rem 1.5rem;
}

.play-icon {
    display: inline-grid;
    width: 25px;
    height: 25px;
    margin-right: 6px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 50%;
    font-size: .56rem;
}

.hero-trust {
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    padding: 18px 20px;
    border-radius: 18px;
}

.hero-trust strong,
.hero-trust small {
    display: block;
}

.hero-trust strong {
    margin-top: 10px;
    font-size: .84rem;
}

.hero-trust small {
    margin-top: 4px;
    color: rgba(255, 255, 255, .62);
    font-size: .7rem;
}

.hero-trust small span {
    color: var(--champagne);
    letter-spacing: .12em;
}

.trust-avatars {
    display: flex;
}

.trust-avatars span {
    display: grid;
    width: 31px;
    height: 31px;
    margin-left: -7px;
    place-items: center;
    border: 2px solid rgba(9, 29, 44, .72);
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #7c9bac, #263e54);
    font-size: .61rem;
    font-weight: 700;
}

.trust-avatars span:first-child {
    margin-left: 0;
    background: linear-gradient(135deg, #c8a762, #765b31);
}

.hero-search {
    margin-top: 58px;
    overflow: hidden;
    border-radius: 24px;
    background: rgba(10, 29, 43, .66);
}

.search-tabs {
    display: flex;
    gap: 6px;
    padding: 10px 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    scrollbar-width: none;
}

.search-tabs::-webkit-scrollbar {
    display: none;
}

.search-tab {
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 12px 16px;
    border: 0;
    border-bottom: 2px solid transparent;
    color: rgba(255, 255, 255, .56);
    background: transparent;
    font-size: .76rem;
    font-weight: 700;
    transition: .2s ease;
}

.search-tab svg,
.search-control svg,
.search-submit svg {
    width: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
}

.search-tab.active {
    border-color: var(--champagne);
    color: #fff;
}

.search-fields {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr auto;
    gap: 0;
    padding: 14px;
}

.search-field {
    min-width: 0;
    padding: 7px 20px;
    border-right: 1px solid rgba(255, 255, 255, .12);
}

.search-field > span:first-child {
    display: block;
    margin-bottom: 7px;
    color: rgba(255, 255, 255, .48);
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.search-control {
    display: flex;
    gap: 10px;
    align-items: center;
    color: var(--champagne);
}

.search-control input,
.search-control select {
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    outline: 0;
    color: #fff;
    background: transparent;
    font-size: .9rem;
}

.search-control select {
    color-scheme: dark;
}

.search-control input::placeholder {
    color: rgba(255, 255, 255, .8);
}

.search-submit {
    display: flex;
    min-width: 132px;
    gap: 9px;
    align-items: center;
    justify-content: center;
    margin-left: 14px;
    padding: .9rem 1.2rem;
    border: 0;
    border-radius: 16px;
    color: #10202c;
    background: linear-gradient(135deg, #f2d99d, var(--champagne));
    font-size: .87rem;
    font-weight: 800;
    transition: .25s ease;
}

.search-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(214, 179, 106, .25);
}

.scroll-cue {
    position: absolute;
    z-index: 3;
    bottom: 25px;
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: rgba(255, 255, 255, .48);
    font-size: .58rem;
    letter-spacing: .18em;
    text-decoration: none;
    text-transform: uppercase;
    transform: translateX(-50%);
}

.scroll-cue span {
    width: 1px;
    height: 32px;
    margin-bottom: 8px;
    background: linear-gradient(to bottom, transparent, var(--champagne));
    animation: scrollCue 1.8s ease-in-out infinite;
}

/* Stats */
.trust-strip {
    border-bottom: 1px solid var(--line);
    background: var(--card-solid);
}

.trust-strip .container {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    align-items: center;
    padding-top: 34px;
    padding-bottom: 34px;
}

.trust-stat {
    text-align: center;
}

.trust-stat strong {
    display: block;
    color: var(--ink);
    font-family: "Manrope", sans-serif;
    font-size: clamp(1.55rem, 2.7vw, 2.35rem);
    letter-spacing: -.04em;
}

.trust-stat small {
    color: var(--ink-soft);
    font-size: .73rem;
}

.trust-divider {
    width: 1px;
    height: 36px;
    background: var(--line);
}

/* Marketplace */
.marketplace-section {
    overflow: hidden;
}

.marketplace-section::before {
    position: absolute;
    top: -300px;
    right: -250px;
    width: 600px;
    height: 600px;
    border: 1px solid var(--line);
    border-radius: 50%;
    content: "";
    box-shadow: 0 0 0 90px rgba(214, 179, 106, .025), 0 0 0 180px rgba(214, 179, 106, .02);
}

.marketplace-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.market-card {
    position: relative;
    display: grid;
    min-height: 290px;
    grid-template-columns: auto 1fr;
    gap: 26px;
    align-items: end;
    overflow: hidden;
    padding: 34px;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    color: var(--ink);
    background:
        radial-gradient(circle at 100% 0, rgba(214, 179, 106, .12), transparent 42%),
        var(--card);
    box-shadow: var(--shadow-sm);
    text-decoration: none;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.market-card::after {
    position: absolute;
    top: -50%;
    left: -80%;
    width: 40%;
    height: 200%;
    content: "";
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .14), transparent);
    transform: rotate(20deg);
    transition: left .6s ease;
}

.market-card:hover {
    border-color: rgba(214, 179, 106, .55);
    color: var(--ink);
    box-shadow: var(--shadow-md);
    transform: translateY(-7px);
}

.market-card:hover::after {
    left: 140%;
}

.market-card-no {
    position: absolute;
    top: 25px;
    right: 28px;
    color: var(--ink-soft);
    font-size: .66rem;
    letter-spacing: .15em;
}

.market-icon {
    display: grid;
    width: 66px;
    height: 66px;
    place-items: center;
    border: 1px solid rgba(214, 179, 106, .38);
    border-radius: 20px;
    color: var(--app-secondary);
    background: rgba(214, 179, 106, .08);
}

.market-icon svg,
.why-icon svg {
    width: 31px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.25;
}

.market-card div > span {
    color: var(--app-secondary);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.market-card h3 {
    margin: 9px 0;
    font-size: clamp(1.5rem, 2.7vw, 2.15rem);
}

.market-card p {
    max-width: 400px;
    margin: 0;
    color: var(--ink-soft);
    font-size: .9rem;
    line-height: 1.65;
}

.card-arrow {
    position: absolute;
    right: 28px;
    bottom: 28px;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    transition: .3s ease;
}

.market-card:hover .card-arrow {
    border-color: var(--champagne);
    color: #132130;
    background: var(--champagne);
    transform: rotate(45deg);
}

.market-card-hotel,
.market-card-event {
    color: #fff;
    background:
        linear-gradient(120deg, rgba(8, 28, 43, .95), rgba(8, 28, 43, .66)),
        url("../images/luxury-hotel-hero.webp") center/cover;
}

.market-card-event {
    background:
        linear-gradient(120deg, rgba(8, 28, 43, .93), rgba(8, 28, 43, .56)),
        url("../images/luxury-ballroom.webp") center/cover;
}

.market-card-hotel:hover,
.market-card-event:hover {
    color: #fff;
}

.market-card-hotel p,
.market-card-event p,
.market-card-hotel .market-card-no,
.market-card-event .market-card-no {
    color: rgba(255, 255, 255, .68);
}

/* Hotel showcase */
.hotel-showcase {
    background: var(--surface-alt);
}

.showcase-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(360px, .78fr);
    gap: clamp(45px, 7vw, 100px);
    align-items: center;
}

.showcase-image-wrap {
    position: relative;
    min-height: 680px;
    overflow: hidden;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
}

.showcase-image-wrap img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .8s cubic-bezier(.2, .7, .2, 1);
}

.showcase-image-wrap:hover img {
    transform: scale(1.035);
}

.image-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(4, 18, 29, .55), transparent 50%);
}

.image-badge {
    position: absolute;
    top: 25px;
    left: 25px;
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 11px 15px;
    border-radius: 999px;
    color: #fff;
    font-size: .75rem;
}

.live-dot {
    width: 6px;
    height: 6px;
    background: #67d9a4;
    box-shadow: 0 0 0 5px rgba(103, 217, 164, .13);
    animation: pulseDot 1.8s ease-out infinite;
}

.property-rating {
    position: absolute;
    right: 25px;
    bottom: 25px;
    min-width: 170px;
    padding: 16px 18px;
    border-radius: 17px;
    color: #fff;
}

.property-rating span {
    display: block;
    color: var(--champagne);
    font-size: .68rem;
    letter-spacing: .12em;
}

.property-rating strong {
    display: inline-block;
    margin-top: 4px;
    margin-right: 8px;
    font-size: 1.6rem;
}

.property-rating small {
    color: rgba(255, 255, 255, .62);
    font-size: .63rem;
}

.showcase-copy > p {
    margin-top: 25px;
}

.feature-list {
    display: grid;
    gap: 22px;
    margin: 35px 0;
    padding: 0;
    list-style: none;
}

.feature-list li {
    display: flex;
    gap: 15px;
}

.feature-list li > span {
    display: grid;
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    color: #1f674f;
    background: rgba(44, 138, 110, .12);
    font-size: .75rem;
}

.feature-list strong,
.feature-list small {
    display: block;
}

.feature-list strong {
    margin-bottom: 5px;
    font-size: .95rem;
}

.feature-list small {
    color: var(--ink-soft);
    line-height: 1.5;
}

/* Ecosystem */
.ecosystem-section {
    overflow: hidden;
}

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

.ecosystem-card {
    position: relative;
    min-height: 590px;
    overflow: hidden;
    padding: clamp(34px, 5vw, 62px);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}

.vendor-ecosystem {
    background:
        radial-gradient(circle at 88% 5%, rgba(214, 179, 106, .24), transparent 38%),
        var(--card-solid);
}

.ecosystem-pattern {
    position: absolute;
    top: -95px;
    right: -95px;
    width: 300px;
    height: 300px;
    border: 1px solid var(--line);
    border-radius: 50%;
    box-shadow: 0 0 0 45px rgba(214, 179, 106, .03), 0 0 0 90px rgba(214, 179, 106, .025);
}

.card-kicker {
    color: var(--app-secondary);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.ecosystem-card h3 {
    position: relative;
    max-width: 590px;
    margin: 22px 0 18px;
    font-size: clamp(2rem, 3.8vw, 3.45rem);
    font-weight: 600;
    line-height: 1.08;
}

.ecosystem-card > p,
.corporate-ecosystem > div:first-child > p {
    max-width: 500px;
    color: var(--ink-soft);
    font-size: 1rem;
    line-height: 1.75;
}

.mini-pipeline {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 13px;
    margin: 40px 0;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: var(--card);
    box-shadow: var(--shadow-sm);
}

.mini-pipeline > div:not(.pipeline-line) {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 12px;
    align-items: center;
}

.pipeline-icon {
    display: grid;
    width: 32px;
    height: 32px;
    grid-row: 1/3;
    place-items: center;
    border-radius: 10px;
    color: #1d654c;
    background: rgba(44, 138, 110, .12);
}

.mini-pipeline strong {
    font-size: .81rem;
}

.mini-pipeline small {
    color: var(--ink-soft);
    font-size: .68rem;
}

.pipeline-line {
    width: 1px;
    height: 13px;
    margin-left: 15px;
    background: var(--line);
}

.ecosystem-card .btn {
    padding: .82rem 1.25rem;
}

.corporate-ecosystem {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #fff;
    background:
        radial-gradient(circle at 90% 0, rgba(214, 179, 106, .21), transparent 37%),
        linear-gradient(145deg, #14354e, #081b2b 72%);
}

.corporate-ecosystem .card-kicker {
    color: var(--champagne-light);
}

.corporate-ecosystem > div:first-child > p {
    color: rgba(255, 255, 255, .64);
}

.approval-card {
    margin-top: 38px;
    padding: 24px;
    border-radius: 22px;
}

.approval-head,
.approval-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.approval-head {
    color: rgba(255, 255, 255, .62);
    font-size: .72rem;
}

.status-pill {
    padding: 5px 9px;
    border-radius: 999px;
    color: #8df0c8;
    background: rgba(63, 197, 145, .12);
}

.approval-card > strong {
    display: block;
    margin-top: 20px;
    font-family: "Manrope", sans-serif;
    font-size: 2.4rem;
}

.approval-card > small {
    color: rgba(255, 255, 255, .5);
}

.approval-bars {
    display: flex;
    height: 100px;
    gap: 11px;
    align-items: flex-end;
    margin: 18px 0;
}

.approval-bars i {
    width: 100%;
    height: var(--bar);
    border-radius: 6px 6px 2px 2px;
    background: linear-gradient(to top, rgba(214, 179, 106, .2), var(--champagne));
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform .9s cubic-bezier(.2, .8, .2, 1);
}

.is-visible .approval-bars i,
.approval-card.is-visible .approval-bars i {
    transform: scaleY(1);
}

.approval-foot {
    color: rgba(255, 255, 255, .52);
    font-size: .65rem;
}

/* Events */
.event-section {
    position: relative;
    display: flex;
    min-height: 770px;
    align-items: center;
    overflow: hidden;
    color: #fff;
}

.event-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4, 16, 26, .95), rgba(4, 16, 26, .67) 55%, rgba(4, 16, 26, .2));
}

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

.event-copy {
    max-width: 730px;
    padding: 120px 0;
}

.event-copy > p {
    max-width: 600px;
    margin: 28px 0;
    color: rgba(255, 255, 255, .68);
    font-size: 1.07rem;
    line-height: 1.75;
}

.event-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 35px;
}

.event-tags span {
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 999px;
    color: rgba(255, 255, 255, .76);
    background: rgba(255, 255, 255, .05);
    font-size: .7rem;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.event-copy .btn {
    padding: .95rem 1.5rem;
}

.event-metric {
    display: flex;
    max-width: 300px;
    gap: 18px;
    align-items: center;
    margin-bottom: 120px;
    padding: 20px;
    border-radius: 22px;
}

.metric-ring {
    display: grid;
    flex: 0 0 auto;
    width: 78px;
    height: 78px;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(var(--champagne) 0 92%, rgba(255, 255, 255, .12) 92% 100%);
}

.metric-ring::before {
    position: absolute;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    content: "";
    background: #183146;
}

.metric-ring span {
    position: relative;
    z-index: 1;
    font-weight: 800;
}

.event-metric strong,
.event-metric small {
    display: block;
}

.event-metric strong {
    font-size: .83rem;
}

.event-metric small {
    margin-top: 6px;
    color: rgba(255, 255, 255, .52);
    font-size: .65rem;
    line-height: 1.45;
}

/* Why */
.why-section {
    background: var(--surface-alt);
}

.why-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.why-card {
    position: relative;
    min-height: 370px;
    padding: 30px;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--card);
    box-shadow: var(--shadow-sm);
    transition: transform .35s ease, box-shadow .35s ease;
}

.why-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-7px);
}

.why-card.featured {
    color: #fff;
    background: linear-gradient(145deg, #183a53, #0a2030);
}

.why-card.featured p,
.why-card.featured .why-number {
    color: rgba(255, 255, 255, .55);
}

.why-number {
    position: absolute;
    top: 24px;
    right: 25px;
    color: var(--ink-soft);
    font-size: .63rem;
    letter-spacing: .15em;
}

.why-icon {
    display: grid;
    width: 60px;
    height: 60px;
    margin: 55px 0 60px;
    place-items: center;
    border: 1px solid rgba(214, 179, 106, .38);
    border-radius: 18px;
    color: var(--app-secondary);
    background: rgba(214, 179, 106, .08);
}

.why-card h3 {
    margin-bottom: 12px;
    font-size: 1.25rem;
}

.why-card p {
    margin: 0;
    color: var(--ink-soft);
    font-size: .86rem;
    line-height: 1.65;
}

/* AI */
.ai-section {
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 88% 38%, rgba(52, 117, 146, .32), transparent 30%),
        radial-gradient(circle at 65% 90%, rgba(214, 179, 106, .12), transparent 27%),
        #071827;
}

.ai-section::before {
    position: absolute;
    inset: 0;
    content: "";
    background-image: linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(to right, transparent, #000);
}

.ai-shell {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr);
    gap: 70px;
    align-items: center;
}

.spark {
    color: var(--champagne);
    font-size: 1rem;
}

.ai-copy > p {
    max-width: 630px;
    margin-top: 26px;
    color: rgba(255, 255, 255, .62);
}

.ai-features {
    display: grid;
    gap: 2px;
    margin: 35px 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 20px;
    background: rgba(255, 255, 255, .08);
}

.ai-features > div {
    display: flex;
    gap: 16px;
    padding: 18px 20px;
    background: rgba(4, 16, 27, .55);
}

.ai-features > div > span {
    color: var(--champagne);
    font-size: .62rem;
    letter-spacing: .12em;
}

.ai-features strong,
.ai-features small {
    display: block;
}

.ai-features strong {
    font-size: .82rem;
}

.ai-features small {
    margin-top: 3px;
    color: rgba(255, 255, 255, .5);
    font-size: .7rem;
}

.ai-copy .btn {
    padding: .85rem 1.3rem;
}

.lottie-stage {
    position: relative;
    width: min(100%, 640px);
    aspect-ratio: 1;
    margin: auto;
}

.lottie-stage::before,
.lottie-stage::after {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    border: 1px dashed rgba(214, 179, 106, .18);
    border-radius: 50%;
    content: "";
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.lottie-stage::before {
    width: 76%;
    height: 76%;
    animation: orbitSpin 42s linear infinite;
}

.lottie-stage::after {
    width: 56%;
    height: 56%;
    border-color: rgba(84, 177, 194, .16);
    animation: orbitSpin 34s linear infinite reverse;
}

#aiLottie {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 0 50px rgba(76, 158, 188, .2));
}

.ai-core-label {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 122px;
    height: 122px;
    place-items: center;
    border: 1px solid rgba(214, 179, 106, .62);
    border-radius: 50%;
    color: #fff;
    background: radial-gradient(circle, #1d4a62, #0a2335 72%);
    box-shadow: 0 0 45px rgba(214, 179, 106, .16);
    transform: translate(-50%, -50%);
}

.ai-core-label span {
    align-self: end;
    color: rgba(255, 255, 255, .53);
    font-size: .62rem;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.ai-core-label strong {
    align-self: start;
    font-family: "Manrope", sans-serif;
    font-size: 1.7rem;
}

.orbit-label {
    position: absolute;
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 10px 13px;
    border-radius: 12px;
    color: rgba(255, 255, 255, .8);
    font-size: .67rem;
    white-space: nowrap;
    animation: labelFloat 5s ease-in-out infinite;
}

.orbit-label i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #77d9ba;
    box-shadow: 0 0 10px #77d9ba;
}

.orbit-label-one {
    top: 20%;
    left: 6%;
}

.orbit-label-two {
    top: 31%;
    right: 1%;
    animation-delay: -1.7s;
}

.orbit-label-three {
    right: 10%;
    bottom: 19%;
    animation-delay: -3.2s;
}

/* Revenue */
.revenue-section {
    background: var(--surface-alt);
}

.revenue-grid {
    display: grid;
    grid-template-columns: minmax(330px, .72fr) minmax(520px, 1.28fr);
    gap: clamp(50px, 7vw, 100px);
    align-items: center;
}

.revenue-copy > p {
    margin-top: 25px;
}

.revenue-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 36px 0;
}

.revenue-stats div {
    padding-top: 20px;
    border-top: 1px solid var(--line);
}

.revenue-stats strong,
.revenue-stats small {
    display: block;
}

.revenue-stats strong {
    color: var(--app-secondary);
    font-family: "Manrope", sans-serif;
    font-size: 2.2rem;
}

.revenue-stats small {
    margin-top: 4px;
    color: var(--ink-soft);
    font-size: .7rem;
}

.revenue-dashboard {
    position: relative;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: var(--card-solid);
    box-shadow: var(--shadow-md);
}

.dashboard-top {
    display: flex;
    align-items: start;
    justify-content: space-between;
}

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

.dashboard-top small {
    color: var(--ink-soft);
    font-size: .68rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dashboard-top strong {
    margin-top: 9px;
    font-family: "Manrope", sans-serif;
    font-size: clamp(2rem, 4vw, 3.4rem);
    letter-spacing: -.05em;
}

.dashboard-top span {
    margin-top: 5px;
    color: #2c8a6e;
    font-size: .68rem;
}

.dashboard-top button {
    padding: 8px 11px;
    border: 1px solid var(--line);
    border-radius: 9px;
    color: var(--ink-soft);
    background: var(--surface);
    font-size: .66rem;
}

.chart-area {
    position: relative;
    height: 260px;
    margin-top: 34px;
}

.chart-area svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.chart-fill {
    fill: url("#chartFill");
}

.chart-line {
    fill: none;
    stroke: var(--champagne);
    stroke-linecap: round;
    stroke-width: 3;
    stroke-dasharray: 900;
    stroke-dashoffset: 900;
    transition: stroke-dashoffset 1.8s cubic-bezier(.2, .8, .2, 1);
}

.revenue-dashboard.is-visible .chart-line {
    stroke-dashoffset: 0;
}

.chart-grid-lines {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.chart-grid-lines i {
    height: 1px;
    background: var(--line);
}

.chart-tooltip {
    position: absolute;
    top: 12px;
    right: 3%;
    padding: 8px 11px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--card-solid);
    box-shadow: var(--shadow-sm);
}

.chart-tooltip small,
.chart-tooltip strong {
    display: block;
}

.chart-tooltip small {
    color: var(--ink-soft);
    font-size: .58rem;
}

.chart-tooltip strong {
    font-size: .75rem;
}

.dashboard-kpis {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
}

.dashboard-kpis div {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 7px;
    align-items: center;
}

.kpi-dot {
    width: 7px;
    height: 7px;
    grid-row: 1/3;
    border-radius: 50%;
}

.kpi-dot.gold {
    background: var(--champagne);
}

.kpi-dot.blue {
    background: #558ab3;
}

.kpi-dot.teal {
    background: #4caf99;
}

.dashboard-kpis span {
    color: var(--ink-soft);
    font-size: .62rem;
}

.dashboard-kpis strong {
    font-size: .76rem;
}

/* Testimonials */
.testimonial-section {
    overflow: hidden;
}

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

.testimonial-card {
    position: relative;
    display: flex;
    min-height: 390px;
    flex-direction: column;
    justify-content: space-between;
    padding: 32px;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--card);
    box-shadow: var(--shadow-sm);
    transition: transform .35s ease;
}

.testimonial-card:hover {
    transform: translateY(-6px);
}

.testimonial-featured {
    color: #fff;
    background:
        radial-gradient(circle at 100% 0, rgba(214, 179, 106, .17), transparent 40%),
        linear-gradient(145deg, #173a54, #091e2e);
    transform: translateY(-18px);
}

.testimonial-featured:hover {
    transform: translateY(-25px);
}

.quote-mark {
    color: var(--app-secondary);
    font-family: Georgia, serif;
    font-size: 4.5rem;
    line-height: .8;
}

.testimonial-card > p {
    margin: 30px 0;
    font-family: "Manrope", sans-serif;
    font-size: 1.1rem;
    line-height: 1.65;
}

.testimonial-person {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: center;
}

.testimonial-person > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #b89b65, #334d60);
    font-size: .68rem;
    font-weight: 700;
}

.testimonial-person strong,
.testimonial-person small {
    display: block;
}

.testimonial-person strong {
    font-size: .76rem;
}

.testimonial-person small {
    margin-top: 3px;
    color: var(--ink-soft);
    font-size: .62rem;
}

.testimonial-person b {
    color: var(--ink-soft);
    font-size: .56rem;
    letter-spacing: .12em;
}

.testimonial-featured .testimonial-person small,
.testimonial-featured .testimonial-person b {
    color: rgba(255, 255, 255, .5);
}

/* Partners */
.partner-section {
    overflow: hidden;
    padding: 65px 0 85px;
    border-top: 1px solid var(--line);
    text-align: center;
}

.partner-section p {
    margin-bottom: 38px;
    color: var(--ink-soft);
    font-size: .68rem;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.partner-marquee {
    overflow: hidden;
    mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
}

.partner-track {
    display: flex;
    width: max-content;
    align-items: center;
    animation: marquee 25s linear infinite;
}

.partner-track span {
    display: inline-flex;
    min-width: 220px;
    align-items: center;
    justify-content: center;
    color: var(--ink);
    font-family: "Manrope", sans-serif;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .1em;
    opacity: .45;
}

.partner-track i {
    margin-right: 8px;
    color: var(--app-secondary);
    font-style: normal;
}

/* Footer */
.site-footer {
    position: relative;
    overflow: hidden;
    padding: 80px 0 30px;
    color: #fff;
    background: #061522;
}

.footer-glow {
    position: absolute;
    top: -250px;
    left: 35%;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(214, 179, 106, .12), transparent 64%);
}

.footer-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-bottom: 60px;
    border-bottom: 1px solid rgba(255, 255, 255, .11);
}

.footer-callout h2 {
    max-width: 730px;
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.7rem);
    font-weight: 500;
    line-height: 1.12;
}

.footer-callout .btn {
    flex: 0 0 auto;
    padding: .95rem 1.5rem;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr repeat(3, 1fr);
    gap: 55px;
    padding: 65px 0;
}

.brand-lockup-footer {
    color: #fff;
}

.footer-brand > p {
    max-width: 330px;
    margin: 25px 0 0;
    color: rgba(255, 255, 255, .48);
    font-size: .82rem;
    line-height: 1.75;
}

.footer-grid h3 {
    margin-bottom: 23px;
    color: var(--champagne-light);
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.footer-grid > div:not(.footer-brand) a {
    display: block;
    width: fit-content;
    margin: 12px 0;
    color: rgba(255, 255, 255, .56);
    font-size: .79rem;
    text-decoration: none;
    transition: .2s ease;
}

.footer-grid a:hover {
    color: var(--champagne) !important;
    transform: translateX(3px);
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .34);
    font-size: .64rem;
}

/* CMS, auth and dashboard */
.app-navbar {
    background: linear-gradient(120deg, var(--app-primary), #102a43);
}

.feature-card {
    padding: 2rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: var(--card-solid);
    box-shadow: var(--shadow-sm);
}

.auth-body {
    min-height: 100vh;
    background:
        radial-gradient(circle at 10% 10%, rgba(245, 158, 11, .14), transparent 30rem),
        #f5f7fb;
}

.btn-primary {
    --bs-btn-bg: var(--app-primary);
    --bs-btn-border-color: var(--app-primary);
    --bs-btn-hover-bg: #153d64;
    --bs-btn-hover-border-color: #153d64;
}

.dashboard-body {
    min-height: 100vh;
    background: #f5f7fb;
}

.dashboard-sidebar {
    min-height: calc(100vh - 56px);
    border-right: 1px solid #e6eaf0;
    background: #fff;
}

.dashboard-sidebar .nav-link {
    padding: .7rem 1.25rem;
    border-left: 3px solid transparent;
    color: #344054;
}

.dashboard-sidebar .nav-link:hover {
    border-left-color: var(--app-primary);
    color: var(--app-primary);
    background: #f2f6fa;
}

.stat-card {
    border-top: 4px solid var(--app-primary) !important;
}

.media-thumb {
    height: 190px;
    object-fit: cover;
    background: #e8edf3;
}

.cms-content {
    color: var(--ink);
    line-height: 1.8;
}

.cms-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-sm);
}

.site-page main {
    min-height: 60vh;
}

.table > :not(caption) > * > * {
    padding: .9rem 1rem;
}

/* Scroll reveal */
[data-reveal] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .75s ease, transform .75s cubic-bezier(.2, .7, .2, 1);
    transition-delay: var(--reveal-delay, 0ms);
}

[data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes floatOrb {
    0%, 100% { transform: translate3d(0, 0, 0); }
    50% { transform: translate3d(0, -24px, 0); }
}

@keyframes labelFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-9px); }
}

@keyframes scrollCue {
    0%, 100% { opacity: .35; transform: scaleY(.65); transform-origin: top; }
    50% { opacity: 1; transform: scaleY(1); }
}

@keyframes pulseDot {
    0% { box-shadow: 0 0 0 0 rgba(103, 217, 164, .36); }
    70% { box-shadow: 0 0 0 9px rgba(103, 217, 164, 0); }
    100% { box-shadow: 0 0 0 0 rgba(103, 217, 164, 0); }
}

@keyframes marquee {
    to { transform: translateX(-50%); }
}

@keyframes orbitSpin {
    from { transform: translate(-50%, -50%) rotate(0); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@media (max-width: 1199.98px) {
    .brand-copy small {
        display: none;
    }

    .site-header .nav-link {
        padding-right: .5rem !important;
        padding-left: .5rem !important;
        font-size: .77rem;
    }

    .home-hero {
        min-height: 960px;
    }

    .hero-trust {
        margin-right: auto;
        margin-left: 0;
    }

    .showcase-shell,
    .revenue-grid {
        gap: 55px;
    }

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

    .ai-shell {
        grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
        gap: 35px;
    }
}

@media (max-width: 991.98px) {
    .section {
        padding: 90px 0;
    }

    .site-header,
    .home-page .site-header {
        min-height: 74px;
        color: var(--ink);
        background: rgba(246, 244, 239, .94);
        -webkit-backdrop-filter: blur(20px);
        backdrop-filter: blur(20px);
    }

    html[data-theme="dark"] .site-header,
    html[data-theme="dark"] .home-page .site-header {
        background: rgba(8, 21, 34, .94);
    }

    .navbar-collapse {
        margin-top: 12px;
        padding: 16px;
        border: 1px solid var(--line);
        border-radius: 18px;
        background: var(--card-solid);
        box-shadow: var(--shadow-md);
    }

    .navbar-toggler {
        border-color: var(--line);
        box-shadow: none !important;
    }

    .navbar-toggler-icon {
        filter: invert(.2);
    }

    html[data-theme="dark"] .navbar-toggler-icon {
        filter: invert(1);
    }

    .theme-toggle {
        margin: 8px 0;
        border-color: var(--line);
    }

    .nav-cta {
        display: inline-block;
        margin-top: 5px;
        color: #fff;
        background: var(--navy);
    }

    .home-hero {
        min-height: 950px;
    }

    .hero-content {
        padding-top: 145px;
    }

    .hero-copy h1 {
        font-size: clamp(3.5rem, 10vw, 5.9rem);
    }

    .hero-trust {
        display: none;
    }

    .search-fields {
        grid-template-columns: repeat(2, 1fr);
    }

    .search-field:nth-child(2) {
        border-right: 0;
    }

    .search-field:nth-child(3) {
        margin-top: 14px;
    }

    .search-submit {
        margin-top: 14px;
    }

    .split-heading {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .split-heading p {
        max-width: 650px;
    }

    .showcase-shell,
    .revenue-grid {
        grid-template-columns: 1fr;
    }

    .showcase-image-wrap {
        min-height: 590px;
    }

    .ecosystem-grid {
        grid-template-columns: 1fr;
    }

    .event-section .container {
        display: block;
    }

    .event-copy {
        padding: 100px 0 40px;
    }

    .event-metric {
        margin-bottom: 100px;
    }

    .ai-shell {
        grid-template-columns: 1fr;
    }

    .ai-copy {
        max-width: 720px;
    }

    .ai-visual {
        max-width: 620px;
        margin: auto;
    }

    .testimonial-grid {
        grid-template-columns: 1fr;
    }

    .testimonial-card {
        min-height: 320px;
    }

    .testimonial-featured,
    .testimonial-featured:hover {
        transform: none;
    }

    .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr;
    }

    .footer-brand {
        grid-column: 1/-1;
    }
}

@media (max-width: 767.98px) {
    .section {
        padding: 74px 0;
    }

    .section-heading {
        margin-bottom: 38px;
    }

    .section-heading h2,
    .showcase-copy h2,
    .event-copy h2,
    .ai-copy h2,
    .revenue-copy h2 {
        font-size: clamp(2.3rem, 10.5vw, 3.6rem);
    }

    .brand-lockup {
        max-width: 235px;
    }

    .brand-copy strong {
        max-width: 170px;
        font-size: .76rem;
    }

    .brand-mark {
        width: 38px;
        height: 38px;
    }

    .home-hero {
        min-height: 940px;
    }

    .hero-media {
        background-position: 66% center;
    }

    .hero-overlay {
        background: linear-gradient(90deg, rgba(4, 16, 27, .94), rgba(4, 16, 27, .68));
    }

    .hero-content {
        padding-top: 130px;
        padding-bottom: 90px;
    }

    .hero-copy h1 {
        font-size: clamp(3.15rem, 15vw, 4.9rem);
    }

    .hero-copy > p {
        margin-top: 23px;
        font-size: .96rem;
    }

    .hero-actions .btn {
        width: 100%;
    }

    .hero-search {
        margin-top: 38px;
        border-radius: 20px;
    }

    .search-tabs {
        overflow-x: auto;
    }

    .search-tab {
        flex: 0 0 auto;
        padding: 11px 12px;
        font-size: .67rem;
    }

    .search-fields {
        grid-template-columns: 1fr;
    }

    .search-field {
        padding: 13px 10px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }

    .search-field:nth-child(3) {
        margin-top: 0;
    }

    .search-submit {
        width: 100%;
        margin: 14px 0 0;
    }

    .scroll-cue {
        display: none;
    }

    .trust-strip .container {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }

    .trust-divider {
        display: none;
    }

    .marketplace-grid {
        grid-template-columns: 1fr;
    }

    .market-card {
        min-height: 280px;
        padding: 28px;
    }

    .showcase-image-wrap {
        min-height: 470px;
        border-radius: 26px;
    }

    .property-rating {
        right: 15px;
        bottom: 15px;
    }

    .image-badge {
        top: 15px;
        left: 15px;
    }

    .ecosystem-card {
        min-height: 540px;
        padding: 32px 25px;
        border-radius: 26px;
    }

    .event-copy {
        padding-top: 82px;
    }

    .event-metric {
        max-width: 100%;
        margin-bottom: 82px;
    }

    .why-grid {
        grid-template-columns: 1fr;
    }

    .why-card {
        min-height: 300px;
    }

    .why-icon {
        margin: 45px 0 40px;
    }

    .ai-copy h2 br {
        display: none;
    }

    .lottie-stage {
        width: 115%;
        margin-left: -7.5%;
    }

    .orbit-label-one {
        left: 0;
    }

    .orbit-label-two {
        right: 0;
    }

    .revenue-stats {
        grid-template-columns: 1fr;
    }

    .revenue-dashboard {
        padding: 23px 18px;
        border-radius: 25px;
    }

    .chart-area {
        height: 210px;
    }

    .dashboard-kpis {
        gap: 6px;
    }

    .testimonial-card {
        min-height: 350px;
        padding: 27px;
    }

    .footer-callout {
        display: block;
    }

    .footer-callout .btn {
        margin-top: 28px;
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 38px 25px;
    }

    .footer-brand {
        grid-column: 1/-1;
    }

    .footer-bottom {
        display: grid;
        gap: 8px;
    }

    .dashboard-sidebar {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid #e6eaf0;
    }

    .dashboard-sidebar > .nav {
        flex-direction: row !important;
        flex-wrap: nowrap;
        gap: .2rem;
        padding: .45rem .5rem !important;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .dashboard-sidebar > .nav::-webkit-scrollbar {
        display: none;
    }

    .dashboard-sidebar .sidebar-label {
        display: none;
    }

    .dashboard-sidebar .nav-link {
        flex: 0 0 auto;
        padding: .65rem .85rem;
        border-bottom: 2px solid transparent;
        border-left: 0;
        font-size: .8rem;
        white-space: nowrap;
    }

    .dashboard-sidebar .nav-link:hover {
        border-bottom-color: var(--app-primary);
        border-left-color: transparent;
    }

    .dashboard-body main {
        padding-top: 1rem !important;
    }
}

@media (max-width: 419.98px) {
    .hero-copy h1 {
        font-size: 2.85rem;
    }

    .market-card {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .card-arrow {
        right: 20px;
        bottom: 20px;
    }

    .property-rating {
        min-width: 145px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-brand {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    [data-reveal] {
        opacity: 1;
        transform: none;
    }
}

/* Hotel operations module */
.dashboard-theme-toggle {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .08);
}

.sidebar-label {
    display: block;
    padding: 1.2rem 1.25rem .35rem;
    color: #98a2b3;
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.hotel-eyebrow {
    display: block;
    margin-bottom: .35rem;
    color: #9a7434;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.hotel-context {
    padding: 1.4rem 1.5rem 0;
    overflow: hidden;
    border: 1px solid rgba(17, 40, 64, .08);
    border-radius: 24px;
    background: radial-gradient(circle at 95% 0, rgba(214, 179, 106, .2), transparent 19rem), rgba(255, 255, 255, .9);
    box-shadow: 0 18px 48px rgba(15, 35, 53, .07);
}

.hotel-module-nav {
    display: flex;
    gap: .35rem;
    margin: 0 -1.5rem;
    padding: .7rem 1.5rem 0;
    overflow-x: auto;
    border-top: 1px solid rgba(17, 40, 64, .07);
    scrollbar-width: thin;
}

.hotel-module-nav a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .45rem;
    padding: .8rem .85rem .9rem;
    border-bottom: 2px solid transparent;
    color: #667085;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
}

.hotel-module-nav a span {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 8px;
    color: #173f62;
    background: #edf3f8;
    font-size: .62rem;
}

.hotel-module-nav a:hover,
.hotel-module-nav a.active {
    border-bottom-color: #c49a51;
    color: #14212d;
}

.hotel-module-nav a.active span {
    color: #fff;
    background: linear-gradient(145deg, #173f62, #27628d);
}

.module-card,
.hotel-portfolio-card,
.offer-card {
    border: 1px solid rgba(17, 40, 64, .07) !important;
    border-radius: 22px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 16px 45px rgba(15, 35, 53, .07);
}

.module-sticky { top: auto; }

@media (min-width: 1200px) {
    .module-sticky { top: 84px; }
}

.module-section-heading {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin-bottom: 1.5rem;
}

.module-section-heading > span {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(145deg, #173f62, #2f6f9f);
    font-weight: 800;
}

.module-pill {
    display: inline-flex;
    align-items: center;
    padding: .5rem .75rem;
    border: 1px solid rgba(154, 116, 52, .16);
    border-radius: 999px;
    color: #826127;
    background: #fbf5e9;
    font-size: .75rem;
    font-weight: 800;
}

.hotel-stat-card {
    position: relative;
    min-height: 168px;
    padding: 1.45rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .54);
    border-radius: 22px;
    color: #fff;
    background: linear-gradient(145deg, #173f62, #0c263b);
    box-shadow: 0 18px 45px rgba(16, 42, 64, .14);
}

.hotel-stat-card::after {
    position: absolute;
    right: -35px;
    bottom: -55px;
    width: 145px;
    height: 145px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    content: "";
}

.hotel-stat-card.tone-room { background: linear-gradient(145deg, #826127, #c49a51); }
.hotel-stat-card.tone-calendar { background: linear-gradient(145deg, #245d55, #2d8b76); }
.hotel-stat-card.tone-offer { background: linear-gradient(145deg, #5e407d, #8d63b0); }
.hotel-stat-card span,
.hotel-stat-card small { display: block; color: rgba(255, 255, 255, .72); }
.hotel-stat-card strong { display: block; margin: .45rem 0 .2rem; font-family: "Manrope", sans-serif; font-size: 2.5rem; line-height: 1; }

.hotel-progress {
    height: 11px;
    border-radius: 20px;
    background: #edf1f4;
}

.hotel-progress .progress-bar {
    border-radius: inherit;
    background: linear-gradient(90deg, #173f62, #d1a65a);
}

.hotel-portfolio-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.hotel-portfolio-card > img,
.hotel-card-image img {
    width: 100%;
    height: 210px;
    object-fit: cover;
}

.hotel-card-image { position: relative; }
.hotel-card-image .status-dot {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(10px);
}

.hotel-mini-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.hotel-mini-metrics span {
    padding: .48rem .65rem;
    border-radius: 10px;
    color: #667085;
    background: #f3f6f8;
    font-size: .72rem;
}

.hotel-mini-metrics strong { color: #172b3c; }

.status-dot {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    width: max-content;
    padding: .32rem .55rem;
    border-radius: 999px;
    color: #57606a;
    background: #eef1f4;
    font-size: .68rem;
    font-weight: 800;
}

.status-dot::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    content: "";
}

.status-active { color: #187452; background: #e8f6f0; }
.status-pending,
.status-draft { color: #946a20; background: #fbf2df; }
.status-inactive,
.status-suspended { color: #a64242; background: #fbeaea; }

.module-empty {
    padding: 3.5rem 2rem;
    border: 1px dashed rgba(17, 40, 64, .16);
    border-radius: 22px;
    text-align: center;
    background: rgba(255, 255, 255, .58);
}

.module-empty-icon {
    display: grid;
    width: 58px;
    height: 58px;
    margin: 0 auto 1rem;
    place-items: center;
    border-radius: 18px;
    color: #fff;
    background: linear-gradient(145deg, #173f62, #c49a51);
    font-family: "Manrope", sans-serif;
    font-size: 1.5rem;
}

.module-table thead th {
    padding-top: 1.15rem;
    padding-bottom: 1.15rem;
    border-bottom-color: #e9edf1;
    color: #7b8794;
    background: #f8fafb;
    font-size: .68rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.module-table tbody td { border-bottom-color: #edf0f3; }

.inventory-number {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 11px;
    color: #17694e;
    background: #e9f7f2;
    font-weight: 800;
}

.capacity-grid,
.rate-pair {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .45rem;
}

.capacity-grid span,
.rate-pair span {
    padding: .65rem;
    border-radius: 12px;
    color: #73808c;
    background: #f4f6f8;
    font-size: .66rem;
    text-align: center;
}

.capacity-grid strong,
.rate-pair strong,
.rate-pair small { display: block; }
.capacity-grid strong,
.rate-pair strong { color: #172b3c; font-size: .95rem; }
.rate-pair { grid-template-columns: repeat(2, 1fr); }

.conference-icon,
.video-icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(145deg, #173f62, #c49a51);
    font-size: .72rem;
    font-weight: 800;
}

.hotel-map {
    height: 380px;
    border-radius: 18px;
    background: #dce4e9;
}

.hotel-media-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.hotel-media-card {
    position: relative;
    min-height: 230px;
    overflow: hidden;
    border-radius: 20px;
    background: #dce4e9;
}

.hotel-media-card img {
    width: 100%;
    height: 100%;
    min-height: 230px;
    object-fit: cover;
}

.hotel-media-overlay {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    padding: 2.5rem 1rem 1rem;
    color: #fff;
    background: linear-gradient(transparent, rgba(5, 18, 28, .82));
}

.hotel-media-overlay strong,
.hotel-media-overlay span { display: block; }
.hotel-media-overlay span { color: #f0d59e; font-size: .68rem; text-transform: uppercase; }

.panorama-viewer {
    position: relative;
    height: 250px;
    cursor: ew-resize;
    background-position: 50% 50%;
    background-size: auto 100%;
    user-select: none;
    touch-action: pan-y;
}

.panorama-viewer::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent 55%, rgba(4, 16, 26, .58));
    content: "";
}

.panorama-viewer span {
    position: absolute;
    z-index: 1;
    bottom: 1rem;
    left: 1rem;
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
}

.amenity-list { display: grid; gap: .55rem; }

.amenity-check {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .7rem;
    border: 1px solid #e8edf1;
    border-radius: 13px;
    cursor: pointer;
    transition: .2s ease;
}

.amenity-check:hover,
.amenity-check:has(input:checked) {
    border-color: rgba(23, 63, 98, .28);
    background: #f2f7fa;
}

.amenity-check input {
    position: absolute;
    opacity: 0;
}

.amenity-check-icon {
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border-radius: 10px;
    color: #173f62;
    background: #e7eff5;
    font-size: .7rem;
    font-weight: 800;
}

.amenity-check:has(input:checked) .amenity-check-icon {
    color: #fff;
    background: #173f62;
}

.offer-card {
    position: relative;
    padding: 1.5rem;
    overflow: hidden;
}

.offer-ribbon {
    position: absolute;
    top: 1.2rem;
    right: -2.55rem;
    width: 140px;
    padding: .3rem;
    transform: rotate(38deg);
    color: #2a200f;
    background: #e6c276;
    font-size: .62rem;
    font-weight: 900;
    text-align: center;
}

.offer-dates {
    display: inline-flex;
    padding: .45rem .65rem;
    border-radius: 10px;
    color: #6c542b;
    background: #faf2e4;
    font-size: .75rem;
    font-weight: 700;
}

.analytics-kpi {
    height: 100%;
    min-height: 118px;
    padding: 1.2rem;
    border: 1px solid rgba(17, 40, 64, .07);
    border-radius: 19px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 34px rgba(15, 35, 53, .06);
}

.analytics-kpi span,
.analytics-kpi strong { display: block; }
.analytics-kpi span { color: #718096; font-size: .71rem; font-weight: 700; }
.analytics-kpi strong { margin-top: .8rem; color: #172b3c; font-family: "Manrope", sans-serif; font-size: 1.55rem; }
.analytics-chart { height: 330px; }
.analytics-insight { padding: 1rem; border-radius: 15px; background: linear-gradient(145deg, #173f62, #275d85); color: #fff; }
.analytics-insight span,
.analytics-insight small,
.analytics-insight strong { display: block; }
.analytics-insight span,
.analytics-insight small { color: rgba(255, 255, 255, .68); font-size: .7rem; }
.analytics-insight strong { margin: .25rem 0; font-size: 1.8rem; }

html[data-theme="dark"] .dashboard-body { background: #07131e; }
html[data-theme="dark"] .dashboard-sidebar,
html[data-theme="dark"] .hotel-context,
html[data-theme="dark"] .module-card,
html[data-theme="dark"] .hotel-portfolio-card,
html[data-theme="dark"] .offer-card,
html[data-theme="dark"] .analytics-kpi,
html[data-theme="dark"] .module-empty {
    color: #eaf0f4;
    border-color: rgba(255, 255, 255, .08) !important;
    background: #102331;
}

html[data-theme="dark"] .dashboard-sidebar { border-color: rgba(255, 255, 255, .07); }
html[data-theme="dark"] .dashboard-sidebar .nav-link { color: #aebbc4; }
html[data-theme="dark"] .dashboard-sidebar .nav-link:hover { color: #fff; background: #142b3b; }
html[data-theme="dark"] .hotel-module-nav { border-color: rgba(255, 255, 255, .07); }
html[data-theme="dark"] .hotel-module-nav a { color: #aebbc4; }
html[data-theme="dark"] .hotel-module-nav a:hover,
html[data-theme="dark"] .hotel-module-nav a.active,
html[data-theme="dark"] .analytics-kpi strong,
html[data-theme="dark"] .hotel-mini-metrics strong,
html[data-theme="dark"] .capacity-grid strong,
html[data-theme="dark"] .rate-pair strong { color: #fff; }

html[data-theme="dark"] .hotel-mini-metrics span,
html[data-theme="dark"] .capacity-grid span,
html[data-theme="dark"] .rate-pair span,
html[data-theme="dark"] .amenity-check {
    border-color: rgba(255, 255, 255, .07);
    color: #bdc8cf;
    background: #0b1a25;
}

html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select,
html[data-theme="dark"] .input-group-text {
    border-color: #314654;
    color: #eaf0f4;
    background-color: #0b1a25;
}

html[data-theme="dark"] .module-table {
    --bs-table-bg: #102331;
    --bs-table-color: #d8e1e7;
    --bs-table-border-color: rgba(255, 255, 255, .07);
}

html[data-theme="dark"] .module-table thead th { color: #94a6b2; background: #0b1a25; }

@media (max-width: 767.98px) {
    .hotel-context { padding: 1.1rem 1rem 0; border-radius: 18px; }
    .hotel-module-nav { margin: 0 -1rem; padding-right: 1rem; padding-left: 1rem; }
    .hotel-media-grid { grid-template-columns: 1fr; }
    .analytics-chart { height: 280px; }
}

/* Corporate procurement module */
.corporate-eyebrow {
    display: block;
    margin-bottom: .35rem;
    color: #317a70;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.corporate-context {
    padding: 1.4rem 1.5rem 0;
    overflow: hidden;
    border: 1px solid rgba(26, 63, 87, .08);
    border-radius: 24px;
    background: radial-gradient(circle at 94% 0, rgba(32, 164, 134, .16), transparent 20rem), rgba(255, 255, 255, .92);
    box-shadow: 0 18px 48px rgba(15, 35, 53, .07);
}

.corporate-module-nav {
    display: flex;
    gap: .3rem;
    margin: 0 -1.5rem;
    padding: .7rem 1.5rem 0;
    overflow-x: auto;
    border-top: 1px solid rgba(17, 40, 64, .07);
    scrollbar-width: thin;
}

.corporate-module-nav a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .45rem;
    padding: .8rem .8rem .9rem;
    border-bottom: 2px solid transparent;
    color: #667085;
    font-size: .76rem;
    font-weight: 700;
    text-decoration: none;
}

.corporate-module-nav a > span {
    display: grid;
    min-width: 25px;
    height: 25px;
    padding: 0 .25rem;
    place-items: center;
    border-radius: 8px;
    color: #24556d;
    background: #e9f2f5;
    font-size: .57rem;
}

.corporate-module-nav a:hover,
.corporate-module-nav a.active {
    border-bottom-color: #20a486;
    color: #14212d;
}

.corporate-module-nav a.active > span {
    color: #fff;
    background: linear-gradient(145deg, #315f91, #20a486);
}

.corporate-onboarding {
    display: grid;
    min-height: 630px;
    grid-template-columns: 1.2fr .8fr;
    align-items: center;
    gap: 4rem;
    padding: clamp(2rem, 7vw, 6rem);
    overflow: hidden;
    border-radius: 32px;
    color: #fff;
    background: radial-gradient(circle at 80% 20%, rgba(32, 164, 134, .3), transparent 25rem), linear-gradient(145deg, #102f48, #0a1f31);
    box-shadow: 0 35px 80px rgba(9, 30, 46, .2);
}

.corporate-onboarding h1 {
    max-width: 780px;
    font-size: clamp(2.8rem, 6vw, 5.6rem);
    line-height: 1.02;
}

.corporate-onboarding p { max-width: 680px; color: rgba(255,255,255,.68); font-size: 1.08rem; line-height: 1.8; }

.corporate-onboarding-orbit {
    position: relative;
    display: grid;
    width: min(380px, 90vw);
    aspect-ratio: 1;
    place-items: center;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
}

.corporate-onboarding-orbit::before,
.corporate-onboarding-orbit::after {
    position: absolute;
    inset: 16%;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    content: "";
}

.corporate-onboarding-orbit::after { inset: 33%; }
.corporate-onboarding-orbit strong {
    position: relative;
    z-index: 1;
    display: grid;
    width: 110px;
    height: 110px;
    place-items: center;
    border-radius: 34px;
    background: linear-gradient(145deg, #20a486, #315f91);
    font-size: 2rem;
}

.corporate-onboarding-orbit > span {
    position: absolute;
    padding: .6rem .85rem;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(12px);
    font-size: .72rem;
}

.corporate-onboarding-orbit > span:nth-child(1) { top: 8%; left: 8%; }
.corporate-onboarding-orbit > span:nth-child(2) { top: 22%; right: -4%; }
.corporate-onboarding-orbit > span:nth-child(3) { bottom: 10%; left: 20%; }

.corporate-stat {
    height: 100%;
    min-height: 140px;
    padding: 1.25rem;
    border: 1px solid rgba(31,70,96,.07);
    border-radius: 20px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 14px 35px rgba(15,35,53,.06);
}

.corporate-stat span,
.corporate-stat small,
.corporate-stat strong { display: block; }
.corporate-stat span { color: #718096; font-size: .69rem; font-weight: 700; }
.corporate-stat strong { margin: .7rem 0 .25rem; color: #173f62; font-family: "Manrope", sans-serif; font-size: 1.5rem; }
.corporate-stat small { color: #8b98a5; font-size: .68rem; }
.corporate-stat.tone-approval { border-top: 3px solid #d5a441; }
.corporate-stat.tone-booking { border-top: 3px solid #315f91; }
.corporate-stat.tone-rfq { border-top: 3px solid #7d5aa6; }
.corporate-stat.tone-wallet { border-top: 3px solid #20a486; }
.corporate-stat.tone-reward { border-top: 3px solid #d28a38; }

.approval-queue { display: grid; gap: .45rem; }
.approval-queue-row {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .8rem;
    border-radius: 14px;
    color: inherit;
    text-decoration: none;
    transition: .2s ease;
}

.approval-queue-row:hover { background: #f2f6f8; }
.approval-queue-row strong,
.approval-queue-row small { display: block; }
.approval-queue-row small { color: #7b8794; font-size: .68rem; }
.corporate-type-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 13px;
    color: #1c5c55;
    background: #e7f5f2;
    font-size: .65rem;
    font-weight: 800;
}

.corporate-wallet-card,
.corporate-wallet-hero {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(145deg, #173f62, #1d766d);
    box-shadow: 0 22px 55px rgba(14, 54, 69, .18);
}

.wallet-card-art,
.wallet-orbit {
    position: absolute;
    right: -45px;
    bottom: -60px;
    width: 220px;
    height: 220px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
}

.wallet-card-art span,
.wallet-orbit i {
    position: absolute;
    inset: 25%;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
}

.rfq-mini-row { display: grid; gap: .15rem; padding: .85rem 0; border-bottom: 1px solid #edf0f3; }
.rfq-mini-row:last-child { border: 0; }
.rfq-mini-row span { color: #317a70; font-size: .64rem; font-weight: 800; }
.rfq-mini-row small { color: #7b8794; }

.company-card,
.cost-center-card,
.workflow-card,
.rfq-card,
.gst-card,
.rm-card {
    padding: 1.5rem;
    border: 1px solid rgba(31,70,96,.07);
    border-radius: 22px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 16px 42px rgba(15,35,53,.07);
}

.company-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.3rem; }
.company-monogram,
.employee-avatar,
.rm-avatar {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border-radius: 17px;
    color: #fff;
    background: linear-gradient(145deg, #315f91, #20a486);
    font-weight: 800;
}

.employee-avatar { width: 40px; height: 40px; border-radius: 13px; font-size: .7rem; }
.company-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; }
.company-metrics span { padding: .75rem .4rem; border-radius: 12px; color: #7b8794; background: #f4f7f8; font-size: .64rem; text-align: center; }
.company-metrics strong { display: block; color: #173f62; font-size: 1.05rem; }

.cost-center-code,
.rfq-number,
.gst-badge {
    display: inline-flex;
    padding: .4rem .6rem;
    border-radius: 10px;
    color: #1d645b;
    background: #e9f6f3;
    font-size: .68rem;
    font-weight: 800;
}

.corporate-budget-progress { height: 8px; border-radius: 20px; background: #edf1f3; }
.corporate-budget-progress .progress-bar { border-radius: inherit; background: linear-gradient(90deg,#315f91,#20a486); }

.approval-step-builder { display: grid; gap: .65rem; }
.approval-step-input { display: grid; grid-template-columns: 34px 1fr; gap: .65rem; padding: .75rem; border: 1px solid #e6ecef; border-radius: 14px; }
.approval-step-input > span {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 10px;
    color: #fff;
    background: #315f91;
    font-size: .7rem;
    font-weight: 800;
}

.workflow-track { display: grid; gap: .5rem; }
.workflow-track > div { position: relative; display: grid; grid-template-columns: 30px 1fr; column-gap: .65rem; padding: .55rem 0; }
.workflow-track > div > span { grid-row: 1/3; display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; color: #fff; background: #20a486; font-size: .65rem; font-weight: 800; }
.workflow-track strong,
.workflow-track small { display: block; }
.workflow-track small { color: #7b8794; font-size: .66rem; }
.approval-action-form { display: grid; grid-template-columns: minmax(130px,1fr) auto auto; gap: .35rem; min-width: 350px; }

.status-pending_approval,
.status-pending { color: #92691f; background: #fbf2df; }
.status-approved,
.status-confirmed,
.status-completed,
.status-booked,
.status-published,
.status-awarded,
.status-responses_received { color: #187452; background: #e8f6f0; }
.status-rejected,
.status-cancelled,
.status-closed,
.status-frozen { color: #a64242; background: #fbeaea; }

.travel-timeline { display: grid; gap: .85rem; }
.travel-request-card {
    display: grid;
    grid-template-columns: 180px 1fr auto;
    align-items: center;
    gap: 1.2rem;
    padding: 1.2rem;
    border: 1px solid rgba(31,70,96,.07);
    border-radius: 20px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 12px 35px rgba(15,35,53,.05);
}

.travel-route { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .45rem; }
.travel-route > span { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 14px; color: #173f62; background: #eaf1f5; font-size: .66rem; font-weight: 800; }
.travel-route > div { text-align: center; }
.travel-route i { display: block; position: relative; height: 1px; background: #9db1bd; }
.travel-route i::after { position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-top: 1px solid #9db1bd; border-right: 1px solid #9db1bd; transform: rotate(45deg); content:""; }
.travel-route small { color: #7b8794; font-size: .58rem; }
.travel-actions { display: grid; justify-items: end; gap: .75rem; }

.rfq-card-metrics { display: grid; grid-template-columns: repeat(2,1fr); gap: .55rem; }
.rfq-card-metrics span { padding: .7rem; border-radius: 12px; background: #f4f7f8; }
.rfq-card-metrics small,
.rfq-card-metrics strong { display: block; }
.rfq-card-metrics small { color: #7b8794; font-size: .64rem; }
.rfq-card-metrics strong { color: #173f62; }

.gst-badge { color: #fff; background: linear-gradient(145deg,#315f91,#20a486); }
.gstin { display: inline-flex; padding: .55rem .7rem; border: 1px dashed rgba(49,95,145,.28); border-radius: 10px; color: #214f78; background: #f1f6f9; font-family: monospace; font-weight: 700; letter-spacing: .05em; }

.corporate-wallet-hero { min-height: 270px; padding: 2rem; color: #fff; }
.corporate-wallet-hero h2 { font-size: clamp(2.5rem,6vw,4rem); }
.corporate-wallet-hero p { color: rgba(255,255,255,.65); }
.wallet-detail-row { display: flex; flex-wrap: wrap; gap: 2.4rem; margin-top: 2rem; }
.wallet-detail-row small,
.wallet-detail-row strong { display: block; }
.wallet-detail-row small { color: rgba(255,255,255,.58); font-size: .65rem; }
.wallet-orbit { right: -20px; bottom: -45px; width: 250px; height: 250px; }
.wallet-orbit i:nth-child(2) { inset: 40%; }
.wallet-orbit strong { position: absolute; inset: 0; display: grid; place-items: center; font-size: 3rem; }
.wallet-type { display: inline-flex; padding: .35rem .55rem; border-radius: 999px; color: #52616d; background: #eef2f4; font-size: .66rem; font-weight: 800; }
.wallet-credit,
.wallet-refund,
.wallet-earn { color: #187452; background: #e8f6f0; }
.wallet-debit,
.wallet-redeem,
.wallet-expire { color: #a64242; background: #fbeaea; }

.report-kpi {
    height: 100%;
    min-height: 112px;
    padding: 1.15rem;
    border: 1px solid rgba(31,70,96,.07);
    border-radius: 18px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 12px 30px rgba(15,35,53,.05);
}
.report-kpi span,
.report-kpi strong { display:block; }
.report-kpi span { color:#7b8794; font-size:.68rem; }
.report-kpi strong { margin-top:.75rem; color:#173f62; font-size:1.35rem; }

.rewards-hero {
    position: relative;
    min-height: 300px;
    padding: clamp(2rem,5vw,4rem);
    overflow: hidden;
    border-radius: 28px;
    color: #fff;
    background: radial-gradient(circle at 80% 15%,rgba(255,219,145,.3),transparent 22rem),linear-gradient(145deg,#574071,#9b6d42);
    box-shadow: 0 28px 65px rgba(70,42,57,.2);
}
.rewards-hero h2 { font-size: clamp(2.8rem,7vw,5rem); }
.rewards-hero h2 small { font-size: .25em; color:rgba(255,255,255,.65); }
.rewards-hero p { color:rgba(255,255,255,.7); }
.reward-star { position:absolute; right:7%; top:15%; color:rgba(255,225,161,.7); font-size:9rem; transform:rotate(12deg); }
.tier-track { position:relative; z-index:1; display:grid; max-width:650px; grid-template-columns:repeat(4,1fr); margin-top:2rem; }
.tier-track::before { position:absolute; top:6px; right:10%; left:10%; height:2px; background:rgba(255,255,255,.22); content:""; }
.tier-track span { position:relative; display:grid; gap:.35rem; justify-items:center; color:rgba(255,255,255,.45); font-size:.64rem; }
.tier-track i { width:14px; height:14px; border:3px solid rgba(255,255,255,.25); border-radius:50%; background:#79556b; }
.tier-track span.active { color:#fff; }
.tier-track span.active i { border-color:#f0cf8c; background:#f0cf8c; box-shadow:0 0 0 5px rgba(240,207,140,.13); }
.reward-benefit { display:flex; gap:.8rem; padding:1rem 0; border-bottom:1px solid #edf0f3; }
.reward-benefit > span { display:grid; width:35px; height:35px; flex:0 0 auto; place-items:center; border-radius:11px; color:#fff; background:#7d5aa6; font-size:.65rem; font-weight:800; }
.reward-benefit strong,
.reward-benefit small { display:block; }
.reward-benefit small { color:#7b8794; margin-top:.2rem; }

.rm-card { text-align:center; }
.rm-avatar { position:relative; width:80px; height:80px; margin:0 auto 1.2rem; border-radius:25px; font-size:1.3rem; }
.rm-avatar span { position:absolute; right:2px; bottom:2px; width:16px; height:16px; border:3px solid #fff; border-radius:50%; background:#20a486; }
.rm-contact { display:grid; gap:.4rem; }
.rm-contact a { color:#315f91; text-decoration:none; }

html[data-theme="dark"] .corporate-context,
html[data-theme="dark"] .corporate-stat,
html[data-theme="dark"] .company-card,
html[data-theme="dark"] .cost-center-card,
html[data-theme="dark"] .workflow-card,
html[data-theme="dark"] .travel-request-card,
html[data-theme="dark"] .rfq-card,
html[data-theme="dark"] .gst-card,
html[data-theme="dark"] .report-kpi,
html[data-theme="dark"] .rm-card {
    color:#eaf0f4;
    border-color:rgba(255,255,255,.08);
    background:#102331;
}
html[data-theme="dark"] .corporate-module-nav { border-color:rgba(255,255,255,.07); }
html[data-theme="dark"] .corporate-module-nav a { color:#aebbc4; }
html[data-theme="dark"] .corporate-module-nav a:hover,
html[data-theme="dark"] .corporate-module-nav a.active,
html[data-theme="dark"] .corporate-stat strong,
html[data-theme="dark"] .company-metrics strong,
html[data-theme="dark"] .rfq-card-metrics strong,
html[data-theme="dark"] .report-kpi strong { color:#fff; }
html[data-theme="dark"] .approval-queue-row:hover,
html[data-theme="dark"] .company-metrics span,
html[data-theme="dark"] .rfq-card-metrics span { background:#0b1a25; }
html[data-theme="dark"] .approval-step-input,
html[data-theme="dark"] .rfq-mini-row,
html[data-theme="dark"] .reward-benefit { border-color:rgba(255,255,255,.08); }

@media (max-width: 991.98px) {
    .corporate-onboarding { grid-template-columns:1fr; }
    .corporate-onboarding-orbit { display:none; }
    .travel-request-card { grid-template-columns:1fr; }
    .travel-actions { justify-items:start; }
}

@media (max-width: 767.98px) {
    .corporate-context { padding:1.1rem 1rem 0; border-radius:18px; }
    .corporate-module-nav { margin:0 -1rem; padding-right:1rem; padding-left:1rem; }
    .corporate-onboarding { min-height:560px; padding:2rem 1.4rem; border-radius:22px; }
    .approval-action-form { grid-template-columns:1fr; min-width:220px; }
    .report-filter-form {
        display: grid !important;
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .report-filter-form .form-control { width:100%; min-width:0; }
    .report-filter-form .btn { grid-column:1/-1; }
    .wallet-detail-row { gap:1.2rem; }
    .reward-star { opacity:.25; }
}

/* Vendor marketplace */
.vendor-eyebrow {
    display: inline-block;
    margin-bottom: .45rem;
    color: #8b5b33;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.vendor-context {
    padding: 1.25rem 1.35rem 0;
    overflow: hidden;
    border: 1px solid rgba(30, 42, 58, .08);
    border-radius: 24px;
    background:
        radial-gradient(circle at 92% -40%, rgba(208, 148, 87, .2), transparent 34%),
        rgba(255, 255, 255, .9);
    box-shadow: 0 18px 52px rgba(24, 37, 50, .07);
}

.vendor-module-nav {
    display: flex;
    gap: .25rem;
    margin: 0 -1.35rem;
    padding: .25rem 1.35rem 0;
    overflow-x: auto;
    border-top: 1px solid rgba(30, 42, 58, .07);
    scrollbar-width: none;
}

.vendor-module-nav::-webkit-scrollbar { display: none; }

.vendor-module-nav a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .42rem;
    padding: .9rem .7rem .8rem;
    border-bottom: 2px solid transparent;
    color: #65717c;
    font-size: .76rem;
    font-weight: 700;
    text-decoration: none;
}

.vendor-module-nav a span {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 8px;
    color: #784e2b;
    background: #f6ebdf;
    font-size: .58rem;
}

.vendor-module-nav a:hover,
.vendor-module-nav a.active {
    border-bottom-color: #bc7a43;
    color: #17293a;
}

.vendor-module-nav a.active span {
    color: #fff;
    background: linear-gradient(135deg, #c7894f, #82512c);
    box-shadow: 0 6px 16px rgba(151, 93, 47, .22);
}

.vendor-onboarding {
    position: relative;
    display: grid;
    min-height: 540px;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
    gap: 4rem;
    align-items: center;
    padding: clamp(2rem, 6vw, 5rem);
    overflow: hidden;
    border-radius: 32px;
    color: #fff;
    background:
        radial-gradient(circle at 80% 22%, rgba(232, 167, 101, .34), transparent 24rem),
        linear-gradient(145deg, #101e2c, #24394a 58%, #80502e);
    box-shadow: 0 35px 80px rgba(13, 29, 42, .24);
}

.vendor-onboarding h1 {
    max-width: 780px;
    margin: .3rem 0 1rem;
    font-size: clamp(2.4rem, 5vw, 4.8rem);
    line-height: 1.03;
}

.vendor-onboarding p {
    max-width: 690px;
    margin-bottom: 2rem;
    color: rgba(255, 255, 255, .7);
    font-size: 1.06rem;
}

.vendor-onboarding-stack {
    position: relative;
    display: grid;
    height: 300px;
    place-items: center;
}

.vendor-onboarding-stack strong {
    display: grid;
    width: 130px;
    height: 130px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 38px;
    background: rgba(255, 255, 255, .12);
    box-shadow: 0 25px 60px rgba(0, 0, 0, .22);
    backdrop-filter: blur(18px);
    font-size: 2.1rem;
}

.vendor-onboarding-stack span {
    position: absolute;
    padding: .75rem 1rem;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 16px;
    background: rgba(255, 255, 255, .1);
    backdrop-filter: blur(14px);
    font-size: .75rem;
    font-weight: 700;
}

.vendor-onboarding-stack span:nth-child(1) { top: 20px; left: 18%; transform: rotate(-7deg); }
.vendor-onboarding-stack span:nth-child(2) { top: 60px; right: 4%; transform: rotate(8deg); }
.vendor-onboarding-stack span:nth-child(3) { right: 20%; bottom: 8px; transform: rotate(-4deg); }

.vendor-stat {
    position: relative;
    display: grid;
    min-height: 150px;
    padding: 1.15rem;
    overflow: hidden;
    border: 1px solid rgba(24, 40, 54, .07);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(26, 38, 48, .06);
}

.vendor-stat::after {
    position: absolute;
    right: -26px;
    bottom: -38px;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: var(--vendor-stat-accent, #d9ad7e);
    opacity: .13;
    content: "";
}

.vendor-stat > span,
.vendor-stat small { color: #75808a; font-size: .7rem; }
.vendor-stat strong { align-self: end; color: #14283a; font-size: clamp(1.35rem, 3vw, 1.9rem); }
.vendor-stat.tone-lead { --vendor-stat-accent:#7d5aad; }
.vendor-stat.tone-revenue { --vendor-stat-accent:#238c70; }
.vendor-stat.tone-service { --vendor-stat-accent:#487db4; }
.vendor-stat.tone-portfolio { --vendor-stat-accent:#d17a55; }
.vendor-stat.tone-chat { --vendor-stat-accent:#d99b29; }

.vendor-lead-list { display: grid; }

.vendor-lead-row {
    display: flex;
    gap: .85rem;
    align-items: center;
    padding: 1rem 0;
    border-bottom: 1px solid #edf0f2;
    color: inherit;
    text-decoration: none;
    transition: transform .2s ease;
}

.vendor-lead-row:last-child { border-bottom: 0; }
.vendor-lead-row:hover { transform: translateX(4px); }
.vendor-lead-row div,
.vendor-lead-row > span { min-width: 0; }
.vendor-lead-row strong,
.vendor-lead-row small { display: block; }
.vendor-lead-row small { margin-top: .22rem; color: #77828c; font-size: .7rem; }

.vendor-type-icon,
.vendor-service-icon,
.vendor-logo {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    color: #fff;
    background: linear-gradient(145deg, #243d53, #a76b39);
    box-shadow: 0 9px 24px rgba(41, 58, 72, .18);
    font-weight: 800;
}

.vendor-type-icon { width: 42px; height: 42px; border-radius: 13px; font-size: .68rem; }
.vendor-logo { width: 58px; height: 58px; border: 4px solid #fff; border-radius: 18px; }

.vendor-revenue-card {
    position: relative;
    min-height: 290px;
    padding: 2rem;
    overflow: hidden;
    border-radius: 24px;
    color: #fff;
    background:
        radial-gradient(circle at 85% 15%, rgba(221, 167, 100, .42), transparent 15rem),
        linear-gradient(145deg, #11293b, #3c5060);
    box-shadow: 0 22px 50px rgba(17, 39, 55, .2);
}

.vendor-revenue-card h3 { margin: 2.4rem 0 .25rem; font-size: clamp(2.2rem, 5vw, 3.7rem); }
.vendor-revenue-card p { color: rgba(255, 255, 255, .66); }
.vendor-revenue-card .btn { position: relative; z-index: 2; }

.vendor-revenue-orbit {
    position: absolute;
    right: -48px;
    bottom: -65px;
    width: 220px;
    height: 220px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
}

.vendor-revenue-orbit::before {
    position: absolute;
    inset: 35px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    content: "";
}

.vendor-revenue-orbit i {
    position: absolute;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #e9bc7c;
    box-shadow: 0 0 0 7px rgba(233, 188, 124, .13);
}

.vendor-revenue-orbit i:first-child { top: 20px; left: 43px; }
.vendor-revenue-orbit i:last-child { right: 7px; bottom: 70px; }

.vendor-conversation-mini {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: .8rem;
    align-items: center;
    padding: .85rem 0;
    border-bottom: 1px solid #edf0f2;
}

.vendor-conversation-mini:last-child { border-bottom: 0; }
.vendor-conversation-mini > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    color: #5c4028;
    background: #f5e5d4;
    font-size: .68rem;
    font-weight: 800;
}
.vendor-conversation-mini strong,
.vendor-conversation-mini small { display: block; }
.vendor-conversation-mini small { overflow: hidden; color: #78828b; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.vendor-conversation-mini time { color: #8a949c; font-size: .68rem; }

.vendor-plan-card {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 100% 0, rgba(205, 142, 80, .18), transparent 14rem),
        #fff;
}

.vendor-account-card {
    overflow: hidden;
    border: 1px solid rgba(24, 39, 52, .07);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(24, 37, 48, .08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.vendor-account-card:hover { transform: translateY(-4px); box-shadow: 0 28px 65px rgba(24, 37, 48, .13); }
.vendor-card-cover {
    height: 145px;
    background:
        linear-gradient(135deg, rgba(16, 36, 52, .68), rgba(140, 81, 39, .52)),
        radial-gradient(circle at 25% 20%, #d8b891, #31495b);
    background-position: center;
    background-size: cover;
}
.vendor-card-body { padding: 0 1.4rem 1.4rem; }
.vendor-card-body .vendor-logo { margin-top: -29px; }
.vendor-account-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .45rem;
}
.vendor-account-metrics span {
    padding: .7rem .4rem;
    border-radius: 13px;
    color: #737e87;
    background: #f5f6f6;
    text-align: center;
    font-size: .62rem;
}
.vendor-account-metrics strong { display: block; color: #1e3447; font-size: 1rem; }

.vendor-profile-preview {
    display: block;
    width: 100%;
    height: 170px;
    padding: 1rem;
    border: 1px solid rgba(25, 40, 52, .08);
    border-radius: 20px;
    background: #f6f3ed;
    object-fit: contain;
}

.vendor-portfolio-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }

.vendor-portfolio-card {
    overflow: hidden;
    border: 1px solid rgba(25, 40, 52, .07);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 15px 42px rgba(22, 36, 47, .07);
}

.vendor-portfolio-visual {
    position: relative;
    display: grid;
    height: 190px;
    place-items: center;
    color: rgba(255, 255, 255, .8);
    background:
        linear-gradient(145deg, rgba(14, 33, 47, .28), rgba(117, 68, 34, .46)),
        radial-gradient(circle at 20% 10%, #dab78a, #315067);
    background-position: center;
    background-size: cover;
    font-weight: 800;
}
.vendor-portfolio-visual .status-dot { position: absolute; top: .8rem; right: .8rem; }
.vendor-portfolio-card .card-copy { padding: 1.2rem; }

.vendor-service-card,
.vendor-price-card,
.vendor-availability-card,
.vendor-lead-card {
    border: 1px solid rgba(25, 40, 52, .07);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(22, 36, 47, .065);
}

.vendor-service-card { display: block; padding: 1.2rem; }
.vendor-service-icon { width: 48px; height: 48px; border-radius: 15px; font-size: .7rem; }
.vendor-service-card > div:last-child { min-width: 0; flex: 1; }
.vendor-service-meta { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .9rem; }
.vendor-service-meta span {
    display: block;
    padding: .35rem .6rem;
    border-radius: 999px;
    color: #6e5947;
    background: #f6eee6;
    font-size: .65rem;
    font-weight: 700;
}
.vendor-service-meta small,
.vendor-service-meta strong { display: block; }
.vendor-service-meta small { opacity: .7; font-size: .55rem; }

.vendor-price-card { position: relative; padding: 1.25rem; overflow: hidden; }
.vendor-price-card::after {
    position: absolute;
    top: -35px;
    right: -35px;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: rgba(211, 158, 103, .1);
    content: "";
}
.vendor-price { display: flex; gap: .35rem; align-items: baseline; margin: 1rem 0 .35rem; }
.vendor-price strong { color: #193044; font-size: 2rem; }
.vendor-price span { color: #7a858e; font-size: .72rem; text-transform: capitalize; }
.vendor-package-copy { min-height: 92px; padding: .8rem; border-radius: 14px; background: #f7f5f1; }
.vendor-package-copy small { color: #8a6545; font-size: .6rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.vendor-package-copy p { margin: .3rem 0 0; font-size: .75rem; }

.vendor-date-filter,
.vendor-stage-filter {
    display: flex;
    gap: .35rem;
    padding: .35rem;
    border: 1px solid rgba(25, 40, 52, .08);
    border-radius: 14px;
    background: #fff;
}
.vendor-date-filter { align-items: end; }
.vendor-date-filter label { color: #737e87; font-size: .65rem; }
.vendor-date-filter .form-control { min-width: 150px; }
.vendor-stage-filter { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.vendor-stage-filter a {
    flex: 0 0 auto;
    padding: .48rem .68rem;
    border-radius: 10px;
    color: #6c7780;
    font-size: .67rem;
    font-weight: 700;
    text-decoration: none;
}
.vendor-stage-filter a.active { color: #fff; background: #22394b; }

.vendor-availability-list { display: grid; gap: .8rem; }
.vendor-availability-card {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
}
.vendor-date-tile {
    display: grid;
    min-height: 70px;
    place-items: center;
    padding: .55rem;
    border-radius: 15px;
    color: #6d482b;
    background: #f7e9db;
    text-align: center;
}
.vendor-date-tile strong,
.vendor-date-tile small,
.vendor-date-tile span { display: block; }
.vendor-date-tile strong { font-size: 1.4rem; line-height: 1; }
.vendor-date-tile small,
.vendor-date-tile span { font-size: .6rem; font-weight: 800; text-transform: uppercase; }

.vendor-lead-board { display: grid; gap: .9rem; }
.vendor-lead-card { position: relative; padding: 1.25rem; overflow: hidden; border-left: 4px solid #8a9aa7; }
.vendor-lead-card.priority-high { border-left-color: #dc8c42; }
.vendor-lead-card.priority-urgent { border-left-color: #c34d4d; }
.vendor-lead-card.priority-low { border-left-color: #4b9b84; }
.vendor-lead-number { color: #9a6c47; font-size: .65rem; font-weight: 800; letter-spacing: .1em; }
.vendor-lead-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .5rem;
    margin-top: 1rem;
}
.vendor-lead-metrics span { padding: .7rem; border-radius: 13px; background: #f6f7f7; }
.vendor-lead-metrics small,
.vendor-lead-metrics strong { display: block; }
.vendor-lead-metrics small { color: #7a858d; font-size: .6rem; }
.vendor-lead-metrics strong { margin-top: .2rem; font-size: .78rem; }

.vendor-activity-timeline { position: relative; display: grid; gap: 1rem; padding-left: .65rem; }
.vendor-activity-timeline::before {
    position: absolute;
    top: 6px;
    bottom: 8px;
    left: 4px;
    width: 1px;
    background: #dfe3e6;
    content: "";
}
.vendor-activity-timeline div { position: relative; padding-left: 1rem; }
.vendor-activity-timeline div > span {
    position: absolute;
    top: 5px;
    left: -14px;
    width: 9px;
    height: 9px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #ae7040;
    box-shadow: 0 0 0 2px #ae7040;
}
.vendor-activity-timeline strong,
.vendor-activity-timeline small { display: block; font-size: .7rem; }
.vendor-activity-timeline small { color: #7c8790; margin-top: .2rem; }

.vendor-chat-shell {
    display: grid;
    min-height: 680px;
    grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid rgba(22, 39, 52, .08);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 22px 56px rgba(18, 35, 48, .1);
}
.vendor-inbox { display: flex; min-width: 0; flex-direction: column; border-right: 1px solid #e8ebed; background: #f8f7f4; }
.vendor-thread-list { max-height: 480px; flex: 1 1 auto; overflow-y: auto; }
.vendor-thread-list a {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: .7rem;
    align-items: center;
    padding: .9rem 1rem;
    border-bottom: 1px solid #e6e9eb;
    color: inherit;
    text-decoration: none;
}
.vendor-thread-list a:hover,
.vendor-thread-list a.active { background: #fff; }
.vendor-thread-list a > span {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 13px;
    color: #69462d;
    background: #f1dfcc;
    font-size: .66rem;
    font-weight: 800;
}
.vendor-thread-list strong,
.vendor-thread-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vendor-thread-list small { color: #7b858d; font-size: .68rem; }
.vendor-thread-list b { display: grid; min-width: 20px; height: 20px; place-items: center; border-radius: 999px; color: #fff; background: #9a6035; font-size: .6rem; }
.vendor-new-chat { padding: .8rem 1rem; border-top: 1px solid #e2e5e7; }
.vendor-new-chat summary { cursor: pointer; color: #80502f; font-size: .75rem; font-weight: 800; list-style: none; }
.vendor-new-chat[open] summary { margin-bottom: .8rem; }
.vendor-chat-panel { display: flex; min-width: 0; flex-direction: column; background: #fff; }
.vendor-chat-header { display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; border-bottom: 1px solid #e9ecee; }
.vendor-messages {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: .8rem;
    max-height: 520px;
    padding: 1.25rem;
    overflow-y: auto;
    background:
        radial-gradient(circle at 10% 10%, rgba(208, 158, 105, .08), transparent 15rem),
        #fbfbfa;
}
.vendor-message { display: flex; }
.vendor-message.outgoing { justify-content: flex-end; }
.vendor-message > div { max-width: min(74%, 620px); padding: .8rem 1rem; border-radius: 8px 18px 18px 18px; background: #fff; box-shadow: 0 8px 22px rgba(19, 34, 45, .08); }
.vendor-message.outgoing > div { border-radius: 18px 8px 18px 18px; color: #fff; background: linear-gradient(145deg, #203a4d, #436074); }
.vendor-message strong { display: block; margin-bottom: .35rem; font-size: .67rem; }
.vendor-message p { margin: 0; font-size: .85rem; white-space: normal; }
.vendor-message time { display: block; margin-top: .45rem; color: #8a949b; font-size: .58rem; }
.vendor-message.outgoing time { color: rgba(255, 255, 255, .58); }
.vendor-chat-composer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .7rem; padding: 1rem; border-top: 1px solid #e9ecee; }
.vendor-chat-empty { display: grid; flex: 1; place-items: center; align-content: center; padding: 2rem; text-align: center; }
.vendor-chat-empty > span { display: grid; width: 72px; height: 72px; margin-bottom: 1rem; place-items: center; border-radius: 23px; color: #835533; background: #f1e1d0; font-weight: 800; }

.vendor-payment-hero,
.vendor-subscription-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2rem;
    align-items: center;
    min-height: 250px;
    padding: clamp(1.6rem, 4vw, 3rem);
    overflow: hidden;
    border-radius: 28px;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(228, 169, 97, .42), transparent 19rem),
        linear-gradient(145deg, #112638, #3e5261);
    box-shadow: 0 26px 65px rgba(14, 34, 49, .2);
}
.vendor-payment-hero::after,
.vendor-subscription-hero::after {
    position: absolute;
    right: 18%;
    bottom: -180px;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    content: "";
}
.vendor-payment-hero > *,
.vendor-subscription-hero > * { position: relative; z-index: 1; }
.vendor-payment-hero h2,
.vendor-subscription-hero h2 { margin: .2rem 0 .65rem; font-size: clamp(2rem, 5vw, 3.9rem); }
.vendor-payment-hero p,
.vendor-subscription-hero p { max-width: 660px; margin-bottom: 0; color: rgba(255, 255, 255, .68); }
.vendor-payment-hero-total,
.vendor-renewal-card {
    display: grid;
    min-width: 230px;
    padding: 1.35rem;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 22px;
    background: rgba(255, 255, 255, .11);
    backdrop-filter: blur(16px);
}
.vendor-payment-hero-total small,
.vendor-payment-hero-total span,
.vendor-renewal-card small,
.vendor-renewal-card span { color: rgba(255, 255, 255, .62); }
.vendor-payment-hero-total strong { margin: .35rem 0; font-size: 1.9rem; }
.vendor-renewal-card { min-width: 160px; text-align: center; }
.vendor-renewal-card strong { margin-top: .3rem; font-size: 2.7rem; line-height: 1; }

.vendor-payment-kpi {
    min-height: 145px;
    padding: 1.2rem;
    border: 1px solid rgba(27, 43, 55, .07);
    border-top: 3px solid #2e8b70;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 13px 35px rgba(22, 36, 47, .06);
}
.vendor-payment-kpi.tone-violet { border-top-color: #7659a5; }
.vendor-payment-kpi.tone-amber { border-top-color: #d29242; }
.vendor-payment-kpi.tone-slate { border-top-color: #557080; }
.vendor-payment-kpi span,
.vendor-payment-kpi strong,
.vendor-payment-kpi small { display: block; }
.vendor-payment-kpi span,
.vendor-payment-kpi small { color: #78838c; font-size: .69rem; }
.vendor-payment-kpi strong { margin: 1rem 0 .3rem; color: #172d40; font-size: 1.45rem; }

.vendor-payment-table th,
.vendor-subscription-table th {
    padding: .85rem 1rem;
    border-bottom-color: #e6e9eb;
    color: #7b858c;
    background: #f7f7f5;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}
.vendor-payment-table td,
.vendor-subscription-table td { padding: .9rem 1rem; border-bottom-color: #edf0f1; font-size: .77rem; }
.vendor-payment-table td strong,
.vendor-payment-table td small { display: block; }
.vendor-payment-table td small { margin-top: .18rem; color: #7d878f; font-size: .66rem; }

.vendor-subscription-chip {
    display: inline-flex;
    padding: .4rem .7rem;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    color: rgba(255, 255, 255, .8);
    background: rgba(255, 255, 255, .09);
    font-size: .67rem;
    font-weight: 700;
}

.vendor-subscription-plan {
    position: relative;
    padding: 1.5rem;
    overflow: hidden;
    border: 1px solid rgba(26, 41, 54, .08);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(20, 35, 47, .07);
}
.vendor-subscription-plan.featured {
    border-color: rgba(180, 113, 56, .3);
    background:
        radial-gradient(circle at 100% 0, rgba(221, 162, 99, .18), transparent 15rem),
        #fff;
    box-shadow: 0 24px 60px rgba(112, 69, 36, .14);
}
.vendor-plan-ribbon {
    position: absolute;
    top: 15px;
    right: -35px;
    width: 135px;
    padding: .35rem;
    transform: rotate(38deg);
    color: #fff;
    background: #a46a3b;
    font-size: .55rem;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
}
.vendor-plan-heading { display: flex; gap: .8rem; min-height: 68px; align-items: start; justify-content: space-between; padding-right: 1rem; }
.vendor-plan-heading h3 { font-size: 1.65rem; }
.vendor-plan-price { display: flex; gap: .35rem; align-items: baseline; margin-top: 1.3rem; }
.vendor-plan-price strong { color: #182f42; font-size: 2.2rem; }
.vendor-plan-price span,
.vendor-yearly-price { color: #7d878f; font-size: .7rem; }
.vendor-yearly-price { display: block; }
.vendor-plan-features { display: grid; min-height: 210px; gap: .65rem; margin: 1.4rem 0; padding: 0; list-style: none; }
.vendor-plan-features li { display: flex; gap: .6rem; color: #53616c; font-size: .76rem; }
.vendor-plan-features li span { display: grid; width: 19px; height: 19px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #27785f; background: #e4f3ed; font-size: .6rem; font-weight: 900; }

.status-new { color:#315e96; background:#e7eff9; }
.status-contacted { color:#7c5ba0; background:#f0e9f8; }
.status-qualified { color:#1e7b65; background:#e4f4ef; }
.status-proposal_sent,
.status-negotiation,
.status-processing { color:#95641e; background:#fbf0dc; }
.status-won,
.status-paid,
.status-available,
.status-verified,
.status-trial { color:#197356; background:#e2f3ed; }
.status-lost,
.status-failed,
.status-cancelled,
.status-unavailable,
.status-refunded { color:#a34242; background:#f9e7e7; }
.status-closed,
.status-archived,
.status-expired { color:#5d6871; background:#eaedef; }
.status-limited,
.status-past_due { color:#9a6b1f; background:#fbf0dc; }
.status-blocked,
.status-rejected { color:#8d443f; background:#f7e6e4; }

html[data-theme="dark"] .vendor-context,
html[data-theme="dark"] .vendor-stat,
html[data-theme="dark"] .vendor-account-card,
html[data-theme="dark"] .vendor-plan-card,
html[data-theme="dark"] .vendor-portfolio-card,
html[data-theme="dark"] .vendor-service-card,
html[data-theme="dark"] .vendor-price-card,
html[data-theme="dark"] .vendor-availability-card,
html[data-theme="dark"] .vendor-lead-card,
html[data-theme="dark"] .vendor-chat-shell,
html[data-theme="dark"] .vendor-chat-panel,
html[data-theme="dark"] .vendor-payment-kpi,
html[data-theme="dark"] .vendor-subscription-plan {
    color: #eaf0f4;
    border-color: rgba(255, 255, 255, .08);
    background-color: #102331;
}
html[data-theme="dark"] .vendor-context { background: radial-gradient(circle at 92% -40%, rgba(208,148,87,.16), transparent 34%), #102331; }
html[data-theme="dark"] .vendor-module-nav { border-color: rgba(255,255,255,.07); }
html[data-theme="dark"] .vendor-module-nav a { color: #aeb9c1; }
html[data-theme="dark"] .vendor-module-nav a:hover,
html[data-theme="dark"] .vendor-module-nav a.active,
html[data-theme="dark"] .vendor-stat strong,
html[data-theme="dark"] .vendor-account-metrics strong,
html[data-theme="dark"] .vendor-price strong,
html[data-theme="dark"] .vendor-plan-price strong,
html[data-theme="dark"] .vendor-payment-kpi strong { color:#fff; }
html[data-theme="dark"] .vendor-account-metrics span,
html[data-theme="dark"] .vendor-package-copy,
html[data-theme="dark"] .vendor-lead-metrics span { background:#0b1a25; }
html[data-theme="dark"] .vendor-lead-row,
html[data-theme="dark"] .vendor-conversation-mini,
html[data-theme="dark"] .vendor-activity-timeline::before { border-color:rgba(255,255,255,.08); }
html[data-theme="dark"] .vendor-inbox { border-color:rgba(255,255,255,.08); background:#0c1d2a; }
html[data-theme="dark"] .vendor-thread-list a,
html[data-theme="dark"] .vendor-new-chat,
html[data-theme="dark"] .vendor-chat-header,
html[data-theme="dark"] .vendor-chat-composer { border-color:rgba(255,255,255,.08); }
html[data-theme="dark"] .vendor-thread-list a:hover,
html[data-theme="dark"] .vendor-thread-list a.active { background:#102331; }
html[data-theme="dark"] .vendor-messages { background:radial-gradient(circle at 10% 10%,rgba(208,158,105,.08),transparent 15rem),#091a27; }
html[data-theme="dark"] .vendor-message:not(.outgoing) > div { background:#163044; }
html[data-theme="dark"] .vendor-payment-table th,
html[data-theme="dark"] .vendor-subscription-table th { color:#aeb9c1; border-color:rgba(255,255,255,.08); background:#0b1a25; }
html[data-theme="dark"] .vendor-payment-table td,
html[data-theme="dark"] .vendor-subscription-table td { color:#dfe7ec; border-color:rgba(255,255,255,.07); background:#102331; }
html[data-theme="dark"] .vendor-plan-features li { color:#b8c3ca; }

@media (max-width: 991.98px) {
    .vendor-onboarding { grid-template-columns: 1fr; }
    .vendor-onboarding-stack { display: none; }
    .vendor-chat-shell { grid-template-columns: 1fr; }
    .vendor-inbox { max-height: 430px; border-right: 0; border-bottom: 1px solid #e8ebed; }
    .vendor-chat-panel { min-height: 560px; }
    .vendor-payment-hero,
    .vendor-subscription-hero { grid-template-columns: 1fr; }
    .vendor-payment-hero-total,
    .vendor-renewal-card { width: min(100%, 320px); }
}

@media (max-width: 767.98px) {
    .vendor-context { padding: 1.05rem 1rem 0; border-radius: 18px; }
    .vendor-module-nav { margin: 0 -1rem; padding-right: 1rem; padding-left: 1rem; }
    .vendor-onboarding { min-height: 510px; padding: 2rem 1.4rem; border-radius: 23px; }
    .vendor-portfolio-grid { grid-template-columns: 1fr; }
    .vendor-date-filter { display: grid; width: 100%; grid-template-columns: 1fr 1fr; }
    .vendor-date-filter .form-control { min-width: 0; }
    .vendor-date-filter .btn { grid-column: 1/-1; }
    .vendor-availability-card { grid-template-columns: 70px minmax(0,1fr); }
    .vendor-availability-card > :last-child { grid-column: 1/-1; }
    .vendor-lead-metrics { grid-template-columns: 1fr; }
    .vendor-message > div { max-width: 88%; }
    .vendor-chat-header { align-items: start; }
    .vendor-chat-composer { grid-template-columns: 1fr; }
    .vendor-payment-hero,
    .vendor-subscription-hero { padding: 1.6rem 1.3rem; border-radius: 22px; }
}

/* Event company operations */
.event-eyebrow {
    display: inline-block;
    margin-bottom: .45rem;
    color: #9a5370;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.event-context {
    padding: 1.25rem 1.35rem 0;
    overflow: hidden;
    border: 1px solid rgba(38, 34, 55, .08);
    border-radius: 24px;
    background:
        radial-gradient(circle at 92% -45%, rgba(200, 105, 139, .18), transparent 35%),
        rgba(255, 255, 255, .92);
    box-shadow: 0 18px 52px rgba(31, 29, 47, .07);
}

.event-module-nav {
    display: flex;
    gap: .25rem;
    margin: 0 -1.35rem;
    padding: .25rem 1.35rem 0;
    overflow-x: auto;
    border-top: 1px solid rgba(38, 34, 55, .07);
    scrollbar-width: none;
}
.event-module-nav::-webkit-scrollbar { display: none; }
.event-module-nav a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .42rem;
    padding: .9rem .66rem .8rem;
    border-bottom: 2px solid transparent;
    color: #6e6b78;
    font-size: .74rem;
    font-weight: 700;
    text-decoration: none;
}
.event-module-nav a span {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 8px;
    color: #81495f;
    background: #f6e9ee;
    font-size: .58rem;
}
.event-module-nav a:hover,
.event-module-nav a.active { border-bottom-color:#b95f82; color:#25243a; }
.event-module-nav a.active span {
    color:#fff;
    background:linear-gradient(135deg,#c86a8e,#67486f);
    box-shadow:0 7px 18px rgba(143,72,101,.24);
}

.event-onboarding {
    display:grid;
    min-height:560px;
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
    gap:4rem;
    align-items:center;
    padding:clamp(2rem,6vw,5rem);
    overflow:hidden;
    border-radius:32px;
    color:#fff;
    background:
        radial-gradient(circle at 78% 18%,rgba(231,134,162,.34),transparent 22rem),
        linear-gradient(145deg,#171728,#39304a 58%,#7e405d);
    box-shadow:0 35px 85px rgba(24,20,38,.28);
}
.event-onboarding h1 { max-width:780px; margin:.3rem 0 1rem; font-size:clamp(2.45rem,5vw,4.9rem); line-height:1.03; }
.event-onboarding p { max-width:680px; margin-bottom:2rem; color:rgba(255,255,255,.7); font-size:1.06rem; }
.event-onboarding-orbit { position:relative; display:grid; height:310px; place-items:center; }
.event-onboarding-orbit::before,
.event-onboarding-orbit::after { position:absolute; border:1px solid rgba(255,255,255,.18); border-radius:50%; content:""; }
.event-onboarding-orbit::before { inset:8px; }
.event-onboarding-orbit::after { inset:60px; }
.event-onboarding-orbit strong {
    display:grid;
    width:115px;
    height:115px;
    z-index:1;
    place-items:center;
    border:1px solid rgba(255,255,255,.28);
    border-radius:50%;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(16px);
    font-size:1.8rem;
}
.event-onboarding-orbit span { position:absolute; z-index:2; padding:.65rem .9rem; border-radius:14px; background:rgba(255,255,255,.13); backdrop-filter:blur(12px); font-size:.7rem; font-weight:800; }
.event-onboarding-orbit span:nth-child(1) { top:0; left:34%; }
.event-onboarding-orbit span:nth-child(2) { right:0; bottom:31%; }
.event-onboarding-orbit span:nth-child(3) { bottom:0; left:16%; }

.event-stat {
    position:relative;
    display:grid;
    min-height:150px;
    padding:1.15rem;
    overflow:hidden;
    border:1px solid rgba(38,34,55,.07);
    border-radius:20px;
    background:#fff;
    box-shadow:0 14px 38px rgba(29,27,43,.06);
}
.event-stat::before { position:absolute; top:0; right:0; left:0; height:3px; background:var(--event-accent,#a75977); content:""; }
.event-stat::after { position:absolute; right:-24px; bottom:-37px; width:90px; height:90px; border-radius:50%; background:var(--event-accent,#a75977); opacity:.1; content:""; }
.event-stat > span,
.event-stat small { color:#7b7884; font-size:.69rem; }
.event-stat strong { align-self:end; color:#28253a; font-size:clamp(1.25rem,3vw,1.75rem); }
.event-stat.tone-projects { --event-accent:#725caa; }
.event-stat.tone-rfq { --event-accent:#d29046; }
.event-stat.tone-timeline { --event-accent:#3e8a99; }
.event-stat.tone-spend { --event-accent:#3b8d73; }
.event-stat.tone-revenue { --event-accent:#bd5d75; }

.event-runway { display:grid; }
.event-runway-row {
    display:grid;
    grid-template-columns:52px minmax(0,1fr) auto;
    gap:.85rem;
    align-items:center;
    padding:.9rem 0;
    border-bottom:1px solid #eeedf1;
}
.event-runway-row:last-child { border-bottom:0; }
.event-runway-row > div strong,
.event-runway-row > div small { display:block; }
.event-runway-row > div small { margin-top:.18rem; color:#7d7986; font-size:.7rem; }
.event-date {
    display:grid;
    width:52px;
    height:55px;
    place-items:center;
    align-content:center;
    border-radius:15px;
    color:#81475e;
    background:#f6e8ed;
}
.event-date strong { font-size:1.15rem; line-height:1; }
.event-date small { margin-top:.15rem; font-size:.55rem; font-weight:800; text-transform:uppercase; }

.event-budget-radar {
    position:relative;
    min-height:310px;
    padding:2rem;
    overflow:hidden;
    border-radius:24px;
    color:#fff;
    background:
        radial-gradient(circle at 85% 12%,rgba(223,117,151,.38),transparent 15rem),
        linear-gradient(145deg,#25243d,#504561);
    box-shadow:0 22px 52px rgba(30,27,49,.22);
}
.event-budget-radar h3 { margin:1.1rem 0 .2rem; font-size:clamp(2rem,5vw,3.4rem); }
.event-budget-radar p { color:rgba(255,255,255,.65); }
.event-budget-ring {
    position:absolute;
    right:1.4rem;
    bottom:1.4rem;
    display:grid;
    width:110px;
    height:110px;
    place-items:center;
}
.event-budget-ring span { position:absolute; inset:0; border-radius:50%; background:conic-gradient(#f0aec4 var(--progress),rgba(255,255,255,.12) 0); }
.event-budget-ring span::after { position:absolute; inset:9px; border-radius:50%; background:#464057; content:""; }
.event-budget-ring strong { position:relative; z-index:1; }

.event-project-mini {
    display:grid;
    grid-template-columns:minmax(150px,1.2fr) minmax(100px,1fr) 42px;
    gap:.8rem;
    align-items:center;
    padding:.85rem 0;
    border-bottom:1px solid #eeedf1;
}
.event-project-mini:last-child { border-bottom:0; }
.event-project-mini strong,
.event-project-mini small { display:block; }
.event-project-mini small { color:#7c7984; font-size:.68rem; }
.event-project-mini .progress,
.event-experience-card .progress,
.event-project-progress .progress,
.event-budget-hero .progress { height:7px; border-radius:999px; background:rgba(130,115,140,.13); }
.event-project-mini .progress-bar,
.event-experience-card .progress-bar,
.event-project-progress .progress-bar,
.event-budget-hero .progress-bar { border-radius:999px; background:linear-gradient(90deg,#695596,#c36587); }
.event-project-mini b { font-size:.75rem; }

.event-mini-timeline { position:relative; display:grid; gap:1rem; padding-left:.8rem; }
.event-mini-timeline::before { position:absolute; top:8px; bottom:8px; left:4px; width:1px; background:#e0dde3; content:""; }
.event-mini-timeline div { position:relative; display:flex; gap:.75rem; }
.event-mini-timeline i { position:absolute; top:4px; left:-12px; width:9px; height:9px; border:2px solid #fff; border-radius:50%; background:#aa5977; box-shadow:0 0 0 2px #aa5977; }
.event-mini-timeline strong,
.event-mini-timeline small { display:block; font-size:.72rem; }
.event-mini-timeline small { margin-top:.15rem; color:#7c7984; }

.event-company-card,
.event-client-card,
.event-experience-card,
.event-project-card,
.event-rfq-card,
.event-quote-card,
.event-supplier-card {
    border:1px solid rgba(38,34,55,.075);
    border-radius:22px;
    background:#fff;
    box-shadow:0 17px 46px rgba(29,27,43,.07);
}
.event-company-card { position:relative; padding:1.45rem; overflow:hidden; }
.event-company-glow { position:absolute; top:-80px; right:-70px; width:190px; height:190px; border-radius:50%; background:radial-gradient(circle,rgba(204,103,141,.24),transparent 70%); }
.event-company-mark,
.event-client-mark,
.event-vendor-mark {
    position:relative;
    display:grid;
    flex:0 0 auto;
    place-items:center;
    color:#fff;
    background:linear-gradient(145deg,#3e3654,#bb5f81);
    box-shadow:0 10px 25px rgba(77,49,78,.19);
    font-weight:800;
}
.event-company-mark { width:62px; height:62px; border-radius:19px; }
.event-client-mark,
.event-vendor-mark { width:48px; height:48px; border-radius:15px; font-size:.7rem; }
.event-company-metrics,
.event-client-metrics,
.event-supplier-metrics,
.event-budget-line,
.event-rfq-metrics {
    display:grid;
    gap:.45rem;
}
.event-company-metrics { grid-template-columns:repeat(3,1fr); }
.event-client-metrics { grid-template-columns:repeat(2,1fr); }
.event-supplier-metrics { grid-template-columns:repeat(3,1fr); }
.event-budget-line,
.event-rfq-metrics { grid-template-columns:repeat(3,1fr); }
.event-company-metrics span,
.event-client-metrics span,
.event-supplier-metrics span,
.event-budget-line span,
.event-rfq-metrics span {
    padding:.7rem .45rem;
    border-radius:13px;
    color:#777380;
    background:#f6f5f7;
    text-align:center;
    font-size:.6rem;
}
.event-company-metrics strong,
.event-client-metrics strong,
.event-supplier-metrics strong,
.event-budget-line strong,
.event-rfq-metrics strong { display:block; color:#2d293e; font-size:.88rem; }
.event-logo-preview { display:block; width:100%; height:170px; padding:1rem; border:1px solid rgba(38,34,55,.08); border-radius:20px; background:#f7f4f6; object-fit:contain; }
.event-client-card { padding:1.25rem; }

.event-stage-filter {
    display:flex;
    max-width:100%;
    gap:.35rem;
    padding:.35rem;
    overflow-x:auto;
    border:1px solid rgba(38,34,55,.08);
    border-radius:14px;
    background:#fff;
    scrollbar-width:none;
}
.event-stage-filter a { flex:0 0 auto; padding:.48rem .7rem; border-radius:10px; color:#706d78; font-size:.68rem; font-weight:700; text-decoration:none; }
.event-stage-filter a.active { color:#fff; background:#403950; }
.event-card-grid,
.event-project-board,
.event-quote-list { display:grid; gap:1rem; }
.event-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.event-experience-card { position:relative; padding:1.35rem; overflow:hidden; }
.event-card-date {
    display:flex;
    gap:.35rem;
    align-items:baseline;
    margin:-1.35rem -1.35rem 1.2rem;
    padding:1.15rem 1.35rem;
    color:#fff;
    background:linear-gradient(120deg,#353047,#7d4964);
}
.event-card-date strong { font-size:1.8rem; line-height:1; }
.event-card-date span { color:rgba(255,255,255,.67); font-size:.7rem; text-transform:uppercase; }

.event-project-card { position:relative; padding:1.3rem; overflow:hidden; border-left:4px solid #8d829b; }
.event-project-card.priority-high { border-left-color:#d18b43; }
.event-project-card.priority-critical { border-left-color:#bd5069; }
.event-project-card.priority-low { border-left-color:#3c9279; }
.event-project-code,
.event-rfq-number { color:#9b5571; font-size:.64rem; font-weight:800; letter-spacing:.1em; }
.event-project-progress { display:grid; grid-template-columns:auto minmax(120px,1fr); gap:1rem; align-items:center; margin-top:1.15rem; padding:.85rem; border-radius:14px; background:#f7f6f8; }
.event-project-progress small,
.event-project-progress strong { display:block; }
.event-project-progress small { color:#7b7782; font-size:.6rem; }
.event-project-foot { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.event-project-foot span { padding:.4rem .6rem; border-radius:999px; color:#706c78; background:#f2f0f3; font-size:.65rem; }

.event-rfq-card { padding:1.3rem; }
.event-rfq-metrics { margin-top:1rem; }

.event-quote-card {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:1rem;
    align-items:center;
    padding:1.25rem;
}
.event-quote-total { display:grid; min-width:145px; text-align:right; }
.event-quote-total small { color:#7b7783; font-size:.6rem; }
.event-quote-total strong { margin:.2rem 0 .35rem; color:#302b42; font-size:1.25rem; }
.event-quote-total .status-dot { justify-self:end; }
.event-quote-actions { display:flex; gap:.35rem; }

.event-supplier-hero,
.event-budget-hero {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);
    gap:2rem;
    align-items:center;
    min-height:250px;
    padding:clamp(1.7rem,4vw,3rem);
    overflow:hidden;
    border-radius:28px;
    color:#fff;
    background:
        radial-gradient(circle at 88% 12%,rgba(222,126,153,.38),transparent 18rem),
        linear-gradient(145deg,#242438,#504258);
    box-shadow:0 25px 65px rgba(29,25,43,.2);
}
.event-supplier-hero.vendor-tone { background:radial-gradient(circle at 88% 12%,rgba(191,144,104,.38),transparent 18rem),linear-gradient(145deg,#242438,#625044); }
.event-supplier-hero h2 { margin:.2rem 0 .65rem; font-size:clamp(2rem,5vw,3.8rem); }
.event-supplier-hero p,
.event-budget-hero p { margin:0; color:rgba(255,255,255,.68); }
.event-supplier-search {
    display:grid;
    gap:.7rem;
    padding:1rem;
    border:1px solid rgba(255,255,255,.18);
    border-radius:20px;
    background:rgba(255,255,255,.1);
    backdrop-filter:blur(15px);
}
.event-supplier-search .form-control { border-color:rgba(255,255,255,.14); color:#fff; background:rgba(255,255,255,.09); }
.event-supplier-search .form-control::placeholder { color:rgba(255,255,255,.55); }
.event-supplier-card { overflow:hidden; }
.event-hotel-visual {
    position:relative;
    display:grid;
    height:155px;
    place-items:center;
    color:#fff;
    background:
        linear-gradient(145deg,rgba(35,31,51,.6),rgba(121,72,92,.58)),
        radial-gradient(circle at 20% 10%,#d5a4b5,#4b425e);
}
.event-hotel-visual > span { position:absolute; top:.8rem; right:.8rem; padding:.4rem .6rem; border-radius:999px; background:rgba(255,255,255,.15); backdrop-filter:blur(10px); font-size:.65rem; font-weight:800; }
.event-hotel-visual > strong { display:grid; width:68px; height:68px; place-items:center; border:1px solid rgba(255,255,255,.3); border-radius:22px; background:rgba(255,255,255,.12); font-size:1.2rem; }
.event-rating { padding:.4rem .6rem; border-radius:999px; color:#8a5a22; background:#fbefd9; font-size:.68rem; font-weight:800; }

.event-timeline-board { position:relative; padding-left:1rem; }
.event-timeline-board::before { position:absolute; top:0; bottom:0; left:95px; width:1px; background:#dfdce2; content:""; }
.event-timeline-date { display:flex; gap:.5rem; align-items:baseline; margin:1.2rem 0 .65rem; }
.event-timeline-date strong { font-size:.76rem; }
.event-timeline-date span { color:#88848e; font-size:.64rem; }
.event-timeline-item {
    position:relative;
    display:grid;
    grid-template-columns:72px 18px minmax(0,1fr) auto;
    gap:.6rem;
    align-items:center;
    margin-bottom:.7rem;
    padding:1rem;
    border:1px solid rgba(38,34,55,.07);
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(28,26,40,.055);
}
.event-timeline-item time { color:#777380; font-size:.68rem; text-align:right; }
.event-timeline-item > i { position:relative; z-index:1; width:11px; height:11px; border:3px solid #fff; border-radius:50%; background:#a75a77; box-shadow:0 0 0 2px #a75a77; }
.event-timeline-item.priority-critical > i { background:#bf4c61; box-shadow:0 0 0 2px #bf4c61; }
.event-timeline-item.priority-high > i { background:#d08b40; box-shadow:0 0 0 2px #d08b40; }

.event-budget-hero h2 { margin:.2rem 0; font-size:clamp(2.2rem,5vw,4rem); }
.event-budget-hero > div .progress { max-width:520px; margin-top:1rem; background:rgba(255,255,255,.14); }
.event-budget-hero > div .progress-bar { background:linear-gradient(90deg,#f1b0c5,#fff); }
.event-budget-filter { position:relative; z-index:1; padding:1rem; border:1px solid rgba(255,255,255,.18); border-radius:18px; background:rgba(255,255,255,.1); backdrop-filter:blur(14px); }
.event-budget-kpi { min-height:115px; padding:1.1rem; border:1px solid rgba(38,34,55,.07); border-bottom:3px solid var(--budget-accent,#8e5574); border-radius:18px; background:#fff; box-shadow:0 13px 35px rgba(29,27,43,.06); }
.event-budget-kpi.tone-committed { --budget-accent:#d08b41; }
.event-budget-kpi.tone-actual { --budget-accent:#3c8d75; }
.event-budget-kpi.tone-tax { --budget-accent:#6c63a4; }
.event-budget-kpi.tone-payable { --budget-accent:#bd5267; }
.event-budget-kpi span,
.event-budget-kpi strong { display:block; }
.event-budget-kpi span { color:#7c7884; font-size:.66rem; }
.event-budget-kpi strong { margin-top:1rem; color:#302c42; font-size:1.05rem; }
.event-budget-table th { padding:.85rem 1rem; border-bottom-color:#e7e5e9; color:#7b7783; background:#f7f6f8; font-size:.63rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.event-budget-table td { padding:.9rem 1rem; border-bottom-color:#efedf1; font-size:.75rem; }
.event-budget-table td strong,
.event-budget-table td small { display:block; }
.event-budget-table td small { margin-top:.18rem; color:#7d7985; font-size:.63rem; }

.status-inquiry,
.status-brief { color:#75629e; background:#eeeaf6; }
.status-planning,
.status-sent,
.status-viewed { color:#3e6f98; background:#e6eff6; }
.status-confirmed,
.status-awarded,
.status-accepted,
.status-approved { color:#21755e; background:#e3f2ed; }
.status-live { color:#fff; background:#b74f70; }
.status-completed,
.status-delivered { color:#2a7b64; background:#e3f2ed; }
.status-responses_received,
.status-shortlisted,
.status-in_progress { color:#93621d; background:#faefd9; }
.status-on_hold,
.status-delayed { color:#a35a24; background:#faeade; }
.status-rejected { color:#a14252; background:#f8e5e9; }
.status-part_paid { color:#93621d; background:#faefd9; }
.status-unpaid { color:#a14252; background:#f8e5e9; }

html[data-theme="dark"] .event-context,
html[data-theme="dark"] .event-stat,
html[data-theme="dark"] .event-company-card,
html[data-theme="dark"] .event-client-card,
html[data-theme="dark"] .event-experience-card,
html[data-theme="dark"] .event-project-card,
html[data-theme="dark"] .event-rfq-card,
html[data-theme="dark"] .event-quote-card,
html[data-theme="dark"] .event-supplier-card,
html[data-theme="dark"] .event-timeline-item,
html[data-theme="dark"] .event-budget-kpi {
    color:#eaf0f4;
    border-color:rgba(255,255,255,.08);
    background-color:#102331;
}
html[data-theme="dark"] .event-context { background:radial-gradient(circle at 92% -45%,rgba(200,105,139,.15),transparent 35%),#102331; }
html[data-theme="dark"] .event-module-nav { border-color:rgba(255,255,255,.07); }
html[data-theme="dark"] .event-module-nav a { color:#acb7bf; }
html[data-theme="dark"] .event-module-nav a:hover,
html[data-theme="dark"] .event-module-nav a.active,
html[data-theme="dark"] .event-stat strong,
html[data-theme="dark"] .event-company-metrics strong,
html[data-theme="dark"] .event-client-metrics strong,
html[data-theme="dark"] .event-supplier-metrics strong,
html[data-theme="dark"] .event-budget-line strong,
html[data-theme="dark"] .event-rfq-metrics strong,
html[data-theme="dark"] .event-quote-total strong,
html[data-theme="dark"] .event-budget-kpi strong { color:#fff; }
html[data-theme="dark"] .event-runway-row,
html[data-theme="dark"] .event-project-mini { border-color:rgba(255,255,255,.08); }
html[data-theme="dark"] .event-company-metrics span,
html[data-theme="dark"] .event-client-metrics span,
html[data-theme="dark"] .event-supplier-metrics span,
html[data-theme="dark"] .event-budget-line span,
html[data-theme="dark"] .event-rfq-metrics span,
html[data-theme="dark"] .event-project-progress,
html[data-theme="dark"] .event-project-foot span { background:#0b1a25; }
html[data-theme="dark"] .event-stage-filter { border-color:rgba(255,255,255,.08); background:#102331; }
html[data-theme="dark"] .event-stage-filter a { color:#adb8c0; }
html[data-theme="dark"] .event-mini-timeline::before,
html[data-theme="dark"] .event-timeline-board::before { background:rgba(255,255,255,.1); }
html[data-theme="dark"] .event-budget-table th { color:#aeb8c0; border-color:rgba(255,255,255,.08); background:#0b1a25; }
html[data-theme="dark"] .event-budget-table td { color:#e1e8ed; border-color:rgba(255,255,255,.07); background:#102331; }

@media (max-width:1199.98px) {
    .event-card-grid { grid-template-columns:1fr; }
}

@media (max-width:991.98px) {
    .event-onboarding { grid-template-columns:1fr; }
    .event-onboarding-orbit { display:none; }
    .event-supplier-hero,
    .event-budget-hero { grid-template-columns:1fr; }
    .event-quote-card { grid-template-columns:minmax(0,1fr) auto; }
    .event-quote-actions { grid-column:1/-1; }
}

@media (max-width:767.98px) {
    .event-context { padding:1.05rem 1rem 0; border-radius:18px; }
    .event-module-nav { margin:0 -1rem; padding-right:1rem; padding-left:1rem; }
    .event-onboarding { min-height:510px; padding:2rem 1.4rem; border-radius:23px; }
    .event-runway-row { grid-template-columns:48px minmax(0,1fr); }
    .event-runway-row > .status-dot { grid-column:2; }
    .event-project-mini { grid-template-columns:1fr 46px; }
    .event-project-mini .progress { grid-column:1/-1; grid-row:2; }
    .event-company-metrics,
    .event-budget-line,
    .event-rfq-metrics { grid-template-columns:1fr; }
    .event-quote-card { grid-template-columns:1fr; }
    .event-quote-total { text-align:left; }
    .event-quote-total .status-dot { justify-self:start; }
    .event-supplier-hero,
    .event-budget-hero { padding:1.6rem 1.3rem; border-radius:22px; }
    .event-timeline-board { padding-left:0; }
    .event-timeline-board::before { left:12px; }
    .event-timeline-item { grid-template-columns:18px minmax(0,1fr); }
    .event-timeline-item time { grid-column:2; grid-row:1; text-align:left; }
    .event-timeline-item > i { grid-column:1; grid-row:1/3; }
    .event-timeline-item > div:last-child { grid-column:2; }
}

/* RFQ Engine */
.rfqe-hero {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
    overflow:hidden;
    padding:2.2rem 2.35rem;
    color:#fff;
    border:1px solid rgba(255,255,255,.14);
    border-radius:28px;
    background:
        radial-gradient(circle at 88% 15%,rgba(244,194,105,.36),transparent 24%),
        radial-gradient(circle at 5% 100%,rgba(81,205,191,.2),transparent 34%),
        linear-gradient(135deg,#071f35,#0d4962 63%,#166b72);
    box-shadow:0 24px 70px rgba(5,31,51,.2);
}
.rfqe-hero::after {
    content:"";
    position:absolute;
    inset:-80% -10% auto 58%;
    width:420px;
    height:420px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
    box-shadow:0 0 0 35px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.025);
}
.rfqe-hero > * { position:relative; z-index:1; }
.rfqe-hero h2 { max-width:780px; margin:.35rem 0 .55rem; font-size:clamp(1.7rem,3vw,2.8rem); line-height:1.08; letter-spacing:-.045em; }
.rfqe-hero p { max-width:760px; margin:0; color:rgba(255,255,255,.74); font-size:1rem; }
.rfqe-kicker { color:#f8d493; font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.rfqe-hero-stat {
    min-width:112px;
    padding:1.1rem 1rem;
    text-align:center;
    border:1px solid rgba(255,255,255,.17);
    border-radius:20px;
    background:rgba(255,255,255,.09);
    backdrop-filter:blur(14px);
}
.rfqe-hero-stat strong { display:block; font-size:2rem; line-height:1; }
.rfqe-hero-stat span { display:block; margin-top:.4rem; color:rgba(255,255,255,.67); font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.hotel-rfq-hero { background:radial-gradient(circle at 88% 15%,rgba(241,178,92,.35),transparent 25%),linear-gradient(135deg,#10253c,#214f58 60%,#5a6f58); }
.rfqe-flow {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    overflow:hidden;
    border:1px solid rgba(20,54,72,.08);
    border-radius:22px;
    background:rgba(255,255,255,.72);
    box-shadow:0 14px 42px rgba(21,53,69,.07);
    backdrop-filter:blur(16px);
}
.rfqe-flow-step { position:relative; min-height:104px; padding:1rem 1.1rem 1rem 3.2rem; border-right:1px solid rgba(20,54,72,.08); }
.rfqe-flow-step:last-child { border-right:0; }
.rfqe-flow-step > span { position:absolute; top:1rem; left:1rem; display:grid; width:30px; height:30px; place-items:center; color:#0c6571; font-size:.68rem; font-weight:800; border-radius:50%; background:#e2f3f1; }
.rfqe-flow-step strong,.rfqe-flow-step small { display:block; }
.rfqe-flow-step strong { margin-top:.15rem; color:#102c3d; font-size:.84rem; }
.rfqe-flow-step small { margin-top:.28rem; color:#70818b; font-size:.7rem; line-height:1.35; }
.rfqe-form-card { background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,251,.96)); }
.rfqe-live-dot { display:inline-flex; align-items:center; gap:.4rem; padding:.4rem .65rem; color:#11705e; font-size:.67rem; font-weight:800; border-radius:999px; background:#e2f5ef; }
.rfqe-live-dot::before { content:""; width:7px; height:7px; border-radius:50%; background:#20a77f; box-shadow:0 0 0 4px rgba(32,167,127,.12); animation:rfqePulse 1.8s infinite; }
@keyframes rfqePulse { 50% { box-shadow:0 0 0 8px rgba(32,167,127,0); } }
.rfqe-check-grid { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.rfqe-check-grid label { display:flex; align-items:center; gap:.6rem; padding:.85rem .9rem; color:#334f5e; font-size:.78rem; font-weight:700; border:1px solid #dce8e9; border-radius:14px; background:#f8fbfb; cursor:pointer; }
.rfqe-check-grid input { accent-color:#0f7380; }
.rfqe-event-card,.rfqe-opportunity-card,.rfqe-quote-card {
    padding:1.35rem;
    border:1px solid rgba(17,55,73,.09);
    border-radius:22px;
    background:linear-gradient(155deg,#fff,#f8fbfb);
    box-shadow:0 14px 38px rgba(22,51,67,.07);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.rfqe-event-card:hover,.rfqe-opportunity-card:hover,.rfqe-quote-card:hover { transform:translateY(-3px); border-color:rgba(15,115,128,.24); box-shadow:0 20px 46px rgba(22,51,67,.12); }
.rfqe-event-metrics { display:grid; grid-template-columns:1.25fr .65fr 1fr; gap:.65rem; margin:1.15rem 0; }
.rfqe-event-metrics > div,.rfqe-booking-grid > div { padding:.75rem; border-radius:13px; background:#f0f6f6; }
.rfqe-event-metrics small,.rfqe-event-metrics strong,.rfqe-booking-grid small,.rfqe-booking-grid strong { display:block; }
.rfqe-event-metrics small,.rfqe-booking-grid small { margin-bottom:.22rem; color:#75858d; font-size:.65rem; text-transform:uppercase; letter-spacing:.055em; }
.rfqe-event-metrics strong,.rfqe-booking-grid strong { color:#163847; font-size:.78rem; }
.rfqe-response-strip { display:flex; flex-wrap:wrap; gap:.65rem; }
.rfqe-response-strip span { padding:.42rem .62rem; color:#647983; font-size:.7rem; border-radius:999px; background:#eef5f5; }
.rfqe-response-strip strong { color:#183b49; }
.rfqe-empty > span { display:grid; width:56px; height:56px; margin:0 auto 1rem; place-items:center; color:#0e6974; font-size:.8rem; font-weight:900; border-radius:18px; background:linear-gradient(135deg,#dff2f0,#eef8f6); box-shadow:0 12px 26px rgba(24,112,116,.14); }
.rfqe-progress { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); padding:1rem; border:1px solid rgba(20,54,72,.08); border-radius:20px; background:#fff; box-shadow:0 12px 35px rgba(21,53,69,.06); }
.rfqe-progress > div { position:relative; display:flex; align-items:center; gap:.6rem; color:#91a0a7; }
.rfqe-progress > div:not(:last-child)::after { content:""; position:absolute; top:50%; right:.6rem; width:calc(35% - .6rem); height:1px; background:#dbe4e6; }
.rfqe-progress span { display:grid; width:27px; height:27px; place-items:center; font-size:.7rem; font-weight:800; border-radius:50%; background:#edf2f3; }
.rfqe-progress strong { font-size:.73rem; }
.rfqe-progress .complete { color:#126a64; }
.rfqe-progress .complete span { color:#fff; background:linear-gradient(135deg,#1aa182,#0c7c7c); }
.rfqe-match-list { display:grid; gap:.8rem; }
.rfqe-match-row { display:grid; grid-template-columns:78px minmax(0,1fr) 120px; gap:1rem; align-items:center; padding:1rem; border:1px solid #e2ebec; border-radius:18px; background:#fbfdfd; }
.rfqe-score { display:flex; flex-direction:column; align-items:center; justify-content:center; width:68px; height:68px; border-radius:50%; background:radial-gradient(circle at center,#fff 54%,transparent 56%),conic-gradient(#168d80 calc(var(--score)*1%),#e2ecec 0); }
.rfqe-score strong { color:#123d49; font-size:1.2rem; line-height:1; }
.rfqe-score small { color:#708189; font-size:.58rem; }
.rfqe-score-parts { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.65rem; }
.rfqe-score-parts span,.rfqe-reasons span { padding:.25rem .45rem; color:#5e717a; font-size:.62rem; border-radius:7px; background:#edf4f4; }
.rfqe-score-parts strong { color:#183c49; }
.rfqe-reasons { display:flex; flex-wrap:wrap; gap:.35rem; }
.rfqe-match-quote { text-align:right; }
.rfqe-match-quote strong,.rfqe-match-quote small { display:block; }
.rfqe-match-quote strong { color:#123947; font-size:.83rem; }
.rfqe-match-quote small { color:#76878f; font-size:.65rem; }
.rfqe-detail-list { margin:1rem 0 0; }
.rfqe-detail-list > div { display:flex; justify-content:space-between; gap:1rem; padding:.75rem 0; border-bottom:1px solid #e8eeee; }
.rfqe-detail-list dt { color:#75868e; font-size:.72rem; font-weight:600; }
.rfqe-detail-list dd { margin:0; color:#153746; font-size:.76rem; font-weight:800; text-align:right; }
.rfqe-detail-list.compact > div { padding:.52rem 0; }
.rfqe-requirements { padding:1rem; color:#5c7079; font-size:.78rem; line-height:1.65; border-radius:14px; background:#f3f7f7; }
.rfqe-activity { position:relative; display:grid; gap:1rem; margin-top:1.2rem; }
.rfqe-activity::before { content:""; position:absolute; top:4px; bottom:4px; left:5px; width:1px; background:#dce7e8; }
.rfqe-activity > div { position:relative; padding-left:1.25rem; }
.rfqe-activity > div > span { position:absolute; top:5px; left:0; width:11px; height:11px; border:3px solid #d9efeb; border-radius:50%; background:#168d80; }
.rfqe-activity p { margin:0; color:#435d68; font-size:.73rem; }
.rfqe-activity small { color:#8b999f; font-size:.62rem; }
.rfqe-compare-badge { padding:.65rem .9rem; color:#0e6968; font-size:.7rem; font-weight:800; border:1px solid #d2e9e5; border-radius:12px; background:#ebf7f4; }
.rfqe-quote-card.selected { border-color:#38a77f; box-shadow:0 0 0 3px rgba(56,167,127,.12),0 18px 44px rgba(22,51,67,.1); }
.rfqe-score-mini { display:grid; min-width:48px; height:48px; place-items:center; color:#fff; font-size:.78rem; font-weight:900; border-radius:15px; background:linear-gradient(135deg,#0d7a80,#1c9b77); box-shadow:0 10px 20px rgba(15,126,119,.2); }
.rfqe-quote-price { padding:1rem; margin:1.15rem 0; border-radius:16px; background:linear-gradient(135deg,#eef7f6,#f7faf9); }
.rfqe-quote-price small,.rfqe-quote-price strong,.rfqe-quote-price span { display:block; }
.rfqe-quote-price small { color:#72838b; font-size:.66rem; text-transform:uppercase; letter-spacing:.05em; }
.rfqe-quote-price strong { margin:.12rem 0; color:#123a48; font-size:1.45rem; }
.rfqe-quote-price span { color:#6e8189; font-size:.68rem; }
.rfqe-tag { padding:.32rem .5rem; color:#136979; font-size:.61rem; font-weight:800; border-radius:7px; background:#e5f2f4; }
.rfqe-tag.success { color:#117054; background:#e0f3ea; }
.rfqe-tag.warning { color:#8a6013; background:#fff1d7; }
.rfqe-compare-table th { white-space:nowrap; }
.rfqe-compare-notes td { padding-top:.7rem !important; padding-bottom:1rem !important; color:#697b83; font-size:.7rem; background:#f8fbfb !important; }
.rfqe-compare-notes div + div { margin-top:.3rem; }
.rfqe-booking-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }
.rfqe-booking-grid.two-col { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rfqe-cost-stack { padding:1rem 1.2rem; border:1px solid #e0eaea; border-radius:16px; background:#fbfdfd; }
.rfqe-cost-stack > div { display:flex; justify-content:space-between; gap:1rem; padding:.45rem 0; color:#657982; font-size:.78rem; }
.rfqe-cost-stack .total { margin-top:.4rem; padding-top:.8rem; color:#143745; font-size:1rem; border-top:1px solid #dbe6e7; }
.rfqe-payment-card { position:sticky; top:82px; }
.rfqe-wallet-balance { padding:1.1rem; color:#fff; border-radius:18px; background:radial-gradient(circle at 90% 0,rgba(244,194,105,.32),transparent 30%),linear-gradient(135deg,#0d354a,#0e7175); box-shadow:0 16px 34px rgba(13,63,76,.18); }
.rfqe-wallet-balance small,.rfqe-wallet-balance strong,.rfqe-wallet-balance span { display:block; }
.rfqe-wallet-balance small { color:rgba(255,255,255,.68); font-size:.66rem; text-transform:uppercase; letter-spacing:.06em; }
.rfqe-wallet-balance strong { margin:.3rem 0; font-size:1.55rem; }
.rfqe-wallet-balance span { color:rgba(255,255,255,.68); font-size:.65rem; }
.rfqe-payment-state { display:flex; align-items:center; gap:.8rem; padding:1rem; border-radius:16px; }
.rfqe-payment-state > span { display:grid; width:38px; height:38px; place-items:center; color:#fff; border-radius:50%; }
.rfqe-payment-state strong,.rfqe-payment-state small { display:block; }
.rfqe-payment-state small { margin-top:.12rem; opacity:.72; font-size:.65rem; }
.rfqe-payment-state.success { color:#126049; background:#e2f4eb; }
.rfqe-payment-state.success > span { background:#24996e; }
.rfqe-payment-state.warning { color:#7b5817; background:#fff2d8; }
.rfqe-payment-state.warning > span { background:#d39a2f; }
.rfqe-contract-copy { max-height:480px; overflow:auto; padding:1.4rem; color:#536a74; font-family:Georgia,serif; font-size:.82rem; line-height:1.8; border:1px solid #dfe9ea; border-radius:16px; background:#fbfcfc; white-space:normal; }
.rfqe-signatures { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.rfqe-signatures > div { padding:1rem; border:1px dashed #cbd9dc; border-radius:15px; background:#f7fafa; }
.rfqe-signatures > div.signed { border-style:solid; border-color:#b8dfd1; background:#edf8f3; }
.rfqe-signatures small,.rfqe-signatures strong,.rfqe-signatures span { display:block; }
.rfqe-signatures small { color:#7e8d93; font-size:.62rem; text-transform:uppercase; letter-spacing:.06em; }
.rfqe-signatures strong { margin:.3rem 0; color:#173c49; font-size:.82rem; }
.rfqe-signatures span { color:#788990; font-size:.65rem; }
.rfqe-sign-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:end; padding:1rem; border-radius:16px; background:#eef6f5; }
.rfqe-notification-count { display:grid; min-width:34px; height:34px; place-items:center; color:#fff; font-size:.7rem; font-weight:900; border-radius:11px; background:#147b81; }
.rfqe-notifications { display:grid; }
.rfqe-notifications a { display:grid; grid-template-columns:8px minmax(0,1fr); gap:.7rem; padding:.85rem 0; color:inherit; text-decoration:none; border-bottom:1px solid #e7eeee; }
.rfqe-notifications a > span { width:7px; height:7px; margin-top:.35rem; border-radius:50%; background:#cad5d7; }
.rfqe-notifications a.unread > span { background:#138d7f; box-shadow:0 0 0 4px rgba(19,141,127,.1); }
.rfqe-notifications strong { display:block; color:#244654; font-size:.74rem; }
.rfqe-notifications p { margin:.18rem 0; color:#75868e; font-size:.67rem; line-height:1.4; }
.rfqe-notifications small { color:#9aa6ab; font-size:.6rem; }
.rfqe-score-panel { min-width:130px; padding:1rem; text-align:center; color:#fff; border-radius:20px; background:linear-gradient(135deg,#0d7480,#1a9c78); box-shadow:0 15px 30px rgba(16,127,120,.18); }
.rfqe-score-panel span,.rfqe-score-panel strong { display:block; }
.rfqe-score-panel span { font-size:.65rem; opacity:.75; }
.rfqe-score-panel strong { font-size:1.9rem; line-height:1.15; }
.rfqe-award-banner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.2rem 1.4rem; color:#fff; border-radius:20px; background:radial-gradient(circle at 80% 0,rgba(242,193,102,.33),transparent 33%),linear-gradient(135deg,#17425a,#157a72); box-shadow:0 17px 38px rgba(16,72,81,.16); }
.rfqe-award-banner span,.rfqe-award-banner strong,.rfqe-award-banner small { display:block; }
.rfqe-award-banner span { color:#f7cf89; font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.rfqe-award-banner strong { font-size:1.15rem; }
.rfqe-award-banner small { color:rgba(255,255,255,.7); }
.rfqe-bars { display:grid; gap:1rem; margin-top:1.2rem; }
.rfqe-bars p { display:flex; justify-content:space-between; margin:0 0 .35rem; color:#667b84; font-size:.7rem; }
.rfqe-bars p strong { color:#183d49; }
.rfqe-bars > div > span { display:block; height:7px; overflow:hidden; border-radius:99px; background:#e4ecee; }
.rfqe-bars i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#1a9d81,#0c7181); }
.rfqe-form-section { padding:1.1rem 0 1.35rem; border-bottom:1px solid #e8eeee; }
.rfqe-form-section:first-of-type { padding-top:0; }
.rfqe-form-section h3 { margin-bottom:1rem; color:#234451; font-size:.75rem; text-transform:uppercase; letter-spacing:.07em; }
.status-matching,.status-published,.status-notified,.status-viewed { color:#176574; background:#e2f1f4; }
.status-quoting,.status-responded,.status-revised,.status-processing { color:#7a5c19; background:#fff1d4; }
.status-comparison,.status-shortlisted,.status-part_signed { color:#604c91; background:#eee8fb; }
.status-awarded,.status-booked,.status-paid,.status-contracted,.status-accepted,.status-executed { color:#166349; background:#ddf2e8; }
.status-declined,.status-expired,.status-rejected,.status-failed { color:#8a3e45; background:#f8e4e5; }

html[data-theme="dark"] .rfqe-flow,
html[data-theme="dark"] .rfqe-progress,
html[data-theme="dark"] .rfqe-event-card,
html[data-theme="dark"] .rfqe-opportunity-card,
html[data-theme="dark"] .rfqe-quote-card,
html[data-theme="dark"] .rfqe-match-row,
html[data-theme="dark"] .rfqe-contract-copy,
html[data-theme="dark"] .rfqe-signatures > div,
html[data-theme="dark"] .rfqe-cost-stack { color:#e8f0f3; border-color:rgba(255,255,255,.08); background:#102331; }
html[data-theme="dark"] .rfqe-flow-step { border-color:rgba(255,255,255,.08); }
html[data-theme="dark"] .rfqe-flow-step strong,
html[data-theme="dark"] .rfqe-event-metrics strong,
html[data-theme="dark"] .rfqe-booking-grid strong,
html[data-theme="dark"] .rfqe-match-main h3,
html[data-theme="dark"] .rfqe-match-quote strong,
html[data-theme="dark"] .rfqe-detail-list dd,
html[data-theme="dark"] .rfqe-quote-price strong,
html[data-theme="dark"] .rfqe-signatures strong,
html[data-theme="dark"] .rfqe-notifications strong,
html[data-theme="dark"] .rfqe-bars p strong { color:#eff7f8; }
html[data-theme="dark"] .rfqe-event-metrics > div,
html[data-theme="dark"] .rfqe-booking-grid > div,
html[data-theme="dark"] .rfqe-response-strip span,
html[data-theme="dark"] .rfqe-score-parts span,
html[data-theme="dark"] .rfqe-reasons span,
html[data-theme="dark"] .rfqe-requirements,
html[data-theme="dark"] .rfqe-quote-price,
html[data-theme="dark"] .rfqe-check-grid label,
html[data-theme="dark"] .rfqe-sign-form { color:#b7c4ca; border-color:rgba(255,255,255,.08); background:#0b1a25; }
html[data-theme="dark"] .rfqe-detail-list > div,
html[data-theme="dark"] .rfqe-notifications a,
html[data-theme="dark"] .rfqe-form-section { border-color:rgba(255,255,255,.08); }

@media (max-width:1199.98px) {
    .rfqe-payment-card { position:static; }
    .rfqe-flow { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .rfqe-flow-step:nth-child(3) { border-right:0; }
    .rfqe-flow-step:nth-child(-n+3) { border-bottom:1px solid rgba(20,54,72,.08); }
}
@media (max-width:991.98px) {
    .rfqe-progress { grid-template-columns:repeat(3,1fr); gap:1rem; }
    .rfqe-progress > div::after { display:none; }
    .rfqe-booking-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rfqe-match-row { grid-template-columns:68px minmax(0,1fr); }
    .rfqe-match-quote { grid-column:2; text-align:left; }
}
@media (max-width:767.98px) {
    .rfqe-hero { align-items:flex-start; padding:1.6rem 1.35rem; border-radius:22px; }
    .rfqe-hero > .d-flex { flex-direction:column; }
    .rfqe-hero-stat { min-width:86px; }
    .rfqe-flow { grid-template-columns:1fr 1fr; }
    .rfqe-flow-step,.rfqe-flow-step:nth-child(3) { border-right:1px solid rgba(20,54,72,.08); border-bottom:1px solid rgba(20,54,72,.08); }
    .rfqe-flow-step:nth-child(even),.rfqe-flow-step:last-child { border-right:0; }
    .rfqe-flow-step:last-child { grid-column:1/-1; border-bottom:0; }
    .rfqe-check-grid,.rfqe-signatures,.rfqe-sign-form { grid-template-columns:1fr; }
    .rfqe-event-metrics { grid-template-columns:1fr 1fr; }
    .rfqe-event-metrics > div:first-child { grid-column:1/-1; }
    .rfqe-progress { grid-template-columns:1fr 1fr; }
    .rfqe-match-row { grid-template-columns:1fr; }
    .rfqe-match-quote { grid-column:1; }
    .rfqe-score { width:58px; height:58px; }
    .rfqe-award-banner { align-items:flex-start; flex-direction:column; }
}
@media (max-width:479.98px) {
    .rfqe-hero { flex-direction:column; }
    .rfqe-flow { grid-template-columns:1fr; }
    .rfqe-flow-step,.rfqe-flow-step:nth-child(even),.rfqe-flow-step:nth-child(3) { grid-column:auto; border-right:0; border-bottom:1px solid rgba(20,54,72,.08); }
    .rfqe-flow-step:last-child { grid-column:auto; border-bottom:0; }
    .rfqe-progress,.rfqe-booking-grid,.rfqe-booking-grid.two-col { grid-template-columns:1fr; }
}

/* Hotel Profile Studio */
.hps-hero {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
    overflow:hidden;
    padding:2.2rem;
    color:#fff;
    border-radius:28px;
    background:
        radial-gradient(circle at 85% 15%,rgba(241,191,98,.3),transparent 28%),
        linear-gradient(135deg,#102f47 0%,#126f72 100%);
    box-shadow:0 24px 55px rgba(21,65,78,.2);
}
.hps-hero::after { position:absolute; right:-80px; bottom:-100px; width:260px; height:260px; content:""; border:1px solid rgba(255,255,255,.15); border-radius:50%; }
.hps-hero > * { position:relative; z-index:1; }
.hps-hero h2 { max-width:760px; margin:.35rem 0 .75rem; font-family:Georgia,serif; font-size:clamp(1.75rem,3vw,2.7rem); line-height:1.08; }
.hps-hero p { max-width:690px; margin:0; color:rgba(255,255,255,.72); }
.hps-completion { min-width:165px; text-align:center; }
.hps-progress-ring { display:grid; width:132px; height:132px; margin:0 auto .65rem; place-content:center; border-radius:50%; background:radial-gradient(circle,#123f50 57%,transparent 59%),conic-gradient(#f2c36e calc(var(--completion) * 1%),rgba(255,255,255,.15) 0); box-shadow:inset 0 0 24px rgba(255,255,255,.07); }
.hps-progress-ring strong,.hps-progress-ring span { display:block; }
.hps-progress-ring strong { font-size:1.7rem; }
.hps-progress-ring span,.hps-completion small { color:rgba(255,255,255,.68); font-size:.68rem; }
.hps-anchor-nav { position:sticky; z-index:10; top:64px; display:flex; gap:.45rem; overflow-x:auto; margin:1.15rem 0; padding:.55rem; border:1px solid rgba(32,75,91,.08); border-radius:16px; background:rgba(255,255,255,.88); box-shadow:0 10px 25px rgba(18,57,72,.07); backdrop-filter:blur(18px); }
.hps-anchor-nav a { flex:0 0 auto; padding:.55rem .8rem; color:#5d7179; font-size:.7rem; font-weight:800; text-decoration:none; border-radius:10px; }
.hps-anchor-nav a:hover { color:#17636c; background:#e8f4f3; }
.hps-section { margin:1.35rem 0; padding:1.6rem; border:1px solid rgba(26,69,85,.08); border-radius:24px; background:#fff; box-shadow:0 13px 34px rgba(19,55,69,.06); scroll-margin-top:140px; }
.hps-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.hps-section-heading h2 { margin:.2rem 0 0; color:#193e4b; font-family:Georgia,serif; font-size:1.45rem; }
.hps-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; }
.hps-stat-card { padding:1rem; border:1px solid #e1ecec; border-radius:17px; background:linear-gradient(135deg,#f9fbfb,#eff7f6); }
.hps-stat-card strong,.hps-stat-card span { display:block; }
.hps-stat-card strong { color:#153f4d; font-size:1.55rem; }
.hps-stat-card span { color:#6e7f86; font-size:.67rem; }
.hps-quick-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; margin-top:.85rem; }
.hps-quick-links a { padding:1rem; color:inherit; text-decoration:none; border:1px solid #e6eeee; border-radius:17px; transition:transform .2s ease,border-color .2s ease; }
.hps-quick-links a:hover { transform:translateY(-2px); border-color:#8fc9c3; }
.hps-quick-links strong,.hps-quick-links span { display:block; }
.hps-quick-links strong { color:#204450; font-size:.78rem; }
.hps-quick-links span { margin-top:.25rem; color:#849297; font-size:.64rem; }
.hps-card-list,.hps-review-list,.hps-cancellation-list { display:grid; gap:.8rem; }
.hps-list-card { display:grid; grid-template-columns:90px minmax(0,1fr) auto; gap:1rem; align-items:center; padding:.9rem; border:1px solid #e4ecee; border-radius:17px; background:#fbfcfc; }
.hps-list-card > img,.hps-card-placeholder { width:90px; height:72px; object-fit:cover; border-radius:12px; }
.hps-card-placeholder { display:grid; place-items:center; color:#fff; font-size:.65rem; font-weight:800; background:linear-gradient(135deg,#1a6d73,#deb766); }
.hps-list-card h3 { margin:0; color:#214553; font-size:.9rem; }
.hps-list-card p { margin:.2rem 0; color:#718188; font-size:.7rem; }
.hps-list-card small { color:#89969b; font-size:.64rem; }
.hps-plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.hps-plan-card { position:relative; overflow:hidden; min-height:260px; border-radius:19px; background:#163d4b; }
.hps-plan-card::after { position:absolute; inset:0; content:""; background:linear-gradient(transparent 30%,rgba(6,28,38,.9)); }
.hps-plan-card img { width:100%; height:260px; object-fit:cover; transition:transform .35s ease; }
.hps-plan-card:hover img { transform:scale(1.03); }
.hps-plan-card > div { position:absolute; z-index:2; right:1rem; bottom:1rem; left:1rem; color:#fff; }
.hps-plan-card > div span { color:#f2c672; font-size:.6rem; text-transform:uppercase; letter-spacing:.07em; }
.hps-plan-card h3 { margin:.2rem 0; font-size:1rem; }
.hps-plan-card p { margin:0; color:rgba(255,255,255,.68); font-size:.65rem; }
.hps-plan-card form { position:absolute; z-index:3; top:.8rem; right:.8rem; }
.hps-map-card { overflow:hidden; border:1px solid #dfebeb; border-radius:20px; background:#eff6f5; }
.hps-map-card iframe { display:block; width:100%; height:350px; border:0; }
.hps-map-card > div:not(.hps-map-empty) { display:flex; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; }
.hps-map-card > div strong,.hps-map-card > div span { display:block; }
.hps-map-card > div strong { color:#234654; font-size:.78rem; }
.hps-map-card > div span { color:#718288; font-size:.66rem; text-align:right; }
.hps-map-empty { display:grid; min-height:350px; place-content:center; padding:2rem; text-align:center; }
.hps-map-empty strong { color:#234654; }
.hps-map-empty p { max-width:330px; margin:.5rem auto 0; color:#718288; font-size:.72rem; }
.hps-place-card { grid-template-columns:65px minmax(0,1fr) auto; }
.hps-distance { display:grid; width:58px; height:58px; place-content:center; color:#fff; text-align:center; border-radius:15px; background:linear-gradient(135deg,#147b7b,#21a177); }
.hps-distance strong,.hps-distance span { display:block; line-height:1; }
.hps-distance strong { font-size:1rem; }
.hps-distance span { margin-top:.2rem; font-size:.55rem; }
.hps-rating-summary { display:flex; align-items:baseline; gap:.35rem; color:#1a4451; }
.hps-rating-summary strong { font-size:1.7rem; }
.hps-rating-summary span { color:#7a8a90; font-size:.65rem; }
.hps-review-card { padding:1.15rem; border:1px solid #e1ebec; border-radius:18px; background:#fbfcfc; }
.hps-review-card h3 { margin:.25rem 0; color:#234652; font-size:.88rem; }
.hps-review-card > p { margin:.65rem 0; color:#60747c; font-size:.72rem; line-height:1.65; }
.hps-review-card > small { color:#879499; font-size:.64rem; }
.hps-stars { color:#b77d17; font-size:.68rem; font-weight:900; }
.hps-benefit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
.hps-benefit-card { padding:1.2rem; border:1px solid #e2ebec; border-radius:18px; background:linear-gradient(145deg,#fff,#f5f9f8); }
.hps-benefit-card > span { color:#148070; font-size:.59rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.hps-benefit-card h3 { margin:.35rem 0; color:#214451; font-size:.92rem; }
.hps-benefit-card > strong { display:block; color:#b77b19; font-size:1.05rem; }
.hps-benefit-card p { min-height:2.5em; margin:.55rem 0; color:#6c7d83; font-size:.7rem; }
.hps-benefit-card small { color:#8a969b; font-size:.62rem; }
.hps-cancellation-list > article { display:grid; grid-template-columns:minmax(0,1fr) 130px auto; gap:1rem; align-items:center; padding:1.1rem; border:1px solid #e2ebec; border-radius:18px; }
.hps-cancellation-list article > div:first-child span { color:#16806f; font-size:.58rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.hps-cancellation-list h3 { margin:.2rem 0; color:#214551; font-size:.88rem; }
.hps-cancellation-list p { margin:0; color:#74848a; font-size:.68rem; }
.hps-charge { padding:.65rem; text-align:center; border-radius:12px; background:#eef6f4; }
.hps-charge strong,.hps-charge span { display:block; }
.hps-charge strong { color:#1b6f68; font-size:.9rem; }
.hps-charge span { color:#71868a; font-size:.55rem; }
.hps-calendar { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:.5rem; }
.hps-calendar article { display:grid; min-height:92px; padding:.7rem .4rem; place-content:center; text-align:center; border:1px solid #d8e8e6; border-radius:14px; background:#eef8f4; }
.hps-calendar span,.hps-calendar small { color:#638078; font-size:.56rem; }
.hps-calendar strong { color:#176350; font-size:1.1rem; }
.hps-calendar .is-empty { border-color:#e6e9ea; background:#f5f6f7; }
.hps-calendar .is-empty * { color:#9ca5a8; }
.hps-calendar .is-sold { border-color:#efdadb; background:#fbefef; }
.hps-calendar .is-sold * { color:#9a4e52; }

/* Public hotel profile */
.hotel-public-page { --hotel-navy:#0c2d3e; --hotel-teal:#137576; --hotel-gold:#d9ad59; --hotel-cream:#f5f1e8; color:#243e48; background:#fff; }
.hotel-public-page .site-header { position:absolute; z-index:100; top:0; right:0; left:0; background:rgba(8,31,44,.72); border-bottom-color:rgba(255,255,255,.1); backdrop-filter:blur(18px); }
.hotel-public-page .site-header .brand-copy strong,.hotel-public-page .site-header .nav-link { color:#fff; }
.hotel-public-page .site-header .brand-copy small { color:rgba(255,255,255,.62); }
.hotel-public-page .site-header .brand-mark { color:#efc978; }
.hotel-public-page .navbar-toggler { border-color:rgba(255,255,255,.3); }
.hotel-public-page .navbar-toggler-icon { filter:invert(1); }
.hotel-public-hero { position:relative; overflow:hidden; min-height:740px; padding:155px 0 78px; color:#fff; background:radial-gradient(circle at 80% 20%,#257b78,transparent 35%),linear-gradient(135deg,#0a293b,#164e5a); }
.hotel-public-hero.has-cover { background-image:var(--hotel-cover); background-position:center; background-size:cover; }
.hotel-public-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,22,32,.94) 0%,rgba(4,26,37,.74) 48%,rgba(4,24,35,.28) 100%); }
.hotel-public-crumbs { display:flex; gap:.55rem; color:rgba(255,255,255,.5); font-size:.7rem; }
.hotel-public-crumbs a { color:#f2cd80; text-decoration:none; }
.hotel-public-hero-content { display:flex; align-items:flex-end; justify-content:space-between; gap:3rem; min-height:480px; }
.hotel-public-hero-content > div { max-width:800px; }
.hotel-public-kicker { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.1rem; }
.hotel-public-kicker span { padding:.45rem .75rem; font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; border:1px solid rgba(255,255,255,.25); border-radius:999px; background:rgba(255,255,255,.1); backdrop-filter:blur(10px); }
.hotel-public-hero h1 { max-width:850px; margin:0 0 1rem; font-family:Georgia,serif; font-size:clamp(3.2rem,6.7vw,6.6rem); line-height:.92; letter-spacing:-.045em; }
.hotel-public-hero-content > div > p { max-width:680px; color:rgba(255,255,255,.74); font-size:1.05rem; line-height:1.7; }
.hotel-public-location { display:flex; gap:.55rem; align-items:center; margin-top:1rem; color:#f4d28c; font-size:.78rem; }
.hotel-public-sourcing-card { flex:0 0 310px; padding:1.45rem; border:1px solid rgba(255,255,255,.2); border-radius:22px; background:rgba(9,37,50,.58); box-shadow:0 25px 60px rgba(0,0,0,.25); backdrop-filter:blur(20px); }
.hotel-public-sourcing-card > span { color:#f2ca78; font-size:.6rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.hotel-public-sourcing-card > strong { display:block; margin:.45rem 0; font-family:Georgia,serif; font-size:1.25rem; }
.hotel-public-sourcing-card > p { color:rgba(255,255,255,.66); font-size:.7rem; line-height:1.55; }
.hotel-public-subnav { position:sticky; z-index:50; top:0; border-bottom:1px solid #e6ecec; background:rgba(255,255,255,.94); backdrop-filter:blur(18px); }
.hotel-public-subnav nav { display:flex; gap:1.5rem; overflow-x:auto; }
.hotel-public-subnav a { flex:0 0 auto; padding:1rem 0; color:#65767c; font-size:.7rem; font-weight:800; text-decoration:none; border-bottom:2px solid transparent; }
.hotel-public-subnav a:hover { color:#116b6d; border-color:#d9ad59; }
.hotel-public-main { overflow:hidden; }
.hotel-public-section { padding-top:100px; padding-bottom:100px; scroll-margin-top:50px; }
.hotel-public-wash { background:linear-gradient(135deg,#f7f4ed,#eef6f3); }
.hotel-public-intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr); gap:5rem; align-items:center; padding-top:105px; padding-bottom:105px; }
.hotel-public-intro h2,.hotel-public-heading h2 { color:var(--hotel-navy); font-family:Georgia,serif; letter-spacing:-.025em; }
.hotel-public-intro h2 { max-width:700px; margin:.55rem 0 1rem; font-size:clamp(2.1rem,4vw,3.8rem); line-height:1.05; }
.hotel-public-intro > div:first-child > p { color:#64767d; line-height:1.85; }
.hotel-public-facts { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border:1px solid #dfebea; border-radius:24px; box-shadow:0 20px 45px rgba(14,57,66,.08); }
.hotel-public-facts article { padding:1.5rem; border-right:1px solid #dfebea; border-bottom:1px solid #dfebea; background:#fff; }
.hotel-public-facts article:nth-child(even) { border-right:0; }
.hotel-public-facts article:nth-last-child(-n+2) { border-bottom:0; }
.hotel-public-facts strong,.hotel-public-facts span { display:block; }
.hotel-public-facts strong { color:#126e6e; font-family:Georgia,serif; font-size:2rem; }
.hotel-public-facts span { color:#7a8b90; font-size:.65rem; }
.hotel-public-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:3rem; margin-bottom:2.1rem; }
.hotel-public-heading h2 { margin:.4rem 0 0; font-size:clamp(2rem,3.5vw,3.2rem); }
.hotel-public-heading > p { max-width:430px; margin:0; color:#718187; line-height:1.65; }
.hotel-public-offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.hotel-public-offer-grid article { padding:1.4rem; color:#fff; border-radius:20px; background:radial-gradient(circle at 100% 0,rgba(235,190,104,.3),transparent 35%),linear-gradient(135deg,#0e3545,#14736f); box-shadow:0 15px 35px rgba(20,71,77,.13); }
.hotel-public-offer-grid article > span,.hotel-public-offer-grid article code { color:#f1ca7d; font-size:.58rem; text-transform:uppercase; letter-spacing:.08em; }
.hotel-public-offer-grid h3 { margin:.55rem 0; font-family:Georgia,serif; font-size:1.25rem; }
.hotel-public-offer-grid p { min-height:3.1em; color:rgba(255,255,255,.67); font-size:.7rem; }
.hotel-public-offer-grid article > div { display:flex; align-items:center; justify-content:space-between; }
.hotel-public-offer-grid article code { padding:.35rem .55rem; border:1px dashed rgba(255,255,255,.35); border-radius:8px; background:rgba(0,0,0,.12); }
.hotel-public-benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem; margin-top:1rem; }
.hotel-public-benefits article { padding:1.2rem; border:1px solid #dbe8e4; border-radius:18px; background:rgba(255,255,255,.72); }
.hotel-public-benefits article > span { color:#147873; font-size:.56rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.hotel-public-benefits h3 { margin:.4rem 0; color:#214350; font-size:.9rem; }
.hotel-public-benefits article > strong { display:block; color:#b97917; }
.hotel-public-benefits p { color:#718087; font-size:.68rem; line-height:1.55; }
.hotel-public-benefits small { color:#879499; font-size:.6rem; }
.hotel-public-gallery { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:190px; gap:.7rem; }
.hotel-public-gallery figure { position:relative; overflow:hidden; margin:0; border-radius:18px; background:#e8eeee; }
.hotel-public-gallery figure.is-featured { grid-column:span 2; grid-row:span 2; }
.hotel-public-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.hotel-public-gallery figure:hover img { transform:scale(1.04); }
.hotel-public-gallery figcaption { position:absolute; right:.75rem; bottom:.65rem; left:.75rem; overflow:hidden; color:#fff; font-size:.64rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; text-shadow:0 1px 7px #000; }
.hotel-public-film-grid { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin-top:.8rem; }
.hotel-public-film-grid a { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:1rem; align-items:center; padding:1rem; color:inherit; text-decoration:none; border:1px solid #dde8e8; border-radius:17px; background:#f8fbfa; }
.hotel-public-film-grid a > span { display:grid; width:48px; height:48px; place-items:center; color:#fff; border-radius:50%; background:linear-gradient(135deg,#1a7777,#d6a956); }
.hotel-public-film-grid small,.hotel-public-film-grid strong { display:block; }
.hotel-public-film-grid small { color:#74868b; font-size:.58rem; text-transform:uppercase; }
.hotel-public-film-grid strong { color:#244653; font-size:.78rem; }
.hotel-public-film-grid b { color:#15817a; }
.hotel-public-tour-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.hotel-public-tour-grid article { overflow:hidden; border:1px solid #e1e9ea; border-radius:19px; }
.hotel-public-tour-grid .panorama-viewer { height:300px; }
.hotel-public-tour-grid h3 { margin:0; padding:1rem; color:#244753; font-size:.82rem; }
.hotel-public-amenities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.hotel-public-amenities article { padding:1.4rem; border:1px solid #dce9e5; border-radius:19px; background:rgba(255,255,255,.78); }
.hotel-public-amenities h3 { margin-bottom:1rem; color:#20434f; font-family:Georgia,serif; font-size:1rem; }
.hotel-public-amenities article > div { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.hotel-public-amenities span { display:flex; gap:.5rem; align-items:center; color:#64777d; font-size:.68rem; }
.hotel-public-amenities i { display:grid; width:20px; height:20px; place-items:center; color:#14776c; font-size:.55rem; font-style:normal; border-radius:50%; background:#e3f3ed; }
.hotel-public-dining-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.hotel-public-dining-grid article { display:grid; grid-template-columns:45% 55%; overflow:hidden; min-height:330px; border:1px solid #e1e9e9; border-radius:22px; background:#fff; box-shadow:0 18px 40px rgba(20,55,67,.06); }
.hotel-public-dining-grid img,.hotel-public-image-placeholder { width:100%; height:100%; min-height:330px; object-fit:cover; }
.hotel-public-image-placeholder { display:grid; place-items:center; color:#fff; font-family:Georgia,serif; background:linear-gradient(145deg,#176a70,#d2a555); }
.hotel-public-dining-grid article > div:last-child { padding:1.5rem; }
.hotel-public-dining-grid article > div > span { color:#128071; font-size:.57rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.hotel-public-dining-grid h3 { margin:.45rem 0; color:#193d4b; font-family:Georgia,serif; font-size:1.35rem; }
.hotel-public-dining-grid p { color:#718087; font-size:.7rem; line-height:1.6; }
.hotel-public-dining-grid ul { display:flex; flex-wrap:wrap; gap:.4rem; margin:1rem 0; padding:0; list-style:none; }
.hotel-public-dining-grid li { padding:.35rem .55rem; color:#61777a; font-size:.58rem; border-radius:99px; background:#eef5f2; }
.hotel-public-dining-grid a { color:#147873; font-size:.67rem; font-weight:800; text-decoration:none; }
.hotel-public-meetings { color:#fff; background:radial-gradient(circle at 90% 10%,rgba(221,174,88,.2),transparent 28%),linear-gradient(145deg,#0b2d3d,#13575e); }
.hotel-public-meetings .hotel-public-heading h2 { color:#fff; }
.hotel-public-meetings .hotel-public-heading > p { color:rgba(255,255,255,.6); }
.hotel-public-venue-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.hotel-public-venue-grid article { padding:1.4rem; border:1px solid rgba(255,255,255,.13); border-radius:20px; background:rgba(255,255,255,.07); backdrop-filter:blur(12px); }
.hotel-public-venue-grid article > span { color:#f2ca78; font-size:.57rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.hotel-public-venue-grid h3 { min-height:2.2em; margin:.45rem 0; font-family:Georgia,serif; font-size:1.25rem; }
.hotel-public-venue-grid article > div { display:flex; align-items:baseline; gap:.4rem; margin:1rem 0; }
.hotel-public-venue-grid article > div b { font-size:2rem; }
.hotel-public-venue-grid article > div small { color:rgba(255,255,255,.5); }
.hotel-public-venue-grid ul { margin:0 0 1rem; padding:0; color:rgba(255,255,255,.65); font-size:.68rem; list-style:none; }
.hotel-public-venue-grid li { margin:.35rem 0; }
.hotel-public-venue-grid article > strong { color:#f2ca78; font-size:.72rem; }
.hotel-public-floorplans { margin-top:3rem; padding-top:2.5rem; border-top:1px solid rgba(255,255,255,.12); }
.hotel-public-floorplans > div:first-child { margin-bottom:1.2rem; }
.hotel-public-floorplans h3 { font-family:Georgia,serif; font-size:1.5rem; }
.hotel-public-floorplan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.hotel-public-floorplan-grid figure { overflow:hidden; margin:0; border-radius:17px; background:#fff; }
.hotel-public-floorplan-grid img { width:100%; height:210px; object-fit:cover; }
.hotel-public-floorplan-grid figcaption { padding:.8rem; }
.hotel-public-floorplan-grid figcaption strong,.hotel-public-floorplan-grid figcaption span { display:block; }
.hotel-public-floorplan-grid figcaption strong { color:#1e424e; font-size:.76rem; }
.hotel-public-floorplan-grid figcaption span { color:#75878b; font-size:.6rem; }
.hotel-public-location-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr); gap:1rem; }
.hotel-public-map { overflow:hidden; border:1px solid #dfe9e9; border-radius:22px; background:#eef4f3; }
.hotel-public-map iframe { display:block; width:100%; height:450px; border:0; }
.hotel-public-map > div { display:grid; height:450px; place-content:center; padding:2rem; text-align:center; }
.hotel-public-map address { display:grid; padding:1rem 1.2rem; font-style:normal; }
.hotel-public-map address strong { color:#1e4350; font-size:.8rem; }
.hotel-public-map address span { color:#718187; font-size:.65rem; }
.hotel-public-nearby { display:grid; align-content:start; gap:.7rem; }
.hotel-public-nearby article { display:grid; grid-template-columns:60px minmax(0,1fr) auto; gap:.9rem; align-items:center; padding:1rem; border:1px solid #e0e9e9; border-radius:17px; }
.hotel-public-nearby article > div { display:grid; width:56px; height:56px; place-content:center; color:#fff; text-align:center; border-radius:14px; background:linear-gradient(135deg,#117375,#21a37a); }
.hotel-public-nearby article > div strong,.hotel-public-nearby article > div span { display:block; line-height:1; }
.hotel-public-nearby article > div span { margin-top:.25rem; font-size:.52rem; }
.hotel-public-nearby small { color:#168073; font-size:.54rem; text-transform:uppercase; }
.hotel-public-nearby h3 { margin:.15rem 0; color:#21434f; font-size:.8rem; }
.hotel-public-nearby p { margin:0; color:#77868b; font-size:.62rem; }
.hotel-public-nearby a { color:#147c75; font-weight:900; text-decoration:none; }
.hotel-public-empty { padding:2rem; color:#7a898e; text-align:center; border:1px dashed #d8e2e2; border-radius:18px; }
.hotel-public-reviews { background:#f4f0e7; }
.hotel-public-score { display:flex; align-items:center; gap:.75rem; }
.hotel-public-score strong { color:#126f6d; font-family:Georgia,serif; font-size:3rem; }
.hotel-public-score span { color:#718087; font-size:.65rem; line-height:1.4; }
.hotel-public-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.hotel-public-review-grid > article { padding:1.4rem; border:1px solid #dedbd1; border-radius:20px; background:rgba(255,255,255,.72); }
.hotel-public-stars { display:flex; justify-content:space-between; color:#a76f14; font-size:.68rem; font-weight:900; }
.hotel-public-stars b { padding:.25rem .45rem; color:#157363; font-size:.5rem; border-radius:99px; background:#e0efe8; }
.hotel-public-review-grid h3 { margin:.75rem 0; color:#193f4b; font-family:Georgia,serif; font-size:1.05rem; }
.hotel-public-review-grid blockquote { min-height:6.5em; margin:0; color:#64767c; font-size:.72rem; line-height:1.7; }
.hotel-public-review-grid footer strong,.hotel-public-review-grid footer span { display:block; }
.hotel-public-review-grid footer strong { color:#294953; font-size:.7rem; }
.hotel-public-review-grid footer span { color:#899397; font-size:.6rem; }
.hotel-public-response { margin-top:1rem; padding:.8rem; border-left:3px solid #d2a754; border-radius:0 10px 10px 0; background:#f4f6f3; }
.hotel-public-response strong { color:#37545c; font-size:.6rem; text-transform:uppercase; }
.hotel-public-response p { margin:.25rem 0 0; color:#758388; font-size:.65rem; }
.hotel-public-calendar { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:.55rem; }
.hotel-public-calendar article { display:grid; min-height:125px; padding:.8rem .35rem; place-content:center; text-align:center; border:1px solid #d7e7e3; border-radius:15px; background:#eff8f3; }
.hotel-public-calendar span,.hotel-public-calendar small { color:#638078; font-size:.56rem; text-transform:uppercase; }
.hotel-public-calendar strong { color:#17644f; font-family:Georgia,serif; font-size:1.35rem; }
.hotel-public-calendar b { margin-top:.45rem; color:#317563; font-size:.55rem; }
.hotel-public-calendar .is-empty { border-color:#e3e7e7; background:#f5f6f6; }
.hotel-public-calendar .is-empty * { color:#98a3a6; }
.hotel-public-calendar .is-sold { border-color:#edd9d9; background:#faeeee; }
.hotel-public-calendar .is-sold * { color:#934c50; }
.hotel-public-cancellation { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.hotel-public-cancellation article { padding:1.35rem; border:1px solid #dce8e4; border-radius:19px; background:rgba(255,255,255,.76); }
.hotel-public-cancellation article > span { color:#14776b; font-size:.56rem; font-weight:900; text-transform:uppercase; }
.hotel-public-cancellation h3 { margin:.4rem 0; color:#21424e; font-size:.92rem; }
.hotel-public-cancellation article > strong { display:block; color:#af771b; font-size:.72rem; }
.hotel-public-cancellation p { color:#708086; font-size:.68rem; line-height:1.6; }
.hotel-public-cancellation small { color:#899498; font-size:.6rem; }
.hotel-public-policies { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin-top:1rem; }
.hotel-public-policies article { padding:1rem; border-top:2px solid #d7b467; background:rgba(255,255,255,.45); }
.hotel-public-policies h3 { color:#284650; font-size:.75rem; }
.hotel-public-policies p { margin:0; color:#718087; font-size:.65rem; line-height:1.65; }
.hotel-public-cta { padding:85px 0; color:#fff; background:radial-gradient(circle at 85% 0,rgba(231,183,91,.28),transparent 30%),linear-gradient(135deg,#0c3040,#126864); }
.hotel-public-cta .container { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.hotel-public-cta span { color:#f0ca7c; font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; }
.hotel-public-cta h2 { max-width:760px; margin:.45rem 0 0; font-family:Georgia,serif; font-size:clamp(2rem,4vw,3.6rem); line-height:1.05; }

html[data-theme="dark"] .hps-anchor-nav,
html[data-theme="dark"] .hps-section,
html[data-theme="dark"] .hps-list-card,
html[data-theme="dark"] .hps-review-card,
html[data-theme="dark"] .hps-benefit-card,
html[data-theme="dark"] .hps-cancellation-list > article { color:#e8f0f2; border-color:rgba(255,255,255,.08); background:#102330; }
html[data-theme="dark"] .hps-section-heading h2,
html[data-theme="dark"] .hps-stat-card strong,
html[data-theme="dark"] .hps-quick-links strong,
html[data-theme="dark"] .hps-list-card h3,
html[data-theme="dark"] .hps-review-card h3,
html[data-theme="dark"] .hps-benefit-card h3,
html[data-theme="dark"] .hps-cancellation-list h3 { color:#ecf5f6; }
html[data-theme="dark"] .hps-stat-card,
html[data-theme="dark"] .hps-quick-links a,
html[data-theme="dark"] .hps-charge,
html[data-theme="dark"] .hps-map-card { border-color:rgba(255,255,255,.08); background:#0b1b26; }
html[data-theme="dark"] .hps-anchor-nav a { color:#b8c6ca; }
html[data-theme="dark"] .hps-calendar .is-empty { background:#142630; }
html[data-theme="dark"] .hotel-public-page { color:#dbe7ea; background:#071923; }
html[data-theme="dark"] .hotel-public-subnav { border-color:rgba(255,255,255,.08); background:rgba(7,25,35,.94); }
html[data-theme="dark"] .hotel-public-subnav a,
html[data-theme="dark"] .hotel-public-intro > div:first-child > p,
html[data-theme="dark"] .hotel-public-heading > p { color:#9dafb4; }
html[data-theme="dark"] .hotel-public-intro h2,
html[data-theme="dark"] .hotel-public-heading h2 { color:#eff6f7; }
html[data-theme="dark"] .hotel-public-wash,
html[data-theme="dark"] .hotel-public-reviews { background:#0b202b; }
html[data-theme="dark"] .hotel-public-facts,
html[data-theme="dark"] .hotel-public-facts article,
html[data-theme="dark"] .hotel-public-benefits article,
html[data-theme="dark"] .hotel-public-amenities article,
html[data-theme="dark"] .hotel-public-film-grid a,
html[data-theme="dark"] .hotel-public-tour-grid article,
html[data-theme="dark"] .hotel-public-dining-grid article,
html[data-theme="dark"] .hotel-public-nearby article,
html[data-theme="dark"] .hotel-public-review-grid > article,
html[data-theme="dark"] .hotel-public-cancellation article,
html[data-theme="dark"] .hotel-public-policies article {
    color:#dce8ea;
    border-color:rgba(255,255,255,.08);
    background:#102833;
}
html[data-theme="dark"] .hotel-public-facts article { border-color:rgba(255,255,255,.08); }
html[data-theme="dark"] .hotel-public-film-grid strong,
html[data-theme="dark"] .hotel-public-tour-grid h3,
html[data-theme="dark"] .hotel-public-benefits h3,
html[data-theme="dark"] .hotel-public-amenities h3,
html[data-theme="dark"] .hotel-public-dining-grid h3,
html[data-theme="dark"] .hotel-public-nearby h3,
html[data-theme="dark"] .hotel-public-review-grid h3,
html[data-theme="dark"] .hotel-public-cancellation h3,
html[data-theme="dark"] .hotel-public-policies h3 { color:#edf6f7; }
html[data-theme="dark"] .hotel-public-map { border-color:rgba(255,255,255,.08); background:#102833; }
html[data-theme="dark"] .hotel-public-map address strong { color:#edf6f7; }
html[data-theme="dark"] .hotel-public-calendar article { border-color:#214d48; background:#12352f; }
html[data-theme="dark"] .hotel-public-calendar .is-empty { border-color:#253640; background:#112630; }
html[data-theme="dark"] .hotel-public-response { background:#0a1d27; }

@media (max-width:1199.98px) {
    .hps-calendar,.hotel-public-calendar { grid-template-columns:repeat(6,minmax(0,1fr)); }
    .hotel-public-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .hotel-public-venue-grid,.hotel-public-floorplan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:991.98px) {
    .hps-stat-grid,.hps-quick-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .hotel-public-hero { min-height:800px; }
    .hotel-public-hero-content { align-items:flex-start; flex-direction:column; justify-content:flex-end; }
    .hotel-public-sourcing-card { flex-basis:auto; width:min(100%,520px); }
    .hotel-public-intro { grid-template-columns:1fr; gap:2rem; }
    .hotel-public-heading { align-items:flex-start; flex-direction:column; gap:.8rem; }
    .hotel-public-offer-grid,.hotel-public-amenities,.hotel-public-review-grid,.hotel-public-cancellation,.hotel-public-policies { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .hotel-public-dining-grid { grid-template-columns:1fr; }
    .hotel-public-location-grid { grid-template-columns:1fr; }
}
@media (max-width:767.98px) {
    .hps-hero { align-items:flex-start; flex-direction:column; padding:1.5rem; border-radius:22px; }
    .hps-completion { display:flex; align-items:center; gap:1rem; min-width:0; text-align:left; }
    .hps-progress-ring { width:95px; height:95px; margin:0; }
    .hps-section { padding:1.1rem; border-radius:19px; }
    .hps-section-heading { align-items:flex-start; flex-direction:column; }
    .hps-plan-grid,.hps-benefit-grid { grid-template-columns:1fr; }
    .hps-list-card { grid-template-columns:70px minmax(0,1fr); }
    .hps-list-card > img,.hps-card-placeholder { width:70px; height:64px; }
    .hps-list-card form { grid-column:2; }
    .hps-cancellation-list > article { grid-template-columns:1fr; }
    .hps-charge { text-align:left; }
    .hps-calendar,.hotel-public-calendar { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .hotel-public-page .site-header { position:relative; background:#092b3c; }
    .hotel-public-hero { min-height:auto; padding:80px 0 65px; }
    .hotel-public-hero-content { min-height:560px; }
    .hotel-public-hero h1 { font-size:clamp(2.8rem,15vw,4.6rem); }
    .hotel-public-gallery { grid-template-columns:1fr 1fr; grid-auto-rows:160px; }
    .hotel-public-film-grid,.hotel-public-tour-grid { grid-template-columns:1fr; }
    .hotel-public-offer-grid,.hotel-public-benefits,.hotel-public-amenities,.hotel-public-review-grid,.hotel-public-cancellation,.hotel-public-policies { grid-template-columns:1fr; }
    .hotel-public-venue-grid,.hotel-public-floorplan-grid { grid-template-columns:1fr; }
    .hotel-public-dining-grid article { grid-template-columns:1fr; }
    .hotel-public-dining-grid img,.hotel-public-image-placeholder { min-height:240px; height:240px; }
    .hotel-public-cta .container { align-items:flex-start; flex-direction:column; }
}
@media (max-width:479.98px) {
    .hps-stat-grid,.hps-quick-links { grid-template-columns:1fr; }
    .hps-calendar,.hotel-public-calendar { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .hotel-public-section,.hotel-public-intro { padding-top:70px; padding-bottom:70px; }
    .hotel-public-facts { grid-template-columns:1fr; }
    .hotel-public-facts article { border-right:0; border-bottom:1px solid #dfebea !important; }
    .hotel-public-facts article:last-child { border-bottom:0 !important; }
    .hotel-public-gallery { grid-template-columns:1fr; }
    .hotel-public-gallery figure.is-featured { grid-column:auto; grid-row:auto; }
    .hotel-public-amenities article > div { grid-template-columns:1fr; }
}

/* AI Procurement Intelligence */
.ai-workspace { --ai-navy:#102f46; --ai-teal:#137b78; --ai-mint:#dff2ec; --ai-gold:#d8aa52; --ai-ink:#203f4b; }
.ai-hero { position:relative; display:flex; align-items:center; justify-content:space-between; gap:3rem; overflow:hidden; min-height:360px; padding:2.4rem; color:#fff; border-radius:30px; background:radial-gradient(circle at 85% 15%,rgba(232,184,92,.28),transparent 26%),radial-gradient(circle at 65% 90%,rgba(30,170,142,.24),transparent 32%),linear-gradient(135deg,#0a293d,#125c66); box-shadow:0 24px 58px rgba(10,45,61,.22); }
.ai-hero::before { position:absolute; inset:0; content:""; opacity:.3; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(90deg,transparent,#000); }
.ai-hero > * { position:relative; z-index:1; }
.ai-hero-copy { max-width:720px; }
.ai-hero h2 { margin:.4rem 0 .85rem; font-family:Georgia,serif; font-size:clamp(2rem,4vw,3.5rem); line-height:1.02; letter-spacing:-.035em; }
.ai-hero p { max-width:680px; margin:0; color:rgba(255,255,255,.7); line-height:1.7; }
.ai-orbit { position:relative; flex:0 0 260px; width:260px; height:260px; border:1px solid rgba(255,255,255,.14); border-radius:50%; animation:ai-spin 40s linear infinite; }
.ai-orbit::before { position:absolute; inset:42px; content:""; border:1px dashed rgba(255,255,255,.2); border-radius:50%; }
.ai-orbit-core { position:absolute; z-index:2; inset:84px; display:grid; place-content:center; text-align:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:rgba(9,43,56,.72); box-shadow:0 0 40px rgba(37,211,168,.18); backdrop-filter:blur(12px); animation:ai-spin-reverse 40s linear infinite; }
.ai-orbit-core strong,.ai-orbit-core span { display:block; }
.ai-orbit-core strong { color:#f0c975; font-size:2rem; line-height:1; }
.ai-orbit-core span { margin-top:.25rem; color:rgba(255,255,255,.68); font-size:.55rem; text-transform:uppercase; }
.ai-orbit > span { --angle:calc(var(--i) * 45deg); position:absolute; top:50%; left:50%; width:68px; margin:-12px 0 0 -34px; padding:.35rem; color:#d9f0eb; font-size:.52rem; font-weight:800; text-align:center; border:1px solid rgba(255,255,255,.14); border-radius:99px; background:rgba(8,45,57,.8); transform:rotate(var(--angle)) translateX(128px) rotate(calc(var(--angle) * -1)); animation:ai-spin-reverse 40s linear infinite; }
@keyframes ai-spin { to { transform:rotate(360deg); } }
@keyframes ai-spin-reverse { to { transform:rotate(-360deg); } }
.ai-anchor-nav { position:sticky; z-index:12; top:64px; display:flex; gap:.35rem; overflow-x:auto; margin:1.1rem 0; padding:.55rem; border:1px solid rgba(24,67,81,.08); border-radius:16px; background:rgba(255,255,255,.9); box-shadow:0 10px 25px rgba(19,54,67,.07); backdrop-filter:blur(18px); }
.ai-anchor-nav a { flex:0 0 auto; padding:.55rem .75rem; color:#687b82; font-size:.67rem; font-weight:800; text-decoration:none; border-radius:10px; }
.ai-anchor-nav a:hover { color:#116f6e; background:#e7f3f0; }
.ai-command-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr); gap:1rem; align-items:stretch; margin-bottom:1rem; }
.ai-command-card,.ai-chat-card,.ai-tool-card,.ai-audit-card { scroll-margin-top:140px; border:1px solid rgba(23,66,81,.08); border-radius:24px; background:#fff; box-shadow:0 13px 36px rgba(18,54,68,.07); }
.ai-command-card,.ai-chat-card,.ai-tool-card { padding:1.35rem; }
.ai-card-heading { display:flex; align-items:center; gap:.8rem; margin-bottom:1rem; }
.ai-card-heading > div { min-width:0; }
.ai-card-heading small,.ai-card-heading h2 { display:block; margin:0; }
.ai-card-heading small { color:#7d8c92; font-size:.57rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.ai-card-heading h2 { color:var(--ai-ink); font-family:Georgia,serif; font-size:1.15rem; }
.ai-feature-icon { display:grid; flex:0 0 38px; width:38px; height:38px; place-items:center; color:#fff; font-size:.72rem; font-weight:900; border-radius:12px; background:linear-gradient(135deg,#137c78,#1aa37f); box-shadow:0 8px 18px rgba(19,124,120,.18); }
.ai-card-heading > :last-child:not(div):not(.ai-feature-icon) { margin-left:auto; }
.ai-live-pill,.ai-status-dot,.ai-result-confidence,.ai-confidence { padding:.38rem .58rem; color:#176b60; font-size:.56rem; font-weight:900; border-radius:99px; background:#e2f3ec; white-space:nowrap; }
.ai-status-dot::before { display:inline-block; width:6px; height:6px; margin-right:.3rem; content:""; border-radius:50%; background:#21a87a; box-shadow:0 0 0 4px rgba(33,168,122,.12); }
.ai-card-copy { margin:-.2rem 0 1rem; color:#6f8087; font-size:.72rem; line-height:1.6; }
.ai-search-box { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:.8rem; align-items:center; padding:.8rem; border:1px solid #d5e5e4; border-radius:18px; background:linear-gradient(135deg,#f7fbfa,#eef6f4); box-shadow:inset 0 1px #fff; }
.ai-search-box > span { display:grid; width:38px; height:38px; place-items:center; color:#b27b1e; border-radius:11px; background:#f5ead1; }
.ai-search-box textarea,.ai-chat-form textarea { resize:none; color:#284852; border:0; outline:0; background:transparent; }
.ai-search-box textarea::placeholder,.ai-chat-form textarea::placeholder { color:#99a5a8; }
.ai-search-box button { padding:.75rem 1rem; color:#fff; font-size:.65rem; font-weight:900; border:0; border-radius:12px; background:linear-gradient(135deg,#137976,#105e6c); }
.ai-prompt-chips,.ai-chat-suggestions { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.65rem; }
.ai-prompt-chips button,.ai-chat-suggestions button { padding:.38rem .6rem; color:#657a7e; font-size:.56rem; border:1px solid #dfe9e9; border-radius:99px; background:#fff; }
.ai-prompt-chips button:hover,.ai-chat-suggestions button:hover { color:#116e69; border-color:#9bcfc7; }
.ai-chat-card { display:flex; min-height:510px; flex-direction:column; background:radial-gradient(circle at 100% 0,rgba(222,177,87,.13),transparent 25%),linear-gradient(160deg,#fff,#f5f9f8); }
.ai-chat-thread { display:grid; gap:.65rem; overflow:auto; max-height:330px; margin-bottom:auto; padding:.4rem .2rem 1rem; scrollbar-width:thin; }
.ai-message { display:grid; grid-template-columns:30px minmax(0,1fr); gap:.5rem; align-items:start; }
.ai-message > span { display:grid; width:30px; height:30px; place-items:center; color:#fff; font-size:.54rem; font-weight:900; border-radius:9px; background:#12766f; }
.ai-message p { max-width:92%; margin:0; padding:.7rem .8rem; color:#536b73; font-size:.68rem; line-height:1.55; border-radius:4px 14px 14px 14px; background:#e9f3f0; }
.ai-message.user { grid-template-columns:minmax(0,1fr) 30px; }
.ai-message.user > span { grid-column:2; grid-row:1; background:#c18b2f; }
.ai-message.user p { grid-column:1; grid-row:1; justify-self:end; color:#fff; border-radius:14px 4px 14px 14px; background:#173f50; }
.ai-chat-form { display:grid; grid-template-columns:minmax(0,1fr) 38px; gap:.55rem; align-items:center; padding:.65rem; border:1px solid #dae7e6; border-radius:15px; background:#fff; box-shadow:0 8px 20px rgba(19,55,68,.06); }
.ai-chat-form button { display:grid; width:38px; height:38px; place-items:center; color:#fff; font-size:1rem; border:0; border-radius:11px; background:#137873; }
.ai-tool-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.ai-tool-card { min-width:0; }
.ai-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; padding-bottom:1rem; border-bottom:1px solid #e7eeee; }
.ai-form-grid .span-2 { grid-column:1/-1; }
.ai-field label { display:block; margin-bottom:.3rem; color:#697c82; font-size:.6rem; font-weight:800; }
.ai-field input,.ai-field select { width:100%; min-height:40px; padding:.55rem .65rem; color:#2b4a54; font-size:.7rem; border:1px solid #dce7e8; border-radius:11px; outline:0; background:#fbfcfc; }
.ai-field input:focus,.ai-field select:focus { border-color:#5baea5; box-shadow:0 0 0 3px rgba(20,127,119,.1); }
.ai-check { display:flex; gap:.55rem; align-items:center; padding:.65rem .75rem; color:#65787f; font-size:.66rem; border-radius:11px; background:#f3f8f7; }
.ai-check input { accent-color:#147d75; }
.ai-range { display:flex; gap:.7rem; align-items:center; min-height:40px; padding:.3rem .65rem; border:1px solid #dce7e8; border-radius:11px; background:#fbfcfc; }
.ai-range input { flex:1; min-height:auto; padding:0; border:0; accent-color:#147c76; }
.ai-range output { min-width:42px; color:#1a6d69; font-size:.65rem; font-weight:900; }
.ai-result { margin-top:1rem; }
.ai-empty-result { display:grid; min-height:130px; padding:1rem; place-content:center; text-align:center; border:1px dashed #d8e4e4; border-radius:16px; background:#fafcfc; }
.ai-empty-result.compact { min-height:100px; }
.ai-empty-result strong,.ai-empty-result span { display:block; }
.ai-empty-result strong { color:#3b5963; font-size:.75rem; }
.ai-empty-result span { margin-top:.25rem; color:#89969a; font-size:.62rem; }
.ai-loading { display:flex; gap:.8rem; align-items:center; min-height:105px; padding:1rem; border-radius:16px; background:#f1f8f6; }
.ai-loading > span { width:32px; height:32px; border:3px solid #cce4df; border-top-color:#147b72; border-radius:50%; animation:ai-loader .8s linear infinite; }
@keyframes ai-loader { to { transform:rotate(360deg); } }
.ai-loading strong,.ai-loading small { display:block; }
.ai-loading strong { color:#31535c; font-size:.7rem; }
.ai-loading small { margin-top:.2rem; color:#829095; font-size:.59rem; }
.ai-error { padding:1rem; color:#91464d; border:1px solid #efd7d9; border-radius:15px; background:#fbefef; }
.ai-error strong,.ai-error span { display:block; }
.ai-error strong { font-size:.72rem; }
.ai-error span { margin-top:.2rem; font-size:.62rem; }
.ai-result-head { display:flex; align-items:center; justify-content:space-between; gap:.8rem; margin-bottom:.75rem; }
.ai-result-head > div small,.ai-result-head > div strong { display:block; }
.ai-result-head small { color:#819095; font-size:.6rem; }
.ai-result-head strong { color:#294b55; font-size:.75rem; }
.ai-explain { margin:.75rem 0 0; padding:.7rem .8rem; color:#6f8287; font-size:.61rem; line-height:1.55; border-left:3px solid #d6aa55; border-radius:0 10px 10px 0; background:#f6f7f3; }
.ai-hotel-results { display:grid; gap:.6rem; }
.ai-hotel-result { display:grid; grid-template-columns:32px minmax(0,1fr) 58px; gap:.65rem; align-items:center; padding:.75rem; border:1px solid #e0e9e9; border-radius:15px; background:#fbfcfc; }
.ai-rank { display:grid; width:30px; height:30px; place-items:center; color:#fff; font-size:.64rem; font-weight:900; border-radius:9px; background:#183f50; }
.ai-hotel-result h3 { margin:.12rem 0; font-size:.78rem; }
.ai-hotel-result h3 a,.ai-nearby-results h3 a { color:#244853; text-decoration:none; }
.ai-hotel-result h3 a:hover,.ai-nearby-results h3 a:hover { color:#137770; }
.ai-hotel-result small,.ai-hotel-result p { color:#7b898e; font-size:.57rem; }
.ai-hotel-result p { margin:0; }
.ai-score { display:grid; width:52px; height:52px; place-content:center; color:#116f64; text-align:center; border-radius:50%; background:radial-gradient(circle,#eef8f4 56%,transparent 58%),conic-gradient(#1a9a7b 80%,#dce9e7 0); }
.ai-score strong,.ai-score span { display:block; line-height:1; }
.ai-score span { margin-top:.2rem; font-size:.5rem; }
.ai-hotel-result > ul { grid-column:2/-1; display:flex; flex-wrap:wrap; gap:.3rem; margin:0; padding:0; list-style:none; }
.ai-hotel-result > ul li,.ai-result-tags span { padding:.25rem .42rem; color:#657b7e; font-size:.52rem; border-radius:99px; background:#edf5f2; }
.ai-result-tags { display:flex; flex-wrap:wrap; gap:.3rem; margin-top:.4rem; }
.ai-budget-band { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border:1px solid #dce8e7; border-radius:15px; }
.ai-budget-band > div { padding:.8rem .6rem; text-align:center; background:#f7faf9; }
.ai-budget-band > div.expected { color:#fff; background:linear-gradient(135deg,#126f70,#18906e); }
.ai-budget-band span,.ai-budget-band strong { display:block; }
.ai-budget-band span { font-size:.55rem; }
.ai-budget-band strong { margin-top:.2rem; font-size:.82rem; }
.ai-line-items { display:grid; margin:.7rem 0; }
.ai-line-items > div { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.55rem .1rem; border-bottom:1px solid #e7eeee; }
.ai-line-items span strong,.ai-line-items span small { display:block; }
.ai-line-items span strong { color:#375660; font-size:.65rem; }
.ai-line-items span small { color:#899599; font-size:.55rem; }
.ai-line-items b { color:#244752; font-size:.68rem; }
.ai-nearby-results { display:grid; gap:.5rem; }
.ai-nearby-results article { display:grid; grid-template-columns:50px minmax(0,1fr) auto; gap:.7rem; align-items:center; padding:.65rem; border:1px solid #e0e9e9; border-radius:14px; }
.ai-nearby-results article > div { display:grid; width:46px; height:46px; place-content:center; color:#fff; text-align:center; border-radius:12px; background:#147a73; }
.ai-nearby-results article > div strong,.ai-nearby-results article > div span { display:block; line-height:1; }
.ai-nearby-results article > div span { margin-top:.2rem; font-size:.5rem; }
.ai-nearby-results h3 { margin:0; font-size:.72rem; }
.ai-nearby-results p { margin:.15rem 0 0; color:#829095; font-size:.56rem; }
.ai-nearby-results article > b { color:#2f535c; font-size:.63rem; }
.ai-forecast-summary { display:flex; align-items:center; gap:1rem; padding:.8rem; border-radius:16px; background:#f2f8f6; }
.ai-gauge { display:grid; flex:0 0 105px; width:105px; height:105px; place-content:center; text-align:center; border-radius:50%; background:radial-gradient(circle,#f2f8f6 57%,transparent 59%),conic-gradient(#168375 calc(var(--ai-gauge) * 1%),#d9e8e5 0); }
.ai-gauge strong,.ai-gauge span { display:block; }
.ai-gauge strong { color:#176b64; font-size:1.25rem; }
.ai-gauge span { color:#6e8285; font-size:.51rem; }
.ai-forecast-summary > div:last-child small,.ai-forecast-summary > div:last-child h3 { display:block; }
.ai-forecast-summary h3 { margin:.2rem 0 .5rem; color:#274a54; font-size:.8rem; }
.ai-signals { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; margin:.65rem 0; }
.ai-signals > div { padding:.6rem; border:1px solid #e0e9e8; border-radius:11px; }
.ai-signals span,.ai-signals strong { display:block; }
.ai-signals span { color:#819095; font-size:.53rem; }
.ai-signals strong { margin-top:.15rem; color:#2e515a; font-size:.65rem; }
.ai-chart-wrap { height:165px; margin-top:.75rem; }
.ai-price-summary { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.ai-price-summary > div { padding:.8rem; border:1px solid #dce8e6; border-radius:14px; background:#f6faf9; }
.ai-price-summary span,.ai-price-summary strong,.ai-price-summary b,.ai-price-summary small { display:block; }
.ai-price-summary span { color:#75878c; font-size:.55rem; }
.ai-price-summary strong { margin:.2rem 0; color:#12736c; font-size:1.15rem; }
.ai-price-summary b { margin:.2rem 0; color:#365760; font-size:.72rem; }
.ai-price-summary small { color:#849398; font-size:.53rem; }
.ai-quote-tool { grid-column:1/-1; }
.ai-quote-tool .ai-form-grid { grid-template-columns:minmax(0,1fr) 260px; align-items:end; }
.ai-quote-tool .ai-form-grid .span-2 { grid-column:auto; }
.ai-quote-ranking { display:grid; gap:.6rem; }
.ai-quote-ranking article { display:grid; grid-template-columns:36px minmax(0,1fr) 145px; gap:.8rem; align-items:center; padding:.85rem; border:1px solid #e0e9e9; border-radius:15px; }
.ai-quote-ranking article.best { border-color:#91cfc2; background:linear-gradient(135deg,#f1faf7,#fff8ea); box-shadow:0 10px 25px rgba(20,119,103,.09); }
.ai-quote-ranking h3 { margin:.12rem 0; color:#254852; font-size:.8rem; }
.ai-quote-ranking small,.ai-quote-ranking p { color:#7e8d92; font-size:.56rem; }
.ai-quote-ranking p { margin:0; }
.ai-quote-ranking ul { display:flex; flex-wrap:wrap; gap:.3rem; margin:.45rem 0 0; padding:0; list-style:none; }
.ai-quote-ranking li { padding:.25rem .4rem; color:#8b4b50; font-size:.5rem; border-radius:99px; background:#f8e9ea; }
.ai-no-risk { display:inline-block; margin-top:.4rem; padding:.25rem .4rem; color:#176a5c; font-size:.5rem; border-radius:99px; background:#e1f2eb; }
.ai-quote-total { text-align:right; }
.ai-quote-total strong,.ai-quote-total span { display:block; }
.ai-quote-total strong { color:#254752; font-size:.8rem; }
.ai-quote-total span { color:#14776b; font-size:.57rem; font-weight:900; }
.ai-audit-card { margin-top:1rem; padding:1.35rem; }

html[data-theme="dark"] .ai-anchor-nav,
html[data-theme="dark"] .ai-command-card,
html[data-theme="dark"] .ai-chat-card,
html[data-theme="dark"] .ai-tool-card,
html[data-theme="dark"] .ai-audit-card { color:#dce8eb; border-color:rgba(255,255,255,.08); background:#102431; }
html[data-theme="dark"] .ai-card-heading h2,
html[data-theme="dark"] .ai-result-head strong,
html[data-theme="dark"] .ai-hotel-result h3 a,
html[data-theme="dark"] .ai-nearby-results h3 a,
html[data-theme="dark"] .ai-line-items span strong,
html[data-theme="dark"] .ai-line-items b,
html[data-theme="dark"] .ai-forecast-summary h3,
html[data-theme="dark"] .ai-signals strong,
html[data-theme="dark"] .ai-quote-ranking h3,
html[data-theme="dark"] .ai-quote-total strong { color:#edf6f7; }
html[data-theme="dark"] .ai-search-box,
html[data-theme="dark"] .ai-chat-form,
html[data-theme="dark"] .ai-field input,
html[data-theme="dark"] .ai-field select,
html[data-theme="dark"] .ai-range,
html[data-theme="dark"] .ai-empty-result,
html[data-theme="dark"] .ai-hotel-result,
html[data-theme="dark"] .ai-nearby-results article,
html[data-theme="dark"] .ai-signals > div,
html[data-theme="dark"] .ai-price-summary > div,
html[data-theme="dark"] .ai-quote-ranking article { color:#d8e5e7; border-color:rgba(255,255,255,.08); background:#0a1c27; }
html[data-theme="dark"] .ai-search-box textarea,
html[data-theme="dark"] .ai-chat-form textarea,
html[data-theme="dark"] .ai-field input,
html[data-theme="dark"] .ai-field select { color:#e5eef0; }
html[data-theme="dark"] .ai-message p,
html[data-theme="dark"] .ai-check,
html[data-theme="dark"] .ai-loading,
html[data-theme="dark"] .ai-forecast-summary { color:#c2d0d3; background:#0b1d28; }
html[data-theme="dark"] .ai-prompt-chips button,
html[data-theme="dark"] .ai-chat-suggestions button { color:#b8c7ca; border-color:rgba(255,255,255,.1); background:#102431; }
html[data-theme="dark"] .ai-explain { color:#aebdc1; background:#0a1b24; }

@media (prefers-reduced-motion:reduce) {
    .ai-orbit,.ai-orbit-core,.ai-orbit > span { animation:none; }
}
@media (max-width:1199.98px) {
    .ai-command-grid { grid-template-columns:1fr; }
    .ai-chat-card { min-height:460px; }
    .ai-chat-thread { max-height:280px; }
}
@media (max-width:991.98px) {
    .ai-hero { align-items:flex-start; flex-direction:column; }
    .ai-orbit { align-self:center; }
    .ai-tool-grid { grid-template-columns:1fr; }
    .ai-quote-tool { grid-column:auto; }
}
@media (max-width:767.98px) {
    .ai-hero { min-height:auto; padding:1.5rem; border-radius:23px; }
    .ai-orbit { display:none; }
    .ai-command-card,.ai-chat-card,.ai-tool-card,.ai-audit-card { padding:1rem; border-radius:19px; }
    .ai-search-box { grid-template-columns:auto minmax(0,1fr); }
    .ai-search-box button { grid-column:1/-1; }
    .ai-quote-tool .ai-form-grid { grid-template-columns:1fr; }
    .ai-quote-ranking article { grid-template-columns:34px minmax(0,1fr); }
    .ai-quote-total { grid-column:2; text-align:left; }
}
@media (max-width:479.98px) {
    .ai-form-grid,.ai-signals,.ai-price-summary { grid-template-columns:1fr; }
    .ai-form-grid .span-2 { grid-column:auto; }
    .ai-budget-band { grid-template-columns:1fr; }
    .ai-hotel-result { grid-template-columns:30px minmax(0,1fr); }
    .ai-score { grid-column:2; width:46px; height:46px; }
    .ai-hotel-result > ul { grid-column:2; }
    .ai-nearby-results article { grid-template-columns:46px minmax(0,1fr); }
    .ai-nearby-results article > b { grid-column:2; }
    .ai-forecast-summary { align-items:flex-start; flex-direction:column; }
}

/* Payments & Finance Hub */
.payhub-shell { --payhub-navy:#092b3b; --payhub-teal:#16887c; --payhub-gold:#d9a441; --payhub-ink:#183f4c; --payhub-muted:#71858b; display:grid; gap:1.1rem; }
.payhub-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(310px,.65fr); gap:2rem; align-items:center; min-height:350px; overflow:hidden; padding:3rem; color:#fff; border-radius:32px; background:linear-gradient(128deg,#062938 0%,#0b4c58 54%,#137c70 100%); box-shadow:0 28px 65px rgba(5,42,56,.22); isolation:isolate; }
.payhub-hero:after { position:absolute; inset:0; z-index:-2; content:""; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px); background-size:38px 38px; mask-image:linear-gradient(90deg,#000,transparent 80%); }
.payhub-hero-copy { position:relative; z-index:2; max-width:720px; }
.payhub-eyebrow,.payhub-section-heading > div > span { display:inline-flex; align-items:center; gap:.5rem; margin-bottom:.75rem; color:#d5bb7f; font-size:.69rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.payhub-eyebrow:before { width:24px; height:1px; content:""; background:currentColor; }
.payhub-hero h2 { max-width:690px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.2rem,4vw,4.1rem); font-weight:500; line-height:1.03; letter-spacing:-.045em; }
.payhub-hero-copy > p { max-width:660px; margin:1.15rem 0 1.55rem; color:rgba(255,255,255,.72); font-size:1rem; line-height:1.7; }
.payhub-hero-actions { display:flex; flex-wrap:wrap; gap:.7rem; }
.btn-payhub-ghost { color:#fff; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.07); backdrop-filter:blur(8px); }
.btn-payhub-ghost:hover { color:#fff; border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.14); }
.payhub-balance-card { position:relative; z-index:2; padding:1.65rem; border:1px solid rgba(255,255,255,.18); border-radius:25px; background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.06)); box-shadow:0 25px 55px rgba(0,0,0,.18); backdrop-filter:blur(18px); }
.payhub-balance-card > span,.payhub-balance-card > strong,.payhub-balance-card > small { display:block; }
.payhub-balance-card > span { color:rgba(255,255,255,.68); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.payhub-balance-card > strong { margin:.35rem 0 .2rem; font-size:clamp(1.65rem,3vw,2.5rem); line-height:1.1; }
.payhub-balance-card > small { color:rgba(255,255,255,.65); }
.payhub-balance-meter { height:6px; overflow:hidden; margin:1.25rem 0; border-radius:20px; background:rgba(255,255,255,.15); }
.payhub-balance-meter i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#e4bc65,#fff1c6); box-shadow:0 0 20px #e4bc65; }
.payhub-secure-line { display:flex; flex-wrap:wrap; gap:.4rem; }
.payhub-secure-line span { padding:.3rem .48rem; color:rgba(255,255,255,.74); font-size:.57rem; font-weight:800; border:1px solid rgba(255,255,255,.12); border-radius:99px; background:rgba(0,0,0,.1); }
.payhub-glow { position:absolute; z-index:-1; border-radius:50%; filter:blur(2px); }
.payhub-glow-one { top:-100px; right:18%; width:280px; height:280px; background:radial-gradient(circle,rgba(218,164,65,.32),transparent 67%); }
.payhub-glow-two { right:-110px; bottom:-190px; width:440px; height:440px; border:1px solid rgba(255,255,255,.12); box-shadow:0 0 0 45px rgba(255,255,255,.03),0 0 0 90px rgba(255,255,255,.025); }

.payhub-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:.8rem; }
.payhub-metrics article { display:flex; align-items:center; gap:.8rem; min-width:0; padding:1rem; border:1px solid rgba(26,70,81,.08); border-radius:18px; background:rgba(255,255,255,.9); box-shadow:0 12px 30px rgba(14,54,65,.07); }
.payhub-metric-icon { display:grid; flex:0 0 42px; width:42px; height:42px; place-content:center; color:#fff; font-size:.72rem; font-weight:900; border-radius:13px; background:linear-gradient(145deg,#0c5360,#198c7d); box-shadow:0 8px 18px rgba(20,126,114,.22); }
.payhub-metrics small,.payhub-metrics strong,.payhub-metrics em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.payhub-metrics small { color:var(--payhub-muted); font-size:.63rem; }
.payhub-metrics strong { margin:.12rem 0; color:var(--payhub-ink); font-size:.92rem; }
.payhub-metrics em { color:#91a0a4; font-size:.55rem; font-style:normal; }
.payhub-anchor-nav { position:sticky; top:71px; z-index:12; display:flex; gap:.35rem; overflow:auto; padding:.55rem; border:1px solid rgba(25,69,80,.1); border-radius:16px; background:rgba(250,252,252,.9); box-shadow:0 10px 30px rgba(11,49,59,.07); backdrop-filter:blur(16px); scrollbar-width:none; }
.payhub-anchor-nav::-webkit-scrollbar { display:none; }
.payhub-anchor-nav a { flex:0 0 auto; padding:.55rem .75rem; color:#60777e; font-size:.62rem; font-weight:850; border-radius:10px; }
.payhub-anchor-nav a:hover { color:#fff; background:#137b72; }

.payhub-section { scroll-margin-top:145px; padding:1.5rem; border:1px solid rgba(24,67,78,.08); border-radius:24px; background:rgba(255,255,255,.72); box-shadow:0 18px 45px rgba(13,48,59,.055); }
.payhub-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1.25rem; margin-bottom:1.2rem; }
.payhub-section-heading > div > span { margin:0 0 .3rem; color:#188074; font-size:.6rem; }
.payhub-section-heading h2 { margin:0; color:var(--payhub-ink); font-family:Georgia,"Times New Roman",serif; font-size:1.55rem; letter-spacing:-.025em; }
.payhub-section-heading p { max-width:720px; margin:.35rem 0 0; color:var(--payhub-muted); font-size:.71rem; line-height:1.55; }
.payhub-count { flex:0 0 auto; padding:.48rem .7rem; color:#126f66; font-size:.62rem; font-weight:900; border:1px solid #cce7e0; border-radius:99px; background:#edf8f5; }
.payhub-wallet-panel { overflow:hidden; background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(230,245,241,.84)); }
.payhub-wallet-grid { display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; border:1px solid #dce9e6; border-radius:18px; background:#fff; }
.payhub-wallet-grid > div { padding:1.15rem; border-right:1px solid #e3ecea; }
.payhub-wallet-grid > div:last-child { border:0; }
.payhub-wallet-grid small,.payhub-wallet-grid strong,.payhub-wallet-grid span { display:block; }
.payhub-wallet-grid small { color:#829297; font-size:.59rem; text-transform:uppercase; letter-spacing:.06em; }
.payhub-wallet-grid strong { margin:.25rem 0; color:#174b57; font-size:1rem; }
.payhub-wallet-grid span { color:#92a0a4; font-size:.57rem; }

.payhub-layout { display:grid; grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr); gap:1rem; align-items:start; }
.payhub-card,.payhub-record,.payhub-advance-card,.payhub-invoice-card,.payhub-refund-card { border:1px solid #dfeae8; border-radius:18px; background:#fff; box-shadow:0 9px 25px rgba(16,59,69,.045); }
.payhub-form-card { position:sticky; top:145px; padding:1.15rem; }
.payhub-card-title { display:flex; align-items:center; gap:.7rem; margin-bottom:1rem; }
.payhub-card-title > span { display:grid; flex:0 0 42px; width:42px; height:42px; place-content:center; color:#fff; font-size:.68rem; font-weight:900; border-radius:13px; background:linear-gradient(145deg,#0e5362,#178f7e); }
.payhub-card-title h3,.payhub-card-title p { margin:0; }
.payhub-card-title h3 { color:var(--payhub-ink); font-size:.86rem; }
.payhub-card-title p { color:#809095; font-size:.57rem; }
.payhub-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; margin-bottom:.8rem; }
.payhub-form-grid label,.payhub-horizontal-form label { display:block; color:#60777e; font-size:.58rem; font-weight:850; }
.payhub-form-grid label .form-control,.payhub-form-grid label .form-select,.payhub-horizontal-form .form-control,.payhub-horizontal-form .form-select { margin-top:.3rem; font-size:.68rem; }
.payhub-form-grid .span-2 { grid-column:1/-1; }
.payhub-stack { display:grid; gap:.75rem; }
.payhub-record,.payhub-advance-card,.payhub-invoice-card,.payhub-refund-card { padding:1rem; }
.payhub-record-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.payhub-record-head small,.payhub-record-head h3 { display:block; margin:0; }
.payhub-record-head small { color:#839297; font-size:.55rem; font-weight:800; letter-spacing:.04em; }
.payhub-record-head h3 { margin-top:.15rem; color:#214b56; font-size:.83rem; }
.payhub-record > p,.payhub-advance-card > p,.payhub-refund-card > p { margin:.6rem 0; color:#6f8389; font-size:.62rem; line-height:1.55; }
.payhub-status { display:inline-flex; align-items:center; flex:0 0 auto; padding:.31rem .49rem; color:#4f6870; font-size:.51rem; font-weight:900; border-radius:99px; background:#edf2f2; }
.payhub-status-active,.payhub-status-paid,.payhub-status-held,.payhub-status-completed,.payhub-status-approved,.payhub-status-released,.payhub-status-trial { color:#0f6a59; background:#dff3eb; }
.payhub-status-pending,.payhub-status-requested,.payhub-status-issued,.payhub-status-processing,.payhub-status-part-paid,.payhub-status-part-released,.payhub-status-part-settled { color:#896219; background:#fff1cd; }
.payhub-status-past-due,.payhub-status-overdue,.payhub-status-refund-pending { color:#954751; background:#f9dfe2; }
.payhub-status-rejected,.payhub-status-cancelled,.payhub-status-void,.payhub-status-failed { color:#8a4950; background:#f3e4e5; }
.payhub-status-refunded,.payhub-status-settled,.payhub-status-expired { color:#445f80; background:#e4ecf6; }
.payhub-record-numbers { display:grid; grid-template-columns:repeat(3,1fr); gap:.45rem; margin:.7rem 0; }
.payhub-record-numbers span { padding:.55rem; border-radius:11px; background:#f4f8f7; }
.payhub-record-numbers small,.payhub-record-numbers strong { display:block; }
.payhub-record-numbers small { color:#8a999d; font-size:.5rem; }
.payhub-record-numbers strong { margin-top:.12rem; color:#31555e; font-size:.66rem; }
.payhub-progress { height:5px; overflow:hidden; border-radius:20px; background:#e6efed; }
.payhub-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#1a8b78,#d3a047); }
.payhub-record-meta { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.65rem; }
.payhub-record-meta span { padding:.27rem .42rem; color:#708489; font-size:.5rem; border-radius:99px; background:#f0f4f4; }
.payhub-inline-actions,.payhub-action-form { margin-top:.75rem; padding-top:.7rem; border-top:1px solid #edf1f1; }
.payhub-inline-actions form,.payhub-action-form { display:grid; grid-template-columns:minmax(100px,1fr) auto; gap:.45rem; }
.payhub-action-form { grid-template-columns:minmax(90px,1fr) minmax(100px,1fr) auto; }
.payhub-action-form .form-control,.payhub-action-form .form-select,.payhub-inline-actions .form-control { min-width:0; font-size:.61rem; }
.payhub-empty { display:grid; min-height:180px; place-content:center; padding:1rem; color:#809095; text-align:center; border:1px dashed #cbdad7; border-radius:18px; background:rgba(249,252,251,.7); }
.payhub-empty > span { display:grid; width:48px; height:48px; place-content:center; margin:0 auto .6rem; color:#fff; font-size:.72rem; font-weight:900; border-radius:50%; background:#238679; }
.payhub-empty h3 { margin:0; color:#365a63; font-size:.8rem; }
.payhub-empty p { margin:.3rem 0 0; font-size:.61rem; }

.payhub-horizontal-form { display:grid; grid-template-columns:repeat(6,minmax(110px,1fr)); gap:.7rem; align-items:end; margin-bottom:1rem; padding:1rem; }
.payhub-horizontal-form .wide { grid-column:span 2; }
.payhub-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }
.payhub-card-grid .span-all,.payhub-gst-grid .span-all { grid-column:1/-1; }
.payhub-advance-card { position:relative; overflow:hidden; }
.payhub-advance-card:before { position:absolute; inset:0 auto 0 0; width:3px; content:""; background:linear-gradient(#167c71,#d4a344); }
.payhub-amount { display:block; margin:.65rem 0 0; color:#176c66; font-size:1.15rem; }
.payhub-current-plan { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:1.5rem; align-items:center; margin-bottom:1rem; padding:1.25rem 1.4rem; color:#fff; border-radius:20px; background:linear-gradient(120deg,#0a3545,#157d71); box-shadow:0 14px 32px rgba(10,61,70,.18); }
.payhub-current-plan span,.payhub-current-plan h3,.payhub-current-plan p,.payhub-current-plan strong,.payhub-current-plan small { display:block; }
.payhub-current-plan span { color:#d7bd7d; font-size:.57rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.payhub-current-plan h3 { margin:.18rem 0; font-family:Georgia,"Times New Roman",serif; font-size:1.2rem; }
.payhub-current-plan p { margin:0; color:rgba(255,255,255,.65); font-size:.61rem; }
.payhub-current-plan > strong { font-size:1rem; text-align:right; }
.payhub-current-plan > strong small { color:rgba(255,255,255,.55); font-size:.5rem; font-weight:500; }
.payhub-plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; }
.payhub-plan-card { position:relative; display:flex; min-width:0; flex-direction:column; padding:1.25rem; border:1px solid #dbe7e4; border-radius:20px; background:#fff; }
.payhub-plan-card.featured { border-color:#8acabe; background:linear-gradient(160deg,#f2fbf8,#fffaf0); box-shadow:0 16px 35px rgba(19,113,101,.12); }
.payhub-plan-badge { position:absolute; top:0; right:1.1rem; transform:translateY(-50%); padding:.3rem .55rem; color:#fff; font-size:.5rem; font-weight:900; border-radius:99px; background:#c38a27; }
.payhub-plan-card > small { color:#178073; font-size:.55rem; font-weight:900; text-transform:uppercase; }
.payhub-plan-card h3 { margin:.3rem 0; color:#1b4954; font-family:Georgia,"Times New Roman",serif; font-size:1.25rem; }
.payhub-plan-card > p { min-height:42px; margin:0 0 .8rem; color:#74878c; font-size:.61rem; line-height:1.5; }
.payhub-plan-price { display:flex; align-items:end; gap:.25rem; }
.payhub-plan-price strong { color:#124f59; font-size:1.2rem; }
.payhub-plan-price span,.payhub-monthly { color:#87969a; font-size:.54rem; }
.payhub-monthly { margin:.15rem 0 .7rem; }
.payhub-plan-card ul { flex:1; margin:0 0 1rem; padding:0; list-style:none; }
.payhub-plan-card li { position:relative; padding:.36rem 0 .36rem 1.05rem; color:#557078; font-size:.59rem; border-bottom:1px solid #edf2f1; }
.payhub-plan-card li:before { position:absolute; left:0; content:"✓"; color:#168273; font-weight:900; }

.payhub-table-card { overflow:hidden; border:1px solid #dce8e6; border-radius:18px; background:#fff; }
.payhub-table { --bs-table-bg:transparent; color:#526c73; font-size:.62rem; }
.payhub-table thead th { padding:.75rem .8rem; color:#74878c; font-size:.52rem; text-transform:uppercase; letter-spacing:.05em; border-bottom-color:#e2ecea; background:#f6f9f8; white-space:nowrap; }
.payhub-table tbody td { padding:.75rem .8rem; border-bottom-color:#edf2f1; }
.payhub-table tbody tr:last-child td { border-bottom:0; }
.payhub-table td > strong,.payhub-table td > small { display:block; }
.payhub-table td > strong { color:#2c525c; }
.payhub-table td > small { margin-top:.1rem; color:#8b999d; font-size:.51rem; }
.payhub-table-empty { padding:2rem; color:#829297; text-align:center; }
.payhub-tax-preview { display:grid; grid-template-columns:repeat(3,1fr); gap:.4rem; margin:.8rem 0; }
.payhub-tax-preview span { padding:.55rem; color:#788b90; font-size:.52rem; text-align:center; border-radius:11px; background:#f2f7f5; }
.payhub-tax-preview strong { display:block; margin-top:.12rem; color:#26555d; font-size:.65rem; }
.payhub-invoice-card { position:relative; overflow:hidden; }
.payhub-invoice-card:after { position:absolute; top:0; right:0; width:54px; height:54px; content:""; opacity:.15; background:linear-gradient(225deg,#d49a36 50%,transparent 51%); }
.payhub-invoice-line { display:flex; justify-content:space-between; gap:1rem; margin:.65rem 0; color:#61787e; font-size:.61rem; }
.payhub-invoice-line span { color:#819196; white-space:nowrap; }
.payhub-tax-breakup { display:grid; grid-template-columns:repeat(5,1fr); overflow:hidden; border:1px solid #e2ecea; border-radius:12px; background:#f8faf9; }
.payhub-tax-breakup span { padding:.55rem; color:#859499; font-size:.49rem; border-right:1px solid #e5eceb; }
.payhub-tax-breakup span:last-child { border:0; }
.payhub-tax-breakup strong { display:block; margin-top:.12rem; color:#365b63; font-size:.6rem; }
.payhub-tax-breakup .total { color:#fff; background:#176e69; }
.payhub-tax-breakup .total strong { color:#fff; }
.payhub-invoice-foot { display:flex; justify-content:space-between; gap:1rem; margin-top:.65rem; color:#819095; font-size:.53rem; }
.payhub-invoice-foot strong { color:#31565f; }
.payhub-pay-form { grid-template-columns:minmax(90px,.7fr) minmax(100px,.8fr) minmax(130px,1fr) auto; }

.payhub-gst-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; }
.payhub-gst-grid article { position:relative; display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:.8rem; align-items:start; padding:1rem; overflow:hidden; border:1px solid #dce8e5; border-radius:18px; background:linear-gradient(135deg,#fff,#f0f8f5); }
.payhub-gst-grid article:after { position:absolute; right:-30px; bottom:-45px; width:130px; height:130px; content:""; border:22px solid rgba(28,132,116,.05); border-radius:50%; }
.payhub-gst-mark { display:grid; width:52px; height:52px; place-content:center; color:#fff; font-size:.61rem; font-weight:900; border-radius:15px; background:#167b71; }
.payhub-gst-grid small,.payhub-gst-grid h3,.payhub-gst-grid strong,.payhub-gst-grid p { display:block; margin:0; }
.payhub-gst-grid small { color:#188072; font-size:.52rem; font-weight:900; text-transform:uppercase; }
.payhub-gst-grid h3 { margin:.16rem 0; color:#234c56; font-size:.78rem; }
.payhub-gst-grid strong { color:#5f747b; font-size:.61rem; letter-spacing:.05em; }
.payhub-gst-grid p { margin-top:.3rem; color:#87969a; font-size:.54rem; }
.payhub-state-code { z-index:1; display:grid; width:34px; height:34px; place-content:center; color:#126f64; font-size:.58rem; font-weight:900; border-radius:50%; background:#dff2ec; }
.payhub-refund-card { border-left:3px solid #d09c3d; }
.payhub-ledger { min-width:920px; }

html[data-theme="dark"] .payhub-metrics article,
html[data-theme="dark"] .payhub-anchor-nav,
html[data-theme="dark"] .payhub-section,
html[data-theme="dark"] .payhub-wallet-grid,
html[data-theme="dark"] .payhub-card,
html[data-theme="dark"] .payhub-record,
html[data-theme="dark"] .payhub-advance-card,
html[data-theme="dark"] .payhub-invoice-card,
html[data-theme="dark"] .payhub-refund-card,
html[data-theme="dark"] .payhub-plan-card,
html[data-theme="dark"] .payhub-table-card,
html[data-theme="dark"] .payhub-gst-grid article { color:#d5e2e5; border-color:rgba(255,255,255,.08); background:#102531; }
html[data-theme="dark"] .payhub-section-heading h2,
html[data-theme="dark"] .payhub-metrics strong,
html[data-theme="dark"] .payhub-wallet-grid strong,
html[data-theme="dark"] .payhub-card-title h3,
html[data-theme="dark"] .payhub-record-head h3,
html[data-theme="dark"] .payhub-record-numbers strong,
html[data-theme="dark"] .payhub-empty h3,
html[data-theme="dark"] .payhub-plan-card h3,
html[data-theme="dark"] .payhub-plan-price strong,
html[data-theme="dark"] .payhub-table td > strong,
html[data-theme="dark"] .payhub-tax-preview strong,
html[data-theme="dark"] .payhub-tax-breakup strong,
html[data-theme="dark"] .payhub-invoice-foot strong,
html[data-theme="dark"] .payhub-gst-grid h3 { color:#edf6f7; }
html[data-theme="dark"] .payhub-wallet-panel,
html[data-theme="dark"] .payhub-plan-card.featured,
html[data-theme="dark"] .payhub-gst-grid article { background:linear-gradient(145deg,#102733,#0c202b); }
html[data-theme="dark"] .payhub-wallet-grid > div,
html[data-theme="dark"] .payhub-record-numbers span,
html[data-theme="dark"] .payhub-record-meta span,
html[data-theme="dark"] .payhub-empty,
html[data-theme="dark"] .payhub-tax-preview span,
html[data-theme="dark"] .payhub-tax-breakup,
html[data-theme="dark"] .payhub-table thead th { color:#aebdc1; border-color:rgba(255,255,255,.07); background:#0a1d27; }
html[data-theme="dark"] .payhub-form-card .form-control,
html[data-theme="dark"] .payhub-form-card .form-select,
html[data-theme="dark"] .payhub-horizontal-form .form-control,
html[data-theme="dark"] .payhub-horizontal-form .form-select,
html[data-theme="dark"] .payhub-action-form .form-control,
html[data-theme="dark"] .payhub-action-form .form-select,
html[data-theme="dark"] .payhub-inline-actions .form-control { color:#e2ecee; border-color:rgba(255,255,255,.1); background:#091b25; }
html[data-theme="dark"] .payhub-table { color:#bdcacc; }
html[data-theme="dark"] .payhub-table tbody td { border-bottom-color:rgba(255,255,255,.06); }

@media (max-width:1199.98px) {
    .payhub-metrics { grid-template-columns:repeat(2,1fr); }
    .payhub-horizontal-form { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:991.98px) {
    .payhub-hero { grid-template-columns:1fr; padding:2.2rem; }
    .payhub-balance-card { max-width:480px; }
    .payhub-layout { grid-template-columns:1fr; }
    .payhub-form-card { position:relative; top:auto; }
    .payhub-card-grid { grid-template-columns:repeat(2,1fr); }
    .payhub-wallet-grid { grid-template-columns:repeat(2,1fr); }
    .payhub-wallet-grid > div:nth-child(2) { border-right:0; }
    .payhub-wallet-grid > div:nth-child(-n+2) { border-bottom:1px solid #e3ecea; }
}
@media (max-width:767.98px) {
    .payhub-hero { min-height:auto; padding:1.5rem; border-radius:23px; }
    .payhub-hero h2 { font-size:2.2rem; }
    .payhub-section { padding:1rem; border-radius:19px; }
    .payhub-section-heading { align-items:flex-start; flex-direction:column; }
    .payhub-plan-grid,.payhub-card-grid,.payhub-gst-grid { grid-template-columns:1fr; }
    .payhub-current-plan { grid-template-columns:1fr; gap:.75rem; }
    .payhub-current-plan > strong { text-align:left; }
    .payhub-horizontal-form { grid-template-columns:1fr 1fr; }
    .payhub-horizontal-form .wide { grid-column:1/-1; }
    .payhub-tax-breakup { grid-template-columns:repeat(2,1fr); }
    .payhub-tax-breakup span { border-bottom:1px solid #e5eceb; }
    .payhub-tax-breakup .total { grid-column:1/-1; }
    .payhub-pay-form { grid-template-columns:1fr 1fr; }
    .payhub-pay-form button { grid-column:1/-1; }
}
@media (max-width:479.98px) {
    .payhub-metrics,.payhub-wallet-grid,.payhub-form-grid,.payhub-horizontal-form { grid-template-columns:1fr; }
    .payhub-wallet-grid > div { border-right:0; border-bottom:1px solid #e3ecea; }
    .payhub-form-grid .span-2,.payhub-horizontal-form .wide { grid-column:auto; }
    .payhub-record-numbers { grid-template-columns:1fr; }
    .payhub-action-form,.payhub-inline-actions form,.payhub-pay-form { grid-template-columns:1fr; }
    .payhub-pay-form button { grid-column:auto; }
    .payhub-invoice-foot { flex-direction:column; gap:.25rem; }
    .payhub-gst-grid article { grid-template-columns:45px minmax(0,1fr); }
    .payhub-gst-mark { width:45px; height:45px; }
    .payhub-state-code { grid-column:2; }
}

/* Super Admin control centre */
.dashboard-sidebar { max-height:calc(100vh - 56px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.18) transparent; }
.dashboard-sidebar .nav-link.active { color:#fff; border-left-color:#e1b458; background:rgba(255,255,255,.11); }
.sa-shell { --sa-navy:#092b3b; --sa-teal:#16887c; --sa-gold:#d6a044; --sa-ink:#173f4b; --sa-muted:#71858b; display:grid; gap:1rem; }
.sa-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.58fr); gap:2rem; align-items:center; min-height:315px; overflow:hidden; padding:2.7rem; color:#fff; border-radius:30px; background:linear-gradient(125deg,#062938,#0b4b58 58%,#157a70); box-shadow:0 26px 65px rgba(5,42,56,.2); isolation:isolate; }
.sa-hero:before { position:absolute; inset:0; z-index:-2; content:""; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px); background-size:36px 36px; mask-image:linear-gradient(90deg,#000,transparent 82%); }
.sa-hero:after { position:absolute; right:-140px; bottom:-240px; z-index:-1; width:500px; height:500px; content:""; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 50px rgba(255,255,255,.03),0 0 0 100px rgba(255,255,255,.02); }
.sa-eyebrow,.sa-panel-head > div > span { display:block; margin-bottom:.45rem; color:#b8852e; font-size:.61rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.sa-hero .sa-eyebrow { color:#dfbd76; }
.sa-hero h1 { max-width:760px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.2rem,4vw,3.75rem); font-weight:500; line-height:1.03; letter-spacing:-.04em; }
.sa-hero > div > p { max-width:680px; margin:1rem 0 1.4rem; color:rgba(255,255,255,.7); line-height:1.65; }
.sa-hero-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.btn-sa-ghost { color:#fff; border:1px solid rgba(255,255,255,.24); background:rgba(255,255,255,.07); backdrop-filter:blur(10px); }
.btn-sa-ghost:hover { color:#fff; border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.13); }
.sa-system-orbit { position:relative; z-index:2; display:grid; place-items:center; text-align:center; }
.sa-orbit-ring { position:relative; display:grid; width:150px; height:150px; place-content:center; margin-bottom:.8rem; border:1px solid rgba(255,255,255,.14); border-radius:50%; box-shadow:0 0 0 18px rgba(255,255,255,.025),inset 0 0 40px rgba(21,153,133,.25); }
.sa-orbit-ring:after { position:absolute; inset:22px; content:""; border:1px dashed rgba(219,180,99,.42); border-radius:50%; animation:sa-spin 16s linear infinite; }
.sa-orbit-ring i { position:absolute; width:9px; height:9px; border-radius:50%; background:#e1b65f; box-shadow:0 0 14px #e1b65f; }
.sa-orbit-ring i:nth-child(1) { top:17px; left:68px; }.sa-orbit-ring i:nth-child(2) { right:18px; bottom:39px; }.sa-orbit-ring i:nth-child(3) { bottom:24px; left:28px; }
.sa-orbit-ring strong { position:relative; z-index:2; font-size:.75rem; letter-spacing:.18em; }
.sa-system-orbit > div:last-child span,.sa-system-orbit > div:last-child small { display:block; }
.sa-system-orbit > div:last-child span { font-size:.69rem; font-weight:800; }.sa-system-orbit > div:last-child small { margin-top:.2rem; color:rgba(255,255,255,.55); font-size:.55rem; }
@keyframes sa-spin { to { transform:rotate(360deg); } }

.sa-metric-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:.7rem; }
.sa-metric-grid.compact { grid-template-columns:repeat(4,1fr); }
.sa-metric-grid article { display:flex; align-items:center; min-width:0; gap:.7rem; padding:.95rem; border:1px solid rgba(24,66,77,.08); border-radius:17px; background:rgba(255,255,255,.92); box-shadow:0 10px 28px rgba(14,51,62,.06); }
.sa-metric-grid article.accent { background:linear-gradient(145deg,#f4fbf8,#fff8e9); }
.sa-icon { display:grid; flex:0 0 40px; width:40px; height:40px; place-content:center; color:#fff; font-size:.65rem; font-weight:900; border-radius:12px; background:linear-gradient(145deg,#0e5361,#188a7b); box-shadow:0 8px 18px rgba(20,126,114,.2); }
.sa-metric-grid small,.sa-metric-grid strong,.sa-metric-grid em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sa-metric-grid small { color:#7c8e93; font-size:.54rem; }.sa-metric-grid strong { margin:.12rem 0; color:var(--sa-ink); font-size:.8rem; }.sa-metric-grid em { color:#93a0a4; font-size:.49rem; font-style:normal; }
.sa-quick-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:.7rem; }
.sa-quick-grid a { position:relative; padding:1rem; overflow:hidden; color:#526e75; border:1px solid #dfe9e7; border-radius:16px; background:#fff; transition:.2s ease; }
.sa-quick-grid a:hover { transform:translateY(-3px); color:#fff; border-color:#147b71; background:#147b71; box-shadow:0 13px 26px rgba(20,123,113,.18); }
.sa-quick-grid a > span { position:absolute; top:.55rem; right:.65rem; color:#b3c0c2; font-size:.5rem; font-weight:900; }.sa-quick-grid strong,.sa-quick-grid small { display:block; }.sa-quick-grid strong { color:inherit; font-size:.72rem; }.sa-quick-grid small { margin-top:.2rem; color:#8d9a9e; font-size:.51rem; }.sa-quick-grid a:hover small,.sa-quick-grid a:hover > span { color:rgba(255,255,255,.65); }

.sa-dashboard-grid,.sa-layout-even,.sa-log-tabs { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr); gap:1rem; align-items:start; }
.sa-layout-even { grid-template-columns:1fr 1fr; }.sa-log-tabs { grid-template-columns:minmax(0,1.6fr) minmax(260px,.4fr); }
.sa-panel { min-width:0; padding:1.2rem; border:1px solid rgba(24,66,77,.09); border-radius:20px; background:rgba(255,255,255,.92); box-shadow:0 13px 36px rgba(14,52,62,.055); }
.sa-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.sa-panel-head h2,.sa-panel-head p { margin:0; }.sa-panel-head h2 { color:var(--sa-ink); font-family:Georgia,"Times New Roman",serif; font-size:1.1rem; letter-spacing:-.02em; }.sa-panel-head > div > span { margin-bottom:.2rem; font-size:.52rem; }.sa-panel-head > a { color:#15756e; font-size:.58rem; font-weight:850; }.sa-panel-head > code { color:#587078; font-size:.55rem; }
.sa-chart-lg { height:290px; }.sa-chart-xl { height:380px; }.sa-chart-md { height:270px; }.sa-chart-donut { height:190px; }
.sa-role-list { display:grid; gap:.35rem; margin-top:.7rem; }.sa-role-list div { display:flex; justify-content:space-between; padding:.4rem .2rem; color:#6e8288; font-size:.56rem; border-bottom:1px solid #edf2f1; }.sa-role-list strong { color:#31555e; }
.sa-list,.sa-timeline { display:grid; }
.sa-list > div { display:flex; align-items:center; gap:.6rem; padding:.6rem 0; border-bottom:1px solid #edf2f1; }.sa-list > div:last-child { border:0; }
.sa-avatar { display:grid; flex:0 0 34px; width:34px; height:34px; place-content:center; color:#fff; font-size:.58rem; font-weight:900; border-radius:11px; background:linear-gradient(145deg,#164f5d,#1b8d7f); }
.sa-list section { min-width:0; flex:1; }.sa-list strong,.sa-list small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.sa-list strong { color:#355963; font-size:.62rem; }.sa-list small { color:#8b989c; font-size:.5rem; }
.sa-state { display:inline-flex; align-items:center; flex:0 0 auto; padding:.3rem .46rem; color:#536c73; font-size:.48rem; font-weight:900; border-radius:99px; background:#edf2f2; }
.sa-state-active,.sa-state-paid,.sa-state-completed,.sa-state-published { color:#126858; background:#dff3eb; }.sa-state-pending,.sa-state-processing,.sa-state-scheduled,.sa-state-running,.sa-state-queued { color:#86611b; background:#fff0c9; }.sa-state-suspended,.sa-state-blocked,.sa-state-failed,.sa-state-revoked,.sa-state-archived { color:#91474f; background:#f7e0e2; }.sa-state-inactive,.sa-state-expired,.sa-state-draft { color:#58708a; background:#e7edf4; }
.sa-timeline > div { position:relative; display:grid; grid-template-columns:12px minmax(0,1fr) auto; gap:.55rem; padding:.58rem 0; border-bottom:1px solid #edf2f1; }.sa-timeline > div:last-child { border:0; }.sa-timeline i { width:8px; height:8px; margin-top:.24rem; border:2px solid #8bc7bd; border-radius:50%; background:#fff; }.sa-timeline strong,.sa-timeline small { display:block; }.sa-timeline strong { color:#365963; font-size:.59rem; }.sa-timeline small,.sa-timeline time { color:#8a999c; font-size:.49rem; }.sa-timeline time { white-space:nowrap; }
.sa-health-strip { display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; border:1px solid #dce8e6; border-radius:18px; background:#fff; }.sa-health-strip > div { padding:1rem; border-right:1px solid #e6eeec; }.sa-health-strip > div:last-child { border:0; }.sa-health-strip small,.sa-health-strip strong,.sa-health-strip span { display:block; }.sa-health-strip small { color:#829297; font-size:.5rem; text-transform:uppercase; letter-spacing:.07em; }.sa-health-strip strong { margin:.16rem 0; color:#31545d; font-size:.66rem; }.sa-health-strip span { color:#94a0a3; font-size:.5rem; }
.sa-empty-copy { margin:1rem 0; color:#89979b; font-size:.62rem; text-align:center; }

.sa-page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:.35rem 0 .7rem; }.sa-page-head .sa-eyebrow { margin:0 0 .25rem; }.sa-page-head h1 { margin:0; color:var(--sa-ink); font-family:Georgia,"Times New Roman",serif; font-size:2rem; letter-spacing:-.035em; }.sa-page-head p { max-width:760px; margin:.35rem 0 0; color:var(--sa-muted); font-size:.7rem; line-height:1.55; }
.sa-pill { display:inline-flex; align-items:center; flex:0 0 auto; padding:.45rem .67rem; color:#146e65; font-size:.55rem; font-weight:900; border:1px solid #cce7e0; border-radius:99px; background:#edf8f5; }
.sa-chart-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.sa-chart-grid .span-2,.sa-log-tabs .span-2 { grid-column:1/-1; }
.sa-revenue-hero { display:grid; grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr); gap:1.5rem; align-items:center; padding:1.8rem; color:#fff; border-radius:24px; background:linear-gradient(125deg,#083342,#146f6a); box-shadow:0 18px 40px rgba(8,56,67,.16); }
.sa-revenue-hero > div:first-child small,.sa-revenue-hero > div:first-child strong,.sa-revenue-hero > div:first-child span { display:block; }.sa-revenue-hero > div:first-child small { color:#dfbf7b; font-size:.6rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }.sa-revenue-hero > div:first-child strong { margin:.25rem 0; font-size:2.1rem; }.sa-revenue-hero > div:first-child span { color:rgba(255,255,255,.65); font-size:.58rem; }
.sa-revenue-split { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border:1px solid rgba(255,255,255,.15); border-radius:15px; background:rgba(255,255,255,.07); }.sa-revenue-split > span { padding:1rem; border-right:1px solid rgba(255,255,255,.12); }.sa-revenue-split > span:last-child { border:0; }.sa-revenue-split small,.sa-revenue-split strong { display:block; }.sa-revenue-split small { color:rgba(255,255,255,.58); font-size:.51rem; }.sa-revenue-split strong { margin-top:.15rem; font-size:.68rem; }
.sa-table { --bs-table-bg:transparent; color:#526c73; font-size:.58rem; }.sa-table thead th { padding:.72rem .7rem; color:#74878c; font-size:.48rem; text-transform:uppercase; letter-spacing:.05em; border-bottom-color:#e2ecea; background:#f6f9f8; white-space:nowrap; }.sa-table tbody td { padding:.7rem; border-bottom-color:#edf2f1; }.sa-table tbody tr:last-child td { border-bottom:0; }.sa-table td > strong,.sa-table td > small { display:block; }.sa-table td > strong { color:#31545e; }.sa-table td > small { color:#89979b; font-size:.48rem; }.sa-table code { color:#37656b; font-size:.53rem; }

.sa-layout-narrow { display:grid; grid-template-columns:minmax(260px,.35fr) minmax(0,1.65fr); gap:1rem; align-items:start; }
.sa-form-panel { display:grid; gap:.75rem; }.sa-form-panel > label,.sa-inline-form label,.sa-test-form label { display:block; color:#60777e; font-size:.55rem; font-weight:850; }.sa-form-panel .form-control,.sa-form-panel .form-select,.sa-inline-form .form-control,.sa-inline-form .form-select,.sa-test-form .form-control { margin-top:.28rem; font-size:.66rem; }.sa-form-panel label > small { display:block; margin-top:.2rem; color:#8c999d; font-size:.49rem; font-weight:500; }
.sa-check { display:flex!important; align-items:center; gap:.45rem; padding:.55rem; border-radius:10px; background:#f3f7f6; }.sa-check input { accent-color:#16887c; }
.sa-user-cell { display:flex; align-items:center; gap:.55rem; min-width:190px; }.sa-user-cell > div { min-width:0; }.sa-role-badge { display:inline-flex; padding:.29rem .43rem; color:#42636b; font-size:.49rem; font-weight:850; border-radius:8px; background:#edf4f3; }.sa-user-actions { display:grid; min-width:240px; gap:.35rem; }.sa-user-actions form { display:grid; grid-template-columns:1fr auto; gap:.35rem; }.sa-self-label { color:#16746a; font-size:.52rem; font-weight:850; }
.sa-permission-stack { display:grid; gap:1rem; }.sa-permission-card { padding:1.35rem; }.sa-role-head { display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:.8rem; align-items:center; margin-bottom:1rem; }.sa-role-monogram { display:grid; width:46px; height:46px; place-content:center; color:#fff; font-size:.65rem; font-weight:900; border-radius:14px; background:linear-gradient(145deg,#0d4e5c,#188a7c); }.sa-role-head span,.sa-role-head h2,.sa-role-head p { display:block; margin:0; }.sa-role-head span { color:#8c999d; font-size:.48rem; }.sa-role-head h2 { margin:.1rem 0; color:#244c56; font-size:.85rem; }.sa-role-head p { color:#839196; font-size:.52rem; }.sa-role-head > strong { color:#17756b; font-size:.55rem; }
.sa-permission-groups { display:grid; grid-template-columns:repeat(4,1fr); gap:.7rem; }.sa-permission-groups fieldset { min-width:0; padding:.7rem; border:1px solid #e1ebe9; border-radius:13px; }.sa-permission-groups legend { float:none; width:auto; margin:0 0 .4rem; color:#46656c; font-size:.53rem; font-weight:900; }.sa-permission-groups label,.sa-scope-list label { display:flex; align-items:flex-start; gap:.42rem; padding:.36rem 0; border-bottom:1px solid #eff3f2; }.sa-permission-groups label:last-child,.sa-scope-list label:last-child { border:0; }.sa-permission-groups input,.sa-scope-list input { margin-top:.15rem; accent-color:#16887c; }.sa-permission-groups strong,.sa-permission-groups small,.sa-scope-list strong,.sa-scope-list small { display:block; }.sa-permission-groups strong,.sa-scope-list strong { color:#536e75; font-size:.52rem; }.sa-permission-groups small,.sa-scope-list small { color:#98a3a6; font-size:.45rem; }
.sa-module-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; }.sa-module-grid a { position:relative; display:flex; min-height:180px; flex-direction:column; padding:1.25rem; overflow:hidden; color:#61787e; border:1px solid #dce8e6; border-radius:19px; background:linear-gradient(145deg,#fff,#f5faf8); transition:.2s ease; }.sa-module-grid a:hover { transform:translateY(-4px); border-color:#89c9bd; box-shadow:0 16px 35px rgba(17,107,96,.1); }.sa-module-grid a > span { color:#158076; font-size:.52rem; font-weight:900; letter-spacing:.12em; }.sa-module-grid h2 { margin:.5rem 0 .35rem; color:#224b55; font-family:Georgia,"Times New Roman",serif; font-size:1.05rem; }.sa-module-grid p { flex:1; margin:0; font-size:.61rem; line-height:1.55; }.sa-module-grid a > strong { margin-top:1rem; color:#14766d; font-size:.56rem; }

.sa-toggle-row { display:flex; flex-wrap:wrap; gap:.65rem; }.sa-toggle { display:flex!important; align-items:center; gap:.5rem; padding:.55rem .65rem; border:1px solid #dfeae8; border-radius:11px; background:#f6f9f8; cursor:pointer; }.sa-toggle input { position:absolute; opacity:0; }.sa-toggle > span { position:relative; width:32px; height:18px; border-radius:20px; background:#bac7c8; transition:.2s; }.sa-toggle > span:after { position:absolute; top:3px; left:3px; width:12px; height:12px; content:""; border-radius:50%; background:#fff; transition:.2s; }.sa-toggle input:checked + span { background:#16887c; }.sa-toggle input:checked + span:after { transform:translateX(14px); }.sa-toggle strong { color:#506d74; font-size:.54rem; }
.sa-seo-score { display:flex; align-items:center; gap:1rem; padding:1rem; border-radius:15px; background:linear-gradient(135deg,#eaf7f3,#fff8e9); }.sa-seo-score > div { display:grid; flex:0 0 100px; width:100px; height:100px; place-content:center; color:#fff; text-align:center; border-radius:50%; background:linear-gradient(145deg,#126b68,#1a927f); }.sa-seo-score strong,.sa-seo-score span { display:block; }.sa-seo-score strong { font-size:1.4rem; }.sa-seo-score span { font-size:.48rem; }.sa-seo-score p { margin:0; color:#61797f; font-size:.61rem; line-height:1.55; }
.sa-health-list { display:grid; margin-top:.8rem; }.sa-health-list > div { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.6rem .15rem; color:#74878c; font-size:.57rem; border-bottom:1px solid #edf2f1; }.sa-health-list strong { color:#315861; }
.sa-inline-form { display:grid; grid-template-columns:1fr 1.5fr 160px auto; gap:.6rem; align-items:end; padding:.8rem; border-radius:13px; background:#f5f9f8; }
.sa-security-callout { display:flex; align-items:center; gap:.75rem; padding:.9rem; border:1px solid #dce9e6; border-radius:15px; background:linear-gradient(135deg,#f1f9f6,#fffaf0); }.sa-security-callout > span { display:grid; flex:0 0 46px; width:46px; height:46px; place-content:center; color:#fff; font-size:.55rem; font-weight:900; border-radius:14px; background:#177d73; }.sa-security-callout strong,.sa-security-callout p { display:block; margin:0; }.sa-security-callout strong { color:#31575f; font-size:.62rem; }.sa-security-callout p { margin-top:.18rem; color:#7b8d91; font-size:.52rem; line-height:1.45; }
.sa-test-form { display:grid; gap:.65rem; margin:1rem 0; }.sa-checklist { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; }.sa-checklist div { display:flex; align-items:center; gap:.4rem; padding:.5rem; color:#657d82; font-size:.52rem; border-radius:10px; background:#f3f7f6; }.sa-checklist i { width:7px; height:7px; border-radius:50%; background:#16887c; }
.sa-gateway-form { padding:1.4rem; }

.sa-token-reveal { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem; color:#fff; border-radius:18px; background:linear-gradient(125deg,#0b3c4b,#168178); box-shadow:0 14px 32px rgba(12,77,83,.16); }.sa-token-reveal span,.sa-token-reveal strong,.sa-token-reveal small { display:block; }.sa-token-reveal span { color:#dfbf7d; font-size:.53rem; font-weight:900; text-transform:uppercase; }.sa-token-reveal strong { margin:.3rem 0; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.68rem; word-break:break-all; }.sa-token-reveal small { color:rgba(255,255,255,.62); font-size:.5rem; }
.sa-scope-list { padding:.65rem; border:1px solid #e0ebe8; border-radius:12px; }.sa-scope-list legend { float:none; width:auto; margin:0; color:#60777e; font-size:.55rem; font-weight:850; }
.sa-api-clients { display:grid; gap:.65rem; }.sa-api-clients article { padding:.8rem; border:1px solid #e0eae8; border-radius:14px; }.sa-api-head { display:flex; align-items:center; gap:.55rem; }.sa-api-key-icon { display:grid; flex:0 0 37px; width:37px; height:37px; place-content:center; color:#fff; font-size:.48rem; font-weight:900; border-radius:11px; background:#176f6b; }.sa-api-head > div { min-width:0; flex:1; }.sa-api-head strong,.sa-api-head small { display:block; }.sa-api-head strong { color:#345961; font-size:.61rem; }.sa-api-head small { color:#8b999d; font-size:.48rem; }.sa-scope-chips { display:flex; flex-wrap:wrap; gap:.3rem; margin:.6rem 0; }.sa-scope-chips span { padding:.25rem .38rem; color:#436c70; font-size:.45rem; border-radius:99px; background:#eaf4f1; }.sa-record-foot { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; color:#839195; font-size:.48rem; }.sa-record-foot form { margin-left:auto; }
.sa-backup-types { display:grid; gap:.55rem; }.sa-backup-types > label { display:flex; gap:.65rem; padding:.75rem; border:1px solid #dfeae8; border-radius:13px; cursor:pointer; }.sa-backup-types input { margin-top:.2rem; accent-color:#16887c; }.sa-backup-types strong,.sa-backup-types small { display:block; }.sa-backup-types strong { color:#365a63; font-size:.62rem; }.sa-backup-types small { color:#829297; font-size:.51rem; }
.sa-log-table { max-height:520px; overflow:auto; }.sa-log-files { display:grid; gap:.4rem; }.sa-log-files a { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.65rem; color:#61797f; border:1px solid #e2ebe9; border-radius:11px; }.sa-log-files a.active,.sa-log-files a:hover { color:#fff; border-color:#16786f; background:#16786f; }.sa-log-files strong,.sa-log-files small { display:block; }.sa-log-files strong { font-size:.56rem; }.sa-log-files small,.sa-log-files em { color:#8a999c; font-size:.46rem; font-style:normal; }.sa-log-files a.active small,.sa-log-files a.active em,.sa-log-files a:hover small,.sa-log-files a:hover em { color:rgba(255,255,255,.65); }
.sa-log-console { max-height:500px; overflow:auto; margin:0; padding:1rem; color:#b8e1d8; font-size:.52rem; line-height:1.55; border-radius:14px; background:#061a24; }.sa-log-console span { display:block; white-space:pre-wrap; word-break:break-word; }.sa-log-console i { display:inline-block; width:36px; margin-right:.7rem; color:#547078; font-style:normal; text-align:right; }

.sa-blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; }.sa-blog-card { display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid #dce8e6; border-radius:19px; background:#fff; box-shadow:0 12px 30px rgba(13,51,61,.055); }.sa-blog-image { position:relative; display:grid; height:170px; place-content:center; overflow:hidden; background:linear-gradient(145deg,#0c4452,#178376); }.sa-blog-image img { width:100%; height:100%; object-fit:cover; }.sa-blog-image > span { color:#fff; font-family:Georgia,serif; font-size:3.5rem; }.sa-blog-image > em { position:absolute; top:.7rem; right:.7rem; }.sa-blog-body { display:flex; flex:1; flex-direction:column; padding:1rem; }.sa-blog-body > small { color:#168073; font-size:.49rem; font-weight:850; text-transform:uppercase; }.sa-blog-body h2 { margin:.35rem 0; color:#254d57; font-family:Georgia,serif; font-size:1rem; }.sa-blog-body p { flex:1; margin:0; color:#74878c; font-size:.57rem; line-height:1.5; }.sa-blog-body > div { display:flex; justify-content:space-between; gap:.5rem; margin-top:.8rem; color:#8b989c; font-size:.48rem; }.sa-blog-card footer { display:flex; gap:.4rem; padding:.75rem 1rem; border-top:1px solid #edf2f1; }.sa-blog-card footer form { margin-left:auto; }.sa-empty-state { grid-column:1/-1; display:grid; min-height:300px; place-content:center; padding:2rem; text-align:center; border:1px dashed #c8dad6; border-radius:20px; }.sa-empty-state > span { display:grid; width:58px; height:58px; place-content:center; margin:0 auto .8rem; color:#fff; font-weight:900; border-radius:50%; background:#168378; }.sa-empty-state h2 { color:#31565f; font-family:Georgia,serif; }.sa-empty-state p { color:#7b8c91; }
.sa-editor-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr); gap:1rem; align-items:start; }.sa-editor-aside { display:grid; gap:1rem; }

/* Public blog */
.public-blog-hero { position:relative; overflow:hidden; padding:8rem 0 6rem; color:#fff; text-align:center; background:linear-gradient(125deg,#062a39,#0d5360 55%,#178074); }.public-blog-hero:after { position:absolute; inset:0; content:""; opacity:.1; background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px); background-size:40px 40px; }.public-blog-hero .container { position:relative; z-index:1; }.public-blog-hero h1 { max-width:850px; margin:.6rem auto 1rem; font-family:Georgia,serif; font-size:clamp(2.4rem,5vw,4.6rem); font-weight:500; letter-spacing:-.045em; }.public-blog-hero p { max-width:700px; margin:auto; color:rgba(255,255,255,.7); line-height:1.7; }
.public-blog-section { padding:5rem 0; }.public-blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; }.public-blog-grid article { overflow:hidden; border:1px solid rgba(21,74,84,.1); border-radius:24px; background:#fff; box-shadow:0 18px 45px rgba(13,50,61,.07); }.public-blog-grid article.featured { grid-column:span 2; }.public-blog-image { display:grid; height:240px; place-content:center; overflow:hidden; background:linear-gradient(145deg,#0b4350,#1b897b); }.public-blog-grid article.featured .public-blog-image { height:360px; }.public-blog-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }.public-blog-image:hover img { transform:scale(1.035); }.public-blog-image span { color:#fff; font-family:Georgia,serif; font-size:4rem; }.public-blog-grid article > div { padding:1.3rem; }.public-blog-grid small { color:#168075; font-size:.68rem; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }.public-blog-grid h2 { margin:.55rem 0; font-family:Georgia,serif; font-size:1.45rem; line-height:1.15; }.public-blog-grid h2 a { color:#173f4b; }.public-blog-grid p { color:#71858b; font-size:.88rem; line-height:1.65; }.public-blog-link { color:#14776e; font-size:.78rem; font-weight:850; }.public-blog-empty { grid-column:1/-1; padding:4rem; text-align:center; }
.public-article > header { padding:7rem 0 4rem; color:#fff; text-align:center; background:linear-gradient(125deg,#062b39,#146f69); }.public-article > header .container { max-width:920px; }.public-article > header a { display:inline-block; margin-bottom:1.5rem; color:#dcb86f; font-size:.75rem; font-weight:800; }.public-article > header span { display:block; color:#dcb86f; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }.public-article > header h1 { margin:1rem 0; font-family:Georgia,serif; font-size:clamp(2.4rem,5vw,4.4rem); font-weight:500; line-height:1.05; letter-spacing:-.04em; }.public-article > header p { max-width:760px; margin:0 auto 1rem; color:rgba(255,255,255,.7); font-size:1.05rem; line-height:1.65; }.public-article > header small { color:rgba(255,255,255,.6); }.public-article-cover { margin-top:3rem; }.public-article-cover img { width:100%; max-height:620px; object-fit:cover; border-radius:28px; box-shadow:0 25px 60px rgba(9,42,54,.14); }.public-article-content { max-width:820px; margin:4rem auto; color:#3d5961; font-family:Georgia,serif; font-size:1.07rem; line-height:1.85; }.public-article-content h2,.public-article-content h3 { margin:2rem 0 .8rem; color:#173f4b; }.public-article-content img { max-width:100%; height:auto; border-radius:16px; }.public-article > .container > footer { display:flex; flex-wrap:wrap; gap:.45rem; max-width:820px; margin:-2rem auto 4rem; }.public-article > .container > footer span { padding:.4rem .65rem; color:#176d65; font-size:.7rem; border-radius:99px; background:#e8f4f0; }

html[data-theme="dark"] .sa-metric-grid article,
html[data-theme="dark"] .sa-quick-grid a,
html[data-theme="dark"] .sa-panel,
html[data-theme="dark"] .sa-health-strip,
html[data-theme="dark"] .sa-module-grid a,
html[data-theme="dark"] .sa-blog-card { color:#d4e1e4; border-color:rgba(255,255,255,.08); background:#102531; }
html[data-theme="dark"] .sa-metric-grid article.accent,
html[data-theme="dark"] .sa-module-grid a { background:linear-gradient(145deg,#102733,#0b202b); }
html[data-theme="dark"] .sa-page-head h1,
html[data-theme="dark"] .sa-panel-head h2,
html[data-theme="dark"] .sa-metric-grid strong,
html[data-theme="dark"] .sa-list strong,
html[data-theme="dark"] .sa-role-list strong,
html[data-theme="dark"] .sa-health-strip strong,
html[data-theme="dark"] .sa-table td > strong,
html[data-theme="dark"] .sa-role-head h2,
html[data-theme="dark"] .sa-module-grid h2,
html[data-theme="dark"] .sa-security-callout strong,
html[data-theme="dark"] .sa-api-head strong,
html[data-theme="dark"] .sa-backup-types strong,
html[data-theme="dark"] .sa-blog-body h2 { color:#edf6f7; }
html[data-theme="dark"] .sa-table thead th,
html[data-theme="dark"] .sa-check,
html[data-theme="dark"] .sa-toggle,
html[data-theme="dark"] .sa-inline-form,
html[data-theme="dark"] .sa-health-list > div,
html[data-theme="dark"] .sa-security-callout,
html[data-theme="dark"] .sa-checklist div { color:#afbec1; border-color:rgba(255,255,255,.07); background:#0a1d27; }
html[data-theme="dark"] .sa-form-panel .form-control,
html[data-theme="dark"] .sa-form-panel .form-select,
html[data-theme="dark"] .sa-inline-form .form-control,
html[data-theme="dark"] .sa-inline-form .form-select,
html[data-theme="dark"] .sa-test-form .form-control,
html[data-theme="dark"] .sa-user-actions .form-control,
html[data-theme="dark"] .sa-user-actions .form-select { color:#e0eaec; border-color:rgba(255,255,255,.1); background:#081a24; }
html[data-theme="dark"] .sa-table { color:#bdcacc; }html[data-theme="dark"] .sa-table tbody td { border-bottom-color:rgba(130,155,158,.12); }
html[data-theme="dark"] .sa-permission-groups fieldset,
html[data-theme="dark"] .sa-api-clients article,
html[data-theme="dark"] .sa-backup-types > label { border-color:rgba(255,255,255,.08); background:#0b1e28; }
html[data-theme="dark"] .public-blog-section { background:#071821; }.blog-page[data-theme="dark"] .public-blog-grid article { background:#102531; }
html[data-theme="dark"] .public-blog-grid article { border-color:rgba(255,255,255,.08); background:#102531; }.public-blog-grid h2 a { color:inherit; }
html[data-theme="dark"] .public-blog-grid h2 a,html[data-theme="dark"] .public-article-content h2,html[data-theme="dark"] .public-article-content h3 { color:#eef5f6; }
html[data-theme="dark"] .public-blog-grid p,html[data-theme="dark"] .public-article-content { color:#b7c6c9; }

@media (prefers-reduced-motion:reduce) { .sa-orbit-ring:after { animation:none; } }
@media (max-width:1399.98px) { .sa-metric-grid { grid-template-columns:repeat(3,1fr); }.sa-quick-grid { grid-template-columns:repeat(3,1fr); }.sa-permission-groups { grid-template-columns:repeat(3,1fr); } }
@media (max-width:1199.98px) { .sa-dashboard-grid,.sa-log-tabs { grid-template-columns:1fr; }.sa-log-tabs .span-2 { grid-column:auto; }.sa-layout-narrow { grid-template-columns:1fr; }.sa-form-panel { position:relative; }.sa-permission-groups { grid-template-columns:repeat(2,1fr); }.sa-blog-grid { grid-template-columns:repeat(2,1fr); }.sa-editor-layout { grid-template-columns:1fr; }.public-blog-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:991.98px) { .sa-hero { grid-template-columns:1fr; padding:2rem; }.sa-system-orbit { display:none; }.sa-layout-even { grid-template-columns:1fr; }.sa-chart-grid { grid-template-columns:1fr; }.sa-chart-grid .span-2 { grid-column:auto; }.sa-module-grid { grid-template-columns:repeat(2,1fr); }.sa-inline-form { grid-template-columns:1fr 1fr; }.public-blog-grid article.featured { grid-column:auto; }.public-blog-grid article.featured .public-blog-image { height:240px; } }
@media (max-width:767.98px) { .sa-hero { min-height:auto; padding:1.4rem; border-radius:22px; }.sa-hero h1 { font-size:2.2rem; }.sa-metric-grid,.sa-metric-grid.compact { grid-template-columns:repeat(2,1fr); }.sa-quick-grid { grid-template-columns:repeat(2,1fr); }.sa-page-head { flex-direction:column; }.sa-health-strip { grid-template-columns:repeat(2,1fr); }.sa-health-strip > div:nth-child(2) { border-right:0; }.sa-revenue-hero { grid-template-columns:1fr; }.sa-permission-groups { grid-template-columns:1fr; }.sa-module-grid,.sa-blog-grid,.public-blog-grid { grid-template-columns:1fr; }.sa-inline-form { grid-template-columns:1fr; }.sa-checklist { grid-template-columns:1fr; }.sa-token-reveal { align-items:flex-start; flex-direction:column; }.public-blog-hero { padding:6rem 0 4rem; }.public-blog-section { padding:3rem 0; }.public-article > header { padding:5rem 0 3rem; } }
@media (max-width:479.98px) { .sa-metric-grid,.sa-metric-grid.compact,.sa-quick-grid { grid-template-columns:1fr; }.sa-health-strip { grid-template-columns:1fr; }.sa-health-strip > div { border-right:0; border-bottom:1px solid #e6eeec; }.sa-revenue-split { grid-template-columns:1fr; }.sa-revenue-split > span { border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }.sa-role-head { grid-template-columns:42px minmax(0,1fr); }.sa-role-head > button,.sa-role-head > strong { grid-column:1/-1; }.sa-seo-score { align-items:flex-start; flex-direction:column; }.sa-panel { padding:1rem; }.public-blog-grid article > div { padding:1rem; }.public-article-content { margin:2.5rem auto; font-size:.98rem; } }

/* Final marketing, platform control and database-driven homepage */
.brand-image{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;overflow:hidden;background:#fff}.brand-image img{width:100%;height:100%;object-fit:contain}
.sa-tabs{gap:.4rem}.sa-tabs .nav-link{border-radius:999px;color:#4f6a70;background:#edf3f2;font-size:.63rem;font-weight:800}.sa-tabs .nav-link.active{background:#0c4149;color:#fff}
.sa-chip-list{display:flex;flex-wrap:wrap;gap:.4rem}.sa-chip-list span{display:inline-flex;padding:.42rem .65rem;border:1px solid #dde9e7;border-radius:999px;background:#f7faf9;color:#526d72;font-size:.55rem}
.sa-card-list{display:grid;gap:.65rem}.sa-card-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .8rem;padding:.8rem;border:1px solid #e3ecea;border-radius:13px;background:#f9fbfa}.sa-card-list article strong{color:#254f58;font-size:.72rem}.sa-card-list article>span{color:#16887c;font-size:.61rem;font-weight:800}.sa-card-list article small{grid-column:1/-1;color:#7e9094;font-size:.54rem}.sa-card-list article>div{grid-column:1/-1}
.sa-homepage-stack{display:grid;gap:1rem}.sa-homepage-card{padding:1.2rem}.sa-homepage-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.sa-homepage-fields label{font-size:.56rem;color:#60777c;font-weight:750}.sa-homepage-fields .wide{grid-column:span 2}.sa-homepage-fields .form-control,.sa-homepage-fields .form-select{margin-top:.25rem}
.sa-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.sa-check-grid label{display:flex;gap:.5rem;align-items:center;padding:.55rem;border:1px solid #e1ebe9;border-radius:10px;font-size:.58rem}
.sa-api-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.sa-api-doc-grid article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:.15rem .6rem;padding:.75rem;border:1px solid #e2ece9;border-radius:12px;background:#f8fbfa}.sa-api-doc-grid article>strong{grid-row:span 2;color:#16887c;font-size:.57rem}.sa-api-doc-grid code{color:#294f58;font-size:.6rem}.sa-api-doc-grid small{color:#7b8e92;font-size:.52rem}
.final-home{background:#f8f7f3;color:#17383f}.fh-hero{position:relative;min-height:740px;display:flex;align-items:center;overflow:hidden}.fh-hero-media,.fh-hero-shade{position:absolute;inset:0}.fh-hero-media{background-size:cover;background-position:center}.fh-hero-shade{background:linear-gradient(90deg,rgba(3,25,31,.91),rgba(3,25,31,.58) 54%,rgba(3,25,31,.18))}.fh-hero-copy{max-width:850px;padding:9rem 0 7rem;color:#fff}.fh-kicker,.fh-kicker-dark{display:block;margin-bottom:1rem;color:#e1bf78;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800}.fh-kicker-dark{color:#a47527}.fh-hero h1{max-width:800px;margin:0 0 1.4rem;font-family:Georgia,serif;font-size:clamp(3rem,6vw,6.2rem);line-height:.96;letter-spacing:-.055em}.fh-hero p{max-width:690px;color:#d5e2e0;font-size:1.15rem;line-height:1.8}.fh-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}
.fh-search-wrap{position:relative;z-index:3;margin-top:-62px}.fh-search{display:grid;grid-template-columns:1.3fr 1fr .7fr .7fr auto;gap:.7rem;align-items:end;padding:1.2rem;border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 24px 80px rgba(2,28,35,.2);backdrop-filter:blur(18px)}.fh-search>div span,.fh-search label{display:block;color:#788d90;font-size:.64rem;font-weight:700}.fh-search>div strong{display:block;color:#163e46;font-size:1rem}.fh-search input,.fh-search select{width:100%;margin-top:.3rem;padding:.72rem;border:1px solid #dce7e5;border-radius:10px;background:#fff;color:#254c53}
.fh-section{padding:7rem 0}.fh-soft{background:#eef3f1}.fh-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:2.8rem}.fh-heading.centered{display:block;max-width:760px;margin-left:auto;margin-right:auto;text-align:center}.fh-heading>div>span,.fh-partners>.container>span{display:block;margin-bottom:.65rem;color:#9b702c;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.fh-heading h2,.fh-benefits h2,.fh-ai h2,.fh-cta h2{margin:0;color:#153d45;font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,4.1rem);line-height:1.03;letter-spacing:-.04em}.fh-heading>p{max-width:470px;margin:0;color:#61787c;line-height:1.8}.fh-heading.centered>p{margin:1rem auto 0}
.fh-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.fh-property,.fh-vendor{overflow:hidden;border:1px solid #dfe9e6;border-radius:20px;background:#fff;box-shadow:0 14px 45px rgba(18,57,65,.08);color:inherit;text-decoration:none}.fh-property-image{height:230px;padding:1rem;background-size:cover;background-position:center}.fh-property-image span{display:inline-flex;padding:.4rem .65rem;border-radius:999px;background:rgba(4,32,39,.8);color:#fff;font-size:.68rem}.fh-property>div:last-child,.fh-vendor{padding:1.25rem}.fh-property small,.fh-vendor small,.fh-news-grid small{color:#9b702c;text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;font-weight:800}.fh-property h3,.fh-vendor h3,.fh-news-grid h3{margin:.45rem 0;color:#173f47;font-family:Georgia,serif;font-size:1.45rem}.fh-property p,.fh-vendor p,.fh-news-grid p{color:#667d81;line-height:1.6}.fh-vendor>span{display:grid;place-items:center;width:54px;height:54px;margin-bottom:1rem;border-radius:16px;background:#123f48;color:#e9c77f;font-weight:900}.fh-vendor strong{font-size:.68rem;color:#16887c}.fh-empty{grid-column:1/-1;padding:2rem;border:1px dashed #cbdad7;border-radius:18px;color:#708589;text-align:center}
.fh-steps,.fh-market-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.fh-steps article,.fh-market-grid a{padding:1.5rem;border:1px solid #dce7e4;border-radius:18px;background:#fff}.fh-steps article>span{color:#cf9f48;font-size:2rem;font-family:Georgia,serif}.fh-steps h3,.fh-market-grid h3{margin:.8rem 0;color:#1b4951}.fh-steps p,.fh-market-grid p{color:#6d8387;line-height:1.6}.fh-market{background:#0b3038;color:#fff}.fh-market .fh-heading h2,.fh-market .fh-heading p{color:#fff}.fh-market-grid a{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12);color:#fff;text-decoration:none}.fh-market-grid a small,.fh-market-grid a>span{color:#e1bf78}.fh-market-grid h3{color:#fff}
.fh-split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.fh-benefit-list{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.fh-benefit-list div{display:flex;gap:.7rem;padding:1rem;border:1px solid #dce8e5;border-radius:14px;background:#fff;color:#385a61;font-weight:750}.fh-benefit-list span{color:#16887c}.fh-benefits p,.fh-ai p,.fh-cta p{margin:1.2rem 0;color:#687e82;line-height:1.8}
.fh-ai{padding:7rem 0;background:radial-gradient(circle at 80% 30%,rgba(34,139,125,.28),transparent 32%),#061f28;color:#fff}.fh-ai h2,.fh-cta h2{color:#fff}.fh-ai p{color:#bcd0d1}.fh-ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.fh-ai-grid div{display:flex;gap:.7rem;align-items:center;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.06)}.fh-ai-grid span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#d7af60;color:#09252d;font-size:.64rem;font-weight:900}
.fh-stories{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.fh-stories blockquote{margin:0;padding:1.6rem;border-radius:18px;background:#fff;border:1px solid #dfe9e6;color:#335a61;font-family:Georgia,serif;font-size:1.1rem;line-height:1.7}.fh-stories footer{margin-top:1rem;color:#8b6b37;font:700 .65rem/1.4 sans-serif;text-transform:uppercase;letter-spacing:.08em}.fh-stats{padding:3rem 0;background:#d8b66e}.fh-stats>.container{display:grid;grid-template-columns:repeat(4,1fr)}.fh-stat{padding:1rem 2rem;border-right:1px solid rgba(16,52,58,.18);text-align:center}.fh-stat:last-child{border:0}.fh-stat strong,.fh-stat span{display:block}.fh-stat strong{color:#123b42;font:700 3rem/1 Georgia,serif}.fh-stat span{margin-top:.5rem;color:#345a60;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
.fh-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.fh-plan-grid article{position:relative;padding:1.6rem;border:1px solid #dce7e4;border-radius:20px;background:#fff}.fh-plan-grid article.featured{border-color:#d1a85b;box-shadow:0 18px 55px rgba(100,76,30,.14)}.fh-plan-grid h3{margin:.6rem 0;color:#173f47;font:700 1.7rem/1.1 Georgia,serif}.fh-plan-grid>article>strong{display:block;margin:1rem 0;color:#0f5558;font-size:1.8rem}.fh-plan-grid strong span{font-size:.7rem;color:#74878a}.fh-plan-grid ul{min-height:100px;padding-left:1.1rem;color:#687c80;font-size:.82rem}.fh-industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.fh-industry-grid span{padding:1.2rem;border:1px solid #dce7e4;border-radius:14px;background:#fff;color:#345a61;font-weight:800}
.fh-partners{padding:3.5rem 0;background:#fff}.fh-partners>.container{text-align:center}.fh-partners>.container>div{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 3rem}.fh-partners strong{color:#49666b;font-family:Georgia,serif;font-size:1.15rem}.fh-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.fh-news-grid article{padding:1.5rem;border:1px solid #dfe9e6;border-radius:18px;background:#fff}.fh-news-grid a{color:#0d7470;text-decoration:none;font-weight:800}.fh-faq{max-width:900px;margin:auto}.fh-faq .accordion-item{margin-bottom:.6rem;border:1px solid #dce7e4;border-radius:14px!important;overflow:hidden}.fh-faq .accordion-button{font-weight:800;color:#244e56;background:#fff;box-shadow:none}.fh-cta{padding:6rem 0;background:#0b3038;color:#fff}.fh-cta>.container{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:center}.fh-cta form{padding:1.4rem;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.07)}.fh-cta label,.fh-cta small{display:block;color:#c4d5d5;font-size:.7rem}.fh-cta input{width:100%;margin:.5rem 0;padding:.8rem;border:0;border-radius:10px}.fh-ad-strip{padding:1rem 0;background:#ece4d4}.fh-ad-strip>.container{display:flex;gap:1rem;overflow:auto}.fh-ad-strip a{display:flex;min-width:280px;gap:.8rem;align-items:center;color:#274d53;text-decoration:none}.fh-ad-strip img{width:70px;height:48px;border-radius:8px;object-fit:cover}.fh-ad-strip small,.fh-ad-strip strong{display:block}
.campaign-hero{position:relative;min-height:640px;display:flex;align-items:center;color:#fff}.campaign-media,.campaign-shade{position:absolute;inset:0}.campaign-media{background-size:cover;background-position:center}.campaign-shade{background:linear-gradient(90deg,rgba(4,29,35,.92),rgba(4,29,35,.38))}.campaign-hero>.container{max-width:850px;margin-left:max(calc((100vw - 1140px)/2),1.5rem)}.campaign-hero h1{font:700 clamp(3rem,6vw,6rem)/.98 Georgia,serif}.campaign-hero p{max-width:650px;font-size:1.15rem;color:#d5e2e1}.campaign-content{padding:6rem 0}.campaign-content>.container{display:grid;grid-template-columns:1fr 340px;gap:4rem}.campaign-content article{font-size:1.05rem;line-height:1.85}.campaign-content aside{height:max-content;padding:1.4rem;border-radius:18px;background:#edf3f1}.campaign-content aside form{display:grid;gap:.7rem}
html[data-theme="dark"] .sa-chip-list span,html[data-theme="dark"] .sa-card-list article,html[data-theme="dark"] .sa-check-grid label{border-color:rgba(255,255,255,.08);background:#0b1e28;color:#c1d0d2}
@media(max-width:1199.98px){.sa-homepage-fields{grid-template-columns:repeat(2,1fr)}.fh-search{grid-template-columns:1fr 1fr 1fr}.fh-search>div{grid-column:1/-1}.fh-search button{grid-column:1/-1}.fh-card-grid,.fh-stories,.fh-plan-grid,.fh-news-grid{grid-template-columns:repeat(2,1fr)}.fh-steps,.fh-market-grid,.fh-industry-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767.98px){.sa-homepage-fields,.fh-card-grid,.fh-stories,.fh-plan-grid,.fh-news-grid,.fh-steps,.fh-market-grid,.fh-industry-grid,.fh-split,.fh-cta>.container,.campaign-content>.container{grid-template-columns:1fr}.sa-homepage-fields .wide{grid-column:auto}.fh-hero{min-height:660px}.fh-hero-copy{padding:7rem 0 6rem}.fh-search{grid-template-columns:1fr;margin:0 .4rem}.fh-search>div,.fh-search button{grid-column:auto}.fh-search-wrap{margin-top:-35px}.fh-section,.fh-ai{padding:4.5rem 0}.fh-heading{display:block}.fh-heading>p{margin-top:1rem}.fh-benefit-list,.fh-ai-grid{grid-template-columns:1fr}.fh-stats>.container{grid-template-columns:1fr 1fr}.fh-stat{border-bottom:1px solid rgba(16,52,58,.18)}.campaign-hero>.container{margin-left:auto}.campaign-content>.container{gap:2rem}}
