/*!
 * Client Craft web kit — GENERATED by generate-web-css.mjs. Do not edit by hand.
 * Source of truth: src/shared/design-system (themes/web.tokens.ts, styles/rules.ts, web/web-kit.rules.ts).
 *
 * Usage (Razor identity/onboarding/checkout/member pages):
 *   <link rel="stylesheet" href="…/design-system/web/clientcraft-web.css">
 *   <body class="cc-web">…</body>
 * Tokens are defined on :root and .cc-theme-web; element styles only apply inside .cc-web.
 * Fonts resolve relative to this file (../assets/fonts). Manrope and DM Sans: SIL OFL 1.1, licences alongside.
 */
@font-face{font-family:"Client Craft Manrope";src:url("../assets/fonts/manrope-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Client Craft Manrope";src:url("../assets/fonts/manrope-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Client Craft DM Sans";src:url("../assets/fonts/dm-sans-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Client Craft DM Sans";src:url("../assets/fonts/dm-sans-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Client Craft DM Sans";src:url("../assets/fonts/dm-sans-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
/* Primitives (theme authors only; screens use semantic tokens) */
:root,.cc-theme-web{--cc-blue-50:#F4F7FF;--cc-blue-100:#EEF3FF;--cc-blue-150:#E4EAFF;--cc-blue-200:#D4DFFE;--cc-blue-300:#B8C5FF;--cc-blue-400:#7D93F8;--cc-blue-500:#3154F4;--cc-blue-550:#2D4BE0;--cc-blue-600:#2143DC;--cc-blue-650:#2440CF;--cc-blue-700:#213CC6;--cc-blue-750:#1F37B4;--cc-blue-800:#1B2F9A;--cc-blue-900:#15226B;--cc-ink-300:#A9B4C8;--cc-ink-400:#8491AB;--cc-ink-500:#63718D;--cc-ink-600:#465371;--cc-ink-700:#344262;--cc-ink-800:#263758;--cc-ink-900:#172448;--cc-periwinkle-0:#FFFFFF;--cc-periwinkle-25:#FAFBFE;--cc-periwinkle-50:#F7F9FE;--cc-periwinkle-75:#F4F7FF;--cc-periwinkle-100:#EEF3FF;--cc-periwinkle-150:#E4EAF5;--cc-periwinkle-200:#D4DFF9;--cc-periwinkle-300:#B6C2DE;--cc-periwinkle-400:#7D8AA8;--cc-slate-0:#FFFFFF;--cc-slate-25:#FAFBFC;--cc-slate-50:#F7F8FA;--cc-slate-75:#F3F4F7;--cc-slate-100:#EDEFF3;--cc-slate-150:#E3E6EC;--cc-slate-200:#D2D7E0;--cc-slate-300:#B4BBC8;--cc-slate-400:#838B9E;--cc-slate-500:#646D81;--cc-slate-600:#4F586C;--cc-slate-700:#3B4357;--cc-slate-900:#1A2238;--cc-green-50:#EFF8F3;--cc-green-100:#E3F4EC;--cc-green-200:#C3E6D5;--cc-green-300:#8CCDB2;--cc-green-500:#1A856B;--cc-green-600:#177559;--cc-green-700:#12614A;--cc-green-800:#0E4D3B;--cc-amber-50:#FFF9EB;--cc-amber-100:#FFF4DC;--cc-amber-200:#FBE3AE;--cc-amber-300:#F2C55C;--cc-amber-500:#E3A534;--cc-amber-600:#B07E1C;--cc-amber-700:#7E5B12;--cc-amber-800:#5F440C;--cc-red-50:#FFF6F3;--cc-red-100:#FFF1ED;--cc-red-200:#FAD3C8;--cc-red-300:#F0A795;--cc-red-500:#BC5238;--cc-red-600:#A8432A;--cc-red-700:#963F28;--cc-red-800:#74301E;--cc-cyan-50:#F0F9FC;--cc-cyan-100:#E2F4FA;--cc-cyan-200:#BFE5F1;--cc-cyan-300:#8DCFE3;--cc-cyan-500:#1683A8;--cc-cyan-600:#0F7393;--cc-cyan-700:#0A5F7A;--cc-cyan-800:#084A5F;}
/* Foundation + web semantic tokens + data-viz palette */
:root, .cc-theme-web{--cc-space-0:0px;--cc-space-1:4px;--cc-space-2:8px;--cc-space-3:12px;--cc-space-4:16px;--cc-space-5:20px;--cc-space-6:24px;--cc-space-8:32px;--cc-space-10:40px;--cc-space-12:48px;--cc-space-16:64px;--cc-motion-duration-instant:60ms;--cc-motion-duration-fast:120ms;--cc-motion-duration-base:180ms;--cc-motion-duration-slow:280ms;--cc-motion-ease-standard:cubic-bezier(0.2, 0, 0, 1);--cc-motion-ease-enter:cubic-bezier(0, 0, 0.2, 1);--cc-motion-ease-exit:cubic-bezier(0.4, 0, 1, 1);--cc-z-base:0;--cc-z-raised:1;--cc-z-sticky:10;--cc-z-dropdown:100;--cc-z-overlay:400;--cc-z-popover:500;--cc-z-toast:600;--cc-layout-max:1440px;--cc-layout-content:1184px;--cc-layout-narrow:840px;--cc-layout-form:560px;--cc-layout-auth:440px;--cc-layout-measure:68ch;--cc-record-info-width:264px;--cc-record-relations-width:240px;--cc-icon-size-sm:16px;--cc-icon-size-md:20px;--cc-icon-size-lg:24px;--cc-icon-stroke:1.4;--cc-border-width:1px;--cc-color-text:#172448;--cc-color-text-muted:#465371;--cc-color-text-subtle:#63718D;--cc-color-text-disabled:#8491AB;--cc-color-text-on-accent:#FFFFFF;--cc-color-text-link:#3154F4;--cc-color-text-inverse:#FFFFFF;--cc-color-canvas:#F4F7FF;--cc-color-surface:#FFFFFF;--cc-color-surface-raised:#FFFFFF;--cc-color-surface-sunken:#F7F9FE;--cc-color-surface-hover:#F4F7FF;--cc-color-surface-selected:#F2F6FF;--cc-color-surface-disabled:#F7F9FE;--cc-color-surface-inverse:#172448;--cc-color-overlay:rgb(23 36 72 / 0.4);--cc-color-border-subtle:#EEF1F7;--cc-color-border:#E4EAF5;--cc-color-border-strong:#D4DFF9;--cc-color-border-control:#7D8AA8;--cc-color-brand:#3154F4;--cc-color-accent:#3154F4;--cc-color-accent-hover:#2143DC;--cc-color-accent-pressed:#213CC6;--cc-color-accent-soft:#EDF1FF;--cc-color-accent-soft-hover:#E4EAFF;--cc-color-accent-soft-fg:#2749DB;--cc-color-accent-line:#B8C5FF;--cc-color-focus:#E3A534;--cc-color-focus-inner:#172448;--cc-focus-width:3px;--cc-focus-offset:2px;--cc-color-success-fg:#12614A;--cc-color-success-bg:#E3F4EC;--cc-color-success-border:#8CCDB2;--cc-color-success-solid:#177559;--cc-color-success-on-solid:#FFFFFF;--cc-color-warning-fg:#7E5B12;--cc-color-warning-bg:#FFF4DC;--cc-color-warning-border:#F2C55C;--cc-color-warning-solid:#F2C55C;--cc-color-warning-on-solid:#172448;--cc-color-danger-fg:#963F28;--cc-color-danger-bg:#FFF1ED;--cc-color-danger-border:#BC5238;--cc-color-danger-solid:#A8432A;--cc-color-danger-on-solid:#FFFFFF;--cc-color-info-fg:#0A5F7A;--cc-color-info-bg:#E2F4FA;--cc-color-info-border:#8DCFE3;--cc-color-info-solid:#0F7393;--cc-color-info-on-solid:#FFFFFF;--cc-color-neutral-fg:#465371;--cc-color-neutral-bg:#EEF3FF;--cc-color-neutral-border:#D4DFF9;--cc-color-neutral-solid:#465371;--cc-color-neutral-on-solid:#FFFFFF;--cc-radius-xs:4px;--cc-radius-sm:6px;--cc-radius-md:8px;--cc-radius-lg:12px;--cc-radius-xl:16px;--cc-radius-pill:999px;--cc-shadow-0:none;--cc-shadow-1:0 1px 2px rgb(23 36 72 / 0.04), 0 2px 8px rgb(29 52 122 / 0.04);--cc-shadow-2:0 12px 30px rgb(29 52 122 / 0.07);--cc-shadow-3:0 18px 60px rgb(39 62 120 / 0.08);--cc-shadow-overlay:0 24px 64px rgb(23 36 72 / 0.16), 0 2px 8px rgb(23 36 72 / 0.06);--cc-font-heading:"Client Craft Manrope", Manrope, "Segoe UI", system-ui, sans-serif;--cc-font-body:"Client Craft DM Sans", "DM Sans", DMSans, "Segoe UI", system-ui, sans-serif;--cc-font-mono:ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, monospace;--cc-text-display:clamp(2.5rem, 4.2vw, 3.5rem);--cc-text-display-line:1.08;--cc-text-display-weight:600;--cc-text-display-tracking:-0.05em;--cc-text-display-family:var(--cc-font-heading);--cc-text-page-title:clamp(1.75rem, 2.4vw, 2.25rem);--cc-text-page-title-line:1.15;--cc-text-page-title-weight:600;--cc-text-page-title-tracking:-0.045em;--cc-text-page-title-family:var(--cc-font-heading);--cc-text-section-title:1.375rem;--cc-text-section-title-line:1.25;--cc-text-section-title-weight:600;--cc-text-section-title-tracking:-0.03em;--cc-text-section-title-family:var(--cc-font-heading);--cc-text-card-title:1.0625rem;--cc-text-card-title-line:1.4;--cc-text-card-title-weight:600;--cc-text-card-title-tracking:-0.02em;--cc-text-card-title-family:var(--cc-font-heading);--cc-text-body:1rem;--cc-text-body-line:1.65;--cc-text-body-weight:400;--cc-text-body-tracking:0;--cc-text-body-family:var(--cc-font-body);--cc-text-body-strong:1rem;--cc-text-body-strong-line:1.65;--cc-text-body-strong-weight:600;--cc-text-body-strong-tracking:0;--cc-text-body-strong-family:var(--cc-font-body);--cc-text-small:0.875rem;--cc-text-small-line:1.55;--cc-text-small-weight:400;--cc-text-small-tracking:0;--cc-text-small-family:var(--cc-font-body);--cc-text-caption:0.8125rem;--cc-text-caption-line:1.5;--cc-text-caption-weight:400;--cc-text-caption-tracking:0;--cc-text-caption-family:var(--cc-font-body);--cc-text-eyebrow:0.75rem;--cc-text-eyebrow-line:1.5;--cc-text-eyebrow-weight:700;--cc-text-eyebrow-tracking:0.13em;--cc-text-eyebrow-family:var(--cc-font-heading);--cc-text-numeric:2rem;--cc-text-numeric-line:1.15;--cc-text-numeric-weight:600;--cc-text-numeric-tracking:-0.035em;--cc-text-numeric-family:var(--cc-font-heading);--cc-control-height-sm:40px;--cc-control-height:48px;--cc-control-height-lg:52px;--cc-control-padding-x:16px;--cc-card-padding-sm:16px;--cc-card-padding:24px;--cc-card-padding-lg:32px;--cc-table-row-height:52px;--cc-table-cell-padding-x:16px;--cc-page-gutter:48px;--cc-page-gap:32px;--cc-section-gap:24px;--cc-viz-1:#3154F4;--cc-viz-2:#B87D0F;--cc-viz-3:#138A6E;--cc-viz-4:#7B4FE0;--cc-viz-5:#D9573A;--cc-viz-6:#1683A8;--cc-viz-7:#5B6B91;--cc-viz-8:#C2449A;--cc-viz-seq-1:#EEF3FF;--cc-viz-seq-2:#D4DFFE;--cc-viz-seq-3:#B8C5FF;--cc-viz-seq-4:#93A6FB;--cc-viz-seq-5:#6A84F7;--cc-viz-seq-6:#3154F4;--cc-viz-seq-7:#213CC6;--cc-viz-seq-8:#1B2F9A;--cc-viz-seq-9:#15226B;}
@media (prefers-reduced-motion:reduce){:root, .cc-theme-web{--cc-motion-duration-instant:0ms;--cc-motion-duration-fast:0ms;--cc-motion-duration-base:0ms;--cc-motion-duration-slow:0ms;}
}
/* Base */
.cc-web,:where(.cc-web) *,:where(.cc-web) *::before,:where(.cc-web) *::after{box-sizing:border-box}
.cc-web{margin:0;background:var(--cc-color-surface);color:var(--cc-color-text);font-family:var(--cc-text-body-family);font-size:var(--cc-text-body);font-weight:var(--cc-text-body-weight);line-height:var(--cc-text-body-line);letter-spacing:var(--cc-text-body-tracking);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.cc-web--canvas{background:var(--cc-color-canvas)}
:where(.cc-web) :where(h1,h2,h3,h4,p,ul,ol,figure,blockquote){margin:0}
:where(.cc-web) :where(h1),.cc-h1{font-family:var(--cc-text-page-title-family);font-size:var(--cc-text-page-title);font-weight:var(--cc-text-page-title-weight);line-height:var(--cc-text-page-title-line);letter-spacing:var(--cc-text-page-title-tracking);}
:where(.cc-web) :where(h2),.cc-h2{font-family:var(--cc-text-section-title-family);font-size:var(--cc-text-section-title);font-weight:var(--cc-text-section-title-weight);line-height:var(--cc-text-section-title-line);letter-spacing:var(--cc-text-section-title-tracking);}
:where(.cc-web) :where(h3),.cc-h3{font-family:var(--cc-text-card-title-family);font-size:var(--cc-text-card-title);font-weight:var(--cc-text-card-title-weight);line-height:var(--cc-text-card-title-line);letter-spacing:var(--cc-text-card-title-tracking);}
.cc-display{font-family:var(--cc-text-display-family);font-size:var(--cc-text-display);font-weight:var(--cc-text-display-weight);line-height:var(--cc-text-display-line);letter-spacing:var(--cc-text-display-tracking);}
:where(.cc-web) :where(p+p){margin-top:var(--cc-space-4)}
:where(.cc-web) :where(a){color:var(--cc-color-text-link);text-decoration:none}
:where(.cc-web) :where(a:not(.cc-button)):hover{color:var(--cc-color-accent-hover);text-decoration:underline;text-underline-offset:4px}
:where(.cc-web) :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--cc-focus-width) solid var(--cc-color-focus);outline-offset:var(--cc-focus-offset);box-shadow:0 0 0 var(--cc-focus-offset) var(--cc-color-focus-inner);}
:where(.cc-web) :where(img,svg){max-width:100%}
:where(.cc-web) :where(button,input,select,textarea){font:inherit;color:inherit}
.cc-web ::selection{background:var(--cc-color-accent-soft-hover)}
.cc-eyebrow{display:block;font-family:var(--cc-text-eyebrow-family);font-size:var(--cc-text-eyebrow);font-weight:var(--cc-text-eyebrow-weight);line-height:var(--cc-text-eyebrow-line);letter-spacing:var(--cc-text-eyebrow-tracking);text-transform:uppercase;color:var(--cc-color-text-subtle)}
.cc-lead{font-size:1.25rem;line-height:1.65;letter-spacing:-0.02em;color:var(--cc-color-text-muted)}
.cc-muted{color:var(--cc-color-text-muted)}
.cc-subtle{color:var(--cc-color-text-subtle)}
.cc-small{font-size:var(--cc-text-small);line-height:var(--cc-text-small-line)}
.cc-text-link{display:inline-flex;align-items:center;gap:var(--cc-space-1);color:var(--cc-color-text-link);font-weight:600;border-bottom:1px solid var(--cc-color-accent-line);padding-bottom:2px;text-decoration:none}
.cc-text-link:hover{border-bottom-color:currentColor;text-decoration:none}
.cc-skip-link{position:absolute;left:var(--cc-space-4);top:-100px;z-index:var(--cc-z-toast);padding:var(--cc-space-2) var(--cc-space-4);background:var(--cc-color-surface);border-radius:var(--cc-radius-md);box-shadow:var(--cc-shadow-2)}
.cc-skip-link:focus{top:var(--cc-space-4)}
@media (prefers-reduced-motion:reduce){.cc-web *,.cc-web *::before,.cc-web *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
/* Buttons */
.cc-button,.cc-button *,.cc-button::after{box-sizing:border-box}
.cc-button{--_bg:var(--cc-color-surface);--_fg:var(--cc-color-text);--_border:var(--cc-color-border-strong);--_bg-hover:var(--cc-color-surface-hover);
  display:inline-flex;align-items:center;justify-content:center;gap:var(--cc-space-2);min-height:var(--cc-control-height);
  padding:0 calc(var(--cc-control-padding-x) + var(--cc-space-1));border:var(--cc-border-width) solid var(--_border);border-radius:var(--cc-radius-md);
  background:var(--_bg);color:var(--_fg);font-family:var(--cc-font-body);font-size:var(--cc-text-small);font-weight:600;line-height:1.2;
  text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;user-select:none;
  transition:background-color var(--cc-motion-duration-fast) var(--cc-motion-ease-standard),border-color var(--cc-motion-duration-fast) var(--cc-motion-ease-standard),box-shadow var(--cc-motion-duration-fast) var(--cc-motion-ease-standard),transform var(--cc-motion-duration-base) var(--cc-motion-ease-standard)}
.cc-button:hover{background:var(--_bg-hover)}
.cc-button:focus-visible{outline:var(--cc-focus-width) solid var(--cc-color-focus);outline-offset:var(--cc-focus-offset);box-shadow:0 0 0 var(--cc-focus-offset) var(--cc-color-focus-inner);}
.cc-button svg{width:var(--cc-icon-size-sm);height:var(--cc-icon-size-sm);flex:none}
.cc-button--primary{--_bg:var(--cc-color-accent);--_fg:var(--cc-color-text-on-accent);--_border:var(--cc-color-accent);--_bg-hover:var(--cc-color-accent-hover);box-shadow:0 4px 10px rgb(49 84 244 / 0.07)}
.cc-button--primary:hover{border-color:var(--cc-color-accent-hover)}
.cc-button--primary:active{background:var(--cc-color-accent-pressed);border-color:var(--cc-color-accent-pressed)}
.cc-button--secondary{--_bg:var(--cc-color-accent-soft);--_fg:var(--cc-color-accent-soft-fg);--_border:var(--cc-color-accent-soft);--_bg-hover:var(--cc-color-accent-soft-hover)}
.cc-button--secondary:hover{border-color:var(--cc-color-accent-soft-hover)}
.cc-button--outline{--_bg:var(--cc-color-surface);--_fg:var(--cc-color-text);--_border:var(--cc-color-border-control)}
.cc-button--ghost{--_bg:transparent;--_fg:var(--cc-color-text-link);--_border:transparent;--_bg-hover:var(--cc-color-accent-soft)}
.cc-button--danger{--_bg:var(--cc-color-danger-solid);--_fg:var(--cc-color-danger-on-solid);--_border:var(--cc-color-danger-solid);--_bg-hover:var(--cc-color-danger-fg)}
.cc-button--sm{min-height:var(--cc-control-height-sm);padding:0 var(--cc-control-padding-x);font-size:var(--cc-text-caption)}
.cc-button--lg{min-height:var(--cc-control-height-lg);padding:0 calc(var(--cc-control-padding-x) + var(--cc-space-2));font-size:var(--cc-text-body)}
.cc-button--block{display:flex;width:100%}
.cc-button--icon{padding:0;width:var(--cc-control-height)}
.cc-button:disabled,.cc-button[aria-disabled="true"]{--_bg:var(--cc-color-surface-disabled);--_fg:var(--cc-color-text-disabled);--_border:var(--cc-color-border);box-shadow:none;cursor:not-allowed;transform:none}
.cc-button[aria-busy="true"]{position:relative;color:transparent;pointer-events:none}
.cc-button[aria-busy="true"]::after{content:"";position:absolute;inset:0;margin:auto;width:1em;height:1em;border-radius:50%;border:2px solid var(--_fg);border-right-color:transparent;animation:cc-spin .7s linear infinite}
@keyframes cc-spin{to{transform:rotate(360deg)}
}
/* Forms */
.cc-form,.cc-field,.cc-field *,.cc-field-group,.cc-field-row,.cc-input,.cc-select,.cc-textarea,.cc-check,.cc-check input{box-sizing:border-box}
.cc-form{display:grid;gap:var(--cc-space-5)}
.cc-field{display:grid;gap:var(--cc-space-2);min-width:0}
.cc-label{font-family:var(--cc-text-small-family);font-size:var(--cc-text-small);font-weight:var(--cc-text-small-weight);line-height:var(--cc-text-small-line);letter-spacing:var(--cc-text-small-tracking);font-weight:600;color:var(--cc-color-text)}
.cc-label-optional{font-weight:400;color:var(--cc-color-text-subtle);margin-left:var(--cc-space-1)}
.cc-help{margin:0;font-size:var(--cc-text-small);line-height:var(--cc-text-small-line);color:var(--cc-color-text-muted)}
.cc-error{display:flex;align-items:flex-start;gap:var(--cc-space-1);margin:0;font-size:var(--cc-text-small);line-height:var(--cc-text-small-line);color:var(--cc-color-danger-fg);font-weight:500}
.cc-error::before{content:"!";flex:none;display:inline-grid;place-items:center;width:1.25em;height:1.25em;margin-top:.1em;border-radius:50%;background:var(--cc-color-danger-solid);color:var(--cc-color-danger-on-solid);font-size:.75em;font-weight:700}
.cc-field-group{display:grid;gap:var(--cc-space-4);margin:0;padding:0;border:0;min-width:0}
.cc-field-group>legend{padding:0;margin-bottom:var(--cc-space-3);font-family:var(--cc-text-card-title-family);font-size:var(--cc-text-card-title);font-weight:var(--cc-text-card-title-weight);line-height:var(--cc-text-card-title-line);letter-spacing:var(--cc-text-card-title-tracking);color:var(--cc-color-text)}
.cc-field-row{display:grid;gap:var(--cc-space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.cc-input,.cc-select,.cc-textarea{display:block;width:100%;min-height:var(--cc-control-height);padding:0 var(--cc-control-padding-x);
  border:var(--cc-border-width) solid var(--cc-color-border-control);border-radius:var(--cc-radius-sm);background:var(--cc-color-surface);
  color:var(--cc-color-text);font:inherit;font-size:var(--cc-text-body);line-height:1.4;
  transition:border-color var(--cc-motion-duration-fast) var(--cc-motion-ease-standard),box-shadow var(--cc-motion-duration-fast) var(--cc-motion-ease-standard)}
.cc-input,.cc-select{height:var(--cc-control-height)}
.cc-textarea{padding:var(--cc-space-3) var(--cc-control-padding-x);min-height:calc(var(--cc-control-height) * 2.5);resize:vertical;line-height:var(--cc-text-body-line)}
.cc-select{appearance:none;padding-right:calc(var(--cc-control-padding-x) + 24px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23465371' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--cc-space-3) center;background-size:18px}
.cc-input::placeholder,.cc-textarea::placeholder{color:var(--cc-color-text-subtle);opacity:1}
.cc-input:hover,.cc-select:hover,.cc-textarea:hover{border-color:var(--cc-color-text-subtle)}
.cc-input:focus-visible,.cc-select:focus-visible,.cc-textarea:focus-visible{outline:var(--cc-focus-width) solid var(--cc-color-focus);outline-offset:var(--cc-focus-offset);box-shadow:0 0 0 var(--cc-focus-offset) var(--cc-color-focus-inner);border-color:var(--cc-color-accent)}
.cc-input[aria-invalid="true"],.cc-select[aria-invalid="true"],.cc-textarea[aria-invalid="true"]{border-color:var(--cc-color-danger-border);box-shadow:inset 0 0 0 1px var(--cc-color-danger-border)}
.cc-input:disabled,.cc-select:disabled,.cc-textarea:disabled{background:var(--cc-color-surface-disabled);color:var(--cc-color-text-disabled);border-color:var(--cc-color-border);cursor:not-allowed}
.cc-input[readonly]{background:var(--cc-color-surface-sunken);border-color:var(--cc-color-border)}
.cc-check{display:inline-flex;align-items:flex-start;gap:var(--cc-space-3);font-size:var(--cc-text-body);line-height:var(--cc-text-body-line);color:var(--cc-color-text);cursor:pointer}
.cc-check input{appearance:none;flex:none;width:18px;height:18px;margin:calc((1em * var(--cc-text-body-line) - 18px) / 2) 0 0;border:var(--cc-border-width) solid var(--cc-color-border-control);border-radius:var(--cc-radius-xs);background:var(--cc-color-surface) center/14px no-repeat;cursor:pointer;transition:background-color var(--cc-motion-duration-fast) var(--cc-motion-ease-standard)}
.cc-check input[type="radio"]{border-radius:50%}
.cc-check input:checked{background-color:var(--cc-color-accent);border-color:var(--cc-color-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E")}
.cc-check input[type="radio"]:checked{background-image:radial-gradient(circle,var(--cc-color-text-on-accent) 0 3px,transparent 3.5px)}
.cc-check input:focus-visible{outline:var(--cc-focus-width) solid var(--cc-color-focus);outline-offset:var(--cc-focus-offset);box-shadow:0 0 0 var(--cc-focus-offset) var(--cc-color-focus-inner);}
.cc-check input:disabled{background-color:var(--cc-color-surface-disabled);border-color:var(--cc-color-border);cursor:not-allowed}
.cc-form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--cc-space-3);padding-top:var(--cc-space-2)}
/* Tables */
.cc-table-scroll,.cc-table,.cc-table *,.cc-table-footer,.cc-pagination *{box-sizing:border-box}
.cc-table-scroll{overflow:auto;border:var(--cc-border-width) solid var(--cc-color-border);border-radius:var(--cc-radius-lg);background:var(--cc-color-surface);max-width:100%}
.cc-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--cc-text-body);line-height:var(--cc-text-body-line);color:var(--cc-color-text);font-variant-numeric:tabular-nums}
.cc-table caption{text-align:left;padding:var(--cc-space-3) var(--cc-table-cell-padding-x);font-family:var(--cc-text-card-title-family);font-size:var(--cc-text-card-title);font-weight:var(--cc-text-card-title-weight);line-height:var(--cc-text-card-title-line);letter-spacing:var(--cc-text-card-title-tracking);caption-side:top}
.cc-table th,.cc-table td{height:var(--cc-table-row-height);padding:var(--cc-space-1) var(--cc-table-cell-padding-x);border-bottom:var(--cc-border-width) solid var(--cc-color-border-subtle);text-align:left;vertical-align:middle}
.cc-table thead th{height:calc(var(--cc-table-row-height) - var(--cc-space-2));background:var(--cc-color-surface-sunken);color:var(--cc-color-text-muted);font-family:var(--cc-text-caption-family);font-size:var(--cc-text-caption);font-weight:var(--cc-text-caption-weight);line-height:var(--cc-text-caption-line);letter-spacing:var(--cc-text-caption-tracking);font-weight:600;white-space:nowrap;border-bottom-color:var(--cc-color-border)}
.cc-table td{white-space:nowrap}
.cc-table td.cc-wrap,.cc-table .cc-wrap{white-space:normal;min-width:200px}
.cc-table tbody tr{transition:background-color var(--cc-motion-duration-fast) var(--cc-motion-ease-standard)}
.cc-table tbody tr:hover{background:var(--cc-color-surface-hover)}
.cc-table tbody tr[aria-selected="true"]{background:var(--cc-color-surface-selected);box-shadow:inset 3px 0 0 var(--cc-color-accent)}
.cc-table tbody tr:last-child>*{border-bottom:0}
.cc-table tbody tr:focus-visible{outline:var(--cc-focus-width) solid var(--cc-color-focus);outline-offset:var(--cc-focus-offset);box-shadow:0 0 0 var(--cc-focus-offset) var(--cc-color-focus-inner);outline-offset:-2px}
.cc-table .cc-num,.cc-table [data-numeric]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cc-table .cc-cell-primary{font-weight:600;color:var(--cc-color-text)}
.cc-table .cc-cell-secondary{display:block;color:var(--cc-color-text-subtle);font-size:var(--cc-text-small);line-height:var(--cc-text-small-line)}
.cc-table .cc-cell-actions{text-align:right;white-space:nowrap;width:1%}
.cc-table .cc-cell-check{width:1%;padding-right:0}
.cc-table a{color:inherit;text-decoration:none}
.cc-table a:hover{color:var(--cc-color-text-link);text-decoration:underline}
.cc-table a:focus-visible{outline:var(--cc-focus-width) solid var(--cc-color-focus);outline-offset:var(--cc-focus-offset);box-shadow:0 0 0 var(--cc-focus-offset) var(--cc-color-focus-inner);}
.cc-table th[aria-sort] button,.cc-sort{all:unset;display:inline-flex;align-items:center;gap:var(--cc-space-1);cursor:pointer;border-radius:var(--cc-radius-xs)}
.cc-table th[aria-sort] button:focus-visible,.cc-sort:focus-visible{outline:var(--cc-focus-width) solid var(--cc-color-focus);outline-offset:var(--cc-focus-offset);box-shadow:0 0 0 var(--cc-focus-offset) var(--cc-color-focus-inner);}
.cc-table th[aria-sort="ascending"],.cc-table th[aria-sort="descending"]{color:var(--cc-color-text)}
.cc-table--compact th,.cc-table--compact td{height:calc(var(--cc-table-row-height) - var(--cc-space-2))}
.cc-table--comfortable th,.cc-table--comfortable td{height:calc(var(--cc-table-row-height) + var(--cc-space-3))}
.cc-table--sticky thead th{position:sticky;top:0;z-index:var(--cc-z-sticky)}
.cc-table-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--cc-space-3);flex-wrap:wrap;padding:var(--cc-space-3) var(--cc-table-cell-padding-x);border-top:var(--cc-border-width) solid var(--cc-color-border);color:var(--cc-color-text-muted);font-size:var(--cc-text-small)}
.cc-pagination{display:flex;align-items:center;gap:var(--cc-space-1)}
.cc-pagination button{all:unset;box-sizing:border-box;display:inline-grid;place-items:center;min-width:var(--cc-control-height-sm);height:var(--cc-control-height-sm);padding:0 var(--cc-space-2);border-radius:var(--cc-radius-sm);color:var(--cc-color-text-muted);font-size:var(--cc-text-small);cursor:pointer;font-variant-numeric:tabular-nums}
.cc-pagination button:hover{background:var(--cc-color-surface-hover);color:var(--cc-color-text)}
.cc-pagination button[aria-current="page"]{background:var(--cc-color-accent-soft);color:var(--cc-color-accent-soft-fg);font-weight:700}
.cc-pagination button:disabled{color:var(--cc-color-text-disabled);cursor:not-allowed;background:none}
.cc-pagination button:focus-visible{outline:var(--cc-focus-width) solid var(--cc-color-focus);outline-offset:var(--cc-focus-offset);box-shadow:0 0 0 var(--cc-focus-offset) var(--cc-color-focus-inner);}
/* Layout */
.cc-page,.cc-stack,.cc-cluster,.cc-grid,.cc-record-layout,.cc-record-grid{box-sizing:border-box}
.cc-page{display:grid;gap:var(--cc-page-gap);align-content:start;width:100%;max-width:var(--cc-layout-max);margin-inline:auto;padding:var(--cc-page-gap) var(--cc-page-gutter);min-width:0}
.cc-page--content{max-width:calc(var(--cc-layout-content) + var(--cc-page-gutter) * 2)}
.cc-page--narrow{max-width:calc(var(--cc-layout-narrow) + var(--cc-page-gutter) * 2)}
.cc-stack{display:flex;flex-direction:column;gap:var(--cc-stack-gap,var(--cc-space-4));min-width:0}
.cc-stack--1{--cc-stack-gap:var(--cc-space-1)}
.cc-stack--2{--cc-stack-gap:var(--cc-space-2)}
.cc-stack--3{--cc-stack-gap:var(--cc-space-3)}
.cc-stack--6{--cc-stack-gap:var(--cc-space-6)}
.cc-stack--8{--cc-stack-gap:var(--cc-space-8)}
.cc-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cc-cluster-gap,var(--cc-space-2));min-width:0}
.cc-cluster--between{justify-content:space-between}
.cc-cluster--end{justify-content:flex-end}
.cc-grid{display:grid;gap:var(--cc-grid-gap,var(--cc-section-gap));grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--cc-grid-min,240px)),1fr));min-width:0}
.cc-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.cc-grid--kpi{--cc-grid-min:200px;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--cc-grid-min)),1fr))}
.cc-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.cc-divider{border:0;border-top:var(--cc-border-width) solid var(--cc-color-border);margin:0}
.cc-record-layout{container:cc-record/inline-size;min-width:0}
.cc-record-grid{display:grid;grid-template-columns:var(--cc-record-info-width) minmax(0,1fr) var(--cc-record-relations-width);gap:var(--cc-section-gap);align-items:start}
.cc-record-grid>*{min-width:0}
@container cc-record (max-width:999px){.cc-record-grid{grid-template-columns:var(--cc-record-info-width) minmax(0,1fr)}
.cc-record-grid>.cc-record-relations{grid-column:1/-1}
}
@container cc-record (max-width:719px){.cc-record-grid{grid-template-columns:minmax(0,1fr)}
}
/* Components */
.cc-brand{display:inline-flex;align-items:center;gap:9px;color:var(--cc-color-text);font-family:var(--cc-font-heading);font-size:1.375rem;font-weight:700;letter-spacing:-0.06em;line-height:1;text-decoration:none}
.cc-brand img,.cc-brand svg{width:32px;height:32px;flex:none}
.cc-brand:hover{text-decoration:none;color:var(--cc-color-text)}
.cc-site-header{position:sticky;top:0;z-index:var(--cc-z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--cc-space-6);padding:18px var(--cc-page-gutter);background:var(--cc-color-surface);border-bottom:1px solid var(--cc-color-border-subtle);box-shadow:0 5px 24px rgb(23 36 72 / 0.03)}
.cc-card{display:flex;flex-direction:column;gap:var(--cc-space-4);padding:var(--cc-card-padding);background:var(--cc-color-surface-raised);border:1px solid var(--cc-color-border);border-radius:var(--cc-radius-lg);box-shadow:var(--cc-shadow-1);min-width:0}
.cc-card--raised{box-shadow:var(--cc-shadow-2)}
.cc-card--muted{background:var(--cc-color-surface-sunken);box-shadow:none;border-color:var(--cc-color-border-subtle)}
.cc-card--interactive{transition:border-color var(--cc-motion-duration-base) var(--cc-motion-ease-standard),background-color var(--cc-motion-duration-base) var(--cc-motion-ease-standard)}
.cc-card--interactive:hover{background:var(--cc-color-canvas);border-color:var(--cc-color-accent-line)}
.cc-card--selected{border-color:var(--cc-color-accent);box-shadow:0 0 0 1px var(--cc-color-accent),var(--cc-shadow-1)}
.cc-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--cc-space-3)}
.cc-card__title{font-family:var(--cc-text-card-title-family);font-size:var(--cc-text-card-title);font-weight:var(--cc-text-card-title-weight);line-height:var(--cc-text-card-title-line);letter-spacing:var(--cc-text-card-title-tracking);margin:0}
.cc-card__subtitle{margin:2px 0 0;font-size:var(--cc-text-small);line-height:var(--cc-text-small-line);color:var(--cc-color-text-muted)}
.cc-card__footer{display:flex;align-items:center;gap:var(--cc-space-3);padding-top:var(--cc-space-4);border-top:1px solid var(--cc-color-border-subtle)}
.cc-badge{display:inline-flex;align-items:center;gap:6px;padding:2px var(--cc-space-2);border-radius:var(--cc-radius-xs);background:var(--cc-color-neutral-bg);color:var(--cc-color-neutral-fg);font-size:var(--cc-text-small);line-height:var(--cc-text-small-line);font-weight:600;white-space:nowrap}
.cc-badge--success{background:var(--cc-color-success-bg);color:var(--cc-color-success-fg)}
.cc-badge--warning{background:var(--cc-color-warning-bg);color:var(--cc-color-warning-fg)}
.cc-badge--danger{background:var(--cc-color-danger-bg);color:var(--cc-color-danger-fg)}
.cc-badge--info{background:var(--cc-color-info-bg);color:var(--cc-color-info-fg)}
.cc-badge--accent{background:var(--cc-color-accent-soft);color:var(--cc-color-accent-soft-fg)}
.cc-badge--dot::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.cc-callout{--_fg:var(--cc-color-info-fg);--_bg:var(--cc-color-info-bg);--_border:var(--cc-color-info-border);display:flex;gap:var(--cc-space-3);align-items:flex-start;padding:var(--cc-space-3) var(--cc-space-4);border:1px solid var(--_border);border-left-width:3px;border-radius:var(--cc-radius-md);background:var(--_bg);color:var(--cc-color-text);font-size:var(--cc-text-small);line-height:var(--cc-text-small-line)}
.cc-callout--success{--_fg:var(--cc-color-success-fg);--_bg:var(--cc-color-success-bg);--_border:var(--cc-color-success-border)}
.cc-callout--warning{--_fg:var(--cc-color-warning-fg);--_bg:var(--cc-color-warning-bg);--_border:var(--cc-color-warning-border)}
.cc-callout--danger{--_fg:var(--cc-color-danger-fg);--_bg:var(--cc-color-danger-bg);--_border:var(--cc-color-danger-border)}
.cc-callout__icon{flex:none;width:20px;height:20px;color:var(--_fg);fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.cc-callout__title{display:block;font-weight:600;color:var(--_fg)}
.cc-callout__body{margin:2px 0 0}
.cc-callout__actions{display:flex;flex-wrap:wrap;gap:var(--cc-space-2);margin-top:var(--cc-space-3)}
.cc-stepper{display:flex;gap:var(--cc-space-3);margin:0;padding:0;list-style:none;counter-reset:cc-step}
.cc-stepper>li{flex:1 1 0;min-width:0;padding-right:var(--cc-space-2);display:flex;gap:var(--cc-space-2);align-items:center;padding-top:var(--cc-space-3);border-top:2px solid var(--cc-color-border);color:var(--cc-color-text-subtle);font-size:var(--cc-text-small);font-weight:600;counter-increment:cc-step}
.cc-stepper>li::before{content:counter(cc-step);flex:none;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--cc-color-border-strong);background:var(--cc-color-surface);color:var(--cc-color-text-muted);font-size:var(--cc-text-caption);font-weight:700}
.cc-stepper>li[data-state="complete"]{border-top-color:var(--cc-color-accent);color:var(--cc-color-text)}
.cc-stepper>li[data-state="complete"]::before{content:"✓";background:var(--cc-color-accent);border-color:var(--cc-color-accent);color:var(--cc-color-text-on-accent)}
.cc-stepper>li[aria-current="step"]{border-top-color:var(--cc-color-accent);color:var(--cc-color-text)}
.cc-stepper>li[aria-current="step"]::before{border:2px solid var(--cc-color-accent);color:var(--cc-color-accent);box-shadow:0 0 0 4px var(--cc-color-accent-soft)}
.cc-stepper>li[data-state="error"]{border-top-color:var(--cc-color-danger-border);color:var(--cc-color-danger-fg)}
.cc-stepper>li[data-state="error"]::before{content:"!";background:var(--cc-color-danger-bg);border-color:var(--cc-color-danger-border);color:var(--cc-color-danger-fg)}
.cc-stepper--vertical{flex-direction:column;gap:0}
.cc-stepper--vertical>li{border-top:0;padding:0 0 var(--cc-space-5)}
@media (max-width:560px){.cc-stepper:not(.cc-stepper--vertical)>li{font-size:0;gap:0}
.cc-stepper:not(.cc-stepper--vertical)>li[aria-current="step"]{font-size:var(--cc-text-caption);gap:var(--cc-space-2)}
}
.cc-auth{min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;background:var(--cc-color-canvas)}
.cc-auth__header{display:flex;align-items:center;justify-content:space-between;gap:var(--cc-space-4);padding:var(--cc-space-6) var(--cc-page-gutter)}
.cc-auth__main{display:grid;place-items:start center;padding:var(--cc-space-6) var(--cc-space-4) var(--cc-space-16)}
.cc-auth__card{width:100%;max-width:var(--cc-layout-auth);display:grid;gap:var(--cc-space-6);padding:var(--cc-space-10) var(--cc-space-8);background:var(--cc-color-surface);border:1px solid var(--cc-color-border);border-radius:var(--cc-radius-xl);box-shadow:var(--cc-shadow-3)}
.cc-auth__card--wide{max-width:var(--cc-layout-form)}
.cc-auth__intro{display:grid;gap:var(--cc-space-2);text-align:left}
.cc-auth__title{font-family:var(--cc-text-page-title-family);font-size:var(--cc-text-page-title);font-weight:var(--cc-text-page-title-weight);line-height:var(--cc-text-page-title-line);letter-spacing:var(--cc-text-page-title-tracking);font-size:1.75rem;margin:0}
.cc-auth__divider{display:flex;align-items:center;gap:var(--cc-space-3);color:var(--cc-color-text-subtle);font-size:var(--cc-text-caption)}
.cc-auth__divider::before,.cc-auth__divider::after{content:"";flex:1;border-top:1px solid var(--cc-color-border)}
.cc-auth__footer{padding:var(--cc-space-6) var(--cc-page-gutter);text-align:center;color:var(--cc-color-text-subtle);font-size:var(--cc-text-caption)}
.cc-auth__aside{text-align:center;font-size:var(--cc-text-small);color:var(--cc-color-text-muted)}
.cc-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100dvh}
.cc-split__panel{display:flex;flex-direction:column;justify-content:center;padding:var(--cc-space-16) var(--cc-page-gutter);background:var(--cc-color-canvas)}
@media (max-width:900px){.cc-split{grid-template-columns:1fr}
.cc-split__panel{display:none}
}
@media (max-width:560px){.cc-auth__card{padding:var(--cc-space-8) var(--cc-space-5);border-radius:var(--cc-radius-lg)}
:root,.cc-theme-web{--cc-page-gutter:16px}
}
