/* Material finish for working surfaces and dialogs. Layout, state, status colors,
   canvases, pointer handling and native dialog visibility remain authored by
   their owners. This sheet is also loaded by the isolated account iframe. */

/* Seller loads its own stylesheet on demand; the extra root specificity keeps
   this palette authoritative regardless of when that stylesheet is appended. */
:root body .seller-reference-dashboard,
:root[data-theme="dark"] body .seller-reference-dashboard{
  --sr-accent:var(--mat-blue);
  --sr-accent-soft:var(--mat-blue-soft);
  --sr-ink:var(--ink);
  --sr-body:var(--text);
  --sr-muted:var(--mat-muted);
  --sr-line:var(--mat-border);
  --sr-line-soft:var(--line-soft);
  --sr-panel:var(--mat-panel);
  --sr-canvas:var(--bg);
  --sr-sidebar:var(--mat-panel);
  --sr-control:var(--mat-raised);
  --sr-control-hover:var(--mat-recess);
  --sr-menu-hover:var(--mat-recess);
  --sr-nav-hover:var(--mat-recess);
  --sr-topbar:var(--mat-panel);
  --sr-mark:var(--mat-recess);
  --sr-table-head:var(--mat-recess);
  --sr-row-hover:var(--mat-recess);
  --sr-progress:var(--slot);
  --sr-material:var(--line);
  --sr-chart-line:var(--line-soft);
  --sr-dialog:var(--mat-panel);
  --sr-dialog-hover:var(--mat-recess);
  --sr-control-border-hover:color-mix(in srgb,var(--mat-blue) 35%,var(--mat-border));
  --sr-button-border:var(--mat-border);
  --sr-button-border-hover:color-mix(in srgb,var(--mat-blue) 40%,var(--mat-border));
  --sr-queued-ink:var(--text);
  --sr-queued-bg:var(--mat-recess);
}
:root body[data-view="seller"] .seller-local-view #sellerView,
:root[data-theme="dark"] body[data-view="seller"] .seller-local-view #sellerView{
  background:var(--bg);
}
:root .seller-reference-dashboard .seller-ref-sidebar{
  box-shadow:inset -1px 0 var(--mat-edge),4px 0 16px rgba(0,0,0,.025);
}
:root .seller-reference-dashboard :is(.seller-ref-card,.seller-ref-metrics article,.seller-ref-listing-card){
  border-radius:12px;
  border-color:var(--mat-border);
  background:var(--mat-panel);
  box-shadow:var(--mat-shadow);
}
:root .seller-reference-dashboard .seller-ref-listing-card:hover{
  border-color:var(--sr-control-border-hover);
  box-shadow:var(--mat-shadow-float);
}
:root .seller-reference-dashboard .seller-ref-card-head{
  background:var(--mat-raised);
  box-shadow:inset 0 1px var(--mat-edge);
}
:root .seller-reference-dashboard :is(.seller-ref-shop-menu,.seller-ref-printer-picker,.seller-ref-center-dialog){
  border-color:var(--mat-border);
  background:var(--mat-panel);
  box-shadow:var(--mat-shadow-float);
}
/* Managed settings/help dialogs move to body while open. */
:root body .seller-ref-center-dialog{
  border-color:var(--mat-border);
  background:var(--mat-panel);
  box-shadow:var(--mat-shadow-float);
}
:root .seller-ref-printer-picker .seller-ref-printer-option-badge{
  color:var(--sr-accent-ink);
}
:root .seller-ref-printer-picker .seller-ref-printer-option-media{
  background:var(--mat-recess);
}
:root .seller-reference-dashboard :is(.seller-ref-listing-media,.seller-ref-listing-fallback,.seller-ref-brand-preview){
  background:var(--mat-recess);
}
:root .seller-reference-dashboard :is(.seller-ref-nav-group h2,.seller-ref-metrics article > span,.seller-ref-payout-card > span,.seller-ref-earnings-head > div:first-child > span){
  font-weight:600;
  letter-spacing:.025em;
  text-transform:none;
}
:root .seller-reference-dashboard .seller-ref-dialog-head span{
  font-weight:600;
  letter-spacing:.05em;
}

