/*
 * Round 37 — contrast, legal pages, error experience, and cross-page detail polish.
 * This file is intentionally loaded last. It resolves legacy cascade conflicts
 * without replacing the locked SairikLabs visual system.
 */

/* ---------- Reliable color hierarchy ---------- */
:root{
  --polish-page:var(--color-page);
  --polish-surface:var(--color-surface);
  --polish-surface-muted:var(--color-surface-muted);
  --polish-text:var(--color-text);
  --polish-text-secondary:var(--color-text-secondary);
  --polish-text-muted:var(--color-text-tertiary);
  --polish-line:var(--color-border);
  --polish-line-strong:var(--color-rule-2);
  --polish-focus-shadow:0 0 0 3px color-mix(in oklch,var(--color-focus) 22%,transparent);
}

html{background:var(--polish-page)}
body{background:var(--polish-page);color:var(--polish-text)}
::selection{background:var(--color-accent-soft);color:var(--color-ink)}

:where(p,li,dd,td,blockquote){text-wrap:pretty}
:where(.muted,.text-muted,.subtle,.caption,.hint,.description){color:var(--polish-text-muted)}
:where(input,textarea,select){color:var(--polish-text);background-color:var(--polish-surface)}
:where(input,textarea)::placeholder{color:var(--polish-text-muted);opacity:.9}
:where(input,textarea,select):disabled{color:var(--polish-text-muted);opacity:1}
:where(button,.button,[role="button"]):disabled,
:where(button,.button,[role="button"])[aria-disabled="true"]{opacity:.62;cursor:not-allowed;filter:saturate(.65)}

/* Legacy selectors used opacity as the only disabled-state cue. Keep status clear without making labels disappear. */
:where(.field,.public-form-card,.settings-card) :where(input,textarea,select):disabled{
  opacity:1;
  color:var(--polish-text-muted);
  background:var(--color-paper-3);
  -webkit-text-fill-color:var(--polish-text-muted);
}
.oauth-button:disabled,.oauth-button.is-pending-disabled,.contact-form-actions .button:disabled,
.button:is(:disabled,[aria-disabled="true"]){opacity:.68}
.admin-user-actions label.disabled{opacity:.72;color:var(--polish-text-muted)}
.image-tool-tabs a.not-configured,.ui-pagination-arrow.disabled,.pagination a.disabled{opacity:.72}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--color-focus);
  outline-offset:3px;
  box-shadow:var(--polish-focus-shadow);
}

/* ---------- Header, menus, and footer ---------- */
.site-header{
  border-bottom-color:color-mix(in oklch,var(--polish-line) 82%,transparent);
  background:color-mix(in oklch,var(--color-paper-2) 91%,transparent);
}
.site-header.scrolled{
  border-bottom-color:var(--polish-line);
  background:color-mix(in oklch,var(--color-paper-2) 97%,transparent);
  box-shadow:0 8px 28px color-mix(in oklch,var(--color-ink) 6%,transparent);
}
.desktop-nav>a,.nav-menu-trigger{color:var(--polish-text-secondary);font-weight:600}
.desktop-nav>a[aria-current="page"]{background:var(--color-accent-soft);color:var(--color-accent-hover)}
.desktop-nav>a[aria-current="page"]::after{display:none}
.nav-menu-trigger .chevron{opacity:.78}
.nav-dropdown{
  border-color:var(--polish-line-strong);
  background:var(--polish-surface);
  box-shadow:0 24px 64px color-mix(in oklch,var(--color-ink) 14%,transparent);
}
.mega-menu-group h3{color:var(--polish-text-muted);font-weight:750;letter-spacing:.09em}
.mega-menu-group a{color:var(--polish-text)}
.mega-menu-group a small,.mega-menu-feature-copy span,.mega-menu-footer span{color:var(--polish-text-muted)}
.mega-menu-feature{border-color:var(--polish-line);background:var(--color-paper-2)}
.mega-menu-feature-copy small{color:var(--color-accent-hover)}
.mega-menu-footer{border-top-color:var(--polish-line);background:var(--color-paper-2)}
.mega-menu-footer a{color:var(--color-accent-hover);font-weight:750}
.locale-menu-panel,.account-menu-panel,.credit-quick-panel{border-color:var(--polish-line-strong);background:var(--polish-surface)}
.locale-menu-panel a.active{background:var(--color-accent-soft);color:var(--color-accent-hover)}
.mobile-nav{background:var(--polish-surface)}
.mobile-main-link,.mobile-nav-group>summary{color:var(--polish-text-secondary)}
.mobile-submenu a small{color:var(--polish-text-muted)}

.site-footer{background:var(--color-ink);color:var(--color-on-dark)}
.site-footer :where(p,a,small,.footer-bottom,.footer-address){color:var(--color-on-dark-muted)}
.site-footer a:hover,.site-footer button:hover{color:var(--color-paper)}
.site-footer h4{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.footer-brand-block>p:first-of-type{max-width:34ch;color:var(--color-paper)}
.footer-address{line-height:1.75}
.footer-bottom{border-top-color:color-mix(in oklch,var(--color-paper) 18%,transparent)}
.footer-cookie-settings{color:var(--color-on-dark-muted)}

/* ---------- General page and card refinement ---------- */
:where(.original-hero,.pricing-page,.public-info-page,.policies-page,.legal-page){background:var(--polish-page)}
.original-hero{border-bottom:1px solid var(--polish-line);background:linear-gradient(180deg,var(--color-paper-2),var(--polish-page))}
.original-hero p,.pricing-page-header>p:last-child,.public-info-hero p{color:var(--polish-text-muted)}
.section-kicker,.eyebrow,.legal-kicker,.policy-card-category{color:var(--color-accent-hover)}

:where(.original-feature,.product-list-card,.price-card,.faq-card,.trust-grid article,.public-form-card,.settings-card,.workspace-stat,.recent-job-card,.admin-panel,.admin-data-card,.payment-card){
  border-color:var(--polish-line);
  background:var(--polish-surface);
  box-shadow:0 1px 2px color-mix(in oklch,var(--color-ink) 4%,transparent),0 10px 30px color-mix(in oklch,var(--color-ink) 4%,transparent);
}
:where(.original-feature,.product-list-card,.price-card,.faq-card,.trust-grid article,.settings-card,.workspace-stat,.recent-job-card,.admin-panel,.admin-data-card){
  transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out);
}
:where(.original-feature,.product-list-card,.price-card,.faq-card,.trust-grid article,.settings-card,.workspace-stat,.recent-job-card,.admin-panel,.admin-data-card) p{
  color:var(--polish-text-muted);
}
:where(.original-feature,.product-list-card,.price-card,.faq-card,.trust-grid article,.settings-card,.workspace-stat,.recent-job-card,.admin-panel,.admin-data-card) :where(h2,h3,h4,strong){
  color:var(--polish-text);
}

