.cnc-massage-app {
    max-width: 1100px;
    margin: 32px auto;
    padding: 28px;
    color: #183047;
    font-family: inherit;
}

.cnc-massage-app *,
.cnc-massage-app *::before,
.cnc-massage-app *::after {
    box-sizing: border-box;
}

.cnc-massage-header {
    padding: 35px;
    border-radius: 18px;
    background: linear-gradient(
        135deg,
        #092f48,
        #126a81
    );
    color: #ffffff;
    margin-bottom: 24px;
}

.cnc-massage-eyebrow {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.cnc-massage-header h1 {
    color: #ffffff;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.2;
    margin: 15px 0;
}

.cnc-massage-header p {
    color: #ffffff;
}

.cnc-massage-introduction {
    padding: 30px;
    background: #ffffff;
    border: 1px solid #dce7ec;
    border-radius: 18px;
}

.cnc-massage-download {
    padding: 25px;
    margin-top: 24px;
    background: #edf7fa;
    border: 1px solid #c3dfe8;
    border-radius: 14px;
}

.cnc-massage-download-button {
    display: inline-block;
    padding: 15px 22px;
    margin-top: 10px;
    background: #09657f;
    color: #ffffff !important;
    border-radius: 9px;
    text-decoration: none !important;
    font-weight: 700;
    line-height: 1.4;
}

.cnc-massage-download-button:hover {
    background: #074d62;
}

.cnc-massage-download-button:focus-visible {
    outline: 3px solid #f4b942;
    outline-offset: 4px;
}

.cnc-massage-online {
    margin-top: 30px;
    padding: 22px;
    border-left: 4px solid #14809a;
    background: #f5fafc;
}

.cnc-massage-preview {
    font-size: 13px;
    font-weight: 700;
}

@media (max-width: 600px) {
    .cnc-massage-app {
        margin: 12px auto;
        padding: 12px;
    }

    .cnc-massage-header,
    .cnc-massage-introduction {
        padding: 20px;
    }

    .cnc-massage-download-button {
        width: 100%;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cnc-massage-app *,
    .cnc-massage-app *::before,
    .cnc-massage-app *::after {
        transition: none !important;
        animation: none !important;
    }
}

/* CNC Massage Intake — Form Styling */

.cnc-massage-app [hidden] {
    display: none !important;
}

.cnc-massage-form-container {
    margin-top: 28px;
}

.cnc-massage-form {
    background: #ffffff;
    border: 1px solid #dce7ec;
    border-radius: 18px;
    padding: clamp(18px, 3vw, 34px);
}

.cnc-massage-step {
    min-width: 0;
}

.cnc-massage-step > h2 {
    font-size: clamp(23px, 3vw, 30px);
    line-height: 1.25;
    color: #123a50;
    margin: 0 0 20px;
}

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

.cnc-massage-form label {
    display: block;
    margin: 14px 0;
    font-weight: 600;
    color: #183047;
}

.cnc-massage-form input:not([type="checkbox"]):not([type="radio"]),
.cnc-massage-form textarea,
.cnc-massage-form select {
    display: block;
    width: 100%;
    min-height: 46px;
    margin-top: 7px;
    padding: 11px 13px;
    border: 1px solid #8c9fab;
    border-radius: 8px;
    background: #ffffff;
    color: #183047;
    font: inherit;
}

.cnc-massage-form textarea {
    min-height: 90px;
    resize: vertical;
}

.cnc-massage-form input:focus-visible,
.cnc-massage-form textarea:focus-visible,
.cnc-massage-form select:focus-visible,
.cnc-massage-form button:focus-visible {
    outline: 3px solid #c17c08;
    outline-offset: 3px;
}

.cnc-massage-form fieldset {
    min-width: 0;
    margin: 24px 0;
    padding: 20px;
    border: 1px solid #cbdde5;
    border-radius: 12px;
}

.cnc-massage-form legend {
    max-width: 100%;
    padding: 0 8px;
    font-weight: 700;
    color: #123a50;
}

.cnc-massage-form .cnc-massage-checkbox,
.cnc-massage-authorization-choice label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-weight: 500;
    line-height: 1.5;
}

.cnc-massage-form input[type="checkbox"],
.cnc-massage-form input[type="radio"] {
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
    margin: 2px 0 0;
    accent-color: #09657f;
}

.cnc-massage-contact-card {
    background: #f5fafc;
}

.cnc-massage-consent-text {
    padding: 20px;
    background: #f5fafc;
    border: 1px solid #d4e3e9;
    border-radius: 12px;
    line-height: 1.7;
}

.cnc-massage-consent-text p {
    margin: 0 0 16px;
}

.cnc-massage-consent-text p:last-child {
    margin-bottom: 0;
}

.cnc-massage-signature-card {
    background: #f5fafc;
}

.cnc-massage-help {
    color: #455c69;
    font-size: 14px;
    line-height: 1.6;
}

.cnc-massage-navigation {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
    padding-top: 22px;
    border-top: 1px solid #dce7ec;
}

.cnc-massage-navigation button {
    min-height: 48px;
    padding: 12px 24px;
    border: 2px solid #09657f;
    border-radius: 9px;
    background: #09657f;
    color: #ffffff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.cnc-massage-navigation [data-step-back] {
    background: #ffffff;
    color: #09657f;
}

.cnc-massage-navigation button:hover {
    background: #074d62;
    color: #ffffff;
}

@media (max-width: 720px) {
    .cnc-massage-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .cnc-massage-form fieldset {
        padding: 15px;
    }

    .cnc-massage-navigation button {
        width: 100%;
    }
}


/* CNC Massage Intake — Review Screen */

.cnc-massage-review-summary {
    display: grid;
    gap: 10px;
    margin: 24px 0;
}

.cnc-massage-review-row {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) 2fr;
    gap: 12px;
    padding: 14px;
    border: 1px solid #d4e3e9;
    border-radius: 9px;
    overflow-wrap: anywhere;
}