/* Checkout: white ceramic order cards over a quiet recessed work surface. */
:root[data-theme] .build-checkout-dialog,
:root[data-theme="dark"] .build-checkout-dialog{
  --mono:var(--font);
  --checkout-border:var(--mat-border);
  --sf-panel:var(--mat-panel);
  --sf-head:var(--mat-raised);
  --sf-card:var(--mat-raised);
  --sf-tile:var(--mat-recess);
  --sf-tile-hover:var(--surface-hover);
  --sf-ink:var(--ink);
  --sf-body:var(--text);
  --sf-muted:var(--mat-muted);
  --sf-box:var(--mat-border);
  --sf-glyph:var(--mat-muted);
  background:var(--mat-panel);
  box-shadow:var(--mat-shadow-float);
}
.build-checkout-dialog .build-checkout-order,
.build-checkout-dialog .build-checkout-details{
  background:var(--mat-recess);
}
.build-checkout-dialog :is(.build-checkout-order__item,.build-checkout-section){
  background:var(--mat-panel);
  box-shadow:var(--mat-shadow);
}
.build-checkout-dialog .build-checkout-section[data-open="true"]{
  border-color:color-mix(in srgb,var(--mat-blue) 44%,var(--mat-border));
  box-shadow:var(--mat-shadow),0 0 0 1px var(--mat-blue-soft);
}
.build-checkout-dialog .build-checkout-section[data-complete="true"] .build-checkout-section__step{
  background:#15724f;
  color:#fff;
}
.build-checkout-dialog .build-checkout-order__location-options{
  background:var(--mat-raised);
  box-shadow:var(--mat-shadow-float);
}
.build-checkout-dialog :is(.build-checkout-order__item-mark,.build-checkout-order__mark){
  background:var(--mat-recess);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.04);
}
.build-checkout-dialog :is(.build-checkout-order__heading span,.build-checkout-order__location small,.build-checkout-order__total small,.build-checkout-dialog__head .build-object-panel__eyebrow){
  font-family:var(--font);
  font-weight:600;
  letter-spacing:.025em;
  text-transform:none;
}
.build-checkout-dialog .build-checkout-dialog__close:hover{
  transform:none;
}
.build-checkout-dialog :is(.build-checkout-dialog__encrypted,
  .build-checkout-express header > span,.build-checkout-express header > em,
  .build-checkout-divider span,.build-checkout-section__heading small,
  .build-checkout-fields label > span,.build-checkout-shipping__zip > label,
  .build-checkout-shipping-method > span:first-child,.build-checkout-order__total em){
  font-family:var(--font); font-weight:500; letter-spacing:.015em; text-transform:none;
}
.build-checkout-dialog :is(.build-checkout-dialog__head .build-object-panel__eyebrow,
  .build-checkout-order__heading > span > small,.build-checkout-recommendations > header small,
  .build-checkout-section__step,.build-checkout-express header > em){
  color:var(--mat-orange); font-family:var(--font); letter-spacing:.025em; text-transform:none;
}
.build-checkout-dialog .build-checkout-express header > em{ border-color:var(--mat-border); }
.build-checkout-dialog .build-checkout-order__save-object{ color:var(--accent-ink); }
.build-checkout-dialog .build-checkout-order__save-object:hover{ color:var(--accent-ink); text-decoration-thickness:2px; }
.build-checkout-dialog .build-checkout-order__remove:hover{ color:var(--danger); }
.build-checkout-dialog :is(.build-checkout-order__item-price,.build-checkout-order__costs strong,
  .build-checkout-order__total > strong){ font-variant-numeric:tabular-nums; }

/* Dialog bodies stay opaque; blur belongs only on the surrounding backdrop. */
:root :is(.workspace-settings,.about,.design-project-access,.design-project-share-popover){
  border-color:var(--mat-border);
  background:var(--mat-panel);
  box-shadow:var(--mat-shadow-float);
}
:root :is(.workspace-settings__header,.workspace-settings__footer,.about__chrome){
  border-color:var(--mat-border);
  background:var(--mat-raised);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:inset 0 1px var(--mat-edge);
}
.workspace-settings .workspace-settings__scroll{
  background:var(--mat-recess);
}
.workspace-settings .workspace-settings__section{
  border-color:var(--mat-border);
  background:var(--mat-panel);
  box-shadow:var(--mat-shadow);
}
.workspace-settings select,
.about .about__field :is(input,select,textarea){
  border-color:var(--mat-border);
  background:var(--mat-recess);
  color:var(--ink);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.035);
}
.workspace-settings select:focus,
.about .about__field :is(input,select,textarea):focus{
  border-color:var(--mat-blue);
  box-shadow:0 0 0 3px var(--mat-blue-soft);
}
.workspace-settings .workspace-settings__toggle i::after{
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.18),inset 0 -1px 1px rgba(0,0,0,.05);
}
.workspace-settings .workspace-settings__footer [value="done"]{
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 5px rgba(0,0,0,.08);
}
.about :is(.about__step,.about__belief,.about__contact-card){
  border-color:var(--mat-border);
  background:var(--mat-recess);
  box-shadow:inset 0 1px var(--mat-edge);
}
.about :is(.about__step-ord,.about__belief h2,.about__contact-label,.about__field > span){
  font-family:var(--font);
  font-size:12px;
  font-weight:600;
  letter-spacing:.025em;
  text-transform:none;
}
.about .about__cta-button{
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 5px rgba(0,0,0,.08);
}

