:root {
  --cc-color-primary: #538fd6;
  --cc-color-bg: #f7f9fc;
  --cc-color-surface: #ffffff;
  --cc-color-text: #000000;
  --cc-color-text-secondary: #2f3d51;
  --cc-color-text-tertiary: #9ca3af;
  --cc-color-border: #e5e7eb;
  --cc-color-border-subtle: #e8eaed;
  --cc-color-border-strong: #d1d5db;
  --cc-color-surface-muted: #f3f4f6;
  --cc-color-surface-subtle: #f9fafb;
  --cc-color-divider: #f3f4f6;
  --cc-color-text-muted: #6b7280;
  --cc-color-link: #3b81d3;
  --cc-color-success: #53be6f;
  --cc-color-error: #fc5a4a;
  --cc-font: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --cc-title-size: 24px;
  --cc-radius: 12px;
  --cc-radius-control: 12px;
  --cc-radius-card: 14px;
  --cc-color-action: #15803d;
  --cc-color-action-hover: #166534;
  --cc-page-max: 1080px;
  --cc-page-narrow: 720px;
}
html[data-theme="dark"] {
  --cc-color-primary: #3172f5;
  --cc-color-bg: #0c1326;
  --cc-color-surface: #1a223a;
  --cc-color-text: #ffffff;
  --cc-color-text-secondary: #b5bbc4;
  --cc-color-text-tertiary: #6b7280;
  --cc-color-border: #374151;
  --cc-color-border-subtle: #232b3e;
  --cc-color-border-strong: #4b5563;
  --cc-color-surface-muted: #252d3d;
  --cc-color-surface-subtle: #1f2840;
  --cc-color-divider: #232b3e;
  --cc-color-text-muted: #9ca3af;
  --cc-color-link: #60a5fa;
  --cc-color-field: rgba(255, 255, 255, .06);
  color-scheme: dark;
}
.content-container:has(> .cc-page-header), .content-container:has(.cc-page-header) { max-width: calc(var(--cc-page-max) + 2 * var(--cc-content-padding, 32px)) !important; margin-left: auto !important; margin-right: auto !important; }
.cc-page-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; min-height: 44px; margin: 0 0 24px; }
.cc-page-header.cc-page-narrow { width: 100%; max-width: var(--cc-page-narrow); margin-left: auto; margin-right: auto; box-sizing: border-box; }
.content-container h1.cc-page-title { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 44px; margin: 0; font-family: var(--cc-font) !important; font-size: var(--cc-title-size) !important; font-weight: 700 !important; line-height: 1.25 !important; letter-spacing: 0 !important; color: var(--cc-color-text) !important; text-align: left; }
.cc-page-icon { flex: none; width: 24px; height: 24px; object-fit: contain; }
html[data-theme="dark"] img.cc-page-icon { filter: brightness(0) invert(1); }
.content-container h1.cc-page-title svg.cc-page-icon { color: var(--cc-color-text); }
.cc-page-sub { margin: -16px 0 24px; color: var(--cc-color-text-secondary); font-family: var(--cc-font); font-size: 14px; line-height: 1.4; }
.cc-page-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
@media (max-width: 640px) {
  :root { --cc-title-size: 20px; }
  .cc-page-header { margin-bottom: 16px; }
  .cc-page-sub { margin: -8px 0 16px; }
}
.content-container .cc-card-title { font-family: var(--cc-font) !important; font-size: 17px !important; font-weight: 700 !important; line-height: 1.3; color: var(--cc-color-text) !important; overflow-wrap: anywhere; }
.content-container > :has(.cc-page-header) { padding-top: 0 !important; margin-top: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.content-container > :has(.cc-page-header:not(.cc-page-narrow)) { margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; }
.content-container > :has(.cc-page-header) > :has(.cc-page-header) { padding-top: 0 !important; margin-top: 0 !important; }

html.cc-gate-open, html.cc-gate-open body { overflow: hidden; }
.cc-gate { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 16px; font-family: var(--cc-font); }
.cc-gate-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .45); }
.cc-gate-card { box-sizing: border-box; position: relative; width: 100%; max-width: 440px; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 28px 24px 20px; border-radius: 20px; background: var(--cc-color-surface); color: var(--cc-color-text); box-shadow: 0 24px 64px rgba(15, 23, 42, .25); animation: cc-gate-in .2s ease both; }
.cc-gate-x { position: absolute; top: 12px; right: 12px; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: var(--cc-color-bg); color: var(--cc-color-text-secondary); cursor: pointer; }
.cc-gate-x svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.cc-gate-icon { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin: 4px auto 14px; border-radius: 16px; background: #fef3c7; }
.cc-gate-icon svg { width: 28px; height: 28px; fill: none; stroke: #d97706; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cc-gate-title { margin: 0 0 16px; font-family: var(--cc-font); font-size: 22px; font-weight: 700; line-height: 1.25; text-align: center; color: var(--cc-color-text); }
.cc-gate-list { margin: 0 0 20px; padding: 12px 16px; list-style: none; border-radius: 14px; background: var(--cc-color-bg); }
.cc-gate-list li { position: relative; padding: 7px 0 7px 30px; font-size: 16px; line-height: 1.35; color: var(--cc-color-text-secondary); }
.cc-gate-list li::before { content: ""; position: absolute; left: 0; top: 8px; width: 20px; height: 20px; border-radius: 50%; background: #16a34a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.5 12.5l3 3 6-6.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px 20px no-repeat; }
.cc-gate-list li.cc-gate-feature { font-weight: 700; color: var(--cc-color-text); }
.cc-gate-continue { display: flex; align-items: center; justify-content: center; height: 52px; border-radius: 14px; background: #15803d; color: #fff; font-size: 17px; font-weight: 700; text-decoration: none; }
.cc-gate-continue:hover, .cc-gate-continue:focus { background: #166534; color: #fff; text-decoration: none; }
.cc-gate-x:focus-visible, .cc-gate-continue:focus-visible { outline: 3px solid rgba(22, 163, 74, .45); outline-offset: 2px; }
.cc-gate-note { margin: 12px 0 0; font-size: 13px; text-align: center; color: var(--cc-color-text-tertiary); }
@keyframes cc-gate-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 599px) {
  .cc-gate { align-items: flex-end; padding: 0; }
  .cc-gate-card { max-width: none; max-height: 92vh; max-height: 92dvh; padding-bottom: calc(24px + env(safe-area-inset-bottom)); border-radius: 20px 20px 0 0; }
}
@media (prefers-reduced-motion: reduce) { .cc-gate-card { animation: none; } }
.cc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 8px 18px; border: 1px solid transparent; border-radius: var(--cc-radius-control); font-family: var(--cc-font); font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer; }
.cc-btn-primary { background: var(--cc-color-action); color: #fff; }
.cc-btn-primary:hover, .cc-btn-primary:focus { background: var(--cc-color-action-hover); color: #fff; text-decoration: none; }
.cc-btn-secondary { background: var(--cc-color-surface); border-color: var(--cc-color-border); color: var(--cc-color-text); }
.cc-btn-secondary:hover, .cc-btn-secondary:focus { background: var(--cc-color-bg); color: var(--cc-color-text); text-decoration: none; }
.cc-btn:focus-visible { outline: 3px solid rgba(22, 163, 74, .45); outline-offset: 2px; }
.cc-int-section-title { margin: 22px 0 6px 14px; font-family: var(--cc-font); font-size: 13px; font-weight: 700; line-height: 1.3; letter-spacing: 0; color: var(--cc-color-text-secondary); }
.cc-group { margin: 0; padding: 0; list-style: none; border: 1px solid var(--cc-color-border); border-radius: 15px; background: var(--cc-color-surface); overflow: hidden; }
.cc-row { position: relative; display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 0; padding: 10px 14px; background: var(--cc-color-surface); color: var(--cc-color-text); text-decoration: none; }
.cc-row + .cc-row::before { content: ''; position: absolute; top: 0; left: 44px; right: 0; height: 1px; background: var(--cc-color-border); }
.cc-group-plain .cc-row + .cc-row::before { left: 14px; }
a.cc-row:hover, a.cc-row:focus { background: var(--cc-color-bg); color: var(--cc-color-text); text-decoration: none; }
a.cc-row:focus-visible { outline: 3px solid var(--cc-color-primary); outline-offset: -3px; }
.cc-row-icon { flex: none; width: 20px; color: var(--cc-color-text-secondary); font-size: 18px; line-height: 1; text-align: center; }
.cc-row-text { flex: 1 1 auto; min-width: 0; }
.content-container .cc-row-title, .cc-row-title { display: block; margin: 0; font-family: var(--cc-font); font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--cc-color-text); overflow-wrap: anywhere; }
.cc-row-sub { display: block; margin: 3px 0 0; font-family: var(--cc-font); font-size: 12px; line-height: 17px; color: var(--cc-color-text-secondary); overflow-wrap: anywhere; }
.cc-row-end { flex: none; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.cc-row-chevron { color: var(--cc-color-text-tertiary); font-size: 14px; }
.cc-pill { display: inline-block; padding: 3px 8px; border-radius: 10px; background: var(--cc-color-bg); color: var(--cc-color-text-secondary); font-family: var(--cc-font); font-size: 11px; font-weight: 700; line-height: 1.4; white-space: nowrap; }
.cc-pill-on { background: color-mix(in srgb, var(--cc-color-primary) 16%, var(--cc-color-surface)); color: var(--cc-color-text); }
@media (max-width: 560px) {
  .cc-row:has(> .cc-row-icon) { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; column-gap: 12px; row-gap: 8px; }
  .cc-row:has(> .cc-row-icon) > .cc-row-end { grid-column: 3; grid-row: 1; }
  .cc-row:has(> .cc-row-end .btn) > .cc-row-end { grid-column: 2 / 4; grid-row: 2; justify-content: flex-start; margin-left: 0; }
}
.content-container:not(:has(.checkin-container)) :is(.btn:not(.btn-link):not(.rounded-full):not(.rounded-circle):not(.btn-circle), .form-control, .custom-select, select:not([multiple]), textarea, input:is([type="text"], [type="search"], [type="email"], [type="number"], [type="date"], [type="time"], [type="tel"], [type="url"], [type="password"]), .dropdown-menu, [role="menu"]):not([style*="border-radius"]):not(:is(.input-group, .btn-group, .time-input-group) *) { border-radius: var(--cc-radius-control) !important; }
html[data-theme="dark"] body, html[data-theme="dark"] #main-wrapper, html[data-theme="dark"] .page-wrapper { background-color: var(--cc-color-bg) !important; color: var(--cc-color-text); }
html[data-theme="dark"] .content-container :is(.card, .modern-card, .card-header, .card-footer, .list-group-item, .modal-content, .modal-header, .modal-footer, .dropdown-menu, .popover, .table, .bg-white) { background-color: var(--cc-color-surface) !important; border-color: var(--cc-color-border) !important; color: var(--cc-color-text); }
html[data-theme="dark"] :is(.modal-content, .modal-header, .modal-footer, .dropdown-menu) { background-color: var(--cc-color-surface); border-color: var(--cc-color-border); color: var(--cc-color-text); }
html[data-theme="dark"] .content-container :is(.bg-gray-50, .bg-gray-100, .bg-light) { background-color: var(--cc-color-surface-muted) !important; }
html[data-theme="dark"] .content-container :is(.border, .border-gray-100, .border-gray-200, .border-gray-300, .border-b, .border-t, .divide-y > *) { border-color: var(--cc-color-border) !important; }
html[data-theme="dark"] .content-container :is(h1, h2, h3, h4, h5, h6, .card-title, .text-gray-900, .text-gray-800, .text-dark) { color: var(--cc-color-text) !important; }
html[data-theme="dark"] .content-container :where(label, dt, th) { color: var(--cc-color-text); }
html[data-theme="dark"] .content-container :is(.text-muted, .form-text, .text-gray-700, .text-gray-600, .text-gray-500, .text-secondary) { color: var(--cc-color-text-secondary) !important; }
html[data-theme="dark"] .content-container :where(p, small, td, dd, li) { color: var(--cc-color-text-secondary); }
html[data-theme="dark"] .content-container :is(.form-control, .custom-select, select, textarea, .input-group-text, input:is([type="text"], [type="search"], [type="email"], [type="number"], [type="date"], [type="time"], [type="datetime-local"], [type="tel"], [type="url"], [type="password"], :not([type]))) { background-color: var(--cc-color-field) !important; border-color: var(--cc-color-border) !important; color: var(--cc-color-text) !important; }
html[data-theme="dark"] .content-container ::placeholder { color: var(--cc-color-text-tertiary) !important; }
html[data-theme="dark"] select option { background-color: var(--cc-color-surface); color: var(--cc-color-text); }
html[data-theme="dark"] .content-container a:not(.btn):not([class*="cc-"]):not([style*="color"]):not([data-cc-premium-gate]):not(.insights-compare-unlock) { color: var(--cc-color-link); }
html[data-theme="dark"] .content-container hr { border-color: var(--cc-color-border); }
html[data-theme="dark"] .content-container :is([style*="background: white"], [style*="background:white"], [style*="background: #fff;"], [style*="background:#fff;"], [style*="background: #fff "], [style*="background: #ffffff"], [style*="background:#ffffff"], [style*="background-color: #fff"], [style*="background-color: white"], [style*="background-color:#fff"], [style*="background: #FFF"], [style*="background: #FFFFFF"]) { background-color: var(--cc-color-surface) !important; }
html[data-theme="dark"] .content-container :is([style*="background: #f9fafb"], [style*="background: #f3f4f6"], [style*="background: #f8fafc"], [style*="background: #f7f9fc"], [style*="background: #f1f5f9"], [style*="background-color: #f9fafb"], [style*="background-color: #f3f4f6"], [style*="background-color: #f8fafc"], [style*="background: #fafafa"]) { background-color: var(--cc-color-surface-muted) !important; }
html[data-theme="dark"] .content-container :is([style*="color: #111827"], [style*="color: #1f2937"], [style*="color: #374151"], [style*="color: #1a202c"], [style*="color: #000;"], [style*="color:#000;"], [style*="color: #000000"], [style*="color: #182b45"], [style*="color: #2d3748"], [style*="color: #333"], [style*="color: #212529"]) { color: var(--cc-color-text) !important; }
html[data-theme="dark"] .content-container :is([style*="color: #6b7280"], [style*="color: #4b5563"], [style*="color: #64748b"], [style*="color: #475569"], [style*="color: #718096"], [style*="color: #4a5568"]) { color: var(--cc-color-text-muted) !important; }
html[data-theme="dark"] .content-container :is([style*="border: 1px solid #e5e7eb"], [style*="border: 1px solid #f3f4f6"], [style*="border: 1px solid #d1d5db"], [style*="border: 1px solid #e8eaed"], [style*="border: 2px solid #e5e7eb"], [style*="border-bottom: 1px solid #f3f4f6"], [style*="border-top: 1px solid #f3f4f6"], [style*="border-bottom: 1px solid #e5e7eb"], [style*="border-top: 1px solid #e5e7eb"]) { border-color: var(--cc-color-border) !important; }
html[data-theme="dark"] #partnerModal :is(.bg-white, [style*="background: white"]) { background-color: var(--cc-color-surface) !important; color: var(--cc-color-text); }
html[data-theme="dark"] #partnerModal :is(.bg-gray-50, [style*="background: #f3f4f6"]) { background-color: var(--cc-color-surface-muted) !important; }
html[data-theme="dark"] #partnerModal :is(h3, [style*="color: #111827"]) { color: var(--cc-color-text) !important; }
html[data-theme="dark"] #partnerModal :is([style*="color: #4b5563"], .text-gray-600, .text-gray-700) { color: var(--cc-color-text-secondary) !important; }
html[data-theme="dark"] #partnerModal .border-gray-400 { border-color: var(--cc-color-border-strong) !important; }
html[data-theme="dark"] .content-container .records-upgrade { color: var(--cc-color-link); }
html[data-theme="dark"] .content-container :is([style*="color: #b91c1c"], [style*="color: #991b1b"], .records-card-actions button) { color: #f87171 !important; }
html[data-theme="dark"] .content-container :is(.record-info-disclosure summary, .record-info-options, .record-info-options :is(button, a)), html[data-theme="dark"] .record-info-dialog { background-color: var(--cc-color-surface) !important; border-color: var(--cc-color-border) !important; color: var(--cc-color-text) !important; }
html[data-theme="dark"] .content-container .record-info-options :is(button, a):hover { background-color: var(--cc-color-surface-muted) !important; }
html[data-theme="dark"] :is(footer, .footer) { background-color: var(--cc-color-bg) !important; color: var(--cc-color-text-muted) !important; border-color: var(--cc-color-border) !important; }
.cc-segmented { display: inline-flex; flex-wrap: wrap; gap: 4px; max-width: 100%; padding: 4px; border-radius: calc(var(--cc-radius-control) + 4px); background: var(--cc-color-surface-muted); box-sizing: border-box; }
.cc-segmented label { position: relative; margin: 0; }
.cc-segmented input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cc-segmented span { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 104px; min-height: 40px; padding: 8px 16px; border-radius: var(--cc-radius-control); color: var(--cc-color-text-muted); font-size: 14px; font-weight: 600; line-height: 1.2; cursor: pointer; transition: background-color 160ms ease, color 160ms ease; }
.cc-segmented span:hover { color: var(--cc-color-text); }
.cc-segmented input:checked + span { background: var(--cc-color-surface); color: var(--cc-color-text); box-shadow: 0 1px 2px rgba(12, 19, 38, .12); }
.cc-segmented input:focus-visible + span { outline: 3px solid rgba(59, 129, 211, .45); outline-offset: 2px; }
html[data-theme="dark"] .cc-segmented input:checked + span { background: var(--cc-color-primary); color: #ffffff; }
@media (max-width: 480px) { .cc-segmented { display: flex; width: 100%; } .cc-segmented label { flex: 1 1 0; } .cc-segmented span { width: 100%; min-width: 0; padding: 8px; } }