.button{min-height:44px;border-radius:var(--radius-pill);font-weight:750;box-shadow:none}
.button.outline,.button.ghost{border-color:var(--polish-line-strong);background:var(--polish-surface);color:var(--color-accent-hover)}
.button.danger.outline{color:var(--color-danger)}
.text-link,.policy-inline-links a,.prose a{color:var(--color-link);font-weight:650;text-decoration-thickness:1px;text-underline-offset:3px}

.notice,.form-validation-summary,.field-validation-error,.tool-error,.auth-validation,.workspace-content-warning{
  font-weight:600;
}
.notice.success{color:oklch(38% .11 155)}
.notice.error,.form-validation-summary,.field-validation-error{color:var(--color-danger)}

/* ---------- Form clarity ---------- */
:where(.field,.public-form-card label,.settings-card label,.admin-filter-grid>label,.admin-email-composer>label){color:var(--polish-text-secondary)}
:where(.field>label,.public-form-card label>span,.settings-card label>span,.admin-filter-grid>label>span,.admin-email-composer>label>span){
  color:var(--polish-text-secondary);
  font-weight:700;
}
:where(input,textarea,select){border-color:var(--polish-line-strong)}
:where(input,textarea,select):hover:not(:disabled){border-color:color-mix(in oklch,var(--color-accent) 42%,var(--polish-line-strong))}
:where(input,textarea,select)[aria-invalid="true"]{border-color:var(--color-danger);background:var(--color-danger-soft)}
:where(.field-help,.form-help,.admin-form-help,.auth-help,.settings-card small){color:var(--polish-text-muted)}