/* The sharing and lock options keep their selected and locked state cues. */
.design-project-share-popover .design-project-share-popover__options > button,
.design-project-access .design-project-access__choices > button{
  border-color:var(--mat-border);
  background:var(--mat-raised);
}
.design-project-share-popover .design-project-share-popover__options > button:is(:hover,[aria-checked="true"]),
.design-project-access .design-project-access__choices > button:hover{
  border-color:var(--mat-blue);
  background:var(--mat-blue-soft);
  box-shadow:inset 0 1px var(--mat-edge);
}
.design-project-share-popover > header small,
.design-project-access > small{
  font-weight:600;
  letter-spacing:.035em;
}

/* Community surfaces: neutral incoming messages and solid blue sent messages. */
.chat :is(.chat__friend-panel,.chat__friend-menu,.chat__groups,.chat__channel-panel){
  border-color:var(--mat-border);
  background:var(--mat-raised);
  box-shadow:var(--mat-shadow-float);
}
.chat .chat__bubble{
  background:var(--mat-recess);
  color:var(--text);
  box-shadow:inset 0 1px var(--mat-edge),0 1px 2px rgba(0,0,0,.035);
}
.chat .chat__message[data-mine="true"] .chat__bubble{
  background:#2468da;
  color:#fff;
  box-shadow:inset 0 1px rgba(255,255,255,.16),0 2px 4px rgba(0,0,0,.07);
}
.chat :is(.chat__sidehead,.chat__rule){
  font-weight:600;
  letter-spacing:.025em;
  text-transform:none;
}
.chat .chat__channel-welcome{
  border-style:solid;
  border-color:var(--mat-border);
  background:var(--mat-recess);
}
.chat .chat__local-note{
  margin:0 0 10px;
  padding:8px 10px;
  border:1px solid var(--mat-border);
  border-radius:9px;
  color:var(--mat-muted);
  background:var(--mat-recess);
  font:400 12px/1.45 var(--font);
}
.chat [aria-disabled="true"]{
  color:var(--mat-muted);
  cursor:not-allowed;
}
.command[data-command-state="unsupported"] .command__echo{
  width:max-content;
  max-width:min(520px,calc(100vw - 36px));
  padding:9px 12px;
  border-radius:10px;
  white-space:normal;
  line-height:1.45;
}
.chat .chat__ai-mark{
  color:var(--mat-orange);
  background:color-mix(in srgb,var(--mat-orange) 12%,var(--mat-panel));
  box-shadow:inset 0 1px var(--mat-edge);
}

/* Floating chrome is satin and opaque. Keep video content's authored black. */
:root [data-universal-popout="true"]:not(.build-video-player){
  border-color:var(--mat-border) !important;
  background:var(--mat-panel) !important;
  box-shadow:var(--mat-shadow-float) !important;
}
:root [data-universal-popout="true"] > .universal-popout__chrome{
  border-color:var(--mat-border);
  background:var(--mat-raised);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:inset 0 1px var(--mat-edge);
}
.universal-popout__chrome .universal-popout__title{
  color:var(--text);
  font-weight:600;
  letter-spacing:.015em;
  text-transform:none;
}
.universal-popout__chrome .universal-popout__toggle:not(:hover):not([aria-pressed="true"]){
  border-color:var(--mat-border);
  background:var(--mat-raised);
  box-shadow:inset 0 1px var(--mat-edge),0 1px 2px rgba(0,0,0,.05);
}

