/*
 * Main Event system palette
 *
 * A restrained black, white, gray, and gold presentation for every CRM
 * surface except the client portal and its protected owner preview.
 * Semantic error and destructive states remain red for safety.
 */

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) {
    --ink: #1b1b1b;
    --muted: #5b5b5b;
    --cream: #f1f1f1;
    --gold: #c6a24c;
    --line: #bdbdbd;
    --white: #ffffff;
    --danger: #7f1d1d;
    --navy: #171717;
    --primary-color: #171717;
    --accent-color: #c6a24c;
    --surface-color: #ffffff;
    --muted-color: #5b5b5b;
    --app-canvas: #f1f1f1;
    --app-canvas-deep: #d9d9d9;
    --app-surface: #ffffff;
    --app-surface-warm: #f5f5f5;
    --app-navy: #171717;
    --app-navy-deep: #080808;
    --app-navy-soft: #3b3b3b;
    --app-gold: #c6a24c;
    --app-gold-deep: #79591d;
    --app-gold-light: #ead28b;
    --app-line: rgba(0, 0, 0, .18);
    --app-line-strong: rgba(0, 0, 0, .34);
    --future-cool: #646464;
    --future-cool-light: #e4e4e4;
    --future-line: rgba(0, 0, 0, .22);
    --future-glass: rgba(255, 255, 255, .94);
    --future-glass-warm: rgba(239, 239, 239, .92);
    --future-shadow: 0 4px 9px rgba(0, 0, 0, .08), 0 20px 44px rgba(0, 0, 0, .13), 0 42px 78px rgba(0, 0, 0, .06);
    --future-shadow-hover: 0 8px 15px rgba(0, 0, 0, .1), 0 28px 56px rgba(0, 0, 0, .17), 0 54px 92px rgba(0, 0, 0, .08);
    color: var(--ink);
    background:
        radial-gradient(circle at 7% 4%, rgba(255, 255, 255, .98) 0, transparent 27rem),
        radial-gradient(ellipse at 92% 18%, rgba(0, 0, 0, .06) 0, transparent 33rem),
        radial-gradient(ellipse at 52% 73%, rgba(198, 162, 76, .09) 0, transparent 39rem),
        linear-gradient(145deg, #ffffff 0%, #f1f1f1 50%, #dcdcdc 100%);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview)::before {
    background-image:
        linear-gradient(rgba(0, 0, 0, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, .035) 1px, transparent 1px);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview)::after {
    background: radial-gradient(ellipse, rgba(0, 0, 0, .075), transparent 68%);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .site-header {
    background:
        radial-gradient(circle at 14% -110%, rgba(255, 255, 255, .15), transparent 43%),
        linear-gradient(112deg, #080808 0%, #191919 56%, #303030 100%);
    border-bottom-color: #9c762b;
    box-shadow: 0 11px 30px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(255, 255, 255, .12);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .site-header::after {
    background: linear-gradient(90deg, transparent 2%, #8a6827 24%, #d2b36c 50%, #8a6827 76%, transparent 98%);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .site-header .brand-area,
body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .site-header .brand span {
    color: #e1c675;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .site-nav-toggle {
    color: #151515;
    background: linear-gradient(145deg, #e0c477, #ba8d34);
    border-color: #7b5b20;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .44), 0 7px 16px rgba(0, 0, 0, .22);
    text-shadow: 0 1px 0 rgba(255, 255, 255, .32);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .site-nav-dropdown {
    background: linear-gradient(145deg, #ffffff, #e7e7e7);
    border-color: #a98233;
    box-shadow: 0 12px 25px rgba(0, 0, 0, .13), 0 34px 72px rgba(0, 0, 0, .17), inset 0 1px 0 #fff;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .site-nav-dropdown a {
    color: #1d1d1d;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .site-nav-dropdown a:hover,
body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .site-nav-dropdown a:focus-visible {
    color: #111;
    background: linear-gradient(110deg, #dedede, #f8f8f8);
    box-shadow: inset 4px 0 0 #ad8737, inset 0 1px 0 #fff, 0 7px 16px rgba(0, 0, 0, .08);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .page-heading,
    .portal-hero,
    .portal-form-heading,
    .dashboard-welcome,
    .dashboard-section-heading,
    .schedule-heading,
    .finance-heading,
    .catalog-heading,
    .resource-heading,
    .staff-admin-heading,
    .staff-portal-heading,
    .staff-account-heading,
    .admin-event-heading,
    .mail-center-heading,
    .mail-compose-heading,
    .inquiry-inbox-hero,
    .inquiry-detail-hero
) h1,
body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .dashboard-section-heading h2 {
    color: #111;
    background: none;
    text-shadow: 0 1px 0 #fff, 0 8px 20px rgba(0, 0, 0, .08);
    -webkit-text-fill-color: currentColor;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .eyebrow {
    color: #79591d;
    text-shadow: 0 1px 0 #fff;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .page-heading,
    .portal-hero,
    .portal-form-heading,
    .schedule-heading,
    .finance-heading,
    .catalog-heading,
    .resource-heading,
    .staff-admin-heading,
    .staff-portal-heading,
    .staff-account-heading,
    .admin-event-heading,
    .mail-center-heading,
    .mail-compose-heading,
    .inquiry-inbox-hero,
    .inquiry-detail-hero
)::after {
    height: 2px;
    background: linear-gradient(90deg, #191919 0 38%, #ad8737 38% 55%, rgba(0, 0, 0, .12) 55% 100%);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .steps article,
    .package-card,
    .review-card,
    .summary,
    .booking-form fieldset,
    .activation-form,
    .login-card,
    .client-quote-card,
    .quote-accept-form,
    .contract-client-actions,
    .contract-sign-form,
    .payment-next-step,
    .event-panel,
    .dashboard-panel,
    .schedule-event-month,
    .schedule-empty-state,
    .inquiry-inbox-panel,
    .inquiry-message-card,
    .inquiry-summary-card,
    .finance-filter-card,
    .finance-results,
    .catalog-card,
    .resource-card,
    .resource-list-shell,
    .client-planning-form,
    .contract-preview-shell,
    .settings-window,
    .settings-pane,
    .branding-logo-card,
    .staff-event-list,
    .staff-assignment-panel,
    .staff-forms-panel,
    .staff-privacy-panel,
    .mail-workspace,
    .mail-system-panel,
    .mail-library,
    .mail-automation-intro,
    .mail-format-start,
    .mail-compose-card,
    .mail-tag-panel,
    .form-library-panel,
    .form-library-card,
    .form-builder-workspace,
    .form-builder-client-preview,
    .event-type-card,
    .package-picker-shell,
    .booking-package-panel,
    .inquiry-booking-panel,
    .ai-prompt-panel,
    .signature-library,
    .planner-panel,
    .planner-form,
    .planner-booking-question
) {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .97), rgba(235, 235, 235, .94)) padding-box,
        linear-gradient(122deg, #b5b5b5, #d0ad58 52%, #8f8f8f) border-box;
    border: 1px solid transparent;
    box-shadow: inset 0 1px 0 #fff, var(--future-shadow);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .settings-group,
    .settings-link-group,
    .brand-color-control,
    .form-builder-item,
    .planning-field,
    .planning-person-card,
    .appointment-list article,
    .event-email-send-form,
    .event-email-history-list,
    .automation-criteria-panel fieldset,
    .mail-empty-inline,
    .quote-summary,
    .planner-booking-card,
    .planner-schedule-row,
    .planner-account-summary > div,
    .planner-event-facts > div,
    .event-choice-summary > div,
    .event-management-grid details,
    .event-request-history article
) {
    color: #1f1f1f;
    background: linear-gradient(145deg, #ffffff, #e9e9e9);
    border-color: #b5b5b5;
    box-shadow: inset 0 1px 0 #fff, 0 3px 8px rgba(0, 0, 0, .07), 0 12px 24px rgba(0, 0, 0, .08);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .inquiry-inbox-metrics,
    .email-metrics,
    .finance-metrics,
    .catalog-metrics,
    .resource-metrics,
    .mail-overview,
    .planning-people-summary,
    .planner-contact-portal-summary
) > :is(article, a, div) {
    background:
        linear-gradient(145deg, #ffffff, #e6e6e6) padding-box,
        linear-gradient(125deg, #a8a8a8, #d0ad58, #8f8f8f) border-box;
    border: 1px solid transparent;
    box-shadow: inset 0 1px 0 #fff, 0 4px 9px rgba(0, 0, 0, .08), 0 15px 30px rgba(0, 0, 0, .1);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .login-shell,
    .hero,
    .planner-hero
) {
    color: #fff;
    background:
        radial-gradient(circle at 18% -25%, rgba(255, 255, 255, .16), transparent 38%),
        linear-gradient(135deg, #3b3b3b, #080808);
    border-bottom-color: #a98233;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
    select,
    textarea
) {
    color: #1b1b1b;
    background: linear-gradient(180deg, #ededed, #ffffff);
    border-color: #8f8f8f;
    box-shadow: inset 0 3px 9px rgba(0, 0, 0, .08), inset 0 -1px 0 #fff, 0 1px 0 #fff;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
    select,
    textarea
):focus {
    background: #fff;
    border-color: #8a6827;
    box-shadow: 0 0 0 4px rgba(198, 162, 76, .22), inset 0 2px 4px rgba(0, 0, 0, .04);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(input[type="checkbox"], input[type="radio"]) {
    accent-color: #9b762b;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .button:not(.secondary):not(.button-secondary):not(.danger-button):not(.danger-outline):not(.is-danger),
    button[type="submit"]:not(.secondary):not(.danger-button):not(.is-danger)
) {
    color: #151515;
    background: linear-gradient(180deg, #e0c477 0%, #c29a43 58%, #ac7e2c 100%);
    border-color: #76551c;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .46), inset 0 -1px 0 rgba(63, 42, 6, .2), 0 8px 18px rgba(0, 0, 0, .16);
    text-shadow: 0 1px 0 rgba(255, 255, 255, .3);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .button.secondary,
    .button-secondary,
    button.secondary
) {
    color: #fff;
    background: linear-gradient(145deg, #3c3c3c, #101010);
    border-color: #9a762e;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 8px 18px rgba(0, 0, 0, .2);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .button.danger-button,
    button.danger-button,
    .button.danger-outline,
    .button-link.is-danger
) {
    text-shadow: none;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .schedule-view-switch,
    .tabs,
    .mail-workspace-header
) {
    background: linear-gradient(180deg, #d3d3d3, #f3f3f3);
    border-color: #a2a2a2;
    box-shadow: inset 0 2px 6px rgba(0, 0, 0, .09), 0 1px 0 #fff;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .schedule-view-switch a.is-active,
    .tabs a.active,
    .mail-tabs a.is-active,
    .finance-presets a[aria-current="page"]
) {
    color: #fff;
    background: linear-gradient(145deg, #3b3b3b, #0c0c0c);
    border-color: #a98233;
    box-shadow: inset 0 -3px 0 #c6a24c, 0 8px 18px rgba(0, 0, 0, .2);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .schedule-event-month > header,
    .dashboard-pipeline-heading,
    .resource-card > header,
    .panel-heading,
    .mail-compose-topbar,
    table thead
) {
    color: #fff;
    background: linear-gradient(112deg, #111 0%, #242424 64%, #3a3a3a 100%);
    border-color: #111;
    box-shadow: inset 0 -2px 0 #ad8737;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) table thead :is(th, td),
body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .schedule-event-month > header,
    .dashboard-pipeline-heading,
    .resource-card > header,
    .panel-heading,
    .mail-compose-topbar
) :is(h1, h2, h3, p, span, a) {
    color: #fff;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) table thead th {
    color: #fff;
    background: transparent;
    border-bottom-color: #ad8737;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) table tbody tr:nth-child(odd) {
    background: #fff;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) table tbody tr:nth-child(even) {
    background: #e7e7e7;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .schedule-event-row,
    .pending-booking-row,
    .inquiry-list-row,
    .staff-event-list > a,
    .portal-form-list a,
    .admin-form-list a,
    .settings-link-group a,
    .mail-message-row,
    .mail-template-library > article,
    .automation-rule-list > article,
    .event-email-history-list article
) {
    color: #202020;
    background: #fff;
    border-color: #c0c0c0;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .schedule-event-row,
    .pending-booking-row,
    .inquiry-list-row,
    .staff-event-list > a,
    .portal-form-list a,
    .admin-form-list a,
    .settings-link-group a,
    .mail-message-row,
    .mail-template-library > article,
    .automation-rule-list > article,
    .event-email-history-list article
):nth-child(even) {
    background: #e9e9e9;
}

@media (hover: hover) and (pointer: fine) {
    body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
        .schedule-event-row,
        .pending-booking-row,
        .inquiry-list-row,
        .staff-event-list > a,
        .portal-form-list a,
        .admin-form-list a,
        .settings-link-group a,
        .mail-message-row,
        .mail-template-library > article,
        .automation-rule-list > article,
        .event-email-history-list article
    ):hover {
        color: #111;
        background: #dedede;
        border-color: #8f8f8f;
        box-shadow: inset 4px 0 0 #ad8737, 0 8px 18px rgba(0, 0, 0, .1);
    }
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .status {
    color: #262626;
    background: #dedede;
    border: 1px solid #a7a7a7;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .status-held_pending_review,
    .status-availability_review,
    .status-review_required,
    .status-in_progress,
    .status-inquiry-new,
    .status-invited,
    .status-needs_review
) {
    color: #2f230b;
    background: #ead59b;
    border-color: #9b762b;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    .status-failed,
    .status-canceled,
    .status-inquiry-spam
) {
    color: #6f211d;
    background: #f7dfdc;
    border-color: #a8443d;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .notice {
    color: #202020;
    background: linear-gradient(110deg, #ffffff, #e7e7e7);
    border-color: #a7a7a7;
    border-left-color: #ad8737;
    box-shadow: inset 0 1px 0 #fff, 0 7px 17px rgba(0, 0, 0, .09);
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .notice.success {
    color: #202020;
    background: #eeeeee;
    border-color: #a7a7a7;
    border-left-color: #ad8737;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .notice.error {
    color: #6f211d;
    background: #fff0ee;
    border-color: #bf746e;
    border-left-color: #8a2f2a;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) :is(
    button:disabled,
    .button.is-disabled,
    .button[aria-disabled="true"]
) {
    color: #5f5f5f;
    background: #dedede;
    border-color: #a7a7a7;
    box-shadow: inset 0 1px 0 #fff;
    opacity: 1;
    text-shadow: none;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .form-builder-row-actions button,
body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .form-builder-add-bar button,
body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .form-builder-answer-styles button {
    color: #222;
    background: linear-gradient(#fff, #e8e8e8);
    border-color: #aaa;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .form-builder-add-bar button.is-primary,
body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .form-builder-answer-styles button[aria-pressed="true"] {
    color: #151515;
    background: linear-gradient(145deg, #e0c477, #ba8d34);
    border-color: #7b5b20;
}

body.app-shell.app-future:not(.app-shell-client):not(.app-shell-client-preview) .site-footer {
    color: #555;
    background: linear-gradient(180deg, rgba(241, 241, 241, 0), rgba(196, 196, 196, .62));
    border-top-color: rgba(0, 0, 0, .18);
}

/* Standalone public availability and pricing experience. */
body.booking-experience {
    --ink: #1b1b1b;
    --ink-deep: #0c0c0c;
    --muted: #5b5b5b;
    --paper: #ffffff;
    --ivory: #f1f1f1;
    --ivory-deep: #d9d9d9;
    --gold: #c6a24c;
    --gold-bright: #e0c477;
    --line: rgba(0, 0, 0, .18);
    --success: #9b762b;
    --warning: #9b762b;
    color: var(--ink);
    background:
        radial-gradient(circle at 13% 8%, rgba(255, 255, 255, .82), transparent 27rem),
        radial-gradient(circle at 86% 28%, rgba(0, 0, 0, .07), transparent 30rem),
        linear-gradient(180deg, #ffffff 0%, #eeeeee 60%, #d9d9d9 100%);
}

body.booking-experience .preview-banner,
body.booking-experience .experience-header {
    color: #fff;
    background:
        radial-gradient(circle at 16% -100%, rgba(255, 255, 255, .14), transparent 42%),
        linear-gradient(112deg, #080808, #1b1b1b 58%, #353535);
    border-bottom-color: #ad8737;
}

body.booking-experience .experience-wordmark small,
body.booking-experience .preview-banner strong {
    color: #e0c477;
}

body.booking-experience :is(
    .tutorial-card,
    .flow-card,
    .service-card,
    .package-option,
    .workspace-card,
    .summary-card,
    .portal-preview,
    .agreement-preview
) {
    color: #1c1c1c;
    background: linear-gradient(145deg, #ffffff, #e8e8e8);
    border-color: #a7a7a7;
    box-shadow: 0 14px 38px rgba(0, 0, 0, .1);
}

body.booking-experience :is(input, select, textarea) {
    color: #1b1b1b;
    background: linear-gradient(180deg, #ededed, #fff);
    border-color: #8f8f8f;
}

body.booking-experience .button-primary {
    color: #151515;
    background: linear-gradient(180deg, #e0c477 0%, #c29a43 58%, #ac7e2c 100%);
    border-color: #76551c;
}

body.booking-experience .button-secondary {
    color: #fff;
    background: linear-gradient(145deg, #3b3b3b, #0c0c0c);
    border-color: #9a762e;
}

body.booking-experience .button-quiet {
    color: #171717;
    background: #f3f3f3;
    border-color: #8f8f8f;
}

body.booking-experience :is(.button:disabled, .button-disabled) {
    color: #5f5f5f;
    background: #dedede;
    border-color: #a7a7a7;
    box-shadow: inset 0 1px 0 #fff;
    opacity: 1;
    text-shadow: none;
}

body.booking-experience .availability-result,
body.booking-experience :is(.workspace-notice, .workspace-ready, .agreement-preview, .workspace-lock-notice) {
    color: #1f1f1f;
    background: #eeeeee;
    border-color: #a7a7a7;
    border-left: 4px solid #ad8737;
}

body.booking-experience .availability-result.status-unavailable {
    color: #6f211d;
    background: #fff0ee;
    border-color: #bf746e;
    border-left-color: #8a2f2a;
}

body.booking-experience .availability-icon,
body.booking-experience :is(.workspace-notice, .workspace-ready, .agreement-preview, .workspace-lock-notice) > span {
    color: #151515;
    background: #d6b65f;
    border: 1px solid #7b5b20;
}

body.booking-experience .status-unavailable .availability-icon {
    color: #fff;
    background: #8a2f2a;
    border-color: #651d19;
}