/* ---------- Workspace and admin readability ---------- */
.workspace-sidebar,.workspace-main,.dashboard-header{background:var(--polish-surface)}
.workspace-sidebar{border-right-color:var(--polish-line)}
.workspace-nav>small{color:var(--polish-text-muted);font-weight:750;letter-spacing:.08em}
.workspace-nav>a{color:var(--polish-text-secondary)}
.workspace-nav>a.active{background:var(--color-accent-soft);color:var(--color-accent-hover)}
.workspace-account-popover>summary small,.account-menu-panel small{color:var(--polish-text-muted)}
.price-card.is-current-plan{border-color:color-mix(in oklch,var(--color-accent) 45%,var(--polish-line-strong));box-shadow:0 0 0 1px color-mix(in oklch,var(--color-accent) 18%,transparent)}
.price-card .current-plan-label{background:var(--color-accent-soft);color:var(--color-accent-hover)}
.pricing-inline-message{margin:0 0 16px;padding:10px 12px;border:1px solid color-mix(in oklch,var(--color-danger) 28%,var(--polish-line-strong));border-radius:var(--radius-xs);background:color-mix(in oklch,var(--color-danger) 8%,transparent);color:var(--color-danger);font-size:.82rem;line-height:1.45}
.pricing-inline-message.success{border-color:color-mix(in oklch,var(--color-success) 28%,var(--polish-line-strong));background:color-mix(in oklch,var(--color-success) 8%,transparent);color:var(--color-success)}
.pricing-inline-message[hidden]{display:none!important}
#pricing-plans{scroll-margin-top:calc(var(--space-2xl) + var(--space-lg))}
.upgrade-confirm-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:var(--space-lg);background:var(--color-overlay);backdrop-filter:blur(4px)}
.upgrade-confirm-dialog{width:min(500px,100%);padding:var(--space-lg);border:1px solid var(--polish-line-strong);border-radius:var(--radius-dialog);background:var(--polish-surface);box-shadow:var(--shadow-lg)}
.upgrade-submit-status{padding:calc(var(--space-lg) * 1.5) var(--space-md);text-align:center}.upgrade-submit-status h2{margin:0;font-family:var(--font-body);font-size:1rem}.upgrade-submit-status p{margin:10px 0 0;color:var(--polish-text-secondary,var(--muted-foreground));font-size:.82rem;line-height:1.5}
.upgrade-confirm-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.upgrade-confirm-dialog>header h2{margin:0;font-family:var(--font-body);font-size:1rem}
.upgrade-confirm-close{width:var(--control-height);height:var(--control-height);border:0;border-radius:var(--radius-xs);background:transparent;color:var(--polish-text-muted);font-size:1.35rem;line-height:1;cursor:pointer}
.upgrade-confirm-copy,.upgrade-confirm-note{margin:0 0 12px;color:var(--polish-text-secondary,var(--muted-foreground));font-size:.82rem;line-height:1.5}
.upgrade-confirm-facts{display:grid;gap:8px;margin:0 0 12px}
.upgrade-confirm-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--polish-line,var(--border));border-radius:10px;background:var(--color-paper-3,var(--muted))}
.upgrade-confirm-facts dt{margin:0;color:var(--polish-text-muted,var(--muted-foreground));font-size:.75rem}
.upgrade-confirm-facts dd{margin:0;font-size:.95rem;font-weight:750}
.upgrade-confirm-timing{display:grid!important;gap:8px;margin:0 0 10px}
.upgrade-confirm-timing label{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:start;width:100%!important;min-width:0!important;margin:0!important;cursor:pointer;font-size:.9rem;line-height:1.45;text-align:left!important}
.upgrade-confirm-timing input{grid-column:1;grid-row:1;width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;margin:3px 0 0!important}
.upgrade-confirm-timing label span{grid-column:2;min-width:0;overflow-wrap:anywhere}
.upgrade-confirm-timing label.is-unavailable{cursor:not-allowed;color:var(--polish-text-muted,var(--muted-foreground));opacity:.72}
.upgrade-immediate-details{margin:0 0 12px;padding:12px;border:1px solid color-mix(in oklch,var(--color-accent) 32%,var(--polish-line-strong));border-radius:12px;background:color-mix(in oklch,var(--color-accent) 7%,var(--polish-surface,var(--background)))}
.upgrade-immediate-details[hidden]{display:none!important}
.upgrade-immediate-details>p{margin:0 0 8px;font-size:.78rem;font-weight:750}
.upgrade-immediate-details>.upgrade-immediate-policy{color:var(--polish-text-secondary,var(--muted-foreground));font-weight:500;line-height:1.45}
.upgrade-immediate-details dl{display:grid;gap:6px;margin:0}
.upgrade-immediate-details dl>div{display:flex;justify-content:space-between;gap:14px;font-size:.8rem;line-height:1.4}
.upgrade-immediate-details dt{color:var(--polish-text-secondary,var(--muted-foreground))}
.upgrade-immediate-details dd{margin:0;font-weight:700;text-align:right}
.upgrade-immediate-details dd.is-credit{color:var(--color-success)}
.upgrade-immediate-details .upgrade-immediate-total{margin-top:4px;padding-top:8px;border-top:1px solid var(--polish-line,var(--border));font-size:.9rem}
.upgrade-charge-acknowledgement{display:grid!important;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;width:100%;min-width:0;margin-top:12px;cursor:pointer;font-size:.78rem;line-height:1.45}
.upgrade-charge-acknowledgement input{width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important;margin:2px 0 0!important}
.upgrade-confirm-actions .button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}
.upgrade-confirm-actions{display:flex;justify-content:flex-end;gap:8px}
.account-menu-name{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.account-plan-badge{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid var(--polish-line-strong);border-radius:var(--radius-pill);background:var(--color-paper-3);color:var(--polish-text-secondary);font-size:.62rem;font-weight:750;letter-spacing:.02em;line-height:1.2}
.account-plan-badge.is-paid{border-color:color-mix(in oklch,var(--color-accent) 35%,var(--polish-line-strong));background:var(--color-accent-soft);color:var(--color-accent-hover)}
.account-plan-badge.is-free{opacity:.92}
.account-plan-inline{font-style:normal;font-weight:700;color:var(--polish-text-secondary)}
.account-credit-card .account-plan-inline{color:inherit}
.dashboard-header{border-bottom-color:var(--polish-line)}
.dashboard-breadcrumb-parent,.dashboard-breadcrumbs .ui-icon{color:var(--polish-text-muted)}
.dashboard-command-button,.dashboard-credit-button,.locale-pill{border-color:var(--polish-line-strong);color:var(--polish-text-secondary)}
.dashboard-membership-action{display:inline-flex;align-items:center;gap:6px;height:var(--control-height-compact);padding:0 10px;border:1px solid var(--color-accent);border-radius:var(--radius-xs);background:var(--color-accent);color:var(--color-accent-ink);font-size:.72rem;font-weight:700;line-height:1;text-decoration:none;box-shadow:var(--shadow-sm);transition:background-color var(--dur-micro) var(--ease-standard),transform var(--dur-micro) var(--ease-standard)}
.dashboard-membership-action:hover{background:var(--color-accent-hover);color:var(--color-accent-ink);transform:translateY(-1px)}
.dashboard-membership-action:active{transform:translateY(1px)}
.dashboard-membership-action:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.dashboard-membership-action .ui-icon{width:14px;height:14px}
.dashboard-membership-plan{font-weight:600;opacity:.84}
@media(max-width:768px){.dashboard-membership-action{min-width:var(--control-height);height:var(--control-height)}.dashboard-membership-plan{display:none}.auth-back-link{min-width:var(--control-height);min-height:var(--control-height);justify-content:center}.settings-tabs a{display:inline-flex;min-height:var(--control-height);align-items:center}.settings-page .button.small{min-height:var(--control-height)}.settings-page .password-field button,.settings-page .security-password-wrap button{width:var(--control-height);height:var(--control-height)}.settings-page table.is-empty{min-width:0;table-layout:fixed}.settings-page table.is-empty thead{display:none}.settings-page table.is-empty .table-empty{width:100%;padding:var(--space-xl) var(--space-md)!important;white-space:normal}.settings-page table.is-empty .ui-empty-state{max-width:100%;padding-inline:0}}
@media(max-width:520px){.dashboard-membership-action{justify-content:center;width:var(--control-height);padding:0}.dashboard-membership-action strong{display:none}}

.app-heading p,.admin-heading p,.admin-page-heading p,.admin-overview-hero p,.release-hero p{color:var(--polish-text-muted)}
.admin-section-nav a{color:var(--polish-text-secondary)}
.admin-section-nav a.active{background:var(--color-accent-soft);color:var(--color-accent-hover)}
.admin-table th,.growth-table th{background:var(--color-paper-3);color:var(--polish-text-secondary)}
.admin-table td,.growth-table td{color:var(--polish-text-secondary)}
.admin-table td strong,.growth-table td strong{color:var(--polish-text)}
.status-badge.muted,.status.false{color:var(--polish-text-secondary)}
.admin-filter-grid>label>span,.admin-filter-field>span,.admin-facet-trigger span,.admin-facet-option small,
.admin-detail-metrics small,.admin-credit-fact-grid span,.admin-detail-profile-card dt,
.growth-stat-grid small,.growth-source-copy span,.growth-source-metrics span{color:var(--polish-text-muted)}
.admin-detail-profile-card dd,.admin-credit-fact-grid strong,.admin-detail-metrics strong{color:var(--polish-text)}

/* ---------- Legal center and policy documents ---------- */
.policies-page,.legal-page{padding:clamp(3.75rem,7vw,6.5rem) 0 clamp(5rem,9vw,8rem)}
.policies-shell,.legal-shell{display:grid;gap:clamp(2.25rem,5vw,4.5rem)}

.policies-hero{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  align-items:end;
  gap:clamp(2rem,6vw,5rem);
  padding-bottom:clamp(2rem,4vw,3.5rem);
  border-bottom:1px solid var(--polish-line);
}
.policies-hero h1{max-width:13ch;margin:.55rem 0 1rem;font-family:var(--font-display);font-size:clamp(3rem,7vw,6rem);font-weight:500;line-height:.98;letter-spacing:-.045em}
.policies-hero>div>p{max-width:64ch;margin:0;color:var(--polish-text-muted);font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.75}
.policies-contact-card{padding:1.35rem;border:1px solid var(--polish-line);border-radius:var(--radius-card);background:var(--polish-surface);box-shadow:var(--shadow-sm)}
.policies-contact-card>span{display:block;color:var(--polish-text-muted);font-size:.76rem;font-weight:750;text-transform:uppercase;letter-spacing:.07em}
.policies-contact-card>strong{display:block;margin:.45rem 0 .35rem;overflow-wrap:anywhere;font-size:1rem}
.policies-contact-card>p{margin:0;color:var(--polish-text-muted);font-size:.85rem;line-height:1.55}
.policies-contact-card>a{display:inline-flex;align-items:center;gap:.35rem;margin-top:1rem;color:var(--color-accent-hover);font-size:.85rem;font-weight:750}
.policies-contact-card .ui-icon{width:15px;height:15px}

.policies-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--polish-line);border-radius:var(--radius-card);background:var(--polish-surface)}
.policies-summary>div{display:grid;gap:.25rem;padding:1.15rem 1.35rem;border-right:1px solid var(--polish-line)}
.policies-summary>div:last-child{border-right:0}
.policies-summary strong{font-size:1.35rem;font-variant-numeric:tabular-nums}
.policies-summary span{color:var(--polish-text-muted);font-size:.78rem}