/* The account iframe receives the same root theme tokens from its host. */
html:has(> body > .profile-auth-overlay),
html:has(> body > .profile-auth-overlay) > body{
  background:transparent;
}
:root body .profile-auth-overlay,
:root body .profile-auth-card{
  --profile-auth-card-bg:var(--mat-panel);
  --profile-auth-card-border:var(--mat-border);
  --profile-auth-text:var(--text);
  --profile-auth-strong:var(--ink);
  --profile-auth-muted:var(--mat-muted);
  --profile-auth-soft:var(--mat-recess);
  --profile-auth-soft-hover:var(--surface-hover);
  --profile-auth-input-bg:var(--mat-recess);
  --profile-auth-input-text:var(--ink);
  --profile-auth-input-placeholder:var(--mat-muted);
  --profile-auth-rule:var(--mat-border);
  --hive-surface:var(--mat-panel);
  --hive-surface-2:var(--mat-recess);
  --hive-surface-3:var(--surface-hover);
  --hive-line:var(--mat-border);
  --hive-line-strong:var(--mat-border);
  --hive-text:var(--ink);
  --hive-text-2:var(--text);
  --hive-text-3:var(--mat-muted);
  --hive-accent:var(--accent);
  --hive-accent-strong:var(--mat-blue);
  --hive-accent-tint:var(--mat-blue-soft);
  --hive-on-accent:#fff;
}
:root body .profile-auth-card{
  background:var(--mat-panel);
  border-color:var(--mat-border);
  color:var(--ink);
  box-shadow:var(--mat-shadow-float);
}
:root body .profile-auth-overlay .profile-auth-provider{
  border-color:var(--mat-border);
  background:var(--mat-raised);
  color:var(--ink);
  box-shadow:inset 0 1px var(--mat-edge),0 1px 3px rgba(0,0,0,.05);
}
:root body .profile-auth-overlay .profile-auth-provider:is(:hover,:focus-visible){
  border-color:color-mix(in srgb,var(--mat-blue) 42%,var(--mat-border));
  background:var(--mat-recess);
  color:var(--ink);
  box-shadow:inset 0 1px var(--mat-edge),0 2px 5px rgba(0,0,0,.07);
}
:root body .profile-auth-overlay .profile-auth-provider:disabled{
  border-color:var(--mat-border);
  background:var(--mat-recess);
  color:var(--mat-muted);
  box-shadow:none;
}
:root body .profile-auth-overlay .profile-auth-provider-icon{
  color:var(--ink);
}
:root body .profile-auth-overlay .profile-auth-status.is-error{ color:var(--danger); }
:root body .profile-auth-overlay .profile-auth-consent a{ color:var(--accent-ink); }
:root body .profile-auth-overlay .profile-auth-field input{
  border-color:var(--mat-border);
  background:var(--mat-recess);
  color:var(--ink);
}
:root body .profile-auth-overlay .profile-auth-mode-button.is-active{
  background:var(--mat-blue-soft);
  color:var(--mat-blue);
  box-shadow:inset 0 1px var(--mat-edge),0 1px 3px rgba(0,0,0,.06);
}
:root body .profile-auth-overlay :is(.profile-auth-submit,.profile-auth-submit:hover,.profile-auth-submit:focus-visible){
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
  box-shadow:inset 0 1px rgba(255,255,255,.18),0 2px 5px rgba(0,0,0,.08);
}
:root body .profile-auth-overlay :is(.profile-auth-field,.profile-auth-remember,.profile-auth-link,.profile-auth-status,.profile-auth-footnote,.profile-auth-consent,.profile-auth-entry-back,.profile-auth-mode-button){
  font-size:max(12px,calc(12px * var(--ui-font-scale,1)));
}

/* Replace the checkout's large flying-sheet entrance with a small settle. */
@media (prefers-reduced-motion:no-preference){
  .build-checkout-overlay:not([data-open="true"]) .build-checkout-dialog{
    transform:translateY(12px) scale(.985);
  }
  .build-checkout-dialog{
    transform-origin:center;
    transition:transform .24s cubic-bezier(.22,.9,.24,1),opacity .18s ease;
  }
}
/* Policy controls link published pages and say plainly what is not published yet. */
:root .profile-auth-policy-link {
  display: inline;
  padding: 0;
  border: 0;
  border-radius: 2px;
  background: transparent;
  color: var(--mat-blue);
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
:root .profile-auth-policy-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
:root .profile-auth-policy-status:not([hidden]) {
  display: block;
  margin-top: 8px;
  padding: 8px;
  border: 1px solid var(--mat-border);
  border-radius: 8px;
  background: var(--mat-recess);
  color: var(--mat-muted);
  font-size: calc(12px * var(--ui-font-scale, 1));
  line-height: 1.45;
}
:root .watchbar-utility__status {
  margin: 0;
  padding: 8px;
  color: var(--mat-muted);
  font-size: calc(12px * var(--ui-font-scale, 1));
  line-height: 1.45;
}
:root .watchbar-utility__primary[aria-disabled="true"] {
  border: 1px solid var(--mat-border);
  background: var(--mat-recess);
  color: var(--mat-muted);
  box-shadow: none;
  cursor: not-allowed;
}