.cnc-massage-review-row strong {
    color: #123a50;
}

.cnc-massage-preview-notice {
    padding: 20px;
    border: 1px solid #cbdde5;
    border-radius: 12px;
    background: #f5fafc;
}

.cnc-massage-navigation button:disabled {
    cursor: not-allowed;
    opacity: 0.65;
}

@media (max-width: 600px) {
    .cnc-massage-review-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* CNC Massage Intake — Production Subpage Brand Alignment */

.cnc-massage-app {
    --mas-heading: #2F4A4A;
    --mas-text: #405A5B;
    --mas-green: #82BE3F;
    --mas-surface: #F7FAF9;
    --mas-section: #E1EBEA;
    --mas-border: #C8D7D4;
    --mas-action: #0D5E59;
    --mas-action-hover: #0A4743;
    color: var(--mas-text);
    font-family: "Mulish", Arial, sans-serif;
}

.cnc-massage-app .cnc-massage-header {
    background: linear-gradient(
        125deg,
        #E1EBEA 0%,
        #F7FAF9 100%
    );
    border: 1px solid var(--mas-border);
    border-top: 5px solid var(--mas-green);
    box-shadow: 0 12px 32px rgba(47,74,74,.08);
}

.cnc-massage-app .cnc-massage-header h1,
.cnc-massage-app .cnc-massage-header p,
.cnc-massage-app .cnc-massage-header .cnc-massage-eyebrow {
    color: var(--mas-heading);
}

.cnc-massage-app .cnc-massage-introduction,
.cnc-massage-app .cnc-massage-form {
    background: #FFFFFF;
    border-color: var(--mas-border);
    box-shadow: 0 12px 32px rgba(47,74,74,.07);
}

.cnc-massage-app h2,
.cnc-massage-app h3,
.cnc-massage-app legend {
    color: var(--mas-heading);
}

.cnc-massage-app .cnc-massage-download,
.cnc-massage-app .cnc-massage-contact-card,
.cnc-massage-app .cnc-massage-consent-text,
.cnc-massage-app .cnc-massage-preview-notice {
    background: var(--mas-surface);
    border-color: var(--mas-border);
}

.cnc-massage-app .cnc-massage-download,
.cnc-massage-app .cnc-massage-online {
    border-left-color: var(--mas-green);
}

.cnc-massage-app .cnc-massage-navigation button,
.cnc-massage-app .cnc-massage-download-button {
    background: var(--mas-action);
    border-color: var(--mas-action);
    color: #FFFFFF !important;
}

.cnc-massage-app .cnc-massage-navigation [data-step-back] {
    background: #FFFFFF;
    color: var(--mas-action) !important;
}

.cnc-massage-app .cnc-massage-navigation button:hover,
.cnc-massage-app .cnc-massage-download-button:hover {
    background: var(--mas-action-hover);
    border-color: var(--mas-action-hover);
    color: #FFFFFF !important;
}

.cnc-massage-app .cnc-massage-navigation button:focus-visible,
.cnc-massage-app .cnc-massage-download-button:focus-visible,
.cnc-massage-app input:focus-visible,
.cnc-massage-app textarea:focus-visible {
    outline: 3px solid #FFB703;
    outline-offset: 3px;
}

.cnc-massage-app input[type="checkbox"],
.cnc-massage-app input[type="radio"] {
    accent-color: var(--mas-action);
}



/* cnc-massage-subjective-welcome-v1 */
/* Matched to CNC Subjective plugin's established welcome design. */

.cnc-massage-app {
    max-width: none;
    margin: 0;
    padding: 0;
    width: 100%;
    color: #10203A;
    background: #F6F9FC;
    font-family: system-ui, -apple-system, BlinkMacSystemFont,
                 "Segoe UI", sans-serif;
}

.cnc-massage-app [hidden] {
    display: none !important;
}

.cnc-massage-welcome {
    width: min(920px, calc(100% - 32px));
    margin: 36px auto;
}

.cnc-massage-welcome-card {
    padding: clamp(26px, 5vw, 48px);
    border: 1px solid #D6DEE8;
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(16,32,58,.08);
}

.cnc-massage-welcome-kicker {
    margin: 0 0 10px;
    color: #075A55;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.cnc-massage-app .cnc-massage-welcome-card h2 {
    margin: 0 0 20px;
    color: #08152E;
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    line-height: 1.25;
}

.cnc-massage-app .cnc-massage-welcome-card h3 {
    color: #12213B;
}

.cnc-massage-welcome-important {
    margin: 24px 0;
    padding: 18px 20px;
    border-left: 4px solid #0B766E;
    border-radius: 8px;
    background: #F1FBF8;
}

.cnc-massage-welcome-important h3 {
    margin-top: 0;
}

.cnc-massage-welcome-card li {
    margin-bottom: 8px;
}

.cnc-massage-welcome-card .cnc-massage-download {
    margin: 24px 0 18px;
    padding: 18px 20px;
    background: #F6F9FC;
    border: 1px solid #D6DEE8;
    border-left: 4px solid #0B766E;
    border-radius: 8px;
}

.cnc-massage-welcome-card .cnc-massage-download-button {
    background: #0B766E;
    border: 1px solid #0B766E;
    color: #FFFFFF !important;
}

.cnc-massage-welcome-card .cnc-massage-download-button:hover {
    background: #075A55;
}

.cnc-massage-welcome-preview {
    color: #53627A;
    font-size: .9rem;
}

.cnc-massage-app .cnc-massage-start-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    padding: 12px 15px;
    border: 1px solid #075A55;
    border-radius: 8px;
    background: #0B766E;
    color: #FFFFFF;
    font: inherit;
    font-size: .9rem;
    cursor: pointer;
}