.policies-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.policy-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon category category" "icon title arrow" "icon copy copy" "icon link link";align-items:start;gap:.35rem 1rem;padding:1.4rem;border:1px solid var(--polish-line);border-radius:var(--radius-card);background:var(--polish-surface);box-shadow:var(--shadow-sm)}
.policy-card-icon{grid-area:icon;display:grid;width:44px;height:44px;place-items:center;border-radius:13px;background:var(--color-accent-soft);color:var(--color-accent-hover)}
.policy-card-icon .ui-icon{width:20px;height:20px}
.policy-card-category{grid-area:category;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.policy-card>strong{grid-area:title;font-size:1.08rem;line-height:1.35}
.policy-card>p{grid-area:copy;margin:.2rem 0 0;color:var(--polish-text-muted);font-size:.88rem;line-height:1.65}
.policy-card::after{grid-area:arrow;align-self:center;color:var(--polish-text-muted);content:"↗";font-size:1rem}
.policy-card-link{grid-area:link;display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;color:var(--color-accent-hover);font-size:.8rem;font-weight:750}
.policy-card-link .ui-icon{width:14px;height:14px}

.policies-principles{display:grid;gap:1.5rem;padding-top:1rem}
.policies-principles>.legal-section-heading{border-top:1px solid var(--polish-line);padding-top:2.5rem}
.policies-principles>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.policies-principles article{padding:1.25rem;border-left:2px solid var(--color-accent);background:color-mix(in oklch,var(--color-accent-soft) 38%,transparent)}
.policies-principles article strong{font-size:.95rem}
.policies-principles article p{margin:.5rem 0 0;color:var(--polish-text-muted);font-size:.84rem;line-height:1.65}

.legal-shell{max-width:1180px}
.legal-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;color:var(--polish-text-muted);font-size:.78rem}
.legal-breadcrumbs a{color:var(--polish-text-secondary);font-weight:650}
.legal-breadcrumbs a:hover{color:var(--color-accent-hover)}
.legal-breadcrumbs .ui-icon{width:13px;height:13px;opacity:.72}

.legal-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);align-items:end;gap:clamp(2rem,6vw,5rem);padding-bottom:clamp(2rem,4vw,3.5rem);border-bottom:1px solid var(--polish-line)}
.legal-hero-copy h1{max-width:17ch;margin:.65rem 0 1rem;font-family:var(--font-display);font-size:clamp(2.8rem,6vw,5.4rem);font-weight:500;line-height:1;letter-spacing:-.04em}
.legal-hero-copy>p{max-width:62ch;margin:0;color:var(--polish-text-muted);font-size:clamp(1rem,1.6vw,1.16rem);line-height:1.75}
.legal-kicker{font-size:.73rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.legal-meta{display:grid;gap:.85rem;margin:0;padding:1.2rem 1.25rem;border:1px solid var(--polish-line);border-radius:var(--radius-card);background:var(--polish-surface)}
.legal-meta>div{display:grid;grid-template-columns:98px minmax(0,1fr);gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--polish-line)}
.legal-meta>div:last-child{padding-bottom:0;border-bottom:0}
.legal-meta dt{color:var(--polish-text-muted);font-size:.72rem;font-weight:700}
.legal-meta dd{margin:0;overflow-wrap:anywhere;color:var(--polish-text-secondary);font-size:.78rem;font-weight:650;text-align:right}
.legal-meta a{color:var(--color-accent-hover)}

