/* REQ-019 canonical pilot tokens. Both production and catalog load this file. */
:root {
  color-scheme: light;
  --ink: var(--ui-ink);
  --paper: var(--ui-paper);
  --accent: var(--ui-accent);
  --ui-ink: #2d2d2d;
  --ui-paper: #f7f6f3;
  --ui-accent: #617354;
  --ui-surface: #fffefb;
  --ui-border: #dce2d4;
  --ui-muted: #52655c;
  --ui-focus: #b96934;
  --ui-field-border: #aebda5;
  --ui-modified-label-shadow: #efd36699;
  --ui-button-border: #bbc7b5;
  --ui-table-header: #edf1e8;
  --ui-table-header-ink: #3d5135;
  --ui-table-rule: #e5e9df;
  --ui-table-hover: #f5f7f0;
  --ui-empty-ink: #73826b;
  --ui-alert-surface: #fff3e4;
  --ui-notice-surface: #fff4e7;
  --ui-notice-border: #dcad82;
  --ui-subtle-surface: #fffefa;
  --ui-subtle-accent: #526548;
  --ui-font-body: 'Inter', sans-serif;
  --ui-font-heading: 'Outfit', sans-serif;
  --ui-font-small: 12px;
  --ui-font-control: 13px;
  --ui-font-text: 14px;
  --ui-radius-panel: 10px;
  --ui-radius-control: 6px;
  --ui-space-1: 4px;
  --ui-space-2: 6px;
  --ui-space-3: 8px;
  --ui-space-4: 10px;
  --ui-space-5: 12px;
  --ui-space-6: 14px;
  --ui-space-7: 16px;
  --ui-space-8: 18px;
  --ui-space-9: 24px;
  --ui-control-border: #aebda5;
  --ui-on-accent: white;
  --ui-primary: #617354;
  --ui-radius-button: 7px;
  --ui-error: #a23719;
  --ui-input: white;
  --ui-warning-border: #dcad82;
  --ui-warning-surface: #fff4e7;
  --ui-radius-notice: .5rem;
  --ui-readonly-surface: #f1f3eb;
  --ui-disabled-opacity: .65;
  --ui-input-surface: white;
  --ui-notice-block: .45rem;
  --ui-notice-inline: .65rem;
  --ui-radius-view-button: .4rem;
  --ui-table-action-min: 80px;
  --ui-table-cell-max: 320px;
  --ui-table-cell-min: 120px;
  --ui-touch-target: 44px;
  --ui-view-button-block: .4rem;
  --ui-view-button-inline: .65rem;
  --ui-hover-surface: #e8ede1;
  --ui-shadow-modal: 0 18px 70px #15230d33;
  --ui-backdrop: #18241466;
}

/* Editor roles retain the existing compact form palette and geometry. */
:root {
  --ui-editor-ink: #24352e;
  --ui-editor-surface: #fffefa;
  --ui-editor-border: #d8dece;
  --ui-editor-muted: #647267;
  --ui-control-accent: #526548;
  --ui-editor-radius: .75rem;
  --ui-editor-footer-surface: #f5f6f0;
  --ui-hover-surface: #eef2e7;
  --ui-shadow-modal: 0 24px 80px #172c3440;
  --ui-backdrop: #172c3480;
}

/* Existing Event/Task selection and validation colors retain their exact values. */
:root {
  --ui-selection-surface: #e9edde;
  --ui-invalid-border: #b54323;
  --ui-picker-shadow-color: #172c3426;
}

/* Existing activity panels retain their distinct border, text and notice palette. */
:root {
  --ui-activity-border: #d8dfe5;
  --ui-activity-muted: #526373;
  --ui-activity-notice: #f0f4f7;
}

/* Account and security roles preserve the existing palette. */
:root {
  --ui-primary-hover: #56674b;
  --ui-account-hover-surface: #e8ede1;
  --ui-provider-ink: #1f1f1f;
  --ui-provider-border: #747775;
  --ui-provider-hover-surface: #f2f4f1;
  --ui-account-error: #9b3923;
  --ui-account-notice-border: #ddba91;
  --ui-account-border: #dbe1d2;
  --ui-organization-hover-border: #7d9470;
  --ui-organization-shadow: #273d2610;
  --ui-organization-initial-surface: #eaf0e1;
  --ui-organization-initial-ink: #547047;
  --ui-overview-symbol-surface: #e8eddd;
  --ui-overview-symbol-ink: #647e54;
  --ui-account-selection-surface: #e7edde;
  --ui-account-badge-ink: #47603b;
  --ui-account-field-border: #9bac97;
  --ui-mfa-method-surface: #e3ebdc;
  --ui-mfa-key-surface: #eef2e9;
  --ui-account-rule: #e1e5da;
  --ui-footer-muted: #65736b;
  --ui-account-menu-shadow: #273d2626;
}

