/* Public website only. Loaded before legacy layers to resolve conflicting !important rules.
   Do not attach data-website-ui to authenticated or shared brand portals. */
@layer website-ui {
body[data-website-ui] {
 --web-body:16px;--web-small:12px;--web-control:14px;
 --web-dialog-title:24px;--web-dialog-subtitle:16px;
 --web-surface:var(--surface-raised,#fff);--web-soft:var(--surface-soft,#f2f1ee);
 --web-ink:var(--text,#111);--web-muted:#555;--web-line:#d4d2c9;
 --web-focus:var(--focus,#835c00);--web-radius:16px;
}
html[data-theme="dark"] body[data-website-ui] {
 --web-surface:#212121;--web-soft:#303030;--web-ink:#ececec;--web-muted:#bdbdbd;--web-line:#555;
 --web-focus:#e6f590;
}
/* Body copy and helper text have separate roles. Hero and section heading sizes are preserved. */
body[data-website-ui] :is(.field-hint,.form-hint,.form-help,.help-text,.form-note,.reset-hint,.signup-terms,.contact-note,.code-help,.code-restart,.login-support,.login-register,#signup-price,#signup-payment-note,#contact-status,#contact-error,#auth-status,#login-status,#signup-session,#form-error,#demo-status),
body[data-website-ui] :is(.field-hint,.signup-terms,.login-support,.login-register,.code-help,.code-restart) :is(a,span,strong,small) {
 font-size:var(--web-small)!important;line-height:1.5!important;font-weight:400!important;
}
body[data-website-ui] :is(.login-subtitle,.login-tagline,#demo-description) {font-size:var(--web-body)!important;line-height:1.6!important;}
body[data-website-ui] :is(.login-fields h1,#demo-title) {font-size:34px!important;font-weight:500!important;line-height:1.15!important;letter-spacing:-.7px!important;}
/* Keep numeric pricing hierarchy intact on mobile, where generic p/span rules previously won. */
body[data-website-ui] :is(.workspace-plan-price,.plan-price,.order-price) {font-size:32px!important;line-height:1.2!important;font-weight:500!important;font-variant-numeric:tabular-nums;}
body[data-website-ui] :is(.workspace-plan-price,.plan-price,.order-price) :is(span,small) {font-size:14px!important;line-height:1.5!important;font-weight:400!important;}
body[data-website-ui] .workspace-plan-cycle {font-size:var(--web-small)!important;line-height:1.5!important;}
body[data-website-ui] .billing-period .billing-saving {margin:0!important;}
/* Consistent editable fields; checkboxes, consent switches and icon buttons stay independent. */
body[data-website-ui] form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=file]),select,textarea) {
 box-sizing:border-box!important;max-width:100%;min-width:0;min-height:48px!important;
 padding:12px 15px!important;border:1px solid var(--web-line)!important;border-radius:8px!important;
 background:var(--web-soft)!important;color:var(--web-ink)!important;font-size:16px!important;
 line-height:1.5!important;box-shadow:none!important;
}
body[data-website-ui] form .password-control input {padding-right:52px!important;}
body[data-website-ui] form textarea {min-height:144px!important;resize:vertical;}
body[data-website-ui] form :is(input,select,textarea):hover:not(:disabled) {border-color:var(--web-muted)!important;}
body[data-website-ui] form :is(input,select,textarea):focus-visible {outline:2px solid var(--web-focus)!important;outline-offset:3px!important;}
body[data-website-ui] form :is(input,textarea)::placeholder {color:var(--web-muted)!important;opacity:1;}
body[data-website-ui] form :is(input,select,textarea)[aria-invalid=true] {border-color:#b85e48!important;}
body[data-website-ui] form :is(.field-row,.signup-options)>* {min-width:0;}
/* Submit actions and navigation retain the existing shared control scale. */
body[data-website-ui] :is(.site-header nav a,.site-header nav button) {font-size:14px!important;line-height:1.4!important;}
body[data-website-ui] form :is(button[type=submit],.login-submit) {
 min-height:44px!important;padding:10px 16px!important;border-radius:var(--web-radius)!important;
 font-size:var(--web-control)!important;font-weight:500!important;line-height:22px!important;
}
body[data-website-ui] form :is(button[type=submit],.login-submit):disabled {cursor:not-allowed;opacity:.6;}
/* All public modal families share sizing, type and controls, including dynamic success dialogs. */
body[data-website-ui] dialog {
 box-sizing:border-box!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 32px)!important;
 border:1px solid var(--web-line)!important;border-radius:var(--web-radius)!important;
 background:var(--web-surface)!important;color:var(--web-ink)!important;overflow:auto!important;
}
body[data-website-ui] dialog::backdrop {background:rgb(0 0 0 / .5);}
body[data-website-ui] :is(.demo-success-dialog,.contact-success-dialog) {padding:32px!important;}
body[data-website-ui] dialog :is(h1,h2) {font-size:var(--web-dialog-title)!important;line-height:1.25!important;font-weight:500!important;letter-spacing:-.35px!important;color:var(--web-ink)!important;margin:0 0 16px!important;}
body[data-website-ui] dialog h3 {font-size:var(--web-dialog-subtitle)!important;line-height:1.4!important;font-weight:500!important;color:var(--web-ink)!important;margin:24px 0 12px!important;}
body[data-website-ui] dialog :is(p,dt,dd,li) {font-size:14px!important;line-height:1.6!important;color:var(--web-muted)!important;}
body[data-website-ui] dialog :is(p,dt,dd,li) :is(a,span,strong,small) {font-size:inherit!important;line-height:inherit!important;color:inherit!important;}
body[data-website-ui] dialog :is(button,a.btn):not(.popup-close-icon):not(.cookie-consent-close) {
 min-height:44px!important;padding:10px 16px!important;font-size:14px!important;line-height:22px!important;font-weight:500!important;
 border-radius:var(--web-radius)!important;white-space:normal!important;
}
body[data-website-ui] :is(.demo-success-dialog,.contact-success-dialog) :is(button,a.btn):not(.popup-close-icon),
body[data-website-ui] .cookie-consent-panel button:not(.cookie-consent-close):not([data-cookie-decline]) {
 background:var(--web-ink)!important;color:var(--web-surface)!important;border-color:var(--web-ink)!important;
}
body[data-website-ui] .cookie-consent-panel button[data-cookie-decline] {background:transparent!important;color:var(--web-ink)!important;border-color:var(--web-ink)!important;}
body[data-website-ui] dialog :is(button,a.btn):hover:not(:disabled):not(.popup-close-icon):not(.cookie-consent-close) {opacity:.85;}
body[data-website-ui] dialog :is(button,a):focus-visible {outline:2px solid var(--web-focus)!important;outline-offset:3px!important;}
body[data-website-ui] dialog :is(.popup-close-icon,.cookie-consent-close) {background:transparent!important;color:var(--web-ink)!important;border:0!important;border-radius:0!important;}
body[data-website-ui] :is(.cookie-dialog-header,.cookie-consent-copy,.cookie-consent-actions) {padding:24px!important;background:var(--web-surface)!important;border-color:var(--web-line)!important;}
body[data-website-ui] :is(.cookie-categories,.cookie-category,.cookie-performance-row) {border-color:var(--web-line)!important;}
body[data-website-ui] .cookie-category summary {color:var(--web-ink)!important;font-size:14px!important;line-height:1.4!important;}
body[data-website-ui] .cookie-consent-panel .cookie-consent-status {font-size:var(--web-small)!important;}
body[data-website-ui] .cookie-consent-actions {gap:12px!important;}
body[data-website-ui] .cookie-dialog-brand {color:var(--web-ink)!important;}
@media(max-width:640px) {
 body[data-website-ui] {--web-body:13px;--web-dialog-title:22px;}
 body[data-website-ui] :is(.demo-success-dialog,.contact-success-dialog) {padding:24px!important;}
 body[data-website-ui] :is(.cookie-dialog-header,.cookie-consent-copy,.cookie-consent-actions) {padding:20px!important;}
}
@media(max-width:380px) {body[data-website-ui] .cookie-consent-actions {grid-template-columns:1fr!important;}}
@media(prefers-reduced-motion:reduce) {body[data-website-ui] dialog {animation:none!important;}}
}

@layer website-ui {
body[data-website-ui] .cookie-consent-panel .cookie-consent-close,
body[data-website-ui] .cookie-consent-panel .cookie-consent-close:is(:hover,:active,:focus,:focus-visible) {
 border:0!important;box-shadow:none!important;outline:none!important;background:transparent!important;
}
/* Keep a round keyboard focus indicator without a square button boundary. */
body[data-website-ui] .cookie-consent-panel .cookie-consent-close:focus-visible svg {
 border-radius:50%;outline:2px solid var(--web-focus);outline-offset:4px;
}
body[data-website-ui] #cookie-consent-title:focus {outline:none!important;}
}


/* CookieYes FREE-plan banner typography. Only CookieYes elements; no consent logic changes.
   Unlayered on purpose: overrides third-party defaults and this file's @layer rules. */
html body .cky-consent-container .cky-title,
html body .cky-consent-container .cky-consent-title{font-size:15px!important;line-height:1.35!important}
html body .cky-consent-container .cky-notice-des,
html body .cky-consent-container .cky-notice-des *,
html body .cky-consent-container .cky-notice-des p,
html body .cky-consent-container .cky-notice-des a{font-size:13px!important;line-height:1.5!important}
html body .cky-consent-container .cky-btn,
html body .cky-consent-container .cky-btn *{font-size:12px!important;line-height:1.4!important}
html body .cky-preference-center .cky-preference-title,
html body .cky-preference-center .cky-preference-header .cky-preference-title{font-size:15px!important}
html body .cky-preference-center :is(.cky-preference-content-wrapper,.cky-preference-body-wrapper,.cky-accordion-wrapper,.cky-accordion-btn,.cky-accordion-header,.cky-accordion-body,.cky-accordion-header-des,.cky-accordion-header-des *, .cky-preference-content-wrapper p){font-size:12px!important;line-height:1.5!important}
@media(max-width:640px){
 html body .cky-consent-container .cky-title,
 html body .cky-consent-container .cky-consent-title{font-size:14px!important}
 html body .cky-consent-container .cky-notice-des,
 html body .cky-consent-container .cky-notice-des *{font-size:12px!important;line-height:1.5!important}
}