.legal-layout{display:grid;grid-template-columns:220px minmax(0,720px);justify-content:center;align-items:start;gap:clamp(2rem,6vw,5rem)}
.legal-toc{position:sticky;top:104px;display:grid;gap:.8rem;padding:1rem 0;border-top:1px solid var(--polish-line);border-bottom:1px solid var(--polish-line)}
.legal-toc>strong{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}
.legal-toc nav{display:grid;gap:.12rem;max-height:calc(100svh - 170px);overflow:auto}
.legal-toc a{padding:.42rem .55rem;border-left:2px solid transparent;color:var(--polish-text-muted);font-size:.76rem;line-height:1.4}
.legal-toc a.level-3{padding-left:1rem;font-size:.72rem}
.legal-toc a:hover{border-left-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-hover)}
.legal-document{min-width:0}
.legal-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;margin-bottom:2rem;padding:1rem 1.1rem;border:1px solid color-mix(in oklch,var(--color-accent) 28%,var(--polish-line));border-radius:var(--radius-sm);background:color-mix(in oklch,var(--color-accent-soft) 42%,var(--polish-surface))}
.legal-note .ui-icon{width:18px;height:18px;margin-top:.18rem;color:var(--color-accent-hover)}
.legal-note p{margin:0;color:var(--polish-text-secondary);font-size:.82rem;line-height:1.65}
.legal-prose{max-width:none!important;color:var(--polish-text-secondary);font-family:var(--font-body)!important;font-size:1rem;line-height:1.84}
.legal-prose>:first-child{margin-top:0}
.legal-prose h2{margin:2.6rem 0 .8rem;padding-top:.4rem;color:var(--polish-text);font-size:1.45rem;line-height:1.25;letter-spacing:-.015em}
.legal-prose h3{margin:2rem 0 .65rem;color:var(--polish-text);font-size:1.08rem}
.legal-prose p{margin:1rem 0}
.legal-prose ul,.legal-prose ol{padding-left:1.35rem}
.legal-prose li{padding-left:.2rem}
.legal-prose strong{color:var(--polish-text);font-weight:750}
.legal-prose blockquote{border-left-color:var(--color-accent);background:var(--color-paper-2);color:var(--polish-text-secondary)}
.legal-prose .prose-table-wrap{border-color:var(--polish-line-strong)}
.legal-prose th{background:var(--color-paper-3);color:var(--polish-text)}
.legal-prose td{color:var(--polish-text-secondary)}
.legal-help{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;margin-top:3.5rem;padding:1.4rem;border:1px solid var(--polish-line);border-radius:var(--radius-card);background:var(--color-paper-2)}
.legal-help-label{color:var(--color-accent-hover);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.legal-help h2{margin:.25rem 0 0;font-family:var(--font-body);font-size:1.05rem}
.legal-help p{margin:.45rem 0 0;color:var(--polish-text-muted);font-size:.82rem;line-height:1.6}

.legal-related{display:grid;gap:1.25rem;padding-top:2.25rem;border-top:1px solid var(--polish-line)}
.legal-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem}
.legal-section-heading>div>span{color:var(--color-accent-hover);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.legal-section-heading h2{margin:.35rem 0 0;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;line-height:1.1}
.legal-section-heading>a{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-accent-hover);font-size:.8rem;font-weight:750}
.legal-section-heading .ui-icon{width:14px;height:14px}
.legal-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.legal-related-grid>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem .8rem;padding:1.15rem;border:1px solid var(--polish-line);border-radius:var(--radius-sm);background:var(--polish-surface)}
.legal-related-grid strong{font-size:.9rem}
.legal-related-grid span{grid-column:1/-1;color:var(--polish-text-muted);font-size:.78rem;line-height:1.55}
.legal-related-grid .ui-icon{width:15px;height:15px;color:var(--polish-text-muted)}