:root {
  --ui-public-c2623b1f: #c2623b1f;
  --ui-public-7c907026: #7c907026;
  --ui-public-7c90701a: #7c90701a;
  --ui-public-1a1a1a: #1a1a1a;
  --ui-public-4a4a4a: #4a4a4a;
  --ui-public-ffffffa6: #ffffffa6;
  --ui-public-ffffffcc: #ffffffcc;
  --ui-public-0000000f: #0000000f;
  --ui-public-ffffff66: #ffffff66;
  --ui-public-555: #555;
  --ui-public-00000012: #00000012;
  --ui-public-7c90701f: #7c90701f;
  --ui-public-c2623b14: #c2623b14;
  --ui-public-f7f6f380: #f7f6f380;
  --ui-public-ffffff1a: #ffffff1a;
  --ui-public-5a5a5a: #5a5a5a;
  --ui-public-7c9070: #7c9070;
  --ui-public-0000001f: #0000001f;
  --ui-public-96451f: #96451f;
  --ui-public-fffffff2: #fffffff2;
  --ui-public-0000000d: #0000000d;
  --ui-public-7c907014: #7c907014;
  --ui-public-f7f6f3fa: #f7f6f3fa;
  --ui-public-0000001a: #0000001a;
  --ui-public-fff: #fff;
  --ui-public-17312d: #17312d;
  --ui-public-f5f5ef: #f5f5ef;
  --ui-public-285c45: #285c45;
  --ui-public-345e4a: #345e4a;
  --ui-public-c8d1c8: #c8d1c8;
}

:root { --ui-email-brand-stripe: #ca633b; }

.cartho-legal { color-scheme: light; font-family: Arial, Helvetica, sans-serif; color: var(--ui-public-17312d); background: var(--ui-public-f5f5ef); }
.cartho-legal * { box-sizing: border-box; }
.cartho-legal { margin: 0; }
.cartho-legal .page { max-width: 900px; margin: 0 auto; padding: 32px clamp(20px, 5vw, 56px) 48px; }
.cartho-legal header { padding: 12px 0 32px; font-size: 20px; }
.cartho-legal header a { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.cartho-legal header img { display: block; flex: 0 0 48px; }
.cartho-legal a { color: var(--ui-public-285c45); text-underline-offset: 3px; overflow-wrap: anywhere; }
.cartho-legal a:focus-visible { outline: 3px solid var(--ui-public-345e4a); outline-offset: 4px; }
.cartho-legal h1 { font-size: clamp(32px, 6vw, 48px); line-height: 1.1; letter-spacing: -.035em; margin: 16px 0; }
.cartho-legal h2 { font-size: 22px; line-height: 1.3; margin-top: 36px; }
.cartho-legal h3 { font-size: 18px; margin-top: 24px; }
.cartho-legal p, .cartho-legal li, .cartho-legal dd { line-height: 1.7; }
.cartho-legal li + li { margin-top: 8px; }
.cartho-legal ul { padding-left: 24px; }
.cartho-legal .updated, .cartho-legal footer { color: var(--ui-muted); font-size: 14px; }
.cartho-legal .summary { border-left: 3px solid var(--ui-public-345e4a); padding-left: 18px; margin: 28px 0; }
.cartho-legal dt { font-weight: bold; margin-top: 20px; }
.cartho-legal dd { margin: 6px 0 0; }
.cartho-legal footer { border-top: 1px solid var(--ui-public-c8d1c8); margin-top: 48px; padding-top: 24px; }
.cartho-legal nav { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 20px; }
@media print { .cartho-legal { background: white; color: black; } .cartho-legal .page { max-width: none; padding: 0; } .cartho-legal h2, .cartho-legal h3 { break-after: avoid; } }
