/* CredTech shared components. Host scope avoids replacing a product's page composition. */
.ct-ui{--font:var(--ct-font-body);--heading:var(--ct-font-heading);--lime:var(--ct-color-lime);--surface:var(--ct-color-surface);color:var(--ct-color-text);font-family:var(--ct-font-body);font-synthesis:none;color-scheme:dark}
.ct-ui *, .ct-ui *::before,.ct-ui *::after{box-sizing:border-box}
.ct-ui[data-ct-density="compact"]{--ct-space-content:16px}.ct-ui[data-ct-density="comfortable"]{--ct-space-content:24px}
.ct-ui .ct-heading,.ct-ui .ct-back-title{font-family:var(--ct-font-heading);font-weight:700;line-height:1.12;letter-spacing:-.035em;text-wrap:balance;margin:0 0 16px}
.ct-ui .ct-heading-hero{font-weight:800;font-size:clamp(32px,5.2vw,66px);max-width:15ch}
.ct-ui h1.ct-heading{font-size:clamp(32px,5vw,64px)}.ct-ui h2.ct-heading{font-size:clamp(24px,3vw,36px)}.ct-ui h3.ct-heading{font-size:22px}
.ct-ui .ct-number,.ct-ui [data-ct-number],.ct-ui input,.ct-ui textarea,.ct-ui select,.ct-ui button,.ct-ui svg text{font-family:var(--ct-font-body)!important;font-variant-numeric:tabular-nums}
.ct-ui span.ct-number[data-ct-number]{display:inline!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;color:inherit!important;padding:0!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important}
.ct-ui .ct-label{font:500 13px/1.5 var(--ct-font-body);letter-spacing:.015em;margin:0 0 10px;color:var(--ct-color-secondary-text)}
.ct-ui .ct-caption{font:400 13px/1.65 var(--ct-font-body);color:var(--ct-color-secondary-text);margin:8px 0}
.ct-ui .ct-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;min-width:44px;padding:11px 18px;border:1px solid var(--ct-border);border-radius:var(--ct-radius-button);font:600 14px/1.35 var(--ct-font-body);background:var(--ct-color-surface);color:var(--ct-color-text);cursor:pointer;transition:transform var(--ct-motion-fast),background var(--ct-motion-fast),border-color var(--ct-motion-fast)}
.ct-ui .ct-button:hover:not(:disabled){transform:translateY(-2px);border-color:var(--ct-color-lime)}.ct-ui .ct-button:active:not(:disabled){transform:translateY(0) scale(.985)}
.ct-ui .ct-button-primary{background:var(--ct-color-lime);border-color:var(--ct-color-lime);color:var(--ct-color-bg)}.ct-ui .ct-button-quiet{background:transparent;border-color:transparent}.ct-ui .ct-button-danger{color:var(--ct-color-danger)}
.ct-ui .ct-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.ct-ui :focus-visible{outline:2px solid var(--ct-color-lime);outline-offset:4px}
.ct-ui .ct-icon{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:inherit}
.ct-ui .ct-brand{display:inline-flex;align-items:center;gap:12px;font:600 20px var(--ct-font-body);letter-spacing:-.6px}.ct-ui .ct-brand .ct-icon{width:27px;height:27px;stroke:none}
.ct-ui .ct-surface{padding:var(--ct-space-content,24px);border:1px solid var(--ct-border);border-top-color:var(--ct-border-highlight);border-radius:var(--ct-radius-panel);background:var(--ct-color-surface);box-shadow:var(--ct-shadow-panel)}
.ct-ui .ct-surface[data-ct-material="glass"]{background:var(--ct-glass-fill);backdrop-filter:blur(var(--ct-glass-blur)) saturate(1.15);-webkit-backdrop-filter:blur(var(--ct-glass-blur)) saturate(1.15)}
.ct-ui .ct-surface[data-ct-material="terra"]{background:var(--ct-color-terra);color:var(--ct-color-areia);border-color:#ede4d33d}.ct-ui .ct-surface[data-ct-material="terra"] .ct-caption,.ct-ui .ct-surface[data-ct-material="terra"] .ct-label{color:var(--ct-color-areia)}
.ct-ui .ct-surface[data-ct-material="terra"] .ct-heading{color:var(--ct-color-areia)}
.ct-ui .ct-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ct-ui .ct-metric-value{font-family:var(--ct-font-body);font-size:clamp(26px,3vw,38px);line-height:1.15;font-weight:600;letter-spacing:-.035em}
.ct-ui .ct-status{--ct-state-color:var(--ct-color-info);display:inline-flex;align-items:center;gap:8px;color:var(--ct-state-color);font:500 13px/1.5 var(--ct-font-body)}
.ct-ui .ct-status:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:currentColor}.ct-ui [data-ct-state="success"]{--ct-state-color:var(--ct-color-success)}.ct-ui [data-ct-state="warning"],.ct-ui [data-ct-state="pending"]{--ct-state-color:var(--ct-color-warning)}.ct-ui [data-ct-state="danger"]{--ct-state-color:var(--ct-color-danger)}
.ct-ui .ct-dot{position:relative;width:220px;height:220px;display:grid;place-items:center;isolation:isolate}.ct-ui .ct-dot canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:6px;background:transparent}.ct-ui .ct-dot .dot-contact-shadow{display:none!important}
.ct-ui .ct-studio-scene{position:relative;width:100%;min-height:320px;aspect-ratio:900/490}.ct-ui .ct-studio-scene>.scene-svg{width:100%;height:100%;display:block}.ct-ui .ct-studio-dot-stage{position:absolute;inset:0;pointer-events:auto}.ct-ui .ct-studio-dot-stage .ct-dot{position:absolute;left:45%;top:12%;width:27%;height:52%;min-width:110px;min-height:110px}
.ct-ui .ct-deck-area{overflow-x:clip;overflow-y:visible;position:relative}.ct-ui .ct-field{display:grid;gap:8px;margin:12px 0;color:var(--ct-color-text);font:500 13px var(--ct-font-body)}.ct-ui .ct-field input{background:var(--ct-color-bg);border:1px solid var(--ct-border);color:inherit;border-radius:12px;min-height:44px;padding:12px;font:400 15px var(--ct-font-body)}
.ct-ui .ct-task{display:flex;gap:14px;align-items:center;padding:17px 0;border-bottom:1px solid var(--ct-border)}.ct-ui .ct-task:last-child{border-bottom:0}.ct-ui .ct-task .ct-icon{color:var(--ct-color-lime)}.ct-ui .ct-task strong{display:block;font:600 15px var(--ct-font-body)}.ct-ui .ct-task small{font:400 13px var(--ct-font-body);color:var(--ct-color-secondary-text)}
@media(max-width:600px){.ct-ui .ct-heading-hero{font-weight:700}.ct-ui .ct-surface{border-radius:20px}.ct-ui .ct-studio-scene{min-height:250px}.ct-ui .ct-studio-dot-stage .ct-dot{left:43%;top:16%}}
@media(prefers-reduced-motion:reduce){.ct-ui *, .ct-ui *::before,.ct-ui *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ct-ui .ct-button:hover{transform:none}}
.ct-ui .ct-card-copy h3{font-family:var(--ct-font-heading);font-weight:700}