/* ---------- Standalone error pages ---------- */
.error-page-body{min-height:100svh;margin:0;background:linear-gradient(180deg,var(--color-paper-2),var(--color-page));color:var(--color-text);font-family:var(--font-body);line-height:1.6}
.error-page-body *{box-sizing:border-box}
.error-page-header{position:absolute;top:0;right:0;left:0;padding:1.5rem clamp(1.25rem,4vw,3rem)}
.error-page-header>a{display:inline-flex;align-items:center;gap:.65rem;color:var(--color-text);text-decoration:none}
.error-page-header img{width:34px;height:34px;border-radius:9px}
.error-page-header strong{font-size:.95rem;letter-spacing:-.015em}
.error-page-main{display:grid;min-height:100svh;place-items:center;padding:6.5rem 1.25rem 2rem}
.error-panel{position:relative;width:min(680px,100%);overflow:hidden;padding:clamp(2rem,6vw,4rem);border:1px solid var(--color-rule);border-radius:var(--radius-xl);background:color-mix(in oklch,var(--color-paper) 94%,transparent);box-shadow:var(--shadow-lg)}
.error-code{position:absolute;top:-2.5rem;right:-.2rem;color:color-mix(in oklch,var(--color-accent) 8%,transparent);font-family:var(--font-display);font-size:clamp(8rem,25vw,15rem);font-weight:500;line-height:1;pointer-events:none}
.error-eyebrow{position:relative;color:var(--color-accent-hover);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.error-panel h1{position:relative;max-width:12ch;margin:.65rem 0 1rem;font-family:var(--font-display);font-size:clamp(2.7rem,7vw,5rem);font-weight:500;line-height:1;letter-spacing:-.04em}
.error-panel>p{position:relative;max-width:58ch;margin:0;color:var(--color-text-tertiary);font-size:1rem;line-height:1.75}
.error-actions{position:relative;display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.75rem}
.error-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:.7rem 1.15rem;border:1px solid var(--color-accent);border-radius:var(--radius-pill);font:750 .86rem/1 var(--font-body);text-decoration:none;cursor:pointer}
.error-button.primary{background:var(--color-accent);color:var(--color-accent-ink)}
.error-button.secondary{border-color:var(--color-rule-2);background:var(--color-paper);color:var(--color-accent-hover)}
.error-request{position:relative;display:grid;gap:.3rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-rule)}
.error-request span{color:var(--color-text-tertiary);font-size:.68rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.error-request code{overflow-wrap:anywhere;color:var(--color-text-secondary);font:600 .72rem/1.5 var(--font-mono)}
.error-help{position:fixed;right:1.25rem;bottom:1rem;display:flex;align-items:center;gap:.45rem;color:var(--color-text-tertiary);font-size:.75rem}
.error-help a{color:var(--color-accent-hover);font-weight:750}

/* ---------- Interaction polish ---------- */
@media(hover:hover) and (pointer:fine){
  .policy-card:hover,.legal-related-grid>a:hover{border-color:var(--polish-line-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}
  .policy-card:hover::after{color:var(--color-accent-hover)}
  .policies-contact-card>a:hover,.legal-section-heading>a:hover{color:var(--color-link-hover)}
  .error-button.primary:hover{border-color:var(--color-accent-hover);background:var(--color-accent-hover)}
  .error-button.secondary:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}
}

@media(max-width:900px){
  .policies-hero,.legal-hero{grid-template-columns:minmax(0,1fr)}
  .policies-contact-card,.legal-meta{max-width:560px}
  .legal-layout{grid-template-columns:minmax(0,720px)}
  .legal-toc{position:static;display:none}
  .legal-related-grid,.policies-principles>div:last-child{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:720px){
  .policies-page,.legal-page{padding:3rem 0 4.5rem}
  .policies-shell,.legal-shell{gap:2.25rem}
  .policies-grid{grid-template-columns:minmax(0,1fr)}
  .policies-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .policies-summary>div:nth-child(2){border-right:0}
  .policies-summary>div:nth-child(-n+2){border-bottom:1px solid var(--polish-line)}
  .legal-section-heading{align-items:flex-start;flex-direction:column}
  .legal-help{grid-template-columns:minmax(0,1fr)}
  .legal-help .button{width:100%}
  .policy-card{padding:1.15rem}
  .error-help{position:static;justify-content:center;margin-top:1rem}
  .error-page-main{align-content:center;place-items:stretch}
}

@media(max-width:480px){
  .policies-summary{grid-template-columns:minmax(0,1fr)}
  .policies-summary>div{border-right:0;border-bottom:1px solid var(--polish-line)}
  .policies-summary>div:last-child{border-bottom:0}
  .legal-meta>div{grid-template-columns:minmax(0,1fr)}
  .legal-meta dd{text-align:left}
  .error-panel{padding:2rem 1.35rem;border-radius:var(--radius-lg)}
  .error-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  .error-button{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .policy-card,.legal-related-grid>a,.error-button,.dashboard-membership-action{transition:none!important}
  .policy-card:hover,.legal-related-grid>a:hover{transform:none}
  .dashboard-membership-action:hover,.dashboard-membership-action:active{transform:none}
}


/* ---------- Round 38: contrast, mobile Now containment, and resilient sharing ---------- */
.company-address-note,
.contact-item small,
.checkout-unavailable-note{color:var(--color-text-tertiary)}

.article-share-sheet[hidden]{display:none!important}
.article-share-open{overflow:hidden}
.article-share-sheet{position:fixed;z-index:240;inset:0;display:grid;align-items:end;padding:0;color:var(--color-text)}
.article-share-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgb(18 25 20/.46);backdrop-filter:blur(3px);cursor:default}
.article-share-panel{position:relative;width:100%;max-height:min(84svh,680px);overflow:auto;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));border:1px solid var(--color-rule);border-width:1px 0 0;border-radius:20px 20px 0 0;background:var(--color-paper);box-shadow:0 -22px 64px rgb(18 25 20/.24);outline:0}
.article-share-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.2rem .2rem 1rem;border-bottom:1px solid var(--color-rule)}
.article-share-panel>header span,.article-share-panel>header strong{display:block}
.article-share-panel>header span{color:var(--color-text-tertiary);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.article-share-panel>header strong{max-width:34ch;margin-top:.25rem;overflow:hidden;color:var(--color-text);font-size:.98rem;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.article-share-close{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border:1px solid var(--color-rule);border-radius:999px;background:var(--color-paper);color:var(--color-text-secondary);cursor:pointer}
.article-share-close .ui-icon{width:17px;height:17px}
.article-share-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding-top:1rem}
.article-share-option{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.75rem;min-width:0;min-height:70px;padding:.75rem;border:1px solid var(--color-rule);border-radius:14px;background:var(--color-paper);color:var(--color-text);font:inherit;text-align:left;text-decoration:none;cursor:pointer}
.article-share-option:hover,.article-share-option:focus-visible{border-color:var(--color-accent);background:var(--color-accent-soft);outline:0}
.article-share-option>span:last-child{min-width:0}
.article-share-option strong,.article-share-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.article-share-option strong{font-size:.86rem}
.article-share-option small{margin-top:.16rem;color:var(--color-text-tertiary);font-size:.68rem}
.article-share-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--color-paper-3);color:var(--color-accent-hover);font-size:1rem;font-weight:850}
.article-share-mark .ui-icon{width:17px;height:17px}
.article-share-help{margin:.9rem .2rem 0;color:var(--color-text-tertiary);font-size:.7rem;line-height:1.6}

@media(min-width:720px){
  .article-share-sheet{place-items:center;padding:1.5rem}
  .article-share-panel{width:min(560px,100%);border-width:1px;border-radius:20px;padding:1.2rem;box-shadow:var(--shadow-lg)}
}

@media(max-width:760px){
  .blog-index-parity{width:calc(100% - 24px);max-width:1200px;min-width:0;overflow-x:hidden;overflow-x:clip}
  .blog-index-toolbar,
  .blog-search-field,
  .blog-category-mobile,
  .blog-category-native,
  .blog-category-trigger,
  .blog-category-drawer,
  .blog-category-drawer-list,
  .blog-post-grid,
  .blog-card-link,
  .blog-card-parity,
  .blog-card-parity .post-cover,
  .blog-card-parity .post-body,
  .blog-card-parity .post-author-row{min-width:0;max-width:100%}
  .blog-post-grid{width:100%;grid-template-columns:minmax(0,1fr)!important;gap:18px}
  .blog-card-link,.blog-card-parity{width:100%}
  .blog-card-parity{overflow:hidden}
  .blog-card-parity .post-body h2,
  .blog-card-parity .post-body h3,
  .blog-card-parity .post-body>p,
  .blog-card-parity .post-author span{overflow-wrap:anywhere;word-break:break-word}
  .blog-card-parity .post-author-row{width:100%}
  .blog-card-parity time{flex:0 0 auto;white-space:nowrap}
  .article-share-options{grid-template-columns:1fr}
}