.cnc-massage-app .cnc-massage-start-button:hover {
    background: #075A55;
    color: #FFFFFF;
}

.cnc-massage-app .cnc-massage-start-button:focus-visible {
    outline: 3px solid #1D4ED8;
    outline-offset: 4px;
}

.cnc-massage-form-container {
    width: min(1100px, calc(100% - 32px));
    margin: 32px auto;
}

@media (max-width: 600px) {
    .cnc-massage-welcome {
        margin: 16px auto;
    }

    .cnc-massage-welcome-card .cnc-massage-download-button {
        max-width: 100%;
    }
}

/* CNC Massage Intake — Subjective-style step layout */

.cnc-massage-shell {
    width: 100%;
    background: #F6F9FC;
    color: #10203A;
    padding-bottom: 32px;
}

.cnc-massage-shell-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 68px;
    padding: 14px 34px;
    background: #FFFFFF;
    border-bottom: 1px solid #D6DEE8;
}

.cnc-massage-shell-header strong {
    color: #10203A;
}

.cnc-massage-shell-header strong span {
    color: #0B766E;
}

.cnc-massage-shell-badge {
    border: 1px solid #89D8C4;
    border-radius: 999px;
    padding: 7px 13px;
    background: #EDFFF8;
    color: #075F4C;
    font-size: .82rem;
    font-weight: 600;
}

