@font-face {
    font-family: "NTW Dancing Script";
    src: url("/resources/fonts/DancingScript.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "NTW Great Vibes";
    src: url("/resources/fonts/GreatVibes-Regular.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "NTW Allura";
    src: url("/resources/fonts/Allura-Regular.ttf") format("truetype");
    font-display: swap;
}

:root {
    --bg: rgb(35, 80, 154);
    --bg-gradient: linear-gradient(180deg, rgb(45, 95, 174) 0%, rgb(35, 80, 154) 100%);
    --tab-blue-gradient: linear-gradient(90deg, rgba(24, 42, 91, 0.98), rgba(40, 70, 128, 0.95));
    --tab-blue-sheen: radial-gradient(circle at 82% 18%, rgba(98, 154, 245, 0.18), transparent 50%);
    --tab-blue-hover: rgb(61, 132, 255);
    --shell-light: rgba(245, 248, 255, 0.94);
    --shell-light-strong: rgba(255, 255, 255, 0.98);
    --shell-ink: rgb(18, 24, 38);
    --shell-ink-soft: rgba(35, 49, 73, 0.76);
    --shell-line: rgba(35, 80, 154, 0.18);
    --surface: rgba(24, 28, 36, 0.88);
    --surface-strong: rgb(20, 24, 32);
    --surface-primary: linear-gradient(180deg, rgba(22, 26, 34, 0.96) 0%, rgba(16, 19, 27, 0.94) 100%);
    --surface-secondary: rgba(255, 255, 255, 0.028);
    --surface-secondary-strong: rgba(255, 255, 255, 0.04);
    --surface-flat: transparent;
    --ink: rgb(244, 247, 255);
    --ink-soft: rgba(219, 226, 245, 0.78);
    --accent: rgb(35, 80, 154);
    --accent-dark: rgb(24, 61, 122);
    --line: rgba(255, 255, 255, 0.12);
    --line-soft: rgba(255, 255, 255, 0.07);
    --line-faint: rgba(255, 255, 255, 0.05);
    --shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
    --shadow-soft: 0 16px 34px rgba(0, 0, 0, 0.22);
    --floating-cookie-offset: 0px;
    --floating-tab-stack-height: 0px;
    --floating-ui-gap: 16px;
}

.cookie-consent-bar[hidden] {
    display: none !important;
}

.promo-popup[hidden] {
    display: none !important;
}

.promo-popup {
    position: fixed;
    right: 24px;
    bottom: calc(24px + var(--floating-cookie-offset) + var(--floating-tab-stack-height));
    z-index: 1350;
    width: min(360px, calc(100% - 32px));
    display: grid;
    gap: 12px;
    padding: 18px 18px 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(26, 31, 43, 0.98) 0%, rgba(17, 20, 29, 0.98) 100%);
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.36);
    transform: translateY(18px);
    opacity: 0;
    transition: opacity 0.22s ease, transform 0.22s ease;
}

.promo-popup.is-visible {
    transform: translateY(0);
    opacity: 1;
}

body.tab-assistant-open .promo-popup.is-visible {
    transform: translateY(10px);
    opacity: 0;
    pointer-events: none;
}

.promo-popup-eyebrow {
    margin: 0;
    color: rgb(121, 169, 248);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.promo-popup h3 {
    margin: 0;
    font-size: 1.35rem;
}

.promo-popup p {
    margin: 0;
}

.promo-popup strong {
    color: var(--ink);
}

.promo-popup-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}

.promo-popup-actions .button {
    min-width: 140px;
}

.promo-popup-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--ink);
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
}

.promo-popup-close:hover,
.promo-popup-close:focus-visible {
    background: rgba(255, 255, 255, 0.12);
}

.cookie-consent-bar {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1400;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    width: 100%;
    padding: 12px 24px 13px;
    border-top: 1px solid rgba(223, 176, 112, 0.28);
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 14% 0%, rgba(255, 215, 149, 0.14), transparent 20%),
        radial-gradient(circle at 78% 10%, rgba(146, 197, 255, 0.09), transparent 18%),
        linear-gradient(180deg, rgba(29, 24, 37, 0.98) 0%, rgba(17, 18, 28, 0.99) 100%);
    box-shadow: 0 -18px 36px rgba(8, 9, 18, 0.28);
    backdrop-filter: blur(12px);
    overflow: hidden;
}

.cookie-consent-bar::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 16% 18%, rgba(255, 236, 198, 0.09) 0 8px, transparent 9px),
        radial-gradient(circle at 22% 24%, rgba(93, 57, 29, 0.2) 0 3px, transparent 4px),
        radial-gradient(circle at 88% 82%, rgba(255, 236, 198, 0.08) 0 10px, transparent 11px),
        radial-gradient(circle at 82% 78%, rgba(93, 57, 29, 0.16) 0 3px, transparent 4px);
    pointer-events: none;
    opacity: 0.95;
}

.cookie-consent-decoration,
.cookie-consent-copy,
.cookie-consent-actions {
    position: relative;
    z-index: 1;
}

.cookie-consent-decoration {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    margin-bottom: 0;
}

.cookie-consent-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 11px;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(249, 241, 227, 0.9);
    background: rgba(255, 255, 255, 0.05);
}

.cookie-consent-chip::before {
    display: inline-block;
    font-size: 0.9rem;
    line-height: 1;
}

.cookie-consent-chip-cookie::before {
    content: "●";
    color: rgba(234, 186, 119, 0.92);
    text-shadow:
        5px 2px 0 rgba(93, 57, 29, 0.4),
        -3px -1px 0 rgba(93, 57, 29, 0.28),
        2px -4px 0 rgba(93, 57, 29, 0.24);
}

.cookie-consent-chip-privacy::before {
    content: "•";
    color: rgba(123, 187, 255, 0.94);
    font-size: 1.15rem;
}

.cookie-consent-copy {
    display: grid;
    gap: 4px;
    max-width: none;
    align-content: center;
}

.cookie-consent-eyebrow {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(239, 207, 154, 0.78);
}

.cookie-consent-title,
.cookie-consent-text {
    margin: 0;
}

.cookie-consent-title {
    font-family: "Sora", sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--ink);
    max-width: none;
}

.cookie-consent-text {
    color: rgba(236, 226, 214, 0.82);
    line-height: 1.45;
    font-size: 0.93rem;
}

.cookie-consent-note-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 1px;
}

.cookie-consent-note {
    padding: 6px 10px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.045);
    color: rgba(245, 240, 233, 0.76);
    font-size: 0.79rem;
    line-height: 1.35;
}

.cookie-consent-note strong {
    color: rgba(255, 248, 236, 0.98);
}

.cookie-consent-actions {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    justify-content: flex-end;
    align-items: center;
    padding-top: 0;
    margin-left: auto;
}

.cookie-consent-actions .button {
    min-width: 150px;
    box-shadow: none;
}

.cookie-consent-actions .button.button-secondary {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.05);
}

.cookie-consent-actions .button:not(.button-secondary) {
    background: linear-gradient(180deg, rgb(229, 181, 108) 0%, rgb(196, 140, 62) 100%);
    color: rgb(28, 20, 13);
    border-color: rgba(255, 231, 190, 0.3);
}

.cookie-consent-actions .button:not(.button-secondary):hover,
.cookie-consent-actions .button:not(.button-secondary):focus-visible {
    background: linear-gradient(180deg, rgb(237, 191, 120) 0%, rgb(206, 149, 69) 100%);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: auto;
}

body {
    margin: 0;
    min-height: 100vh;
    font-family: "Manrope", sans-serif;
    color: var(--ink);
    overflow-x: clip;
    background:
        radial-gradient(circle at top left, rgba(84, 111, 164, 0.18), transparent 28%),
        radial-gradient(circle at right 18%, rgba(255, 255, 255, 0.06), transparent 26%),
        linear-gradient(180deg, rgb(22, 25, 33) 0%, rgb(14, 15, 19) 100%);
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

p {
    line-height: 1.7;
    color: var(--ink-soft);
}

.required-label::after {
    content: " *";
    color: rgb(255, 110, 110);
}

.books-ledger-panel .required-label::before,
.books-account-panel .required-label::before,
.books-documents-panel .required-label::before,
.books-document-edit-modal .required-label::before,
.books-reconciliation-panel .required-label::before,
.books-tax-panel .required-label::before,
.books-tax-panel label:not(.required-label):has(:required)::before {
    content: " *";
    color: rgb(255, 110, 110);
}

.books-ledger-panel .required-label::after,
.books-account-panel .required-label::after,
.books-documents-panel .required-label::after,
.books-document-edit-modal .required-label::after,
.books-reconciliation-panel .required-label::after,
.books-tax-panel .required-label::after,
.books-tax-panel label:not(.required-label):has(:required)::after {
    content: none;
}

.optional-copy {
    color: rgba(219, 226, 245, 0.64);
    font-weight: 600;
}

.site-header,
.hero,
.trusted-strip,
.section,
.site-footer {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    position: sticky;
    top: 14px;
    z-index: 1000;
    background:
        radial-gradient(circle at 12% 22%, rgba(6, 10, 24, 0.26), transparent 28%),
        radial-gradient(circle at 86% 18%, rgba(255, 255, 255, 0.07), transparent 24%),
        var(--tab-blue-sheen),
        var(--tab-blue-gradient);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 26px;
    padding: 18px 24px;
    margin-top: 18px;
    box-shadow: var(--shadow);
    isolation: isolate;
    overflow: visible;
    transform: translateZ(0);
    backface-visibility: hidden;
    transition: padding 0.24s ease, border-radius 0.24s ease, top 0.24s ease, background-color 0.24s ease, box-shadow 0.24s ease;
}

.site-header.is-condensed {
    top: 10px;
    padding: 12px 18px;
    border-radius: 20px;
    background:
        radial-gradient(circle at 12% 22%, rgba(6, 10, 24, 0.3), transparent 30%),
        radial-gradient(circle at 84% 18%, rgba(122, 177, 255, 0.1), transparent 34%),
        linear-gradient(90deg, rgba(24, 42, 91, 0.99), rgba(40, 70, 128, 0.97));
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.34);
}

.brand img {
    width: 280px;
    max-width: none;
    transform: scale(1.38);
    transform-origin: left center;
    transition: width 0.24s ease, transform 0.24s ease;
}

.site-header.is-condensed .brand img {
    width: 244px;
    transform: scale(1.24);
}

.nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    cursor: pointer;
    transition: background-color 0.22s ease, transform 0.22s ease, border-color 0.22s ease;
}

.nav-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    margin: 0 auto;
    border-radius: 999px;
    background: var(--ink);
    transition: transform 0.22s ease, opacity 0.22s ease;
}

.nav-toggle:hover,
.nav-toggle:focus-visible {
    background: rgb(24, 61, 122);
    border-color: rgba(255, 255, 255, 0.18);
    transform: translateY(-1px);
}

.site-header.is-nav-open .nav-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.site-header.is-nav-open .nav-toggle span:nth-child(2) {
    opacity: 0;
}

.site-header.is-nav-open .nav-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 24px;
    font-size: 0.96rem;
    font-weight: 500;
}

.site-header.is-condensed .site-nav {
    gap: 14px;
    font-size: 0.92rem;
}

.site-nav a {
    position: relative;
    padding: 10px 16px;
    border-radius: 999px;
    color: var(--ink);
    transition: background-color 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.nav-dropdown {
    position: relative;
    padding-bottom: 10px;
    margin-bottom: -10px;
    z-index: 25;
}

.nav-dropdown::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 12px;
}

.nav-dropdown-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--ink);
    font: inherit;
    cursor: pointer;
    transition: background-color 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.nav-dropdown-toggle::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    transition: transform 0.22s ease;
}

.site-header.is-condensed .site-nav a {
    padding: 8px 13px;
}

.site-header.is-condensed .nav-dropdown-toggle {
    padding: 8px 13px;
}

.site-nav a::after {
    content: "";
    position: absolute;
    left: 16px;
    bottom: 7px;
    width: calc(100% - 32px);
    height: 2px;
    background: rgba(255, 255, 255, 0.85);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.22s ease;
}

.site-nav a.active,
.site-nav a:hover,
.site-nav a:focus-visible,
.nav-dropdown-toggle:hover,
.nav-dropdown-toggle:focus-visible,
.nav-dropdown:hover .nav-dropdown-toggle,
.nav-dropdown:focus-within .nav-dropdown-toggle,
.nav-dropdown-toggle.active {
    background: var(--tab-blue-hover);
    color: white;
    transform: translateY(-1px);
}

.site-nav a:hover::after,
.site-nav a:focus-visible::after,
.site-nav a.active::after {
    transform: scaleX(1);
}

.nav-dropdown:hover .nav-dropdown-toggle::after,
.nav-dropdown:focus-within .nav-dropdown-toggle::after,
.nav-dropdown-toggle.active::after,
.nav-dropdown.is-open .nav-dropdown-toggle::after {
    transform: rotate(225deg) translateY(1px);
}

.nav-dropdown-menu {
    position: absolute;
    top: calc(100% + 2px);
    right: 0;
    min-width: 200px;
    padding: 10px;
    display: grid;
    gap: 6px;
    background: rgba(14, 15, 19, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.3);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    pointer-events: none;
    z-index: 20;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.is-open .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.nav-dropdown-menu a {
    padding: 11px 14px;
    border-radius: 14px;
}

.nav-dropdown-menu a::after {
    display: none;
}

.hero {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 42px;
    align-items: center;
    padding: 54px 0 60px;
}

.page-hero {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 72px 0 28px;
}

body[data-site-surface="app"] .page-hero {
    padding-top: 118px;
}

.page-hero h1 {
    max-width: 12ch;
}

.dashboard-role-switch {
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    margin-top: 1.35rem;
    padding: 0.45rem;
    border-radius: 999px;
    background: rgba(13, 19, 35, 0.72);
    border: 1px solid rgba(123, 160, 255, 0.18);
    box-shadow: 0 18px 42px rgba(8, 12, 24, 0.2);
}

.dashboard-role-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 118px;
    padding: 0.78rem 1.2rem;
    border-radius: 999px;
    color: rgba(232, 238, 255, 0.82);
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.dashboard-role-option:hover,
.dashboard-role-option:focus-visible {
    color: #ffffff;
    background: rgba(73, 104, 192, 0.18);
}

.dashboard-role-option.is-active {
    background: linear-gradient(135deg, rgba(70, 118, 232, 0.95), rgba(48, 89, 178, 0.95));
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(46, 84, 168, 0.3);
}

.error-hero {
    padding-bottom: 8px;
}

.error-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    gap: 28px;
    align-items: stretch;
}

.error-hero-copy {
    padding-top: 12px;
}

.error-tab-card,
.error-link-card {
    border: 1px solid var(--line-soft);
    border-radius: 32px;
    background: var(--surface-primary);
    box-shadow: var(--shadow-soft);
}

.error-tab-card {
    display: grid;
    gap: 20px;
    align-content: start;
    padding: 26px;
    background:
        radial-gradient(circle at top left, rgba(90, 146, 244, 0.12), transparent 42%),
        linear-gradient(180deg, rgba(20, 28, 42, 0.98), rgba(13, 18, 29, 0.98));
}

.error-tab-portrait {
    width: min(100%, 280px);
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(142, 188, 255, 0.18);
    border-radius: 36px;
    background:
        radial-gradient(circle at top left, rgba(114, 172, 255, 0.18), transparent 48%),
        linear-gradient(180deg, rgba(32, 55, 103, 0.96), rgba(20, 34, 68, 0.98));
    box-shadow: 0 28px 54px rgba(5, 10, 21, 0.34);
}

.error-tab-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 24%;
    transform: scale(1.18);
}

.error-tab-copy {
    display: grid;
    gap: 10px;
}

.error-tab-copy h2,
.error-link-card h3 {
    margin: 0;
}

.error-tab-copy p:last-child,
.error-link-card p:last-of-type {
    margin: 0;
}

.error-link-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.page-intro {
    max-width: 62ch;
    margin-top: 22px;
    font-size: 1.08rem;
}

.eyebrow {
    margin-bottom: 14px;
    color: rgb(121, 169, 248);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 0.76rem;
    font-weight: 700;
}

h1,
h2,
h3 {
    color: var(--ink);
    line-height: 1.05;
}

h1,
h2 {
    font-family: "Sora", sans-serif;
}

h1 {
    font-size: clamp(3rem, 6vw, 5.7rem);
    max-width: 11ch;
}

.hero-text {
    max-width: 56ch;
    margin: 22px 0 28px;
    font-size: 1.08rem;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 28px;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 22px;
    border-radius: 999px;
    font-weight: 700;
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.button:hover,
.button:focus-visible {
    transform: translateY(-2px);
}

.button-primary {
    background: var(--accent);
    color: #fff;
}

.button-primary:hover,
.button-primary:focus-visible {
    background: var(--accent-dark);
}

.button-secondary {
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, 0.06);
    color: var(--ink);
}

.hero-order-button {
    min-height: 58px;
    padding: 0 28px;
    border: 1px solid rgba(150, 196, 255, 0.32);
    background:
        radial-gradient(circle at top left, rgba(102, 159, 240, 0.22), transparent 46%),
        linear-gradient(135deg, rgb(24, 58, 118) 0%, rgb(14, 34, 74) 100%);
    color: rgb(244, 248, 255);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 18px 40px rgba(6, 16, 38, 0.42);
}

.hero-order-button:hover,
.hero-order-button:focus-visible {
    background:
        radial-gradient(circle at top left, rgba(118, 176, 255, 0.28), transparent 46%),
        linear-gradient(135deg, rgb(29, 72, 146) 0%, rgb(17, 44, 94) 100%);
    color: rgb(255, 255, 255);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 22px 46px rgba(6, 16, 38, 0.48);
}

.hero-services-button {
    min-height: 58px;
    padding: 0 28px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: linear-gradient(135deg, rgb(255, 255, 255) 0%, rgb(175, 205, 255) 100%);
    color: rgb(14, 15, 19);
    box-shadow: 0 18px 40px rgba(14, 15, 19, 0.22);
}

.hero-services-button:hover,
.hero-services-button:focus-visible {
    background: linear-gradient(135deg, rgb(255, 255, 255) 0%, rgb(210, 227, 255) 100%);
    color: rgb(14, 15, 19);
    box-shadow: 0 22px 46px rgba(14, 15, 19, 0.28);
}

.button-danger {
    border: 1px solid rgba(214, 79, 100, 0.42);
    background: linear-gradient(180deg, rgba(194, 55, 77, 0.96) 0%, rgba(161, 37, 59, 0.96) 100%);
    color: #fff;
}

.button-danger:hover,
.button-danger:focus-visible {
    background: linear-gradient(180deg, rgba(214, 79, 100, 1) 0%, rgba(171, 45, 67, 1) 100%);
}

.hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
}

.hero-points li {
    padding: 10px 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--ink);
    font-size: 0.92rem;
}

.hero-panel {
    position: relative;
    min-height: 520px;
}

.window-card {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 28px;
    background: var(--surface);
    backdrop-filter: blur(16px);
    box-shadow: var(--shadow);
}

.window-card-large {
    inset: 0 34px 70px 0;
    padding: 22px;
}

.window-card-small {
    right: 0;
    bottom: 0;
    width: 58%;
    padding: 26px;
}

.window-bar {
    display: flex;
    gap: 8px;
    margin-bottom: 28px;
}

.window-bar span {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.28);
}

.window-content {
    position: relative;
    min-height: calc(100% - 40px);
}

.window-content p {
    max-width: 26ch;
    font-size: 1.45rem;
    line-height: 1.25;
    color: var(--ink);
}

.window-content-top {
    position: absolute;
    top: 0;
    left: 0;
}

.window-content-middle {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.metric-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.metric-row div {
    padding: 18px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
}

.metric-row strong,
.process-step span,
.showcase-card span {
    display: block;
    font-family: "Sora", sans-serif;
}

.metric-row strong {
    font-size: 1.55rem;
    margin-bottom: 6px;
}

.metric-row span {
    font-size: 0.85rem;
    color: var(--ink-soft);
}

.trusted-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 24px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.04);
}

.trusted-strip p {
    color: var(--ink);
    font-weight: 500;
}

.trusted-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.trusted-tags span {
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--line);
    font-size: 0.9rem;
}

.section {
    padding: 90px 0;
}

.section[id] {
    scroll-margin-top: 140px;
}

.section-heading {
    max-width: 760px;
    margin-bottom: 34px;
}

.home-quote-section {
    display: grid;
    gap: 28px;
}

.home-quote-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 28px;
    align-items: start;
}

.home-quote-copy {
    display: grid;
    gap: 18px;
}

.home-quote-copy .section-heading {
    margin-bottom: 0;
}

.home-quote-copy .page-intro {
    max-width: 44ch;
}

.home-quote-proof-card {
    display: block;
    position: relative;
    margin-top: 18px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    min-height: 520px;
    overflow: visible;
}

.home-quote-proof-window {
    inset: 0 34px 78px 0;
}

.home-quote-proof-logo-card {
    right: 0;
    bottom: 0;
}

.home-quote-proof-logo-card img {
    display: block;
    width: 100%;
    height: auto;
}

.home-quote-proof-copy {
    min-height: calc(100% - 40px);
}

.home-quote-proof-copy .window-content-top,
.home-quote-proof-copy .window-content-middle {
    max-width: 18ch;
}

h2 {
    font-size: clamp(2.2rem, 4vw, 4rem);
}

.card-grid,
.showcase-grid,
.process-list,
.pricing-grid {
    display: grid;
    gap: 22px;
}

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

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

.homepage-process-grid {
    grid-template-columns: minmax(0, 1fr);
}

.pricing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

.info-card,
.showcase-card,
.process-step,
.contact-card {
    border: 1px solid var(--line-soft);
    border-radius: 28px;
    background: var(--surface-primary);
    box-shadow: var(--shadow-soft);
}

.info-card {
    padding: 28px;
}

.homepage-example-card {
    display: grid;
    gap: 20px;
    align-content: start;
}

.homepage-example-card-hero {
    align-self: stretch;
}

.homepage-example-eyebrow {
    margin: 0;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(171, 201, 255, 0.8);
}

.homepage-example-card h3 {
    margin: 0;
    max-width: 22ch;
}

.homepage-example-stack {
    display: grid;
    gap: 14px;
    padding: 10px 6px;
}

.homepage-example-thumb {
    display: block;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(20, 31, 56, 0.96) 0%, rgba(15, 21, 36, 0.96) 100%);
    box-shadow: 0 18px 34px rgba(7, 14, 32, 0.28);
    width: min(100%, 340px);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
    text-decoration: none;
}

.homepage-example-thumb img {
    display: block;
    width: 100%;
    height: auto;
}

.homepage-example-thumb:hover,
.homepage-example-thumb:focus-visible {
    transform: translateY(-4px) scale(1.01);
    border-color: rgba(144, 185, 255, 0.42);
    box-shadow: 0 24px 42px rgba(7, 14, 32, 0.34);
}

.homepage-example-thumb-left {
    justify-self: start;
    transform: rotate(-2deg);
}

.homepage-example-thumb-right {
    justify-self: end;
    transform: rotate(2deg);
}

.homepage-example-thumb-front {
    margin-top: -8px;
    z-index: 1;
}

.homepage-example-footer {
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.7;
}

.homepage-process-card {
    display: grid;
    gap: 20px;
}

.homepage-process-card-wide {
    grid-column: 1 / -1;
    gap: 24px;
    align-items: stretch;
}

.homepage-process-card h3 {
    margin-bottom: 0;
}

.homepage-process-card-wide > .homepage-example-eyebrow,
.homepage-process-card-wide > h3 {
    margin: 0;
}

.homepage-process-main {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    align-items: start;
}

.homepage-process-action-card {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 22px;
    align-content: start;
    min-height: 100%;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.03);
}

.homepage-process-action-card h4,
.homepage-process-action-card p {
    margin: 0;
}

.homepage-process-action-card h4 {
    color: var(--ink);
    font-family: "Sora", sans-serif;
    font-size: 1.22rem;
    line-height: 1.2;
}

.homepage-process-action-card p {
    color: var(--ink-soft);
    line-height: 1.7;
}

.homepage-process-action-card .button {
    margin-top: 8px;
    width: fit-content;
}

.services-page-hero {
    padding-bottom: 34px;
}

.services-page-hero-grid {
    display: block;
}

.services-page-hero-copy {
    display: grid;
    gap: 20px;
    align-content: start;
    padding-top: 18px;
    max-width: 760px;
}

.services-page-hero-copy .page-intro {
    max-width: 44ch;
    margin-top: 0;
}

.services-hero-support-copy {
    max-width: 38ch;
    margin: 0;
    color: rgba(219, 230, 255, 0.92);
    font-size: 1.12rem;
    line-height: 1.7;
}

.services-page-hero-actions,
.services-final-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

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

.services-problem-card,
.services-approach-card,
.services-positioning-card,
.services-care-benefit {
    display: grid;
    gap: 12px;
    align-content: start;
}

.services-problem-card h3,
.services-approach-card h3,
.services-positioning-card h3,
.services-care-benefit h3,
.services-included-group h3 {
    margin: 0;
}

.services-problem-card p,
.services-approach-card p,
.services-positioning-card p {
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.7;
    font-size: 1rem;
}

.services-problem-card-muted {
    background: rgba(255, 255, 255, 0.03);
}

.services-problem-card-strong {
    background:
        radial-gradient(circle at top right, rgba(92, 154, 255, 0.14), transparent 34%),
        linear-gradient(180deg, rgba(28, 39, 59, 0.96), rgba(17, 22, 34, 0.96));
}

.services-problem-card-strong p {
    color: rgba(232, 239, 255, 0.92);
    font-size: 1.08rem;
}

.services-problem-list {
    margin: 0;
}

.services-approach-card {
    background:
        radial-gradient(circle at top right, rgba(92, 154, 255, 0.09), transparent 30%),
        var(--surface-primary);
}

.services-care-card {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.services-care-copy {
    display: grid;
    gap: 14px;
}

.services-care-copy h2,
.services-care-copy p {
    margin: 0;
}

.services-care-copy p {
    color: var(--ink-soft);
    line-height: 1.75;
    font-size: 1.02rem;
}

.services-care-benefits {
    display: grid;
    gap: 18px;
}

.services-care-benefit {
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.03);
}

.services-care-benefit p {
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.7;
    font-size: 1rem;
}

.services-overview-card p,
.template-card-copy p,
.services-final-cta-card p,
.section-heading > p:not(.eyebrow) {
    font-size: 1.02rem;
    line-height: 1.72;
}

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

.services-overview-card {
    padding: 30px;
    background:
        radial-gradient(circle at top right, rgba(80, 137, 231, 0.14), transparent 32%),
        rgba(27, 38, 58, 0.98);
    border-color: rgba(255, 255, 255, 0.1);
}

.services-overview-card h3 {
    margin: 0 0 10px;
}

.services-overview-card p {
    margin: 0;
}

.services-included-card {
    display: grid;
    grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.1fr);
    gap: 28px;
    align-items: start;
}

.services-included-copy {
    display: grid;
    gap: 10px;
}

.services-included-copy .eyebrow {
    color: rgba(153, 196, 255, 0.96);
}

.services-included-copy h2 {
    margin: 0;
}

.services-included-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.services-included-group {
    display: grid;
    gap: 14px;
    align-content: start;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.03);
}

.services-included-list {
    margin: 0;
}

.services-included-list li:first-child {
    padding-top: 0;
    border-top: 0;
}

.services-process-list {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: space-between;
    gap: 16px;
}

.services-process-list .process-step {
    flex: 1 1 0;
    background: var(--surface-primary);
    min-width: 0;
    padding: 22px 24px;
    display: grid;
    gap: 12px;
    align-content: start;
    min-height: 220px;
}

.services-process-list .process-step span {
    margin-bottom: 14px;
}

.services-process-list .process-step h3 {
    margin: 0;
    font-size: 1.18rem;
    white-space: normal;
}

.services-process-list .process-step p {
    margin: 0;
    color: var(--ink-soft);
}

.services-template-card {
    position: relative;
    cursor: pointer;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.services-template-card:hover,
.services-template-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(144, 185, 255, 0.3);
    box-shadow: 0 26px 52px rgba(7, 14, 32, 0.32);
    outline: none;
}

.services-template-card .template-card-actions {
    position: relative;
    z-index: 2;
}

.services-template-card .template-card-copy,
.services-template-card .template-card-preview {
    position: relative;
    z-index: 1;
}

.services-final-cta-section {
    padding-top: 18px;
}

.services-final-cta-card {
    display: grid;
    justify-items: center;
    gap: 16px;
    text-align: center;
    padding: 34px;
    background:
        radial-gradient(circle at top center, rgba(92, 154, 255, 0.14), transparent 42%),
        var(--surface-primary);
}

.services-final-cta-card h2,
.services-final-cta-card p {
    margin: 0;
}

.services-final-cta-card p {
    color: var(--ink-soft);
    max-width: 42ch;
    line-height: 1.7;
}

.pricing-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: var(--surface-primary);
    border-color: rgba(255, 255, 255, 0.11);
    box-shadow: var(--shadow-soft);
}

.pricing-card-full-build {
    grid-column: span 2;
    align-self: stretch;
    height: 100%;
}

.pricing-card-summary {
    display: grid;
    gap: 14px;
    list-style: none;
    cursor: default;
}

.pricing-card-summary::-webkit-details-marker {
    display: none;
}

.pricing-card-body {
    display: grid;
    gap: 14px;
    flex: 1 1 auto;
}

.pricing-card-body-full-build {
    padding-top: 0;
    border-top: 0;
    flex: 1 1 auto;
}

.pricing-full-build-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.35fr);
    gap: 20px;
    align-items: start;
    height: 100%;
}

.pricing-full-build-primary {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 24px;
    align-content: stretch;
    height: 100%;
}

.pricing-full-build-primary-header {
    display: grid;
    gap: 18px;
}

.pricing-full-build-primary-header h3,
.pricing-full-build-primary-header .pricing-value,
.pricing-full-build-primary-header .pricing-label {
    margin: 0;
}

.pricing-full-build-primary-header h3 {
    font-size: 2.35rem;
}

.pricing-full-build-primary-header .pricing-value {
    font-size: 3.35rem;
}

.pricing-full-build-list {
    margin: 0;
    padding: 0;
    display: grid;
    align-content: space-between;
    height: 100%;
    font-size: 1.34rem;
    line-height: 1.42;
}

.pricing-full-build-list li {
    display: block;
    padding-top: 16px;
}

@media (min-width: 721px) {
    .pricing-card-summary {
        pointer-events: none;
    }

    .pricing-card-full-build > .pricing-card-summary {
        display: none;
    }
}

.pricing-label {
    color: rgba(219, 226, 245, 0.9);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.78rem;
    font-weight: 800;
}

.pricing-value {
    color: var(--ink);
    font-family: "Sora", sans-serif;
    font-size: 2rem;
    line-height: 1;
}

.pricing-best-for {
    margin: 0;
    color: rgba(236, 242, 255, 0.92);
}

.pricing-service-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
    align-self: start;
}

.pricing-service-block {
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 14px;
    align-self: stretch;
    height: 100%;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.03);
    font-size: 1.18rem;
    line-height: 1.52;
}

.pricing-service-block p {
    margin: 0;
}

.pricing-service-label {
    margin: 0;
    color: rgba(153, 196, 255, 0.96);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.84rem;
    font-weight: 800;
}

.pricing-service-block .pricing-best-for {
    font-size: 1.15rem;
    line-height: 1.5;
}

.pricing-intro-note {
    margin: 0 auto 26px;
}

.pricing-intro-note p {
    margin: 0;
}

.feature-list {
    list-style: none;
    display: grid;
    gap: 10px;
    color: var(--ink-soft);
}

.feature-list.feature-list-checkboxes {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    margin-top: 6px;
}

.project-build-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.025);
    color: var(--ink);
    cursor: pointer;
    transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.project-build-checkbox:hover,
.project-build-checkbox:focus-within {
    border-color: rgba(92, 154, 255, 0.34);
    background: rgba(255, 255, 255, 0.04);
    transform: translateY(-1px);
}

.project-build-checkbox input[type="checkbox"] {
    margin: 2px 0 0;
    flex: 0 0 auto;
}

.project-build-checkbox span {
    display: block;
    min-width: 0;
    color: var(--ink);
    font-weight: 700;
    line-height: 1.45;
}

.project-build-checkbox-inline {
    margin-top: 4px;
}

.feature-list li {
    padding-top: 10px;
    border-top: 1px solid var(--line);
}

.pricing-note {
    width: min(100%, 780px);
    margin: 0 auto;
    text-align: center;
}

.pricing-note.pricing-intro-note {
    width: 100%;
    margin: 0 0 34px;
    text-align: left;
}

.pricing-note.pricing-intro-note h2 {
    margin: 0;
}

@media (max-width: 720px) {
    .pricing-card-full-build {
        grid-column: auto;
    }

    .pricing-card-body-full-build {
        padding-top: 16px;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    .pricing-full-build-primary-header {
        display: none;
    }

    .pricing-full-build-layout,
    .pricing-service-split {
        grid-template-columns: 1fr;
    }
}

.pricing-sale-banner {
    display: grid;
    gap: 0;
    width: min(100%, var(--pricing-sale-banner-max-width, 980px));
    margin: 0 auto 26px;
    border: 1px solid rgba(118, 168, 255, 0.22);
    border-radius: 32px;
    background:
        radial-gradient(circle at top left, rgba(88, 149, 255, 0.2), transparent 38%),
        linear-gradient(180deg, rgba(20, 31, 56, 0.98) 0%, rgba(15, 21, 36, 0.98) 100%);
    box-shadow: 0 22px 44px rgba(7, 14, 32, 0.28);
    text-align: left;
    overflow: hidden;
}

.pricing-sale-banner.pricing-sale-banner-upcoming {
    border-color: rgba(255, 210, 122, 0.24);
    background:
        radial-gradient(circle at top left, rgba(255, 207, 112, 0.16), transparent 38%),
        linear-gradient(180deg, rgba(34, 29, 15, 0.98) 0%, rgba(23, 21, 15, 0.98) 100%);
}

.pricing-sale-banner-eyebrow {
    margin: 0;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(171, 201, 255, 0.88);
}

.pricing-sale-banner-copy {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.pricing-sale-banner-media {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(108, 163, 255, 0.3), transparent 34%),
        linear-gradient(180deg, rgba(27, 38, 67, 0.94), rgba(16, 23, 41, 0.96));
}

.pricing-sale-banner-media img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 7;
    object-fit: cover;
}

.pricing-sale-banner[data-banner-fit="contain"] .pricing-sale-banner-media img {
    object-fit: contain;
    background:
        radial-gradient(circle at top left, rgba(108, 163, 255, 0.18), transparent 34%),
        linear-gradient(180deg, rgba(18, 26, 46, 0.98), rgba(12, 18, 33, 0.98));
}

.pricing-sale-banner-media-fallback {
    min-height: 220px;
}

.pricing-sale-banner-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 22px 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(7, 12, 22, 0.5);
}

.pricing-sale-banner h3 {
    margin: 0;
    font-size: clamp(1.2rem, 2vw, 1.6rem);
}

.pricing-sale-banner p {
    margin: 0;
}

.pricing-sale-banner-countdown {
    justify-self: start;
    padding: 10px 16px;
    border: 1px solid rgba(118, 168, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(244, 247, 255, 0.92);
    font-weight: 700;
}

.section-partner-landing {
    padding-top: 8px;
}

.partner-landing-shell {
    width: min(100%, 1240px);
    margin: 0 auto;
    display: grid;
    gap: 22px;
}

.partner-affiliate-banner-card,
.partner-conversion-hero {
    border: 1px solid rgba(118, 168, 255, 0.18);
    border-radius: 34px;
    background:
        radial-gradient(circle at top left, rgba(88, 149, 255, 0.18), transparent 38%),
        linear-gradient(180deg, rgba(20, 31, 56, 0.98) 0%, rgba(15, 21, 36, 0.98) 100%);
    box-shadow: 0 24px 52px rgba(7, 14, 32, 0.28);
}

.partner-affiliate-banner-card {
    overflow: hidden;
}

.partner-affiliate-banner {
    overflow: hidden;
    background: rgba(7, 12, 24, 0.88);
    border-bottom: 1px solid rgba(118, 168, 255, 0.18);
}

.partner-affiliate-banner img {
    display: block;
    width: 100%;
    max-height: 360px;
    object-fit: cover;
    background: rgba(7, 12, 24, 0.88);
}

.partner-affiliate-banner.is-fallback {
    min-height: 240px;
}

.partner-affiliate-banner-placeholder {
    min-height: 240px;
    display: grid;
    place-items: center;
    padding: 32px;
    text-align: center;
}

.partner-affiliate-banner-placeholder span {
    font-family: "Sora", "Manrope", sans-serif;
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 700;
}

.partner-affiliate-banner-copy {
    display: grid;
    gap: 8px;
    padding: 24px 28px 28px;
}

.partner-affiliate-banner-copy h1,
.partner-conversion-main h2,
.partner-secondary-card h3 {
    margin: 0;
}

.partner-affiliate-banner-copy h1 {
    font-size: clamp(2rem, 3vw, 2.9rem);
}

.partner-affiliate-banner-copy p {
    margin: 0;
    color: rgba(225, 233, 249, 0.82);
}

.partner-conversion-hero {
    padding: 28px;
}

.partner-conversion-main {
    display: grid;
    gap: 14px;
}

.partner-conversion-main h2 {
    font-size: clamp(2.35rem, 4vw, 4rem);
    line-height: 1.05;
    max-width: 12ch;
}

.partner-conversion-main .page-intro,
.partner-secondary-card p {
    margin: 0;
    color: rgba(225, 233, 249, 0.82);
}

.partner-primary-cta-wrap {
    display: grid;
    gap: 10px;
    justify-items: start;
}

.partner-primary-cta {
    min-width: min(100%, 360px);
    min-height: 60px;
    padding: 0 32px;
    font-size: 1.04rem;
    font-weight: 800;
}

.partner-primary-meta {
    margin: 0;
    color: rgba(196, 211, 240, 0.84);
    font-size: 0.95rem;
}

.partner-secondary-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.partner-secondary-card,
.partner-inline-builder {
    border: 1px solid rgba(132, 173, 243, 0.12);
    border-radius: 24px;
    background: rgba(14, 20, 34, 0.68);
}

.partner-secondary-card {
    padding: 18px 20px;
}

.partner-secondary-link {
    color: rgb(154, 196, 255);
    font-weight: 700;
    text-decoration: none;
}

.partner-secondary-link:hover,
.partner-secondary-link:focus-visible,
.partner-tertiary-actions a:hover,
.partner-tertiary-actions a:focus-visible {
    text-decoration: underline;
}

.partner-tertiary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: center;
}

.partner-pricing-button {
    min-height: 48px;
}

.partner-tertiary-link {
    color: rgba(197, 216, 247, 0.88);
    font-weight: 600;
    text-decoration: none;
}

@media (max-width: 1100px) {
    .partner-secondary-actions {
        grid-template-columns: 1fr;
    }

    .partner-conversion-main h2 {
        max-width: 13ch;
    }
}

@media (max-width: 720px) {
    .partner-conversion-hero {
        padding: 20px;
    }

    .partner-landing-shell {
        gap: 18px;
    }

    .partner-affiliate-banner img {
        max-height: 240px;
    }

    .partner-conversion-main h2 {
        max-width: none;
        font-size: clamp(2rem, 11vw, 2.9rem);
    }

    .partner-primary-cta {
        width: 100%;
        min-width: 0;
    }

    .partner-tertiary-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .partner-pricing-button {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .partner-affiliate-banner-card,
    .partner-conversion-hero,
    .partner-inline-builder {
        border-radius: 26px;
    }

    .partner-secondary-card {
        border-radius: 20px;
    }

    .partner-primary-cta,
    .partner-secondary-link {
        min-height: 44px;
    }
}


.builder-launch {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.builder-launch-button {
    min-width: 220px;
    min-height: 58px;
    padding: 0 28px;
    border: 1px solid rgba(150, 196, 255, 0.32);
    background:
        radial-gradient(circle at top left, rgba(102, 159, 240, 0.22), transparent 46%),
        linear-gradient(135deg, rgb(24, 58, 118) 0%, rgb(14, 34, 74) 100%);
    color: rgb(244, 248, 255);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 18px 40px rgba(6, 16, 38, 0.42);
}

.builder-launch-button:hover,
.builder-launch-button:focus-visible {
    background:
        radial-gradient(circle at top left, rgba(118, 176, 255, 0.28), transparent 46%),
        linear-gradient(135deg, rgb(29, 72, 146) 0%, rgb(17, 44, 94) 100%);
    color: rgb(255, 255, 255);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 22px 46px rgba(6, 16, 38, 0.48);
}

.builder-retrieve-button {
    min-height: 58px;
    padding: 0 24px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: linear-gradient(135deg, rgb(255, 255, 255) 0%, rgb(175, 205, 255) 100%);
    color: rgb(14, 15, 19);
    box-shadow: 0 18px 40px rgba(14, 15, 19, 0.22);
}

.builder-retrieve-button:hover,
.builder-retrieve-button:focus-visible {
    background: linear-gradient(135deg, rgb(255, 255, 255) 0%, rgb(210, 227, 255) 100%);
    color: rgb(14, 15, 19);
    box-shadow: 0 22px 46px rgba(14, 15, 19, 0.28);
}

.builder-launch-copy {
    margin: 0;
    max-width: 48ch;
}

.builder-card {
    padding: 30px;
    border: 1px solid var(--line);
    border-radius: 32px;
    background: linear-gradient(180deg, rgba(35, 80, 154, 0.24) 0%, rgba(14, 15, 19, 0.92) 100%);
    box-shadow: var(--shadow);
}

.builder-progress {
    margin-bottom: 28px;
}

.builder-nav {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 22px;
}

.builder-nav[hidden],
#builder-previous[hidden] {
    display: none !important;
}

.builder-progress-top {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
    font-size: 0.95rem;
    color: rgba(219, 226, 245, 0.82);
}

.builder-progress-bar {
    height: 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.builder-progress-fill {
    width: 25%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgb(93, 141, 224) 0%, rgb(255, 255, 255) 100%);
    transition: width 0.24s ease;
}

.builder-step {
    display: none;
}

.builder-step.is-active {
    display: block;
}

.builder-step h3 {
    margin-bottom: 18px;
    font-size: 1.7rem;
}

.builder-options {
    display: grid;
    gap: 16px;
}

.builder-options.two-up {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.builder-options.three-up {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.builder-card[hidden] {
    display: none;
}

.builder-input-wrap {
    display: grid;
    gap: 12px;
    max-width: 560px;
}

.builder-input-panel {
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.05);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

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

.builder-contact-grid > div {
    display: grid;
    gap: 8px;
}

.builder-input-label {
    color: rgba(219, 226, 245, 0.86);
    font-weight: 700;
    letter-spacing: 0.02em;
}

.builder-input {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--ink);
    font: inherit;
}

.builder-input-large {
    min-height: 70px;
    padding: 18px 20px;
    border-radius: 22px;
    background: rgba(14, 15, 19, 0.34);
    font-size: 1.2rem;
    font-weight: 700;
}

.builder-input:focus {
    outline: none;
    border-color: rgba(120, 171, 255, 0.55);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 0 0 3px rgba(92, 154, 255, 0.14);
}

.builder-input::placeholder {
    color: rgba(219, 226, 245, 0.58);
}

.builder-error {
    margin: 0;
    color: rgb(255, 183, 183);
    font-weight: 600;
}

.builder-option {
    padding: 18px 20px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--ink);
    font: inherit;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.builder-option:hover,
.builder-option:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.1);
}

.builder-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.builder-package-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

.order-feature-selected-plan {
    margin-top: 12px;
    color: rgba(219, 226, 245, 0.84);
    font-weight: 600;
}

.order-feature-selected-plan strong {
    color: rgb(244, 247, 255);
}

.builder-feature-option {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 12px 16px;
    align-items: flex-start;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
}

.builder-package-option {
    appearance: none;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    min-height: 220px;
    padding: 22px;
    border: 1px solid rgba(126, 177, 255, 0.24);
    text-align: left;
    cursor: pointer;
    color: var(--ink);
    background:
        radial-gradient(circle at top right, rgba(108, 165, 255, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(36, 44, 61, 0.92) 0%, rgba(24, 28, 39, 0.94) 100%);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.builder-package-option:hover,
.builder-package-option:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(129, 180, 255, 0.42);
    box-shadow: 0 18px 32px rgba(6, 15, 32, 0.28);
    background:
        radial-gradient(circle at top right, rgba(126, 183, 255, 0.16), transparent 36%),
        linear-gradient(180deg, rgba(39, 51, 73, 0.96) 0%, rgba(26, 31, 44, 0.98) 100%);
}

.builder-package-option .builder-feature-copy {
    gap: 12px;
    align-content: start;
    min-height: 100%;
}

.builder-package-option .builder-feature-label strong {
    display: block;
    font-size: 1.3rem;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: rgb(244, 247, 255);
}

.builder-package-option .builder-feature-price {
    font-size: 1.35rem;
    font-weight: 800;
    color: rgb(255, 255, 255);
}

.builder-package-option .builder-feature-requirement {
    font-size: 0.95rem;
    font-weight: 700;
    color: rgba(185, 210, 255, 0.86);
}

.builder-package-option .builder-note {
    margin-top: 0;
    font-size: 0.94rem;
    line-height: 1.55;
    color: rgba(226, 233, 248, 0.78);
}

.builder-package-option .builder-note strong {
    color: rgb(244, 247, 255);
}

.builder-package-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: end;
    width: fit-content;
    min-height: 42px;
    margin-top: 4px;
    padding: 0 16px;
    border: 1px solid rgba(158, 198, 255, 0.4);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(84, 137, 232, 0.3) 0%, rgba(52, 91, 168, 0.28) 100%);
    color: rgb(245, 248, 255);
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.builder-package-option:hover .builder-package-cta,
.builder-package-option:focus-visible .builder-package-cta {
    border-color: rgba(195, 221, 255, 0.84);
    background: linear-gradient(180deg, rgba(101, 159, 255, 0.44) 0%, rgba(63, 112, 207, 0.42) 100%);
}

@media (max-width: 1080px) {
    .builder-package-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.builder-feature-option.is-included {
    border-color: rgba(113, 190, 158, 0.28);
    background:
        radial-gradient(circle at top right, rgba(113, 190, 158, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(31, 38, 49, 0.94) 0%, rgba(23, 27, 36, 0.96) 100%);
}

.builder-feature-option.is-upgrade-suggested {
    border-color: rgba(126, 177, 255, 0.34);
    background:
        radial-gradient(circle at top right, rgba(108, 165, 255, 0.12), transparent 30%),
        linear-gradient(180deg, rgba(29, 38, 55, 0.94) 0%, rgba(22, 27, 38, 0.96) 100%);
}

.builder-feature-option.is-add-on {
    border-color: rgba(97, 140, 222, 0.24);
    background:
        radial-gradient(circle at top right, rgba(77, 124, 213, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(31, 37, 50, 0.92) 0%, rgba(24, 28, 39, 0.94) 100%);
}

.builder-feature-option.is-locked {
    border-color: rgba(120, 171, 255, 0.22);
    background: linear-gradient(180deg, rgba(92, 154, 255, 0.07) 0%, rgba(255, 255, 255, 0.035) 100%);
}

.builder-feature-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.builder-feature-toggle-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    padding-top: 2px;
}

.builder-feature-toggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    cursor: pointer;
    user-select: none;
}

.builder-feature-toggle-track {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 46px;
    height: 26px;
    padding: 3px;
    border-radius: 999px;
    border: 1px solid rgba(153, 169, 205, 0.3);
    background: rgba(255, 255, 255, 0.08);
    transition: background 0.2s ease, border-color 0.2s ease;
}

.builder-feature-toggle-thumb {
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: rgb(235, 240, 255);
    box-shadow: 0 4px 10px rgba(6, 12, 24, 0.32);
    transition: transform 0.2s ease, background 0.2s ease;
}

.builder-feature-toggle-text {
    color: rgba(219, 226, 245, 0.78);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: center;
}

.builder-feature-toggle.is-on .builder-feature-toggle-track {
    border-color: rgba(103, 202, 148, 0.42);
    background: rgba(58, 142, 95, 0.28);
}

.builder-feature-toggle.is-on .builder-feature-toggle-thumb {
    transform: translateX(20px);
    background: rgb(214, 255, 229);
}

.builder-feature-toggle.is-on .builder-feature-toggle-text {
    color: rgb(214, 255, 229);
}

.builder-feature-copy {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.builder-feature-label {
    display: block;
    cursor: pointer;
}

.builder-feature-copy strong {
    font-size: 0.98rem;
    line-height: 1.35;
}

.builder-feature-price {
    color: rgba(244, 247, 255, 0.92);
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.35;
}

.builder-feature-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(146, 178, 234, 0.24);
    background: rgba(67, 93, 146, 0.18);
    color: rgba(229, 237, 255, 0.92);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.builder-feature-status[hidden] {
    display: none !important;
}

.builder-feature-option.is-included .builder-feature-status {
    border-color: rgba(125, 216, 175, 0.42);
    background: rgba(76, 155, 112, 0.22);
    color: rgb(205, 255, 227);
}

.builder-feature-option.is-upgrade-suggested .builder-feature-status {
    border-color: rgba(139, 186, 255, 0.42);
    background: rgba(73, 111, 192, 0.22);
    color: rgb(224, 237, 255);
}

.builder-feature-option.is-add-on .builder-feature-status {
    border-color: rgba(112, 154, 227, 0.32);
    background: rgba(54, 77, 126, 0.18);
    color: rgba(224, 236, 255, 0.9);
}

.builder-feature-upgrade-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(139, 186, 255, 0.42);
    border-radius: 999px;
    background: rgba(73, 111, 192, 0.22);
    color: rgb(224, 237, 255);
    font: inherit;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.builder-feature-upgrade-action:hover,
.builder-feature-upgrade-action:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(191, 219, 255, 0.76);
    background: rgba(86, 128, 219, 0.32);
}

.builder-feature-upgrade-action[hidden] {
    display: none !important;
}

@media (max-width: 720px) {
    .builder-feature-option {
        grid-template-columns: 1fr;
    }

    .builder-feature-toggle-wrap {
        justify-content: flex-start;
    }

    .builder-feature-toggle {
        width: auto;
        align-items: flex-start;
    }

    .builder-feature-toggle-text {
        text-align: left;
    }
}

.sale-price-stack {
    display: inline-grid;
    gap: 4px;
}

.sale-price-regular,
.feature-price-regular,
.comparison-price-regular,
.plan-hover-price-regular {
    color: rgba(244, 247, 255, 0.68);
    text-decoration: line-through;
    text-decoration-thickness: 2px;
    text-decoration-color: rgba(255, 92, 92, 0.92);
}

.sale-price-current,
.feature-price-current,
.comparison-price-sale,
.plan-hover-price-current {
    color: rgb(244, 247, 255);
    font-weight: 800;
}

.sale-price-note,
.feature-price-note,
.plan-hover-sale-note {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: max-content;
    padding: 3px 9px;
    border: 1px solid rgba(117, 223, 156, 0.36);
    border-radius: 999px;
    background: rgba(117, 223, 156, 0.14);
    color: rgb(117, 223, 156);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.15;
}

.feature-price-stack {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.feature-price-comparison {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
}

.builder-feature-requirement {
    color: rgba(219, 226, 245, 0.66);
    font-size: 0.88rem;
    line-height: 1.35;
}

.builder-feature-option.is-locked .builder-feature-label strong,
.builder-feature-option.is-locked .builder-feature-price,
.builder-feature-option.is-locked .builder-feature-requirement {
    color: rgba(228, 236, 255, 0.82);
}

.builder-feature-option.is-locked .sale-price-regular,
.builder-feature-option.is-locked .feature-price-regular,
.order-feature-option.is-locked .sale-price-regular,
.order-feature-option.is-locked .feature-price-regular {
    color: rgba(228, 236, 255, 0.7);
    text-decoration-color: rgba(255, 148, 148, 0.85);
}

.builder-feature-option.is-locked .sale-price-current,
.builder-feature-option.is-locked .feature-price-current,
.order-feature-option.is-locked .sale-price-current,
.order-feature-option.is-locked .feature-price-current {
    color: rgba(236, 242, 255, 0.92);
}

.builder-feature-option.is-locked .sale-price-note,
.builder-feature-option.is-locked .feature-price-note,
.order-feature-option.is-locked .sale-price-note,
.order-feature-option.is-locked .feature-price-note {
    color: rgb(142, 231, 174);
}

.builder-feature-upgrade {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 40px;
    margin-top: 4px;
    padding: 0 16px;
    border: 1px solid rgba(151, 191, 255, 0.5);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(92, 154, 255, 0.34) 0%, rgba(54, 103, 193, 0.34) 100%);
    color: var(--ink);
    font: inherit;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 10px 18px rgba(15, 31, 68, 0.22);
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.builder-feature-upgrade[hidden] {
    display: none !important;
}

.builder-feature-upgrade:hover,
.builder-feature-upgrade:focus-visible {
    border-color: rgba(191, 219, 255, 0.82);
    background: linear-gradient(180deg, rgba(107, 170, 255, 0.48) 0%, rgba(61, 114, 212, 0.44) 100%);
    transform: translateY(-1px);
    box-shadow: 0 14px 24px rgba(15, 31, 68, 0.28);
}

#builder-feature-continue {
    margin-top: 14px;
}

.builder-note,
.summary-note {
    margin-top: 14px;
    color: rgba(219, 226, 245, 0.72);
}

.consultation-status-highlight {
    display: grid;
    gap: 6px;
    margin-top: 14px;
    padding: 14px 16px;
    border: 1px solid rgba(128, 226, 168, 0.34);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(54, 140, 92, 0.18) 0%, rgba(19, 57, 39, 0.22) 100%);
    color: rgba(229, 255, 238, 0.92);
}

.consultation-status-highlight strong {
    color: rgb(208, 255, 222);
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.consultation-status-highlight span {
    color: rgba(236, 255, 243, 0.88);
}

.feature-perk-notes {
    margin-top: 12px;
}

.feature-perk-notes > .builder-note,
.feature-perk-notes > .summary-note {
    margin-top: 0;
}

.feature-perk-note-list {
    margin: 8px 0 0;
    padding-left: 18px;
    color: rgba(219, 226, 245, 0.78);
    display: grid;
    gap: 6px;
}

.feature-perk-note-list strong {
    color: rgb(244, 247, 255);
}

.tooltip-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
}

.tooltip-trigger {
    width: 24px;
    height: 24px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: var(--ink);
    font: inherit;
    font-weight: 800;
    cursor: help;
}

.tooltip-bubble {
    position: absolute;
    left: 34px;
    top: 50%;
    width: min(260px, 60vw);
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background: rgb(14, 15, 19);
    color: rgba(244, 247, 255, 0.88);
    box-shadow: var(--shadow);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-50%) translateX(-6px);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.tooltip-wrap:hover .tooltip-bubble,
.tooltip-wrap:focus-within .tooltip-bubble {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}

.builder-comparison {
    margin-bottom: 20px;
}

.builder-summary {
    display: grid;
    gap: 14px;
}

#builder-review-contact-status {
    margin: 0;
}

.summary-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    font-size: 1rem;
}

.summary-row strong {
    font-family: "Sora", sans-serif;
    font-size: 1.1rem;
}

.summary-divider {
    height: 1px;
    background: var(--line);
}

.summary-row-total strong,
.summary-total {
    font-size: 1.35rem;
}

.builder-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 24px;
}

.builder-actions .button,
.builder-actions button {
    min-width: 190px;
}

#builder-order-button {
    font-size: 1.08rem;
    padding: 0 28px;
}

.comparison-wrap {
    overflow-x: auto;
    border: 1px solid var(--line-soft);
    border-radius: 28px;
    background: var(--surface-primary);
    box-shadow: var(--shadow-soft);
}

.comparison-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
}

.comparison-table th,
.comparison-table td {
    padding: 18px 20px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
    color: var(--ink);
}

.comparison-table thead th {
    font-family: "Sora", sans-serif;
    font-size: 1rem;
    background: rgba(255, 255, 255, 0.05);
}

.comparison-table .plan-premium-heading {
    background: linear-gradient(180deg, rgba(92, 154, 255, 0.28) 0%, rgba(35, 80, 154, 0.24) 100%);
    color: rgb(244, 247, 255);
}

.comparison-table .plan-premium-cell {
    background: rgba(92, 154, 255, 0.1);
}

.comparison-table .comparison-recommended-column {
    background: linear-gradient(180deg, rgba(92, 154, 255, 0.22) 0%, rgba(35, 80, 154, 0.12) 100%);
}

.comparison-table thead th.comparison-recommended-column {
    color: rgb(244, 247, 255);
}

.comparison-admin-editor {
    display: grid;
    gap: 18px;
}

.plan-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 10px;
    padding: 5px 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgb(24, 61, 122);
    color: rgb(244, 247, 255);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.comparison-table tbody tr:last-child th,
.comparison-table tbody tr:last-child td {
    border-bottom: none;
}

.comparison-table tbody th {
    width: 34%;
    color: rgba(219, 226, 245, 0.92);
    font-weight: 700;
}

.comparison-price {
    display: inline-grid;
    gap: 4px;
}

.table-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: top;
    min-width: 28px;
    min-height: 28px;
    border-radius: 999px;
    font-weight: 800;
}

.table-mark.yes {
    background: rgba(67, 208, 138, 0.18);
    color: rgb(148, 255, 193);
}

.table-mark.no {
    background: rgba(255, 92, 92, 0.16);
    color: rgb(255, 171, 178);
}

.text-link {
    display: inline-block;
    margin-top: 16px;
    color: var(--ink);
    font-weight: 700;
}

.info-card h3,
.showcase-card h3,
.process-step h3,
.contact-card h3 {
    margin-bottom: 12px;
    font-size: 1.35rem;
}

.section-dark {
    padding: 70px 42px;
    border-radius: 40px;
    background: linear-gradient(135deg, rgb(35, 80, 154) 0%, rgb(18, 38, 75) 100%);
}

.section-dark .eyebrow,
.section-dark h2,
.section-dark h3,
.section-dark p,
.section-dark span {
    color: #f7f4ee;
}

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

.showcase-card {
    padding: 28px;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: none;
}

.showcase-card span,
.process-step span {
    margin-bottom: 18px;
    font-size: 0.92rem;
    letter-spacing: 0.12em;
}

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

.process-step {
    padding: 28px;
}

.contact-section {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 28px;
    align-items: stretch;
}

.contact-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    gap: 32px;
    align-items: stretch;
}

.contact-hero-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.contact-hero-form-card {
    margin-top: 0;
    height: 100%;
}

.contact-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.contact-card {
    padding: 30px;
    background: var(--surface-strong);
}

.contact-card p {
    margin-bottom: 12px;
}

.contact-card .button {
    margin-top: 18px;
}

.contact-direct {
    display: grid;
    gap: 10px;
    margin-top: 24px;
    padding: 18px 20px;
    border: 1px solid var(--line-faint);
    border-radius: 20px;
    background: var(--surface-secondary);
}

.contact-direct-card {
    background:
        linear-gradient(180deg, rgba(16, 23, 37, 0.98) 0%, rgba(13, 19, 31, 0.98) 100%);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: var(--shadow-soft);
}

.contact-direct p {
    margin: 0;
    color: var(--ink);
}

.contact-consultation-button {
    min-height: 56px;
    padding-inline: 24px;
}

.contact-info-card {
    max-width: 560px;
    height: 100%;
}

.contact-direct a {
    color: var(--ink);
    font-weight: 700;
}

.contact-form form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.contact-form form[hidden] {
    display: none !important;
}

.affiliate-application-section {
    display: grid;
    gap: 28px;
}

.affiliate-application-overview {
    display: grid;
    gap: 22px;
}

.affiliate-application-copy {
    max-width: 720px;
}

.affiliate-application-highlights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.affiliate-application-card {
    width: min(100%, 1080px);
    margin: 0 auto;
}

.affiliate-application-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 18px;
    align-items: start;
}

.affiliate-application-form > .form-name-grid,
.affiliate-form-field-full {
    grid-column: 1 / -1;
}

.affiliate-form-field {
    min-width: 0;
}

.affiliate-form-field .summary-note {
    margin-top: 8px;
    margin-bottom: 0;
}

.affiliate-form-actions {
    display: flex;
    justify-content: flex-start;
}

.affiliate-form-actions .button,
.affiliate-form-actions button {
    width: min(100%, 320px);
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--ink);
    font: inherit;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
    color: rgba(219, 226, 245, 0.58);
}

.contact-form textarea {
    min-height: 150px;
    resize: vertical;
}

.contact-form button {
    align-self: flex-start;
    min-height: 50px;
    padding: 0 22px;
    border: none;
    border-radius: 999px;
    background: var(--accent);
    color: white;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.contact-form button:hover,
.contact-form button:focus-visible {
    background: white;
    color: rgb(14, 15, 19);
}

.contact-response-note {
    margin: 2px 0 0;
    color: rgba(225, 234, 248, 0.72);
    font-size: 0.95rem;
    line-height: 1.55;
}

.contact-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.consultation-actions {
    margin-top: 18px;
}

.consultation-actions .button {
    min-height: 48px;
}

.consultation-back-button {
    background: linear-gradient(135deg, rgba(20, 29, 48, 0.96), rgba(11, 18, 32, 0.98));
    border-color: rgba(120, 150, 210, 0.26);
    color: rgb(244, 247, 255);
    box-shadow: 0 18px 32px rgba(6, 11, 22, 0.24);
}

.consultation-back-button:hover,
.consultation-back-button:focus-visible {
    background: linear-gradient(135deg, rgba(27, 39, 64, 0.98), rgba(15, 24, 42, 1));
    border-color: rgba(152, 180, 234, 0.34);
    color: rgb(255, 255, 255);
}

.contact-feedback {
    display: grid;
    gap: 14px;
    padding: 0;
}

.contact-feedback h4 {
    font-size: 1.35rem;
}

.contact-feedback p {
    margin: 0;
}

.auth-shell {
    width: min(100%, 760px);
    margin: 0 auto;
}

.admin-dashboard-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    align-items: start;
    justify-items: center;
}

/* Sales has one centered workspace instead of the multi-column Admin shell. */
.sales-page-hero {
    width: min(960px, calc(100% - 40px));
    padding-top: 156px;
    text-align: center;
}

.sales-page-hero h1 {
    max-width: none;
}

.sales-page-hero .page-intro {
    max-width: 680px;
    margin-inline: auto;
}

.sales-dashboard-grid {
    width: min(960px, 100%);
    margin-inline: auto;
    justify-items: stretch;
}

.sales-dashboard-grid > .admin-tool-nav,
.sales-dashboard-grid > .admin-tool-panel,
.sales-dashboard-grid > .flash {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.sales-dashboard-grid > .admin-tool-nav {
    grid-template-columns: 1fr;
}

.sales-dashboard-grid > .admin-tool-nav > .admin-tool-nav-group {
    width: 100%;
    box-sizing: border-box;
}

.books-page-hero {
    width: min(1180px, calc(100% - 40px));
    padding-top: 118px;
    padding-bottom: 28px;
    text-align: left;
}

.books-page-hero h1 {
    max-width: 12ch;
}

.books-page-hero .page-intro {
    max-width: 680px;
    margin-inline: 0;
}

.books-workspace {
    display: grid;
    gap: 16px;
    width: min(100%, 1180px);
    max-width: 100%;
    min-width: 0;
    margin-inline: auto;
}

.books-section-nav {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(111, 170, 255, 0.18);
    border-radius: 24px;
    background:
        radial-gradient(circle at top left, rgba(84, 167, 255, 0.16), transparent 34%),
        linear-gradient(180deg, rgba(28, 56, 102, 0.48), rgba(15, 27, 56, 0.78));
    box-shadow: 0 18px 34px rgba(8, 17, 36, 0.16);
}

.books-section-nav-heading p {
    margin: 0;
}

.books-section-nav-heading .summary-note {
    margin-top: 5px;
}

.books-section-nav-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.books-section-link {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 12px 16px;
    border: 1px solid rgba(152, 202, 255, 0.18);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--ink);
    font-weight: 800;
    text-decoration: none;
}

.books-section-link small {
    color: rgba(225, 234, 248, 0.68);
    font-size: 0.78rem;
    font-weight: 500;
}

.books-section-notification {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    margin-left: 4px;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(218, 54, 73, 0.96);
    color: white;
    font-size: 0.72rem;
    line-height: 1;
}

.books-section-notification[hidden] {
    display: none;
}

.books-section-link:hover,
.books-section-link:focus-visible,
.books-section-link.is-active {
    border-color: rgba(132, 191, 255, 0.52);
    background: rgba(83, 151, 238, 0.2);
}

.books-section-link-disabled {
    cursor: not-allowed;
    opacity: 0.52;
}

.books-section-link-disabled:hover,
.books-section-link-disabled:focus-visible {
    border-color: rgba(152, 202, 255, 0.18);
    background: rgba(255, 255, 255, 0.06);
}

.books-overview-panel {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    display: grid;
    gap: 16px;
}

.books-overview-panel h3 {
    margin: 0;
}

.books-overview-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.books-entry-details,
.books-account-panel > .workflow-panel,
.books-ledger-panel > .workflow-panel {
    width: 100%;
    box-sizing: border-box;
}

.books-entry-details {
    margin: 0;
    padding: 16px;
    border: 1px solid rgba(111, 170, 255, 0.16);
    border-radius: 18px;
    background: rgba(8, 18, 38, 0.24);
}

.books-account-action {
    padding: 0;
    border: 0;
    background: none;
}

.books-account-action > summary {
    min-height: 42px;
    padding-inline: 16px;
}

.books-automation-section {
    gap: 16px;
    border-color: rgba(102, 187, 180, 0.28);
    background: linear-gradient(180deg, rgba(63, 154, 146, 0.09), rgba(255, 255, 255, 0.025));
}

.books-automation-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.books-automation-summary > div {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid rgba(152, 202, 255, 0.14);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.035);
}

.books-automation-summary span {
    color: rgba(225, 234, 248, 0.66);
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.books-automation-summary strong {
    overflow-wrap: anywhere;
}

.books-mapping-editor {
    margin-top: 0;
}

.books-entry-details > summary {
    display: inline-flex;
    cursor: pointer;
    list-style: none;
}

.books-entry-details > summary::-webkit-details-marker {
    display: none;
}

.books-entry-details[open] > summary {
    margin-bottom: 2px;
}

.books-account-panel,
.books-ledger-panel,
.books-documents-panel,
.books-reconciliation-panel {
    gap: 16px;
    min-width: 0;
    max-width: 100%;
}

.books-workspace > .books-ledger-panel {
    width: 100%;
    max-width: none;
    min-width: 0;
    justify-self: stretch;
}

.books-ledger-panel > *,
.books-ledger-panel .workflow-panel,
.books-ledger-panel .table-wrap {
    min-width: 0;
    max-width: 100%;
}

.books-documents-panel > *,
.books-reconciliation-panel > *,
.books-documents-panel .workflow-panel,
.books-reconciliation-panel .workflow-panel {
    min-width: 0;
    max-width: 100%;
}

.books-documents-panel .table-wrap,
.books-reconciliation-panel .table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid rgba(133, 169, 222, 0.14);
    border-radius: 14px;
}

.books-account-panel > .workflow-panel,
.books-ledger-panel > .workflow-panel,
.books-reports-panel > .workflow-panel,
.books-documents-panel > .workflow-panel,
.books-reconciliation-panel > .workflow-panel {
    margin-top: 0;
}

.books-account-section {
    display: grid;
    gap: 14px;
    padding: 18px;
}

.books-account-section + .books-account-section {
    margin-top: 0;
}

.books-financial-accounts-section {
    border-color: rgba(92, 154, 255, 0.3);
    background: linear-gradient(180deg, rgba(82, 143, 234, 0.1), rgba(255, 255, 255, 0.025));
}

.books-chart-section {
    border-color: rgba(173, 137, 255, 0.24);
    background: linear-gradient(180deg, rgba(143, 105, 224, 0.08), rgba(255, 255, 255, 0.025));
}

.books-financial-accounts-section .admin-panel-heading,
.books-chart-section .admin-panel-heading,
.books-automation-section .admin-panel-heading {
    align-items: center;
}

.books-financial-accounts-section .admin-results-meta {
    color: rgba(164, 213, 255, 0.9);
}

.books-chart-section .admin-results-meta {
    color: rgba(213, 190, 255, 0.9);
}

.books-account-panel .admin-panel-heading,
.books-ledger-panel .admin-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.books-account-panel .admin-panel-heading h3,
.books-account-panel .admin-panel-heading h4,
.books-ledger-panel .admin-panel-heading h3,
.books-ledger-panel .admin-panel-heading h4 {
    margin: 0;
}

.books-account-panel .auth-form label,
.books-ledger-panel .auth-form label {
    display: grid;
    gap: 6px;
    margin: 0;
}

.books-account-panel .auth-form .books-checkbox-label,
.books-ledger-panel .auth-form .books-checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 28px;
}

.books-account-panel .auth-form .books-checkbox-label input,
.books-ledger-panel .auth-form .books-checkbox-label input {
    width: auto;
}

.books-account-panel .summary-note,
.books-ledger-panel .summary-note {
    margin-left: 3px;
}

.books-account-panel .table-wrap,
.books-ledger-panel .table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(133, 169, 222, 0.14);
    border-radius: 14px;
}

.books-account-panel .admin-table,
.books-ledger-panel .admin-table {
    width: 100%;
    min-width: 760px;
    border-collapse: separate;
    border-spacing: 0;
    color: var(--ink);
}

.books-account-panel .admin-table th,
.books-account-panel .admin-table td,
.books-ledger-panel .admin-table th,
.books-ledger-panel .admin-table td {
    padding: 13px 14px;
    border-bottom: 1px solid rgba(133, 169, 222, 0.12);
    text-align: left;
    vertical-align: middle;
}

.books-account-panel .admin-table th,
.books-ledger-panel .admin-table th {
    background: rgba(95, 137, 207, 0.1);
    color: rgba(226, 237, 255, 0.8);
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.books-account-panel .admin-table tr:last-child td,
.books-ledger-panel .admin-table tr:last-child td {
    border-bottom: 0;
}

.books-account-panel .books-accounts-table th:first-child,
.books-account-panel .books-accounts-table td:first-child {
    width: 32%;
    white-space: normal;
}

.books-account-panel .books-accounts-table th:nth-child(2),
.books-account-panel .books-accounts-table td:nth-child(2) {
    width: 18%;
}

.books-account-panel .books-accounts-table th:nth-child(3),
.books-account-panel .books-accounts-table td:nth-child(3) {
    width: 18%;
}

.books-account-panel .books-accounts-table th:nth-child(4),
.books-account-panel .books-accounts-table td:nth-child(4),
.books-account-panel .books-accounts-table th:nth-child(5),
.books-account-panel .books-accounts-table td:nth-child(5) {
    width: 12%;
}

.books-account-panel .books-accounts-table td:last-child {
    min-width: 128px;
}

.books-account-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.books-account-row-actions .admin-inline-form {
    margin: 0;
}

.books-account-edit-modal-card {
    width: min(100%, 720px);
}

.books-account-edit-form {
    margin-top: 20px;
}

.books-account-edit-modal-card .site-modal-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.books-account-edit-modal-card .site-modal-actions .button {
    min-width: 0;
}

.books-account-edit-opening-date-field[hidden] {
    display: none;
}

.books-account-panel .admin-table tbody tr:hover,
.books-ledger-panel .admin-table tbody tr:hover {
    background: rgba(91, 139, 220, 0.07);
}

.books-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}

.books-form-grid label {
    min-width: 0;
}

.books-form-wide {
    grid-column: 1 / -1;
}

.books-checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 28px;
}

.books-checkbox-label input {
    width: auto;
}

.books-ledger-filters {
    grid-template-columns: 2fr repeat(4, minmax(0, 1fr));
}

.books-ledger-table th,
.books-ledger-table td,
.books-accounts-table th,
.books-accounts-table td {
    white-space: nowrap;
}

.books-transaction-detail {
    display: grid;
    gap: 14px;
}

.books-document-archive,
.books-reconciliation-summary {
    display: grid;
    gap: 12px;
}

.books-document-years,
.books-document-months {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.books-document-month {
    padding: 8px 12px;
    border: 1px solid rgba(152, 202, 255, 0.18);
    border-radius: 10px;
    color: var(--ink);
    text-decoration: none;
}

.books-document-month span {
    color: rgba(225, 234, 248, 0.68);
    font-size: 0.8rem;
}

.books-document-month:hover,
.books-document-month:focus-visible,
.books-document-month.is-active,
.books-document-years .button.is-active {
    border-color: rgba(132, 191, 255, 0.52);
    background: rgba(83, 151, 238, 0.2);
}

.books-document-group + .books-document-group {
    margin-top: 18px;
}

.books-document-group h5 {
    margin: 0 0 8px;
}

.books-documents-table,
.books-reconciliation-history-table,
.books-reconciliation-items-table {
    width: 100%;
    min-width: 760px;
    border-collapse: separate;
    border-spacing: 0;
}

.books-documents-table th,
.books-documents-table td,
.books-reconciliation-history-table th,
.books-reconciliation-history-table td,
.books-reconciliation-items-table th,
.books-reconciliation-items-table td {
    padding: 13px 14px;
    border-bottom: 1px solid rgba(133, 169, 222, 0.12);
    vertical-align: middle;
    line-height: 1.4;
}

.books-documents-table tbody tr:last-child td,
.books-reconciliation-history-table tbody tr:last-child td,
.books-reconciliation-items-table tbody tr:last-child td {
    border-bottom: 0;
}

.books-documents-table th,
.books-reconciliation-history-table th,
.books-reconciliation-items-table th {
    white-space: nowrap;
}

.books-documents-table td:first-child,
.books-reconciliation-history-table td:first-child {
    min-width: 170px;
}

.books-documents-table td:nth-child(2),
.books-reconciliation-history-table td:nth-child(2) {
    white-space: nowrap;
}

.books-documents-table td:nth-child(3) {
    min-width: 180px;
}

.books-document-file {
    max-width: 250px;
    overflow-wrap: anywhere;
}

.books-document-row-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    white-space: nowrap;
}

.books-document-row-actions .admin-inline-form {
    margin: 0;
}

.books-document-row-protected {
    background: rgba(116, 215, 164, 0.035);
}

.books-document-protected-label {
    color: rgba(225, 234, 248, 0.58);
    font-size: 0.8rem;
}

.books-reconciliation-detail {
    display: grid;
    gap: 16px;
}

.books-reconciliation-detail > .admin-panel-heading {
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(152, 202, 255, 0.14);
}

.books-reconciliation-status {
    white-space: nowrap;
}

.books-reconciliation-status-reconciled {
    border-color: rgba(116, 215, 164, 0.34);
    background: rgba(116, 215, 164, 0.12);
    color: #a9ebc2;
}

.books-reconciliation-status-in_progress {
    border-color: rgba(132, 191, 255, 0.34);
    background: rgba(132, 191, 255, 0.11);
    color: #b9d9ff;
}

.books-reconciliation-status-voided {
    border-color: rgba(255, 192, 120, 0.24);
    background: rgba(255, 192, 120, 0.08);
    color: rgba(255, 208, 153, 0.74);
}

.books-reconciliation-history-row-voided {
    opacity: 0.68;
}

.books-reconciliation-history-table td:nth-child(4),
.books-reconciliation-history-table td:nth-child(5),
.books-reconciliation-items-table td:nth-child(5),
.books-reconciliation-items-table td:nth-child(6) {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.books-reconciliation-items-table td:nth-child(4) {
    min-width: 260px;
    white-space: normal;
}

.books-document-edit-modal-card {
    width: min(100%, 760px);
}

.books-document-edit-form {
    margin-top: 20px;
}

.books-reconciliation-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.books-overview-account-list,
.books-overview-status-grid {
    display: grid;
    gap: 8px;
}

.books-overview-account-list > div,
.books-overview-status-grid > span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(152, 202, 255, 0.1);
}

.books-overview-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 16px;
}

.books-report-section,
.books-tax-section {
    display: grid;
    gap: 14px;
}

.books-reports-panel {
    gap: 16px;
}

.books-report-section {
    margin-top: 0;
    padding: 18px;
    border-top: 1px solid rgba(132, 191, 255, 0.16);
    border-radius: 16px;
    border-left: 3px solid rgba(132, 191, 255, 0.55);
    background: rgba(255, 255, 255, 0.035);
}

.books-report-section-pnl {
    border-left-color: rgba(92, 154, 255, 0.8);
    background: linear-gradient(135deg, rgba(92, 154, 255, 0.09), rgba(255, 255, 255, 0.025) 48%);
}

.books-report-section-balance {
    border-left-color: rgba(116, 215, 164, 0.8);
    background: linear-gradient(135deg, rgba(116, 215, 164, 0.08), rgba(255, 255, 255, 0.025) 48%);
}

.books-report-section-category {
    border-left-color: rgba(183, 145, 255, 0.8);
    background: linear-gradient(135deg, rgba(183, 145, 255, 0.08), rgba(255, 255, 255, 0.025) 48%);
}

.books-report-section-ledger {
    border-left-color: rgba(255, 192, 120, 0.72);
    background: linear-gradient(135deg, rgba(255, 192, 120, 0.08), rgba(255, 255, 255, 0.025) 48%);
}

.books-report-section > .admin-panel-heading {
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(152, 202, 255, 0.13);
}

.books-empty-state {
    display: block;
    margin: 0;
    padding: 14px 2px;
    color: rgba(225, 234, 248, 0.62);
}

td.books-empty-state {
    padding: 18px 14px;
}

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

.books-report-columns h5 {
    margin: 0 0 8px;
}

.books-report-total {
    display: flex;
    justify-content: space-between;
    margin: 14px 0 0;
    padding-top: 14px;
    border-top: 1px solid rgba(152, 202, 255, 0.18);
}

.books-report-ledger-table th,
.books-report-ledger-table td {
    white-space: nowrap;
}

.books-tax-section > summary {
    cursor: pointer;
}

.books-reconciliation-summary > div {
    display: grid;
    gap: 4px;
    padding: 14px;
    border: 1px solid rgba(152, 202, 255, 0.14);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
}

.books-reconciliation-summary span {
    color: rgba(225, 234, 248, 0.68);
    font-size: 0.8rem;
}

.books-difference-balanced {
    color: #8ee0b0;
}

.books-difference-open {
    color: #ffc078;
}

@media (max-width: 860px) {
    .books-form-grid,
    .books-ledger-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .books-form-grid,
    .books-ledger-filters {
        grid-template-columns: 1fr;
    }

    .books-form-wide {
        grid-column: auto;
    }

    .books-checkbox-label {
        padding-top: 0;
    }

    .books-reconciliation-summary {
        grid-template-columns: 1fr;
    }

    .books-automation-summary {
        grid-template-columns: 1fr;
    }

    .books-report-columns,
    .books-overview-status-grid {
        grid-template-columns: 1fr;
    }

    .books-account-panel .admin-panel-heading,
    .books-ledger-panel .admin-panel-heading,
    .books-documents-panel > .admin-panel-heading,
    .books-reconciliation-panel > .admin-panel-heading,
    .books-reconciliation-detail > .admin-panel-heading,
    .books-document-edit-modal-card > .admin-panel-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .books-automation-section .admin-panel-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .books-account-edit-modal-card {
        width: min(100%, 100%);
        padding: 24px 20px;
    }

    .books-account-edit-modal-card .site-modal-actions {
        grid-template-columns: 1fr;
    }
}

.admin-product-public-presence-card { margin-top: 18px; }
.admin-product-public-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 18px; }
.admin-product-public-links a, .admin-product-public-links span { font-size: .88rem; line-height: 1.5; }
.admin-product-public-links a { color: var(--admin-accent, #4d6f9a); font-weight: 700; }
.admin-product-public-links span { color: #7d8796; }

@media (max-width: 700px) {
    .books-documents-panel .table-wrap,
    .books-reconciliation-panel .table-wrap {
        overflow-x: visible;
    }

    .books-documents-table,
    .books-reconciliation-history-table,
    .books-reconciliation-items-table {
        display: block;
        min-width: 0;
    }

    .books-documents-table thead,
    .books-reconciliation-history-table thead,
    .books-reconciliation-items-table thead {
        display: none;
    }

    .books-documents-table tbody,
    .books-reconciliation-history-table tbody,
    .books-reconciliation-items-table tbody,
    .books-documents-table tr,
    .books-reconciliation-history-table tr,
    .books-reconciliation-items-table tr {
        display: block;
    }

    .books-documents-table tr,
    .books-reconciliation-history-table tr,
    .books-reconciliation-items-table tr {
        padding: 8px 0;
        border-bottom: 1px solid rgba(133, 169, 222, 0.14);
    }

    .books-documents-table tr:last-child,
    .books-reconciliation-history-table tr:last-child,
    .books-reconciliation-items-table tr:last-child {
        border-bottom: 0;
    }

    .books-documents-table td,
    .books-reconciliation-history-table td,
    .books-reconciliation-items-table td {
        display: grid;
        grid-template-columns: minmax(92px, 34%) minmax(0, 1fr);
        gap: 12px;
        width: auto;
        min-width: 0;
        max-width: none;
        padding: 8px 12px;
        border-bottom: 0;
        text-align: left;
        white-space: normal;
    }

    .books-documents-table td::before,
    .books-reconciliation-history-table td::before,
    .books-reconciliation-items-table td::before {
        color: rgba(225, 234, 248, 0.58);
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.03em;
        text-transform: uppercase;
    }

    .books-documents-table td:nth-child(1)::before { content: "Title"; }
    .books-documents-table td:nth-child(2)::before { content: "Date"; }
    .books-documents-table td:nth-child(3)::before { content: "Related"; }
    .books-documents-table td:nth-child(4)::before { content: "File"; }
    .books-documents-table td:nth-child(5)::before { content: "Actions"; }

    .books-reconciliation-history-table td:nth-child(1)::before { content: "Account"; }
    .books-reconciliation-history-table td:nth-child(2)::before { content: "Period"; }
    .books-reconciliation-history-table td:nth-child(3)::before { content: "Status"; }
    .books-reconciliation-history-table td:nth-child(4)::before { content: "Ending balance"; }
    .books-reconciliation-history-table td:nth-child(5)::before { content: "Difference"; }

    .books-reconciliation-items-table td:nth-child(1)::before { content: "Cleared"; }
    .books-reconciliation-items-table td:nth-child(2)::before { content: "Date"; }
    .books-reconciliation-items-table td:nth-child(3)::before { content: "Reference"; }
    .books-reconciliation-items-table td:nth-child(4)::before { content: "Description"; }
    .books-reconciliation-items-table td:nth-child(5)::before { content: "Money in"; }
    .books-reconciliation-items-table td:nth-child(6)::before { content: "Money out"; }
    .books-reconciliation-items-table td:nth-child(7)::before { content: "Status"; }

    .books-documents-table td[colspan]::before,
    .books-reconciliation-history-table td[colspan]::before,
    .books-reconciliation-items-table td[colspan]::before {
        display: none;
    }

    .books-document-row-actions {
        justify-content: flex-start;
    }
}

/* Pantry public product presence */
body.pantry-public-page {
    --pantry-primary: #7d1f22;
    --pantry-primary-dark: #64151a;
    --pantry-heading: #5a181d;
    --pantry-accent: #f3dfd9;
    --pantry-background: #f8f1e6;
    --pantry-surface: #fffaf4;
    --pantry-surface-strong: #fffdfb;
    --pantry-surface-muted: #f3e9de;
    --pantry-text: #3b241d;
    --pantry-text-muted: #756862;
    --pantry-border: rgb(125 31 34 / 12%);
    --pantry-border-subtle: rgb(125 31 34 / 8%);
    --pantry-success: #217346;
    --pantry-error: #a13c36;
    background: var(--pantry-background);
    color: var(--pantry-text);
}

.pantry-public-shell {
    --pantry-burgundy: var(--pantry-primary);
    --pantry-burgundy-dark: var(--pantry-primary-dark);
    --pantry-cream: var(--pantry-background);
    --pantry-paper: var(--pantry-surface);
    --pantry-ink: var(--pantry-text);
    --pantry-muted: var(--pantry-text-muted);
    overflow: hidden;
    background: var(--pantry-cream);
}

.pantry-public-container {
    width: min(1160px, calc(100% - 48px));
    margin: 0 auto;
}

.pantry-public-hero {
    position: relative;
    padding: 86px 0 96px;
    background: var(--pantry-background);
}

.pantry-public-hero-grid,
.pantry-public-launch-grid,
.pantry-public-support-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: 72px;
    align-items: center;
}

.pantry-public-eyebrow {
    margin: 0 0 14px;
    color: var(--pantry-burgundy);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.3;
    text-transform: uppercase;
}

.pantry-public-hero h1,
.pantry-public-simple-hero h1 {
    max-width: 740px;
    margin: 0;
    color: var(--pantry-burgundy-dark);
    font-size: clamp(3.5rem, 8vw, 7rem);
    letter-spacing: -.065em;
    line-height: .9;
}

.pantry-public-tagline {
    margin: 26px 0 0;
    color: var(--pantry-burgundy);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.4rem, 2.5vw, 2rem);
    font-style: italic;
    line-height: 1.2;
}

.pantry-public-lede {
    max-width: 640px;
    margin: 22px 0 0;
    color: var(--pantry-muted);
    font-size: 1.08rem;
    line-height: 1.75;
}

.pantry-public-actions,
.pantry-public-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.pantry-public-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: .9rem;
    font-weight: 800;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.pantry-public-button:hover,
.pantry-public-button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgb(59 36 29 / 10%);
}

.pantry-public-button-primary {
    background: var(--pantry-primary);
    color: var(--pantry-surface-strong);
}

.pantry-public-button-secondary {
    border-color: var(--pantry-border);
    color: var(--pantry-primary);
}

.pantry-public-microcopy {
    max-width: 480px;
    margin: 16px 0 0;
    color: var(--pantry-text-muted);
    font-size: .8rem;
    line-height: 1.6;
}

.pantry-public-preview {
    position: relative;
    max-width: 500px;
    padding: 24px;
    border: 1px solid var(--pantry-border);
    border-radius: 16px;
    background: var(--pantry-surface);
    box-shadow: 0 12px 30px rgb(59 36 29 / 8%);
    transform: rotate(2deg);
}

.pantry-public-preview-topline,
.pantry-public-preview-meta,
.pantry-public-preview-row {
    display: flex;
    align-items: center;
}

.pantry-public-preview-topline {
    justify-content: space-between;
    color: var(--pantry-burgundy);
    font-size: .82rem;
}

.pantry-public-preview-topline > span:first-child {
    width: 36px;
    height: 7px;
    border-radius: 9px;
    background: var(--pantry-accent);
}

.pantry-public-preview-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--pantry-primary);
}

.pantry-public-preview-card {
    border: 1px solid var(--pantry-border-subtle);
    border-radius: 16px;
    background: var(--pantry-surface);
    box-shadow: 0 6px 18px rgb(59 36 29 / 5%);
}

.pantry-public-preview-card-large {
    margin-top: 24px;
    padding: 24px;
}

.pantry-public-preview-label,
.pantry-public-preview-card small {
    color: var(--pantry-text-muted);
    font-size: .72rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.pantry-public-preview-card-large p { margin: 0; }
.pantry-public-preview-card-large strong { display: block; margin-top: 8px; color: var(--pantry-burgundy-dark); font-family: Georgia, 'Times New Roman', serif; font-size: 1.8rem; }

.pantry-public-preview-progress {
    height: 10px;
    margin: 26px 0 16px;
    overflow: hidden;
    border-radius: 10px;
    background: var(--pantry-surface-muted);
}

.pantry-public-preview-progress span { display: block; width: 68%; height: 100%; border-radius: inherit; background: var(--pantry-primary); }
.pantry-public-preview-meta { justify-content: space-between; color: var(--pantry-text-muted); font-size: .75rem; }
.pantry-public-preview-row { gap: 14px; margin-top: 14px; }
.pantry-public-preview-row .pantry-public-preview-card { flex: 1; min-height: 122px; padding: 18px; }
.pantry-public-preview-icon { display: block; color: var(--pantry-primary); font-size: 1.25rem; }
.pantry-public-preview-row strong { display: block; margin-top: 10px; color: var(--pantry-burgundy); font-size: .9rem; }
.pantry-public-preview-row small { display: block; margin-top: 5px; font-size: .65rem; letter-spacing: 0; text-transform: none; }
.pantry-public-preview-note { margin: 18px 0 0; color: var(--pantry-text-muted); font-size: .7rem; line-height: 1.5; text-align: center; }

.pantry-public-section { padding: 100px 0; }
.pantry-public-section-light { background: var(--pantry-surface); }
.pantry-public-section-cream { background: var(--pantry-background); }
.pantry-public-section-burgundy { background: var(--pantry-primary-dark); color: var(--pantry-surface-strong); }
.pantry-public-section-heading { max-width: 700px; }
.pantry-public-section-heading-split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; max-width: none; align-items: end; }
.pantry-public-section-heading h2 { margin: 0; color: var(--pantry-burgundy-dark); font-size: clamp(2rem, 4vw, 3.8rem); letter-spacing: -.045em; line-height: .98; }
.pantry-public-section-heading p:not(.pantry-public-eyebrow) { margin: 18px 0 0; color: var(--pantry-muted); font-size: 1.02rem; line-height: 1.7; }
.pantry-public-section-heading-on-dark h2 { color: var(--pantry-surface-strong); }
.pantry-public-section-heading-on-dark p:not(.pantry-public-eyebrow) { color: var(--pantry-accent); }

.pantry-public-loop { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 56px; }
.pantry-public-loop-step { min-width: 112px; padding: 18px 16px; border: 1px solid var(--pantry-border); border-radius: 16px; background: var(--pantry-surface); box-shadow: 0 6px 18px rgb(59 36 29 / 5%); }
.pantry-public-loop-step span { display: block; margin-bottom: 12px; color: var(--pantry-primary); font-size: .68rem; font-weight: 800; }
.pantry-public-loop-step strong { color: var(--pantry-burgundy); font-size: .9rem; }
.pantry-public-loop-arrow { color: var(--pantry-primary); font-size: 1.3rem; }

.pantry-public-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 52px; }
.pantry-public-feature-card { min-height: 190px; padding: 26px; border: 1px solid var(--pantry-border); border-radius: 16px; background: var(--pantry-surface-strong); }
.pantry-public-feature-mark { color: var(--pantry-primary); font-size: 1.2rem; }
.pantry-public-feature-card h3 { margin: 28px 0 8px; color: var(--pantry-burgundy); font-size: 1.05rem; }
.pantry-public-feature-card p { margin: 0; color: var(--pantry-muted); font-size: .9rem; line-height: 1.65; }

.pantry-public-pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 52px; }
.pantry-public-pricing-card { min-height: 240px; padding: 28px; border: 1px solid rgb(255 253 251 / 20%); border-radius: 16px; background: rgb(255 253 251 / 8%); }
.pantry-public-pricing-card.is-featured { background: var(--pantry-surface-strong); color: var(--pantry-ink); transform: translateY(-12px); box-shadow: 0 12px 30px rgb(59 36 29 / 14%); }
.pantry-public-pricing-name { margin: 0; color: var(--pantry-accent); font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pantry-public-pricing-card.is-featured .pantry-public-pricing-name { color: var(--pantry-primary); }
.pantry-public-pricing-price { display: block; margin: 28px 0 18px; color: var(--pantry-surface-strong); font-size: 1.8rem; letter-spacing: -.03em; }
.pantry-public-pricing-card.is-featured .pantry-public-pricing-price { color: var(--pantry-burgundy-dark); }
.pantry-public-pricing-card > p:not(.pantry-public-pricing-name) { margin: 0; color: var(--pantry-accent); line-height: 1.65; }
.pantry-public-pricing-card.is-featured > p:not(.pantry-public-pricing-name) { color: var(--pantry-muted); }
.pantry-public-pricing-card small { display: block; margin-top: 20px; color: var(--pantry-accent); font-size: .76rem; line-height: 1.5; }
.pantry-public-pricing-card.is-featured small { color: var(--pantry-text-muted); }

.pantry-public-launch-section { padding-bottom: 112px; }
.pantry-public-launch-grid { align-items: start; }
.pantry-public-launch-grid h2 { max-width: 630px; margin: 0; color: var(--pantry-burgundy-dark); font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.05em; line-height: 1; }
.pantry-public-launch-grid > div > p:not(.pantry-public-eyebrow) { max-width: 580px; margin: 20px 0 0; color: var(--pantry-muted); line-height: 1.7; }
.pantry-public-store-badges { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.pantry-public-store-badge { display: inline-flex; min-width: 170px; flex-direction: column; gap: 5px; padding: 14px 18px; border: 1px solid var(--pantry-border); border-radius: 10px; background: var(--pantry-surface-muted); color: var(--pantry-text-muted); }
.pantry-public-store-badge strong { color: var(--pantry-burgundy); font-size: .86rem; }
.pantry-public-store-badge small { font-size: .72rem; }
.pantry-public-contact-card { padding: 30px; border: 1px solid var(--pantry-border-subtle); border-radius: 16px; background: var(--pantry-surface-muted); }
.pantry-public-contact-card h3 { margin: 0; color: var(--pantry-burgundy-dark); font-size: 1.6rem; }
.pantry-public-contact-card p:not(.pantry-public-eyebrow) { color: var(--pantry-muted); line-height: 1.65; }
.pantry-public-text-link { display: block; margin-top: 16px; color: var(--pantry-burgundy); font-size: .88rem; font-weight: 800; text-decoration: none; }
.pantry-public-text-link:hover { text-decoration: underline; }

.pantry-public-simple-hero { padding: 72px 0; background: var(--pantry-background); }
.pantry-public-simple-hero h1 { font-size: clamp(2.8rem, 7vw, 5rem); }
.pantry-public-narrow-content { max-width: 860px; }
.pantry-public-notice-card, .pantry-public-support-card { padding: 34px; border: 1px solid var(--pantry-border); border-radius: 16px; background: var(--pantry-surface); }
.pantry-public-notice-card h2, .pantry-public-support-card h2 { margin: 0; color: var(--pantry-burgundy-dark); font-size: clamp(1.8rem, 4vw, 2.8rem); letter-spacing: -.04em; }
.pantry-public-notice-card p:not(.pantry-public-eyebrow), .pantry-public-support-card p:not(.pantry-public-eyebrow) { color: var(--pantry-muted); line-height: 1.75; }
.pantry-public-legal-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 18px; }
.pantry-public-legal-grid article { padding: 26px; border-top: 2px solid var(--pantry-primary); }
.pantry-public-legal-grid h3 { margin: 0; color: var(--pantry-burgundy); }
.pantry-public-legal-grid p:not(.pantry-public-eyebrow) { color: var(--pantry-muted); line-height: 1.65; }
.pantry-public-legal-grid a { color: var(--pantry-burgundy); font-weight: 700; }
.pantry-public-support-grid { align-items: stretch; }
.pantry-public-support-card-muted { background: var(--pantry-background); }
.pantry-public-policy-content { max-width: 860px; color: var(--pantry-text); }
.pantry-public-policy-content h2 { margin: 42px 0 12px; color: var(--pantry-heading); font-size: clamp(1.35rem, 2.5vw, 1.8rem); letter-spacing: -.025em; }
.pantry-public-policy-content p, .pantry-public-policy-content li { color: var(--pantry-text-muted); font-size: .96rem; line-height: 1.78; }
.pantry-public-policy-content p { margin: 0 0 16px; }
.pantry-public-policy-content ul { display: grid; gap: 8px; margin: 0 0 18px; padding-left: 1.25rem; }
.pantry-public-policy-content a { color: var(--pantry-primary); font-weight: 700; }
.pantry-public-policy-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 42px; padding-top: 24px; border-top: 1px solid var(--pantry-border); }
.pantry-public-account-deletion-section { padding-top: 0; }
.pantry-public-account-deletion-card { border-color: var(--pantry-primary); }
.pantry-public-account-deletion-card h2 { margin: 0 0 14px; color: var(--pantry-heading); font-size: clamp(1.8rem, 4vw, 2.8rem); letter-spacing: -.04em; }
.pantry-public-account-deletion-details { max-width: none; margin: 28px 0 26px; padding-top: 24px; border-top: 1px solid var(--pantry-border); }
.pantry-public-account-deletion-details h3 { margin: 0 0 10px; color: var(--pantry-heading); font-size: 1.12rem; }
.pantry-public-account-deletion-details h3:not(:first-child) { margin-top: 26px; }

@media (max-width: 850px) {
    .pantry-public-hero-grid, .pantry-public-launch-grid, .pantry-public-support-grid { grid-template-columns: 1fr; gap: 44px; }
    .pantry-public-preview { margin: 0 auto; transform: none; }
    .pantry-public-feature-grid, .pantry-public-pricing-grid { grid-template-columns: repeat(2, 1fr); }
    .pantry-public-section-heading-split { grid-template-columns: 1fr; gap: 12px; }
    .pantry-public-loop-arrow { display: none; }
}

@media (max-width: 560px) {
    .pantry-public-container { width: min(100% - 32px, 1160px); }
    .pantry-public-hero, .pantry-public-section { padding: 68px 0; }
    .pantry-public-feature-grid, .pantry-public-pricing-grid, .pantry-public-legal-grid { grid-template-columns: 1fr; }
    .pantry-public-pricing-card.is-featured { transform: none; }
    .pantry-public-loop { margin-top: 36px; }
    .pantry-public-loop-step { flex: 1 1 calc(50% - 12px); min-width: 0; }
    .pantry-public-preview { padding: 16px; border-radius: 24px; }
}

/* Pantry's public shell intentionally stays separate from the New Tab blue site shell. */
.pantry-public-page .pantry-public-header {
    position: sticky;
    top: 16px;
    width: min(1160px, calc(100% - 48px));
    min-height: 64px;
    margin: 16px auto 0;
    padding: 12px 18px;
    border: 1px solid var(--pantry-border);
    border-radius: 16px;
    background: rgb(255 253 251 / 94%);
    box-shadow: 0 8px 24px rgb(59 36 29 / 7%);
    backdrop-filter: blur(14px);
}

.pantry-public-brand {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
}

.pantry-public-brand a {
    color: var(--pantry-heading);
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -.04em;
    text-decoration: none;
}

.pantry-public-brand span {
    color: var(--pantry-text-muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.pantry-public-page .pantry-public-nav {
    gap: 4px;
    color: var(--pantry-text);
    font-size: .84rem;
}

.pantry-public-page .pantry-public-nav a {
    padding: 9px 12px;
    border-radius: 10px;
    color: var(--pantry-text-muted);
}

.pantry-public-page .pantry-public-nav a::after { display: none; }
.pantry-public-page .pantry-public-nav a:hover,
.pantry-public-page .pantry-public-nav a:focus-visible {
    background: var(--pantry-accent);
    color: var(--pantry-primary);
    transform: none;
}

.pantry-public-nav-status {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid var(--pantry-border);
    border-radius: 999px;
    color: var(--pantry-primary);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.pantry-public-page .pantry-public-nav-toggle {
    border-color: var(--pantry-border);
    border-radius: 10px;
    background: var(--pantry-surface);
}

.pantry-public-page .pantry-public-nav-toggle span { background: var(--pantry-primary); }
.pantry-public-page .pantry-public-nav-toggle:hover,
.pantry-public-page .pantry-public-nav-toggle:focus-visible { background: var(--pantry-accent); border-color: var(--pantry-border); transform: none; }

.pantry-public-footer {
    display: grid;
    grid-template-columns: minmax(220px, .9fr) minmax(0, 1.4fr);
    gap: 20px 48px;
    width: min(1160px, calc(100% - 48px));
    margin: 0 auto 28px;
    padding: 30px;
    border: 1px solid var(--pantry-border);
    border-radius: 16px;
    background: var(--pantry-primary-dark);
    color: var(--pantry-surface-strong);
}

.pantry-public-footer-brand a {
    color: var(--pantry-surface-strong);
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -.04em;
    text-decoration: none;
}

.pantry-public-footer-brand p,
.pantry-public-footer-attribution { margin: 8px 0 0; color: var(--pantry-accent); font-size: .84rem; line-height: 1.5; }
.pantry-public-footer-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px 18px; }
.pantry-public-footer-links a { color: var(--pantry-surface-strong); font-size: .84rem; font-weight: 700; text-decoration: none; }
.pantry-public-footer-links a:hover, .pantry-public-footer-links a:focus-visible { color: var(--pantry-accent); text-decoration: underline; }
.pantry-public-footer-links span { color: var(--pantry-accent); font-size: .78rem; }
.pantry-public-footer-attribution { grid-column: 1 / -1; padding-top: 18px; border-top: 1px solid rgb(243 223 217 / 20%); }

@media (max-width: 720px) {
    .pantry-public-page .pantry-public-header { width: min(100% - 28px, 1160px); top: 8px; margin-top: 8px; padding: 12px 14px; border-radius: 14px; }
    .pantry-public-page .pantry-public-header .pantry-public-nav { width: 100%; display: none; grid-template-columns: 1fr; gap: 6px; padding-top: 10px; }
    .pantry-public-page .pantry-public-header.is-nav-open .pantry-public-nav { display: grid; }
    .pantry-public-page .pantry-public-nav a, .pantry-public-nav-status { justify-content: center; width: 100%; }
    .pantry-public-page .pantry-public-header.is-nav-open .pantry-public-nav-toggle { position: absolute; top: 12px; right: 14px; }
    .pantry-public-page .pantry-public-header.is-nav-open .pantry-public-brand { margin: 0 auto; }
    .pantry-public-footer { grid-template-columns: 1fr; width: min(100% - 28px, 1160px); padding: 24px; border-radius: 14px; }
    .pantry-public-footer-links { justify-content: flex-start; }
}

.sales-dashboard-grid .admin-tool-nav-links {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1080px) {
    .sales-dashboard-grid .admin-tool-nav-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .sales-page-hero {
        width: min(100% - 28px, 960px);
        padding-top: 112px;
    }

    .sales-dashboard-grid .admin-tool-nav-links {
        grid-template-columns: 1fr;
    }

    .books-page-hero {
        width: min(100% - 28px, 1180px);
        padding-top: 112px;
    }

    .books-section-nav {
        padding: 14px 16px;
        border-radius: 20px;
    }

    .books-section-nav-links {
        grid-template-columns: 1fr;
    }

    .books-overview-actions,
    .books-overview-actions .button {
        width: 100%;
    }
}

.admin-dashboard-grid > .flash {
    margin-bottom: 0;
    width: min(100%, 1180px);
}

.admin-tool-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    width: min(100%, 1480px);
}

/* Give the category navigation room to breathe without widening the
   individual Admin tools below it or changing the Sales workspace layout. */
.section:has(> .admin-dashboard-grid > .admin-tool-nav):not(:has(.sales-dashboard-grid)) {
    width: min(1480px, calc(100vw - 40px));
    max-width: none;
}

.admin-tool-nav-group {
    display: grid;
    gap: 12px;
    padding: 20px;
    border: 1px solid rgba(111, 170, 255, 0.18);
    border-radius: 24px;
    background:
        radial-gradient(circle at top left, rgba(84, 167, 255, 0.16), transparent 34%),
        linear-gradient(180deg, rgba(28, 56, 102, 0.48), rgba(15, 27, 56, 0.78));
    box-shadow: 0 18px 34px rgba(8, 17, 36, 0.16);
}

.admin-tool-nav-group summary {
    list-style: none;
}

.admin-tool-nav-group summary::-webkit-details-marker {
    display: none;
}

.admin-tool-nav-group.is-active {
    border-color: rgba(132, 191, 255, 0.42);
    background:
        radial-gradient(circle at top right, rgba(122, 197, 255, 0.2), transparent 42%),
        radial-gradient(circle at bottom left, rgba(62, 113, 255, 0.18), transparent 48%),
        linear-gradient(180deg, rgba(30, 64, 126, 0.72), rgba(17, 36, 73, 0.94));
    box-shadow: 0 22px 38px rgba(13, 29, 63, 0.24);
}

.admin-tool-nav-label {
    margin: 0;
    font-family: "Sora", sans-serif;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(157, 188, 255, 0.86);
}

.admin-tool-nav-copy {
    margin: -2px 0 0;
    color: rgba(225, 234, 248, 0.72);
    font-size: 0.92rem;
    grid-column: 1 / -1;
}

.admin-tool-nav-group-heading {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px 16px;
    align-items: baseline;
    min-height: 72px;
    cursor: default;
}

.admin-tool-nav-group-heading::after {
    content: "";
    display: none;
    align-self: center;
    justify-self: end;
    width: 10px;
    height: 10px;
    border-right: 2px solid rgba(222, 234, 252, 0.82);
    border-bottom: 2px solid rgba(222, 234, 252, 0.82);
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.admin-tool-nav-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid rgba(160, 206, 255, 0.18);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(222, 234, 252, 0.82);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-tool-nav-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-content: start;
}

.admin-tool-nav-group-dense .admin-tool-nav-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.admin-tool-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    width: 100%;
    min-width: 0;
    padding: 12px 18px;
    border: 1px solid rgba(152, 202, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--ink);
    font-weight: 700;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.admin-tool-link-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    text-wrap: balance;
}

.admin-tool-link-notification {
    position: absolute;
    top: -8px;
    right: -4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid rgba(255, 214, 214, 0.34);
    background: linear-gradient(180deg, rgba(218, 54, 73, 0.96), rgba(143, 22, 39, 0.96));
    color: white;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 10px 20px rgba(106, 15, 31, 0.28);
    pointer-events: none;
}

.admin-tool-link-notification[hidden] {
    display: none !important;
}

.admin-tool-link.has-notification {
    border-color: rgba(233, 99, 117, 0.34);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 0 0 1px rgba(177, 34, 53, 0.08);
}

.admin-tool-nav-group-dense .admin-tool-link {
    min-height: 64px;
    padding: 12px 14px;
    font-size: 0.92rem;
    line-height: 1.18;
    white-space: normal;
    text-wrap: balance;
}

.admin-tool-nav-group-dense .admin-tool-link-label {
    overflow-wrap: anywhere;
}

.client-account-nav .admin-tool-nav-group {
    min-height: 0;
    width: 100%;
    gap: 10px;
    padding: 16px;
}

.client-account-nav .admin-tool-nav-group-heading {
    min-height: 0;
    gap: 8px 12px;
}

.client-account-nav .admin-tool-nav-copy {
    overflow-wrap: anywhere;
}

.client-account-nav .admin-tool-nav-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.client-account-nav .admin-tool-link {
    min-height: 46px;
    padding: 10px 14px;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    line-height: 1.2;
}

.client-account-nav .admin-tool-link-label {
    line-height: 1.2;
    text-wrap: balance;
    overflow-wrap: anywhere;
}

@media (min-width: 721px) {
    .client-account-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }

    .admin-tool-nav-group-heading {
        pointer-events: none;
    }

    .admin-tool-nav-group:not([open]) > .admin-tool-nav-links {
        display: grid;
    }
}

.admin-tool-link:hover,
.admin-tool-link:focus-visible,
.admin-tool-link.is-active {
    background: linear-gradient(180deg, rgb(63, 129, 219), rgb(36, 83, 154));
    border-color: rgba(214, 235, 255, 0.32);
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 12px 22px rgba(11, 29, 66, 0.28);
}

.admin-tool-panel {
    width: min(100%, 960px);
    justify-self: center;
}

/* Admin 1099 reconstruction records use the same authenticated New Tab shell
   as the rest of the dashboard instead of rendering as standalone documents. */
.admin-1099-record-hero {
    width: min(1000px, calc(100% - 40px));
}

.admin-1099-record-section {
    padding-top: 28px;
}

.admin-1099-filing-record {
    width: min(100%, 1000px);
    box-sizing: border-box;
    text-align: left;
}

.admin-1099-record-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--line-faint);
}

.admin-1099-record-actions .button {
    margin-top: 0;
}

.admin-1099-filing-record h2.admin-subheading {
    margin: 28px 0 12px;
    padding-bottom: 9px;
    border-bottom: 1px solid var(--line-soft);
    color: var(--ink);
    font-size: 1.05rem;
}

.admin-1099-filing-record dl {
    display: grid;
    grid-template-columns: minmax(190px, 260px) minmax(0, 1fr);
    gap: 9px 18px;
    margin: 0;
}

.admin-1099-filing-record dt {
    color: var(--ink-soft);
    font-weight: 800;
}

.admin-1099-filing-record dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-1099-filing-record table {
    width: 100%;
    margin-top: 14px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    background: var(--surface-secondary);
}

.admin-1099-filing-record th,
.admin-1099-filing-record td {
    padding: 11px 13px;
    border-bottom: 1px solid var(--line-faint);
    text-align: left;
    vertical-align: top;
}

.admin-1099-filing-record th {
    color: var(--ink-soft);
    background: rgba(255, 255, 255, 0.045);
    font-size: 0.76rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.admin-1099-filing-record tr:last-child td {
    border-bottom: 0;
}

.admin-1099-filing-record form {
    display: grid;
    grid-template-columns: minmax(190px, 360px) auto;
    align-items: end;
    gap: 12px;
}

.admin-1099-filing-record form label {
    grid-column: 1;
    margin-bottom: 0;
}

.admin-1099-filing-record form .password-peek-field {
    grid-column: 1;
    width: min(100%, 360px);
}

.admin-1099-filing-record form input[type="password"],
.admin-1099-filing-record form .password-peek-target {
    box-sizing: border-box;
    width: 100%;
    min-height: 50px;
    padding: 14px 58px 14px 16px !important;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--ink);
    font: inherit;
    color-scheme: dark;
}

.admin-1099-filing-record form input[type="password"]:focus,
.admin-1099-filing-record form .password-peek-target:focus {
    outline: none;
    border-color: rgba(124, 182, 255, 0.46);
    box-shadow: 0 0 0 3px rgba(104, 164, 255, 0.16);
}

.admin-1099-filing-record form > .button {
    grid-column: 2;
    grid-row: 2;
    align-self: end;
}

@media (max-width: 720px) {
    .admin-1099-record-hero {
        width: min(100% - 28px, 1000px);
    }

    .admin-1099-filing-record dl {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .admin-1099-filing-record form {
        grid-template-columns: 1fr;
    }

    .admin-1099-filing-record form .password-peek-field,
    .admin-1099-filing-record form > .button {
        grid-column: 1;
        grid-row: auto;
        width: 100%;
    }

    .admin-1099-filing-record dd {
        margin-bottom: 10px;
    }

    .admin-1099-filing-record table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}

@media print {
    .admin-1099-record-hero {
        padding-top: 24px;
    }

    .admin-1099-record-section {
        padding: 0;
    }

    .admin-1099-record-actions {
        display: none;
    }

    .admin-1099-filing-record {
        width: 100%;
        border: 0;
        box-shadow: none;
    }
}

.admin-tool-panel.phone-console-panel {
    width: min(100%, 1120px);
    min-width: 0;
}

/* Phone console: keep the read-only extension directory legible without
   changing the presentation of other Admin tables. */
.phone-extensions-table-wrap {
    margin-top: 18px;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.025);
}

.phone-extensions-table {
    width: 100%;
    min-width: 780px;
    border-collapse: separate;
    border-spacing: 0;
    text-align: left;
}

.phone-extensions-table th,
.phone-extensions-table td {
    padding: 14px 18px;
    border-bottom: 1px solid var(--line-faint);
    vertical-align: middle;
}

.phone-extensions-table th {
    background: rgba(255, 255, 255, 0.045);
    color: var(--ink-soft);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.phone-extensions-table td {
    color: var(--ink);
    font-size: 0.95rem;
}

.phone-extensions-table th:nth-child(1),
.phone-extensions-table td:nth-child(1) {
    width: 18%;
}

.phone-extensions-table th:nth-child(2),
.phone-extensions-table td:nth-child(2) {
    width: 37%;
}

.phone-extensions-table th:nth-child(3),
.phone-extensions-table td:nth-child(3) {
    width: 23%;
}

.phone-extensions-table th:nth-child(4),
.phone-extensions-table td:nth-child(4) {
    width: 22%;
}

.phone-extensions-table tbody tr:last-child td {
    border-bottom: 0;
}

.phone-extensions-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.035);
}

.phone-extensions-table th:nth-child(5),
.phone-extensions-table td:nth-child(5) {
    width: 18%;
    white-space: nowrap;
}

.phone-extensions-table th:nth-child(6),
.phone-extensions-table td:nth-child(6) {
    width: 13%;
    white-space: nowrap;
}

.phone-extensions-header {
    align-items: center;
}

.phone-extension-allocation {
    flex: 0 0 auto;
    padding: 8px 12px;
    border: 1px solid rgba(143, 192, 255, 0.2);
    border-radius: 999px;
    color: var(--ink-soft);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.phone-extension-create-panel,
.phone-extension-manage-panel {
    display: grid;
    gap: 16px;
    margin-top: 22px;
    padding: 20px;
    border: 1px solid rgba(132, 191, 255, 0.14);
    border-radius: 18px;
    background: rgba(22, 30, 46, 0.58);
}

.phone-extension-create-panel h4,
.phone-extension-manage-panel h4 {
    margin: 0;
}

.phone-extension-form {
    display: grid;
    gap: 16px;
}

.phone-extension-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.phone-extension-form-grid > div {
    min-width: 0;
}

.phone-extension-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    color: var(--ink-soft);
    font-size: 0.9rem;
}

.phone-extension-checks label,
.phone-extension-replace {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.phone-extension-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
}

.phone-extension-summary div {
    padding-top: 12px;
    border-top: 1px solid var(--line-faint);
}

.phone-extension-summary dt {
    color: var(--ink-soft);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.phone-extension-summary dd {
    margin: 6px 0 0;
    color: var(--ink);
}

.phone-extension-forwarding-value {
    font-weight: 700;
    letter-spacing: 0.02em;
}

.phone-extension-change-number {
    display: grid;
    gap: 14px;
}

.phone-extension-change-number summary {
    display: inline-flex;
    width: fit-content;
    cursor: pointer;
    list-style: none;
}

.phone-extension-change-number summary::-webkit-details-marker {
    display: none;
}

.phone-extension-change-number[open] summary {
    border-color: rgba(143, 192, 255, 0.42);
}

.phone-extension-change-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.phone-extension-greeting-panel {
    display: grid;
    gap: 14px;
    padding-top: 18px;
    border-top: 1px solid var(--line-faint);
}

.phone-extension-upload-form {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 12px;
}

.phone-extension-upload-form label {
    width: 100%;
}

.phone-extension-upload-form input[type="file"] {
    min-width: 0;
    flex: 1 1 260px;
}

.phone-extensions-table .status-badge {
    min-height: 25px;
    padding: 0 9px;
    font-size: 0.65rem;
}

.phone-voicemail-table-wrap {
    margin-top: 18px;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.025);
}

.phone-voicemail-table {
    width: 100%;
    min-width: 760px;
    border-collapse: separate;
    border-spacing: 0;
    text-align: left;
}

.phone-voicemail-table th,
.phone-voicemail-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--line-faint);
    vertical-align: middle;
}

.phone-voicemail-table th {
    background: rgba(255, 255, 255, 0.045);
    color: var(--ink-soft);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.phone-voicemail-table td {
    color: var(--ink);
    font-size: 0.92rem;
}

.phone-voicemail-table th:nth-child(1),
.phone-voicemail-table td:nth-child(1) {
    width: 13%;
}

.phone-voicemail-table th:nth-child(2),
.phone-voicemail-table td:nth-child(2) {
    width: 22%;
    white-space: nowrap;
}

.phone-voicemail-table th:nth-child(3),
.phone-voicemail-table td:nth-child(3) {
    width: 27%;
    white-space: nowrap;
}

.phone-voicemail-table th:nth-child(4),
.phone-voicemail-table td:nth-child(4) {
    width: 13%;
    white-space: nowrap;
}

.phone-voicemail-table th:nth-child(5),
.phone-voicemail-table td:nth-child(5) {
    width: 12%;
    white-space: nowrap;
}

.phone-voicemail-table th:nth-child(6),
.phone-voicemail-table td:nth-child(6) {
    width: 13%;
    white-space: nowrap;
}

.phone-voicemail-table tbody tr:last-child td {
    border-bottom: 0;
}

.phone-voicemail-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.035);
}

.phone-voicemail-table .status-badge {
    min-height: 25px;
    padding: 0 9px;
    font-size: 0.65rem;
}

.phone-messages-table-wrap {
    margin-top: 18px;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.025);
}

.phone-messages-table {
    width: 100%;
    min-width: 720px;
    border-collapse: separate;
    border-spacing: 0;
    text-align: left;
}

.phone-messages-table th,
.phone-messages-table td {
    padding: 14px 15px;
    border-bottom: 1px solid var(--line-faint);
    vertical-align: top;
}

.phone-messages-table th {
    background: rgba(255, 255, 255, 0.045);
    color: var(--ink-soft);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.phone-messages-table td {
    color: var(--ink);
    font-size: 0.9rem;
}

.phone-messages-table td:nth-child(1),
.phone-messages-table td:nth-child(2),
.phone-messages-table td:nth-child(3) {
    white-space: nowrap;
}

.phone-message-body {
    min-width: 260px;
    white-space: normal;
    overflow-wrap: anywhere;
}

.phone-messages-table tbody tr:last-child td {
    border-bottom: 0;
}

.phone-messages-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.035);
}

.phone-console-heading,
.phone-voicemail-header,
.phone-messages-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.phone-console-heading > div,
.phone-voicemail-header > div,
.phone-messages-header > div {
    min-width: 0;
}

.phone-console-heading h2,
.phone-voicemail-header h3,
.phone-messages-header h3 {
    margin: 0;
}

.phone-console-heading .status-badge,
.phone-voicemail-header .button,
.phone-messages-header .button {
    flex-shrink: 0;
}

.phone-console-heading .status-badge {
    margin-top: 2px;
}

.phone-voicemail-header .button {
    min-height: 42px;
    padding: 0 18px;
    font-size: 0.88rem;
}

.phone-voicemail-detail {
    margin-top: 22px;
    padding: 20px;
    border: 1px solid rgba(132, 191, 255, 0.16);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(77, 145, 255, 0.12), transparent 44%),
        linear-gradient(180deg, rgba(24, 32, 49, 0.78), rgba(15, 20, 31, 0.82));
}

.phone-voicemail-detail h4 {
    margin: 0;
    color: var(--ink);
}

.phone-voicemail-detail .summary-note {
    margin-top: 10px;
}

.phone-voicemail-player {
    display: block;
    width: min(100%, 560px);
    height: 48px;
    margin: 20px 0 18px;
    accent-color: rgb(72, 139, 232);
    color-scheme: dark;
}

.phone-voicemail-actions {
    gap: 10px;
    margin-top: 0;
}

.phone-voicemail-actions .admin-inline-form {
    margin: 0;
}

.phone-voicemail-actions .button {
    min-height: 42px;
    padding: 0 18px;
    font-size: 0.88rem;
}

.phone-call-history-table-wrap {
    margin-top: 18px;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.025);
}

.phone-call-history-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    text-align: left;
}

.phone-call-history-table th,
.phone-call-history-table td {
    padding: 14px 15px;
    border-bottom: 1px solid var(--line-faint);
    vertical-align: middle;
}

.phone-call-history-table th {
    background: rgba(255, 255, 255, 0.045);
    color: var(--ink-soft);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.phone-call-history-table td {
    color: var(--ink);
    font-size: 0.9rem;
}

.phone-call-party-cell {
    min-width: 190px;
}

.phone-call-party-cell span {
    display: block;
    line-height: 1.45;
}

.phone-call-party-cell span + span {
    margin-top: 3px;
    color: var(--ink-soft);
    font-size: 0.82rem;
}

.phone-call-party-cell small {
    display: block;
    margin-top: 6px;
    color: var(--ink-soft);
    font-size: 0.78rem;
}

.phone-call-history-table td:nth-child(1),
.phone-call-history-table td:nth-child(4),
.phone-call-history-table td:nth-child(6),
.phone-call-history-table td:nth-child(7),
.phone-call-history-table td:nth-child(8) {
    white-space: nowrap;
}

.phone-call-history-table th:nth-child(1),
.phone-call-history-table td:nth-child(1) { width: 10%; }

.phone-call-history-table th:nth-child(2),
.phone-call-history-table td:nth-child(2) { width: 24%; }

.phone-call-history-table th:nth-child(3),
.phone-call-history-table td:nth-child(3) { width: 18%; }

.phone-call-history-table th:nth-child(4),
.phone-call-history-table td:nth-child(4) { width: 10%; }

.phone-call-history-table th:nth-child(5),
.phone-call-history-table td:nth-child(5) { width: 15%; }

.phone-call-history-table th:nth-child(6),
.phone-call-history-table td:nth-child(6) { width: 8%; }

.phone-call-history-table th:nth-child(7),
.phone-call-history-table td:nth-child(7) { width: 10%; }

.phone-call-history-table th:nth-child(8),
.phone-call-history-table td:nth-child(8) { width: 5%; }

.phone-call-history-table tbody tr:last-child td {
    border-bottom: 0;
}

.phone-call-history-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.035);
}

.phone-call-detail {
    margin-top: 22px;
    padding: 20px;
    border: 1px solid rgba(132, 191, 255, 0.16);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(77, 145, 255, 0.12), transparent 44%),
        linear-gradient(180deg, rgba(24, 32, 49, 0.78), rgba(15, 20, 31, 0.82));
}

.phone-call-detail-heading {
    align-items: center;
}

.phone-call-detail-heading h4 {
    margin: 0;
}

.phone-call-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 22px 0 0;
}

.phone-call-detail-grid div {
    min-width: 0;
    padding-top: 12px;
    border-top: 1px solid var(--line-faint);
}

.phone-call-detail-grid dt {
    color: var(--ink-soft);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.phone-call-detail-grid dd {
    margin: 6px 0 0;
    color: var(--ink);
    overflow-wrap: anywhere;
}

.phone-call-history-pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    margin-top: 18px;
    color: var(--ink-soft);
    font-size: 0.88rem;
}

.phone-call-history-pagination .button {
    min-height: 38px;
    padding: 0 15px;
    font-size: 0.82rem;
}

@media (max-width: 720px) {
    .phone-console-heading,
    .phone-voicemail-header,
    .phone-messages-header {
        flex-direction: column;
        gap: 14px;
    }

    .phone-console-heading .status-badge {
        margin-top: 0;
    }

    .phone-voicemail-header .button {
        width: auto;
    }

    .phone-voicemail-detail {
        padding: 16px;
    }

    .phone-call-detail {
        padding: 16px;
    }

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

    .phone-call-history-pagination {
        justify-content: space-between;
    }

    .phone-call-history-table {
        min-width: 760px;
    }

    .phone-extension-form-grid,
    .phone-extension-summary {
        grid-template-columns: 1fr;
    }

    .phone-extensions-header {
        align-items: flex-start;
    }
}

.admin-products-panel,
.admin-product-dashboard {
    display: grid;
    gap: 22px;
}

.admin-product-intro,
.admin-product-dashboard-hero,
.admin-product-management-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.admin-product-intro h2,
.admin-product-dashboard h2,
.admin-product-management-heading h3 {
    margin: 0;
}

.admin-product-intro .summary-note {
    max-width: 62ch;
}

.admin-product-count {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid rgba(143, 192, 255, 0.2);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(220, 234, 255, 0.78);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

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

.admin-product-card {
    position: relative;
    display: grid;
    gap: 22px;
    min-height: 310px;
    padding: 24px;
    overflow: hidden;
    border: 1px solid rgba(118, 174, 255, 0.22);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(99, 169, 255, 0.18), transparent 42%),
        linear-gradient(180deg, rgba(31, 61, 112, 0.64), rgba(16, 29, 58, 0.92));
    color: var(--ink);
    box-shadow: 0 18px 38px rgba(7, 16, 36, 0.2);
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.admin-product-card::after {
    position: absolute;
    right: 20px;
    bottom: 18px;
    width: 110px;
    height: 110px;
    border: 1px solid rgba(166, 210, 255, 0.08);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.admin-product-card.is-active:hover,
.admin-product-card.is-active:focus-visible {
    border-color: rgba(159, 207, 255, 0.64);
    box-shadow: 0 24px 46px rgba(8, 20, 48, 0.34);
    transform: translateY(-3px);
}

.admin-product-card.is-disabled {
    border-color: rgba(159, 174, 204, 0.16);
    background:
        linear-gradient(180deg, rgba(73, 83, 105, 0.36), rgba(26, 31, 44, 0.78));
    color: rgba(225, 231, 243, 0.72);
    filter: saturate(0.55);
}

.admin-product-card-topline,
.admin-product-card-footer,
.admin-product-management-card-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.admin-product-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(172, 215, 255, 0.28);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(222, 239, 255, 0.94);
}

.admin-product-icon svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.admin-product-icon-large {
    width: 70px;
    height: 70px;
    border-radius: 22px;
}

.admin-product-icon-large svg {
    width: 36px;
    height: 36px;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(153, 197, 255, 0.24);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.07);
    color: rgba(222, 236, 255, 0.82);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.status-badge.is-active {
    border-color: rgba(132, 226, 174, 0.34);
    background: rgba(53, 145, 94, 0.2);
    color: rgb(192, 255, 215);
}

.status-badge.is-muted {
    border-color: rgba(201, 210, 227, 0.2);
    background: rgba(215, 222, 237, 0.09);
    color: rgba(225, 231, 243, 0.66);
}

.admin-product-card-copy {
    position: relative;
    z-index: 1;
}

.admin-product-kicker {
    margin: 0 0 8px;
    color: rgba(164, 201, 255, 0.76);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.admin-product-card-copy h3 {
    margin: 0;
    font-size: clamp(1.6rem, 3vw, 2.15rem);
}

.admin-product-card-copy p {
    margin: 10px 0 0;
}

.admin-product-card-copy .admin-product-tagline,
.admin-product-dashboard-tagline {
    color: rgba(233, 242, 255, 0.94);
    font-size: 1.02rem;
    font-weight: 700;
}

.admin-product-card-footer {
    position: relative;
    z-index: 1;
    align-self: end;
    padding-top: 16px;
    border-top: 1px solid rgba(181, 211, 255, 0.14);
    color: rgba(205, 224, 251, 0.72);
    font-size: 0.82rem;
    font-weight: 700;
}

.admin-product-card-arrow {
    color: rgba(191, 222, 255, 0.94);
    font-size: 1.2rem;
}

.admin-product-dashboard-hero {
    padding: 22px;
    border: 1px solid rgba(120, 183, 255, 0.24);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(85, 163, 255, 0.18), transparent 42%),
        linear-gradient(180deg, rgba(30, 64, 126, 0.58), rgba(17, 32, 66, 0.9));
}

.admin-product-dashboard-identity {
    display: flex;
    align-items: center;
    gap: 16px;
}

.admin-product-dashboard-identity .workflow-panel-eyebrow {
    margin-bottom: 5px;
}

.admin-product-dashboard-tagline {
    margin: 8px 0 0;
}

.admin-product-back-link {
    min-height: 42px;
    padding-inline: 16px;
    white-space: nowrap;
}

.admin-product-summary-grid,
.admin-product-management-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.admin-product-summary-card,
.admin-product-description-card,
.admin-product-management-card {
    padding: 20px;
    border: 1px solid var(--line-soft);
    border-radius: 20px;
    background: var(--surface-primary);
    box-shadow: var(--shadow-soft);
}

.admin-product-summary-card strong {
    display: block;
    margin-top: 8px;
    color: var(--ink);
    font-size: 1.1rem;
}

.admin-product-summary-card-primary {
    border-color: rgba(127, 221, 166, 0.26);
    background: linear-gradient(180deg, rgba(46, 122, 82, 0.24), rgba(18, 44, 37, 0.7));
}

.admin-product-summary-card .summary-note {
    margin-bottom: 0;
}

.admin-product-description-card h3 {
    margin: 0;
}

.admin-product-description-card > p:not(.workflow-panel-eyebrow) {
    max-width: 72ch;
}

.admin-product-scope-note {
    display: grid;
    gap: 5px;
    margin-top: 18px;
    padding: 14px 16px;
    border-left: 3px solid rgba(128, 191, 255, 0.72);
    background: rgba(103, 168, 255, 0.08);
    color: rgba(218, 233, 255, 0.78);
}

.admin-product-scope-note strong {
    color: rgba(225, 240, 255, 0.96);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-product-scope-note span {
    font-size: 0.9rem;
}

.admin-product-management-heading {
    align-items: center;
    margin-top: 4px;
}

.admin-product-management-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-product-management-card {
    min-height: 142px;
}

.admin-product-management-card.is-current {
    border-color: rgba(132, 204, 255, 0.28);
}

.admin-product-management-card.is-disabled {
    opacity: 0.68;
}

.admin-product-management-card h4 {
    margin: 0;
    color: var(--ink);
    font-size: 1rem;
}

.admin-product-management-card p {
    margin-bottom: 0;
    color: rgba(219, 226, 245, 0.7);
    font-size: 0.9rem;
}

@media (max-width: 860px) {
    .admin-product-summary-grid,
    .admin-product-management-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .admin-product-grid,
    .admin-product-summary-grid,
    .admin-product-management-grid {
        grid-template-columns: 1fr;
    }

    .admin-product-intro,
    .admin-product-dashboard-hero,
    .admin-product-management-heading {
        display: grid;
    }

    .admin-product-dashboard-hero {
        padding: 18px;
    }

    .admin-product-back-link {
        justify-self: start;
    }
}

.admin-tool-panel.consultation-admin-tool-panel {
    width: min(1240px, calc(100vw - 20px));
}

.sales-lead-queue-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.sales-lead-queue-table th,
.sales-lead-queue-table td {
    padding: 14px 12px;
    vertical-align: top;
    text-align: left;
    overflow-wrap: anywhere;
}

.sales-lead-queue-table th {
    color: var(--ink);
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sales-lead-queue-table.rep-queue th:nth-child(1),
.sales-lead-queue-table.rep-queue td:nth-child(1) { width: 19%; }
.sales-lead-queue-table.rep-queue th:nth-child(2),
.sales-lead-queue-table.rep-queue td:nth-child(2) { width: 17%; }
.sales-lead-queue-table.rep-queue th:nth-child(3),
.sales-lead-queue-table.rep-queue td:nth-child(3) { width: 10%; }
.sales-lead-queue-table.rep-queue th:nth-child(4),
.sales-lead-queue-table.rep-queue td:nth-child(4) { width: 15%; }
.sales-lead-queue-table.rep-queue th:nth-child(5),
.sales-lead-queue-table.rep-queue td:nth-child(5) { width: 14%; }
.sales-lead-queue-table.rep-queue th:nth-child(6),
.sales-lead-queue-table.rep-queue td:nth-child(6) { width: 10%; }
.sales-lead-queue-table.rep-queue th:nth-child(7),
.sales-lead-queue-table.rep-queue td:nth-child(7) { width: 15%; }

.sales-lead-queue-table.has-owner th:nth-child(1),
.sales-lead-queue-table.has-owner td:nth-child(1) { width: 17%; }
.sales-lead-queue-table.has-owner th:nth-child(2),
.sales-lead-queue-table.has-owner td:nth-child(2) { width: 15%; }
.sales-lead-queue-table.has-owner th:nth-child(3),
.sales-lead-queue-table.has-owner td:nth-child(3) { width: 8%; }
.sales-lead-queue-table.has-owner th:nth-child(4),
.sales-lead-queue-table.has-owner td:nth-child(4) { width: 12%; }
.sales-lead-queue-table.has-owner th:nth-child(5),
.sales-lead-queue-table.has-owner td:nth-child(5) { width: 14%; }
.sales-lead-queue-table.has-owner th:nth-child(6),
.sales-lead-queue-table.has-owner td:nth-child(6) { width: 12%; }
.sales-lead-queue-table.has-owner th:nth-child(7),
.sales-lead-queue-table.has-owner td:nth-child(7) { width: 9%; }
.sales-lead-queue-table.has-owner th:nth-child(8),
.sales-lead-queue-table.has-owner td:nth-child(8) { width: 13%; }

.sales-lead-queue-table tbody tr:not(.lead-activity-row) {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.sales-lead-queue-table .lead-contact-cell,
.sales-lead-queue-table .lead-first-contact-cell {
    min-width: 0;
}

.sales-lead-queue-table .lead-due-date,
.sales-lead-queue-table .lead-source-label {
    color: var(--ink);
    font-weight: 700;
}

.sales-lead-queue-table .lead-help {
    margin-left: 5px;
}

.sales-lead-queue-table .lead-help .tooltip-bubble {
    z-index: 5;
    width: 240px;
}

.sales-lead-queue-table .lead-actions-cell {
    position: relative;
    min-width: 190px;
    white-space: normal;
}

.sales-lead-queue-table .lead-actions-cell > details {
    display: inline-block;
    margin: 0 5px 6px 0;
    vertical-align: top;
}

.sales-lead-queue-table .lead-actions-cell summary.button {
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 9px 13px;
    text-align: center;
}

.sales-lead-queue-table summary.button::-webkit-details-marker {
    display: none;
}

.sales-lead-queue-table summary.button {
    list-style: none;
}

.sales-lead-queue-table .lead-detail-panel,
.sales-lead-queue-table .lead-action-menu-panel {
    display: grid;
    gap: 10px;
    margin-top: 10px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    background: var(--surface-strong);
    text-align: left;
}

.sales-lead-queue-table .lead-detail-panel p {
    margin: 0;
}

.sales-lead-queue-table .lead-action-menu {
    position: relative;
}

.sales-lead-queue-table .lead-action-menu > summary {
    min-width: 46px;
    padding-inline: 10px;
    font-size: 1rem;
    letter-spacing: 0.12em;
}

.sales-lead-queue-table .lead-action-menu-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 10;
    width: 260px;
}

.sales-lead-queue-table .lead-action-menu-panel > details,
.sales-lead-queue-table .lead-action-menu-panel > form {
    margin: 0;
}

.sales-lead-queue-table .lead-action-menu-panel .auth-form {
    margin-top: 10px;
}

.sales-lead-queue-table .lead-activity-row td {
    padding: 0 12px 14px;
    border-top: 0;
}

.admin-quote-lead-picker {
    position: relative;
    margin: 0 0 1rem;
}

.admin-quote-lead-picker > label {
    display: block;
    margin-bottom: .35rem;
}

.admin-quote-lead-picker small {
    display: block;
    margin-top: .35rem;
    color: var(--muted-text, #aeb9cf);
}

.admin-quote-lead-picker .sales-email-recipient-results {
    position: absolute;
    z-index: 20;
    top: 100%;
    left: 0;
    right: 0;
    max-height: 14rem;
    overflow-y: auto;
}

.sales-lead-detail {
    max-width: 100%;
}

.lead-detail-identity,
.lead-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
    margin: 1rem 0;
}

.lead-detail-identity {
    display: grid;
    grid-template-columns: minmax(16rem, 24rem) minmax(12rem, 16rem);
    width: fit-content;
    max-width: 100%;
    justify-content: start;
}

.lead-detail-identity > div {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 12rem;
    min-height: 4.5rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(125, 154, 202, .2);
    border-radius: .75rem;
    background: rgba(9, 18, 35, .35);
}

.lead-detail-identity > div > .summary-note {
    display: block;
}

.lead-detail-actions {
    gap: .65rem;
    padding: .85rem 0;
}

.lead-detail-actions .lead-log-contact-details {
    position: relative;
}

.lead-detail-actions .lead-log-contact-details > form {
    position: absolute;
    z-index: 5;
    top: calc(100% + .5rem);
    left: 0;
    width: min(22rem, 82vw);
    padding: 1rem;
    border: 1px solid rgba(125, 154, 202, .3);
    border-radius: .85rem;
    background: #111a2a;
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, .3);
}

.lead-timeline-list {
    display: grid;
    gap: 1rem;
    padding-left: 1.25rem;
}

.lead-timeline-list li {
    padding-bottom: .75rem;
    border-bottom: 1px solid rgba(125, 154, 202, .15);
}

.lead-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    margin-top: 1.5rem;
}

.lead-detail-grid > section,
.lead-detail-timeline {
    padding: 1.25rem;
    border: 1px solid rgba(125, 154, 202, .24);
    border-radius: 1rem;
    background: rgba(9, 18, 35, .42);
}

.lead-detail-timeline {
    margin-top: 1rem;
}

.consultation-lead-booking-card {
    margin-top: 1.5rem;
    padding: 1.25rem;
    border: 1px solid rgba(125, 154, 202, .24);
    border-radius: 1rem;
}

/* Put the customer-facing booking flow before internal schedule controls. */
.sales-consultations-panel {
    display: flex;
    flex-direction: column;
}

.sales-consultations-panel > .consultation-lead-booking-card {
    order: 1;
}

.sales-consultations-panel > .consultation-scheduler {
    order: 2;
}

.sales-consultations-panel > .admin-subheading,
.sales-consultations-panel > .order-list {
    order: 3;
}

.consultation-lead-booking-card .consultation-booking-card {
    margin: 1.25rem 0 0;
    max-width: none;
}

.consultation-lead-search-form {
    position: relative;
}

@media (max-width: 760px) {
    .lead-detail-identity {
        grid-template-columns: 1fr;
    }

    .lead-detail-grid {
        grid-template-columns: 1fr;
    }
}

.sales-lead-queue-table .lead-activity-row details {
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.025);
}

.admin-quote-builder-shell {
    margin-top: 18px;
    padding: 28px;
}

.admin-quote-form {
    gap: 18px;
}

.admin-quote-builder-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.9fr);
    gap: 20px;
    align-items: start;
}

.admin-quote-builder-main,
.admin-quote-builder-side {
    display: grid;
    gap: 18px;
}

.admin-quote-panel {
    display: grid;
    gap: 14px;
}

.admin-quote-panel h4 {
    margin: 0;
}

.admin-quote-builder-shell .builder-input-panel {
    max-width: none;
    padding: 24px;
    border-radius: 28px;
}

.admin-quote-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.admin-quote-field-grid > div {
    min-width: 0;
}

.admin-quote-builder-feature-grid {
    margin-top: 0;
}

.admin-quote-feature-option {
    position: relative;
    grid-template-columns: 28px minmax(0, 1fr);
    min-height: 120px;
    align-items: flex-start;
    cursor: pointer;
}

.admin-quote-feature-option input[data-admin-quote-feature] {
    position: static;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    opacity: 1;
    pointer-events: auto;
    accent-color: rgb(76, 139, 236);
    cursor: pointer;
}

.admin-quote-feature-option .builder-feature-copy {
    gap: 10px;
}

.admin-quote-feature-option .builder-feature-label {
    cursor: pointer;
}

.admin-quote-feature-option .builder-feature-price {
    font-size: 0.98rem;
}

.pricing-admin-package-actions {
    display: flex;
    justify-content: center;
    margin-bottom: 14px;
}

.pricing-admin-package-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 12px;
}

.pricing-admin-package-remove,
.pricing-admin-package-add {
    width: 48px !important;
    min-width: 48px;
    max-width: 48px;
    min-height: 48px;
    padding: 0;
    border-radius: 14px;
    flex: 0 0 48px;
    white-space: nowrap;
}

.pricing-admin-package-add {
    width: 56px !important;
    min-width: 56px;
    max-width: 56px;
    min-height: 56px;
    flex-basis: 56px;
    font-size: 1.4rem;
}

.admin-build-package-feature-option {
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 12px;
    cursor: pointer;
}

.admin-build-package-feature-checkbox {
    position: static !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    accent-color: rgb(92, 154, 255);
}

.admin-quote-pricing-panel {
    position: sticky;
    top: 92px;
    gap: 16px;
}

.admin-quote-pricing-reference {
    display: grid;
    gap: 12px;
}

.admin-quote-price-card {
    display: grid;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
}

.admin-quote-price-card-label {
    margin: 0;
    font-weight: 800;
    color: rgba(245, 248, 255, 0.94);
}

.admin-quote-reference-list {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 8px;
    color: rgba(219, 226, 245, 0.78);
}

.admin-quote-price-input-grid {
    display: grid;
    gap: 12px;
}

.admin-quote-price-input {
    display: grid;
    gap: 8px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    background: rgba(8, 17, 37, 0.36);
}

.admin-quote-price-input .summary-note {
    margin: 0;
}

.admin-quote-summary-panel .builder-summary {
    gap: 12px;
}

.admin-quote-summary-panel .summary-row {
    align-items: start;
}

.admin-quote-summary-panel .summary-row span {
    color: rgba(219, 226, 245, 0.78);
}

.admin-quote-pricing-reference-compact .admin-quote-reference-list {
    font-size: 0.94rem;
    line-height: 1.55;
}

.admin-quote-share-card {
    gap: 14px;
}

.admin-quote-share-grid {
    display: grid;
    grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
    gap: 18px;
    align-items: start;
}

.admin-quote-share-links {
    display: grid;
    gap: 6px;
}

.admin-quote-actions,
.admin-quote-share-actions {
    margin-top: 8px;
}

.admin-quote-actions .button,
.admin-quote-actions button,
.admin-quote-share-actions .button,
.admin-quote-share-actions button {
    min-width: 0;
    flex: 1 1 220px;
}

.admin-quote-share-links p {
    margin: 0;
}

@media (max-width: 960px) {
    .admin-quote-builder-layout,
    .admin-quote-share-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-quote-pricing-panel {
        position: static;
    }

    .admin-quote-feature-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 720px) {
    .admin-quote-builder-shell {
        padding: 22px;
    }

    .admin-quote-field-grid,
    .admin-quote-field-grid-compact {
        grid-template-columns: minmax(0, 1fr);
    }
}

.admin-notification-testbar {
    margin-top: 18px;
    padding: 16px 18px;
    border: 1px solid rgba(158, 206, 255, 0.18);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(20, 39, 79, 0.48), rgba(14, 28, 58, 0.78));
    box-shadow: 0 16px 28px rgba(11, 27, 57, 0.18);
}

.admin-notification-test-form {
    display: grid;
    gap: 10px;
}

.admin-notification-test-label {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(171, 201, 255, 0.86);
}

.admin-notification-test-controls {
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.admin-notification-test-note,
.admin-notification-test-status {
    margin: 0;
    color: rgba(225, 234, 248, 0.74);
    font-size: 0.9rem;
}

.admin-notification-test-status {
    color: rgba(150, 221, 182, 0.92);
}

.admin-notification-test-status.is-error {
    color: rgba(255, 183, 193, 0.94);
}

.admin-dashboard-toast-stack {
    position: fixed;
    top: 112px;
    right: 20px;
    z-index: 90;
    display: grid;
    gap: 12px;
    width: min(360px, calc(100vw - 28px));
    pointer-events: none;
}

.admin-dashboard-toast {
    display: grid;
    gap: 10px;
    padding: 16px 18px;
    border: 1px solid rgba(119, 179, 255, 0.28);
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(117, 184, 255, 0.2), transparent 34%),
        linear-gradient(180deg, rgba(16, 27, 54, 0.96), rgba(10, 16, 33, 0.98));
    box-shadow: 0 20px 36px rgba(10, 18, 37, 0.34);
    color: rgb(244, 247, 255);
    pointer-events: auto;
    transform: translateY(0);
    opacity: 1;
    transition: opacity 0.22s ease, transform 0.22s ease;
}

.admin-dashboard-toast.is-hiding {
    opacity: 0;
    transform: translateY(-8px);
}

.admin-dashboard-toast-top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
}

.admin-dashboard-toast-title {
    margin: 0;
    font-size: 1rem;
}

.admin-dashboard-toast-message {
    margin: 0;
    color: rgba(229, 237, 248, 0.78);
    font-size: 0.94rem;
}

.admin-dashboard-toast-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.admin-dashboard-toast-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(82, 137, 228, 0.22);
    border: 1px solid rgba(146, 196, 255, 0.24);
    color: white;
    font-size: 0.9rem;
    font-weight: 700;
}

.admin-dashboard-toast-link:hover,
.admin-dashboard-toast-link:focus-visible {
    background: rgba(82, 137, 228, 0.34);
}

.admin-dashboard-toast-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(240, 245, 255, 0.88);
    cursor: pointer;
}

.admin-dashboard-toast-close:hover,
.admin-dashboard-toast-close:focus-visible {
    background: rgba(255, 255, 255, 0.14);
}

@media (max-width: 1080px) {
    .homepage-split-grid {
        grid-template-columns: 1fr;
    }

    .homepage-example-card h3 {
        max-width: none;
    }

    .services-page-hero-grid,
    .services-problem-grid,
    .services-approach-grid,
    .services-overview-grid,
    .services-included-groups,
    .services-positioning-grid {
        grid-template-columns: 1fr;
    }

    .services-care-card,
    .services-included-card,
    .qr-generator-grid {
        grid-template-columns: 1fr;
    }

    .services-process-list {
        display: grid;
        grid-template-columns: 1fr;
    }

    .services-process-list .process-step {
        min-height: 0;
    }

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

    .admin-tool-nav-group-dense .admin-tool-nav-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-notification-test-controls {
        grid-template-columns: 1fr;
    }

    .admin-dashboard-toast-stack {
        top: auto;
        right: 14px;
        bottom: 18px;
        width: min(360px, calc(100vw - 24px));
    }
}

.revenue-tab-switcher {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.review-studio-tab-switcher {
    flex-wrap: nowrap;
}

.review-studio-tab-switcher .admin-tool-link {
    flex: 1 1 0;
    width: auto;
    margin: 0;
}

@media (max-width: 760px) {
    .review-studio-tab-switcher {
        flex-wrap: wrap;
    }

    .review-studio-tab-switcher .admin-tool-link {
        flex-basis: 100%;
    }
}

/* Direct comparison editor: keep the table itself as the editor. */
.comparison-admin-toolbar-simple { align-items: center; }
.comparison-admin-inline-status { min-height: 1.1em; color: #9fc2ff; font-size: .78rem; font-weight: 700; }
.comparison-admin-simple-table { min-width: 900px; }
.comparison-admin-simple-table th,
.comparison-admin-simple-table td { height: 58px; min-width: 170px; padding: 6px 8px; }
.comparison-admin-simple-table thead th { height: 72px; }
.comparison-admin-simple-table .comparison-admin-feature-heading,
.comparison-admin-simple-table .comparison-admin-row-label-cell { min-width: 250px; width: 250px; }
.comparison-admin-simple-header,
.comparison-admin-simple-row-label { position: relative; display: flex; align-items: center; justify-content: center; gap: 5px; min-height: 42px; }
.comparison-admin-simple-row-label { justify-content: flex-start; }
.comparison-admin-simple-header .comparison-admin-column-title,
.comparison-admin-simple-row-label [data-comparison-row-label] { flex: 1 1 auto; min-width: 0; max-width: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 800; }
.comparison-admin-drag-tab,
.comparison-admin-pencil,
.comparison-admin-delete,
.comparison-admin-add-between,
.comparison-admin-add-end-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border: 1px solid rgba(151, 191, 255, .22); border-radius: 6px; background: rgba(255, 255, 255, .05); color: rgba(219, 226, 245, .8); cursor: pointer; line-height: 1; }
.comparison-admin-drag-tab { width: 22px; height: 22px; padding: 0; cursor: grab; color: #9fc2ff; }
.comparison-admin-pencil,
.comparison-admin-delete { width: 22px; height: 22px; padding: 0; font-size: .75rem; }
.comparison-admin-recommended-toggle { width: 22px; height: 22px; padding: 0; border: 0; background: transparent; color: rgba(219, 226, 245, .42); font-size: .9rem; line-height: 1; cursor: pointer; }
.comparison-admin-recommended-toggle.is-active { color: #ffd36a; }
.comparison-admin-delete { color: #ff9da3; }
.comparison-admin-pencil:hover,
.comparison-admin-pencil:focus-visible,
.comparison-admin-drag-tab:hover,
.comparison-admin-drag-tab:focus-visible { background: rgba(65, 123, 220, .28); color: white; }
.comparison-admin-delete:hover,
.comparison-admin-delete:focus-visible { background: rgba(176, 50, 65, .32); color: white; }
.comparison-admin-add-between { position: absolute; right: -12px; top: 50%; z-index: 8; width: 22px; height: 22px; padding: 0; border-radius: 50%; transform: translateY(-50%); background: #2759a8; color: white; font-size: 1rem; font-weight: 900; }
.comparison-admin-row-add { right: 4px; top: auto; bottom: -11px; transform: none; }
.comparison-admin-add-end { min-width: 38px !important; width: 38px !important; padding: 0 !important; background: rgba(26, 44, 77, .72) !important; }
.comparison-admin-add-end-button { width: 26px; height: 26px; margin: auto; border-radius: 50%; background: #2759a8; color: white; font-size: 1.1rem; font-weight: 900; }
.comparison-admin-inline-input { width: min(190px, 100%); min-height: 34px !important; padding: 5px 7px !important; border-radius: 6px !important; }
.comparison-admin-simple-table [data-comparison-column] { position: relative; }
.comparison-admin-simple-table [data-comparison-row] { position: relative; }
.comparison-admin-simple-table [data-comparison-row]:hover,
.comparison-admin-simple-table [data-comparison-column]:hover { outline: 1px solid rgba(121, 174, 255, .34); outline-offset: -1px; }
.comparison-admin-simple-table td { text-align: center; }
.comparison-admin-cell-preview { min-height: 22px; margin-bottom: 4px; color: rgba(244, 247, 255, .95); font-weight: 700; line-height: 1.2; }
.comparison-admin-simple-table [data-cell-manual="1"] .comparison-admin-cell-preview { display: none; }
.comparison-admin-cell-controls { display: flex; align-items: center; justify-content: center; gap: 4px; }
.comparison-admin-cell-controls select { width: 74px; min-height: 27px !important; padding: 2px 4px !important; border-radius: 5px !important; font-size: .68rem; }
.comparison-admin-cell-controls input[type="text"] { width: min(132px, 100%); min-height: 27px !important; padding: 3px 5px !important; border-radius: 5px !important; font-size: .68rem; }
.comparison-admin-cell-controls input[readonly] { opacity: .72; }
.comparison-admin-cell-check { display: inline-flex; align-items: center; gap: 2px; color: #9ff0c9; font-size: .72rem; font-weight: 800; }
.comparison-admin-cell-check input { width: 16px; height: 16px; margin: 0; accent-color: #39c980; }
.comparison-admin-simple-table [data-comparison-column].is-recommended,
.comparison-admin-simple-table [data-comparison-cell].is-recommended { background: linear-gradient(180deg, rgba(63, 112, 205, .36), rgba(31, 70, 137, .23)); }
.comparison-admin-simple-table .is-hidden-column,
.comparison-admin-simple-table .is-hidden-row { opacity: .56; }
.auth-form .comparison-admin-drag-tab,
.auth-form .comparison-admin-pencil,
.auth-form .comparison-admin-delete,
.auth-form .comparison-admin-recommended-toggle,
.auth-form .comparison-admin-add-between,
.auth-form .comparison-admin-add-end-button { width: auto; min-width: 0; min-height: 0; padding: 0; border-radius: 6px; font: inherit; font-weight: 800; transform: none; }
.auth-form .comparison-admin-drag-tab { width: 22px; min-width: 22px; height: 22px; min-height: 22px; }
.auth-form .comparison-admin-pencil,
.auth-form .comparison-admin-delete { width: 22px; min-width: 22px; height: 22px; min-height: 22px; }
.auth-form .comparison-admin-recommended-toggle { width: 22px; min-width: 22px; height: 22px; min-height: 22px; border: 0; background: transparent; }
.auth-form .comparison-admin-add-between { width: 22px; min-width: 22px; height: 22px; min-height: 22px; }
.auth-form .comparison-admin-add-end-button { width: 26px; min-width: 26px; height: 26px; min-height: 26px; }
.auth-form .comparison-admin-drag-tab:hover,
.auth-form .comparison-admin-drag-tab:focus-visible,
.auth-form .comparison-admin-pencil:hover,
.auth-form .comparison-admin-pencil:focus-visible { background: rgba(65, 123, 220, .28); color: white; }
.auth-form .comparison-admin-delete:hover,
.auth-form .comparison-admin-delete:focus-visible { background: rgba(176, 50, 65, .32); color: white; }
.auth-form .comparison-admin-add-between:hover,
.auth-form .comparison-admin-add-between:focus-visible,
.auth-form .comparison-admin-add-end-button:hover,
.auth-form .comparison-admin-add-end-button:focus-visible { background: #3a75d5; color: white; }
.website-care-plan-simple-list { display: grid; gap: 8px; }
.website-care-plan-simple-row { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(140px, 220px) auto auto; align-items: end; gap: 10px; padding: 10px 12px; border: 1px solid rgba(151, 191, 255, .2); border-radius: 11px; background: rgba(15, 27, 48, .7); }
.website-care-plan-simple-row.is-archived { opacity: .58; }
.website-care-plan-simple-row label { display: grid; gap: 4px; margin: 0; color: var(--ink); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.website-care-plan-simple-row input { min-height: 38px; }
.website-care-plan-simple-actions { display: flex; gap: 6px; }
.website-care-plan-simple-actions button { width: auto; min-height: 38px; padding: 0 11px; }
.website-care-plan-archived-label { color: #ffb2b7; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
@media (max-width: 760px) {
    .comparison-admin-simple-table { min-width: 820px; }
    .website-care-plan-simple-row { grid-template-columns: 1fr 1fr; }
    .website-care-plan-simple-actions { grid-column: 1 / -1; }
    .website-care-plan-archived-label { grid-column: 1 / -1; }
}

/* Keep the editable grid at the same width as the admin content. */
.comparison-admin-table-scroll { overflow-x: visible; overflow-y: visible; }
.comparison-admin-simple-table { width: 100%; min-width: 0; table-layout: fixed; }
.comparison-admin-simple-table th,
.comparison-admin-simple-table td { min-width: 0; }
.comparison-admin-simple-table .comparison-admin-feature-heading,
.comparison-admin-simple-table .comparison-admin-row-label-cell { width: 28%; min-width: 0; }
.comparison-admin-simple-header { position: static; }
.comparison-admin-simple-table [data-comparison-column] { position: relative; overflow: visible; }
.comparison-admin-simple-table .comparison-admin-row-label-cell { position: sticky; }
.comparison-admin-simple-row-label { position: static; }
.comparison-admin-row-add { right: -12px; }
.comparison-admin-cell-controls { flex-wrap: wrap; }
.comparison-admin-cell-controls select { width: min(120px, 100%); }
.comparison-admin-cell-controls input[type="text"] { flex: 1 1 100px; width: min(160px, 100%); min-width: 82px; }
.comparison-admin-feature-heading-inner { display: flex; align-items: center; justify-content: center; gap: 6px; }
.comparison-admin-feature-heading-inner .comparison-admin-inline-input { width: min(150px, 100%); }
@media (max-width: 760px) {
    .comparison-admin-table-scroll { overflow-x: auto; }
    .comparison-admin-simple-table { min-width: 0; }
    .comparison-admin-simple-table .comparison-admin-feature-heading,
    .comparison-admin-simple-table .comparison-admin-row-label-cell { width: 28%; min-width: 0; }
}

.revenue-chart-time-toggle {
    display: grid;
    gap: 10px;
    margin-bottom: 16px;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
}

.revenue-chart-time-toggle-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.revenue-chart-time-toggle .button.is-active {
    background: linear-gradient(180deg, rgb(63, 129, 219), rgb(36, 83, 154));
    border-color: rgba(214, 235, 255, 0.32);
    color: white;
}

.revenue-section {
    display: grid;
    gap: 14px;
}

.revenue-section[hidden] {
    display: none;
}

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

.revenue-mode-banner {
    display: grid;
    gap: 6px;
    padding: 18px 20px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
}

.revenue-mode-banner h4 {
    margin: 0;
    color: white;
    font-size: 1.5rem;
}

.revenue-mode-banner p:last-child {
    margin-bottom: 0;
}

.revenue-mode-banner-actuals {
    background: linear-gradient(135deg, rgba(77, 145, 255, 0.18), rgba(28, 45, 88, 0.34));
}

.revenue-mode-banner-forecast {
    background: linear-gradient(135deg, rgba(255, 198, 94, 0.16), rgba(88, 54, 22, 0.32));
}

.revenue-mode-banner-simulator {
    background: linear-gradient(135deg, rgba(117, 255, 194, 0.16), rgba(17, 79, 66, 0.32));
}

.revenue-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
    gap: 14px;
}

.revenue-kpi-grid .order-item h4 {
    margin: 2px 0 4px;
    font-size: 1.7rem;
    color: white;
}

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

.revenue-forecast-grid {
    display: grid;
    gap: 14px;
}

.revenue-forecast-block {
    display: grid;
    gap: 14px;
}

.revenue-chart-card {
    margin: 0;
}

.revenue-chart-shell {
    display: grid;
    gap: 10px;
    margin-top: 10px;
}

.revenue-line-chart {
    width: 100%;
    height: auto;
    min-height: 220px;
    border-radius: 20px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01)),
        rgba(8, 12, 18, 0.28);
}

.revenue-line-chart-area {
    fill: rgba(92, 154, 255, 0.18);
}

.revenue-line-chart-line {
    fill: none;
    stroke: rgb(114, 176, 255);
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.revenue-line-chart-area-simulation {
    fill: rgba(117, 255, 194, 0.14);
}

.revenue-line-chart-line-simulation {
    stroke: rgb(117, 255, 194);
}

.revenue-line-chart-area-future {
    fill: rgba(255, 198, 94, 0.14);
}

.revenue-line-chart-line-future {
    stroke: rgb(255, 198, 94);
}

.revenue-line-chart-area-trend {
    fill: rgba(255, 156, 117, 0.14);
}

.revenue-line-chart-line-trend {
    stroke: rgb(255, 156, 117);
}

.revenue-chart-label-row {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 8px;
    color: rgba(219, 226, 245, 0.58);
    font-size: 0.78rem;
    text-align: center;
}

.revenue-volume-chart {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
    min-height: 220px;
    margin-top: 12px;
}

.revenue-volume-group {
    display: grid;
    gap: 8px;
    justify-items: center;
}

.revenue-volume-bars {
    display: flex;
    align-items: end;
    gap: 6px;
    min-height: 180px;
}

.revenue-volume-bar {
    display: block;
    width: 14px;
    min-height: 10px;
    border-radius: 999px 999px 4px 4px;
}

.revenue-volume-bar-orders {
    background: linear-gradient(180deg, rgba(117, 255, 194, 0.94), rgba(54, 155, 118, 0.92));
}

.revenue-volume-bar-quotes {
    background: linear-gradient(180deg, rgba(114, 176, 255, 0.96), rgba(42, 93, 188, 0.92));
}

.revenue-volume-bar-future {
    background: linear-gradient(180deg, rgba(255, 214, 129, 0.96), rgba(189, 131, 28, 0.92));
}

.revenue-volume-label {
    color: rgba(219, 226, 245, 0.58);
    font-size: 0.78rem;
}

.revenue-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 12px;
    color: rgba(219, 226, 245, 0.74);
}

.revenue-chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.revenue-legend-swatch {
    width: 12px;
    height: 12px;
    border-radius: 999px;
}

.revenue-legend-orders {
    background: rgb(117, 255, 194);
}

.revenue-legend-quotes {
    background: rgb(114, 176, 255);
}

.revenue-legend-future {
    background: rgb(255, 198, 94);
}

.revenue-simulator-card {
    margin-top: 4px;
}

.revenue-empty-state {
    padding: 18px 20px;
    border: 1px dashed rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.03);
}

.revenue-simulator-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.revenue-preset-button.is-active {
    background: linear-gradient(180deg, rgb(63, 129, 219), rgb(36, 83, 154));
    border-color: rgba(214, 235, 255, 0.32);
    color: white;
}

.revenue-simulator-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.revenue-simulator-grid label {
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.03);
}

.revenue-simulator-grid input[type="range"] {
    width: 100%;
}

.revenue-simulation-kpis {
    margin-top: 14px;
}

.revenue-simulation-chart-shell {
    margin-top: 16px;
}

.revenue-simulator-insight {
    margin-top: 16px;
    padding: 14px 16px;
    border: 1px solid rgba(117, 255, 194, 0.18);
    border-radius: 18px;
    background: rgba(117, 255, 194, 0.06);
    color: rgba(233, 242, 255, 0.86);
}

.revenue-simulation-table {
    display: grid;
    gap: 10px;
    margin-top: 16px;
    max-height: 520px;
    overflow: auto;
}

.revenue-simulation-row {
    display: grid;
    grid-template-columns: 1.1fr 1fr 1fr 1fr;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.025);
    color: rgba(219, 226, 245, 0.8);
}

.client-dashboard-grid {
    width: min(100%, 960px);
    margin: 0 auto;
}

.client-tool-panel {
    width: min(100%, 960px);
}

.client-secrets-panel,
.client-secret-admin-vault {
    display: grid;
    gap: 18px;
}

.client-secret-card {
    display: grid;
    gap: 12px;
}

.client-secret-environment-tabs {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    align-items: center;
}

.client-secret-environment-tab {
    display: inline-flex;
    width: auto !important;
    min-height: 36px !important;
    padding: .45rem .85rem !important;
    border: 1px solid rgba(124, 182, 255, .4) !important;
    border-radius: .45rem !important;
    background: transparent !important;
    color: var(--ink) !important;
    text-decoration: none;
    align-items: center;
    justify-content: center;
}

.client-secret-environment-tab.is-active,
.client-secret-environment-tab:hover,
.client-secret-environment-tab:focus-visible {
    background: rgba(124, 182, 255, .16) !important;
    border-color: rgba(124, 182, 255, .75) !important;
}

/* Sandbox and Live remain within the New Tab blue system; the labels provide the explicit distinction. */
.client-secret-environment-tab[data-request-environment="sandbox"],
.client-secret-environment-tab[data-environment-tab="sandbox"] {
    border-color: rgba(103, 199, 255, .55) !important;
}

.client-secret-environment-tab[data-request-environment="sandbox"].is-active,
.client-secret-environment-tab[data-environment-tab="sandbox"].is-active,
.client-secret-environment-tab[data-request-environment="sandbox"]:hover,
.client-secret-environment-tab[data-environment-tab="sandbox"]:hover,
.client-secret-environment-tab[data-request-environment="sandbox"]:focus-visible,
.client-secret-environment-tab[data-environment-tab="sandbox"]:focus-visible {
    background: rgba(103, 199, 255, .16) !important;
    border-color: rgba(103, 199, 255, .9) !important;
}

.client-secret-environment-tab[data-request-environment="live"],
.client-secret-environment-tab[data-environment-tab="live"] {
    border-color: rgba(53, 110, 219, .7) !important;
}

.client-secret-environment-tab[data-request-environment="live"].is-active,
.client-secret-environment-tab[data-environment-tab="live"].is-active,
.client-secret-environment-tab[data-request-environment="live"]:hover,
.client-secret-environment-tab[data-environment-tab="live"]:hover,
.client-secret-environment-tab[data-request-environment="live"]:focus-visible,
.client-secret-environment-tab[data-environment-tab="live"]:focus-visible {
    background: rgba(53, 110, 219, .22) !important;
    border-color: rgba(53, 110, 219, .95) !important;
}

.client-secret-request-admin-panel.client-secret-env-sandbox,
.client-secret-request-readonly.client-secret-env-sandbox,
.client-secret-request-group.client-secret-env-sandbox {
    --client-secret-environment-accent: rgb(103, 199, 255);
    --client-secret-environment-surface: rgba(103, 199, 255, .06);
    border-left: 3px solid rgba(103, 199, 255, .85);
}

.client-secret-request-admin-panel.client-secret-env-live,
.client-secret-request-readonly.client-secret-env-live,
.client-secret-request-group.client-secret-env-live {
    --client-secret-environment-accent: rgb(53, 110, 219);
    --client-secret-environment-surface: rgba(53, 110, 219, .09);
    border-left: 3px solid rgba(53, 110, 219, .95);
}

.client-secret-request-readonly.client-secret-env-sandbox,
.client-secret-request-readonly.client-secret-env-live,
.client-secret-request-group.client-secret-env-sandbox,
.client-secret-request-group.client-secret-env-live {
    background: var(--client-secret-environment-surface);
}

.client-secret-request-group {
    padding: .65rem .75rem .8rem;
    border-radius: .55rem;
}

.client-secret-environment-badge {
    display: inline-block;
    color: var(--client-secret-environment-accent, var(--ink-soft));
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.client-secret-legacy-requests {
    display: grid;
    gap: .65rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--line-soft);
}

.client-secret-legacy-requests h5,
.client-secret-legacy-requests h6 {
    margin: 0;
}

.client-secret-request-create-tabs {
    margin: .9rem 0 .35rem;
}

.client-secret-request-readonly {
    display: grid;
    gap: .9rem;
    margin-top: 1rem;
}

.client-secret-request-readonly-header,
.client-secret-request-service-summary,
.client-secret-request-secret-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
}

.client-secret-request-readonly-header h6 {
    margin: 0;
    font-size: 1rem;
}

.client-secret-request-readonly-service {
    display: grid;
    gap: .65rem;
    padding: .8rem;
    border: 1px solid rgba(124, 182, 255, .18);
    border-radius: .55rem;
}

.client-secret-request-secret-row {
    padding: .45rem 0;
    border-top: 1px solid rgba(143, 173, 223, .12);
}

.client-secret-request-secret-row p {
    margin: .2rem 0 0;
}

.client-secret-request-secret-row code {
    letter-spacing: .08em;
    overflow-wrap: anywhere;
}

.client-secret-inline-actions {
    display: inline-flex;
    gap: .35rem;
    align-items: center;
}

.client-secret-inline-action {
    display: inline-grid;
    width: 2.15rem !important;
    min-width: 2.15rem !important;
    min-height: 2.15rem !important;
    padding: 0 !important;
    place-items: center;
    border: 1px solid rgba(124, 182, 255, .45) !important;
    border-radius: .4rem !important;
    background: transparent !important;
    color: var(--ink) !important;
}

.client-secret-inline-action:hover,
.client-secret-inline-action:focus-visible {
    background: rgba(124, 182, 255, .16) !important;
}

.client-secret-inline-feedback {
    flex: 1 1 100%;
}

.client-secret-service-status-form {
    margin-top: .35rem;
}

.client-secret-request-panel,
.client-secret-request-service,
.client-secret-request-builder-service,
.client-secret-request-builder-field,
.client-secret-request-field {
    margin-top: 1rem;
}

.client-secret-request-service > summary {
    cursor: pointer;
    display: flex;
    gap: .75rem;
    align-items: center;
    flex-wrap: wrap;
}

.client-secret-request-builder-service,
.client-secret-request-builder-field {
    padding: .85rem;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: .6rem;
}

.client-secret-request-builder-service {
    display: grid;
    gap: .75rem;
}

.client-secret-request-delete-confirm {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
}

.client-secret-request-delete-confirm label {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin: 0;
}

.client-secret-request-delete-confirm input[type="checkbox"] {
    width: auto;
}

.client-secret-request-delete-form {
    display: grid;
    gap: .55rem;
    margin-top: .75rem;
}

.client-secret-editor-header {
    display: flex;
    gap: .65rem;
    align-items: center;
    flex-wrap: wrap;
}

.client-secret-editor-header label {
    margin: 0;
    flex: 0 0 auto;
}

.client-secret-editor-header > select,
.client-secret-editor-header > input[type="text"] {
    min-width: 0;
    flex: 1 1 220px;
}

.client-secret-editor-header > .editor-remove-control {
    margin-left: auto;
}

.client-secret-field-row {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) auto auto auto;
    gap: .65rem;
    align-items: center;
}

.client-secret-field-row label {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    margin: 0;
    white-space: nowrap;
    font-size: .86rem;
}

.client-secret-field-row input[type="checkbox"] {
    width: auto;
}

.field-help-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.field-help {
    display: inline-grid;
    width: 1.1rem;
    height: 1.1rem;
    min-height: 1.1rem !important;
    padding: 0 !important;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: transparent !important;
    color: currentColor !important;
    cursor: help;
    font-size: .7rem;
    font-weight: 800 !important;
    opacity: .72;
}

.field-help:hover,
.field-help:focus-visible {
    opacity: 1;
    outline: 2px solid rgba(124, 182, 255, .45);
    outline-offset: 2px;
}

.field-help-popover {
    position: fixed;
    z-index: 20;
    top: 0;
    left: 0;
    width: min(320px, calc(100vw - 32px));
    max-width: calc(100vw - 32px);
    max-height: min(220px, calc(100vh - 32px));
    padding: .65rem .75rem;
    border: 1px solid rgba(124, 182, 255, .42);
    border-radius: .45rem;
    background: rgb(22, 28, 40);
    color: rgb(241, 246, 255);
    box-shadow: 0 12px 30px rgba(5, 12, 28, .38);
    font-size: .78rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
    overflow: auto;
}

.field-help-popover[aria-hidden="true"] {
    display: none;
}

.editor-remove-control,
.builder-context-control,
.builder-save-control {
    width: auto !important;
    min-width: 0;
    min-height: 34px !important;
    padding: .35rem .7rem !important;
    border-radius: .45rem !important;
    font-size: .86rem !important;
    line-height: 1;
}

.editor-remove-control {
    width: 34px !important;
    padding: 0 !important;
    border: 1px solid rgba(214, 79, 100, .45) !important;
    background: transparent !important;
    color: #e7788b !important;
}

.editor-remove-control:hover,
.editor-remove-control:focus-visible {
    background: rgba(214, 79, 100, .16) !important;
    color: #fff !important;
}

.builder-context-control {
    border: 1px dashed rgba(124, 182, 255, .55) !important;
    background: transparent !important;
    color: var(--ink) !important;
}

.builder-save-control {
    background: var(--accent) !important;
    color: #fff !important;
}

.client-secret-builder .client-secret-builder-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
}

.client-secret-instruction-editor {
    display: grid;
    gap: .55rem;
    margin: .25rem 0 0;
    padding: .7rem;
    border: 1px solid rgba(124, 182, 255, .18);
    border-radius: .5rem;
}

.client-secret-instruction-editor legend {
    padding: 0 .3rem;
    font-weight: 700;
}

.instruction-source-panel {
    display: grid;
    gap: .4rem;
}

.instruction-source-panel[hidden] {
    display: none !important;
}

.instruction-security-note {
    margin: 0;
    color: rgba(219, 226, 245, .72);
    font-size: .78rem;
}

.client-secret-guidance {
    margin: .7rem 0;
    padding: .8rem;
    border-left: 3px solid rgba(124, 182, 255, .65);
    background: rgba(124, 182, 255, .08);
}

.client-secret-guidance p {
    margin: .25rem 0 .55rem;
}

.client-secret-guidance-link {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: .35rem .7rem;
    border: 1px solid rgba(124, 182, 255, .4);
    border-radius: .45rem;
    color: var(--ink);
    font-weight: 700;
}

.instruction-guide-hero,
.instruction-guide-section {
    max-width: 1120px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

.instruction-guide-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, .8fr);
    gap: 28px;
    align-items: start;
}

.instruction-guide-card {
    max-width: 760px;
}

.instruction-guide-card li {
    margin: .75rem 0;
}

@media (max-width: 720px) {
    .client-secret-editor-header {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .client-secret-editor-header > label,
    .client-secret-editor-header > select,
    .client-secret-editor-header > input[type="text"] {
        grid-column: 1 / -1;
    }

    .client-secret-field-row,
    .instruction-guide-hero {
        grid-template-columns: 1fr;
    }

    .client-secret-field-row .editor-remove-control {
        justify-self: start;
    }

    .client-secret-builder .client-secret-builder-actions {
        justify-content: flex-start;
    }
}

.client-secret-card code {
    font-size: 0.95rem;
    letter-spacing: 0.08em;
    word-break: break-all;
}

.client-secret-card details {
    width: 100%;
}

.client-secret-card details > summary {
    cursor: pointer;
}

.client-secret-replace-form {
    margin-top: 14px;
}

.client-secret-add-panel {
    margin-top: 4px;
}

.client-secret-admin-vault {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(143, 173, 223, 0.18);
}

.client-secret-admin-vault [data-secret-output] {
    white-space: pre-wrap;
}

.admin-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
}

.admin-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.admin-filter-field {
    display: grid;
    grid-template-columns: minmax(110px, 132px) minmax(0, 1fr);
    gap: 10px;
    align-items: end;
}

.admin-filter-mode {
    min-width: 0;
}

.admin-filter-grid > div,
.admin-filter-grid > .admin-filter-actions {
    min-width: 0;
}

.admin-filter-grid > .admin-filter-actions {
    grid-column: 1 / -1;
    align-items: center;
    justify-content: flex-start;
    margin-top: 2px;
}

.admin-filter-grid .admin-filter-actions .button,
.admin-filter-grid .admin-filter-actions button {
    min-width: 160px;
}

.account-view-actions {
    margin-bottom: 6px;
}

.admin-results-meta {
    margin: 0;
    color: rgba(219, 226, 245, 0.72);
}

.admin-order-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 8px;
}

.button-disabled,
.button.button-disabled,
.button.button-secondary.button-disabled {
    pointer-events: none;
    opacity: 0.45;
    filter: saturate(0.7);
    box-shadow: none;
    cursor: not-allowed;
}

.admin-edit-decision-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}

.admin-edit-decision-form {
    margin: 0;
}

.admin-edit-decision-button {
    width: 100%;
    min-height: 54px;
    box-shadow: 0 14px 28px rgba(7, 14, 32, 0.18);
}

.admin-membership-badge-no-hosting {
    border-color: rgba(255, 176, 108, 0.34);
    background: rgba(142, 88, 22, 0.22);
    color: rgb(255, 216, 168);
}

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

.account-settings-photo-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

.account-photo-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background:
        radial-gradient(circle at top right, rgba(121, 171, 255, 0.2), transparent 50%),
        rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.92);
    font-family: "Sora", sans-serif;
    font-size: 1rem;
    font-weight: 800;
    flex: 0 0 auto;
}

.account-photo-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.account-photo-avatar-large {
    width: 92px;
    height: 92px;
    font-size: 1.55rem;
}

.admin-subheading {
    margin: 4px 0 0;
    font-family: "Sora", sans-serif;
    font-size: 1rem;
    color: var(--ink);
}

.account-membership-row {
    margin-top: 6px;
    margin-bottom: 6px;
}

.delete-account-form {
    margin-top: 6px;
}

.consultation-toolbar {
    display: grid;
    gap: 14px;
}

.consultation-link-button {
    justify-self: start;
}

.consultation-status-form {
    margin-top: 8px;
}

.order-shell {
    width: min(96vw, 1500px);
    margin: 0 auto;
    display: grid;
    gap: 18px;
}

.order-page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 4px;
}

.order-reference-button {
    min-width: 180px;
}

.order-flow-shell {
    display: grid;
    gap: 0;
    padding: 24px 28px 28px;
}

.order-flow-header {
    position: relative;
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 16px 24px;
    min-height: 132px;
}

.order-flow-header > div {
    display: grid;
    gap: 8px;
    flex: 1 1 auto;
}

.order-flow-title-row {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: end;
    gap: 14px 24px;
}

.order-flow-project-type {
    display: grid;
    gap: 6px;
    width: min(380px, calc(100% - 64px));
    position: absolute;
    left: 50%;
    top: 18px;
    transform: translateX(calc(-50% + 150px));
    margin: 0;
}

.order-flow-project-type label {
    margin: 0;
}

.order-flow-project-type select {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    padding: 0 44px 0 16px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(28, 39, 67, 0.98) 0%, rgba(20, 28, 48, 0.98) 100%);
    color: var(--ink);
    font: inherit;
    line-height: 1.35;
    color-scheme: dark;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image:
        linear-gradient(180deg, rgba(28, 39, 67, 0.98) 0%, rgba(20, 28, 48, 0.98) 100%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10' fill='none'%3E%3Cpath d='M2 2.25L7 7.25L12 2.25' stroke='%23dbe2f5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat, no-repeat;
    background-position: 0 0, right 16px center;
    background-size: auto, 14px 10px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    cursor: pointer;
}

.order-flow-project-type select:hover {
    border-color: rgba(124, 182, 255, 0.34);
    background-image:
        linear-gradient(180deg, rgba(31, 44, 75, 0.98) 0%, rgba(23, 32, 56, 0.98) 100%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10' fill='none'%3E%3Cpath d='M2 2.25L7 7.25L12 2.25' stroke='%23f0f5ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.order-flow-project-type select:focus,
.order-flow-project-type select:focus-visible {
    outline: none;
    border-color: rgba(124, 182, 255, 0.46);
    box-shadow:
        0 0 0 3px rgba(104, 164, 255, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.order-flow-header h3,
.order-step-card-header h4,
.order-submit-copy h4 {
    margin: 0;
}

.order-flow-header p,
.order-step-card-header p,
.order-submit-copy p {
    margin: 0;
}

.order-flow-picker-note {
    color: rgba(134, 170, 255, 0.84);
}

.order-flow-header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    flex: 0 0 auto;
}

@media (max-width: 980px) {
    .order-flow-header {
        min-height: 0;
    }

    .order-flow-project-type {
        position: static;
        width: min(100%, 380px);
        transform: none;
    }
}

.order-step-card {
    display: grid;
    gap: 0;
    position: relative;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.order-step-card + .order-step-card {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.order-step-card + .order-step-card::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: min(180px, 24%);
    height: 1px;
    background: linear-gradient(90deg, rgba(98, 151, 255, 0.88), rgba(98, 151, 255, 0));
    pointer-events: none;
}

.order-accordion-header {
    width: 100%;
    padding: 16px 0;
    border: 0;
    background: transparent;
    color: inherit;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    text-align: left;
    cursor: pointer;
}

.order-accordion-header-main {
    display: grid;
    gap: 8px;
}

.order-accordion-step-index {
    color: rgba(134, 170, 255, 0.96);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.order-accordion-step-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.order-accordion-step-title {
    font-size: 1.18rem;
    font-weight: 800;
    color: var(--ink);
}

.order-accordion-step-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(219, 226, 245, 0.78);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.order-accordion-step-state.is-current {
    border-color: rgba(109, 167, 255, 0.34);
    background: rgba(64, 110, 194, 0.2);
    color: rgba(234, 242, 255, 0.98);
}

.order-accordion-step-state.is-complete {
    border-color: rgba(112, 198, 161, 0.34);
    background: rgba(68, 132, 104, 0.18);
    color: rgba(220, 255, 236, 0.98);
}

.order-accordion-step-state.is-attention {
    border-color: rgba(215, 122, 122, 0.38);
    background: rgba(126, 46, 56, 0.22);
    color: rgba(255, 222, 226, 0.98);
}

.order-accordion-step-summary {
    color: rgba(219, 226, 245, 0.72);
    font-size: 0.96rem;
    line-height: 1.45;
}

.order-accordion-step-indicator {
    width: 14px;
    height: 14px;
    border-right: 2px solid rgba(219, 226, 245, 0.68);
    border-bottom: 2px solid rgba(219, 226, 245, 0.68);
    transform: rotate(45deg);
    transition: transform 180ms ease, opacity 180ms ease;
    opacity: 0.8;
    margin-right: 4px;
}

.order-step-card.is-active .order-accordion-step-indicator {
    transform: rotate(-135deg);
}

.order-step-card.is-collapsed .order-accordion-step-indicator {
    transform: rotate(45deg);
}

.order-accordion-body {
    display: grid;
    gap: 18px;
    padding: 2px 0 24px;
}

[data-order-accordion-body][hidden] {
    display: none !important;
}

.order-form [hidden] {
    display: none !important;
}

[data-order-redesign-cta][hidden] {
    display: none !important;
}

.order-step-card.is-active .order-accordion-header {
    padding-bottom: 12px;
}

.order-step-card-header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px 18px;
}

.order-step-card-header > div {
    display: grid;
    gap: 6px;
}

.order-step-card-features .summary-note,
.order-step-card .summary-note {
    color: rgba(219, 226, 245, 0.74);
}

.order-step-card-submit {
    padding: 0;
    margin-top: 6px;
}

.order-step-card.is-collapsed .order-step-card-header {
    display: none;
}

.order-step-card.is-active .order-step-card-header {
    display: flex;
}

.order-roadmap-preview-header {
    display: grid;
    gap: 10px;
}

.order-roadmap-preview-header h3,
.order-roadmap-preview-detail h4 {
    margin: 0;
}

.order-roadmap-preview-selection {
    font-size: 0.94rem;
    color: rgba(219, 226, 245, 0.84);
}

.order-roadmap-preview-list {
    display: grid;
    gap: 8px;
}

.order-roadmap-step-card {
    display: grid;
    gap: 0;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
    overflow: hidden;
    transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.order-roadmap-step-card.is-active {
    border-color: rgba(132, 174, 255, 0.46);
    background: linear-gradient(180deg, rgba(53, 93, 168, 0.18), rgba(255, 255, 255, 0.02));
    box-shadow: inset 0 0 0 1px rgba(132, 174, 255, 0.12);
}

.order-roadmap-step-button {
    display: grid;
    gap: 6px;
    justify-items: start;
    width: 100%;
    padding: 12px 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    text-align: left;
    transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.order-roadmap-step-button:hover,
.order-roadmap-step-button:focus-visible {
    background: rgba(255, 255, 255, 0.05);
    transform: translateY(-1px);
}

.order-roadmap-step-button.is-active {
    background: transparent;
    box-shadow: none;
}

.order-roadmap-step-number {
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(219, 226, 245, 0.58);
}

.order-roadmap-step-button strong {
    font-size: 0.96rem;
}

.order-roadmap-step-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.order-roadmap-step-badge.is-neutral {
    background: rgba(255, 255, 255, 0.08);
    color: rgba(232, 237, 251, 0.84);
}

.order-roadmap-step-badge.is-charge {
    background: rgba(190, 128, 46, 0.18);
    color: rgba(255, 227, 181, 0.9);
}

.order-roadmap-step-badge.is-success {
    background: rgba(75, 166, 112, 0.18);
    color: rgba(201, 255, 221, 0.9);
}

.order-roadmap-step-detail {
    display: grid;
    gap: 12px;
    padding: 0 14px 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.order-roadmap-step-detail p {
    margin: 0;
}

.order-roadmap-preview-charge {
    display: grid;
    gap: 6px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.order-roadmap-preview-charge strong,
.order-roadmap-preview-charge p {
    margin: 0;
}

.order-roadmap-preview-charge.is-neutral {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

.order-roadmap-preview-charge.is-charge {
    background: rgba(190, 128, 46, 0.12);
    border-color: rgba(214, 161, 91, 0.28);
}

.order-roadmap-preview-charge.is-success {
    background: rgba(75, 166, 112, 0.12);
    border-color: rgba(123, 213, 160, 0.24);
}

.roadmap-public-controls {
    display: grid;
    gap: 14px;
}

.roadmap-public-controls-inline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
}

.roadmap-public-control {
    display: grid;
    gap: 8px;
}

.roadmap-public-controls label {
    font-size: 0.92rem;
    font-weight: 700;
    color: rgba(239, 243, 255, 0.92);
}

.roadmap-public-controls select {
    width: 100%;
    min-height: 54px;
    padding: 0 44px 0 16px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(28, 39, 67, 0.98) 0%, rgba(20, 28, 48, 0.98) 100%);
    color: var(--ink);
    font: inherit;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image:
        linear-gradient(180deg, rgba(28, 39, 67, 0.98) 0%, rgba(20, 28, 48, 0.98) 100%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10' fill='none'%3E%3Cpath d='M2 2.25L7 7.25L12 2.25' stroke='%23dbe2f5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat, no-repeat;
    background-position: 0 0, right 16px center;
    background-size: auto, 14px 10px;
    cursor: pointer;
}

.roadmap-public-controls select:hover {
    border-color: rgba(124, 182, 255, 0.34);
    background-image:
        linear-gradient(180deg, rgba(31, 44, 75, 0.98) 0%, rgba(23, 32, 56, 0.98) 100%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10' fill='none'%3E%3Cpath d='M2 2.25L7 7.25L12 2.25' stroke='%23f0f5ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.roadmap-public-controls select:focus,
.roadmap-public-controls select:focus-visible {
    outline: none;
    border-color: rgba(124, 182, 255, 0.46);
    box-shadow:
        0 0 0 3px rgba(104, 164, 255, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.roadmap-public-actions {
    padding-top: 6px;
    margin-bottom: 12px;
}

.roadmap-public-preview {
    min-height: 100%;
    width: min(100%, 980px);
    margin: 0 auto;
}

.roadmap-public-preview .order-roadmap-preview-header {
    gap: 6px;
}

.roadmap-public-preview .order-roadmap-preview-list {
    margin-top: 0;
}

.auth-card {
    display: grid;
    gap: 18px;
}

.auth-card > .contact-card,
.contact-card > .contact-card,
.contact-card > .workflow-panel,
.contact-card > .order-item,
.contact-card > .order-pricing,
.contact-card > .payment-embed-shell,
.contact-card > .agreement-viewer,
.contact-card > .contact-direct,
.contact-card > .page-inventory-item,
.workflow-panel > .payment-embed-shell,
.workflow-panel > .agreement-viewer,
.workflow-panel > .page-inventory-item,
.workflow-panel > .order-pricing,
.order-item > .workflow-panel,
.order-item > .order-pricing,
.order-item > .payment-embed-shell,
.order-item > .agreement-viewer,
.order-item > .page-inventory-item,
.site-modal-card > .workflow-panel,
.site-modal-card > .order-pricing,
.site-modal-card > .payment-embed-shell,
.site-modal-card > .agreement-viewer {
    margin-top: 22px;
    padding: 20px 0 0;
    border: 0;
    border-top: 1px solid var(--line-faint);
    border-radius: 0;
    background: var(--surface-flat);
    box-shadow: none;
}

.auth-card > .contact-card:first-child,
.contact-card > .contact-card:first-child,
.contact-card > .workflow-panel:first-child,
.contact-card > .order-item:first-child,
.contact-card > .order-pricing:first-child,
.contact-card > .payment-embed-shell:first-child,
.contact-card > .agreement-viewer:first-child,
.contact-card > .contact-direct:first-child,
.contact-card > .page-inventory-item:first-child,
.workflow-panel > .payment-embed-shell:first-child,
.workflow-panel > .agreement-viewer:first-child,
.workflow-panel > .page-inventory-item:first-child,
.workflow-panel > .order-pricing:first-child,
.order-item > .workflow-panel:first-child,
.order-item > .order-pricing:first-child,
.order-item > .payment-embed-shell:first-child,
.order-item > .agreement-viewer:first-child,
.order-item > .page-inventory-item:first-child,
.site-modal-card > .workflow-panel:first-child,
.site-modal-card > .order-pricing:first-child,
.site-modal-card > .payment-embed-shell:first-child,
.site-modal-card > .agreement-viewer:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.order-form-card p {
    margin: 0;
}

.order-form-card h3,
.order-templates-panel h3,
.order-summary-panel h3 {
    margin: 0;
}

.auth-form {
    display: grid;
    gap: 12px;
}

.auth-form > * {
    min-width: 0;
}

.order-form {
    display: grid;
    gap: 0;
}

.order-form[data-accordion-boot="pending"] .order-step-card:not(:first-of-type) > :not(.order-step-card-header) {
    display: none;
}

.order-form[data-accordion-boot="pending"] .order-step-card-submit {
    display: none;
}

.order-form[data-accordion-boot="pending"][data-project-type-empty="true"] .order-step-card {
    display: none;
}

.order-form-grid-compact {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px 18px;
    align-items: start;
}

.order-form-field-block {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.order-col-2 {
    grid-column: span 2;
}

.order-col-3 {
    grid-column: span 3;
}

.order-col-4 {
    grid-column: span 4;
}

.order-col-5 {
    grid-column: span 5;
}

.order-col-6 {
    grid-column: span 6;
}

.order-col-8 {
    grid-column: span 8;
}

.order-col-12 {
    grid-column: 1 / -1;
}

.order-form-field-block-full {
    grid-column: 1 / -1;
}

.auth-form input,
.auth-form select,
.auth-form textarea,
.auth-form button {
    width: 100%;
    max-width: 100%;
}

.auth-form input,
.auth-form select,
.auth-form textarea,
.order-form input,
.order-form select,
.order-form textarea {
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--ink);
    font: inherit;
}

.auth-form select,
.order-form select {
    min-height: 54px;
    padding-right: 44px;
    line-height: 1.35;
    color-scheme: dark;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.06)),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10' fill='none'%3E%3Cpath d='M2 2.25L7 7.25L12 2.25' stroke='%23dbe2f5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat, no-repeat;
    background-position: 0 0, right 16px center;
    background-size: auto, 14px 10px;
    cursor: pointer;
}

.auth-form select option,
.auth-form select optgroup,
.order-form select option,
.order-form select optgroup,
.admin-select option,
.admin-select optgroup,
.roadmap-public-controls select option,
.roadmap-public-controls select optgroup,
.pricing-admin-field > select option,
.pricing-admin-field > select optgroup,
.site-modal-field select option,
.site-modal-field select optgroup {
    background: rgb(22, 28, 40);
    color: rgb(241, 246, 255);
    color-scheme: dark;
}

.auth-form select option:checked,
.order-form select option:checked,
.admin-select option:checked,
.roadmap-public-controls select option:checked,
.pricing-admin-field > select option:checked,
.site-modal-field select option:checked {
    background: rgb(52, 86, 148);
    color: rgb(255, 255, 255);
}

.auth-form select:hover,
.order-form select:hover {
    border-color: rgba(124, 182, 255, 0.34);
}

.auth-form select:focus,
.auth-form select:focus-visible,
.order-form select:focus,
.order-form select:focus-visible {
    outline: none;
    border-color: rgba(124, 182, 255, 0.46);
    box-shadow:
        0 0 0 3px rgba(104, 164, 255, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.auth-form input::placeholder,
.auth-form textarea::placeholder,
.order-form input::placeholder,
.order-form textarea::placeholder {
    color: rgba(219, 226, 245, 0.58);
}

.order-form label {
    display: block;
    margin-bottom: 4px;
    font-weight: 700;
    color: var(--ink);
}

.contact-form label,
.auth-form label {
    display: block;
    margin-bottom: 4px;
    font-weight: 700;
    color: var(--ink);
}

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

.form-name-grid > div {
    min-width: 0;
}

[data-support-subcategory-group] {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.auth-form textarea,
.order-form textarea {
    resize: vertical;
    min-height: 130px;
}

.password-peek-field {
    position: relative;
    display: block;
    width: 100%;
}

.password-peek-target {
    padding-right: 58px !important;
}

.password-peek-button {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 32px !important;
    min-width: 32px;
    max-width: 32px;
    height: 32px;
    padding: 2px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgba(219, 226, 245, 0.76);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    cursor: pointer;
    box-shadow: none;
    z-index: 1;
    transition: color 160ms ease, background 160ms ease, transform 160ms ease;
}

.password-peek-button:hover,
.password-peek-button:focus-visible,
.password-peek-field.is-revealed .password-peek-button {
    color: rgba(244, 247, 255, 0.98);
    background: rgba(255, 255, 255, 0.08);
}

.password-peek-button:focus-visible {
    outline: 2px solid rgba(104, 164, 255, 0.4);
    outline-offset: 2px;
}

.password-peek-button svg {
    width: 18px;
    height: 18px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.order-sidebar {
    display: grid;
    gap: 20px;
    align-content: start;
}

.order-templates-panel,
.order-summary-panel {
    align-content: start;
    position: sticky;
    top: 120px;
}

.order-form-card,
.order-templates-panel {
    width: 100%;
    align-self: start;
}

.order-form-card {
    gap: 10px;
}

.order-form-card-limited {
    width: 100%;
    max-height: none;
    overflow: visible;
}

.order-form-card-wide {
    padding: 22px;
}

.order-form-card-limited > form {
    overflow: visible;
    padding-right: 0;
}

.order-form {
    gap: 16px;
}

.order-form-grid-primary,
.order-form-grid-service,
.order-form-grid-final,
.order-form-grid-bottom {
    align-items: start;
}

.order-form-grid-compact {
    gap: 16px 18px;
}

.order-type-group,
.hosting-plan-group {
    align-content: start;
}

.order-care-plan-native-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.order-business-name-editor {
    display: grid;
    gap: 6px;
}

.order-business-name-notice {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.order-business-name-notice .auth-helper {
    flex: 1 1 160px;
}

.order-business-name-change {
    width: auto;
    min-width: 112px;
    min-height: 36px;
    padding: 7px 13px;
    font-size: 0.8rem;
}

.hosting-plan-group {
    gap: 8px;
}

.order-package-summary {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border-left: 3px solid rgba(104, 164, 255, 0.72);
    border-radius: 0 14px 14px 0;
    background: linear-gradient(90deg, rgba(64, 111, 198, 0.12), rgba(64, 111, 198, 0.02));
}

.order-package-summary-top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 18px;
}

.order-package-summary-top span {
    color: rgba(219, 226, 245, 0.82);
    font-weight: 700;
}

.order-package-summary p {
    margin: 0;
    color: rgba(219, 226, 245, 0.78);
}

.order-form-section {
    display: grid;
    gap: 8px;
}

.order-form-section-features {
    gap: 10px;
}

.order-submit-panel {
    display: grid;
    justify-items: start;
    gap: 12px;
    padding: 0;
}

.order-submit-copy {
    display: grid;
    gap: 6px;
}

.order-submit-button {
    min-width: 220px;
    align-self: start;
}

.order-accordion-actions {
    display: flex;
    justify-content: flex-start;
    padding-top: 4px;
}

.order-redesign-cta-card,
.order-checkout-summary,
.order-submit-panel-card {
    padding: 18px 20px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(91, 144, 234, 0.06), transparent 32%),
        linear-gradient(180deg, rgba(29, 34, 45, 0.92), rgba(19, 23, 32, 0.96));
}

.order-redesign-cta-card {
    display: grid;
    gap: 10px;
}

.order-redesign-lookup-panel,
.order-redesign-review-panel {
    display: grid;
    gap: 18px;
    padding: 8px 0 0;
}

.order-redesign-lookup-panel[hidden],
.order-redesign-review-panel[hidden] {
    display: none !important;
}

.order-form-grid-redesign {
    align-items: end;
}

.order-redesign-lookup-actions,
.order-redesign-review-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.order-redesign-request-button {
    min-height: 56px;
    padding-inline: 28px;
    font-size: 1rem;
}

.order-redesign-lookup-note {
    margin: 0;
    max-width: 72ch;
    font-size: 1rem;
}

.order-redesign-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
}

.order-redesign-review-item {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(91, 144, 234, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(31, 37, 49, 0.94), rgba(20, 24, 34, 0.98));
}

.order-redesign-review-item strong {
    font-size: 1.05rem;
}

.order-redesign-review-item span,
.order-redesign-review-item p {
    color: rgba(219, 226, 245, 0.82);
}

.order-redesign-review-item p {
    margin: 0;
}

.order-redesign-review-label {
    color: rgba(147, 176, 246, 0.92);
    font-size: 0.76rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 700;
}

.order-redesign-review-item-summary {
    grid-column: 1 / -1;
}

.order-redesign-cta-card h5 {
    margin: 0;
    font-size: 1rem;
}

.order-redesign-cta-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    color: rgba(219, 226, 245, 0.8);
    font-size: 0.92rem;
}

.order-checkout-summary {
    display: grid;
    gap: 14px;
}

.order-checkout-summary-header {
    display: grid;
    gap: 6px;
}

.order-checkout-summary-header h4 {
    margin: 0;
}

.order-checkout-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
}

.order-checkout-summary-item {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
}

@media (max-width: 900px) {
    .order-redesign-review-grid {
        grid-template-columns: 1fr;
    }
}

.order-checkout-summary-label {
    color: rgba(171, 188, 224, 0.82);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.order-inline-field-label {
    margin-bottom: 2px;
}

.order-templates-panel {
    max-height: none;
    overflow: visible;
    position: static;
}

.order-grid-review .order-summary-panel {
    position: static;
}

.order-sidebar-section {
    display: grid;
    gap: 12px;
}

.template-side-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    overflow: visible;
    padding-right: 0;
}

.template-side-card {
    position: relative;
    display: grid;
    align-content: start;
    gap: 8px;
    padding: 16px;
    border: 1px solid var(--line-faint);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01));
    min-height: 0;
}

.template-side-card:hover,
.template-side-card:focus-within {
    z-index: 8;
}

.template-side-card.is-selected {
    border-color: rgba(132, 174, 255, 0.34);
    background: linear-gradient(180deg, rgba(53, 93, 168, 0.14), rgba(255, 255, 255, 0.02));
}

.template-side-card-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
}

.template-side-card-top strong {
    min-width: 0;
}

.template-side-card-top span {
    color: rgba(219, 226, 245, 0.64);
    font-size: 0.86rem;
    text-align: right;
    white-space: normal;
    overflow-wrap: anywhere;
}

.template-side-card-ideal {
    color: rgba(219, 226, 245, 0.78);
    margin: 0;
}

.template-side-card-description,
.template-side-card-ideal {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
}

.template-side-card-description {
    margin: 0;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    line-height: 1.45;
}

.template-side-card-ideal {
    line-clamp: 2;
    -webkit-line-clamp: 2;
    line-height: 1.45;
}

.template-side-hover-preview {
    position: absolute;
    top: 50%;
    right: calc(100% + 18px);
    left: auto;
    width: min(320px, 44vw);
    min-height: 210px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-50%) translateX(-10px) scale(0.98);
    transition: opacity 160ms ease, transform 180ms ease;
    z-index: 20;
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.36);
}

.template-side-card:hover .template-side-hover-preview,
.template-side-card:focus-within .template-side-hover-preview {
    opacity: 1;
    transform: translateY(-50%) translateX(0) scale(1);
}

.order-drafts-panel {
    gap: 20px;
}

.order-drafts-panel-header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 20px;
}

.order-drafts-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.order-draft-card {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--line-faint);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01));
}

.order-draft-card.is-active {
    border-color: rgba(132, 174, 255, 0.34);
    background: linear-gradient(180deg, rgba(53, 93, 168, 0.14), rgba(255, 255, 255, 0.02));
}

.order-draft-card > p {
    margin: 0;
    color: rgba(219, 226, 245, 0.82);
}

.order-draft-summary {
    display: grid;
    gap: 8px;
}

.order-draft-summary p {
    margin: 0;
    color: rgba(219, 226, 245, 0.82);
    line-height: 1.55;
}

.order-draft-card-top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
}

.order-draft-card-heading {
    display: grid;
    gap: 4px;
}

.order-draft-card-heading strong,
.order-draft-card-heading span {
    margin: 0;
}

.order-draft-card-top span {
    color: rgba(219, 226, 245, 0.64);
    font-size: 0.84rem;
}

.order-draft-edit-button {
    border: 0;
    background: transparent;
    color: rgba(219, 226, 245, 0.76);
    font: inherit;
    font-weight: 700;
    padding: 0;
    cursor: pointer;
    white-space: nowrap;
}

.order-draft-edit-button:hover,
.order-draft-edit-button:focus-visible {
    color: var(--ink);
    text-decoration: underline;
}

.order-draft-card-actions {
    display: grid;
    gap: 10px;
}

@media (max-width: 1320px) {
    .order-page-layout {
        grid-template-columns: 1fr;
    }

    .order-page-layout-drawers {
        display: grid;
        gap: 20px;
        padding-inline: 0;
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .roadmap-public-controls-inline {
        grid-template-columns: 1fr;
    }

    .order-roadmap-preview {
        position: static;
    }

    .order-side-drawer {
        position: static;
        width: 100%;
        max-height: none;
        max-width: none;
    }

    .order-side-drawer-panel {
        max-height: none;
        overflow: visible;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        box-shadow: none;
    }

    .order-side-drawer-toggle {
        display: none;
    }

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

    .order-form-grid-compact {
        grid-template-columns: 1fr;
    }

    .order-col-2,
    .order-col-3,
    .order-col-4,
    .order-col-5,
    .order-col-6,
    .order-col-8,
    .order-col-12 {
        grid-column: auto;
    }

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

    .order-grid-review {
        grid-template-columns: minmax(0, 1fr);
    }

    .order-form-card-limited {
        max-height: none;
        overflow: visible;
    }

    .order-form-card-limited > form {
        overflow: visible;
        padding-right: 0;
    }

    .order-form-card-wide {
        padding: 0;
    }

    .order-page-hero {
        display: block;
    }

    .order-page-section {
        padding-top: 0;
    }

    .order-templates-panel {
        position: static;
        max-height: none;
    }

    .template-side-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .order-summary-panel {
        position: static;
    }

    .order-drafts-panel-header {
        grid-template-columns: 1fr;
        display: grid;
    }

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

    .template-side-hover-preview {
        top: auto;
        left: 0;
        right: auto;
        width: auto;
        margin-top: 10px;
        transform: translateY(8px) scale(0.98);
    }

    .template-side-card:hover .template-side-hover-preview,
    .template-side-card:focus-within .template-side-hover-preview {
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 900px) {
    .order-flow-shell {
        padding: 20px 18px 22px;
    }

    .order-accordion-header {
        gap: 12px;
        padding: 18px 0;
    }

    .order-accordion-step-title-row {
        align-items: flex-start;
    }

    .order-accordion-step-summary {
        font-size: 0.92rem;
    }

    .order-checkout-summary-grid,
    .order-feature-grid {
        grid-template-columns: 1fr;
    }

    .order-reference-modal-card-roadmap .order-roadmap-preview-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .order-flow-header,
    .order-submit-panel,
    .order-plan-summary-top {
        grid-template-columns: 1fr;
        display: grid;
    }

    .order-flow-header-actions,
    .order-accordion-actions {
        justify-content: stretch;
    }

    .order-accordion-actions .button,
    .order-submit-button {
        width: 100%;
        min-width: 0;
    }

    .order-accordion-step-title {
        font-size: 1.06rem;
    }
}

@media (max-width: 820px) {
    .order-drafts-list {
        grid-template-columns: 1fr;
    }
}

.template-side-list-roadmap {
    margin-top: 18px;
}

.template-side-list-roadmap.is-collapsed,
.workflow-embed-card.is-collapsed {
    display: none;
}

.templates-hero {
    max-width: 920px;
}

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

.template-card {
    display: grid;
    gap: 18px;
    padding: 22px;
    border: 1px solid var(--line-soft);
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(92, 154, 255, 0.12), transparent 30%),
        var(--surface-primary);
    box-shadow: var(--shadow-soft);
}

.template-card-preview,
.template-choice-preview {
    position: relative;
    overflow: hidden;
    min-height: 220px;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.template-side-hover-preview.template-card-preview {
    position: absolute;
    overflow: hidden;
    min-height: 210px;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.template-card-preview-image {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    object-position: top center;
    display: block;
}

.template-card-preview-template-a,
.template-choice-preview-template-a {
    background:
        linear-gradient(180deg, rgba(233, 243, 255, 0.94), rgba(248, 251, 255, 0.94)),
        linear-gradient(135deg, rgba(124, 182, 255, 0.18), transparent);
}

.template-card-preview-template-b,
.template-choice-preview-template-b {
    background:
        radial-gradient(circle at top left, rgba(124, 247, 212, 0.18), transparent 34%),
        linear-gradient(160deg, rgba(13, 18, 24, 0.98), rgba(4, 8, 12, 0.98));
}

.template-card-preview-template-c,
.template-choice-preview-template-c {
    background:
        radial-gradient(circle at top right, rgba(255, 181, 107, 0.24), transparent 34%),
        linear-gradient(180deg, rgba(255, 244, 228, 0.96), rgba(255, 252, 246, 0.96));
}

.template-card-preview-not-sure,
.template-choice-preview-not-sure {
    background:
        radial-gradient(circle at top right, rgba(171, 201, 255, 0.16), transparent 34%),
        linear-gradient(180deg, rgba(27, 35, 49, 0.94), rgba(18, 23, 32, 0.94));
}

.template-preview-browser {
    display: flex;
    gap: 8px;
    padding: 16px 16px 0;
}

.template-preview-browser span {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.54);
}

.template-preview-stage,
.template-choice-preview {
    display: grid;
    gap: 18px;
    padding: 18px;
}

.template-preview-chip,
.template-choice-badge {
    justify-self: start;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: inherit;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.template-card-preview-template-a .template-preview-chip,
.template-choice-preview-template-a .template-choice-badge,
.template-card-preview-template-c .template-preview-chip,
.template-choice-preview-template-c .template-choice-badge {
    background: rgba(255, 255, 255, 0.72);
}

.template-preview-lines,
.template-choice-panels {
    display: grid;
    gap: 10px;
}

.template-preview-lines span {
    display: block;
    height: 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.24);
}

.template-card-preview-template-a .template-preview-lines span,
.template-card-preview-template-c .template-preview-lines span {
    background: rgba(26, 41, 61, 0.12);
}

.template-preview-lines span:nth-child(1) {
    width: 72%;
}

.template-preview-lines span:nth-child(2) {
    width: 54%;
}

.template-preview-lines span:nth-child(3) {
    width: 82%;
}

.template-preview-panels,
.template-choice-panels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: auto;
}

.template-preview-panels div,
.template-choice-panels span {
    min-height: 72px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.2);
}

.template-card-preview-template-a .template-preview-panels div,
.template-choice-preview-template-a .template-choice-panels span,
.template-card-preview-template-c .template-preview-panels div,
.template-choice-preview-template-c .template-choice-panels span {
    background: rgba(26, 41, 61, 0.1);
}

.template-card-copy,
.template-choice-copy {
    display: grid;
    gap: 10px;
}

.template-card-copy p,
.template-choice-copy span {
    margin: 0;
}

.template-card-kicker {
    margin: 0;
    font-family: "Sora", sans-serif;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(171, 201, 255, 0.84);
}

.template-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.template-card-actions .button {
    flex: 1 1 0;
    min-width: 160px;
}

.order-flow-progress {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 8px;
}

.order-flow-step,
.order-step-section,
.template-choice-card,
.order-direction-panel {
    border: 1px solid var(--line-faint);
    background: var(--surface-secondary);
}

.order-flow-step {
    display: grid;
    gap: 6px;
    padding: 16px;
    border-radius: 20px;
}

.order-flow-step span {
    color: rgba(219, 226, 245, 0.58);
    font-size: 0.84rem;
    font-weight: 700;
}

.order-flow-step strong {
    color: var(--ink);
    font-size: 0.96rem;
}

.order-flow-step.is-active {
    border-color: rgba(132, 174, 255, 0.3);
    background: linear-gradient(180deg, rgba(53, 93, 168, 0.18), rgba(255, 255, 255, 0.04));
}

.order-step-section {
    display: grid;
    gap: 18px;
    padding: 22px;
    border-radius: 24px;
}

.order-step-heading {
    display: grid;
    gap: 8px;
}

.order-step-heading h4,
.order-direction-summary h4 {
    margin: 0;
    font-size: 1.15rem;
}

.order-step-heading p,
.order-direction-summary p {
    margin: 0;
}

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

.template-choice-card {
    position: relative;
    display: grid;
    gap: 14px;
    padding: 18px;
    border-radius: 20px;
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.template-choice-card:hover,
.template-choice-card.is-selected {
    transform: translateY(-1px);
    border-color: rgba(132, 174, 255, 0.34);
    background: linear-gradient(180deg, rgba(53, 93, 168, 0.14), rgba(255, 255, 255, 0.025));
}

.template-choice-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.template-choice-preview {
    min-height: 156px;
}

.template-choice-ideal {
    color: var(--ink-soft);
}

.template-choice-actions {
    display: flex;
    justify-content: flex-end;
}

.template-choice-actions a {
    color: rgba(171, 201, 255, 0.92);
    font-weight: 700;
}

.order-direction-panel {
    display: grid;
    gap: 18px;
    padding: 22px;
    border-radius: 24px;
}

.order-direction-panel.is-unsure {
    border-color: rgba(255, 210, 122, 0.24);
    background:
        radial-gradient(circle at top right, rgba(255, 210, 122, 0.08), transparent 30%),
        var(--surface-secondary);
}

.order-direction-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.roadmap-step-actions {
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.roadmap-step-action-form {
    width: auto;
    min-width: 0;
    display: block;
    flex: 0 1 auto;
    margin: 0;
}

.roadmap-step-action-form button {
    width: auto;
    min-width: 220px;
    white-space: nowrap;
}

.roadmap-step-actions > .button {
    flex: 0 1 auto;
    width: auto;
    min-width: 220px;
    margin: 0;
}

.roadmap-step-link-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 220px;
    min-height: 50px;
    margin: 0;
    text-align: center;
}

.roadmap-review-site-button {
    padding: 0 24px;
    border-color: rgba(150, 207, 255, 0.34);
    background:
        radial-gradient(circle at top left, rgba(110, 189, 255, 0.18), transparent 42%),
        linear-gradient(180deg, rgba(40, 86, 156, 0.92), rgba(24, 54, 105, 0.96));
    color: rgb(247, 250, 255);
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: 0 16px 28px rgba(10, 30, 67, 0.24);
}

.roadmap-review-site-button:hover,
.roadmap-review-site-button:focus-visible {
    border-color: rgba(214, 236, 255, 0.48);
    background:
        radial-gradient(circle at top left, rgba(130, 206, 255, 0.22), transparent 42%),
        linear-gradient(180deg, rgba(52, 110, 196, 0.96), rgba(28, 65, 128, 0.98));
    color: rgb(255, 255, 255);
    transform: translateY(-1px);
    box-shadow: 0 18px 30px rgba(10, 30, 67, 0.3);
}

.roadmap-template-choice-card {
    display: grid;
    gap: 16px;
    padding: 10px 0 0;
    border: 0;
    border-top: 1px solid var(--line-faint);
    border-radius: 0;
    background: var(--surface-flat);
}

.roadmap-template-choice-copy {
    display: grid;
    gap: 8px;
}

.roadmap-template-choice-copy h4,
.roadmap-step-divider strong {
    margin: 0;
}

.roadmap-template-choice-copy p {
    margin: 0;
}

.roadmap-template-option-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.roadmap-template-switch-form {
    width: auto;
    min-width: 0;
    display: block;
}

.roadmap-template-switch-form button {
    width: auto;
    min-width: 0;
    padding-inline: 18px;
    white-space: nowrap;
}

.roadmap-step-divider {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 14px;
    align-items: center;
    margin: 18px 0;
}

.roadmap-step-divider span {
    display: block;
    height: 1px;
    background: var(--line-faint);
}

.roadmap-step-divider strong {
    color: rgba(219, 226, 245, 0.72);
    font-family: "Sora", sans-serif;
    font-size: 0.76rem;
    letter-spacing: 0.12em;
}

.roadmap-consultation-cta {
    display: flex;
    justify-content: center;
}

.roadmap-decision-modal-card {
    width: min(100%, 980px);
}

.roadmap-decision-modal-stage {
    display: grid;
    gap: 18px;
}

.roadmap-decision-modal-stage.is-hidden {
    display: none;
}

.roadmap-decision-modal-actions {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    justify-content: stretch;
    gap: 12px;
}

.roadmap-decision-modal-primary {
    width: 100%;
}

.roadmap-decision-modal-primary button {
    width: 100%;
    min-width: 0;
}

.roadmap-decision-modal-secondary,
.roadmap-decision-modal-back {
    width: 100%;
}

.roadmap-decision-modal-secondary button,
.roadmap-decision-modal-back {
    width: 100%;
    min-width: 0;
}

.roadmap-decision-modal-secondary button {
    justify-content: center;
}

.roadmap-decision-modal-back {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(219, 226, 245, 0.7);
    font-weight: 700;
    justify-content: flex-start;
    text-align: left;
}

.roadmap-decision-modal-back:hover,
.roadmap-decision-modal-back:focus-visible {
    background: transparent;
    color: rgb(244, 247, 255);
    box-shadow: none;
}

.roadmap-decision-modal-embed {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.04);
    overflow: hidden;
}

.order-direction-button {
    min-width: 220px;
}

.order-direction-button.is-active {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.08) inset;
}

.order-direction-mode.is-hidden {
    display: none;
}

.order-template-switcher {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.order-template-switch-card {
    min-height: 92px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--ink);
    text-align: left;
    transition: border-color 0.18s ease, transform 0.18s ease, background 0.18s ease;
}

.order-template-switch-card:hover,
.order-template-switch-card:focus-visible {
    border-color: rgba(132, 174, 255, 0.34);
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-1px);
}

.order-template-switch-card strong,
.order-template-switch-card span {
    display: block;
}

.order-template-switch-card span {
    margin-top: 6px;
    color: rgba(219, 226, 245, 0.72);
}

.plan-hover-panel {
    margin-top: 8px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
}

.order-sale-notice {
    display: grid;
    gap: 6px;
    margin: 0 0 12px;
    padding: 14px 16px;
    border: 1px solid rgba(118, 168, 255, 0.16);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(53, 93, 168, 0.16) 0%, rgba(255, 255, 255, 0.04) 100%);
}

.order-sale-notice.order-sale-notice-upcoming {
    border-color: rgba(255, 210, 122, 0.26);
    background:
        radial-gradient(circle at top right, rgba(255, 207, 112, 0.12), transparent 44%),
        linear-gradient(180deg, rgba(78, 57, 18, 0.2), rgba(255, 255, 255, 0.04));
}

.order-sale-notice p {
    margin: 0;
}

.order-sale-notice-eyebrow {
    font-family: "Sora", sans-serif;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(171, 201, 255, 0.86);
}

.plan-hover-heading {
    margin: 0 0 8px;
    font-family: "Sora", sans-serif;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(219, 226, 245, 0.56);
}

.plan-hover-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    margin-bottom: 14px;
    padding: 4px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    background: rgba(6, 10, 20, 0.24);
}

.order-type-toggle {
    display: flex;
    gap: 8px;
    margin-bottom: 0;
}

.order-type-toggle-button {
    flex: 1 1 0;
    min-height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--ink);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.order-type-toggle-button:hover,
.order-type-toggle-button:focus-visible,
.order-type-toggle-button.is-active {
    border-color: rgba(132, 174, 255, 0.44);
    background: linear-gradient(135deg, rgba(51, 93, 171, 0.92), rgba(31, 71, 145, 0.92));
    color: white;
    transform: translateY(-1px);
}

.plan-hover-tab {
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: var(--ink);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.plan-hover-tab:hover,
.plan-hover-tab:focus-visible,
.plan-hover-tab.is-active {
    border-color: rgba(118, 168, 255, 0.3);
    background: linear-gradient(135deg, rgba(51, 93, 171, 0.86), rgba(31, 71, 145, 0.82));
    color: white;
    box-shadow: 0 8px 20px rgba(5, 13, 30, 0.18);
}

.plan-hover-detail {
    display: none;
    gap: 10px;
    padding: 2px 4px 0;
}

.plan-hover-detail.is-active {
    display: grid;
}

.plan-hover-price,
.plan-hover-list {
    margin: 0;
}

.plan-hover-price {
    font-family: "Sora", sans-serif;
    font-size: 0.98rem;
    color: var(--ink);
}

.plan-hover-price-sale {
    display: inline-grid;
    gap: 4px;
}

.plan-hover-sale-note {
    margin: 8px 0 0;
}

.plan-hover-list {
    padding-left: 18px;
    color: var(--ink-soft);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 18px;
    font-size: 0.92rem;
    line-height: 1.35;
}

@media (max-width: 900px) {
    .plan-hover-list {
        grid-template-columns: 1fr;
    }
}

.order-form button {
    margin-top: 2px;
}

.order-plan-summary-compact {
    display: grid;
    gap: 16px;
    padding: 18px 20px;
    border: 1px solid rgba(118, 168, 255, 0.24);
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(75, 130, 220, 0.15), transparent 38%),
        linear-gradient(180deg, rgba(35, 43, 59, 0.96), rgba(24, 29, 40, 0.98));
    box-shadow: 0 16px 36px rgba(3, 8, 18, 0.14);
}

.order-care-plan-full {
    display: grid;
    gap: 12px;
}

.order-plan-summary-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.order-plan-summary-top strong {
    font-size: 1.08rem;
    line-height: 1.2;
}

.order-plan-summary-price {
    font-weight: 700;
    color: var(--ink);
    white-space: nowrap;
    font-size: 0.92rem;
    padding: 6px 10px;
    border: 1px solid rgba(118, 168, 255, 0.22);
    border-radius: 999px;
    background: rgba(33, 80, 160, 0.22);
}

.order-plan-summary-chips {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 8px;
}

.order-plan-summary-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 5px 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(244, 247, 255, 0.9);
    font-size: 0.82rem;
    line-height: 1.2;
    white-space: nowrap;
}

.order-plan-summary-chip::before {
    content: "\2713";
    display: inline-grid;
    width: 18px;
    height: 18px;
    place-items: center;
    border-radius: 50%;
    background: rgba(52, 196, 127, 0.18);
    color: #8df0bc;
    font-size: 0.72rem;
    font-weight: 900;
}

.order-plan-details-open {
    display: grid;
    gap: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

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

.order-feature-option {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 10px 12px;
    align-items: flex-start;
    align-content: start;
    min-height: 0;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.03);
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.order-feature-option:hover,
.order-feature-option:focus-within {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.05);
}

.order-feature-option.is-locked {
    border-color: rgba(120, 171, 255, 0.18);
    background: linear-gradient(180deg, rgba(92, 154, 255, 0.06) 0%, rgba(255, 255, 255, 0.025) 100%);
}

.order-feature-option.is-included {
    border-color: rgba(113, 190, 158, 0.28);
    background:
        radial-gradient(circle at top right, rgba(113, 190, 158, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(31, 38, 49, 0.94) 0%, rgba(23, 27, 36, 0.96) 100%);
}

.order-feature-option.is-add-on {
    border-color: rgba(97, 140, 222, 0.24);
    background:
        radial-gradient(circle at top right, rgba(77, 124, 213, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(31, 37, 50, 0.92) 0%, rgba(24, 28, 39, 0.94) 100%);
}

.order-feature-option input {
    width: 14px;
    height: 14px;
    margin-top: 2px;
}

.order-feature-copy {
    display: grid;
    gap: 8px;
    min-width: 0;
    align-content: start;
}

.order-feature-label {
    display: block;
    cursor: pointer;
}

.order-feature-copy strong {
    display: block;
    font-size: 1rem;
    line-height: 1.3;
}

.order-feature-price {
    color: rgba(244, 247, 255, 0.92);
    font-weight: 700;
    font-size: 0.9rem;
    line-height: 1.35;
}

.order-feature-requirement {
    color: rgba(219, 226, 245, 0.66);
    font-size: 0.84rem;
    line-height: 1.34;
}

.order-feature-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 22px;
    padding: 0 7px;
    font-size: 0.66rem;
    letter-spacing: 0.04em;
}

.builder-feature-upgrade-action {
    margin-top: 2px;
    width: fit-content;
    min-height: 34px;
    padding: 0 14px;
    font-size: 0.78rem;
}

.order-feature-option.is-upgrade-suggested .order-feature-status {
    display: none;
}

.order-form-section-features > label,
.order-submit-notes > label {
    margin-bottom: 2px;
}

.order-submit-notes {
    display: grid;
    gap: 7px;
    width: 100%;
}

.order-submit-notes textarea {
    width: 100%;
    min-height: 104px;
}

#domain_name_group[hidden] {
    display: none !important;
}

@media (min-width: 1321px) {
    #domain_name_group[hidden] + #promo_code_group {
        grid-column: span 9;
    }
}

.order-reference-modal-card {
    width: min(100%, 760px);
}

.site-modal-card.order-reference-modal-card-wide {
    width: min(calc(100vw - 48px), 1180px);
    padding: 32px 36px;
}

.site-modal-card.order-reference-modal-card-roadmap {
    width: min(calc(100vw - 48px), 1120px);
    max-height: calc(100dvh - 48px);
    padding: 24px 28px;
    display: grid;
    gap: 14px;
}

.order-reference-modal-card .template-side-list {
    margin-top: 22px;
}

.order-reference-template-list {
    gap: 20px;
}

.order-reference-template-list .template-side-card {
    gap: 12px;
    padding: 20px;
    border-radius: 20px;
}

.order-reference-template-list .template-side-card-description,
.order-reference-template-list .template-side-card-ideal {
    -webkit-line-clamp: 3;
    line-clamp: 3;
}

.order-reference-modal-card .order-roadmap-preview-list {
    margin-top: 0;
}

.order-reference-modal-card-roadmap .order-roadmap-preview-header {
    gap: 7px;
}

.order-reference-modal-card-roadmap .order-roadmap-preview-header .summary-note {
    max-width: 820px;
}

.order-reference-modal-card-roadmap .order-roadmap-preview-list {
    gap: 8px 12px;
}

@media (min-width: 901px) {
    .order-reference-modal-card-roadmap .order-roadmap-preview-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.order-reference-modal-card-roadmap .order-roadmap-step-button {
    padding: 9px 12px;
}

.order-reference-modal-card-roadmap .order-roadmap-step-detail {
    gap: 8px;
    padding: 0 12px 10px;
}

.order-reference-modal-card .site-modal-actions {
    justify-content: flex-end;
    margin-top: 18px;
}

.order-feature-option.is-included .order-feature-status {
    border-color: rgba(125, 216, 175, 0.42);
    background: rgba(76, 155, 112, 0.22);
    color: rgb(205, 255, 227);
}

.order-feature-option.is-add-on .order-feature-status {
    border-color: rgba(112, 154, 227, 0.32);
    background: rgba(54, 77, 126, 0.18);
    color: rgba(224, 236, 255, 0.9);
}

.account-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.account-feature-option {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 10px 12px;
    align-items: flex-start;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.03);
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.account-feature-option:hover,
.account-feature-option:focus-within {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.05);
}

.account-feature-option.is-locked {
    border-color: rgba(120, 171, 255, 0.18);
    background: linear-gradient(180deg, rgba(92, 154, 255, 0.06) 0%, rgba(255, 255, 255, 0.025) 100%);
    opacity: 0.9;
}

.account-feature-option.is-included {
    border-color: rgba(123, 213, 160, 0.22);
    background: linear-gradient(180deg, rgba(75, 166, 112, 0.08) 0%, rgba(255, 255, 255, 0.025) 100%);
}

.account-feature-option input {
    width: 16px;
    height: 16px;
    margin-top: 3px;
}

.account-feature-indicator {
    width: 16px;
    height: 16px;
    margin-top: 3px;
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.04);
}

.account-feature-option.is-included .account-feature-indicator {
    border-color: rgba(123, 213, 160, 0.46);
    background: rgba(75, 166, 112, 0.18);
    box-shadow: inset 0 0 0 4px rgba(201, 255, 221, 0.22);
}

.account-feature-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.account-feature-label {
    display: block;
    cursor: pointer;
}

.account-feature-copy strong {
    font-size: 0.98rem;
    line-height: 1.35;
}

.account-feature-price {
    color: rgba(244, 247, 255, 0.92);
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.35;
}

.account-feature-requirement {
    color: rgba(219, 226, 245, 0.66);
    font-size: 0.88rem;
    line-height: 1.35;
}

.account-feature-upgrade-link {
    margin-top: 2px;
    font-weight: 700;
}

.account-feature-included-note {
    color: rgba(201, 255, 221, 0.78);
    font-size: 0.88rem;
    line-height: 1.35;
    font-weight: 600;
}

.account-feature-empty {
    grid-column: 1 / -1;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.03);
}

.account-feature-empty p {
    margin: 0;
}

.order-feature-option.is-locked .order-feature-label strong,
.order-feature-option.is-locked .order-feature-price,
.order-feature-option.is-locked .order-feature-requirement {
    color: rgba(228, 236, 255, 0.8);
}

.order-feature-upgrade {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 40px;
    margin-top: 4px;
    padding: 0 16px;
    border: 1px solid rgba(151, 191, 255, 0.48);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(92, 154, 255, 0.3) 0%, rgba(54, 103, 193, 0.3) 100%);
    color: var(--ink);
    font: inherit;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 10px 18px rgba(15, 31, 68, 0.2);
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.order-feature-upgrade[hidden] {
    display: none !important;
}

.order-feature-upgrade:hover,
.order-feature-upgrade:focus-visible {
    border-color: rgba(191, 219, 255, 0.78);
    background: linear-gradient(180deg, rgba(107, 170, 255, 0.44) 0%, rgba(61, 114, 212, 0.4) 100%);
    transform: translateY(-1px);
    box-shadow: 0 14px 24px rgba(15, 31, 68, 0.26);
}

@media (max-width: 720px) {
    .builder-feature-grid,
    .order-feature-grid,
    .account-feature-grid {
        grid-template-columns: 1fr;
    }
}

.auth-form button {
    min-height: 50px;
    border: none;
    border-radius: 999px;
    background: var(--accent);
    color: white;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.auth-form button:hover,
.auth-form button:focus-visible {
    background: white;
    color: rgb(14, 15, 19);
}

.auth-form .order-feature-upgrade {
    min-height: 40px;
    margin-top: 4px;
    padding: 0 16px;
    border: 1px solid rgba(151, 191, 255, 0.48);
    background: linear-gradient(180deg, rgba(92, 154, 255, 0.3) 0%, rgba(54, 103, 193, 0.3) 100%);
    color: var(--ink);
    font-size: 0.88rem;
    line-height: 1;
    box-shadow: 0 10px 18px rgba(15, 31, 68, 0.2);
}

.auth-form .order-feature-upgrade:hover,
.auth-form .order-feature-upgrade:focus-visible {
    border-color: rgba(191, 219, 255, 0.78);
    background: linear-gradient(180deg, rgba(107, 170, 255, 0.44) 0%, rgba(61, 114, 212, 0.4) 100%);
    color: var(--ink);
    box-shadow: 0 14px 24px rgba(15, 31, 68, 0.26);
}

.delete-order-form {
    margin-top: 4px;
}

.pricing-adjust-form {
    margin-top: 4px;
}

.pricing-sale-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.affiliate-record-list {
    gap: 18px;
}

.affiliate-admin-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    cursor: pointer;
    list-style: none;
}

.affiliate-admin-summary::after {
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2px solid rgba(214, 226, 246, 0.78);
    border-bottom: 2px solid rgba(214, 226, 246, 0.78);
    transform: rotate(45deg) translateY(-1px);
    transition: transform 0.18s ease;
    flex: 0 0 auto;
    margin-left: auto;
}

.affiliate-admin-summary::-webkit-details-marker {
    display: none;
}

.affiliate-admin-summary-title {
    font-size: 1.08rem;
    font-weight: 700;
    color: var(--text-strong);
}

.affiliate-admin-summary-meta {
    font-size: 0.92rem;
    color: var(--text-muted);
}

.affiliate-admin-create[open] > .affiliate-admin-summary,
.affiliate-record-card[open] > .affiliate-admin-summary,
.affiliate-admin-section[open] > .affiliate-admin-summary {
    margin-bottom: 14px;
}

.affiliate-admin-create[open] > .affiliate-admin-summary::after,
.affiliate-record-card[open] > .affiliate-admin-summary::after,
.affiliate-admin-section[open] > .affiliate-admin-summary::after {
    transform: rotate(225deg) translate(-2px, -2px);
}

.affiliate-record-summary {
    padding-right: 8px;
}

.affiliate-record-card {
    display: grid;
    gap: 12px;
    align-content: start;
    overflow: visible;
}

.affiliate-record-card > p,
.affiliate-record-card > .summary-note {
    margin: 0;
}

.affiliate-record-actions {
    grid-template-columns: minmax(0, 1.12fr) minmax(280px, 0.88fr);
    align-items: start;
}

.affiliate-statement-status {
    margin: 2px 0 0;
}

.affiliate-record-side {
    align-content: start;
}

.affiliate-record-delete-form {
    margin-top: 18px;
}

.affiliate-review-shell {
    gap: 12px;
}

.affiliate-connect-shell {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid rgba(92, 154, 255, 0.18);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.03);
}

.affiliate-action-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    align-content: start;
}

.affiliate-profile-card {
    position: relative;
    display: grid;
    gap: 18px;
}

.affiliate-company-asset-form,
.affiliate-company-asset-batch {
    display: grid;
    gap: 16px;
}

.affiliate-company-asset-row {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.03);
}

.affiliate-company-asset-remove {
    justify-self: start;
}

.affiliate-company-asset-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

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

.affiliate-profile-grid p {
    margin: 0 0 10px;
}

.account-affiliate-banner {
    width: 100%;
    max-width: none;
    margin: 0 0 1.25rem;
    border-radius: 24px;
    overflow: visible;
    position: relative;
}

.account-affiliate-banner img,
.account-affiliate-banner-placeholder {
    width: 100%;
    max-height: 340px;
    display: block;
    border-radius: 24px;
}

.account-affiliate-banner img {
    object-fit: cover;
}

.account-affiliate-banner-placeholder {
    min-height: 220px;
    padding: 28px;
    border: 1px solid rgba(92, 154, 255, 0.18);
    background: linear-gradient(180deg, rgba(48, 71, 123, 0.26), rgba(255, 255, 255, 0.03));
}

.account-affiliate-banner-placeholder h4,
.account-affiliate-banner-placeholder p {
    margin: 0;
}

.account-affiliate-banner-placeholder h4 {
    margin-top: 8px;
    font-size: 1.6rem;
}

.affiliate-banner-editor {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 3;
}

.affiliate-banner-editor > summary {
    list-style: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(92, 154, 255, 0.28);
    border-radius: 999px;
    background: rgba(17, 22, 33, 0.82);
    color: rgba(244, 248, 255, 0.95);
    cursor: pointer;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
}

.affiliate-banner-editor > summary::-webkit-details-marker {
    display: none;
}

.affiliate-banner-edit-button svg {
    width: 18px;
    height: 18px;
}

.affiliate-banner-form {
    margin-top: 10px;
    width: min(320px, calc(100vw - 48px));
    padding: 16px;
    border: 1px solid rgba(92, 154, 255, 0.18);
    border-radius: 18px;
    background: rgba(17, 22, 33, 0.96);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.3);
}

.affiliate-dashboard-top-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.affiliate-revenue-panel,
.affiliate-statements-panel {
    display: grid;
    gap: 16px;
    align-content: start;
}

.affiliate-statements-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}

.affiliate-statements-panel-header .admin-subheading {
    margin-bottom: 0;
}

.affiliate-statement-payout-date {
    max-width: 420px;
    text-align: right;
}

.affiliate-statement-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.affiliate-statement-summary-grid .order-item {
    height: 100%;
}

.affiliate-revenue-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}

.affiliate-revenue-panel-header .admin-subheading {
    margin-bottom: 0;
}

.affiliate-revenue-toggle {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.affiliate-revenue-toggle .button {
    min-width: 110px;
}

.affiliate-revenue-toggle .button.is-active {
    background: linear-gradient(135deg, #2d5fb0, #4a8dff);
    border-color: rgba(117, 170, 255, 0.42);
    color: #fff;
}

.affiliate-revenue-view {
    display: grid;
    gap: 14px;
}

.affiliate-revenue-view[hidden] {
    display: none !important;
}

.affiliate-revenue-view .revenue-kpi-grid .order-item {
    height: 100%;
}

.affiliate-statement-action-form {
    display: grid;
    grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
    align-items: end;
    gap: 12px;
}

.affiliate-statement-action-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.affiliate-onboarding-steps {
    display: grid;
    gap: 16px;
}

.affiliate-onboarding-locked {
    border: 1px solid rgba(92, 154, 255, 0.16);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.02);
    overflow: hidden;
}

.affiliate-onboarding-locked-summary {
    padding: 18px 20px;
    font-family: "Sora", sans-serif;
    font-size: 0.98rem;
    font-weight: 700;
    color: var(--ink);
}

.affiliate-onboarding-locked .workflow-panel {
    margin: 0 16px 16px;
}

.pricing-sale-action-form {
    display: grid;
    align-content: start;
    gap: 10px;
    margin: 0;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.03);
}

.pricing-sale-action-form label {
    display: grid;
    gap: 6px;
    font-size: 0.84rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: rgba(226, 233, 248, 0.92);
}

.pricing-sale-action-form input:not([type="hidden"]):not([type="checkbox"]),
.pricing-sale-action-form select,
.pricing-sale-action-form textarea {
    margin: 0;
    width: 100%;
    min-width: 0;
    padding: 0 16px;
    min-height: 48px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.05);
    color: var(--ink);
    font: inherit;
}

.pricing-sale-action-form textarea {
    min-height: 92px;
    padding: 12px 16px;
    resize: vertical;
}

.pricing-sale-action-form input:not([type="hidden"]):not([type="checkbox"])::placeholder,
.pricing-sale-action-form textarea::placeholder {
    color: rgba(219, 226, 245, 0.46);
}

.pricing-sale-action-form input:not([type="hidden"]):not([type="checkbox"]):focus,
.pricing-sale-action-form input:not([type="hidden"]):not([type="checkbox"]):focus-visible,
.pricing-sale-action-form select:focus,
.pricing-sale-action-form select:focus-visible,
.pricing-sale-action-form textarea:focus,
.pricing-sale-action-form textarea:focus-visible {
    outline: none;
    border-color: rgba(132, 177, 255, 0.65);
    box-shadow: 0 0 0 3px rgba(74, 124, 218, 0.18);
}

.pricing-sale-action-form input[type="password"] {
    min-height: 52px;
}

.pricing-sale-action-form input[type="password"]::placeholder {
    color: rgba(219, 226, 245, 0.46);
}

.pricing-sale-action-form .button {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    margin: 0;
    padding: 0 18px;
    align-self: start;
}

@media (max-width: 900px) {
    .affiliate-record-actions {
        grid-template-columns: 1fr;
    }
}

.pricing-admin-table-wrap {
    overflow-x: auto;
    margin-top: 8px;
}

.pricing-admin-table {
    width: 100%;
    border-collapse: collapse;
}

.pricing-admin-table th,
.pricing-admin-table td {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    text-align: left;
}

.pricing-admin-table th {
    width: 52%;
    font-family: "Sora", sans-serif;
    font-size: 0.95rem;
    color: rgba(219, 226, 245, 0.9);
}

.pricing-admin-table td {
    color: rgba(255, 255, 255, 0.96);
    font-weight: 600;
}

.pricing-admin-table-section th {
    padding-top: 18px;
    padding-bottom: 10px;
    border-bottom-color: rgba(98, 144, 245, 0.28);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(157, 188, 255, 0.92);
}

.pricing-admin-table-section:first-child th {
    padding-top: 8px;
}

.pricing-admin-table tr:last-child th,
.pricing-admin-table tr:last-child td {
    border-bottom: 0;
}

.pricing-admin-panel {
    margin-top: 18px;
}

.pricing-admin-form-section {
    margin: 22px 0 0;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.pricing-admin-form-section:first-of-type {
    margin-top: 16px;
    padding-top: 0;
    border-top: 0;
}

.pricing-admin-form-section-label {
    margin: 0 0 14px;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(157, 188, 255, 0.92);
}

.pricing-admin-form-grid {
    display: grid;
    gap: 16px;
}

.pricing-admin-field {
    display: grid;
    gap: 6px;
}

.pricing-admin-field > label {
    margin: 0;
}

.pricing-admin-field > .summary-note {
    margin: 0;
    font-size: 0.94rem;
}

.admin-quote-retention-input-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-quote-retention-input-row input {
    flex: 1 1 auto;
    min-width: 0;
}

.admin-quote-retention-input-row select {
    flex: 0 0 180px;
    min-width: 0;
}

@media (max-width: 480px) {
    .admin-quote-retention-input-row {
        gap: 8px;
    }

    .admin-quote-retention-input-row select {
        flex-basis: 132px;
    }
}

.pricing-admin-field > input,
.pricing-admin-field > select,
.pricing-admin-field > textarea {
    margin: 0;
}

.pricing-admin-field > input,
.pricing-admin-field > select,
.pricing-admin-field > textarea,
.pricing-admin-field > input[type="file"] {
    width: 100%;
    max-width: 100%;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--ink);
    font: inherit;
}

.pricing-admin-field > input:focus,
.pricing-admin-field > input:focus-visible,
.pricing-admin-field > textarea:focus,
.pricing-admin-field > textarea:focus-visible,
.pricing-admin-field > select:focus,
.pricing-admin-field > select:focus-visible {
    outline: none;
    border-color: rgba(124, 182, 255, 0.46);
    box-shadow:
        0 0 0 3px rgba(104, 164, 255, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.pricing-admin-field > input::placeholder,
.pricing-admin-field > textarea::placeholder {
    color: rgba(219, 226, 245, 0.58);
}

.pricing-admin-field > input[type="file"] {
    padding: 10px 12px;
    cursor: pointer;
}

.pricing-admin-field > input[type="file"]::file-selector-button {
    margin-right: 12px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--ink);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.pricing-admin-field > input[type="range"] {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pricing-admin-field > input[type="checkbox"] {
    width: auto;
    max-width: none;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.qr-generator-latest-asset a,
.qr-generator-asset-card a {
    color: rgb(154, 203, 255);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.qr-generator-latest-asset a:hover,
.qr-generator-latest-asset a:focus-visible,
.qr-generator-asset-card a:hover,
.qr-generator-asset-card a:focus-visible {
    color: rgb(206, 228, 255);
}

.qr-generator-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 22px;
    margin-top: 14px;
    align-items: start;
}

.qr-generator-upload-panel,
.qr-generator-library {
    display: grid;
    gap: 16px;
    margin-top: 20px;
}

.qr-generator-controls,
.qr-generator-preview-panel {
    display: grid;
    gap: 18px;
}

.qr-generator-controls .pricing-admin-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}

.qr-generator-field-full {
    grid-column: 1 / -1;
}

.qr-generator-inline-upload-form {
    gap: 12px;
}

.qr-generator-inline-upload-form button {
    width: 100%;
}

.qr-generator-latest-asset {
    display: grid;
    gap: 10px;
    padding: 16px 18px;
    border: 1px solid rgba(144, 185, 255, 0.18);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.03);
}

.qr-generator-latest-asset p {
    margin: 0;
    word-break: break-word;
}

.qr-generator-color-input {
    width: 100%;
    min-height: 52px;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.08);
    cursor: pointer;
}

.qr-generator-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.qr-generator-action-row .button {
    min-width: 156px;
    flex: 1 1 0;
}

.qr-generator-asset-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}

.qr-generator-asset-card {
    display: grid;
    gap: 10px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.03);
}

.qr-generator-asset-card p {
    margin: 0;
    word-break: break-word;
}

.qr-generator-asset-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.qr-generator-status {
    margin: 0;
}

.qr-generator-preview-shell {
    display: grid;
    place-items: center;
    min-height: 340px;
    padding: 18px;
    border: 1px dashed rgba(145, 191, 255, 0.28);
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02)),
        rgba(10, 14, 22, 0.64);
}

.qr-generator-preview {
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 280px;
}

.qr-generator-preview canvas,
.qr-generator-preview svg {
    width: min(100%, 320px);
    height: auto;
    border-radius: 24px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
    background: white;
}

.qr-generator-preview-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
}

.qr-generator-preview-meta p {
    margin: 0;
    word-break: break-word;
}

.auth-form button.button-danger {
    background: rgb(153, 36, 50);
}

.auth-form button.button-danger:hover,
.auth-form button.button-danger:focus-visible {
    background: rgb(191, 56, 72);
    color: white;
}

.auth-helper {
    margin: 0;
}

.order-page-hero {
    display: grid;
    gap: 18px;
    width: min(96vw, 1500px);
    margin: 26px auto 0;
}

.order-page-hero .page-intro {
    margin: 0;
    max-width: 42ch;
}

.order-page-section {
    width: min(96vw, 1500px);
    margin: 0 auto;
    padding: 26px 0 36px;
}

.order-page-main {
    padding-bottom: 0;
}

.order-form-card > p {
    font-size: 0.9rem;
    line-height: 1.25;
    margin-bottom: 4px;
}

.order-form-card .auth-helper,
.order-form-card .summary-note,
.order-form-card .order-feature-requirement {
    font-size: 0.88rem;
    line-height: 1.3;
}

.order-form-card label,
.order-form-card .required-label {
    font-size: 0.94rem;
}

.order-form-card input,
.order-form-card select,
.order-form-card textarea {
    min-height: 42px;
    padding: 9px 12px;
}

.order-form-card textarea {
    min-height: 60px;
}

.order-form-grid-primary .auth-helper,
.order-form-grid-service .auth-helper,
.order-form-section-features .summary-note,
#promo_code_group .summary-note,
.order-submit-panel .summary-note,
.order-feature-requirement {
    display: none;
}

.order-form-grid-primary [data-order-page-count-note],
.order-form-grid-primary .order-business-name-notice .auth-helper {
    display: block;
}

.site-header.order-page-header {
    top: 6px;
    margin-top: 0;
    padding: 10px 16px;
    border-radius: 18px;
}

.site-header.order-page-header .brand img {
    width: 220px;
    transform: scale(1.08);
}

.site-header.order-page-header .site-nav {
    gap: 10px;
    font-size: 0.9rem;
}

.site-header.order-page-header .site-nav a,
.site-header.order-page-header .nav-dropdown-toggle {
    padding: 7px 11px;
}

.auth-helper a {
    text-decoration: underline;
}

body.has-modal-open {
    overflow: hidden;
}

.flash {
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(14, 15, 19, 0.55);
}

.flash p {
    margin: 0;
}

.flash-error {
    border-color: rgba(255, 120, 120, 0.35);
    background:
        radial-gradient(circle at top right, rgba(176, 56, 78, 0.14), transparent 42%),
        linear-gradient(180deg, rgba(86, 12, 29, 0.26) 0%, rgba(16, 18, 24, 0.94) 100%);
}

.flash-success {
    border-color: rgba(148, 255, 193, 0.35);
}

.admin-select {
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--ink);
    font: inherit;
}

.admin-select:focus {
    outline: 2px solid rgba(255, 255, 255, 0.2);
    outline-offset: 2px;
}

.admin-select:disabled {
    opacity: 0.42;
    cursor: not-allowed;
    background: rgba(255, 255, 255, 0.035);
    color: rgba(255, 255, 255, 0.48);
}

.membership-banner {
    padding: 20px 22px;
    border-radius: 24px;
}

.membership-banner-premium {
    border: 1px solid rgba(255, 255, 255, 0.12);
    background:
        radial-gradient(circle at top right, rgba(92, 154, 255, 0.12), transparent 42%),
        linear-gradient(135deg, rgb(24, 61, 122) 0%, rgba(18, 44, 88, 0.96) 100%);
    box-shadow: 0 18px 36px rgba(14, 27, 54, 0.28);
}

.membership-banner-vip {
    border: 1px solid rgba(255, 214, 122, 0.34);
    background:
        radial-gradient(circle at top right, rgba(255, 227, 156, 0.2), transparent 42%),
        linear-gradient(135deg, rgba(101, 65, 6, 0.98) 0%, rgba(58, 34, 5, 0.96) 100%);
    box-shadow: 0 18px 40px rgba(67, 39, 3, 0.3);
}

.membership-banner-basic {
    border: 1px solid rgba(92, 154, 255, 0.34);
    background:
        radial-gradient(circle at top right, rgba(165, 206, 255, 0.16), transparent 42%),
        linear-gradient(135deg, rgba(35, 80, 154, 0.94) 0%, rgba(58, 109, 190, 0.88) 100%);
    box-shadow: 0 18px 34px rgba(15, 33, 68, 0.2);
}

.membership-banner-eyebrow {
    margin: 0 0 8px;
    font-family: "Sora", sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.membership-banner-premium .membership-banner-eyebrow {
    color: rgba(216, 232, 255, 0.76);
}

.membership-banner-vip .membership-banner-eyebrow {
    color: rgba(255, 233, 182, 0.92);
}

.membership-banner-basic .membership-banner-eyebrow {
    color: rgba(216, 232, 255, 0.8);
}

.membership-banner h4 {
    margin-bottom: 8px;
    font-size: 1.2rem;
    color: rgb(244, 247, 255);
}

.membership-banner p {
    margin: 0;
}

.membership-banner-premium p {
    color: rgba(236, 242, 255, 0.88);
}

.membership-banner-vip p {
    color: rgba(255, 242, 215, 0.92);
}

.membership-banner-basic p {
    color: rgba(236, 242, 255, 0.88);
}

.membership-banner-link {
    color: white;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.membership-banner-link:hover,
.membership-banner-link:focus-visible {
    color: rgb(244, 247, 255);
}

.order-list {
    display: grid;
    gap: 14px;
}

.admin-orders-browser {
    display: grid;
    gap: 18px;
}

.admin-orders-type-switcher,
.admin-orders-status-switcher {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.admin-orders-status-switcher {
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(143, 173, 223, 0.14);
}

.admin-orders-type-panel,
.admin-orders-status-panels,
.admin-orders-status-panel {
    display: grid;
    gap: 14px;
}

.admin-orders-type-panel[hidden],
.admin-orders-status-panel[hidden],
.admin-orders-tab-notification[hidden] {
    display: none !important;
}

.admin-orders-tab-button {
    width: auto;
    gap: 10px;
    padding-right: 22px;
}

.admin-orders-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(231, 239, 252, 0.86);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}

.admin-orders-tab-button.is-active .admin-orders-tab-count,
.admin-orders-tab-button:hover .admin-orders-tab-count,
.admin-orders-tab-button:focus-visible .admin-orders-tab-count {
    background: rgba(255, 255, 255, 0.16);
    color: white;
}

.admin-orders-tab-notification {
    position: absolute;
    top: -8px;
    right: -4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 26px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid rgba(255, 214, 214, 0.34);
    background: linear-gradient(180deg, rgba(218, 54, 73, 0.96), rgba(143, 22, 39, 0.96));
    color: white;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 10px 20px rgba(106, 15, 31, 0.28);
    pointer-events: none;
}

.order-item {
    padding: 18px;
    border: 1px solid var(--line-soft);
    border-radius: 20px;
    background: var(--surface-primary);
    box-shadow: var(--shadow-soft);
}

.order-item-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.order-item-priority {
    border-color: rgba(92, 154, 255, 0.4);
    background:
        linear-gradient(180deg, rgba(92, 154, 255, 0.1) 0%, rgba(255, 255, 255, 0.04) 100%);
    box-shadow: 0 18px 34px rgba(15, 33, 68, 0.18);
}

.order-item-billing-alert {
    border-color: rgba(183, 82, 99, 0.44);
    background:
        radial-gradient(circle at top right, rgba(178, 66, 90, 0.18), transparent 44%),
        linear-gradient(180deg, rgba(104, 24, 49, 0.36) 0%, rgba(24, 14, 20, 0.94) 100%);
    box-shadow: 0 18px 34px rgba(60, 8, 24, 0.18);
}

.contact-card-billing-alert {
    border-color: rgba(186, 86, 103, 0.5) !important;
    background:
        radial-gradient(circle at top right, rgba(178, 66, 90, 0.2), transparent 40%),
        linear-gradient(180deg, rgba(106, 26, 50, 0.6) 0%, rgba(32, 15, 22, 0.95) 100%) !important;
    box-shadow: 0 20px 40px rgba(60, 8, 24, 0.2) !important;
}

.contact-card-billing-alert > .workflow-panel,
.contact-card-billing-alert > .workflow-panel.workflow-panel-cancelled,
.contact-card-billing-alert .workflow-panel,
.contact-card-billing-alert .workflow-panel.workflow-panel-cancelled,
.contact-card-billing-alert .order-item,
.contact-card-billing-alert .order-item-billing-alert,
.contact-card-billing-alert .recovery-state-section.workflow-panel-cancelled,
.contact-card-billing-alert .order-item > .workflow-panel,
.contact-card-billing-alert .order-item > .workflow-panel.workflow-panel-cancelled,
.contact-card-billing-alert .order-item > .payment-embed-shell {
    background: transparent !important;
    box-shadow: none !important;
}

.contact-card-billing-alert .order-item,
.contact-card-billing-alert .order-item-billing-alert,
.contact-card-billing-alert .workflow-panel,
.contact-card-billing-alert .recovery-state-section {
    border-color: rgba(180, 72, 91, 0.18) !important;
}

.client-tool-panel .order-list,
.contact-card-billing-alert .order-list {
    gap: 18px;
}

.recovery-state-surface {
    display: grid;
    gap: 0;
}

.recovery-state-surface > p {
    margin: 0;
}

.recovery-state-surface > p + p {
    margin-top: 10px;
}

.recovery-state-surface > .summary-note {
    margin-top: 14px;
}

.recovery-state-section,
.client-tool-panel > .workflow-panel,
.contact-card-billing-alert > .workflow-panel {
    margin-top: 24px;
    padding: 24px 0 0;
    border: 0;
    border-top: 1px solid var(--line-faint);
    border-radius: 0;
    background: var(--surface-flat);
    box-shadow: none;
}

.recovery-state-section.workflow-panel-cancelled,
.contact-card-billing-alert > .workflow-panel.workflow-panel-cancelled {
    border-top-color: rgba(180, 72, 91, 0.24);
}

.client-tool-panel > .workflow-panel.workflow-panel-cancelled,
.contact-card-billing-alert > .workflow-panel.workflow-panel-cancelled,
.recovery-state-section.workflow-panel-cancelled {
    background:
        radial-gradient(circle at top right, rgba(170, 58, 82, 0.06), transparent 44%),
        linear-gradient(180deg, rgba(92, 20, 42, 0.14) 0%, rgba(255, 255, 255, 0.01) 100%);
    border-color: rgba(180, 72, 91, 0.22);
}

.contact-card.auth-card.client-tool-panel.contact-card-billing-alert,
.contact-card.client-tool-panel.contact-card-billing-alert {
    background:
        radial-gradient(circle at top right, rgba(178, 66, 90, 0.24), transparent 42%),
        linear-gradient(180deg, rgba(112, 28, 53, 0.74) 0%, rgba(78, 19, 39, 0.84) 48%, rgba(54, 14, 29, 0.92) 100%) !important;
}

.contact-card-billing-alert > .workflow-panel,
.contact-card-billing-alert > .workflow-panel.workflow-panel-cancelled,
.contact-card-billing-alert .order-item,
.contact-card-billing-alert .workflow-panel,
.contact-card-billing-alert .recovery-state-section,
.contact-card-billing-alert .order-item > .workflow-panel,
.contact-card-billing-alert .order-item > .payment-embed-shell {
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
}

.contact-card-billing-alert .order-item:first-child,
.contact-card-billing-alert > .workflow-panel:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0 !important;
}


.recovery-state-section > h4 {
    margin-bottom: 10px;
    font-size: 1.28rem;
}

.recovery-state-section > p {
    margin: 0;
}

.recovery-state-section > p + p,
.recovery-state-section > .summary-note,
.recovery-state-section > .admin-order-actions,
.recovery-state-section > .pricing-adjust-form,
.recovery-state-section > .payment-embed-shell {
    margin-top: 12px;
}

.recovery-state-section > .summary-note:last-of-type {
    margin-bottom: 4px;
}

.recovery-state-header,
.recovery-state-support,
.recovery-state-actions {
    display: grid;
    gap: 10px;
}

.recovery-state-header h4 {
    margin: 0;
    font-size: clamp(1.2rem, 2vw, 1.42rem);
}

.recovery-state-header p,
.recovery-state-support p,
.recovery-state-actions p {
    margin: 0;
}

.recovery-state-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 28px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--line-faint);
}

.recovery-state-details p {
    margin: 0;
}

.recovery-state-support {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--line-faint);
}

.recovery-state-links {
    margin-top: 16px;
}

.recovery-state-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 22px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--line-faint);
    align-items: stretch;
}

.recovery-inline-action {
    width: auto;
    justify-items: start;
    gap: 0;
}

.recovery-inline-action button {
    width: auto;
    min-width: 0;
    padding-inline: 28px;
}

.recovery-payment-option,
.order-item > .payment-embed-shell {
    display: grid;
    grid-template-rows: 4.2rem 3rem 5.6rem auto 1fr auto;
    align-items: start;
    row-gap: 12px;
    width: 100%;
    height: 100%;
    margin-top: 0;
    padding: 22px 18px 18px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    box-sizing: border-box;
}

.recovery-state-actions > .recovery-payment-option + .recovery-payment-option {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.recovery-payment-option .payment-embed-heading {
    min-height: 0;
    display: flex;
    align-items: flex-start;
    margin: 0;
    padding-top: 2px;
    font-size: 0.9rem;
    line-height: 1.45;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(219, 226, 245, 0.72);
}

.recovery-payment-option .payment-embed-amount {
    min-height: 0;
    display: block;
    margin: 0;
    font-size: 1.35rem;
}

.recovery-payment-option .payment-embed-copy {
    min-height: 0;
    margin: 0;
}

.recovery-payment-option .payment-embed-status {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(236, 242, 255, 0.76);
}

.recovery-payment-option .payment-element-form {
    flex: 1 1 auto;
    margin-top: 10px;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.recovery-payment-option .payment-launch-button {
    width: 100%;
    min-width: 0;
}

.recovery-payment-option-primary .payment-launch-button,
.recovery-inline-action button {
    box-shadow: 0 14px 30px rgba(18, 42, 84, 0.22);
}

.recovery-state-actions > .recovery-payment-option-primary {
    position: relative;
    top: 7px;
}

.recovery-payment-option-secondary .payment-launch-button {
    background: rgba(255, 255, 255, 0.06);
    color: var(--ink);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: none;
}

.recovery-payment-option-secondary .payment-launch-button:hover,
.recovery-payment-option-secondary .payment-launch-button:focus-visible {
    background: rgba(255, 255, 255, 0.1);
    color: var(--ink);
}

@media (max-width: 960px) {
    .recovery-state-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .recovery-state-details {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .documents-folder-grid {
        grid-template-columns: 1fr;
    }
}

.submitted-file-list {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.submitted-file-list[hidden] {
    display: none !important;
}

.submitted-file-item {
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.025);
}

.documents-storage-summary {
    display: grid;
    gap: 6px;
    margin: 16px 0 20px;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.035);
}

.documents-storage-summary p {
    margin: 0;
}

.documents-folder-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.documents-folder-card {
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.03);
}

.documents-folder-title {
    margin: 0;
    font-weight: 700;
    color: var(--white);
}

.documents-folder-note {
    margin: 8px 0 0;
    color: var(--muted);
}

.documents-upload-form {
    margin-top: 14px;
}

.documents-upload-form input[type="file"] {
    margin-top: 10px;
}

.documents-upload-form button {
    margin-top: 12px;
}

.documents-accordion-list {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.documents-accordion {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.02);
    overflow: hidden;
}

.documents-accordion-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    cursor: pointer;
    list-style: none;
    font-weight: 700;
}

.documents-accordion-summary::-webkit-details-marker {
    display: none;
}

.documents-accordion[open] .documents-accordion-summary {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(255, 255, 255, 0.035);
}

.document-preview-modal-card {
    width: min(100%, 980px);
}

.document-preview-frame-wrap {
    margin-top: 18px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    overflow: hidden;
    background: rgba(7, 12, 22, 0.82);
}

.document-preview-frame-wrap iframe {
    display: block;
    width: 100%;
    min-height: 70vh;
    border: 0;
    background: white;
}

.submitted-files-toggle {
    margin-top: 6px;
}

.edit-history-accordion {
    margin-top: 18px;
    display: grid;
    gap: 14px;
}

.edit-history-toggle {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    min-width: 0;
}

.edit-history-toggle-label {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}

.edit-history-toggle-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(92, 154, 255, 0.16);
    border: 1px solid rgba(92, 154, 255, 0.34);
    color: rgb(216, 232, 255);
    font-size: 0.9rem;
    font-weight: 800;
}

.edit-history-panel[hidden] {
    display: none !important;
}

.admin-priority-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border: 1px solid rgba(92, 154, 255, 0.42);
    border-radius: 999px;
    background: rgb(24, 61, 122);
    color: rgb(244, 247, 255);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-membership-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-membership-badge-premium {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgb(24, 61, 122);
    color: rgb(244, 247, 255);
}

.admin-membership-badge-vip {
    border-color: rgba(255, 214, 122, 0.42);
    background: linear-gradient(135deg, rgba(121, 80, 12, 0.9) 0%, rgba(71, 43, 6, 0.96) 100%);
    color: rgb(255, 236, 190);
}

.admin-membership-badge-basic {
    border-color: rgba(92, 154, 255, 0.42);
    background: rgba(92, 154, 255, 0.16);
    color: rgb(216, 232, 255);
}

.admin-membership-badge-none {
    border-color: rgba(255, 120, 120, 0.36);
    background: rgba(153, 36, 50, 0.2);
    color: rgb(255, 198, 198);
}

.admin-membership-badge-care-only {
    border-color: rgba(201, 151, 255, 0.42);
    background: linear-gradient(135deg, rgba(97, 52, 164, 0.26) 0%, rgba(57, 31, 108, 0.34) 100%);
    color: rgb(239, 224, 255);
}

.admin-payment-badge-deposit {
    border-color: rgba(255, 203, 92, 0.36);
    background: rgba(178, 124, 15, 0.2);
    color: rgb(255, 228, 173);
}

.admin-membership-badge-fulfilled {
    border-color: rgba(93, 188, 138, 0.42);
    background: rgba(61, 132, 96, 0.18);
    color: rgb(198, 255, 220);
}

.admin-payment-badge-paid {
    border-color: rgba(120, 232, 175, 0.32);
    background: rgba(28, 116, 78, 0.22);
    color: rgb(207, 255, 231);
}

.admin-document-badge-summary {
    border-color: rgba(129, 187, 255, 0.36);
    background: rgba(52, 95, 178, 0.22);
    color: rgb(223, 236, 255);
}

.admin-document-badge-agreement {
    border-color: rgba(189, 158, 255, 0.42);
    background: rgba(88, 54, 153, 0.24);
    color: rgb(236, 227, 255);
}

.admin-document-badge-receipt {
    border-color: rgba(120, 232, 175, 0.34);
    background: rgba(24, 108, 74, 0.24);
    color: rgb(208, 255, 231);
}

.admin-document-badge-file,
.admin-document-badge-upload {
    border-color: rgba(255, 197, 97, 0.36);
    background: rgba(168, 107, 19, 0.24);
    color: rgb(255, 229, 180);
}

.admin-document-badge-neutral {
    border-color: rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(233, 240, 252, 0.9);
}

.admin-document-badge-available {
    border-color: rgba(136, 239, 180, 0.36);
    background: rgba(26, 121, 82, 0.18);
    color: rgb(208, 255, 230);
}

.admin-document-badge-pending {
    border-color: rgba(255, 174, 92, 0.34);
    background: rgba(145, 87, 14, 0.22);
    color: rgb(255, 223, 182);
}

.order-item p {
    margin-bottom: 8px;
}

.admin-badge-key {
    display: grid;
    gap: 12px;
}

.admin-badge-key-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.order-item p:last-child {
    margin-bottom: 0;
}

.order-pricing {
    display: grid;
    gap: 6px;
    margin: 12px 0 4px;
    padding: 16px 0;
    border: 0;
    border-top: 1px solid var(--line-faint);
    border-bottom: 1px solid var(--line-faint);
    border-radius: 0;
    background: var(--surface-flat);
}

.order-cancel-form {
    margin-top: 12px;
}

.order-next-step-note {
    margin-top: 12px;
    color: rgba(219, 226, 245, 0.68);
    font-size: 0.96rem;
}

.next-steps-layout {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 22px;
    align-items: start;
}

.workflow-panel,
.workflow-embed-card {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid var(--line-soft);
    border-radius: 22px;
    background: var(--surface-primary);
    box-shadow: var(--shadow-soft);
}

.workflow-embed-card {
    overflow: hidden;
}

.form-message.error {
    padding: 14px 16px;
    border: 1px solid rgba(255, 111, 111, 0.45);
    border-radius: 18px;
    background: rgba(120, 18, 26, 0.18);
    color: rgb(255, 219, 219);
}

.consultation-booking-card {
    display: grid;
    gap: 18px;
}

.consultation-booking-form {
    gap: 14px;
}

.consultation-slot-picker {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--line-soft);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.03);
}

.consultation-slot-picker-label {
    margin: 0;
    font-weight: 700;
    color: var(--ink);
}

.consultation-timezone-note {
    margin: -4px 0 2px;
}

.consultation-admin-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 20px;
}

.sales-consultations-panel,
.sales-consultations-panel .consultation-admin-grid,
.sales-consultations-panel .pricing-note {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.sales-consultations-panel .consultation-admin-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 20px;
}

.consultation-scheduler {
    container-type: inline-size;
    width: 100%;
    margin-top: 24px;
    padding: 24px;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(7, 8, 11, 0.48), rgba(7, 8, 11, 0.72)),
        rgba(255, 255, 255, 0.025);
}

.consultation-scheduler-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

.consultation-scheduler-heading h4,
.consultation-scheduler-section h4 {
    margin: 0;
}

.consultation-scheduler-heading .summary-note {
    max-width: 72ch;
    margin: 4px 0 0;
}

.consultation-live-badge {
    flex: 0 0 auto;
    padding: 6px 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: var(--ink);
    font-size: 0.76rem;
    font-weight: 800;
    white-space: nowrap;
}

.consultation-scheduler-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.9fr);
    gap: 20px;
    align-items: start;
}

.consultation-scheduler-section {
    min-width: 0;
}

.consultation-scheduler-section > .eyebrow {
    margin: 0 0 3px;
}

.consultation-scheduler-section > .summary-note {
    margin-top: 8px;
}

.consultation-schedule-section .auth-form,
.consultation-blackout-section .auth-form {
    margin-top: 18px;
}

.consultation-availability-grid {
    display: grid;
    gap: 12px;
}

.consultation-availability-row {
    display: grid;
    grid-template-columns: minmax(150px, 0.72fr) minmax(0, 1.28fr);
    gap: 14px;
    align-items: center;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.025);
}

.auth-form .consultation-availability-toggle {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin-bottom: 0;
    font-weight: 700;
}

.auth-form .consultation-availability-toggle input[type="checkbox"] {
    width: auto;
    margin: 0;
    justify-self: start;
}

.auth-form .consultation-availability-toggle span {
    text-align: left;
}

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

.consultation-time-pair {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.consultation-time-heading {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.78rem;
    line-height: 1;
}

.consultation-time-controls {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(68px, 0.75fr);
    gap: 8px;
    min-width: 0;
}

.consultation-admin-availability-form .consultation-time-controls {
    display: flex;
    align-items: center;
    gap: 10px;
}

.consultation-admin-availability-form .consultation-time-controls > select {
    flex: 0 0 auto;
    width: 90px;
    min-width: 90px;
    max-width: 90px;
    padding-left: 10px;
    padding-right: 28px;
    margin: 3px 0;
    box-sizing: border-box;
}

.consultation-admin-availability-form .consultation-time-controls > select:last-child {
    width: 84px;
    min-width: 84px;
    max-width: 84px;
}

.consultation-admin-scheduler .consultation-time-range {
    grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
}

.consultation-admin-scheduler .consultation-time-separator {
    text-align: center;
}

.consultation-admin-scheduler .consultation-scheduler-layout {
    grid-template-columns: minmax(0, 1.4fr) minmax(380px, 0.8fr);
}

.consultation-time-separator {
    color: var(--muted);
    font-weight: 700;
}

.admin-blackout-calendar {
    margin-top: 18px;
}

.consultation-blackout-times {
    margin-top: 16px;
}

.consultation-blackout-times-heading {
    margin: 0 0 8px;
    color: var(--ink);
    font-size: 0.95rem;
    font-weight: 700;
}

.consultation-blackout-time-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.consultation-blackout-time-button {
    min-width: 0;
    min-height: 48px;
    padding: 0 18px;
    background: rgba(255, 255, 255, 0.08);
}

.consultation-blackout-time-button.is-selected {
    border-color: rgba(124, 182, 255, 0.35);
    background: rgba(255, 255, 255, 0.18);
}

.consultation-blackout-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.consultation-blackout-actions button {
    width: auto;
    min-width: 0;
    padding: 0 18px;
}

.consultation-blackout-actions button:disabled,
.consultation-blackout-actions button:disabled:hover {
    opacity: 0.45;
    background: rgba(255, 255, 255, 0.08);
    color: var(--ink);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.consultation-blackout-instructions,
.consultation-blackout-status {
    margin: 12px 0 0;
}

.admin-blackout-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.blackout-chip {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--ink);
    cursor: pointer;
}

.booking-calendar-shell,
.booking-time-shell {
    margin-top: 8px;
}

.booking-time-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.booking-time-button {
    width: auto;
    max-width: none;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--ink);
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.booking-time-button:hover,
.booking-time-button:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
}

.booking-time-button.is-selected {
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.14);
}

.booking-confirmation-copy {
    margin-top: 4px;
}

.calendar-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.calendar-nav-button {
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    color: var(--ink);
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.consultation-scheduler .calendar-nav-button {
    min-width: 92px;
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.1);
}

.calendar-nav-button:hover,
.calendar-nav-button:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
}

.calendar-weekdays,
.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
}

.calendar-weekdays {
    margin-bottom: 8px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.82rem;
    text-align: center;
}

.calendar-cell {
    min-height: 46px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--ink);
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.consultation-scheduler .calendar-cell {
    min-height: 44px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
}

.consultation-scheduler .calendar-cell.is-scheduled {
    border-color: rgba(124, 182, 255, 0.7);
    background: rgba(61, 124, 224, 0.34);
}

.calendar-cell:hover,
.calendar-cell:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
}

.calendar-cell.is-selected {
    border-color: rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.12);
}

.consultation-scheduler .calendar-cell.is-selected {
    background: rgba(255, 255, 255, 0.22);
}

.consultation-scheduler .calendar-cell.is-focused {
    border-color: rgba(124, 182, 255, 0.9);
    box-shadow: 0 0 0 3px rgba(104, 164, 255, 0.16);
}

.calendar-cell.is-partial {
    border-color: rgba(100, 163, 255, 0.7);
    background: rgba(61, 124, 224, 0.28);
}

.consultation-scheduler .calendar-cell.is-partial {
    border-color: rgba(124, 182, 255, 0.7);
    background: rgba(61, 124, 224, 0.34);
}

.calendar-cell.is-disabled {
    opacity: 0.28;
}

.calendar-cell.is-unavailable-base {
    background: rgba(255, 255, 255, 0.015);
    color: rgba(255, 255, 255, 0.52);
}

.calendar-cell-empty {
    min-height: 46px;
}

.roadmap-order-summary {
    display: grid;
    gap: 14px;
}

.roadmap-order-summary-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}

.roadmap-order-summary-top h3 {
    margin: 0;
}

.roadmap-order-toggle {
    min-width: 150px;
}

.roadmap-order-details {
    display: grid;
    gap: 12px;
    padding: 12px 0 0;
    border: 0;
    border-top: 1px solid var(--line-faint);
    border-radius: 0;
    background: var(--surface-flat);
}

.roadmap-order-details.is-collapsed {
    display: none;
}

.admin-history-panel {
    margin-top: 14px;
}

.admin-history-panel.is-collapsed {
    display: none;
}

.roadmap-order-details p {
    margin: 0;
}

.workflow-panel-locked,
.workflow-panel-cancelled {
    background: linear-gradient(180deg, rgba(18, 22, 29, 0.92) 0%, rgba(15, 18, 25, 0.9) 100%);
}

.workflow-panel-cancelled {
    background:
        radial-gradient(circle at top right, rgba(255, 120, 120, 0.1), transparent 44%),
        linear-gradient(180deg, rgba(108, 18, 39, 0.14) 0%, rgba(255, 255, 255, 0.03) 100%);
    border-color: rgba(255, 120, 120, 0.28);
}

.workflow-panel-vip {
    border-color: rgba(255, 214, 122, 0.34);
    background:
        radial-gradient(circle at top right, rgba(255, 227, 156, 0.14), transparent 42%),
        linear-gradient(135deg, rgba(101, 65, 6, 0.28) 0%, rgba(58, 34, 5, 0.18) 100%);
    box-shadow: 0 16px 34px rgba(67, 39, 3, 0.18);
}

.workflow-panel-consultation-scheduled {
    border-color: rgba(128, 226, 168, 0.34);
    background:
        radial-gradient(circle at top right, rgba(122, 255, 177, 0.12), transparent 38%),
        linear-gradient(180deg, rgba(17, 52, 35, 0.94) 0%, rgba(16, 28, 22, 0.92) 100%);
    box-shadow: 0 16px 34px rgba(18, 73, 42, 0.18);
}

.workflow-panel-consultation-scheduled .workflow-panel-eyebrow {
    color: rgba(181, 255, 204, 0.84);
}

.workflow-panel-consultation-scheduled h3 {
    color: rgb(233, 255, 240);
}

.workflow-panel-consultation-scheduled p {
    color: rgba(223, 246, 230, 0.86);
}

.button-consultation-status {
    border-color: rgba(128, 226, 168, 0.3);
    background: linear-gradient(135deg, rgba(69, 154, 103, 0.86), rgba(40, 105, 65, 0.96));
    color: rgb(244, 255, 248);
    box-shadow: 0 14px 26px rgba(23, 74, 43, 0.24);
}

.button-consultation-status:hover,
.button-consultation-status:focus-visible {
    background: linear-gradient(135deg, rgba(84, 177, 121, 0.92), rgba(44, 118, 73, 1));
}

.workflow-panel-eyebrow,
.workflow-step-eyebrow {
    margin-bottom: 8px;
    font-family: "Sora", sans-serif;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(216, 232, 255, 0.72);
}

.workflow-panel-vip .workflow-panel-eyebrow {
    color: rgba(255, 233, 182, 0.9);
}

.workflow-panel-vip h4 {
    color: rgb(255, 241, 211);
}

.workflow-panel-vip p {
    color: rgba(255, 239, 208, 0.9);
}

.workflow-panel h3 {
    margin-bottom: 10px;
}

.workflow-callout {
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 16px;
    background: rgba(92, 154, 255, 0.1);
    color: rgba(236, 242, 255, 0.92);
}

.agreement-viewer {
    margin-top: 18px;
    border: 1px solid var(--line-faint);
    border-radius: 18px;
    background: var(--surface-secondary);
    overflow: hidden;
}

.agreement-viewer-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 18px 18px 12px;
}

.agreement-viewer-status {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(236, 242, 255, 0.88);
    font-size: 0.85rem;
    font-weight: 700;
    text-align: center;
}

.agreement-viewer.is-complete .agreement-viewer-status {
    background: rgba(61, 132, 96, 0.2);
    color: rgb(183, 255, 215);
}

.agreement-viewer-scroll {
    max-height: 620px;
    overflow-y: auto;
    padding: 0 18px 18px;
}

.agreement-text-body {
    display: grid;
    gap: 16px;
    padding: 8px 2px 0;
}

.agreement-text-body h4,
.agreement-text-section h5 {
    color: rgb(244, 247, 255);
}

.agreement-text-body h4 {
    font-size: 1.18rem;
}

.agreement-text-section {
    display: grid;
    gap: 6px;
}

.agreement-text-section p {
    margin: 0;
}

.agreement-sign-form {
    margin-top: 18px;
}

.upload-advance-form {
    margin-bottom: 14px;
}

.agreement-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
    color: rgba(236, 242, 255, 0.9);
}

.agreement-checkbox input {
    width: 18px;
    height: 18px;
    margin-top: 4px;
    accent-color: rgb(35, 80, 154);
}

.affiliate-agreement-card {
    margin: 10px 0 6px;
}

.affiliate-w9-form {
    display: grid;
    gap: 14px;
}

.affiliate-w9-fieldset {
    margin: 0;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.02);
}

.affiliate-w9-fieldset legend {
    padding: 0 6px;
}

.affiliate-w9-checkbox-grid {
    display: grid;
    gap: 10px;
}

.affiliate-w9-checkbox-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.affiliate-w9-date-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1.35fr);
    align-items: center;
}

.affiliate-w9-date-separator {
    color: rgba(255, 255, 255, 0.62);
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
}

.affiliate-w9-signature-shell,
.affiliate-w9-typed-shell,
.affiliate-w9-typed-preview-shell {
    display: grid;
    gap: 12px;
}

.affiliate-w9-signature-shell[hidden],
.affiliate-w9-typed-shell[hidden],
.affiliate-w9-typed-preview-shell[hidden] {
    display: none !important;
}

.affiliate-w9-signature-canvas {
    width: 100%;
    min-height: 180px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.015), rgba(255, 255, 255, 0.035)),
        repeating-linear-gradient(
            180deg,
            transparent 0,
            transparent 34px,
            rgba(255, 255, 255, 0.045) 34px,
            rgba(255, 255, 255, 0.045) 35px
        );
    touch-action: none;
    cursor: crosshair;
}

.affiliate-w9-signature-actions {
    display: flex;
    justify-content: flex-end;
}

.affiliate-w9-typed-preview {
    min-height: 120px;
    display: flex;
    align-items: center;
    padding: 20px 24px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.03);
    color: rgba(245, 248, 255, 0.96);
    font-size: clamp(2rem, 4vw, 2.8rem);
    line-height: 1.1;
    font-family: "NTW Dancing Script", "Brush Script MT", cursive;
}

.affiliate-w9-typed-preview[data-font="great_vibes"] {
    font-family: "NTW Great Vibes", "Snell Roundhand", cursive;
}

.affiliate-w9-typed-preview[data-font="allura"] {
    font-family: "NTW Allura", "Segoe Script", cursive;
}

@media (max-width: 640px) {
    .affiliate-w9-checkbox-grid-two {
        grid-template-columns: 1fr;
    }

    .affiliate-w9-date-grid {
        grid-template-columns: 1fr;
    }

    .affiliate-w9-date-separator {
        display: none;
    }
}

.affiliate-agreement-copy {
    max-height: 360px;
    overflow-y: auto;
    padding-right: 8px;
}

.affiliate-agreement-copy h4 {
    margin: 18px 0 8px;
    color: rgba(244, 247, 255, 0.96);
    font-size: 1rem;
}

.affiliate-agreement-copy p {
    margin: 0 0 12px;
}

.inline-text-link {
    color: rgba(171, 201, 255, 0.96);
    font: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.inline-text-link:hover,
.inline-text-link:focus-visible {
    color: white;
}

.legal-modal-card {
    width: min(100%, 760px);
}

.legal-modal-content {
    max-height: min(62vh, 620px);
    overflow-y: auto;
    margin-top: 8px;
    padding-right: 10px;
}

.legal-modal-copy {
    display: grid;
    gap: 14px;
}

.legal-modal-copy h4,
.legal-modal-copy p {
    margin: 0;
}

.legal-modal-copy ul {
    margin: -2px 0 0;
    padding-left: 1.2rem;
    color: rgba(219, 226, 245, 0.92);
    font: inherit;
}

.legal-modal-copy li {
    margin: 0 0 6px;
    color: inherit;
    font: inherit;
    line-height: 1.65;
}

.legal-modal-copy li:last-child {
    margin-bottom: 0;
}

.legal-modal-copy h4 {
    font-size: 1.05rem;
}

.legal-document {
    display: grid;
    gap: 16px;
    max-width: 900px;
    margin: 0 auto;
}

.legal-document h2 {
    margin: 14px 0 0;
    color: var(--ink);
    font-family: "Sora", sans-serif;
    font-size: 1.18rem;
    line-height: 1.3;
}

.legal-document p,
.legal-document li {
    color: rgba(219, 226, 245, 0.88);
    line-height: 1.7;
}

.legal-document p {
    margin: 0;
}

.legal-document ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 1.25rem;
}

.legal-document a,
.cookie-consent-text a {
    color: rgba(171, 201, 255, 0.98);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.legal-effective-date {
    color: rgba(219, 226, 245, 0.72) !important;
}

.agreement-sign-form [disabled] {
    cursor: not-allowed;
    opacity: 0.65;
}

.workflow-step-list {
    display: grid;
    gap: 14px;
}

.workflow-step-list-compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
}

.workflow-step-card {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 16px;
    align-items: start;
    padding: 18px;
    border: 1px solid var(--line-faint);
    border-radius: 20px;
    background: var(--surface-secondary);
}

.workflow-step-trigger {
    color: inherit;
    text-decoration: none;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.workflow-step-trigger:hover {
    transform: translateY(-1px);
}

.workflow-step-trigger .workflow-step-copy p:last-child {
    display: none;
}

.workflow-step-trigger.is-expanded .workflow-step-copy p:last-child {
    display: block;
}

.workflow-step-current {
    border-color: rgba(144, 185, 255, 0.34);
    background:
        linear-gradient(180deg, rgba(92, 154, 255, 0.14) 0%, rgba(255, 255, 255, 0.03) 100%);
    box-shadow: 0 18px 34px rgba(15, 33, 68, 0.18);
}

.workflow-step-preview {
    border-color: rgba(144, 185, 255, 0.28);
    background:
        linear-gradient(180deg, rgba(92, 154, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%);
}

.workflow-step-complete {
    border-color: rgba(93, 188, 138, 0.3);
    background:
        linear-gradient(180deg, rgba(61, 132, 96, 0.18) 0%, rgba(255, 255, 255, 0.03) 100%);
}

.workflow-step-declined {
    border-color: rgba(220, 84, 96, 0.34);
    background:
        linear-gradient(180deg, rgba(130, 36, 54, 0.2) 0%, rgba(255, 255, 255, 0.03) 100%);
}

.workflow-step-locked {
    opacity: 0.88;
}

.workflow-step-cancelled {
    opacity: 0.55;
}

.workflow-step-marker {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.05);
    font-family: "Sora", sans-serif;
    font-size: 1rem;
    font-weight: 800;
    color: rgb(244, 247, 255);
}

.workflow-step-complete .workflow-step-marker {
    border-color: rgba(93, 188, 138, 0.34);
    background: rgba(61, 132, 96, 0.2);
    color: rgb(183, 255, 215);
}

.workflow-step-current .workflow-step-marker {
    border-color: rgba(144, 185, 255, 0.34);
    background: rgba(92, 154, 255, 0.14);
    color: rgb(216, 232, 255);
}

.workflow-step-declined .workflow-step-marker {
    border-color: rgba(220, 84, 96, 0.42);
    background: rgba(130, 36, 54, 0.28);
    color: rgb(255, 206, 211);
}

.workflow-step-copy h4 {
    margin-bottom: 6px;
    font-size: 1.06rem;
}

.workflow-step-copy p:last-child {
    margin-bottom: 0;
}

.workflow-step-card-inline {
    grid-template-columns: 40px 1fr;
    gap: 12px;
    padding: 14px;
}

.workflow-step-card-inline .workflow-step-marker {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    font-size: 0.9rem;
}

.workflow-step-card-inline .workflow-step-copy h4 {
    margin-bottom: 0;
    font-size: 0.95rem;
}

.file-dropzone {
    display: grid;
    gap: 10px;
    padding: 18px;
    border: 1px dashed rgba(92, 154, 255, 0.36);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.03);
    transition: border-color 0.18s ease, background 0.18s ease;
}

.file-dropzone.is-dragging {
    border-color: rgba(93, 188, 138, 0.7);
    background: rgba(61, 132, 96, 0.12);
}

.file-dropzone input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.file-dropzone label {
    display: grid;
    gap: 6px;
    cursor: pointer;
}

.file-dropzone label strong {
    font-family: "Sora", sans-serif;
    color: var(--ink);
}

.file-staging-list {
    display: grid;
    gap: 10px;
}

.file-capacity {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
}

.file-capacity p {
    margin: 0;
    font-size: 0.94rem;
}

.file-staging-item {
    display: grid;
    gap: 8px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
}

.file-staging-item.is-ready {
    border-color: rgba(93, 188, 138, 0.48);
    background: rgba(61, 132, 96, 0.12);
}

.file-staging-item.is-error {
    border-color: rgba(201, 79, 79, 0.55);
    background: rgba(140, 46, 46, 0.16);
}

.file-staging-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.file-staging-top strong {
    word-break: break-word;
}

.file-staging-state {
    flex-shrink: 0;
    font-size: 0.88rem;
    color: var(--muted);
}

.file-staging-meta {
    margin: 0;
    font-size: 0.88rem;
    color: var(--muted);
}

.file-staging-item.is-ready .file-staging-state {
    color: rgb(171, 242, 196);
}

.file-staging-item.is-error .file-staging-state {
    color: rgb(255, 186, 186);
}

.file-staging-progress {
    width: 100%;
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
}

.file-staging-progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(92, 154, 255, 0.88), rgba(93, 188, 138, 0.9));
    transition: width 0.16s ease;
}

.file-staging-item.is-ready .file-staging-progress span {
    background: linear-gradient(90deg, rgba(93, 188, 138, 0.9), rgba(117, 224, 165, 0.92));
}

.page-inventory-list {
    display: grid;
    gap: 16px;
}

.page-inventory-item {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid var(--line-faint);
    border-radius: 18px;
    background: var(--surface-secondary);
}

@media (max-width: 720px) {
    .cookie-consent-bar {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 12px 12px 14px;
    }

    .cookie-consent-decoration {
        display: none;
    }

    .cookie-consent-note-row {
        display: none;
    }

    .cookie-consent-copy {
        gap: 3px;
    }

    .cookie-consent-eyebrow {
        font-size: 0.68rem;
    }

    .cookie-consent-title {
        font-size: 0.88rem;
    }

    .cookie-consent-text {
        font-size: 0.82rem;
        line-height: 1.35;
    }

    .cookie-consent-copy .cookie-consent-text {
        max-height: 2.7em;
        overflow: hidden;
    }

    .cookie-consent-actions {
        flex-direction: row;
        justify-content: stretch;
        margin-left: 0;
        gap: 8px;
    }

    .cookie-consent-actions .button {
        width: 50%;
        min-width: 0;
        padding: 10px 12px;
        font-size: 0.85rem;
    }

    .promo-popup {
        right: 12px;
        left: 12px;
        bottom: calc(12px + var(--floating-cookie-offset) + var(--floating-tab-stack-height));
        width: auto;
    }

    .workflow-step-list-compact {
        grid-template-columns: 1fr;
    }

    .admin-edit-decision-row {
        grid-template-columns: 1fr;
    }
}

.payment-embed-shell {
    display: grid;
    gap: 14px;
    margin-top: 8px;
    padding: 18px;
    border: 1px solid rgba(92, 154, 255, 0.18);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.025);
    transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

.payment-embed-shell.is-highlighted {
    border-color: rgba(120, 182, 255, 0.48);
    background: rgba(56, 95, 166, 0.12);
    box-shadow:
        0 0 0 3px rgba(104, 164, 255, 0.16),
        0 18px 36px rgba(6, 16, 38, 0.18);
}

.payment-method-update-shell {
    display: grid;
    gap: 16px;
}

.affiliate-payout-shell .workflow-panel,
.affiliate-payout-shell .payment-embed-shell {
    margin-top: 0;
}

.affiliate-connect-disclosure {
    border: 1px solid rgba(92, 154, 255, 0.16);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.02);
    overflow: hidden;
}

.affiliate-connect-disclosure > summary {
    cursor: pointer;
    list-style: none;
    padding: 18px 20px;
    font-family: "Sora", sans-serif;
    font-size: 0.98rem;
    font-weight: 700;
    color: var(--ink);
}

.affiliate-connect-disclosure > summary::-webkit-details-marker {
    display: none;
}

.affiliate-connect-disclosure > summary::after {
    content: "+";
    float: right;
    color: rgba(236, 242, 255, 0.7);
}

.affiliate-connect-disclosure[open] > summary::after {
    content: "-";
}

.affiliate-connect-disclosure > .workflow-panel,
.affiliate-connect-disclosure > .payment-embed-shell {
    margin: 0 16px 16px;
}

.payment-embed-shell[hidden] {
    display: none !important;
}

.payment-embed-heading {
    margin: 0;
    font-family: "Sora", sans-serif;
    font-size: 1rem;
    color: var(--ink);
}

.payment-embed-amount {
    margin: 0;
    font-family: "Sora", sans-serif;
    font-size: 1.02rem;
    color: rgb(245, 247, 255);
}

.payment-embed-copy,
.payment-embed-note,
.payment-embed-status {
    margin: 0;
}

.payment-embed-note {
    font-size: 0.95rem;
    color: rgba(236, 242, 255, 0.72);
}

.payment-embed-status {
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
    color: rgba(236, 242, 255, 0.82);
}

.payment-embed-status[data-state="error"] {
    border-color: rgba(255, 124, 124, 0.35);
    background: rgba(140, 26, 41, 0.18);
    color: #ffd8dc;
}

.payment-element-form {
    min-height: 220px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.02);
}

.payment-launch-button {
    width: 100%;
}

.affiliate-connect-embedded-panel {
    display: grid;
    gap: 14px;
}

.affiliate-connect-embedded-panel[hidden] {
    display: none !important;
}

.affiliate-connect-banner-shell,
.affiliate-connect-component-shell {
    min-height: 96px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.025) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
    overflow: hidden;
}

.affiliate-connect-component-shell {
    min-height: 420px;
}

.affiliate-connect-banner-shell:empty {
    display: none;
}

stripe-connect-account-onboarding,
stripe-connect-account-management,
stripe-connect-notification-banner {
    display: block;
    width: 100%;
}

.affiliate-payout-shell .pricing-adjust-form {
    gap: 10px;
}

.affiliate-payout-shell .payment-embed-copy {
    color: rgba(236, 242, 255, 0.8);
}

.affiliate-payout-shell .payment-embed-note {
    margin-top: 2px;
}

.affiliate-bank-shell .pricing-adjust-form {
    gap: 10px;
}

.affiliate-bank-summary {
    display: grid;
    gap: 8px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.03);
}

.affiliate-bank-summary[hidden] {
    display: none !important;
}

.affiliate-bank-summary p {
    margin: 0;
}

.payment-quick-action {
    margin-top: 4px;
}

.payment-inline-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 12px 18px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--ink);
    font-weight: 700;
    text-decoration: none;
}

.payment-inline-button:hover,
.payment-inline-button:focus-visible {
    background: rgba(255, 255, 255, 0.1);
}

.site-modal[hidden] {
    display: none;
}

.site-modal {
    position: fixed;
    inset: 0;
    z-index: 1500;
    display: grid;
    place-items: center;
    padding: 24px;
}

.site-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(6, 10, 18, 0.68);
    backdrop-filter: blur(6px);
}

.site-modal-card {
    position: relative;
    z-index: 1;
    width: min(100%, 520px);
    padding: 30px;
    border: 1px solid var(--line-soft);
    border-radius: 28px;
    background: var(--surface-primary);
    box-shadow: var(--shadow);
}

.site-modal-eyebrow {
    margin: 0 0 10px;
    font-family: "Sora", sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(219, 226, 245, 0.58);
}

.site-modal-card h3 {
    margin-bottom: 10px;
    font-size: 1.6rem;
}

.site-modal-card p {
    margin-bottom: 0;
}

#site-confirm-message {
    white-space: pre-line;
}

.site-modal-field {
    margin-top: 20px;
}

.site-modal-field label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--text-color);
}

.site-modal-field input {
    width: 100%;
}

.site-modal-choice-grid {
    display: grid;
    gap: 12px;
}

.site-modal-choice-option {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    border: 1px solid rgba(141, 180, 255, 0.22);
    border-radius: 18px;
    background: rgba(8, 16, 30, 0.42);
    cursor: pointer;
    transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.site-modal-choice-option:hover {
    border-color: rgba(141, 180, 255, 0.42);
    background: rgba(10, 19, 35, 0.6);
    transform: translateY(-1px);
}

.site-modal-choice-option input {
    width: auto;
    margin-top: 2px;
}

.site-modal-choice-option span {
    display: grid;
    gap: 4px;
}

.site-modal-choice-option small {
    color: rgba(214, 223, 244, 0.72);
    font-size: 0.92rem;
    line-height: 1.45;
}

.site-modal-check-option {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    border: 1px solid rgba(141, 180, 255, 0.22);
    border-radius: 18px;
    background: rgba(8, 16, 30, 0.42);
    cursor: pointer;
}

.site-modal-check-option input {
    width: auto;
    margin-top: 2px;
}

.site-modal-check-option span {
    line-height: 1.5;
}

.site-modal-input {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid rgba(141, 180, 255, 0.34);
    border-radius: 16px;
    background: rgba(8, 16, 30, 0.82);
    color: rgb(244, 247, 255);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 10px 24px rgba(7, 12, 22, 0.24);
    transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.site-modal-input::placeholder {
    color: rgba(214, 223, 244, 0.52);
}

.site-modal-input:hover {
    border-color: rgba(141, 180, 255, 0.48);
}

.site-modal-input:focus {
    outline: none;
    border-color: rgba(109, 166, 255, 0.88);
    box-shadow:
        0 0 0 3px rgba(53, 112, 215, 0.2),
        0 14px 28px rgba(7, 12, 22, 0.3);
    background: rgba(10, 19, 35, 0.94);
}

.site-modal-input:-webkit-autofill,
.site-modal-input:-webkit-autofill:hover,
.site-modal-input:-webkit-autofill:focus {
    -webkit-text-fill-color: rgb(244, 247, 255);
    -webkit-box-shadow: 0 0 0 1000px rgba(10, 19, 35, 0.96) inset;
    transition: background-color 9999s ease-in-out 0s;
}

.site-modal-field-error {
    margin-top: 8px;
    font-size: 0.92rem;
    color: #ffb6b6;
}

.site-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.site-modal-actions .button {
    min-width: 160px;
}

#site-confirm-submit.is-danger {
    background: linear-gradient(135deg, rgba(187, 56, 86, 0.96), rgba(139, 25, 53, 0.98));
    border-color: rgba(255, 138, 164, 0.38);
    box-shadow: 0 18px 34px rgba(85, 9, 29, 0.24);
}

#site-confirm-submit.is-danger:hover,
#site-confirm-submit.is-danger:focus-visible {
    background: linear-gradient(135deg, rgba(205, 74, 104, 0.98), rgba(154, 31, 61, 1));
    border-color: rgba(255, 169, 189, 0.46);
}

#site-confirm-alt[hidden] {
    display: none !important;
}

/* Site-wide nested surface hierarchy */
.auth-card > .contact-card,
.contact-card > .contact-card,
.contact-card > .workflow-panel,
.contact-card > .order-item,
.contact-card > .order-pricing,
.contact-card > .payment-embed-shell,
.contact-card > .agreement-viewer,
.contact-card > .contact-direct,
.contact-card > .page-inventory-item,
.workflow-panel > .payment-embed-shell,
.workflow-panel > .agreement-viewer,
.workflow-panel > .page-inventory-item,
.workflow-panel > .order-pricing,
.order-item > .workflow-panel,
.order-item > .order-pricing,
.order-item > .payment-embed-shell,
.order-item > .agreement-viewer,
.order-item > .page-inventory-item,
.site-modal-card > .workflow-panel,
.site-modal-card > .order-pricing,
.site-modal-card > .payment-embed-shell,
.site-modal-card > .agreement-viewer {
    margin-top: 22px;
    padding: 20px 0 0;
    border: 0;
    border-top: 1px solid var(--line-faint);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.auth-card > .contact-card:first-child,
.contact-card > .contact-card:first-child,
.contact-card > .workflow-panel:first-child,
.contact-card > .order-item:first-child,
.contact-card > .order-pricing:first-child,
.contact-card > .payment-embed-shell:first-child,
.contact-card > .agreement-viewer:first-child,
.contact-card > .contact-direct:first-child,
.contact-card > .page-inventory-item:first-child,
.workflow-panel > .payment-embed-shell:first-child,
.workflow-panel > .agreement-viewer:first-child,
.workflow-panel > .page-inventory-item:first-child,
.workflow-panel > .order-pricing:first-child,
.order-item > .workflow-panel:first-child,
.order-item > .order-pricing:first-child,
.order-item > .payment-embed-shell:first-child,
.order-item > .agreement-viewer:first-child,
.order-item > .page-inventory-item:first-child,
.site-modal-card > .workflow-panel:first-child,
.site-modal-card > .order-pricing:first-child,
.site-modal-card > .payment-embed-shell:first-child,
.site-modal-card > .agreement-viewer:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.contact-card > .payment-embed-shell,
.workflow-panel > .payment-embed-shell,
.order-item > .payment-embed-shell,
.site-modal-card > .payment-embed-shell {
    gap: 12px;
}

.recovery-state-actions > .recovery-payment-option,
.recovery-state-actions > .recovery-payment-option:first-child {
    padding-top: 22px !important;
    padding-right: 18px !important;
    padding-bottom: 18px !important;
    padding-left: 18px !important;
}

.contact-card > .payment-embed-shell .payment-launch-button,
.workflow-panel > .payment-embed-shell .payment-launch-button,
.order-item > .payment-embed-shell .payment-launch-button,
.site-modal-card > .payment-embed-shell .payment-launch-button {
    width: auto;
    min-width: 220px;
}

.contact-card > .order-pricing,
.workflow-panel > .order-pricing,
.order-item > .order-pricing,
.site-modal-card > .order-pricing {
    display: grid;
    gap: 12px;
}

.contact-card > .agreement-viewer,
.workflow-panel > .agreement-viewer,
.order-item > .agreement-viewer,
.site-modal-card > .agreement-viewer {
    overflow: visible;
}

.contact-card > .agreement-viewer .agreement-viewer-top,
.workflow-panel > .agreement-viewer .agreement-viewer-top,
.order-item > .agreement-viewer .agreement-viewer-top,
.site-modal-card > .agreement-viewer .agreement-viewer-top {
    padding: 0 0 14px;
}

.contact-card > .agreement-viewer .agreement-viewer-scroll,
.workflow-panel > .agreement-viewer .agreement-viewer-scroll,
.order-item > .agreement-viewer .agreement-viewer-scroll,
.site-modal-card > .agreement-viewer .agreement-viewer-scroll {
    padding: 0;
}

@media (max-width: 760px) {
    .site-modal {
        align-items: flex-start;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 12px;
    }

    .site-modal-card {
        max-height: calc(100dvh - 24px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .roadmap-decision-modal-card {
        width: min(100%, 100%);
        padding: 24px 20px;
    }

    .roadmap-decision-modal-actions {
        grid-template-columns: 1fr;
    }

    .roadmap-decision-modal-embed {
        overflow: hidden;
        min-height: 0;
    }

    .consultation-admin-grid {
        grid-template-columns: 1fr;
    }

    .sales-consultations-panel .consultation-admin-grid {
        grid-template-columns: 1fr;
    }

    .consultation-scheduler {
        padding: 18px;
    }

    .consultation-scheduler-heading {
        display: grid;
        gap: 12px;
        margin-bottom: 20px;
    }

    .consultation-scheduler-layout {
        grid-template-columns: 1fr;
    }

    .consultation-availability-row {
        grid-template-columns: 1fr;
    }

    .consultation-time-range {
        grid-template-columns: 1fr;
    }

    .consultation-time-separator {
        text-align: center;
    }

    .consultation-blackout-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .booking-time-list {
        display: flex;
        flex-wrap: wrap;
    }
}

.site-footer {
    display: grid;
    grid-template-columns: minmax(240px, 1.2fr) minmax(0, 2fr);
    gap: 32px;
    padding: 28px 30px 30px;
    margin-bottom: 24px;
    background:
        radial-gradient(circle at 12% 22%, rgba(6, 10, 24, 0.26), transparent 28%),
        radial-gradient(circle at 86% 18%, rgba(255, 255, 255, 0.07), transparent 24%),
        var(--tab-blue-sheen),
        var(--tab-blue-gradient);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 26px;
    box-shadow: var(--shadow);
}

.site-footer img {
    width: 170px;
}

.site-footer p {
    font-size: 0.92rem;
    color: rgba(219, 226, 245, 0.78);
}

.footer-brand {
    display: grid;
    align-content: start;
    gap: 12px;
}

.footer-tagline,
.footer-copyright,
.footer-heading {
    margin: 0;
}

.footer-tagline {
    max-width: 28ch;
}

.footer-copyright {
    color: rgba(219, 226, 245, 0.62);
}

.footer-links {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 0.9fr) minmax(0, 1.2fr) minmax(0, 0.85fr);
    gap: 18px;
}

.footer-group {
    display: grid;
    align-content: start;
    gap: 10px;
    min-width: 0;
}

.footer-heading {
    font-family: "Sora", sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.58);
}

.footer-group a {
    position: relative;
    display: inline-block;
    width: fit-content;
    color: var(--ink);
    font-weight: 600;
    transition: color 0.2s ease;
}

.footer-group a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 2px;
    background: rgba(255, 255, 255, 0.85);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.2s ease;
}

.footer-group a:hover,
.footer-group a:focus-visible {
    color: white;
}

.footer-group a:hover::after,
.footer-group a:focus-visible::after {
    transform: scaleX(1);
}

.footer-legal-note {
    color: var(--muted-text);
    display: block;
    font-size: 0.82rem;
    line-height: 1.45;
}

.footer-legal-control {
    background: none;
    border: 0;
    color: var(--ink);
    cursor: pointer;
    font: inherit;
    font-weight: 600;
    padding: 0;
    text-align: left;
    width: fit-content;
}

.footer-legal-control:hover,
.footer-legal-control:focus-visible {
    color: white;
}

.footer-group-contact {
    gap: 12px;
    min-width: 0;
}

.footer-contact-link {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.footer-contact-link:hover,
.footer-contact-link:focus-visible {
    color: white;
}

@media (max-width: 980px) {
    .affiliate-dashboard-top-grid,
    .affiliate-profile-grid {
        grid-template-columns: 1fr;
    }

    .affiliate-revenue-panel-header {
        flex-direction: column;
    }

    .affiliate-revenue-toggle {
        justify-content: flex-start;
    }

    .affiliate-statements-panel-header,
    .affiliate-statement-action-form {
        grid-template-columns: 1fr;
        display: grid;
    }

    .affiliate-statements-panel-header {
        gap: 10px;
    }

    .affiliate-statement-payout-date {
        max-width: none;
        text-align: left;
    }

    .affiliate-statement-summary-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .affiliate-banner-editor {
        top: 14px;
        right: 14px;
    }

    .affiliate-banner-form {
        width: min(300px, calc(100vw - 36px));
    }

    .affiliate-statement-action-buttons {
        grid-template-columns: 1fr;
    }
}

.footer-contact-label {
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(219, 226, 245, 0.56);
}

.footer-contact-value {
    color: var(--ink);
    display: block;
    min-width: 0;
    font-size: 0.88rem;
    line-height: 1.45;
    white-space: nowrap;
}

@media (max-width: 1080px) {
    .home-quote-hero,
    .hero,
    .contact-section,
    .admin-dashboard-grid,
    .account-grid,
    .next-steps-layout,
    .order-page-layout,
    .order-grid,
    .templates-grid,
    .card-grid,
    .showcase-grid,
    .process-list,
    .pricing-grid {
        grid-template-columns: 1fr;
    }

    .builder-options.two-up,
    .builder-options.three-up,
    .template-choice-grid,
    .order-template-switcher,
    .order-flow-progress {
        grid-template-columns: 1fr;
    }

    .revenue-kpi-grid,
    .revenue-simulator-grid,
    .revenue-guide-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .qr-generator-action-row .button {
        flex: 1 1 220px;
    }

    .qr-generator-asset-actions .button {
        flex: 1 1 180px;
    }

    .admin-filter-grid {
        grid-template-columns: 1fr;
    }

    .homepage-process-main {
        grid-template-columns: 1fr;
    }

    .admin-orders-type-switcher,
    .admin-orders-status-switcher {
        flex-direction: column;
    }

    .admin-orders-tab-button {
        width: 100%;
        justify-content: flex-start;
    }

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

    .admin-filter-field {
        grid-template-columns: 1fr;
    }

    .account-summary-grid {
        grid-template-columns: 1fr;
    }

    .hero-panel {
        min-height: 460px;
    }

    .trusted-strip,
    .site-footer,
    .site-header {
        flex-direction: column;
        align-items: flex-start;
    }

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

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

@media (max-width: 720px) {
    .admin-tool-nav {
        grid-template-columns: 1fr;
    }

    .site-header,
    .hero,
    .page-hero,
    .trusted-strip,
    .section,
    .site-footer {
        width: min(100% - 28px, 1180px);
    }

    .site-header {
        position: sticky;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        top: 8px;
        gap: 16px;
        padding: 16px;
        border-radius: 22px;
    }

    .site-header.is-condensed {
        top: 6px;
        padding: 14px;
        border-radius: 18px;
    }

    .revenue-kpi-grid,
    .revenue-simulator-grid,
    .revenue-guide-grid,
    .revenue-simulation-row {
        grid-template-columns: 1fr;
    }

    .revenue-chart-label-row,
    .revenue-volume-chart {
        gap: 6px;
    }

    .brand img,
    .site-header.is-condensed .brand img {
        width: 210px;
        transform: scale(1.14);
    }

    .brand {
        display: flex;
        align-items: center;
    }

    .site-nav {
        width: 100%;
        display: none;
        grid-template-columns: 1fr;
        gap: 10px;
        padding-top: 12px;
    }

    .site-header.is-nav-open .site-nav {
        display: grid;
    }

    .site-header.is-nav-open .brand {
        margin: 0 auto;
    }

    .nav-toggle {
        display: inline-flex;
        flex: 0 0 auto;
        margin-left: 0;
    }

    .site-header.is-nav-open .nav-toggle {
        position: absolute;
        top: 16px;
        right: 16px;
    }

    .site-nav a,
    .nav-dropdown-toggle {
        width: 100%;
        justify-content: center;
        padding: 12px 14px;
        text-align: center;
    }

    .site-header.is-condensed .site-nav a,
    .site-header.is-condensed .nav-dropdown-toggle {
        padding: 11px 12px;
    }

    .site-nav a::after {
        display: none;
    }

    .nav-dropdown {
        width: 100%;
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .nav-dropdown::after {
        display: none;
    }

    .nav-dropdown-menu {
        position: static;
        left: 0;
        right: 0;
        min-width: 0;
        border-radius: 18px;
        margin-top: 8px;
    }

    .hero {
        gap: 22px;
        padding-top: 30px;
        padding-bottom: 38px;
    }

    .hero-panel {
        display: grid;
        gap: 16px;
        min-height: 0;
    }

    .window-card {
        position: relative;
        border-radius: 24px;
    }

    .window-card-large,
    .window-card-small {
        inset: auto;
        right: auto;
        bottom: auto;
        width: 100%;
        padding: 20px;
    }

    .window-card-large {
        min-height: 0;
    }

    .window-card-small {
        max-width: 100%;
    }

    .metric-row {
        grid-template-columns: 1fr;
    }

    .window-content p {
        max-width: 100%;
        font-size: 1.15rem;
    }

    .trusted-strip {
        padding: 18px;
    }

    .trusted-tags {
        justify-content: flex-start;
    }

    .builder-progress-top,
    .summary-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .section {
        padding: 72px 0;
    }

    .builder-card,
    .info-card,
    .contact-card,
    .showcase-card,
    .process-step {
        padding: 22px;
        border-radius: 24px;
    }

    .builder-launch,
    .hero-actions,
    .builder-actions {
        display: grid;
        gap: 12px;
    }

    .builder-launch .button,
    .hero-actions .button,
    .builder-actions .button,
    .builder-actions button {
        width: 100%;
    }

    .builder-actions .button,
    .builder-actions button,
    .builder-launch-button {
        min-width: 0;
    }

    .builder-option {
        padding: 16px 18px;
        border-radius: 20px;
    }

    .builder-step h3 {
        font-size: 1.45rem;
    }

    .builder-contact-grid {
        grid-template-columns: 1fr;
    }

    .comparison-wrap {
        border-radius: 24px;
    }

    .contact-form button {
        width: 100%;
        align-self: stretch;
    }

    .contact-section {
        gap: 18px;
    }

    .site-footer {
        padding: 18px;
        border-radius: 22px;
    }

    .admin-tool-nav-group {
        gap: 0;
        padding: 14px 16px;
        border-radius: 20px;
    }

    .admin-tool-nav-group-heading {
        min-height: 0;
        grid-template-columns: minmax(0, 1fr) auto 16px;
        gap: 6px 10px;
        padding-right: 0;
        cursor: pointer;
    }

    .admin-tool-nav-group-heading::after {
        display: block;
        grid-column: 3;
        grid-row: 1 / span 2;
        align-self: start;
        justify-self: center;
        margin-top: 4px;
    }

    .admin-tool-nav-group[open] .admin-tool-nav-group-heading::after {
        transform: rotate(225deg) translate(-2px, -2px);
    }

    .admin-tool-nav-label {
        grid-column: 1;
        grid-row: 1;
    }

    .admin-tool-nav-count {
        grid-column: 2;
        grid-row: 1;
        padding: 5px 9px;
        font-size: 0.68rem;
    }

    .admin-tool-nav-copy {
        grid-column: 1 / 3;
        grid-row: 2;
        margin-top: 2px;
        font-size: 0.86rem;
    }

    .admin-tool-nav-group:not([open]) .admin-tool-nav-links {
        display: none;
    }

    .admin-tool-nav-group .admin-tool-nav-links {
        padding-top: 10px;
        margin-top: 10px;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

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

    .section-dark {
        padding: 42px 22px;
        border-radius: 28px;
    }

    h1 {
        max-width: 100%;
    }
}

/* Keep all five Admin category cards on one wide-desktop row whenever the
   available width can support them; the existing tablet/mobile breakpoints
   continue to stack them progressively. */
@media (min-width: 961px) {
    .admin-tool-nav {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1181px) {
    .admin-tool-nav {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

/* Client navigation has two categories; keep the later Admin-wide column
   rules from compressing these cards and forcing tab labels outside pills. */
@media (min-width: 721px) {
    .admin-tool-nav.client-account-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .client-account-nav .admin-tool-link {
        padding-inline: 8px;
        font-size: .86rem;
        white-space: nowrap;
    }
}

@media (max-width: 720px) {
    .admin-tool-nav.client-account-nav {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .client-account-nav .admin-tool-nav-links {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .site-header,
    .hero,
    .page-hero,
    .trusted-strip,
    .section,
    .site-footer {
        width: min(100% - 20px, 1180px);
    }

    .site-header {
        padding: 14px;
        margin-top: 12px;
    }

    .site-header.is-nav-open .nav-toggle {
        top: 14px;
        right: 14px;
    }

    .brand img,
    .site-header.is-condensed .brand img {
        width: 188px;
        transform: scale(1);
    }

    .page-hero {
        padding: 48px 0 26px;
    }

    .page-hero h1 {
        max-width: 9ch;
        font-size: clamp(2rem, 10.5vw, 3rem);
        line-height: 1.02;
        letter-spacing: -0.04em;
    }

    h1 {
        font-size: clamp(2.35rem, 12vw, 3.4rem);
    }

    h2 {
        font-size: clamp(1.8rem, 8vw, 2.5rem);
    }

    .hero-text,
    .page-intro {
        font-size: 1rem;
    }

    .page-intro {
        margin-top: 18px;
        max-width: 30ch;
        line-height: 1.65;
    }

    .hero-points li,
    .trusted-tags span {
        width: 100%;
        text-align: center;
    }

    .builder-card {
        padding: 18px;
    }

    .builder-progress-bar {
        height: 10px;
    }

    .builder-step h3 {
        font-size: 1.28rem;
    }

    .summary-row strong,
    .summary-row-total strong,
    .summary-total {
        font-size: 1.1rem;
    }

    .contact-direct,
    .order-pricing {
        padding: 14px;
    }

    .comparison-table th,
    .comparison-table td {
        padding: 15px 14px;
    }

    .comparison-wrap {
        overflow: visible;
        padding: 0;
        border-radius: 24px;
    }

    .comparison-table {
        display: block;
        width: 100%;
        min-width: 0;
        border-collapse: separate;
        border-spacing: 0;
        table-layout: fixed;
        background: transparent;
    }

    .comparison-table thead {
        display: none;
    }

    .comparison-table,
    .comparison-table tbody,
    .comparison-table tr,
    .comparison-table th,
    .comparison-table td {
        display: block;
        width: 100%;
    }

    .comparison-table tbody {
        display: grid;
        gap: 14px;
        padding: 14px;
        width: 100%;
    }

    .comparison-table tbody tr {
        display: grid;
        gap: 10px;
        padding: 16px;
        width: 100%;
        margin: 0;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 22px;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.028));
    }

    .comparison-table tbody th {
        padding: 0 0 12px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        margin-bottom: 2px;
        font-size: 1.2rem;
        line-height: 1.25;
    }

    .comparison-table tbody td {
        display: grid;
        gap: 8px;
        padding: 12px 14px;
        width: 100%;
        min-width: 0;
        margin: 0;
        border: 1px solid rgba(255, 255, 255, 0.07);
        border-bottom: 0;
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.035);
        text-align: left;
        overflow-wrap: anywhere;
    }

    .comparison-table tbody td:last-child {
        padding-bottom: 12px;
    }

    .comparison-table tbody td::before {
        content: attr(data-label);
        display: block;
        color: rgba(219, 226, 245, 0.75);
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        text-align: left;
    }

    .comparison-table .plan-premium-cell {
        border-color: rgba(104, 168, 255, 0.22);
        background: linear-gradient(180deg, rgba(92, 154, 255, 0.14), rgba(92, 154, 255, 0.08));
    }

    .comparison-table .table-mark {
        min-width: 32px;
        min-height: 32px;
    }

    .comparison-table .comparison-price,
    .comparison-table .sale-price-stack {
        gap: 6px;
    }
}

@media (max-width: 1080px) {
    .site-header {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }

    .brand {
        min-width: 0;
    }

    .site-nav {
        flex-wrap: wrap;
        justify-content: flex-end;
        min-width: 0;
    }

    .page-hero h1,
    .section-heading,
    .builder-launch-copy,
    .pricing-note,
    .pricing-sale-banner {
        max-width: 100%;
    }

    .window-content {
        min-height: 0;
    }

    .window-content p {
        max-width: 100%;
    }
}

@media (max-width: 820px) {
    .hero,
    .page-hero,
    .contact-section,
    .section-heading,
    .builder-card,
    .info-card,
    .contact-card,
    .showcase-card,
    .process-step,
    .pricing-sale-banner,
    .pricing-note {
        min-width: 0;
    }

    .window-card-large {
        inset: 0 18px 42px 0;
    }

    .window-card-small {
        width: 54%;
        padding: 20px;
    }

    .contact-hero,
    .contact-section {
        grid-template-columns: minmax(0, 1fr);
    }

    .contact-hero {
        gap: 22px;
    }

    .contact-hero-copy,
    .contact-copy {
        justify-content: flex-start;
    }

    .contact-hero-form-card,
    .contact-info-card {
        width: 100%;
        max-width: none;
        height: auto;
    }

    .window-content {
        display: grid;
        gap: 18px;
        align-content: start;
    }

    .window-content-top,
    .window-content-middle {
        position: static;
        transform: none;
    }

    .window-content p {
        font-size: 1.22rem;
        line-height: 1.3;
    }

    .pricing-sale-banner,
    .builder-input-panel {
        padding-inline: 24px;
    }

    .pricing-sale-banner {
        gap: 0;
    }

    .comparison-table {
        min-width: 640px;
    }

    .affiliate-application-highlights,
    .affiliate-application-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .affiliate-application-card {
        width: 100%;
    }
}

@media (max-width: 960px) {
    .hero {
        grid-template-columns: 1fr;
        gap: 28px;
        align-items: start;
        padding-top: 34px;
        padding-bottom: 46px;
    }

    .hero-copy {
        max-width: 100%;
    }

    .hero-panel {
        display: grid;
        gap: 18px;
        min-height: 0;
    }

    .window-card {
        position: relative;
    }

    .window-card-large,
    .window-card-small {
        inset: auto;
    }

    .window-card-large {
        width: 100%;
        min-height: 0;
        padding: 22px;
    }

    .window-card-small {
        justify-self: end;
        width: min(72%, 420px);
        padding: 22px;
    }

    .window-content {
        display: grid;
        gap: 18px;
        min-height: 0;
        align-content: start;
    }

    .window-content-top,
    .window-content-middle {
        position: static;
        transform: none;
    }

    .window-content p {
        max-width: 100%;
        font-size: 1.18rem;
        line-height: 1.28;
    }
}

@media (max-width: 1080px) {
    select,
    option,
    optgroup {
        font-family: "Manrope", sans-serif !important;
        font-size: 16px !important;
        line-height: 1.35 !important;
    }

    select {
        box-sizing: border-box;
        display: block;
        width: 100%;
        max-width: 100%;
        min-height: 52px;
        padding: 0 12px;
        border-radius: 14px;
        appearance: auto !important;
        -webkit-appearance: menulist !important;
        -moz-appearance: menulist !important;
        background-image: none !important;
        text-indent: 0 !important;
        text-overflow: ellipsis;
        transform: none !important;
        filter: none !important;
    }

}

@media (max-width: 720px) {
    .site-header {
        align-items: center;
    }

    .site-nav,
    .nav-dropdown-menu,
    .nav-dropdown-menu a,
    .hero-copy,
    .contact-copy,
    .footer-brand,
    .footer-group {
        min-width: 0;
    }

    .window-card-small {
        display: none;
    }

    .window-card-large {
        padding: 18px;
    }

    .window-content {
        gap: 14px;
    }

    .window-content p {
        font-size: 1.08rem;
    }

    .comparison-wrap {
        overflow: visible;
        padding: 0;
        border-radius: 24px;
    }

    .comparison-table {
        display: block;
        width: 100%;
        min-width: 0;
        border-collapse: separate;
        border-spacing: 0;
        table-layout: fixed;
        background: transparent;
    }

    .comparison-table thead {
        display: none;
    }

    .comparison-table,
    .comparison-table tbody,
    .comparison-table tr,
    .comparison-table th,
    .comparison-table td {
        display: block;
        width: 100%;
    }

    .comparison-table tbody {
        display: grid;
        gap: 14px;
        width: 100%;
        padding: 14px;
    }

    .comparison-table tbody tr {
        display: grid;
        gap: 10px;
        width: 100%;
        margin: 0;
        padding: 16px;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 22px;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.028));
    }

    .comparison-table tbody th {
        width: auto;
        max-width: none;
        min-width: 0;
        padding: 0 0 12px;
        margin-bottom: 2px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        font-size: 1.2rem;
        line-height: 1.25;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .comparison-table tbody td {
        display: grid;
        width: 100%;
        min-width: 0;
        margin: 0;
        gap: 8px;
        padding: 12px 14px;
        border: 1px solid rgba(255, 255, 255, 0.07);
        border-bottom: 0;
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.035);
        text-align: left;
        overflow-wrap: anywhere;
    }

    .comparison-table tbody td::before {
        content: attr(data-label);
        display: block;
        color: rgba(219, 226, 245, 0.75);
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        text-align: left;
    }

    .comparison-table .plan-premium-cell {
        border-color: rgba(104, 168, 255, 0.22);
        background: linear-gradient(180deg, rgba(92, 154, 255, 0.14), rgba(92, 154, 255, 0.08));
    }

    .comparison-table .table-mark {
        min-width: 32px;
        min-height: 32px;
    }

    .comparison-table .comparison-price,
    .comparison-table .sale-price-stack {
        gap: 6px;
    }

    .order-templates-panel {
        gap: 14px;
    }

    .template-side-list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .template-side-card {
        gap: 10px;
        padding: 16px;
        border-radius: 18px;
    }

    .template-side-card-top {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .template-side-card-top span {
        text-align: left;
    }

    .template-side-card-description,
    .template-side-card-ideal {
        display: block;
        overflow: visible;
        -webkit-line-clamp: unset;
        line-clamp: unset;
    }

    .order-templates-panel .template-side-card-description {
        display: none;
    }

    .order-templates-panel .template-side-card-ideal {
        display: none;
    }

    .template-side-hover-preview {
        display: none;
    }

    .order-form select,
    .order-form-card select,
    .auth-form select,
    .admin-select,
    .roadmap-public-controls select,
    .pricing-admin-field > select,
    .site-modal-field select {
        box-sizing: border-box;
        display: block;
        width: 100%;
        min-height: 52px;
        padding: 0 12px;
        border: 1px solid rgba(255, 255, 255, 0.16);
        border-radius: 14px;
        background: rgb(49, 57, 73);
        background-image: none !important;
        color: var(--ink);
        color-scheme: dark;
        font-family: "Manrope", sans-serif;
        font-size: 16px;
        line-height: 1.35;
        appearance: menulist !important;
        -webkit-appearance: menulist !important;
        -moz-appearance: menulist !important;
        transform: none !important;
        filter: none !important;
        box-shadow: none;
    }

    .form-name-grid {
        grid-template-columns: 1fr;
    }

    .services-process-list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .services-process-list .process-step {
        padding: 20px;
    }

    .services-process-list .process-step h3 {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .button,
    .contact-form button,
    .builder-actions .button,
    .builder-actions button,
    .builder-launch .button,
    .hero-actions .button {
        white-space: normal;
        text-align: center;
    }

    .contact-card .button,
    .contact-consultation-button {
        width: 100%;
    }

    .contact-direct {
        gap: 12px;
        padding: 16px;
    }

    .pricing-sale-banner {
        border-radius: 24px;
    }

    .pricing-sale-banner-strip {
        padding: 16px 18px 18px;
    }

    .pricing-sale-banner-countdown {
        width: 100%;
    }

    .pricing-sale-banner-media img {
        aspect-ratio: 16 / 9;
    }

    .pricing-card {
        gap: 0;
        overflow: hidden;
    }

    .pricing-card-summary {
        position: relative;
        gap: 10px;
        padding-right: 38px;
        cursor: pointer;
    }

    .pricing-card-summary::after {
        content: "";
        position: absolute;
        top: 10px;
        right: 0;
        width: 12px;
        height: 12px;
        border-right: 2px solid rgba(244, 247, 255, 0.82);
        border-bottom: 2px solid rgba(244, 247, 255, 0.82);
        transform: rotate(45deg);
        transition: transform 0.2s ease;
    }

    .pricing-card[open] .pricing-card-summary::after {
        transform: rotate(225deg) translate(-2px, -2px);
    }

    .pricing-card-body {
        padding-top: 16px;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    .pricing-card:not([open]) .pricing-card-body {
        display: none;
    }

    .pricing-card .pricing-value {
        margin: 0;
    }
}

.site-select-shell {
    position: relative;
    display: block;
    width: 100%;
}

.site-select-native {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    opacity: 0.0001 !important;
    pointer-events: none !important;
    z-index: 0;
}

.site-select-proxy {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 54px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(31, 39, 55, 0.98) 0%, rgba(24, 30, 42, 0.98) 100%);
    color: var(--ink);
    font: inherit;
    line-height: 1.35;
    text-align: left;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 12px 24px rgba(8, 13, 22, 0.14);
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.site-select-proxy::after {
    content: "";
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    margin-left: auto;
    border-right: 2px solid rgba(219, 226, 245, 0.88);
    border-bottom: 2px solid rgba(219, 226, 245, 0.88);
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.18s ease;
}

.site-select-proxy[aria-expanded="true"]::after {
    transform: rotate(225deg) translate(-2px, -2px);
}

.site-select-proxy:hover,
.site-select-proxy:focus-visible,
.site-select-shell:focus-within .site-select-proxy {
    border-color: rgba(124, 182, 255, 0.42);
    box-shadow:
        0 0 0 3px rgba(104, 164, 255, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    outline: none;
}

.site-select-proxy.is-placeholder .site-select-proxy-value {
    color: rgba(219, 226, 245, 0.68);
}

.site-select-proxy.is-invalid {
    border-color: rgba(255, 110, 110, 0.52);
    box-shadow:
        0 0 0 3px rgba(255, 110, 110, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.site-select-proxy.is-disabled,
.site-select-proxy:disabled {
    opacity: 0.62;
    cursor: not-allowed;
    box-shadow: none;
}

.site-select-proxy-value {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-select-sheet[hidden] {
    display: none !important;
}

.site-select-sheet {
    position: fixed;
    inset: 0;
    z-index: 1600;
    display: grid;
    place-items: center;
    padding: 24px;
}

.site-select-sheet-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(6, 10, 18, 0.72);
    backdrop-filter: blur(10px);
}

.site-select-sheet-card {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 16px;
    width: min(100%, 560px);
    max-height: min(78vh, 720px);
    padding: 20px;
    border: 1px solid var(--line-soft);
    border-radius: 28px;
    background: var(--surface-primary);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.site-select-sheet-top {
    display: grid;
    gap: 6px;
}

.site-select-sheet-eyebrow {
    margin: 0;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(219, 226, 245, 0.58);
}

.site-select-sheet-title {
    margin: 0;
    font-size: 1.35rem;
}

.site-select-sheet-list {
    display: grid;
    gap: 10px;
    min-height: 0;
    overflow: auto;
    padding-right: 2px;
    overscroll-behavior: contain;
}

.site-select-sheet-group {
    margin: 6px 0 0;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(171, 201, 255, 0.8);
}

.site-select-sheet-option {
    display: grid;
    gap: 4px;
    width: 100%;
    padding: 15px 16px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.035);
    color: var(--ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.site-select-sheet-option small {
    color: rgba(219, 226, 245, 0.64);
    font-size: 0.84rem;
}

.site-select-sheet-option.is-selected {
    border-color: rgba(104, 168, 255, 0.34);
    background:
        radial-gradient(circle at top right, rgba(92, 154, 255, 0.14), transparent 46%),
        linear-gradient(180deg, rgba(43, 67, 111, 0.94), rgba(28, 40, 62, 0.96));
}

.site-select-sheet-option:hover,
.site-select-sheet-option:focus-visible {
    border-color: rgba(124, 182, 255, 0.42);
    background: rgba(255, 255, 255, 0.06);
    transform: translateY(-1px);
    outline: none;
}

.site-select-sheet-option:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

.site-select-sheet-empty {
    margin: 0;
    padding: 16px;
    border: 1px dashed rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    color: rgba(219, 226, 245, 0.72);
}

.site-select-sheet-close {
    width: 100%;
}

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

.tab-assistant {
    position: fixed;
    right: 22px;
    bottom: calc(24px + var(--floating-cookie-offset));
    z-index: 1450;
    display: grid;
    justify-items: end;
    gap: 14px;
}

.tab-assistant.is-open .tab-assistant-launch {
    box-shadow: 0 18px 40px rgba(4, 10, 23, 0.28);
}

.tab-assistant-launch {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 66px;
    padding: 10px 16px;
    border: 1px solid rgba(126, 176, 255, 0.24);
    border-radius: 999px;
    background:
        radial-gradient(circle at top left, rgba(116, 170, 255, 0.22), transparent 54%),
        linear-gradient(135deg, rgba(33, 61, 120, 0.96), rgba(21, 38, 86, 0.98));
    color: rgb(244, 247, 255);
    box-shadow: 0 22px 46px rgba(4, 10, 23, 0.34);
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.tab-assistant-launch:hover,
.tab-assistant-launch:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(144, 188, 255, 0.42);
    box-shadow: 0 22px 50px rgba(4, 10, 23, 0.42);
    outline: none;
}

.tab-assistant-launch-avatar,
.tab-assistant-avatar {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    overflow: hidden;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
}

.tab-assistant-launch-avatar {
    width: 68px;
    height: 68px;
}

.tab-assistant-avatar {
    width: 52px;
    height: 52px;
    border: 1px solid rgba(133, 182, 255, 0.18);
    box-shadow: 0 10px 24px rgba(5, 10, 20, 0.28);
}

.tab-assistant-launch-avatar img,
.tab-assistant-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 24%;
    transform: scale(1.18);
}

.tab-assistant-launch-copy {
    display: grid;
    gap: 2px;
    text-align: left;
}

.tab-assistant-launch-eyebrow,
.tab-assistant-eyebrow {
    margin: 0;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(181, 210, 255, 0.92);
}

.tab-assistant-launch-copy strong {
    font-size: 1.2rem;
    line-height: 1.05;
    color: rgb(248, 250, 255);
}

.tab-assistant-panel {
    width: min(430px, calc(100vw - 24px));
    height: min(680px, max(360px, calc(100dvh - 118px - var(--floating-cookie-offset))));
    max-height: min(680px, max(360px, calc(100dvh - 118px - var(--floating-cookie-offset))));
}

.tab-assistant-card {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    height: 100%;
    max-height: 100%;
    min-height: 0;
    gap: 12px;
    padding: 14px 14px 16px;
    border: 1px solid rgba(125, 174, 255, 0.12);
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(92, 146, 244, 0.1), transparent 44%),
        linear-gradient(180deg, rgba(15, 20, 30, 0.92), rgba(11, 15, 22, 0.95));
    backdrop-filter: blur(16px);
    box-shadow: 0 28px 60px rgba(5, 8, 16, 0.42);
}

.tab-assistant-top {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    justify-content: space-between;
}

.tab-assistant-expanded-contact {
    display: none;
    min-width: 0;
    max-height: min(42vh, 360px);
    overflow-y: auto;
    padding: 2px 0 6px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.tab-assistant.is-expanded .tab-assistant-expanded-contact {
    display: block;
}

.tab-assistant-contact-identity {
    display: grid;
    justify-items: center;
    gap: 5px;
    text-align: center;
}

.tab-assistant-expanded-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    padding: 7px;
    border: 1px solid rgba(116, 169, 255, 0.35);
    border-radius: 50%;
    background: linear-gradient(145deg, rgba(57, 112, 221, 0.42), rgba(12, 22, 47, 0.9));
    box-shadow: 0 12px 24px rgba(5, 10, 25, 0.28);
}

.tab-assistant-expanded-avatar img {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
}

.tab-assistant-expanded-name,
.tab-assistant-expanded-subtitle {
    margin: 0;
}

.tab-assistant-expanded-name {
    color: var(--ink);
    font-family: "Sora", sans-serif;
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 1.15;
}

.tab-assistant-expanded-subtitle {
    color: var(--ink-soft);
    font-size: 1.12rem;
    line-height: 1.3;
}

.tab-assistant-contact-details-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 26px;
    padding: 3px 8px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgb(168, 204, 255);
    font: inherit;
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
}

.tab-assistant-contact-details-toggle:hover,
.tab-assistant-contact-details-toggle:focus-visible {
    background: rgba(116, 169, 255, 0.1);
    outline: none;
}

.tab-assistant-contact-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 0;
}

.tab-assistant-contact-options {
    display: grid;
    gap: 10px;
    margin-top: 10px;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transform: translateY(-4px);
    transition: max-height 160ms ease, opacity 160ms ease, transform 160ms ease;
    transform-origin: top center;
}

.tab-assistant-contact-options.is-visible {
    max-height: 360px;
    opacity: 1;
    transform: translateY(0);
}

.tab-assistant-contact-options[hidden] {
    display: none !important;
}

.tab-assistant-contact-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 84px;
    min-height: 42px;
    padding: 7px 13px;
    border: 1px solid rgba(116, 169, 255, 0.2);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.035);
    color: var(--ink);
    font: inherit;
    font-size: 0.84rem;
    font-weight: 800;
    cursor: pointer;
}

.tab-assistant-contact-action[hidden] {
    display: none !important;
}

.tab-assistant-contact-action:hover,
.tab-assistant-contact-action:focus-visible {
    border-color: rgba(142, 188, 255, 0.5);
    background: rgba(116, 169, 255, 0.12);
    outline: none;
}

.tab-assistant-contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: rgba(68, 128, 240, 0.2);
    color: rgb(168, 204, 255);
    font-size: 0.95rem;
}

.tab-assistant-contact-icon svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
}

.tab-assistant-title-wrap {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.tab-assistant-top h3,
.tab-assistant-top p,
.tab-assistant-message p {
    margin: 0;
}

.tab-assistant-subtitle {
    margin-top: 6px !important;
    color: rgba(223, 231, 246, 0.72);
    font-size: 0.95rem;
    line-height: 1.55;
}

.tab-assistant-top-actions {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}

.tab-assistant-menu-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(116, 169, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    color: rgb(241, 246, 255);
    font: inherit;
    cursor: pointer;
}

.tab-assistant-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 3;
    display: grid;
    gap: 6px;
    min-width: 186px;
    padding: 10px;
    border-radius: 18px;
    border: 1px solid rgba(116, 169, 255, 0.18);
    background: rgba(15, 21, 36, 0.98);
    box-shadow: 0 18px 28px rgba(6, 11, 22, 0.42);
}

.tab-assistant-menu-heading {
    margin: 2px 4px 4px;
    color: rgba(181, 210, 255, 0.92);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tab-assistant-menu[hidden] {
    display: none !important;
}

.tab-assistant-menu-item {
    width: 100%;
    min-height: 40px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.03);
    color: rgb(241, 246, 255);
    text-align: left;
    font: inherit;
    cursor: pointer;
}

.tab-assistant-menu-item:hover,
.tab-assistant-menu-item:focus-visible {
    border-color: rgba(142, 188, 255, 0.34);
    background: rgba(255, 255, 255, 0.08);
    outline: none;
}

.tab-assistant-close {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: rgb(243, 247, 255);
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
}

.tab-assistant-expand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    min-width: 38px;
    min-height: 38px;
    padding: 0;
    border: 1px solid rgba(116, 169, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    color: rgb(241, 246, 255);
    font: inherit;
    font-size: 0;
    font-weight: 700;
    cursor: pointer;
}

.tab-assistant-expand::before {
    content: "↗";
    font-size: 1rem;
    line-height: 1;
}

.tab-assistant-expand:hover,
.tab-assistant-expand:focus-visible {
    border-color: rgba(142, 188, 255, 0.34);
    background: rgba(255, 255, 255, 0.08);
    outline: none;
}

.tab-assistant.is-expanded .tab-assistant-expand::before {
    content: "↙";
}

.tab-assistant-body {
    min-height: 0;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    display: block;
    padding: 4px 4px 18px 0;
    scroll-behavior: auto;
}

.tab-assistant-body > [data-tab-log],
.tab-assistant-body > [data-tab-actions],
.tab-assistant-body > [data-tab-workflow],
.tab-assistant-body > .tab-assistant-prompts {
    width: 100%;
    margin: 0 0 12px;
}

.tab-assistant-body > [data-tab-actions][hidden],
.tab-assistant-body > [data-tab-workflow][hidden],
.tab-assistant-body > .tab-assistant-prompts[hidden] {
    display: none !important;
}

.tab-assistant-footer {
    min-width: 0;
    display: grid;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    background: linear-gradient(180deg, rgba(11, 15, 22, 0.7), rgba(11, 15, 22, 0.96) 24%);
}

.tab-assistant-page-locked {
    overflow: hidden;
}

.tab-assistant.is-expanded {
    display: block;
    inset: 0;
    right: auto;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 100dvh;
    padding: clamp(10px, 3vw, 34px);
    place-items: center;
    background: rgba(5, 9, 18, 0.72);
}

.tab-assistant.is-expanded .tab-assistant-launch {
    display: none;
}

.tab-assistant.is-expanded .tab-assistant-panel {
    width: min(1180px, 100%);
    height: 100%;
    max-height: none;
    margin: 0 auto;
}

.tab-assistant.is-expanded .tab-assistant-top {
    justify-content: flex-end;
}

.tab-assistant.is-expanded .tab-assistant-title-wrap {
    display: none;
}

.tab-assistant.is-expanded .tab-assistant-card {
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    width: 100%;
    height: 100%;
    max-height: none;
    padding: clamp(16px, 3vw, 28px);
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(92, 146, 244, 0.12), transparent 38%),
        linear-gradient(180deg, rgba(10, 16, 28, 0.98), rgba(7, 12, 21, 0.99));
}

.tab-assistant.is-expanded .tab-assistant-body {
    width: min(880px, 100%);
    max-height: none;
    margin: 0 auto;
    padding: 10px 12px 28px 4px;
}

.tab-assistant.is-expanded .tab-assistant-footer {
    width: min(880px, 100%);
    margin: 0 auto;
}

.tab-assistant-log {
    display: grid;
    gap: 10px;
    min-height: 0;
    overflow: visible;
    padding: 0 0 2px;
}

.tab-assistant-message {
    display: grid;
    gap: 8px;
    width: fit-content;
    max-width: min(86%, 680px);
    padding: 13px 15px;
    border-radius: 22px;
}

.tab-assistant-message.is-assistant {
    border: 1px solid rgba(122, 168, 245, 0.08);
    background: rgba(255, 255, 255, 0.03);
}

.tab-assistant-message.is-user {
    justify-self: end;
    margin-left: auto;
    border: 1px solid rgba(114, 169, 255, 0.14);
    background: linear-gradient(135deg, rgba(43, 75, 142, 0.9), rgba(28, 49, 100, 0.94));
}

.tab-assistant-message.is-typing {
    border-style: dashed;
    opacity: 0.92;
}

.tab-assistant-typing {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(227, 235, 249, 0.82);
}

.tab-assistant-typing-label {
    font-size: 0.94rem;
    font-weight: 600;
}

.tab-assistant-typing-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(173, 204, 255, 0.88);
    animation: tab-assistant-dot-pulse 1.15s ease-in-out infinite;
}

.tab-assistant-typing-dot:nth-child(2) {
    animation-delay: 0.12s;
}

.tab-assistant-typing-dot:nth-child(3) {
    animation-delay: 0.24s;
}

.tab-assistant-typing-dot:nth-child(4) {
    animation-delay: 0.36s;
}

@keyframes tab-assistant-dot-pulse {
    0%,
    80%,
    100% {
        transform: translateY(0);
        opacity: 0.35;
    }

    40% {
        transform: translateY(-2px);
        opacity: 1;
    }
}

.tab-assistant-prompts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tab-assistant-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tab-assistant-workflow {
    display: block;
}

.tab-assistant-workflow-card {
    display: grid;
    gap: 12px;
    padding: 14px 15px;
    border-radius: 24px;
    border: 1px solid rgba(122, 168, 245, 0.08);
    background: rgba(255, 255, 255, 0.03);
}

.tab-assistant-workflow-card h4,
.tab-assistant-workflow-card p,
.tab-assistant-workflow-card strong,
.tab-assistant-workflow-card span,
.tab-assistant-workflow-card small {
    margin: 0;
}

.tab-assistant-draft-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tab-assistant-draft-card {
    display: grid;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 18px;
    border: 1px solid rgba(116, 169, 255, 0.18);
    background: rgba(255, 255, 255, 0.03);
}

.tab-assistant-draft-card textarea {
    width: 100%;
    min-height: 108px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
    color: rgb(244, 247, 255);
    font: inherit;
    resize: vertical;
}

.tab-assistant-draft-preview {
    white-space: pre-wrap;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    line-height: 1.55;
}

.tab-assistant-workflow-card.is-highlight {
    border-color: rgba(116, 169, 255, 0.2);
    background: rgba(68, 105, 178, 0.16);
}

.tab-assistant-workflow-card.is-paused {
    border-color: rgba(255, 205, 116, 0.22);
    background: rgba(104, 74, 29, 0.16);
}

.tab-assistant-workflow-card.is-paused .tab-assistant-eyebrow {
    color: rgb(255, 214, 137);
}

.tab-assistant-choice-list,
.tab-assistant-summary-list,
.tab-assistant-multi-list {
    display: grid;
    gap: 8px;
}

.tab-assistant-choice {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
    flex-direction: column;
    align-items: flex-start;
    border-radius: 18px;
}

.tab-assistant-choice small,
.tab-assistant-multi-option small {
    color: rgba(223, 231, 246, 0.72);
    line-height: 1.45;
}

.tab-assistant-field {
    display: grid;
    gap: 10px;
}

.tab-assistant-field input,
.tab-assistant-field textarea {
    width: 100%;
    min-height: 52px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.03);
    color: rgb(244, 247, 255);
    font: inherit;
}

.tab-assistant-field textarea {
    min-height: 108px;
    resize: vertical;
}

.tab-assistant-field input:focus,
.tab-assistant-field textarea:focus {
    border-color: rgba(135, 184, 255, 0.34);
    box-shadow: 0 0 0 3px rgba(100, 154, 255, 0.14);
    outline: none;
}

.tab-assistant-summary-item {
    display: grid;
    gap: 6px;
    padding: 12px 14px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
}

.tab-assistant-summary-item strong {
    color: rgb(248, 250, 255);
}

.tab-assistant-summary-item .tab-assistant-action {
    justify-self: start;
}

.tab-assistant-multi-option {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 12px 14px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
}

.tab-assistant-multi-option.is-included {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    border-color: rgba(115, 190, 150, 0.2);
    background: rgba(56, 122, 91, 0.12);
}

.tab-assistant-multi-option.is-included input {
    width: 19px;
    height: 19px;
    margin: 1px 0 0;
    accent-color: rgb(99, 157, 255);
}

.tab-assistant-multi-option.is-unavailable {
    width: 100%;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    color: rgba(231, 237, 248, 0.84);
    text-align: left;
    cursor: pointer;
    border-style: dashed;
    border-color: rgba(255, 196, 112, 0.24);
    background: rgba(111, 75, 28, 0.12);
}

.tab-assistant-multi-option.is-unavailable:hover,
.tab-assistant-multi-option.is-unavailable:focus-visible {
    border-color: rgba(255, 208, 132, 0.46);
    background: rgba(111, 75, 28, 0.2);
    outline: none;
}

.tab-assistant-feature-marker {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 7px;
    color: rgb(255, 214, 137);
    background: rgba(255, 196, 112, 0.12);
}

.tab-assistant-feature-action {
    color: rgb(168, 204, 255) !important;
    font-weight: 700;
}

.tab-assistant-feature-need-note,
.tab-assistant-feature-recommendation {
    display: grid;
    gap: 8px;
    padding: 11px 13px;
    border-radius: 16px;
    border: 1px solid rgba(255, 196, 112, 0.22);
    background: rgba(111, 75, 28, 0.13);
}

.tab-assistant-feature-need-note p,
.tab-assistant-feature-recommendation p {
    margin: 0;
}

.tab-assistant-feature-recommendation {
    border-color: rgba(116, 169, 255, 0.24);
    background: rgba(68, 105, 178, 0.14);
}

.tab-assistant-multi-option.is-disabled {
    opacity: 0.6;
}

.tab-assistant-multi-option input {
    margin-top: 2px;
}

.tab-assistant-multi-option span {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.tab-assistant-multi-option label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.tab-assistant-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(77, 124, 203, 0.26);
    border: 1px solid rgba(116, 168, 255, 0.28);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.tab-assistant-recommendation-topline,
.tab-assistant-recommendation-details {
    display: grid;
    gap: 8px;
}

.tab-assistant-prompt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 14px;
    border: 1px solid rgba(116, 169, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    color: rgb(241, 246, 255);
    font-size: 0.92rem;
    font-weight: 700;
    cursor: pointer;
    transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.tab-assistant-prompt:hover,
.tab-assistant-prompt:focus-visible {
    border-color: rgba(142, 188, 255, 0.34);
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-1px);
    outline: none;
}

.tab-assistant-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 14px;
    border: 1px solid rgba(116, 169, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    color: rgb(241, 246, 255);
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
    transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.tab-assistant-action.is-primary,
.tab-assistant-action[data-tab-workflow-control="save_quote"],
.tab-assistant-action[data-tab-workflow-control="submit_workflow"] {
    border-color: rgba(115, 174, 255, 0.48);
    background: linear-gradient(135deg, rgba(54, 105, 202, 0.98), rgba(39, 76, 155, 0.98));
    color: rgb(248, 250, 255);
}

.tab-assistant-action:hover,
.tab-assistant-action:focus-visible {
    border-color: rgba(142, 188, 255, 0.34);
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-1px);
    outline: none;
}

.tab-assistant-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
    padding: 6px 4px 0;
}

.tab-assistant-input {
    width: 100%;
    min-height: 88px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.03);
    color: rgb(244, 247, 255);
    font: inherit;
    resize: vertical;
}

.tab-assistant-input::placeholder {
    color: rgba(225, 234, 248, 0.52);
}

.tab-assistant-input:focus {
    border-color: rgba(135, 184, 255, 0.34);
    box-shadow: 0 0 0 3px rgba(100, 154, 255, 0.14);
    outline: none;
}

.tab-assistant-send {
    display: inline-grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(79, 131, 232, 0.96), rgba(45, 84, 173, 0.98));
    color: rgb(248, 250, 255);
    font-size: 1.15rem;
    cursor: pointer;
    box-shadow: 0 16px 28px rgba(8, 15, 30, 0.34);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.tab-assistant-send:hover,
.tab-assistant-send:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 18px 32px rgba(8, 15, 30, 0.42);
    filter: brightness(1.06);
    outline: none;
}

.tab-assistant-send:disabled {
    opacity: 0.72;
    cursor: progress;
    transform: none;
}

.tab-assistant-privacy-note {
    margin: 2px 8px 0;
    color: rgba(225, 234, 248, 0.7);
    font-size: 0.82rem;
    line-height: 1.45;
}

.tab-assistant-inline-warning {
    display: grid;
    gap: 10px;
    margin: 4px 8px 0;
    padding: 12px 14px;
    border-radius: 18px;
    border: 1px solid rgba(255, 168, 123, 0.22);
    background: rgba(110, 58, 20, 0.2);
}

.tab-assistant-inline-warning[hidden] {
    display: none !important;
}

.tab-assistant-inline-warning p {
    margin: 0;
}

.contact-reword-tools {
    display: grid;
    gap: 10px;
}

.contact-reword-actions,
.contact-reword-preview-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.contact-reword-actions .button,
.contact-reword-preview-actions .button {
    flex: 0 1 auto;
}

.contact-writing-help,
.contact-reword-preview-note {
    margin: 0;
    color: var(--ink-soft);
    font-size: 0.86rem;
    line-height: 1.5;
}

.contact-reword-options {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding-top: 2px;
}

.contact-reword-options[hidden] {
    display: none !important;
}

.contact-reword-options > span {
    flex: 0 0 100%;
    color: var(--ink-soft);
    font-size: 0.82rem;
    font-weight: 700;
}

.contact-writing-more,
.contact-writing-cancel {
    width: fit-content;
    padding: 3px 0;
    border: 0;
    background: transparent;
    color: rgb(168, 204, 255);
    font: inherit;
    font-size: 0.86rem;
    font-weight: 700;
    cursor: pointer;
}

.contact-writing-cancel {
    color: var(--ink-soft);
}

.contact-writing-manual {
    width: fit-content;
    padding: 3px 0;
    border: 0;
    background: transparent;
    color: var(--ink-soft);
    font: inherit;
    font-size: 0.86rem;
    font-weight: 700;
    cursor: pointer;
}

.contact-writing-manual:hover,
.contact-writing-manual:focus-visible {
    color: var(--ink);
    outline: none;
    text-decoration: underline;
}

.contact-writing-more:hover,
.contact-writing-more:focus-visible,
.contact-writing-cancel:hover,
.contact-writing-cancel:focus-visible {
    color: var(--ink);
    outline: none;
    text-decoration: underline;
}

.contact-writing-feedback {
    margin: 0;
    color: #ffc6b0;
    font-size: 0.9rem;
    line-height: 1.5;
}

.contact-writing-feedback.is-success {
    color: #bfe4c8;
}

.contact-writing-feedback[hidden] {
    display: none !important;
}

.contact-reword-preview {
    display: grid;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 18px;
    border: 1px solid rgba(116, 169, 255, 0.18);
    background: rgba(255, 255, 255, 0.04);
}

.contact-reword-preview[hidden] {
    display: none !important;
}

.contact-reword-preview-text {
    white-space: pre-wrap;
    margin: 0;
    padding: 13px 14px;
    border-radius: 14px;
    background: rgba(9, 16, 31, 0.42);
    color: var(--ink);
    line-height: 1.65;
}

.contact-reword-preview-heading {
    color: var(--ink);
    font-family: "Sora", sans-serif;
    font-size: 0.98rem;
    font-weight: 700;
}

.contact-reword-preview textarea {
    width: 100%;
    min-height: 120px;
    resize: vertical;
}

.contact-reword-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.contact-reword-version {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid rgba(116, 169, 255, 0.16);
    border-radius: 14px;
    background: rgba(9, 16, 31, 0.36);
}

.contact-reword-version span {
    display: block;
    margin-bottom: 8px;
    color: var(--ink-soft);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.contact-reword-version p {
    margin: 0;
    white-space: pre-wrap;
    color: var(--ink);
    line-height: 1.6;
}

.site-assistant-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 14px;
    border: 1px solid rgba(116, 169, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    color: rgb(241, 246, 255);
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.site-assistant-action:hover,
.site-assistant-action:focus-visible {
    border-color: rgba(142, 188, 255, 0.34);
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-1px);
    outline: none;
}

@media (max-width: 720px) {
    .site-select-sheet {
        place-items: end center;
        padding: 16px;
    }
}

@media (max-width: 560px) {
    .window-card-large,
    .builder-card,
    .info-card,
    .contact-card,
    .showcase-card,
    .process-step,
    .pricing-sale-banner {
        padding: 18px;
    }

    .builder-input-panel,
    .contact-direct,
    .order-pricing {
        padding: 16px;
    }

    .contact-reword-actions,
    .contact-reword-preview-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .contact-reword-actions .button,
    .contact-reword-preview-actions .button {
        width: 100%;
    }

    .contact-reword-comparison {
        grid-template-columns: 1fr;
    }

    .contact-reword-options {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .contact-reword-options > span {
        grid-column: 1 / -1;
    }

    .contact-reword-options .site-assistant-action {
        width: 100%;
        min-width: 0;
    }

    .services-page-hero-actions,
    .services-final-cta-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .services-page-hero-actions .button,
    .services-final-cta-actions .button {
        width: 100%;
    }

    .qr-generator-controls .pricing-admin-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .qr-generator-field-full {
        grid-column: 1 / -1;
    }

    .qr-generator-action-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .qr-generator-action-row .button {
        width: 100%;
        min-width: 0;
    }

    .qr-generator-reset-button {
        grid-column: 1 / -1;
    }

    .qr-generator-asset-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .qr-generator-asset-actions .button {
        width: 100%;
    }

    .qr-generator-preview-shell {
        min-height: 0;
        padding: 14px;
    }

    .qr-generator-preview-meta {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .builder-feature-grid {
        grid-template-columns: 1fr;
    }

    .template-side-card {
        padding: 14px;
    }

    .template-side-card-top strong {
        font-size: 1.05rem;
        line-height: 1.25;
    }

    .template-side-card-top span,
    .template-side-card-description,
    .template-side-card-ideal {
        font-size: 0.94rem;
    }

    .comparison-table tbody td {
        align-items: flex-start;
        justify-content: flex-start;
        gap: 6px;
        text-align: left;
    }

    .comparison-table tbody td::before {
        display: block;
    }

    .tab-assistant {
        right: 12px;
        bottom: calc(14px + var(--floating-cookie-offset));
        left: 12px;
        justify-items: stretch;
    }

    .tab-assistant-launch,
    .tab-assistant-panel {
        width: 100%;
    }

    .tab-assistant-card {
        padding: 14px;
        border-radius: 26px;
    }

    .tab-assistant-top-actions {
        gap: 5px;
    }

    .tab-assistant-expand {
        min-width: 0;
        width: 38px;
        padding: 0;
        font-size: 0;
    }

    .tab-assistant-expand::before {
        content: "↗";
        font-size: 1rem;
    }

    .tab-assistant.is-expanded {
        padding: 0;
    }

    .tab-assistant.is-expanded .tab-assistant-card {
        grid-template-rows: auto auto minmax(0, 1fr) auto;
        border-radius: 0;
        padding: 12px;
    }

    .tab-assistant.is-expanded .tab-assistant-expand::before {
        content: "↙";
    }

    .tab-assistant-message.is-user {
        margin-left: 10px;
    }

}

@media (max-width: 920px) {
    .error-hero-grid {
        grid-template-columns: 1fr;
    }

    .error-hero-copy {
        padding-top: 0;
    }

    .error-tab-card {
        max-width: 520px;
    }
}
.custom-page-shell {
    background: var(--custom-page-bg);
    color: var(--custom-page-text);
    min-height: 100vh;
}

.custom-page-wrap {
    width: min(1120px, calc(100% - 2rem));
    margin: 0 auto;
}

.custom-page-hero {
    padding: 8rem 0 2rem;
}

.custom-page-announcement {
    margin-bottom: 1.5rem;
    padding: 1rem 1.15rem;
    border-radius: 1.25rem;
    border: 1px solid var(--custom-page-accent);
    background: color-mix(in srgb, var(--custom-page-accent) 12%, transparent);
    color: var(--custom-page-text);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.16);
}

.custom-page-hero-grid,
.custom-page-offer-grid {
    display: grid;
    gap: 1.5rem;
}

.custom-page-hero-grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.85fr);
    align-items: start;
}

.custom-page-hero-copy,
.custom-page-spotlight,
.custom-page-feature-card,
.custom-page-offer-card,
.custom-page-proof-card,
.custom-page-final-card {
    border: 1px solid color-mix(in srgb, var(--custom-page-accent) 38%, transparent);
    background: var(--custom-page-panel);
    border-radius: 1.75rem;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.18);
}

.custom-page-hero-copy,
.custom-page-spotlight,
.custom-page-offer-card,
.custom-page-proof-card,
.custom-page-final-card {
    padding: 2rem;
}

.custom-page-spotlight,
.custom-page-proof-card {
    background: var(--custom-page-panel-alt);
}

.custom-page-hero-copy h1 {
    margin-bottom: 1rem;
    font-size: clamp(2.8rem, 7vw, 5.6rem);
    line-height: 0.95;
    color: var(--custom-page-text);
}

.custom-page-hero-copy .page-intro,
.custom-page-spotlight p,
.custom-page-feature-card p,
.custom-page-offer-card p,
.custom-page-proof-card p,
.custom-page-final-card p,
.custom-page-bullets li {
    color: var(--custom-page-muted);
}

.custom-page-actions {
    display: flex;
    gap: 0.875rem;
    flex-wrap: wrap;
    margin-top: 1.5rem;
}

.custom-page-primary {
    background: var(--custom-page-accent);
    border-color: var(--custom-page-accent);
    color: #fff;
}

.custom-page-secondary {
    background: transparent;
    border-color: color-mix(in srgb, var(--custom-page-accent) 70%, #ffffff 30%);
    color: var(--custom-page-text);
}

.custom-page-section {
    padding-top: 0;
}

.custom-page-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.custom-page-feature-card {
    padding: 1.5rem;
}

.custom-page-feature-card h3,
.custom-page-spotlight h2,
.custom-page-offer-card h2,
.custom-page-proof-card h2,
.custom-page-final-card h2 {
    color: var(--custom-page-text);
    margin-bottom: 0.85rem;
}

.custom-page-offer-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
}

.custom-page-bullets {
    margin-top: 1rem;
}

.custom-page-final-card {
    text-align: center;
}

.custom-page-final-card .custom-page-primary {
    margin-top: 1rem;
}

.custom-page-admin-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
    gap: 1.5rem;
    align-items: start;
}

.custom-page-editor-form {
    gap: 1rem;
}

.custom-page-editor-head,
.custom-page-library-head,
.custom-page-preview-toolbar,
.custom-page-editor-actions,
.custom-page-library-actions,
.custom-page-editor-footer {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.custom-page-editor-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.custom-page-editor-section-grid .order-item {
    margin: 0;
}

.custom-page-preview-panel {
    position: sticky;
    top: 1.5rem;
}

.custom-page-preview-frame {
    width: 100%;
    min-height: 900px;
    border: 1px solid rgba(98, 136, 209, 0.28);
    border-radius: 1.5rem;
    background: #0d1424;
}

.custom-page-library {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}

.custom-page-library-card {
    padding: 1.25rem;
    border: 1px solid rgba(98, 136, 209, 0.22);
    border-radius: 1.35rem;
    background: rgba(14, 20, 37, 0.52);
}

.custom-page-library-card.is-published {
    border-color: rgba(91, 196, 140, 0.5);
}

.custom-page-delete-form {
    margin-top: 0.75rem;
}

@media (max-width: 1100px) {
    .custom-page-admin-grid,
    .custom-page-hero-grid,
    .custom-page-offer-grid {
        grid-template-columns: 1fr;
    }

    .custom-page-preview-panel {
        position: static;
    }
}

@media (max-width: 800px) {
    .custom-page-feature-grid,
    .custom-page-editor-section-grid {
        grid-template-columns: 1fr;
    }

    .custom-page-hero {
        padding-top: 7rem;
    }
}

/* Gmail-inspired Sales mailbox. The mailbox is still New Tab branded, while
   the three-pane structure keeps navigation, conversations, and reading space
   separate. */
.sales-email-app {
    position: relative;
    overflow: visible;
    padding: 1.35rem;
}

.sales-email-app-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: end;
    gap: 1rem;
    margin-bottom: 1.15rem;
}

.sales-email-app-header h3,
.sales-email-app-header p {
    margin-top: 0;
    margin-bottom: 0;
}

.sales-email-sending-as {
    display: grid;
    gap: 0.15rem;
    align-self: center;
    padding: 0.45rem 0.7rem;
    border-left: 1px solid rgba(126, 166, 236, 0.24);
    color: var(--muted-text, #b8c2d4);
    font-size: 0.78rem;
}

.sales-email-sending-as strong {
    color: #e9f0ff;
    font-size: 0.84rem;
}

.sales-email-mailbox {
    display: grid;
    grid-template-columns: 10.5rem minmax(18rem, 0.95fr) minmax(28rem, 1.65fr);
    min-height: 42rem;
    border: 1px solid rgba(126, 166, 236, 0.24);
    border-radius: 1rem;
    overflow: hidden;
    background: rgba(6, 14, 29, 0.6);
}

.sales-email-sidebar,
.sales-email-list-pane,
.sales-email-reading-pane {
    min-width: 0;
}

.sales-email-sidebar {
    padding: 1rem 0.7rem;
    border-right: 1px solid rgba(126, 166, 236, 0.16);
    background: linear-gradient(180deg, rgba(25, 46, 83, 0.52), rgba(8, 17, 33, 0.55));
}

.sales-email-sidebar-compose {
    display: block;
    margin-bottom: 1.1rem;
    padding: 0.72rem 0.8rem;
    border: 1px solid rgba(104, 163, 255, 0.45);
    border-radius: 0.7rem;
    background: linear-gradient(135deg, #3f8df7, #2857aa);
    color: #fff;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 0.55rem 1.3rem rgba(21, 84, 180, 0.2);
}

.sales-email-sidebar-compose:hover,
.sales-email-sidebar-compose:focus-visible {
    filter: brightness(1.08);
}

.sales-email-folders {
    display: grid;
    gap: 0.2rem;
}

.sales-email-folders a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    padding: 0.62rem 0.7rem;
    border-radius: 0.55rem;
    color: #cbd7ef;
    font-size: 0.9rem;
    font-weight: 750;
    text-decoration: none;
}

.sales-email-folders a:hover,
.sales-email-folders a:focus-visible,
.sales-email-folders a.is-active {
    background: rgba(77, 135, 237, 0.23);
    color: #fff;
}

.sales-email-folders b {
    min-width: 1.4rem;
    padding: 0.12rem 0.3rem;
    border-radius: 999px;
    background: #4d8df1;
    color: #fff;
    font-size: 0.72rem;
    text-align: center;
}

.sales-email-sidebar-note {
    margin: 2rem 0 0;
    color: var(--muted-text, #b8c2d4);
    font-size: 0.73rem;
    line-height: 1.45;
}

.sales-email-list-pane {
    border-right: 1px solid rgba(126, 166, 236, 0.16);
    background: rgba(12, 22, 41, 0.48);
}

.sales-email-list-heading {
    display: grid;
    gap: 0.7rem;
    padding: 0.95rem 1rem 0.8rem;
    border-bottom: 1px solid rgba(126, 166, 236, 0.16);
}

.sales-email-list-heading > div:first-child {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
}

.sales-email-list-kicker {
    display: block;
    color: #8eb8ff;
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.sales-email-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.4rem;
    margin: 0;
}

.sales-email-search input {
    min-width: 0;
    min-height: 2.35rem;
    padding: 0.45rem 0.65rem;
}

.sales-email-search button {
    width: auto;
    min-height: 2.35rem;
    padding: 0 0.7rem;
}

.sales-email-thread-list {
    min-height: 36rem;
}

.sales-email-thread-row {
    display: grid;
    grid-template-columns: 2.15rem minmax(0, 1fr) auto;
    gap: 0.55rem;
    align-items: start;
    padding: 0.8rem 0.85rem;
    border-bottom: 1px solid rgba(126, 166, 236, 0.12);
    color: inherit;
    text-decoration: none;
}

.sales-email-thread-row:hover,
.sales-email-thread-row:focus-visible,
.sales-email-thread-row.is-active {
    background: rgba(48, 92, 171, 0.27);
}

.sales-email-thread-row.is-unread {
    background: rgba(33, 67, 125, 0.24);
}

.sales-email-thread-avatar {
    display: grid;
    width: 2.05rem;
    height: 2.05rem;
    place-items: center;
    border: 1px solid rgba(126, 166, 236, 0.35);
    border-radius: 50%;
    background: rgba(71, 127, 224, 0.35);
    color: #eaf2ff;
    font-size: 0.78rem;
    font-weight: 850;
}

.sales-email-thread-copy,
.sales-email-thread-meta {
    min-width: 0;
}

.sales-email-thread-copy {
    display: grid;
    gap: 0.13rem;
}

.sales-email-thread-copy strong,
.sales-email-thread-subject,
.sales-email-thread-preview {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sales-email-thread-copy strong {
    color: #f3f6ff;
    font-size: 0.88rem;
}

.sales-email-thread-copy small,
.sales-email-thread-preview,
.sales-email-thread-meta {
    color: var(--muted-text, #b8c2d4);
    font-size: 0.74rem;
}

.sales-email-thread-subject {
    color: #d8e5ff;
    font-size: 0.8rem;
    font-weight: 700;
}

.sales-email-thread-meta {
    display: grid;
    justify-items: end;
    gap: 0.35rem;
    white-space: nowrap;
}

.sales-email-thread-meta b {
    color: #72a9ff;
    font-size: 0.8rem;
}

.sales-email-attachment-indicator {
    color: #a9c9ff;
    font-size: 0.64rem;
    font-weight: 700;
}

.sales-email-empty-list,
.sales-email-reading-empty {
    display: grid;
    min-height: 18rem;
    place-content: center;
    gap: 0.45rem;
    padding: 2rem;
    color: var(--muted-text, #b8c2d4);
    text-align: center;
}

.sales-email-empty-list p,
.sales-email-reading-empty p {
    max-width: 22rem;
    margin: 0;
}

.sales-email-reading-pane {
    position: relative;
    padding: 1.25rem 1.35rem 1.4rem;
    background: linear-gradient(180deg, rgba(15, 26, 48, 0.58), rgba(5, 13, 27, 0.45));
}

.sales-email-mobile-back {
    display: none;
    margin-bottom: 0.8rem;
    color: #9fc3ff;
    font-size: 0.82rem;
    font-weight: 750;
}

.sales-email-thread-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(126, 166, 236, 0.16);
}

.sales-email-thread-heading h4 {
    margin: 0.2rem 0 0;
    font-size: 1.35rem;
}

.sales-email-lead-context {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(14rem, 1fr) auto;
    gap: 0.9rem;
    align-items: center;
    margin-top: 0.9rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid rgba(126, 166, 236, 0.2);
    border-radius: 0.75rem;
    background: rgba(8, 18, 35, 0.48);
}

.sales-email-lead-context-main {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.sales-email-lead-context-main > span:last-child {
    overflow: hidden;
    color: var(--muted-text, #b8c2d4);
    font-size: 0.78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sales-email-lead-context-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 1rem;
    margin: 0;
}

.sales-email-lead-context-facts div {
    display: grid;
    gap: 0.1rem;
}

.sales-email-lead-context-facts dt {
    color: var(--muted-text, #b8c2d4);
    font-size: 0.68rem;
    text-transform: uppercase;
}

.sales-email-lead-context-facts dd {
    margin: 0;
    color: #edf3ff;
    font-size: 0.78rem;
    font-weight: 700;
}

.sales-email-thread-actions,
.sales-email-thread-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.sales-email-thread-actions .button,
.sales-email-thread-footer .button {
    min-height: 34px;
    padding: 0 0.7rem;
    font-size: 0.78rem;
}

.sales-email-thread-messages {
    display: grid;
    gap: 0.7rem;
    padding: 1rem 0 0.4rem;
}

.sales-email-message,
.sales-email-message-disclosure {
    border: 1px solid rgba(126, 166, 236, 0.16);
    border-radius: 0.8rem;
    background: rgba(20, 30, 49, 0.72);
}

.sales-email-message {
    padding: 1rem;
}

.sales-email-message.is-latest {
    border-color: rgba(104, 163, 255, 0.3);
    background: rgba(25, 40, 68, 0.82);
}

.sales-email-message-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.8rem;
}

.sales-email-message-heading div {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.sales-email-message-heading small,
.sales-email-message-heading time,
.sales-email-message-disclosure summary time {
    color: var(--muted-text, #b8c2d4);
    font-size: 0.75rem;
}

.sales-email-message-body {
    overflow-wrap: anywhere;
    color: #e4ebfb;
    line-height: 1.62;
}

.sales-email-message-body p:first-child {
    margin-top: 0;
}

.sales-email-message-body p:last-child {
    margin-bottom: 0;
}

.sales-email-message-body a {
    color: #9fc3ff;
}

.sales-email-message-disclosure summary {
    cursor: pointer;
    padding: 0.8rem 1rem;
    color: #dbe8ff;
    font-size: 0.82rem;
    font-weight: 700;
}

.sales-email-message-disclosure summary time {
    float: right;
    font-weight: 400;
}

.sales-email-message-disclosure[open] summary {
    border-bottom: 1px solid rgba(126, 166, 236, 0.14);
}

.sales-email-message-disclosure .sales-email-message {
    border: 0;
    border-radius: 0;
    background: transparent;
}

.sales-email-attachments {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-top: 1rem;
    color: var(--muted-text, #b8c2d4);
    font-size: 0.78rem;
}

.sales-email-attachment-chip {
    padding: 0.35rem 0.55rem;
    border: 1px solid rgba(126, 166, 236, 0.26);
    border-radius: 999px;
    color: #cfe0ff;
    text-decoration: none;
}

.sales-email-attachment-remove {
    margin-left: 0.35rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
}

.sales-email-attachment-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.sales-email-thread-footer {
    margin-top: 1rem;
    padding-top: 0.9rem;
    border-top: 1px solid rgba(126, 166, 236, 0.16);
}

.sales-email-compose {
    position: absolute;
    z-index: 10;
    right: 1.4rem;
    bottom: 1.4rem;
    display: grid;
    gap: 0.75rem;
    width: min(38rem, calc(100% - 2.8rem));
    max-height: calc(100% - 2.8rem);
    overflow: auto;
    margin: 0;
    padding: 1rem;
    border: 1px solid rgba(111, 170, 255, 0.48);
    border-radius: 1rem;
    background: linear-gradient(145deg, rgba(29, 55, 98, 0.98), rgba(7, 17, 33, 0.98));
    box-shadow: 0 1.4rem 3rem rgba(0, 0, 0, 0.38), 0 0 0 1px rgba(255, 255, 255, 0.03) inset;
}

.sales-email-compose-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.sales-email-compose-heading h4 {
    margin: 0.18rem 0 0;
}

.sales-email-compose-dismiss {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.09);
    color: #fff;
    font-size: 1.25rem;
    line-height: 1;
    text-decoration: none;
}

.sales-email-compose-from {
    margin: 0;
    padding: 0.55rem 0.7rem;
    border: 1px solid rgba(126, 166, 236, 0.18);
    border-radius: 0.55rem;
    background: rgba(4, 12, 25, 0.38);
    color: var(--muted-text, #b8c2d4);
    font-size: 0.8rem;
}

.sales-email-recipient-control {
    position: relative;
    display: grid;
    gap: 0.35rem;
}

.sales-email-recipient-control > label {
    display: block;
}

.sales-email-recipient-input-wrap {
    position: relative;
}

.sales-email-recipient-input-wrap input {
    padding-right: 8rem;
}

.sales-email-recipient-chip {
    position: absolute;
    top: 50%;
    right: 0.45rem;
    max-width: 7rem;
    overflow: hidden;
    padding: 0.23rem 0.45rem;
    border-radius: 999px;
    background: rgba(75, 139, 244, 0.24);
    color: #cfe0ff;
    font-size: 0.68rem;
    font-weight: 750;
    text-overflow: ellipsis;
    transform: translateY(-50%);
    white-space: nowrap;
}

.sales-email-recipient-results {
    position: absolute;
    z-index: 20;
    top: 4.35rem;
    right: 0;
    left: 0;
    overflow: hidden;
    border: 1px solid rgba(126, 166, 236, 0.35);
    border-radius: 0.65rem;
    background: #121f37;
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.32);
}

.sales-email-recipient-option,
.sales-email-recipient-empty {
    display: grid;
    width: 100%;
    gap: 0.18rem;
    padding: 0.65rem 0.75rem;
    border: 0;
    border-bottom: 1px solid rgba(126, 166, 236, 0.12);
    background: transparent;
    color: #edf3ff;
    text-align: left;
}

.sales-email-recipient-option:hover,
.sales-email-recipient-option:focus-visible {
    background: rgba(70, 127, 224, 0.25);
}

.sales-email-recipient-option span,
.sales-email-recipient-empty {
    color: var(--muted-text, #b8c2d4);
    font-size: 0.76rem;
}

.sales-email-recipient-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem;
}

.sales-email-recipient-grid label,
.sales-email-compose > label {
    display: grid;
    gap: 0.3rem;
}

.sales-email-compose textarea {
    min-height: 8rem;
}

.sales-email-compose .sales-email-signature-editor {
    padding: 0.7rem;
}

.sales-email-compose .sales-email-signature-editor textarea {
    min-height: 6.5rem;
}

@media (max-width: 1050px) {
    .sales-email-mailbox {
        grid-template-columns: 9rem minmax(16rem, 0.9fr) minmax(24rem, 1.35fr);
    }

    .sales-email-thread-heading {
        display: grid;
    }

    .sales-email-lead-context {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 800px) {
    .sales-email-app {
        padding: 0.8rem;
    }

    .sales-email-app-header {
        grid-template-columns: 1fr auto;
    }

    .sales-email-sending-as {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: start;
        border-left: 0;
        padding-left: 0;
    }

    .sales-email-mailbox {
        grid-template-columns: 8.5rem minmax(0, 1fr);
        min-height: 36rem;
    }

    .sales-email-reading-pane {
        display: none;
    }

    .sales-email-has-thread .sales-email-sidebar,
    .sales-email-has-thread .sales-email-list-pane {
        display: none;
    }

    .sales-email-has-thread .sales-email-mailbox {
        display: block;
    }

    .sales-email-has-thread .sales-email-reading-pane {
        display: block;
        min-height: 36rem;
    }

    .sales-email-mobile-back {
        display: inline-block;
    }

    .sales-email-compose {
        position: fixed;
        z-index: 1000;
        right: 0.65rem;
        bottom: 0.65rem;
        left: 0.65rem;
        width: auto;
        max-height: calc(100dvh - 1.3rem);
    }
}

@media (max-width: 560px) {
    .sales-email-app-header {
        grid-template-columns: 1fr;
    }

    .sales-email-compose-button {
        width: 100%;
    }

    .sales-email-mailbox {
        display: block;
    }

    .sales-email-sidebar {
        border-right: 0;
        border-bottom: 1px solid rgba(126, 166, 236, 0.16);
    }

    .sales-email-sidebar-note {
        display: none;
    }

    .sales-email-folders {
        grid-template-columns: repeat(3, 1fr);
    }

    .sales-email-folders a {
        justify-content: center;
        padding: 0.52rem 0.35rem;
        font-size: 0.78rem;
    }

    .sales-email-recipient-grid {
        grid-template-columns: 1fr;
    }

    .sales-email-thread-heading h4 {
        font-size: 1.1rem;
    }
}

@media (max-width: 640px) {
    .tab-assistant {
        right: 10px;
        bottom: calc(10px + var(--floating-cookie-offset));
    }

    .tab-assistant-launch {
        min-height: 58px;
        padding: 8px 13px;
    }

    .tab-assistant-launch-avatar {
        width: 54px;
        height: 54px;
    }

    .tab-assistant-launch-copy strong {
        font-size: 1.05rem;
    }

    .tab-assistant-panel {
        width: min(430px, calc(100vw - 20px));
        height: min(700px, max(300px, calc(100dvh - 100px - var(--floating-cookie-offset))));
        max-height: min(700px, max(300px, calc(100dvh - 100px - var(--floating-cookie-offset))));
    }

    .tab-assistant-card {
        border-radius: 24px;
        padding: 12px 12px 14px;
    }

    .tab-assistant-title-wrap {
        gap: 9px;
    }

    .tab-assistant-avatar {
        width: 44px;
        height: 44px;
    }

    .tab-assistant-subtitle {
        font-size: 0.82rem;
    }

    .tab-assistant-top-actions {
        gap: 5px;
    }

    .tab-assistant-expand {
        min-width: 0;
        width: 38px;
        padding: 7px;
        font-size: 0;
    }

    .tab-assistant-expand::before {
        content: "↗";
        font-size: 1rem;
    }

    .tab-assistant-message {
        max-width: 94%;
        padding: 11px 13px;
        border-radius: 18px;
    }

    .tab-assistant-form {
        grid-template-columns: minmax(0, 1fr) 48px;
    }

    .tab-assistant-input {
        min-height: 70px;
        max-height: 150px;
    }

    .tab-assistant-send {
        width: 48px;
        height: 48px;
    }

    .tab-assistant.is-expanded {
        inset: 0;
        width: 100%;
        height: 100dvh;
        padding: 0;
    }

    .tab-assistant.is-expanded .tab-assistant-panel,
    .tab-assistant.is-expanded .tab-assistant-card {
        width: 100%;
        height: 100%;
        max-height: none;
        border-radius: 0;
    }

    .tab-assistant.is-expanded .tab-assistant-card {
        padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));
    }

    .tab-assistant.is-expanded .tab-assistant-body,
    .tab-assistant.is-expanded .tab-assistant-footer {
        width: 100%;
    }

    .tab-assistant-menu {
        right: 0;
        max-width: calc(100vw - 32px);
    }
}

/* Compact contextual comparison editor: the closed table mirrors the public table. */
.comparison-admin-editor-table [hidden] { display: none !important; }
.comparison-admin-display-only-notice {
    margin: 0;
    padding: 10px 13px;
    border: 1px solid rgba(103, 157, 255, 0.28);
    border-radius: 12px;
    background: rgba(40, 91, 180, 0.12);
    color: rgba(219, 226, 245, 0.9);
    font-size: 0.84rem;
    line-height: 1.45;
}
.comparison-admin-toolbar,
.comparison-admin-save-row,
.comparison-admin-table-actions,
.comparison-admin-legend { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.comparison-admin-toolbar .summary-note,
.comparison-admin-table-actions .summary-note { margin: 0; }
.comparison-admin-save-row label { display: grid; gap: 4px; min-width: 120px; font-size: .7rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.comparison-admin-table-actions button,
.comparison-admin-save-row button { width: auto; min-height: 38px; padding: 0 14px; }
.comparison-admin-legend { justify-content: flex-start; margin: -2px 0 0; color: rgba(219, 226, 245, .64); font-size: .72rem; }
.comparison-admin-legend-item { display: inline-flex; align-items: center; gap: 4px; }
.comparison-admin-legend-lock,
.comparison-admin-legend-pencil { color: rgba(157, 188, 255, .9); }
.comparison-admin-table-scroll { overflow: auto; border: 1px solid rgba(151, 191, 255, .22); border-radius: 15px; background: rgba(8, 18, 36, .72); }
.comparison-admin-editable-table { width: 100%; min-width: 760px; border-collapse: separate; border-spacing: 0; color: var(--ink); }
.comparison-admin-editable-table th,
.comparison-admin-editable-table td { min-width: 160px; height: 48px; padding: 7px 10px; border-right: 1px solid rgba(151, 191, 255, .14); border-bottom: 1px solid rgba(151, 191, 255, .14); vertical-align: middle; }
.comparison-admin-editable-table thead th { position: sticky; top: 0; z-index: 3; height: 70px; background: linear-gradient(180deg, rgba(27, 42, 70, .98), rgba(17, 29, 52, .98)); }
.comparison-admin-editable-table .comparison-admin-feature-heading,
.comparison-admin-editable-table .comparison-admin-row-label-cell { position: sticky; left: 0; z-index: 4; min-width: 230px; width: 230px; background: linear-gradient(180deg, rgba(20, 31, 51, .99), rgba(14, 24, 42, .99)); }
.comparison-admin-editable-table thead .comparison-admin-feature-heading { z-index: 5; }
.comparison-admin-editable-table th:last-child,
.comparison-admin-editable-table td:last-child { border-right: none; }
.comparison-admin-editable-table tr:last-child th,
.comparison-admin-editable-table tr:last-child td { border-bottom: none; }
.comparison-admin-editable-table [data-comparison-column].is-recommended,
.comparison-admin-editable-table [data-comparison-cell].is-recommended { background: linear-gradient(180deg, rgba(63, 112, 205, .36), rgba(31, 70, 137, .23)); box-shadow: inset 1px 0 rgba(142, 191, 255, .22), inset -1px 0 rgba(142, 191, 255, .22); }
.comparison-admin-editable-table .is-hidden-column,
.comparison-admin-editable-table .is-hidden-row { opacity: .58; }
.comparison-admin-compact-header,
.comparison-admin-compact-row-label { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 32px; }
.comparison-admin-compact-header { flex-wrap: wrap; text-align: center; }
.comparison-admin-compact-row-label { justify-content: flex-start; text-align: left; }
.comparison-admin-column-title,
.comparison-admin-compact-row-label [data-comparison-row-label] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 800; }
.comparison-admin-column-title { max-width: 170px; }
.comparison-admin-recommended-badge,
.comparison-admin-hidden-badge { display: inline-flex; align-items: center; padding: 3px 7px; border-radius: 999px; background: rgba(69, 125, 225, .32); color: rgba(244, 247, 255, .96); font-size: .62rem; font-weight: 800; line-height: 1; white-space: nowrap; }
.comparison-admin-hidden-badge { background: rgba(255, 255, 255, .1); color: rgba(219, 226, 245, .72); }
.comparison-admin-drag-handle { flex: 0 0 auto; color: rgba(157, 188, 255, .76); font-size: .95rem; font-weight: 900; line-height: 1; }
.comparison-admin-editable-table .icon-button { display: inline-flex; align-items: center; justify-content: center; width: 25px !important; min-width: 25px; height: 25px; min-height: 25px; padding: 0; border: 1px solid rgba(151, 191, 255, .26); border-radius: 7px; background: rgba(255, 255, 255, .05); color: rgba(219, 226, 245, .78); font-size: .78rem; line-height: 1; }
.comparison-admin-editable-table .icon-button:hover,
.comparison-admin-editable-table .icon-button:focus-visible { background: rgba(102, 161, 255, .28); color: white; }
.comparison-admin-editable-table td { position: relative; text-align: center; }
.comparison-admin-cell-display { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-height: 30px; max-width: 100%; color: rgba(244, 247, 255, .96); font-weight: 700; line-height: 1.25; }
.comparison-admin-cell-edit { position: absolute; top: 4px; right: 4px; width: 22px !important; min-width: 22px; height: 22px; min-height: 22px !important; padding: 0 !important; border: 0 !important; border-radius: 5px !important; background: transparent !important; color: rgba(157, 188, 255, .68) !important; font-size: .72rem !important; opacity: 0; }
.comparison-admin-editable-table td:hover .comparison-admin-cell-edit,
.comparison-admin-cell-edit:focus-visible { opacity: 1; }
.comparison-admin-save-row { align-items: end; }
.comparison-admin-save-row > input { flex: 1 1 220px; }
.comparison-admin-save-status { min-width: 125px; color: rgba(219, 226, 245, .7); font-size: .76rem; }
@media (max-width: 760px) {
    .comparison-admin-save-row { align-items: stretch; flex-direction: column; }
    .comparison-admin-save-row button,
    .comparison-admin-save-row input { width: 100%; }
    .comparison-admin-editable-table { min-width: 680px; }
    .comparison-admin-editable-table .comparison-admin-feature-heading,
    .comparison-admin-editable-table .comparison-admin-row-label-cell { min-width: 205px; width: 205px; }
}

/* Give Pricing room for the full comparison grids without widening other tools. */
.pricing-admin-tool-panel {
    width: min(100%, 1440px);
}

/* The wider desktop Pricing panel keeps both comparison tables fully visible. */
@media (min-width: 761px) {
    .pricing-admin-tool-panel .comparison-admin-table-scroll {
        overflow-x: visible;
        overflow-y: visible;
    }

    .pricing-admin-tool-panel .comparison-admin-editable-table,
    .pricing-admin-tool-panel .comparison-admin-simple-table {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
    }

    .pricing-admin-tool-panel .comparison-admin-editable-table th,
    .pricing-admin-tool-panel .comparison-admin-editable-table td,
    .pricing-admin-tool-panel .comparison-admin-simple-table th,
    .pricing-admin-tool-panel .comparison-admin-simple-table td {
        min-width: 0;
    }

    /* Keep the row insertion controls above the first data column. */
    .pricing-admin-tool-panel .comparison-admin-editable-table .comparison-admin-row-label-cell {
        position: sticky;
        z-index: 100;
        isolation: isolate;
    }

    .pricing-admin-tool-panel .comparison-admin-editable-table .comparison-admin-row-add,
    .pricing-admin-tool-panel .comparison-admin-editable-table .comparison-admin-add-between {
        z-index: 1000;
        isolation: isolate;
    }
}

/* Keep row insertion buttons above the adjacent grid cells at every width. */
.pricing-admin-tool-panel .comparison-admin-editable-table .comparison-admin-row-label-cell {
    position: sticky !important;
    z-index: 100 !important;
    isolation: isolate;
}

.pricing-admin-tool-panel .comparison-admin-editable-table .comparison-admin-row-add,
.pricing-admin-tool-panel .comparison-admin-editable-table .comparison-admin-add-between {
    position: absolute;
    z-index: 1000 !important;
    isolation: isolate;
}

.pricing-admin-tool-panel .comparison-admin-editable-table .comparison-admin-row-add {
    position: static;
    display: flex;
    margin: 0 auto;
    transform: translateZ(1px);
}

.pricing-admin-tool-panel .comparison-admin-editable-table .comparison-admin-add-between:not(.comparison-admin-row-add) {
    transform: translateY(-50%) translateZ(1px);
}

.pricing-admin-tool-panel .comparison-admin-editable-table .comparison-admin-row-add-heading,
.pricing-admin-tool-panel .comparison-admin-editable-table .comparison-admin-row-add-cell {
    position: relative;
    width: 38px;
    min-width: 38px !important;
    padding: 0;
    overflow: visible;
    z-index: 1000;
}

/* Column insertion gets its own narrow grid rail so it never shares the header flex row with delete. */
.pricing-admin-tool-panel .comparison-admin-editable-table .comparison-admin-column-add-rail {
    position: relative;
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    padding: 0 !important;
    overflow: visible;
    background: rgba(26, 44, 77, .42);
    z-index: 1000;
}

.pricing-admin-tool-panel .comparison-admin-editable-table .comparison-admin-column-add-rail .comparison-admin-column-add {
    position: static !important;
    display: flex;
    width: 22px;
    height: 22px;
    margin: 0 auto;
    transform: none !important;
}

.pricing-admin-tool-panel .comparison-admin-editable-table .comparison-admin-column-add-spacer {
    pointer-events: none;
}

.pricing-admin-tool-panel .comparison-admin-editable-table [data-comparison-column] {
    position: relative;
    overflow: visible;
    z-index: 2;
}

.pricing-admin-tool-panel .comparison-admin-editable-table [data-comparison-column] .comparison-admin-simple-header {
    position: relative;
    z-index: 3;
    padding-right: 0;
    overflow: visible;
}

/* Public Pricing page: package-first presentation. */
.pricing-page-v2 {
    overflow-x: clip;
}

.pricing-v2-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: end;
    gap: clamp(24px, 5vw, 72px);
    padding-bottom: 34px;
}

.pricing-v2-hero-copy {
    max-width: 780px;
}

.pricing-v2-hero h1 {
    max-width: 760px;
    margin-bottom: 16px;
}

.pricing-v2-hero .page-intro {
    max-width: 700px;
    margin-bottom: 24px;
}

.pricing-v2-hero-actions,
.pricing-v2-final-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.pricing-v2-hero-actions .button,
.pricing-v2-final-actions .button {
    min-width: 172px;
}

.pricing-v2-card-kicker {
    color: #9fc2ff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.pricing-v2-promo {
    width: min(100% - 32px, 1180px);
    margin: 0 auto 18px;
}

.pricing-v2-promo .pricing-sale-banner {
    margin: 0 auto;
}

.pricing-v2-section {
    padding-top: clamp(42px, 6vw, 76px);
    padding-bottom: clamp(42px, 6vw, 76px);
}

.pricing-v2-section-heading {
    max-width: 820px;
    margin-bottom: 26px;
}

.pricing-v2-section-heading h2 {
    margin-bottom: 10px;
}

.pricing-v2-package-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 16px;
}

.pricing-v2-package-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 26px 24px 22px;
    border: 1px solid rgba(151, 191, 255, .2);
    border-radius: 20px;
    background: linear-gradient(160deg, rgba(23, 35, 60, .98), rgba(11, 20, 38, .98));
    box-shadow: 0 16px 42px rgba(0, 0, 0, .16);
}

.pricing-v2-package-card.is-recommended {
    border-color: rgba(102, 161, 255, .8);
    background: linear-gradient(160deg, rgba(32, 69, 139, .86), rgba(12, 25, 51, .98));
    box-shadow: 0 18px 50px rgba(25, 81, 181, .22), inset 0 1px rgba(183, 216, 255, .18);
}

.pricing-v2-recommended-badge {
    position: absolute;
    top: 16px;
    right: 18px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #9fc2ff;
    color: #0b1931;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .03em;
}

.pricing-v2-package-card h3 {
    margin: 8px 0 14px;
    padding-right: 72px;
    font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.pricing-v2-card-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0;
    color: rgba(219, 226, 245, .72);
}

.pricing-v2-card-price strong {
    color: var(--ink);
    font-size: clamp(1.8rem, 3vw, 2.45rem);
    letter-spacing: -.04em;
}

.pricing-v2-card-price span {
    font-size: .82rem;
}

.pricing-v2-card-pages {
    margin: 6px 0 18px;
    color: #9fc2ff;
    font-weight: 800;
}

.pricing-v2-card-description,
.pricing-v2-card-best-for,
.pricing-v2-card-additional {
    color: rgba(219, 226, 245, .78);
    line-height: 1.55;
}

.pricing-v2-card-description {
    margin: 0 0 12px;
}

.pricing-v2-card-best-for {
    margin: 0 0 18px;
    font-size: .9rem;
}

.pricing-v2-card-best-for strong,
.pricing-v2-card-includes p {
    color: var(--ink);
}

.pricing-v2-card-includes {
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid rgba(151, 191, 255, .15);
}

.pricing-v2-card-includes p {
    margin: 0 0 8px;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.pricing-v2-card-includes ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pricing-v2-card-includes li {
    position: relative;
    padding-left: 18px;
    color: rgba(219, 226, 245, .85);
    font-size: .88rem;
    line-height: 1.35;
}

.pricing-v2-card-includes li::before {
    position: absolute;
    left: 0;
    color: #6ee7b7;
    content: '✓';
    font-weight: 900;
}

.pricing-v2-card-additional {
    margin: 18px 0 16px;
    font-size: .86rem;
}

.pricing-v2-card-cta {
    width: 100%;
    margin-top: 4px;
}

.pricing-v2-comparison-section,
.pricing-v2-care-section {
    border-top: 1px solid rgba(151, 191, 255, .1);
}

.pricing-v2-comparison-section .comparison-wrap,
.pricing-v2-care-section .comparison-wrap {
    margin-top: 22px;
}

.pricing-v2-care-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
    align-items: center;
    gap: clamp(22px, 5vw, 72px);
    margin-bottom: 54px;
}

.pricing-v2-care-intro .section-heading {
    margin-bottom: 0;
}

.pricing-v2-care-distinction {
    display: grid;
    gap: 8px;
    padding: 22px;
    border-left: 3px solid #4c8cf8;
    border-radius: 0 16px 16px 0;
    background: rgba(22, 45, 88, .36);
    color: rgba(219, 226, 245, .82);
    line-height: 1.5;
}

.pricing-v2-care-distinction strong {
    color: var(--ink);
}

.pricing-v2-care-table-heading {
    margin-bottom: 18px;
}

.pricing-v2-care-table-heading h2 {
    font-size: clamp(1.35rem, 2.4vw, 2rem);
}

.pricing-v2-redesign-section {
    padding-top: 20px;
}

.pricing-v2-redesign-card {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr) auto;
    align-items: center;
    gap: 28px;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid rgba(151, 191, 255, .2);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(21, 39, 73, .9), rgba(11, 20, 38, .95));
}

.pricing-v2-redesign-card h2 {
    margin: 6px 0 10px;
}

.pricing-v2-redesign-card p:not(.eyebrow) {
    margin: 0;
    color: rgba(219, 226, 245, .8);
    line-height: 1.6;
}

.pricing-v2-redesign-benefits {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    color: rgba(219, 226, 245, .86);
    font-size: .9rem;
}

.pricing-v2-redesign-benefits li::before {
    margin-right: 8px;
    color: #6ee7b7;
    content: '✓';
    font-weight: 900;
}

.pricing-v2-redesign-card .button {
    white-space: nowrap;
}

.pricing-v2-final-cta {
    padding-top: 28px;
}

.pricing-v2-final-cta-card {
    display: grid;
    justify-items: center;
    padding: clamp(32px, 6vw, 64px) 24px;
    border: 1px solid rgba(102, 161, 255, .35);
    border-radius: 26px;
    background: radial-gradient(circle at 50% 0, rgba(51, 108, 218, .3), transparent 58%), rgba(15, 28, 52, .92);
    text-align: center;
}

.pricing-v2-final-cta-card h2 {
    max-width: 720px;
    margin: 8px 0 12px;
}

.pricing-v2-final-cta-card > p:not(.eyebrow) {
    max-width: 600px;
    margin: 0 0 24px;
    color: rgba(219, 226, 245, .8);
    line-height: 1.55;
}

.pricing-v2-final-actions {
    justify-content: center;
}

.pricing-v2-text-link {
    padding: 8px 4px;
    color: #b6d2ff;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.pricing-v2-builder-section {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 0;
}

.pricing-v2-builder-section .pricing-builder-card {
    margin-bottom: 84px;
}

@media (max-width: 980px) {
    .pricing-v2-hero,
    .pricing-v2-care-intro {
        grid-template-columns: 1fr;
    }

    .pricing-v2-redesign-card {
        grid-template-columns: 1fr 1fr;
    }

    .pricing-v2-redesign-card .button {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

@media (max-width: 720px) {
    .pricing-v2-builder-section {
        width: min(100% - 28px, 1180px);
    }

    .pricing-v2-hero {
        gap: 22px;
        padding-bottom: 22px;
    }

    .pricing-v2-hero-actions,
    .pricing-v2-final-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .pricing-v2-hero-actions .button,
    .pricing-v2-final-actions .button {
        width: 100%;
    }

    .pricing-v2-package-grid {
        grid-template-columns: 1fr;
    }

    .pricing-v2-package-card {
        padding: 24px 20px 20px;
    }

    .pricing-v2-care-intro {
        margin-bottom: 38px;
    }

    .pricing-v2-redesign-card {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .pricing-v2-redesign-card .button {
        grid-column: auto;
        width: 100%;
    }

    .pricing-v2-text-link {
        text-align: center;
    }
}

@media (max-width: 560px) {
    .pricing-v2-builder-section {
        width: min(100% - 20px, 1180px);
    }
}
.admin-role-permission-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
    margin: 1rem 0;
}

.admin-role-permission-grid label {
    display: grid;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 700;
}

.admin-role-permission-grid select {
    min-width: 0;
}

.admin-role-list {
    display: grid;
    gap: 1rem;
}

.admin-role-item {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
    border: 1px solid var(--border-color, rgba(123, 160, 219, 0.25));
    border-radius: 0.85rem;
    background: rgba(10, 18, 34, 0.42);
}

.admin-role-item-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.admin-role-item-heading .summary-note {
    margin: 0;
}

.admin-role-management {
    margin-top: 1.25rem;
}

.admin-read-only-notice {
    grid-column: 1 / -1;
    margin: 0;
}

.admin-dashboard-read-only form[method="post"] {
    display: none !important;
}

/* Personal Sales mailbox. The data and ownership checks remain server-side;
   these rules only keep the dashboard readable at smaller widths. */
.sales-email-panel {
    min-width: 0;
}

.sales-email-heading,
.sales-email-toolbar,
.sales-email-identity {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.sales-email-identity {
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 1rem 0;
    padding: 0.75rem 1rem;
    border: 1px solid rgba(126, 166, 236, 0.25);
    border-radius: 0.75rem;
    background: rgba(25, 42, 73, 0.35);
}

.sales-email-identity span:not(.admin-status-pill) {
    color: var(--muted-text, #b8c2d4);
}

.sales-email-toolbar {
    align-items: flex-end;
    flex-wrap: wrap;
    margin: 1rem 0;
}

.sales-email-folders {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.sales-email-folders a {
    padding: 0.55rem 0.8rem;
    border-radius: 0.55rem;
    color: inherit;
    text-decoration: none;
}

.sales-email-folders a.is-active,
.sales-email-folders a:hover,
.sales-email-folders a:focus-visible {
    background: rgba(74, 132, 236, 0.25);
}

.sales-email-search {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin: 0;
}

.sales-email-search input {
    min-width: min(19rem, 60vw);
}

.sales-email-layout {
    display: grid;
    grid-template-columns: minmax(15rem, 0.8fr) minmax(0, 1.7fr);
    gap: 1rem;
    min-height: 25rem;
}

.sales-email-thread-list,
.sales-email-reading-pane {
    min-width: 0;
    border: 1px solid rgba(126, 166, 236, 0.2);
    border-radius: 0.8rem;
    background: rgba(8, 16, 31, 0.38);
}

.sales-email-thread-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.25rem 0.75rem;
    padding: 0.85rem 1rem;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(126, 166, 236, 0.13);
}

.sales-email-thread-row:last-child {
    border-bottom: 0;
}

.sales-email-thread-row.is-active,
.sales-email-thread-row:hover,
.sales-email-thread-row:focus-visible {
    background: rgba(49, 93, 170, 0.25);
}

.sales-email-thread-row span,
.sales-email-thread-row p {
    grid-column: 1 / -1;
    margin: 0;
}

.sales-email-thread-row small,
.sales-email-thread-row p {
    color: var(--muted-text, #b8c2d4);
    font-size: 0.86rem;
}

.sales-email-reading-pane {
    padding: 1rem;
}

.sales-email-message {
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
    border-radius: 0.7rem;
    background: rgba(26, 35, 52, 0.65);
}

.sales-email-message p {
    margin: 0 0 0.45rem;
}

.sales-email-compose {
    margin-top: 1.25rem;
    padding: 1.25rem;
    border: 1px solid rgba(126, 166, 236, 0.24);
    border-radius: 1rem;
    background: linear-gradient(145deg, rgba(28, 49, 87, 0.54), rgba(9, 17, 31, 0.7));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.sales-email-compose-button,
.sales-email-cancel-button {
    min-height: 42px;
    padding: 0 1rem;
}

.sales-email-compose-heading {
    align-items: flex-start;
}

.sales-email-compose-heading .eyebrow,
.sales-email-compose-heading h4 {
    margin: 0;
}

.sales-email-compose-heading h4 {
    margin-top: 0.2rem;
}

.sales-email-compose-from {
    margin: 0;
    padding: 0.7rem 0.85rem;
    border: 1px solid rgba(126, 166, 236, 0.16);
    border-radius: 0.65rem;
    background: rgba(7, 15, 29, 0.45);
    color: var(--muted-text, #b8c2d4);
}

.sales-email-recipient-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.sales-email-compose label {
    display: grid;
    gap: 0.35rem;
}

.sales-email-compose textarea {
    min-height: 12rem;
}

.sales-email-signature-editor {
    display: grid;
    gap: 0.65rem;
    padding: 0.9rem;
    border: 1px solid rgba(126, 166, 236, 0.22);
    border-radius: 0.75rem;
    background: rgba(7, 15, 29, 0.36);
}

.sales-email-signature-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.sales-email-signature-heading div {
    display: grid;
    gap: 0.2rem;
}

.sales-email-signature-heading span:not(.sales-email-signature-badge) {
    color: var(--muted-text, #b8c2d4);
    font-size: 0.86rem;
    font-weight: 400;
}

.sales-email-signature-badge {
    flex: 0 0 auto;
    padding: 0.25rem 0.5rem;
    border: 1px solid rgba(82, 151, 255, 0.32);
    border-radius: 999px;
    color: #a9c9ff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.sales-email-signature-editor textarea {
    min-height: 9rem;
    font-size: 0.94rem;
}

.sales-email-attachment-field input[type="file"] {
    padding: 0.65rem 0.75rem;
    border-style: dashed;
}

.sales-email-compose-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
    margin-top: 0.25rem;
}

.sales-email-compose-actions button,
.sales-email-compose-actions .button {
    width: auto;
    min-width: 7.5rem;
    min-height: 42px;
    padding: 0 1rem;
}

.sales-email-setup-note {
    margin: 1rem 0;
}

@media (max-width: 800px) {
    .sales-email-heading,
    .sales-email-toolbar,
    .sales-email-search {
        align-items: stretch;
        flex-direction: column;
    }

    .sales-email-search,
    .sales-email-search input,
    .sales-email-search button {
        width: 100%;
        min-width: 0;
    }

    .sales-email-layout {
        grid-template-columns: 1fr;
    }

    .sales-email-recipient-grid {
        grid-template-columns: 1fr;
    }

    .sales-email-compose-actions {
        justify-content: stretch;
    }

    .sales-email-signature-heading {
        flex-direction: column;
    }

    .sales-email-compose-actions button,
    .sales-email-compose-actions .button {
        flex: 1 1 10rem;
    }
}

/* Final precedence layer for the mailbox redesign. These rules intentionally
   follow the legacy Sales Email rules above so the old prototype cannot leak
   its two-column row styling into the new three-pane workspace. */
.sales-email-app .sales-email-mailbox {
    display: grid;
    grid-template-columns: 10.5rem minmax(18rem, 0.95fr) minmax(28rem, 1.65fr);
}

.sales-email-app .sales-email-folders {
    display: grid;
    gap: 0.2rem;
}

.sales-email-app .sales-email-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.4rem;
    align-items: center;
}

.sales-email-app .sales-email-thread-row {
    display: grid;
    grid-template-columns: 2.15rem minmax(0, 1fr) auto;
    gap: 0.55rem;
    align-items: start;
}

.sales-email-app .sales-email-thread-row span,
.sales-email-app .sales-email-thread-row p {
    grid-column: auto;
}

.sales-email-app .sales-email-thread-copy {
    display: grid;
    grid-column: 2;
    gap: 0.13rem;
}

.sales-email-app .sales-email-thread-meta {
    display: grid;
    grid-column: 3;
    justify-items: end;
    gap: 0.35rem;
}

.sales-email-app .sales-email-reading-pane {
    padding: 1.25rem 1.35rem 1.4rem;
}

.sales-email-app .sales-email-compose {
    position: absolute;
    right: 1.4rem;
    bottom: 1.4rem;
    width: min(38rem, calc(100% - 2.8rem));
    max-height: calc(100% - 2.8rem);
    margin: 0;
}

@media (max-width: 1050px) {
    .sales-email-app .sales-email-mailbox {
        grid-template-columns: 9rem minmax(16rem, 0.9fr) minmax(24rem, 1.35fr);
    }
}

@media (max-width: 800px) {
    .sales-email-app .sales-email-mailbox {
        grid-template-columns: 8.5rem minmax(0, 1fr);
    }

    .sales-email-app .sales-email-search {
        grid-template-columns: minmax(0, 1fr) auto;
        flex-direction: row;
    }

    .sales-email-app .sales-email-compose {
        position: fixed;
        right: 0.65rem;
        bottom: 0.65rem;
        left: 0.65rem;
        width: auto;
        max-height: calc(100dvh - 1.3rem);
    }
}

@media (max-width: 560px) {
    .sales-email-app .sales-email-mailbox {
        display: block;
    }

    .sales-email-app .sales-email-search {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}

/* Second-pass workspace refinement. Keep this page-specific layer last so
   ordinary Admin dashboard cards and the original prototype rules cannot
   constrain the mailbox or composer. */
.sales-dashboard-grid:has(.sales-email-app) {
    width: min(1500px, calc(100vw - 32px));
}

.sales-dashboard-grid:has(.sales-email-app) > .admin-tool-nav {
    width: 100%;
    margin-bottom: 0;
    gap: 0.55rem;
}

.sales-dashboard-grid:has(.sales-email-app) > .admin-tool-nav .admin-tool-nav-group {
    padding: 0.7rem 0.85rem;
    border-radius: 0.9rem;
}

.sales-dashboard-grid:has(.sales-email-app) > .admin-tool-nav .admin-tool-nav-copy {
    display: none;
}

.sales-dashboard-grid:has(.sales-email-app) > .admin-tool-nav .admin-tool-nav-group-heading {
    gap: 0.45rem;
}

.sales-email-app {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 1rem;
    border-radius: 1rem;
    border-color: rgba(126, 166, 236, 0.2);
    background: #0b1424;
    box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.22);
}

.sales-email-app .sales-email-app-header {
    display: flex;
    min-height: 2.4rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 0.8rem;
    padding: 0 0.2rem;
}

.sales-email-app .sales-email-app-header h3 {
    margin: 0;
    font-size: 1.15rem;
}

.sales-email-app .sales-email-sending-as {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
    margin-left: auto;
    padding: 0;
    border: 0;
    font-size: 0.72rem;
}

.sales-email-app .sales-email-sending-as strong {
    font-size: 0.78rem;
    font-weight: 650;
}

.sales-email-app .sales-email-mailbox {
    grid-template-columns: 168px 380px minmax(0, 1fr);
    min-height: clamp(38rem, calc(100vh - 285px), 62rem);
    height: clamp(38rem, calc(100vh - 285px), 62rem);
    border-radius: 0.75rem;
    border-color: rgba(126, 166, 236, 0.18);
    background: #0a1323;
}

.sales-email-app .sales-email-sidebar {
    padding: 0.85rem 0.65rem;
    border-right-color: rgba(126, 166, 236, 0.15);
    background: #0d192c;
}

.sales-email-app .sales-email-sidebar-compose {
    margin-bottom: 0.85rem;
    padding: 0.62rem 0.7rem;
    border-radius: 0.6rem;
    box-shadow: none;
}

.sales-email-app .sales-email-sidebar-note {
    margin-top: 1.4rem;
}

.sales-email-app .sales-email-list-pane {
    border-right-color: rgba(126, 166, 236, 0.15);
    background: #0b1628;
}

.sales-email-app .sales-email-list-heading {
    min-height: 5.55rem;
    gap: 0.55rem;
    padding: 0.75rem 0.8rem 0.65rem;
}

.sales-email-app .sales-email-list-heading > div:first-child {
    min-height: 1.1rem;
}

.sales-email-app .sales-email-search {
    grid-template-columns: minmax(0, 1fr) auto;
}

.sales-email-app .sales-email-search input {
    min-height: 2.15rem;
    border-color: rgba(126, 166, 236, 0.25);
    border-radius: 0.55rem;
    background: #111d31;
    color: #edf3ff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.sales-email-app .sales-email-search input::placeholder {
    color: #8290aa;
}

.sales-email-app .sales-email-search button {
    min-width: 2.35rem;
    min-height: 2.15rem;
    padding: 0 0.55rem;
    border-color: rgba(126, 166, 236, 0.26);
    border-radius: 0.55rem;
    background: #182943;
    font-size: 0.72rem;
}

.sales-email-app .sales-email-thread-list {
    min-height: 0;
    height: calc(100% - 5.55rem);
    overflow-y: auto;
}

.sales-email-app .sales-email-thread-row {
    min-height: 4.2rem;
    padding: 0.65rem 0.75rem;
    border-radius: 0;
    border-bottom-color: rgba(126, 166, 236, 0.1);
    background: transparent;
}

.sales-email-app .sales-email-thread-row-wrap {
    position: relative;
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid rgba(126, 166, 236, 0.1);
}

.sales-email-app .sales-email-thread-row-wrap .sales-email-thread-row {
    flex: 1 1 auto;
    min-width: 0;
    border-bottom: 0;
}

.sales-email-app .sales-email-thread-row-delete-form {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    padding: 0 0.45rem 0 0;
    margin: 0;
    background: transparent;
}

.sales-email-app .sales-email-thread-row-delete {
    min-height: 2rem;
    padding: 0.3rem 0.48rem;
    border: 1px solid transparent;
    border-radius: 0.45rem;
    background: transparent;
    color: #8fa4c6;
    cursor: pointer;
    font: inherit;
    font-size: 0.68rem;
    font-weight: 800;
    opacity: 0.72;
    transition: color 140ms ease, background-color 140ms ease, border-color 140ms ease, opacity 140ms ease;
}

.sales-email-app .sales-email-thread-row-delete:hover,
.sales-email-app .sales-email-thread-row-delete:focus-visible {
    border-color: rgba(255, 145, 145, 0.55);
    background: rgba(153, 45, 62, 0.32);
    color: #ffd7d7;
    opacity: 1;
}

.sales-email-app .sales-email-thread-row:hover,
.sales-email-app .sales-email-thread-row:focus-visible {
    background: #132542;
}

.sales-email-app .sales-email-thread-row.is-active {
    background: #19345c;
    box-shadow: inset 3px 0 0 #5b9cff;
}

.sales-email-app .sales-email-thread-row.is-unread .sales-email-thread-copy strong,
.sales-email-app .sales-email-thread-row.is-unread .sales-email-thread-subject {
    color: #fff;
    font-weight: 850;
}

.sales-email-app .sales-email-reading-pane {
    overflow-y: auto;
    padding: 1.25rem clamp(1.1rem, 3vw, 2.5rem) 1.5rem;
    background: #0a1323;
}

.sales-email-app .sales-email-reading-empty {
    min-height: 100%;
    color: #92a0b8;
}

.sales-email-app .sales-email-thread-heading {
    min-height: 2.5rem;
    padding-bottom: 0.85rem;
    border-bottom-color: rgba(126, 166, 236, 0.12);
}

.sales-email-app .sales-email-thread-heading h4 {
    margin-top: 0.15rem;
    font-size: clamp(1.1rem, 1.5vw, 1.4rem);
}

.sales-email-app .sales-email-lead-context {
    grid-template-columns: minmax(0, 1.2fr) minmax(13rem, 1fr) auto;
    margin-top: 0.75rem;
    padding: 0.65rem 0.75rem;
    border: 0;
    border-bottom: 1px solid rgba(126, 166, 236, 0.13);
    border-radius: 0;
    background: transparent;
}

.sales-email-app .sales-email-thread-messages {
    gap: 0;
    padding-top: 0.45rem;
}

.sales-email-app .sales-email-message,
.sales-email-app .sales-email-message-disclosure {
    border: 0;
    border-bottom: 1px solid rgba(126, 166, 236, 0.11);
    border-radius: 0;
    background: transparent;
}

.sales-email-app .sales-email-message {
    margin: 0;
    padding: 1rem 0.2rem;
}

.sales-email-app .sales-email-message.is-latest {
    background: rgba(22, 41, 70, 0.26);
}

.sales-email-app .sales-email-message-disclosure summary {
    padding: 0.7rem 0.2rem;
}

.sales-email-app .sales-email-message-body {
    max-width: 74rem;
}

.sales-email-app .sales-email-thread-footer {
    margin-top: 0.65rem;
    padding-top: 0.75rem;
    border-top: 0;
}

.sales-email-app .sales-email-compose {
    right: 1.2rem;
    bottom: 1.2rem;
    width: min(570px, calc(100vw - 32px));
    max-height: min(680px, 72vh);
    gap: 0.55rem;
    padding: 0.9rem;
    overflow-y: auto;
    border: 1px solid rgba(107, 170, 255, 0.58);
    border-radius: 0.85rem;
    background: #0d1a2e;
    box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, 0.62), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
    opacity: 1;
    backdrop-filter: none;
}

.sales-email-app .sales-email-compose-heading {
    min-height: 2rem;
    align-items: center;
}

.sales-email-app .sales-email-compose-heading h4 {
    margin: 0;
    font-size: 1rem;
}

.sales-email-app .sales-email-compose-from {
    padding: 0.35rem 0;
    border: 0;
    background: transparent;
    font-size: 0.75rem;
}

.sales-email-app .sales-email-recipient-control {
    gap: 0.25rem;
}

.sales-email-app .sales-email-recipient-control > label,
.sales-email-app .sales-email-subject-field,
.sales-email-app .sales-email-hidden-recipient-row label,
.sales-email-app .sales-email-message-editor > label {
    color: #aebbd0;
    font-size: 0.75rem;
    font-weight: 700;
}

.sales-email-app .sales-email-recipient-input-wrap input,
.sales-email-app .sales-email-hidden-recipient-row input,
.sales-email-app .sales-email-subject-field input {
    min-height: 2.2rem;
    padding: 0.45rem 0.65rem;
    border: 0;
    border-bottom: 1px solid rgba(126, 166, 236, 0.22);
    border-radius: 0;
    background: transparent;
    color: #f2f6ff;
}

.sales-email-app .sales-email-recipient-input-wrap input:focus,
.sales-email-app .sales-email-hidden-recipient-row input:focus,
.sales-email-app .sales-email-subject-field input:focus {
    border-bottom-color: #6aa7ff;
    box-shadow: 0 1px 0 #6aa7ff;
    outline: 0;
}

.sales-email-app .sales-email-recipient-input-wrap input {
    padding-right: 8rem;
}

.sales-email-app .sales-email-recipient-options {
    display: flex;
    justify-content: flex-end;
    gap: 0.55rem;
    margin-top: -0.1rem;
}

.sales-email-app .sales-email-field-toggle {
    padding: 0;
    border: 0;
    background: transparent;
    color: #9fc3ff;
    cursor: pointer;
    font-size: 0.73rem;
    font-weight: 750;
}

.sales-email-app .sales-email-field-toggle:hover,
.sales-email-app .sales-email-field-toggle:focus-visible {
    color: #fff;
    text-decoration: underline;
}

.sales-email-app .sales-email-hidden-recipient-row {
    display: block;
}

.sales-email-app .sales-email-subject-field {
    display: grid;
    gap: 0.2rem;
}

.sales-email-app .sales-email-message-editor {
    display: grid;
    gap: 0.25rem;
}

.sales-email-app .sales-email-message-editor textarea[name="message"] {
    min-height: 10rem;
    padding: 0.7rem 0;
    border: 0;
    border-bottom: 1px solid rgba(126, 166, 236, 0.2);
    border-radius: 0;
    background: transparent;
    color: #f2f6ff;
    resize: vertical;
}

.sales-email-app .sales-email-message-editor textarea[name="message"]:focus {
    outline: 0;
    border-bottom-color: #6aa7ff;
    box-shadow: 0 1px 0 #6aa7ff;
}

.sales-email-app .sales-email-signature-editor {
    display: grid;
    gap: 0.2rem;
    margin-top: 0.15rem;
    padding: 0.55rem 0 0;
    border: 0;
    border-top: 1px solid rgba(126, 166, 236, 0.12);
    border-radius: 0;
    background: transparent;
}

.sales-email-app .sales-email-signature-label {
    color: #8393ac;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
}

.sales-email-app .sales-email-signature-editor textarea {
    min-height: 6.2rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #aebbd0;
    font-size: 0.8rem;
    line-height: 1.45;
    resize: vertical;
}

.sales-email-app .sales-email-compose-toolbar {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.25rem;
}

.sales-email-app .sales-email-attachment-button {
    display: inline-flex;
    width: auto;
    min-height: 2.1rem;
    align-items: center;
    padding: 0 0.7rem;
    font-size: 0.75rem;
}

.sales-email-app .sales-email-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.sales-email-app .sales-email-attachment-chips {
    min-width: 0;
}

.sales-email-app .sales-email-compose-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0;
    padding-top: 0.55rem;
    border-top: 1px solid rgba(126, 166, 236, 0.12);
}

.sales-email-app .sales-email-compose-actions button,
.sales-email-app .sales-email-compose-actions .button {
    min-width: 0;
    min-height: 2.2rem;
    padding: 0 0.8rem;
}

@media (max-width: 1199px) and (min-width: 901px) {
    .sales-dashboard-grid:has(.sales-email-app) {
        width: calc(100vw - 24px);
    }

    .sales-email-app .sales-email-mailbox {
        grid-template-columns: 150px 325px minmax(0, 1fr);
    }
}

@media (max-width: 900px) {
    .sales-dashboard-grid:has(.sales-email-app) {
        width: calc(100vw - 24px);
    }

    .sales-email-app .sales-email-mailbox {
        height: calc(100dvh - 260px);
        min-height: 34rem;
        grid-template-columns: 156px minmax(0, 1fr);
    }

    .sales-email-app .sales-email-compose {
        right: 0.75rem;
        bottom: 0.75rem;
        width: min(640px, calc(100vw - 24px));
        max-height: calc(100dvh - 120px);
    }
}

@media (max-width: 600px) {
    .sales-dashboard-grid:has(.sales-email-app) {
        width: 100%;
    }

    .sales-email-app {
        padding: 0.55rem;
        border-right: 0;
        border-left: 0;
        border-radius: 0.75rem;
    }

    .sales-email-app .sales-email-app-header {
        min-height: 2rem;
        padding: 0 0.1rem;
    }

    .sales-email-app .sales-email-mailbox {
        display: block;
        height: calc(100dvh - 190px);
        min-height: 30rem;
    }

    .sales-email-app .sales-email-sidebar {
        border-right: 0;
        border-bottom: 1px solid rgba(126, 166, 236, 0.15);
    }

    .sales-email-app .sales-email-sidebar-note,
    .sales-email-app .sales-email-sending-as span {
        display: none;
    }

    .sales-email-app .sales-email-sidebar-compose {
        display: inline-block;
        margin-bottom: 0.45rem;
    }

    .sales-email-app .sales-email-folders {
        grid-template-columns: repeat(3, 1fr);
    }

    .sales-email-app .sales-email-reading-pane {
        min-height: 30rem;
        padding: 0.9rem 0.75rem;
    }

    .sales-email-app .sales-email-compose {
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        max-height: 92dvh;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 1rem 1rem 0 0;
    }

    .sales-email-app .sales-email-lead-context {
        grid-template-columns: 1fr;
    }
}

/* Keep Sales Email comfortably readable without changing other dashboard views. */
.sales-email-app {
    font-size: 1.12rem;
}

.sales-email-app input,
.sales-email-app select,
.sales-email-app textarea,
.sales-email-app button,
.sales-email-app .button {
    font-size: 1rem;
}

.sales-email-app .sales-email-sidebar-compose,
.sales-email-app .sales-email-folders a,
.sales-email-app .sales-email-search button,
.sales-email-app .sales-email-compose-actions button {
    font-size: 1.05rem;
}

.sales-email-app .sales-email-sidebar-note,
.sales-email-app .sales-email-thread-copy small,
.sales-email-app .sales-email-thread-preview,
.sales-email-app .sales-email-thread-meta,
.sales-email-app .sales-email-thread-subject,
.sales-email-app .sales-email-compose-from,
.sales-email-app .sales-email-message-heading small,
.sales-email-app .sales-email-message-heading time,
.sales-email-app .sales-email-message-disclosure summary time {
    font-size: 0.92rem;
}

.sales-email-app .sales-email-message-body {
    font-size: 1.08rem;
}

/* Mandatory Sales Agreement gate. The document scrolls inside the fixed
   dialog so the underlying Sales workspace cannot be used or scrolled. */
body.sales-agreement-page-locked {
    overflow: hidden;
}

.sales-agreement-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(3, 8, 18, 0.84);
    overscroll-behavior: contain;
}

.sales-agreement-backdrop[hidden] {
    display: none;
}

.sales-agreement-dialog {
    width: min(820px, calc(100vw - 40px));
    max-height: min(850px, calc(100vh - 40px));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    color: #eef3ff;
    background: #101827;
    border: 1px solid rgba(87, 153, 255, 0.55);
    border-radius: 18px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.6);
}

.sales-agreement-dialog-header,
.sales-agreement-dialog-footer {
    flex: 0 0 auto;
    padding: 22px 26px;
}

.sales-agreement-dialog-header {
    border-bottom: 1px solid rgba(151, 177, 221, 0.2);
}

.sales-agreement-dialog-header h2 {
    margin: 0 0 8px;
    font-size: clamp(1.35rem, 2.4vw, 1.9rem);
}

.sales-agreement-dialog-header p:last-child {
    margin: 0;
    color: #bdc9de;
}

.sales-agreement-reading {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 26px;
    background: rgba(5, 13, 27, 0.72);
    font-size: 16px;
    line-height: 1.62;
    overscroll-behavior: contain;
}

.sales-agreement-reading:focus {
    outline: 2px solid #5a9bff;
    outline-offset: -4px;
}

.sales-agreement-reading h1 {
    margin: 0 0 24px;
    font-size: 1.25rem;
    letter-spacing: 0.03em;
}

.sales-agreement-reading p {
    margin: 0 0 18px;
}

.sales-agreement-reading strong {
    color: #fff;
}

.sales-agreement-development-warning {
    margin: 16px 26px 0;
    padding: 12px 14px;
    color: #ffe2bd;
    background: rgba(137, 78, 25, 0.25);
    border: 1px solid rgba(255, 174, 86, 0.55);
    border-radius: 10px;
    font-size: 0.9rem;
}

.sales-agreement-scroll-note,
.sales-agreement-status {
    margin: 0 0 12px;
    color: #aebbd1;
    font-size: 0.86rem;
}

.sales-agreement-check-label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 18px;
    color: #f5f7ff;
    font-size: 0.96rem;
    line-height: 1.4;
}

.sales-agreement-check-label input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: #4d91ff;
}

.sales-agreement-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.sales-agreement-actions form {
    margin: 0;
}

.sales-agreement-actions .button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.sales-agreement-admin-status {
    margin-top: 20px;
    padding: 16px;
    background: rgba(20, 40, 75, 0.28);
    border: 1px solid rgba(91, 139, 211, 0.35);
    border-radius: 12px;
}

.sales-agreement-admin-status h4 {
    margin-top: 0;
}

.sales-agreement-admin-record {
    margin-top: 14px;
    padding: 14px;
    background: rgba(4, 11, 23, 0.42);
    border: 1px solid rgba(151, 177, 221, 0.18);
    border-radius: 8px;
}

.sales-agreement-admin-record p {
    margin: 4px 0;
}

.sales-agreement-admin-snapshot {
    max-height: 360px;
    overflow: auto;
    white-space: pre-wrap;
    font: 0.82rem/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;
}

@media (max-width: 640px) {
    .sales-agreement-backdrop {
        padding: 0;
    }

    .sales-agreement-dialog {
        width: 100%;
        height: 100dvh;
        max-height: none;
        border-radius: 0;
    }

    .sales-agreement-dialog-header,
    .sales-agreement-dialog-footer,
    .sales-agreement-reading {
        padding-left: 18px;
        padding-right: 18px;
    }

    .sales-agreement-reading {
        font-size: 15px;
        line-height: 1.58;
    }

    .sales-agreement-actions {
        justify-content: stretch;
    }

    .sales-agreement-actions > *,
    .sales-agreement-actions form,
    .sales-agreement-actions form .button {
        flex: 1 1 100%;
        width: 100%;
    }
}

/* Final responsive guards for the second-pass mailbox. */
.sales-email-app .sales-email-compose {
    z-index: 40;
    isolation: isolate;
}

.sales-email-app .sales-email-hidden-recipient-row[hidden] {
    display: none !important;
}

@media (max-width: 900px) {
    .sales-email-app .sales-email-mailbox {
        grid-template-columns: 156px minmax(0, 1fr);
    }

    .sales-email-app .sales-email-reading-pane {
        display: none;
    }

    .sales-email-app.sales-email-has-thread .sales-email-sidebar,
    .sales-email-app.sales-email-has-thread .sales-email-list-pane {
        display: none;
    }

    .sales-email-app.sales-email-has-thread .sales-email-mailbox {
        display: block;
    }

    .sales-email-app.sales-email-has-thread .sales-email-reading-pane {
        display: block;
        min-height: 34rem;
    }

    .sales-email-app .sales-email-compose {
        position: fixed;
        z-index: 1000;
    }
}

/* Third-pass Sales Email polish and Quote attachment UI. */
.sales-dashboard-grid:has(.sales-email-app),
.sales-dashboard-grid:has(.sales-email-app) > .admin-tool-nav,
.sales-dashboard-grid:has(.sales-email-app) > .sales-email-app {
    box-sizing: border-box;
    margin-inline: auto;
    transform: none;
}

.sales-dashboard-grid:has(.sales-email-app) {
    justify-items: stretch;
}

/* The global section is capped for ordinary dashboard cards. Email owns a
   wider application surface, so its containing section must widen with it. */
.section:has(.sales-email-app) {
    width: min(1500px, calc(100vw - 32px));
    max-width: none;
    box-sizing: border-box;
}

.sales-email-app .sales-email-search {
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) max-content;
}

.sales-email-app .sales-email-search input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.sales-email-app .sales-email-search button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.sales-email-app .sales-email-compose {
    width: min(680px, calc(100vw - 32px));
    max-height: min(820px, 82vh);
}

.sales-email-app .sales-email-message-editor textarea[name="message"] {
    min-height: 10rem;
}

@media (max-width: 900px) {
    .section:has(.sales-email-app) {
        width: calc(100vw - 24px);
    }

    .sales-email-app .sales-email-compose {
        width: min(680px, calc(100vw - 24px));
        max-height: calc(100dvh - 120px);
    }
}

@media (max-width: 600px) {
    .section:has(.sales-email-app) {
        width: 100%;
    }

    .sales-email-app .sales-email-compose {
        width: 100%;
        max-height: 94dvh;
    }

    .sales-email-app .sales-email-message-editor textarea[name="message"] {
        min-height: 9rem;
    }
}

/* Give Sales Email fields a quiet surface contrast and reduce blue repetition in its nav. */
.sales-email-app input,
.sales-email-app select,
.sales-email-app textarea {
    background: #18263c;
    border-color: rgba(145, 181, 230, 0.34);
    color: #f4f7ff;
}

.sales-email-app input::placeholder,
.sales-email-app textarea::placeholder {
    color: #aebbd0;
}

.sales-email-app input:focus,
.sales-email-app select:focus,
.sales-email-app textarea:focus {
    background: #1d304a;
    border-color: #78adf5;
    color: #fff;
}

.sales-dashboard-grid > .admin-tool-nav .admin-tool-link {
    background: rgba(10, 25, 51, 0.72);
    border-color: rgba(143, 184, 239, 0.2);
}

.sales-dashboard-grid > .admin-tool-nav .admin-tool-link:hover,
.sales-dashboard-grid > .admin-tool-nav .admin-tool-link:focus-visible,
.sales-dashboard-grid > .admin-tool-nav .admin-tool-link.is-active {
    background: linear-gradient(180deg, rgb(48, 101, 177), rgb(27, 61, 118));
    border-color: rgba(183, 218, 255, 0.34);
}

/* Prospect Pool: a dense research workspace shared by Admin and Sales. */
.sales-prospect-panel {
    width: 100%;
}

.sales-prospect-heading,
.sales-prospect-preview-heading,
.sales-prospect-list-heading,
.sales-prospect-import-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.sales-prospect-badge,
.sales-prospect-preview-stats span {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid rgba(102, 163, 255, 0.35);
    border-radius: 999px;
    color: #bdd5ff;
    background: rgba(33, 83, 168, 0.22);
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

.sales-prospect-capacity {
    margin: 0.75rem 0 0;
}

.sales-prospect-capacity.is-at-limit {
    color: #ffd1d1;
}

.sales-prospect-actions button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.sales-prospect-import-panel,
.sales-prospect-preview {
    display: grid;
    gap: 1rem;
    margin: 1.25rem 0;
    padding: 1rem;
    border: 1px solid rgba(92, 142, 224, 0.28);
    border-radius: 1rem;
    background: rgba(11, 25, 51, 0.42);
}

.sales-prospect-upload-form,
.sales-prospect-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 0.75rem;
}

.sales-prospect-filters {
    grid-template-columns: minmax(12rem, 2fr) repeat(3, minmax(9rem, 1fr)) auto;
    margin: 1.25rem 0;
}

.sales-prospect-filters.is-admin {
    grid-template-columns: minmax(13rem, 1.8fr) repeat(4, minmax(8rem, 1fr)) auto;
}

.sales-prospect-filters > .button {
    align-self: end;
    justify-self: start;
    white-space: nowrap;
}

.sales-prospect-upload-form label,
.sales-prospect-filters label {
    display: grid;
    gap: 0.35rem;
    color: #c3d1e9;
    font-size: 0.8rem;
    font-weight: 700;
}

.sales-prospect-upload-form input[type="file"],
.sales-prospect-filters input,
.sales-prospect-filters select {
    width: 100%;
    box-sizing: border-box;
    min-height: 2.55rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid rgba(111, 151, 216, 0.42);
    border-radius: 0.65rem;
    background: #17243a;
    color: #edf4ff;
    font: inherit;
    color-scheme: dark;
}

.sales-prospect-panel .sales-prospect-filters input::placeholder {
    color: #9aaed0;
}

.sales-prospect-panel .sales-prospect-filters input:focus,
.sales-prospect-panel .sales-prospect-filters select:focus,
.sales-prospect-panel .sales-prospect-upload-form input[type="file"]:focus {
    outline: none;
    border-color: #6fa8ff;
    box-shadow: 0 0 0 3px rgba(79, 143, 255, 0.22);
}

.sales-prospect-panel .sales-prospect-filters select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 2.25rem;
    background-image: linear-gradient(45deg, transparent 50%, #b9d2fa 50%), linear-gradient(135deg, #b9d2fa 50%, transparent 50%);
    background-position: calc(100% - 1rem) 50%, calc(100% - 0.7rem) 50%;
    background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
    background-repeat: no-repeat;
}

.sales-prospect-panel .sales-prospect-filters select option {
    background: #17243a;
    color: #edf4ff;
}

.sales-prospect-panel .sales-prospect-upload-form input[type="file"] {
    color: #c7d5ec;
}

.sales-prospect-panel .sales-prospect-upload-form input[type="file"]::file-selector-button {
    margin-right: 0.65rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid rgba(111, 151, 216, 0.5);
    border-radius: 0.45rem;
    background: #244579;
    color: #f4f7ff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.sales-prospect-panel .sales-prospect-upload-form input[type="file"]::file-selector-button:hover {
    background: #2d5ba0;
}

.sales-prospect-preview-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.sales-prospect-mapping {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    color: #b8c7df;
    font-size: 0.82rem;
}

.sales-prospect-mapping strong {
    color: #f2f6ff;
}

.sales-prospect-mapping span {
    padding: 0.25rem 0.5rem;
    border: 1px solid rgba(130, 163, 214, 0.26);
    border-radius: 0.45rem;
    background: rgba(17, 32, 62, 0.65);
}

.sales-prospect-table-wrap {
    max-width: 100%;
    overflow-x: auto;
}

.sales-prospect-table {
    min-width: 920px;
}

.sales-prospect-table th,
.sales-prospect-table td {
    vertical-align: top;
}

.sales-prospect-table tr.is-suppressed {
    opacity: 0.62;
}

.sales-prospect-table .summary-note {
    display: inline-block;
    max-width: 22rem;
    margin-top: 0.2rem;
}

.sales-prospect-actions form {
    margin: 0;
}

/* The working pool is a record grid, not a free-form content table. Keep
   each column's job stable so long addresses and notes cannot collapse the
   score, status, or action areas into one unreadable block. */
.sales-prospect-records-wrap {
    overflow-x: auto;
    border: 1px solid rgba(112, 154, 224, 0.24);
    border-radius: 0.9rem;
    background: rgba(8, 19, 39, 0.56);
}

.sales-prospect-records-table {
    width: 100%;
    min-width: 960px;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
}

.sales-prospect-records-table .sales-prospect-col-business { width: 21%; }
.sales-prospect-records-table .sales-prospect-col-location { width: 19%; }
.sales-prospect-records-table .sales-prospect-col-contact { width: 13%; }
.sales-prospect-records-table .sales-prospect-col-reviews { width: 11%; }
.sales-prospect-records-table .sales-prospect-col-website { width: 12%; }
.sales-prospect-records-table .sales-prospect-col-score { width: 8%; }
.sales-prospect-records-table .sales-prospect-col-status { width: 7%; }
.sales-prospect-records-table .sales-prospect-col-action { width: 9%; }

.sales-prospect-records-table th,
.sales-prospect-records-table td {
    border-bottom: 1px solid rgba(112, 154, 224, 0.16);
}

.sales-prospect-records-table th {
    padding: 0.75rem 0.7rem;
    background: #142542;
    color: #dce9ff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.sales-prospect-records-table td {
    min-width: 0;
    padding: 0.72rem 0.7rem;
    color: #e7efff;
    font-size: 0.79rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
    vertical-align: middle;
}

.sales-prospect-records-table tbody tr {
    background: rgba(10, 24, 47, 0.42);
    transition: background-color 160ms ease;
}

.sales-prospect-records-table tbody tr:nth-child(even) {
    background: rgba(20, 39, 71, 0.34);
}

.sales-prospect-records-table tbody tr:hover {
    background: rgba(42, 78, 132, 0.36);
}

.sales-prospect-records-table tbody tr:last-child td {
    border-bottom: 0;
}

.sales-prospect-record-cell > strong,
.sales-prospect-record-cell > a {
    display: block;
    color: #f4f7ff;
}

.sales-prospect-business-cell > strong {
    font-size: 0.84rem;
}

.sales-prospect-cell-note {
    display: block;
    margin-top: 0.25rem;
    color: #aebed7;
    font-size: 0.73rem;
    line-height: 1.35;
}

.sales-prospect-muted {
    color: #95a8c5;
}

.sales-prospect-score-cell {
    color: #c9d9f2;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.sales-prospect-score-cell strong {
    display: inline;
    color: #f4f7ff;
    font-size: 0.94rem;
}

.sales-prospect-score-cell span {
    color: #9fb3d2;
    font-size: 0.72rem;
}

.sales-prospect-status-label {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 0.28rem 0.45rem;
    border: 1px solid rgba(111, 168, 255, 0.35);
    border-radius: 999px;
    background: rgba(35, 82, 153, 0.26);
    color: #c5dcff;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.sales-prospect-records-table .sales-prospect-actions {
    min-width: 0;
    padding: 0.6rem;
    vertical-align: middle;
}

.sales-prospect-records-table .sales-prospect-actions form,
.sales-prospect-records-table .sales-prospect-actions details {
    display: grid;
    gap: 0.4rem;
    width: 100%;
}

.sales-prospect-records-table .sales-prospect-actions form + form {
    margin-top: 0.4rem;
}

.sales-prospect-records-table .sales-prospect-actions .button,
.sales-prospect-records-table .sales-prospect-actions summary.button {
    width: 100%;
    min-width: 0;
    padding: 0.48rem 0.35rem;
    font-size: 0.68rem;
    line-height: 1.15;
    text-align: center;
    white-space: normal;
}

.sales-prospect-records-table tr.is-suppressed {
    opacity: 0.68;
}

/* The expanded Sales workspace gives the full record table room for every
   column on desktop; the narrow-screen fallback below remains data-safe. */
@media (min-width: 901px) {
    .sales-prospect-records-wrap {
        overflow-x: hidden;
    }

    .sales-prospect-records-table {
        min-width: 0;
    }
}

@media (max-width: 900px) {
    .sales-prospect-records-table {
        min-width: 900px;
    }
}

@media (max-width: 600px) {
    .sales-prospect-records-wrap {
        margin-inline: -0.35rem;
        border-radius: 0.7rem;
    }

    .sales-prospect-records-table {
        min-width: 860px;
    }
}

.sales-prospect-empty {
    padding: 2rem;
    border: 1px dashed rgba(126, 162, 218, 0.38);
    border-radius: 0.9rem;
    text-align: center;
    color: #b7c4dc;
}

/* Import review: keep the data-rich preview readable without making the
   admin page as tall as the uploaded spreadsheet. */
.sales-prospect-section-kicker {
    margin: 0 0 0.3rem;
    color: #78b0ff;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.sales-prospect-subsection-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.sales-prospect-subsection-heading h5 {
    margin: 0;
    color: #f1f5ff;
    font-size: 1rem;
}

.sales-prospect-mapping-count,
.sales-prospect-preview-hint {
    color: #9eb3d4;
    font-size: 0.76rem;
}

.sales-prospect-preview-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.65rem;
}

.sales-prospect-summary-card {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    padding: 0.75rem 0.85rem;
    border: 1px solid rgba(112, 154, 224, 0.24);
    border-radius: 0.7rem;
    background: rgba(18, 35, 64, 0.72);
}

.sales-prospect-summary-card strong {
    color: #f4f7ff;
    font-size: 1.2rem;
    line-height: 1;
}

.sales-prospect-summary-card span {
    color: #aebed7;
    font-size: 0.73rem;
    font-weight: 700;
}

.sales-prospect-summary-card.is-ready {
    border-color: rgba(74, 211, 153, 0.34);
}

.sales-prospect-summary-card.is-review {
    border-color: rgba(255, 196, 96, 0.38);
}

.sales-prospect-summary-card.is-suppressed,
.sales-prospect-summary-card.is-invalid {
    border-color: rgba(255, 126, 139, 0.36);
}

.sales-prospect-mapping {
    display: grid;
    gap: 0.75rem;
    align-items: stretch;
    padding: 0.9rem;
    border: 1px solid rgba(112, 154, 224, 0.25);
    border-radius: 0.8rem;
    background: rgba(8, 20, 42, 0.62);
}

.sales-prospect-mapping-table-wrap {
    max-width: 100%;
    max-height: 15rem;
    overflow: auto;
    border: 1px solid rgba(112, 154, 224, 0.2);
    border-radius: 0.6rem;
}

.sales-prospect-mapping-table {
    width: 100%;
    min-width: 34rem;
    border-collapse: collapse;
}

.sales-prospect-mapping-table th,
.sales-prospect-mapping-table td {
    padding: 0.55rem 0.7rem;
    border-bottom: 1px solid rgba(112, 154, 224, 0.16);
    color: #c4d2e8;
    font-size: 0.78rem;
    text-align: left;
}

.sales-prospect-mapping-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #172744;
    color: #f1f5ff;
    font-size: 0.7rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.sales-prospect-mapping-table tr:last-child td {
    border-bottom: 0;
}

.sales-prospect-mapping-table tr.is-ignored {
    opacity: 0.62;
}

.sales-prospect-mapping-state {
    display: inline-flex;
    padding: 0.22rem 0.45rem;
    border: 1px solid rgba(126, 166, 236, 0.28);
    border-radius: 999px;
    background: rgba(42, 76, 132, 0.34);
    color: #c8dcff;
    font-size: 0.68rem;
    font-weight: 750;
    white-space: nowrap;
}

.sales-prospect-data-preview {
    display: grid;
    gap: 0.75rem;
}

.sales-prospect-preview-viewport {
    max-height: 32rem;
    overflow: auto;
    border: 1px solid rgba(112, 154, 224, 0.27);
    border-radius: 0.8rem;
    background: #0b172b;
}

.sales-prospect-preview-table {
    width: 100%;
    min-width: max-content;
}

.sales-prospect-preview-table th,
.sales-prospect-preview-table td {
    min-width: 10rem;
    max-width: 20rem;
    white-space: normal;
    word-break: break-word;
}

.sales-prospect-preview-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #132442;
    color: #f1f5ff;
    white-space: nowrap;
}

.sales-prospect-preview-table th:first-child,
.sales-prospect-preview-table td:first-child {
    position: sticky;
    left: 0;
    z-index: 3;
    width: 4rem;
    min-width: 4rem;
    background: #10203a;
}

.sales-prospect-preview-table th:first-child {
    z-index: 4;
    background: #172b4c;
}

.sales-prospect-preview-table th:last-child,
.sales-prospect-preview-table td:last-child {
    min-width: 14rem;
}

.sales-prospect-preview-link {
    overflow-wrap: anywhere;
}

.sales-prospect-boolean,
.sales-prospect-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 1.55rem;
    padding: 0.2rem 0.5rem;
    border: 1px solid rgba(126, 166, 236, 0.25);
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 800;
    white-space: nowrap;
}

.sales-prospect-boolean.is-yes,
.sales-prospect-status-pill.is-ready {
    border-color: rgba(74, 211, 153, 0.4);
    background: rgba(28, 130, 91, 0.25);
    color: #8ff0c4;
}

.sales-prospect-boolean.is-no {
    background: rgba(89, 106, 136, 0.2);
    color: #b6c4da;
}

.sales-prospect-status-pill.is-suppressed,
.sales-prospect-status-pill.is-review,
.sales-prospect-status-pill.is-invalid {
    border-color: rgba(255, 196, 96, 0.42);
    background: rgba(137, 91, 28, 0.25);
    color: #ffd98c;
}

.sales-prospect-status-pill.is-review {
    border-color: rgba(111, 168, 255, 0.4);
    background: rgba(38, 90, 166, 0.26);
    color: #b9d5ff;
}

.sales-prospect-status-pill.is-invalid {
    border-color: rgba(255, 126, 139, 0.5);
    background: rgba(137, 38, 56, 0.28);
    color: #ffb5bc;
}

.sales-prospect-row-note {
    display: block;
    max-width: 19rem;
    margin-top: 0.3rem;
    color: #a9b9d1;
    font-size: 0.72rem;
    line-height: 1.4;
}

.sales-prospect-row-note.is-error {
    color: #ffb5bc;
}

.sales-prospect-section-break {
    margin: 2.2rem 0 1rem;
    padding-top: 1.4rem;
    border-top: 1px solid rgba(112, 154, 224, 0.26);
}

.sales-prospect-section-break h4 {
    margin: 0;
}

@media (max-width: 900px) {
    .sales-prospect-preview-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .sales-prospect-subsection-heading {
        flex-direction: column;
    }

    .sales-prospect-preview-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sales-prospect-preview-viewport {
        max-height: 24rem;
    }
}

@media (max-width: 900px) {
    .sales-prospect-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sales-prospect-filters.is-admin {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sales-prospect-filters label:first-child,
    .sales-prospect-filters button {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .sales-prospect-heading,
    .sales-prospect-preview-heading,
    .sales-prospect-list-heading,
    .sales-prospect-import-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .sales-prospect-upload-form,
    .sales-prospect-filters {
        grid-template-columns: 1fr;
    }

    .sales-prospect-filters label:first-child,
    .sales-prospect-filters button {
        grid-column: auto;
    }

    .sales-prospect-filters > .button {
        justify-self: stretch;
    }
}

/* Local mailbox state: keep unread and thread actions visible in the
   New Tab mailbox without touching Gmail's shared message labels. */
.sales-email-app .sales-email-thread-row.is-unread {
    background: rgba(33, 67, 125, 0.34);
    box-shadow: inset 3px 0 0 #5b9cff;
}

.sales-email-app .sales-email-thread-row.is-unread:hover,
.sales-email-app .sales-email-thread-row.is-unread:focus-visible {
    background: #19345c;
}

.sales-email-app .sales-email-thread-row.is-unread .sales-email-thread-meta b {
    color: #72a9ff;
    font-size: 0.82rem;
}

.sales-email-app .sales-email-thread-action-form {
    display: inline-flex;
    margin: 0;
}

.sales-email-app .sales-email-thread-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.45rem;
    visibility: visible;
}

.sales-email-app .sales-email-thread-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.sales-email-app .sales-email-thread-toolbar {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
}

.sales-email-app .sales-email-thread-toolbar .button {
    min-height: 2.15rem;
    padding: 0 0.7rem;
    font-size: 0.78rem;
}

.sales-email-app .sales-email-thread-footer > a,
.sales-email-app .sales-email-thread-footer > form {
    flex: 0 0 auto;
}

@media (max-width: 640px) {
    .sales-email-app .sales-email-thread-heading {
        flex-direction: column;
    }

    .sales-email-app .sales-email-thread-toolbar {
        justify-content: flex-start;
    }
}

.sales-email-app .sales-email-thread-action-form .button {
    min-width: 0;
}

.sales-email-app .sales-email-thread-action-form .button-danger {
    border-color: rgba(255, 126, 126, 0.4);
    background: rgba(126, 35, 50, 0.28);
    color: #ffd7d7;
}

.sales-email-app .sales-email-thread-action-form .button-danger:hover,
.sales-email-app .sales-email-thread-action-form .button-danger:focus-visible {
    border-color: rgba(255, 145, 145, 0.72);
    background: rgba(153, 45, 62, 0.45);
}

/* Keep the mailbox search controls stable and on one baseline. */
.sales-email-app .sales-email-search input,
.sales-email-app .sales-email-search button {
    align-self: center;
    height: 2.35rem;
    min-height: 2.35rem;
    margin: 0;
}

.sales-email-app .sales-email-search button:hover,
.sales-email-app .sales-email-search button:focus-visible {
    transform: none;
}

.sales-email-app .sales-email-search button {
    cursor: pointer;
    transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.sales-email-app .sales-email-search button:hover {
    border-color: rgba(126, 181, 255, 0.72);
    background: rgba(64, 123, 218, 0.42);
    color: #fff;
    box-shadow: 0 0 0 1px rgba(126, 181, 255, 0.12);
}

.sales-email-app .sales-email-search button:focus-visible {
    border-color: #8bbcff;
    background: rgba(64, 123, 218, 0.5);
    color: #fff;
    outline: 2px solid #8bbcff;
    outline-offset: 2px;
}

.sales-dashboard-grid:has(.sales-email-app) > .sales-email-app {
    justify-self: stretch;
    position: relative;
    left: auto;
    right: auto;
}

.sales-email-app .sales-email-compose {
    font-size: 1.12rem;
}

.sales-email-app .sales-email-compose-from {
    font-size: 0.98rem;
}

.sales-email-app .sales-email-recipient-control > label,
.sales-email-app .sales-email-subject-field,
.sales-email-app .sales-email-hidden-recipient-row label,
.sales-email-app .sales-email-message-label {
    font-size: 0.98rem;
}

.sales-email-app .sales-email-recipient-input-wrap input,
.sales-email-app .sales-email-hidden-recipient-row input,
.sales-email-app .sales-email-subject-field input {
    font-size: 1.05rem;
}

.sales-email-app .sales-email-message-editor {
    gap: 0.3rem;
}

.sales-email-app .sales-email-message-label {
    color: #aebbd0;
    font-weight: 750;
}

.sales-email-app .sales-email-message-editor textarea[name="message"] {
    min-height: 13rem;
    padding: 0.75rem 0;
    font-size: 1rem;
    line-height: 1.58;
}

.sales-email-app .sales-email-recipient-options {
    margin-top: -0.05rem;
}

.sales-email-app .sales-email-field-toggle {
    padding: 0.18rem 0.38rem;
    border-radius: 0.35rem;
    font-size: 0.78rem;
    transition: background-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.sales-email-app .sales-email-field-toggle:hover,
.sales-email-app .sales-email-field-toggle:focus-visible,
.sales-email-app .sales-email-field-toggle[aria-expanded="true"] {
    background: rgba(74, 139, 244, 0.2);
    color: #fff;
    text-decoration: none;
}

.sales-email-app .sales-email-field-toggle:focus-visible {
    outline: 2px solid #79b0ff;
    outline-offset: 2px;
}

.sales-email-app .sales-email-recipient-empty,
.sales-email-app .sales-email-recipient-loading,
.sales-email-app .sales-email-recipient-error {
    display: grid;
    gap: 0.2rem;
    padding: 0.75rem;
    background: #121f37;
    color: #cbd7eb;
    font-size: 0.78rem;
}

.sales-email-app .sales-email-recipient-empty strong {
    color: #f3f6ff;
}

.sales-email-app .sales-email-recipient-empty span {
    color: #92a0b8;
}

.sales-email-app .sales-email-recipient-option {
    gap: 0.15rem;
    background: #121f37;
}

.sales-email-app .sales-email-recipient-option small {
    color: #8798b2;
    font-size: 0.7rem;
}

.sales-email-app .sales-email-recipient-option.is-keyboard-active,
.sales-email-app .sales-email-recipient-option:hover,
.sales-email-app .sales-email-recipient-option:focus-visible {
    background: #1b3760;
}

.sales-email-app .sales-email-quote-attachment {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.58rem 0.65rem;
    border: 1px solid rgba(104, 163, 255, 0.34);
    border-radius: 0.55rem;
    background: #142744;
}

.sales-email-app .sales-email-quote-attachment[hidden],
.sales-email-app .sales-email-quote-selector[hidden] {
    display: none !important;
}

.sales-email-app .sales-email-quote-attachment-kicker {
    flex: 0 0 auto;
    color: #8eb8ff;
    font-size: 0.67rem;
    font-weight: 850;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.sales-email-app .sales-email-quote-attachment-copy {
    display: grid;
    min-width: 0;
    gap: 0.1rem;
}

.sales-email-app .sales-email-quote-attachment-copy strong,
.sales-email-app .sales-email-quote-attachment-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sales-email-app .sales-email-quote-attachment-copy strong {
    color: #f2f6ff;
    font-size: 0.82rem;
}

.sales-email-app .sales-email-quote-attachment-copy span {
    color: #aebbd0;
    font-size: 0.74rem;
}

.sales-email-app .sales-email-quote-remove,
.sales-email-app .sales-email-quote-selector-close {
    margin-left: auto;
    padding: 0.2rem 0.35rem;
    border: 0;
    border-radius: 0.3rem;
    background: transparent;
    color: #a9c9ff;
    cursor: pointer;
    font-size: 0.75rem;
    font-weight: 750;
}

.sales-email-app .sales-email-quote-remove:hover,
.sales-email-app .sales-email-quote-remove:focus-visible,
.sales-email-app .sales-email-quote-selector-close:hover,
.sales-email-app .sales-email-quote-selector-close:focus-visible {
    background: rgba(74, 139, 244, 0.2);
    color: #fff;
}

.sales-email-app .sales-email-compose-toolbar {
    flex-wrap: nowrap;
}

.sales-email-app .sales-email-attach-quote-button {
    width: auto;
    flex: 0 0 auto;
    min-height: 2.1rem;
    padding: 0 0.7rem;
    font-size: 0.75rem;
}

@media (max-width: 520px) {
    .sales-email-app .sales-email-compose-toolbar {
        flex-wrap: wrap;
    }
}

.sales-email-app .sales-email-quote-selector {
    display: grid;
    gap: 0.55rem;
    max-height: 18rem;
    overflow: auto;
    padding: 0.7rem;
    border: 1px solid rgba(104, 163, 255, 0.35);
    border-radius: 0.65rem;
    background: #101e34;
}

.sales-email-app .sales-email-quote-selector-heading {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #f2f6ff;
}

.sales-email-app .sales-email-quote-selector-context {
    margin: 0;
    color: #99a9c0;
    font-size: 0.76rem;
}

.sales-email-app .sales-email-quote-selector > input {
    min-height: 2.2rem;
    padding: 0.45rem 0.65rem;
    border: 1px solid rgba(126, 166, 236, 0.25);
    border-radius: 0.45rem;
    background: #0b172a;
    color: #f2f6ff;
    font-size: 0.86rem;
}

.sales-email-app .sales-email-quote-results {
    display: grid;
    gap: 0.25rem;
}

.sales-email-app .sales-email-quote-result {
    display: grid;
    gap: 0.14rem;
    padding: 0.62rem 0.7rem;
    border: 1px solid rgba(126, 166, 236, 0.16);
    border-radius: 0.45rem;
    background: #14233b;
    color: #eaf2ff;
    cursor: pointer;
    text-align: left;
    transition: background-color 140ms ease, border-color 140ms ease;
}

.sales-email-app .sales-email-quote-result:hover,
.sales-email-app .sales-email-quote-result:focus-visible {
    border-color: rgba(116, 177, 255, 0.56);
    background: #1b3760;
    outline: 0;
}

.sales-email-app .sales-email-quote-result span {
    color: #bdcae0;
    font-size: 0.76rem;
}

.sales-email-app .sales-email-quote-result small,
.sales-email-app .sales-email-quote-state,
.sales-email-app .sales-email-quote-error,
.sales-email-app .sales-email-quote-loading {
    color: #8f9eb5;
    font-size: 0.72rem;
}

.sales-email-app .sales-email-quote-state,
.sales-email-app .sales-email-quote-error,
.sales-email-app .sales-email-quote-loading {
    padding: 0.7rem;
}

.sales-email-app .sales-email-quote-error {
    color: #ffb5b5;
}

@media (max-width: 600px) {
    .sales-email-app .sales-email-compose {
        max-height: 94dvh;
    }

    .sales-email-app .sales-email-message-editor textarea[name="message"] {
        min-height: 11rem;
    }

    .sales-email-app .sales-email-quote-selector {
        max-height: 36dvh;
    }
}

/* Sales views share the mailbox's generous working width. This prevents
   narrower tools, especially Prospect Pool records, from clipping actions. */
.section:has(.sales-dashboard-grid),
.section:has(.sales-prospect-panel) {
    width: min(1500px, calc(100vw - 32px));
    max-width: none;
    margin-inline: auto;
    box-sizing: border-box;
}

.sales-dashboard-grid {
    width: 100%;
    max-width: none;
    margin-inline: auto;
    justify-items: stretch;
}

.section:has(.sales-prospect-panel) > .admin-dashboard-grid {
    width: 100%;
    max-width: none;
}

.section:has(.sales-prospect-panel) > .admin-dashboard-grid > .admin-tool-nav,
.section:has(.sales-prospect-panel) > .admin-dashboard-grid > .flash {
    width: 100%;
    max-width: none;
}

.section:has(.sales-prospect-panel) > .admin-dashboard-grid > .admin-tool-panel {
    width: 100%;
    max-width: none;
}

.sales-dashboard-grid .account-summary-grid {
    display: grid;
    gap: 0.75rem;
    margin: 1.25rem 0 1.75rem;
}

.sales-dashboard-grid .account-summary-grid > p {
    margin: 0;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(112, 154, 224, 0.2);
    border-radius: 0.85rem;
    background: rgba(20, 39, 71, 0.3);
}

.admin-dashboard-grid .admin-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1.25rem 0 2rem;
}

.admin-dashboard-grid .admin-summary-grid .summary-card {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(112, 154, 224, 0.24);
    border-radius: 0.95rem;
    background: linear-gradient(145deg, rgba(30, 62, 113, 0.52), rgba(14, 28, 55, 0.64));
}

.admin-dashboard-grid .admin-summary-grid .summary-card span {
    color: #aebed7;
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-dashboard-grid .admin-summary-grid .summary-card strong {
    color: #f4f7ff;
    font-size: 1.45rem;
    line-height: 1.1;
}

.sales-dashboard-grid .admin-tool-panel > .admin-subheading {
    margin-top: 1.75rem;
}

.sales-commission-history {
    margin-top: 1.75rem;
    padding: 1.1rem 1.2rem 1.25rem;
    border: 1px solid rgba(112, 154, 224, 0.16);
    border-radius: 0.9rem;
    background: rgba(10, 22, 43, 0.24);
}

.sales-commission-history .admin-subheading {
    margin: 0 0 0.85rem;
}

.sales-commission-history-table-wrap {
    margin: 0;
    overflow-x: auto;
}

.sales-commission-history-table {
    width: 100%;
    min-width: 680px;
    border-collapse: separate;
    border-spacing: 0;
}

.sales-commission-history-table th,
.sales-commission-history-table td {
    padding: 0.8rem 0.9rem;
    text-align: left;
    vertical-align: middle;
}

.sales-commission-history-table th {
    color: #aebed7;
    font-size: 0.74rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sales-commission-history-table tbody td {
    border-top: 1px solid rgba(151, 191, 255, 0.14);
}

.sales-commission-history-table th:first-child,
.sales-commission-history-table td:first-child {
    padding-left: 0;
}

.sales-commission-history-table th:last-child,
.sales-commission-history-table td:last-child {
    padding-right: 0;
}

@media (max-width: 720px) {
    .admin-dashboard-grid .admin-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .admin-dashboard-grid .admin-summary-grid {
        grid-template-columns: 1fr;
    }
}

/* Final compose/layout precedence for the current unified message editor. */
.section:has(.sales-email-app) {
    width: min(1500px, calc(100vw - 32px));
    max-width: none;
    margin-inline: auto;
    box-sizing: border-box;
}

.sales-dashboard-grid:has(.sales-email-app) {
    width: 100%;
    max-width: none;
    margin-inline: auto;
    justify-items: stretch;
}

.sales-email-app .sales-email-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: center;
    min-width: 0;
    gap: 0.45rem;
}

.sales-email-app .sales-email-search input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.sales-email-app .sales-email-search button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.sales-email-app .sales-email-compose {
    width: min(680px, calc(100vw - 32px));
    max-height: min(820px, 82vh);
}

.sales-email-app .sales-email-compose-actions {
    position: sticky;
    bottom: -1rem;
    z-index: 2;
    margin: 0 -1rem -1rem;
    padding: 0.75rem 1rem 1rem;
    background: linear-gradient(180deg, rgba(13, 29, 52, 0.82), #0d1d34 35%);
}

.sales-email-app .sales-email-compose-actions button,
.sales-email-app .sales-email-compose-actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2.75rem;
    min-height: 2.75rem;
    box-sizing: border-box;
}

.sales-email-app .sales-email-message-editor textarea[name="message"] {
    min-height: 10rem;
}

@media (max-width: 900px) {
    .section:has(.sales-email-app) {
        width: calc(100vw - 24px);
    }

    .sales-email-app .sales-email-compose {
        width: min(680px, calc(100vw - 24px));
        max-height: calc(100dvh - 120px);
    }
}

@media (max-width: 600px) {
    .section:has(.sales-email-app) {
        width: 100%;
    }

    .sales-email-app .sales-email-compose {
        width: 100%;
        max-height: 94dvh;
    }

    .sales-email-app .sales-email-message-editor textarea[name="message"] {
        min-height: 9rem;
    }
}