/* Public-page trust and SEO details */
.page-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem;
  padding-top: 1rem;
  padding-bottom: .25rem;
  color: var(--text-muted, #6f6b63);
  font-size: .88rem;
}
.page-breadcrumb a { color: inherit; text-decoration: none; }
.page-breadcrumb a:hover { color: var(--text, #1f2937); text-decoration: underline; text-underline-offset: .2em; }
.page-breadcrumb span[aria-current="page"] { color: var(--text, #1f2937); font-weight: 600; }

/* Round 25: verified showcase templates, editorial transparency, reviewer hub, and pricing clarity */
.showcase-section{overflow:hidden}.showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.showcase-card{overflow:hidden;border:1px solid var(--border, #dedbd3);border-radius:1.25rem;background:var(--surface, #fff);box-shadow:0 18px 48px rgba(31,41,55,.08)}.before-after-compare{position:relative;aspect-ratio:8/5;overflow:hidden;background:#eee;isolation:isolate}.before-after-compare img{display:block;width:100%;height:100%;object-fit:cover}.compare-after-wrap{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--compare-position)) 0 0);pointer-events:none}.compare-after{position:absolute;inset:0}.compare-divider{position:absolute;z-index:4;top:0;bottom:0;left:var(--compare-position);width:3px;transform:translateX(-50%);background:#fff;box-shadow:0 0 0 1px rgba(31,41,55,.22),0 0 18px rgba(31,41,55,.2);pointer-events:none}.compare-divider::after{content:"↔";position:absolute;top:50%;left:50%;display:grid;place-items:center;width:42px;height:42px;transform:translate(-50%,-50%);border-radius:999px;background:#fff;color:#1f2937;font-weight:800;box-shadow:0 8px 24px rgba(31,41,55,.22)}.before-after-compare input[type=range]{position:absolute;z-index:5;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.compare-label{position:absolute;z-index:3;top:1rem;padding:.45rem .72rem;border-radius:999px;background:rgba(17,24,39,.78);color:#fff;font-size:.78rem;font-weight:750;letter-spacing:.03em;text-transform:uppercase;backdrop-filter:blur(7px)}.compare-label.before{left:1rem}.compare-label.after{right:1rem}.showcase-copy{padding:1.15rem 1.2rem 1.25rem}.showcase-copy h3{margin:0 0 .45rem}.showcase-copy p{margin:0;color:var(--text-muted,#666)}.showcase-copy small{display:block;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--border,#e4e1da);color:var(--text-muted,#777);font-size:.78rem}

.article-author-card{color:inherit;text-decoration:none}.article-author-card em{display:block;margin-top:.1rem;color:var(--accent,#b55435);font-size:.76rem;font-style:normal;font-weight:700}.article-editorial-note{display:grid;grid-template-columns:auto 1fr;gap:1rem;margin:2rem 0;padding:1.2rem 1.3rem;border:1px solid var(--border,#dedbd3);border-radius:1rem;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(244,241,234,.82))}.article-editorial-note p{margin:.35rem 0 .55rem;color:var(--text-muted,#666)}

.pricing-capacity-section{padding-block:2.5rem}.pricing-capacity-table-wrap{overflow-x:auto;border:1px solid var(--border,#dedbd3);border-radius:1.1rem;background:#fff;box-shadow:0 14px 40px rgba(31,41,55,.06)}.pricing-capacity-table{width:100%;min-width:860px;border-collapse:collapse}.pricing-capacity-table th,.pricing-capacity-table td{padding:1rem;border-bottom:1px solid var(--border,#e5e1d8);text-align:center;vertical-align:middle}.pricing-capacity-table thead th{background:#f6f3ed;font-size:.86rem}.pricing-capacity-table tbody th{text-align:left}.pricing-capacity-table tbody tr:last-child th,.pricing-capacity-table tbody tr:last-child td{border-bottom:0}.pricing-capacity-table small{color:var(--text-muted,#777);font-weight:500}.pricing-scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}

.trust-detail-section{margin-top:2.5rem;padding:2rem;border:1px solid var(--border,#dedbd3);border-radius:1.35rem;background:#f8f6f1}.trust-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.trust-provider-grid article{padding:1.2rem;border:1px solid var(--border,#dedbd3);border-radius:1rem;background:#fff}.trust-provider-grid h3{margin-top:0}.trust-provider-grid p{margin-bottom:0;color:var(--text-muted,#666)}.trust-contact-panel{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:1.5rem 0;padding:1.5rem;border-radius:1.2rem;background:#1f2937;color:#fff}.trust-contact-panel h2{margin:0 0 .4rem;color:#fff}.trust-contact-panel p{margin:0;color:rgba(255,255,255,.76)}.trust-contact-panel .center-actions{margin:0;flex:0 0 auto}.trust-contact-panel .button.outline{border-color:rgba(255,255,255,.45);color:#fff}

.reviewer-hub-section{border-block:1px solid var(--border,#dedbd3)}.reviewer-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.reviewer-link-grid a{display:flex;min-height:118px;flex-direction:column;gap:.45rem;padding:1.15rem;border:1px solid var(--border,#dedbd3);border-radius:1rem;background:#fff;color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.reviewer-link-grid a:hover{transform:translateY(-2px);border-color:rgba(181,84,53,.45);box-shadow:0 12px 28px rgba(31,41,55,.08)}.reviewer-link-grid span{color:var(--text-muted,#666);font-size:.9rem;line-height:1.45}

@media (max-width:900px){.showcase-grid,.trust-provider-grid{grid-template-columns:1fr}.pricing-scenario-grid{grid-template-columns:1fr}.reviewer-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-contact-panel{align-items:flex-start;flex-direction:column}.trust-contact-panel .center-actions{justify-content:flex-start}}
@media (max-width:600px){.reviewer-link-grid{grid-template-columns:1fr}.showcase-copy small{display:none}.compare-label{top:.65rem}.compare-label.before{left:.65rem}.compare-label.after{right:.65rem}.article-editorial-note{grid-template-columns:1fr}.trust-detail-section{padding:1.15rem}}


/* Round 30: workspace action contrast and exact API documentation links */
.workspace-view-all .button,
.credit-quick-panel .credit-history-link {
  border-color: var(--color-accent, var(--primary));
  background: var(--color-accent, var(--primary));
  color: var(--color-accent-ink, #fff);
}
.workspace-view-all .button:hover,
.workspace-view-all .button:focus-visible,
.credit-quick-panel .credit-history-link:hover,
.credit-quick-panel .credit-history-link:focus-visible {
  border-color: var(--color-accent-hover, var(--primary));
  background: var(--color-accent-hover, var(--primary));
  color: #fff;
}
.admin-provider-doc-link {
  display: inline-flex;
  width: max-content;
  margin-top: .35rem;
  color: var(--primary);
  font-size: .74rem;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: .18em;
}
.article-verification-strip{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:1rem 0 0;padding:.85rem 1rem;border:1px solid var(--border,#dedbd3);border-radius:.9rem;background:var(--surface-muted,#f7f4ee)}.article-verification-strip div{display:grid;gap:.12rem;min-width:150px}.article-verification-strip dt{color:var(--text-muted,#666);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.article-verification-strip dd{margin:0;color:var(--text-strong,#1f1d19);font-size:.84rem;font-weight:650}.prose .article-evidence-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:1.25rem 0}.prose .article-evidence-pair img{width:100%;height:auto;margin:0;border:1px solid var(--border,#dedbd3);border-radius:.8rem;background:var(--surface-muted,#f7f4ee)}
@media (max-width:620px){.article-verification-strip{display:grid}.prose .article-evidence-pair{grid-template-columns:1fr}}


/* Workflow cover sizing and ImageAI preview-stage polish (round 30). */
.solution-card-media {
  position:relative;
  display:grid;
  width:100%;
  height:clamp(176px,18vw,220px);
  flex:0 0 auto;
  overflow:hidden;
  place-items:center;
  border-bottom:1px solid var(--border,#dedbd3);
  background:linear-gradient(180deg,var(--surface-muted,#f4f1ea),var(--surface-raised,#fff));
}
.solution-card-media > img {
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:contain;
  object-position:center;
  image-rendering:auto;
}
@media (max-width:640px) {
  .solution-card-media { height:clamp(184px,54vw,224px); }
}
.imageai-surface .workbench-preview-grid:not([hidden]) {
  grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);
  align-items:stretch;
  gap:14px;
  margin-top:16px;
}
.imageai-surface .preview-panel {
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:7px;
}
.imageai-surface .preview-label { min-height:30px; }
.imageai-surface .preview-canvas {
  width:100%;
  min-height:0;
  aspect-ratio:8/5;
  border-radius:16px;
  background:var(--surface-muted,#f4f1ea);
  box-shadow:inset 0 0 0 1px rgba(35,47,40,.025);
}
.imageai-surface .preview-canvas img {
  width:100%;
  height:100%;
  padding:0;
  object-fit:contain;
}
.imageai-surface .preview-arrow {
  display:flex;
  height:auto;
  align-items:center;
  justify-content:center;
  padding-top:37px;
}
.imageai-surface .preview-arrow .ui-icon {
  width:40px;
  height:40px;
  padding:11px;
  border:1px solid var(--border,#dedbd3);
  border-radius:999px;
  background:var(--surface-raised,#fff);
  color:var(--accent,#315c43);
  box-shadow:0 8px 22px rgba(34,44,38,.08);
}
.imageai-surface .workbench-main-card { overflow:hidden; }
@media (max-width: 900px) {
  .imageai-surface .workbench-preview-grid:not([hidden]) { grid-template-columns:1fr; }
  .imageai-surface .preview-arrow { height:30px; padding-top:0; }
  .imageai-surface .preview-arrow .ui-icon { transform:rotate(90deg); }
}


/* Production-safe workflow CTA contrast and public-copy polish (round 31). */
.solution-final-cta > .shell {
  isolation:isolate;
  background:#1f2a23;
  color:#fff;
}
.solution-final-cta .solution-final-copy {
  display:grid;
  min-width:0;
  max-width:760px;
  gap:.45rem;
}
.solution-final-cta .eyebrow,
.solution-final-cta h2,
.solution-final-cta p {
  margin-top:0;
  color:#fff;
  opacity:1;
  visibility:visible;
  text-shadow:none;
}
.solution-final-cta .eyebrow { color:#dbe9df; }
.solution-final-cta h2 { margin-bottom:.15rem; }
.solution-final-cta p { margin-bottom:0; color:rgba(255,255,255,.82); }
.solution-final-cta .solution-final-button {
  flex:0 0 auto;
  border-color:#fff;
  background:#fff;
  color:#1f2a23;
}
.solution-final-cta .solution-final-button:hover,
.solution-final-cta .solution-final-button:focus-visible {
  border-color:#eef5f0;
  background:#eef5f0;
  color:#142019;
}
@media (max-width:640px) {
  .solution-final-cta .solution-final-button { width:100%; }
}

/* Free public beta mode */
.free-beta-banner{border-bottom:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--background));color:var(--foreground)}
.free-beta-banner-inner{min-height:44px;display:flex;align-items:center;justify-content:center;gap:12px;padding-block:8px;font-size:.86rem;line-height:1.45;text-align:center}
.free-beta-banner-inner>a{font-weight:750;color:var(--primary);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.free-beta-badge{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));border-radius:999px;background:var(--background);padding:3px 9px;font-size:.7rem;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.free-beta-notice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;margin:28px 0;padding:20px;border:1px solid color-mix(in srgb,var(--primary) 26%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--primary) 7%,var(--background))}
.free-beta-notice .free-beta-notice-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--background);color:var(--primary);border:1px solid var(--border)}
.free-beta-notice h2,.free-beta-notice h3{margin:0 0 6px;font-size:1.1rem}
.free-beta-notice p{margin:0;color:var(--muted-foreground)}
.beta-waitlist-card{margin:42px 0;padding:32px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,var(--background)),var(--background));text-align:center}
.beta-waitlist-card h2{margin:8px 0 10px}
.beta-waitlist-card>p{max-width:680px;margin:0 auto;color:var(--muted-foreground)}
.beta-waitlist-card form{display:flex;justify-content:center;gap:10px;max-width:560px;margin:22px auto 0;flex-wrap:wrap}
.beta-waitlist-card input[type=email]{flex:1;min-width:230px}
.beta-waitlist-card [data-newsletter-message]{min-height:1.5em;margin:10px 0 0;color:var(--muted-foreground)}
.beta-plan-status{display:block;margin:10px 0 0;color:var(--muted-foreground);font-size:.82rem;line-height:1.45}
.beta-action-link{width:100%}
@media(max-width:720px){.free-beta-banner-inner{align-items:flex-start;flex-direction:column;gap:5px;text-align:left}.free-beta-notice{grid-template-columns:1fr}.beta-waitlist-card{padding:24px 18px}.beta-waitlist-card form{flex-direction:column}.beta-waitlist-card input[type=email],.beta-waitlist-card .button{width:100%}}