.cnc-massage-shell-notice {
    max-width: 1260px;
    margin: 18px auto 0;
    padding: 11px 16px;
    border: 1px solid #D6DEE8;
    border-radius: 8px;
    background: #FFFFFF;
    color: #38465A;
}

.cnc-massage-layout {
    display: grid;
    grid-template-columns: minmax(240px,270px) minmax(0,1fr);
    align-items: start;
    gap: 32px;
    width: min(1260px, calc(100% - 40px));
    margin: 30px auto;
}

.cnc-massage-app .cnc-massage-step-nav,
.cnc-massage-app .cnc-massage-form {
    border: 1px solid #D6DEE8;
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(16,32,58,.08);
}

.cnc-massage-step-nav {
    padding: 18px;
}

.cnc-massage-step-counter {
    margin: 0 0 12px;
    color: #53627A;
    font-size: .86rem;
    font-weight: 650;
}

.cnc-massage-step-nav ol {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cnc-massage-step-nav li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cnc-massage-app .cnc-massage-step-button {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px;
    border: 2px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: #365177;
    text-align: left;
    font: inherit;
    font-size: .9rem;
    cursor: pointer;
}

.cnc-massage-app .cnc-massage-step-button.is-current,
.cnc-massage-app .cnc-massage-step-button[aria-current="step"] {
    background: #0B766E;
    border-color: #4CCFC2;
    color: #FFFFFF;
    font-weight: 700;
    box-shadow: 0 0 16px rgba(76,207,194,.35);
}

.cnc-massage-step-number {
    display: inline-grid;
    place-items: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #EEF2F7;
    color: #71829A;
    font-weight: 700;
}

.cnc-massage-step-button.is-current .cnc-massage-step-number {
    background: #FFFFFF;
    color: #0B766E;
}

.cnc-massage-step-button:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.cnc-massage-app .cnc-massage-step-button:focus-visible {
    outline: 3px solid #1D4ED8;
    outline-offset: 3px;
}

.cnc-massage-app .cnc-massage-form-container {
    width: 100%;
    min-width: 0;
    margin: 0;
}

.cnc-massage-app .cnc-massage-form {
    padding: clamp(24px, 4vw, 42px);
    margin: 0;
}

@media (max-width: 800px) {
    .cnc-massage-layout {
        grid-template-columns: minmax(0,1fr);
        gap: 20px;
    }

    .cnc-massage-step-nav ol {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 480px) {
    .cnc-massage-step-nav ol {
        grid-template-columns: minmax(0,1fr);
    }

    .cnc-massage-shell-header {
        padding: 14px 18px;
        flex-wrap: wrap;
    }
}

/* CNC Massage Intake — Subjective Animated Glow v1 */

@property --cnc-massage-glow-angle {
    syntax: "<angle>";
    initial-value: 0deg;
    inherits: false;
}

@keyframes cnc-massage-glow-spin {
    to {
        --cnc-massage-glow-angle: 360deg;
    }
}

/* Active sidebar section */

.cnc-massage-app .cnc-massage-step-button.is-current,
.cnc-massage-app .cnc-massage-step-button[aria-current="step"] {
    --cnc-massage-glow-angle: 0deg;

    position: relative;
    isolation: isolate;
    z-index: 0;
    box-sizing: border-box;
    border: 4px solid transparent;
    border-radius: 14px;

    background:
        linear-gradient(#0B766E, #0B766E) padding-box,
        conic-gradient(
            from var(--cnc-massage-glow-angle),
            #72D9EA 0deg,
            #E5FCFF 42deg,
            #45A7FF 95deg,
            #5B73FF 145deg,
            #49DBB1 205deg,
            #38E1D3 255deg,
            #73EAFF 315deg,
            #72D9EA 360deg
        ) border-box;

    color: #FFFFFF;
    font-weight: 700;

    box-shadow:
        0 16px 38px rgba(5,7,53,.10),
        0 0 18px rgba(114,217,234,.28);

    animation: cnc-massage-glow-spin 8s linear infinite;
}

.cnc-massage-app .cnc-massage-step-button.is-current::before,
.cnc-massage-app .cnc-massage-step-button[aria-current="step"]::before {
    content: "";
    position: absolute;
    inset: -6px;
    z-index: -1;
    border-radius: inherit;
    pointer-events: none;

    background: conic-gradient(
        from var(--cnc-massage-glow-angle),
        rgba(114,217,234,.82) 0deg,
        rgba(229,252,255,.92) 42deg,
        rgba(69,167,255,.84) 95deg,
        rgba(91,115,255,.75) 145deg,
        rgba(73,219,177,.82) 205deg,
        rgba(56,225,211,.88) 255deg,
        rgba(115,234,255,.84) 315deg,
        rgba(114,217,234,.82) 360deg
    );

    filter: blur(16px);
    opacity: .56;
}

/* Start and Continue buttons */

.cnc-massage-app .cnc-massage-start-button,
.cnc-massage-app .cnc-massage-navigation [data-step-next] {
    --cnc-massage-glow-angle: 0deg;

    position: relative;
    isolation: isolate;
    z-index: 0;

    border: 3px solid transparent;
    border-radius: 10px;

    background:
        linear-gradient(#0B766E, #0B766E) padding-box,
        conic-gradient(
            from var(--cnc-massage-glow-angle),
            #72D9EA,
            #45A7FF,
            #49DBB1,
            #73EAFF,
            #72D9EA
        ) border-box;

    color: #FFFFFF;
    font-weight: 700;

    animation: cnc-massage-glow-spin 8s linear infinite;
}

.cnc-massage-app .cnc-massage-start-button:hover,
.cnc-massage-app .cnc-massage-navigation [data-step-next]:hover {
    background:
        linear-gradient(#075A55, #075A55) padding-box,
        conic-gradient(
            from var(--cnc-massage-glow-angle),
            #72D9EA,
            #45A7FF,
            #49DBB1,
            #73EAFF,
            #72D9EA
        ) border-box;
}

/* Accessibility */

@media (prefers-reduced-motion: reduce) {
    .cnc-massage-app .cnc-massage-step-button.is-current,
    .cnc-massage-app .cnc-massage-step-button[aria-current="step"],
    .cnc-massage-app .cnc-massage-start-button,
    .cnc-massage-app .cnc-massage-navigation [data-step-next] {
        animation: none !important;
    }
}



/* CNC Massage Intake — Required field indicators */

.cnc-massage-app .cnc-massage-required {
    color: #B3261E;
    font-weight: 800;
    font-size: 1.05em;
    margin-left: 2px;
}


/* CNC Massage Intake — Drawing Signature Area */

.cnc-massage-app .cnc-massage-signature-pad {
    display: block;
    width: 100%;
    max-width: 700px;
    height: auto;
    aspect-ratio: 700 / 180;
    margin: 16px 0;
    border: 2px solid #8797AA;
    border-radius: 8px;
    background: #FFFFFF;
    cursor: crosshair;
    touch-action: none;
}

.cnc-massage-signature-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 12px 0;
}

.cnc-massage-app .cnc-massage-signature-controls button {
    padding: 10px 16px;
    border-radius: 8px;
    border: 1px solid #0B766E;
    background: #0B766E;
    color: #FFFFFF;
    font: inherit;
    cursor: pointer;
}

.cnc-massage-signature-status {
    color: #405A5B;
    font-size: .9rem;
    margin: 12px 0;
}



/* CNC Massage Intake — Signature Status Messages */

.cnc-massage-app .cnc-massage-signature-status {
    border-radius: 8px;
    padding: 12px 14px;
}

.cnc-massage-app .cnc-massage-signature-status[data-state="warning"] {
    background: #FFF8E1;
    border: 1px solid #E5A900;
    color: #6E4900;
    font-weight: 600;
}

.cnc-massage-app .cnc-massage-signature-status[data-state="success"] {
    background: #EAF8F0;
    border: 1px solid #55A775;
    color: #175C32;
    font-weight: 600;
}

.cnc-massage-app .cnc-massage-signature-status[data-state="neutral"] {
    background: #F6F9FC;
    border: 1px solid #D6DEE8;
    color: #405A5B;
}


/* CNC Massage Intake — Informed Consent Dialog */

.cnc-massage-app .cnc-massage-consent-open {
    padding: 13px 20px;
    margin: 18px 0;
    border: 1px solid #0B766E;
    border-radius: 8px;
    background: #0B766E;
    color: #FFFFFF;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.cnc-massage-consent-status {
    color: #405A5B;
    font-weight: 600;
}

.cnc-massage-consent-dialog {
    width: min(760px, calc(100% - 32px));
    max-height: min(85vh, 900px);
    padding: 24px;
    border: 1px solid #D6DEE8;
    border-radius: 14px;
    background: #FFFFFF;
    color: #10203A;
    box-shadow: 0 24px 80px rgba(16,32,58,.25);
}

.cnc-massage-consent-dialog::backdrop {
    background: rgba(10,25,42,.65);
}

.cnc-massage-consent-dialog[open] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.cnc-massage-consent-dialog h2 {
    margin: 0;
    color: #10203A;
    font-size: clamp(1.25rem, 3vw, 1.65rem);
}

.cnc-massage-consent-scroll {
    overflow-y: auto;
    min-height: 0;
    padding: 16px;
    border: 1px solid #D6DEE8;
    border-radius: 8px;
    background: #F6F9FC;
    line-height: 1.65;
}

.cnc-massage-consent-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

.cnc-massage-consent-actions button {
    padding: 11px 16px;
    border: 1px solid #0B766E;
    border-radius: 8px;
    background: #0B766E;
    color: #FFFFFF;
    font: inherit;
    cursor: pointer;
}

.cnc-massage-consent-actions button:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.cnc-massage-consent-dialog :focus-visible,
.cnc-massage-consent-open:focus-visible {
    outline: 3px solid #1D4ED8;
    outline-offset: 3px;
}

@media (max-width: 600px) {
    .cnc-massage-consent-dialog {
        padding: 16px;
        max-height: 90vh;
    }
}

/* CNC Massage Intake — Sticky Step Navigation */

@media (min-width: 801px) {
    .cnc-massage-app .cnc-massage-step-nav {
        position: sticky;
        top: 24px;
        align-self: start;
        max-height: calc(100vh - 48px);
        overflow-y: auto;
        overscroll-behavior: contain;
        z-index: 5;
    }
}

@media (max-width: 800px) {
    .cnc-massage-app .cnc-massage-step-nav {
        position: static;
        max-height: none;
        overflow: visible;
    }
}


/* CNC Massage Intake — Review & Finish v0.1.20 */

.cnc-massage-review-section {
    margin: 12px 0 24px;
    padding: 20px;
    border: 1px solid #D6DEE8;
    border-radius: 12px;
    background: #FFFFFF;
}

.cnc-massage-review-section h3 {
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid #0B766E;
    color: #10203A;
}

.cnc-massage-review-section .cnc-massage-review-row {
    margin-top: 8px;
    background: #F7FAF9;
}

@media (max-width: 600px) {
    .cnc-massage-review-section {
        padding: 12px;
    }
}

