﻿:root {
  color-scheme: light;
  --color-primary: #2563eb;
  --color-bg: #f8fafc;
  --color-card: #ffffff;
  --color-text: #151719;
  --color-border: #e5e7eb;
  --color-danger: #dc2626;
  --radius-card: 12px;
  --radius-input: 8px;
  --shadow-card: 0 10px 28px rgba(15, 23, 42, 0.06);
  --shadow-soft: 0 16px 42px rgba(15, 23, 42, 0.08);
  --page-max: 1440px;
  --space-page: 28px;
  --space-card: 24px;
  --space-section: 20px;
  --control-height: 42px;
  --bg: #f8fafc;
  --panel: #ffffff;
  --text: #151719;
  --muted: #667085;
  --line: #e5e7eb;
  --accent: #0f766e;
  --accent-dark: #115e59;
  --soft: #edf7f5;
  --ink: #151719;
  --warm: #c7a76c;
  --radius: 8px;
  --card-shadow: 0 16px 42px rgba(15, 23, 42, 0.08);
  --button-bg: var(--ink);
  --button-text: #ffffff;
  --nav-bg: rgba(248, 250, 252, 0.88);
  --cute-mark: "";
}

/* v1.3.2 mobile-only density, asset-profile menus and interaction alignment. */
@media(max-width:760px) {
  /* One restrained type scale across admin mobile pages. */
  html body.theme-admin :is(.admin-page-header__title,.admin-page-header h1) {
    font-size:21px!important;
    line-height:1.3!important;
  }
  html body.theme-admin :is(.admin-section-card__header,.section-title) h2 {
    font-size:16px!important;
    line-height:1.35!important;
  }
  html body.theme-admin :is(.admin-page-header__description,.muted,.form-hint) {
    font-size:11px!important;
    line-height:1.5!important;
  }
  html body.theme-admin :is(.button,button,.text-button) {
    font-size:12px;
  }
  html body.theme-admin :is(.status-pill,.pending-status-pill,.asset-lock-mini) {
    font-size:10px!important;
    line-height:1.2!important;
  }

  /* Geometrically center the ellipsis inside its control. */
  html body.theme-admin .mobile-card-menu > summary {
    align-items:center!important;
    display:grid!important;
    font-size:22px!important;
    justify-items:center!important;
    letter-spacing:0!important;
    line-height:1!important;
    padding:0 0 3px!important;
    place-content:center!important;
  }

  /* File previews stay fixed; video badges remain fully visible. */
  html body.theme-admin :is(.organized-file-card,.pending-asset-card) .pending-file-preview {
    overflow:clip!important;
    position:relative!important;
  }
  html body.theme-admin :is(.organized-file-card,.pending-asset-card) .pending-file-preview :is(img,video,.asset-video-preview) {
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
    width:100%!important;
  }
  html body.theme-admin :is(.organized-file-card,.pending-asset-card) .asset-video-preview {
    overflow:visible!important;
    position:relative!important;
  }
  html body.theme-admin :is(.organized-file-card,.pending-asset-card) .asset-video-preview > span {
    align-items:center!important;
    background:rgba(17,24,39,.82)!important;
    border-radius:999px!important;
    bottom:6px!important;
    color:#fff!important;
    display:flex!important;
    font-size:10px!important;
    height:20px!important;
    left:6px!important;
    line-height:1!important;
    padding:0 7px!important;
    position:absolute!important;
    top:auto!important;
    z-index:4!important;
  }
  html body.theme-admin :is(.organized-file-card,.pending-asset-card) :is(.asset-overview-card-select,.pending-asset-checkbox) {
    left:8px!important;
    padding:5px!important;
    top:8px!important;
    z-index:12!important;
  }
  html body.theme-admin :is(.organized-file-card,.pending-asset-card) .pending-file-body h3 {
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  /* Asset profiles remain source-information cards, without gallery thumbnails. */
  html body.theme-admin .profile-business-card {
    align-items:center!important;
    gap:8px!important;
    grid-template-columns:minmax(0,1fr)!important;
    min-height:124px!important;
    overflow:visible!important;
    padding:12px 48px 12px 12px!important;
    position:relative!important;
  }
  html body.theme-admin .profile-business-card__identity {
    gap:2px!important;
  }
  html body.theme-admin .profile-business-card__identity h3 {
    font-size:15px!important;
    margin:0!important;
  }
  html body.theme-admin .profile-business-card__identity p {
    font-size:11px!important;
  }
  html body.theme-admin .profile-business-card__stats {
    gap:5px 10px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html body.theme-admin .profile-business-card__stats span {
    border-left:0!important;
    font-size:10px!important;
    gap:2px!important;
    padding-left:0!important;
  }
  html body.theme-admin .profile-business-card__stats strong {
    font-size:12px!important;
  }
  html body.theme-admin .profile-business-card__actions {
    display:none!important;
  }
}

/* v1.3.0 mobile admin density refinements. Desktop rules stay unchanged. */
@media(max-width:760px) {
  /* Works: compact horizontal list cards. */
  body.theme-admin .admin-work-card {
    align-items:stretch;
    display:grid!important;
    grid-template-columns:104px minmax(0,1fr)!important;
    min-height:206px!important;
  }

  body.theme-admin .admin-work-card .admin-work-card-media {
    aspect-ratio:auto!important;
    border-radius:13px 0 0 13px!important;
    height:100%!important;
    min-height:206px!important;
    width:104px!important;
  }

  body.theme-admin .admin-work-card .admin-work-select-checkbox {
    height:24px!important;
    left:7px!important;
    padding:4px!important;
    top:7px!important;
    width:24px!important;
  }

  body.theme-admin .admin-work-card .admin-work-select-checkbox input {
    height:14px!important;
    width:14px!important;
  }

  body.theme-admin .admin-work-card-body {
    align-content:start;
    gap:5px 7px!important;
    padding:10px 11px!important;
  }

  body.theme-admin .admin-work-card-head :is(.status-pill,.status-badge) {
    font-size:10px!important;
    min-height:22px!important;
    padding:0 7px!important;
  }

  body.theme-admin .admin-work-card time {
    font-size:10px!important;
    max-width:92px;
    overflow:clip;
    text-overflow:ellipsis;
  }

  body.theme-admin .admin-work-card h2 {
    font-size:14px!important;
    line-height:1.35!important;
    margin:0!important;
    overflow:clip;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  body.theme-admin .admin-work-card-category {
    font-size:11px!important;
    line-height:1.35!important;
    margin:0!important;
    overflow:clip;
    text-overflow:ellipsis;
    white-space:nowrap!important;
  }

  body.theme-admin .admin-work-card-stats {
    font-size:10px!important;
    gap:7px!important;
    overflow:clip;
    padding:1px 0!important;
    white-space:nowrap;
  }

  body.theme-admin .admin-work-card-actions {
    gap:6px!important;
    margin-top:1px!important;
    max-width:none!important;
  }

  body.theme-admin .admin-work-card-actions > :is(a,form),
  body.theme-admin .admin-work-card-actions > form > button,
  body.theme-admin .admin-work-card-actions :is(a,button) {
    font-size:11px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 6px!important;
  }

  /* Organized assets: compact selection controls and readable statistics. */
  body.theme-admin .asset-overview-selection-toolbar {
    gap:10px!important;
    padding:12px!important;
  }

  body.theme-admin .asset-overview-selection-toolbar > div:first-child {
    min-width:0;
    width:100%;
  }

  body.theme-admin .asset-overview-selection-toolbar > div:first-child > span {
    display:none;
  }

  body.theme-admin .asset-overview-selection-actions {
    align-items:center!important;
    display:grid!important;
    gap:6px!important;
    grid-template-columns:minmax(64px,.75fr) minmax(64px,.75fr) minmax(132px,1.5fr)!important;
    width:100%!important;
  }

  body.theme-admin .asset-overview-selection-actions > form,
  body.theme-admin .asset-overview-selection-actions > :is(button,.button),
  body.theme-admin .asset-overview-selection-actions > form > button {
    box-sizing:border-box;
    font-size:10px!important;
    height:38px!important;
    min-height:38px!important;
    min-width:0!important;
    padding:0 5px!important;
    width:100%!important;
  }

  body.theme-admin .organized-overview-summary {
    align-items:stretch!important;
    display:grid!important;
    gap:9px!important;
    grid-template-columns:minmax(0,1fr)!important;
    height:auto!important;
    min-height:0!important;
    padding:12px!important;
  }

  body.theme-admin .organized-overview-summary .admin-section-card__header {
    justify-content:space-between!important;
    padding:0!important;
    width:100%!important;
  }

  body.theme-admin .organized-overview-summary__counts {
    border:0!important;
    display:grid!important;
    gap:8px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:0!important;
    width:100%!important;
  }

  body.theme-admin .organized-overview-summary__counts > span {
    box-sizing:border-box!important;
    justify-content:space-between!important;
    min-width:0!important;
    padding:0 9px!important;
    width:100%!important;
  }

  /* Asset and pending-file cards: thumbnail beside compact information. */
  body.theme-admin .organized-overview-section .organized-file-grid,
  body.theme-admin .pending-assets-page .pending-file-grid {
    gap:10px!important;
    grid-template-columns:minmax(0,1fr)!important;
  }

  body.theme-admin .organized-file-card,
  body.theme-admin .pending-asset-card {
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr)!important;
    min-height:150px!important;
  }

  body.theme-admin .organized-file-card .pending-file-preview,
  body.theme-admin .pending-asset-card .pending-file-preview {
    aspect-ratio:auto!important;
    border-radius:13px 0 0 13px!important;
    height:100%!important;
    min-height:150px!important;
    width:92px!important;
  }

  body.theme-admin .organized-file-card .pending-file-body,
  body.theme-admin .pending-asset-card .pending-file-body {
    gap:6px!important;
    min-height:0!important;
    padding:9px 10px!important;
  }

  body.theme-admin .organized-file-card .pending-file-body h3,
  body.theme-admin .pending-asset-card .pending-file-body h3 {
    font-size:12px!important;
    line-height:1.35!important;
  }

  body.theme-admin .organized-file-card .pending-file-meta,
  body.theme-admin .pending-asset-card .pending-file-meta {
    font-size:10px!important;
    gap:4px 7px!important;
  }

  body.theme-admin .organized-file-card .pending-file-meta > span:nth-child(n+2) {
    display:none!important;
  }

  body.theme-admin .organized-file-card .asset-card-actionbar,
  body.theme-admin .pending-asset-card .asset-card-actionbar {
    display:grid!important;
    gap:5px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    margin-top:auto!important;
  }

  body.theme-admin .organized-file-card .asset-card-actionbar > :is(a,form),
  body.theme-admin .pending-asset-card .asset-card-actionbar > :is(a,form) {
    min-width:0!important;
    width:100%!important;
  }

  body.theme-admin .organized-file-card .asset-card-actionbar :is(a,button),
  body.theme-admin .pending-asset-card .asset-card-actionbar :is(a,button) {
    font-size:10px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 4px!important;
    width:100%!important;
  }

  body.theme-admin :is(.organized-file-card,.pending-asset-card) :is(.asset-overview-card-select,.pending-asset-checkbox) {
    height:24px!important;
    left:7px!important;
    top:7px!important;
    width:24px!important;
  }

  /* Pending assets: profile selector gets a full row, actions remain usable. */
  body.theme-admin .pending-assets-toolbar .pending-actions {
    display:grid!important;
    gap:7px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
  }

  body.theme-admin .pending-assets-toolbar .pending-actions > .nova-select,
  body.theme-admin .pending-assets-toolbar .pending-actions > .asset-profile-select {
    grid-column:1 / -1!important;
    max-width:none!important;
    min-width:0!important;
    width:100%!important;
  }

  body.theme-admin .pending-assets-toolbar .pending-actions > :is(button,.button) {
    font-size:11px!important;
    height:40px!important;
    min-height:40px!important;
    min-width:0!important;
    padding:0 6px!important;
    width:100%!important;
  }

  /* Upload center: secondary module copy follows the mobile admin type scale. */
  body.theme-admin .upload-integrated-form .purchase-attachment-drop > strong {
    font-size:14px!important;
    line-height:1.4!important;
  }

  body.theme-admin .upload-integrated-form .purchase-attachment-drop > :is(span,small) {
    font-size:11px!important;
    line-height:1.45!important;
  }

  body.theme-admin [data-purchase-section] > .section-title h2 {
    font-size:16px!important;
    line-height:1.35!important;
  }
}

/* Secondary categories share a stable, low-saturation visual marker. */
body.theme-admin .category-child-card[data-category-tone] {
  box-shadow:inset 3px 0 var(--category-tone-marker,#aab8c5)!important;
}
body.theme-admin .category-child-card[data-category-tone="pink"] { --category-tone-marker:#beaeb7; }
body.theme-admin .category-child-card[data-category-tone="orange"] { --category-tone-marker:#c3b19f; }
body.theme-admin .category-child-card[data-category-tone="yellow"] { --category-tone-marker:#c2b990; }
body.theme-admin .category-child-card[data-category-tone="green"] { --category-tone-marker:#9fb7ad; }
body.theme-admin .category-child-card[data-category-tone="blue"] { --category-tone-marker:#9fb4c5; }
body.theme-admin .category-child-card[data-category-tone="purple"] { --category-tone-marker:#b2abc0; }

/* Asset overview multi-selection */
body.theme-admin [data-asset-overview-selection] {
  box-sizing:border-box;
  display:grid;
  gap:12px;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  width:100%;
}
body.theme-admin .asset-overview-selection-toolbar {
  align-items:center;
  box-sizing:border-box;
  display:flex;
  flex-wrap:nowrap;
  gap:16px;
  background:#fff;
  border:1px solid #e7e9ee;
  border-radius:16px;
  height:72px;
  justify-content:space-between;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  padding:12px 18px;
  position:static;
  width:100%;
  z-index:20;
}
body.theme-admin .asset-overview-selection-toolbar > div:first-child {
  align-items:center;
  display:flex;
  flex:1 1 auto;
  gap:10px;
  height:100%;
  margin:0;
  min-width:0;
  overflow:hidden;
  padding:0;
  white-space:nowrap;
}
body.theme-admin .asset-overview-selection-toolbar > div:first-child :is(strong, span) {
  line-height:1.3;
  margin:0;
  padding:0;
}
body.theme-admin .asset-overview-selection-toolbar > div:first-child span {
  color:#667085;
  font-size:13px;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.theme-admin .asset-overview-selection-actions {
  align-items:center;
  display:flex;
  flex:0 0 auto;
  gap:10px;
  justify-content:flex-end;
  margin-left:auto;
  white-space:nowrap;
}
body.theme-admin .asset-overview-selection-actions > form {
  align-items:center;
  display:flex;
  flex:0 0 auto;
  height:40px!important;
  margin:0;
}
body.theme-admin .asset-overview-selection-toolbar .asset-overview-selection-actions :is(.button, button) {
  align-items:center;
  box-sizing:border-box;
  display:inline-flex;
  height:40px;
  justify-content:center;
  line-height:1;
  margin:0 !important;
  white-space:nowrap;
}
body.theme-admin .asset-overview-selection-toolbar .asset-overview-selection-actions > .button {
  box-shadow:none !important;
}
body.theme-admin .asset-overview-selection-toolbar .asset-overview-selection-actions > .button:not(.secondary) {
  background:#111827 !important;
  border-color:#111827 !important;
  color:#fff !important;
}
body.theme-admin .asset-overview-selection-toolbar .asset-overview-selection-actions > .button.secondary {
  background:#fff !important;
  border-color:#cfd4dc !important;
  color:#111827 !important;
}
body.theme-admin .organized-file-card {
  position:relative;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
body.theme-admin .organized-file-card.is-selected {
  border-color:#1570ef;
  box-shadow:0 0 0 3px rgba(21,112,239,.16);
}
body.theme-admin .asset-overview-card-select {
  align-items:center;
  background:#fff;
  border:1px solid #d0d5dd;
  border-radius:8px;
  cursor:pointer;
  display:flex;
  height:30px;
  justify-content:center;
  left:10px;
  position:absolute;
  top:10px;
  width:30px;
  z-index:4;
}
body.theme-admin .asset-overview-card-select input {
  height:16px;
  margin:0;
  width:16px;
}
body.theme-admin .asset-overview-selected-grid {
  background:#fff;
  border:1px solid #e7e9ee;
  border-radius:16px;
  box-sizing:border-box;
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  max-height:72px;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  padding:10px 12px;
  scrollbar-width:thin;
  width:100%;
}
body.theme-admin .asset-overview-selection-empty {
  display:none;
}
body.theme-admin .asset-overview-selected-grid:has(> .asset-overview-selection-empty:only-child) {
  display:none;
}
body.theme-admin [data-asset-overview-selection].is-empty > .asset-overview-selected-grid {
  display:none;
}
body.theme-admin .asset-overview-selected-item {
  align-items:center;
  background:#fff;
  border:1px solid #dfe4ec;
  border-radius:10px;
  box-shadow:none;
  display:grid;
  flex:0 0 auto;
  gap:8px;
  grid-template-columns:40px minmax(80px,180px) 28px;
  height:48px;
  max-width:min(268px,calc(100vw - 64px));
  min-width:0;
  overflow:hidden;
  padding:3px 5px 3px 3px;
}
body.theme-admin .asset-overview-selected-thumb {
  background:#f2f4f7;
  border-radius:7px;
  display:block;
  height:40px;
  overflow:hidden;
  width:40px;
}
body.theme-admin .asset-overview-selected-thumb :is(img,video) {
  display:block;
  height:100%;
  object-fit:cover;
  width:100%;
}
body.theme-admin .asset-overview-selected-name {
  color:#1d2939;
  font-size:13px;
  font-weight:600;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.theme-admin .asset-overview-selected-remove {
  align-items:center;
  background:transparent;
  border:0;
  border-radius:7px;
  box-shadow:none;
  color:#667085;
  cursor:pointer;
  display:flex;
  font-size:20px;
  height:28px;
  justify-content:center;
  line-height:1;
  margin:0;
  padding:0;
  width:28px;
}
body.theme-admin .asset-overview-selected-remove:hover,
body.theme-admin .asset-overview-selected-remove:focus-visible {
  background:#f2f4f7;
  color:#111827;
}
.asset-overview-selection-box {
  background:rgba(21,112,239,.12);
  border:1px solid rgba(21,112,239,.72);
  pointer-events:none;
  position:fixed;
  z-index:9999;
}
@media(max-width:760px) {
  body.theme-admin .asset-overview-selection-toolbar {
    display:grid;
    gap:8px;
    grid-template-columns:minmax(0,1fr);
    height:auto;
    min-height:112px;
    overflow:clip;
    padding:12px 14px;
    position:static;
  }
  body.theme-admin .asset-overview-selection-toolbar > div:first-child {
    height:auto;
    width:100%;
  }
  body.theme-admin .asset-overview-selection-toolbar > div:first-child span {
    display:none;
  }
  body.theme-admin .asset-overview-selection-actions {
    display:grid;
    gap:8px;
    grid-template-columns:auto minmax(0,1fr);
    margin-left:0;
    min-width:0;
    width:100%;
  }
  body.theme-admin .asset-overview-selection-actions > .button {
    font-size:12px;
    min-width:0;
    padding-inline:10px;
    white-space:nowrap;
    width:100%;
  }
  body.theme-admin .asset-overview-selected-grid {
    max-height:72px;
  }
}

/* v1.2.1 mobile storefront refinements. Desktop presentation stays unchanged. */
.mobile-public-user-menu {
  display:none;
}

@media(max-width:760px) {
  body:not(.theme-admin) > .topbar {
    display:none!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell > .material-storefront {
    display:none;
  }

  body.theme-white:not(.theme-admin) :is(
    .design-home-entrance,
    .home-banner-list,
    .home-zone-navigation,
    .design-category-panel,
    .design-work-section,
    .announcement-page,
    .album-page
  ) {
    box-sizing:border-box;
    max-width:100%;
  }

  body.theme-white:not(.theme-admin) :is(
    .design-home-entrance,
    .home-banner-list,
    .home-zone-navigation,
    .design-category-panel,
    .design-work-section
  ) {
    margin-left:auto;
    margin-right:auto;
    width:calc(100% - 32px)!important;
  }

  body.theme-white:not(.theme-admin) .mobile-page-title {
    box-sizing:border-box;
    gap:4px;
    padding:18px 16px 12px;
  }

  body.theme-white:not(.theme-admin) .mobile-page-title strong {
    font-size:22px;
    line-height:1.25;
  }

  body.theme-white:not(.theme-admin) .mobile-page-title span {
    font-size:13px;
    line-height:1.5;
  }

  body.theme-white:not(.theme-admin) .album-page,
  body.theme-white:not(.theme-admin) .announcement-page {
    padding-left:16px;
    padding-right:16px;
  }

  body.theme-white:not(.theme-admin) .album-page .mobile-page-title,
  body.theme-white:not(.theme-admin) .announcement-page .mobile-page-title {
    padding-left:0;
    padding-right:0;
  }

  body.theme-white:not(.theme-admin) .announcement-page .announcement-shell,
  body.theme-white:not(.theme-admin) .album-page .album-layout {
    padding-left:0!important;
    padding-right:0!important;
  }

  body.theme-white:not(.theme-admin) .announcement-list {
    gap:14px;
  }

  body.theme-white:not(.theme-admin) .album-page .album-category-disclosure > summary {
    box-sizing:border-box;
    min-height:44px;
    padding:9px 12px!important;
  }

  body.theme-white:not(.theme-admin) .album-page .album-category-tree {
    gap:8px;
    max-height:180px;
    overflow-y:auto;
    padding:8px 10px 10px;
  }

  body.theme-white:not(.theme-admin) .album-page .album-category-group {
    gap:6px;
  }

  body.theme-white:not(.theme-admin) .album-page .album-browser-head {
    align-items:end;
    display:grid;
    gap:10px;
    grid-template-columns:minmax(0,1fr) auto;
    margin-bottom:14px;
    padding:14px 2px 12px;
  }

  body.theme-white:not(.theme-admin) .album-page .album-browser-head > div:first-child {
    display:grid;
    gap:3px;
    min-width:0;
  }

  body.theme-white:not(.theme-admin) .album-page .album-browser-head :is(.eyebrow,h1,p) {
    margin:0;
  }

  body.theme-white:not(.theme-admin) .album-page .album-browser-head h1 {
    font-size:21px;
    line-height:1.25;
  }

  body.theme-white:not(.theme-admin) .album-page .album-browser-head p {
    font-size:12px;
    line-height:1.45;
  }

  body.theme-white:not(.theme-admin) .album-page .album-browser-actions {
    align-items:center;
    display:flex;
    margin:0;
  }

  body.theme-white:not(.theme-admin) .album-page .album-browser-actions .text-button {
    display:none!important;
  }

  body.theme-white:not(.theme-admin) .album-page .album-browser-actions :is(button,a) {
    min-height:40px;
  }

  body.theme-white:not(.theme-admin) .album-page .album-media-grid {
    column-gap:10px;
  }

  body.theme-white:not(.theme-admin) .album-page .album-image-card {
    margin-bottom:10px;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .category-list-toolbar {
    gap:12px;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-form {
    display:grid;
    gap:8px;
    grid-template-columns:minmax(0,1fr);
    position:relative;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-search {
    box-sizing:border-box;
    height:46px!important;
    padding-right:52px!important;
    width:100%;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-form > button[type="submit"] {
    align-items:center;
    background:transparent!important;
    border:0!important;
    border-radius:10px;
    box-shadow:none!important;
    color:#344054!important;
    display:flex;
    font-size:0;
    height:40px!important;
    justify-content:center;
    min-height:40px!important;
    padding:0!important;
    position:absolute;
    right:3px;
    top:3px;
    width:44px;
    z-index:2;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-form > button[type="submit"]::before {
    content:"⌕";
    font-size:24px;
    font-weight:700;
    line-height:1;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .home-sort-dropdown {
    min-width:0;
    width:100%;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell {
    box-sizing:border-box;
    padding:20px 16px 88px!important;
  }

  body.theme-white:not(.theme-admin) .case-detail-page :is(
    .case-detail-header,
    .case-work-gallery,
    .case-work-details,
    .case-related-works
  ) {
    margin-left:auto;
    margin-right:auto;
    max-width:100%;
  }

  body:not(.theme-admin) .mobile-public-user-menu {
    bottom:calc(72px + env(safe-area-inset-bottom));
    display:block;
    left:14px;
    position:fixed;
    z-index:140;
  }

  body:not(.theme-admin) .mobile-public-user-avatar {
    align-items:center;
    background:#111827;
    border:3px solid #fff;
    border-radius:50%;
    box-shadow:0 8px 24px rgba(15,23,42,.2);
    box-sizing:border-box;
    color:#fff;
    cursor:pointer;
    display:flex;
    height:48px;
    justify-content:center;
    list-style:none;
    padding:0;
    width:48px;
  }

  body:not(.theme-admin) .mobile-public-user-avatar::-webkit-details-marker {
    display:none;
  }

  body:not(.theme-admin) .mobile-public-user-avatar span {
    align-items:center;
    display:flex;
    font-size:15px;
    font-weight:800;
    height:100%;
    justify-content:center;
    width:100%;
  }

  body:not(.theme-admin) .mobile-public-user-dropdown {
    background:#fff;
    border:1px solid #e4e7ec;
    border-radius:14px;
    bottom:56px;
    box-shadow:0 16px 36px rgba(15,23,42,.16);
    display:grid;
    gap:4px;
    left:0;
    min-width:200px;
    padding:8px;
    position:absolute;
  }

  body:not(.theme-admin) .mobile-public-user-dropdown :is(a,button) {
    align-items:center;
    background:transparent;
    border:0;
    border-radius:9px;
    box-sizing:border-box;
    color:#1d2939;
    display:flex;
    font:inherit;
    font-size:14px;
    min-height:42px;
    padding:0 11px;
    text-align:left;
    text-decoration:none;
    width:100%;
  }

  body:not(.theme-admin) .mobile-public-user-dropdown :is(a,button):hover,
  body:not(.theme-admin) .mobile-public-user-dropdown :is(a,button):focus-visible {
    background:#f5f6f8;
  }

  body:not(.theme-admin) .mobile-public-user-dropdown form {
    margin:0;
  }

  body:not(.theme-admin) .mobile-public-user-info {
    border-bottom:1px solid #eef0f3;
    display:grid;
    gap:2px;
    margin-bottom:3px;
    padding:8px 11px 10px;
  }

  body:not(.theme-admin) .mobile-public-user-info small {
    color:#667085;
    font-size:12px;
  }
}

/* Public UI acceptance round 2: portfolio wall, detail media and album masonry. */
body:not(.theme-admin) .portfolio-work-card {
  height: 440px;
  overflow: hidden;
}

body:not(.theme-admin) .portfolio-work-card .work-card-link {
  display: grid;
  grid-template-rows: 340px 100px;
  height: 100%;
}

body:not(.theme-admin) .portfolio-work-card .work-card-media {
  height: 340px;
  min-height: 340px;
}

body:not(.theme-admin) .portfolio-work-card .work-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body:not(.theme-admin) .portfolio-work-card .work-card-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
  padding: 14px 16px 16px;
}

body:not(.theme-admin) .portfolio-work-card .work-card-meta,
body:not(.theme-admin) .portfolio-work-card h3 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body:not(.theme-admin) .portfolio-work-card .work-card-tags,
body:not(.theme-admin) .portfolio-work-card .work-card-entry,
body:not(.theme-admin) .portfolio-work-card .card-action-row,
body:not(.theme-admin) .portfolio-work-card .product-card-stats {
  display: none !important;
}

body:not(.theme-admin) .case-main-media {
  height: clamp(520px, 56vw, 620px);
  max-height: 620px;
  overflow: hidden;
}

body:not(.theme-admin) .case-main-media > button,
body:not(.theme-admin) .case-main-media > video {
  display: block;
  width: 100%;
  height: 100%;
}

body:not(.theme-admin) .case-main-media img,
body:not(.theme-admin) .case-main-media video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f3f4f6;
}

body:not(.theme-admin) .case-work-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body:not(.theme-admin) .case-related-works {
  margin: 56px 0 32px;
}

body:not(.theme-admin) .case-related-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

body:not(.theme-admin) .case-related-head small {
  color: var(--muted);
}

body:not(.theme-admin) .case-related-head h2 {
  margin: 4px 0 0;
}

body:not(.theme-admin) .case-related-head a {
  color: inherit;
  font-weight: 700;
}

body:not(.theme-admin) .album-media-grid {
  display: block;
  columns: 3;
  column-gap: 18px;
}

body:not(.theme-admin) .album-media-grid .album-image-card {
  position: relative;
  display: inline-block;
  width: 100%;
  height: auto;
  margin: 0 0 18px;
  break-inside: avoid;
  overflow: hidden;
}

body:not(.theme-admin) .album-media-grid .album-image-card img,
body:not(.theme-admin) .album-media-grid .album-image-card video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}

body:not(.theme-admin) .album-video-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  width: auto;
  min-width: 0;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.78);
  color: #fff;
  font-size: 11px;
  font-style: normal;
  line-height: 1;
}

@media (max-width: 720px) {
  body:not(.theme-admin) .portfolio-work-card {
    height: 320px;
  }

  body:not(.theme-admin) .portfolio-work-card .work-card-link {
    grid-template-rows: 238px 82px;
  }

  body:not(.theme-admin) .portfolio-work-card .work-card-media {
    height: 238px;
    min-height: 238px;
  }

  body:not(.theme-admin) .portfolio-work-card .work-card-body {
    padding: 10px 12px 12px;
  }

  body:not(.theme-admin) .case-main-media {
    height: clamp(320px, 100vw, 400px);
    max-height: 400px;
  }

  body:not(.theme-admin) .case-work-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body:not(.theme-admin) .case-related-works {
    margin-top: 38px;
  }

  body:not(.theme-admin) .album-media-grid {
    columns: 2;
    column-gap: 10px;
  }

  body:not(.theme-admin) .album-media-grid .album-image-card {
    margin-bottom: 10px;
  }
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-1.active {
  background: linear-gradient(135deg, #faf5fb 0%, #f5edf7 100%) !important;
  border-color: transparent !important;
  transform: none !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-2.active {
  background: linear-gradient(135deg, #f3f8fc 0%, #eaf3f9 100%) !important;
  border-color: transparent !important;
  transform: none !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.active::after {
  opacity: 1;
  transform: none !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel {
  gap: 12px;
  justify-content: flex-start;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-head {
  margin: 0;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel .design-secondary-strip {
  display: flex;
  flex: 0 0 auto;
  justify-content: flex-start;
  margin: 0 !important;
  width: auto !important;
}

body:not(.theme-admin) .home-page-shell .category-list-toolbar {
  align-items: center;
  min-height: 58px;
}

body:not(.theme-admin) .home-page-shell .category-list-toolbar > div,
body:not(.theme-admin) .home-page-shell .category-list-toolbar > div:first-child strong,
body:not(.theme-admin) .home-page-shell .design-toolbar-form {
  align-items: center;
  align-self: center;
}

body:not(.theme-admin) .home-page-shell .category-list-toolbar > div:first-child strong {
  line-height: 40px;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.active,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-1.active,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-2.active {
  background: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
  color: inherit !important;
  transform: none !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.active .design-zone-action {
  background: #f2f4f7;
  color: #151719;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card:hover .design-zone-action {
  background: #151719;
  color: #fff;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel {
  justify-content: flex-start;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-head {
  margin-right: 0;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel .design-secondary-strip {
  flex: 0 1 auto;
  justify-content: flex-start;
  margin-left: 0;
  margin-right: 0;
}

body:not(.theme-admin) .home-page-shell .portfolio-work-card {
  height: 410px !important;
}

body:not(.theme-admin) .home-page-shell .portfolio-work-card .work-card-link {
  grid-template-rows: 300px 110px !important;
}

body:not(.theme-admin) .home-page-shell .portfolio-work-card .work-card-body {
  padding-left: 20px !important;
  padding-right: 22px !important;
  padding-top: 16px !important;
  padding-bottom: 22px !important;
}

@media (max-width: 720px) {
  body:not(.theme-admin) .home-page-shell .portfolio-work-card {
    height: 310px !important;
  }

  body:not(.theme-admin) .home-page-shell .portfolio-work-card .work-card-link {
    grid-template-rows: 205px 105px !important;
  }
}

/* Admin design system: authoritative shared layout and components. */
body.theme-admin {
  --admin-sidebar-width: 220px;
  --admin-topbar-height: 64px;
  --admin-page-gap: 24px;
  --admin-page-padding: clamp(18px, 2.2vw, 34px);
  --color-primary: #1d4ed8;
  --color-bg: #f7f8fa;
  --color-card: #ffffff;
  --color-text: #111827;
  --color-border: #e3e7ee;
  --color-danger: #c92a2a;
  --radius-card: 12px;
  --radius-input: 8px;
  --shadow-card: 0 1px 2px rgba(15, 23, 42, 0.025), 0 8px 24px rgba(15, 23, 42, 0.035);
  background: var(--color-bg);
}

body.theme-admin > main {
  min-width: 0;
  min-height: 100vh;
  width: 100%;
}

body.theme-admin .topbar.admin {
  min-height: var(--admin-topbar-height);
  padding: 0 var(--admin-page-padding);
}

body.theme-admin .dashboard,
body.theme-admin .dashboard.admin-layout {
  align-items: start;
  display: grid;
  gap: var(--admin-page-gap);
  grid-template-columns: var(--admin-sidebar-width) minmax(0, 1fr);
  max-width: none;
  min-height: 100vh;
  padding: calc(var(--admin-topbar-height) + 24px) var(--admin-page-padding) 40px;
  width: 100%;
}

body.theme-admin .dashboard > .admin-sidebar,
body.theme-admin .dashboard.admin-layout > .admin-sidebar {
  align-self: start;
  bottom: auto;
  box-sizing: border-box;
  left: auto;
  max-height: calc(100vh - var(--admin-topbar-height) - 48px);
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: sticky;
  right: auto;
  top: calc(var(--admin-topbar-height) + 24px);
  width: var(--admin-sidebar-width);
}

body.theme-admin .dashboard > .stack,
body.theme-admin .dashboard > .dashboard-content,
body.theme-admin .dashboard.admin-layout > .dashboard-content {
  align-content: start;
  display: grid;
  gap: var(--space-section);
  margin: 0;
  max-width: none;
  min-width: 0;
  width: 100%;
}

body.theme-admin .dashboard-content > *,
body.theme-admin .dashboard > .stack > *,
body.theme-admin .asset-page,
body.theme-admin .asset-board-main,
body.theme-admin .work-create-main,
body.theme-admin .work-detail-admin-main {
  box-sizing: border-box;
  max-width: none;
  min-width: 0;
  width: 100%;
}

body.theme-admin .panel,
body.theme-admin .admin-stat-card,
body.theme-admin .admin-module-card,
body.theme-admin .resource-summary-panel,
body.theme-admin .material-card,
body.theme-admin .author-card,
body.theme-admin .announcement-admin-card,
body.theme-admin .asset-board-top,
body.theme-admin .asset-search-panel,
body.theme-admin .asset-board-section,
body.theme-admin .asset-profile-card,
body.theme-admin .upload-info-card,
body.theme-admin .upload-drop-card,
body.theme-admin .work-create-panel,
body.theme-admin .work-content-editor {
  background: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}

body.theme-admin .panel,
body.theme-admin .asset-board-top,
body.theme-admin .asset-search-panel,
body.theme-admin .asset-board-section,
body.theme-admin .work-create-panel,
body.theme-admin .work-content-editor {
  padding: var(--space-card, 24px);
}

body.theme-admin .panel-head,
body.theme-admin .asset-board-top,
body.theme-admin .work-create-head,
body.theme-admin .section-title {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

body.theme-admin h1,
body.theme-admin h2,
body.theme-admin h3,
body.theme-admin p {
  letter-spacing: 0;
}

body.theme-admin .panel-head h1,
body.theme-admin .asset-board-top h1,
body.theme-admin .work-create-head h1,
body.theme-admin .admin-home-hero h1 {
  font-size: clamp(26px, 2.2vw, 34px);
  line-height: 1.2;
  margin: 0;
}

body.theme-admin .panel-head h2,
body.theme-admin .section-title h2,
body.theme-admin .work-create-panel h2 {
  font-size: 20px;
  line-height: 1.35;
  margin: 0;
}

body.theme-admin .eyebrow {
  color: var(--color-primary);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  margin: 0 0 6px;
}

body.theme-admin .muted,
body.theme-admin .lead,
body.theme-admin small {
  color: #667085;
}

body.theme-admin .button,
body.theme-admin button.button,
body.theme-admin a.button,
body.theme-admin .asset-primary-action,
body.theme-admin .upload-submit {
  align-items: center;
  background: #111827;
  border: 1px solid #111827;
  border-radius: var(--radius-input);
  color: #fff;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  justify-content: center;
  min-height: 40px;
  padding: 9px 15px;
}

body.theme-admin .button.secondary,
body.theme-admin .secondary-action {
  background: #fff;
  border-color: var(--color-border);
  color: var(--color-text);
}

body.theme-admin .text-button {
  color: #344054;
  font-weight: 700;
}

body.theme-admin .button:hover,
body.theme-admin .asset-primary-action:hover,
body.theme-admin .upload-submit:hover {
  background: #263244;
  border-color: #263244;
  transform: none;
}

body.theme-admin input:not([type="checkbox"]):not([type="radio"]),
body.theme-admin select,
body.theme-admin textarea {
  box-sizing: border-box;
  min-height: 42px;
  padding: 10px 12px;
  width: 100%;
}

body.theme-admin textarea {
  min-height: 104px;
  resize: vertical;
}

body.theme-admin input:focus,
body.theme-admin select:focus,
body.theme-admin textarea:focus {
  border-color: #8aa4d8;
  box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.09);
}

body.theme-admin .form-grid,
body.theme-admin .work-info-form,
body.theme-admin .upload-info-card {
  gap: 18px;
}

body.theme-admin .form-grid label,
body.theme-admin .work-info-form label,
body.theme-admin .upload-info-card label {
  gap: 7px;
}

body.theme-admin .uploader-dropzone,
body.theme-admin .upload-drop-card {
  align-content: center;
  background: #fbfcfe;
  border: 1.5px dashed #cbd2dc;
  border-radius: var(--radius-card);
  box-shadow: none;
  min-height: 150px;
  padding: 24px;
  text-align: center;
  transition: border-color 160ms ease, background 160ms ease;
}

body.theme-admin .uploader-dropzone:hover,
body.theme-admin .uploader-dropzone.dragging,
body.theme-admin .upload-drop-card:hover,
body.theme-admin .upload-drop-card.dragging {
  background: #f5f8ff;
  border-color: #6f8fcf;
}

body.theme-admin .uploader-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

body.theme-admin .upload-row {
  align-items: center;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-input);
  gap: 10px;
  min-width: 0;
  padding: 10px 12px;
}

body.theme-admin .upload-preview {
  border-radius: 6px;
  overflow: hidden;
}

body.theme-admin .upload-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .table-wrap {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  overflow: auto;
}

body.theme-admin table,
body.theme-admin .admin-data-table,
body.theme-admin .category-tree-table,
body.theme-admin .asset-purchase-table {
  background: #fff;
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

body.theme-admin th,
body.theme-admin .admin-data-table th {
  background: #f8f9fb;
  color: #475467;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

body.theme-admin th,
body.theme-admin td,
body.theme-admin .admin-data-table th,
body.theme-admin .admin-data-table td {
  border-bottom: 1px solid var(--color-border);
  padding: 13px 14px;
}

body.theme-admin tr:last-child td {
  border-bottom: 0;
}

body.theme-admin .asset-waterfall,
body.theme-admin .asset-pinboard {
  column-count: initial;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  width: 100%;
}

body.theme-admin .asset-profile-grid,
body.theme-admin .admin-module-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

body.theme-admin .work-create-grid,
body.theme-admin .upload-center-form {
  display: grid;
  gap: 20px;
  min-width: 0;
  width: 100%;
}

body.theme-admin .work-create-head {
  background: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--space-card, 24px);
}

body.theme-admin .empty-panel,
body.theme-admin .empty-state {
  background: #fff;
  border: 1px dashed #cfd5de;
  border-radius: var(--radius-card);
  box-shadow: none;
}

@media (max-width: 900px) {
  body.theme-admin {
    --admin-page-padding: 16px;
    --admin-page-gap: 16px;
  }

  body.theme-admin .dashboard,
  body.theme-admin .dashboard.admin-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding-top: 132px;
  }

  body.theme-admin .dashboard > .admin-sidebar,
  body.theme-admin .dashboard.admin-layout > .admin-sidebar {
    bottom: auto;
    display: flex;
    gap: 6px;
    left: var(--admin-page-padding);
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    position: fixed;
    right: var(--admin-page-padding);
    top: 76px;
    width: auto;
    z-index: 20;
  }

  body.theme-admin .dashboard > .admin-sidebar a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  body.theme-admin .panel-head,
  body.theme-admin .asset-board-top,
  body.theme-admin .work-create-head,
  body.theme-admin .admin-home-hero {
    align-items: stretch;
    flex-direction: column;
  }

  body.theme-admin .admin-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.theme-admin .upload-center-grid,
  body.theme-admin .work-create-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 560px) {
  body.theme-admin .admin-stat-grid,
  body.theme-admin .asset-waterfall,
  body.theme-admin .asset-pinboard,
  body.theme-admin .asset-profile-grid,
  body.theme-admin .admin-module-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .panel,
  body.theme-admin .asset-board-top,
  body.theme-admin .asset-search-panel,
  body.theme-admin .asset-board-section,
  body.theme-admin .work-create-panel,
  body.theme-admin .work-content-editor {
    padding: 18px;
  }
}

/* White release theme: professional design workspace refinement. */
body.theme-admin {
  --admin-page-padding: clamp(20px, 2.6vw, 40px);
  --color-primary: #2563eb;
  --color-bg: #f5f6f8;
  --color-card: #ffffff;
  --color-text: #15171a;
  --color-muted: #667085;
  --color-border: #e5e7eb;
  --radius-card: 12px;
  --radius-input: 8px;
  --shadow-card: 0 1px 2px rgba(16, 24, 40, 0.03), 0 10px 30px rgba(16, 24, 40, 0.045);
  color: var(--color-text);
}

body.theme-admin .topbar.admin {
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid var(--color-border);
  box-shadow: 0 1px 10px rgba(16, 24, 40, 0.035);
  min-height: var(--admin-topbar-height);
}

body.theme-admin .topbar.admin .brand {
  color: #101828;
  font-size: 18px;
  font-weight: 850;
}

body.theme-admin .admin-top-title {
  border-left: 1px solid var(--color-border);
  color: #667085;
  margin-left: 14px;
  padding-left: 14px;
}

body.theme-admin .admin-user-chip {
  background: #f8fafc;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  min-height: 42px;
  padding: 5px 10px 5px 6px;
}

body.theme-admin .admin-avatar {
  background: #111827;
  color: #fff;
}

body.theme-admin .admin-sidebar {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: 12px;
}

body.theme-admin .admin-sidebar-title {
  color: #98a2b3;
  font-size: 11px;
  font-weight: 800;
  padding: 8px 12px 10px;
}

body.theme-admin .admin-sidebar > a,
body.theme-admin .admin-sidebar .sidebar-subnav a {
  border-radius: 8px;
  color: #475467;
  font-size: 14px;
  font-weight: 700;
  margin: 2px 0;
  padding: 11px 12px;
  transition: background-color 160ms ease, color 160ms ease;
}

body.theme-admin .admin-sidebar > a:hover,
body.theme-admin .admin-sidebar .sidebar-subnav a:hover {
  background: #f4f6f8;
  color: #101828;
}

body.theme-admin .admin-sidebar > a.active,
body.theme-admin .admin-sidebar .sidebar-subnav a.active {
  background: #eef4ff;
  color: #1d4ed8;
}

body.theme-admin .sidebar-subnav {
  border-left: 1px solid #dbe4f0;
  margin: 2px 0 6px 16px;
  padding-left: 8px;
}

body.theme-admin .dashboard-content {
  gap: 22px;
}

body.theme-admin .panel,
body.theme-admin .asset-board-top,
body.theme-admin .asset-search-panel,
body.theme-admin .asset-board-section,
body.theme-admin .work-create-panel,
body.theme-admin .work-create-head,
body.theme-admin .work-content-editor {
  box-shadow: var(--shadow-card);
}

body.theme-admin .panel-head,
body.theme-admin .section-title,
body.theme-admin .work-content-editor-head {
  align-items: flex-end;
  border-bottom: 1px solid #eef0f3;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 22px;
  padding-bottom: 18px;
}

body.theme-admin .panel-head h1,
body.theme-admin .panel-head h2,
body.theme-admin .section-title h2 {
  color: #101828;
}

body.theme-admin .eyebrow {
  color: var(--color-primary);
  font-size: 12px;
  font-weight: 850;
  margin-bottom: 8px;
}

body.theme-admin .muted,
body.theme-admin .lead,
body.theme-admin small {
  color: var(--color-muted);
}

body.theme-admin .admin-home-hero {
  background: linear-gradient(112deg, #ffffff 0%, #ffffff 72%, #f3f7ff 100%);
  border-color: #dfe5ef;
  min-height: 170px;
  overflow: hidden;
  padding: 30px 32px;
  position: relative;
}

body.theme-admin .admin-home-hero::before {
  background: #2563eb;
  content: "";
  inset: 0 auto 0 0;
  position: absolute;
  width: 4px;
}

body.theme-admin .admin-home-hero .lead {
  line-height: 1.75;
  max-width: 760px;
}

body.theme-admin .admin-home-actions {
  align-items: center;
}

body.theme-admin .button,
body.theme-admin button.button,
body.theme-admin a.button,
body.theme-admin .asset-primary-action,
body.theme-admin .upload-submit {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.theme-admin .button:hover,
body.theme-admin button.button:hover,
body.theme-admin a.button:hover,
body.theme-admin .asset-primary-action:hover,
body.theme-admin .upload-submit:hover {
  background: #243044;
  border-color: #243044;
  box-shadow: 0 6px 14px rgba(17, 24, 39, 0.16);
  transform: translateY(-1px);
}

body.theme-admin .button.secondary:hover,
body.theme-admin .secondary-action:hover {
  background: #f8fafc;
  border-color: #cfd5df;
  box-shadow: none;
  color: #101828;
}

body.theme-admin .text-button {
  color: #344054;
  font-weight: 750;
  text-decoration: none;
}

body.theme-admin .text-button:hover {
  color: #1d4ed8;
}

body.theme-admin .admin-stat-grid {
  gap: 18px;
}

body.theme-admin .admin-stat-card {
  border-color: #e3e7ed;
  box-shadow: var(--shadow-card);
  min-height: 122px;
  overflow: hidden;
  padding: 20px 20px 18px;
  position: relative;
}

body.theme-admin .admin-stat-card::before {
  background: #dbe5f5;
  content: "";
  height: 3px;
  inset: 0 0 auto;
  position: absolute;
}

body.theme-admin .admin-stat-card.stat-works::before { background: #2563eb; }
body.theme-admin .admin-stat-card.stat-assets::before { background: #0f766e; }
body.theme-admin .admin-stat-card.stat-notices::before { background: #7c3aed; }
body.theme-admin .admin-stat-card.stat-updated::before { background: #475467; }

body.theme-admin .admin-stat-card span {
  color: #667085;
  font-weight: 700;
}

body.theme-admin .admin-stat-card strong {
  color: #101828;
  font-size: 32px;
}

body.theme-admin .admin-stat-card small {
  font-size: 12px;
  line-height: 1.4;
}

body.theme-admin .admin-activity-panel {
  padding-bottom: 12px;
}

body.theme-admin .admin-activity-list {
  gap: 0;
}

body.theme-admin .admin-activity-item {
  border: 0;
  border-bottom: 1px solid #eef0f3;
  border-radius: 0;
  min-height: 58px;
  padding: 11px 4px;
}

body.theme-admin .admin-activity-item:last-child {
  border-bottom: 0;
}

body.theme-admin .admin-activity-item span {
  background: #f2f4f7;
  color: #475467;
}

body.theme-admin .admin-module-grid {
  grid-template-columns: repeat(4, minmax(220px, 1fr));
}

body.theme-admin .admin-module-card,
body.theme-admin .admin-module-card.primary {
  background: #fff;
  border-color: #e3e7ed;
  box-shadow: var(--shadow-card);
  color: #101828;
  min-height: 190px;
  overflow: hidden;
  position: relative;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.theme-admin .admin-module-card::before {
  background: #d0d5dd;
  content: "";
  height: 4px;
  inset: 0 0 auto;
  position: absolute;
}

body.theme-admin .admin-module-card.module-works::before { background: #2563eb; }
body.theme-admin .admin-module-card.module-assets::before { background: #0f766e; }
body.theme-admin .admin-module-card.module-notices::before { background: #7c3aed; }
body.theme-admin .admin-module-card.module-settings::before { background: #475467; }

body.theme-admin .admin-module-card:hover {
  border-color: #cfd6e1;
  box-shadow: 0 14px 34px rgba(16, 24, 40, 0.075);
  transform: translateY(-2px);
}

body.theme-admin .admin-module-card.primary p,
body.theme-admin .admin-module-card.primary .text-button,
body.theme-admin .admin-module-card p {
  color: #667085;
}

body.theme-admin input:not([type="checkbox"]):not([type="radio"]),
body.theme-admin select,
body.theme-admin textarea {
  background: #fff;
  color: #101828;
  outline: none;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

body.theme-admin input:not([type="checkbox"]):not([type="radio"]):focus,
body.theme-admin select:focus,
body.theme-admin textarea:focus {
  border-color: #7aa2ed;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

body.theme-admin label > span,
body.theme-admin .field-title {
  color: #344054;
  font-size: 13px;
  font-weight: 750;
}

body.theme-admin .admin-search,
body.theme-admin .asset-search {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e7eaf0;
  border-radius: 10px;
  display: flex;
  gap: 10px;
  padding: 10px;
}

body.theme-admin .admin-search button,
body.theme-admin .asset-search button,
body.theme-admin .asset-profile-create button {
  background: #111827;
  border: 1px solid #111827;
  border-radius: 8px;
  color: #fff;
  flex: 0 0 auto;
  font-weight: 750;
  min-height: 40px;
  padding: 8px 15px;
}

body.theme-admin .admin-work-table-wrap {
  margin-top: 18px;
}

body.theme-admin .admin-data-table th,
body.theme-admin .admin-data-table td {
  border-bottom: 1px solid #edf0f3;
  padding: 13px 14px;
  vertical-align: middle;
}

body.theme-admin .admin-data-table tbody tr {
  transition: background-color 140ms ease;
}

body.theme-admin .admin-data-table tbody tr:hover {
  background: #f9fafb;
}

body.theme-admin .admin-work-cover {
  aspect-ratio: 4 / 3;
  border-radius: 8px;
  height: 62px;
  object-fit: cover;
  width: 82px;
}

body.theme-admin .admin-work-title strong {
  color: #101828;
  font-size: 14px;
}

body.theme-admin .admin-work-title small {
  display: block;
  margin-top: 5px;
}

body.theme-admin .admin-tag-row span,
body.theme-admin .status-pill,
body.theme-admin .asset-pill-row span {
  background: #f2f4f7;
  border: 1px solid #e4e7ec;
  border-radius: 999px;
  color: #475467;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 8px;
}

body.theme-admin .status-pill.ok {
  background: #ecfdf3;
  border-color: #c7edd6;
  color: #067647;
}

body.theme-admin .status-pill.warn {
  background: #fffaeb;
  border-color: #f9e4ad;
  color: #b54708;
}

body.theme-admin .asset-board-top {
  align-items: center;
  background: linear-gradient(112deg, #ffffff 0%, #ffffff 72%, #f4f8ff 100%);
  display: flex;
  justify-content: space-between;
  min-height: 150px;
}

body.theme-admin .asset-board-top > div:first-child {
  max-width: 760px;
}

body.theme-admin .asset-board-stats {
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid #dfe5ee;
  border-radius: 10px;
  display: grid;
  grid-template-columns: repeat(2, minmax(92px, 1fr));
  min-width: 240px;
  overflow: hidden;
}

body.theme-admin .asset-board-stats span {
  color: #667085;
  display: grid;
  gap: 4px;
  padding: 14px;
}

body.theme-admin .asset-board-stats span:nth-child(odd) {
  border-right: 1px solid #e5e7eb;
}

body.theme-admin .asset-board-stats span:nth-child(-n + 2) {
  border-bottom: 1px solid #e5e7eb;
}

body.theme-admin .asset-board-stats strong {
  color: #101828;
  font-size: 21px;
}

body.theme-admin .asset-board-tabs {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  display: flex;
  gap: 4px;
  overflow-x: auto;
  padding: 6px;
}

body.theme-admin .asset-board-tabs a,
body.theme-admin .asset-filter-row a {
  border-radius: 7px;
  color: #667085;
  font-size: 13px;
  font-weight: 700;
  padding: 9px 12px;
  white-space: nowrap;
}

body.theme-admin .asset-board-tabs a.active,
body.theme-admin .asset-board-tabs a:hover,
body.theme-admin .asset-filter-row a.active,
body.theme-admin .asset-filter-row a:hover {
  background: #eef4ff;
  color: #1d4ed8;
}

body.theme-admin .asset-search-panel {
  display: grid;
  gap: 14px;
  padding: 16px;
}

body.theme-admin .asset-waterfall,
body.theme-admin .asset-pinboard {
  gap: 20px;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

body.theme-admin .asset-card,
body.theme-admin .asset-pin-card {
  background: #fff;
  border: 1px solid #e3e7ed;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(16, 24, 40, 0.035);
  margin: 0;
  overflow-x: auto;
  position: relative;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.theme-admin .asset-card:hover,
body.theme-admin .asset-pin-card:hover {
  border-color: #cdd5e1;
  box-shadow: 0 14px 34px rgba(16, 24, 40, 0.09);
  transform: translateY(-3px);
  z-index: 3;
}

body.theme-admin .asset-card-media {
  aspect-ratio: 4 / 3;
  background: #f2f4f7;
  border-radius: 11px 11px 0 0;
  display: block;
  min-height: 0;
  overflow: hidden;
}

body.theme-admin .asset-card-media img,
body.theme-admin .asset-card-media video,
body.theme-admin .asset-card-media .asset-video-preview {
  height: 100%;
  min-height: 0;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .asset-card-body {
  display: grid;
  gap: 11px;
  padding: 16px;
}

body.theme-admin .asset-card-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

body.theme-admin .asset-card-head strong {
  background: #eef4ff;
  border: 1px solid #d8e5ff;
  border-radius: 999px;
  color: #1d4ed8;
  font-size: 11px;
  padding: 5px 8px;
}

body.theme-admin .asset-card-head .asset-card-badges {
  align-items: center;
  display: inline-flex;
  gap: 6px;
}

body.theme-admin .asset-card h3 {
  color: #101828;
  font-size: 15px;
  line-height: 1.45;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .asset-card-meta {
  color: #667085;
  display: flex;
  font-size: 12px;
  justify-content: space-between;
}

body.theme-admin .asset-card-actions.asset-card-actionbar {
  align-items: center;
  border-top: 1px solid #eef0f3;
  display: grid;
  gap: 6px;
  grid-template-columns: 1fr 1fr auto;
  padding-top: 11px;
}

body.theme-admin .asset-card-actionbar > a,
body.theme-admin .asset-card-more > summary {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 7px;
  color: #475467;
  cursor: pointer;
  display: inline-flex;
  font-size: 12px;
  font-weight: 750;
  justify-content: center;
  min-height: 34px;
  padding: 7px 9px;
  text-decoration: none;
}

body.theme-admin .asset-card-actionbar > a:hover,
body.theme-admin .asset-card-more > summary:hover {
  background: #f2f4f7;
  color: #101828;
}

body.theme-admin .asset-card-actionbar > .asset-card-primary {
  background: #111827;
  color: #fff;
}

body.theme-admin .asset-card-more {
  position: relative;
}

body.theme-admin .asset-card-more > summary {
  list-style: none;
}

body.theme-admin .asset-card-more > summary::-webkit-details-marker {
  display: none;
}

body.theme-admin .asset-card-more > div {
  background: #fff;
  border: 1px solid #dfe3e9;
  border-radius: 9px;
  bottom: calc(100% + 6px);
  box-shadow: 0 14px 30px rgba(16, 24, 40, 0.13);
  display: grid;
  min-width: 160px;
  padding: 6px;
  position: absolute;
  right: 0;
  z-index: 8;
}

body.theme-admin .asset-card-more a,
body.theme-admin .asset-card-more button {
  background: transparent;
  border: 0;
  border-radius: 6px;
  color: #344054;
  cursor: pointer;
  display: block;
  font-size: 12px;
  font-weight: 700;
  padding: 9px 10px;
  text-align: left;
  width: 100%;
}

body.theme-admin .asset-card-more a:hover,
body.theme-admin .asset-card-more button:hover {
  background: #f2f4f7;
}

body.theme-admin .asset-profile-grid {
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
}

body.theme-admin .asset-profile-card {
  border-color: #e3e7ed;
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  min-height: 210px;
  overflow: hidden;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.theme-admin .asset-profile-card:hover {
  border-color: #cfd6e1;
  box-shadow: 0 14px 34px rgba(16, 24, 40, 0.075);
  transform: translateY(-2px);
}

body.theme-admin .asset-profile-preview {
  background: #f2f4f7;
  border-radius: 11px 0 0 11px;
  height: 100%;
  min-height: 210px;
  overflow: hidden;
}

body.theme-admin .asset-profile-preview img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .asset-profile-body {
  align-content: start;
  display: grid;
  gap: 10px;
  padding: 17px;
}

body.theme-admin .asset-profile-body h3,
body.theme-admin .asset-profile-body p {
  margin: 0;
}

body.theme-admin .asset-profile-stats {
  border-bottom: 1px solid #eef0f3;
  border-top: 1px solid #eef0f3;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 10px 0;
}

body.theme-admin .asset-profile-stats span {
  color: #667085;
  display: grid;
  font-size: 10px;
  gap: 3px;
}

body.theme-admin .asset-profile-stats strong {
  color: #101828;
  font-size: 14px;
}

body.theme-admin .upload-flow-steps {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 16px 20px;
}

body.theme-admin .upload-flow-steps > div {
  align-items: center;
  color: #667085;
  display: flex;
  gap: 10px;
}

body.theme-admin .upload-flow-steps strong {
  align-items: center;
  background: #eef4ff;
  border-radius: 999px;
  color: #1d4ed8;
  display: inline-flex;
  height: 28px;
  justify-content: center;
  width: 28px;
}

body.theme-admin .upload-center-grid {
  align-items: start;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) minmax(310px, 360px);
}

body.theme-admin .upload-drop-card {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 430px;
  overflow: hidden;
}

body.theme-admin .upload-drop-title {
  color: #101828;
  font-size: 24px;
  font-weight: 820;
}

body.theme-admin .upload-drop-subtitle {
  color: #667085;
  line-height: 1.7;
  margin: 10px auto 18px;
  max-width: 620px;
}

body.theme-admin .upload-drop-actions {
  display: flex;
  gap: 10px;
}

body.theme-admin .upload-drop-actions button {
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: 8px;
  color: #344054;
  font-weight: 750;
  min-height: 40px;
  padding: 8px 14px;
}

body.theme-admin .upload-center-side {
  display: grid;
  gap: 14px;
  position: sticky;
  top: calc(var(--admin-topbar-height) + 24px);
}

body.theme-admin .upload-info-card {
  box-shadow: var(--shadow-card);
  display: grid;
  gap: 13px;
  padding: 18px;
}

body.theme-admin .upload-info-card h2 {
  border-bottom: 1px solid #eef0f3;
  font-size: 16px;
  margin: 0;
  padding-bottom: 12px;
}

body.theme-admin .uploader-list {
  margin-top: 16px;
  width: 100%;
}

body.theme-admin .upload-row {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 9px;
  box-shadow: 0 2px 8px rgba(16, 24, 40, 0.035);
}

body.theme-admin .work-create-main,
body.theme-admin .work-detail-admin-main {
  display: grid;
  gap: 20px;
}

body.theme-admin .work-create-head {
  align-items: center;
  background: linear-gradient(112deg, #fff 0%, #fff 72%, #f4f8ff 100%);
  display: grid;
  gap: 22px;
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 138px;
}

body.theme-admin .work-create-grid {
  grid-template-columns: minmax(0, 1fr);
}

body.theme-admin .work-create-panel {
  padding: 26px;
}

body.theme-admin .work-info-form,
body.theme-admin .form-grid {
  gap: 18px;
}

body.theme-admin .work-upload-card,
body.theme-admin .form-subsection,
body.theme-admin .publish-check,
body.theme-admin .source-material-notice {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 20px;
}

body.theme-admin .work-upload-grid,
body.theme-admin .work-create-upload-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.theme-admin .uploader-dropzone {
  min-height: 170px;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

body.theme-admin .uploader-dropzone:hover,
body.theme-admin .uploader-dropzone.dragging,
body.theme-admin .upload-drop-card:hover,
body.theme-admin .upload-drop-card.dragging {
  background: #f7faff;
  border-color: #7aa2ed;
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.08);
}

body.theme-admin .work-create-submit {
  align-items: center;
  background: #111827;
  border-radius: 12px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  padding: 20px 22px;
}

body.theme-admin .work-create-submit span {
  color: #cbd5e1;
}

body.theme-admin .work-create-submit .button {
  background: #fff;
  border-color: #fff;
  color: #111827;
}

body.theme-admin .empty-panel {
  background: #fafbfc;
  border: 1px dashed #cfd5df;
  border-radius: 10px;
  color: #667085;
  min-height: 128px;
  padding: 30px;
}

body.theme-admin .empty-panel::before {
  display: none;
}

/* Public white theme only. Pink remains intact for its later redesign. */
body.theme-white:not(.theme-admin) {
  --color-bg: #ffffff;
  --color-card: #ffffff;
  --color-text: #15171a;
  --color-border: #e7e9ed;
  background: #fff;
  color: var(--color-text);
}

body.theme-white:not(.theme-admin) .topbar {
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--color-border);
  box-shadow: none;
}

body.theme-white:not(.theme-admin) .button,
body.theme-white:not(.theme-admin) .contact-card-button,
body.theme-white:not(.theme-admin) .consult-main-button {
  background: #17191c;
  border-color: #17191c;
  color: #fff;
}

body.theme-white:not(.theme-admin) .portfolio-work-card,
body.theme-white:not(.theme-admin) .primary-category-card,
body.theme-white:not(.theme-admin) .album-cover-card,
body.theme-white:not(.theme-admin) .announcement-card,
body.theme-white:not(.theme-admin) .announcement-head {
  border-color: var(--color-border);
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(16, 24, 40, 0.045);
}

body.theme-white:not(.theme-admin) input,
body.theme-white:not(.theme-admin) select,
body.theme-white:not(.theme-admin) textarea {
  background: #fff;
  border-color: #dfe3e8;
  border-radius: 8px;
}

@media (max-width: 1180px) {
  body.theme-admin .admin-module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.theme-admin .upload-center-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .upload-center-side {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    position: static;
  }
}

@media (max-width: 900px) {
  body.theme-admin .admin-sidebar {
    border-radius: 10px;
    padding: 7px;
  }

  body.theme-admin .admin-sidebar-title,
  body.theme-admin .sidebar-subnav {
    display: none;
  }

  body.theme-admin .admin-sidebar > a {
    margin: 0;
    padding: 9px 12px;
  }

  body.theme-admin .asset-board-top,
  body.theme-admin .work-create-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .asset-board-stats {
    width: 100%;
  }

  body.theme-admin .upload-center-side {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .work-upload-grid,
  body.theme-admin .work-create-upload-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 560px) {
  body.theme-admin .admin-home-hero {
    min-height: 0;
    padding: 22px 20px;
  }

  body.theme-admin .admin-home-actions,
  body.theme-admin .upload-drop-actions,
  body.theme-admin .work-create-submit {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  body.theme-admin .admin-stat-card {
    min-height: 112px;
  }

  body.theme-admin .admin-module-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .admin-activity-item {
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .admin-activity-item time {
    text-align: left;
  }

  body.theme-admin .panel-head,
  body.theme-admin .section-title,
  body.theme-admin .work-content-editor-head {
    align-items: stretch;
    flex-direction: column;
  }

  body.theme-admin .asset-waterfall,
  body.theme-admin .asset-pinboard {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .asset-profile-card {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .asset-profile-preview {
    aspect-ratio: 16 / 9;
    border-radius: 11px 11px 0 0;
    min-height: 0;
  }

  body.theme-admin .upload-flow-steps {
    gap: 12px;
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .upload-drop-card {
    min-height: 330px;
  }
}

/* Work content editor V1 */
.work-content-editor {
  display: grid;
  gap: 18px;
  padding: 24px;
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: var(--radius-card, 12px);
  background: var(--color-card, #fff);
}

.work-content-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.work-content-editor-head h2 {
  margin: 4px 0 8px;
}

.work-content-toolbar,
.work-publish-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.work-content-block-list {
  display: grid;
  gap: 12px;
}

.work-content-block {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: var(--radius-input, 8px);
  background: #fafafa;
}

.work-content-block-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.work-content-block-actions {
  display: flex;
  gap: 6px;
}

.work-content-block-actions button {
  min-width: 34px;
  min-height: 32px;
  padding: 5px 9px;
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 7px;
  background: #fff;
  color: var(--color-text, #171717);
  cursor: pointer;
}

.work-content-block-actions button:last-child {
  color: var(--color-danger, #c33);
}

.work-content-empty {
  padding: 28px;
  border: 1px dashed var(--color-border, #d5d8de);
  border-radius: var(--radius-input, 8px);
  color: #737780;
  text-align: center;
}

.work-preview-notice {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 10px 24px;
  background: #fff7d6;
  border-bottom: 1px solid #eadb9c;
  color: #443912;
}

/* Public design case detail */
body:not(.theme-admin) .case-detail-page {
  width: min(1440px, calc(100% - 48px));
  margin: 0 auto;
  padding: 46px 0 80px;
}

.case-detail-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 26px 48px;
  align-items: end;
  width: min(1120px, 100%);
  margin: 0 auto 38px;
}

.case-detail-back {
  grid-column: 1 / -1;
  width: max-content;
  color: #666;
  text-decoration: none;
}

.case-detail-title h1 {
  margin: 8px 0 16px;
  font-size: clamp(34px, 5vw, 68px);
  line-height: 1.08;
  letter-spacing: 0;
}

.case-author-inline {
  display: flex;
  align-items: center;
  gap: 12px;
}

.case-author-inline > span:nth-child(2) {
  display: grid;
  gap: 2px;
}

.case-author-avatar {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #111;
  color: #fff;
  font-weight: 700;
}

.case-cover,
.case-content-media {
  margin: 0;
}

.case-cover {
  overflow: hidden;
  border-radius: 10px;
  background: #f2f2f2;
}

.case-cover button,
.case-content-image button {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.case-cover img,
.case-content-image img,
.case-content-video video {
  display: block;
  width: 100%;
  height: auto;
}

.case-cover img {
  max-height: 86vh;
  object-fit: contain;
}

.case-content-stream {
  display: grid;
  gap: 34px;
  padding: 68px 0;
}

.case-content-title,
.case-content-text {
  width: min(760px, 100%);
  margin-right: auto;
  margin-left: auto !important;
  margin-right: 0 !important;
}

.case-content-title {
  margin-top: 30px;
  margin-bottom: 0;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.2;
}

.case-content-text {
  color: #444;
  font-size: 18px;
  line-height: 1.9;
}

.case-content-text p {
  margin: 0 0 1.25em;
}

.case-content-media figcaption {
  width: min(760px, calc(100% - 32px));
  margin: 14px auto 0;
  color: #737373;
  line-height: 1.65;
}

.case-content-divider {
  width: min(760px, 100%);
  margin: 34px auto;
  border: 0;
  border-top: 1px solid #dedede;
}

.case-contact {
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(1120px, 100%);
  margin: 28px auto 0;
  padding: 28px 32px;
  border-radius: 10px;
  background: #111;
  color: #fff;
}

.case-contact > div {
  display: grid;
  flex: 1;
  gap: 5px;
}

.case-contact .button {
  background: #fff;
  color: #111;
}

.case-contact .button.secondary {
  border-color: #555;
  background: transparent;
  color: #fff;
}

@media (max-width: 760px) {
  .work-content-editor-head,
  .work-preview-notice,
  .case-contact {
    align-items: stretch;
    flex-direction: column;
  }

  .work-preview-notice {
    position: static;
  }

  body:not(.theme-admin) .case-detail-page {
    width: 100%;
    padding: 26px 0 100px;
  }

  .case-detail-header {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    width: auto;
    margin: 0 18px 26px;
    gap: 18px;
  }

  .case-detail-title h1 {
    font-size: 36px;
  }

  .case-cover {
    border-radius: 0;
  }

  .case-content-stream {
    gap: 24px;
    padding: 44px 0;
  }

  .case-content-title,
  .case-content-text {
    width: auto;
    margin-right: 20px;
    margin-left: 20px;
  }

  .case-content-title {
    font-size: 28px;
  }

  .case-content-text {
    font-size: 16px;
    line-height: 1.8;
  }

  .case-contact {
    width: auto;
    margin: 16px 18px 0;
    padding: 24px;
  }
}

/* Platform announcement index uses compact, readable rows; store announcement cards stay unchanged. */
body.theme-white:not(.theme-admin) .announcement-list--rows {
  display:grid;
  gap:12px;
  grid-template-columns:minmax(0, 1fr);
  width:100%;
}
body.theme-white:not(.theme-admin) .announcement-list--rows .announcement-row {
  align-items:center;
  background:#fff;
  border:1px solid #e2e4e8;
  border-radius:14px;
  box-shadow:none;
  display:grid;
  gap:18px;
  grid-template-columns:144px minmax(0, 1fr);
  min-height:132px;
  padding:14px;
  transition:border-color .16s ease, box-shadow .16s ease;
}
body.theme-white:not(.theme-admin) .announcement-list--rows .announcement-row:not(.has-thumbnail) {
  grid-template-columns:minmax(0, 1fr);
}
body.theme-white:not(.theme-admin) .announcement-list--rows .announcement-row:hover {
  border-color:#c9ccd2;
  box-shadow:0 7px 22px rgba(31,35,42,.05);
}
body.theme-white:not(.theme-admin) .announcement-row-thumbnail {
  border-radius:10px;
  display:block;
  height:104px;
  object-fit:cover;
  width:144px;
}
body.theme-white:not(.theme-admin) .announcement-row-main {
  align-self:stretch;
  display:flex;
  flex-direction:column;
  min-width:0;
}
body.theme-white:not(.theme-admin) .announcement-row-title {
  align-items:center;
  display:flex;
  gap:10px;
  min-width:0;
}
body.theme-white:not(.theme-admin) .announcement-row-title h2 {
  color:#202124;
  font-size:18px;
  line-height:1.4;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.theme-white:not(.theme-admin) .announcement-row-summary {
  color:#656970;
  display:-webkit-box;
  font-size:14px;
  line-height:1.6;
  margin:8px 0 10px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
}
body.theme-white:not(.theme-admin) .announcement-row-meta {
  align-items:center;
  display:flex;
  gap:18px;
  justify-content:flex-end;
  margin-top:auto;
}
body.theme-white:not(.theme-admin) .announcement-row-meta time { color:#858990; font-size:13px; }
body.theme-white:not(.theme-admin) .announcement-row-meta .announcement-card-link {
  color:#202124;
  font-size:14px;
  font-weight:600;
  margin:0;
  text-decoration:none;
}

@media (max-width: 640px) {
  body.theme-white:not(.theme-admin) .announcement-list--rows .announcement-row {
    align-items:start;
    gap:12px;
    grid-template-columns:88px minmax(0, 1fr);
    min-height:0;
    padding:12px;
  }
  body.theme-white:not(.theme-admin) .announcement-list--rows .announcement-row:not(.has-thumbnail) { grid-template-columns:1fr; }
  body.theme-white:not(.theme-admin) .announcement-row-thumbnail { height:76px; width:88px; }
  body.theme-white:not(.theme-admin) .announcement-row-title h2 { font-size:16px; }
  body.theme-white:not(.theme-admin) .announcement-row-summary { -webkit-line-clamp:2; margin:5px 0 8px; }
  body.theme-white:not(.theme-admin) .announcement-row-meta { align-items:flex-start; flex-direction:column; gap:6px; }
  body.theme-white:not(.theme-admin) .announcement-row-meta .announcement-card-link { align-self:flex-start; min-height:36px; padding:8px 0; }
}

/* 2026-07 admin UI acceptance: shared layout primitives for asset workflows. */
body.theme-admin {
  --admin-content-max: 1680px;
  --admin-section-gap: 24px;
  --admin-card-gap: 16px;
  --admin-card-padding: 20px;
  --admin-card-radius: 16px;
  --admin-control-height: 44px;
  --admin-card-border: #e7e9ee;
  --admin-page-bg: #f6f7f9;
}

body.theme-admin .dashboard.admin-layout {
  align-items: stretch;
  background: var(--admin-page-bg);
  min-height: calc(100vh - 64px);
}

body.theme-admin .dashboard-content.admin-assets-stack {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
}

body.theme-admin .admin-assets-stack > .asset-page,
body.theme-admin .admin-assets-stack > .purchase-page,
body.theme-admin .admin-assets-stack > .work-create-main,
body.theme-admin .admin-assets-stack > main.asset-page {
  box-sizing: border-box;
  margin-inline: auto;
  max-width: var(--admin-content-max);
  padding-bottom: 104px;
  width: 100%;
}

body.theme-admin .admin-page-header {
  align-items: center !important;
  background: #fff;
  border: 1px solid var(--admin-card-border);
  border-radius: var(--admin-card-radius);
  box-shadow: 0 8px 24px rgba(16, 24, 40, 0.035);
  box-sizing: border-box;
  display: flex !important;
  gap: 20px;
  justify-content: space-between;
  min-height: 96px;
  padding: 20px 22px !important;
  width: 100%;
}

body.theme-admin .admin-page-header > div:first-child { min-width: 0; }
body.theme-admin .admin-page-header h1 { line-height: 1.2; margin: 0; }
body.theme-admin .admin-page-header h1 + p { margin-top: 7px; }
body.theme-admin .admin-page-header__actions,
body.theme-admin .admin-page-header .panel-head-actions,
body.theme-admin .admin-page-header .asset-detail-actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

body.theme-admin .admin-section-card,
body.theme-admin .asset-section,
body.theme-admin .asset-search-panel,
body.theme-admin .purchase-card,
body.theme-admin .purchase-search,
body.theme-admin .asset-profile-content-card,
body.theme-admin .asset-profile-create-card {
  background: #fff;
  border: 1px solid var(--admin-card-border);
  border-radius: var(--admin-card-radius);
  box-shadow: 0 8px 24px rgba(16, 24, 40, 0.03);
  box-sizing: border-box;
}

body.theme-admin .asset-page,
body.theme-admin .purchase-page,
body.theme-admin .purchase-editor,
body.theme-admin .upload-integrated-form,
body.theme-admin .asset-profile-workspace-form {
  gap: var(--admin-section-gap);
}

body.theme-admin input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.theme-admin select,
body.theme-admin .button,
body.theme-admin button {
  box-sizing: border-box;
  min-height: var(--admin-control-height);
}

body.theme-admin textarea { border-radius: 10px; box-sizing: border-box; }
body.theme-admin .asset-search-panel { padding: 16px; }

/* Assets overview cards. */
body.theme-admin .organized-group-grid,
body.theme-admin .organized-file-grid,
body.theme-admin .asset-waterfall.originals {
  display: grid;
  gap: var(--admin-card-gap);
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
}

body.theme-admin .organized-group-card,
body.theme-admin .organized-file-card,
body.theme-admin .original-asset-display-card {
  background: #fff;
  border: 1px solid var(--admin-card-border);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

body.theme-admin .organized-group-card .pending-group-cover,
body.theme-admin .organized-file-card .pending-file-preview,
body.theme-admin .original-asset-display-card .asset-card-media {
  aspect-ratio: 4 / 3;
  background: #f1f3f6;
  height: auto;
  overflow: hidden;
  width: 100%;
}

body.theme-admin .organized-group-card .pending-group-cover img,
body.theme-admin .organized-file-card .pending-file-preview img,
body.theme-admin .original-asset-display-card .asset-card-media img,
body.theme-admin .organized-group-card .pending-group-cover video,
body.theme-admin .organized-file-card .pending-file-preview video,
body.theme-admin .original-asset-display-card .asset-card-media video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .organized-group-card .pending-group-body,
body.theme-admin .organized-file-card .pending-file-body,
body.theme-admin .original-asset-display-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 12px;
  min-height: 230px;
  padding: 16px;
}

body.theme-admin .organized-group-card h3,
body.theme-admin .organized-file-card h3,
body.theme-admin .original-asset-display-card h3 {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .asset-card-actionbar,
body.theme-admin .original-asset-display-card .asset-card-actions {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 42px;
  margin-top: auto;
  width: 100%;
}

body.theme-admin .original-asset-display-card .asset-card-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.theme-admin .original-asset-display-card .asset-card-actions:has(a:only-child) { grid-template-columns: minmax(0, 1fr); }

body.theme-admin .asset-card-actionbar > a,
body.theme-admin .asset-card-actionbar > details > summary,
body.theme-admin .original-asset-display-card .asset-card-actions > a {
  align-items: center;
  box-sizing: border-box;
  display: inline-flex;
  justify-content: center;
  min-height: 40px;
  overflow: hidden;
  padding: 0 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .asset-card-more > summary {
  font-size: 0;
  min-width: 42px;
  padding: 0;
}
body.theme-admin .asset-card-more > summary::after { content: "⋯"; font-size: 20px; }
body.theme-admin .original-card-placeholder {
  align-items: center;
  color: #667085;
  display: flex;
  font-size: 24px;
  font-weight: 800;
  height: 100%;
  justify-content: center;
  letter-spacing: .08em;
}

/* Upload center: continuous page, aligned main card and sidebar. */
body.theme-admin .upload-center-top {
  position: sticky;
  top: 68px;
  z-index: 20;
}
body.theme-admin .upload-integrated-section { padding: var(--admin-card-padding); }
body.theme-admin .upload-center-grid { align-items: stretch; gap: var(--admin-card-gap); }
body.theme-admin .upload-center-main,
body.theme-admin .upload-center-side,
body.theme-admin .upload-info-card { height: 100%; margin: 0; }
body.theme-admin .upload-center-main,
body.theme-admin .upload-info-card {
  background: #fff;
  border: 1px solid var(--admin-card-border);
  border-radius: 14px;
  box-sizing: border-box;
  padding: 18px;
}
body.theme-admin .upload-drop-card { min-height: 100%; }
body.theme-admin .upload-choice-row { margin-top: 16px; }
body.theme-admin .upload-profile-panel { margin-top: 16px; }
body.theme-admin .upload-profile-create-grid > label:nth-child(4) textarea,
body.theme-admin .upload-profile-create-grid > label:nth-child(5) textarea,
body.theme-admin .upload-profile-create-grid .purchase-attachment-drop { height: 156px; min-height: 156px; }
body.theme-admin .upload-integrated-form > .purchase-sticky-actions { margin-top: 0; }

/* Asset profiles. */
body.theme-admin .asset-profile-content-card { padding: var(--admin-card-padding); width: 100%; }
body.theme-admin .asset-profile-content-card > .admin-page-header { margin-bottom: var(--admin-section-gap); }
body.theme-admin .asset-profile-grid {
  display: grid;
  gap: var(--admin-card-gap);
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  width: 100%;
}
body.theme-admin .asset-profile-card { display: flex; flex-direction: column; min-width: 0; }
body.theme-admin .asset-profile-preview { aspect-ratio: 4 / 3; height: auto; }
body.theme-admin .asset-profile-body { display: flex; flex: 1; flex-direction: column; }
body.theme-admin .asset-profile-actions { margin-top: auto; }
body.theme-admin .asset-profile-create-main .admin-page-header { margin-bottom: var(--admin-section-gap); }
body.theme-admin .profile-fields-compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.theme-admin .profile-fields-compact > label { align-content: start; display: grid; gap: 8px; min-width: 0; }
body.theme-admin .profile-fields-compact textarea,
body.theme-admin .profile-fields-compact .purchase-attachment-drop { height: 156px; min-height: 156px; width: 100%; }

/* Purchase editor. */
body.theme-admin .purchase-editor { display: grid; }
body.theme-admin .purchase-card { margin: 0; padding: var(--admin-card-padding); }
body.theme-admin .purchase-editor .purchase-tip { display: none; }
body.theme-admin .purchase-editor .purchase-facts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.theme-admin .purchase-editor .purchase-attachment-drop { max-width: 480px; min-height: 156px; }
body.theme-admin .purchase-editor .section-title { align-items: flex-end; gap: 16px; }
body.theme-admin .purchase-editor .relation-add {
  align-items: center;
  display: grid;
  flex: 1 1 560px;
  grid-template-columns: minmax(140px, .7fr) minmax(220px, 1.4fr) auto;
  justify-content: end;
  max-width: 760px;
}
body.theme-admin .purchase-editor [data-relations]:empty {
  align-items: center;
  color: #667085;
  display: flex;
  justify-content: center;
  min-height: 112px;
}
body.theme-admin .purchase-editor [data-relations]:empty::after { content: "暂未关联素材"; }
body.theme-admin .purchase-sticky-actions { margin-top: 0; }

/* Original cards share one media/body/action rhythm. */
body.theme-admin .asset-waterfall.originals { align-items: stretch; }
body.theme-admin .original-asset-display-card .asset-card-head { min-height: 28px; }
body.theme-admin .original-asset-display-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 1100px) {
  body.theme-admin .profile-fields-compact,
  body.theme-admin .upload-profile-create-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.theme-admin .purchase-editor .relation-add { max-width: none; width: 100%; }
}

@media (max-width: 760px) {
  body.theme-admin .admin-page-header {
    align-items: stretch !important;
    flex-direction: column;
    min-height: 0;
    padding: 18px !important;
  }
  body.theme-admin .admin-page-header__actions,
  body.theme-admin .admin-page-header .panel-head-actions { justify-content: flex-start; width: 100%; }
  body.theme-admin .upload-center-top { position: static; }
  body.theme-admin .upload-center-grid,
  body.theme-admin .profile-fields-compact,
  body.theme-admin .upload-profile-create-grid,
  body.theme-admin .purchase-editor .purchase-facts-grid,
  body.theme-admin .purchase-editor .relation-add { grid-template-columns: minmax(0, 1fr); }
  body.theme-admin .purchase-editor .section-title { align-items: stretch; flex-direction: column; }
  body.theme-admin .purchase-editor .purchase-attachment-drop { max-width: none; }
  body.theme-admin .organized-group-grid,
  body.theme-admin .organized-file-grid,
  body.theme-admin .asset-profile-grid,
  body.theme-admin .asset-waterfall.originals { grid-template-columns: minmax(0, 1fr); }
  body.theme-admin .admin-assets-stack > .asset-page,
  body.theme-admin .admin-assets-stack > .purchase-page,
  body.theme-admin .admin-assets-stack > .work-create-main,
  body.theme-admin .admin-assets-stack > main.asset-page { overflow-x: clip; padding-bottom: 120px; }
}

/* Canonical public zone navigation shared by every public page. */
body.theme-white:not(.theme-admin) .public-zone-navigation {
  align-items: center !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(229, 231, 235, 0.9) !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 42px rgba(17, 24, 39, 0.055) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  gap: 12px !important;
  justify-content: flex-start !important;
  margin: 20px auto 0 !important;
  padding: 12px 16px !important;
  width: calc(100% - 80px) !important;
}

body.theme-white:not(.theme-admin) .public-zone-navigation > .design-category-head {
  align-items: baseline !important;
  background: transparent !important;
  border-radius: 0 !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  gap: 10px !important;
  margin: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  position: static !important;
  width: max-content !important;
}

body.theme-white:not(.theme-admin) .public-zone-navigation > .design-category-head > span:first-child {
  display: none !important;
}

body.theme-white:not(.theme-admin) .public-zone-navigation > .design-category-head strong {
  color: #111827 !important;
  font-size: 18px !important;
  letter-spacing: -0.02em !important;
}

body.theme-white:not(.theme-admin) .public-zone-navigation > .design-secondary-strip {
  display: flex !important;
  flex: 0 0 auto !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  max-width: max-content !important;
  padding: 0 !important;
  position: static !important;
  width: auto !important;
}

body.theme-white:not(.theme-admin) .public-zone-navigation > .category-home-return {
  align-items: center !important;
  align-self: center !important;
  background: transparent !important;
  border: 0 !important;
  color: #151719 !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  margin-left: auto !important;
  margin-right: 16px !important;
  max-width: max-content !important;
  min-width: 0 !important;
  padding: 6px 0 !important;
  white-space: nowrap !important;
  width: auto !important;
}

body.theme-white:not(.theme-admin) .public-zone-navigation > .category-home-return:hover,
body.theme-white:not(.theme-admin) .public-zone-navigation > .category-home-return:focus-visible {
  color: #6b7280 !important;
}

@media (max-width: 720px) {
  body.theme-white:not(.theme-admin) .public-zone-navigation {
    overflow-x: auto;
    width: calc(100% - 28px) !important;
  }
}

/* Detail page reuses the homepage Header geometry without changing the shared Header. */
body:not(.theme-admin):has(.case-detail-page) .topbar {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin: 0;
  max-width: none;
  padding-left: clamp(16px, 3vw, 48px) !important;
  padding-right: clamp(16px, 3vw, 48px) !important;
  width: 100%;
}

body:not(.theme-admin):has(.case-detail-page) .topbar nav {
  margin-left: auto;
}

body.theme-white:not(.theme-admin) .case-detail-page {
  padding-top: 0 !important;
}

/* Compact work title block between the shared Header and main artwork. */
body.theme-white:not(.theme-admin) .case-detail-header.case-hero {
  padding-bottom: 20px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 24px !important;
}

body.theme-white:not(.theme-admin) .case-detail-header .case-detail-back {
  background: transparent !important;
  border: 0 !important;
  border-radius: 8px;
  color: #6b7280 !important;
  cursor: pointer;
  font-size: 16px !important;
  font-weight: 500;
  line-height: 1.4;
  padding: 0 !important;
}

body.theme-white:not(.theme-admin) .case-detail-header .case-detail-back:hover,
body.theme-white:not(.theme-admin) .case-detail-header .case-detail-back:focus-visible {
  background: transparent !important;
  color: #4b5563 !important;
}

body.theme-white:not(.theme-admin) .case-detail-header .case-detail-meta-row {
  align-items: center;
  box-sizing: border-box;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) auto;
  width: 100%;
}

body.theme-white:not(.theme-admin) .case-detail-header .case-detail-category {
  justify-self: start;
}

body.theme-white:not(.theme-admin) .case-detail-header .case-detail-back {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end;
  width: max-content;
}

body.theme-white:not(.theme-admin) .case-detail-header .case-detail-title {
  margin-top: 16px !important;
}

body.theme-white:not(.theme-admin) .case-detail-header .case-detail-category {
  color: #7a8190;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.4;
  margin: 0 !important;
}

body.theme-white:not(.theme-admin) .case-detail-header .case-detail-title-line {
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 10px !important;
}

body.theme-white:not(.theme-admin) .case-detail-header .case-detail-title-line h1 {
  flex: 0 1 auto;
  font-size: 36px !important;
  font-weight: 800;
  line-height: 1.15;
}

body.theme-white:not(.theme-admin) .case-detail-header .case-detail-price {
  font-size: 22px !important;
}

body.theme-white:not(.theme-admin) .case-detail-header.case-hero.case-detail-meta-sticky {
  background: transparent;
  border-bottom: 1px solid transparent !important;
  box-shadow: none;
  box-sizing: border-box;
  margin: 0 !important;
  max-width: none !important;
  padding: 8px clamp(16px, 3vw, 48px) !important;
  position: sticky;
  top: 68px;
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, backdrop-filter 180ms ease;
  width: 100% !important;
  z-index: 8;
}

body.theme-white:not(.theme-admin) .case-detail-header.case-hero.case-detail-meta-sticky.is-stuck {
  backdrop-filter: blur(12px);
  background: rgba(255, 255, 255, 0.92);
  border-bottom-color: rgba(229, 231, 235, 0.56) !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.035);
}

body.theme-white:not(.theme-admin) .case-detail-toolbar-sentinel {
  height: 0;
  pointer-events: none;
}

body.theme-white:not(.theme-admin) .case-detail-title-header {
  padding-top: 16px !important;
}

/* Asset center product-direction overrides: Pinterest/Huaban browsing experience. */
.asset-library-shell {
  background:
    radial-gradient(circle at 15% 0%, rgba(105, 128, 255, 0.12), transparent 26%),
    radial-gradient(circle at 92% 12%, rgba(255, 141, 178, 0.14), transparent 24%),
    #f7f7f5;
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr);
  min-height: 100vh;
}

.asset-library-sidebar {
  background: rgba(255, 255, 255, 0.76);
  backdrop-filter: blur(18px);
  border-right: 1px solid rgba(24, 24, 27, 0.08);
  height: 100vh;
  overflow-y: auto;
  padding: 26px 18px;
  position: sticky;
  top: 0;
}

.asset-library-sidebar .asset-sidebar-brand {
  color: #151719;
  font-size: 24px;
  font-weight: 900;
  margin-bottom: 24px;
}

.asset-library-sidebar .asset-sidebar-brand::before {
  background: linear-gradient(135deg, #151719, #7371fc);
}

.asset-library-sidebar nav {
  display: grid;
  gap: 8px;
}

.asset-library-sidebar a {
  border-radius: 16px;
  color: #4b5563;
  font-weight: 680;
  min-height: 44px;
}

.asset-library-sidebar a.active,
.asset-library-sidebar a:hover {
  background: #ffffff;
  border-color: rgba(24, 24, 27, 0.08);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
  color: #151719;
}

.asset-sidebar-foot {
  border-top: 1px solid rgba(24, 24, 27, 0.08);
  display: grid;
  gap: 8px;
  margin-top: 22px;
  padding-top: 16px;
}

.asset-board-main {
  height: 100vh;
  overflow-y: auto;
  padding: 28px clamp(18px, 3vw, 44px) 54px;
}

.asset-board-top {
  align-items: end;
  display: flex;
  gap: 22px;
  justify-content: space-between;
  margin: 0 0 18px;
}

.asset-board-top .eyebrow {
  color: #7371fc;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.12em;
  margin: 0 0 8px;
}

.asset-board-top h1 {
  color: #151719;
  font-size: clamp(34px, 4.5vw, 58px);
  letter-spacing: 0;
  line-height: 1.02;
  margin: 0 0 12px;
}

.asset-board-top .muted {
  color: #6b7280;
  line-height: 1.8;
  margin: 0;
  max-width: 650px;
}

.asset-board-stats {
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 24px;
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.06);
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(4, minmax(70px, 1fr));
  min-width: min(460px, 100%);
  padding: 14px;
}

.asset-board-stats span {
  color: #6b7280;
  display: grid;
  font-size: 12px;
  gap: 3px;
  text-align: center;
}

.asset-board-stats strong {
  color: #151719;
  font-size: 24px;
}

.asset-board-tabs {
  display: flex;
  gap: 10px;
  margin: 16px 0;
  overflow-x: auto;
  padding: 2px 0 8px;
}

.asset-board-tabs a {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(24, 24, 27, 0.08);
  border-radius: 999px;
  color: #4b5563;
  flex: 0 0 auto;
  font-size: 14px;
  font-weight: 750;
  padding: 10px 16px;
}

.asset-board-tabs a.active,
.asset-board-tabs a:hover {
  background: #151719;
  border-color: #151719;
  color: #ffffff;
}

.asset-search-panel {
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
  display: grid;
  gap: 12px;
  margin-bottom: 20px;
  padding: 14px;
}

.asset-board-section {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.asset-board-section .section-title {
  border: 0;
  margin-bottom: 16px;
  padding: 0;
}

.asset-board-section .section-title h2 {
  font-size: 24px;
}

.asset-pinboard {
  column-count: 5;
  column-gap: 18px;
}

.asset-pin-card {
  border: 0;
  border-radius: 24px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.075);
  margin: 0 0 18px;
}

.asset-pin-card:hover {
  box-shadow: 0 24px 58px rgba(15, 23, 42, 0.14);
  transform: translateY(-6px);
}

.asset-pin-card.is-original {
  box-shadow: 0 14px 34px rgba(236, 72, 153, 0.12);
}

.asset-pin-card .asset-card-media {
  min-height: 190px;
}

.asset-pin-card .asset-card-body {
  padding: 14px 15px 16px;
}

.asset-lock-mini {
  background: #fff1f7;
  border: 1px solid rgba(236, 72, 153, 0.18);
  border-radius: 999px;
  color: #be185d;
  font-size: 12px;
  padding: 5px 9px;
}

.asset-source-line span:first-child {
  background: #eef2ff;
  border-radius: 999px;
  color: #4f46e5;
  padding: 4px 8px;
}

.asset-source-line span:last-child {
  color: #7c2d12;
  font-weight: 750;
}

.asset-card-actions {
  border-top: 1px solid rgba(24, 24, 27, 0.07);
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding-top: 10px;
}

.asset-card-actions a,
.asset-card-actions button {
  background: #f6f7f9;
  border: 1px solid rgba(24, 24, 27, 0.06);
  border-radius: 999px;
  color: #475467;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  padding: 8px 10px;
}

.asset-card-actions a:hover,
.asset-card-actions button:hover,
.asset-card-actions button.active {
  background: #151719;
  color: #ffffff;
}

.asset-original-hero {
  align-items: center;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.94), rgba(255, 246, 250, 0.88)),
    linear-gradient(135deg, #fff0f6, #ffffff);
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 30px;
  box-shadow: 0 18px 50px rgba(236, 72, 153, 0.12);
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
  padding: clamp(24px, 4vw, 42px);
}

.asset-original-hero h1 {
  color: #151719;
  font-size: clamp(32px, 4vw, 52px);
  letter-spacing: 0;
  margin: 0 0 12px;
}

.asset-lock-badge {
  background: #151719;
  border-radius: 999px;
  color: #ffffff;
  font-weight: 800;
  padding: 12px 18px;
  white-space: nowrap;
}

.asset-original-info-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 22px;
}

.asset-original-info-grid article {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.84);
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.055);
  display: grid;
  gap: 8px;
  padding: 18px;
}

.asset-original-info-grid strong {
  color: #151719;
}

.asset-original-info-grid span {
  color: #667085;
  line-height: 1.7;
}

@media (max-width: 1480px) {
  .asset-pinboard {
    column-count: 4;
  }
}

@media (max-width: 1160px) {
  .asset-pinboard {
    column-count: 3;
  }

  .asset-board-top {
    align-items: stretch;
    display: grid;
  }
}

@media (max-width: 820px) {
  .asset-library-shell {
    display: block;
  }

  .asset-library-sidebar {
    border-bottom: 1px solid rgba(24, 24, 27, 0.08);
    border-right: 0;
    height: auto;
    padding: 12px 14px;
    position: sticky;
    top: 0;
    z-index: 20;
  }

  .asset-library-sidebar nav,
  .asset-sidebar-foot {
    display: flex;
    gap: 8px;
    overflow-x: auto;
  }

  .asset-sidebar-foot {
    border: 0;
    margin: 8px 0 0;
    padding: 0;
  }

  .asset-library-sidebar a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .asset-board-main,
  .asset-main {
    height: auto;
    overflow: visible;
    padding: 16px 14px 32px;
  }

  .asset-board-stats,
  .asset-original-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .asset-pinboard {
    column-count: 2;
    column-gap: 12px;
  }

  .asset-pin-card {
    border-radius: 20px;
    margin-bottom: 12px;
  }

  .asset-card-actions {
    gap: 6px;
  }

  .asset-card-actions a,
  .asset-card-actions button {
    font-size: 11px;
    padding: 7px 8px;
  }

  .asset-original-hero {
    align-items: flex-start;
    display: grid;
    gap: 16px;
  }
}

/* Asset center workspace visual layer */
.asset-shell {
  --asset-bg: #f6f7f9;
  --asset-panel: rgba(255, 255, 255, 0.92);
  --asset-panel-solid: #ffffff;
  --asset-text: #171a1f;
  --asset-muted: #6b7280;
  --asset-line: rgba(17, 24, 39, 0.08);
  --asset-accent: #111827;
  --asset-blue: #4f7cff;
  --asset-gradient-blue: linear-gradient(135deg, #eef5ff 0%, #f8fbff 48%, #ffffff 100%);
  --asset-gradient-pink: linear-gradient(135deg, #fff0f6 0%, #fff8fb 50%, #ffffff 100%);
  --asset-radius-md: 22px;
  --asset-radius-lg: 30px;
  --asset-shadow-soft: 0 18px 50px rgba(15, 23, 42, 0.08);
  --asset-shadow-card: 0 12px 30px rgba(15, 23, 42, 0.07);
  background:
    radial-gradient(circle at 18% 0%, rgba(79, 124, 255, 0.12), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(255, 139, 184, 0.16), transparent 24%),
    var(--asset-bg);
  color: var(--asset-text);
  display: grid;
  grid-template-columns: 238px minmax(0, 1fr);
  min-height: calc(100vh - 64px);
}

.asset-sidebar {
  align-self: start;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(18px);
  border-right: 1px solid var(--asset-line);
  height: calc(100vh - 64px);
  overflow-y: auto;
  padding: 24px 18px;
  position: sticky;
  top: 64px;
}

.asset-sidebar-brand {
  align-items: center;
  color: var(--asset-text);
  display: flex;
  font-size: 18px;
  font-weight: 850;
  gap: 10px;
  letter-spacing: 0;
  margin-bottom: 24px;
}

.asset-sidebar-brand::before {
  background: linear-gradient(135deg, #111827, #5b6ee1);
  border-radius: 12px;
  box-shadow: 0 12px 24px rgba(79, 124, 255, 0.22);
  content: "";
  display: inline-block;
  height: 30px;
  width: 30px;
}

.asset-sidebar nav {
  display: grid;
  gap: 7px;
}

.asset-sidebar a {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 14px;
  color: #424b5a;
  display: flex;
  font-size: 14px;
  min-height: 42px;
  padding: 10px 13px;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.asset-sidebar a.active,
.asset-sidebar a:hover {
  background: rgba(255, 255, 255, 0.88);
  border-color: var(--asset-line);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
  color: var(--asset-accent);
  transform: translateX(2px);
}

.asset-nav-group {
  border-top: 1px solid var(--asset-line);
  display: grid;
  gap: 6px;
  margin-top: 12px;
  padding-top: 16px;
}

.asset-nav-group strong {
  color: #9aa3af;
  font-size: 12px;
  font-weight: 700;
  padding: 0 13px 4px;
}

.asset-main {
  height: calc(100vh - 64px);
  overflow-y: auto;
  padding: 30px clamp(22px, 3vw, 42px) 46px;
  scroll-behavior: smooth;
}

.asset-main::-webkit-scrollbar,
.asset-sidebar::-webkit-scrollbar {
  height: 10px;
  width: 10px;
}

.asset-main::-webkit-scrollbar-thumb,
.asset-sidebar::-webkit-scrollbar-thumb {
  background: rgba(17, 24, 39, 0.16);
  border: 3px solid transparent;
  border-radius: 999px;
  background-clip: padding-box;
}

.asset-hero {
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.78)),
    var(--asset-gradient-blue);
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: var(--asset-radius-lg);
  box-shadow: var(--asset-shadow-soft);
  isolation: isolate;
  margin-bottom: 22px;
  overflow: hidden;
  padding: clamp(26px, 4vw, 42px);
  position: relative;
}

.asset-hero::before,
.asset-hero::after {
  border-radius: 999px;
  content: "";
  pointer-events: none;
  position: absolute;
  z-index: -1;
}

.asset-hero::before {
  background: rgba(79, 124, 255, 0.14);
  height: 170px;
  right: -42px;
  top: -54px;
  width: 170px;
}

.asset-hero::after {
  background: rgba(255, 137, 184, 0.18);
  bottom: -72px;
  height: 210px;
  right: 86px;
  width: 210px;
}

.asset-hero .eyebrow {
  color: #5b6ee1;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.asset-hero h1 {
  color: var(--asset-text);
  font-size: clamp(32px, 4.4vw, 54px);
  letter-spacing: 0;
  line-height: 1.05;
  margin: 6px 0 14px;
}

.asset-hero p {
  color: var(--asset-muted);
  font-size: 15px;
  line-height: 1.85;
  max-width: 720px;
}

.asset-hero-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.asset-hero-actions .button,
.asset-detail-actions .button {
  background: #111827;
  border-radius: 999px;
  box-shadow: 0 14px 30px rgba(17, 24, 39, 0.18);
  padding: 11px 18px;
}

.asset-hero-actions .text-button,
.asset-detail-actions .text-button {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--asset-line);
  border-radius: 999px;
  color: #283142;
  padding: 10px 16px;
}

.asset-stat-grid,
.asset-quick-grid {
  gap: 16px;
  margin-bottom: 22px;
}

.asset-stat-card,
.asset-quick-card,
.asset-filter-panel,
.asset-section,
.asset-detail-page {
  background: var(--asset-panel);
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: var(--asset-radius-md);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.72) inset, 0 14px 36px rgba(15, 23, 42, 0.055);
}

.asset-stat-card,
.asset-quick-card {
  min-height: 124px;
  padding: 20px;
  position: relative;
}

.asset-stat-card::after,
.asset-quick-card::after {
  background: var(--asset-gradient-blue);
  border-radius: 999px;
  content: "";
  height: 44px;
  opacity: 0.9;
  position: absolute;
  right: 18px;
  top: 18px;
  width: 44px;
}

.asset-stat-card:nth-child(2)::after,
.asset-quick-card:nth-child(2)::after,
.asset-stat-card:nth-child(4)::after,
.asset-quick-card:nth-child(4)::after {
  background: var(--asset-gradient-pink);
}

.asset-stat-card span,
.asset-quick-card span {
  color: var(--asset-muted);
  font-size: 13px;
  font-weight: 650;
}

.asset-stat-card strong,
.asset-quick-card strong {
  color: var(--asset-text);
  font-size: clamp(28px, 3vw, 38px);
  letter-spacing: 0;
  margin-top: 12px;
}

.asset-quick-card {
  color: inherit;
  overflow: hidden;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.asset-quick-card small {
  color: #9aa3af;
  font-size: 12px;
  position: relative;
  z-index: 1;
}

.asset-quick-card:hover {
  border-color: rgba(79, 124, 255, 0.22);
  box-shadow: 0 24px 54px rgba(15, 23, 42, 0.1);
  transform: translateY(-4px);
}

.asset-filter-panel {
  backdrop-filter: blur(14px);
  gap: 15px;
  margin-bottom: 24px;
  padding: 16px;
}

.asset-search {
  align-items: center;
}

.asset-search input {
  background: #ffffff;
  border: 1px solid var(--asset-line);
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
  min-height: 44px;
  outline: none;
  padding: 12px 18px;
}

.asset-search input:focus {
  border-color: rgba(79, 124, 255, 0.42);
  box-shadow: 0 0 0 4px rgba(79, 124, 255, 0.1);
}

.asset-search button {
  background: #111827;
  border-radius: 999px;
  min-height: 44px;
  padding: 0 22px;
}

.asset-filter-row {
  gap: 9px;
}

.asset-filter-row a {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--asset-line);
  border-radius: 999px;
  color: #596273;
  font-weight: 650;
  padding: 8px 14px;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.asset-filter-row a:hover {
  border-color: rgba(17, 24, 39, 0.18);
  color: var(--asset-text);
  transform: translateY(-1px);
}

.asset-filter-row a.active,
.asset-filter-row.secondary a.active {
  background: #111827;
  border-color: #111827;
  color: #ffffff;
}

.asset-section {
  padding: clamp(18px, 2.4vw, 26px);
}

.asset-section .section-title {
  align-items: end;
  border-bottom: 1px solid var(--asset-line);
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
  padding-bottom: 16px;
}

.asset-section .section-title h2 {
  color: var(--asset-text);
  font-size: clamp(22px, 2.2vw, 30px);
  letter-spacing: 0;
  margin: 0;
}

.asset-section .count {
  background: #f5f7fb;
  border: 1px solid var(--asset-line);
  border-radius: 999px;
  color: var(--asset-muted);
  font-size: 13px;
  padding: 7px 12px;
}

.asset-waterfall {
  column-count: 4;
  column-gap: 18px;
}

.asset-card {
  background: var(--asset-panel-solid);
  border: 1px solid rgba(17, 24, 39, 0.06);
  border-radius: 24px;
  box-shadow: var(--asset-shadow-card);
  margin: 0 0 18px;
  overflow: hidden;
  transform: translateZ(0);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.asset-card:hover {
  border-color: rgba(79, 124, 255, 0.2);
  box-shadow: 0 26px 62px rgba(15, 23, 42, 0.12);
  transform: translateY(-5px);
}

.asset-card-media {
  background: linear-gradient(135deg, rgba(247, 249, 252, 0.92), rgba(237, 243, 255, 0.72));
  display: block;
  min-height: 172px;
  overflow: hidden;
  position: relative;
}

.asset-card-media::after {
  background: linear-gradient(180deg, transparent 52%, rgba(0, 0, 0, 0.12));
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity 0.22s ease;
}

.asset-card:hover .asset-card-media::after {
  opacity: 1;
}

.asset-card-media img,
.asset-card-media video {
  display: block;
  height: auto;
  min-height: 172px;
  object-fit: cover;
  transition: transform 0.32s ease;
  width: 100%;
}

.asset-card:hover .asset-card-media img,
.asset-card:hover .asset-card-media video {
  transform: scale(1.035);
}

.asset-video-preview,
.asset-file-preview {
  background:
    radial-gradient(circle at 30% 20%, rgba(79, 124, 255, 0.16), transparent 30%),
    linear-gradient(135deg, #f7f9fc, #eef3fb);
  color: #596273;
  min-height: 190px;
}

.asset-file-preview strong {
  color: #1f2937;
  font-size: 28px;
  letter-spacing: 0;
}

.asset-card-body {
  gap: 11px;
  padding: 15px 16px 17px;
}

.asset-card-head strong {
  background: #f5f7fb;
  border: 1px solid var(--asset-line);
  border-radius: 999px;
  color: #344054;
  font-size: 12px;
  letter-spacing: 0.02em;
  padding: 6px 9px;
}

.asset-card h3 {
  color: var(--asset-text);
  font-size: 15px;
  font-weight: 780;
  letter-spacing: 0;
  line-height: 1.5;
}

.asset-card-meta {
  align-items: center;
  color: #7b8493;
  font-size: 12px;
}

.asset-card-meta span:first-child {
  color: #4f7cff;
  font-weight: 750;
}

.asset-pill-row {
  gap: 7px;
}

.asset-pill-row span,
.original-mark {
  background: #f6f7f9;
  border: 1px solid rgba(17, 24, 39, 0.05);
  border-radius: 999px;
  color: #657084;
  font-size: 12px;
  padding: 5px 9px;
}

.original-mark {
  background: #fff1f7;
  border-color: rgba(236, 72, 153, 0.12);
  color: #be185d;
}

.asset-favorite {
  background: #ffffff;
  border: 1px solid var(--asset-line);
  border-radius: 999px;
  box-shadow: 0 7px 16px rgba(15, 23, 42, 0.04);
  color: #667085;
  min-height: 29px;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.asset-favorite:hover {
  color: #111827;
  transform: translateY(-1px);
}

.asset-favorite.active {
  background: #fff1f7;
  border-color: rgba(236, 72, 153, 0.18);
  color: #be185d;
}

.asset-detail-page {
  padding: clamp(18px, 2.8vw, 34px);
}

.asset-detail-grid {
  gap: clamp(20px, 3vw, 34px);
}

.asset-detail-preview {
  background: #f7f9fc;
  border: 1px solid var(--asset-line);
  border-radius: 26px;
  box-shadow: var(--asset-shadow-card);
}

.asset-detail-preview img,
.asset-detail-preview video {
  max-height: 68vh;
  object-fit: contain;
}

.asset-detail-info h1 {
  color: var(--asset-text);
  font-size: clamp(28px, 3.2vw, 42px);
  letter-spacing: 0;
}

.asset-detail-list div,
.asset-detail-section {
  border-color: var(--asset-line);
}

.asset-log-list div,
.empty-panel {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--asset-line);
}

.empty-panel {
  border-radius: 24px;
  color: var(--asset-muted);
  min-height: 180px;
  overflow: hidden;
  padding: 34px;
  position: relative;
}

.empty-panel::before {
  background: linear-gradient(135deg, rgba(79, 124, 255, 0.16), rgba(255, 137, 184, 0.18));
  border-radius: 999px;
  content: "";
  height: 130px;
  position: absolute;
  right: -28px;
  top: -36px;
  width: 130px;
}

.original-warning {
  background: #fff1f7;
  border-color: rgba(236, 72, 153, 0.14);
  border-radius: 18px;
}

@media (min-width: 1480px) {
  .asset-waterfall {
    column-count: 5;
  }
}

@media (max-width: 1180px) {
  .asset-waterfall {
    column-count: 3;
  }
}

@media (max-width: 820px) {
  .asset-shell {
    display: block;
    min-height: auto;
  }

  .asset-sidebar {
    border-bottom: 1px solid var(--asset-line);
    border-right: 0;
    height: auto;
    padding: 12px 14px;
    position: sticky;
    top: 64px;
    z-index: 20;
  }

  .asset-sidebar-brand {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .asset-sidebar-brand::before {
    height: 24px;
    width: 24px;
  }

  .asset-sidebar nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .asset-sidebar a {
    flex: 0 0 auto;
    min-height: 38px;
    white-space: nowrap;
  }

  .asset-sidebar a:hover,
  .asset-sidebar a.active {
    transform: none;
  }

  .asset-nav-group {
    border: 0;
    display: flex;
    gap: 8px;
    margin: 0;
    padding: 0;
  }

  .asset-nav-group strong {
    display: none;
  }

  .asset-main {
    height: auto;
    overflow: visible;
    padding: 16px 14px 30px;
  }

  .asset-hero {
    display: grid;
    gap: 18px;
    padding: 24px;
  }

  .asset-hero h1 {
    font-size: 34px;
  }

  .asset-stat-grid,
  .asset-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .asset-stat-card,
  .asset-quick-card {
    min-height: 112px;
    padding: 16px;
  }

  .asset-search {
    display: grid;
  }

  .asset-search button {
    width: 100%;
  }

  .asset-section .section-title {
    align-items: flex-start;
    display: grid;
    gap: 10px;
  }

  .asset-waterfall {
    column-count: 2;
    column-gap: 12px;
  }

  .asset-card {
    border-radius: 20px;
    margin-bottom: 12px;
  }

  .asset-card-media,
  .asset-video-preview,
  .asset-file-preview {
    min-height: 132px;
  }

  .asset-card-media img,
  .asset-card-media video {
    min-height: 132px;
  }

  .asset-card-body {
    padding: 12px;
  }

  .asset-card-head {
    align-items: flex-start;
    display: grid;
  }

  .asset-detail-grid {
    grid-template-columns: 1fr;
  }
}

/* Asset center real final structural fix. Keep below all legacy asset rules. */
body > main:has(.asset-library-shell) {
  display: block;
  min-height: 100vh;
  overflow: hidden;
  width: 100%;
}

body > main > .asset-library-shell {
  align-items: stretch;
  display: flex;
  min-height: 100vh;
  overflow: hidden;
  width: 100%;
}

body > main > .asset-library-shell > .asset-sidebar,
body > main > .asset-library-shell > .asset-library-sidebar {
  flex: 0 0 220px;
  height: 100vh;
  min-width: 220px;
  overflow-x: hidden;
  overflow-y: auto;
  position: sticky;
  top: 0;
  width: 220px;
}

body > main > .asset-library-shell > .asset-main,
body > main > .asset-library-shell > .asset-board-main {
  flex: 1 1 auto;
  height: 100vh;
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 30px clamp(22px, 3vw, 42px) 46px;
  width: auto;
}

body > main > .asset-library-shell .asset-board-top,
body > main > .asset-library-shell .asset-search-panel,
body > main > .asset-library-shell .asset-board-section,
body > main > .asset-library-shell .asset-waterfall,
body > main > .asset-library-shell .asset-pinboard {
  max-width: none;
  min-width: 0;
  width: 100%;
}

body > main > .asset-library-shell .asset-waterfall,
body > main > .asset-library-shell .asset-pinboard {
  column-count: initial;
  column-gap: initial;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

body > main > .asset-library-shell .asset-card,
body > main > .asset-library-shell .asset-pin-card {
  break-inside: auto;
  display: block;
  margin: 0;
  min-width: 0;
  width: 100%;
}

body > main > .asset-library-shell .asset-card-media {
  aspect-ratio: 4 / 3;
  min-height: 0;
}

body > main > .asset-library-shell .asset-card-media img,
body > main > .asset-library-shell .asset-card-media video {
  height: 100%;
  min-height: 0;
  object-fit: cover;
  width: 100%;
}

body > main > .asset-library-shell .asset-sidebar nav,
body > main > .asset-library-shell .asset-nav-group {
  display: grid;
  overflow: visible;
}

.dashboard > .admin-sidebar .sidebar-subnav {
  display: none;
}

.dashboard > .admin-sidebar a.active + .sidebar-subnav,
.dashboard > .admin-sidebar a:focus + .sidebar-subnav,
.dashboard > .admin-sidebar a:hover + .sidebar-subnav,
.dashboard > .admin-sidebar .sidebar-subnav:hover,
.dashboard > .admin-sidebar .sidebar-subnav:focus-within {
  display: grid;
}

/* Final asset-center structural fix. This must stay at the very end of the file. */
body > main:has(.asset-library-shell) {
  display: block;
  min-height: 100vh;
  overflow: hidden;
  width: 100%;
}

body > main > .asset-library-shell {
  align-items: stretch;
  display: flex;
  min-height: 100vh;
  overflow: hidden;
  width: 100%;
}

body > main > .asset-library-shell > .asset-sidebar,
body > main > .asset-library-shell > .asset-library-sidebar {
  flex: 0 0 220px;
  height: 100vh;
  min-width: 220px;
  overflow-x: hidden;
  overflow-y: auto;
  position: sticky;
  top: 0;
  width: 220px;
}

body > main > .asset-library-shell > .asset-main,
body > main > .asset-library-shell > .asset-board-main {
  flex: 1 1 auto;
  height: 100vh;
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 30px clamp(22px, 3vw, 42px) 46px;
  width: auto;
}

body > main > .asset-library-shell .asset-board-top,
body > main > .asset-library-shell .asset-search-panel,
body > main > .asset-library-shell .asset-board-section,
body > main > .asset-library-shell .asset-waterfall,
body > main > .asset-library-shell .asset-pinboard {
  max-width: none;
  min-width: 0;
  width: 100%;
}

body > main > .asset-library-shell .asset-waterfall,
body > main > .asset-library-shell .asset-pinboard {
  column-count: initial;
  column-gap: initial;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

body > main > .asset-library-shell .asset-card,
body > main > .asset-library-shell .asset-pin-card {
  break-inside: auto;
  display: block;
  margin: 0;
  min-width: 0;
  width: 100%;
}

body > main > .asset-library-shell .asset-card-media {
  aspect-ratio: 4 / 3;
  min-height: 0;
}

body > main > .asset-library-shell .asset-card-media img,
body > main > .asset-library-shell .asset-card-media video {
  height: 100%;
  min-height: 0;
  object-fit: cover;
  width: 100%;
}

body > main > .asset-library-shell .asset-sidebar nav,
body > main > .asset-library-shell .asset-nav-group {
  display: grid;
  overflow: visible;
}

.dashboard > .admin-sidebar .sidebar-subnav {
  display: none;
}

.dashboard > .admin-sidebar a.active + .sidebar-subnav,
.dashboard > .admin-sidebar a:focus + .sidebar-subnav,
.dashboard > .admin-sidebar a:hover + .sidebar-subnav,
.dashboard > .admin-sidebar .sidebar-subnav:hover,
.dashboard > .admin-sidebar .sidebar-subnav:focus-within {
  display: grid;
}

/* Asset center layout repair: keep the visual style, stabilize the workspace sizing. */
body.theme-admin > main:has(.asset-library-shell),
body > main:has(.asset-library-shell) {
  display: block;
  min-height: 100vh;
  overflow: hidden;
  width: 100%;
}

.asset-shell.asset-library-shell {
  display: grid;
  grid-template-columns: 238px minmax(0, 1fr);
  min-height: 100vh;
  overflow: hidden;
  width: 100%;
}

.asset-library-shell > .asset-sidebar,
.asset-library-shell > .asset-library-sidebar {
  grid-column: 1;
  height: 100vh;
  min-width: 0;
  position: sticky;
  top: 0;
  width: 238px;
}

.asset-library-shell > .asset-main,
.asset-library-shell > .asset-board-main {
  grid-column: 2;
  height: 100vh;
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 30px clamp(22px, 3vw, 42px) 46px;
  width: 100%;
}

.asset-library-shell .asset-section,
.asset-library-shell .asset-board-section,
.asset-library-shell .asset-search-panel,
.asset-library-shell .asset-board-top,
.asset-library-shell .asset-board-tabs {
  max-width: none;
  min-width: 0;
  width: 100%;
}

.asset-library-shell .asset-waterfall,
.asset-library-shell .asset-pinboard {
  column-count: initial;
  column-gap: initial;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  width: 100%;
}

.asset-library-shell .asset-card,
.asset-library-shell .asset-pin-card {
  break-inside: auto;
  display: block;
  margin: 0;
  min-width: 0;
  width: 100%;
}

.asset-library-shell .asset-card-media {
  aspect-ratio: 4 / 3;
  min-height: 0;
}

.asset-library-shell .asset-card-media img,
.asset-library-shell .asset-card-media video {
  height: 100%;
  min-height: 0;
  object-fit: cover;
  width: 100%;
}

.dashboard > .admin-sidebar .sidebar-subnav {
  display: none;
}

.dashboard > .admin-sidebar a.active + .sidebar-subnav,
.dashboard > .admin-sidebar .sidebar-subnav:hover,
.dashboard > .admin-sidebar:focus-within .sidebar-subnav {
  display: grid;
}

@media (max-width: 820px) {
  body.theme-admin > main:has(.asset-library-shell),
  body > main:has(.asset-library-shell) {
    overflow: visible;
  }

  .asset-shell.asset-library-shell {
    display: block;
    min-height: auto;
    overflow: visible;
  }

  .asset-library-shell > .asset-sidebar,
  .asset-library-shell > .asset-library-sidebar {
    height: auto;
    position: sticky;
    top: 0;
    width: 100%;
  }

  .asset-library-shell > .asset-main,
  .asset-library-shell > .asset-board-main {
    height: auto;
    overflow: visible;
    padding: 16px 14px 32px;
  }

  .asset-library-shell .asset-waterfall,
  .asset-library-shell .asset-pinboard {
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.work-create-shell .asset-main {
  background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 46%, #f8fafc 100%);
}

.work-create-head,
.work-detail-admin-head {
  display: grid;
  gap: 14px;
  margin-bottom: 22px;
}

.work-create-head h1,
.work-detail-admin-head h1 {
  color: #101828;
  font-size: clamp(30px, 4vw, 48px);
  letter-spacing: 0;
  margin: 0;
}

.work-create-grid {
  display: grid;
  gap: 22px;
}

.work-create-panel {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 26px;
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.07);
  padding: clamp(18px, 2.5vw, 28px);
}

.section-title.compact {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.section-title.compact h2 {
  margin: 0;
}

.section-title.compact span {
  color: #667085;
  font-size: 13px;
}

.work-info-form,
.work-upload-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.work-info-form label,
.work-info-form .full {
  display: grid;
  gap: 8px;
}

.work-info-form .full,
.work-upload-card,
.work-create-submit {
  grid-column: 1 / -1;
}

.work-info-form input,
.work-info-form select,
.work-info-form textarea,
.work-asset-search input,
.work-asset-search select {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 16px;
  color: #101828;
  font: inherit;
  min-height: 46px;
  padding: 12px 14px;
}

.work-info-form textarea {
  resize: vertical;
}

.field-title,
.work-info-form label span {
  color: #344054;
  font-weight: 760;
}

.work-info-form small,
.work-upload-card .muted {
  color: #667085;
}

.work-category-pills {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.work-category-pills button {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 18px;
  color: #344054;
  cursor: pointer;
  display: grid;
  gap: 6px;
  min-height: 86px;
  padding: 14px;
  text-align: left;
}

.work-category-pills button.active {
  background: #101828;
  border-color: #101828;
  color: #ffffff;
}

.work-category-pills button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.work-category-pills span {
  font-size: 12px;
  line-height: 1.45;
}

.work-upload-card {
  background: #f8fafc;
  border: 1px dashed rgba(15, 23, 42, 0.12);
  border-radius: 22px;
  padding: 18px;
}

.work-upload-card h3 {
  margin: 0 0 6px;
}

.work-asset-search {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) 160px auto;
  margin-bottom: 18px;
}

.work-asset-selector {
  column-count: 4;
  column-gap: 16px;
}

.work-select-asset {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 22px;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.06);
  break-inside: avoid;
  margin: 0 0 16px;
  overflow: hidden;
}

.work-select-asset.is-selected {
  border-color: rgba(37, 99, 235, 0.46);
  box-shadow: 0 18px 48px rgba(37, 99, 235, 0.16);
}

.work-select-preview {
  background: #f2f4f7;
  min-height: 150px;
}

.asset-video-preview img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.work-select-preview img,
.work-select-preview video,
.used-asset-preview img,
.used-asset-preview video,
.work-preview-strip img,
.work-preview-strip video {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.work-select-body {
  display: grid;
  gap: 9px;
  padding: 14px;
}

.work-select-body h3 {
  color: #101828;
  font-size: 15px;
  margin: 0;
}

.work-select-body p {
  color: #667085;
  font-size: 13px;
  margin: 0;
}

.work-select-controls {
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  display: grid;
  gap: 8px;
  padding-top: 10px;
}

.work-select-controls label {
  align-items: center;
  color: #344054;
  display: flex;
  font-size: 13px;
  gap: 7px;
}

.work-create-submit {
  align-items: center;
  background: #101828;
  border-radius: 24px;
  color: #ffffff;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 22px;
}

.work-create-submit div {
  display: grid;
  gap: 4px;
}

.work-create-submit span {
  color: rgba(255, 255, 255, 0.72);
}

.work-detail-admin-head {
  align-items: center;
  grid-template-columns: auto 1fr auto;
}

.admin-work-detail {
  display: grid;
  gap: 20px;
}

.admin-work-detail .work-detail-admin-head,
.admin-work-detail .work-detail-section {
  margin: 0;
}

.admin-work-detail .work-detail-admin-head {
  padding: var(--space-card, 24px);
}

.admin-work-detail .work-detail-admin-title {
  min-width: 0;
  text-align: center;
}

.admin-work-detail .work-detail-admin-head h1 {
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.25;
}

.admin-work-detail .section-title.compact {
  align-items: center;
}

.work-preview-strip {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin: 0;
}

.work-preview-item {
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  overflow: hidden;
}

.work-preview-item img,
.work-preview-item video {
  aspect-ratio: 4 / 3;
  background: #f2f4f7;
  border-radius: 0;
  box-shadow: none;
  display: block;
  height: auto;
  object-fit: contain;
  width: 100%;
}

.work-detail-info-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.work-detail-info-grid div {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 20px;
  display: grid;
  gap: 8px;
  padding: 16px;
}

.work-detail-info-grid strong {
  color: #667085;
  font-size: 12px;
}

.work-detail-info-grid span {
  color: #101828;
  font-weight: 760;
}

.work-detail-introduction {
  margin: 0;
}

.work-detail-info-grid .status-pill {
  display: inline-flex;
  width: fit-content;
}

.work-detail-rich-text {
  color: #344054;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.work-detail-rich-text > :first-child {
  margin-top: 0;
}

.work-detail-rich-text > :last-child {
  margin-bottom: 0;
}

.work-detail-rich-text img {
  border-radius: 12px;
  display: block;
  height: auto;
  margin: 14px 0;
  max-width: 100%;
}

.work-used-assets {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.work-used-assets article {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 20px;
  display: grid;
  gap: 12px;
  grid-template-columns: 96px 1fr;
  padding: 12px;
}

.work-used-assets article > a {
  color: inherit;
  display: contents;
  text-decoration: none;
}

.used-asset-preview {
  background: #f2f4f7;
  border-radius: 16px;
  height: 96px;
  overflow: hidden;
}

.work-used-assets article > div:last-child {
  display: grid;
  gap: 4px;
}

.work-used-assets article > a > div:last-child {
  display: grid;
  gap: 4px;
}

.work-used-assets small {
  color: #667085;
}

@media (max-width: 1180px) {
  .work-asset-selector {
    column-count: 3;
  }

  .work-detail-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .work-info-form,
  .work-upload-grid,
  .work-asset-search,
  .work-detail-admin-head {
    grid-template-columns: 1fr;
  }

  .work-category-pills,
  .work-detail-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .work-asset-selector {
    column-count: 2;
  }

  .work-create-submit {
    align-items: stretch;
    display: grid;
  }
}

/* Final product-direction overrides. Keep this block last. */
.asset-library-shell {
  background:
    radial-gradient(circle at 15% 0%, rgba(105, 128, 255, 0.12), transparent 26%),
    radial-gradient(circle at 92% 12%, rgba(255, 141, 178, 0.14), transparent 24%),
    #f7f7f5;
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr);
  min-height: 100vh;
}

.asset-library-sidebar {
  height: 100vh;
  position: sticky;
  top: 0;
}

.asset-board-main {
  height: 100vh;
  overflow-y: auto;
}

.asset-board-top {
  align-items: end;
  display: flex;
  gap: 22px;
  justify-content: space-between;
  margin: 0 0 18px;
}

.asset-board-tabs {
  display: flex;
  gap: 10px;
  margin: 16px 0;
  overflow-x: auto;
  padding: 2px 0 8px;
}

.asset-board-tabs a {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(24, 24, 27, 0.08);
  border-radius: 999px;
  color: #4b5563;
  flex: 0 0 auto;
  font-size: 14px;
  font-weight: 750;
  padding: 10px 16px;
}

.asset-board-tabs a.active,
.asset-board-tabs a:hover {
  background: #151719;
  border-color: #151719;
  color: #ffffff;
}

.asset-board-section {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.asset-pinboard {
  column-count: 5;
  column-gap: 18px;
}

.asset-pin-card {
  border: 0;
  border-radius: 24px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.075);
  margin: 0 0 18px;
}

.asset-pin-card:hover {
  box-shadow: 0 24px 58px rgba(15, 23, 42, 0.14);
  transform: translateY(-6px);
}

.asset-card-actions {
  border-top: 1px solid rgba(24, 24, 27, 0.07);
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding-top: 10px;
}

.asset-card-actions a,
.asset-card-actions button {
  background: #f6f7f9;
  border: 1px solid rgba(24, 24, 27, 0.06);
  border-radius: 999px;
  color: #475467;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  padding: 8px 10px;
}

.asset-card-actions a:hover,
.asset-card-actions button:hover,
.asset-card-actions button.active {
  background: #151719;
  color: #ffffff;
}

.asset-lock-badge,
.asset-lock-mini {
  background: #151719;
  border-radius: 999px;
  color: #ffffff;
  font-weight: 800;
  padding: 8px 12px;
  white-space: nowrap;
}

@media (max-width: 1480px) {
  .asset-pinboard {
    column-count: 4;
  }
}

@media (max-width: 1160px) {
  .asset-pinboard {
    column-count: 3;
  }

  .asset-board-top {
    align-items: stretch;
    display: grid;
  }
}

@media (max-width: 820px) {
  .asset-library-shell {
    display: block;
  }

  .asset-library-sidebar {
    height: auto;
  }

  .asset-board-main {
    height: auto;
    overflow: visible;
  }

  .asset-pinboard {
    column-count: 2;
    column-gap: 12px;
  }
}

/* Asset profile and upload-center flows. */
.asset-profile-create {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(220px, 1.4fr) minmax(160px, 1fr) minmax(160px, 1fr) auto;
}

.asset-profile-create input,
.asset-profile-create button,
.upload-info-card input,
.upload-info-card select,
.upload-info-card textarea {
  background: #ffffff;
  border: 1px solid rgba(24, 24, 27, 0.1);
  border-radius: 14px;
  color: #151719;
  font: inherit;
  min-height: 42px;
  padding: 10px 12px;
}

.asset-profile-create button,
.upload-submit,
.asset-primary-action {
  background: #151719;
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  cursor: pointer;
  font-weight: 800;
  padding: 11px 18px;
}

.asset-profile-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.asset-profile-card {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 26px;
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.08);
  overflow: hidden;
}

.asset-profile-preview {
  background: linear-gradient(135deg, #eef2ff, #fff7fb);
  display: block;
  min-height: 180px;
  overflow: hidden;
}

.asset-profile-preview img,
.asset-purchase-shot img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.asset-profile-initial {
  align-items: center;
  color: #151719;
  display: flex;
  font-size: 54px;
  font-weight: 900;
  justify-content: center;
  min-height: 180px;
}

.asset-profile-body {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.asset-profile-body h3 {
  font-size: 20px;
  margin: 0;
}

.asset-profile-body p {
  color: #667085;
  line-height: 1.7;
  margin: 0;
}

.asset-profile-stats,
.asset-profile-summary {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.asset-profile-stats span,
.asset-profile-summary div,
.upload-info-card {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(24, 24, 27, 0.08);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.045);
  padding: 14px;
}

.asset-profile-stats strong,
.asset-profile-summary strong {
  color: #151719;
  display: block;
  font-size: 20px;
}

.asset-profile-stats span,
.asset-profile-summary span {
  color: #667085;
  font-size: 12px;
}

.asset-profile-summary .full {
  grid-column: 1 / -1;
}

.asset-purchase-list {
  display: grid;
  gap: 14px;
}

.asset-purchase-table {
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(24, 24, 27, 0.08);
  border-radius: 22px;
  overflow: hidden;
}

.asset-purchase-table-head,
.asset-purchase-table-row {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: 140px minmax(180px, 1fr) 120px 120px 110px;
  padding: 14px 16px;
}

.asset-purchase-table-head {
  background: #f6f7f9;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.asset-purchase-table-row + .asset-purchase-table-row {
  border-top: 1px solid rgba(24, 24, 27, 0.08);
}

.asset-proof-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.asset-proof-card {
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(24, 24, 27, 0.08);
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
  color: #151719;
  display: grid;
  gap: 10px;
  overflow: hidden;
}

.asset-proof-card img,
.asset-proof-card video {
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
  width: 100%;
}

.asset-proof-card span {
  font-weight: 750;
  padding: 0 14px 14px;
}

.asset-purchase-list article {
  align-items: center;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(24, 24, 27, 0.08);
  border-radius: 22px;
  display: grid;
  gap: 14px;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  padding: 12px;
}

.asset-purchase-shot {
  align-items: center;
  background: #f3f4f6;
  border-radius: 16px;
  color: #98a2b3;
  display: flex;
  justify-content: center;
  min-height: 86px;
  overflow: hidden;
}

.upload-center-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) 360px;
}

.upload-flow-steps {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 18px;
}

.upload-flow-steps div {
  align-items: center;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(24, 24, 27, 0.08);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.045);
  display: flex;
  gap: 10px;
  padding: 14px;
}

.upload-flow-steps strong {
  align-items: center;
  background: #151719;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.upload-selected-summary {
  align-items: center;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(24, 24, 27, 0.08);
  border-radius: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  padding: 12px;
}

.upload-selected-summary strong {
  color: #151719;
}

.upload-selected-summary span {
  color: #667085;
}

.upload-drop-card {
  align-items: center;
  background:
    radial-gradient(circle at 20% 10%, rgba(105, 128, 255, 0.16), transparent 26%),
    radial-gradient(circle at 90% 16%, rgba(255, 141, 178, 0.18), transparent 24%),
    rgba(255, 255, 255, 0.88);
  border: 2px dashed rgba(79, 70, 229, 0.22);
  border-radius: 34px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
  cursor: pointer;
  display: grid;
  gap: 14px;
  min-height: 520px;
  padding: clamp(24px, 4vw, 44px);
  text-align: center;
}

.upload-drop-card.dragging {
  background: #eef2ff;
  border-color: #6366f1;
}

.upload-drop-card input[type="file"] {
  height: 1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.upload-drop-title {
  color: #151719;
  font-size: clamp(30px, 4vw, 56px);
  font-weight: 900;
  letter-spacing: 0;
}

.upload-drop-subtitle {
  color: #667085;
  font-size: 15px;
}

.upload-drop-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
}

.upload-drop-actions button {
  background: #151719;
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  cursor: pointer;
  font-weight: 800;
  padding: 11px 18px;
}

.upload-center-side,
.upload-info-card,
.upload-info-card label {
  display: grid;
  gap: 12px;
}

.upload-info-card h2 {
  margin: 0;
}

.upload-info-card label span {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.uploader-summary {
  color: #667085;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.uploader-list {
  display: grid;
  gap: 10px;
  max-height: 340px;
  overflow: auto;
  text-align: left;
}

.upload-row {
  align-items: center;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(24, 24, 27, 0.08);
  border-radius: 16px;
  display: grid;
  gap: 10px;
  grid-template-columns: 48px minmax(0, 1fr) 64px 80px minmax(90px, 130px) 52px;
  padding: 8px;
}

.upload-preview {
  align-items: center;
  background: #f3f4f6;
  border-radius: 12px;
  display: flex;
  height: 44px;
  justify-content: center;
  overflow: hidden;
  width: 44px;
}

.upload-preview img,
.upload-preview video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.upload-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.upload-row progress {
  width: 100%;
}

.upload-row.ok .upload-status {
  color: #047857;
}

.upload-row.failed .upload-status {
  color: #dc2626;
}

@media (max-width: 980px) {
  .asset-profile-create,
  .upload-center-grid,
  .asset-purchase-list article,
  .upload-flow-steps,
  .asset-purchase-table-head,
  .asset-purchase-table-row {
    grid-template-columns: 1fr;
  }

  .asset-profile-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .asset-profile-stats,
  .asset-profile-summary {
    grid-template-columns: 1fr;
  }

  .upload-row {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .upload-row progress,
  .upload-type,
  .upload-size,
  .upload-status {
    grid-column: 2;
  }
}

/* Announcement rich editor and optional image dropzone. */
body.theme-admin .announcement-editor-layout {
  display:grid;
  grid-template-columns:minmax(0, 1.65fr) minmax(280px, .9fr);
  gap:22px;
  align-items:stretch;
}
body.theme-admin .announcement-editor-main { display:grid; gap:18px; min-width:0; }
body.theme-admin .announcement-rich-field { display:grid; gap:8px; min-width:0; }
body.theme-admin .announcement-rich-label { color:#272a2f; font-size:14px; font-weight:600; line-height:1.5; }
body.theme-admin .announcement-rich-toolbar {
  align-items:center;
  background:#f7f7f8;
  border:1px solid #dfe1e5;
  border-bottom:0;
  border-radius:12px 12px 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding:9px;
}
body.theme-admin .announcement-rich-toolbar select,
body.theme-admin .announcement-rich-toolbar button,
body.theme-admin .announcement-color-control {
  align-items:center;
  background:#fff;
  border:1px solid #d7d9de;
  border-radius:8px;
  color:#25272b;
  display:inline-flex;
  font:inherit;
  height:34px;
  justify-content:center;
  margin:0;
  min-width:36px;
  padding:0 10px;
}
body.theme-admin .announcement-rich-toolbar button { cursor:pointer; }
body.theme-admin .announcement-rich-toolbar button:hover { border-color:#9ca0a8; background:#fdfdfd; }
body.theme-admin .announcement-color-control { gap:7px; font-size:13px; }
body.theme-admin .announcement-color-control input { border:0; height:22px; padding:0; width:26px; }
body.theme-admin .announcement-rich-editor {
  background:#fff;
  border:1px solid #dfe1e5;
  border-radius:0 0 12px 12px;
  color:#202124;
  line-height:1.75;
  min-height:210px;
  outline:none;
  overflow-wrap:anywhere;
  padding:15px 16px;
}
body.theme-admin .announcement-rich-editor:empty::before { color:#9aa0a6; content:attr(data-placeholder); pointer-events:none; }
body.theme-admin .announcement-rich-editor:focus { border-color:#959aa3; box-shadow:0 0 0 3px rgba(17,24,39,.06); }
body.theme-admin .announcement-rich-editor[aria-invalid="true"] { border-color:#b42318; }
body.theme-admin .announcement-rich-editor p { margin:0 0 10px; }
body.theme-admin .announcement-emoji-control { position:relative; }
body.theme-admin .announcement-emoji-menu {
  background:#fff;
  border:1px solid #dfe1e5;
  border-radius:10px;
  box-shadow:0 10px 28px rgba(25,28,34,.12);
  display:grid;
  gap:4px;
  grid-template-columns:repeat(4, 36px);
  left:0;
  padding:7px;
  position:absolute;
  top:40px;
  z-index:20;
}
body.theme-admin .announcement-emoji-menu[hidden] { display:none; }
body.theme-admin .announcement-emoji-menu button { border:0; font-size:19px; padding:0; }
body.theme-admin .announcement-image-panel {
  background:#fafafa;
  border:1px solid #e1e3e7;
  border-radius:14px;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:16px;
}
body.theme-admin .announcement-image-dropzone {
  align-items:center;
  background:#fff;
  border:1.5px dashed #bfc3ca;
  border-radius:12px;
  cursor:pointer;
  display:flex;
  flex:1;
  justify-content:center;
  margin-top:9px;
  min-height:286px;
  overflow:hidden;
  padding:16px;
  position:relative;
  transition:border-color .16s ease, background .16s ease;
}
body.theme-admin .announcement-image-dropzone:hover,
body.theme-admin .announcement-image-dropzone.is-dragging { background:#f5f6f7; border-color:#60646c; }
body.theme-admin .announcement-image-dropzone input[type="file"] { height:1px; opacity:0; pointer-events:none; position:absolute; width:1px; }
body.theme-admin .announcement-image-preview { border-radius:9px; display:block; height:auto; max-height:310px; object-fit:contain; width:100%; }
body.theme-admin .announcement-image-preview[hidden] { display:none; }
body.theme-admin .announcement-dropzone-prompt { color:#5f6368; display:grid; gap:9px; justify-items:center; text-align:center; }
body.theme-admin .announcement-dropzone-prompt strong { color:#303238; font-size:15px; }
body.theme-admin .announcement-dropzone-prompt span { font-size:13px; }
body.theme-admin .announcement-image-status { font-size:12px; margin:10px 0 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.theme-admin .announcement-image-controls { display:flex; gap:12px; margin-top:10px; }
body.theme-admin .announcement-image-controls button { margin:0; }
.announcement-detail-content p { margin:0 0 1em; }
.announcement-detail-content p:last-child { margin-bottom:0; }

@media (max-width: 760px) {
  body.theme-admin .announcement-editor-layout { grid-template-columns:1fr; gap:18px; }
  body.theme-admin .announcement-image-dropzone { min-height:220px; }
  body.theme-admin .announcement-rich-toolbar { align-items:stretch; }
  body.theme-admin .announcement-rich-toolbar select { max-width:130px; }
}

/* Phase 16-D: Store onboarding UI uses the established account and admin card language. */
.store-application-panel { gap: 18px; }
.store-application-panel > .admin-page-header { margin-bottom: 0; }
.store-application-status,
.store-application-form { border-color: #e7e9ee; box-shadow: 0 8px 24px rgba(16,24,40,.03); }
.store-application-status { display: grid; grid-template-columns: minmax(0,1fr); gap: 18px; padding: 24px; }
.store-application-status__header { align-items: flex-start; display: flex; gap: 16px; justify-content: space-between; }
.store-application-status__header h2 { color: #1d2939; font-size: 22px; line-height: 1.3; margin: 0; }
.store-application-status__header .muted { margin: 6px 0 0; }
.store-application-status__badge { align-self: flex-start; border: 1px solid #fedf89; background: #fffaeb!important; color: #b54708!important; flex: 0 0 auto; }
.store-application-status.status-approved .store-application-status__badge { border-color: #abefc6; background: #ecfdf3!important; color: #027a48!important; }
.store-application-status.status-rejected .store-application-status__badge { border-color: #fecdca; background: #fef3f2!important; color: #b42318!important; }
.store-application-status__section { display: grid; gap: 12px; }
.store-application-status__section h3 { color: #344054; font-size: 14px; line-height: 1.45; margin: 0; }
.store-application-facts { display: grid; gap: 12px 16px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; }
.store-application-facts > div { border: 1px solid #eef0f3; border-radius: 12px; display: grid; gap: 4px; min-width: 0; padding: 12px; }
.store-application-facts dt { color: #667085; font-size: 13px; }
.store-application-facts dd { color: #1d2939; font-size: 14px; margin: 0; overflow-wrap: anywhere; }
.store-application-description,
.store-application-review { border: 1px solid #eef0f3; border-radius: 12px; padding: 14px; }
.store-application-description { background: #fafbfc; }
.store-application-review { background: #fffaf5; }
.store-application-description p,
.store-application-review p { color: #344054; line-height: 1.65; margin: 0; white-space: pre-wrap; }
.store-application-status__footer { align-items: center; border-top: 1px solid #eef0f3; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; padding-top: 16px; }
.store-application-status__footer .muted { margin: 0; }
.store-application-form { display: grid; gap: 18px; max-width: 900px; padding: 24px; }
.store-application-form__header { display: grid; gap: 6px; }
.store-application-form__header h2 { color: #1d2939; font-size: 20px; line-height: 1.35; margin: 0; }
.store-application-form__header .muted { margin: 0; }
.store-application-form input { min-height: 44px; }
.store-application-form textarea { min-height: 156px; }
.store-application-actions { border-top: 1px solid #eef0f3; padding-top: 16px; }

body.admin-ui .store-application-filter-card { padding: 14px 18px; }
body.admin-ui .store-application-filters { gap: 8px; }
body.admin-ui .store-application-list-card { overflow: hidden; padding: 0; }
body.admin-ui .store-application-list-card .table-wrap { margin: 0; }
body.admin-ui .store-application-detail-card { padding: 22px; }
body.admin-ui .store-application-detail-card > h2 { color: #1d2939; font-size: 18px; margin: 0 0 16px; }
body.admin-ui .store-application-detail-card .detail-grid .store-application-description { grid-column: 1 / -1; }
body.admin-ui .store-application-review-actions .admin-form-grid { align-items: start; gap: 16px; grid-template-columns: repeat(2,minmax(0,1fr)); }
body.admin-ui .store-application-review-actions form { background: #fafbfc; border: 1px solid #eef0f3; border-radius: 12px; display: grid; gap: 12px; padding: 16px; }
body.admin-ui .store-application-review-actions form label { display: grid; gap: 8px; font-size: 14px; font-weight: 600; }
body.admin-ui .store-application-review-actions form input,
body.admin-ui .store-application-review-actions form textarea { box-sizing: border-box; font: inherit; min-width: 0; width: 100%; }
body.admin-ui .store-application-review-actions form textarea { min-height: 108px; resize: vertical; }
body.admin-ui .store-application-review-actions form .button { justify-self: start; }

@media (max-width: 760px) {
  .store-application-status,
  .store-application-form { padding: 18px; }
  .store-application-status__header,
  .store-application-status__footer { align-items: flex-start; flex-direction: column; }
  .store-application-facts { grid-template-columns: minmax(0,1fr); }
  .store-application-status__footer .primary-button,
  .store-application-actions .primary-button { width: 100%; }
  body.admin-ui .store-application-review-actions .admin-form-grid { grid-template-columns: minmax(0,1fr); }
  body.admin-ui .store-application-review-actions form .button { width: 100%; }
}

.asset-shell {
  background: #f4f6f8;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  min-height: calc(100vh - 64px);
}

.asset-sidebar {
  align-self: start;
  background: #ffffff;
  border-right: 1px solid #e5e7eb;
  height: calc(100vh - 64px);
  overflow: auto;
  padding: 22px 16px;
  position: sticky;
  top: 64px;
}

.asset-sidebar-brand {
  display: block;
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 18px;
}

.asset-sidebar nav {
  display: grid;
  gap: 6px;
}

.asset-sidebar a {
  border-radius: 10px;
  color: #344054;
  display: block;
  font-size: 14px;
  padding: 10px 12px;
}

.asset-sidebar a.active,
.asset-sidebar a:hover {
  background: #eef4ff;
  color: #1d4ed8;
}

.asset-nav-group {
  border-top: 1px solid #eef2f6;
  display: grid;
  gap: 4px;
  margin-top: 8px;
  padding-top: 12px;
}

.asset-nav-group strong {
  color: #98a2b3;
  font-size: 12px;
  padding: 0 12px 4px;
}

.asset-main {
  height: calc(100vh - 64px);
  overflow: auto;
  padding: 28px;
}

.asset-hero {
  align-items: flex-start;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  padding: 28px;
}

.asset-hero.compact {
  align-items: center;
}

.asset-hero h1 {
  font-size: 36px;
  margin: 0 0 10px;
}

.asset-hero p {
  max-width: 680px;
}

.asset-hero-actions {
  display: flex;
  gap: 10px;
}

.asset-stat-grid,
.asset-quick-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 20px;
}

.asset-stat-card,
.asset-quick-card,
.asset-filter-panel,
.asset-section,
.asset-detail-page {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
}

.asset-stat-card,
.asset-quick-card {
  padding: 18px;
}

.asset-stat-card span,
.asset-quick-card span {
  color: #667085;
  display: block;
  font-size: 13px;
}

.asset-stat-card strong,
.asset-quick-card strong {
  display: block;
  font-size: 30px;
  margin-top: 8px;
}

.asset-quick-card {
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.asset-quick-card:hover {
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
  transform: translateY(-2px);
}

.asset-filter-panel {
  display: grid;
  gap: 14px;
  margin-bottom: 20px;
  padding: 16px;
}

.asset-search {
  display: flex;
  gap: 10px;
}

.asset-search input {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  flex: 1;
  padding: 12px 14px;
}

.asset-search button {
  background: #111827;
  border: 0;
  border-radius: 12px;
  color: #fff;
  cursor: pointer;
  padding: 0 18px;
}

.asset-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.asset-filter-row a {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  color: #475467;
  font-size: 13px;
  padding: 8px 12px;
}

.asset-filter-row a.active {
  background: #111827;
  border-color: #111827;
  color: #fff;
}

.asset-filter-row.secondary a.active {
  background: #2563eb;
  border-color: #2563eb;
}

.asset-section {
  padding: 20px;
}

.asset-waterfall {
  column-count: 4;
  column-gap: 16px;
}

.asset-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  break-inside: avoid;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
  display: inline-block;
  margin: 0 0 16px;
  overflow: hidden;
  width: 100%;
}

.asset-card-media {
  background: #f2f4f7;
  display: block;
  min-height: 150px;
}

.asset-card-media img,
.asset-card-media video,
.asset-detail-preview img,
.asset-detail-preview video {
  display: block;
  height: auto;
  width: 100%;
}

.asset-video-preview,
.asset-file-preview {
  align-items: center;
  aspect-ratio: 4 / 3;
  background: #eef2f6;
  color: #475467;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 150px;
}

.asset-file-preview strong {
  font-size: 24px;
}

.asset-card-body {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.asset-card-head,
.asset-card-meta {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.asset-card h3 {
  font-size: 15px;
  line-height: 1.45;
  margin: 0;
}

.asset-card-meta {
  color: #667085;
  font-size: 12px;
}

.asset-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.asset-pill-row span,
.original-mark {
  background: #f2f4f7;
  border-radius: 999px;
  color: #475467;
  font-size: 12px;
  padding: 5px 8px;
}

.original-mark {
  background: #fff1f3;
  color: #c01048;
}

.asset-favorite {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  color: #667085;
  cursor: pointer;
  font-size: 12px;
  padding: 5px 8px;
}

.asset-favorite.active {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #c2410c;
}

.asset-detail-page {
  padding: 24px;
}

.asset-detail-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
}

.asset-detail-actions {
  display: flex;
  gap: 10px;
}

.asset-detail-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(260px, 0.9fr) minmax(320px, 1.1fr);
}

.asset-detail-preview {
  background: #f2f4f7;
  border-radius: 16px;
  overflow: hidden;
}

.asset-detail-info h1 {
  font-size: 30px;
  margin: 0 0 12px;
}

.asset-detail-list {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
}

.asset-detail-list div {
  border-bottom: 1px solid #eef2f6;
  display: grid;
  gap: 6px;
  padding-bottom: 10px;
}

.asset-detail-list dt {
  color: #98a2b3;
  font-size: 12px;
}

.asset-detail-list dd {
  margin: 0;
}

.asset-detail-section {
  border-top: 1px solid #eef2f6;
  margin-top: 24px;
  padding-top: 20px;
}

.original-warning {
  background: #fff1f3;
  border: 1px solid #ffe4e8;
  border-radius: 12px;
  color: #a11043;
  display: grid;
  gap: 4px;
  margin: 16px 0;
  padding: 12px;
}

.asset-log-list {
  display: grid;
  gap: 10px;
}

.asset-log-list div {
  background: #f8fafc;
  border-radius: 12px;
  display: flex;
  justify-content: space-between;
  padding: 12px;
}

@media (max-width: 1100px) {
  .asset-waterfall {
    column-count: 3;
  }
}

@media (max-width: 820px) {
  .asset-shell {
    display: block;
  }

  .asset-sidebar {
    height: auto;
    position: sticky;
    top: 64px;
    z-index: 9;
  }

  .asset-sidebar nav {
    display: flex;
    gap: 6px;
    overflow-x: auto;
  }

  .asset-nav-group {
    border: 0;
    display: flex;
    margin: 0;
    padding: 0;
  }

  .asset-nav-group strong {
    display: none;
  }

  .asset-main {
    height: auto;
    overflow: visible;
    padding: 16px;
  }

  .asset-hero,
  .asset-detail-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .asset-stat-grid,
  .asset-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .asset-waterfall {
    column-count: 2;
  }
}

body.theme-pink {
  --bg: #fff5f8;
  --panel: #fffafd;
  --text: #3b2630;
  --muted: #8a6673;
  --line: #f8d7e3;
  --accent: #ec6fa9;
  --accent-dark: #c2417d;
  --soft: #fff0f6;
  --ink: #5b3142;
  --warm: #f8a9ca;
  --radius: 16px;
  --card-shadow: 0 18px 48px rgba(236, 111, 169, 0.16);
  --button-bg: #ec6fa9;
  --button-text: #ffffff;
  --nav-bg: rgba(255, 245, 248, 0.9);
  --cute-mark: " ♡";
}

body.theme-admin {
  --bg: #f5f7fb;
  --panel: #ffffff;
  --text: #111827;
  --muted: #667085;
  --line: #e5e7eb;
  --accent: #2563eb;
  --accent-dark: #1d4ed8;
  --soft: #eff6ff;
  --ink: #151719;
  --warm: #0f172a;
  --radius: 8px;
  --card-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
  --button-bg: #111827;
  --button-text: #ffffff;
  --nav-bg: rgba(255, 255, 255, 0.94);
  --cute-mark: "";
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, "Microsoft YaHei", sans-serif;
  transition: background-color 0.2s ease, color 0.2s ease;
}

a {
  color: inherit;
  text-decoration: none;
}

.topbar {
  align-items: center;
  backdrop-filter: blur(18px);
  background: var(--nav-bg);
  border-bottom: 1px solid var(--line);
  display: flex;
  height: 64px;
  justify-content: space-between;
  padding: 0 32px;
  position: sticky;
  top: 0;
  z-index: 10;
}

body.theme-white:not(.theme-admin) .topbar {
  border-bottom-color: rgba(15, 23, 42, 0.06);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.03);
}

.topbar nav {
  align-items: center;
  display: flex;
  gap: 20px;
}

.topbar nav a {
  color: var(--muted);
  font-size: 14px;
}

.topbar nav a.active {
  color: var(--text);
  font-weight: 800;
}

.public-login-entry {
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 999px;
  padding: 7px 12px;
}

.public-user-menu {
  position: relative;
}

.public-user-trigger {
  align-items: center;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 999px;
  color: var(--text);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 13px;
  gap: 8px;
  padding: 5px 10px 5px 5px;
}

.public-user-avatar {
  align-items: center;
  background: var(--button-bg);
  border-radius: 50%;
  color: var(--button-text);
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.public-user-dropdown {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
  display: none;
  min-width: 150px;
  padding: 8px;
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  z-index: 30;
}

.public-user-menu:hover .public-user-dropdown,
.public-user-menu:focus-within .public-user-dropdown {
  display: grid;
  gap: 2px;
}

.public-user-dropdown a,
.public-user-dropdown button {
  background: transparent;
  border: 0;
  border-radius: 10px;
  color: var(--text);
  display: block;
  font: inherit;
  font-size: 14px;
  padding: 9px 10px;
  text-align: left;
  text-decoration: none;
  width: 100%;
}

.public-user-dropdown a:hover,
.public-user-dropdown button:hover {
  background: rgba(15, 23, 42, 0.06);
}

.public-user-dropdown form {
  margin: 0;
}

.theme-switcher {
  align-items: center;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 999px;
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.theme-switcher button {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  padding: 5px 9px;
}

.theme-switcher button.active {
  background: var(--button-bg);
  color: var(--button-text);
}

body.theme-pink:not(.theme-admin) .theme-switcher {
  background: rgba(255, 250, 253, 0.82);
  border-color: rgba(236, 111, 169, 0.18);
  box-shadow: 0 10px 26px rgba(236, 111, 169, 0.14);
}

body.theme-pink .brand::after,
body.theme-pink .mobile-page-title strong::after,
body.theme-pink .announcement-head h1::after {
  content: var(--cute-mark);
}

.brand {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
}

.hero {
  align-items: end;
  background: linear-gradient(120deg, #0f766e, #263238);
  color: white;
  display: flex;
  min-height: 360px;
  padding: 56px 7vw;
}

.hero h1,
.panel h1,
.empty-state h1 {
  font-size: 42px;
  line-height: 1.12;
  margin: 8px 0 16px;
  max-width: 720px;
}

.lead {
  color: #dbe4ea;
  font-size: 18px;
  line-height: 1.7;
  max-width: 720px;
}

.panel .lead {
  color: var(--muted);
}

.eyebrow {
  color: var(--accent);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.hero .eyebrow {
  color: #99f6e4;
}

.section {
  padding: 40px 7vw;
}

.section-title {
  align-items: end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
}

.section-title h2 {
  font-size: 24px;
  margin: 0;
}

.section-title p {
  color: var(--muted);
  margin: 0;
}

.empty-panel,
.panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px;
}

.empty-panel {
  color: var(--muted);
  min-height: 180px;
}

.stack {
  display: grid;
  gap: 24px;
}

.panel-head {
  align-items: start;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 24px;
}

.panel-head h1,
.panel-head h2 {
  margin: 0 0 8px;
}

.muted,
small {
  color: var(--muted);
}

.notice {
  background: var(--soft);
  border: 1px solid #99d9cf;
  border-radius: 8px;
  color: var(--accent-dark);
  font-weight: 700;
  padding: 14px 16px;
}

.form-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-grid label {
  display: grid;
  gap: 8px;
}

.form-grid span {
  font-weight: 700;
}

.form-grid input,
.form-grid textarea,
.form-grid select {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--text);
  font: inherit;
  min-height: 42px;
  padding: 10px 12px;
  width: 100%;
}

.form-grid textarea {
  resize: vertical;
}

.form-grid select[multiple] {
  min-height: 140px;
}

.form-grid input[type="file"] {
  padding: 8px;
}

.checkbox-line {
  align-content: center;
  display: flex !important;
  gap: 10px !important;
  min-height: 42px;
}

.checkbox-line input {
  min-height: auto;
  width: auto;
}

.full {
  grid-column: 1 / -1;
}

.form-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}

.button.secondary {
  background: #eef2f6;
  color: #344054;
}

.publish-check {
  background: #f8fafc;
  border: 1px dashed var(--line);
  border-radius: 8px;
  display: grid;
  gap: 6px;
  padding: 14px 16px;
}

.publish-check strong {
  color: var(--text);
}

.publish-check span {
  color: var(--muted);
  font-size: 13px;
}

.source-material-notice,
.material-linked-works {
  background: var(--soft);
  border: 1px solid #99d9cf;
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}

.source-material-notice > span,
.material-linked-works > strong {
  color: var(--accent-dark);
  font-weight: 800;
}

.unified-upload,
.work-drop-uploader,
.material-picker {
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  padding: 18px;
}

.unified-upload > span {
  font-weight: 700;
}

.material-picker {
  background: #f8fafc;
}

.material-picker-head,
.material-picker-group {
  display: grid;
  gap: 10px;
}

.material-choice-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.material-choice {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  cursor: pointer;
  display: grid !important;
  gap: 8px !important;
  padding: 10px;
}

.material-choice input {
  min-height: auto;
  width: auto;
}

.material-choice.clear-choice {
  align-items: center;
  display: flex !important;
  flex-direction: row;
}

.material-choice-thumb {
  aspect-ratio: 4 / 3;
  background: #eef2f6;
  border-radius: 6px;
  display: block;
  overflow: hidden;
}

.material-choice-thumb img,
.material-choice-thumb video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.material-choice strong,
.material-choice small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.two-column-forms {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.category-form {
  align-content: start;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 18px;
}

.form-title {
  font-size: 18px;
  margin: 0;
}

.category-block {
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-bottom: 18px;
  overflow: hidden;
}

.category-block-head {
  align-items: center;
  background: #f8fafc;
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  padding: 14px 16px;
}

.category-block-head span {
  color: var(--muted);
  font-size: 13px;
}

.category-tree-table input {
  border: 1px solid var(--line);
  border-radius: 6px;
  font: inherit;
  min-height: 36px;
  padding: 7px 9px;
  width: 100%;
}

.module-switches {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.banner-admin-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 18px;
  grid-template-columns: 220px minmax(0, 1fr);
  padding: 18px;
}

.banner-admin-preview {
  aspect-ratio: 4 / 3;
  background: #e9eef4;
  border-radius: 8px;
  overflow: hidden;
}

.banner-admin-preview img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.banner-edit-form {
  align-content: start;
}

.material-card-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.resource-summary-panel {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  margin: 16px 0 20px;
  padding: 16px;
}

.resource-stat-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.resource-stat-grid div {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 6px;
  padding: 14px;
}

.resource-stat-grid span,
.resource-category-strip strong {
  color: var(--muted);
  font-size: 12px;
}

.resource-stat-grid strong {
  font-size: 24px;
}

.resource-category-strip {
  display: grid;
  gap: 10px;
}

.resource-category-strip div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.resource-category-strip div span {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #344054;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 10px;
}

.author-visual-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.author-visual-grid .material-card {
  align-content: start;
}

.author-visual-grid .material-thumb {
  aspect-ratio: 4 / 3;
}

.author-file-total {
  background: #111827;
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  justify-self: start;
  padding: 5px 10px;
}

.material-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  overflow: hidden;
}

.material-thumb {
  align-items: center;
  aspect-ratio: 16 / 10;
  background: #eef2f6;
  color: var(--muted);
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.material-thumb img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.material-card-body {
  display: grid;
  gap: 10px;
  padding: 16px;
}

.material-card-body h3 {
  font-size: 18px;
  line-height: 1.35;
  margin: 0;
}

.material-card-body p {
  color: var(--muted);
  display: -webkit-box;
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.material-meta-row {
  color: var(--muted);
  display: grid;
  gap: 4px;
  font-size: 13px;
}

.author-batch-source {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.author-batch-source .private-link {
  margin-right: 8px;
}

.author-purchase-shot {
  display: grid;
  gap: 6px;
}

.author-purchase-shot > span {
  color: var(--muted);
  font-size: 12px;
}

.author-purchase-shot img,
.author-purchase-shot video {
  aspect-ratio: 16 / 9;
  background: #eef2f6;
  border-radius: 6px;
  max-height: 140px;
  object-fit: cover;
  width: 100%;
}

.author-card-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.author-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  grid-template-columns: 86px minmax(0, 1fr);
  padding: 16px;
}

.author-avatar {
  align-items: center;
  aspect-ratio: 1;
  background: #eef2f6;
  border-radius: 8px;
  display: flex;
  font-size: 28px;
  font-weight: 900;
  justify-content: center;
  overflow: hidden;
}

.author-avatar img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.author-avatar.placeholder {
  color: #344054;
}

.author-card-body {
  display: grid;
  gap: 12px;
}

.author-card-head {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.author-card-head h3 {
  margin: 0;
}

.author-stats-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.author-stats-grid div {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 4px;
  padding: 10px;
}

.author-stats-grid span {
  color: var(--muted);
  font-size: 12px;
}

.workbench-actions,
.workbench-status-form {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.workbench-status-form {
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.workbench-status-form select {
  border: 1px solid var(--line);
  border-radius: 6px;
  font: inherit;
  min-height: 36px;
  padding: 7px 9px;
}

.material-actions {
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  margin-top: 4px;
  padding-top: 12px;
}

.material-file-section {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  padding: 18px;
}

.material-file-section h3 {
  margin: 0;
}

.material-file-group {
  display: grid;
  gap: 10px;
}

.material-file-head {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

.inline-date-filter {
  align-items: center;
  display: flex;
  gap: 8px;
}

.inline-date-filter span {
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.cover-picker-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
}

.cover-picker-item {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  cursor: pointer;
  display: grid;
  gap: 8px;
  padding: 10px;
}

.cover-picker-item input {
  justify-self: start;
}

.cover-picker-item img,
.cover-picker-item video {
  aspect-ratio: 4 / 3;
  border-radius: 6px;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.cover-picker-item span {
  color: var(--text);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.material-category-list {
  display: grid;
  gap: 10px;
}

.material-category-row {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 12px;
}

.material-category-row form {
  align-items: center;
  display: flex;
  flex: 1;
  gap: 10px;
}

.material-category-row input {
  border: 1px solid var(--line);
  border-radius: 6px;
  font: inherit;
  min-height: 36px;
  padding: 7px 9px;
}

.material-author-row form {
  grid-template-columns: 1.2fr 1fr 1.2fr 90px auto;
}

.form-subsection {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  padding: 14px;
}

.form-subsection h3 {
  margin: 0;
}

.work-create-upload-section {
  align-content: start;
}

.work-create-upload-section > p {
  margin: -4px 0 0;
}

.work-create-upload-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.inner-grid {
  gap: 12px;
}

.material-detail-summary {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 16px;
}

.material-detail-summary div {
  display: grid;
  gap: 5px;
}

.material-detail-summary span {
  color: var(--muted);
  font-size: 12px;
}

.material-detail-summary p {
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
}

.material-file-table {
  display: grid;
  gap: 10px;
}

.material-file-row {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  grid-template-columns: 92px minmax(170px, 1.2fr) minmax(180px, 1.2fr) minmax(120px, 0.8fr) minmax(110px, 0.7fr) 72px;
  padding: 12px;
}

.material-file-row label,
.material-file-row div {
  display: grid;
  gap: 5px;
}

.material-file-row span {
  color: var(--muted);
  font-size: 12px;
}

.material-file-row input {
  border: 1px solid var(--line);
  border-radius: 6px;
  font: inherit;
  min-height: 36px;
  padding: 7px 9px;
}

.material-file-preview {
  align-items: center;
  aspect-ratio: 1;
  background: #eef2f6;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.material-file-preview img,
.material-file-preview video,
.material-thumb img,
.material-thumb video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.video-thumb {
  height: 100%;
  position: relative;
  width: 100%;
}

.video-thumb video {
  background: #d9e1ea;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.video-thumb span {
  align-items: center;
  background: rgba(21, 23, 25, 0.72);
  border-radius: 999px;
  bottom: 8px;
  color: #fff;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 5px;
  left: 8px;
  padding: 4px 8px;
  position: absolute;
}

.video-thumb span::before {
  border-bottom: 4px solid transparent;
  border-left: 7px solid #fff;
  border-top: 4px solid transparent;
  content: "";
  display: inline-block;
  height: 0;
  width: 0;
}

.file-icon {
  color: #344054;
  font-size: 13px;
  font-weight: 800;
}

.file-delete-check {
  align-items: center;
  display: flex !important;
  gap: 6px !important;
  justify-content: center;
}

.file-delete-check input {
  min-height: auto;
  width: auto;
}

.material-file-delete-actions {
  margin-top: 12px;
}

.material-detail-page {
  display: grid;
  gap: 22px;
}

.material-purchase-panel {
  display: grid;
  gap: 12px;
}

.purchase-screenshot {
  background: #eef2f6;
  border: 1px solid var(--line);
  border-radius: 8px;
  max-width: 360px;
  overflow: hidden;
}

.purchase-screenshot img,
.purchase-screenshot video {
  display: block;
  max-height: 260px;
  object-fit: contain;
  width: 100%;
}

.material-batch-summary {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 18px;
  grid-template-columns: 220px minmax(0, 1fr);
  padding: 18px;
}

.material-batch-cover {
  align-items: center;
  aspect-ratio: 4 / 3;
  background: #eef2f6;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.material-batch-cover img,
.material-batch-cover video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.material-batch-info {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.material-batch-info div {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 6px;
  padding: 12px;
}

.material-batch-info span {
  color: var(--muted);
  font-size: 12px;
}

.material-detail-tools {
  display: grid;
  gap: 12px;
}

.material-type-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.material-type-tabs a {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  padding: 8px 14px;
}

.material-type-tabs a.active {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.asset-bulk-toolbar {
  align-items: end;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-template-columns: 1.3fr repeat(3, minmax(140px, 1fr)) auto;
  padding: 14px;
}

.asset-bulk-toolbar label {
  display: grid;
  gap: 6px;
}

.asset-bulk-toolbar label span {
  color: var(--muted);
  font-size: 12px;
}

.asset-bulk-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.material-detail-group {
  display: grid;
  gap: 12px;
}

.material-asset-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.material-waterfall {
  align-items: start;
  column-count: 4;
  column-gap: 14px;
  display: block;
}

.material-waterfall .material-asset-card {
  break-inside: avoid;
  display: inline-grid;
  margin: 0 0 14px;
  width: 100%;
}

.material-asset-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  overflow: hidden;
  position: relative;
}

.asset-select {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-flex;
  gap: 6px;
  left: 10px;
  padding: 5px 9px;
  position: absolute;
  top: 10px;
  z-index: 2;
}

.asset-select span {
  font-size: 12px;
  font-weight: 700;
}

.material-asset-thumb {
  align-items: center;
  aspect-ratio: 4 / 3;
  background: #eef2f6;
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.material-asset-thumb img,
.material-asset-thumb video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.material-asset-body {
  display: grid;
  gap: 6px;
  padding: 12px;
}

.material-asset-body strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.material-asset-body span {
  color: var(--muted);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.asset-status-pill {
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  padding: 2px 8px;
  width: fit-content;
}

.asset-status-pill.status-pending {
  background: #fff7ed;
  color: #9a3412;
}

.asset-status-pill.status-used {
  background: #ecfdf5;
  color: #047857;
}

.asset-status-pill.status-archived {
  background: #f1f5f9;
  color: #475569;
}

.asset-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.asset-tag-row span {
  background: #eef2ff;
  border-radius: 999px;
  color: #3730a3;
  padding: 3px 8px;
}

.existing-cover {
  display: grid;
  gap: 8px;
}

.existing-cover span {
  font-weight: 700;
}

.existing-cover img {
  aspect-ratio: 16 / 9;
  border: 1px solid var(--line);
  border-radius: 8px;
  max-width: 320px;
  object-fit: cover;
  width: 100%;
}

.material-mixed-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.material-mixed-item {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  overflow: hidden;
  padding-bottom: 8px;
}

.material-mixed-item img,
.material-mixed-item video {
  aspect-ratio: 16 / 10;
  background: #e9eef4;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.material-mixed-item span {
  color: var(--muted);
  font-size: 12px;
  overflow: hidden;
  padding: 0 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.material-uploader {
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  padding: 18px;
}

.uploader-dropzone {
  align-items: center;
  background: #f8fafc;
  border: 2px dashed #b9c3cf;
  border-radius: 8px;
  cursor: pointer;
  display: grid;
  gap: 8px;
  justify-items: center;
  min-height: 150px;
  padding: 24px;
  text-align: center;
}

.uploader-dropzone.dragging {
  background: var(--soft);
  border-color: var(--accent);
}

.uploader-dropzone input {
  display: none;
}

.uploader-summary {
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  font-size: 13px;
}

.uploader-list {
  display: grid;
  gap: 8px;
}

.upload-row {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
  display: grid;
  gap: 10px;
  grid-template-columns: 54px minmax(0, 1fr) 64px 80px 160px 60px;
  padding: 10px 12px;
}

.upload-preview {
  align-items: center;
  aspect-ratio: 1;
  background: #eef2f6;
  border-radius: 6px;
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.upload-preview img,
.upload-preview video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.upload-name,
.upload-type,
.upload-size {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.upload-type,
.upload-size {
  color: var(--muted);
  font-size: 12px;
}

.upload-row progress {
  height: 10px;
  width: 100%;
}

.upload-row.ok .upload-status {
  color: var(--accent-dark);
}

.upload-row.failed .upload-status {
  color: #b42318;
}

.upload-row[data-upload-status="上传成功"] .upload-status {
  color: #047857;
}

.upload-row[data-upload-status="上传失败"] .upload-status {
  color: #b91c1c;
}

.work-media-manager {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 16px;
  padding: 16px;
}

.work-media-section {
  display: grid;
  gap: 10px;
}

.work-media-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.work-media-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  overflow: hidden;
}

.work-media-thumb {
  align-items: center;
  aspect-ratio: 4 / 3;
  background: #eef2f6;
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.work-media-thumb img,
.work-media-thumb video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.work-media-body {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.work-media-body > span {
  color: var(--muted);
  font-size: 12px;
}

.work-media-body label:not(.checkbox-line) {
  display: grid;
  gap: 5px;
}

.work-media-body input[type="number"] {
  border: 1px solid var(--line);
  border-radius: 6px;
  min-height: 34px;
  padding: 6px 8px;
}

.danger-line {
  color: #b91c1c;
}

.material-image-carousel {
  min-height: 520px;
  position: relative;
}

.material-carousel-slide {
  background: #e9eef4;
  border: 0;
  cursor: zoom-in;
  padding: 0;
}

.material-carousel-slide img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.drop-upload {
  background: #f8fafc;
  border: 1px dashed #b9c3cf;
  border-radius: 8px;
  padding: 14px;
}

.drop-upload input[type="file"] {
  background: white;
}

.material-video-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.count {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 13px;
  padding: 7px 12px;
  white-space: nowrap;
}

.table-wrap {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow-x: auto;
}

.admin-data-table {
  background: #fff;
  min-width: 980px;
}

table {
  border-collapse: collapse;
  width: 100%;
}

th,
td {
  border-bottom: 1px solid var(--line);
  padding: 14px 14px;
  text-align: left;
  vertical-align: top;
}

th {
  background: #f8fafc;
  color: #475467;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

tbody tr:hover {
  background: #fbfdff;
}

td small,
td span {
  display: block;
  margin-top: 5px;
}

.thumb {
  aspect-ratio: 1;
  border-radius: 6px;
  height: 68px;
  object-fit: cover;
  width: 68px;
}

.admin-work-cover {
  background: #eef2f6;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.admin-work-title {
  min-width: 220px;
}

.admin-work-title strong {
  display: block;
  line-height: 1.35;
}

.admin-file-summary {
  min-width: 130px;
}

.admin-file-summary span,
.admin-file-summary small {
  white-space: nowrap;
}

.admin-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 140px;
}

.admin-tag-row span {
  background: #f2f4f7;
  border-radius: 999px;
  color: #475467;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  margin: 0;
  padding: 5px 8px;
}

.pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.pill {
  background: #eef2f6;
  border-radius: 999px;
  color: #344054;
  display: inline-flex;
  font-size: 12px;
  padding: 5px 8px;
}

.status-pill {
  background: #eef2f6;
  border-radius: 999px;
  color: #667085;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 9px;
  white-space: nowrap;
}

.status-pill.ok {
  background: #e8f5f2;
  color: var(--accent-dark);
}

.status-pill.warn {
  background: #fff7ed;
  color: #b45309;
}

.private-link {
  color: var(--accent-dark);
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 6px;
}

.text-button {
  background: transparent;
  border: 0;
  cursor: pointer;
  font: inherit;
  padding: 0;
}

.danger {
  color: #b42318;
}

.table-actions {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.table-actions .text-button,
.table-actions a.text-button {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  color: #344054;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  padding: 7px 9px;
}

.table-actions .danger {
  color: #b42318;
}

.logout-form {
  margin: 0;
}

.logout-form button {
  background: transparent;
  border: 0;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  padding: 0;
}

body.theme-admin {
  background: #f5f7fb;
}

.topbar.admin {
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid #e5e7eb;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
  height: 64px;
  padding-left: 28px;
  padding-right: 28px;
  position: fixed;
}

.admin-top-left,
.admin-top-actions {
  align-items: center;
  display: flex;
  gap: 14px;
}

.topbar.admin .brand {
  color: #111827;
  font-size: 18px;
  font-weight: 800;
}

.admin-top-title {
  border-left: 1px solid #e5e7eb;
  color: #344054;
  font-size: 14px;
  font-weight: 700;
  padding-left: 14px;
}

.admin-top-actions a,
.admin-top-actions button {
  color: #475467;
  font-size: 14px;
  font-weight: 700;
}

.admin-user-status {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  color: #1d4ed8;
  font-size: 13px;
  font-weight: 800;
  padding: 7px 12px;
}

.admin-user-chip {
  align-items: center;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  display: inline-flex;
  gap: 10px;
  padding: 6px 10px;
  text-decoration: none;
}

.admin-user-chip strong,
.admin-user-chip small {
  display: block;
  line-height: 1.2;
}

.admin-user-chip small {
  color: #667085;
  font-size: 12px;
  margin-top: 2px;
}

.admin-avatar,
.profile-avatar {
  align-items: center;
  background: #111827;
  color: #fff;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
}

.admin-avatar {
  border-radius: 50%;
  font-size: 14px;
  height: 32px;
  width: 32px;
}

.admin-account-panel {
  max-width: 920px;
}

.profile-card {
  align-items: center;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  display: flex;
  gap: 18px;
  margin: 16px 0;
  padding: 18px;
}

.profile-avatar {
  border-radius: 22px;
  font-size: 28px;
  height: 72px;
  width: 72px;
}

.detail-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.detail-grid.compact {
  margin-top: 18px;
}

.detail-item {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px;
}

.detail-item span,
.detail-item strong {
  display: block;
}

.detail-item span {
  color: #667085;
  font-size: 13px;
}

.detail-item strong {
  margin-top: 6px;
}

.theme-option-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.theme-option-card {
  align-items: flex-start;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  cursor: pointer;
  display: flex;
  gap: 10px;
  padding: 16px;
}

.theme-option-card:has(input:checked) {
  border-color: #111827;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.1);
}

.theme-option-card small {
  color: #667085;
  display: block;
  margin-top: 4px;
}

.login-shell {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 100vh;
  padding: 24px;
}

.login-panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 18px;
  max-width: 420px;
  padding: 32px;
  width: 100%;
}

.login-panel h1 {
  font-size: 32px;
  line-height: 1.15;
  margin: 0;
}

.login-panel label {
  display: grid;
  gap: 8px;
}

.login-panel span {
  font-weight: 700;
}

.login-panel input {
  border: 1px solid var(--line);
  border-radius: 6px;
  font: inherit;
  min-height: 44px;
  padding: 10px 12px;
}

.notice.error {
  background: #fef3f2;
  border-color: #fecdca;
  color: #b42318;
}

.dashboard {
  display: grid;
  gap: 28px;
  grid-template-columns: 248px minmax(0, 1fr);
  min-height: 100vh;
  padding: 88px 28px 32px;
}

.sidebar {
  align-self: start;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 4px;
  padding: 12px;
}

.dashboard > .admin-sidebar {
  border-radius: 12px;
  bottom: 24px;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
  left: 28px;
  overflow-y: auto;
  position: fixed;
  top: 88px;
  width: 220px;
}

.admin-sidebar-title {
  color: #98a2b3;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  padding: 8px 12px 10px;
}

.sidebar a {
  border-radius: 6px;
  color: var(--muted);
  font-weight: 700;
  padding: 12px 14px;
}

.sidebar a.active,
.sidebar a:hover {
  background: #eff6ff;
  color: #1d4ed8;
}

.sidebar-subnav {
  border-left: 1px solid var(--line);
  display: grid;
  gap: 4px;
  margin: -4px 0 4px 12px;
  padding-left: 10px;
}

.sidebar-subnav a {
  font-size: 13px;
  padding: 8px 10px;
}

.admin-home-hero {
  align-items: center;
  display: flex;
  gap: 24px;
  justify-content: space-between;
}

.admin-home-hero h1 {
  margin-bottom: 10px;
}

.admin-home-hero .lead {
  margin: 0;
}

.admin-home-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
}

body.theme-admin .panel,
body.theme-admin .admin-stat-card,
body.theme-admin .admin-module-card,
body.theme-admin .resource-summary-panel,
body.theme-admin .material-card,
body.theme-admin .author-card,
body.theme-admin .announcement-admin-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

body.theme-admin .panel {
  padding: 24px;
}

body.theme-admin .eyebrow {
  color: #2563eb;
  text-transform: none;
}

.admin-stat-grid,
.admin-module-grid {
  display: grid;
  gap: 16px;
}

.admin-stat-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-stat-card,
.admin-module-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.admin-stat-card {
  display: grid;
  gap: 8px;
  padding: 18px;
}

.admin-stat-card span {
  color: var(--muted);
  font-size: 13px;
}

.admin-stat-card strong {
  font-size: 28px;
  line-height: 1;
}

.admin-stat-date {
  font-size: 20px !important;
}

.admin-activity-list {
  display: grid;
  gap: 10px;
}

.admin-activity-item {
  align-items: center;
  border: 1px solid #eef2f7;
  border-radius: 10px;
  display: grid;
  gap: 12px;
  grid-template-columns: 96px minmax(0, 1fr) 180px;
  padding: 12px 14px;
}

.admin-activity-item span {
  background: #f8fafc;
  border-radius: 999px;
  color: #475467;
  font-size: 12px;
  font-weight: 800;
  justify-self: start;
  padding: 6px 9px;
}

.admin-activity-item strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-activity-item time {
  color: var(--muted);
  font-size: 13px;
  text-align: right;
}

.admin-module-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-module-card {
  align-content: space-between;
  display: grid;
  gap: 18px;
  min-height: 190px;
  padding: 22px;
}

.admin-module-card.primary {
  background: linear-gradient(135deg, #10201f, #0f766e);
  border-color: transparent;
  color: #fff;
}

.admin-module-card strong {
  display: block;
  font-size: 20px;
  margin-bottom: 10px;
}

.admin-module-card p {
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
}

.admin-module-card.primary p,
.admin-module-card.primary .text-button {
  color: rgba(255, 255, 255, 0.78);
}

.stats-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 28px;
}

.stat {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 18px;
}

.stat strong {
  display: block;
  font-size: 30px;
  margin-bottom: 4px;
}

.stat span {
  color: var(--muted);
}

.empty-state {
  display: grid;
  min-height: 100vh;
  place-content: center;
  text-align: center;
}

.button {
  background: var(--button-bg);
  border-radius: var(--radius);
  color: var(--button-text);
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  margin-top: 12px;
  padding: 12px 18px;
}

.storefront {
  align-items: stretch;
  background: radial-gradient(circle at 84% 18%, rgba(199, 167, 108, 0.34), transparent 28%), linear-gradient(135deg, #151719, #263238 58%, #0f766e);
  color: white;
  display: grid;
  gap: 42px;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.72fr);
  min-height: 560px;
  padding: 72px 7vw 48px;
}

.storefront h1 {
  font-size: 58px;
  line-height: 1.12;
  margin: 8px 0 16px;
  max-width: 820px;
}

.store-search {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--line);
  border-radius: 999px;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 34px;
  max-width: 640px;
  padding: 8px 8px 8px 18px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.hero-actions {
  display: flex;
  margin-top: 20px;
}

.store-search input {
  border: 0;
  color: var(--text);
  font: inherit;
  min-height: 42px;
  outline: 0;
  padding: 0 10px;
}

.store-search select {
  border: 0;
  color: var(--text);
  font: inherit;
  min-height: 42px;
  outline: 0;
  padding: 0 10px;
}

.store-search button {
  background: var(--button-bg);
  border: 0;
  border-radius: 999px;
  color: var(--button-text);
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  padding: 0 18px;
}

.category-strip {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 24px 7vw 0;
  position: sticky;
  top: 68px;
  z-index: 20;
}

.category-strip a {
  align-items: center;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  display: inline-flex;
  flex: 0 0 auto;
  gap: 9px;
  padding: 11px 16px;
}

.category-strip a.active,
.category-strip a:hover {
  background: var(--ink);
  border-color: var(--ink);
  color: white;
}

.category-strip small {
  color: inherit;
  opacity: 0.72;
}

.mall-category-strip {
  background: rgba(250, 251, 252, 0.96);
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
  padding-top: 8px;
}

.category-navigation {
  background: color-mix(in srgb, var(--bg) 92%, white);
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 12px;
  padding: 12px 7vw 14px;
  position: sticky;
  top: 68px;
  z-index: 20;
}

.category-navigation > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
  width: 100%;
}

.primary-category-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(116px, 1fr));
}

.primary-category-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 4px;
  min-height: 72px;
  padding: 14px;
}

.primary-category-card strong {
  color: var(--text);
  font-size: 16px;
}

.primary-category-card span {
  color: var(--muted);
  font-size: 12px;
}

.primary-category-card.active,
.primary-category-card:hover {
  background: var(--ink);
  border-color: var(--ink);
}

.primary-category-card.active strong,
.primary-category-card.active span,
.primary-category-card:hover strong,
.primary-category-card:hover span {
  color: #fff;
}

.secondary-category-strip {
  display: flex;
  gap: 8px;
  overflow-x: auto;
}

.secondary-category-strip a {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  display: inline-flex;
  flex: 0 0 auto;
  gap: 6px;
  padding: 9px 13px;
  white-space: nowrap;
}

.secondary-category-strip a.active,
.secondary-category-strip a:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: white;
}

.secondary-category-strip small {
  color: inherit;
  opacity: 0.72;
}

.storefront-panel {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 8px;
  padding: 22px;
}

.storefront-panel strong {
  display: block;
  font-size: 42px;
}

.storefront-panel span {
  color: #dbe4ea;
}

.store-layout {
  display: grid;
  gap: 28px;
  grid-template-columns: 1fr;
  padding: 32px 7vw 70px;
}

.mall-hero {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.55fr);
  padding: 24px 7vw 18px;
}

.mall-search-panel {
  align-content: center;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  padding: 24px;
}

.mall-search-panel h1 {
  font-size: 34px;
  line-height: 1.16;
  margin: 0;
}

.mall-search-panel p {
  color: var(--muted);
  margin: 0;
}

.mall-products-section {
  margin: 0 auto;
  max-width: 1440px;
  padding: 24px 7vw;
}

.mall-search-section {
  margin: 0 auto;
  max-width: 1440px;
  padding: 8px 7vw 12px;
}

.category-product-list {
  padding-top: 14px;
}

.category-list-toolbar {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 16px;
}

.category-list-toolbar > div {
  display: grid;
  gap: 4px;
}

.category-list-toolbar > div:first-child strong {
  font-size: 20px;
}

.category-list-toolbar > div:first-child span {
  color: var(--muted);
  font-size: 13px;
}

.mall-title-row {
  align-items: end;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.mall-sort-form label {
  align-items: center;
  display: flex;
  gap: 8px;
}

.mall-sort-form > span {
  color: var(--muted);
  font-size: 13px;
}

.mall-sort-form select {
  border: 1px solid var(--line);
  border-radius: 8px;
  font: inherit;
  min-height: 40px;
  padding: 8px 12px;
}

.category-nav {
  align-self: start;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 4px;
  padding: 12px;
  position: sticky;
  top: 84px;
}

.category-nav a {
  align-items: center;
  border-radius: 6px;
  color: var(--muted);
  display: flex;
  justify-content: space-between;
  padding: 12px 14px;
}

.category-nav a.active,
.category-nav a:hover {
  background: var(--soft);
  color: var(--accent-dark);
}

.work-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mall-work-grid {
  gap: 14px;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
}

.small-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.work-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.work-card-link {
  display: grid;
}

.work-card:hover {
  box-shadow: 0 22px 52px rgba(23, 32, 42, 0.14);
  transform: translateY(-4px);
}

.work-card-media {
  aspect-ratio: 16 / 11;
  background: #e9eef4;
  overflow: hidden;
  position: relative;
}

.work-card-media img,
.product-visual img,
.detail-image-stack img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.media-badge {
  background: rgba(15, 118, 110, 0.92);
  border-radius: 999px;
  bottom: 12px;
  color: white;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 9px;
  position: absolute;
  right: 12px;
}

.media-placeholder {
  background: #e9eef4;
  height: 100%;
}

.work-card-body {
  display: grid;
  gap: 10px;
  padding: 18px;
}

.work-card-meta {
  color: var(--muted);
  font-size: 12px;
}

.work-card h3 {
  font-size: 18px;
  line-height: 1.35;
  margin: 0;
}

.card-price {
  align-items: baseline;
  display: flex;
  gap: 6px;
}

.card-price span {
  color: var(--muted);
  font-size: 13px;
}

.card-price strong {
  color: #b42318;
  font-size: 18px;
}

.consult-card-button {
  border-top: 1px solid var(--line);
  color: var(--accent-dark);
  font-weight: 700;
  margin-top: auto;
  padding: 13px 18px;
}

.work-card p {
  color: var(--muted);
  display: -webkit-box;
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.mall-product-card .work-card-media {
  aspect-ratio: 1 / 1;
}

.mall-product-card .work-card-body {
  gap: 8px;
  padding: 12px;
}

.mall-product-card .work-card-meta {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-width: 0;
}

.mall-product-card .work-card-meta small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mall-product-card h3 {
  display: -webkit-box;
  font-size: 15px;
  min-height: 40px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.mall-product-card .card-price strong {
  font-size: 17px;
}

.product-card-stats {
  color: var(--muted);
  display: flex;
  font-size: 12px;
  justify-content: space-between;
}

.contact-card-button {
  background: #fff7ed;
  color: #b42318;
  padding: 11px 12px;
  text-align: center;
}

.mobile-bottom-nav {
  display: none;
}

.mobile-page-title {
  display: none;
}

.category-entry-section {
  padding: 22px 7vw 8px;
}

.category-entry-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.category-entry-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  padding: 16px;
}

.category-entry-card.active,
.category-entry-card:hover {
  background: #fff7ed;
  border-color: #fed7aa;
}

.category-entry-card span {
  color: var(--muted);
  font-size: 13px;
}

.work-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-height: 24px;
}

.work-card-tags span {
  background: #eef2ff;
  border-radius: 999px;
  color: #3730a3;
  font-size: 11px;
  padding: 3px 7px;
}

.card-action-row {
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1.1fr 1fr auto;
}

.card-action-row .consult-card-button {
  border-top: 0;
  display: inline-flex;
  justify-content: center;
}

body:not(.theme-admin) .category-navigation {
  background: transparent;
  backdrop-filter: blur(18px);
  border-bottom: 0;
  box-shadow: none;
  margin: 20px auto 0;
  max-width: 1500px;
  padding: 0 7vw;
}

body:not(.theme-admin) .primary-category-grid {
  gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

body:not(.theme-admin) .primary-category-card {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92)),
    radial-gradient(circle at 92% 10%, rgba(21, 23, 25, 0.08), transparent 32%);
  border: 1px solid rgba(21, 23, 25, 0.08);
  border-radius: 16px;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.07);
  min-height: 142px;
  overflow: hidden;
  padding: 22px;
  position: relative;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body:not(.theme-admin) .primary-category-card strong {
  font-size: 21px;
  line-height: 1.2;
}

body:not(.theme-admin) .primary-category-card.active,
body:not(.theme-admin) .primary-category-card:hover {
  background:
    linear-gradient(145deg, #151719, #262b31),
    radial-gradient(circle at 90% 12%, rgba(255, 255, 255, 0.16), transparent 34%);
  border-color: #151719;
  box-shadow: 0 18px 48px rgba(21, 23, 25, 0.18);
  transform: translateY(-3px);
}

body:not(.theme-admin) .primary-category-card p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
  margin: 12px 0 0;
}

body:not(.theme-admin) .primary-category-card.active p,
body:not(.theme-admin) .primary-category-card:hover p {
  color: rgba(255, 255, 255, 0.72);
}

body.theme-white:not(.theme-admin) .studio-intro-banner,
body.theme-white:not(.theme-admin) .primary-category-card,
body.theme-white:not(.theme-admin) .portfolio-work-card,
body.theme-white:not(.theme-admin) .album-cover-card,
body.theme-white:not(.theme-admin) .announcement-card,
body.theme-white:not(.theme-admin) .announcement-head,
body.theme-white:not(.theme-admin) .quote-box.material-info-box {
  border-color: rgba(15, 23, 42, 0.055);
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.055);
}

body.theme-white:not(.theme-admin) .studio-intro-banner {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(250, 251, 252, 0.94)),
    radial-gradient(circle at 90% 16%, rgba(15, 23, 42, 0.07), transparent 36%);
}

body.theme-white:not(.theme-admin) .portfolio-work-card:hover,
body.theme-white:not(.theme-admin) .primary-category-card:hover,
body.theme-white:not(.theme-admin) .album-cover-card:hover {
  box-shadow: 0 28px 76px rgba(15, 23, 42, 0.12);
}

body:not(.theme-admin) .secondary-category-strip a {
  background: #fff;
  border-color: rgba(21, 23, 25, 0.08);
}

body:not(.theme-admin) .mall-products-section {
  max-width: 1500px;
  padding-top: 28px;
}

body:not(.theme-admin) .mall-work-grid {
  gap: 24px;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}

body:not(.theme-admin) .portfolio-work-card {
  background: #fff;
  border: 1px solid rgba(21, 23, 25, 0.08);
  border-radius: 18px;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
  overflow: visible;
  position: relative;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body:not(.theme-admin) .portfolio-work-card .work-card-link {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

body:not(.theme-admin) .portfolio-work-card:hover {
  border-color: rgba(21, 23, 25, 0.16);
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.16);
  transform: translateY(-5px);
}

body:not(.theme-admin) .portfolio-work-card .work-card-media {
  aspect-ratio: 4 / 3;
  background: #f1f5f9;
  border-radius: 18px 18px 0 0;
  overflow: hidden;
}

body:not(.theme-admin) .portfolio-work-card .work-card-media img {
  transition: transform 0.35s ease;
}

body:not(.theme-admin) .portfolio-work-card:hover .work-card-media img {
  transform: scale(1.035);
}

body:not(.theme-admin) .portfolio-work-card .work-card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 10px;
  padding: 14px 14px 12px;
}

body:not(.theme-admin) .portfolio-work-card .work-card-meta {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

body:not(.theme-admin) .portfolio-work-card .work-card-meta span {
  color: var(--text);
  font-size: 13px;
  font-weight: 700;
}

body:not(.theme-admin) .portfolio-work-card .work-card-meta small {
  color: var(--muted);
  font-size: 11px;
}

body:not(.theme-admin) .portfolio-work-card h3 {
  font-size: 17px;
  line-height: 1.38;
  min-height: 0;
  overflow: visible;
}

body:not(.theme-admin) .portfolio-work-card .work-card-tags {
  min-height: 0;
  overflow: visible;
}

body:not(.theme-admin) .portfolio-work-card .work-card-tags span {
  background: #f2f4f7;
  color: #475467;
}

body:not(.theme-admin) .portfolio-work-card .product-card-stats {
  border-top: 1px solid rgba(21, 23, 25, 0.06);
  padding-top: 10px;
}

body:not(.theme-admin) .portfolio-work-card .card-action-row {
  border-top: 1px solid rgba(21, 23, 25, 0.08);
  grid-template-columns: 1fr;
  overflow: hidden;
}

body:not(.theme-admin) .portfolio-work-card .contact-card-button {
  background: #151719;
  border-radius: 0;
  color: #fff;
  padding: 13px 14px;
}

body:not(.theme-admin) .studio-intro-banner {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.88)),
    radial-gradient(circle at 88% 18%, rgba(21, 23, 25, 0.1), transparent 34%);
  border: 1px solid rgba(21, 23, 25, 0.08);
  border-radius: 10px;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin: 24px auto 0;
  max-width: 1180px;
  padding: 30px clamp(20px, 4vw, 46px);
  width: calc(100% - 48px);
}

body:not(.theme-admin) .studio-intro-banner h1 {
  font-size: clamp(30px, 5vw, 56px);
  letter-spacing: 0;
  line-height: 1.04;
  margin: 8px 0 12px;
}

body:not(.theme-admin) .studio-intro-banner p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.8;
  margin: 0;
  max-width: 620px;
}

body:not(.theme-admin) .studio-eyebrow {
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 800;
}

body:not(.theme-admin) .studio-intro-action {
  align-items: center;
  background: #151719;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-weight: 800;
  min-height: 44px;
  padding: 0 22px;
}

body.theme-pink:not(.theme-admin) .portfolio-work-card {
  border-color: rgba(236, 111, 169, 0.22);
  box-shadow: 0 18px 48px rgba(236, 111, 169, 0.12);
}

body.theme-pink:not(.theme-admin) .portfolio-work-card::before {
  content: none;
}

body.theme-pink:not(.theme-admin) .portfolio-work-card .contact-card-button {
  background: #ec6fa9;
}

body.theme-pink:not(.theme-admin) .portfolio-work-card .contact-card-button::after,
body.theme-pink:not(.theme-admin) .studio-intro-action::after,
body.theme-pink:not(.theme-admin) .consult-main-button::after,
body.theme-pink:not(.theme-admin) .theme-switcher button.active::after {
  content: " ♡";
}

body.theme-pink:not(.theme-admin) .studio-intro-banner {
  background:
    linear-gradient(135deg, rgba(255, 249, 252, 0.96), rgba(255, 238, 246, 0.9)),
    radial-gradient(circle at 88% 18%, rgba(236, 111, 169, 0.16), transparent 34%);
  border-color: rgba(236, 111, 169, 0.2);
  box-shadow: 0 22px 60px rgba(236, 111, 169, 0.12);
}

body.theme-pink:not(.theme-admin) .studio-intro-banner h1::after {
  color: var(--accent);
  content: " ♡";
  font-size: 0.34em;
  vertical-align: super;
}

body.theme-pink:not(.theme-admin) .category-list-toolbar > div:first-child strong::after {
  color: var(--accent);
  content: " (｡•̀ᴗ-)✧";
  font-size: 14px;
  font-weight: 700;
}

body.theme-pink:not(.theme-admin) .empty-panel::after {
  color: var(--accent);
  content: " ૮₍ ˶ᵔ ᵕ ᵔ˶ ₎ა";
  display: block;
  font-weight: 800;
  margin-top: 10px;
}

body.theme-pink:not(.theme-admin) .primary-category-card.active,
body.theme-pink:not(.theme-admin) .primary-category-card:hover {
  background: linear-gradient(135deg, #ec6fa9, #f8a9ca);
}

.contact-card-button.secondary {
  background: #fff;
  color: var(--muted);
}

.album-page {
  padding-bottom: 64px;
}

.material-album-page {
  background: #fafbfc;
}

.album-hero {
  background: linear-gradient(135deg, #151719, #263238);
  color: #fff;
  padding: 46px 7vw 36px;
}

.album-hero h1 {
  font-size: 42px;
  line-height: 1.14;
  margin: 8px 0 12px;
}

.album-hero p {
  color: rgba(255, 255, 255, 0.72);
  margin: 0;
}

.album-layout {
  display: grid;
  gap: 24px;
  grid-template-columns: 260px minmax(0, 1fr);
  padding: 28px 7vw;
}

.album-sidebar {
  align-self: start;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 16px;
  padding: 14px;
  position: sticky;
  top: 84px;
}

.album-nav-group {
  display: grid;
  gap: 8px;
}

.album-nav-group > div {
  display: grid;
  gap: 4px;
}

.album-nav-group a {
  align-items: center;
  border-radius: 6px;
  color: var(--muted);
  display: flex;
  justify-content: space-between;
  padding: 10px 11px;
}

.album-nav-group a.active,
.album-nav-group a:hover {
  background: var(--soft);
  color: var(--accent-dark);
}

.album-main {
  display: grid;
  gap: 18px;
}

.album-entry-grid {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.album-card-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.album-cover-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  overflow: hidden;
}

.album-cover-card.active,
.album-cover-card:hover {
  border-color: #fed7aa;
  box-shadow: 0 12px 30px rgba(23, 32, 42, 0.1);
}

.album-cover-card div {
  align-items: center;
  aspect-ratio: 4 / 3;
  background: #eef2f6;
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.album-cover-card img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.album-cover-card video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.album-cover-card strong,
.album-cover-card small {
  padding: 0 12px;
}

.album-cover-card small {
  color: var(--muted);
  padding-bottom: 12px;
}

.album-title {
  align-items: end;
  display: flex;
  justify-content: space-between;
}

.album-grid {
  column-count: 4;
  column-gap: 12px;
}

.album-browser {
  display: grid;
  gap: 18px;
}

.album-browser-head {
  align-items: end;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.album-browser-head h1 {
  font-size: 30px;
  margin: 4px 0;
}

.album-browser-head p {
  color: var(--muted);
  margin: 0;
}

.album-viewer {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  padding: 12px;
  position: relative;
}

.album-viewer-main {
  background: #101418;
  border-radius: 8px;
  overflow: hidden;
}

.album-viewer-featured {
  align-items: center;
  background: #101418;
  border: 0;
  color: #fff;
  cursor: zoom-in;
  display: flex;
  min-height: min(66vh, 620px);
  padding: 0;
  position: relative;
  width: 100%;
}

.album-viewer-featured img,
.album-viewer-featured video {
  display: block;
  height: 100%;
  max-height: min(66vh, 620px);
  object-fit: contain;
  width: 100%;
}

.album-viewer-featured span,
.album-viewer-featured em,
.album-strip-item em,
.album-image-card em {
  background: rgba(15, 23, 42, 0.72);
  border-radius: 999px;
  bottom: 12px;
  color: #fff;
  font-style: normal;
  left: 12px;
  padding: 6px 10px;
  position: absolute;
}

.album-viewer-strip {
  display: flex;
  gap: 10px;
  overflow-x: auto;
}

.album-strip-item {
  background: #eef2f6;
  border: 1px solid var(--line);
  border-radius: 8px;
  cursor: zoom-in;
  flex: 0 0 112px;
  overflow: hidden;
  padding: 0;
  position: relative;
}

.album-strip-item.active,
.media-thumb.active {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.18);
}

.media-browser {
  position: relative;
}

.media-browser-main {
  background: #101418;
  border-radius: 8px;
  overflow: hidden;
}

.media-main-image,
.media-main-video,
.media-main-file {
  align-items: center;
  background: #101418;
  border: 0;
  color: #fff;
  display: flex;
  justify-content: center;
  min-height: min(66vh, 620px);
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}

.media-main-image {
  cursor: zoom-in;
}

.media-main-image img,
.media-main-video {
  display: block;
  height: 100%;
  max-height: min(66vh, 620px);
  object-fit: contain;
  width: 100%;
}

.media-main-file {
  display: grid;
  gap: 10px;
  place-items: center;
  text-align: center;
}

.media-browser-nav {
  align-items: center;
  background: rgba(255, 255, 255, 0.9);
  border: 0;
  border-radius: 999px;
  color: var(--text);
  cursor: pointer;
  display: flex;
  font-size: 34px;
  height: 42px;
  justify-content: center;
  position: absolute;
  top: calc(50% - 34px);
  transform: translateY(-50%);
  width: 42px;
  z-index: 2;
}

.media-browser-nav.prev {
  left: 22px;
}

.media-browser-nav.next {
  right: 22px;
}

.media-thumb-strip {
  scrollbar-width: thin;
}

.album-strip-item img,
.album-strip-item video {
  aspect-ratio: 1;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.album-strip-item span {
  display: none;
}

.album-image-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  break-inside: avoid;
  cursor: zoom-in;
  display: inline-grid;
  font: inherit;
  margin: 0 0 12px;
  overflow: hidden;
  padding: 0;
  text-align: left;
  width: 100%;
  position: relative;
}

.album-image-card img,
.album-image-card video {
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.album-image-card span {
  color: var(--muted);
  font-size: 12px;
  overflow: hidden;
  padding: 9px 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contact-actions {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}

.material-info-box {
  display: grid;
  gap: 18px;
}

.file-media-slide {
  align-content: center;
  color: var(--text);
  display: grid;
  gap: 10px;
  justify-items: center;
  padding: 28px;
}

.file-media-slide .file-icon,
.file-thumb-button span {
  background: #eef2f6;
  border-radius: 8px;
  color: #344054;
  font-weight: 800;
  padding: 10px;
}

.file-thumb-button {
  align-items: center;
  display: flex;
  justify-content: center;
}

.product-page {
  background: linear-gradient(180deg, #f7f6f3, #ffffff 42%);
  padding-bottom: 64px;
}

.share-hero {
  background: linear-gradient(135deg, #151719, #263238);
  color: white;
  padding: 58px 7vw 42px;
}

.share-hero h1 {
  font-size: 46px;
  line-height: 1.12;
  margin: 8px 0 14px;
}

.share-section {
  padding-top: 30px;
}

.share-link-box {
  display: grid;
  gap: 6px;
  min-width: 150px;
}

.product-first-screen {
  display: grid;
  gap: 42px;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.82fr);
  min-height: calc(100vh - 64px);
  padding: 42px 7vw;
}

.product-gallery {
  display: grid;
  gap: 12px;
}

.product-mixed-gallery {
  align-content: start;
}

.mixed-media-track {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
}

.mixed-media-slide {
  aspect-ratio: 16 / 10;
  background: #e9eef4;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 30px 80px rgba(21, 23, 25, 0.16);
  flex: 0 0 100%;
  overflow: hidden;
  scroll-snap-align: start;
}

.mixed-media-slide img,
.product-video-inline {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.mixed-thumb-row {
  display: flex;
  overflow-x: auto;
}

.mixed-thumb {
  flex: 0 0 86px;
  position: relative;
}

.mixed-thumb img,
.mixed-thumb video {
  aspect-ratio: 1;
  border-radius: 8px;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.video-thumb-button span {
  align-items: center;
  background: rgba(21, 23, 25, 0.72);
  border-radius: 999px;
  bottom: 6px;
  color: #fff;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  left: 6px;
  padding: 3px 7px;
  position: absolute;
}

.product-main-image,
.detail-image-button,
.thumb-button {
  background: transparent;
  border: 0;
  cursor: zoom-in;
  font: inherit;
  padding: 0;
}

.product-main-image {
  aspect-ratio: 16 / 10;
  background: #e9eef4;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 30px 80px rgba(21, 23, 25, 0.16);
  overflow: hidden;
  width: 100%;
}

.product-main-image img,
.thumb-button img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.product-thumb-row {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.thumb-button {
  aspect-ratio: 1;
  background: #e9eef4;
  border: 1px solid var(--line);
  border-radius: 6px;
  overflow: hidden;
}

.product-buybox {
  align-self: start;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(12px);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 22px 54px rgba(21, 23, 25, 0.08);
  padding: 32px;
  position: sticky;
  top: 88px;
}

.product-buybox h1 {
  font-size: 44px;
  line-height: 1.14;
  margin: 8px 0 16px;
}

body:not(.theme-admin) .product-page {
  background: #f7f8fa;
}

body:not(.theme-admin) .product-first-screen {
  gap: 28px;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, 0.55fr);
  max-width: 1560px;
  margin: 0 auto;
  min-height: auto;
  padding: 30px 7vw 54px;
}

body:not(.theme-admin) .product-gallery {
  min-width: 0;
}

body:not(.theme-admin) .media-browser-main {
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18);
}

body:not(.theme-admin) .media-main-image,
body:not(.theme-admin) .media-main-video,
body:not(.theme-admin) .media-main-file {
  min-height: min(74vh, 760px);
}

body:not(.theme-admin) .media-main-image img,
body:not(.theme-admin) .media-main-video {
  max-height: min(74vh, 760px);
}

body:not(.theme-admin) .product-buybox {
  background: #fff;
  border: 1px solid rgba(21, 23, 25, 0.08);
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
  padding: 28px;
  top: 84px;
}

body:not(.theme-admin) .product-buybox h1 {
  font-size: clamp(28px, 3vw, 42px);
}

body:not(.theme-admin) .product-desc {
  color: #475467;
}

body:not(.theme-admin) .quote-box.material-info-box {
  background: #f8fafc;
  border-color: rgba(21, 23, 25, 0.08);
}

body:not(.theme-admin) .quote-grid div {
  border-color: rgba(21, 23, 25, 0.08);
}

body:not(.theme-admin) .portfolio-detail-page {
  background: linear-gradient(180deg, #f6f7f8 0%, #fff 72%);
}

body:not(.theme-admin) .portfolio-detail-hero {
  display: grid;
  gap: 26px;
  grid-template-columns: 1fr;
  max-width: 1480px;
  padding-top: 28px;
}

body:not(.theme-admin) .portfolio-detail-page .product-gallery {
  width: 100%;
}

body:not(.theme-admin) .portfolio-detail-page .media-browser-main {
  border-radius: 18px;
}

body:not(.theme-admin) .portfolio-detail-page .media-main-image,
body:not(.theme-admin) .portfolio-detail-page .media-main-video,
body:not(.theme-admin) .portfolio-detail-page .media-main-file {
  min-height: min(76vh, 820px);
}

body:not(.theme-admin) .portfolio-detail-page .media-main-image img,
body:not(.theme-admin) .portfolio-detail-page .media-main-video {
  max-height: min(76vh, 820px);
}

body:not(.theme-admin) .portfolio-detail-info {
  background: transparent;
  border: 0;
  box-shadow: none;
  display: grid;
  gap: 18px;
  max-width: 980px;
  padding: 0 4px 8px;
  position: static;
}

body:not(.theme-admin) .portfolio-detail-info .eyebrow {
  color: var(--accent-dark);
  font-weight: 800;
  margin: 0;
}

body:not(.theme-admin) .portfolio-detail-info h1 {
  font-size: clamp(30px, 4vw, 52px);
  letter-spacing: 0;
  margin: 0;
}

body:not(.theme-admin) .portfolio-detail-info .product-desc {
  font-size: 16px;
  line-height: 1.85;
  max-width: 760px;
}

body:not(.theme-admin) .portfolio-detail-info .quote-box.material-info-box {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.07);
  max-width: 900px;
}

body:not(.theme-admin) .consult-main-button {
  background: #151719;
}

body:not(.theme-admin) .secondary-action {
  background: #eef2f6;
  color: #344054;
}

body:not(.theme-admin) .contact-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.core-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.core-tag {
  background: #e8f5f2;
  border: 1px solid #b6ded6;
  border-radius: 999px;
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 700;
  padding: 7px 10px;
}

.video-entry {
  align-items: center;
  background: linear-gradient(135deg, #151719, #24313a);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-template-columns: 40px minmax(0, 1fr) 72px;
  color: white;
  margin: 26px 0;
  padding: 12px;
}

.video-entry img {
  aspect-ratio: 1;
  border-radius: 6px;
  height: 72px;
  object-fit: cover;
  width: 72px;
}

.play-icon {
  align-items: center;
  background: var(--warm);
  border-radius: 999px;
  color: white;
  display: inline-flex;
  font-size: 13px;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.video-entry small {
  color: rgba(255, 255, 255, 0.72);
}

.video-entry strong,
.video-entry small {
  display: block;
}

.value-grid {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 18px;
}

.value-grid div {
  background: #f8fafc;
  border-radius: 8px;
  padding: 14px;
}

.value-grid strong {
  display: block;
  font-size: 24px;
}

.value-grid span {
  color: var(--muted);
  font-size: 13px;
}

.quote-box {
  background: #fffaf0;
  border: 1px solid #ead8b6;
  border-radius: 8px;
  display: grid;
  gap: 16px;
  margin: 24px 0;
  padding: 20px;
}

.quote-price span,
.quote-block span,
.quote-grid span {
  color: var(--muted);
  display: block;
  font-size: 13px;
  margin-bottom: 6px;
}

.quote-price strong {
  color: #b42318;
  display: block;
  font-size: 34px;
  line-height: 1;
}

.quote-block ul {
  display: grid;
  gap: 7px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.quote-block li::before {
  color: var(--accent);
  content: "✓";
  font-weight: 700;
  margin-right: 8px;
}

.quote-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.quote-grid div {
  background: white;
  border: 1px solid #ead8b6;
  border-radius: 8px;
  padding: 12px;
}

.consult-main-button {
  background: var(--accent);
  border-radius: 6px;
  color: white;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  padding: 13px 16px;
}

.product-hero {
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  padding: 32px 7vw;
}

.product-visual {
  aspect-ratio: 4 / 3;
  background: #e9eef4;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.product-info {
  align-self: start;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 28px;
}

.product-info h1 {
  font-size: 36px;
  line-height: 1.15;
  margin: 8px 0 16px;
}

.product-desc {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.75;
  margin: 0 0 24px;
}

.product-meta {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 18px;
  padding-top: 20px;
}

.product-meta span {
  color: var(--muted);
  display: block;
  font-size: 13px;
  margin-bottom: 6px;
}

.product-section {
  padding-top: 26px;
}

.video-showcase-section {
  background: #151719;
  color: white;
  margin: 24px 0;
  padding-bottom: 48px;
  padding-top: 48px;
}

.video-showcase-section .section-title p {
  color: rgba(255, 255, 255, 0.68);
}

.product-video {
  background: #111827;
  border-radius: 8px;
  display: block;
  max-height: 72vh;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
  width: 100%;
}

.detail-copy-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.detail-copy-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 26px;
}

.detail-copy-card h3 {
  font-size: 18px;
  margin: 0 0 10px;
}

.detail-copy-card p {
  color: var(--muted);
  line-height: 1.75;
  margin: 0;
}

.detail-image-stack {
  display: grid;
  gap: 34px;
}

.detail-image-button {
  background: transparent;
  border-radius: 8px;
  overflow: hidden;
  width: 100%;
}

.detail-image-stack img {
  background: #e9eef4;
  border: 1px solid var(--line);
  border-radius: 8px;
  height: auto;
  box-shadow: 0 18px 50px rgba(21, 23, 25, 0.1);
}

.image-preview {
  align-items: center;
  background: rgba(15, 23, 42, 0.88);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 32px;
  position: fixed;
  z-index: 100;
}

body.theme-admin .work-create-main .work-asset-search:has(.work-asset-type-dropdown.open) {
  overflow: visible;
}

.image-preview[hidden] {
  display: none;
}

.image-preview img {
  max-height: 92vh;
  max-width: 94vw;
  object-fit: contain;
}

.image-preview video {
  max-height: 92vh;
  max-width: 94vw;
}

.image-preview-close {
  background: white;
  border: 0;
  border-radius: 999px;
  color: var(--text);
  cursor: pointer;
  font-size: 26px;
  height: 42px;
  position: fixed;
  right: 24px;
  top: 24px;
  width: 42px;
}

.image-preview-nav {
  align-items: center;
  background: rgba(255, 255, 255, 0.9);
  border: 0;
  border-radius: 999px;
  color: var(--text);
  cursor: pointer;
  display: flex;
  font-size: 38px;
  height: 46px;
  justify-content: center;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
}

.image-preview-nav.prev {
  left: 24px;
}

.image-preview-nav.next {
  right: 24px;
}

.preview-open {
  overflow: hidden;
}

.announcement-page {
  background: #fafbfc;
  min-height: calc(100vh - 64px);
  padding-bottom: 78px;
}

.announcement-shell {
  display: grid;
  gap: 18px;
  margin: 0 auto;
  max-width: 920px;
  padding: 34px 24px;
}

.announcement-head {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  padding: 22px;
}

.announcement-head h1 {
  font-size: 32px;
  margin: 0;
}

.announcement-head p {
  color: var(--muted);
  margin: 0;
}

.announcement-list,
.announcement-admin-list {
  display: grid;
  gap: 14px;
}

.announcement-card,
.announcement-admin-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  padding: 18px;
}

.announcement-card.pinned {
  border-color: #fed7aa;
  box-shadow: 0 16px 42px rgba(23, 32, 42, 0.08);
}

.announcement-card-head {
  align-items: start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.announcement-card-head h2 {
  font-size: 22px;
  margin: 6px 0 0;
}

.announcement-card-head time {
  color: var(--muted);
  flex: 0 0 auto;
  font-size: 13px;
}

.announcement-content {
  color: var(--text);
  line-height: 1.75;
}

.announcement-admin-card {
  align-items: start;
  grid-template-columns: minmax(0, 1fr) auto;
}

.announcement-admin-form {
  width: 100%;
}

body:not(.theme-admin) .work-card,
body:not(.theme-admin) .primary-category-card,
body:not(.theme-admin) .album-cover-card,
body:not(.theme-admin) .announcement-card,
body:not(.theme-admin) .product-buybox,
body:not(.theme-admin) .album-viewer,
body:not(.theme-admin) .announcement-head,
body:not(.theme-admin) .empty-panel {
  border-radius: var(--radius);
  box-shadow: var(--card-shadow);
}

body:not(.theme-admin) .work-card,
body:not(.theme-admin) .album-cover-card,
body:not(.theme-admin) .announcement-card,
body:not(.theme-admin) .product-buybox,
body:not(.theme-admin) .announcement-head {
  background: var(--panel);
  border-color: var(--line);
}

body:not(.theme-admin) .core-tag,
body:not(.theme-admin) .work-card-tags span,
body:not(.theme-admin) .status-pill,
body:not(.theme-admin) .secondary-category-strip a,
body:not(.theme-admin) .category-list-toolbar > div:first-child span {
  border-radius: 999px;
}

body.theme-pink {
  background:
    radial-gradient(circle at 8% 8%, rgba(255, 198, 219, 0.34), transparent 24%),
    radial-gradient(circle at 92% 14%, rgba(255, 225, 238, 0.5), transparent 22%),
    var(--bg);
}

body.theme-pink .topbar {
  box-shadow: 0 10px 30px rgba(236, 111, 169, 0.08);
}

body.theme-pink .primary-category-card.active,
body.theme-pink .primary-category-card:hover,
body.theme-pink .secondary-category-strip a.active,
body.theme-pink .secondary-category-strip a:hover {
  background: linear-gradient(135deg, #ec6fa9, #f8a9ca);
  border-color: transparent;
}

body.theme-pink .work-card:hover,
body.theme-pink .album-cover-card:hover {
  box-shadow: 0 24px 62px rgba(236, 111, 169, 0.22);
}

body.theme-pink:not(.theme-admin) .portfolio-work-card,
body.theme-pink:not(.theme-admin) .primary-category-card,
body.theme-pink:not(.theme-admin) .album-cover-card,
body.theme-pink:not(.theme-admin) .announcement-card,
body.theme-pink:not(.theme-admin) .announcement-head,
body.theme-pink:not(.theme-admin) .quote-box.material-info-box,
body.theme-pink:not(.theme-admin) .media-browser-main {
  border-color: rgba(236, 111, 169, 0.18);
  box-shadow: 0 18px 52px rgba(236, 111, 169, 0.14);
}

body.theme-pink:not(.theme-admin) .album-hero,
body.theme-pink:not(.theme-admin) .share-hero {
  background: linear-gradient(135deg, #5b3142, #ec6fa9);
}

body.theme-pink:not(.theme-admin) .album-sidebar,
body.theme-pink:not(.theme-admin) .secondary-category-strip a,
body.theme-pink:not(.theme-admin) .mall-sort-form select,
body.theme-pink:not(.theme-admin) .store-search input {
  border-color: rgba(236, 111, 169, 0.2);
}

body.theme-pink:not(.theme-admin) .announcement-card-head h2::after,
body.theme-pink:not(.theme-admin) .album-browser-head h2::after,
body.theme-pink:not(.theme-admin) .album-title h2::after,
body.theme-pink:not(.theme-admin) .portfolio-detail-info h1::after {
  color: var(--accent);
  content: " ♡";
  font-size: 0.5em;
  vertical-align: super;
}

body.theme-pink .media-badge::after {
  content: "";
}

body.theme-pink .announcement-card.pinned::before {
  content: none;
}

.consult-page {
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.8fr);
  min-height: calc(100vh - 64px);
  padding: 56px 7vw;
}

.consult-intro {
  align-self: start;
  background: linear-gradient(135deg, #151719, #263238);
  border-radius: 8px;
  color: white;
  padding: 42px;
}

.consult-intro h1 {
  font-size: 44px;
  line-height: 1.12;
  margin: 10px 0 16px;
}

.consult-work {
  align-items: center;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  grid-template-columns: 86px minmax(0, 1fr);
  margin-top: 28px;
  padding: 12px;
}

.linked-work-name {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  margin-top: 28px;
  padding: 18px;
}

.linked-work-name span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
}

.linked-work-name strong {
  color: white;
  font-size: 20px;
  line-height: 1.35;
}

.consult-work img {
  aspect-ratio: 1;
  border-radius: 6px;
  object-fit: cover;
  width: 86px;
}

.consult-work span,
.consult-work small {
  color: rgba(255, 255, 255, 0.72);
  display: block;
}

.consult-form {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 18px;
  padding: 30px;
}

.consult-form label {
  display: grid;
  gap: 8px;
}

.consult-form input,
.consult-form textarea {
  border: 1px solid var(--line);
  border-radius: 6px;
  font: inherit;
  padding: 11px 12px;
}

@media (max-width: 760px) {
  body {
    padding-bottom: 62px;
  }

  .topbar {
    align-items: start;
    display: grid;
    gap: 8px;
    height: auto;
    padding: 0 18px;
    padding-bottom: 10px;
    padding-top: 10px;
  }

  .topbar nav {
    gap: 14px;
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 2px;
    white-space: nowrap;
  }

  .mobile-bottom-nav {
    background: var(--nav-bg);
    border-top: 1px solid var(--line);
    bottom: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    left: 0;
    position: fixed;
    right: 0;
    z-index: 80;
  }

  .mobile-bottom-nav a {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
    padding: 12px 8px;
    text-align: center;
  }

  .mobile-bottom-nav a.active {
    color: var(--accent-dark);
  }

  .material-storefront {
    padding: 12px 18px 0;
  }

  .mobile-page-title {
    display: grid;
    gap: 2px;
  }

  .mobile-page-title strong {
    font-size: 18px;
  }

  .mobile-page-title span {
    color: var(--muted);
    font-size: 12px;
  }

  .brand {
    font-size: 16px;
  }

  .hero {
    min-height: 320px;
    padding: 40px 24px;
  }

  .hero h1,
  .panel h1,
  .empty-state h1 {
    font-size: 32px;
  }

  .section,
  .dashboard {
    padding: 24px;
  }

  .dashboard {
    gap: 16px;
    grid-template-columns: 1fr;
    padding: 132px 16px 24px;
  }

  .topbar.admin {
    align-items: center;
    gap: 8px;
    grid-template-columns: 1fr;
    left: 0;
    padding: 10px 16px;
  }

  .admin-top-left,
  .admin-top-actions {
    justify-content: space-between;
    width: 100%;
  }

  .admin-top-title {
    display: none;
  }

  .admin-top-actions {
    gap: 8px;
    overflow-x: auto;
  }

  .dashboard > .admin-sidebar {
    border-radius: 10px;
    bottom: auto;
    display: flex;
    gap: 8px;
    left: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 8px;
    position: fixed;
    right: 16px;
    top: 86px;
    width: auto;
    z-index: 9;
  }

  .admin-sidebar-title,
  .sidebar-subnav {
    display: none;
  }

  .dashboard > .admin-sidebar a {
    flex: 0 0 auto;
    padding: 9px 12px;
    white-space: nowrap;
  }

  body.theme-admin .panel {
    padding: 18px;
  }

  .admin-home-hero {
    align-items: stretch;
    display: grid;
  }

  .admin-home-actions {
    flex-wrap: wrap;
  }

  .admin-stat-grid,
  .admin-module-grid {
    grid-template-columns: 1fr;
  }

  .admin-activity-item {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .admin-activity-item time {
    text-align: left;
  }

  .stats-grid {
    grid-template-columns: 1fr;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .two-column-forms {
    grid-template-columns: 1fr;
  }

  .panel-head {
    display: grid;
  }

  .storefront,
  .store-layout,
  .product-hero,
  .product-first-screen {
    grid-template-columns: 1fr;
  }

  .storefront {
    gap: 26px;
    min-height: auto;
    padding: 40px 24px 28px;
  }

  .storefront h1,
  .product-info h1,
  .product-buybox h1 {
    font-size: 32px;
  }

  .category-strip {
    padding: 18px 24px 0;
  }

  .store-search {
    grid-template-columns: 1fr;
  }

  .hero-actions {
    margin-top: 12px;
  }

  .module-switches,
  .banner-admin-card {
    grid-template-columns: 1fr;
  }

  .store-search button {
    min-height: 42px;
  }

  .category-nav {
    position: static;
  }

  .work-grid,
  .small-grid,
  .material-card-grid {
    grid-template-columns: 1fr;
  }

  .mall-hero {
    grid-template-columns: 1fr;
    padding: 12px 18px 18px;
  }

  .mall-search-panel {
    padding: 18px;
  }

  .mall-search-panel h1 {
    font-size: 26px;
  }

  .mall-products-section {
    padding: 18px;
  }

  .mall-search-section {
    padding: 6px 18px 10px;
  }

  .mall-category-strip {
    top: 0;
    padding: 8px 18px 10px;
  }

  .category-navigation {
    gap: 10px;
    padding: 10px 18px 12px;
    position: static;
  }

  .primary-category-grid {
    display: flex;
    gap: 10px;
    overflow-x: auto;
  }

  .primary-category-card {
    flex: 0 0 104px;
    min-height: 66px;
    padding: 12px;
  }

  .category-list-toolbar {
    align-items: stretch;
    display: grid;
  }

  .mall-title-row {
    align-items: stretch;
    display: grid;
  }

  .mall-sort-form label {
    justify-content: space-between;
  }

  .mall-sort-form select {
    min-width: 180px;
  }

  .mall-work-grid {
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .category-entry-section {
    padding: 18px;
  }

  .category-entry-grid {
    display: flex;
    gap: 10px;
    overflow-x: auto;
  }

  .category-entry-card {
    flex: 0 0 128px;
    padding: 13px;
  }

  .card-action-row {
    grid-template-columns: 1fr;
  }

  .card-action-row .consult-card-button:not(:first-child) {
    display: none;
  }

  .album-hero {
    padding: 30px 18px 24px;
  }

  .album-hero h1 {
    font-size: 28px;
  }

  .album-layout {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .album-sidebar {
    position: static;
  }

  .album-nav-group > div {
    display: flex;
    overflow-x: auto;
  }

  .album-nav-group a {
    flex: 0 0 auto;
    gap: 14px;
  }

  .album-title {
    align-items: start;
    display: grid;
  }

  .album-card-grid {
    display: flex;
    gap: 10px;
    overflow-x: auto;
  }

  .album-cover-card {
    flex: 0 0 150px;
  }

  .album-browser-head {
    align-items: stretch;
    display: grid;
  }

  .album-browser-head h1 {
    font-size: 24px;
  }

  .album-viewer {
    border-left: 0;
    border-radius: 0;
    border-right: 0;
    margin-left: -18px;
    margin-right: -18px;
  }

  .album-viewer-main,
  .album-viewer-featured {
    border-radius: 0;
  }

  .album-viewer-featured {
    min-height: 70vh;
  }

  .album-viewer-featured img,
  .album-viewer-featured video {
    max-height: 70vh;
  }

  .media-main-image,
  .media-main-video,
  .media-main-file {
    min-height: 70vh;
  }

  .media-main-image img,
  .media-main-video {
    max-height: 70vh;
  }

  .media-browser-nav {
    bottom: 86px;
    top: auto;
    transform: none;
  }

  .media-browser-nav.prev {
    left: 20px;
  }

  .media-browser-nav.next {
    right: 20px;
  }

  .media-thumb-strip {
    padding-bottom: 2px;
  }

  .album-grid {
    column-count: 2;
    column-gap: 10px;
  }

  .image-preview-nav {
    bottom: 22px;
    top: auto;
    transform: none;
  }

  .image-preview-nav.prev {
    left: 24px;
  }

  .image-preview-nav.next {
    right: 24px;
  }

  .contact-actions {
    grid-template-columns: 1fr;
  }

  .mall-product-card .work-card-body {
    padding: 10px;
  }

  .mall-product-card h3 {
    font-size: 14px;
    min-height: 38px;
  }

  .product-card-stats {
    display: grid;
    gap: 2px;
  }

  .product-hero,
  .product-first-screen {
    padding: 24px;
  }

  .share-hero {
    padding: 34px 24px 28px;
  }

  .share-hero h1 {
    font-size: 32px;
  }

  .product-first-screen {
    gap: 22px;
    min-height: auto;
  }

  .product-buybox {
    padding: 22px;
    position: static;
  }

  .product-main-image {
    aspect-ratio: 4 / 3;
  }

  .mixed-media-slide {
    aspect-ratio: 4 / 5;
  }

  .mixed-thumb {
    flex-basis: 64px;
  }

  .product-thumb-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .video-entry {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .video-entry img {
    display: none;
  }

  .value-grid,
  .detail-copy-grid,
  .quote-grid,
  .consult-page,
  .material-video-grid {
    grid-template-columns: 1fr;
  }

  .announcement-shell {
    padding: 18px;
  }

  .announcement-head h1 {
    font-size: 26px;
  }

  .announcement-card-head {
    display: grid;
  }

  .announcement-admin-card {
    grid-template-columns: 1fr;
  }

  .asset-bulk-toolbar {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .asset-bulk-actions {
    justify-content: stretch;
  }

  .asset-bulk-actions .button,
  .asset-bulk-actions .text-button {
    flex: 1;
  }

  .work-media-grid {
    grid-template-columns: 1fr;
  }

  .consult-page {
    padding: 24px;
  }

  .consult-intro {
    padding: 28px;
  }

  .consult-intro h1 {
    font-size: 32px;
  }

  .video-showcase-section {
    margin: 8px 0;
    padding-bottom: 32px;
    padding-top: 32px;
  }

  .detail-image-stack {
    gap: 22px;
  }

  .upload-row {
    grid-template-columns: 1fr;
  }

  .material-image-carousel {
    min-height: 300px;
  }

  .material-mixed-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .material-batch-summary,
  .material-batch-info,
  .material-asset-grid,
  .author-visual-grid,
  .author-card-grid,
  .author-card,
  .material-choice-grid,
  .resource-stat-grid,
  .work-create-upload-grid {
    grid-template-columns: 1fr;
  }

  .material-waterfall {
    column-count: 1;
  }

  .material-file-row {
    grid-template-columns: 1fr;
  }

  .material-category-row,
  .material-category-row form {
    align-items: stretch;
    display: grid;
  }

  .material-detail-summary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  body:not(.theme-admin) .category-navigation {
    padding: 12px 18px;
  }

  body:not(.theme-admin) .studio-intro-banner {
    align-items: flex-start;
    border-radius: 0;
    flex-direction: column;
    gap: 16px;
    margin-top: 0;
    padding: 22px 16px;
    width: 100%;
  }

  body:not(.theme-admin) .studio-intro-banner h1 {
    font-size: 30px;
  }

  body:not(.theme-admin) .studio-intro-banner p {
    font-size: 14px;
    line-height: 1.7;
  }

  body:not(.theme-admin) .studio-intro-action {
    justify-content: center;
    width: 100%;
  }

  body:not(.theme-admin) .primary-category-grid {
    display: flex;
    gap: 10px;
    overflow-x: auto;
  }

  body:not(.theme-admin) .primary-category-card {
    flex: 0 0 176px;
    min-height: 132px;
    padding: 14px;
  }

  body:not(.theme-admin) .primary-category-card strong {
    font-size: 17px;
  }

  body:not(.theme-admin) .primary-category-card p {
    font-size: 12px;
    line-height: 1.5;
    margin-top: 8px;
  }

  body:not(.theme-admin) .mall-products-section {
    padding: 18px;
  }

  body:not(.theme-admin) .mall-work-grid {
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.theme-admin) .portfolio-work-card .work-card-media {
    aspect-ratio: 1 / 1;
  }

  body:not(.theme-admin) .portfolio-work-card .work-card-body {
    gap: 8px;
    padding: 10px;
  }

  body:not(.theme-admin) .portfolio-work-card .work-card-meta {
    align-items: start;
    display: grid;
    gap: 4px;
  }

  body:not(.theme-admin) .portfolio-work-card .work-card-meta small {
    overflow-wrap: anywhere;
  }

  body:not(.theme-admin) .portfolio-work-card h3 {
    font-size: 14px;
    line-height: 1.35;
    min-height: 0;
    overflow-wrap: anywhere;
  }

  body:not(.theme-admin) .portfolio-work-card .work-card-tags {
    gap: 4px;
  }

  body:not(.theme-admin) .portfolio-work-card .work-card-tags span {
    font-size: 10px;
    line-height: 1.3;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  body:not(.theme-admin) .portfolio-work-card .product-card-stats {
    display: grid;
    gap: 3px;
    font-size: 11px;
    line-height: 1.35;
  }

  body:not(.theme-admin) .portfolio-work-card .contact-card-button {
    padding: 11px 10px;
  }

  body:not(.theme-admin) .product-first-screen {
    gap: 18px;
    grid-template-columns: 1fr;
    padding: 14px 0 34px;
  }

  body:not(.theme-admin) .product-gallery {
    gap: 8px;
  }

  body:not(.theme-admin) .media-browser-main,
  body:not(.theme-admin) .media-main-image,
  body:not(.theme-admin) .media-main-video,
  body:not(.theme-admin) .media-main-file {
    border-radius: 0;
  }

  body:not(.theme-admin) .portfolio-detail-page .media-browser-main,
  body:not(.theme-admin) .portfolio-detail-page .media-main-image,
  body:not(.theme-admin) .portfolio-detail-page .media-main-video,
  body:not(.theme-admin) .portfolio-detail-page .media-main-file {
    border-radius: 0;
  }

  body:not(.theme-admin) .media-main-image,
  body:not(.theme-admin) .media-main-video,
  body:not(.theme-admin) .media-main-file {
    min-height: 68vh;
  }

  body:not(.theme-admin) .media-main-image img,
  body:not(.theme-admin) .media-main-video {
    max-height: 68vh;
  }

  body:not(.theme-admin) .product-thumb-row {
    padding-left: 12px;
    padding-right: 12px;
  }

  body:not(.theme-admin) .product-buybox {
    border-left: 0;
    border-radius: 8px 8px 0 0;
    border-right: 0;
    box-shadow: none;
    margin-top: 0;
    padding: 20px 18px;
    position: static;
  }

  body:not(.theme-admin) .portfolio-detail-info {
    gap: 14px;
    padding: 18px;
  }

  body:not(.theme-admin) .portfolio-detail-info .quote-box.material-info-box {
    border-radius: 14px;
  }

  body:not(.theme-admin) .contact-actions {
    grid-template-columns: 1fr;
  }

  body.theme-pink:not(.theme-admin) .category-list-toolbar > div:first-child strong::after {
    display: block;
    margin-top: 4px;
  }
}

/* Final asset-center overrides: keep this block at the end. */
.asset-shell {
  background:
    radial-gradient(circle at 18% 0%, rgba(79, 124, 255, 0.12), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(255, 139, 184, 0.16), transparent 24%),
    #f6f7f9;
  grid-template-columns: 238px minmax(0, 1fr);
}

.asset-sidebar {
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(18px);
  border-right: 1px solid rgba(17, 24, 39, 0.08);
  height: calc(100vh - 64px);
  overflow-y: auto;
  padding: 24px 18px;
  position: sticky;
  top: 64px;
}

.asset-main {
  height: calc(100vh - 64px);
  overflow-y: auto;
  padding: 30px clamp(22px, 3vw, 42px) 46px;
}

.asset-hero {
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.78)),
    linear-gradient(135deg, #eef5ff 0%, #f8fbff 48%, #ffffff 100%);
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 30px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
  overflow: hidden;
  padding: clamp(26px, 4vw, 42px);
  position: relative;
}

.asset-hero::before {
  background: rgba(79, 124, 255, 0.14);
  border-radius: 999px;
  content: "";
  height: 170px;
  pointer-events: none;
  position: absolute;
  right: -42px;
  top: -54px;
  width: 170px;
}

.asset-hero::after {
  background: rgba(255, 137, 184, 0.18);
  border-radius: 999px;
  bottom: -72px;
  content: "";
  height: 210px;
  pointer-events: none;
  position: absolute;
  right: 86px;
  width: 210px;
}

.asset-hero > * {
  position: relative;
  z-index: 1;
}

.asset-hero h1 {
  font-size: clamp(32px, 4.4vw, 54px);
  letter-spacing: 0;
  line-height: 1.05;
}

.asset-stat-card,
.asset-quick-card,
.asset-filter-panel,
.asset-section,
.asset-detail-page {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 22px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.72) inset, 0 14px 36px rgba(15, 23, 42, 0.055);
}

.asset-stat-card,
.asset-quick-card {
  min-height: 124px;
  padding: 20px;
  position: relative;
}

.asset-stat-card::after,
.asset-quick-card::after {
  background: linear-gradient(135deg, #eef5ff 0%, #f8fbff 48%, #ffffff 100%);
  border-radius: 999px;
  content: "";
  height: 44px;
  opacity: 0.9;
  position: absolute;
  right: 18px;
  top: 18px;
  width: 44px;
}

.asset-stat-card:nth-child(2)::after,
.asset-quick-card:nth-child(2)::after,
.asset-stat-card:nth-child(4)::after,
.asset-quick-card:nth-child(4)::after {
  background: linear-gradient(135deg, #fff0f6 0%, #fff8fb 50%, #ffffff 100%);
}

.asset-quick-card,
.asset-card,
.asset-filter-row a,
.asset-favorite {
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, color 0.18s ease, background-color 0.18s ease;
}

.asset-quick-card:hover {
  border-color: rgba(79, 124, 255, 0.22);
  box-shadow: 0 24px 54px rgba(15, 23, 42, 0.1);
  transform: translateY(-4px);
}

.asset-search input {
  background: #ffffff;
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
  min-height: 44px;
  outline: none;
  padding: 12px 18px;
}

.asset-search input:focus {
  border-color: rgba(79, 124, 255, 0.42);
  box-shadow: 0 0 0 4px rgba(79, 124, 255, 0.1);
}

.asset-search button,
.asset-filter-row a.active,
.asset-filter-row.secondary a.active {
  background: #111827;
  border-color: #111827;
  border-radius: 999px;
  color: #ffffff;
}

.asset-filter-row a {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 999px;
  color: #596273;
  font-weight: 650;
  padding: 8px 14px;
}

.asset-filter-row a:hover {
  border-color: rgba(17, 24, 39, 0.18);
  color: #171a1f;
  transform: translateY(-1px);
}

.asset-section {
  padding: clamp(18px, 2.4vw, 26px);
}

.asset-section .section-title {
  border-bottom: 1px solid rgba(17, 24, 39, 0.08);
  margin-bottom: 18px;
  padding-bottom: 16px;
}

.asset-waterfall {
  column-count: 4;
  column-gap: 18px;
}

.asset-card {
  background: #ffffff;
  border: 1px solid rgba(17, 24, 39, 0.06);
  border-radius: 24px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
  margin: 0 0 18px;
  overflow: hidden;
}

.asset-card:hover {
  border-color: rgba(79, 124, 255, 0.2);
  box-shadow: 0 26px 62px rgba(15, 23, 42, 0.12);
  transform: translateY(-5px);
}

.asset-card-media {
  background: linear-gradient(135deg, rgba(247, 249, 252, 0.92), rgba(237, 243, 255, 0.72));
  min-height: 172px;
  overflow: hidden;
  position: relative;
}

.asset-card-media img,
.asset-card-media video {
  min-height: 172px;
  object-fit: cover;
  transition: transform 0.32s ease;
}

.asset-card:hover .asset-card-media img,
.asset-card:hover .asset-card-media video {
  transform: scale(1.035);
}

.asset-card-head strong,
.asset-pill-row span,
.original-mark {
  border: 1px solid rgba(17, 24, 39, 0.05);
}

.asset-card-head strong {
  background: #f5f7fb;
  border-radius: 999px;
  color: #344054;
  font-size: 12px;
  padding: 6px 9px;
}

.asset-card h3 {
  color: #171a1f;
  font-weight: 780;
  letter-spacing: 0;
}

.asset-card-meta span:first-child {
  color: #4f7cff;
  font-weight: 750;
}

.asset-favorite.active,
.original-mark {
  background: #fff1f7;
  border-color: rgba(236, 72, 153, 0.18);
  color: #be185d;
}

.empty-panel {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 24px;
  color: #6b7280;
  min-height: 180px;
  overflow: hidden;
  padding: 34px;
  position: relative;
}

.empty-panel::before {
  background: linear-gradient(135deg, rgba(79, 124, 255, 0.16), rgba(255, 137, 184, 0.18));
  border-radius: 999px;
  content: "";
  height: 130px;
  position: absolute;
  right: -28px;
  top: -36px;
  width: 130px;
}

@media (min-width: 1480px) {
  .asset-waterfall {
    column-count: 5;
  }
}

@media (max-width: 1180px) {
  .asset-waterfall {
    column-count: 3;
  }
}

@media (max-width: 820px) {
  .asset-shell {
    display: block;
    min-height: auto;
  }

  .asset-sidebar {
    border-bottom: 1px solid rgba(17, 24, 39, 0.08);
    border-right: 0;
    height: auto;
    padding: 12px 14px;
    position: sticky;
    top: 64px;
    z-index: 20;
  }

  .asset-sidebar-brand {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .asset-sidebar-brand::before {
    height: 24px;
    width: 24px;
  }

  .asset-sidebar nav,
  .asset-nav-group {
    display: flex;
    gap: 8px;
    overflow-x: auto;
  }

  .asset-nav-group {
    border: 0;
    margin: 0;
    padding: 0;
  }

  .asset-nav-group strong {
    display: none;
  }

  .asset-sidebar a {
    flex: 0 0 auto;
    min-height: 38px;
    white-space: nowrap;
  }

  .asset-main {
    height: auto;
    overflow: visible;
    padding: 16px 14px 30px;
  }

  .asset-hero {
    display: grid;
    gap: 18px;
    padding: 24px;
  }

  .asset-hero h1 {
    font-size: 34px;
  }

  .asset-stat-grid,
  .asset-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .asset-stat-card,
  .asset-quick-card {
    min-height: 112px;
    padding: 16px;
  }

  .asset-search {
    display: grid;
  }

  .asset-search button {
    width: 100%;
  }

  .asset-section .section-title {
    align-items: flex-start;
    display: grid;
    gap: 10px;
  }

  .asset-waterfall {
    column-count: 2;
    column-gap: 12px;
  }

  .asset-card {
    border-radius: 20px;
    margin-bottom: 12px;
  }

  .asset-card-media,
  .asset-video-preview,
  .asset-file-preview,
  .asset-card-media img,
  .asset-card-media video {
    min-height: 132px;
  }

  .asset-card-body {
    padding: 12px;
  }

  .asset-card-head {
    align-items: flex-start;
    display: grid;
  }

  .asset-detail-grid {
    grid-template-columns: 1fr;
  }
}


/* Asset center EOF structural fix. Keep this as the last asset layout block. */
body > main:has(.asset-library-shell) {
  display: block;
  min-height: 100vh;
  overflow: hidden;
  width: 100%;
}

body > main > .asset-library-shell {
  align-items: stretch;
  display: flex;
  min-height: 100vh;
  overflow: hidden;
  width: 100%;
}

body > main > .asset-library-shell > .asset-sidebar,
body > main > .asset-library-shell > .asset-library-sidebar {
  flex: 0 0 220px;
  height: 100vh;
  min-width: 220px;
  overflow-x: hidden;
  overflow-y: auto;
  position: sticky;
  top: 0;
  width: 220px;
}

body > main > .asset-library-shell > .asset-main,
body > main > .asset-library-shell > .asset-board-main {
  flex: 1 1 auto;
  height: 100vh;
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 30px clamp(22px, 3vw, 42px) 46px;
  width: auto;
}

body > main > .asset-library-shell .asset-board-top,
body > main > .asset-library-shell .asset-search-panel,
body > main > .asset-library-shell .asset-board-section,
body > main > .asset-library-shell .asset-waterfall,
body > main > .asset-library-shell .asset-pinboard {
  max-width: none;
  min-width: 0;
  width: 100%;
}

body > main > .asset-library-shell .asset-waterfall,
body > main > .asset-library-shell .asset-pinboard {
  column-count: initial;
  column-gap: initial;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

body > main > .asset-library-shell .asset-card,
body > main > .asset-library-shell .asset-pin-card {
  break-inside: auto;
  display: block;
  margin: 0;
  min-width: 0;
  width: 100%;
}

body > main > .asset-library-shell .asset-card-media {
  aspect-ratio: 4 / 3;
  min-height: 0;
}

body > main > .asset-library-shell .asset-card-media img,
body > main > .asset-library-shell .asset-card-media video {
  height: 100%;
  min-height: 0;
  object-fit: cover;
  width: 100%;
}

body > main > .asset-library-shell .asset-sidebar nav,
body > main > .asset-library-shell .asset-nav-group {
  display: grid;
  overflow: visible;
}

.dashboard > .admin-sidebar .sidebar-subnav {
  display: none;
}

.dashboard > .admin-sidebar a.active + .sidebar-subnav,
.dashboard > .admin-sidebar a:focus + .sidebar-subnav,
.dashboard > .admin-sidebar a:hover + .sidebar-subnav,
.dashboard > .admin-sidebar .sidebar-subnav:hover,
.dashboard > .admin-sidebar .sidebar-subnav:focus-within {
  display: grid;
}

/* Asset center parent specificity fix. Parent must be flex, not legacy block/grid. */
body > main > .asset-shell.asset-library-shell {
  align-items: stretch;
  display: flex;
  flex-direction: row;
  min-height: 100vh;
  overflow: hidden;
  width: 100%;
}

/* Assets inside the normal admin dashboard layout. */
.dashboard .admin-assets-stack {
  min-width: 0;
}

.dashboard .admin-assets-stack > .asset-main {
  height: auto;
  overflow: visible;
  padding: 0;
  width: 100%;
}

.dashboard .admin-assets-stack .asset-board-section {
  padding: clamp(18px, 2.4vw, 26px);
}

.dashboard .admin-assets-stack .asset-waterfall,
.dashboard .admin-assets-stack .asset-pinboard {
  column-count: initial;
  column-gap: initial;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  width: 100%;
}

.dashboard .admin-assets-stack .asset-card,
.dashboard .admin-assets-stack .asset-pin-card {
  display: block;
  margin: 0;
  width: 100%;
}

/* Admin module layout cleanup for assets page. */
.dashboard.admin-layout {
  align-items: stretch;
  display: flex;
  gap: 28px;
  min-height: 100vh;
  padding: 88px 28px 32px;
  width: 100%;
}

.dashboard.admin-layout > .admin-sidebar {
  align-self: flex-start;
  bottom: auto;
  flex: 0 0 220px;
  left: auto;
  position: sticky;
  top: 88px;
  width: 220px;
  z-index: 2;
}

.dashboard.admin-layout > .dashboard-content {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
}

.dashboard.admin-layout .asset-page {
  display: block;
  min-width: 0;
  overflow: visible;
  padding: 0;
  width: 100%;
}

.dashboard.admin-layout .asset-board-top,
.dashboard.admin-layout .asset-board-tabs,
.dashboard.admin-layout .asset-search-panel,
.dashboard.admin-layout .asset-board-section {
  max-width: none;
  min-width: 0;
  width: 100%;
}

.dashboard.admin-layout .asset-waterfall,
.dashboard.admin-layout .asset-pinboard {
  column-count: initial;
  column-gap: initial;
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  width: 100%;
}

.dashboard.admin-layout .asset-card,
.dashboard.admin-layout .asset-pin-card {
  display: block;
  margin: 0;
  min-width: 0;
  width: 100%;
}

.dashboard.admin-layout .asset-card-media {
  aspect-ratio: 4 / 3;
  min-height: 0;
}

.dashboard.admin-layout .asset-card-media img,
.dashboard.admin-layout .asset-card-media video {
  height: 100%;
  min-height: 0;
  object-fit: cover;
  width: 100%;
}

@media (max-width: 820px) {
  .dashboard.admin-layout {
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr;
    padding: 132px 16px 24px;
  }

  .dashboard.admin-layout > .admin-sidebar {
    bottom: auto;
    display: flex;
    flex: none;
    left: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    position: fixed;
    right: 16px;
    top: 86px;
    width: auto;
    z-index: 9;
  }

  .dashboard.admin-layout .asset-waterfall,
  .dashboard.admin-layout .asset-pinboard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Unified admin layout. This overrides page-level layout drift for every admin module. */
body.theme-admin > main {
  min-height: 100vh;
  width: 100%;
}

body.theme-admin .dashboard {
  align-items: flex-start;
  display: flex;
  gap: 28px;
  grid-template-columns: none;
  min-height: 100vh;
  padding: 88px 28px 32px;
  width: 100%;
}

body.theme-admin .dashboard > .admin-sidebar {
  align-self: flex-start;
  bottom: auto;
  flex: 0 0 220px;
  left: auto;
  max-height: calc(100vh - 112px);
  min-width: 220px;
  overflow-x: hidden;
  overflow-y: auto;
  position: sticky;
  right: auto;
  top: 88px;
  width: 220px;
  z-index: 2;
}

body.theme-admin .dashboard > .stack,
body.theme-admin .dashboard > .dashboard-content {
  flex: 1 1 auto;
  margin-left: 0;
  max-width: none;
  min-width: 0;
  width: auto;
}

body.theme-admin .dashboard .panel,
body.theme-admin .dashboard .asset-page,
body.theme-admin .dashboard .asset-board-top,
body.theme-admin .dashboard .asset-search-panel,
body.theme-admin .dashboard .asset-board-section {
  max-width: none;
  min-width: 0;
  width: 100%;
}

body.theme-admin .dashboard .asset-waterfall,
body.theme-admin .dashboard .asset-pinboard {
  column-count: initial;
  column-gap: initial;
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  width: 100%;
}

body.theme-admin .dashboard .asset-card,
body.theme-admin .dashboard .asset-pin-card {
  display: block;
  margin: 0;
  min-width: 0;
  width: 100%;
}

body.theme-admin .dashboard .asset-card-media {
  aspect-ratio: 4 / 3;
  min-height: 0;
}

body.theme-admin .dashboard .asset-card-media img,
body.theme-admin .dashboard .asset-card-media video {
  height: 100%;
  min-height: 0;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .dashboard > .admin-sidebar .sidebar-subnav {
  display: none;
}

body.theme-admin .dashboard > .admin-sidebar a.active + .sidebar-subnav,
body.theme-admin .dashboard > .admin-sidebar a:focus + .sidebar-subnav,
body.theme-admin .dashboard > .admin-sidebar a:hover + .sidebar-subnav,
body.theme-admin .dashboard > .admin-sidebar .sidebar-subnav:hover,
body.theme-admin .dashboard > .admin-sidebar .sidebar-subnav:focus-within {
  display: grid;
}

@media (max-width: 820px) {
  body.theme-admin .dashboard {
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr;
    padding: 132px 16px 24px;
  }

  body.theme-admin .dashboard > .admin-sidebar {
    bottom: auto;
    display: flex;
    flex: none;
    gap: 8px;
    left: 16px;
    max-height: none;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    position: fixed;
    right: 16px;
    top: 86px;
    width: auto;
    z-index: 9;
  }

  body.theme-admin .dashboard > .admin-sidebar .sidebar-subnav {
    display: none;
  }

  body.theme-admin .dashboard > .admin-sidebar a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  body.theme-admin .dashboard .asset-waterfall,
  body.theme-admin .dashboard .asset-pinboard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* UI system unification layer. Keep this section last while the legacy CSS is being consolidated. */
body.theme-white {
  --color-primary: #111827;
  --color-bg: #f8fafc;
  --color-card: #ffffff;
  --color-text: #151719;
  --color-border: #e5e7eb;
  --color-danger: #dc2626;
  --radius-card: 12px;
  --radius-input: 8px;
  --shadow-card: 0 8px 24px rgba(15, 23, 42, 0.055);
  --shadow-soft: 0 18px 48px rgba(15, 23, 42, 0.08);
  --space-page: clamp(18px, 4vw, 56px);
  --space-card: 22px;
  --bg: var(--color-bg);
  --panel: var(--color-card);
  --text: var(--color-text);
  --line: var(--color-border);
  --button-bg: var(--color-primary);
}

body.theme-pink {
  --color-primary: #ec6fa9;
  --color-bg: #fff5f8;
  --color-card: #fffafd;
  --color-text: #3b2630;
  --color-border: #f8d7e3;
  --color-danger: #dc2626;
  --radius-card: 18px;
  --radius-input: 12px;
  --shadow-card: 0 14px 36px rgba(236, 111, 169, 0.12);
  --shadow-soft: 0 18px 48px rgba(236, 111, 169, 0.16);
  --space-page: clamp(18px, 4vw, 56px);
  --space-card: 22px;
}

body.theme-admin {
  --color-primary: #2563eb;
  --color-bg: #f5f7fb;
  --color-card: #ffffff;
  --color-text: #111827;
  --color-border: #e5e7eb;
  --color-danger: #dc2626;
  --radius-card: 12px;
  --radius-input: 8px;
  --shadow-card: 0 10px 28px rgba(15, 23, 42, 0.045);
  --shadow-soft: 0 16px 36px rgba(15, 23, 42, 0.06);
  --space-page: 28px;
  --space-card: 24px;
  --bg: var(--color-bg);
  --panel: var(--color-card);
  --text: var(--color-text);
  --line: var(--color-border);
  --accent: var(--color-primary);
  --accent-dark: #1d4ed8;
}

body {
  background: var(--color-bg, var(--bg));
  color: var(--color-text, var(--text));
}

.topbar {
  min-width: 0;
}

.button,
button.button,
a.button,
.asset-primary-action,
.upload-submit,
.consult-main-button,
.studio-intro-action,
.store-search button {
  align-items: center;
  background: var(--button-bg, var(--color-primary));
  border: 1px solid var(--button-bg, var(--color-primary));
  border-radius: var(--radius-input);
  color: var(--button-text, #ffffff);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  justify-content: center;
  min-height: 40px;
  padding: 10px 16px;
}

.button.secondary,
.secondary-action {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-input);
  color: var(--color-text);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 14px;
  font-weight: 750;
  justify-content: center;
  min-height: 38px;
  padding: 9px 14px;
}

.text-button {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-input);
  color: var(--color-primary);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 14px;
  font-weight: 750;
  justify-content: center;
  min-height: 36px;
  padding: 7px 10px;
}

.text-button.danger,
.danger {
  color: var(--color-danger);
}

.button:hover,
.text-button:hover,
.asset-primary-action:hover,
.consult-main-button:hover,
.studio-intro-action:hover {
  filter: brightness(0.98);
  transform: translateY(-1px);
}

input,
select,
textarea {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-input);
  color: var(--color-text);
  font: inherit;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 14%, transparent);
  outline: 0;
}

.empty-panel,
.empty-state {
  background: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  color: var(--muted);
  padding: var(--space-card);
}

body.theme-admin .dashboard {
  background: var(--color-bg);
  gap: var(--space-page);
}

body.theme-admin .dashboard > .stack,
body.theme-admin .dashboard > .dashboard-content {
  display: grid;
  gap: 20px;
  max-width: var(--page-max);
  row-gap: 20px;
}

body.theme-admin .panel,
body.theme-admin .admin-stat-card,
body.theme-admin .admin-module-card,
body.theme-admin .resource-summary-panel,
body.theme-admin .material-card,
body.theme-admin .author-card,
body.theme-admin .announcement-admin-card,
body.theme-admin .asset-board-top,
body.theme-admin .asset-search-panel,
body.theme-admin .asset-board-section,
body.theme-admin .asset-profile-card,
body.theme-admin .upload-info-card,
body.theme-admin .upload-drop-card,
body.theme-admin .work-create-panel {
  background: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}

body.theme-admin .panel,
body.theme-admin .asset-board-top,
body.theme-admin .asset-search-panel,
body.theme-admin .asset-board-section,
body.theme-admin .work-create-panel {
  padding: var(--space-card);
}

body.theme-admin .panel-head,
body.theme-admin .asset-board-top,
body.theme-admin .work-create-head {
  align-items: flex-start;
  gap: 18px;
}

body.theme-admin .panel-head h1,
body.theme-admin .asset-board-top h1,
body.theme-admin .work-create-head h1,
body.theme-admin .admin-home-hero h1 {
  color: var(--color-text);
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.2;
  margin: 0;
}

body.theme-admin .eyebrow {
  color: var(--color-primary);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.04em;
}

body.theme-admin .admin-sidebar {
  border-radius: var(--radius-card);
}

body.theme-admin .sidebar a {
  border-radius: var(--radius-input);
}

body.theme-admin .sidebar a.active,
body.theme-admin .sidebar a:hover {
  background: color-mix(in srgb, var(--color-primary) 10%, #ffffff);
  color: var(--accent-dark);
}

body.theme-admin table,
body.theme-admin .admin-data-table,
body.theme-admin .category-tree-table,
body.theme-admin .asset-purchase-table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

body.theme-admin th,
body.theme-admin td,
body.theme-admin .admin-data-table th,
body.theme-admin .admin-data-table td {
  border-bottom: 1px solid var(--color-border);
  padding: 12px 14px;
}

body.theme-admin th,
body.theme-admin .admin-data-table th {
  background: #f8fafc;
  color: #475467;
  font-size: 12px;
  font-weight: 850;
}

body.theme-admin .form-grid input,
body.theme-admin .form-grid select,
body.theme-admin .form-grid textarea,
body.theme-admin .work-info-form input,
body.theme-admin .work-info-form select,
body.theme-admin .work-info-form textarea,
body.theme-admin .asset-search input,
body.theme-admin .upload-info-card input,
body.theme-admin .upload-info-card select,
body.theme-admin .upload-info-card textarea {
  min-height: 42px;
  padding: 10px 12px;
}

body.theme-admin .upload-drop-card {
  border-style: dashed;
  border-width: 1.5px;
  box-shadow: none;
}

.work-asset-result-head,
.work-asset-pagination {
  align-items: center;
  color: var(--muted);
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.work-asset-result-head {
  border-bottom: 1px solid var(--color-border);
  margin: 4px 0 14px;
  padding-bottom: 12px;
}

.work-asset-result-head span {
  color: var(--color-text);
  font-weight: 800;
}

.work-asset-result-head small {
  font-size: 13px;
}

.work-asset-pagination {
  border-top: 1px solid var(--color-border);
  margin-top: 16px;
  padding-top: 14px;
}

.work-asset-pagination span {
  color: #98a2b3;
  font-size: 14px;
  padding: 7px 10px;
}

.work-asset-pagination strong {
  color: var(--color-text);
  font-size: 14px;
}

body:not(.theme-admin) .topbar {
  background: var(--nav-bg);
  border-bottom: 1px solid color-mix(in srgb, var(--color-border) 72%, transparent);
  padding-left: var(--space-page);
  padding-right: var(--space-page);
}

body:not(.theme-admin) .store-search,
body:not(.theme-admin) .mall-sort-form select,
body:not(.theme-admin) .public-user-trigger,
body:not(.theme-admin) .theme-switcher {
  border-color: var(--color-border);
  border-radius: 999px;
}

body:not(.theme-admin) .public-user-dropdown {
  background: var(--color-card);
}

body:not(.theme-admin) .store-search button {
  border-radius: 999px;
}

body:not(.theme-admin) .primary-category-card,
body:not(.theme-admin) .portfolio-work-card,
body:not(.theme-admin) .album-cover-card,
body:not(.theme-admin) .announcement-card,
body:not(.theme-admin) .announcement-head,
body:not(.theme-admin) .consult-form,
body:not(.theme-admin) .product-buybox,
body:not(.theme-admin) .media-browser-main,
body:not(.theme-admin) .quote-box.material-info-box,
body:not(.theme-admin) .empty-panel {
  background: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}

body:not(.theme-admin) .portfolio-work-card {
  overflow: hidden;
}

body:not(.theme-admin) .portfolio-work-card .work-card-body,
body:not(.theme-admin) .announcement-card,
body:not(.theme-admin) .consult-form {
  padding: var(--space-card);
}

body:not(.theme-admin) .work-card-tags span,
body:not(.theme-admin) .core-tag,
body:not(.theme-admin) .status-pill,
body:not(.theme-admin) .secondary-category-strip a,
body:not(.theme-admin) .category-list-toolbar > div:first-child span {
  background: color-mix(in srgb, var(--color-primary) 8%, #ffffff);
  border: 1px solid color-mix(in srgb, var(--color-primary) 12%, var(--color-border));
  color: var(--color-text);
}

body:not(.theme-admin) .contact-card-button,
body:not(.theme-admin) .consult-main-button,
body:not(.theme-admin) .studio-intro-action {
  border-radius: var(--radius-input);
}

body:not(.theme-admin) .studio-intro-banner,
body:not(.theme-admin) .mall-products-section,
body:not(.theme-admin) .mall-search-section,
body:not(.theme-admin) .category-navigation,
body:not(.theme-admin) .consult-page,
body:not(.theme-admin) .announcement-page,
body:not(.theme-admin) .product-page {
  padding-left: var(--space-page);
  padding-right: var(--space-page);
}

/* Public portfolio detail: visual work first, supporting information second. */
body:not(.theme-admin) .portfolio-detail-page {
  background: #ffffff;
  color: var(--color-text);
  padding: 0 0 72px;
}

body:not(.theme-admin) .portfolio-detail-header,
body:not(.theme-admin) .portfolio-detail-media,
body:not(.theme-admin) .portfolio-detail-story,
body:not(.theme-admin) .portfolio-used-assets,
body:not(.theme-admin) .portfolio-detail-cta {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--page-max);
  width: calc(100% - (var(--space-page) * 2));
}

body:not(.theme-admin) .portfolio-detail-header {
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 40px 0 30px;
}

body:not(.theme-admin) .portfolio-detail-back {
  color: var(--muted);
  font-size: 14px;
  grid-column: 1 / -1;
  width: fit-content;
}

body:not(.theme-admin) .portfolio-detail-heading h1 {
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1.08;
  margin: 8px 0 18px;
  max-width: 920px;
}

body:not(.theme-admin) .portfolio-author-inline {
  align-items: center;
  align-self: end;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

body:not(.theme-admin) .portfolio-author-inline > span:nth-child(2) {
  display: grid;
  gap: 2px;
  margin-right: 8px;
}

body:not(.theme-admin) .portfolio-author-inline small,
body:not(.theme-admin) .portfolio-author-card small {
  color: var(--muted);
  font-size: 12px;
}

body:not(.theme-admin) .portfolio-author-avatar {
  align-items: center;
  background: #111827;
  border-radius: 50%;
  color: #ffffff;
  display: inline-flex;
  flex: 0 0 auto;
  font-weight: 800;
  height: 42px;
  justify-content: center;
  width: 42px;
}

body:not(.theme-admin) .portfolio-author-avatar.large {
  font-size: 22px;
  height: 64px;
  width: 64px;
}

body:not(.theme-admin) .portfolio-detail-media .media-browser-main {
  background: #f2f4f7;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: none;
}

body:not(.theme-admin) .portfolio-detail-media .media-main-image,
body:not(.theme-admin) .portfolio-detail-media .media-main-video,
body:not(.theme-admin) .portfolio-detail-media .media-main-file {
  background: #f2f4f7;
  min-height: clamp(420px, 68vh, 760px);
}

body:not(.theme-admin) .portfolio-detail-media .media-main-image img,
body:not(.theme-admin) .portfolio-detail-media .media-main-video {
  max-height: min(68vh, 760px);
  object-fit: contain;
}

body:not(.theme-admin) .portfolio-detail-media .product-thumb-row {
  display: flex;
  gap: 10px;
  margin-top: 12px;
  overflow-x: auto;
  padding: 2px;
}

body:not(.theme-admin) .portfolio-detail-media .media-thumb {
  flex: 0 0 88px;
}

body:not(.theme-admin) .portfolio-detail-story {
  border-top: 1px solid var(--color-border);
  display: grid;
  gap: 48px;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
  margin-top: 56px;
  padding-top: 42px;
}

body:not(.theme-admin) .portfolio-story-copy h2,
body:not(.theme-admin) .portfolio-section-head h2 {
  font-size: clamp(26px, 3vw, 38px);
  margin: 8px 0 16px;
}

body:not(.theme-admin) .portfolio-story-copy > p:last-child {
  color: #475467;
  font-size: 17px;
  line-height: 1.9;
  margin: 0;
  max-width: 820px;
  white-space: pre-line;
}

body:not(.theme-admin) .portfolio-author-card {
  align-items: center;
  align-self: start;
  border-left: 1px solid var(--color-border);
  display: grid;
  gap: 8px 16px;
  grid-template-columns: 64px minmax(0, 1fr);
  padding-left: 28px;
}

body:not(.theme-admin) .portfolio-author-card h2,
body:not(.theme-admin) .portfolio-author-card p {
  margin: 0;
}

body:not(.theme-admin) .portfolio-author-card p {
  color: var(--muted);
  font-size: 13px;
  margin-top: 4px;
}

body:not(.theme-admin) .portfolio-author-card .text-button {
  grid-column: 2;
  justify-content: flex-start;
  padding-left: 0;
  width: fit-content;
}

body:not(.theme-admin) .portfolio-used-assets {
  margin-top: 56px;
}

body:not(.theme-admin) .portfolio-section-head {
  align-items: end;
  display: flex;
  gap: 24px;
  justify-content: space-between;
}

body:not(.theme-admin) .portfolio-section-head > span {
  color: var(--muted);
  font-size: 13px;
  padding-bottom: 18px;
  text-align: right;
}

body:not(.theme-admin) .portfolio-asset-summary {
  border-bottom: 1px solid var(--color-border);
  border-top: 1px solid var(--color-border);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

body:not(.theme-admin) .portfolio-asset-summary > div {
  display: grid;
  gap: 6px;
  padding: 22px 0;
}

body:not(.theme-admin) .portfolio-asset-summary > div + div {
  border-left: 1px solid var(--color-border);
  padding-left: 22px;
}

body:not(.theme-admin) .portfolio-asset-summary span {
  color: var(--muted);
  font-size: 13px;
}

body:not(.theme-admin) .portfolio-detail-cta {
  align-items: center;
  background: #111827;
  border-radius: var(--radius-card);
  color: #ffffff;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  margin-top: 56px;
  padding: 24px;
}

body:not(.theme-admin) .portfolio-detail-cta div {
  display: grid;
  gap: 4px;
}

body:not(.theme-admin) .portfolio-detail-cta span {
  color: #cbd5e1;
  font-size: 13px;
}

body:not(.theme-admin) .portfolio-detail-cta .button {
  background: #ffffff;
  color: #111827;
}

body:not(.theme-admin) .portfolio-detail-cta .button.secondary {
  background: transparent;
  border-color: #475569;
  color: #ffffff;
}

body:not(.theme-admin) .consult-intro {
  background: #111827;
  border: 1px solid #111827;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  color: #ffffff;
}

body:not(.theme-admin) .consult-intro .lead {
  color: #cbd5e1;
}

@media (max-width: 820px) {
.purchase-relation-head{align-items:center}.purchase-relation-title{flex:1;min-width:0}.purchase-relation-title h3,.purchase-relation-title p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-relation-thumb{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid #e8e9ed}.purchase-relation-link-details{margin-top:12px;border-top:1px solid #eceef2;padding-top:10px}.purchase-relation-link-details summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;color:#303846}.purchase-relation-link-details summary span{color:#7a8393;font-size:12px}@media(max-width:900px){.purchase-relation-head{align-items:flex-start}}
.upload-integrated-form{display:grid;gap:18px}.upload-integrated-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px}.upload-integrated-section>.section-title{margin-bottom:16px}.upload-choice-row{display:flex;gap:18px;flex-wrap:wrap}.upload-choice-row label,.upload-switch{display:flex;align-items:center;gap:8px}.upload-profile-panel{margin-top:16px}.upload-profile-panel[hidden],[data-purchase-fields][hidden]{display:none}.upload-profile-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.upload-profile-create-grid label{display:grid;gap:7px}.upload-profile-create-grid .full{grid-column:1/-1}.upload-file-link-details{grid-column:1/-1;border-top:1px solid #eceef2;padding:10px 0 0;margin-top:6px}.upload-file-link-details summary{display:flex;justify-content:space-between;cursor:pointer}.upload-file-link-details summary span{font-size:12px;color:#7a8393}.section-title.compact{margin-top:18px}.section-title.compact h3{margin:0}@media(max-width:760px){.upload-profile-create-grid{grid-template-columns:1fr}.upload-profile-create-grid .full{grid-column:auto}.upload-choice-row{flex-direction:column;gap:10px}}
.purchase-attachment-drop{display:flex;align-items:center;justify-content:center;gap:10px;min-height:110px;border:1px dashed #cfd4dc;border-radius:12px;background:#fafbfc;cursor:pointer}.purchase-attachment-drop.dragging{border-color:#d36b9b;background:#fff6fa}.purchase-attachment-drop input{position:absolute;opacity:0;pointer-events:none}.purchase-attachment-list,.purchase-file-list{display:grid;gap:8px;margin-top:12px}.purchase-attachment-item,.purchase-file-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e8e9ed;border-radius:10px}.purchase-attachment-item span,.purchase-file-list a span{display:grid;gap:3px;min-width:0}.purchase-attachment-item strong,.purchase-file-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-notes{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.proof-grid a{display:grid;gap:6px;min-width:0}.proof-grid a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root {
    --space-page: 16px;
    --space-card: 16px;
  }

  body.theme-admin .dashboard > .stack,
  body.theme-admin .dashboard > .dashboard-content {
    max-width: none;
  }

  body.theme-admin .panel,
  body.theme-admin .asset-board-top,
  body.theme-admin .asset-search-panel,
  body.theme-admin .asset-board-section,
  body.theme-admin .work-create-panel {
    padding: 16px;
  }

  body:not(.theme-admin) .topbar {
    padding-left: 16px;
    padding-right: 16px;
  }

  body:not(.theme-admin) .portfolio-detail-page {
    padding-bottom: 32px;
  }

  body:not(.theme-admin) .portfolio-detail-header,
  body:not(.theme-admin) .portfolio-detail-media,
  body:not(.theme-admin) .portfolio-detail-story,
  body:not(.theme-admin) .portfolio-used-assets,
  body:not(.theme-admin) .portfolio-detail-cta {
    width: calc(100% - 32px);
  }

  body:not(.theme-admin) .portfolio-detail-header {
    grid-template-columns: 1fr;
    padding: 24px 0 20px;
  }

  body:not(.theme-admin) .portfolio-detail-heading h1 {
    font-size: 34px;
  }

  body:not(.theme-admin) .portfolio-author-inline {
    justify-content: flex-start;
  }

  body:not(.theme-admin) .portfolio-author-inline .button.secondary {
    margin-left: 0;
  }

  body:not(.theme-admin) .portfolio-detail-media .media-browser-main,
  body:not(.theme-admin) .portfolio-detail-media .media-main-image,
  body:not(.theme-admin) .portfolio-detail-media .media-main-video,
  body:not(.theme-admin) .portfolio-detail-media .media-main-file {
    border-radius: var(--radius-card);
  }

  body:not(.theme-admin) .portfolio-detail-media .media-main-image,
  body:not(.theme-admin) .portfolio-detail-media .media-main-video,
  body:not(.theme-admin) .portfolio-detail-media .media-main-file {
    min-height: min(62vh, 540px);
  }

  body:not(.theme-admin) .portfolio-detail-media .media-main-image img,
  body:not(.theme-admin) .portfolio-detail-media .media-main-video {
    max-height: min(62vh, 540px);
  }

  body:not(.theme-admin) .portfolio-detail-story {
    gap: 28px;
    grid-template-columns: 1fr;
    margin-top: 38px;
    padding-top: 30px;
  }

  body:not(.theme-admin) .portfolio-author-card {
    border-left: 0;
    border-top: 1px solid var(--color-border);
    padding: 24px 0 0;
  }

  body:not(.theme-admin) .portfolio-section-head {
    align-items: flex-start;
    display: grid;
    gap: 0;
  }

  body:not(.theme-admin) .portfolio-section-head > span {
    padding-bottom: 12px;
    text-align: left;
  }

  body:not(.theme-admin) .portfolio-asset-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.theme-admin) .portfolio-asset-summary > div + div {
    border-left: 0;
    padding-left: 0;
  }

  body:not(.theme-admin) .portfolio-asset-summary > div:nth-child(even) {
    border-left: 1px solid var(--color-border);
    padding-left: 16px;
  }

  body:not(.theme-admin) .portfolio-detail-cta {
    align-items: stretch;
    grid-template-columns: 1fr;
    margin-top: 38px;
  }
}

/* Final admin layout lock. Page modules must not redefine the application frame. */
body.theme-admin {
  --admin-sidebar-width: 220px;
  --admin-topbar-height: 64px;
  --admin-page-gap: 24px;
  --admin-page-padding: clamp(18px, 2.2vw, 34px);
  --color-primary: #1d4ed8;
  --color-bg: #f7f8fa;
  --color-card: #fff;
  --color-text: #111827;
  --color-border: #e3e7ee;
  --color-danger: #c92a2a;
  --radius-card: 12px;
  --radius-input: 8px;
  --shadow-card: 0 1px 2px rgba(15, 23, 42, 0.025), 0 8px 24px rgba(15, 23, 42, 0.035);
  background: var(--color-bg);
}

body.theme-admin > main {
  min-height: 100vh;
  min-width: 0;
  width: 100%;
}

body.theme-admin .dashboard,
body.theme-admin .dashboard.admin-layout {
  align-items: start;
  display: grid;
  gap: var(--admin-page-gap);
  grid-template-columns: var(--admin-sidebar-width) minmax(0, 1fr);
  max-width: none;
  min-height: 100vh;
  padding: calc(var(--admin-topbar-height) + 24px) var(--admin-page-padding) 40px;
  width: 100%;
}

body.theme-admin .dashboard > .admin-sidebar,
body.theme-admin .dashboard.admin-layout > .admin-sidebar {
  align-self: start;
  bottom: auto;
  box-sizing: border-box;
  left: auto;
  max-height: calc(100vh - var(--admin-topbar-height) - 48px);
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: sticky;
  right: auto;
  top: calc(var(--admin-topbar-height) + 24px);
  width: var(--admin-sidebar-width);
}

body.theme-admin .dashboard > .stack,
body.theme-admin .dashboard > .dashboard-content,
body.theme-admin .dashboard.admin-layout > .dashboard-content {
  align-content: start;
  display: grid;
  gap: 20px;
  margin: 0;
  max-width: none;
  min-width: 0;
  width: 100%;
}

body.theme-admin .dashboard-content > *,
body.theme-admin .dashboard > .stack > *,
body.theme-admin .asset-page,
body.theme-admin .asset-board-main,
body.theme-admin .work-create-main,
body.theme-admin .work-detail-admin-main {
  box-sizing: border-box;
  max-width: none;
  min-width: 0;
  width: 100%;
}

body.theme-admin .panel,
body.theme-admin .admin-stat-card,
body.theme-admin .admin-module-card,
body.theme-admin .resource-summary-panel,
body.theme-admin .material-card,
body.theme-admin .author-card,
body.theme-admin .announcement-admin-card,
body.theme-admin .asset-board-top,
body.theme-admin .asset-search-panel,
body.theme-admin .asset-board-section,
body.theme-admin .asset-profile-card,
body.theme-admin .upload-info-card,
body.theme-admin .upload-drop-card,
body.theme-admin .work-create-panel,
body.theme-admin .work-content-editor,
body.theme-admin .work-create-head {
  background: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}

body.theme-admin .panel,
body.theme-admin .asset-board-top,
body.theme-admin .asset-search-panel,
body.theme-admin .asset-board-section,
body.theme-admin .work-create-panel,
body.theme-admin .work-content-editor,
body.theme-admin .work-create-head {
  padding: 24px;
}

body.theme-admin .panel-head h1,
body.theme-admin .asset-board-top h1,
body.theme-admin .work-create-head h1,
body.theme-admin .admin-home-hero h1 {
  font-size: clamp(26px, 2.2vw, 34px);
  line-height: 1.2;
  margin: 0;
}

body.theme-admin .panel-head h2,
body.theme-admin .section-title h2,
body.theme-admin .work-create-panel h2 {
  font-size: 20px;
  line-height: 1.35;
  margin: 0;
}

body.theme-admin .button,
body.theme-admin button.button,
body.theme-admin a.button,
body.theme-admin .asset-primary-action,
body.theme-admin .upload-submit {
  background: #111827;
  border: 1px solid #111827;
  border-radius: var(--radius-input);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  min-height: var(--control-height);
  padding: 9px 15px;
}

body.theme-admin .button.secondary,
body.theme-admin .secondary-action {
  background: #fff;
  border-color: var(--color-border);
  color: var(--color-text);
}

body.theme-admin input:not([type="checkbox"]):not([type="radio"]),
body.theme-admin select,
body.theme-admin textarea {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-input);
  box-sizing: border-box;
  min-height: var(--control-height);
  padding: 10px 12px;
  width: 100%;
}

body.theme-admin textarea {
  min-height: 104px;
  resize: vertical;
}

body.theme-admin .uploader-dropzone,
body.theme-admin .upload-drop-card {
  align-content: center;
  background: #fbfcfe;
  border: 1.5px dashed #cbd2dc;
  border-radius: var(--radius-card);
  box-shadow: none;
  min-height: 150px;
  padding: 24px;
  text-align: center;
}

body.theme-admin .uploader-dropzone:hover,
body.theme-admin .uploader-dropzone.dragging,
body.theme-admin .upload-drop-card:hover,
body.theme-admin .upload-drop-card.dragging {
  background: #f5f8ff;
  border-color: #6f8fcf;
}

body.theme-admin .table-wrap {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  overflow: auto;
}

body.theme-admin table,
body.theme-admin .admin-data-table,
body.theme-admin .category-tree-table,
body.theme-admin .asset-purchase-table {
  background: #fff;
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

body.theme-admin th,
body.theme-admin .admin-data-table th {
  background: #f8f9fb;
  color: #475467;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

body.theme-admin .asset-waterfall,
body.theme-admin .asset-pinboard {
  column-count: initial;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  width: 100%;
}

body.theme-admin .asset-profile-grid,
body.theme-admin .admin-module-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

body.theme-admin .work-create-grid,
body.theme-admin .upload-center-form {
  display: grid;
  gap: 20px;
  min-width: 0;
  width: 100%;
}

@media (max-width: 900px) {
  body.theme-admin {
    --admin-page-padding: 16px;
    --admin-page-gap: 16px;
  }

  body.theme-admin .dashboard,
  body.theme-admin .dashboard.admin-layout {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 132px;
  }

  body.theme-admin .dashboard > .admin-sidebar,
  body.theme-admin .dashboard.admin-layout > .admin-sidebar {
    display: flex;
    gap: 6px;
    left: var(--admin-page-padding);
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    position: fixed;
    right: var(--admin-page-padding);
    top: 76px;
    width: auto;
    z-index: 20;
  }

  body.theme-admin .dashboard > .admin-sidebar a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  body.theme-admin .panel-head,
  body.theme-admin .asset-board-top,
  body.theme-admin .work-create-head,
  body.theme-admin .admin-home-hero {
    align-items: stretch;
    flex-direction: column;
  }

  body.theme-admin .admin-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  body.theme-admin .admin-stat-grid,
  body.theme-admin .asset-waterfall,
  body.theme-admin .asset-pinboard,
  body.theme-admin .asset-profile-grid,
  body.theme-admin .admin-module-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .panel,
  body.theme-admin .asset-board-top,
  body.theme-admin .asset-search-panel,
  body.theme-admin .asset-board-section,
  body.theme-admin .work-create-panel,
  body.theme-admin .work-content-editor,
  body.theme-admin .work-create-head {
    padding: 18px;
  }
}

/* Release white-theme cascade lock. Keep this last so legacy module CSS cannot split the UI. */
body.theme-admin .admin-home-hero {
  background: linear-gradient(112deg, #ffffff 0%, #ffffff 72%, #f3f7ff 100%);
  border-color: #dfe5ef;
  min-height: 170px;
  overflow: hidden;
  padding: 30px 32px;
  position: relative;
}

body.theme-admin .admin-home-hero::before {
  background: #2563eb;
  content: "";
  inset: 0 auto 0 0;
  position: absolute;
  width: 4px;
}

body.theme-admin .admin-stat-card {
  min-height: 122px;
  overflow: hidden;
  padding: 20px;
  position: relative;
}

body.theme-admin .admin-stat-card::before,
body.theme-admin .admin-module-card::before {
  content: "";
  height: 3px;
  inset: 0 0 auto;
  position: absolute;
}

body.theme-admin .admin-stat-card.stat-works::before,
body.theme-admin .admin-module-card.module-works::before { background: #2563eb; }
body.theme-admin .admin-stat-card.stat-assets::before,
body.theme-admin .admin-module-card.module-assets::before { background: #0f766e; }
body.theme-admin .admin-stat-card.stat-notices::before,
body.theme-admin .admin-module-card.module-notices::before { background: #7c3aed; }
body.theme-admin .admin-stat-card.stat-updated::before,
body.theme-admin .admin-module-card.module-settings::before { background: #475467; }

body.theme-admin .admin-stat-card small {
  color: #667085;
  font-size: 12px;
}

body.theme-admin .admin-activity-list { gap: 0; }

body.theme-admin .admin-activity-item {
  border: 0;
  border-bottom: 1px solid #eef0f3;
  border-radius: 0;
  min-height: 58px;
  padding: 11px 4px;
}

body.theme-admin .admin-activity-item:last-child { border-bottom: 0; }

body.theme-admin .admin-module-grid {
  grid-template-columns: repeat(4, minmax(220px, 1fr));
}

body.theme-admin .admin-module-card,
body.theme-admin .admin-module-card.primary {
  background: #fff;
  border-color: #e3e7ed;
  color: #101828;
  overflow: hidden;
  position: relative;
}

body.theme-admin .admin-module-card.primary p,
body.theme-admin .admin-module-card p { color: #667085; }

body.theme-admin .admin-work-cover {
  aspect-ratio: 4 / 3;
  border-radius: 8px;
  height: 62px;
  object-fit: cover;
  width: 82px;
}

body.theme-admin .admin-data-table th,
body.theme-admin .admin-data-table td {
  border-bottom: 1px solid #edf0f3;
  padding: 13px 14px;
  vertical-align: middle;
}

body.theme-admin .admin-data-table tbody tr:hover { background: #f9fafb; }

body.theme-admin .asset-board-top {
  background: linear-gradient(112deg, #ffffff 0%, #ffffff 72%, #f4f8ff 100%);
  min-height: 150px;
}

body.theme-admin .asset-waterfall,
body.theme-admin .asset-pinboard {
  gap: 20px;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

body.theme-admin .asset-card,
body.theme-admin .asset-pin-card {
  border-radius: 12px;
  margin: 0;
  overflow: visible;
  position: relative;
}

body.theme-admin .asset-card-media {
  aspect-ratio: 4 / 3;
  border-radius: 11px 11px 0 0;
  min-height: 0;
}

body.theme-admin .asset-card-media img,
body.theme-admin .asset-card-media video,
body.theme-admin .asset-card-media .asset-video-preview {
  height: 100%;
  min-height: 0;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .asset-card-body {
  display: grid;
  gap: 11px;
  padding: 16px;
}

body.theme-admin .asset-card-actions.asset-card-actionbar {
  align-items: center;
  border-top: 1px solid #eef0f3;
  display: grid;
  gap: 6px;
  grid-template-columns: 1fr 1fr auto;
  padding-top: 11px;
}

body.theme-admin .asset-card-actionbar > a,
body.theme-admin .asset-card-more > summary {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 7px;
  color: #475467;
  cursor: pointer;
  display: inline-flex;
  font-size: 12px;
  font-weight: 750;
  justify-content: center;
  min-height: 34px;
  padding: 7px 9px;
  text-decoration: none;
}

body.theme-admin .asset-card-actionbar > .asset-card-primary {
  background: #111827;
  color: #fff;
}

body.theme-admin .asset-card-more { position: relative; }
body.theme-admin .asset-card-more > summary { list-style: none; }
body.theme-admin .asset-card-more > summary::-webkit-details-marker { display: none; }

body.theme-admin .asset-card-more > div {
  background: #fff;
  border: 1px solid #dfe3e9;
  border-radius: 9px;
  bottom: calc(100% + 6px);
  box-shadow: 0 14px 30px rgba(16, 24, 40, 0.13);
  display: grid;
  min-width: 160px;
  padding: 6px;
  position: absolute;
  right: 0;
  z-index: 8;
}

body.theme-admin .asset-card-more a,
body.theme-admin .asset-card-more button {
  background: transparent;
  border: 0;
  border-radius: 6px;
  color: #344054;
  display: block;
  font-size: 12px;
  font-weight: 700;
  padding: 9px 10px;
  text-align: left;
  width: 100%;
}

body.theme-admin .asset-profile-grid {
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
}

body.theme-admin .asset-profile-card {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  min-height: 210px;
  overflow: hidden;
}

body.theme-admin .asset-profile-preview {
  border-radius: 11px 0 0 11px;
  height: 100%;
  min-height: 210px;
}

body.theme-admin .asset-profile-body {
  display: grid;
  gap: 10px;
  padding: 17px;
}

body.theme-admin .upload-center-grid {
  align-items: start;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) minmax(310px, 360px);
}

body.theme-admin .upload-drop-card {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 430px;
}

body.theme-admin .upload-center-side {
  display: grid;
  gap: 14px;
  position: sticky;
  top: calc(var(--admin-topbar-height) + 24px);
}

body.theme-admin .work-create-head {
  background: linear-gradient(112deg, #fff 0%, #fff 72%, #f4f8ff 100%);
  display: grid;
  gap: 22px;
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 138px;
}

body.theme-admin .work-create-grid { grid-template-columns: minmax(0, 1fr); }

body.theme-admin .work-upload-grid,
body.theme-admin .work-create-upload-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.theme-admin .work-upload-card,
body.theme-admin .form-subsection,
body.theme-admin .publish-check,
body.theme-admin .source-material-notice {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 20px;
}

body.theme-admin .work-create-submit {
  background: #111827;
  border-radius: 12px;
  color: #fff;
}

body.theme-admin .empty-panel::before { display: none; }

@media (max-width: 1180px) {
  body.theme-admin .admin-module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.theme-admin .upload-center-grid { grid-template-columns: minmax(0, 1fr); }
  body.theme-admin .upload-center-side {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    position: static;
  }
}

@media (max-width: 900px) {
  body.theme-admin .asset-board-top,
  body.theme-admin .work-create-head { grid-template-columns: minmax(0, 1fr); }
  body.theme-admin .upload-center-side { grid-template-columns: minmax(0, 1fr); }
  body.theme-admin .work-upload-grid,
  body.theme-admin .work-create-upload-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 560px) {
  body.theme-admin .admin-module-grid,
  body.theme-admin .asset-waterfall,
  body.theme-admin .asset-pinboard { grid-template-columns: minmax(0, 1fr); }

  body.theme-admin .asset-profile-card { grid-template-columns: minmax(0, 1fr); }
  body.theme-admin .asset-profile-preview {
    aspect-ratio: 16 / 9;
    border-radius: 11px 11px 0 0;
    min-height: 0;
  }
  body.theme-admin .upload-drop-card { min-height: 330px; }
}

/* Second-round polish: compact white workspace and public portfolio. */
body.theme-admin {
  --admin-sidebar-width: 208px;
  --admin-page-gap: 18px;
  --admin-page-padding: clamp(18px, 2vw, 30px);
  --admin-active-bg: linear-gradient(135deg, #f3f0ff 0%, #fff1f6 100%);
  --admin-active-border: #ddcfee;
  --admin-hover-bg: #f6f7f9;
  --space-card: 22px;
  --space-section: 18px;
}

body.theme-admin .dashboard,
body.theme-admin .dashboard.admin-layout {
  gap: var(--admin-page-gap);
  grid-template-columns: var(--admin-sidebar-width) minmax(0, 1fr);
  margin: 0 auto;
  max-width: calc(var(--page-max) + var(--admin-sidebar-width) + var(--admin-page-gap));
  padding-bottom: 32px;
}

body.theme-admin .dashboard > .dashboard-content,
body.theme-admin .dashboard.admin-layout > .dashboard-content {
  gap: var(--space-section);
}

body.theme-admin .panel,
body.theme-admin .asset-board-top,
body.theme-admin .asset-search-panel,
body.theme-admin .asset-board-section,
body.theme-admin .work-create-panel,
body.theme-admin .work-content-editor,
body.theme-admin .work-create-head {
  padding: var(--space-card);
}

body.theme-admin .admin-sidebar {
  padding: 10px;
}

body.theme-admin .admin-stat-grid,
body.theme-admin .admin-module-grid,
body.theme-admin .asset-profile-grid,
body.theme-admin .asset-waterfall,
body.theme-admin .asset-pinboard {
  gap: 16px;
}

body.theme-admin .asset-board-top,
body.theme-admin .admin-home-hero {
  min-height: 142px;
}

body.theme-admin .asset-profile-create {
  align-items: start;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(220px, 1.5fr) minmax(150px, 1fr) minmax(180px, 1fr) auto;
}

body.theme-admin .asset-profile-create small {
  grid-column: 1 / -1;
}

body.theme-admin .asset-profile-actions {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

body.theme-admin .asset-profile-edit {
  scroll-margin-top: calc(var(--admin-topbar-height) + 24px);
}

body.theme-admin .asset-profile-edit-form {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.theme-admin .asset-profile-summary {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
}

body.theme-admin .asset-profile-summary > div {
  border-bottom: 1px solid #eef0f3;
  border-right: 1px solid #eef0f3;
  min-height: 86px;
  padding: 16px;
}

body.theme-admin .asset-profile-summary > div:nth-child(4n) {
  border-right: 0;
}

body.theme-admin .asset-profile-summary > .full {
  grid-column: 1 / -1;
}

body.theme-admin .upload-profile-note {
  background: #f8fafc;
  border-style: dashed;
}

body.theme-admin .upload-profile-note p {
  color: #667085;
  font-size: 13px;
  line-height: 1.7;
  margin: 0;
}

body.theme-admin .sidebar a:hover,
body.theme-admin .asset-card-actionbar > a:hover,
body.theme-admin .asset-card-more a:hover,
body.theme-admin .asset-card-more button:hover,
body.theme-admin .text-button:hover {
  background: var(--admin-hover-bg);
  color: var(--color-text);
}

body.theme-admin .sidebar a.active,
body.theme-admin .work-category-pills button.active,
body.theme-admin .material-choice:has(input:checked) {
  background: var(--admin-active-bg);
  border-color: var(--admin-active-border);
  color: #4b365f;
}

body.theme-admin .work-category-pills button.active strong,
body.theme-admin .material-choice:has(input:checked) strong {
  color: #4b365f;
}

body.theme-admin .asset-profile-card,
body.theme-admin .asset-card,
body.theme-admin .material-choice {
  transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

body.theme-admin .asset-profile-card:hover,
body.theme-admin .asset-card:hover,
body.theme-admin .material-choice:hover {
  background: var(--admin-hover-bg);
  border-color: #d8dce3;
}

body.theme-admin .panel-head-actions,
body.theme-admin .asset-detail-actions,
body.theme-admin .asset-profile-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.theme-admin .asset-detail-grid,
body.theme-admin .asset-detail-section,
body.theme-admin .asset-original-hero {
  background: var(--color-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}

body.theme-admin .asset-detail-section,
body.theme-admin .asset-original-hero {
  padding: var(--space-card);
}

body.theme-admin .asset-detail-list dd,
body.theme-admin .asset-detail-list a,
body.theme-admin .asset-profile-summary a,
body.theme-admin .asset-profile-summary p,
body.theme-admin .material-choice strong,
body.theme-admin .admin-work-title strong {
  overflow-wrap: anywhere;
  word-break: break-word;
}

body.theme-admin .asset-detail-list a,
body.theme-admin .asset-profile-summary a {
  color: #5b4670;
  font-weight: 750;
  text-decoration-color: #d7c8e4;
  text-underline-offset: 3px;
}

body.theme-admin .asset-detail-preview img,
body.theme-admin .asset-detail-preview video,
body.theme-admin .asset-profile-preview img,
body.theme-admin .material-choice img {
  max-width: 100%;
}

@media (max-width: 900px) {
  body.theme-admin .topbar.admin {
    overflow-x: auto;
  }

  body.theme-admin .dashboard,
  body.theme-admin .dashboard.admin-layout {
    grid-template-columns: minmax(0, 1fr);
    max-width: 100%;
  }

  body.theme-admin .dashboard > .stack,
  body.theme-admin .dashboard > .dashboard-content,
  body.theme-admin .dashboard.admin-layout > .dashboard-content {
    min-width: 0;
    width: 100%;
  }

  body.theme-admin .dashboard > .admin-sidebar,
  body.theme-admin .dashboard.admin-layout > .admin-sidebar {
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 8px;
  }
}

@media (max-width: 760px) {
  body.theme-admin .admin-search,
  body.theme-admin .asset-search,
  body.theme-admin .work-asset-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  body.theme-admin .admin-search > *,
  body.theme-admin .asset-search > *,
  body.theme-admin .work-asset-search > * {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
  }

  body.theme-admin .asset-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .asset-detail-head,
  body.theme-admin .panel-head,
  body.theme-admin .section-title {
    align-items: stretch;
    flex-direction: column;
  }

  body.theme-admin .asset-detail-actions,
  body.theme-admin .panel-head-actions,
  body.theme-admin .form-actions,
  body.theme-admin .work-publish-actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  body.theme-admin .asset-detail-actions > *,
  body.theme-admin .panel-head-actions > *,
  body.theme-admin .form-actions > *,
  body.theme-admin .work-publish-actions > * {
    box-sizing: border-box;
    justify-content: center;
    width: 100%;
  }

  body.theme-admin .table-wrap {
    max-width: 100%;
    overflow-x: auto;
  }
}

/* White public theme only. The pink theme intentionally keeps its current rules. */
body.theme-white:not(.theme-admin) {
  background: #fff;
  color: #17191c;
}

body.theme-white:not(.theme-admin) .topbar {
  min-height: 68px;
  padding-left: max(24px, calc((100vw - 1440px) / 2));
  padding-right: max(24px, calc((100vw - 1440px) / 2));
}

body.theme-white:not(.theme-admin) .topbar .brand {
  color: #111318;
  font-size: 18px;
  font-weight: 820;
}

body.theme-white:not(.theme-admin) .topbar nav > a {
  color: #667085;
  font-weight: 700;
}

body.theme-white:not(.theme-admin) .topbar nav > a.active,
body.theme-white:not(.theme-admin) .topbar nav > a:hover {
  color: #111318;
}

body.theme-white:not(.theme-admin) .studio-intro-banner,
body.theme-white:not(.theme-admin) .category-navigation,
body.theme-white:not(.theme-admin) .mall-search-section,
body.theme-white:not(.theme-admin) .mall-products-section {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--page-max);
  width: calc(100% - 48px);
}

body.theme-white:not(.theme-admin) .studio-intro-banner {
  background: #fff;
  border: 0;
  border-bottom: 1px solid #e8eaee;
  border-radius: 0;
  box-shadow: none;
  margin-top: 0;
  min-height: 230px;
  padding: 54px 0 42px;
}

body.theme-white:not(.theme-admin) .studio-intro-banner h1 {
  color: #111318;
  font-size: 46px;
  letter-spacing: 0;
  line-height: 1.15;
}

body.theme-white:not(.theme-admin) .studio-intro-banner p {
  color: #667085;
  font-size: 16px;
  line-height: 1.75;
  max-width: 680px;
}

body.theme-white:not(.theme-admin) .studio-intro-action {
  background: #17191c;
  border: 1px solid #17191c;
  border-radius: var(--radius-input);
  color: #fff;
  padding: 11px 18px;
}

body.theme-white:not(.theme-admin) .category-navigation {
  backdrop-filter: none;
  padding: 28px 0 0;
}

body.theme-white:not(.theme-admin) .primary-category-grid {
  gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
}

body.theme-white:not(.theme-admin) .primary-category-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  min-height: 126px;
  padding: 18px;
}

body.theme-white:not(.theme-admin) .primary-category-card strong {
  color: #17191c;
  font-size: 18px;
}

body.theme-white:not(.theme-admin) .primary-category-card.active,
body.theme-white:not(.theme-admin) .primary-category-card:hover {
  background: #17191c;
  border-color: #17191c;
  box-shadow: 0 10px 24px rgba(16, 24, 40, 0.12);
  color: #fff;
  transform: translateY(-2px);
}

body.theme-white:not(.theme-admin) .primary-category-card.active strong,
body.theme-white:not(.theme-admin) .primary-category-card:hover strong {
  color: #fff;
}

body.theme-white:not(.theme-admin) .mall-search-section {
  padding-left: 0;
  padding-right: 0;
}

body.theme-white:not(.theme-admin) .mall-search {
  background: #f7f8fa;
  border: 1px solid #e5e7eb;
  border-radius: var(--radius-card);
  padding: 8px;
}

body.theme-white:not(.theme-admin) .mall-search input {
  background: transparent;
  border: 0;
  box-shadow: none;
}

body.theme-white:not(.theme-admin) .mall-search button {
  background: #17191c;
  border: 0;
  border-radius: var(--radius-input);
  color: #fff;
}

body.theme-white:not(.theme-admin) .mall-products-section {
  padding-left: 0;
  padding-right: 0;
}

body.theme-white:not(.theme-admin) .category-list-toolbar {
  border-bottom: 1px solid #e8eaee;
  margin-bottom: 20px;
  padding-bottom: 16px;
}

body.theme-white:not(.theme-admin) .mall-work-grid {
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

body.theme-white:not(.theme-admin) .portfolio-work-card {
  border: 1px solid #e5e7eb;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

body.theme-white:not(.theme-admin) .portfolio-work-card:hover {
  border-color: #cfd4dc;
  box-shadow: 0 14px 32px rgba(16, 24, 40, 0.095);
  transform: translateY(-3px);
}

body.theme-white:not(.theme-admin) .portfolio-work-card .work-card-media {
  aspect-ratio: 4 / 3;
  border-radius: 0;
}

body.theme-white:not(.theme-admin) .portfolio-work-card .work-card-body {
  gap: 10px;
  padding: 15px;
}

body.theme-white:not(.theme-admin) .portfolio-work-card h3 {
  color: #17191c;
  font-size: 16px;
  line-height: 1.45;
}

body.theme-white:not(.theme-admin) .portfolio-work-card .card-action-row {
  border-top: 1px solid #eef0f3;
  padding: 10px 14px 14px;
}

body.theme-white:not(.theme-admin) .portfolio-work-card .contact-card-button {
  border-radius: var(--radius-input);
  min-height: 38px;
}

body.theme-white:not(.theme-admin) .case-detail-page {
  margin: 0 auto;
  max-width: var(--page-max);
  padding: 42px 0 84px;
  width: calc(100% - 48px);
}

body.theme-white:not(.theme-admin) .case-detail-header {
  align-items: end;
  border-bottom: 1px solid #e8eaee;
  margin-bottom: 28px;
  max-width: 1180px;
  padding-bottom: 26px;
  width: 100%;
}

body.theme-white:not(.theme-admin) .case-detail-title h1 {
  color: #111318;
  font-size: 48px;
  line-height: 1.12;
}

body.theme-white:not(.theme-admin) .case-author-inline {
  background: #f7f8fa;
  border: 1px solid #e5e7eb;
  border-radius: var(--radius-card);
  min-width: 230px;
  padding: 10px 12px;
}

body.theme-white:not(.theme-admin) .case-author-identity {
  display: grid;
  gap: 2px;
  min-width: 0;
}

body.theme-white:not(.theme-admin) .case-author-identity strong {
  color: #17191c;
  font-size: 14px;
}

body.theme-white:not(.theme-admin) .case-author-identity small {
  color: #667085;
  font-size: 12px;
}

body.theme-white:not(.theme-admin) .case-author-avatar {
  background: #17191c;
  height: 40px;
  width: 40px;
}

body.theme-white:not(.theme-admin) .case-cover {
  background: #f5f6f8;
  border-radius: var(--radius-card);
}

body.theme-white:not(.theme-admin) .case-content-stream {
  gap: 32px;
  padding: 58px 0;
}

body.theme-white:not(.theme-admin) .case-content-title {
  color: #17191c;
  font-size: 34px;
}

body.theme-white:not(.theme-admin) .case-content-text {
  color: #475467;
  font-size: 17px;
  line-height: 1.9;
}

body.theme-white:not(.theme-admin) .case-content-image,
body.theme-white:not(.theme-admin) .case-content-video {
  background: transparent;
}

body.theme-white:not(.theme-admin) .case-contact {
  background: #17191c;
  border-radius: var(--radius-card);
  max-width: 1180px;
  width: 100%;
}

@media (max-width: 1100px) {
  body.theme-admin .asset-profile-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.theme-admin .asset-profile-summary > div:nth-child(4n) {
    border-right: 1px solid #eef0f3;
  }

  body.theme-admin .asset-profile-summary > div:nth-child(2n) {
    border-right: 0;
  }

  body.theme-admin .asset-profile-create {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.theme-admin .asset-profile-create,
  body.theme-admin .asset-profile-edit-form,
  body.theme-admin .asset-profile-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .asset-profile-summary > div,
  body.theme-admin .asset-profile-summary > div:nth-child(2n),
  body.theme-admin .asset-profile-summary > div:nth-child(4n) {
    border-right: 0;
  }

  body.theme-white:not(.theme-admin) .topbar {
    padding-left: 18px;
    padding-right: 18px;
  }

  body.theme-white:not(.theme-admin) .studio-intro-banner,
  body.theme-white:not(.theme-admin) .category-navigation,
  body.theme-white:not(.theme-admin) .mall-search-section,
  body.theme-white:not(.theme-admin) .mall-products-section {
    width: calc(100% - 36px);
  }

  body.theme-white:not(.theme-admin) .studio-intro-banner {
    min-height: 0;
    padding: 32px 0 28px;
  }

  body.theme-white:not(.theme-admin) .studio-intro-banner h1 {
    font-size: 32px;
  }

  body.theme-white:not(.theme-admin) .primary-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.theme-white:not(.theme-admin) .primary-category-card {
    min-height: 116px;
    padding: 15px;
  }

  body.theme-white:not(.theme-admin) .primary-category-card strong {
    font-size: 16px;
  }

  body.theme-white:not(.theme-admin) .mall-work-grid {
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.theme-white:not(.theme-admin) .portfolio-work-card .work-card-body {
    padding: 12px;
  }

  body.theme-white:not(.theme-admin) .portfolio-work-card h3 {
    font-size: 14px;
  }

  body.theme-white:not(.theme-admin) .case-detail-page {
    padding: 24px 0 96px;
    width: 100%;
  }

  body.theme-white:not(.theme-admin) .case-detail-header {
    margin: 0 18px 22px;
    padding-bottom: 22px;
    width: auto;
  }

  body.theme-white:not(.theme-admin) .case-detail-title h1 {
    font-size: 34px;
  }

  body.theme-white:not(.theme-admin) .case-author-inline {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
  }

  body.theme-white:not(.theme-admin) .case-cover {
    border-radius: 0;
  }

  body.theme-white:not(.theme-admin) .case-content-title {
    font-size: 27px;
  }

  body.theme-white:not(.theme-admin) .case-content-text {
    font-size: 16px;
  }
}

/* V1 mobile acceptance fixes: scoped to narrow screens and kept last to avoid legacy overrides. */
@media (max-width: 820px) {
  body.theme-admin .dashboard > .admin-sidebar,
  body.theme-admin .dashboard.admin-layout > .admin-sidebar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow-x: hidden;
    overflow-y: visible;
  }

  body.theme-admin .dashboard > .admin-sidebar a,
  body.theme-admin .dashboard.admin-layout > .admin-sidebar a {
    box-sizing: border-box;
    justify-content: center;
    min-width: 0;
    white-space: normal;
    width: 100%;
  }

  body.theme-admin .dashboard > .admin-sidebar .admin-sidebar-title,
  body.theme-admin .dashboard.admin-layout > .admin-sidebar .admin-sidebar-title,
  body.theme-admin .dashboard > .admin-sidebar .sidebar-subnav,
  body.theme-admin .dashboard.admin-layout > .admin-sidebar .sidebar-subnav {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  body.theme-admin .asset-profile-detail,
  body.theme-admin .asset-profile-hero,
  body.theme-admin .asset-profile-summary,
  body.theme-admin .asset-profile-edit,
  body.theme-admin .asset-profile-edit-form,
  body.theme-admin .asset-detail-actions {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
  }

  body.theme-admin .asset-profile-hero,
  body.theme-admin .asset-detail-actions {
    align-items: stretch;
  }

  body.theme-admin .asset-detail-actions > *,
  body.theme-admin .asset-profile-hero .text-button,
  body.theme-admin .asset-profile-hero .button {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
  }

  body.theme-admin .work-select-note {
    background: #fff7fb;
    border: 1px solid #ead7e8;
    border-radius: var(--radius-input);
    color: #6b5870;
    font-size: 12px;
    line-height: 1.6;
    margin: 10px 0 0;
    padding: 8px 10px;
  }

  body.theme-white:not(.theme-admin),
  body.theme-white:not(.theme-admin) main,
  body.theme-white:not(.theme-admin) .case-detail-page,
  body.theme-white:not(.theme-admin) .case-detail-header,
  body.theme-white:not(.theme-admin) .case-cover,
  body.theme-white:not(.theme-admin) .case-contact,
  body.theme-white:not(.theme-admin) .case-content-stream,
  body.theme-white:not(.theme-admin) .case-content-media {
    box-sizing: border-box;
    max-width: 100%;
  }

  body.theme-white:not(.theme-admin) {
    overflow-x: hidden;
  }

  body.theme-white:not(.theme-admin) .case-detail-page {
    width: 100%;
  }

  body.theme-white:not(.theme-admin) .case-detail-title,
  body.theme-white:not(.theme-admin) .case-detail-title h1,
  body.theme-white:not(.theme-admin) .case-content-text,
  body.theme-white:not(.theme-admin) .case-contact {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  body.theme-white:not(.theme-admin) .case-contact {
    margin-left: 18px;
    margin-right: 18px;
    width: auto;
  }
}

/* Home redesign phase 1: public homepage only. */
body.theme-white:not(.theme-admin) .design-home-entrance {
  background:
    radial-gradient(circle at 14% 12%, rgba(232, 226, 255, 0.9), transparent 28%),
    radial-gradient(circle at 86% 20%, rgba(255, 238, 245, 0.9), transparent 30%),
    linear-gradient(180deg, #fbfbfc 0%, #fff 74%);
  border-bottom: 1px solid #eceef2;
  display: grid;
  gap: 28px;
  margin: 0 auto;
  max-width: var(--page-max);
  padding: 56px 24px 34px;
}

body.theme-white:not(.theme-admin) .design-home-intro {
  max-width: 720px;
}

body.theme-white:not(.theme-admin) .design-home-intro h1 {
  color: #111318;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.08;
  margin: 8px 0 14px;
}

body.theme-white:not(.theme-admin) .design-home-intro p {
  color: #5f6673;
  font-size: 17px;
  line-height: 1.8;
  margin: 0;
  max-width: 620px;
}

body.theme-white:not(.theme-admin) .design-zone-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

body.theme-white:not(.theme-admin) .design-zone-card,
body.theme-white:not(.theme-admin) .design-zone-empty {
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid #e8eaee;
  border-radius: 18px;
  box-shadow: 0 16px 42px rgba(17, 24, 39, 0.07);
  color: #17191c;
  display: grid;
  gap: 10px;
  min-height: 172px;
  overflow: hidden;
  padding: 22px;
  position: relative;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.theme-white:not(.theme-admin) .design-zone-card::after {
  background: linear-gradient(135deg, rgba(244, 241, 255, 0.92), rgba(255, 243, 247, 0.72));
  border-radius: 999px;
  content: "";
  height: 128px;
  position: absolute;
  right: -42px;
  top: -46px;
  transition: transform 180ms ease;
  width: 128px;
}

body.theme-white:not(.theme-admin) .design-zone-card.zone-2::after {
  background: linear-gradient(135deg, rgba(231, 244, 255, 0.92), rgba(244, 247, 250, 0.8));
}

body.theme-white:not(.theme-admin) .design-zone-card.zone-3::after {
  background: linear-gradient(135deg, rgba(237, 247, 238, 0.9), rgba(255, 247, 237, 0.78));
}

body.theme-white:not(.theme-admin) .design-zone-card:hover,
body.theme-white:not(.theme-admin) .design-zone-card.active {
  background: #fff;
  border-color: #151719;
  box-shadow: 0 22px 58px rgba(17, 24, 39, 0.1);
  transform: translateY(-3px);
}

body.theme-white:not(.theme-admin) .design-zone-card:hover::after,
body.theme-white:not(.theme-admin) .design-zone-card.active::after {
  transform: scale(1.08);
}

body.theme-white:not(.theme-admin) .design-zone-kicker {
  color: #7a8190;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  z-index: 1;
}

body.theme-white:not(.theme-admin) .design-zone-card.active .design-zone-kicker {
  color: #151719;
}

body.theme-white:not(.theme-admin) .design-zone-card.active .design-zone-kicker::before {
  background: #151719;
  border-radius: 999px;
  content: "";
  display: inline-block;
  height: 7px;
  margin-right: 8px;
  vertical-align: 1px;
  width: 7px;
}

body.theme-white:not(.theme-admin) .design-zone-card strong {
  color: #111318;
  font-size: 25px;
  line-height: 1.2;
  z-index: 1;
}

body.theme-white:not(.theme-admin) .design-zone-card small {
  color: #667085;
  font-weight: 760;
  z-index: 1;
}

body.theme-white:not(.theme-admin) .design-zone-card p {
  color: #667085;
  line-height: 1.65;
  margin: 0;
  max-width: 82%;
  z-index: 1;
}

body.theme-white:not(.theme-admin) .design-category-navigation {
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid #eceef2;
  display: grid;
  gap: 14px;
  padding: 18px 24px;
  position: sticky;
  top: 68px;
}

body.theme-white:not(.theme-admin) .design-section-heading {
  align-items: baseline;
  display: flex;
  gap: 10px;
}

body.theme-white:not(.theme-admin) .design-section-heading span {
  color: #8a91a0;
  font-size: 12px;
  font-weight: 760;
}

body.theme-white:not(.theme-admin) .design-section-heading strong {
  color: #111318;
  font-size: 18px;
}

body.theme-white:not(.theme-admin) .design-secondary-strip {
  scrollbar-width: none;
}

body.theme-white:not(.theme-admin) .design-secondary-strip::-webkit-scrollbar {
  display: none;
}

body.theme-white:not(.theme-admin) .design-secondary-strip a {
  background: #f4f5f7;
  border-color: #edf0f3;
  color: #4b5563;
  min-height: 40px;
  padding: 9px 16px;
}

body.theme-white:not(.theme-admin) .design-secondary-strip a.active,
body.theme-white:not(.theme-admin) .design-secondary-strip a:hover {
  background: #151719;
  border-color: #151719;
  color: #fff;
}

body.theme-white:not(.theme-admin) .design-home-search {
  padding-bottom: 6px;
  padding-top: 22px;
}

body.theme-white:not(.theme-admin) .design-work-section {
  padding-top: 12px;
}

body.theme-white:not(.theme-admin) .design-work-section .category-list-toolbar {
  border-bottom: 1px solid #eceef2;
  margin-bottom: 20px;
  padding-bottom: 16px;
}

body.theme-white:not(.theme-admin) .design-work-section .category-list-toolbar > div:first-child strong {
  color: #111318;
  font-size: 24px;
}

body.theme-white:not(.theme-admin) .design-work-section .mall-work-grid {
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(236px, 1fr));
}

body.theme-white:not(.theme-admin) .portfolio-work-card {
  background: #fff;
  border: 1px solid #e8eaee;
  border-radius: 16px;
  box-shadow: 0 12px 34px rgba(17, 24, 39, 0.055);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.theme-white:not(.theme-admin) .portfolio-work-card:hover {
  border-color: #d9dee7;
}

body.theme-white:not(.theme-admin) .portfolio-work-card .work-card-media {
  aspect-ratio: 4 / 3;
  background: #f1f3f6;
}

body.theme-white:not(.theme-admin) .portfolio-work-card .work-card-body {
  padding: 16px;
}

body.theme-white:not(.theme-admin) .portfolio-work-card h3 {
  color: #17191c;
  font-size: 17px;
  line-height: 1.45;
}

body.theme-white:not(.theme-admin) .portfolio-work-card .contact-card-button {
  background: #151719;
  border-radius: 10px;
  color: #fff;
}

@media (max-width: 900px) {
  body.theme-white:not(.theme-admin) .design-zone-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.theme-white:not(.theme-admin) .design-home-entrance {
    padding: 30px 18px 22px;
  }

  body.theme-white:not(.theme-admin) .design-home-intro h1 {
    font-size: 34px;
  }

  body.theme-white:not(.theme-admin) .design-home-intro p {
    font-size: 15px;
  }

  body.theme-white:not(.theme-admin) .design-zone-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-white:not(.theme-admin) .design-zone-card,
  body.theme-white:not(.theme-admin) .design-zone-empty {
    border-radius: 14px;
    min-height: 142px;
    padding: 18px;
  }

  body.theme-white:not(.theme-admin) .design-zone-card strong {
    font-size: 22px;
  }

  body.theme-white:not(.theme-admin) .design-category-navigation {
    padding: 14px 18px;
    top: 60px;
  }

  body.theme-white:not(.theme-admin) .design-secondary-strip {
    margin-left: -18px;
    margin-right: -18px;
    overflow-x: auto;
    padding: 0 18px;
  }

  body.theme-white:not(.theme-admin) .design-home-search {
    padding-left: 18px;
    padding-right: 18px;
  }

  body.theme-white:not(.theme-admin) .design-work-section {
    padding-left: 18px;
    padding-right: 18px;
  }

  body.theme-white:not(.theme-admin) .design-work-section .category-list-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  body.theme-white:not(.theme-admin) .design-work-section .mall-work-grid {
    gap: 14px;
    grid-template-columns: minmax(0, 1fr);
  }
}

/* V1 homepage display hierarchy refinement */
body.theme-white:not(.theme-admin) .design-zone-card,
body.theme-white:not(.theme-admin) .design-zone-empty {
  gap: 12px;
  min-height: 220px;
  padding: 28px;
}

body.theme-white:not(.theme-admin) .design-zone-card strong {
  font-size: 30px;
}

body.theme-white:not(.theme-admin) .design-zone-card p {
  font-size: 15px;
  max-width: 74%;
}

body.theme-white:not(.theme-admin) .design-zone-action {
  align-items: center;
  background: #f2f4f7;
  border-radius: 999px;
  color: #151719;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  justify-content: center;
  min-height: 38px;
  padding: 0 16px;
  width: max-content;
  z-index: 1;
}

body.theme-white:not(.theme-admin) .design-zone-card:hover .design-zone-action,
body.theme-white:not(.theme-admin) .design-zone-card.active .design-zone-action {
  background: #151719;
  color: #fff;
}

body.theme-white:not(.theme-admin) .design-work-section .category-list-toolbar > div {
  gap: 5px;
}

body.theme-white:not(.theme-admin) .design-work-context {
  color: #7a8190;
  font-size: 13px;
  font-weight: 760;
}

@media (max-width: 760px) {
  body.theme-white:not(.theme-admin) .design-zone-card,
  body.theme-white:not(.theme-admin) .design-zone-empty {
    min-height: 184px;
    padding: 22px;
  }

  body.theme-white:not(.theme-admin) .design-zone-card strong {
    font-size: 26px;
  }

  body.theme-white:not(.theme-admin) .design-zone-card p {
    max-width: 100%;
  }
}

/* V1 portfolio work card refinement: public homepage/share cards only. */
body:not(.theme-admin) .portfolio-work-card {
  background: #f7f8fa;
  border: 1px solid #eceef2;
  border-radius: 20px;
  box-shadow: 0 14px 36px rgba(17, 24, 39, 0.06);
  overflow: hidden;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body:not(.theme-admin) .portfolio-work-card:hover {
  border-color: #dde2ea;
  box-shadow: 0 24px 58px rgba(17, 24, 39, 0.11);
  transform: translateY(-4px);
}

body:not(.theme-admin) .portfolio-work-card .work-card-link {
  color: inherit;
  display: grid;
  height: 100%;
  text-decoration: none;
}

body:not(.theme-admin) .portfolio-work-card .work-card-media {
  aspect-ratio: 4 / 3;
  background: #eef1f5;
  border-radius: 0;
  overflow: hidden;
}

body:not(.theme-admin) .portfolio-work-card .work-card-media img {
  transform: scale(1.001);
  transition: transform 260ms ease;
}

body:not(.theme-admin) .portfolio-work-card:hover .work-card-media img {
  transform: scale(1.035);
}

body:not(.theme-admin) .portfolio-work-card .media-badge {
  background: rgba(17, 19, 24, 0.82);
  bottom: 14px;
  font-size: 11px;
  letter-spacing: 0.04em;
  right: 14px;
}

body:not(.theme-admin) .portfolio-work-card .work-card-body {
  background: #fff;
  display: grid;
  gap: 10px;
  padding: 18px 18px 20px;
}

body:not(.theme-admin) .portfolio-work-card .work-card-meta {
  color: #7a8190;
  display: block;
  font-size: 12px;
  font-weight: 760;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

body:not(.theme-admin) .portfolio-work-card h3 {
  color: #111318;
  display: -webkit-box;
  font-size: 18px;
  line-height: 1.38;
  margin: 0;
  min-height: 50px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body:not(.theme-admin) .portfolio-work-card .work-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-height: 28px;
}

body:not(.theme-admin) .portfolio-work-card .work-card-tags span {
  background: #f2f4f7;
  border: 0;
  border-radius: 999px;
  color: #5f6673;
  font-size: 12px;
  font-weight: 680;
  padding: 6px 10px;
}

body:not(.theme-admin) .portfolio-work-card .work-card-entry {
  color: #111318;
  font-size: 13px;
  font-weight: 800;
  margin-top: 2px;
  opacity: 0.72;
  transition: opacity 180ms ease, transform 180ms ease;
}

body:not(.theme-admin) .portfolio-work-card:hover .work-card-entry {
  opacity: 1;
  transform: translateX(2px);
}

body:not(.theme-admin) .portfolio-work-card .card-action-row,
body:not(.theme-admin) .portfolio-work-card .product-card-stats {
  display: none;
}

@media (max-width: 760px) {
  body:not(.theme-admin) .portfolio-work-card {
    border-radius: 18px;
  }

  body:not(.theme-admin) .portfolio-work-card .work-card-body {
    gap: 9px;
    padding: 16px;
  }

  body:not(.theme-admin) .portfolio-work-card h3 {
    font-size: 17px;
    min-height: auto;
  }
}

body.theme-white:not(.theme-admin) .portfolio-work-card {
  background: #f7f8fa;
  border-color: #eceef2;
  border-radius: 20px;
  box-shadow: 0 14px 36px rgba(17, 24, 39, 0.06);
}

body.theme-white:not(.theme-admin) .portfolio-work-card:hover {
  border-color: #dde2ea;
  box-shadow: 0 24px 58px rgba(17, 24, 39, 0.11);
  transform: translateY(-4px);
}

body.theme-white:not(.theme-admin) .portfolio-work-card .work-card-body {
  background: #fff;
  padding: 18px 18px 20px;
}

body.theme-white:not(.theme-admin) .portfolio-work-card .contact-card-button,
body.theme-white:not(.theme-admin) .portfolio-work-card .card-action-row,
body.theme-white:not(.theme-admin) .portfolio-work-card .product-card-stats {
  display: none;
}

@media (max-width: 760px) {
  body.theme-white:not(.theme-admin) .portfolio-work-card {
    border-radius: 18px;
  }

body.theme-white:not(.theme-admin) .portfolio-work-card .work-card-body {
    padding: 16px;
  }
}

/* V1 public work detail refinement: case-study display only. */
body.theme-white:not(.theme-admin) .case-detail-page {
  max-width: 1480px;
  padding: 54px 0 96px;
  width: calc(100% - 56px);
}

body.theme-white:not(.theme-admin) .case-detail-header.case-hero {
  align-items: end;
  border-bottom: 0;
  display: grid;
  gap: 24px 42px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0 auto 34px;
  max-width: 1180px;
  padding-bottom: 0;
}

body.theme-white:not(.theme-admin) .case-detail-back {
  background: #f4f5f7;
  border-radius: 999px;
  color: #5f6673;
  font-size: 13px;
  font-weight: 760;
  padding: 8px 13px;
}

body.theme-white:not(.theme-admin) .case-detail-back:hover {
  background: #eceff3;
  color: #111318;
}

body.theme-white:not(.theme-admin) .case-detail-category {
  color: #7a8190;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin: 0 0 14px;
}

body.theme-white:not(.theme-admin) .case-detail-title h1 {
  color: #0f1115;
  font-size: clamp(42px, 6.2vw, 88px);
  letter-spacing: -0.04em;
  line-height: 0.98;
  margin: 0;
  max-width: 980px;
}

body.theme-white:not(.theme-admin) .case-tags {
  margin-top: 22px;
}

body.theme-white:not(.theme-admin) .case-tags .core-tag {
  background: #f3f4f6;
  border: 0;
  color: #667085;
  font-size: 12px;
  padding: 7px 11px;
}

body.theme-white:not(.theme-admin) .case-author-inline {
  align-self: end;
  background: transparent;
  border: 0;
  border-radius: 999px;
  min-width: 0;
  opacity: 0.84;
  padding: 0;
}

body.theme-white:not(.theme-admin) .case-author-avatar {
  background: #111318;
  height: 34px;
  width: 34px;
}

body.theme-white:not(.theme-admin) .case-author-identity strong {
  font-size: 13px;
}

body.theme-white:not(.theme-admin) .case-author-identity small {
  color: #8a91a0;
  font-size: 12px;
}

body.theme-white:not(.theme-admin) .case-cover {
  background: #f1f3f6;
  border-radius: 24px;
  box-shadow: 0 22px 72px rgba(17, 24, 39, 0.08);
  margin: 0 auto;
  overflow: hidden;
}

body.theme-white:not(.theme-admin) .case-cover img {
  max-height: 88vh;
  object-fit: contain;
}

body.theme-white:not(.theme-admin) .case-content-stream {
  gap: 48px;
  padding: 72px 0 38px;
}

body.theme-white:not(.theme-admin) .case-content-title,
body.theme-white:not(.theme-admin) .case-content-text,
body.theme-white:not(.theme-admin) .case-content-divider {
  width: min(780px, 100%);
}

body.theme-white:not(.theme-admin) .case-content-title {
  color: #111318;
  font-size: clamp(30px, 4vw, 48px);
  letter-spacing: -0.02em;
  margin-top: 18px;
}

body.theme-white:not(.theme-admin) .case-content-text {
  color: #434a57;
  font-size: 17px;
  line-height: 1.95;
}

body.theme-white:not(.theme-admin) .case-content-text p:last-child {
  margin-bottom: 0;
}

body.theme-white:not(.theme-admin) .case-content-media {
  background: transparent;
  margin: 0 auto;
  width: 100%;
}

body.theme-white:not(.theme-admin) .case-content-image img,
body.theme-white:not(.theme-admin) .case-content-video video {
  background: #f1f3f6;
  border-radius: 20px;
  box-shadow: 0 18px 56px rgba(17, 24, 39, 0.065);
}

body.theme-white:not(.theme-admin) .case-content-video video {
  max-height: 82vh;
}

body.theme-white:not(.theme-admin) .case-content-media figcaption {
  color: #8a91a0;
  font-size: 13px;
  margin-top: 16px;
}

body.theme-white:not(.theme-admin) .case-content-divider {
  border-top-color: #e8eaee;
  margin-bottom: 4px;
  margin-top: 4px;
}

body.theme-white:not(.theme-admin) .case-contact {
  background: #f7f8fa;
  border: 1px solid #e8eaee;
  border-radius: 18px;
  color: #111318;
  gap: 14px;
  margin-top: 54px;
  max-width: 920px;
  padding: 22px 24px;
}

body.theme-white:not(.theme-admin) .case-contact small {
  color: #8a91a0;
  font-weight: 760;
}

body.theme-white:not(.theme-admin) .case-contact strong {
  font-size: 16px;
  line-height: 1.5;
}

body.theme-white:not(.theme-admin) .case-contact .button {
  background: #111318;
  border-color: #111318;
  color: #fff;
}

body.theme-white:not(.theme-admin) .case-contact .button.secondary {
  background: #fff;
  border-color: #e1e5eb;
  color: #111318;
}

@media (max-width: 760px) {
  body.theme-white:not(.theme-admin) .case-detail-page {
    padding: 28px 0 96px;
    width: 100%;
  }

  body.theme-white:not(.theme-admin) .case-detail-header.case-hero {
    align-items: start;
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 0 18px 24px;
  }

  body.theme-white:not(.theme-admin) .case-detail-title h1 {
    font-size: clamp(36px, 12vw, 54px);
    letter-spacing: -0.035em;
    line-height: 1.02;
  }

  body.theme-white:not(.theme-admin) .case-tags {
    margin-top: 16px;
  }

  body.theme-white:not(.theme-admin) .case-author-inline {
    width: auto;
  }

  body.theme-white:not(.theme-admin) .case-cover {
    border-radius: 0;
    box-shadow: none;
  }

  body.theme-white:not(.theme-admin) .case-content-stream {
    gap: 34px;
    padding: 44px 0 26px;
  }

  body.theme-white:not(.theme-admin) .case-content-title,
  body.theme-white:not(.theme-admin) .case-content-text {
    margin-left: 20px;
    margin-right: 20px;
    width: auto;
  }

  body.theme-white:not(.theme-admin) .case-content-text {
    font-size: 16px;
    line-height: 1.86;
  }

  body.theme-white:not(.theme-admin) .case-content-image img,
  body.theme-white:not(.theme-admin) .case-content-video video {
    border-radius: 0;
    box-shadow: none;
  }

  body.theme-white:not(.theme-admin) .case-content-media figcaption {
    margin-left: 20px;
    margin-right: 20px;
    width: auto;
  }

  body.theme-white:not(.theme-admin) .case-contact {
    align-items: stretch;
    flex-direction: column;
    margin: 34px 18px 0;
    padding: 20px;
    width: auto;
  }
}

/* V1 phase 3: global UI consistency and responsive admin refinement. */
body.theme-admin {
  background:
    radial-gradient(circle at 16% 0%, rgba(239, 236, 255, 0.55), transparent 30%),
    radial-gradient(circle at 92% 4%, rgba(238, 247, 255, 0.68), transparent 32%),
    #f7f8fa;
  color: #111318;
}

body.theme-admin .topbar.admin {
  align-items: center;
  backdrop-filter: blur(18px);
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid rgba(229, 231, 235, 0.86);
  box-shadow: 0 10px 30px rgba(17, 24, 39, 0.035);
  display: flex;
  gap: 16px;
  height: auto;
  justify-content: space-between;
  min-height: var(--admin-topbar-height);
}

body.theme-admin .topbar.admin .brand {
  color: #111318;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: -0.02em;
  min-width: max-content;
}

body.theme-admin .admin-top-left,
body.theme-admin .admin-top-title {
  display: contents;
}

body.theme-admin .admin-top-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  min-width: 0;
}

body.theme-admin .admin-top-actions > a,
body.theme-admin .logout-form button {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #333842;
  display: inline-flex;
  font-size: 14px;
  font-weight: 760;
  min-height: 38px;
  padding: 0 13px;
  text-decoration: none;
  white-space: nowrap;
}

body.theme-admin .admin-top-actions > a:hover,
body.theme-admin .logout-form button:hover {
  background: #f2f4f7;
  color: #111318;
}

body.theme-admin .admin-top-actions .admin-center-link {
  background: #111318;
  border-color: #111318;
  color: #fff;
}

body.theme-admin .admin-top-actions .admin-center-link:hover {
  background: #2b2f36;
  color: #fff;
}

body.theme-admin .admin-user-chip {
  gap: 0;
  padding: 0;
}

body.theme-admin .admin-user-chip .admin-avatar {
  background: linear-gradient(135deg, #111318, #343a46);
  border-radius: 999px;
  color: #fff;
  display: grid;
  font-size: 13px;
  font-weight: 900;
  height: 34px;
  place-items: center;
  width: 34px;
}

body.theme-admin .logout-form {
  margin: 0;
}

body.theme-admin .logout-form button {
  cursor: pointer;
  font: inherit;
}

body.theme-admin .panel,
body.theme-admin .admin-stat-card,
body.theme-admin .admin-module-card,
body.theme-admin .resource-summary-panel,
body.theme-admin .material-card,
body.theme-admin .author-card,
body.theme-admin .announcement-admin-card,
body.theme-admin .asset-board-top,
body.theme-admin .asset-search-panel,
body.theme-admin .asset-board-section,
body.theme-admin .asset-profile-card,
body.theme-admin .upload-info-card,
body.theme-admin .upload-drop-card,
body.theme-admin .work-create-head,
body.theme-admin .work-create-panel,
body.theme-admin .work-content-editor {
  border-color: #e7eaf0;
  border-radius: 18px;
  box-shadow: 0 12px 34px rgba(17, 24, 39, 0.045);
}

body.theme-admin .panel-head,
body.theme-admin .asset-board-top,
body.theme-admin .work-create-head,
body.theme-admin .work-content-editor-head,
body.theme-admin .panel-head-actions,
body.theme-admin .admin-home-actions,
body.theme-admin .table-actions,
body.theme-admin .material-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  min-width: 0;
}

body.theme-admin .panel-head,
body.theme-admin .asset-board-top,
body.theme-admin .work-create-head {
  justify-content: space-between;
}

body.theme-admin .panel-head > div,
body.theme-admin .asset-board-top > div,
body.theme-admin .work-create-head > div {
  min-width: min(100%, 320px);
}

body.theme-admin .admin-stat-grid,
body.theme-admin .admin-module-grid,
body.theme-admin .asset-waterfall,
body.theme-admin .asset-pinboard,
body.theme-admin .material-card-grid,
body.theme-admin .author-archive-grid,
body.theme-admin .author-grid,
body.theme-admin .announcement-admin-grid,
body.theme-admin .asset-profile-grid,
body.theme-admin .resource-summary-grid,
body.theme-admin .material-detail-summary,
body.theme-admin .asset-profile-summary {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  min-width: 0;
}

body.theme-admin .admin-stat-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
}

body.theme-admin .admin-module-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

body.theme-admin .asset-waterfall,
body.theme-admin .asset-pinboard,
body.theme-admin .material-card-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
}

body.theme-admin .asset-profile-grid,
body.theme-admin .author-archive-grid,
body.theme-admin .author-grid,
body.theme-admin .announcement-admin-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
}

body.theme-admin .upload-center-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(min(100%, 300px), 360px);
}

body.theme-admin .work-upload-grid,
body.theme-admin .work-create-upload-grid,
body.theme-admin .asset-profile-create,
body.theme-admin .asset-profile-edit-form,
body.theme-admin .form-grid,
body.theme-admin .work-info-form {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

body.theme-admin .full,
body.theme-admin .form-grid .full,
body.theme-admin .work-info-form .full,
body.theme-admin .work-upload-form .full {
  grid-column: 1 / -1;
}

body.theme-admin .store-search,
body.theme-admin .admin-search,
body.theme-admin .asset-search,
body.theme-admin .asset-filter-form,
body.theme-admin .material-filter-form {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  width: 100%;
}

body.theme-admin .store-search input,
body.theme-admin .store-search select,
body.theme-admin .store-search button,
body.theme-admin .admin-search input,
body.theme-admin .admin-search select,
body.theme-admin .admin-search button,
body.theme-admin .asset-search input,
body.theme-admin .asset-search select,
body.theme-admin .asset-search button {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
}

body.theme-admin .asset-board-tabs,
body.theme-admin .asset-filter-row,
body.theme-admin .material-type-tabs,
body.theme-admin .category-tabs,
body.theme-admin .tabs,
body.theme-admin .tab-nav {
  display: flex;
  gap: 8px;
  max-width: 100%;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: none;
  white-space: nowrap;
}

body.theme-admin .asset-board-tabs::-webkit-scrollbar,
body.theme-admin .asset-filter-row::-webkit-scrollbar,
body.theme-admin .material-type-tabs::-webkit-scrollbar,
body.theme-admin .category-tabs::-webkit-scrollbar,
body.theme-admin .tabs::-webkit-scrollbar,
body.theme-admin .tab-nav::-webkit-scrollbar {
  display: none;
}

body.theme-admin .asset-board-tabs a,
body.theme-admin .asset-filter-row a,
body.theme-admin .material-type-tabs a,
body.theme-admin .category-tabs a,
body.theme-admin .tabs a,
body.theme-admin .tab-nav a {
  flex: 0 0 auto;
}

body.theme-admin .table-wrap,
body.theme-admin .admin-work-table-wrap,
body.theme-admin .asset-table-wrap {
  max-width: 100%;
  overflow-x: auto;
}

body.theme-admin .material-card,
body.theme-admin .asset-card,
body.theme-admin .asset-pin-card,
body.theme-admin .asset-profile-card,
body.theme-admin .author-card,
body.theme-admin .announcement-admin-card,
body.theme-admin .admin-module-card,
body.theme-admin .admin-stat-card {
  box-sizing: border-box;
  min-width: 0;
}

body.theme-admin .material-card *,
body.theme-admin .asset-card *,
body.theme-admin .asset-pin-card *,
body.theme-admin .asset-profile-card *,
body.theme-admin .announcement-admin-card *,
body.theme-admin .admin-module-card * {
  min-width: 0;
}

body.theme-admin .material-card h3,
body.theme-admin .asset-card h3,
body.theme-admin .asset-profile-body h3,
body.theme-admin .admin-work-title strong,
body.theme-admin .announcement-admin-card h3 {
  overflow-wrap: anywhere;
}

body.theme-admin .asset-board-stats {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 120px), 1fr));
}

body.theme-admin .asset-profile-summary > div,
body.theme-admin .material-detail-summary > div {
  border-right: 0;
}

@media (min-width: 1500px) {
  body.theme-admin .asset-waterfall,
  body.theme-admin .asset-pinboard,
  body.theme-admin .material-card-grid {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  }
}

@media (max-width: 1180px) {
  body.theme-admin .dashboard,
  body.theme-admin .dashboard.admin-layout {
    grid-template-columns: minmax(0, 1fr);
    padding-left: 22px;
    padding-right: 22px;
  }

  body.theme-admin .dashboard > .admin-sidebar,
  body.theme-admin .dashboard.admin-layout > .admin-sidebar {
    position: static;
    width: 100%;
  }

  body.theme-admin .upload-center-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 820px) {
  body.theme-admin .topbar.admin {
    align-items: flex-start;
    flex-direction: column;
    min-height: auto;
    padding: 12px 18px;
  }

  body.theme-admin .admin-top-actions {
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 2px;
    width: 100%;
  }

  body.theme-admin .admin-top-actions::-webkit-scrollbar {
    display: none;
  }

  body.theme-admin .dashboard,
  body.theme-admin .dashboard.admin-layout {
    padding: 132px 18px 96px;
  }

  body.theme-admin .dashboard > .admin-sidebar,
  body.theme-admin .dashboard.admin-layout > .admin-sidebar {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 10px;
    scrollbar-width: none;
  }

  body.theme-admin .dashboard > .admin-sidebar::-webkit-scrollbar,
  body.theme-admin .dashboard.admin-layout > .admin-sidebar::-webkit-scrollbar {
    display: none;
  }

  body.theme-admin .admin-sidebar-title,
  body.theme-admin .sidebar-subnav {
    display: none;
  }

  body.theme-admin .dashboard > .admin-sidebar a,
  body.theme-admin .dashboard.admin-layout > .admin-sidebar a {
    flex: 0 0 auto;
    min-width: max-content;
    width: auto;
  }

  body.theme-admin .panel,
  body.theme-admin .asset-board-top,
  body.theme-admin .asset-search-panel,
  body.theme-admin .asset-board-section,
  body.theme-admin .work-create-head,
  body.theme-admin .work-create-panel,
  body.theme-admin .work-content-editor {
    padding: 18px;
  }

  body.theme-admin .panel-head,
  body.theme-admin .asset-board-top,
  body.theme-admin .work-create-head {
    align-items: flex-start;
    flex-direction: column;
  }

  body.theme-admin .panel-head-actions,
  body.theme-admin .admin-home-actions,
  body.theme-admin .table-actions,
  body.theme-admin .material-actions {
    align-items: stretch;
    width: 100%;
  }

  body.theme-admin .panel-head-actions > *,
  body.theme-admin .admin-home-actions > *,
  body.theme-admin .table-actions > *,
  body.theme-admin .material-actions > * {
    box-sizing: border-box;
  }

  body.theme-admin .admin-stat-grid,
  body.theme-admin .admin-module-grid,
  body.theme-admin .asset-waterfall,
  body.theme-admin .asset-pinboard,
  body.theme-admin .material-card-grid,
  body.theme-admin .asset-profile-grid,
  body.theme-admin .author-archive-grid,
  body.theme-admin .author-grid,
  body.theme-admin .announcement-admin-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  }
}

@media (max-width: 520px) {
  body.theme-admin .topbar.admin {
    padding-left: 14px;
    padding-right: 14px;
  }

  body.theme-admin .admin-top-actions > a,
  body.theme-admin .logout-form button {
    font-size: 13px;
    min-height: 36px;
    padding: 0 11px;
  }

  body.theme-admin .dashboard,
  body.theme-admin .dashboard.admin-layout {
    gap: 14px;
    padding-left: 14px;
    padding-top: 184px;
    padding-right: 14px;
  }

  body.theme-admin .admin-stat-grid,
  body.theme-admin .admin-module-grid,
  body.theme-admin .asset-waterfall,
  body.theme-admin .asset-pinboard,
  body.theme-admin .material-card-grid,
  body.theme-admin .asset-profile-grid,
  body.theme-admin .author-archive-grid,
  body.theme-admin .author-grid,
  body.theme-admin .announcement-admin-grid,
  body.theme-admin .resource-summary-grid,
  body.theme-admin .material-detail-summary,
  body.theme-admin .asset-profile-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .asset-board-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.theme-admin .store-search,
  body.theme-admin .admin-search,
  body.theme-admin .asset-search,
  body.theme-admin .asset-filter-form,
  body.theme-admin .material-filter-form,
  body.theme-admin .work-upload-grid,
  body.theme-admin .work-create-upload-grid,
  body.theme-admin .asset-profile-create,
  body.theme-admin .asset-profile-edit-form,
  body.theme-admin .form-grid,
  body.theme-admin .work-info-form {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* V1 final polish: admin brand/nav and responsive grid closure. */
body.theme-admin .topbar.admin {
  box-sizing: border-box;
  left: 0;
  right: 0;
  width: 100%;
}

body.theme-admin .admin-stat-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr));
}

body.theme-admin .admin-module-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
}

body.theme-admin .admin-top-actions {
  margin-left: auto;
}

@media (max-width: 820px) {
  body.theme-admin .admin-stat-grid,
  body.theme-admin .admin-module-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  }
}

@media (max-width: 520px) {
  body.theme-admin .topbar.admin {
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    min-height: 64px;
    padding: 8px 14px;
  }

  body.theme-admin .topbar.admin .brand {
    flex: 0 0 auto;
    font-size: 16px;
    max-width: 96px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.theme-admin .admin-top-actions {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    gap: 4px;
    justify-content: flex-start;
    margin-left: 0;
    min-width: 0;
    overflow-x: auto;
    padding-bottom: 0;
    scrollbar-width: none;
    width: auto;
  }

  body.theme-admin .admin-top-actions::-webkit-scrollbar {
    display: none;
  }

  body.theme-admin .admin-top-actions > a,
  body.theme-admin .logout-form,
  body.theme-admin .logout-form button {
    flex: 0 0 auto;
  }

  body.theme-admin .admin-top-actions > .admin-user-chip {
    display: none;
  }

  body.theme-admin .admin-top-actions > a,
  body.theme-admin .logout-form button {
    font-size: 12px;
    min-height: 32px;
    padding: 0 7px;
  }

  body.theme-admin .dashboard,
  body.theme-admin .dashboard.admin-layout {
    padding-top: 92px;
  }

  body.theme-admin .admin-stat-grid,
  body.theme-admin .admin-module-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* V1 final polish: remove legacy blue from admin navigation surfaces only. */
body.theme-admin {
  --admin-nav-text: #242832;
  --admin-nav-muted: #5f6673;
  --admin-nav-hover: #f4f5f7;
  --admin-nav-active: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%);
  --admin-nav-active-border: #eadcf1;
}

body.theme-admin .admin-sidebar,
body.theme-admin .asset-sidebar {
  background: rgba(255, 255, 255, 0.96);
  border-color: #e7eaf0;
}

body.theme-admin .admin-sidebar-title,
body.theme-admin .asset-sidebar-brand {
  color: #7a8190;
}

body.theme-admin .admin-sidebar > a,
body.theme-admin .admin-sidebar .sidebar-subnav a,
body.theme-admin .sidebar a,
body.theme-admin .sidebar-subnav a,
body.theme-admin .asset-sidebar a,
body.theme-admin .asset-filter-row a,
body.theme-admin .material-type-tabs a,
body.theme-admin .category-tabs a,
body.theme-admin .tabs a,
body.theme-admin .tab-nav a {
  border-color: transparent;
  color: var(--admin-nav-muted);
}

body.theme-admin .admin-sidebar > a:hover,
body.theme-admin .admin-sidebar .sidebar-subnav a:hover,
body.theme-admin .sidebar a:hover,
body.theme-admin .sidebar-subnav a:hover,
body.theme-admin .asset-sidebar a:hover,
body.theme-admin .asset-filter-row a:hover,
body.theme-admin .material-type-tabs a:hover,
body.theme-admin .category-tabs a:hover,
body.theme-admin .tabs a:hover,
body.theme-admin .tab-nav a:hover {
  background: var(--admin-nav-hover);
  border-color: #e7eaf0;
  color: var(--admin-nav-text);
}

body.theme-admin .admin-sidebar > a.active,
body.theme-admin .admin-sidebar .sidebar-subnav a.active,
body.theme-admin .sidebar a.active,
body.theme-admin .sidebar-subnav a.active,
body.theme-admin .asset-sidebar a.active,
body.theme-admin .asset-filter-row a.active,
body.theme-admin .asset-filter-row.secondary a.active,
body.theme-admin .material-type-tabs a.active,
body.theme-admin .category-tabs a.active,
body.theme-admin .tabs a.active,
body.theme-admin .tab-nav a.active {
  background: var(--admin-nav-active);
  border-color: var(--admin-nav-active-border);
  box-shadow: 0 10px 24px rgba(70, 52, 92, 0.06);
  color: #151719;
}

body.theme-admin .sidebar-subnav,
body.theme-admin .admin-sidebar .sidebar-subnav {
  border-left-color: #eadcf1;
}

/* NOVA SHARK V1 UI closure: visual-only structure and responsive polish. */
body.theme-admin {
  --color-primary: #111827;
  --accent: #111827;
  --accent-dark: #111827;
  background:
    radial-gradient(circle at 18% 0%, rgba(244, 240, 255, 0.72), transparent 30%),
    radial-gradient(circle at 88% 10%, rgba(255, 241, 246, 0.62), transparent 34%),
    #f7f8fa;
}

body.theme-admin .eyebrow,
body.theme-admin .asset-board-top .eyebrow,
body.theme-admin .asset-hero .eyebrow {
  display: none;
}

body.theme-admin .admin-home-hero,
body.theme-admin .asset-board-top,
body.theme-admin .asset-original-hero,
body.theme-admin .work-create-head,
body.theme-admin .panel {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.88)),
    radial-gradient(circle at 100% 0%, rgba(244, 240, 255, 0.72), transparent 42%);
}

body.theme-admin .admin-home-hero::before,
body.theme-admin .admin-stat-card::before,
body.theme-admin .admin-module-card::before {
  display: none;
}

body.theme-admin .admin-stat-card,
body.theme-admin .admin-module-card {
  min-height: 0;
}

body.theme-admin .admin-stat-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr));
}

body.theme-admin .admin-module-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
}

body.theme-admin .dashboard.admin-layout {
  max-width: none;
}

body.theme-admin .dashboard > .admin-sidebar,
body.theme-admin .dashboard.admin-layout > .admin-sidebar {
  flex: 0 0 var(--admin-sidebar-width, 208px);
  min-width: var(--admin-sidebar-width, 208px);
  width: var(--admin-sidebar-width, 208px);
}

body.theme-admin .admin-user-menu {
  position: relative;
}

body.theme-admin .admin-user-menu summary {
  list-style: none;
}

body.theme-admin .admin-user-menu summary::-webkit-details-marker {
  display: none;
}

body.theme-admin .admin-user-chip {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #333842;
  cursor: pointer;
  display: inline-flex;
  gap: 8px;
  min-height: 38px;
  padding: 0 10px 0 4px;
}

body.theme-admin .admin-user-chip:hover,
body.theme-admin .admin-user-menu[open] .admin-user-chip {
  background: #f2f4f7;
  color: #111318;
}

body.theme-admin .admin-user-name {
  font-size: 13px;
  font-weight: 800;
}

body.theme-admin .admin-user-dropdown {
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(17, 24, 39, 0.12);
  display: grid;
  gap: 4px;
  min-width: 144px;
  padding: 8px;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 30;
}

body.theme-admin .admin-user-dropdown a,
body.theme-admin .admin-user-dropdown button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 12px;
  color: #242832;
  cursor: pointer;
  display: flex;
  font: inherit;
  font-size: 13px;
  font-weight: 760;
  min-height: 36px;
  padding: 0 10px;
  text-align: left;
  text-decoration: none;
  width: 100%;
}

body.theme-admin .admin-user-dropdown a:hover,
body.theme-admin .admin-user-dropdown button:hover {
  background: #f4f5f7;
}

body.theme-admin .asset-permission-list {
  display: grid;
  gap: 10px;
}

body.theme-admin .asset-permission-row {
  align-items: center;
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 14px;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1.4fr) minmax(120px, 0.8fr) minmax(120px, 0.8fr) minmax(120px, 0.8fr);
  padding: 14px 16px;
}

body.theme-admin .asset-permission-row strong,
body.theme-admin .asset-permission-row span,
body.theme-admin .asset-permission-row time {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .asset-permission-row span,
body.theme-admin .asset-permission-row time {
  color: #667085;
  font-size: 13px;
}

body.theme-admin a:not(.button):not(.brand):not(.admin-center-link):not(.asset-card-media):not(.work-card-link):not(.pill):not(.asset-profile-preview) {
  color: inherit;
}

body.theme-white:not(.theme-admin) .design-home-entrance,
body:not(.theme-admin) .design-home-entrance {
  align-items: start;
  gap: 22px;
}

body.theme-white:not(.theme-admin) .design-zone-grid,
body:not(.theme-admin) .design-zone-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

body.theme-white:not(.theme-admin) .design-zone-card,
body.theme-white:not(.theme-admin) .design-zone-empty,
body:not(.theme-admin) .design-zone-card,
body:not(.theme-admin) .design-zone-empty {
  border-radius: 18px;
  gap: 8px;
  min-height: 132px;
  padding: 16px;
}

body.theme-white:not(.theme-admin) .design-zone-card strong,
body:not(.theme-admin) .design-zone-card strong {
  font-size: 19px;
  line-height: 1.25;
}

body.theme-white:not(.theme-admin) .design-zone-card p,
body:not(.theme-admin) .design-zone-card p {
  display: none;
}

body.theme-white:not(.theme-admin) .design-zone-kicker,
body:not(.theme-admin) .design-zone-kicker {
  font-size: 11px;
}

body.theme-white:not(.theme-admin) .design-zone-action,
body:not(.theme-admin) .design-zone-action {
  font-size: 12px;
  min-height: 30px;
  padding: 0 10px;
}

body.theme-white:not(.theme-admin) .design-work-section .mall-work-grid,
body:not(.theme-admin) .mall-work-grid,
body:not(.theme-admin) .work-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
}

@media (min-width: 1600px) {
  body.theme-white:not(.theme-admin) .design-work-section .mall-work-grid,
  body:not(.theme-admin) .mall-work-grid,
  body:not(.theme-admin) .work-grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  }
}

@media (max-width: 820px) {
  body.theme-admin .topbar.admin {
    align-items: center;
    flex-direction: row;
    min-height: 64px;
  }

  body.theme-admin .admin-top-actions > a {
    display: none;
  }

  body.theme-admin .admin-top-actions {
    flex: 0 0 auto;
    margin-left: auto;
    overflow: visible;
    width: auto;
  }

  body.theme-admin .admin-user-name {
    display: inline;
  }

  body.theme-admin .dashboard > .admin-sidebar,
  body.theme-admin .dashboard.admin-layout > .admin-sidebar {
    display: none;
  }

  body.theme-admin .dashboard,
  body.theme-admin .dashboard.admin-layout {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 88px;
  }

  body.theme-admin .asset-permission-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media (max-width: 520px) {
  body.theme-admin .topbar.admin .brand {
    max-width: 180px;
  }

  body.theme-white:not(.theme-admin) .design-zone-grid,
  body:not(.theme-admin) .design-zone-grid {
    display: flex;
    margin-left: -18px;
    margin-right: -18px;
    overflow-x: auto;
    padding: 0 18px 4px;
    scrollbar-width: none;
  }

  body.theme-white:not(.theme-admin) .design-zone-grid::-webkit-scrollbar,
  body:not(.theme-admin) .design-zone-grid::-webkit-scrollbar {
    display: none;
  }

  body.theme-white:not(.theme-admin) .design-zone-card,
  body.theme-white:not(.theme-admin) .design-zone-empty,
  body:not(.theme-admin) .design-zone-card,
  body:not(.theme-admin) .design-zone-empty {
    flex: 0 0 148px;
    min-height: 124px;
  }

  body.theme-white:not(.theme-admin) .design-work-section .mall-work-grid,
  body:not(.theme-admin) .mall-work-grid,
  body:not(.theme-admin) .work-grid {
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.theme-admin) .portfolio-work-card .work-card-body {
    padding: 12px;
  }

  body:not(.theme-admin) .portfolio-work-card h3 {
    font-size: 14px;
  }

  body:not(.theme-admin) .portfolio-work-card .work-card-meta,
  body:not(.theme-admin) .portfolio-work-card .work-card-entry {
    font-size: 11px;
  }

  body:not(.theme-admin) .portfolio-work-card .work-card-tags {
    display: none;
  }

  body.theme-admin .asset-permission-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* NOVA SHARK final brand and color guardrails for admin navigation/UI. */
body.theme-admin {
  --color-primary: #111827;
  --accent: #111827;
  --accent-dark: #111827;
  --soft: #f6f4fb;
}

body.theme-admin .topbar.admin .brand {
  color: #111827;
  font-weight: 900;
  letter-spacing: 0.02em;
}

body.theme-admin .admin-top-actions .admin-front-link {
  background: transparent;
  border-color: transparent;
  color: #242832;
}

body.theme-admin .admin-top-actions .admin-center-link {
  background: transparent;
  border-color: transparent;
  color: #242832;
}

body.theme-admin .admin-top-actions .admin-center-link:hover,
body.theme-admin .admin-top-actions .admin-front-link:hover {
  background: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%);
  border-color: #eadcf1;
  color: #111827;
}

body.theme-admin .admin-top-logout button {
  background: transparent;
  border-color: transparent;
  color: #5f6673;
}

body.theme-admin .admin-top-logout button:hover {
  background: #f4f5f7;
  color: #111827;
}

body.theme-admin .asset-board-tabs a,
body.theme-admin .asset-filter-row a,
body.theme-admin .material-type-tabs a,
body.theme-admin .category-tabs a,
body.theme-admin .tabs a,
body.theme-admin .tab-nav a {
  background: rgba(255, 255, 255, 0.78);
  border-color: #e7eaf0;
  color: #5f6673;
}

body.theme-admin .asset-board-tabs a.active,
body.theme-admin .asset-board-tabs a:hover,
body.theme-admin .asset-filter-row a.active,
body.theme-admin .asset-filter-row a:hover,
body.theme-admin .asset-filter-row.secondary a.active,
body.theme-admin .material-type-tabs a.active,
body.theme-admin .material-type-tabs a:hover,
body.theme-admin .category-tabs a.active,
body.theme-admin .category-tabs a:hover,
body.theme-admin .tabs a.active,
body.theme-admin .tabs a:hover,
body.theme-admin .tab-nav a.active,
body.theme-admin .tab-nav a:hover {
  background: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%);
  border-color: #eadcf1;
  color: #151719;
}

body.theme-admin .text-button,
body.theme-admin .asset-detail-list a,
body.theme-admin .asset-card-actions a,
body.theme-admin .asset-card-more a,
body.theme-admin .asset-card-more button {
  color: #333842;
}

body.theme-admin .text-button:hover,
body.theme-admin .asset-detail-list a:hover,
body.theme-admin .asset-card-actions a:hover,
body.theme-admin .asset-card-more a:hover,
body.theme-admin .asset-card-more button:hover {
  color: #111827;
}

body.theme-admin input:focus,
body.theme-admin select:focus,
body.theme-admin textarea:focus,
body.theme-admin .work-select-asset.is-selected {
  border-color: #d9cbe8;
  box-shadow: 0 0 0 3px rgba(234, 220, 241, 0.55);
}

body.theme-admin .asset-sidebar-brand::before,
body.theme-admin .asset-library-sidebar .asset-sidebar-brand::before {
  background: linear-gradient(135deg, #111827, #d9cbe8);
  box-shadow: 0 12px 24px rgba(70, 52, 92, 0.12);
}

body.theme-admin .admin-module-card.primary {
  background: #fff;
  border-color: #e7eaf0;
  color: #111827;
}

body.theme-admin .admin-module-card.primary p,
body.theme-admin .admin-module-card.primary .text-button {
  color: #667085;
}

body.theme-admin .asset-card-head strong,
body.theme-admin .asset-file-preview strong,
body.theme-admin .asset-detail-info h1,
body.theme-admin .asset-detail-list a {
  color: #111827;
}

body.theme-admin .asset-card-head span,
body.theme-admin .asset-pill-row span,
body.theme-admin .asset-card-meta span {
  color: #5f6673;
}

@media (max-width: 820px) {
  body.theme-admin .admin-top-logout,
  body.theme-admin .admin-top-logout button {
    display: none;
  }

  body.theme-admin .admin-top-actions .admin-front-link {
    display: none;
  }
}

/* V1 backend structure cleanup: one sidebar navigation, neutral cards, NOVA SHARK tone. */
body.theme-admin .asset-board-tabs {
  display: none !important;
}

body.theme-admin .admin-layout {
  grid-template-columns: 224px minmax(0, 1fr);
}

body.theme-admin .admin-sidebar {
  flex: 0 0 224px;
  width: 224px;
}

body.theme-admin .dashboard-content,
body.theme-admin .admin-assets-stack,
body.theme-admin .asset-page,
body.theme-admin .asset-board-main {
  min-width: 0;
}

body.theme-admin .asset-board-top {
  align-items: center;
  background:
    radial-gradient(circle at 8% 4%, rgba(249, 221, 232, 0.72), transparent 30%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(249, 248, 252, 0.92));
  border: 1px solid #ececf1;
  box-shadow: 0 18px 46px rgba(17, 24, 39, 0.055);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto auto;
}

body.theme-admin .asset-board-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

body.theme-admin .asset-board-stats {
  align-items: center;
  background: transparent;
  border: 0;
  box-shadow: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  min-width: 0;
  padding: 0;
}

body.theme-admin .asset-board-stats span {
  align-items: baseline;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid #e8e9ef;
  border-radius: 999px;
  color: #667085;
  display: inline-flex;
  gap: 6px;
  min-width: auto;
  padding: 8px 12px;
}

body.theme-admin .asset-board-stats strong {
  color: #111827;
}

body.theme-admin .button,
body.theme-admin button.button,
body.theme-admin .asset-primary-action,
body.theme-admin .asset-card-primary {
  background: #111827;
  border-color: #111827;
  color: #fff !important;
}

body.theme-admin .button:hover,
body.theme-admin button.button:hover,
body.theme-admin .asset-primary-action:hover,
body.theme-admin .asset-card-primary:hover {
  background: #242832;
  border-color: #242832;
  color: #fff !important;
}

body.theme-admin .button.secondary,
body.theme-admin .text-button,
body.theme-admin .asset-profile-actions .text-button,
body.theme-admin .asset-card-actions a:not(.asset-card-primary) {
  background: #f4f5f7;
  border-color: #e7eaf0;
  color: #333842 !important;
}

body.theme-admin .button.secondary:hover,
body.theme-admin .text-button:hover,
body.theme-admin .asset-profile-actions .text-button:hover,
body.theme-admin .asset-card-actions a:not(.asset-card-primary):hover {
  background: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%);
  border-color: #eadcf1;
  color: #111827 !important;
}

body.theme-admin .asset-search button,
body.theme-admin .admin-search button,
body.theme-admin .store-search button,
body.theme-admin .filter-bar button,
body.theme-admin .search-panel button {
  flex: 0 0 96px;
  justify-self: start;
  max-width: 120px;
  min-width: 80px;
  width: 96px;
}

body.theme-admin .asset-search,
body.theme-admin .admin-search,
body.theme-admin .store-search {
  align-items: center;
}

body.theme-admin .asset-card,
body.theme-admin .asset-pin-card,
body.theme-admin .asset-profile-card,
body.theme-admin .admin-stat-card,
body.theme-admin .admin-module-card,
body.theme-admin .asset-section,
body.theme-admin .upload-info-card {
  background: rgba(255, 255, 255, 0.92);
  border-color: #e7eaf0;
  box-shadow: 0 16px 40px rgba(17, 24, 39, 0.055);
}

body.theme-admin .admin-home-hero::before,
body.theme-admin .admin-stat-card::before,
body.theme-admin .admin-module-card::before,
body.theme-admin .asset-card::before,
body.theme-admin .asset-profile-card::before,
body.theme-admin .upload-info-card::before,
body.theme-admin .asset-section::before {
  display: none !important;
}

body.theme-admin .asset-card-stats-inline,
body.theme-admin .asset-profile-stats-compact {
  align-items: center;
  border-top: 1px solid #eef0f3;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 12px;
  padding-top: 12px;
}

body.theme-admin .asset-card-stats-inline span,
body.theme-admin .asset-profile-stats-compact span {
  align-items: baseline;
  background: transparent;
  border: 0;
  color: #667085;
  display: inline-flex;
  font-size: 12px;
  gap: 4px;
  padding: 0;
}

body.theme-admin .asset-card-stats-inline strong,
body.theme-admin .asset-profile-stats-compact strong {
  color: #111827;
  font-size: 13px;
}

body.theme-admin .asset-profile-card {
  display: grid;
  gap: 16px;
  grid-template-columns: 108px minmax(0, 1fr);
}

body.theme-admin .asset-profile-preview {
  min-height: 132px;
}

body.theme-admin .asset-profile-body {
  min-width: 0;
}

body.theme-admin .asset-profile-body h3,
body.theme-admin .asset-card-body h3 {
  color: #111827;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.theme-admin .asset-profile-body p,
body.theme-admin .asset-card-meta,
body.theme-admin .muted {
  color: #667085;
}

body.theme-admin .asset-profile-actions,
body.theme-admin .asset-card-actionbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.theme-admin .asset-profile-create {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(220px, 1.4fr) minmax(150px, 0.8fr) minmax(150px, 0.8fr) auto;
}

body.theme-admin .asset-profile-create button {
  width: 120px;
}

body.theme-admin .asset-profile-create small {
  color: #667085;
  grid-column: 1 / -1;
}

body.theme-admin .asset-filter-row a.active,
body.theme-admin .material-type-tabs a.active,
body.theme-admin .category-tabs a.active,
body.theme-admin .tabs a.active,
body.theme-admin .tab-nav a.active,
body.theme-admin .admin-sidebar a.active,
body.theme-admin .admin-sidebar a:hover {
  background: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%);
  border-color: #eadcf1;
  color: #111827;
}

body.theme-admin a {
  color: inherit;
}

body.theme-admin .asset-lock-badge,
body.theme-admin .asset-lock-mini,
body.theme-admin .status-pill,
body.theme-admin .badge {
  background: #f4f0ff;
  border-color: #eadcf1;
  color: #4b4458;
}

body.theme-admin .dashboard-nav a.active,
body.theme-admin .dashboard-nav a:hover,
body.theme-admin .dashboard-nav .active,
body.theme-admin .admin-sidebar nav a.active,
body.theme-admin .admin-sidebar nav a:hover {
  background: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%) !important;
  border-color: #eadcf1 !important;
  color: #111827 !important;
}

body.theme-admin .upload-flow-steps strong {
  background: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%) !important;
  border-color: #eadcf1 !important;
  color: #111827 !important;
}

@media (max-width: 1100px) {
  body.theme-admin .asset-board-top {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .asset-board-stats,
  body.theme-admin .asset-board-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 820px) {
  body.theme-admin .admin-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .admin-sidebar {
    display: none;
  }

  body.theme-admin .asset-profile-create {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .asset-profile-create button {
    width: 120px;
  }
}

@media (max-width: 520px) {
  body.theme-admin .asset-board-top {
    padding: 18px;
  }

  body.theme-admin .asset-profile-card {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  body.theme-admin .asset-profile-preview {
    min-height: 112px;
  }

  body.theme-admin .asset-search,
  body.theme-admin .admin-search,
  body.theme-admin .store-search {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

/* NOVA SHARK V1 final layout pass: visual unification and responsive structure. */
body.theme-admin .admin-top-logout {
  display: none !important;
}

body.theme-admin .admin-user-name {
  display: none !important;
}

body.theme-admin .topbar.admin {
  background:
    radial-gradient(circle at 12% 0%, rgba(249, 221, 232, 0.64), transparent 32%),
    rgba(255, 255, 255, 0.92);
  border-color: rgba(231, 234, 240, 0.9);
}

body.theme-admin .topbar.admin .brand {
  min-width: max-content;
}

body.theme-admin .admin-top-actions {
  gap: 6px;
}

body.theme-admin .admin-top-actions > a,
body.theme-admin .admin-user-chip {
  background: transparent !important;
  border-color: transparent !important;
  color: #242832 !important;
}

body.theme-admin .admin-top-actions > a:hover,
body.theme-admin .admin-user-chip:hover {
  background: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%) !important;
  border-color: #eadcf1 !important;
  color: #111827 !important;
}

body.theme-admin .admin-dashboard .dashboard-content {
  max-width: none;
}

body.theme-admin .admin-home-workspace {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(420px, 1.1fr) minmax(320px, 0.9fr);
}

body.theme-admin .admin-quick-panel,
body.theme-admin .admin-activity-panel {
  min-width: 0;
}

body.theme-admin .admin-quick-list {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) !important;
}

body.theme-admin .admin-quick-list .admin-module-card {
  align-items: center;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: auto;
}

body.theme-admin .admin-stat-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
}

body.theme-admin .admin-activity-list {
  display: grid;
  gap: 10px;
}

body.theme-admin .admin-activity-item {
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(17, 24, 39, 0.035);
}

body.theme-admin .asset-board-tabs,
body.theme-admin .dashboard.admin-layout .asset-board-tabs {
  display: none !important;
}

body.theme-admin .asset-card-primary,
body.theme-admin .asset-card-actionbar > .asset-card-primary,
body.theme-admin .work-create-submit .button,
body.theme-admin .upload-submit {
  background: #111827 !important;
  border-color: #111827 !important;
  color: #fff !important;
}

body.theme-admin .asset-search button,
body.theme-admin .work-asset-search button,
body.theme-admin .store-search button,
body.theme-admin .admin-search button {
  flex: 0 0 96px !important;
  max-width: 120px !important;
  min-width: 80px !important;
  width: 96px !important;
}

body.theme-admin .asset-profile-create {
  grid-template-columns: minmax(180px, 1.2fr) minmax(140px, 0.8fr) minmax(150px, 0.9fr) minmax(150px, 0.9fr) minmax(130px, 0.8fr) auto;
}

body.theme-admin .asset-profile-create button {
  width: 120px;
}

body.theme-admin .work-create-grid {
  display: flex;
  flex-direction: column;
}

body.theme-admin .work-create-grid > .work-create-panel:nth-of-type(2) {
  order: 8;
}

body.theme-admin .work-create-grid > .work-create-upload-fallback {
  order: 2;
}

body.theme-admin .work-create-submit {
  order: 9;
}

body.theme-admin .work-create-actions {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  order: 9;
  padding-block: 4px;
}

body.theme-admin .work-create-actions > .button,
body.theme-admin .work-publish-actions > button.button {
  align-items: center;
  border-radius: 10px;
  box-sizing: border-box;
  display: inline-flex;
  height: 46px;
  justify-content: center;
  min-height: 46px;
  padding: 0 20px;
  width: 140px;
}

body.theme-admin .work-publish-actions {
  align-items: center;
  gap: 12px;
  justify-content: flex-end;
}

body.theme-admin .work-description-media {
  background: #f8f8fa;
  border: 1px solid #e7eaf0;
  border-radius: 18px;
  padding: 14px;
}

body.theme-admin .work-description-media .unified-upload {
  margin-top: 8px;
}

body.theme-admin .work-description-media .uploader-dropzone {
  min-height: 112px;
}

body.theme-admin .work-create-upload-fallback .work-upload-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

body.theme-admin .work-create-upload-fallback .work-upload-grid .unified-upload:nth-child(2) {
  display: none;
}

body.theme-admin .work-create-grid > .work-create-panel:nth-of-type(2) .work-asset-selector {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

body.theme-admin .work-create-grid > .work-create-panel:nth-of-type(2) .work-select-asset {
  gap: 10px;
  padding: 10px;
}

body.theme-admin .work-create-grid > .work-create-panel:nth-of-type(2) .work-select-preview {
  min-height: 108px;
}

body.theme-admin .work-create-grid > .work-create-panel:nth-of-type(2) .work-select-body h3 {
  font-size: 14px;
}

body.theme-admin .work-create-grid > .work-create-panel:nth-of-type(2) .asset-pill-row,
body.theme-admin .work-create-grid > .work-create-panel:nth-of-type(2) .work-select-note {
  display: none;
}

body.theme-admin :is(.eyebrow, .studio-eyebrow, .asset-card-head strong, .upload-status, .status-text) {
  color: #111827 !important;
}

body.theme-admin :is(.notice, .status-pill, .badge, .media-badge, .asset-pill-row span, .work-card-status) {
  background: #f4f0ff !important;
  border-color: #eadcf1 !important;
  color: #4b4458 !important;
}

body:not(.theme-admin) {
  --color-primary: #111827;
  --accent: #111827;
  --accent-dark: #111827;
}

body:not(.theme-admin) .topbar,
body:not(.theme-admin) .material-storefront,
body:not(.theme-admin) .design-home-entrance,
body:not(.theme-admin) .category-navigation,
body:not(.theme-admin) .mall-products-section {
  max-width: none;
}

body:not(.theme-admin) .design-home-search {
  display: none !important;
}

body.theme-white:not(.theme-admin) .design-home-entrance,
body.theme-white:not(.theme-admin) .home-banner-list,
body.theme-white:not(.theme-admin) .design-category-navigation,
body.theme-white:not(.theme-admin) .design-work-section,
body:not(.theme-admin) .design-home-entrance,
body:not(.theme-admin) .home-banner-list,
  body:not(.theme-admin) .design-category-navigation,
  body:not(.theme-admin) .design-work-section {
  box-sizing: border-box;
  margin-left: 0;
  margin-right: 0;
  max-width: none;
  width: 100%;
}

body:not(.theme-admin) .design-home-entrance {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(240px, 0.72fr) minmax(320px, 1.28fr);
}

body:not(.theme-admin) .design-zone-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

body:not(.theme-admin) .design-zone-card,
body:not(.theme-admin) .design-zone-empty {
  min-height: 122px;
  padding: 14px;
}

body:not(.theme-admin) .design-zone-card p {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

body:not(.theme-admin) .design-zone-action {
  min-height: 30px;
  width: max-content;
}

body:not(.theme-admin) .category-list-toolbar {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

body:not(.theme-admin) .category-list-toolbar > div {
  align-items: baseline;
  display: flex;
  gap: 10px;
  min-width: 0;
}

body:not(.theme-admin) .category-list-toolbar > div:first-child strong {
  display: none !important;
}

body:not(.theme-admin) .design-work-context {
  color: #111827;
  font-size: 20px;
  font-weight: 800;
}

body:not(.theme-admin) .design-toolbar-form {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

body:not(.theme-admin) .design-toolbar-search {
  min-height: 38px;
  width: clamp(180px, 18vw, 280px);
}

body:not(.theme-admin) .mall-sort-form label span {
  display: none !important;
}

body:not(.theme-admin) .mall-sort-form select {
  min-height: 38px;
}

body:not(.theme-admin) .design-toolbar-form button {
  background: #f2f4f7;
  border: 0;
  border-radius: 999px;
  color: #151719;
  min-height: 38px;
  width: 76px;
}

body:not(.theme-admin) .design-toolbar-form button:hover,
body:not(.theme-admin) .design-toolbar-form button:focus-visible {
  background: #151719;
  color: #fff;
}

body:not(.theme-admin) .mall-work-grid,
body:not(.theme-admin) .work-grid,
body.theme-white:not(.theme-admin) .design-work-section .mall-work-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
}

@media (min-width: 1680px) {
  body:not(.theme-admin) .mall-work-grid,
  body:not(.theme-admin) .work-grid,
  body.theme-white:not(.theme-admin) .design-work-section .mall-work-grid {
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  }
}

body:not(.theme-admin) .empty-panel {
  margin: 0;
  min-height: auto;
  padding: 18px 20px;
}

body:not(.theme-admin) :is(.eyebrow, .studio-eyebrow, .design-zone-kicker) {
  color: #4b4458 !important;
}

body:not(.theme-admin) :is(.category-nav a.active, .secondary-category-strip a.active, .primary-category-card.active, .design-zone-card.active) {
  background: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%) !important;
  border-color: #eadcf1 !important;
  color: #111827 !important;
}

@media (max-width: 1100px) {
  body.theme-admin .admin-home-workspace,
  body:not(.theme-admin) .design-home-entrance {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .asset-profile-create {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  body.theme-admin .admin-top-actions > a {
    display: none !important;
  }

  body.theme-admin .admin-user-menu {
    display: block;
  }

  body.theme-admin .admin-quick-list .admin-module-card {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .asset-profile-create {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.theme-admin) .category-list-toolbar,
  body:not(.theme-admin) .category-list-toolbar > div,
  body:not(.theme-admin) .design-toolbar-form {
    align-items: stretch;
    flex-direction: column;
  }

  body:not(.theme-admin) .design-toolbar-search {
    width: 100%;
  }
}

@media (max-width: 520px) {
  body:not(.theme-admin) .design-home-entrance,
  body:not(.theme-admin) .home-banner-list,
  body:not(.theme-admin) .design-category-navigation,
  body:not(.theme-admin) .design-work-section {
    width: 100%;
  }

  body:not(.theme-admin) .design-zone-grid {
    display: flex;
    margin-left: -14px;
    margin-right: -14px;
    overflow-x: auto;
    padding: 0 14px 4px;
    scrollbar-width: none;
  }

  body:not(.theme-admin) .design-zone-grid::-webkit-scrollbar {
    display: none;
  }

  body:not(.theme-admin) .design-zone-card,
  body:not(.theme-admin) .design-zone-empty {
    flex: 0 0 146px;
  }

  body:not(.theme-admin) .mall-work-grid,
  body:not(.theme-admin) .work-grid,
  body.theme-white:not(.theme-admin) .design-work-section .mall-work-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* NOVA SHARK second cleanup pass: remove duplicates and make edit flows denser. */
body.theme-admin .admin-home-actions {
  display: none !important;
}

body.theme-admin .admin-home-workspace {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
}

body.theme-admin .admin-activity-panel {
  max-height: 520px;
  overflow: auto;
}

body.theme-admin .admin-activity-item {
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
  padding: 12px 14px;
}

body.theme-admin .admin-activity-item time {
  color: #98a2b3;
  font-size: 12px;
}

body.theme-admin .asset-board-tabs,
body.theme-admin a[href="/admin/assets?primary=all"] {
  display: none !important;
}

body.theme-admin .asset-profile-card + .asset-primary-action,
body.theme-admin .asset-board-top .asset-primary-action[href="/admin/upload-center"],
body.theme-admin .asset-profile-layout .asset-primary-action[href="/admin/upload-center"] {
  display: none !important;
}

body.theme-admin .asset-profile-create {
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(17, 24, 39, 0.045);
  padding: 14px;
}

body.theme-admin .upload-center-side .upload-info-card:not(:first-child) {
  max-height: 58px;
  overflow: hidden;
  transition: max-height 0.18s ease, box-shadow 0.18s ease;
}

body.theme-admin .upload-center-side .upload-info-card:not(:first-child):hover,
body.theme-admin .upload-center-side .upload-info-card:not(:first-child):focus-within {
  max-height: 640px;
  box-shadow: 0 18px 42px rgba(17, 24, 39, 0.08);
}

body.theme-admin .upload-center-side .upload-info-card:not(:first-child) h2::after {
  color: #98a2b3;
  content: "  展开填写";
  font-size: 12px;
  font-weight: 500;
}

body.theme-admin .asset-detail-actions::before {
  content: "";
}

body.theme-admin .work-upload-form {
  align-items: stretch;
  display: flex;
  flex-direction: column;
}

body.theme-admin .work-upload-form > label:nth-of-type(1),
body.theme-admin .work-upload-form > label:nth-of-type(2),
body.theme-admin .work-upload-form > label:nth-of-type(3),
body.theme-admin .work-upload-form > label:nth-of-type(4),
body.theme-admin .work-upload-form > label:nth-of-type(5),
body.theme-admin .work-upload-form > label:nth-of-type(6) {
  order: 1;
}

body.theme-admin .work-upload-form > label.full:nth-of-type(7),
body.theme-admin .work-content-editor {
  order: 2;
}

body.theme-admin .work-media-manager {
  order: 3;
}

body.theme-admin .material-picker {
  order: 4;
}

body.theme-admin .work-create-upload-section,
body.theme-admin .work-drop-uploader {
  order: 5;
}

body.theme-admin .work-upload-form > label.checkbox-line,
body.theme-admin .work-upload-form > label:has(textarea[name="internalNotes"]) {
  order: 6;
}

body.theme-admin .publish-check,
body.theme-admin .work-publish-actions {
  order: 7;
}

body.theme-admin .work-upload-form > label:has(select[name="workStatus"]) {
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 18px;
  padding: 12px;
}

body.theme-admin .work-upload-form > label:has(select[name="workStatus"]) select {
  appearance: none;
  background: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%);
  border-color: #eadcf1;
  border-radius: 999px;
  color: #111827;
  font-weight: 800;
}

body.theme-admin .work-media-grid {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 6px;
  scrollbar-width: thin;
}

body.theme-admin .work-media-card {
  flex: 0 0 180px;
  gap: 8px;
  padding: 10px;
}

body.theme-admin .work-media-thumb,
body.theme-admin .work-media-thumb img,
body.theme-admin .work-media-thumb video {
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  height: auto;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .work-media-body {
  gap: 5px;
}

body.theme-admin .work-media-body strong {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  overflow: hidden;
}

body.theme-admin .material-choice-grid {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
}

body.theme-admin .material-choice {
  cursor: pointer;
  min-height: auto;
  padding: 10px;
}

body.theme-admin .material-choice input {
  height: 1px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 1px;
}

body.theme-admin .material-choice:has(input:checked) {
  background: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%);
  border-color: #b9a4d8;
  box-shadow: 0 0 0 2px rgba(234, 220, 241, 0.85), 0 16px 34px rgba(17, 24, 39, 0.06);
}

body.theme-admin .material-choice-thumb {
  aspect-ratio: 4 / 3;
  height: auto;
}

body.theme-admin .material-choice-thumb img,
body.theme-admin .material-choice-thumb video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

body.theme-admin input[type="checkbox"],
body.theme-admin input[type="radio"] {
  accent-color: #111827;
}

body.theme-admin .checkbox-line input[type="checkbox"],
body.theme-admin .checkbox-line input[type="radio"],
body.theme-admin input[type="checkbox"],
body.theme-admin input[type="radio"] {
  border-radius: 50%;
}

body.theme-admin .category-card-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

body.theme-admin .category-admin-card,
body.theme-admin .category-child-card {
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(17, 24, 39, 0.045);
  padding: 16px;
}

body.theme-admin .category-card-head {
  align-items: start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

body.theme-admin .category-card-head small,
body.theme-admin .category-child-card small {
  color: #98a2b3;
  display: block;
  font-size: 12px;
}

body.theme-admin .category-card-form,
body.theme-admin .category-child-card {
  display: grid;
  gap: 12px;
}

body.theme-admin .category-card-fields {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) 120px;
}

body.theme-admin .category-child-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

body.theme-admin .category-child-card {
  border-radius: 18px;
  box-shadow: none;
}

body.theme-admin .category-card-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.theme-admin .share-link-box {
  align-items: center;
  background: #f8f8fa;
  border: 1px solid #e7eaf0;
  border-radius: 999px;
  display: inline-flex;
  gap: 6px;
  max-width: 100%;
  padding: 4px 6px 4px 10px;
}

body.theme-admin .share-link-box .private-link {
  color: #667085;
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .admin-user-menu {
  position: relative;
}

body.theme-admin .admin-user-dropdown {
  left: auto !important;
  right: 0 !important;
  top: calc(100% + 8px) !important;
  transform: none !important;
}

body.theme-admin .work-status-field {
  align-content: start;
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 18px;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 12px;
}

body.theme-admin .work-status-field legend {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
  padding: 0 6px;
}

body.theme-admin .work-status-option {
  align-items: center;
  background: #f8f8fa;
  border: 1px solid #e7eaf0;
  border-radius: 999px;
  cursor: default;
  display: inline-flex;
  gap: 6px;
  justify-content: center;
  min-height: 38px;
  padding: 0 12px;
}

body.theme-admin .work-status-option.is-current {
  background: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%);
  border-color: #eadcf1;
  color: #111827;
  font-weight: 800;
}

body.theme-admin .work-status-option input {
  height: 1px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 1px;
}

body.theme-admin .work-status-option:has(input:checked) {
  background: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%);
  border-color: #eadcf1;
  color: #111827;
  font-weight: 800;
}

body.theme-admin .work-status-option.is-listed:has(input:checked) span {
  color: #166534;
}

body.theme-admin .work-status-option.is-draft:has(input:checked) span {
  color: #4b4458;
}

body.theme-admin .work-status-option.is-unlisted:has(input:checked) span {
  color: #667085;
}

body.theme-admin .asset-profile-create-panel {
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(17, 24, 39, 0.045);
  padding: 12px;
}

body.theme-admin .asset-profile-create-trigger {
  cursor: pointer;
  display: inline-flex;
  list-style: none;
  width: max-content;
}

body.theme-admin .asset-profile-create-trigger::-webkit-details-marker {
  display: none;
}

body.theme-admin .asset-profile-create-panel .asset-profile-create {
  border: 0;
  box-shadow: none;
  margin-top: 12px;
  padding: 0;
}

body.theme-admin details.upload-info-card {
  display: block;
}

body.theme-admin details.upload-info-card > summary {
  align-items: center;
  color: #111827;
  cursor: pointer;
  display: flex;
  font-weight: 800;
  justify-content: space-between;
  list-style: none;
}

body.theme-admin details.upload-info-card > summary::after {
  color: #98a2b3;
  content: "展开";
  font-size: 12px;
  font-weight: 500;
}

body.theme-admin details.upload-info-card[open] > summary::after {
  content: "收起";
}

body.theme-admin details.upload-info-card > summary::-webkit-details-marker {
  display: none;
}

body.theme-admin details.upload-info-card:not([open]) > :not(summary) {
  display: none !important;
}

body.theme-admin details.upload-info-card[open] h2 {
  display: none;
}

@media (max-width: 720px) {
  body.theme-admin .work-status-field {
    grid-template-columns: minmax(0, 1fr);
  }
}

body:not(.theme-admin) .album-viewer {
  display: none !important;
}

body:not(.theme-admin) .album-media-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}

body:not(.theme-admin) .album-image-card {
  aspect-ratio: 1 / 1;
  border-radius: 18px;
  overflow: hidden;
}

body:not(.theme-admin) .album-image-card img,
body:not(.theme-admin) .album-image-card video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

body:not(.theme-admin) .case-content-stream:empty,
body:not(.theme-admin) .case-content-media:empty,
body:not(.theme-admin) .case-contact:empty {
  display: none !important;
}

@media (max-width: 820px) {
  body.theme-admin .admin-home-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .category-card-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Final acceptance cleanup: public category, album, admin controls */
body.theme-white:not(.theme-admin) .design-category-panel {
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(229, 231, 235, 0.9);
  border-radius: 24px;
  box-shadow: 0 16px 42px rgba(17, 24, 39, 0.055);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-inline: auto;
  max-width: min(1760px, calc(100vw - 40px));
  padding: 14px 16px;
}

body.theme-white:not(.theme-admin) .design-category-head {
  align-items: baseline;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 10px;
  min-width: max-content;
}

body.theme-white:not(.theme-admin) .design-category-head > span:first-child {
  display: none;
}

body.theme-white:not(.theme-admin) .design-category-head strong {
  color: #111827;
  font-size: 18px;
  letter-spacing: -0.02em;
}

body.theme-white:not(.theme-admin) .design-category-panel .design-secondary-strip {
  flex: 1 1 auto;
  margin: 0;
  max-width: none;
  overflow-x: auto;
  padding-bottom: 2px;
}

body.theme-white:not(.theme-admin) .album-main .album-viewer {
  display: none !important;
}

body.theme-white:not(.theme-admin) .album-media-grid {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

body.theme-admin .checkbox-line input[type="checkbox"],
body.theme-admin .checkbox-line input[type="radio"],
body.theme-admin .admin-card input[type="checkbox"],
body.theme-admin .admin-card input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  background: #fff;
  border: 1.5px solid #d0d5dd;
  border-radius: 999px;
  box-shadow: inset 0 0 0 4px #fff;
  cursor: pointer;
  flex: 0 0 auto;
  height: 18px;
  margin: 0;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
  width: 18px;
}

body.theme-admin .checkbox-line input[type="checkbox"]:checked,
body.theme-admin .checkbox-line input[type="radio"]:checked,
body.theme-admin .admin-card input[type="checkbox"]:checked,
body.theme-admin .admin-card input[type="radio"]:checked {
  background: #111827;
  border-color: #111827;
  box-shadow: inset 0 0 0 5px #fff;
}

body.theme-admin .checkbox-line input[type="checkbox"]:focus-visible,
body.theme-admin .checkbox-line input[type="radio"]:focus-visible,
body.theme-admin .admin-card input[type="checkbox"]:focus-visible,
body.theme-admin .admin-card input[type="radio"]:focus-visible {
  outline: 3px solid rgba(244, 225, 238, 0.95);
  outline-offset: 2px;
}

body.theme-admin .admin-user-menu {
  position: relative;
}

body.theme-admin .admin-user-dropdown {
  left: auto !important;
  min-width: 168px;
  right: 0 !important;
  top: calc(100% + 10px) !important;
  transform: none !important;
  transform-origin: top right !important;
  z-index: 60;
}

@media (max-width: 720px) {
  body.theme-white:not(.theme-admin) .design-category-panel {
    align-items: stretch;
    border-radius: 20px;
    flex-direction: column;
    gap: 10px;
    max-width: calc(100vw - 24px);
    padding: 12px;
  }

  body.theme-white:not(.theme-admin) .design-category-head {
    justify-content: space-between;
    min-width: 0;
    width: 100%;
  }

  body.theme-white:not(.theme-admin) .album-media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* V1 final closeout: asset maintenance, empty states, admin mobile safety */
body.theme-admin .asset-board-tabs,
body.theme-admin .dashboard.admin-layout .asset-board-tabs {
  display: none !important;
}

body.theme-admin .asset-edit-landing {
  display: grid;
  gap: 18px;
}

body.theme-admin .asset-edit-hero {
  align-items: center;
  background: linear-gradient(135deg, #ffffff 0%, #fbf7fb 55%, #f7f8fb 100%);
  border: 1px solid #e7eaf0;
  border-radius: 28px;
  box-shadow: 0 18px 46px rgba(17, 24, 39, 0.06);
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) minmax(160px, 260px);
  padding: 22px;
}

body.theme-admin .asset-edit-hero h1 {
  color: #111827;
  font-size: clamp(28px, 4vw, 42px);
  letter-spacing: -0.04em;
  margin: 0 0 8px;
}

body.theme-admin .asset-edit-preview {
  aspect-ratio: 4 / 3;
  background: #f8f8fa;
  border: 1px solid #e7eaf0;
  border-radius: 22px;
  min-width: 0;
  overflow: hidden;
}

body.theme-admin .asset-edit-preview img,
body.theme-admin .asset-edit-preview video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .asset-edit-options {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

body.theme-admin .asset-edit-option {
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(17, 24, 39, 0.045);
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 18px;
}

body.theme-admin .asset-edit-option > span {
  align-items: center;
  background: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%);
  border-radius: 999px;
  color: #4b4458;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  height: 28px;
  justify-content: center;
  width: 44px;
}

body.theme-admin .asset-edit-option h2 {
  color: #111827;
  font-size: 18px;
  margin: 0;
}

body.theme-admin .asset-edit-option p {
  color: #667085;
  line-height: 1.7;
  margin: 0;
}

body .empty-panel {
  align-items: center;
  background: linear-gradient(135deg, #ffffff 0%, #fafafa 100%) !important;
  border: 1px dashed #d8dde6 !important;
  border-radius: 22px !important;
  box-shadow: none !important;
  color: #667085 !important;
  display: flex !important;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
  min-height: 118px !important;
  padding: 22px !important;
  text-align: center;
}

body .empty-panel::before {
  align-items: center;
  background: linear-gradient(135deg, #f4f0ff 0%, #fff1f6 100%);
  border: 1px solid #efe6f1;
  border-radius: 999px;
  color: #4b4458;
  content: "·";
  display: inline-flex !important;
  font-size: 28px;
  font-weight: 900;
  height: 34px;
  justify-content: center;
  line-height: 1;
  width: 34px;
}

body .empty-panel.small {
  min-height: 72px !important;
  padding: 14px !important;
}

body .empty-panel.small::before {
  height: 24px;
  width: 24px;
}

body.theme-admin *,
body.theme-admin *::before,
body.theme-admin *::after {
  box-sizing: border-box;
}

body.theme-admin .dashboard,
body.theme-admin .dashboard-content,
body.theme-admin .admin-assets-stack,
body.theme-admin .asset-page,
body.theme-admin .panel,
body.theme-admin .admin-card,
body.theme-admin .asset-card,
body.theme-admin .material-card,
body.theme-admin .work-card,
body.theme-admin form,
body.theme-admin label {
  min-width: 0;
}

body.theme-admin input,
body.theme-admin select,
body.theme-admin textarea {
  max-width: 100%;
}

body.theme-admin table {
  max-width: 100%;
}

body.theme-admin .table-scroll,
body.theme-admin .admin-table-wrap,
body.theme-admin .material-table-wrap {
  overflow-x: auto;
  width: 100%;
}

body.theme-admin .asset-search {
  grid-template-columns: minmax(0, 1fr) auto;
}

@media (max-width: 720px) {
  body.theme-admin {
    overflow-x: hidden;
  }

  body.theme-admin .dashboard.admin-layout {
    display: block;
    padding-inline: 12px;
  }

  body.theme-admin .dashboard-sidebar,
  body.theme-admin .admin-sidebar {
    display: none !important;
  }

  body.theme-admin .dashboard-content,
  body.theme-admin .admin-assets-stack {
    width: 100%;
  }

  body.theme-admin .asset-board-top,
  body.theme-admin .asset-detail-grid,
  body.theme-admin .asset-edit-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .asset-board-actions,
  body.theme-admin .asset-detail-actions,
  body.theme-admin .form-actions,
  body.theme-admin .work-form-actions {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  body.theme-admin .asset-board-actions .button,
  body.theme-admin .asset-detail-actions .button,
  body.theme-admin .asset-detail-actions .text-button,
  body.theme-admin .form-actions .button,
  body.theme-admin .work-form-actions .button {
    justify-content: center;
    width: 100%;
  }

  body.theme-admin .asset-search,
  body.theme-admin .store-search,
  body.theme-admin .mall-search,
  body.theme-admin .admin-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .asset-search button,
  body.theme-admin .store-search button,
  body.theme-admin .mall-search button,
  body.theme-admin .admin-search-form button {
    width: 100%;
  }

  body.theme-admin .asset-waterfall,
  body.theme-admin .asset-pinboard,
  body.theme-admin .material-card-grid,
  body.theme-admin .category-card-grid,
  body.theme-admin .work-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.theme-admin .asset-card-actions,
  body.theme-admin .asset-card-actionbar,
  body.theme-admin .category-card-actions {
    align-items: stretch;
    flex-direction: column;
  }

  body.theme-admin .asset-card-actions a,
  body.theme-admin .asset-card-actions button,
  body.theme-admin .category-card-actions a,
  body.theme-admin .category-card-actions button {
    justify-content: center;
    width: 100%;
  }

  body.theme-admin .empty-panel {
    min-height: 92px !important;
    padding: 18px !important;
  }

  body.theme-admin .admin-work-table-wrap {
    overflow-x: visible;
  }

  body.theme-admin .admin-work-table,
  body.theme-admin .admin-work-table tbody,
  body.theme-admin .admin-work-table tr,
  body.theme-admin .admin-work-table td {
    display: block;
    max-width: 100%;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.theme-admin .admin-work-table thead {
    display: none;
  }

  body.theme-admin .admin-work-table tr {
    background: #fff;
    border: 1px solid #e7eaf0;
    border-radius: 20px;
    box-shadow: 0 12px 28px rgba(17, 24, 39, 0.045);
    margin-bottom: 12px;
    overflow: hidden;
    padding: 12px;
  }

  body.theme-admin .admin-work-table td {
    border: 0;
    padding: 8px 0;
  }

  body.theme-admin .admin-work-table .thumb {
    border-radius: 14px;
    height: auto;
    max-height: 180px;
    object-fit: cover;
    width: 100%;
  }

  body.theme-admin .admin-work-table .table-actions {
    align-items: stretch;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr);
    max-width: 100%;
    width: 100%;
  }

  body.theme-admin .admin-work-table .table-actions form,
  body.theme-admin .admin-work-table .table-actions a,
  body.theme-admin .admin-work-table .table-actions button {
    justify-content: center;
    max-width: 100%;
    width: 100%;
  }
}
/* Phase 1: storefront modules backed by home display settings. */
body:not(.theme-admin) .home-banner-list {
  display: flex;
  gap: 18px;
  max-width: 1180px;
  margin: 24px auto;
  padding: 0 24px 8px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}

body:not(.theme-admin) .home-banner-card {
  position: relative;
  flex: 0 0 100%;
  min-height: 280px;
  overflow: hidden;
  border-radius: 24px;
  background: #ececec;
  color: #fff;
  scroll-snap-align: start;
}

body:not(.theme-admin) .home-banner-card img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}

body:not(.theme-admin) .home-banner-copy {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: 6px;
  padding: 48px 28px 24px;
  background: linear-gradient(transparent, rgba(0, 0, 0, .72));
}

body:not(.theme-admin) .home-banner-copy strong { font-size: clamp(22px, 3vw, 38px); }
body:not(.theme-admin) .home-banner-copy small { font-size: 15px; color: rgba(255, 255, 255, .86); }
body:not(.theme-admin) .home-banner-copy em {
  width: fit-content;
  margin-top: 6px;
  padding: 8px 14px;
  border: 1px solid rgba(255, 255, 255, .54);
  border-radius: 999px;
  color: #fff;
  font-style: normal;
}
body:not(.theme-admin) .home-featured-section { margin-top: 30px; }

body:not(.theme-admin) .case-work-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 auto 24px;
}

body:not(.theme-admin) .case-work-summary > div {
  display: grid;
  gap: 5px;
  padding: 16px 18px;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 14px;
  background: rgba(255, 255, 255, .72);
}

@media (max-width: 720px) {
  body:not(.theme-admin) .home-banner-list { margin: 16px auto; padding: 0 14px 6px; }
  body:not(.theme-admin) .home-banner-card,
  body:not(.theme-admin) .home-banner-card img { min-height: 210px; }
  body:not(.theme-admin) .home-banner-copy { padding: 38px 18px 18px; }
  body:not(.theme-admin) .case-work-summary { grid-template-columns: 1fr; }
}
/* NOVA SHARK round 1 UI acceptance: compact admin page structure. */
body.theme-admin .admin-page-header {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #e7eaf0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px 20px !important;
  justify-content: space-between !important;
  margin: 0 0 18px !important;
  min-height: 0 !important;
  padding: 0 0 16px !important;
}

body.theme-admin .admin-page-header > div { min-width: min(100%, 320px); }
body.theme-admin .admin-page-header h1 {
  font-size: clamp(24px, 3vw, 34px) !important;
  letter-spacing: -0.035em;
  line-height: 1.12;
  margin: 0 0 6px !important;
}
body.theme-admin .admin-page-header p { margin: 0; }
body.theme-admin .admin-page-header .eyebrow { margin-bottom: 5px; }

body.theme-admin .topbar.admin { padding-inline: clamp(16px, 3vw, 34px); }
body.theme-admin .admin-top-actions { flex-wrap: nowrap; }
body.theme-admin .admin-front-link { order: 1; }
body.theme-admin .admin-user-menu { order: 2; }
body.theme-admin .admin-page-header .admin-home-actions { display: flex !important; }

body.theme-admin .category-card-fields {
  grid-template-columns: minmax(160px, .7fr) minmax(180px, 1fr) 110px !important;
}

body.theme-admin .category-card-fields small,
body.theme-admin .category-inherit-note {
  color: #667085;
  display: block;
  font-size: 12px;
  line-height: 1.5;
  margin-top: 5px;
}

body.theme-admin .original-asset-display-card {
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .035);
  cursor: default;
  min-width: 0;
  padding: 20px;
  transform: none !important;
  transition: none !important;
}

body.theme-admin .original-asset-display-card:hover {
  border-color: #e7eaf0;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .035);
  transform: none;
}

body.theme-admin .original-asset-display-body { display: grid; gap: 14px; }
body.theme-admin .original-asset-display-body h3 { font-size: 20px; margin: 0; }
body.theme-admin .original-asset-display-stats {
  border-top: 1px solid #eef0f3;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding-top: 14px;
}
body.theme-admin .original-asset-display-stats div { display: grid; gap: 3px; }
body.theme-admin .original-asset-display-stats dt { color: #667085; font-size: 12px; }
body.theme-admin .original-asset-display-stats dd { color: #111827; font-size: 16px; font-weight: 800; margin: 0; }

@media (max-width: 720px) {
  body.theme-admin .admin-page-header { align-items: stretch !important; flex-direction: column; }
  body.theme-admin .category-card-fields { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Public UI acceptance round 2: final cascade overrides. */
body:not(.theme-admin) .portfolio-work-card { height: 440px !important; overflow: hidden; }
body:not(.theme-admin) .portfolio-work-card .work-card-link { display: grid; grid-template-rows: 340px 100px; height: 100%; }
body:not(.theme-admin) .portfolio-work-card .work-card-media { height: 340px !important; min-height: 340px !important; }
body:not(.theme-admin) .portfolio-work-card .work-card-media img { height: 100% !important; object-fit: cover; width: 100%; }
body:not(.theme-admin) .portfolio-work-card .work-card-body { display: flex; flex-direction: column; justify-content: center; min-height: 0; padding: 14px 16px 16px !important; }
body:not(.theme-admin) .portfolio-work-card .work-card-meta,
body:not(.theme-admin) .portfolio-work-card h3 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body:not(.theme-admin) .case-main-media { height: clamp(520px, 56vw, 620px) !important; max-height: 620px; overflow: hidden; }
body:not(.theme-admin) .case-main-media > button,
body:not(.theme-admin) .case-main-media > video,
body:not(.theme-admin) .case-main-media img { height: 100% !important; width: 100%; }
body:not(.theme-admin) .case-main-media img,
body:not(.theme-admin) .case-main-media video { background: #f3f4f6; object-fit: contain !important; }
body:not(.theme-admin) .album-media-grid { column-gap: 18px; columns: 3; display: block !important; }
body:not(.theme-admin) .album-media-grid .album-image-card { break-inside: avoid; display: inline-block !important; height: auto !important; margin: 0 0 18px; width: 100%; }
body:not(.theme-admin) .album-media-grid .album-image-card img,
body:not(.theme-admin) .album-media-grid .album-image-card video { aspect-ratio: auto !important; height: auto !important; object-fit: contain !important; width: 100%; }

@media (max-width: 720px) {
  body:not(.theme-admin) .portfolio-work-card { height: 320px !important; }
  body:not(.theme-admin) .portfolio-work-card .work-card-link { grid-template-rows: 238px 82px; }
  body:not(.theme-admin) .portfolio-work-card .work-card-media { height: 238px !important; min-height: 238px !important; }
  body:not(.theme-admin) .portfolio-work-card .work-card-body { padding: 10px 12px 12px !important; }
  body:not(.theme-admin) .case-main-media { height: clamp(320px, 100vw, 400px) !important; max-height: 400px; }
  body:not(.theme-admin) .album-media-grid { column-gap: 10px; columns: 2; }
  body:not(.theme-admin) .album-media-grid .album-image-card { margin-bottom: 10px; }
}

/* Admin UI acceptance round 3: classification, profiles, uploads and home switches. */
body.theme-admin .category-child-card {
  grid-template-columns: minmax(170px, 1.2fr) minmax(160px, .8fr) minmax(150px, .8fr) 100px auto;
}

body.theme-admin .asset-profile-card { position: relative; }
body.theme-admin .asset-profile-card-link {
  border-radius: inherit;
  inset: 0;
  position: absolute;
  z-index: 1;
}
body.theme-admin .asset-profile-card-link:focus-visible { outline: 3px solid rgba(37, 99, 235, .28); outline-offset: 3px; }
body.theme-admin .asset-profile-actions { position: relative; z-index: 2; }
body.theme-admin .asset-profile-source-placeholder {
  align-content: center;
  background: linear-gradient(145deg, #f7f1f5, #f7f8fb);
  color: #1f2937;
  display: grid;
  gap: 6px;
  height: 100%;
  justify-items: center;
  padding: 20px;
  text-align: center;
}
body.theme-admin .asset-profile-source-placeholder strong { font-size: 17px; }
body.theme-admin .asset-profile-source-placeholder span { color: #667085; font-size: 12px; }

body.theme-admin .upload-create-profile-link { display: inline-flex; margin-top: 2px; }

body.theme-admin .module-switches .checkbox-line,
body.theme-admin .banner-edit-form > .checkbox-line,
body.theme-admin form[action="/api/admin/home-decor/banners"] > .checkbox-line {
  align-items: center;
  display: flex;
  gap: 10px;
}
body.theme-admin .module-switches input[type="checkbox"],
body.theme-admin .banner-edit-form input[type="checkbox"],
body.theme-admin form[action="/api/admin/home-decor/banners"] input[type="checkbox"] {
  appearance: none;
  background: #d1d5db;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  flex: 0 0 44px;
  height: 24px;
  margin: 0;
  position: relative;
  transition: background .2s ease;
  width: 44px;
}
body.theme-admin .module-switches input[type="checkbox"]::after,
body.theme-admin .banner-edit-form input[type="checkbox"]::after,
body.theme-admin form[action="/api/admin/home-decor/banners"] input[type="checkbox"]::after {
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(15, 23, 42, .25);
  content: "";
  height: 18px;
  left: 3px;
  position: absolute;
  top: 3px;
  transition: transform .2s ease;
  width: 18px;
}
body.theme-admin .module-switches input[type="checkbox"]:checked,
body.theme-admin .banner-edit-form input[type="checkbox"]:checked,
body.theme-admin form[action="/api/admin/home-decor/banners"] input[type="checkbox"]:checked { background: #111827; }
body.theme-admin .module-switches input[type="checkbox"]:checked::after,
body.theme-admin .banner-edit-form input[type="checkbox"]:checked::after,
body.theme-admin form[action="/api/admin/home-decor/banners"] input[type="checkbox"]:checked::after { transform: translateX(20px); }

body.theme-admin .banner-image-upload { gap: 12px; }
body.theme-admin .banner-upload-preview {
  aspect-ratio: 16 / 6;
  background: #f5f6f8;
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  display: grid;
  min-height: 190px;
  overflow: hidden;
  place-items: center;
}
body.theme-admin .banner-upload-preview img { height: 100%; object-fit: cover; width: 100%; }
body.theme-admin .banner-upload-preview > div { color: #667085; display: grid; gap: 6px; padding: 24px; text-align: center; }
body.theme-admin .banner-upload-preview > div strong { color: #1f2937; }

@media (max-width: 900px) {
  body.theme-admin .category-child-card { grid-template-columns: minmax(0, 1fr); }
  body.theme-admin .banner-upload-preview { min-height: 130px; }
}

/* UI acceptance closeout: denser admin home and final public layouts. */
body.theme-admin .asset-board-top > .asset-profile-create-panel { margin-left: auto; }
body.theme-admin .asset-board-top > .asset-profile-create-panel > summary { white-space: nowrap; }

body.theme-admin .upload-record-list { display: grid; gap: 8px; }
body.theme-admin .upload-record-row {
  align-items: center;
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 12px;
  color: #111827;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(180px, 1.5fr) minmax(160px, 1fr) 100px 100px 160px;
  padding: 14px 16px;
  text-decoration: none;
}
body.theme-admin .upload-record-row > span { display: grid; gap: 3px; min-width: 0; }
body.theme-admin .upload-record-row small,
body.theme-admin .upload-record-row time { color: #667085; font-size: 12px; }
body.theme-admin .upload-record-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

body.theme-admin .admin-home-focus-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
}
body.theme-admin .admin-focus-panel { min-height: 0; padding: 20px; }
body.theme-admin .admin-focus-panel .panel-head { margin-bottom: 12px; padding-bottom: 12px; }
body.theme-admin .admin-focus-list,
body.theme-admin .admin-recent-work-list { display: grid; gap: 8px; }
body.theme-admin .admin-focus-list a,
body.theme-admin .admin-recent-work-list a {
  align-items: center;
  background: #f8f9fb;
  border-radius: 10px;
  color: #111827;
  display: flex;
  justify-content: space-between;
  min-height: 46px;
  padding: 10px 12px;
  text-decoration: none;
}
body.theme-admin .admin-focus-list strong { font-size: 22px; }
body.theme-admin .admin-recent-work-list span { color: #667085; font-size: 12px; }
body.theme-admin .admin-dashboard > .dashboard-content > .admin-activity-panel { padding: 20px; }
body.theme-admin .admin-dashboard .admin-activity-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.theme-admin .admin-dashboard .admin-activity-item { min-height: 58px; }

body:not(.theme-admin) .mall-work-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body:not(.theme-admin) .portfolio-work-card { height: 390px !important; }
body:not(.theme-admin) .portfolio-work-card .work-card-link { grid-template-rows: 300px 90px !important; }
body:not(.theme-admin) .portfolio-work-card .work-card-media { height: 300px !important; min-height: 300px !important; }
body:not(.theme-admin) .portfolio-work-card .work-card-body { padding: 12px 16px 14px !important; }

body:not(.theme-admin) .case-detail-page { max-width: 1100px; }
body:not(.theme-admin) .case-work-summary {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .06);
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
  padding: 8px;
}
body:not(.theme-admin) .case-work-summary > div { padding: 18px 22px; }
body:not(.theme-admin) .case-work-summary strong { font-size: 20px; }
body:not(.theme-admin) .case-main-media {
  height: clamp(480px, 48vw, 560px) !important;
  margin-left: auto;
  margin-right: auto;
  max-height: 560px;
  max-width: 900px;
}
body:not(.theme-admin) .case-main-media img,
body:not(.theme-admin) .case-main-media video { background: #f6f7f8; }
body:not(.theme-admin) .case-content-stream { margin-left: auto; margin-right: auto; max-width: 900px; }

body:not(.theme-admin) .album-browser {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}
body:not(.theme-admin) .album-media-grid { column-gap: 14px; columns: 3; }
body:not(.theme-admin) .album-media-grid .album-image-card {
  aspect-ratio: auto !important;
  background: transparent;
  border: 0;
  border-radius: 12px;
  box-shadow: none;
  margin-bottom: 14px;
  padding: 0;
}
body:not(.theme-admin) .album-media-grid .album-image-card img,
body:not(.theme-admin) .album-media-grid .album-image-card video {
  display: block;
  max-height: none !important;
  min-height: 0 !important;
}
body:not(.theme-admin) .album-media-grid .album-image-card > span {
  background: linear-gradient(transparent, rgba(15, 23, 42, .78));
  bottom: 0;
  color: #fff;
  left: 0;
  opacity: 0;
  padding: 34px 12px 11px;
  position: absolute;
  right: 0;
  transition: opacity .18s ease;
}
body:not(.theme-admin) .album-media-grid .album-image-card:hover > span,
body:not(.theme-admin) .album-media-grid .album-image-card:focus-visible > span { opacity: 1; }

@media (max-width: 900px) {
  body.theme-admin .upload-record-row { grid-template-columns: minmax(0, 1fr) 90px; }
  body.theme-admin .upload-record-row > :nth-child(2),
  body.theme-admin .upload-record-row > :nth-child(4),
  body.theme-admin .upload-record-row > :nth-child(5) { display: none; }
  body.theme-admin .admin-home-focus-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 720px) {
  body:not(.theme-admin) .mall-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body:not(.theme-admin) .portfolio-work-card { height: 280px !important; }
  body:not(.theme-admin) .portfolio-work-card .work-card-link { grid-template-rows: 205px 75px !important; }
  body:not(.theme-admin) .portfolio-work-card .work-card-media { height: 205px !important; min-height: 205px !important; }
  body:not(.theme-admin) .case-main-media { height: clamp(320px, 94vw, 400px) !important; }
  body:not(.theme-admin) .album-media-grid { column-gap: 9px; columns: 2; }
  body:not(.theme-admin) .album-media-grid .album-image-card { margin-bottom: 9px; }
}

/* Public homepage responsive layout: keep overrides scoped away from other public pages. */
body:not(.theme-admin):has(.home-page-shell) .topbar {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin: 0;
  max-width: none;
  padding-inline: clamp(16px, 3vw, 48px);
  width: 100%;
}

body:not(.theme-admin):has(.home-page-shell) .topbar nav {
  margin-left: auto;
}

body:not(.theme-admin) .home-page-shell > :is(
  .design-home-entrance,
  .home-banner-list,
  .home-zone-navigation,
  .design-category-navigation,
  .design-work-section
) {
  box-sizing: border-box;
  margin-inline: 0;
  max-width: none;
  padding-inline: clamp(16px, 3vw, 48px);
  width: 100%;
}

body:not(.theme-admin) .home-page-shell .design-home-entrance {
  display: block;
}

body:not(.theme-admin) .home-page-shell .home-zone-navigation {
  overflow: hidden;
  padding-block: 18px;
}

body:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-grid {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: thin;
  width: 100%;
}

body:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card,
body:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-empty {
  flex: 0 0 clamp(220px, 22vw, 320px);
}

body:not(.theme-admin) .home-page-shell .category-list-toolbar {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

body:not(.theme-admin) .home-page-shell .category-list-toolbar > div {
  align-items: center;
  display: flex;
  flex-direction: row;
}

body:not(.theme-admin) .home-page-shell .category-list-toolbar > div:first-child strong {
  display: block !important;
}

body:not(.theme-admin) .home-page-shell .design-toolbar-form {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  margin-left: auto;
}

body:not(.theme-admin) .home-page-shell .mall-work-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (min-width: 768px) {
  body:not(.theme-admin) .home-page-shell .mall-work-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1200px) {
  body:not(.theme-admin) .home-page-shell .mall-work-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1600px) {
  body:not(.theme-admin) .home-page-shell .mall-work-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body:not(.theme-admin) .home-page-shell .design-home-entrance {
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
  }

}

@media (max-width: 680px) {
  body:not(.theme-admin) .home-page-shell .category-list-toolbar,
  body:not(.theme-admin) .home-page-shell .design-toolbar-form {
    align-items: stretch;
    flex-direction: column;
  }

  body:not(.theme-admin) .home-page-shell .design-toolbar-form {
    margin-left: 0;
    width: 100%;
  }
}

body:not(.theme-admin) .home-page-shell .portfolio-work-card .work-card-body {
  display: grid;
  gap: 6px;
  grid-template-rows: minmax(28px, 1fr) auto;
  justify-content: stretch;
  padding-top: 10px !important;
  padding-bottom: 20px !important;
}

body:not(.theme-admin) .home-page-shell .home-work-card-main {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  min-width: 0;
}

body:not(.theme-admin) .home-page-shell .portfolio-work-card .work-card-body h3 {
  flex: 1 1 auto;
  margin: 0;
  min-width: 0;
  text-align: left;
}

body:not(.theme-admin) .home-page-shell .home-work-card-summary {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  min-width: 0;
}

body:not(.theme-admin) .home-page-shell .home-work-price {
  color: #111827;
  font-size: 14px;
  flex: 0 0 auto;
  margin-left: auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body:not(.theme-admin) .home-page-shell .home-work-detail {
  background: #151719;
  border-radius: 999px;
  color: #fff;
  flex: 0 0 auto;
  font-size: 12px;
  line-height: 26px;
  padding: 0 11px;
}

body:not(.theme-admin) .home-page-shell .design-toolbar-search {
  padding-left: 14px;
}

body:not(.theme-admin) .home-page-shell .portfolio-work-card .work-card-media,
body:not(.theme-admin) .home-page-shell .portfolio-work-card .work-card-media img,
body:not(.theme-admin) .home-page-shell .portfolio-work-card .work-card-media video {
  height: 100% !important;
  width: 100% !important;
}

body:not(.theme-admin) .home-page-shell .portfolio-work-card .work-card-media img,
body:not(.theme-admin) .home-page-shell .portfolio-work-card .work-card-media video {
  display: block;
  object-fit: cover !important;
}

body:not(.theme-admin) .home-page-shell .mall-sort-form select {
  align-items: center;
  display: flex;
  line-height: 1.2;
  padding-bottom: 0;
  padding-top: 0;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card {
  border-color: transparent;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
  transform: none;
  transition: box-shadow 180ms ease;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-1,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-1:hover,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-1.active {
  background: linear-gradient(135deg, #faf7fc 0%, #f7f1f8 100%) !important;
  border-color: transparent !important;
  transform: none;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-2,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-2:hover,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-2.active {
  background: linear-gradient(135deg, #f5f9fc 0%, #eef5fa 100%) !important;
  border-color: transparent !important;
  transform: none;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card::after,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card:hover::after,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.active::after {
  opacity: 1;
  transform: none;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-1::after {
  background: linear-gradient(135deg, rgba(239, 230, 245, 0.72), rgba(249, 239, 244, 0.58));
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-2::after {
  background: linear-gradient(135deg, rgba(225, 239, 249, 0.78), rgba(239, 246, 251, 0.64));
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.active .design-zone-kicker::before {
  display: none;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.active .design-zone-action {
  background: #f2f4f7;
  color: #151719;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card:hover .design-zone-action {
  background: #151719;
  color: #fff;
}

body:not(.theme-admin) .home-page-shell .portfolio-work-card .work-card-body {
  grid-template-rows: minmax(34px, 1fr) auto;
  padding-top: 14px !important;
  padding-bottom: 22px !important;
}

body:not(.theme-admin) .home-page-shell .home-work-card-main,
body:not(.theme-admin) .home-page-shell .home-work-card-main h3,
body:not(.theme-admin) .home-page-shell .home-work-card-main .home-work-price {
  align-items: center;
  align-self: center;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card::after {
  transform: none !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card:hover,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card:hover::after {
  transform: none !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-1:hover {
  background: linear-gradient(135deg, #f7f1f9 0%, #f3ebf5 100%) !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-2:hover {
  background: linear-gradient(135deg, #eef6fb 0%, #e8f2f8 100%) !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-1,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-2,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-1.active,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-2.active {
  background: #fff !important;
  border-color: transparent !important;
  transform: none !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-1:hover {
  background: linear-gradient(135deg, #faf5fb 0%, #f5edf7 100%) !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-2:hover {
  background: linear-gradient(135deg, #f3f8fc 0%, #eaf3f9 100%) !important;
}

body:not(.theme-admin) .home-page-shell .mall-sort-form select {
  border-radius: 999px;
  box-sizing: border-box;
  line-height: 40px;
  min-height: 40px;
  min-width: 118px;
  padding: 0 32px 0 16px;
  text-align: center;
  text-align-last: center;
}

body:not(.theme-admin) .home-page-shell .portfolio-work-card .work-card-body {
  grid-template-rows: minmax(40px, 1fr) auto;
}

body:not(.theme-admin) .home-page-shell .home-work-card-main {
  align-items: center;
  min-height: 40px;
  padding-block: 6px;
}

body:not(.theme-admin) .home-page-shell .home-work-card-main h3 {
  align-items: center;
  align-self: stretch;
  display: flex;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 0;
  padding-block: 12px;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-head {
  flex: 0 0 auto;
  margin-right: auto;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel .design-secondary-strip {
  flex: 0 1 auto;
  justify-content: flex-end;
  margin-left: auto;
  margin-right: 10px;
  padding-bottom: 0;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel + .design-work-section {
  padding-top: 4px;
}

body:not(.theme-admin) .home-page-shell .mall-sort-form select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 16px center;
  background-repeat: no-repeat;
  background-size: 12px 8px;
  min-width: 128px;
  padding-left: 20px;
  padding-right: 46px;
}

/* Homepage-only custom sort dropdown avoids native option colors. */
body:not(.theme-admin) .home-page-shell .home-sort-dropdown {
  position: relative;
  width: 128px;
}

body:not(.theme-admin) .home-page-shell .design-toolbar-form .home-sort-trigger {
  align-items: center;
  appearance: none;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  box-shadow: none;
  color: #111;
  display: flex;
  filter: none;
  height: 40px;
  justify-content: center;
  min-height: 40px;
  padding: 0 38px 0 18px;
  position: relative;
  width: 100%;
}

body:not(.theme-admin) .home-page-shell .design-toolbar-form .home-sort-trigger [data-home-sort-label] {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: inherit;
  display: inline;
  font: inherit;
  line-height: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
}

body:not(.theme-admin) .home-page-shell .design-toolbar-form .home-sort-trigger:hover,
body:not(.theme-admin) .home-page-shell .design-toolbar-form .home-sort-trigger:focus,
body:not(.theme-admin) .home-page-shell .design-toolbar-form .home-sort-trigger:focus-visible,
body:not(.theme-admin) .home-page-shell .home-sort-dropdown.open .home-sort-trigger {
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: none;
  color: #111;
  filter: none;
  outline: none;
}

body:not(.theme-admin) .home-page-shell .design-toolbar-form .home-sort-trigger::after {
  border-bottom: 1.5px solid #6b7280;
  border-right: 1.5px solid #6b7280;
  content: "";
  height: 7px;
  position: absolute;
  right: 17px;
  top: 14px;
  transform: rotate(45deg);
  transition: transform 160ms ease;
  width: 7px;
}

body:not(.theme-admin) .home-page-shell .home-sort-dropdown.open .home-sort-trigger::after {
  top: 18px;
  transform: rotate(225deg);
}

body:not(.theme-admin) .home-page-shell .home-sort-menu {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.14);
  left: 0;
  overflow: hidden;
  padding: 5px;
  position: absolute;
  top: calc(100% + 6px);
  width: 100%;
  z-index: 20;
}

body:not(.theme-admin) .home-page-shell .design-toolbar-form .home-sort-menu button {
  background: #fff;
  border: 0;
  border-radius: 9px;
  color: #111;
  display: block;
  font: inherit;
  height: 40px;
  min-height: 40px;
  padding: 0 8px;
  text-align: center;
  width: 100%;
}

body:not(.theme-admin) .home-page-shell .design-toolbar-form .home-sort-menu button:hover,
body:not(.theme-admin) .home-page-shell .design-toolbar-form .home-sort-menu button:focus-visible {
  background: #f1f1f1;
  color: #111;
  outline: none;
}

body:not(.theme-admin) .home-page-shell .design-toolbar-form .home-sort-menu button.selected,
body:not(.theme-admin) .home-page-shell .design-toolbar-form .home-sort-menu button.selected:hover,
body:not(.theme-admin) .home-page-shell .design-toolbar-form .home-sort-menu button.selected:focus-visible {
  background: #111;
  color: #fff;
}

body:not(.theme-admin):has(.home-page-shell) .topbar .public-home-return {
  white-space: nowrap;
}

@media (max-width: 720px) {
  body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel {
    align-items: stretch;
    flex-direction: column;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel .design-secondary-strip {
    justify-content: flex-start;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }
}

/* Final category-page state alignment. Keep this block at the end of the cascade. */
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-1.active {
  background: linear-gradient(135deg, #faf5fb 0%, #f5edf7 100%) !important;
  border-color: transparent !important;
  transform: none !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.zone-2.active {
  background: linear-gradient(135deg, #f3f8fc 0%, #eaf3f9 100%) !important;
  border-color: transparent !important;
  transform: none !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.active::after {
  opacity: 1 !important;
  transform: none !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel {
  gap: 12px !important;
  justify-content: flex-start !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel .design-category-head {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel .design-secondary-strip {
  display: flex !important;
  flex: 0 0 auto !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  max-width: max-content !important;
  width: auto !important;
}

@media (max-width: 720px) {
  body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel .design-secondary-strip {
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* Category acceptance: keep filters beside the title and expose the selected zone action. */
body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel {
  justify-content: flex-start !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel .design-category-head,
body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel .design-secondary-strip {
  flex: 0 0 auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.active .design-zone-action {
  background: #151719 !important;
  color: #fff !important;
}

/* Category bar: title and filters form one left-aligned row. */
body.theme-white:not(.theme-admin) .home-page-shell .category-navigation.design-category-panel {
  align-items: center !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  justify-content: flex-start !important;
  margin-inline: auto !important;
  text-align: left !important;
  width: calc(100% - 80px) !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .category-navigation.design-category-panel > .design-category-head,
body.theme-white:not(.theme-admin) .home-page-shell .category-navigation.design-category-panel > .design-secondary-strip {
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  margin-inline: 0 !important;
  position: static !important;
  width: max-content !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .category-navigation.design-category-panel > .design-secondary-strip {
  justify-content: flex-start !important;
}

/* Works toolbar spacing and vertical alignment. */
body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel + .design-work-section {
  padding-top: 14px;
}

body:not(.theme-admin) .home-page-shell .design-work-section > .category-list-toolbar {
  align-items: center;
  border-bottom: 0;
  box-sizing: border-box;
  padding-block: 14px;
}

body:not(.theme-admin) .home-page-shell .design-work-section > .category-list-toolbar > div,
body:not(.theme-admin) .home-page-shell .design-work-section > .category-list-toolbar > .design-toolbar-form {
  align-items: center;
  align-self: center;
}

body:not(.theme-admin) .home-page-shell .design-work-section > .category-list-toolbar > div:first-child strong {
  line-height: 1.25;
  margin: 0;
}

/* Public category path: only the selected primary exposes its real children. */
body:not(.theme-admin) .home-page-shell .design-work-section > .category-list-toolbar > .work-category-heading {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body:not(.theme-admin) .home-page-shell .work-category-breadcrumb {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}

body:not(.theme-admin) .home-page-shell .work-category-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

body:not(.theme-admin) .home-page-shell .work-category-breadcrumb a:hover,
body:not(.theme-admin) .home-page-shell .work-category-breadcrumb a:focus-visible {
  text-decoration: underline;
}

body:not(.theme-admin) .home-page-shell .work-category-secondary-strip {
  border-top: 0;
  padding-top: 0;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel > .category-home-return {
  align-items: center;
  align-self: center;
  background: transparent;
  border: 0;
  color: #151719;
  display: inline-flex;
  flex: 0 0 auto !important;
  font-size: 14px;
  line-height: 1.4;
  margin-left: auto !important;
  margin-right: 16px !important;
  max-width: max-content !important;
  min-width: 0 !important;
  padding: 6px 0;
  text-decoration: none;
  white-space: nowrap;
  width: auto !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel > .category-home-return:hover,
body.theme-white:not(.theme-admin) .home-page-shell .design-category-panel > .category-home-return:focus-visible {
  color: #6b7280;
}

/* Restored horizontal category navigation bar. */
body.theme-white:not(.theme-admin) .home-page-shell .category-navigation.design-category-panel {
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(229, 231, 235, 0.9) !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 42px rgba(17, 24, 39, 0.055) !important;
  min-height: 0 !important;
  padding: 12px 16px !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .category-navigation.design-category-panel > .design-category-head {
  align-items: baseline !important;
  background: transparent;
  border-radius: 0;
  box-sizing: border-box;
  min-height: 0;
  padding: 0;
  width: max-content !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .category-navigation.design-category-panel > .design-secondary-strip {
  margin-left: 0 !important;
  padding-block: 0 !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .category-navigation.design-category-panel > .category-home-return {
  margin-left: auto !important;
}

/* Public work detail: compact heading and image-first gallery. */
body.theme-white:not(.theme-admin) .case-detail-page {
  max-width: none;
}

body.theme-white:not(.theme-admin) .case-detail-header.case-hero {
  display: block;
  margin: 0 auto;
  max-width: 1280px;
  padding: 24px 24px 18px;
  width: calc(100% - 48px);
}

body.theme-white:not(.theme-admin) .case-detail-title {
  margin-top: 14px;
}

body.theme-white:not(.theme-admin) .case-detail-title-line {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
}

body.theme-white:not(.theme-admin) .case-detail-title-line h1 {
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.18;
  margin: 0;
}

body.theme-white:not(.theme-admin) .case-detail-price {
  color: #4b5563;
  font-size: clamp(16px, 1.6vw, 20px);
  font-weight: 700;
  white-space: nowrap;
}

body.theme-white:not(.theme-admin) .case-work-gallery,
body.theme-white:not(.theme-admin) .case-work-details {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
  width: calc(100% - 48px);
}

body.theme-white:not(.theme-admin) .case-work-gallery {
  background: #f6f7f9;
  border-radius: 18px;
  overflow: hidden;
  position: relative;
}

body.theme-white:not(.theme-admin) .case-work-gallery-track {
  display: grid;
  min-height: min(68vw, 760px);
  place-items: center;
}

body.theme-white:not(.theme-admin) .case-work-gallery-slide {
  display: none;
  grid-area: 1 / 1;
  height: 100%;
  margin: 0;
  width: 100%;
}

body.theme-white:not(.theme-admin) .case-work-gallery-slide.active {
  display: block;
}

body.theme-white:not(.theme-admin) .case-work-gallery-slide .zoomable-image {
  align-items: center;
  background: transparent;
  border: 0;
  display: flex;
  height: 100%;
  justify-content: center;
  padding: 0;
  width: 100%;
}

body.theme-white:not(.theme-admin) .case-work-gallery-slide img {
  display: block;
  height: 100%;
  max-height: 760px;
  object-fit: contain;
  width: 100%;
}

body.theme-white:not(.theme-admin) .case-work-gallery-slide video {
  background: #111;
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

body.theme-white:not(.theme-admin) .case-work-gallery-arrow {
  align-items: center;
  background: rgba(17, 24, 39, 0.7);
  border: 0;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: flex;
  font-size: 28px;
  height: 42px;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  z-index: 2;
}

body.theme-white:not(.theme-admin) .case-work-gallery-arrow.prev { left: 18px; }
body.theme-white:not(.theme-admin) .case-work-gallery-arrow.next { right: 18px; }

body.theme-white:not(.theme-admin) .case-work-gallery-dots {
  align-items: center;
  bottom: 16px;
  display: flex;
  gap: 8px;
  justify-content: center;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  z-index: 2;
}

body.theme-white:not(.theme-admin) .case-work-gallery-dots button {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(17, 24, 39, 0.25);
  border-radius: 50%;
  cursor: pointer;
  height: 9px;
  padding: 0;
  width: 9px;
}

body.theme-white:not(.theme-admin) .case-work-gallery-dots button.active {
  background: #151719;
  border-color: #151719;
}

body.theme-white:not(.theme-admin) .case-work-details {
  border-top: 1px solid #e5e7eb;
  margin-top: 36px;
  padding-top: 28px;
}

body.theme-white:not(.theme-admin) .case-work-details > h2 {
  font-size: clamp(22px, 2.4vw, 30px);
  margin: 0 0 24px;
}

body.theme-white:not(.theme-admin) .case-work-details > .case-content-stream {
  margin: 0;
  max-width: none;
}

body.theme-white:not(.theme-admin) .case-work-details-empty {
  color: #9ca3af;
  padding: 12px 0 28px;
}

@media (max-width: 720px) {
  body.theme-white:not(.theme-admin) .case-detail-header.case-hero,
  body.theme-white:not(.theme-admin) .case-work-gallery,
  body.theme-white:not(.theme-admin) .case-work-details {
    width: calc(100% - 28px);
  }

  body.theme-white:not(.theme-admin) .case-detail-header.case-hero {
    padding: 18px 0 14px;
  }

  body.theme-white:not(.theme-admin) .case-work-gallery-track {
    min-height: 72vw;
  }

  body.theme-white:not(.theme-admin) .case-work-gallery-arrow {
    height: 36px;
    width: 36px;
  }

  body.theme-white:not(.theme-admin) .case-work-gallery-arrow.prev { left: 10px; }
  body.theme-white:not(.theme-admin) .case-work-gallery-arrow.next { right: 10px; }
}

/* Work-detail-only compact information hierarchy. */
body.theme-white:not(.theme-admin) .case-detail-header.case-hero {
  padding: 18px 24px 12px;
}

body.theme-white:not(.theme-admin) .case-detail-back {
  font-size: 12px;
  padding: 6px 10px;
}

body.theme-white:not(.theme-admin) .case-detail-title {
  margin-top: 10px;
}

body.theme-white:not(.theme-admin) .case-detail-category {
  font-size: 12px;
  margin-bottom: 8px;
}

body.theme-white:not(.theme-admin) .case-detail-title-line {
  gap: 10px 14px;
}

body.theme-white:not(.theme-admin) .case-detail-title-line h1 {
  font-size: clamp(24px, 2.6vw, 32px);
}

body.theme-white:not(.theme-admin) .case-detail-price {
  font-size: clamp(15px, 1.4vw, 17px);
}

@media (max-width: 760px) {
  body.theme-white:not(.theme-admin) .case-detail-header.case-hero {
    padding: 16px 0 10px;
  }
}

body.theme-white:not(.theme-admin) .case-related-works {
  border-top: 1px solid rgba(229, 231, 235, 0.78);
  margin: 20px auto 32px;
  max-width: 1280px;
  padding-top: 24px;
  width: 100%;
}

body.theme-white:not(.theme-admin) .case-work-details > .case-content-stream {
  padding-bottom: 16px;
}

body.theme-white:not(.theme-admin) .case-related-head {
  align-items: end;
  margin-bottom: 18px;
  padding-right: 16px;
}

body.theme-white:not(.theme-admin) .case-related-works .detail-related-grid {
  display: grid;
  gap: 18px;
  grid-auto-columns: calc((100% - 18px) / 2);
  grid-auto-flow: column;
  grid-template-columns: none !important;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding-bottom: 6px;
  scroll-snap-type: inline proximity;
  scrollbar-width: thin;
}

body.theme-white:not(.theme-admin) .case-related-works .detail-related-card {
  scroll-snap-align: start;
}

/* Album-only category tree and mixed-media browser. */
body.theme-white:not(.theme-admin) .album-page .album-layout {
  align-items: start;
  box-sizing: border-box;
  gap: 14px;
  grid-template-columns: 200px minmax(0, 1fr);
  margin: 0;
  max-width: none;
  padding: 20px var(--public-layout-gutter) 40px;
  width: 100%;
}

body.theme-white:not(.theme-admin) .album-category-sidebar {
  border-color: rgba(229, 231, 235, 0.9);
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.045);
  padding: 12px;
  position: sticky;
  top: 88px;
  box-sizing: border-box;
  width: 200px;
}

body.theme-white:not(.theme-admin) .album-category-disclosure > summary {
  display: none;
}

body.theme-white:not(.theme-admin) .album-category-tree,
body.theme-white:not(.theme-admin) .album-category-group,
body.theme-white:not(.theme-admin) .album-category-group nav {
  display: grid;
}

body.theme-white:not(.theme-admin) .album-category-tree {
  gap: 18px;
}

body.theme-white:not(.theme-admin) .album-category-group {
  gap: 8px;
}

body.theme-white:not(.theme-admin) .album-category-group h2 {
  color: #1f2937;
  font-size: 15px;
  margin: 0;
  padding: 0 8px;
}

body.theme-white:not(.theme-admin) .album-category-group nav {
  gap: 4px;
}

body.theme-white:not(.theme-admin) .album-category-group a {
  align-items: center;
  border-radius: 10px;
  color: #667085;
  display: flex;
  font-size: 14px;
  justify-content: space-between;
  padding: 9px 10px;
}

body.theme-white:not(.theme-admin) .album-category-group a:hover,
body.theme-white:not(.theme-admin) .album-category-group a.active {
  background: #f3f4f6;
  color: #111827;
}

body.theme-white:not(.theme-admin) .album-category-group a small {
  color: #98a2b3;
  font-size: 12px;
}

@media (min-width: 1200px) {
  body.theme-white:not(.theme-admin) .case-related-works .detail-related-grid {
    grid-auto-columns: calc((100% - 54px) / 4);
  }
}

/* One responsive container for every public Header. */
body:not(.theme-admin) {
  --public-layout-gutter: clamp(16px, 3vw, 48px);
}

body:not(.theme-admin):has(.public-header-container) header.topbar {
  box-sizing: border-box;
  display: block;
  height: auto;
  min-height: 68px;
  padding: 0 !important;
  width: 100%;
}

body:not(.theme-admin) .public-header-container {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  min-height: 68px;
  min-width: 0;
  padding-inline: var(--public-layout-gutter);
  width: 100%;
}

body:not(.theme-admin) .public-header-container .brand {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body:not(.theme-admin) .public-header-container nav {
  align-items: center;
  display: flex;
  flex: 0 1 auto;
  gap: clamp(12px, 1.5vw, 20px);
  margin-left: auto;
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 760px) {
  body:not(.theme-admin) .public-header-container {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    min-height: 0;
    padding-block: 10px;
  }

  body:not(.theme-admin) .public-header-container .brand {
    flex: 0 1 auto;
    width: 100%;
  }

  body:not(.theme-admin) .public-header-container nav {
    gap: 14px;
    margin-left: 0;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
    white-space: nowrap;
    width: 100%;
  }

  body:not(.theme-admin) .public-header-container nav::-webkit-scrollbar {
    display: none;
  }

  body:not(.theme-admin) .public-header-container .public-user-menu,
  body:not(.theme-admin) .public-header-container nav > a {
    flex: 0 0 auto;
  }
}

/* Album media grid only: preserve source proportions across responsive columns. */
body.theme-white:not(.theme-admin) .album-page .album-media-grid {
  --album-column-count: 7;
  --album-column-gap: 14px;
  column-count: var(--album-column-count);
  column-gap: var(--album-column-gap);
  display: block !important;
  min-width: 0;
  position: relative;
  width: 100%;
}

body.theme-white:not(.theme-admin) .album-page .album-media-grid .album-image-card {
  break-inside: avoid;
  display: inline-block !important;
  height: auto !important;
  margin: 0 0 14px;
  width: 100%;
}

body.theme-white:not(.theme-admin) .album-page .album-media-grid.is-masonry-ready {
  column-count: initial;
}

body.theme-white:not(.theme-admin) .album-page .album-media-grid.is-masonry-ready .album-image-card {
  left: 0;
  margin: 0;
  position: absolute;
  top: 0;
}

body.theme-white:not(.theme-admin) .album-page .album-media-grid .album-image-card img,
body.theme-white:not(.theme-admin) .album-page .album-media-grid .album-image-card video {
  aspect-ratio: auto !important;
  height: auto !important;
  object-fit: contain !important;
  width: 100%;
}

body.theme-white:not(.theme-admin) .album-page .album-media-grid .album-video-badge {
  bottom: 9px;
  left: auto;
  right: 9px;
  top: auto;
}

body.theme-white:not(.theme-admin) .album-page .album-video-poster {
  display: block;
  width: 100%;
}

body.theme-white:not(.theme-admin) .album-page .album-video-play {
  align-items: center;
  background: rgba(17, 24, 39, 0.74);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 14px;
  height: 42px;
  justify-content: center;
  left: 50%;
  padding-left: 2px;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 42px;
  z-index: 3;
}

body:not(.theme-admin) .image-preview-work-actions {
  left: 72px;
  position: absolute;
  top: 22px;
  z-index: 12;
}

body:not(.theme-admin) .image-preview-work-actions[hidden],
body:not(.theme-admin) .image-preview-work-link[hidden],
body:not(.theme-admin) .image-preview-work-list[hidden] {
  display: none;
}

body:not(.theme-admin) .image-preview-work-link {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  color: #111827;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  min-height: 38px;
  padding: 8px 16px;
  text-decoration: none;
}

body:not(.theme-admin) .image-preview-work-list {
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 12px;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.22);
  display: grid;
  gap: 5px;
  margin-top: 8px;
  min-width: 210px;
  padding: 8px;
}

body:not(.theme-admin) .image-preview-work-list strong {
  color: #667085;
  font-size: 11px;
  padding: 6px 8px 4px;
}

body:not(.theme-admin) .image-preview-work-list a {
  border-radius: 8px;
  color: #111827;
  font-size: 13px;
  padding: 9px 10px;
  text-decoration: none;
}

body:not(.theme-admin) .image-preview-work-list a:hover {
  background: #eef2f6;
}

@media (max-width: 700px) {
  body:not(.theme-admin) .image-preview-work-actions {
    bottom: calc(18px + env(safe-area-inset-bottom));
    left: 50%;
    top: auto;
    transform: translateX(-50%);
  }

  body:not(.theme-admin) .image-preview-work-list {
    bottom: calc(100% + 8px);
    left: 50%;
    margin: 0;
    max-width: calc(100vw - 32px);
    position: absolute;
    transform: translateX(-50%);
  }
}

@media (max-width: 1799px) {
  body.theme-white:not(.theme-admin) .album-page .album-media-grid {
    --album-column-count: 6;
  }
}

@media (max-width: 1499px) {
  body.theme-white:not(.theme-admin) .album-page .album-media-grid {
    --album-column-count: 5;
  }
}

@media (max-width: 1099px) {
  body.theme-white:not(.theme-admin) .album-page .album-media-grid {
    --album-column-count: 3;
  }
}

@media (max-width: 700px) {
  body.theme-white:not(.theme-admin) .album-page .album-layout {
    grid-template-columns: minmax(0, 1fr);
    padding-inline: 12px;
  }

  body.theme-white:not(.theme-admin) .album-category-sidebar {
    position: static;
    width: auto;
  }

  body.theme-white:not(.theme-admin) .album-category-disclosure > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-size: 15px;
    font-weight: 750;
    justify-content: space-between;
    list-style: none;
    padding: 2px 4px;
  }

  body.theme-white:not(.theme-admin) .album-category-disclosure > summary::-webkit-details-marker {
    display: none;
  }

  body.theme-white:not(.theme-admin) .album-category-disclosure[open] > summary {
    margin-bottom: 12px;
  }

  body.theme-white:not(.theme-admin) .album-page .album-media-grid {
    --album-column-count: 2;
    --album-column-gap: 9px;
  }

  body.theme-white:not(.theme-admin) .album-page .album-media-grid .album-image-card {
    margin-bottom: 9px;
  }
}

/* Works list header and search alignment only. */
body.theme-admin .admin-works-header {
  align-items: center !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  margin-bottom: 0 !important;
  padding-bottom: 8px !important;
}

body.theme-admin .admin-works-header > .panel-head-actions {
  align-items: center;
  align-self: stretch;
  flex: 0 0 auto;
  flex-direction: row;
  justify-content: flex-end;
  width: auto;
}

body.theme-admin .admin-works-header > .panel-head-actions > * {
  align-items: center;
  display: inline-flex;
  justify-content: center;
}

body.theme-admin .admin-works-header .panel-head-actions > .button {
  font-size: 15px;
  min-height: 46px;
  padding-inline: 22px;
}

body.theme-admin .admin-works-toolbar {
  align-items: center;
  display: flex;
  gap: 24px;
  height: auto !important;
  justify-content: space-between;
  margin: 16px 0 12px !important;
  min-height: 0;
  padding: 0 !important;
  width: 100%;
}

body.theme-admin .admin-works-toolbar + .admin-work-table-wrap {
  margin-top: 0 !important;
}

body.theme-admin .admin-works-toolbar > .admin-works-search,
body.theme-admin .admin-works-toolbar > .admin-works-count {
  align-self: center;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  position: static;
  transform: none;
}

body.theme-admin .admin-works-search {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  gap: 12px;
  min-width: 0;
  width: auto !important;
}

body.theme-admin .admin-works-search > input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}

body.theme-admin .admin-works-search > button,
body.theme-admin .admin-works-count {
  flex: 0 0 auto;
}

body.theme-admin .admin-works-count {
  align-items: center;
  display: inline-flex;
  width: auto !important;
}

body.theme-admin .admin-work-table {
  min-width: 1180px;
  table-layout: fixed;
  width: 100%;
}

body.theme-admin .admin-work-table .work-col-cover { width: 6%; }
body.theme-admin .admin-work-table .work-col-name { width: 14%; }
body.theme-admin .admin-work-table .work-col-category { width: 11%; }
body.theme-admin .admin-work-table .work-col-tags { width: 14%; }
body.theme-admin .admin-work-table .work-col-count { width: 6%; }
body.theme-admin .admin-work-table .work-col-price { width: 8%; }
body.theme-admin .admin-work-table .work-col-updated { width: 13%; }
body.theme-admin .admin-work-table .work-col-status { width: 9%; }
body.theme-admin .admin-work-table .work-col-actions { width: 13%; }

body.theme-admin .admin-work-sort {
  align-items: center;
  color: inherit;
  display: inline-flex;
  gap: 5px;
  justify-content: center;
  text-decoration: none;
  white-space: nowrap;
}

body.theme-admin .admin-work-sort .admin-sort-carets {
  align-items: center;
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  justify-content: center;
  width: 8px;
}

body.theme-admin .admin-work-sort .admin-sort-carets i {
  border-left: 3.5px solid transparent;
  border-right: 3.5px solid transparent;
  display: block;
  height: 0;
  width: 0;
}

body.theme-admin .admin-work-sort .sort-caret-up {
  border-bottom: 4px solid #b8bec8;
}

body.theme-admin .admin-work-sort .sort-caret-down {
  border-top: 4px solid #b8bec8;
}

body.theme-admin .admin-work-sort.active {
  color: #111827;
}

body.theme-admin .admin-work-sort.is-asc .sort-caret-up {
  border-bottom-color: #111827;
}

body.theme-admin .admin-work-sort.is-desc .sort-caret-down {
  border-top-color: #111827;
}

body.theme-admin .admin-work-price {
  font-weight: 750;
  white-space: nowrap;
}

@media (max-width: 700px) {
  body.theme-admin .admin-works-search {
    display: flex;
  }
}

/* Work-create page layout only. */
body.theme-admin .work-create-main {
  align-items: stretch;
  box-sizing: border-box;
  display: grid;
  gap: 20px;
  margin: 0;
  max-width: none;
  min-width: 0;
  width: 100%;
}

body.theme-admin .work-create-main > .work-create-grid > .work-create-head,
body.theme-admin .work-create-main > .work-create-grid {
  box-sizing: border-box;
  max-width: none;
  min-width: 0;
  width: 100%;
}

body.theme-admin .work-create-main .work-info-heading {
  align-items: center;
}

body.theme-admin .work-create-main .work-info-card-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  width: 100%;
}

body.theme-admin .work-create-main .work-info-card-header h2 {
  margin: 0;
}

body.theme-admin .work-create-main .work-create-head {
  align-items: center !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap;
  justify-content: space-between !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.theme-admin .work-create-main .work-create-head > .text-button {
  flex: 0 0 auto;
}

body.theme-admin .work-create-main .work-create-head > h1 {
  flex: 0 0 auto;
  margin-bottom: 0 !important;
  margin-left: 0;
  margin-top: 0 !important;
}

body.theme-admin .work-current-status-label {
  align-items: center;
  color: #667085;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 14px;
  gap: 4px;
  min-height: 24px;
}

body.theme-admin .work-current-status-label strong {
  color: #111827;
  font-weight: 750;
}

body.theme-admin .work-create-main .work-form-status {
  color: #667085;
  font-size: 14px;
}

body.theme-admin .work-create-main .work-form-status strong {
  color: #111827;
  font-weight: 750;
}

body.theme-admin .work-edit-header-tools {
  align-items: center;
  display: flex;
  gap: 18px;
}

body.theme-admin .work-create-main .work-info-form {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr);
}

body.theme-admin .work-create-main .work-create-grid > .work-create-panel:first-of-type {
  padding-bottom: 20px;
  padding-top: 16px;
}

body.theme-admin .work-create-main .work-create-grid > .work-create-panel:first-of-type .work-info-card-header {
  margin-bottom: 12px;
}

body.theme-admin .work-create-main .work-code-field {
  max-width: none;
}

body.theme-admin .work-create-main .work-basic-fields {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(180px, 0.75fr) minmax(280px, 1.15fr) minmax(220px, 1fr);
}

body.theme-admin .work-create-main .work-basic-fields > label,
body.theme-admin .work-create-main .work-price-field,
body.theme-admin .work-create-main .work-sort-field,
body.theme-admin .work-create-main .work-display-permission,
body.theme-admin .work-create-main .work-category-field,
body.theme-admin .work-create-main .work-description-editor,
body.theme-admin .work-create-main .work-description-cover,
body.theme-admin .work-create-main .work-description-display,
body.theme-admin .work-create-main .work-description-media {
  display: grid;
  gap: 8px;
  min-width: 0;
}

body.theme-admin .work-create-main .work-price-permission-fields {
  align-items: stretch;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(180px, 0.75fr) minmax(280px, 1.15fr) minmax(220px, 1fr);
}

body.theme-admin .work-create-main .work-price-field,
body.theme-admin .work-create-main .work-sort-field,
body.theme-admin .work-create-main .work-display-permission {
  align-content: start;
}

body.theme-admin .work-create-main .work-display-permission {
  gap: 8px;
}

body.theme-admin .work-create-main .work-display-permission-options {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}

body.theme-admin .work-create-main .work-display-permission-options label {
  align-items: center;
  background: transparent;
  border: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-flex;
  gap: 8px;
  padding: 0;
}

body.theme-admin .work-create-main .work-display-permission-options input {
  -webkit-appearance: auto;
  appearance: auto;
  accent-color: #111827;
  background: transparent;
  border: 0;
  box-shadow: none;
  height: auto;
  margin: 0;
  padding: 0;
  width: auto;
}

body.theme-admin .work-create-main .work-display-permission-options input:checked,
body.theme-admin .work-create-main .work-display-permission-options input:focus,
body.theme-admin .work-create-main .work-display-permission-options input:focus-visible {
  background: transparent;
  border: 0;
  box-shadow: none;
  outline: none;
}

body.theme-admin .work-create-main .work-display-permission-options input {
  -webkit-appearance: none;
  appearance: none;
  background: #fff;
  border: 1.5px solid #98a2b3;
  border-radius: 50%;
  box-sizing: border-box;
  flex: 0 0 18px;
  height: 18px !important;
  max-height: 18px;
  max-width: 18px;
  min-height: 18px !important;
  min-width: 18px;
  width: 18px !important;
}

body.theme-admin .work-create-main .work-display-permission-options input:checked {
  background: radial-gradient(circle, #111827 0 4px, #fff 4.5px);
  border-color: #111827;
}

body.theme-admin .work-create-main .work-category-field .work-category-pills {
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
}

body.theme-admin .work-primary-category-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.theme-admin .work-category-title-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

body.theme-admin .work-inline-category-create {
  min-height: 36px;
  padding: 7px 12px;
  white-space: nowrap;
}

body.theme-admin .work-inline-category-create:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

body.theme-admin .work-primary-category-pills button {
  background: #fff;
  border: 1px solid #e2e5eb;
  border-radius: 12px;
  color: #111827;
  cursor: pointer;
  min-height: 52px;
  min-width: 112px;
  padding: 10px 16px;
  transition: background 0.2s ease, border-color 0.2s ease;
}

body.theme-admin .work-primary-category-pills button.active {
  background: linear-gradient(135deg, #f7eff8, #fff3f7);
  border-color: #d8bfd4;
  font-weight: 700;
}

body.theme-admin .work-secondary-category-row {
  align-items: center;
  display: flex;
  gap: 14px;
}

body.theme-admin .work-inline-category-modal[hidden] {
  display: none;
}

body.theme-admin .work-inline-category-modal {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 20px;
  position: fixed;
  z-index: 2400;
}

body.theme-admin .work-inline-category-backdrop {
  background: rgba(17, 24, 39, 0.36);
  border: 0;
  inset: 0;
  padding: 0;
  position: absolute;
}

body.theme-admin .work-inline-category-dialog {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.2);
  display: grid;
  gap: 16px;
  max-width: 440px;
  padding: 20px;
  position: relative;
  width: min(100%, 440px);
  z-index: 1;
}

body.theme-admin .work-inline-category-dialog-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

body.theme-admin .work-inline-category-dialog-head h3 {
  margin: 0;
}

body.work-inline-category-modal-open {
  overflow: hidden;
}

@media (max-width: 720px) {
  body.theme-admin .work-category-title-row,
  body.theme-admin .work-secondary-category-row {
    align-items: stretch;
    flex-direction: column;
  }

  body.theme-admin .work-inline-category-create {
    width: 100%;
  }
}

body.theme-admin .work-secondary-category-row > span {
  flex: 0 0 auto;
  font-weight: 650;
}

body.theme-admin .work-secondary-category-dropdown {
  max-width: 320px;
  position: relative;
  width: 100%;
  z-index: 120;
}

body.theme-admin .work-secondary-category-dropdown .work-asset-type-trigger {
  align-items: center;
  appearance: none;
  background: #fff;
  border: 1px solid #dfe3e9;
  border-radius: 999px;
  color: #111;
  display: flex;
  font-size: 15px;
  font-weight: 650;
  height: 46px;
  justify-content: center;
  padding: 0 38px;
  position: relative;
  width: 100%;
}

body.theme-admin .work-secondary-category-dropdown .work-asset-type-trigger::after {
  border-bottom: 1.5px solid #6b7280;
  border-right: 1.5px solid #6b7280;
  content: "";
  height: 7px;
  position: absolute;
  right: 17px;
  top: 15px;
  transform: rotate(45deg);
  transition: transform 160ms ease;
  width: 7px;
}

body.theme-admin .work-secondary-category-dropdown.open .work-asset-type-trigger::after {
  top: 19px;
  transform: rotate(225deg);
}

body.theme-admin .work-secondary-category-dropdown .work-asset-type-menu {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.14);
  left: 0;
  max-height: 280px;
  overflow-y: auto;
  padding: 5px;
  position: absolute;
  top: calc(100% + 6px);
  width: 100%;
  z-index: 1000;
}

body.theme-admin .work-secondary-category-dropdown .work-asset-type-menu[hidden] {
  display: none;
}

body.theme-admin .work-secondary-category-dropdown .work-asset-type-menu button {
  background: #fff;
  border: 0;
  border-radius: 9px;
  color: #111;
  display: block;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  height: 40px;
  padding: 0 8px;
  text-align: center;
  width: 100%;
}

body.theme-admin .work-secondary-category-dropdown .work-asset-type-menu button:hover,
body.theme-admin .work-secondary-category-dropdown .work-asset-type-menu button:focus-visible {
  background: #f1f1f1;
  color: #111;
  outline: none;
}

body.theme-admin .work-secondary-category-dropdown .work-asset-type-menu button.selected {
  background: #111;
  color: #fff;
}

body.theme-admin .work-create-main .work-category-field .work-category-pills button {
  border-radius: 12px;
  min-height: 64px;
  padding: 10px 12px;
}

body.theme-admin .work-create-main .work-description-layout {
  align-items: start;
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.theme-admin .work-create-main .work-description-cover,
body.theme-admin .work-create-main .work-description-display,
body.theme-admin .work-create-main .work-description-editor {
  align-self: start;
  align-content: initial;
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 320px;
}

body.theme-admin .work-create-main .work-description-cover > *,
body.theme-admin .work-create-main .work-description-display > *,
body.theme-admin .work-create-main .work-description-editor > * {
  flex: 0 0 auto;
}

body.theme-admin .work-create-main [data-current-cover][hidden],
body.theme-admin .work-create-main [data-cover-upload-replacement][hidden],
body.theme-admin .work-create-main [data-display-upload-empty][hidden],
body.theme-admin .work-create-main [data-open-display-upload][hidden],
body.theme-admin .work-create-main [data-existing-display-list][hidden],
body.theme-admin .work-create-main [data-existing-display-item][hidden] {
  display: none !important;
}

body.theme-admin .work-create-main .work-description-cover > small,
body.theme-admin .work-create-main .work-description-display > small,
body.theme-admin .work-create-main .work-description-editor > small {
  margin-top: auto;
  padding-top: 8px;
}

body.theme-admin .work-create-main .work-existing-cover {
  display: grid;
  gap: 10px;
}

body.theme-admin .work-create-main .work-existing-cover img {
  aspect-ratio: 16 / 10;
  border-radius: 12px;
  height: auto;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .work-create-main .work-existing-cover label,
body.theme-admin .work-create-main .work-add-display-button {
  cursor: pointer;
  justify-self: start;
}

body.theme-admin .work-create-main .work-existing-cover input,
body.theme-admin .work-create-main .work-add-display-button input {
  display: none;
}

body.theme-admin .work-create-main .work-existing-display-list {
  display: grid;
  gap: 8px;
}

body.theme-admin .work-create-main .work-existing-display-item {
  align-items: center;
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  cursor: grab;
  display: grid;
  gap: 8px;
  grid-template-columns: 22px 58px minmax(0, 1fr) auto;
  padding: 7px;
}

body.theme-admin .work-create-main .work-existing-display-item img,
body.theme-admin .work-create-main .work-existing-display-item video {
  border-radius: 7px;
  height: 42px;
  object-fit: cover;
  width: 58px;
}

body.theme-admin .work-create-main .work-existing-display-item > span:not(.work-existing-display-index) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .work-create-main .work-existing-display-index {
  color: #667085;
  text-align: center;
}

body.theme-admin .work-create-main .work-existing-display-item > button {
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: 7px;
  color: #344054;
  cursor: pointer;
  min-height: 30px;
  padding: 4px 9px;
}

body.theme-admin .work-create-main .work-existing-display-item.is-dragging {
  opacity: 0.5;
}

body.theme-admin .work-create-main .work-add-display-button {
  margin-top: 10px;
}

body.theme-admin .work-create-main .work-description-editor .work-rich-toolbar {
  align-self: start;
  position: relative;
  top: auto;
}

body.theme-admin .work-create-main .work-description-editor textarea {
  height: 100%;
  min-height: 220px;
  resize: vertical;
}

body.theme-admin .work-create-main .work-rich-toolbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

body.theme-admin .work-create-main .work-rich-toolbar button,
body.theme-admin .work-create-main .work-rich-image-button,
body.theme-admin .work-create-main .work-rich-color-button {
  align-items: center;
  background: #fff;
  border: 1px solid #d9dde5;
  border-radius: 8px;
  color: #111827;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 12px;
  justify-content: center;
  min-height: 30px;
  padding: 5px 9px;
}

body.theme-admin .work-create-main .work-rich-image-button input {
  display: none;
}

body.theme-admin .work-create-main .work-rich-color-button input {
  border: 0;
  height: 18px;
  margin-left: 5px;
  padding: 0;
  width: 22px;
}

body.theme-admin .work-create-main .work-rich-popover-anchor {
  position: relative;
}

body.theme-admin .work-create-main .work-divider-picker,
body.theme-admin .work-create-main .work-emoji-picker,
body.theme-admin .work-create-main .work-color-picker {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.16);
  left: 0;
  position: absolute;
  top: calc(100% + 7px);
  z-index: 1400;
}

body.theme-admin .work-create-main .work-divider-picker[hidden],
body.theme-admin .work-create-main .work-emoji-picker[hidden],
body.theme-admin .work-create-main .work-color-picker[hidden] {
  display: none;
}

body.theme-admin .work-create-main .work-divider-picker {
  display: grid;
  gap: 3px;
  padding: 6px;
  width: 210px;
}

body.theme-admin .work-create-main .work-divider-picker button {
  align-items: center;
  background: #fff;
  border: 0;
  display: grid;
  font-size: 12px;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) 34px;
  justify-content: stretch;
  min-height: 38px;
  padding: 6px 8px;
  text-align: right;
  width: 100%;
}

body.theme-admin .work-create-main .work-divider-picker button:hover {
  background: #f5f5f6;
}

.divider-preview {
  border-top: 1px solid #98a2b3;
  display: block;
  width: 100%;
}

.divider-preview.bold { border-top: 3px solid #667085; }
.divider-preview.dashed { border-top: 2px dashed #98a2b3; }
.divider-preview.dotted { border-top: 2px dotted #98a2b3; }
.divider-preview.double { border-top: 4px double #98a2b3; }
.divider-preview.decorative { border: 0; color: #667085; text-align: center; }

body.theme-admin .work-create-main .work-color-picker {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(5, 30px);
  padding: 10px;
  width: max-content;
}

body.theme-admin .work-create-main .work-color-picker > button {
  background: var(--rich-color);
  border: 1px solid #d0d5dd;
  border-radius: 50%;
  height: 28px;
  min-height: 28px;
  padding: 0;
  width: 28px;
}

body.theme-admin .work-create-main .work-color-picker > label {
  align-items: center;
  display: flex;
  font-size: 12px;
  gap: 6px;
  grid-column: 1 / -1;
}

body.theme-admin .work-create-main .work-color-picker input {
  height: 28px;
  padding: 0;
  width: 42px;
}

body.theme-admin .work-create-main .work-emoji-picker {
  box-sizing: border-box;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
  padding: 9px;
  width: min(360px, 82vw);
}

body.theme-admin .work-create-main .work-emoji-search input {
  border: 1px solid #e4e7ec;
  border-radius: 10px;
  box-sizing: border-box;
  height: 38px;
  padding: 0 11px;
  width: 100%;
}

body.theme-admin .work-create-main .work-emoji-categories {
  display: flex;
  gap: 2px;
  overflow-x: auto;
  padding: 7px 0;
}

body.theme-admin .work-create-main .work-emoji-categories button,
body.theme-admin .work-create-main .work-emoji-grid button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 8px;
  display: inline-flex;
  font-size: 20px;
  height: 34px;
  justify-content: center;
  min-height: 34px;
  padding: 0;
  width: 34px;
}

body.theme-admin .work-create-main .work-emoji-categories button:hover,
body.theme-admin .work-create-main .work-emoji-categories button.active,
body.theme-admin .work-create-main .work-emoji-grid button:hover {
  background: #f0f1f3;
}

body.theme-admin .work-create-main .work-emoji-grid {
  display: grid;
  gap: 2px;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  max-height: 250px;
  min-height: 190px;
  overflow-y: auto;
}

body.theme-admin .work-create-main .work-rich-editor {
  background: #fff;
  border: 1px solid #d9dde5;
  border-radius: 12px;
  box-sizing: border-box;
  line-height: 1.65;
  min-height: 210px;
  overflow: visible;
  padding: 12px;
}

body.theme-admin .work-create-main .work-rich-editor:empty::before {
  color: #98a2b3;
  content: attr(data-placeholder);
  pointer-events: none;
}

body.theme-admin .work-create-main .work-rich-editor img {
  border-radius: 8px;
  display: block;
  height: auto;
  margin: 10px 0;
  max-width: 100%;
}

body.rich-image-modal-open {
  overflow: hidden;
}

body.theme-admin .work-create-main .work-rich-image-modal {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: fixed;
  z-index: 3000;
}

body.theme-admin .work-create-main .work-rich-image-modal[hidden] {
  display: none;
}

body.theme-admin .work-create-main .work-rich-image-backdrop {
  background: rgba(15, 23, 42, 0.48);
  border: 0;
  inset: 0;
  padding: 0;
  position: absolute;
  width: 100%;
}

body.theme-admin .work-create-main .work-rich-image-dialog {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 18px;
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.24);
  box-sizing: border-box;
  display: grid;
  gap: 16px;
  max-height: min(720px, calc(100vh - 48px));
  max-width: 760px;
  overflow: auto;
  padding: 20px;
  position: relative;
  width: 100%;
  z-index: 1;
}

body.theme-admin .work-create-main .work-rich-image-dialog-head,
body.theme-admin .work-create-main .work-rich-material-images-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

body.theme-admin .work-create-main .work-rich-image-dialog-head h3 {
  margin: 0;
}

body.theme-admin .work-create-main .work-rich-image-dialog-head button {
  align-items: center;
  background: #f2f4f7;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: inline-flex;
  font-size: 22px;
  height: 34px;
  justify-content: center;
  padding: 0;
  width: 34px;
}

body.theme-admin .work-create-main .work-rich-image-dropzone {
  align-content: center;
  background: #fafbfc;
  border: 1.5px dashed #cfd4dc;
  border-radius: 14px;
  cursor: pointer;
  display: grid;
  gap: 7px;
  min-height: 140px;
  padding: 20px;
  text-align: center;
}

body.theme-admin .work-create-main .work-rich-image-dropzone.dragging {
  background: #f4f0ff;
  border-color: #9b8ab9;
}

body.theme-admin .work-create-main .work-rich-image-dropzone input {
  display: none;
}

body.theme-admin .work-create-main .work-rich-material-images {
  display: grid;
  gap: 10px;
}

body.theme-admin .work-create-main .work-rich-material-images-head span {
  color: #667085;
  font-size: 13px;
}

body.theme-admin .work-create-main .work-rich-material-image-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  max-height: 300px;
  overflow-y: auto;
}

body.theme-admin .work-create-main .work-rich-material-image-grid button {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 11px;
  cursor: pointer;
  display: grid;
  gap: 6px;
  min-width: 0;
  overflow: hidden;
  padding: 6px;
}

body.theme-admin .work-create-main .work-rich-material-image-grid img {
  aspect-ratio: 1;
  border-radius: 7px;
  height: auto;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .work-create-main .work-rich-material-image-grid span {
  font-size: 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 700px) {
  body.theme-admin .work-create-main .work-rich-image-modal { padding: 12px; }
  body.theme-admin .work-create-main .work-rich-material-image-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.work-rich-divider {
  margin: 18px 0;
  min-height: 7px;
  position: relative;
}

.work-rich-divider[data-divider-style="normal"] { border-top: 1px solid #c7cbd1; }
.work-rich-divider[data-divider-style="bold"] { border-top: 3px solid #9198a1; }
.work-rich-divider[data-divider-style="dashed"] { border-top: 2px dashed #aab0b8; }
.work-rich-divider[data-divider-style="dotted"] { border-top: 2px dotted #aab0b8; }
.work-rich-divider[data-divider-style="double"] { border-top: 4px double #aab0b8; }
.work-rich-divider[data-divider-style="decorative"]::before {
  color: #8b919a;
  content: "✨ ───────── ✨";
  display: block;
  letter-spacing: 2px;
  text-align: center;
}

body.theme-white:not(.theme-admin) .case-content-text .work-rich-divider {
  margin: 28px 0;
}

body.theme-admin .work-create-main .work-publish-settings {
  align-items: center;
  border: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 24px;
  margin: 0;
  padding: 2px 0 0;
}

body.theme-admin .work-create-main .work-publish-settings legend {
  font-weight: 700;
  margin-bottom: 10px;
  width: 100%;
}

body.theme-admin .work-create-main .work-publish-settings label {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

body.theme-admin .work-create-main .work-publish-settings input:disabled + span {
  color: #98a2b3;
}

body.theme-admin .work-create-main .work-publish-settings small {
  color: #667085;
  flex: 1 0 100%;
  line-height: 1.5;
}

body.theme-admin .work-create-main .work-publish-settings.is-restricted {
  opacity: 0.78;
}

body.publish-confirm-modal-open {
  overflow: hidden;
}

body.theme-admin .work-create-main .work-publish-confirm-modal {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: fixed;
  z-index: 3100;
}

body.theme-admin .work-create-main .work-publish-confirm-modal[hidden] {
  display: none;
}

body.theme-admin .work-create-main .work-publish-confirm-backdrop {
  background: rgba(15, 23, 42, 0.48);
  border: 0;
  inset: 0;
  padding: 0;
  position: absolute;
  width: 100%;
}

body.theme-admin .work-create-main .work-publish-confirm-dialog {
  background: #fff;
  border: 1px solid #e4e7ec;
  border-radius: 18px;
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.24);
  box-sizing: border-box;
  display: grid;
  gap: 20px;
  max-width: 620px;
  padding: 22px;
  position: relative;
  width: 100%;
  z-index: 1;
}

body.theme-admin .work-create-main .work-publish-confirm-head,
body.theme-admin .work-create-main .work-publish-confirm-actions {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

body.theme-admin .work-create-main .work-publish-confirm-head h2 {
  margin: 3px 0 0;
}

body.theme-admin .work-create-main .work-publish-confirm-head > button {
  align-items: center;
  background: #f2f4f7;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: inline-flex;
  font-size: 22px;
  height: 34px;
  justify-content: center;
  padding: 0;
  width: 34px;
}

body.theme-admin .work-create-main .work-publish-access,
body.theme-admin .work-create-main .work-publish-locations {
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  margin: 0;
  padding: 16px;
}

body.theme-admin .work-create-main .work-publish-access legend,
body.theme-admin .work-create-main .work-publish-locations legend {
  font-weight: 750;
  padding: 0 6px;
}

body.theme-admin .work-create-main .work-publish-access label,
body.theme-admin .work-create-main .work-publish-locations label {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

body.theme-admin .work-create-main .work-publish-access input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  background: #fff;
  border: 1.5px solid #98a2b3;
  border-radius: 50%;
  box-sizing: border-box;
  flex: 0 0 18px;
  height: 18px !important;
  margin: 0;
  min-height: 18px !important;
  padding: 0;
  width: 18px !important;
}

body.theme-admin .work-create-main .work-publish-access input[type="radio"]:checked {
  background: radial-gradient(circle, #111827 0 4px, #fff 4.5px);
  border-color: #111827;
  box-shadow: none;
}

body.theme-admin .work-create-main .work-publish-locations small {
  color: #667085;
  flex: 1 0 100%;
}

body.theme-admin .work-create-main .work-publish-confirm-actions {
  gap: 12px;
  justify-content: flex-end;
}

@media (max-width: 640px) {
  body.theme-admin .work-create-main .work-publish-confirm-modal { padding: 12px; }
  body.theme-admin .work-create-main .work-publish-access,
  body.theme-admin .work-create-main .work-publish-locations { flex-direction: column; }
}

body.theme-admin .work-edit-meta-fields {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.theme-admin .work-edit-meta-fields > label,
body.theme-admin .work-edit-meta-fields > .work-display-permission {
  display: grid;
  gap: 8px;
  min-width: 0;
}

body.theme-admin .work-edit-meta-fields .work-display-permission-options {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
}

body.theme-admin .work-edit-meta-fields .work-display-permission-options label {
  align-items: center;
  background: transparent;
  border: 0;
  box-shadow: none;
  display: inline-flex;
  gap: 7px;
  padding: 0;
}

body.theme-admin .work-edit-meta-fields .work-display-permission-options input {
  -webkit-appearance: auto;
  appearance: auto;
  accent-color: #111827;
  background: transparent;
  border: 0;
  box-shadow: none;
  height: auto;
  margin: 0;
  padding: 0;
  width: auto;
}

body.theme-admin .work-upload-form .work-publish-settings {
  align-items: center;
  border: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 24px;
  margin: 0;
  padding: 0;
}

body.theme-admin .work-upload-form .work-publish-settings legend {
  font-weight: 700;
  margin-bottom: 10px;
  width: 100%;
}

body.theme-admin .work-upload-form .work-publish-settings input:disabled + span {
  color: #98a2b3;
}

body.theme-admin .work-upload-form .work-publish-settings small {
  color: #667085;
  flex: 1 0 100%;
}

@media (max-width: 760px) {
  body.theme-admin .work-edit-meta-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}

body.theme-admin .work-create-main .work-asset-selector .work-select-asset.is-selected::after {
  background: #111827;
  border-radius: 999px;
  color: #fff;
  content: "已选择";
  font-size: 12px;
  padding: 5px 9px;
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 2;
}

body.theme-admin .work-create-main .work-asset-selector .work-select-asset {
  position: relative;
}

body.theme-admin .work-create-main .work-description-editor,
body.theme-admin .work-create-main .work-description-cover,
body.theme-admin .work-create-main .work-description-display,
body.theme-admin .work-create-main .work-description-media {
  background: #f8f8fa;
  border: 1px solid #e7eaf0;
  border-radius: 18px;
  box-sizing: border-box;
  padding: 14px;
}

body.theme-admin .work-create-main .work-description-media,
body.theme-admin .work-create-main .work-description-display {
  grid-template-rows: auto minmax(0, 1fr) auto;
  margin: 0;
}

body.theme-admin .work-create-main .work-description-editor {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

body.theme-admin .work-create-main .work-description-cover {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

body.theme-admin .work-create-main .work-description-cover .unified-upload,
body.theme-admin .work-create-main .work-description-cover .uploader-dropzone {
  height: 100%;
}

body.theme-admin .work-create-main .work-description-cover .unified-upload {
  box-sizing: border-box;
  grid-template-rows: minmax(0, 1fr) auto;
  margin-top: 0;
  min-height: 220px;
  padding: 8px;
}

body.theme-admin .work-create-main .work-description-cover .uploader-dropzone {
  box-sizing: border-box;
  min-height: 204px;
  padding-block: 12px;
}

body.theme-admin .work-create-main .work-description-cover .uploader-list:empty {
  display: none;
  margin: 0;
}

body.theme-admin .work-create-main .work-description-cover .has-cover-preview .upload-row {
  grid-template-columns: minmax(0, 1fr);
  min-height: 150px;
  position: relative;
}

body.theme-admin .work-create-main .work-description-cover .has-cover-preview .upload-preview,
body.theme-admin .work-create-main .work-description-cover .has-cover-preview .upload-preview img {
  height: 150px;
  width: 100%;
}

body.theme-admin .work-create-main .work-description-cover .has-cover-preview .upload-preview img {
  border-radius: 10px;
  object-fit: cover;
}

body.theme-admin .work-create-main .work-description-cover .has-cover-preview .upload-row > :not(.upload-preview) {
  display: none;
}

body.theme-admin .work-create-main .cover-upload-actions {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 8px;
}

body.theme-admin .work-create-main .cover-upload-actions button {
  background: #fff;
  border: 1px solid #d9dde5;
  border-radius: 8px;
  color: #111827;
  cursor: pointer;
  min-height: 32px;
  padding: 5px 12px;
}

body.theme-admin .work-create-main .work-description-editor small,
body.theme-admin .work-create-main .work-description-cover small,
body.theme-admin .work-create-main .work-description-display small,
body.theme-admin .work-create-main .work-description-media small {
  color: #667085;
  line-height: 1.5;
}

body.theme-admin .work-create-main .work-description-media .unified-upload,
body.theme-admin .work-create-main .work-description-media .uploader-dropzone,
body.theme-admin .work-create-main .work-description-display .unified-upload,
body.theme-admin .work-create-main .work-description-display .uploader-dropzone {
  height: 100%;
}

body.theme-admin .work-create-main .work-description-media .unified-upload,
body.theme-admin .work-create-main .work-description-display .unified-upload {
  box-sizing: border-box;
  grid-template-rows: minmax(0, 1fr) auto;
  margin-top: 0;
  min-height: 220px;
  padding: 8px;
}

body.theme-admin .work-create-main .work-description-media .uploader-dropzone,
body.theme-admin .work-create-main .work-description-display .uploader-dropzone {
  box-sizing: border-box;
  min-height: 204px;
  padding-block: 12px;
}

body.theme-admin .work-create-main .work-description-media .uploader-list:empty,
body.theme-admin .work-create-main .work-description-display .uploader-list:empty {
  display: none;
  margin: 0;
}

/* Work content cards share one baseline, but grow independently with content. */
body.theme-admin .work-create-main .work-description-layout {
  align-items: start;
  grid-auto-rows: auto;
}

body.theme-admin .work-create-main .work-description-layout > .work-description-cover,
body.theme-admin .work-create-main .work-description-layout > .work-description-display,
body.theme-admin .work-create-main .work-description-layout > .work-description-editor {
  align-self: start;
  background: #f8f8fa;
  border: 1px solid #e7eaf0;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(17, 24, 39, 0.04);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: auto;
  max-height: none;
  min-height: 360px;
  padding: 14px;
  width: 100%;
}

body.theme-admin .work-create-main .work-description-layout > div > .field-title {
  color: #344054;
  font-family: inherit;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.5;
}

body.theme-admin .work-create-main .work-description-cover > [data-cover-upload-replacement],
body.theme-admin .work-create-main .work-description-display > [data-display-upload-empty] {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}

body.theme-admin .work-create-main .work-description-cover > [data-cover-upload-replacement] > .unified-upload,
body.theme-admin .work-create-main .work-description-display > [data-display-upload-empty] > .unified-upload {
  align-self: stretch;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}

body.theme-admin .work-create-main .work-description-editor > .work-rich-editor {
  flex: 1 0 auto;
}

body.theme-admin .work-create-main [data-sortable-upload] [data-sortable-upload-row] {
  cursor: grab;
}

body.theme-admin .work-create-main [data-sortable-upload] [data-sortable-upload-row].dragging {
  opacity: 0.45;
}

body.theme-admin .work-create-main .sortable-upload-remove {
  background: #fff;
  border: 1px solid #d9dde5;
  border-radius: 7px;
  color: #475467;
  cursor: pointer;
  font-size: 12px;
  min-height: 30px;
  padding: 4px 9px;
}

.tea-dialog-open {
  overflow: hidden;
}

.tea-dialog-overlay {
  align-items: center;
  background: rgba(17, 24, 39, 0.38);
  display: flex;
  inset: 0;
  justify-content: center;
  opacity: 0;
  padding: 24px;
  position: fixed;
  transition: opacity 0.2s ease;
  z-index: 10000;
}

.tea-dialog-overlay[hidden] {
  display: none;
}

.tea-dialog-overlay.is-open {
  opacity: 1;
}

.tea-dialog {
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 20px;
  box-shadow: 0 24px 64px rgba(17, 24, 39, 0.2);
  box-sizing: border-box;
  max-width: 440px;
  padding: 28px;
  text-align: center;
  transform: translateY(8px) scale(0.98);
  transition: transform 0.2s ease;
  width: min(100%, 440px);
}

.tea-dialog-overlay.is-open .tea-dialog {
  transform: translateY(0) scale(1);
}

.tea-dialog-mark {
  align-items: center;
  background: #111827;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  height: 38px;
  justify-content: center;
  margin-bottom: 14px;
  width: 38px;
}

.tea-dialog h2 {
  color: #111827;
  font-size: 20px;
  margin: 0;
}

.tea-dialog p {
  color: #667085;
  font-size: 14px;
  line-height: 1.7;
  margin: 12px 0 22px;
  white-space: pre-line;
}

.tea-dialog-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
}

.tea-dialog-actions .button {
  min-height: 42px;
  min-width: 112px;
}

@media (max-width: 520px) {
  .tea-dialog-overlay {
    padding: 16px;
  }

  .tea-dialog {
    border-radius: 16px;
    padding: 24px 18px 20px;
  }

  .tea-dialog-actions .button {
    flex: 1 1 0;
    min-width: 0;
  }
}

@media (max-width: 1100px) {
  body.theme-admin .work-create-main .work-basic-fields {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  body.theme-admin .work-create-main .work-price-permission-fields {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  body.theme-admin .work-create-main .work-price-permission-spacer {
    display: none;
  }

  body.theme-admin .work-create-main .work-basic-fields > :last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  body.theme-admin .work-create-main .work-info-heading {
    align-items: stretch;
    flex-direction: column;
  }

  body.theme-admin .work-create-main .work-basic-fields,
  body.theme-admin .work-create-main .work-price-permission-fields,
  body.theme-admin .work-create-main .work-description-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .work-create-main .work-basic-fields > :last-child {
    grid-column: auto;
  }
}

/* Admin dashboard title row only. */
body.theme-admin .admin-dashboard-header {
  align-items: center !important;
  box-sizing: border-box;
  display: flex !important;
  flex-flow: row nowrap !important;
  gap: 20px;
  justify-content: space-between !important;
  max-width: 100%;
  padding-inline: 0 !important;
  width: 100%;
}

body.theme-admin .admin-dashboard-header > div:first-child {
  min-width: 0;
}

body.theme-admin .admin-dashboard-header h1 {
  margin: 0 !important;
}

body.theme-admin .admin-dashboard-header .admin-home-actions {
  align-items: center !important;
  flex: 0 0 auto;
  flex-direction: row !important;
  justify-content: flex-end;
  margin: 0;
  min-width: 0 !important;
  padding-right: 0;
  width: auto !important;
}

body.theme-admin .admin-dashboard-header .admin-dashboard-create {
  align-items: center;
  background: #111827;
  border-color: #111827;
  border-radius: 10px;
  color: #fff;
  display: inline-flex;
  font-size: 16px;
  justify-content: center;
  min-height: 52px;
  padding: 0 30px;
}

/* Admin home dashboard alignment only. */
body.theme-admin .admin-dashboard .admin-stat-grid {
  align-items: stretch;
  grid-auto-rows: 1fr;
}

body.theme-admin .admin-dashboard .admin-stat-card {
  align-content: stretch;
  box-sizing: border-box;
  display: grid;
  grid-template-rows: auto minmax(42px, 1fr) auto;
  height: 100%;
  min-height: 132px;
  padding: 20px;
}

body.theme-admin .admin-dashboard .admin-stat-card > span,
body.theme-admin .admin-dashboard .admin-stat-card > strong,
body.theme-admin .admin-dashboard .admin-stat-card > small {
  align-self: center;
  margin: 0;
}

body.theme-admin .admin-dashboard .admin-home-focus-grid {
  align-items: stretch;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.theme-admin .admin-dashboard .admin-focus-panel {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 20px;
}

body.theme-admin .admin-dashboard .admin-focus-list,
body.theme-admin .admin-dashboard .admin-recent-work-list {
  align-content: start;
  flex: 1 1 auto;
  max-height: 262px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
}

body.theme-admin .admin-dashboard .admin-recent-work-list a {
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) auto;
}

body.theme-admin .admin-dashboard .admin-recent-work-list strong {
  min-width: 0;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .admin-dashboard .admin-recent-work-list span {
  justify-self: end;
  min-width: 64px;
  text-align: right;
}

body.theme-admin .admin-dashboard .admin-activity-list {
  align-items: stretch;
  grid-auto-rows: minmax(62px, auto);
  max-height: 266px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
}

body.theme-admin .admin-dashboard .admin-activity-item {
  box-sizing: border-box;
  height: 100%;
}

body.theme-admin .admin-dashboard :is(.admin-focus-list, .admin-recent-work-list, .admin-activity-list) {
  scrollbar-color: #cfd4dc transparent;
  scrollbar-width: thin;
}

body.theme-admin .admin-dashboard :is(.admin-focus-list, .admin-recent-work-list, .admin-activity-list)::-webkit-scrollbar {
  width: 6px;
}

body.theme-admin .admin-dashboard :is(.admin-focus-list, .admin-recent-work-list, .admin-activity-list)::-webkit-scrollbar-thumb {
  background: #cfd4dc;
  border-radius: 999px;
}

body.theme-admin .admin-dashboard :is(.admin-focus-list, .admin-recent-work-list, .admin-activity-list)::-webkit-scrollbar-track {
  background: transparent;
}

@media (max-width: 900px) {
  body.theme-admin .admin-dashboard .admin-home-focus-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Work-create asset picker layout only. */
body.theme-admin .work-create-main .work-asset-search {
  align-items: center;
  box-shadow: none !important;
  display: flex;
  filter: none !important;
  gap: 10px;
  overflow-x: auto;
  padding-block: 10px;
  position: relative;
  width: 100%;
  z-index: 100;
}

body.theme-admin .work-create-main .work-asset-search::before,
body.theme-admin .work-create-main .work-asset-search::after {
  box-shadow: none !important;
  filter: none !important;
}

/* Keep the existing-asset section flat without changing its contents. */
body.theme-admin .work-create-main .work-create-grid > .work-create-panel:nth-of-type(2) {
  box-shadow: none !important;
  filter: none !important;
}

body.theme-admin .work-create-main .work-asset-search > * {
  box-sizing: border-box;
  min-width: 0;
}

body.theme-admin .work-create-main .work-asset-search > input:not([type="hidden"]) {
  flex: 1 1 240px;
  width: auto;
}

body.theme-admin .work-create-main .work-asset-search > [data-apply-work-asset-filter],
body.theme-admin .work-create-main .work-asset-search > .work-asset-filter-dropdown {
  flex: 0 0 160px !important;
  width: 160px !important;
}

body.theme-admin .work-create-main .work-asset-search button {
  max-width: none !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.theme-admin .work-create-main .work-asset-search > input:not([type="hidden"]),
body.theme-admin .work-create-main .work-asset-search > [data-apply-work-asset-filter],
body.theme-admin .work-create-main .work-asset-search > .work-asset-filter-dropdown .work-asset-type-trigger {
  background: #fff !important;
  border: 1px solid #dfe3e9 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: #111 !important;
  height: 46px;
  min-height: 46px;
}

body.theme-admin .work-create-main .work-asset-search > .work-asset-filter-dropdown {
  height: 46px;
  min-height: 46px;
}

body.theme-admin .work-create-main .work-asset-search > [data-apply-work-asset-filter] {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  padding-block: 0;
}

body.theme-admin .work-create-main .work-asset-type-dropdown {
  position: relative;
  width: 100%;
  z-index: 110;
}

body.theme-admin .work-create-main .work-asset-search .work-asset-type-trigger {
  align-items: center;
  appearance: none;
  background: #fff;
  border: 1px solid #dfe3e9;
  border-radius: 999px;
  color: #111;
  display: flex;
  font-size: 15px;
  font-weight: 650;
  height: 46px;
  justify-content: center;
  max-width: none !important;
  min-height: 46px;
  min-width: 0 !important;
  padding: 0 38px;
  position: relative;
  width: 100% !important;
}

body.theme-admin .work-create-main .work-asset-type-trigger [data-work-asset-label] {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: inherit;
  display: block;
  font: inherit;
  margin: 0;
  max-width: 100%;
  overflow: hidden;
  padding: 0;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .work-create-main .work-asset-type-trigger::after {
  border-bottom: 1.5px solid #6b7280;
  border-right: 1.5px solid #6b7280;
  content: "";
  height: 7px;
  position: absolute;
  right: 17px;
  top: 15px;
  transform: rotate(45deg);
  transition: transform 160ms ease;
  width: 7px;
}

body.theme-admin .work-create-main .work-asset-type-dropdown.open .work-asset-type-trigger::after {
  top: 19px;
  transform: rotate(225deg);
}

body.theme-admin .work-create-main .work-asset-type-menu {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.14);
  left: 0;
  overflow: hidden;
  padding: 5px;
  position: absolute;
  top: calc(100% + 6px);
  width: 100%;
  z-index: 1000;
}

body.theme-admin .work-create-main .work-create-panel:has(.work-asset-type-dropdown.open) {
  overflow: visible;
  position: relative;
  z-index: 90;
}

/* Create/edit floating actions use the same card surface as the work information panel. */
body.theme-admin .work-create-main > .work-create-grid > .work-create-head.is-sticky-edit {
  background: var(--color-card, #fff) !important;
  border: 1px solid var(--color-border, #e7eaf0) !important;
  border-radius: var(--radius-card, 18px) !important;
  box-shadow: var(--shadow-card, 0 12px 34px rgba(17, 24, 39, 0.045)) !important;
  padding: 16px var(--space-card, 24px) 20px !important;
}

body.theme-admin .work-create-main .work-create-head .work-create-actions {
  margin-left: auto;
  order: initial;
  padding-block: 0;
}

@media (max-width: 820px) {
  body.theme-admin .work-create-main .work-create-head {
    flex-wrap: wrap;
  }

  body.theme-admin .work-create-main .work-create-head .work-create-actions {
    flex: 1 0 100%;
    justify-content: stretch;
  }

  body.theme-admin .work-create-main .work-create-head .work-create-actions > .button {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
  }
}

/* Work editor empty states fill the shared baseline without moving help text. */
body.theme-admin .work-create-main .work-description-cover > [data-cover-upload-replacement]:not([hidden]),
body.theme-admin .work-create-main .work-description-display > [data-display-upload-empty]:not([hidden]) {
  align-self: stretch;
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
}

body.theme-admin .work-create-main .work-description-cover > [data-cover-upload-replacement]:not([hidden]) > .unified-upload,
body.theme-admin .work-create-main .work-description-display > [data-display-upload-empty]:not([hidden]) > .unified-upload {
  align-self: stretch;
  display: grid;
  flex: 1 1 auto;
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100%;
  min-height: 0;
}

body.theme-admin .work-create-main .work-description-cover > [data-cover-upload-replacement]:not([hidden]) .uploader-dropzone,
body.theme-admin .work-create-main .work-description-display > [data-display-upload-empty]:not([hidden]) .uploader-dropzone {
  height: 100%;
  min-height: 0;
}

body.theme-admin .work-create-main .work-description-editor > .work-rich-editor:empty {
  flex: 1 1 auto;
  min-height: 0;
}

body.theme-admin .work-create-main .work-asset-selector {
  position: relative;
  z-index: 1;
}

body.theme-admin .work-create-main .work-asset-type-menu[hidden] {
  display: none;
}

body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu button {
  background: #fff;
  border: 0;
  border-radius: 9px;
  color: #111;
  display: block;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  height: 40px;
  max-width: none !important;
  min-height: 40px;
  min-width: 0 !important;
  padding: 0 8px;
  text-align: center;
  width: 100% !important;
}

body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu button:hover,
body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu button:focus-visible {
  background: #f1f1f1;
  color: #111;
  outline: none;
}

body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu button.selected,
body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu button.selected:hover,
body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu button.selected:focus-visible {
  background: #111;
  color: #fff;
}

body.theme-admin .work-create-main .work-asset-selector {
  column-count: initial;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  max-height: 680px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 2px 8px 2px 2px;
  scrollbar-color: #cfd4dc transparent;
  scrollbar-width: thin;
}

body.theme-admin .work-create-main .work-asset-selector::-webkit-scrollbar {
  width: 6px;
}

body.theme-admin .work-create-main .work-asset-selector::-webkit-scrollbar-thumb {
  background: #cfd4dc;
  border-radius: 999px;
}

body.theme-admin .work-create-main .work-asset-selector::-webkit-scrollbar-track {
  background: transparent;
}

body.theme-admin .work-create-main .work-asset-selector .work-select-asset {
  break-inside: auto;
  margin: 0;
  min-width: 0;
}

body.theme-admin .work-create-main .work-asset-selector .work-select-preview {
  aspect-ratio: 4 / 3;
  min-height: 0;
  overflow: hidden;
}

body.theme-admin .work-create-main .work-asset-selector .work-select-preview img,
body.theme-admin .work-create-main .work-asset-selector .work-select-preview video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .work-create-main .work-asset-selector .work-select-body {
  gap: 6px;
  padding: 10px;
}

body.theme-admin .work-create-main .work-asset-selector .work-select-body > strong,
body.theme-admin .work-create-main .work-asset-selector .work-select-body h3,
body.theme-admin .work-create-main .work-asset-selector .work-select-body p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .work-create-main .work-asset-selector .work-select-controls {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  gap: 4px;
  height: 39px;
  justify-content: flex-start;
  padding-top: 8px;
}

body.theme-admin .work-create-main .work-asset-selector .work-select-controls > * {
  flex: 0 0 calc((100% - 8px) / 3);
  min-width: 0;
}

body.theme-admin .work-create-main .work-asset-selector .work-select-controls label {
  align-items: center;
  display: inline-flex;
  font-size: 12px;
  gap: 4px;
  justify-content: center;
  min-width: 0;
  white-space: nowrap;
}

body.theme-admin .work-create-main .work-asset-selector .work-select-controls input[type="checkbox"],
body.theme-admin .work-create-main .work-asset-selector .work-select-controls input[type="radio"] {
  appearance: none;
  background: #fff;
  border: 1px solid #aeb5c0;
  border-radius: 50%;
  flex: 0 0 14px;
  height: 14px;
  margin: 0;
  width: 14px;
}

body.theme-admin .work-create-main .work-asset-selector .work-select-controls input[type="checkbox"]:checked,
body.theme-admin .work-create-main .work-asset-selector .work-select-controls input[type="radio"]:checked {
  background: radial-gradient(circle, #fff 0 3px, #111827 3.5px 100%);
  border-color: #111827;
}

body.theme-admin .work-create-main .work-asset-selector .work-select-controls > button {
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: 8px;
  color: #344054;
  cursor: pointer;
  font-size: 12px;
  min-height: 30px;
  padding: 4px 7px;
  white-space: nowrap;
}

body.theme-admin .work-create-main .work-asset-selector .work-select-controls > button.is-inserted {
  background: #111827;
  border-color: #111827;
  color: #fff;
}

body.theme-admin .work-create-main .work-asset-selector .work-select-controls > button:disabled {
  color: #b0b5bd;
  cursor: not-allowed;
}

body.theme-admin .work-create-main .work-select-asset[draggable="true"] {
  cursor: grab;
}

body.theme-admin .work-create-main .work-select-asset.is-dragging {
  opacity: 0.45;
}

@media (max-width: 1180px) {
  body.theme-admin .work-create-main .work-asset-selector {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  body.theme-admin .work-create-main .work-asset-search {
    min-width: 650px;
  }

  body.theme-admin .work-create-main .work-asset-search > [data-apply-work-asset-filter],
  body.theme-admin .work-create-main .work-asset-search > .work-asset-filter-dropdown {
    flex-basis: 140px !important;
    width: 140px !important;
  }

  body.theme-admin .work-create-main .work-asset-selector {
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-height: 560px;
  }
}

/* Unified responsive content geometry for announcements, albums and work listings. */
body:not(.theme-admin) {
  --public-content-max: 1760px;
}

body.theme-white:not(.theme-admin) .announcement-shell,
body.theme-white:not(.theme-admin) .share-section,
body.theme-white:not(.theme-admin) .mall-products-section:not(.design-work-section) {
  box-sizing: border-box;
  margin-inline: auto;
  max-width: var(--public-content-max);
  width: 100%;
}

body.theme-white:not(.theme-admin) .announcement-page {
  padding-inline: 0;
}

body.theme-white:not(.theme-admin) .announcement-shell {
  gap: 20px;
  max-width: var(--public-content-max);
  padding: 28px var(--public-layout-gutter) 48px;
}

body.theme-white:not(.theme-admin) .announcement-head {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  min-height: 64px;
  padding: 0;
}

body.theme-white:not(.theme-admin) .announcement-head h1 {
  margin: 0;
}

body.theme-white:not(.theme-admin) .announcement-list {
  grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
}

body.theme-white:not(.theme-admin) .announcement-card {
  min-width: 0;
  width: 100%;
}

/* Shared public-card media hover: dim media only, without movement or scaling. */
body:not(.theme-admin) :is(.work-card-media, .album-image-card, .asset-card-media) {
  overflow: hidden;
  position: relative;
}

body:not(.theme-admin) :is(.work-card-media, .album-image-card, .asset-card-media)::after {
  background: rgba(17, 20, 24, 0.08);
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 240ms ease;
  z-index: 2;
}

body:not(.theme-admin) :is(.work-card-media, .album-image-card, .asset-card-media) > :is(img, video) {
  transition: filter 240ms ease !important;
}

body:not(.theme-admin) :is(.work-card, .portfolio-work-card, .asset-card):hover {
  transform: none !important;
}

body:not(.theme-admin) :is(.work-card, .portfolio-work-card):hover .work-card-media::after,
body:not(.theme-admin) .album-image-card:hover::after,
body:not(.theme-admin) .album-image-card:focus-visible::after,
body:not(.theme-admin) .asset-card:hover .asset-card-media::after {
  opacity: 1;
}

body:not(.theme-admin) :is(.work-card, .portfolio-work-card):hover .work-card-media > :is(img, video),
body:not(.theme-admin) .album-image-card:hover > :is(img, video),
body:not(.theme-admin) .album-image-card:focus-visible > :is(img, video),
body:not(.theme-admin) .asset-card:hover .asset-card-media > :is(img, video) {
  filter: brightness(0.82);
  transform: none !important;
}

body:not(.theme-admin) .album-image-card > :is(span, .album-video-badge),
body:not(.theme-admin) .work-card-media > .media-badge {
  position: absolute;
  z-index: 3;
}

body.theme-white:not(.theme-admin) .share-section,
body.theme-white:not(.theme-admin) .mall-products-section:not(.design-work-section) {
  padding-inline: var(--public-layout-gutter);
}

@media (max-width: 700px) {
  body.theme-white:not(.theme-admin) .announcement-shell {
    padding: 18px 14px 36px;
  }

  body.theme-white:not(.theme-admin) .announcement-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  body.theme-white:not(.theme-admin) .announcement-card {
    border-radius: 14px;
    padding: 16px;
  }

  body.theme-white:not(.theme-admin) .announcement-head {
    min-height: 56px;
    padding: 0;
  }

  body.theme-white:not(.theme-admin) .announcement-card-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  body.theme-white:not(.theme-admin) .share-section,
  body.theme-white:not(.theme-admin) .mall-products-section:not(.design-work-section) {
    padding-inline: 14px;
  }
}

@media (min-width: 701px) {
  body.theme-white:not(.theme-admin) .announcement-page .announcement-shell {
    margin-left:auto;
    margin-right:auto;
    max-width:none;
    padding:20px 0 48px;
    width:calc(100% - 32px);
  }

  body.theme-white:not(.theme-admin) .announcement-page .announcement-list {
    grid-template-columns:repeat(auto-fit, minmax(min(520px, 100%), 1fr));
  }

  body.theme-white:not(.theme-admin) .announcement-page .announcement-card {
    min-width:0;
  }
}

/* Shared public share entry for details, albums and media preview. */
body:not(.theme-admin) .public-share-button {
  align-items: center;
  appearance: none;
  background: #fff;
  border: 1px solid #e2e5ea;
  border-radius: 999px;
  color: #30343b;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 13px;
  justify-content: center;
  line-height: 1;
  min-height: 34px;
  padding: 0 14px;
  white-space: nowrap;
}

body:not(.theme-admin) .public-share-button:hover,
body:not(.theme-admin) .public-share-button:focus-visible {
  background: #f5f6f8;
  border-color: #d5d9e0;
  color: #111827;
  outline: none;
}

body:not(.theme-admin) .case-detail-meta-actions,
body:not(.theme-admin) .album-browser-actions {
  align-items: center;
  display: flex;
  gap: 10px;
}

body:not(.theme-admin) .case-detail-meta-actions {
  margin-left: auto;
}

body:not(.theme-admin) .image-preview-share {
  position: fixed;
  right: 78px;
  top: 28px;
  z-index: 102;
}

@media (max-width: 700px) {
  body:not(.theme-admin) .public-share-button {
    min-height: 32px;
    padding-inline: 12px;
  }

  body:not(.theme-admin) .album-browser-actions {
    align-items: flex-end;
    flex-direction: column;
    gap: 8px;
  }

  body:not(.theme-admin) .image-preview-share {
    right: 72px;
    top: 27px;
  }
}

/* Work create/edit: let empty content fill each card's shared baseline. */
body.theme-admin .work-create-main .work-description-layout {
  align-items: start;
}

body.theme-admin .work-create-main .work-description-cover,
body.theme-admin .work-create-main .work-description-display,
body.theme-admin .work-create-main .work-description-editor {
  align-self: start;
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 360px;
}

body.theme-admin .work-create-main .work-description-cover > [data-cover-upload-replacement]:not([hidden]),
body.theme-admin .work-create-main .work-description-display > [data-display-upload-empty]:not([hidden]) {
  align-self: stretch;
  display: flex;
  flex: 1 1 0;
  min-height: 0;
  width: 100%;
}

body.theme-admin .work-create-main .work-description-cover > [data-cover-upload-replacement]:not([hidden]) > .unified-upload,
body.theme-admin .work-create-main .work-description-display > [data-display-upload-empty]:not([hidden]) > .unified-upload {
  align-self: stretch;
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  height: auto;
  min-height: 0;
  width: 100%;
}

body.theme-admin .work-create-main .work-description-cover > [data-cover-upload-replacement]:not([hidden]) .uploader-dropzone,
body.theme-admin .work-create-main .work-description-display > [data-display-upload-empty]:not([hidden]) .uploader-dropzone {
  align-items: center;
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  height: auto;
  justify-content: center;
  min-height: 0;
  text-align: center;
  width: 100%;
}

body.theme-admin .work-create-main .work-description-editor > .work-rich-editor {
  flex: 1 1 auto;
}

body.theme-admin .work-create-main .work-description-cover > small,
body.theme-admin .work-create-main .work-description-display > small,
body.theme-admin .work-create-main .work-description-editor > small {
  flex: 0 0 auto;
  margin-top: auto;
}

/* Asset profiles list reuses the works-list single-panel structure. */
body.theme-admin .asset-profile-content-card {
  display: grid;
  gap: 16px;
}

body.theme-admin .asset-profile-page-header > .panel-head-actions {
  align-self: stretch;
  flex: 0 0 auto;
  justify-content: flex-end;
  width: auto;
}

body.theme-admin .asset-profile-page-header .asset-profile-create-panel {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
}

body.theme-admin .asset-profile-page-header .asset-profile-create-trigger {
  align-items: center;
  display: inline-flex;
  font-size: 15px;
  justify-content: center;
  min-height: 46px;
  padding-inline: 22px;
}

body.theme-admin .asset-profile-content-card > .asset-search-panel,
body.theme-admin .asset-profile-content-card > .asset-board-section {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
}

body.theme-admin .asset-profile-content-card > .asset-board-section {
  min-width: 0;
}

body.theme-admin .asset-profile-content-card > .asset-board-section .section-title {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
  width: 100%;
}

body.theme-admin .asset-profile-content-card > .asset-board-section .section-title h2,
body.theme-admin .asset-profile-content-card > .asset-board-section .section-title .count {
  margin: 0;
}

body.theme-admin .asset-profile-content-card > .asset-board-section .section-title .count {
  margin-left: auto;
}

body.theme-admin .asset-profile-content-card .asset-profile-grid {
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
}

body.theme-admin .asset-profile-content-card .asset-profile-card {
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 18px;
  box-shadow: none;
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  overflow: hidden;
  padding: 0;
}

body.theme-admin .asset-profile-content-card .asset-profile-preview {
  aspect-ratio: 16 / 9;
  border-radius: 0;
  height: auto;
  min-height: 0;
  width: 100%;
}

body.theme-admin .asset-profile-content-card .asset-profile-preview img,
body.theme-admin .asset-profile-content-card .asset-profile-preview > div {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .asset-profile-content-card .asset-profile-body {
  gap: 10px;
  padding: 16px;
}

/* Asset profile overview cards keep a compact, fixed gallery rhythm. */
body.theme-admin .asset-profile-content-card .asset-profile-grid {
  align-items: stretch;
  grid-template-columns: repeat(auto-fill, 300px);
  justify-content: start;
}

body.theme-admin .asset-profile-content-card .asset-profile-card {
  box-sizing: border-box;
  grid-template-rows: 168px minmax(192px, auto);
  height: auto;
  min-height: 360px;
  width: 300px;
}

body.theme-admin .asset-profile-content-card .asset-profile-preview {
  aspect-ratio: auto;
  height: 168px;
  min-height: 168px;
}

body.theme-admin .asset-profile-content-card .asset-profile-body {
  box-sizing: border-box;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 6px;
  height: auto;
  min-height: 0;
  padding: 10px 14px;
}

body.theme-admin .asset-profile-content-card .asset-card-head {
  flex: 0 0 auto;
}

body.theme-admin .asset-profile-content-card .asset-profile-body h3 {
  display: block;
  flex: 0 0 auto;
  font-size: 18px;
  line-height: 1.4;
  margin: 0;
  min-height: 1.4em;
  overflow: visible;
}

body.theme-admin .asset-profile-content-card .asset-profile-body > p {
  display: block;
  flex: 0 0 auto;
  line-height: 1.5;
  margin: 0;
  min-height: 1.5em;
  overflow: visible;
}

body.theme-admin .asset-profile-content-card .asset-profile-stats-compact {
  align-content: center;
  align-items: stretch;
  background: transparent;
  background-image: none;
  border-top: 1px solid #eef0f3;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  flex: 0 0 auto;
  gap: 2px;
  grid-template-columns: minmax(0, 1fr);
  height: auto;
  margin-top: 4px;
  min-height: 36px;
  overflow: visible;
  padding-top: 7px;
}

body.theme-admin .asset-profile-content-card .asset-profile-stats-compact span {
  align-items: center;
  background: transparent;
  background-image: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #667085;
  display: flex;
  font-size: 14px;
  justify-content: space-between;
  line-height: 1.35;
  min-width: 0;
  padding: 0;
  width: 100%;
}

body.theme-admin .asset-profile-content-card .asset-profile-stats-compact strong {
  color: #111827;
  flex: 0 0 auto;
  font-size: 16px;
  font-weight: 700;
  margin-left: 12px;
  text-align: right;
}

body.theme-admin .asset-profile-content-card .asset-profile-actions {
  flex: 0 0 auto;
  margin-top: auto;
}

@media (max-width: 700px) {
  body.theme-admin .asset-profile-content-card .asset-profile-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .asset-profile-content-card .asset-profile-card {
    max-width: 300px;
    width: 100%;
  }
}

/* Independent asset-profile creation page; data and submit endpoint stay unchanged. */
body.theme-admin .asset-profile-create-main .asset-profile-create-card {
  width: 100%;
}

body.theme-admin .asset-profile-create-main .asset-profile-create-form {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr);
  margin-top: 18px;
  width: 100%;
}

body.theme-admin .asset-profile-create-main .asset-profile-create-form > label {
  display: grid;
  gap: 8px;
  min-width: 0;
}

body.theme-admin .asset-profile-create-main .asset-profile-create-form > label > span {
  color: #344054;
  font-size: 14px;
  font-weight: 700;
}

body.theme-admin .asset-profile-create-main .asset-profile-create-form input,
body.theme-admin .asset-profile-create-main .asset-profile-create-form textarea {
  box-sizing: border-box;
  width: 100%;
}

body.theme-admin .asset-profile-create-main .asset-profile-create-form .form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
  width: 100%;
}

/* Asset profiles own long-term source information; uploads stay batch-focused. */
body.theme-admin .asset-profile-create-main .asset-profile-workspace-form,
body.theme-admin .asset-profile-workspace-form {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr);
  margin-top: 18px;
  width: 100%;
}

body.theme-admin .asset-profile-create-main .asset-profile-create-card {
  margin: 0;
}

body.theme-admin .asset-profile-module-fields {
  margin-top: 16px;
}

body.theme-admin .asset-profile-module-hint {
  margin: 12px 0 0;
}

body.theme-admin .asset-profile-create-actions {
  bottom: 16px;
  position: sticky;
  z-index: 8;
}

body.theme-admin .asset-profile-edit-module {
  border-top: 1px solid var(--line, #e5e7eb);
  padding-top: 18px;
}

body.theme-admin .asset-profile-edit-module h3 {
  color: #111827;
  font-size: 16px;
  margin: 0;
}
/* Pending asset pool: page-local, client-side selection controls. */
body.theme-admin .pending-assets-toolbar {
  align-items: center;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  padding: 14px 16px;
  position: relative;
}

body.theme-admin .selection-info {
  align-items: center;
  display: flex;
  gap: 14px;
  min-width: 0;
}

body.theme-admin .pending-select-all {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  gap: 9px;
  flex: 0 0 auto;
  min-height: 40px;
  white-space: nowrap;
}

body.theme-admin .pending-select-all input,
body.theme-admin .pending-asset-checkbox input {
  accent-color: #111827;
  border-radius: 4px;
  height: 18px;
  margin: 0;
  width: 18px;
}

body.theme-admin .selection-info strong {
  color: #344054;
  font-size: 14px;
  white-space: nowrap;
}

body.theme-admin .pending-actions {
  align-items: center;
  display: flex;
  flex: 1 1 900px;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  min-width: 0;
}

body.theme-admin .pending-actions .asset-profile-select,
body.theme-admin .pending-actions .asset-profile-select + .nova-select {
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: 9px;
  box-sizing: border-box;
  height: 40px;
  flex: 0 0 260px;
  max-width: 300px;
  min-width: 240px;
  width: 260px;
  padding: 0 34px 0 12px;
}

body.theme-admin .pending-actions .asset-profile-select + .nova-select {
  border: 0;
  padding: 0;
}

body.theme-admin .pending-actions > button {
  align-items: center;
  border-radius: 9px;
  box-sizing: border-box;
  display: inline-flex;
  flex: none;
  height: 40px;
  justify-content: center;
  margin: 0;
  min-height: 40px;
  padding: 0 14px;
  white-space: nowrap;
}

body.theme-admin .pending-group-action-panel {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
  display: grid;
  gap: 10px;
  min-width: 360px;
  padding: 12px;
  position: absolute;
  right: 16px;
  top: calc(100% + 8px);
  z-index: 20;
}

body.theme-admin .pending-group-action-panel[hidden],
body.theme-admin .pending-toolbar-submit-form {
  display: none;
}

body.theme-admin .pending-group-action-panel input,
body.theme-admin .pending-group-action-panel select {
  min-width: 0;
  width: 100%;
}

body.theme-admin .pending-group-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.theme-admin .pending-group-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}

body.theme-admin .pending-group-card.is-selected {
  box-shadow: 0 0 0 2px #111827;
}

body.theme-admin .pending-group-cover {
  background: #f3f4f6;
  min-height: 220px;
}

body.theme-admin .pending-group-cover img,
body.theme-admin .pending-group-cover video,
body.theme-admin .pending-group-cover .asset-video-preview,
body.theme-admin .pending-group-cover .asset-file-preview {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .pending-group-body {
  display: grid;
  gap: 12px;
  padding: 18px;
}

body.theme-admin .pending-group-heading {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

body.theme-admin .pending-group-heading h3 {
  font-size: 18px;
  margin: 3px 0 0;
}

body.theme-admin .pending-group-file-list strong {
  color: #667085;
  display: block;
  font-size: 12px;
  margin-bottom: 5px;
}

body.theme-admin .pending-group-file-list ul {
  display: grid;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

body.theme-admin .pending-group-file-list a {
  color: #344054;
  display: block;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .pending-group-meta {
  border-top: 1px solid #f0f1f3;
  display: grid;
  gap: 5px;
  padding-top: 10px;
}

body.theme-admin .pending-group-meta span {
  color: #667085;
  font-size: 12px;
}

body.theme-admin .pending-ungrouped-title {
  margin-top: 26px;
}

/* Compact pending pool cards and non-navigating detail drawer. */
body.theme-admin .pending-group-grid,
body.theme-admin .pending-file-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

body.theme-admin .pending-group-card,
body.theme-admin .pending-file-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  cursor: pointer;
  display: block;
  min-width: 0;
  overflow: hidden;
  position: relative;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.theme-admin .pending-group-card:hover,
body.theme-admin .pending-file-card:hover {
  border-color: #d0d5dd;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
  transform: translateY(-2px);
}

body.theme-admin .pending-group-card.is-selected,
body.theme-admin .pending-file-card.is-selected {
  box-shadow: 0 0 0 2px #111827;
}

body.theme-admin .pending-group-cover,
body.theme-admin .pending-file-preview {
  aspect-ratio: 4 / 3;
  background: #f3f4f6;
  display: block;
  min-height: 0;
  overflow: hidden;
}

body.theme-admin .pending-group-cover img,
body.theme-admin .pending-group-cover video,
body.theme-admin .pending-group-cover .asset-video-preview,
body.theme-admin .pending-group-cover .asset-file-preview,
body.theme-admin .pending-file-preview img,
body.theme-admin .pending-file-preview video,
body.theme-admin .pending-file-preview .asset-video-preview,
body.theme-admin .pending-file-preview .asset-file-preview {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .pending-group-body,
body.theme-admin .pending-file-body {
  display: grid;
  gap: 8px;
  padding: 12px;
}

body.theme-admin .pending-group-body .eyebrow {
  font-size: 11px;
  margin: 0;
}

body.theme-admin .pending-group-body h3,
body.theme-admin .pending-file-body h3 {
  font-size: 14px;
  line-height: 1.4;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .pending-card-counts,
body.theme-admin .pending-file-meta {
  align-items: center;
  color: #667085;
  display: flex;
  font-size: 12px;
  gap: 12px;
}

body.theme-admin .pending-card-counts strong {
  color: #344054;
}

body.theme-admin .pending-group-meta {
  border-top: 1px solid #f0f1f3;
  display: grid;
  gap: 4px;
  padding-top: 8px;
}

body.theme-admin .pending-group-meta span,
body.theme-admin .pending-status-pill {
  color: #667085;
  font-size: 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .pending-status-pill {
  background: #f4f0ff;
  border-radius: 999px;
  justify-self: start;
  padding: 4px 8px;
}

body.has-pending-drawer {
  overflow: hidden;
}

body.theme-admin .pending-drawer-layer {
  inset: 0;
  position: fixed;
  z-index: 1000;
}

body.theme-admin .pending-drawer-layer[hidden] {
  display: none;
}

body.theme-admin .pending-drawer-backdrop {
  background: rgba(15, 23, 42, 0.26);
  border: 0;
  inset: 0;
  padding: 0;
  position: absolute;
  width: 100%;
}

body.theme-admin .pending-drawer-panel {
  background: #fff;
  box-shadow: -18px 0 50px rgba(15, 23, 42, 0.16);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  max-width: calc(100vw - 32px);
  position: absolute;
  right: 0;
  top: 0;
  width: 440px;
}

body.theme-admin .pending-drawer-head {
  align-items: center;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  height: 58px;
  justify-content: space-between;
  padding: 0 18px;
}

body.theme-admin .pending-drawer-head button {
  align-items: center;
  background: #f8fafc;
  border: 0;
  border-radius: 9px;
  cursor: pointer;
  display: inline-flex;
  font-size: 22px;
  height: 36px;
  justify-content: center;
  padding: 0;
  width: 36px;
}

body.theme-admin .pending-drawer-content {
  min-height: 0;
  overflow: hidden;
}

body.theme-admin .pending-drawer-detail {
  height: 100%;
  min-height: 0;
}

body.theme-admin .pending-drawer-view,
body.theme-admin .pending-drawer-edit-form {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100%;
  min-height: 0;
}

body.theme-admin .pending-drawer-view[hidden],
body.theme-admin .pending-drawer-edit-form[hidden] {
  display: none;
}

body.theme-admin .pending-drawer-scroll-body {
  min-height: 0;
  overflow-y: auto;
  padding: 18px;
}

body.theme-admin .pending-drawer-preview {
  aspect-ratio: 4 / 3;
  background: #f3f4f6;
  border-radius: 12px;
  overflow: hidden;
}

body.theme-admin .pending-drawer-preview img,
body.theme-admin .pending-drawer-preview video,
body.theme-admin .pending-drawer-preview .asset-video-preview,
body.theme-admin .pending-drawer-preview .asset-file-preview {
  height: 100%;
  object-fit: contain;
  width: 100%;
}

body.theme-admin .pending-drawer-title {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

body.theme-admin .pending-drawer-title h2,
body.theme-admin .pending-drawer-edit-form h2 {
  font-size: 20px;
  margin: 4px 0 0;
  overflow-wrap: anywhere;
}

body.theme-admin .pending-original-badge {
  background: #fff1f7;
  border-radius: 999px;
  color: #be185d;
  flex: 0 0 auto;
  font-size: 12px;
  padding: 5px 9px;
}

body.theme-admin .pending-drawer-info {
  border-top: 1px solid #f0f1f3;
  display: grid;
  margin: 16px 0 0;
}

body.theme-admin .pending-drawer-info > div {
  align-items: start;
  border-bottom: 1px solid #f0f1f3;
  display: grid;
  gap: 14px;
  grid-template-columns: 88px minmax(0, 1fr);
  padding: 11px 0;
}

body.theme-admin .pending-drawer-info dt {
  color: #667085;
}

body.theme-admin .pending-drawer-info dd {
  margin: 0;
  overflow-wrap: anywhere;
  text-align: right;
}

body.theme-admin .pending-drawer-action-footer {
  background: #fff;
  border-top: 1px solid #e5e7eb;
  display: grid;
  gap: 10px;
  padding: 16px 18px 18px;
  position: relative;
  z-index: 2;
}

body.theme-admin .pending-drawer-primary-actions {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.theme-admin .pending-drawer-primary-actions .button,
body.theme-admin .pending-drawer-more > summary {
  box-sizing: border-box;
  font-size: 14px;
  font-weight: 700;
  height: 44px;
  justify-content: center;
  line-height: 1;
  min-width: 0;
  white-space: nowrap;
  width: 100%;
}

body.theme-admin .pending-drawer-more {
  position: relative;
}

body.theme-admin .pending-drawer-more > summary {
  align-items: center;
  display: inline-flex;
  gap: 7px;
  list-style: none;
}

body.theme-admin .pending-drawer-more > summary::-webkit-details-marker {
  display: none;
}

body.theme-admin .pending-drawer-more[open] > summary span {
  transform: rotate(180deg);
}

body.theme-admin .pending-drawer-more-menu {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  bottom: calc(100% + 8px);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16);
  display: grid;
  left: 0;
  max-height: min(240px, calc(100vh - 180px));
  overflow-y: auto;
  padding: 6px;
  position: absolute;
  right: 0;
  z-index: 5;
}

body.theme-admin .pending-drawer-more-menu a,
body.theme-admin .pending-drawer-more-menu button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: #111827;
  cursor: pointer;
  display: flex;
  font: inherit;
  min-height: 42px;
  padding: 0 12px;
  text-align: left;
  text-decoration: none;
  white-space: nowrap;
  width: 100%;
}

body.theme-admin .pending-drawer-more-menu a:hover,
body.theme-admin .pending-drawer-more-menu button:hover {
  background: #f3f4f6;
}

body.theme-admin .pending-drawer-more-menu form {
  display: block;
  margin: 0;
}

body.theme-admin .pending-drawer-edit-form label {
  display: grid;
  gap: 7px;
}

body.theme-admin .pending-drawer-edit-form input,
body.theme-admin .pending-drawer-edit-form select {
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: 9px;
  box-sizing: border-box;
  min-height: 42px;
  padding: 0 12px;
  width: 100%;
}

body.theme-admin .pending-drawer-error {
  background: #fff1f2;
  border-radius: 9px;
  color: #be123c;
  padding: 10px 12px;
}

body.theme-admin .asset-group-detail-page {
  display: grid;
  gap: 20px;
}

body.theme-admin .asset-group-detail-header .eyebrow {
  margin-top: 12px;
}

body.theme-admin .button.disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

body.theme-admin .asset-group-detail-hero {
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(280px, 0.8fr) minmax(320px, 1.2fr);
}

body.theme-admin .asset-group-detail-cover,
body.theme-admin .asset-group-name-form {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
}

body.theme-admin .asset-group-detail-cover {
  min-height: 320px;
}

body.theme-admin .asset-group-detail-cover img,
body.theme-admin .asset-group-detail-cover video,
body.theme-admin .asset-group-detail-cover .asset-video-preview,
body.theme-admin .asset-group-detail-cover .asset-file-preview {
  display: block;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .asset-group-name-form {
  align-content: start;
  display: grid;
  gap: 14px;
  padding: 22px;
}

body.theme-admin .asset-group-name-form h2 {
  margin: 0;
}

body.theme-admin .asset-group-name-form label {
  display: grid;
  gap: 7px;
}

body.theme-admin .asset-group-file-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.theme-admin .asset-group-file-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  display: grid;
  grid-template-rows: 180px minmax(0, auto);
  min-width: 0;
  overflow: hidden;
  position: relative;
}

body.theme-admin .asset-group-file-card.is-selectable {
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

body.theme-admin .asset-group-file-card.is-selected {
  border-color: #6d5d7e;
  box-shadow: 0 0 0 2px rgba(109, 93, 126, 0.12);
}

body.theme-admin .asset-group-file-select {
  align-items: center;
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  height: 44px;
  justify-content: center;
  left: 8px;
  position: absolute;
  top: 8px;
  width: 44px;
  z-index: 3;
}

body.theme-admin .asset-group-file-select input {
  height: 18px;
  margin: 0;
  width: 18px;
}

body.theme-admin .asset-group-selection-bar {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  position: sticky;
  top: 12px;
  z-index: 8;
}

body.theme-admin .asset-group-selection-copy {
  display: grid;
  gap: 4px;
}

body.theme-admin .asset-group-selection-copy span {
  color: #667085;
  font-size: 13px;
}

body.theme-admin .asset-group-selection-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.theme-admin .asset-group-file-preview-shell {
  height: 180px;
  min-width: 0;
  overflow: hidden;
  position: relative;
}

body.theme-admin .asset-group-file-preview {
  background: #f3f4f6;
  display: block;
  height: 100%;
  overflow: hidden;
}

body.theme-admin .asset-group-file-preview img,
body.theme-admin .asset-group-file-preview video,
body.theme-admin .asset-group-file-preview .asset-video-preview,
body.theme-admin .asset-group-file-preview .asset-file-preview {
  display: block;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .asset-group-file-info {
  background: #fff;
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  position: relative;
}

@media (max-width: 820px) {
  body.theme-admin .asset-group-selection-bar {
    align-items: stretch;
    display: grid;
    position: static;
  }

  body.theme-admin .asset-group-selection-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.theme-admin .asset-group-selection-actions [data-create-from-selection] {
    grid-column: 1 / -1;
  }
}

body.theme-admin .asset-group-file-info h3 {
  font-size: 14px;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .asset-group-file-info > div {
  color: #667085;
  display: flex;
  font-size: 12px;
  justify-content: space-between;
}

body.theme-admin .asset-group-file-actions {
  align-items: center;
  border-top: 1px solid #f0f1f3;
  padding-top: 10px;
}

body.theme-admin .asset-group-add-section form {
  display: grid;
  gap: 16px;
}

body.theme-admin .asset-group-add-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.theme-admin .asset-group-add-list label {
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  gap: 10px;
  padding: 12px;
}

body.theme-admin .asset-group-add-list span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

body.theme-admin .asset-group-add-list strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .asset-group-add-list small {
  color: #667085;
}

body.theme-admin .pending-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
  pointer-events: none;
}

body.theme-admin .pending-select-all input:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

body.theme-admin .pending-asset-card {
  position: relative;
}

body.theme-admin .pending-asset-checkbox {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #d0d5dd;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  left: 12px;
  padding: 7px;
  position: absolute;
  top: 12px;
  z-index: 5;
}

body.theme-admin .pending-asset-card.is-selected {
  box-shadow: 0 0 0 2px #111827;
}

@media (max-width: 640px) {
  body.theme-admin .pending-assets-toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  body.theme-admin .pending-actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  body.theme-admin .pending-group-action-panel {
    min-width: min(340px, calc(100vw - 48px));
    left: 16px;
    min-width: 0;
    right: 16px;
  }

  body.theme-admin .pending-group-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .pending-group-card {
    display: block;
  }

  body.theme-admin .pending-group-cover {
    max-height: none;
  }

  body.theme-admin .pending-group-grid,
  body.theme-admin .pending-file-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.theme-admin .pending-drawer-panel {
    max-width: 100vw;
    width: 100%;
  }

  body.theme-admin .asset-group-detail-hero,
  body.theme-admin .asset-group-file-grid,
  body.theme-admin .asset-group-add-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

body.theme-admin .pending-material-create-main {
  display: grid;
  gap: 20px;
}

body.theme-admin .pending-material-file-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

body.theme-admin .pending-material-file-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
}

body.theme-admin .pending-material-file-preview {
  aspect-ratio: 4 / 3;
  background: #f2f4f7;
  display: grid;
  overflow: hidden;
  place-items: center;
}

body.theme-admin .pending-material-file-preview img,
body.theme-admin .pending-material-file-preview video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

body.theme-admin .pending-material-file-preview strong {
  color: #667085;
}

body.theme-admin .pending-material-file-body {
  display: grid;
  gap: 6px;
  padding: 12px;
}

body.theme-admin .pending-material-file-body strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .pending-material-file-body span {
  color: #667085;
  font-size: 13px;
}

body.theme-admin .pending-cover-options {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
}

body.theme-admin .pending-cover-option {
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  display: flex;
  gap: 9px;
  padding: 11px 12px;
}

body.theme-admin .pending-material-draft-note {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  color: #667085;
  display: flex;
  min-height: 44px;
  padding: 0 14px;
}

/* Final acceptance overrides: keep these after legacy page-specific rules. */
body.theme-admin .dashboard.admin-layout{align-items:stretch;background:#f6f7f9;min-height:calc(100vh - 64px)}
body.theme-admin .dashboard-content.admin-assets-stack{box-sizing:border-box;min-width:0;width:100%}
body.theme-admin .admin-assets-stack>.asset-page,body.theme-admin .admin-assets-stack>.purchase-page,body.theme-admin .admin-assets-stack>.work-create-main,body.theme-admin .admin-assets-stack>main.asset-page{box-sizing:border-box;margin-inline:auto;max-width:1680px;padding-bottom:104px;width:100%}
body.theme-admin .admin-page-header{align-items:center!important;background:#fff;border:1px solid #e7e9ee;border-radius:16px;box-shadow:0 8px 24px rgba(16,24,40,.035);box-sizing:border-box;display:flex!important;gap:20px;justify-content:space-between;min-height:96px;padding:20px 22px!important;width:100%}
body.theme-admin .admin-page-header h1{line-height:1.2;margin:0}body.theme-admin .admin-page-header h1+p{margin:7px 0 0}
body.theme-admin .admin-page-header__actions,body.theme-admin .admin-page-header .panel-head-actions{align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:10px;justify-content:flex-end}
body.theme-admin .admin-section-card,body.theme-admin .asset-section,body.theme-admin .asset-search-panel,body.theme-admin .purchase-card,body.theme-admin .purchase-search,body.theme-admin .asset-profile-content-card,body.theme-admin .asset-profile-create-card{background:#fff;border:1px solid #e7e9ee;border-radius:16px;box-shadow:0 8px 24px rgba(16,24,40,.03);box-sizing:border-box}
body.theme-admin .asset-page,body.theme-admin .purchase-page,body.theme-admin .purchase-editor,body.theme-admin .upload-integrated-form,body.theme-admin .asset-profile-workspace-form{gap:24px}
body.theme-admin .organized-group-grid,body.theme-admin .organized-file-grid,body.theme-admin .asset-waterfall.originals,body.theme-admin .asset-profile-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));width:100%}
body.theme-admin .organized-group-card,body.theme-admin .organized-file-card,body.theme-admin .original-asset-display-card{background:#fff;border:1px solid #e7e9ee;border-radius:14px;display:flex;flex-direction:column;min-width:0;overflow:hidden}
body.theme-admin .organized-group-card .pending-group-cover,body.theme-admin .organized-file-card .pending-file-preview,body.theme-admin .original-asset-display-card .asset-card-media{aspect-ratio:4/3;background:#f1f3f6;height:auto;overflow:hidden;width:100%}
body.theme-admin .organized-group-card .pending-group-cover img,body.theme-admin .organized-file-card .pending-file-preview img,body.theme-admin .original-asset-display-card .asset-card-media img,body.theme-admin .organized-group-card .pending-group-cover video,body.theme-admin .organized-file-card .pending-file-preview video,body.theme-admin .original-asset-display-card .asset-card-media video{height:100%;object-fit:cover;width:100%}
body.theme-admin .organized-group-card .pending-group-body,body.theme-admin .organized-file-card .pending-file-body,body.theme-admin .original-asset-display-body{display:flex;flex:1 1 auto;flex-direction:column;gap:12px;min-height:230px;padding:16px}
body.theme-admin .organized-group-card h3,body.theme-admin .organized-file-card h3,body.theme-admin .original-asset-display-card h3{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.theme-admin .asset-card-actionbar,body.theme-admin .original-asset-display-card .asset-card-actions{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;margin-top:auto;width:100%}
body.theme-admin .original-asset-display-card .asset-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
body.theme-admin .asset-card-actionbar>a,body.theme-admin .asset-card-actionbar>details>summary,body.theme-admin .original-asset-display-card .asset-card-actions>a{align-items:center;box-sizing:border-box;display:inline-flex;justify-content:center;min-height:40px;overflow:hidden;padding:0 10px;text-overflow:ellipsis;white-space:nowrap}
body.theme-admin .asset-card-more>summary{font-size:0;min-width:42px;padding:0}body.theme-admin .asset-card-more>summary:after{content:"⋯";font-size:20px}
body.theme-admin .original-card-placeholder{align-items:center;color:#667085;display:flex;font-size:24px;font-weight:800;height:100%;justify-content:center;letter-spacing:.08em}
body.theme-admin .upload-center-top{position:sticky;top:68px;z-index:20}body.theme-admin .upload-integrated-section{padding:20px}body.theme-admin .upload-center-grid{align-items:stretch;gap:16px}
body.theme-admin .upload-center-main,body.theme-admin .upload-info-card{background:#fff;border:1px solid #e7e9ee;border-radius:14px;box-sizing:border-box;height:100%;margin:0;padding:18px}body.theme-admin .upload-center-side{height:100%;margin:0}
body.theme-admin .upload-choice-row{margin-top:16px}body.theme-admin .upload-profile-panel{margin-top:16px}
body.theme-admin .asset-profile-content-card{padding:20px;width:100%}body.theme-admin .asset-profile-content-card>.admin-page-header,body.theme-admin .asset-profile-create-main>.admin-page-header{margin-bottom:24px}
body.theme-admin .asset-profile-card{display:flex;flex-direction:column;min-width:0}body.theme-admin .asset-profile-preview{aspect-ratio:4/3;height:auto}body.theme-admin .asset-profile-body{display:flex;flex:1;flex-direction:column}body.theme-admin .asset-profile-actions{margin-top:auto}
body.theme-admin .profile-fields-compact{grid-template-columns:repeat(3,minmax(0,1fr))}body.theme-admin .profile-fields-compact>label{align-content:start;display:grid;gap:8px;min-width:0}body.theme-admin .profile-fields-compact textarea,body.theme-admin .profile-fields-compact .purchase-attachment-drop{height:156px;min-height:156px;width:100%}
body.theme-admin .purchase-editor{display:grid;gap:24px}body.theme-admin .purchase-card{margin:0;padding:20px}body.theme-admin .purchase-editor .purchase-tip{display:none}body.theme-admin .purchase-editor .purchase-facts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body.theme-admin .purchase-editor .purchase-attachment-drop{max-width:480px;min-height:156px}body.theme-admin .purchase-editor .section-title{align-items:flex-end;gap:16px}
body.theme-admin .purchase-editor .relation-add{align-items:center;display:grid;flex:1 1 560px;grid-template-columns:minmax(140px,.7fr) minmax(220px,1.4fr) auto;justify-content:end;max-width:760px}
body.theme-admin .purchase-editor [data-relations]:empty{align-items:center;color:#667085;display:flex;justify-content:center;min-height:112px}body.theme-admin .purchase-editor [data-relations]:empty:after{content:"暂未关联素材"}
body.theme-admin .purchase-sticky-actions{margin-top:0}body.theme-admin .asset-waterfall.originals{align-items:stretch}body.theme-admin .original-asset-display-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1100px){body.theme-admin .profile-fields-compact,body.theme-admin .upload-profile-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body.theme-admin .admin-page-header{align-items:stretch!important;flex-direction:column;min-height:0;padding:18px!important}body.theme-admin .admin-page-header__actions,body.theme-admin .admin-page-header .panel-head-actions{justify-content:flex-start;width:100%}body.theme-admin .upload-center-top{position:static}body.theme-admin .upload-center-grid,body.theme-admin .profile-fields-compact,body.theme-admin .upload-profile-create-grid,body.theme-admin .purchase-editor .purchase-facts-grid,body.theme-admin .purchase-editor .relation-add{grid-template-columns:minmax(0,1fr)}body.theme-admin .purchase-editor .section-title{align-items:stretch;flex-direction:column}body.theme-admin .purchase-editor .purchase-attachment-drop{max-width:none}body.theme-admin .organized-group-grid,body.theme-admin .organized-file-grid,body.theme-admin .asset-profile-grid,body.theme-admin .asset-waterfall.originals{grid-template-columns:minmax(0,1fr)}body.theme-admin .admin-assets-stack>.asset-page,body.theme-admin .admin-assets-stack>.purchase-page,body.theme-admin .admin-assets-stack>.work-create-main,body.theme-admin .admin-assets-stack>main.asset-page{overflow-x:clip;padding-bottom:120px}}

/* 2026-07-18 admin regression repair. Keep this final so legacy page rules cannot narrow the shell. */
html:has(.topbar.admin),
body.theme-admin,
body.theme-admin > main,
body.theme-admin .dashboard.admin-layout,
body.theme-admin .dashboard-content,
body.theme-admin .admin-assets-stack {
  background: #f6f7f9 !important;
  background-image: none !important;
}

html:has(.topbar.admin),
body.theme-admin,
body.theme-admin > main {
  min-height: 100%;
}

body.theme-admin .dashboard.admin-layout {
  box-sizing: border-box;
  grid-template-columns: 220px minmax(0, 1fr);
  margin: 0;
  max-width: none !important;
  min-height: calc(100vh - 64px);
  padding: 24px clamp(20px, 2vw, 32px) 48px;
  width: 100%;
}

body.theme-admin .dashboard.admin-layout > .dashboard-content,
body.theme-admin .dashboard.admin-layout > .stack,
body.theme-admin .dashboard-content > *,
body.theme-admin .admin-assets-stack > .asset-page,
body.theme-admin .admin-assets-stack > .purchase-page,
body.theme-admin .admin-assets-stack > .work-create-main,
body.theme-admin .admin-assets-stack > main.asset-page,
body.theme-admin .asset-board-main,
body.theme-admin .asset-profile-content-card {
  box-sizing: border-box;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  min-width: 0;
  width: 100% !important;
}

body.theme-admin .admin-page-header {
  align-items: center !important;
  flex-direction: row;
  min-height: 88px;
}

body.theme-admin .admin-secondary-header__identity {
  align-items: center;
  display: flex;
  gap: 16px;
  min-width: 0;
}

body.theme-admin .admin-secondary-header__identity > div {
  min-width: 0;
}

body.theme-admin .admin-secondary-header__identity .button {
  flex: 0 0 auto;
  white-space: nowrap;
}

body.theme-admin .admin-secondary-header__identity h1,
body.theme-admin .admin-secondary-header__identity p {
  margin: 0;
}

body.theme-admin .admin-page-header__actions,
body.theme-admin .work-create-actions,
body.theme-admin .asset-detail-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

body.theme-admin .asset-page,
body.theme-admin .purchase-page,
body.theme-admin .purchase-editor,
body.theme-admin .upload-integrated-form {
  gap: 24px;
}

body.theme-admin .asset-search-panel,
body.theme-admin .pending-assets-toolbar,
body.theme-admin .asset-board-section {
  margin: 0 !important;
}

body.theme-admin .asset-search,
body.theme-admin .purchase-search {
  align-items: stretch;
  display: flex;
  gap: 10px;
  width: 100%;
}

body.theme-admin .asset-search input,
body.theme-admin .purchase-search input {
  flex: 1 1 auto;
  min-width: 0;
}

body.theme-admin .asset-search button,
body.theme-admin .purchase-search button {
  align-items: center;
  background: #111827;
  border: 1px solid #111827;
  border-radius: 9px;
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-weight: 700;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  white-space: nowrap;
}

body.theme-admin .pending-assets-toolbar {
  gap: 14px;
  padding: 14px 16px;
}

body.theme-admin .pending-actions {
  align-items: center;
  column-gap: 10px;
  row-gap: 10px;
}

body.theme-admin .pending-actions .button,
body.theme-admin .pending-actions select {
  flex: 0 0 auto;
  min-height: 42px;
  white-space: nowrap;
}

body.theme-admin .pending-file-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 260px));
  justify-content: start;
  width: 100%;
}

body.theme-admin .pending-file-card {
  min-width: 0;
  width: 100%;
}

body.theme-admin .asset-profile-create-card .purchase-attachment-drop {
  align-content: center !important;
  align-items: center !important;
  display: grid !important;
  justify-content: center !important;
  justify-items: center !important;
  text-align: center !important;
}

body.theme-admin .asset-profile-create-card .purchase-attachment-drop > * {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

body.theme-admin .purchase-card > h2,
body.theme-admin .purchase-card .section-title h2 {
  font-size: 18px !important;
  line-height: 1.4;
  margin: 0 0 16px;
}

body.theme-admin .purchase-card .section-title h2 {
  margin-bottom: 0;
}

body.theme-admin .purchase-editor .relation-add {
  justify-self: stretch;
  margin-left: 0;
  max-width: 820px;
  width: 100%;
}

body.theme-admin .purchase-editor .purchase-attachment-drop {
  align-content: center;
  justify-items: center;
  min-height: 150px;
  text-align: center;
}

body.theme-admin .upload-center-top {
  position: sticky;
  top: 72px;
  z-index: 8;
}

body.theme-admin .upload-integrated-form {
  padding-bottom: 0;
}

body.theme-admin .purchase-sticky-actions,
body.theme-admin .work-create-submit.asset-profile-create-actions {
  position: static;
}

@media (max-width: 1100px) {
  body.theme-admin .dashboard.admin-layout {
    gap: 18px;
    grid-template-columns: 190px minmax(0, 1fr);
    padding-left: 18px;
    padding-right: 18px;
  }

  body.theme-admin .profile-fields-compact,
  body.theme-admin .upload-profile-create-grid,
  body.theme-admin .purchase-editor .purchase-facts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  body.theme-admin .dashboard.admin-layout {
    grid-template-columns: minmax(0, 1fr);
    padding: 16px;
  }

  body.theme-admin .admin-page-header {
    align-items: stretch !important;
    flex-direction: column;
  }

  body.theme-admin .admin-secondary-header__identity {
    align-items: flex-start;
  }

  body.theme-admin .admin-page-header__actions,
  body.theme-admin .work-create-actions,
  body.theme-admin .asset-detail-actions {
    justify-content: flex-start;
  }

  body.theme-admin .upload-center-top {
    position: static;
  }
}

@media (max-width: 560px) {
  body.theme-admin .admin-secondary-header__identity {
    flex-direction: column;
    width: 100%;
  }

  body.theme-admin .admin-page-header__actions,
  body.theme-admin .work-create-actions,
  body.theme-admin .asset-detail-actions {
    align-items: stretch;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  body.theme-admin .admin-page-header__actions > *,
  body.theme-admin .work-create-actions > *,
  body.theme-admin .asset-detail-actions > * {
    width: 100%;
  }

  body.theme-admin .asset-search,
  body.theme-admin .purchase-search {
    flex-direction: column;
  }

  body.theme-admin .profile-fields-compact,
  body.theme-admin .upload-profile-create-grid,
  body.theme-admin .purchase-editor .purchase-facts-grid,
  body.theme-admin .purchase-editor .relation-add,
  body.theme-admin .pending-file-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.purchase-page{display:grid;gap:18px}.purchase-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.purchase-card,.purchase-search{background:#fff;border:1px solid #e8e9ed;border-radius:16px;padding:20px}.purchase-search{display:flex;gap:10px}.purchase-search input{flex:1}.purchase-table-wrap{overflow:auto}.purchase-table{width:100%;border-collapse:collapse;white-space:nowrap}.purchase-table th,.purchase-table td{padding:13px 10px;border-bottom:1px solid #eceef2;text-align:left}.purchase-table th{color:#687184;font-size:13px}.empty-cell{text-align:center!important;color:#7b8495}.purchase-form-grid,.purchase-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.purchase-form-grid label{display:grid;gap:7px}.purchase-form-grid .span-2{grid-column:1/-1}.purchase-tip{padding:12px 14px;border-radius:10px;background:#fff7fb;color:#79465f}.purchase-link-editor{display:grid;grid-template-columns:1fr 2fr .7fr 1.4fr auto;gap:8px;margin:10px 0}.purchase-relation-editor,.purchase-relation-detail{border:1px solid #e8e9ed;border-radius:13px;padding:16px;margin-top:12px}.purchase-relation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.relation-add{display:flex;gap:8px;flex-wrap:wrap}.purchase-sticky-actions{position:sticky;bottom:14px;display:flex;justify-content:flex-end;gap:10px;padding:12px;background:rgba(255,255,255,.94);border:1px solid #e8e9ed;border-radius:14px;backdrop-filter:blur(8px)}.purchase-detail-grid{margin:0}.purchase-detail-grid div{padding:12px;background:#f8f9fb;border-radius:10px}.purchase-detail-grid dt{font-size:13px;color:#737c8d}.purchase-detail-grid dd{margin:6px 0 0}.purchase-link-list{display:grid;gap:9px}.purchase-link-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px;border:1px solid #eceef2;border-radius:10px}.purchase-link-list a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-link-list small{grid-column:1/-1;color:#737c8d}.proof-choice-grid,.proof-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.proof-choice-grid label{position:relative;display:grid;gap:6px}.proof-choice-grid img,.proof-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid #e8e9ed}.proof-choice-grid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.status.warning{display:inline-block;color:#9a5d00;background:#fff4d6;padding:4px 8px;border-radius:99px}.purchase-record-summary-table .asset-purchase-table-head,.purchase-record-summary-table .asset-purchase-table-row{grid-template-columns:.8fr 1.2fr .8fr .7fr 1.8fr .9fr 1fr}.purchase-record-summary-table .asset-purchase-table-row span{min-width:0}.purchase-record-summary-table .asset-purchase-table-row span:nth-child(5){white-space:normal}@media(max-width:760px){.purchase-form-grid,.purchase-detail-grid{grid-template-columns:1fr}.purchase-form-grid .span-2{grid-column:auto}.purchase-link-editor{grid-template-columns:1fr}.purchase-header{align-items:flex-start;flex-direction:column}.purchase-link-list>div{grid-template-columns:1fr}}

body.theme-admin .organized-overview-section .section-title.compact{margin-top:20px;margin-bottom:12px}
body.theme-admin .organized-group-card .pending-group-cover,body.theme-admin .organized-file-card .pending-file-preview{display:block}
body.theme-admin .organized-group-card .pending-group-meta{display:grid;gap:4px}
body.theme-admin .organized-file-card .pending-file-meta{display:flex;flex-wrap:wrap;gap:6px 12px}
body.theme-admin .pending-toolbar-submit-form{display:none}

body.theme-admin .upload-profile-create-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
body.theme-admin .upload-profile-create-grid>label,body.theme-admin .upload-profile-create-grid>.upload-private-attachment{display:grid;align-content:start;gap:7px;min-width:0}
body.theme-admin .upload-material-supplement-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
body.theme-admin .upload-material-supplement-grid>label,body.theme-admin .upload-private-attachment{display:grid;gap:7px}
body.theme-admin .purchase-facts-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}
body.theme-admin .purchase-facts-grid label{display:grid;grid-template-rows:auto 44px;gap:7px}
body.theme-admin .purchase-facts-grid input{height:44px;width:100%}
body.theme-admin .material-source-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body.theme-admin .material-source-fields label,body.theme-admin .material-info-form>label{display:grid;gap:7px}
body.theme-admin .material-info-form{display:grid;gap:14px;margin-top:16px}
body.theme-admin .private-material-file-list,body.theme-admin .material-purchase-summary,body.theme-admin .asset-profile-related-groups{display:grid;gap:9px;margin-top:12px}
body.theme-admin .private-material-file-list a,body.theme-admin .material-purchase-summary a,body.theme-admin .asset-profile-related-group{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #e8e9ed;border-radius:10px;background:#fff}
body.theme-admin .profile-fields-compact{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){body.theme-admin .upload-profile-create-grid,body.theme-admin .upload-material-supplement-grid,body.theme-admin .purchase-facts-grid,body.theme-admin .material-source-fields,body.theme-admin .profile-fields-compact{grid-template-columns:1fr}}

/* Upload-center visual organization. Field names and submission behavior stay unchanged. */
body.theme-admin .upload-integrated-form {
  --upload-control-height: 44px;
  --upload-tall-control-height: 156px;
}

body.theme-admin .upload-profile-create-grid {
  align-items: start;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.theme-admin .upload-profile-create-grid > label,
body.theme-admin .upload-profile-create-grid > .upload-private-attachment {
  align-content: start;
  display: grid;
  gap: 8px;
  min-width: 0;
}

body.theme-admin .upload-profile-create-grid > label > span,
body.theme-admin .upload-attachment-label,
body.theme-admin .purchase-facts-grid label > span {
  color: #344054;
  font-size: 13px;
  font-weight: 700;
  line-height: 20px;
}

body.theme-admin .upload-profile-create-grid > label:nth-child(-n + 3) input,
body.theme-admin .purchase-facts-grid input {
  box-sizing: border-box;
  height: var(--upload-control-height);
  min-height: var(--upload-control-height);
  width: 100%;
}

body.theme-admin .upload-profile-create-grid > label:nth-child(4) textarea,
body.theme-admin .upload-profile-create-grid > label:nth-child(5) textarea {
  box-sizing: border-box;
  height: var(--upload-tall-control-height);
  min-height: var(--upload-tall-control-height);
  resize: vertical;
  width: 100%;
}

body.theme-admin .purchase-attachment-drop {
  align-content: center;
  background: #fafbfc;
  border: 1px dashed #cbd2dc;
  border-radius: 12px;
  box-sizing: border-box;
  display: grid;
  gap: 6px;
  justify-items: center;
  min-height: var(--upload-tall-control-height);
  padding: 16px;
  text-align: center;
}

body.theme-admin .purchase-attachment-drop > input[type="file"] {
  height: 1px;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  width: 1px;
}

body.theme-admin .purchase-attachment-drop > strong {
  color: #344054;
  font-size: 13px;
  line-height: 1.45;
}

body.theme-admin .purchase-attachment-drop > span,
body.theme-admin .purchase-attachment-drop > small {
  color: #667085;
  font-size: 12px;
  line-height: 1.4;
}

body.theme-admin .purchase-attachment-drop .attachment-pick-button {
  align-items: center;
  background: #fff;
  border: 1px solid #d5dae2;
  border-radius: 9px;
  color: #1d2939;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
}

body.theme-admin .purchase-attachment-drop:hover,
body.theme-admin .purchase-attachment-drop.dragging {
  background: #f8f5fa;
  border-color: #bca9c9;
}

body.theme-admin .upload-private-attachment .purchase-attachment-list {
  margin-top: 0;
  max-height: 132px;
  overflow: auto;
}

body.theme-admin .purchase-attachment-item {
  background: #fff;
  min-width: 0;
  padding: 8px 10px;
}

body.theme-admin .purchase-attachment-item > span {
  min-width: 0;
}

body.theme-admin .purchase-attachment-item > span strong {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .upload-profile-guidance {
  margin: 14px 0 0;
}

body.theme-admin .upload-purchase-fields {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.theme-admin .upload-purchase-fields > .purchase-facts-grid {
  grid-column: 1 / -1;
  margin: 0;
}

body.theme-admin .upload-purchase-fields > .upload-purchase-attachment {
  display: grid;
  gap: 8px;
  grid-column: 1;
  min-width: 0;
}

body.theme-admin .upload-purchase-attachment .purchase-attachment-drop {
  min-height: 142px;
}

body.theme-admin .upload-original-choice {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  margin-bottom: 10px;
}

body.theme-admin .upload-original-choice input {
  accent-color: #111827;
  height: 18px;
  width: 18px;
}

body.theme-admin .asset-detail-section > form,
body.theme-admin .asset-group-detail-header .panel-head-actions form {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  margin: 0;
}

@media (max-width: 480px) {
  body.theme-admin .pending-drawer-primary-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

body.theme-admin .announcement-rich-toolbar > .nova-select:first-child {
  flex:0 0 145px !important;
  max-width:145px !important;
  min-width:120px !important;
  width:145px !important;
}
body.theme-admin .announcement-rich-toolbar > .nova-select:nth-child(2) {
  flex:0 0 80px !important;
  max-width:80px !important;
  min-width:70px !important;
  width:80px !important;
}
body.theme-admin .announcement-rich-toolbar > :is(.nova-select, button, .announcement-color-control, .announcement-emoji-control),
body.theme-admin .announcement-rich-toolbar > .announcement-emoji-control > button {
  min-height:36px !important;
  height:36px !important;
}
body.theme-admin [data-announcement-image-remove][hidden] { display:none !important; }

@media (max-width: 760px) {
  body.theme-admin .announcement-rich-toolbar > .nova-select:first-child { flex:1 1 130px !important; max-width:none !important; width:auto !important; }
  body.theme-admin .announcement-rich-toolbar > .nova-select:nth-child(2) { flex:0 0 78px !important; width:78px !important; }
}

/* Native Unicode announcement Emoji picker; no image, font, or sprite assets. */
body.theme-admin .announcement-emoji-control { position:relative; }
body.theme-admin .announcement-emoji-picker {
  background:#fff;
  border:1px solid #dfe2e7;
  border-radius:14px;
  box-shadow:0 18px 42px rgba(20,24,31,.17);
  box-sizing:border-box;
  display:grid;
  gap:7px;
  grid-template-rows:auto auto auto minmax(0, 1fr);
  max-width:calc(100vw - 32px);
  overflow:hidden;
  padding:10px;
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  width:370px;
  z-index:1600;
}
body.theme-admin .announcement-emoji-picker[hidden] { display:none !important; }
body.theme-admin .announcement-emoji-search { display:block; }
body.theme-admin .announcement-emoji-search input {
  border:1px solid #dfe2e7;
  border-radius:9px;
  box-sizing:border-box;
  font-size:13px;
  height:38px;
  padding:0 11px;
  width:100%;
}
body.theme-admin .announcement-emoji-categories {
  display:flex;
  gap:3px;
  overflow-x:auto;
  padding:1px 0 5px;
}
body.theme-admin .announcement-emoji-categories button,
body.theme-admin .announcement-emoji-grid button {
  align-items:center;
  background:transparent;
  border:0;
  border-radius:8px;
  display:inline-flex;
  flex:0 0 34px;
  font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;
  font-size:20px;
  height:34px !important;
  justify-content:center;
  min-height:34px !important;
  padding:0 !important;
  width:34px !important;
}
body.theme-admin .announcement-emoji-categories button:hover,
body.theme-admin .announcement-emoji-categories button.active,
body.theme-admin .announcement-emoji-grid button:hover,
body.theme-admin .announcement-emoji-tones button.active { background:#f0f1f3; }
body.theme-admin .announcement-emoji-tones {
  align-items:center;
  display:flex;
  font-size:12px;
  gap:4px;
}
body.theme-admin .announcement-emoji-tones > span { color:#747880; margin-right:3px; }
body.theme-admin .announcement-emoji-tones button {
  background:transparent;
  border:0;
  border-radius:7px;
  font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;
  font-size:15px;
  height:30px !important;
  min-height:30px !important;
  min-width:30px;
  padding:0 5px !important;
}
body.theme-admin .announcement-emoji-grid {
  display:grid;
  gap:3px;
  grid-template-columns:repeat(8, minmax(0, 1fr));
  max-height:250px;
  min-height:190px;
  overflow-y:auto;
}
body.theme-admin .announcement-emoji-empty {
  align-self:center;
  color:#858990;
  font-size:13px;
  grid-column:1 / -1;
  justify-self:center;
}

@media (max-width: 760px) {
  body.theme-admin .announcement-emoji-picker {
    bottom:auto;
    left:16px;
    max-height:70vh;
    position:fixed;
    right:16px;
    top:86px;
    width:auto;
  }
  body.theme-admin .announcement-emoji-grid { max-height:42vh; }
}

body.theme-admin .proof-attachment-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 0;
  max-height: 230px;
  overflow: auto;
}

body.theme-admin .proof-attachment-list .purchase-attachment-item {
  align-items: center;
  display: grid;
  flex: 1 1 180px;
  gap: 7px 9px;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  max-width: 100%;
}

body.theme-admin .proof-attachment-list .purchase-attachment-item > img {
  border: 1px solid #e4e7ec;
  border-radius: 8px;
  height: 42px;
  object-fit: cover;
  width: 42px;
}

@media (max-width: 760px) {
  body.theme-admin .upload-profile-create-grid,
  body.theme-admin .upload-purchase-fields,
  body.theme-admin .purchase-facts-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .upload-purchase-fields > .purchase-facts-grid,
  body.theme-admin .upload-purchase-fields > .upload-purchase-attachment {
    grid-column: 1;
  }
}

/* Keep shared acceptance geometry last in the cascade. */
body.theme-admin .dashboard.admin-layout{background:#f6f7f9;min-height:calc(100vh - 64px)}
body.theme-admin .dashboard-content.admin-assets-stack{box-sizing:border-box;min-width:0;width:100%}
body.theme-admin .admin-assets-stack>.asset-page,body.theme-admin .admin-assets-stack>.purchase-page,body.theme-admin .admin-assets-stack>.work-create-main,body.theme-admin .admin-assets-stack>main.asset-page{box-sizing:border-box;margin-inline:auto;max-width:1680px;padding-bottom:104px;width:100%}
body.theme-admin .admin-page-header{align-items:center!important;background:#fff;border:1px solid #e7e9ee;border-radius:16px;box-shadow:0 8px 24px rgba(16,24,40,.035);display:flex!important;gap:20px;justify-content:space-between;min-height:96px;padding:20px 22px!important;width:100%}
body.theme-admin .admin-page-header h1{line-height:1.2;margin:0}body.theme-admin .admin-page-header h1+p{margin:7px 0 0}body.theme-admin .admin-page-header__actions,body.theme-admin .admin-page-header .panel-head-actions{align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:10px;justify-content:flex-end}
body.theme-admin .asset-page,body.theme-admin .purchase-page,body.theme-admin .purchase-editor,body.theme-admin .upload-integrated-form,body.theme-admin .asset-profile-workspace-form{gap:24px}
body.theme-admin .admin-section-card,body.theme-admin .asset-section,body.theme-admin .asset-search-panel,body.theme-admin .purchase-card,body.theme-admin .purchase-search,body.theme-admin .asset-profile-content-card,body.theme-admin .asset-profile-create-card{background:#fff;border:1px solid #e7e9ee;border-radius:16px;box-shadow:0 8px 24px rgba(16,24,40,.03);box-sizing:border-box}
body.theme-admin .organized-group-grid,body.theme-admin .organized-file-grid,body.theme-admin .asset-waterfall.originals,body.theme-admin .asset-profile-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));width:100%}
body.theme-admin .organized-group-card,body.theme-admin .organized-file-card,body.theme-admin .original-asset-display-card{background:#fff;border:1px solid #e7e9ee;border-radius:14px;display:flex;flex-direction:column;min-width:0;overflow:hidden}
body.theme-admin .organized-group-card .pending-group-cover,body.theme-admin .organized-file-card .pending-file-preview,body.theme-admin .original-asset-display-card .asset-card-media{aspect-ratio:4/3;background:#f1f3f6;height:auto;overflow:hidden;width:100%}
body.theme-admin .organized-group-card .pending-group-body,body.theme-admin .organized-file-card .pending-file-body,body.theme-admin .original-asset-display-body{display:flex;flex:1 1 auto;flex-direction:column;gap:12px;min-height:230px;padding:16px}
body.theme-admin .organized-group-card h3,body.theme-admin .organized-file-card h3,body.theme-admin .original-asset-display-card h3{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.theme-admin .asset-card-actionbar,body.theme-admin .original-asset-display-card .asset-card-actions{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;margin-top:auto;width:100%}body.theme-admin .original-asset-display-card .asset-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
body.theme-admin .asset-card-actionbar>a,body.theme-admin .asset-card-actionbar>details>summary,body.theme-admin .original-asset-display-card .asset-card-actions>a{align-items:center;display:inline-flex;justify-content:center;min-height:40px;overflow:hidden;padding:0 10px;text-overflow:ellipsis;white-space:nowrap}body.theme-admin .asset-card-more>summary{font-size:0;min-width:42px;padding:0}body.theme-admin .asset-card-more>summary:after{content:"⋯";font-size:20px}
body.theme-admin .original-card-placeholder{align-items:center;color:#667085;display:flex;font-size:24px;font-weight:800;height:100%;justify-content:center;letter-spacing:.08em}
body.theme-admin .upload-center-top{position:sticky;top:68px;z-index:20}body.theme-admin .upload-integrated-section{padding:20px}body.theme-admin .upload-center-grid{align-items:stretch;gap:16px}body.theme-admin .upload-center-main,body.theme-admin .upload-info-card{background:#fff;border:1px solid #e7e9ee;border-radius:14px;box-sizing:border-box;height:100%;margin:0;padding:18px}body.theme-admin .upload-center-side{height:100%;margin:0}
body.theme-admin .asset-profile-content-card{padding:20px;width:100%}body.theme-admin .asset-profile-content-card>.admin-page-header,body.theme-admin .asset-profile-create-main>.admin-page-header{margin-bottom:24px}body.theme-admin .asset-profile-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}body.theme-admin .asset-profile-card{display:flex;flex-direction:column;min-width:0}body.theme-admin .asset-profile-preview{aspect-ratio:4/3;height:auto}body.theme-admin .asset-profile-body{display:flex;flex:1;flex-direction:column}body.theme-admin .asset-profile-actions{margin-top:auto}
body.theme-admin .profile-fields-compact{grid-template-columns:repeat(3,minmax(0,1fr))}body.theme-admin .profile-fields-compact>label{align-content:start;display:grid;gap:8px;min-width:0}body.theme-admin .profile-fields-compact textarea,body.theme-admin .profile-fields-compact .purchase-attachment-drop{height:156px;min-height:156px;width:100%}
body.theme-admin .purchase-editor{display:grid;gap:24px}body.theme-admin .purchase-card{margin:0;padding:20px}body.theme-admin .purchase-editor .purchase-tip{display:none}body.theme-admin .purchase-editor .purchase-facts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body.theme-admin .purchase-editor .purchase-attachment-drop{max-width:480px;min-height:156px}body.theme-admin .purchase-editor .section-title{align-items:flex-end;gap:16px}body.theme-admin .purchase-editor .relation-add{align-items:center;display:grid;flex:1 1 560px;grid-template-columns:minmax(140px,.7fr) minmax(220px,1.4fr) auto;max-width:760px}body.theme-admin .purchase-editor [data-relations]:empty{align-items:center;color:#667085;display:flex;justify-content:center;min-height:112px}body.theme-admin .purchase-editor [data-relations]:empty:after{content:"暂未关联素材"}
@media(max-width:1100px){body.theme-admin .profile-fields-compact,body.theme-admin .upload-profile-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body.theme-admin .admin-page-header{align-items:stretch!important;flex-direction:column;min-height:0;padding:18px!important}body.theme-admin .admin-page-header__actions,body.theme-admin .admin-page-header .panel-head-actions{justify-content:flex-start;width:100%}body.theme-admin .upload-center-top{position:static}body.theme-admin .upload-center-grid,body.theme-admin .profile-fields-compact,body.theme-admin .upload-profile-create-grid,body.theme-admin .purchase-editor .purchase-facts-grid,body.theme-admin .purchase-editor .relation-add{grid-template-columns:minmax(0,1fr)}body.theme-admin .purchase-editor .section-title{align-items:stretch;flex-direction:column}body.theme-admin .purchase-editor .purchase-attachment-drop{max-width:none}body.theme-admin .organized-group-grid,body.theme-admin .organized-file-grid,body.theme-admin .asset-profile-grid,body.theme-admin .asset-waterfall.originals{grid-template-columns:minmax(0,1fr)}body.theme-admin .admin-assets-stack>.asset-page,body.theme-admin .admin-assets-stack>.purchase-page,body.theme-admin .admin-assets-stack>.work-create-main,body.theme-admin .admin-assets-stack>main.asset-page{overflow-x:clip;padding-bottom:120px}}

/* Final cascade lock for the actual admin shell and responsive regression fix. */
html:has(.topbar.admin),body.theme-admin,body.theme-admin>main,body.theme-admin .dashboard.admin-layout,body.theme-admin .dashboard-content,body.theme-admin .admin-assets-stack{background:#f6f7f9!important;background-image:none!important}
body.theme-admin .dashboard.admin-layout{box-sizing:border-box;grid-template-columns:220px minmax(0,1fr);margin:0;max-width:none!important;min-height:calc(100vh - 64px);padding:24px clamp(20px,2vw,32px) 48px;width:100%}
body.theme-admin .dashboard.admin-layout>.dashboard-content,body.theme-admin .dashboard.admin-layout>.stack,body.theme-admin .dashboard-content>*,body.theme-admin .admin-assets-stack>.asset-page,body.theme-admin .admin-assets-stack>.purchase-page,body.theme-admin .admin-assets-stack>.work-create-main,body.theme-admin .admin-assets-stack>main.asset-page,body.theme-admin .asset-board-main,body.theme-admin .asset-profile-content-card{box-sizing:border-box;margin-left:0!important;margin-right:0!important;max-width:none!important;min-width:0;width:100%!important}
body.theme-admin .admin-page-header{align-items:center!important;flex-direction:row;min-height:88px}body.theme-admin .admin-secondary-header__identity{align-items:center;display:flex;gap:16px;min-width:0}body.theme-admin .admin-secondary-header__identity>div{min-width:0}body.theme-admin .admin-secondary-header__identity .button{flex:0 0 auto;white-space:nowrap}
body.theme-admin .asset-page,body.theme-admin .purchase-page,body.theme-admin .purchase-editor,body.theme-admin .upload-integrated-form{gap:24px}body.theme-admin .asset-search-panel,body.theme-admin .pending-assets-toolbar,body.theme-admin .asset-board-section{margin:0!important}
body.theme-admin .asset-search,body.theme-admin .purchase-search{align-items:stretch;display:flex;gap:10px;width:100%}body.theme-admin .asset-search input,body.theme-admin .purchase-search input{flex:1 1 auto;min-width:0}body.theme-admin .asset-search button,body.theme-admin .purchase-search button{align-items:center;background:#111827;border:1px solid #111827;border-radius:9px;color:#fff;display:inline-flex;flex:0 0 auto;font-weight:700;justify-content:center;min-height:44px;padding:0 22px;white-space:nowrap}
body.theme-admin .pending-assets-toolbar{gap:16px;padding:14px 16px}body.theme-admin .pending-actions{align-items:center;column-gap:10px;row-gap:10px}body.theme-admin .pending-actions .button,body.theme-admin .pending-actions select{flex:none;min-height:44px;white-space:nowrap}
body.theme-admin .pending-file-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,260px));justify-content:start;width:100%}body.theme-admin .pending-file-card{min-width:0;width:100%}
body.theme-admin .asset-profile-create-card .purchase-attachment-drop{align-content:center!important;align-items:center!important;display:grid!important;justify-content:center!important;justify-items:center!important;text-align:center!important}body.theme-admin .asset-profile-create-card .purchase-attachment-drop>*{margin-left:auto;margin-right:auto;text-align:center}
body.theme-admin .purchase-card>h2,body.theme-admin .purchase-card .section-title h2{font-size:18px!important;line-height:1.4;margin:0 0 16px}body.theme-admin .purchase-card .section-title h2{margin-bottom:0}body.theme-admin .purchase-editor .relation-add{justify-self:stretch;margin-left:0;max-width:820px;width:100%}
body.theme-admin .upload-center-top{position:sticky;top:72px;z-index:8}body.theme-admin .upload-integrated-form{padding-bottom:0}
@media(max-width:1100px){body.theme-admin .dashboard.admin-layout{gap:18px;grid-template-columns:190px minmax(0,1fr);padding-left:18px;padding-right:18px}body.theme-admin .pending-actions{align-items:center;flex-wrap:wrap}body.theme-admin .profile-fields-compact,body.theme-admin .upload-profile-create-grid,body.theme-admin .purchase-editor .purchase-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){body.theme-admin .dashboard.admin-layout{grid-template-columns:minmax(0,1fr);padding:16px}body.theme-admin .admin-page-header{align-items:stretch!important;flex-direction:column}body.theme-admin .admin-secondary-header__identity{align-items:flex-start}body.theme-admin .admin-page-header__actions,body.theme-admin .work-create-actions,body.theme-admin .asset-detail-actions{justify-content:flex-start}body.theme-admin .upload-center-top{position:static}}
@media(max-width:560px){body.theme-admin .admin-secondary-header__identity{flex-direction:column;width:100%}body.theme-admin .admin-page-header__actions,body.theme-admin .work-create-actions,body.theme-admin .asset-detail-actions{align-items:stretch;display:grid;grid-template-columns:minmax(0,1fr);width:100%}body.theme-admin .admin-page-header__actions>*,body.theme-admin .work-create-actions>*,body.theme-admin .asset-detail-actions>*{width:100%}body.theme-admin .asset-search,body.theme-admin .purchase-search{flex-direction:column}body.theme-admin .profile-fields-compact,body.theme-admin .upload-profile-create-grid,body.theme-admin .purchase-editor .purchase-facts-grid,body.theme-admin .purchase-editor .relation-add,body.theme-admin .pending-file-grid{grid-template-columns:minmax(0,1fr)}}

/* Work media picker must collapse with the form instead of retaining its old 650px canvas. */
@media(max-width:700px){
  body.theme-admin .work-create-main .work-asset-search{display:grid;grid-template-columns:minmax(0,1fr);min-width:0!important;width:100%}
  body.theme-admin .work-create-main .work-asset-search>input:not([type="hidden"]),
  body.theme-admin .work-create-main .work-asset-search>[data-apply-work-asset-filter],
  body.theme-admin .work-create-main .work-asset-search>.work-asset-filter-dropdown{box-sizing:border-box;max-width:none!important;width:100%!important}
}
@media(max-width:560px){
  body.theme-admin .work-create-main .work-asset-selector{grid-template-columns:minmax(0,1fr)!important}
  body.theme-admin .work-create-main .work-asset-card{min-width:0;width:100%}
}

/* 2026-07-19 focused UI acceptance: topbar clearance, opaque sticky headers and aligned profile fields. */
body.theme-admin {
  --admin-topbar-height: 64px;
  --admin-page-gap: 24px;
  --admin-section-gap: 20px;
  --admin-surface-bg: #f6f7f9;
}

body.theme-admin .topbar.admin {
  height: var(--admin-topbar-height);
  min-height: var(--admin-topbar-height);
  position: fixed;
  top: 0;
  z-index: 500;
}

body.theme-admin .dashboard.admin-layout {
  min-height: 100vh;
  padding-top: calc(var(--admin-topbar-height) + var(--admin-page-gap));
}

body.theme-admin .dashboard.admin-layout .asset-board-main {
  height: auto;
  min-height: 0;
  overflow: visible;
}

body.theme-admin .admin-page-header {
  background: var(--admin-surface-bg) !important;
  background-image: none !important;
  box-sizing: border-box;
  isolation: isolate;
  overflow: visible;
}

body.theme-admin .admin-page-header.upload-center-top,
body.theme-admin .admin-secondary-header {
  background: var(--admin-surface-bg) !important;
  border-bottom: 1px solid #dfe3e9 !important;
  box-shadow: 0 8px 16px rgba(17, 24, 39, 0.06) !important;
  position: sticky !important;
  top: var(--admin-topbar-height) !important;
  z-index: 120;
}

body.theme-admin .dashboard.admin-layout .pending-assets-page {
  display: grid;
  gap: var(--admin-section-gap);
}

body.theme-admin .pending-assets-page > .admin-page-header,
body.theme-admin .pending-assets-page > .asset-search-panel,
body.theme-admin .pending-assets-page > .pending-assets-toolbar,
body.theme-admin .pending-assets-page > .asset-board-section {
  margin: 0 !important;
}

body.theme-admin .profile-fields-compact {
  align-items: stretch;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.theme-admin .profile-fields-compact > label,
body.theme-admin .profile-fields-compact > .profile-file-field {
  align-content: start;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

body.theme-admin .profile-fields-compact > label > span,
body.theme-admin .profile-file-field > span {
  color: #344054;
  font-size: 13px;
  font-weight: 700;
  line-height: 20px;
}

body.theme-admin .profile-fields-compact > label > textarea,
body.theme-admin .profile-file-control {
  box-sizing: border-box;
  height: 156px;
  min-height: 156px;
  width: 100%;
}

body.theme-admin .profile-file-control {
  border-radius: 12px;
  overflow: auto;
}

body.theme-admin .profile-file-control > .purchase-attachment-drop {
  align-content: center !important;
  box-sizing: border-box;
  height: 156px;
  justify-items: center !important;
  margin: 0;
  min-height: 156px;
  text-align: center;
  width: 100%;
}

body.theme-admin .profile-file-control > .purchase-attachment-list,
body.theme-admin .upload-private-attachment > .purchase-attachment-list {
  max-height: 120px;
  overflow: auto;
}

@media (max-width: 1100px) {
  body.theme-admin .profile-fields-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  body.theme-admin .dashboard.admin-layout {
    padding-top: calc(var(--admin-topbar-height) + 16px);
  }
}

@media (max-width: 560px) {
  body.theme-admin .profile-fields-compact {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .profile-fields-compact > label > textarea,
  body.theme-admin .profile-file-control {
    height: auto;
    min-height: 144px;
  }

body.theme-admin .profile-file-control > .purchase-attachment-drop {
    height: auto;
    min-height: 144px;
  }
}

/* Asset-center page structure: shared main header and compact section cards. */
body.theme-admin { --admin-section-gap: 14px; }
body.theme-admin .admin-page-stack { display:grid!important; gap:var(--admin-section-gap); min-width:0; }
body.theme-admin .admin-main-page-header { background:transparent!important; border:0!important; border-bottom:1px solid #dfe3e9!important; border-radius:0!important; box-shadow:none!important; box-sizing:border-box; margin:0!important; min-height:112px; padding:20px 0!important; }
body.theme-admin .admin-page-header__content,body.theme-admin .admin-page-header__text { min-width:0; }
body.theme-admin .admin-page-header__text { display:grid; gap:7px; }
body.theme-admin .admin-page-header__title { font-size:clamp(28px,2.2vw,36px); line-height:1.2; margin:0; }
body.theme-admin .admin-page-header__description { line-height:1.6; margin:0!important; max-width:840px; }
body.theme-admin .admin-section-card { background:#fff; border:1px solid #e7e9ee; border-radius:16px; box-shadow:0 8px 24px rgba(16,24,40,.03); box-sizing:border-box; margin:0!important; min-width:0; }
body.theme-admin .admin-section-card__header { align-items:center; display:flex; gap:14px; justify-content:space-between; margin-bottom:14px; }
body.theme-admin .admin-section-card__header>:is(h2,h3),body.theme-admin .admin-section-card__header.section-title>:is(h2,h3) { margin:0; }
body.theme-admin .admin-section-card__body { min-width:0; }
body.theme-admin .organized-overview-summary__counts { display:flex; flex-wrap:wrap; gap:10px; }
body.theme-admin .organized-overview-summary__counts>span { align-items:baseline; background:#f7f8fa; border-radius:10px; color:#667085; display:inline-flex; gap:7px; padding:9px 12px; }
body.theme-admin .organized-overview-summary__counts strong { color:#111827; font-size:16px; }
body.theme-admin .asset-profile-list-page .asset-search-panel,body.theme-admin .asset-profile-list-page .asset-board-section { margin:0!important; }
body.theme-admin .purchase-page>.purchase-search.admin-section-card,body.theme-admin .purchase-page>.purchase-card.admin-section-card { margin:0; }
body.theme-admin .admin-main-page-header.upload-center-top { background:var(--admin-surface-bg)!important; border-bottom:1px solid #dfe3e9!important; box-shadow:0 8px 16px rgba(17,24,39,.06)!important; top:var(--admin-topbar-height)!important; }
@media(max-width:820px){body.theme-admin .admin-main-page-header{min-height:0;padding:18px 0!important}body.theme-admin .admin-page-header__actions{width:100%}}
@media(max-width:560px){body.theme-admin{--admin-section-gap:12px}body.theme-admin .admin-page-header__title{font-size:28px}body.theme-admin .admin-section-card__header{align-items:flex-start}}

body.theme-admin .asset-profile-list-page { padding:0!important; }
body.theme-admin .upload-integrated-form { gap:var(--admin-section-gap); }
body.theme-admin .upload-drop-card>input[type="file"] { box-sizing:border-box; height:100%!important; inset:0!important; max-width:100%; pointer-events:none; width:100%!important; }

/* Upload center: shared admin cards, controls and responsive form rhythm. */
body.theme-admin .upload-center-top.admin-main-page-header {
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  box-shadow:none!important;
  min-height:96px;
  padding:24px!important;
}

body.theme-admin .upload-center-top .admin-page-header__actions {
  gap:10px;
}

body.theme-admin .upload-center-top .button {
  align-items:center;
  border-radius:10px;
  display:inline-flex;
  height:44px;
  justify-content:center;
  min-height:44px;
  padding:0 20px;
}

body.theme-admin .upload-integrated-form {
  gap:16px;
}

body.theme-admin .upload-flow-steps,
body.theme-admin .upload-integrated-section.admin-section-card {
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  box-shadow:none;
  box-sizing:border-box;
  margin:0;
  padding:24px;
}

body.theme-admin .upload-flow-steps {
  align-items:center;
}

body.theme-admin .upload-flow-steps>div {
  align-items:center;
  min-height:42px;
}

body.theme-admin .upload-integrated-section>.section-title {
  align-items:center;
  border-bottom:1px solid #eef0f3;
  margin-bottom:16px;
  padding-bottom:14px;
}

body.theme-admin .upload-center-grid {
  align-items:stretch;
  display:grid;
  gap:16px;
  grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);
  min-width:0;
}

body.theme-admin .upload-center-main,
body.theme-admin .upload-center-side,
body.theme-admin .upload-info-card {
  box-sizing:border-box;
  min-width:0;
}

body.theme-admin .upload-center-main,
body.theme-admin .upload-info-card {
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  box-shadow:none;
  height:100%;
  padding:16px;
}

body.theme-admin .upload-info-card {
  align-content:start;
  display:grid;
  gap:14px;
}

body.theme-admin .upload-info-card h2 { margin:0; }

body.theme-admin .upload-info-card > label,
body.theme-admin .upload-profile-panel > label,
body.theme-admin .purchase-facts-grid > label {
  align-content:start;
  display:grid;
  gap:7px;
  min-width:0;
}

body.theme-admin .upload-info-card > label > span,
body.theme-admin .upload-profile-panel > label > span,
body.theme-admin .purchase-facts-grid > label > span {
  color:#344054;
  font-size:14px;
  font-weight:700;
  line-height:20px;
}

body.theme-admin .upload-integrated-form :is(input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),select) {
  border-radius:10px;
  box-sizing:border-box;
  font-size:14px;
  height:44px;
  min-height:44px;
  width:100%;
}

body.theme-admin .upload-integrated-form textarea {
  border-radius:10px;
  box-sizing:border-box;
  font-size:14px;
  min-height:112px;
  resize:vertical;
  width:100%;
}

body.theme-admin .upload-drop-card {
  align-content:center;
  background:#fbfcfd;
  border:1px dashed #cbd2dc;
  border-radius:16px;
  box-sizing:border-box;
  display:grid;
  gap:12px;
  justify-items:center;
  margin-top:14px;
  min-height:300px;
  overflow:hidden;
  padding:24px;
  text-align:center;
}

body.theme-admin .upload-drop-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
}

body.theme-admin .upload-drop-actions > button {
  align-items:center;
  border-radius:10px;
  display:inline-flex;
  flex:0 0 auto;
  font-size:14px;
  font-weight:700;
  height:44px;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  white-space:nowrap;
}

body.theme-admin .upload-choice-row {
  display:grid;
  gap:12px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-bottom:16px;
  min-width:0;
}

body.theme-admin .upload-choice-row > label {
  align-content:center;
  background:#fff;
  border:1px solid #d9dee7;
  border-radius:10px;
  box-sizing:border-box;
  color:#111827;
  cursor:pointer;
  display:grid;
  gap:4px;
  min-height:72px;
  min-width:0;
  padding:12px 14px;
  position:relative;
}

body.theme-admin .upload-choice-row > label::after {
  color:#667085;
  content:"";
  font-size:13px;
  font-weight:400;
  line-height:1.4;
}

body.theme-admin .upload-choice-row > label:nth-child(1)::after { content:"绑定已有来源信息"; }
body.theme-admin .upload-choice-row > label:nth-child(2)::after { content:"创建新的来源档案"; }
body.theme-admin .upload-choice-row > label:nth-child(3)::after { content:"后续整理时处理"; }

body.theme-admin .upload-choice-row input[type="radio"] {
  -webkit-appearance:none!important;
  appearance:none!important;
  height:1px!important;
  inset:auto!important;
  margin:0!important;
  opacity:0!important;
  overflow:hidden;
  padding:0!important;
  pointer-events:none;
  position:absolute!important;
  width:1px!important;
}

body.theme-admin .upload-choice-row > label:has(input[type="radio"]:checked) {
  background:#f7f8fa;
  border-color:#111827;
  box-shadow:inset 0 0 0 1px #111827;
}

body.theme-admin .upload-choice-row > label:focus-within {
  outline:3px solid rgba(17,24,39,.13);
  outline-offset:2px;
}

body.theme-admin .upload-profile-panel {
  background:#f8f9fb;
  border:1px solid #e5e7eb;
  border-radius:12px;
  box-sizing:border-box;
  padding:16px;
}

body.theme-admin .upload-profile-panel[hidden],
body.theme-admin [data-purchase-fields][hidden] { display:none!important; }

body.theme-admin .upload-purchase-fields {
  align-items:start;
  display:grid;
  gap:16px;
  grid-template-columns:minmax(0,1fr);
}

body.theme-admin .upload-purchase-fields > .purchase-facts-grid {
  display:grid;
  gap:16px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  min-width:0;
}

body.theme-admin .upload-purchase-attachment {
  max-width:420px;
  min-width:0;
  width:100%;
}

@media(max-width:820px) {
  body.theme-admin .upload-center-top.admin-main-page-header {
    padding:18px!important;
  }

  body.theme-admin .upload-center-grid {
    grid-template-columns:minmax(0,1fr);
  }

  body.theme-admin .upload-choice-row {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:560px) {
  body.theme-admin .upload-center-top .admin-page-header__actions {
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }

  body.theme-admin .upload-center-top .button {
    width:100%;
  }

  body.theme-admin .upload-flow-steps,
  body.theme-admin .upload-integrated-section.admin-section-card {
    padding:18px;
  }

  body.theme-admin .upload-choice-row,
  body.theme-admin .upload-purchase-fields > .purchase-facts-grid {
    grid-template-columns:minmax(0,1fr);
  }

  body.theme-admin .upload-choice-row > label { min-height:68px; }

  body.theme-admin .upload-drop-card {
    min-height:240px;
    padding:18px;
  }

  body.theme-admin .upload-drop-actions {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    width:100%;
  }

  body.theme-admin .upload-drop-actions > button,
  body.theme-admin .upload-purchase-attachment { width:100%; }
}

/* Admin dashboard and shared visual tokens: 2026-07-22. */
body.theme-admin {
  --admin-control-height:44px;
  --admin-control-radius:10px;
  --admin-card-radius:16px;
  --admin-surface-gap:16px;
  --admin-status-height:26px;
}

body.theme-admin :is(.button,button.button,a.button,.text-button) {
  align-items:center;
  border-radius:var(--admin-control-radius)!important;
  box-sizing:border-box;
  display:inline-flex;
  font-size:14px!important;
  font-weight:700!important;
  height:var(--admin-control-height)!important;
  justify-content:center;
  line-height:1!important;
  min-height:var(--admin-control-height)!important;
  padding:0 16px;
  white-space:nowrap;
}

body.theme-admin :is(
  .admin-section-card,
  .admin-stat-card,
  .admin-focus-panel,
  .admin-activity-panel,
  .purchase-card,
  .work-create-panel,
  .admin-work-card,
  .organized-group-card,
  .organized-file-card,
  .original-asset-display-card,
  .asset-profile-card,
  .material-card
) {
  background:#fff;
  border-radius:var(--admin-card-radius)!important;
}

body.theme-admin .admin-dashboard .dashboard-content {
  gap:var(--admin-surface-gap);
}

body.theme-admin .admin-dashboard-header {
  margin:0;
}

body.theme-admin .admin-stat-grid {
  display:grid;
  gap:var(--admin-surface-gap);
  grid-template-columns:repeat(5,minmax(0,1fr));
  margin:0;
  min-width:0;
}

body.theme-admin .admin-stat-card {
  border:1px solid #e7eaf0;
  color:#111827;
  display:flex;
  flex-direction:column;
  gap:8px;
  justify-content:center;
  min-height:142px;
  min-width:0;
  padding:20px;
  text-decoration:none!important;
  transition:border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease;
}

body.theme-admin .admin-stat-card:hover {
  border-color:#d9dce3;
  box-shadow:0 10px 24px rgba(16,24,40,.07);
  transform:translateY(-2px);
}

body.theme-admin .admin-stat-card span {
  color:#667085;
  font-size:13px;
  font-weight:700;
}

body.theme-admin .admin-stat-card strong {
  color:#111827;
  font-size:32px;
  line-height:1.1;
}

body.theme-admin .admin-stat-card small {
  color:#98a2b3;
  font-size:12px;
  line-height:1.45;
  min-height:35px;
}

body.theme-admin .admin-home-focus-grid {
  gap:var(--admin-surface-gap);
}

body.theme-admin :is(
  .status-pill,
  .pending-status-pill,
  .asset-status-pill,
  .pending-original-badge,
  .asset-lock-mini.is-original,
  .original-mark
) {
  align-items:center;
  border:1px solid transparent;
  border-radius:999px!important;
  box-sizing:border-box;
  display:inline-flex;
  font-size:12px!important;
  font-weight:700!important;
  height:var(--admin-status-height)!important;
  justify-content:center;
  line-height:1!important;
  min-height:var(--admin-status-height)!important;
  padding:0 9px!important;
  white-space:nowrap;
}

body.theme-admin :is(.status-pill.is-draft,.status-pill:not(.ok):not(.warn):not(.is-published):not(.is-unlisted):not(.is-pending):not(.is-organized):not(.is-original):not(.is-history)) {
  background:#f2f4f7;
  border-color:#e4e7ec;
  color:#475467;
}

body.theme-admin :is(.status-pill.is-published,.status-pill.ok) {
  background:#ecfdf3;
  border-color:#abefc6;
  color:#067647;
}

body.theme-admin :is(.status-pill.is-unlisted,.status-pill.warn) {
  background:#fef3f2;
  border-color:#fecdca;
  color:#b42318;
}

body.theme-admin :is(.status-pill.is-pending,.pending-status-pill,.asset-status-pill.status-pending,.asset-status-pill.status-unorganized) {
  background:#fffaeb;
  border-color:#fedf89;
  color:#b54708;
}

body.theme-admin :is(.status-pill.is-organized,.asset-status-pill.status-organized,.asset-status-pill.status-used) {
  background:#eff8ff;
  border-color:#b2ddff;
  color:#175cd3;
}

body.theme-admin :is(.status-pill.is-original,.pending-original-badge,.asset-lock-mini.is-original,.original-mark) {
  background:#f9f5ff;
  border-color:#e9d7fe;
  color:#6941c6;
}

body.theme-admin .status-pill.is-history {
  background:#f8f9fc;
  border-color:#d5d9eb;
  color:#363f72;
}

@media(max-width:1180px) {
  body.theme-admin .admin-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media(max-width:700px) {
  body.theme-admin .admin-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Compact work filters live with search and sorting instead of occupying a list row. */
body:not(.theme-admin) .home-page-shell .work-filter-menu {
  flex:0 0 auto;
  position:relative;
  z-index:35;
}

body:not(.theme-admin) .home-page-shell .work-filter-menu,
body:not(.theme-admin) .home-page-shell .work-filter-menu :is(
  summary,
  span,
  small,
  strong,
  a
) {
  -webkit-text-stroke:0 transparent!important;
  -webkit-text-stroke-color:transparent!important;
  -webkit-text-stroke-width:0!important;
  box-shadow:none!important;
  filter:none!important;
  font-synthesis:none!important;
  paint-order:normal!important;
  text-shadow:none!important;
}

body:not(.theme-admin) .home-page-shell .design-toolbar-form :is(
  .home-sort-trigger,
  .work-filter-trigger
) {
  font-family:inherit;
  font-size:14px;
  font-weight:400;
  line-height:normal;
}

body:not(.theme-admin) .home-page-shell .work-filter-trigger {
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  box-shadow:none;
  box-sizing:border-box;
  color:#111;
  cursor:pointer;
  display:inline-flex;
  gap:7px;
  height:40px;
  justify-content:center;
  list-style:none;
  min-width:0;
  padding:0 36px 0 16px;
  position:relative;
  user-select:none;
}

body:not(.theme-admin) .home-page-shell .work-filter-trigger::-webkit-details-marker {
  display:none;
}

body:not(.theme-admin) .home-page-shell .work-filter-trigger::after {
  border-bottom:1.5px solid #6b7280;
  border-right:1.5px solid #6b7280;
  content:"";
  height:7px;
  position:absolute;
  right:17px;
  top:14px;
  transform:rotate(45deg);
  transition:transform 160ms ease;
  width:7px;
}

body:not(.theme-admin) .home-page-shell .work-filter-menu[open] .work-filter-trigger::after {
  top:18px;
  transform:rotate(225deg);
}

body:not(.theme-admin) .home-page-shell .work-filter-menu[open] .work-filter-trigger,
body:not(.theme-admin) .home-page-shell .work-filter-trigger:hover,
body:not(.theme-admin) .home-page-shell .work-filter-trigger:focus-visible {
  background:#fff;
  border-color:var(--line);
  box-shadow:none;
  color:#111;
  outline:none;
}

body:not(.theme-admin) .home-page-shell .work-filter-trigger small {
  align-items:center;
  background:#111827;
  border-radius:999px;
  color:#fff;
  display:inline-flex;
  font-size:11px;
  height:18px;
  justify-content:center;
  min-width:18px;
  padding:0 4px;
}

body:not(.theme-admin) .home-page-shell .work-filter-popover {
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:16px;
  box-shadow:0 18px 48px rgba(16,24,40,.14);
  box-sizing:border-box;
  display:grid;
  gap:16px;
  max-height:min(68vh,620px);
  overflow:auto;
  padding:18px;
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:min(680px,calc(100vw - 48px));
  z-index:90;
}

body:not(.theme-admin) .home-page-shell .work-filter-group {
  display:grid;
  gap:9px;
  min-width:0;
}

body:not(.theme-admin) .home-page-shell .work-filter-group + .work-filter-group {
  border-top:1px solid #eaecf0;
  padding-top:16px;
}

body:not(.theme-admin) .home-page-shell .work-filter-group > strong {
  color:#101828;
  font-size:13px;
  font-style:normal;
  font-weight:400;
  letter-spacing:normal;
  line-height:1.4;
}

body:not(.theme-admin) .home-page-shell .work-filter-options,
body:not(.theme-admin) .home-page-shell .work-color-filter {
  align-items:center;
  background:transparent;
  border:0;
  border-radius:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  overflow:visible;
  padding:0;
}

body:not(.theme-admin) .home-page-shell .work-filter-options--secondary {
  border-top:1px dashed #e4e7ec;
  padding-top:9px;
}

body:not(.theme-admin) .home-page-shell .work-filter-options a,
body:not(.theme-admin) .home-page-shell .work-color-filter__item {
  align-items:center;
  background:#f8fafc;
  border:1px solid #e4e7ec;
  border-radius:999px;
  color:#475467;
  display:inline-flex;
  flex:0 0 auto;
  font-size:13px;
  font-weight:400;
  gap:6px;
  min-height:34px;
  padding:0 11px;
  text-decoration:none;
}

body:not(.theme-admin) .home-page-shell .work-filter-options a:hover,
body:not(.theme-admin) .home-page-shell .work-filter-options a:focus-visible,
body:not(.theme-admin) .home-page-shell .work-filter-options a.active,
body:not(.theme-admin) .home-page-shell .work-color-filter__item:hover,
body:not(.theme-admin) .home-page-shell .work-color-filter__item:focus-visible,
body:not(.theme-admin) .home-page-shell .work-color-filter__item.active {
  background:#eef2f6;
  border-color:#98a2b3;
  color:#101828;
}

body:not(.theme-admin) .home-page-shell .work-filter-footer {
  border-top:1px solid #eaecf0;
  display:flex;
  justify-content:flex-end;
  padding-top:14px;
}

body:not(.theme-admin) .home-page-shell .work-filter-footer a {
  color:#344054;
  font-size:13px;
  font-weight:400;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:700px) {
  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-form :is(
    .home-sort-trigger,
    .work-filter-trigger
  ) {
    height:40px!important;
    min-height:40px!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-form {
    grid-template-columns:minmax(0,1fr) auto!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-search {
    grid-column:1/-1;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .home-sort-dropdown {
    grid-column:1;
    min-width:0;
    width:100%!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .work-filter-menu {
    grid-column:2;
  }

  body:not(.theme-admin) .home-page-shell .work-filter-trigger {
    height:40px;
    min-width:0;
    width:auto;
  }

  body:not(.theme-admin) .home-page-shell .work-filter-popover {
    max-height:64vh;
    padding:15px;
    right:0;
    width:calc(100vw - 32px);
  }

  body:not(.theme-admin) .home-page-shell .work-filter-options,
  body:not(.theme-admin) .home-page-shell .work-color-filter {
    flex-wrap:wrap;
    gap:7px;
  }

}

@media(min-width:701px) and (max-width:1180px) {
  body.theme-admin .admin-work-card-body {
    grid-template-columns:minmax(180px,1fr) minmax(110px,.65fr) 190px!important;
  }
}

@media(min-width:701px) {
  body.theme-admin .admin-work-card .admin-work-card-body {
    grid-template-columns:minmax(210px,1.2fr) minmax(145px,.8fr) 390px!important;
  }

  body.theme-admin .admin-work-card .admin-work-card-actions {
    align-items:center;
    display:flex!important;
    flex-wrap:nowrap;
    gap:10px;
    grid-template-columns:none!important;
    min-width:390px!important;
    width:390px;
  }

  body.theme-admin .admin-work-card .admin-work-card-actions > :is(a,form),
  body.theme-admin .admin-work-card .admin-work-card-actions > form > button {
    flex:0 0 90px;
    width:90px!important;
  }
}

@media(min-width:701px) and (max-width:1180px) {
  body.theme-admin .admin-work-card .admin-work-card-actions {
    grid-column:1 / -1!important;
    grid-row:4!important;
    justify-content:flex-end;
  }
}

@media(min-width:701px) {
  body.theme-admin .admin-work-card .admin-work-card-media {
    align-self:center;
    aspect-ratio:auto;
    border-radius:10px;
    height:80px!important;
    min-height:80px!important;
    overflow:clip;
    width:120px;
  }

  body.theme-admin .admin-work-card .admin-work-card-media img {
    display:block;
    height:100%!important;
    object-fit:cover;
    object-position:center;
    width:100%!important;
  }
}

/* v1.2.0 mobile-only adaptation. PC rules above remain unchanged. */
@media (max-width:760px) {
  html,
  body {
    max-width:100%;
    overflow-x:clip;
  }

  body:not(.theme-admin) {
    padding-bottom:calc(70px + env(safe-area-inset-bottom));
  }

  body:not(.theme-admin) .topbar {
    min-height:54px;
    padding:8px 14px;
  }

  body:not(.theme-admin) .public-header-container {
    min-width:0;
    width:100%;
  }

  body:not(.theme-admin) .public-header-container > nav {
    display:none;
  }

  body:not(.theme-admin) .mobile-bottom-nav {
    align-items:stretch;
    background:rgba(255,255,255,.96);
    border-top:1px solid #e7eaf0;
    box-shadow:0 -8px 24px rgba(15,23,42,.07);
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    min-height:64px;
    padding:4px 8px calc(4px + env(safe-area-inset-bottom));
  }

  body:not(.theme-admin) .mobile-bottom-nav a {
    align-items:center;
    border-radius:12px;
    display:flex;
    flex-direction:column;
    font-size:11px;
    gap:2px;
    justify-content:center;
    min-height:52px;
    padding:4px 8px;
    text-decoration:none;
  }

  body:not(.theme-admin) .mobile-bottom-nav a > span {
    font-size:20px;
    font-style:normal;
    line-height:1;
  }

  body:not(.theme-admin) .mobile-bottom-nav a > em {
    font-size:11px;
    font-style:normal;
    font-weight:700;
    line-height:1.2;
  }

  body:not(.theme-admin) .mobile-bottom-nav a.active {
    background:#f7eef4;
    color:#7b3f60;
  }

  body.theme-white:not(.theme-admin) .home-page-shell,
  body.theme-white:not(.theme-admin) .announcement-page,
  body.theme-white:not(.theme-admin) .album-page {
    box-sizing:border-box;
    max-width:100%;
    min-width:0;
    overflow-x:clip;
  }

  body.theme-white:not(.theme-admin) .material-storefront {
    padding:10px 12px 0;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation,
  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section,
  body.theme-white:not(.theme-admin) .announcement-shell {
    box-sizing:border-box;
    margin-left:auto;
    margin-right:auto;
    max-width:100%;
    padding-left:12px;
    padding-right:12px;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .home-banner-list,
  body.theme-white:not(.theme-admin) .home-page-shell .home-banner-card {
    border-radius:14px;
    max-width:100%;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-grid {
    gap:10px;
    overflow-x:auto;
    padding:2px 12px 10px;
    scroll-snap-type:x proximity;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card {
    flex-basis:172px!important;
    min-height:112px;
    scroll-snap-align:start;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .category-list-toolbar {
    align-items:stretch;
    gap:10px;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-form {
    display:grid;
    gap:8px;
    grid-template-columns:minmax(0,1fr) auto;
    width:100%;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-search {
    min-width:0;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-form > button,
  body.theme-white:not(.theme-admin) .home-page-shell .home-sort-trigger {
    min-height:44px;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .mall-work-grid,
  body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-grid {
    gap:10px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .portfolio-work-card,
  body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card {
    border-radius:12px!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .portfolio-work-card .work-card-media,
  body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card .work-card-media {
    aspect-ratio:4 / 3;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .portfolio-work-card .work-card-body,
  body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card .work-card-body {
    gap:5px;
    padding:9px!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .home-work-card-heading h3,
  body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .home-work-card-heading h3 {
    font-size:13px;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .home-work-category,
  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .home-work-card-summary,
  body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .home-work-category,
  body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .home-work-card-summary {
    display:none;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell {
    overflow-x:clip;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-work-gallery {
    touch-action:pan-y;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-work-gallery-track,
  body.theme-white:not(.theme-admin) .case-detail-page .case-work-gallery-slide {
    overflow:hidden;
    width:100%;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-work-gallery-slide video,
  body.theme-white:not(.theme-admin) .case-detail-page .case-content-video video {
    aspect-ratio:16 / 9;
    background:#111;
    height:auto!important;
    max-height:76vh;
    object-fit:contain;
    width:100%!important;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-work-gallery-arrow {
    height:44px;
    width:44px;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-work-gallery-dots button {
    height:10px;
    min-width:10px;
    width:10px;
  }

  body.theme-white:not(.theme-admin) .announcement-shell {
    padding-bottom:24px;
  }

  body.theme-white:not(.theme-admin) .announcement-card {
    border-radius:14px;
    padding:16px;
  }

  body.theme-white:not(.theme-admin) .announcement-card-head {
    align-items:flex-start;
    gap:8px;
  }

  body.theme-white:not(.theme-admin) .announcement-content {
    overflow-wrap:anywhere;
  }

  .login-shell {
    align-items:flex-start;
    box-sizing:border-box;
    min-height:100dvh;
    padding:clamp(24px,10vh,72px) 14px 24px;
  }

  .login-panel {
    border-radius:18px;
    box-sizing:border-box;
    max-width:100%;
    padding:22px 18px;
    width:100%;
  }

  .login-panel input,
  .login-panel .button {
    box-sizing:border-box;
    min-height:48px;
    width:100%;
  }

  body.theme-admin .topbar.admin {
    min-height:52px;
    padding:0 14px;
  }

  body.theme-admin .dashboard.admin-layout {
    box-sizing:border-box;
    display:block;
    max-width:100%;
    min-width:0;
    padding:12px!important;
    width:100%;
  }

  body.theme-admin .dashboard-content,
  body.theme-admin .admin-assets-stack,
  body.theme-admin .asset-page {
    box-sizing:border-box;
    max-width:100%;
    min-width:0;
    overflow-x:clip;
    width:100%;
  }

  body.theme-admin .admin-page-header,
  body.theme-admin .admin-section-card,
  body.theme-admin .panel {
    max-width:100%;
    min-width:0;
  }

  body.theme-admin .admin-page-header {
    gap:14px;
    padding:16px!important;
  }

  body.theme-admin .admin-page-header__actions,
  body.theme-admin .admin-page-header .panel-head-actions {
    display:grid;
    gap:8px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }

  body.theme-admin .admin-page-header__actions > *,
  body.theme-admin .admin-page-header .panel-head-actions > * {
    min-height:44px;
    min-width:0;
    width:100%;
  }

  body.theme-admin .admin-works-toolbar {
    align-items:stretch;
    display:grid;
    gap:10px;
    grid-template-columns:minmax(0,1fr);
  }

  body.theme-admin .admin-works-search {
    display:grid;
    gap:8px;
    grid-template-columns:minmax(0,1fr) auto;
    width:100%!important;
  }

  body.theme-admin .admin-works-search > :is(input,button),
  body.theme-admin .admin-work-sort,
  body.theme-admin .asset-search > :is(input,button) {
    box-sizing:border-box;
    min-height:44px!important;
  }

  body.theme-admin .admin-work-sortbar {
    flex-wrap:wrap;
    margin:0;
  }

  body.theme-admin .admin-work-card {
    grid-template-columns:96px minmax(0,1fr)!important;
    max-width:100%;
    min-height:124px!important;
  }

  body.theme-admin .admin-work-card-media {
    align-self:stretch;
    border-radius:0;
    height:100%!important;
    min-height:124px!important;
    width:100%!important;
  }

  body.theme-admin .admin-work-card-body {
    min-width:0;
  }

  body.theme-admin .admin-work-card-actions {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    min-width:0!important;
    width:100%!important;
  }

  body.theme-admin .admin-work-card-actions > :is(a,form),
  body.theme-admin .admin-work-card-actions > form > button {
    min-height:44px!important;
    min-width:0!important;
    width:100%!important;
  }

  body.theme-admin .asset-search-panel {
    padding:14px;
  }

  body.theme-admin .asset-search {
    display:grid;
    gap:8px;
    grid-template-columns:minmax(0,1fr) auto;
  }

  body.theme-admin .mobile-asset-filter {
    background:#f8fafc;
    border:1px solid #e4e7ec;
    border-radius:12px;
    margin-top:12px;
    overflow:hidden;
  }

  body.theme-admin .mobile-asset-filter > summary {
    align-items:center;
    cursor:pointer;
    display:flex;
    font-size:14px;
    font-weight:750;
    justify-content:space-between;
    list-style:none;
    min-height:44px;
    padding:0 13px;
  }

  body.theme-admin .mobile-asset-filter > summary::after {
    content:"⌄";
    font-size:18px;
  }

  body.theme-admin .mobile-asset-filter[open] > summary::after {
    transform:rotate(180deg);
  }

  body.theme-admin .mobile-asset-filter > summary::-webkit-details-marker {
    display:none;
  }

  body.theme-admin .mobile-asset-filter .asset-filter-row--combined {
    border-top:1px solid #e4e7ec;
    display:grid;
    gap:8px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:12px;
  }

  body.theme-admin .mobile-asset-filter .asset-filter-row--combined > a {
    align-items:center;
    display:flex;
    justify-content:center;
    margin:0;
    min-height:44px!important;
    text-align:center;
  }

  body.theme-admin .organized-file-grid,
  body.theme-admin .pending-file-grid {
    grid-template-columns:minmax(0,1fr)!important;
  }

  body.theme-admin .organized-overview-section .organized-file-card .pending-file-body {
    min-height:0;
    padding:14px;
  }

  body.theme-admin .organized-overview-section .organized-file-card .pending-file-meta > span:nth-child(n+2) {
    display:none;
  }

  body.theme-admin .organized-overview-section .organized-file-card .asset-card-actionbar {
    gap:8px;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.theme-admin .organized-overview-section .organized-file-card .asset-card-actionbar :is(a,button) {
    min-height:44px;
  }

  body.theme-admin .admin-bulk-toolbar {
    bottom:12px;
    box-sizing:border-box;
    flex-wrap:wrap;
    left:12px;
    right:12px;
    width:auto;
  }
}

@media (min-width:761px) {
  body.theme-admin .mobile-asset-filter {
    display:contents;
  }

  body.theme-admin .mobile-asset-filter > summary {
    display:none;
  }
}

@media (max-width:380px) {
  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .mall-work-grid,
  body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-grid {
    gap:8px!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .portfolio-work-card .work-card-body,
  body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card .work-card-body {
    padding:8px!important;
  }
}

/* Earlier work asset selector density baseline. */
body.theme-admin .work-create-main .work-asset-selector {
  gap:10px!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-preview {
  height:96px!important;
  min-height:96px!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body {
  gap:3px!important;
  padding:7px!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body h3 {
  font-size:12px;
  min-height:33px!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body p {
  font-size:11px;
  min-height:15px!important;
}
body.theme-admin .work-create-main .work-asset-selector .asset-pill-row { display:none; }
body.theme-admin .work-create-main .work-asset-selector .work-select-controls {
  gap:3px!important;
  min-height:30px!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-controls > :is(label,button) {
  font-size:10px!important;
  height:30px!important;
  min-height:30px!important;
  padding:0 2px!important;
}
@media(max-width:1099px) and (min-width:701px) {
  body.theme-admin .work-create-main .work-asset-selector {
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media(max-width:700px) {
  body.theme-admin .work-create-main .work-asset-selector {
    gap:8px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.theme-admin .work-create-main .work-asset-selector .work-select-preview {
    height:84px!important;
    min-height:84px!important;
  }
  body.theme-admin .work-create-main .work-asset-selector .work-select-body { padding:6px!important; }
}

/* Work editor asset selector: dense 6 / 4 / 2 tool grid. */
body.theme-admin .work-create-main .work-asset-selector {
  gap:10px!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-preview {
  height:96px!important;
  min-height:96px!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body {
  gap:3px!important;
  padding:7px!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body h3 {
  font-size:12px;
  min-height:33px!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body p {
  font-size:11px;
  min-height:15px!important;
}
body.theme-admin .work-create-main .work-asset-selector .asset-pill-row { display:none; }
body.theme-admin .work-create-main .work-asset-selector .work-select-controls {
  gap:3px!important;
  min-height:30px!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-controls > :is(label,button) {
  font-size:10px!important;
  height:30px!important;
  min-height:30px!important;
  padding:0 2px!important;
}

@media(max-width:1099px) and (min-width:701px) {
  body.theme-admin .work-create-main .work-asset-selector {
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media(max-width:700px) {
  body.theme-admin .work-create-main .work-asset-selector {
    gap:8px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.theme-admin .work-create-main .work-asset-selector .work-select-preview {
    height:84px!important;
    min-height:84px!important;
  }
  body.theme-admin .work-create-main .work-asset-selector .work-select-body { padding:6px!important; }
}

/* Create/edit work asset picker only: four compact cards with unified actions. */
body.theme-admin .work-create-main .work-asset-selector {
  gap:12px!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-asset {
  height:auto!important;
  min-height:0!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-preview {
  aspect-ratio:auto!important;
  height:126px!important;
  min-height:126px!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body {
  gap:4px!important;
  padding:9px!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body > strong {
  font-size:12px;
  line-height:1.3!important;
  min-height:0!important;
  -webkit-line-clamp:1!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body h3 {
  font-size:13px;
  line-height:1.35!important;
  margin:0;
  min-height:35px!important;
  -webkit-line-clamp:2!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body p {
  font-size:12px;
  line-height:1.35!important;
  min-height:16px!important;
  -webkit-line-clamp:1!important;
}
body.theme-admin .work-create-main .work-asset-selector .asset-pill-row {
  flex-wrap:nowrap;
  max-height:24px;
  min-height:24px;
  overflow:hidden;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-controls {
  display:grid!important;
  gap:5px!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  margin-top:4px!important;
  min-height:34px!important;
  padding-top:0!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-controls > :is(label,button) {
  align-items:center!important;
  background:#fff;
  border:1px solid #d0d5dd;
  border-radius:8px!important;
  box-sizing:border-box;
  color:#344054;
  cursor:pointer;
  display:flex!important;
  font-size:11px!important;
  font-weight:700;
  height:34px!important;
  justify-content:center!important;
  line-height:1!important;
  min-height:34px!important;
  padding:0 3px!important;
  white-space:nowrap!important;
  width:100%!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-controls label > input {
  height:1px!important;
  opacity:0;
  pointer-events:none;
  position:absolute;
  width:1px!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-controls label:has(input:checked),
body.theme-admin .work-create-main .work-asset-selector .work-select-controls > button.is-inserted {
  background:#111827;
  border-color:#111827;
  color:#fff;
}

@media(max-width:1099px) and (min-width:701px) {
  body.theme-admin .work-create-main .work-asset-selector {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:700px) {
  body.theme-admin .work-create-main .work-asset-selector {
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.theme-admin .work-create-main .work-asset-selector .work-select-preview {
    height:150px!important;
    min-height:150px!important;
  }
}

@media(max-width:480px) {
  body.theme-admin .admin-stat-grid { grid-template-columns:minmax(0,1fr); }
  body.theme-admin .admin-stat-card { min-height:126px; padding:18px; }
}

body.theme-admin .work-detail-admin-head {
  align-items:center!important;
  display:flex!important;
  justify-content:space-between!important;
}

body.theme-admin .work-detail-admin-head > :is(.text-button,.button) {
  align-items:center!important;
  border-radius:10px!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  font-size:14px!important;
  font-weight:700!important;
  height:44px!important;
  justify-content:center!important;
  line-height:1!important;
  margin:0!important;
  min-height:44px!important;
  min-width:104px;
  padding:0 18px!important;
  white-space:nowrap!important;
}

body.theme-admin .work-detail-admin-head > .text-button {
  background:#fff;
  border:1px solid #d7dce4;
  color:#344054;
}

body.theme-admin .work-detail-admin-head > .button {
  background:#111827!important;
  border-color:#111827!important;
  color:#fff!important;
}

/* True centerline lock for every admin secondary header and work editor header. */
body.theme-admin .admin-secondary-header,
body.theme-admin .work-create-main .work-create-head.is-sticky-edit {
  align-items:center!important;
  box-sizing:border-box;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:space-between!important;
  padding:20px 22px!important;
}

body.theme-admin .admin-secondary-header > .admin-secondary-header__identity {
  align-items:center!important;
  align-self:center!important;
  display:flex!important;
  flex:1 1 auto!important;
  gap:16px;
  min-width:0;
  width:auto!important;
}

body.theme-admin .admin-secondary-header__identity > div {
  align-self:center!important;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  width:auto!important;
}

body.theme-admin .admin-secondary-header > :is(.admin-page-header__actions,.asset-detail-actions,.panel-head-actions),
body.theme-admin .work-create-main .work-create-head > .work-create-actions {
  align-items:center!important;
  align-self:center!important;
  display:flex!important;
  flex:0 0 auto!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  justify-content:flex-end!important;
  margin:0!important;
  padding:0!important;
  width:auto!important;
}

body.theme-admin .admin-secondary-header :is(h1,p,.eyebrow),
body.theme-admin .work-create-main .work-create-head > h1 {
  inset:auto!important;
  margin-left:0!important;
  margin-right:0!important;
  position:static!important;
  transform:none!important;
}

body.theme-admin .admin-secondary-header h1,
body.theme-admin .work-create-main .work-create-head > h1 {
  line-height:1.2!important;
  margin-bottom:0!important;
  margin-top:0!important;
}

body.theme-admin .admin-secondary-header__identity > .button,
body.theme-admin .admin-secondary-header__identity > a.button,
body.theme-admin .admin-secondary-header .admin-page-header__actions :is(.button,button.button,a.button),
body.theme-admin .admin-secondary-header .asset-detail-actions :is(.button,button.button,a.button),
body.theme-admin .admin-secondary-header .panel-head-actions :is(.button,button.button,a.button),
body.theme-admin .work-create-main .work-create-head > .text-button,
body.theme-admin .work-create-main .work-create-head .work-create-actions > .button {
  align-items:center!important;
  align-self:center!important;
  border-radius:10px!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  font-size:14px!important;
  font-weight:700!important;
  height:44px!important;
  justify-content:center!important;
  line-height:1!important;
  margin:0!important;
  min-height:44px!important;
  min-width:104px;
  padding:0 18px!important;
  position:static!important;
  top:auto!important;
  transform:none!important;
  white-space:nowrap!important;
}

body.theme-admin .work-create-main .work-create-head > .text-button {
  background:#fff;
  border:1px solid #d7dce4;
  color:#344054;
}

body.theme-admin .admin-secondary-header__identity > .button.secondary,
body.theme-admin .admin-secondary-header .admin-page-header__actions > .button.secondary,
body.theme-admin .admin-secondary-header .admin-page-header__actions > a.button.secondary,
body.theme-admin .admin-secondary-header .admin-page-header__actions > button.button.secondary,
body.theme-admin .work-create-main .work-create-head .work-create-actions > .button.secondary {
  background:#fff!important;
  border-color:#d7dce4!important;
  color:#344054!important;
}

body.theme-admin .admin-secondary-header .admin-page-header__actions > .button:not(.secondary):not(.disabled),
body.theme-admin .admin-secondary-header .asset-detail-actions > .button:not(.secondary):not(.disabled),
body.theme-admin .admin-secondary-header .panel-head-actions > .button:not(.secondary):not(.disabled),
body.theme-admin .work-create-main .work-create-head .work-create-actions > .button:not(.secondary):not(:disabled) {
  background:#111827!important;
  border-color:#111827!important;
  color:#fff!important;
}

@media(max-width:820px) {
  body.theme-admin .admin-secondary-header,
  body.theme-admin .work-create-main .work-create-head.is-sticky-edit {
    align-items:stretch!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:16px;
    padding:18px!important;
  }

  body.theme-admin .admin-secondary-header > .admin-secondary-header__identity {
    align-items:flex-start!important;
    width:100%!important;
  }

  body.theme-admin .admin-secondary-header > :is(.admin-page-header__actions,.asset-detail-actions,.panel-head-actions),
  body.theme-admin .work-create-main .work-create-head > .work-create-actions {
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    width:100%!important;
  }
}

@media(max-width:560px) {
  body.theme-admin .admin-secondary-header > .admin-secondary-header__identity { flex-direction:column!important; }
  body.theme-admin .admin-secondary-header > :is(.admin-page-header__actions,.asset-detail-actions,.panel-head-actions),
  body.theme-admin .work-create-main .work-create-head > .work-create-actions { display:grid!important; grid-template-columns:minmax(0,1fr)!important; }
  body.theme-admin .admin-secondary-header :is(.button,button.button,a.button),
  body.theme-admin .work-create-main .work-create-head :is(.button,.text-button) { min-width:0!important; width:100%!important; }
}

/* Shared desktop date picker and strictly scoped private attachment inputs. */
body.theme-admin .nova-date-input {
  background-color:#fff;
  cursor:pointer;
  font:inherit;
  min-height:44px;
  padding-right:42px!important;
}

body.theme-admin .nova-date-input[data-nova-date-picker="true"] {
  background-image:linear-gradient(45deg,transparent 50%,#667085 50%),linear-gradient(135deg,#667085 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;
  background-repeat:no-repeat;
  background-size:5px 5px,5px 5px;
}

.nova-date-popover {
  background:#fff;
  border:1px solid #e3e7ee;
  border-radius:16px;
  box-shadow:0 18px 46px rgba(17,24,39,.16);
  box-sizing:border-box;
  color:#1d2939;
  padding:14px;
  position:fixed;
  z-index:800;
}

.nova-date-popover[hidden] { display:none!important; }
.nova-date-head { align-items:center; display:grid; grid-template-columns:38px minmax(0,1fr) 38px; gap:8px; }
.nova-date-head strong { font-size:15px; text-align:center; }
.nova-date-head button,.nova-date-actions button { align-items:center; background:#fff; border:1px solid #e3e7ee; border-radius:9px; color:#344054; cursor:pointer; display:inline-flex; font:inherit; font-weight:700; justify-content:center; min-height:36px; padding:0 11px; }
.nova-date-head button:hover,.nova-date-actions button:hover { background:#f7f5f8; border-color:#cbbbd4; }
.nova-date-week,.nova-date-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.nova-date-week { color:#98a2b3; font-size:12px; margin:12px 0 6px; text-align:center; }
.nova-date-week span { line-height:28px; }
.nova-date-grid button { aspect-ratio:1; background:transparent; border:1px solid transparent; border-radius:9px; color:#344054; cursor:pointer; font:inherit; min-width:0; padding:0; }
.nova-date-grid button:hover { background:#f7f5f8; border-color:#ddd3e3; }
.nova-date-grid button.is-outside { color:#b7bec9; }
.nova-date-grid button.is-today { border-color:#bca9c9; color:#704c7d; font-weight:800; }
.nova-date-grid button.is-selected { background:#111827; border-color:#111827; color:#fff; font-weight:800; }
.nova-date-grid button:disabled { background:transparent; border-color:transparent; color:#d4d8de; cursor:not-allowed; text-decoration:line-through; }
.nova-date-actions { border-top:1px solid #eef0f3; display:flex; justify-content:space-between; margin-top:12px; padding-top:12px; }

body.theme-admin [data-upload-attachment-drop] { isolation:isolate; position:relative; }
body.theme-admin [data-upload-attachment-drop]>input[type="file"] {
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  height:1px!important;
  left:0!important;
  opacity:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
  position:absolute!important;
  top:0!important;
  white-space:nowrap!important;
  width:1px!important;
  z-index:-1!important;
}

body.theme-admin [data-upload-attachment-drop]>.attachment-pick-button {
  cursor:pointer;
  font-family:inherit;
}

body.theme-admin .upload-profile-create-grid>label { position:relative; z-index:1; }

@media(max-width:760px) {
  .nova-date-popover { display:none!important; }
}

/* Shared rounded secondary-page language. Detail pages remain read-only; edit pages own forms. */
body.theme-admin .admin-page-header--card,
body.theme-admin .purchase-page > .admin-secondary-header {
  align-items:center;
  background:#fff!important;
  border:1px solid #e7eaf0!important;
  border-radius:18px!important;
  box-shadow:0 12px 34px rgba(17,24,39,.043)!important;
  box-sizing:border-box;
  display:flex;
  justify-content:space-between;
  margin:0!important;
  min-height:96px;
  padding:20px 22px!important;
  width:100%;
}

body.theme-admin .purchase-page > .admin-page-header,
body.theme-admin .purchase-page > header.admin-page-header {
  background:#fff!important;
  border:1px solid var(--admin-card-border)!important;
  border-radius:var(--admin-card-radius)!important;
  padding:24px!important;
}

body.theme-admin .work-create-head.admin-page-header--card,
body.theme-admin .asset-profile-create-main > .admin-page-header--card,
body.theme-admin .asset-profile-create-main > .work-create-head.admin-page-header--card.admin-secondary-header.is-sticky-edit {
  background:#fff!important;
  border:1px solid #e7eaf0!important;
  border-radius:18px!important;
  box-shadow:0 12px 34px rgba(17,24,39,.043)!important;
}

body.theme-admin .admin-page-header--card .button,
body.theme-admin .purchase-page > .admin-secondary-header .button {
  align-items:center;
  border-radius:10px;
  display:inline-flex;
  justify-content:center;
  min-height:44px;
}

body.theme-admin :is(.asset-profile-detail,.asset-group-detail-page,.asset-detail-board,.asset-edit-landing,.purchase-page) {
  box-sizing:border-box;
  display:grid;
  gap:14px;
  min-width:0;
}

body.theme-admin :is(.asset-profile-detail,.asset-group-detail-page,.asset-detail-board,.asset-edit-landing) > :is(.asset-section,.asset-detail-section,.asset-detail-grid,.asset-group-detail-hero),
body.theme-admin .purchase-page > .purchase-card,
body.theme-admin .purchase-editor > .purchase-card {
  background:#fff;
  border:1px solid #e7eaf0;
  border-radius:18px;
  box-shadow:0 12px 34px rgba(17,24,39,.043);
  box-sizing:border-box;
  margin:0;
  min-width:0;
  padding:20px 22px;
}

body.theme-admin .purchase-editor {
  display:grid;
  gap:14px;
  min-width:0;
}

body.theme-admin .original-asset-display-card {
  display:flex;
  flex-direction:column;
  min-width:220px;
}

body.theme-admin .original-asset-display-card .original-asset-display-body {
  display:flex;
  flex:1;
  flex-direction:column;
}

body.theme-admin .original-asset-display-card .asset-card-actions { margin-top:auto; }

body.theme-admin .original-history-list { display:grid; gap:10px; }

body.theme-admin .original-history-row {
  align-items:center;
  background:#fff;
  border:1px solid #e7eaf0;
  border-radius:14px;
  display:grid;
  gap:18px;
  grid-template-columns:minmax(180px,1fr) minmax(360px,1.4fr) auto;
  min-width:0;
  padding:14px 16px;
}

body.theme-admin .original-history-row__identity { min-width:0; }
body.theme-admin .original-history-row__identity strong { color:#667085; font-size:12px; }
body.theme-admin .original-history-row__identity h3 { font-size:15px; margin:4px 0 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.theme-admin .original-history-row__facts { display:grid; gap:14px; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; }
body.theme-admin .original-history-row__facts div { min-width:0; }
body.theme-admin .original-history-row__facts dt { color:#98a2b3; font-size:12px; }
body.theme-admin .original-history-row__facts dd { color:#344054; font-weight:700; margin:4px 0 0; }
body.theme-admin .original-history-row > form {
  align-items:center;
  display:flex;
  justify-content:flex-end;
  margin:0;
}

@media(max-width:1024px) {
  body.theme-admin .original-history-row { grid-template-columns:minmax(0,1fr) auto; }
  body.theme-admin .original-history-row__facts { grid-column:1 / -1; grid-row:2; }
}

@media(max-width:820px) {
  body.theme-admin .admin-page-header--card,
  body.theme-admin .purchase-page > .admin-secondary-header {
    align-items:flex-start;
    flex-direction:column;
    gap:16px;
    min-height:0;
    padding:18px!important;
  }

  body.theme-admin .admin-page-header--card .admin-page-header__actions,
  body.theme-admin .purchase-page > .admin-secondary-header .admin-page-header__actions {
    display:flex;
    flex-wrap:wrap;
    width:100%;
  }
}

/* Category hierarchy: primary card with an always-visible nested child area. */
html body.theme-admin .category-admin-card {
  background:#fff!important;
  border:1px solid #dfe3e8!important;
  border-radius:16px!important;
  box-shadow:0 6px 18px rgba(16,24,40,.035)!important;
  gap:0;
  overflow:hidden;
  padding:16px!important;
}

html body.theme-admin .category-admin-card > .category-card-form {
  border-bottom:0;
  padding:0 0 12px;
}

html body.theme-admin .category-primary-identity input[name="name"] {
  color:#101828;
  font-size:20px;
  font-weight:800;
  height:48px;
}

html body.theme-admin .category-admin-card > .category-card-form .category-work-stat strong {
  font-size:15px;
}

html body.theme-admin .category-children-section {
  border-top:1px solid #e7e9ee;
  padding-top:12px;
}

html body.theme-admin .category-children-head {
  align-items:center;
  color:#101828;
  display:flex;
  gap:16px;
  justify-content:space-between;
  margin-bottom:10px;
  padding-left:16px;
}

html body.theme-admin .category-children-head > div {
  display:grid;
  gap:4px;
}

html body.theme-admin .category-children-head strong {
  font-size:15px;
  font-weight:800;
}

html body.theme-admin .category-children-head small {
  color:#667085;
  font-size:12px;
  font-weight:600;
}

html body.theme-admin .category-children-count {
  background:#f2f4f7;
  border:1px solid #e4e7ec;
  border-radius:999px;
  color:#475467;
  flex:0 0 auto;
  font-size:12px;
  font-weight:700;
  padding:6px 10px;
}

html body.theme-admin .category-children-panel {
  border-left:2px solid #e4e7ec;
  margin-left:14px;
  padding:0 0 0 16px;
}

html body.theme-admin .category-children-panel .category-child-card {
  background:#f7f8fa!important;
  border:1px solid #e1e5ea!important;
  border-radius:12px!important;
  box-shadow:none!important;
}

html body.theme-admin .category-children-panel .category-code-preview-field {
  background:#f8f9fb!important;
  border:1px solid #e5e7eb;
  border-radius:10px;
  box-shadow:none!important;
}

html body.theme-admin .category-children-panel .category-child-create-wrap {
  margin-top:12px;
}

@media(max-width:640px) {
  html body.theme-admin .category-admin-card {
    padding:16px!important;
  }

  html body.theme-admin .category-children-panel {
    margin-left:8px;
    padding-left:12px;
  }

  html body.theme-admin .category-children-head {
    align-items:flex-start;
    padding-left:10px;
  }
}

/* Purchase relation picker uses the shared NOVA select component explicitly. */
html body.theme-admin .purchase-editor .purchase-relation-card {
  overflow:visible;
}

html body.theme-admin .purchase-editor .purchase-relation-header {
  align-items:center;
  display:grid;
  gap:24px;
  grid-template-columns:minmax(180px,1fr) auto;
  width:100%;
}

html body.theme-admin .purchase-editor .purchase-relation-header > h2 {
  margin:0;
}

html body.theme-admin .purchase-editor .purchase-relation-header + [data-relations] {
  margin-top:20px;
}

html body.theme-admin .purchase-editor .purchase-relation-header .relation-add {
  align-items:center;
  background:#f8f9fb;
  border:1px solid #e4e7ec;
  border-radius:12px;
  display:grid;
  flex:none;
  gap:10px;
  grid-template-columns:160px 260px 90px;
  justify-self:end;
  margin:0;
  max-width:none;
  padding:10px 12px;
  width:554px;
}

html body.theme-admin .purchase-editor .purchase-relation-header .relation-add > .nova-select:nth-child(1) {
  max-width:none;
  min-width:0;
  width:160px;
}

html body.theme-admin .purchase-editor .purchase-relation-header .relation-add > .nova-select:nth-child(2) {
  max-width:none;
  min-width:0;
  width:260px;
}

html body.theme-admin .purchase-editor .purchase-relation-header .relation-add > .nova-select > select {
  display:none!important;
}

html body.theme-admin .purchase-editor .purchase-relation-header .relation-add > .nova-select.nova-select > .nova-select__trigger.nova-select__trigger,
html body.theme-admin .purchase-editor .purchase-relation-header .relation-add > [data-add-relation] {
  align-items:center!important;
  border-radius:9px!important;
  box-sizing:border-box!important;
  display:flex!important;
  font-size:13px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0 14px!important;
}

html body.theme-admin .purchase-editor .purchase-relation-header .relation-add > [data-add-relation] {
  justify-content:center;
  margin:0!important;
  white-space:nowrap;
  width:90px;
}

@media(max-width:900px) {
  html body.theme-admin .purchase-editor .purchase-relation-header {
    align-items:start;
    grid-template-columns:minmax(0,1fr);
  }

  html body.theme-admin .purchase-editor .purchase-relation-header .relation-add {
    justify-self:stretch;
  }
}

@media(max-width:640px) {
  html body.theme-admin .purchase-editor .purchase-relation-header .relation-add {
    grid-template-columns:minmax(0,1fr);
    width:100%;
  }

  html body.theme-admin .purchase-editor .purchase-relation-header .relation-add > .nova-select:nth-child(1),
  html body.theme-admin .purchase-editor .purchase-relation-header .relation-add > .nova-select:nth-child(2),
  html body.theme-admin .purchase-editor .purchase-relation-header .relation-add > [data-add-relation] {
    width:100%;
  }
}

/* Category management is a vertical hierarchy: primary card, child list, child creator. */
html body.theme-admin .category-card-grid {
  display:grid;
  gap:18px;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%;
}

html body.theme-admin .category-admin-card {
  display:grid;
  gap:12px;
  width:100%;
}

html body.theme-admin .category-primary-create {
  width:100%;
}

html body.theme-admin :is(.category-primary-create,.category-child-create-wrap) > summary {
  cursor:pointer;
  list-style:none;
  width:max-content;
}

html body.theme-admin :is(.category-primary-create,.category-child-create-wrap) > summary::-webkit-details-marker {
  display:none;
}

html body.theme-admin :is(.category-primary-create,.category-child-create-wrap)[open] > summary {
  margin-bottom:14px;
}

html body.theme-admin .category-primary-create > .category-form {
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
}

html body.theme-admin .category-primary-create > .category-form > :is(.form-title,.form-actions) {
  grid-column:1 / -1;
}

html body.theme-admin .category-card-fields {
  align-items:start;
  display:grid;
  gap:12px;
  grid-template-columns:minmax(180px,.8fr) minmax(120px,.45fr) minmax(280px,1.4fr)!important;
}

html body.theme-admin .category-share-path-field {
  align-content:start;
  display:grid;
  gap:7px;
  grid-template-rows:20px 44px;
  min-width:0;
}

html body.theme-admin .category-share-path-field > span {
  align-items:center;
  color:#475467;
  display:flex;
  font-size:13px;
  font-weight:700;
  line-height:20px;
}

html body.theme-admin .category-share-path-field .share-link-box {
  align-items:center;
  background:transparent;
  border:0;
  border-radius:0;
  display:flex;
  gap:8px;
  height:44px;
  overflow:visible;
  padding:0;
  width:100%;
}

html body.theme-admin .category-share-path-field .share-link-box .private-link {
  background:#f8f9fb;
  border:1px solid #e5e7eb;
  border-radius:10px;
  box-sizing:border-box;
  display:flex;
  flex:1 1 auto;
  height:44px;
  align-items:center;
  max-width:none;
  margin:0!important;
  min-width:0;
  padding:0 12px;
  width:100%;
}

html body.theme-admin .category-share-path-field .share-copy-action {
  align-items:center;
  border-radius:10px;
  display:flex;
  flex:0 0 auto;
  height:44px;
}

html body.theme-admin .category-share-path-field .share-copy-action .button {
  align-items:center;
  border-radius:10px;
  display:flex;
  height:44px!important;
  justify-content:center;
  margin:0!important;
  min-height:44px!important;
  padding:0 14px;
}

html body.theme-admin .category-child-list {
  display:grid;
  gap:12px;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%;
}

html body.theme-admin .category-child-card {
  grid-template-columns:minmax(0,1fr)!important;
  width:100%;
}

html body.theme-admin .category-child-fields {
  grid-template-columns:repeat(4,minmax(120px,1fr));
}

html body.theme-admin .category-child-create {
  background:#fafbfc!important;
  border-style:dashed!important;
  grid-template-columns:repeat(4,minmax(140px,1fr));
  margin-top:2px;
  width:100%;
}

html body.theme-admin .category-child-create-wrap {
  border-top:1px solid #eef0f3;
  padding-top:16px;
}

html body.theme-admin .category-child-create > :is(.full,.form-title,.form-hint,.form-actions) {
  grid-column:1 / -1;
}

html body.theme-admin .category-card-actions {
  align-items:center;
  display:flex;
  flex-wrap:nowrap;
}

html body.theme-admin .category-card-actions > :is(button,.button) {
  flex:0 0 auto;
  margin:0!important;
}

@media(max-width:1100px) {
  html body.theme-admin .category-child-create {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px) {
  html body.theme-admin .category-primary-create > .category-form,
  html body.theme-admin .category-card-fields,
  html body.theme-admin .category-child-fields,
  html body.theme-admin .category-children-panel .category-child-info-row,
  html body.theme-admin .category-child-create {
    grid-template-columns:minmax(0,1fr)!important;
  }

  html body.theme-admin .category-share-path-field {
    grid-column:auto;
  }

  html body.theme-admin .category-card-actions {
    overflow-x:auto;
  }
}

@media(max-width:560px) {
  body.theme-admin :is(.asset-profile-detail,.asset-group-detail-page,.asset-detail-board,.asset-edit-landing) > :is(.asset-section,.asset-detail-section,.asset-detail-grid,.asset-group-detail-hero),
  body.theme-admin .purchase-page > .purchase-card,
  body.theme-admin .purchase-editor > .purchase-card { padding:18px; }

  body.theme-admin .original-history-row { align-items:stretch; grid-template-columns:minmax(0,1fr); }
  body.theme-admin .original-history-row__facts { grid-column:auto; grid-row:auto; grid-template-columns:minmax(0,1fr); }
  body.theme-admin .original-history-row > form { justify-content:flex-start; }
}

/* Asset center acceptance: width, action alignment, selection states and card footers. */
body.theme-admin {
  --asset-action-height:44px;
  --asset-action-radius:10px;
  --asset-action-gap:10px;
}

body.theme-admin .asset-profile-detail-main {
  box-sizing:border-box;
  margin:0!important;
  max-width:none!important;
  padding:0!important;
  width:100%!important;
}

body.theme-admin .asset-profile-detail-main > .asset-profile-detail,
body.theme-admin .asset-profile-detail > * { width:100%; }

body.theme-admin .admin-secondary-header {
  align-items:center!important;
  display:flex!important;
  justify-content:space-between;
}

body.theme-admin .admin-secondary-header__identity,
body.theme-admin .admin-secondary-header__identity > div,
body.theme-admin .admin-page-header__actions {
  align-items:center;
}

body.theme-admin .admin-secondary-header__identity > div { align-self:center; }

body.theme-admin .admin-secondary-header :is(.button,button.button,a.button),
body.theme-admin .admin-page-header__actions :is(.button,button.button,a.button) {
  align-items:center;
  border-radius:var(--asset-action-radius);
  box-sizing:border-box;
  display:inline-flex;
  font-size:14px;
  font-weight:700;
  height:var(--asset-action-height);
  justify-content:center;
  line-height:1.2;
  min-height:var(--asset-action-height);
  padding:0 18px;
  white-space:nowrap;
}

body.theme-admin .admin-secondary-header__identity > .button.secondary {
  background:#fff;
  border-color:#d7dce4;
  color:#344054;
}

body.theme-admin .pending-assets-toolbar {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  min-width:0;
}

body.theme-admin .selection-info > strong {
  align-items:center;
  display:inline-flex;
  flex:none;
  min-height:44px;
  white-space:nowrap;
}

body.theme-admin .pending-actions {
  align-items:center;
  display:flex;
  flex:1 1 900px;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
  min-width:0;
}

body.theme-admin .pending-actions > :is(.button,button,select),
body.theme-admin .pending-actions > .nova-select {
  align-items:center;
  border-radius:10px;
  box-sizing:border-box;
  display:inline-flex;
  flex:none;
  font-size:14px;
  height:40px;
  justify-content:center;
  line-height:1.2;
  margin:0;
  min-height:40px!important;
  position:static;
  transform:none;
  white-space:nowrap;
}

body.theme-admin .pending-actions > .asset-profile-select,
body.theme-admin .pending-actions > .nova-select {
  display:block;
  flex:0 0 260px;
  max-width:300px;
  min-width:240px;
  width:260px;
}

body.theme-admin .pending-actions button:disabled {
  background:#f5f6f8!important;
  border:1px solid #d8dde5!important;
  box-shadow:none!important;
  color:#98a2b3!important;
  cursor:not-allowed;
  opacity:1!important;
}

body.theme-admin .original-asset-display-card .original-asset-display-body {
  min-height:0;
  padding-bottom:16px;
}

body.theme-admin .original-asset-display-card { padding:0!important; }

body.theme-admin .original-asset-display-card .original-card-actions {
  align-items:center;
  background:#fafbfc;
  border-top:1px solid #e7eaf0;
  box-sizing:border-box;
  display:grid;
  flex:0 0 auto;
  gap:8px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:auto;
  min-height:69px;
  padding:12px 14px;
  width:100%;
}

body.theme-admin .original-asset-display-card .original-card-actions > .button {
  align-items:center;
  border-radius:var(--asset-action-radius);
  box-sizing:border-box;
  display:inline-flex;
  font-size:14px;
  font-weight:700;
  height:var(--asset-action-height);
  justify-content:center;
  line-height:1.2;
  min-height:var(--asset-action-height);
  padding:0 14px;
  white-space:nowrap;
}

@media(max-width:1180px) {
  body.theme-admin .pending-actions { justify-content:flex-start; }
}

@media(max-width:820px) {
  body.theme-admin .selection-info { justify-content:space-between; width:100%; }
  body.theme-admin .pending-actions { flex-basis:100%; justify-content:flex-start; }
  body.theme-admin .admin-secondary-header { align-items:stretch!important; }
  body.theme-admin .admin-secondary-header__identity { align-items:flex-start; }
}

@media(max-width:560px) {
  body.theme-admin .selection-info { align-items:flex-start; flex-direction:column; gap:8px; }
  body.theme-admin .pending-actions { align-items:center; display:flex; }
}

@media(max-width:820px) {
  body.theme-admin .work-detail-admin-head {
    align-items:stretch!important;
    flex-direction:column!important;
    gap:16px;
  }

  body.theme-admin .work-detail-admin-head > :is(.text-button,.button) {
    min-width:0;
    width:100%;
  }
}

/* Asset center visual unification: compact cards, responsive facts and shared actions. */
body.theme-admin {
  --admin-action-height:44px;
  --admin-action-radius:10px;
  --admin-action-font-size:14px;
  --admin-action-font-weight:700;
}

body.theme-admin :is(
  .button,
  .text-button,
  .asset-card-actionbar > a,
  .asset-card-actionbar > details > summary,
  .asset-profile-actions > a,
  .asset-group-file-actions > a,
  .asset-group-file-actions button
) {
  align-items:center;
  border-radius:var(--admin-action-radius)!important;
  box-sizing:border-box;
  display:inline-flex;
  font-size:var(--admin-action-font-size)!important;
  font-weight:var(--admin-action-font-weight)!important;
  height:var(--admin-action-height)!important;
  justify-content:center;
  line-height:1;
  min-height:var(--admin-action-height)!important;
  padding:0 16px;
  white-space:nowrap;
}

body.theme-admin .pending-file-grid {
  align-items:start;
  display:grid;
  gap:16px;
  grid-template-columns:repeat(auto-fill,minmax(210px,240px));
  justify-content:start;
  width:100%;
}

body.theme-admin .pending-file-card {
  border:1px solid #e7eaf0;
  border-radius:14px;
  box-sizing:border-box;
  min-width:0;
  overflow:hidden;
  width:100%;
}

body.theme-admin .pending-file-card .pending-file-preview {
  aspect-ratio:4 / 3;
  height:auto;
  width:100%;
}

body.theme-admin .pending-file-card .pending-file-body {
  gap:9px;
  min-height:0;
  padding:13px 14px 14px;
}

body.theme-admin .pending-file-card .pending-file-body h3 {
  font-size:14px;
  line-height:1.45;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-admin .asset-detail-grid {
  align-items:start;
  display:grid;
  gap:clamp(20px,3vw,34px);
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);
}

body.theme-admin .asset-detail-info { min-width:0; }

body.theme-admin .asset-detail-info > .asset-detail-list {
  display:grid;
  gap:10px 14px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}

body.theme-admin .asset-detail-info > .asset-detail-list > div {
  background:#fafbfc;
  border:1px solid #edf0f4;
  border-radius:12px;
  min-width:0;
  padding:12px 14px;
}

body.theme-admin .asset-detail-info > .asset-detail-list dd {
  overflow-wrap:anywhere;
}

body.theme-admin .asset-profile-grid {
  align-items:start;
  gap:16px;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
}

body.theme-admin .asset-profile-card {
  display:grid;
  flex-direction:initial;
  grid-template-columns:104px minmax(0,1fr);
  min-height:184px;
}

body.theme-admin .asset-profile-preview {
  aspect-ratio:auto;
  border-radius:14px 0 0 14px;
  height:100%;
  min-height:184px;
}

body.theme-admin .asset-profile-body {
  gap:8px;
  padding:14px;
}

body.theme-admin .asset-profile-body > p {
  color:#667085;
  display:-webkit-box;
  font-size:12px;
  line-height:1.45;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

body.theme-admin .asset-profile-stats {
  gap:8px;
  padding:8px 0;
}

body.theme-admin .asset-profile-actions {
  margin-top:auto;
  position:relative;
  z-index:2;
}

body.theme-admin .asset-profile-actions > a { width:100%; }

body.theme-admin .asset-group-detail-link {
  color:inherit;
  display:block;
  overflow:hidden;
  text-decoration:none;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-admin .asset-group-detail-link:hover { color:#5b4670; }

@media(max-width:1180px) {
  body.theme-admin .asset-detail-grid { grid-template-columns:minmax(0,1fr); }
  body.theme-admin .asset-detail-preview { max-height:520px; }
}

@media(max-width:720px) {
  body.theme-admin .asset-detail-info > .asset-detail-list { grid-template-columns:minmax(0,1fr); }
  body.theme-admin .asset-profile-grid { grid-template-columns:minmax(0,1fr); }
}

@media(max-width:560px) {
  body.theme-admin .pending-file-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.theme-admin .pending-file-card .pending-file-body { padding:11px 12px 12px; }
  body.theme-admin .asset-profile-card { grid-template-columns:88px minmax(0,1fr); min-height:176px; }
  body.theme-admin .asset-profile-preview { border-radius:14px 0 0 14px; min-height:176px; }
}

@media(max-width:420px) {
  body.theme-admin .pending-file-grid { gap:12px; }
}

/* Tool-style admin density and alignment pass. */
body.theme-admin .dashboard.admin-layout { background:#f5f6f8; }
body.theme-admin .dashboard-content,
body.theme-admin .admin-page-stack,
body.theme-admin .asset-page,
body.theme-admin .purchase-page { gap:16px!important; }

body.theme-admin .admin-page-header {
  border-color:#e4e7ec;
  border-radius:14px;
  box-shadow:none;
  min-height:82px;
  padding:16px 20px!important;
}
body.theme-admin .admin-page-header :is(h1,.admin-page-header__title) {
  font-size:26px!important;
  letter-spacing:-.02em;
}
body.theme-admin .admin-page-header :is(.muted,.admin-page-header__description) {
  font-size:13px;
  line-height:1.55;
}
body.theme-admin .admin-section-card,
body.theme-admin .asset-section,
body.theme-admin .purchase-card,
body.theme-admin .purchase-search,
body.theme-admin .panel.legacy-admin-section {
  border-color:#e4e7ec;
  border-radius:14px;
  box-shadow:none;
}
body.theme-admin :is(.admin-section-card__header,.admin-section-card__body) { padding:16px 18px; }
body.theme-admin :is(.button,.primary-button,.secondary-button,button.text-button,a.text-button) {
  border-radius:9px!important;
  font-size:13px!important;
  min-height:38px!important;
}

body.theme-admin .organized-overview-summary {
  align-items:center;
  display:flex;
  min-height:68px;
  height:74px;
  min-height:74px!important;
  padding:0 18px!important;
}
body.theme-admin .organized-overview-summary .admin-section-card__header {
  border:0;
  flex:0 0 auto;
  gap:8px;
  padding:0 22px 0 0;
}
body.theme-admin .organized-overview-summary .section-title h2 { font-size:17px; }
body.theme-admin .organized-overview-summary__counts {
  align-items:center;
  border-left:1px solid #e8eaee;
  display:flex;
  flex:1;
  gap:26px;
  padding:5px 0 5px 22px!important;
}
body.theme-admin .organized-overview-summary__counts span {
  align-items:baseline;
  display:flex;
  gap:7px;
}
body.theme-admin .organized-overview-summary__counts strong { font-size:18px; }

@media (min-width:761px) {
  body.theme-admin .organized-overview-section .organized-file-grid {
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  }
}

@media (max-width:760px) {
  body.theme-admin .organized-overview-section .organized-file-grid {
    grid-template-columns:minmax(0,1fr);
  }
}

body.theme-admin .organized-overview-section .asset-card-actionbar {
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  grid-template-columns:none!important;
  justify-content:flex-start;
}
body.theme-admin .organized-overview-section .asset-card-actionbar > :is(a,form) {
  flex:1 1 0;
  margin:0;
  min-width:0;
  width:0!important;
}
body.theme-admin .organized-overview-section .asset-card-actionbar > a,
body.theme-admin .organized-overview-section .asset-card-actionbar > form > button {
  font-size:12px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 8px!important;
  white-space:nowrap;
}
body.theme-admin .organized-overview-section .asset-card-actionbar > form > button {
  width:100%!important;
}

body.theme-admin .organized-overview-section .organized-group-card .asset-card-actionbar {
  align-items:center;
  display:flex!important;
  flex-flow:row nowrap!important;
  gap:6px!important;
  width:100%;
}

body.theme-admin .organized-overview-section .organized-group-card .asset-card-actionbar > :is(a,form) {
  flex:1 1 0;
  margin:0;
  min-width:0;
  width:0!important;
}

body.theme-admin .organized-overview-section .organized-group-card .asset-group-delete-form > button {
  height:38px!important;
  min-height:38px!important;
  width:100%!important;
}

body.theme-admin .organized-overview-section .organized-file-grid {
  gap:12px;
}

body.theme-admin .organized-overview-section .organized-file-card .pending-file-preview {
  aspect-ratio:auto;
  height:150px;
  min-height:150px;
}

body.theme-admin .organized-overview-section .organized-file-card .pending-file-body {
  gap:7px;
  min-height:170px;
  padding:10px;
}

body.theme-admin .organized-overview-section .organized-file-card .asset-card-head {
  min-height:0;
}

body.theme-admin .organized-overview-section .organized-file-card h3 {
  font-size:13px;
  line-height:1.35;
}

body.theme-admin .organized-overview-section .organized-file-card .pending-file-meta {
  gap:4px 8px;
  line-height:1.35;
}

/* Pending asset cards: fixed, matching view/delete controls. */
body.theme-admin .pending-asset-card .asset-card-actionbar {
  align-items:center;
  display:flex!important;
  flex-flow:row nowrap!important;
  gap:8px!important;
  justify-content:flex-start;
}

body.theme-admin .pending-asset-card .asset-card-actionbar > a,
body.theme-admin .pending-asset-card .asset-card-actionbar > form,
body.theme-admin .pending-asset-card .asset-card-actionbar > form > button {
  box-sizing:border-box;
  flex:0 0 60px;
  height:32px!important;
  min-height:32px!important;
  width:60px!important;
}

body.theme-admin .pending-asset-card .asset-card-actionbar > a,
body.theme-admin .pending-asset-card .asset-card-actionbar > form > button {
  align-items:center;
  display:inline-flex;
  justify-content:center;
  padding:0!important;
  white-space:nowrap;
}

body.theme-admin .asset-detail-organize-section {
  padding:16px!important;
}

body.theme-admin .asset-detail-organize-section > .section-title {
  margin-bottom:10px;
}

body.theme-admin .asset-detail-organize-actions {
  align-items:center;
  display:flex!important;
  flex-flow:row nowrap!important;
  gap:8px;
  height:auto;
  min-height:0;
  overflow:visible;
  padding:0;
}

body.theme-admin .asset-detail-organize-form {
  display:none;
}

body.theme-admin .asset-detail-organize-actions > :is(select,input) {
  box-sizing:border-box;
  height:36px!important;
  min-height:36px!important;
}

body.theme-admin .asset-detail-organize-actions > select {
  flex:0 0 180px;
  width:180px;
}

body.theme-admin .asset-detail-organize-actions > input,
body.theme-admin .asset-detail-organize-actions > .asset-detail-current-group {
  flex:0 0 160px;
  width:160px;
}

body.theme-admin .asset-detail-organize-actions > :is(a.button,button.button) {
  box-sizing:border-box;
  flex:0 0 128px;
  height:36px!important;
  min-height:36px!important;
  padding:0 10px!important;
  width:128px!important;
}

body.theme-admin .admin-work-card-actions {
  display:flex!important;
  gap:7px!important;
  min-width:350px;
  width:100%;
}
body.theme-admin .admin-work-card-actions > :is(a,form) { flex:1 1 0; }
body.theme-admin .admin-work-card-actions > :is(a,form) {
  min-width:0;
  width:auto!important;
}

/* Organized overview sections own their header/body spacing; avoid doubled outer whitespace. */
body.theme-admin .organized-overview-section {
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:0!important;
}
body.theme-admin .organized-overview-summary + .organized-overview-section,
body.theme-admin .organized-overview-section + .organized-overview-section {
  margin-top:8px!important;
}
body.theme-admin .organized-overview-section > .admin-section-card__header {
  margin:0!important;
  padding:16px 18px!important;
}
body.theme-admin .organized-overview-section > .admin-section-card__body {
  margin:0!important;
  padding:12px 18px 16px!important;
}

/* NOVA SHARK reusable select component. Native selects remain as form value sources. */
.nova-select {
  box-sizing:border-box;
  display:inline-block;
  max-width:100%;
  min-width:0;
  position:relative;
  vertical-align:middle;
  width:100%;
  z-index:1;
}
.nova-select.is-open { z-index:1000; }
.nova-select__native {
  height:1px!important;
  left:0!important;
  margin:0!important;
  opacity:0!important;
  padding:0!important;
  pointer-events:none!important;
  position:absolute!important;
  top:50%!important;
  width:1px!important;
}
.nova-select__trigger {
  align-items:center!important;
  background:#fff!important;
  border:1px solid #d0d5dd!important;
  border-radius:8px!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
  color:#101828!important;
  cursor:pointer;
  display:flex!important;
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:500!important;
  gap:10px!important;
  height:40px!important;
  justify-content:space-between!important;
  line-height:1.2!important;
  margin:0!important;
  max-width:none!important;
  min-height:40px!important;
  min-width:0!important;
  padding:0 12px!important;
  text-align:left!important;
  width:100%!important;
}
.nova-select__trigger:hover { border-color:#98a2b3!important; }
.nova-select__trigger:focus-visible,
.nova-select.is-open .nova-select__trigger {
  border-color:#667085!important;
  box-shadow:0 0 0 3px rgba(17,24,39,.08)!important;
  outline:none!important;
}
.nova-select__value {
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nova-select__arrow {
  border-bottom:2px solid #667085;
  border-right:2px solid #667085;
  flex:0 0 7px;
  height:7px;
  margin-right:2px;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .16s ease;
  width:7px;
}
.nova-select.is-open .nova-select__arrow { transform:rotate(225deg) translate(-1px,-1px); }
.nova-select__menu {
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:10px;
  box-shadow:0 12px 28px rgba(16,24,40,.14);
  box-sizing:border-box;
  left:0;
  margin-top:6px;
  max-height:288px;
  min-width:100%;
  overflow-y:auto;
  padding:5px;
  position:absolute;
  top:100%;
  width:max-content;
  z-index:1001;
}
.nova-select__menu[hidden] { display:none!important; }
.nova-select__option {
  align-items:center!important;
  background:#fff!important;
  border:0!important;
  border-radius:7px!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
  color:#101828!important;
  cursor:pointer;
  display:flex!important;
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:500!important;
  height:36px!important;
  justify-content:flex-start!important;
  line-height:1.2!important;
  margin:0!important;
  max-width:none!important;
  min-height:36px!important;
  min-width:100%!important;
  padding:0 10px!important;
  text-align:left!important;
  white-space:nowrap!important;
  width:100%!important;
}
.nova-select__option:hover,
.nova-select__option:focus-visible {
  background:#f2f4f7!important;
  color:#101828!important;
  outline:none!important;
}
.nova-select__option.is-selected,
.nova-select__option.is-selected:hover,
.nova-select__option.is-selected:focus-visible {
  background:#111827!important;
  color:#fff!important;
  font-weight:700!important;
}
.nova-select__option:disabled {
  color:#98a2b3!important;
  cursor:not-allowed;
  opacity:.7;
}
.nova-select__group {
  color:#667085;
  font-size:12px;
  font-weight:700;
  padding:8px 10px 4px;
}
.nova-select.is-disabled .nova-select__trigger,
.nova-select__trigger:disabled {
  background:#f2f4f7!important;
  color:#98a2b3!important;
  cursor:not-allowed;
}
.nova-select.is-multiple .nova-select__option::before {
  border:1px solid #b8c0cc;
  border-radius:4px;
  box-sizing:border-box;
  content:"";
  flex:0 0 16px;
  height:16px;
  margin-right:8px;
  width:16px;
}
.nova-select.is-multiple .nova-select__option.is-selected::before {
  background:#fff;
  border-color:#fff;
  box-shadow:inset 0 0 0 4px #111827;
}
@media(max-width:700px) {
  .nova-select__menu {
    max-width:min(320px,calc(100vw - 32px));
    min-width:100%;
    width:100%;
  }
}

/* Keep the select component isolated from legacy page-specific button rules. */
html body.theme-admin .nova-select.nova-select > button.nova-select__trigger.nova-select__trigger {
  background:#fff!important;
  border:1px solid #d0d5dd!important;
  border-radius:8px!important;
  box-shadow:none!important;
  color:#101828!important;
  font-size:14px!important;
  font-weight:500!important;
  height:40px!important;
  line-height:1.2!important;
  min-height:40px!important;
  padding:0 12px!important;
}
html body.theme-admin .nova-select.nova-select.is-open > button.nova-select__trigger.nova-select__trigger,
html body.theme-admin .nova-select.nova-select > button.nova-select__trigger.nova-select__trigger:focus-visible {
  border-color:#667085!important;
  box-shadow:0 0 0 3px rgba(17,24,39,.08)!important;
}
html body.theme-admin .nova-select.nova-select .nova-select__menu.nova-select__menu > button.nova-select__option.nova-select__option {
  background:#fff!important;
  border:0!important;
  border-radius:7px!important;
  box-shadow:none!important;
  color:#101828!important;
  font-size:14px!important;
  font-weight:500!important;
  height:36px!important;
  line-height:1.2!important;
  min-height:36px!important;
  padding:0 10px!important;
}
html body.theme-admin .nova-select.nova-select .nova-select__menu.nova-select__menu > button.nova-select__option.nova-select__option:hover,
html body.theme-admin .nova-select.nova-select .nova-select__menu.nova-select__menu > button.nova-select__option.nova-select__option:focus-visible {
  background:#f2f4f7!important;
  color:#101828!important;
}
html body.theme-admin .nova-select.nova-select .nova-select__menu.nova-select__menu > button.nova-select__option.nova-select__option.is-selected,
html body.theme-admin .nova-select.nova-select .nova-select__menu.nova-select__menu > button.nova-select__option.nova-select__option.is-selected:hover,
html body.theme-admin .nova-select.nova-select .nova-select__menu.nova-select__menu > button.nova-select__option.nova-select__option.is-selected:focus-visible {
  background:#111827!important;
  color:#fff!important;
  font-weight:700!important;
}
body.theme-admin .admin-work-card-actions > form > button { width:100%!important; }
body.theme-admin .admin-work-card-actions :is(.button,.text-button,button) {
  height:38px!important;
  min-height:38px!important;
  padding:0 10px!important;
}

body.theme-admin .admin-account-panel { gap:16px; }
body.theme-admin .admin-account-panel > .admin-page-header { padding:16px 20px!important; }
body.theme-admin .admin-preference-card {
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:14px;
  display:grid;
  gap:0!important;
  overflow:hidden;
  padding:0;
}
body.theme-admin .admin-preference-section {
  border-bottom:1px solid #edf0f3;
  display:grid;
  gap:14px;
  padding:18px 20px;
}
body.theme-admin .admin-preference-section h2 { font-size:16px; margin:0; }
body.theme-admin .admin-preference-card .theme-option-grid {
  gap:12px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:760px;
}
body.theme-admin .admin-preference-card .theme-option-card {
  min-height:72px;
  padding:13px 15px;
}
body.theme-admin .admin-preference-card .theme-option-card small { margin-top:3px; }
body.theme-admin .admin-preference-system > .detail-grid {
  display:grid;
  gap:10px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0;
}
body.theme-admin .admin-preference-card .detail-item {
  align-items:center;
  background:#f8f9fb;
  border:1px solid #eceef2;
  border-radius:10px;
  display:flex;
  justify-content:space-between;
  min-height:48px;
  padding:9px 12px;
}
body.theme-admin .admin-preference-card .detail-item :is(span,strong) { font-size:13px; }
body.theme-admin .admin-preference-card > .form-actions {
  justify-content:flex-end;
  margin:0;
  padding:14px 20px;
}

body.theme-admin .two-column-forms { align-items:stretch; }
body.theme-admin .two-column-forms > .category-form {
  display:flex;
  flex-direction:column;
  height:100%;
}
body.theme-admin .two-column-forms > .category-form > .form-actions {
  margin-top:auto;
  padding-top:14px;
}
body.theme-admin .two-column-forms > .category-form > .form-actions button {
  height:40px!important;
  width:100%;
}

@media(max-width:1180px) and (min-width:701px) {
  body.theme-admin .admin-work-card-actions {
    grid-column:1 / 3;
    min-width:0;
    width:100%;
  }
}

@media(min-width:1181px) {
  body.theme-admin .admin-work-card-body {
    grid-template-columns:minmax(200px,1fr) minmax(140px,.65fr) 350px;
  }
}

@media(max-width:700px) {
  body.theme-admin .admin-page-header { min-height:0; padding:15px!important; }
  body.theme-admin .admin-page-header :is(h1,.admin-page-header__title) { font-size:24px!important; }
  body.theme-admin .organized-overview-summary {
    align-items:flex-start;
    flex-direction:column;
    height:auto;
    min-height:0!important;
    padding:14px 16px;
  }
  body.theme-admin .organized-overview-summary .admin-section-card__header { padding:0 0 10px; }
  body.theme-admin .organized-overview-summary__counts {
    border-left:0;
    border-top:1px solid #e8eaee;
    gap:20px;
    padding:10px 0 0!important;
    width:100%;
  }
  body.theme-admin .admin-work-card-actions {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    min-width:0;
  }
  body.theme-admin .admin-preference-card .theme-option-grid,
  body.theme-admin .admin-preference-system > .detail-grid { grid-template-columns:minmax(0,1fr); }
  body.theme-admin .admin-preference-section { padding:16px; }
}

/* Work center visual unification: gallery list, shared headers and editor surfaces. */
body.theme-admin {
  --work-card-radius:16px;
  --work-card-gap:16px;
}

body.theme-admin .admin-works-header,
body.theme-admin .work-create-head.admin-page-header--card,
body.theme-admin .work-detail-admin-head.admin-page-header--card,
body.theme-admin .work-create-panel,
body.theme-admin .work-detail-section {
  background:#fff!important;
  border:1px solid #e7eaf0!important;
  border-radius:var(--work-card-radius)!important;
  box-shadow:0 10px 28px rgba(17,24,39,.04)!important;
  box-sizing:border-box;
}

body.theme-admin .admin-works-header {
  margin-bottom:var(--work-card-gap);
  padding:20px 22px;
}

body.theme-admin .admin-works-toolbar {
  margin-bottom:14px;
}

body.theme-admin .admin-works-search button {
  border-radius:10px!important;
  font-size:14px!important;
  font-weight:700!important;
  height:44px!important;
  min-height:44px!important;
}

body.theme-admin .admin-work-sortbar {
  align-items:center;
  color:#667085;
  display:flex;
  flex-wrap:wrap;
  font-size:13px;
  gap:8px;
  margin:0 0 14px;
}

body.theme-admin .admin-work-sortbar > span { font-weight:700; margin-right:2px; }

body.theme-admin .admin-work-sortbar .admin-work-sort {
  align-items:center;
  background:#fff;
  border:1px solid #e1e5eb;
  border-radius:10px;
  color:#475467;
  display:inline-flex;
  font-size:13px;
  font-weight:700;
  height:36px;
  padding:0 12px;
  text-decoration:none;
}

body.theme-admin .admin-work-sortbar .admin-work-sort.active {
  background:#f4f0ff;
  border-color:#e6dcef;
  color:#4b4458;
}

body.theme-admin .admin-work-card-grid {
  align-items:start;
  display:grid;
  gap:var(--work-card-gap);
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
}

body.theme-admin .admin-work-card {
  background:#fff;
  border:1px solid #e7eaf0;
  border-radius:var(--work-card-radius);
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
}

body.theme-admin .admin-work-card-media {
  aspect-ratio:4 / 3;
  background:#f1f3f6;
  display:block;
  overflow:hidden;
  width:100%;
}

body.theme-admin .admin-work-card-media img {
  display:block;
  height:100%;
  object-fit:cover;
  transition:transform 180ms ease;
  width:100%;
}

body.theme-admin .admin-work-card:hover .admin-work-card-media img { transform:scale(1.018); }

body.theme-admin .admin-work-cover-empty {
  align-items:center;
  color:#98a2b3;
  display:flex;
  height:100%;
  justify-content:center;
}

body.theme-admin .admin-work-card-body {
  display:flex;
  flex:1;
  flex-direction:column;
  gap:10px;
  min-width:0;
  padding:14px 16px 16px;
}

body.theme-admin .admin-work-card-head {
  align-items:center;
  display:flex;
  gap:10px;
  justify-content:space-between;
  min-width:0;
}

body.theme-admin .admin-work-card-head > div {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  justify-content:flex-end;
}

body.theme-admin .admin-work-card h2 {
  display:-webkit-box;
  font-size:16px;
  line-height:1.45;
  margin:0;
  min-height:46px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

body.theme-admin .admin-work-card h2 a { color:#111827; text-decoration:none; }
body.theme-admin .admin-work-card-category { color:#667085; font-size:12px; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.theme-admin .admin-work-card .admin-tag-row { min-height:25px; overflow:hidden; }

body.theme-admin .admin-work-card-stats {
  align-items:center;
  border-bottom:1px solid #eef0f3;
  border-top:1px solid #eef0f3;
  color:#667085;
  display:flex;
  font-size:12px;
  gap:14px;
  padding:9px 0;
}

body.theme-admin .admin-work-card-stats strong { color:#111827; }
body.theme-admin .admin-work-card time { color:#98a2b3; font-size:12px; }

body.theme-admin .admin-work-card-actions {
  display:grid;
  gap:8px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:auto;
}

body.theme-admin .admin-work-card-actions > form { margin:0; min-width:0; }
body.theme-admin .admin-work-card-actions > :is(a,form),
body.theme-admin .admin-work-card-actions > form > button { width:100%; }

body.theme-admin .admin-work-card-actions :is(.button,.text-button,button) {
  align-items:center;
  border-radius:10px!important;
  box-sizing:border-box;
  display:inline-flex;
  font-size:14px!important;
  font-weight:700!important;
  height:44px!important;
  justify-content:center;
  line-height:1!important;
  min-height:44px!important;
  padding:0 14px;
  white-space:nowrap;
}

body.theme-admin .admin-work-detail,
body.theme-admin .work-create-grid {
  gap:var(--work-card-gap);
}

body.theme-admin .admin-work-detail .work-detail-admin-head,
body.theme-admin .work-create-main .work-create-head.is-sticky-edit {
  border-radius:var(--work-card-radius)!important;
}

body.theme-admin .work-create-main > .work-create-grid > .work-create-head.admin-page-header--card.is-sticky-edit {
  border-radius:var(--work-card-radius)!important;
}

body.theme-admin .work-detail-section,
body.theme-admin .work-create-panel { margin:0!important; padding:20px 22px; }

body.theme-admin .work-detail-info-grid {
  gap:14px;
  grid-template-columns:repeat(4,minmax(0,1fr));
}

body.theme-admin .work-detail-info-grid > div {
  background:#fafbfc;
  border:1px solid #edf0f4;
  border-radius:14px;
  padding:14px 16px;
}

body.theme-admin .work-preview-strip,
body.theme-admin .work-used-assets { gap:var(--work-card-gap); }

body.theme-admin .work-preview-item,
body.theme-admin .work-used-assets article,
body.theme-admin .work-content-block,
body.theme-admin .work-create-main .work-select-asset,
body.theme-admin .work-description-media {
  border-radius:var(--work-card-radius)!important;
}

body.theme-admin .work-create-main .work-asset-selector {
  gap:14px;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;
}

body.theme-admin .work-create-main .work-select-controls {
  height:auto;
  min-height:44px;
}

body.theme-admin .work-create-main .work-select-controls > button,
body.theme-admin .work-content-block-actions button,
body.theme-admin .work-publish-actions > button.button {
  align-items:center;
  border-radius:10px!important;
  box-sizing:border-box;
  display:inline-flex;
  font-size:14px!important;
  font-weight:700!important;
  height:44px!important;
  justify-content:center;
  line-height:1!important;
  min-height:44px!important;
  white-space:nowrap;
}

body.theme-admin .work-create-main .work-create-actions > .button {
  height:44px!important;
  min-height:44px!important;
  width:auto;
}

@media(max-width:1180px) {
  body.theme-admin .work-detail-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.theme-admin .work-create-main .work-asset-selector { grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important; }
}

@media(max-width:820px) {
  body.theme-admin .admin-work-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.theme-admin .admin-works-header { align-items:flex-start!important; }
}

@media(max-width:560px) {
  body.theme-admin .admin-work-card-grid,
  body.theme-admin .work-detail-info-grid,
  body.theme-admin .work-create-main .work-asset-selector { grid-template-columns:minmax(0,1fr)!important; }
  body.theme-admin .admin-work-card h2 { min-height:0; }
  body.theme-admin .work-detail-section,
  body.theme-admin .work-create-panel { padding:16px; }
  body.theme-admin .work-create-main .work-create-actions { display:grid!important; grid-template-columns:minmax(0,1fr)!important; }
  body.theme-admin .work-create-main .work-create-actions > .button { width:100%; }
}

/* Final dashboard responsive placement. */
body.theme-admin .admin-stat-grid {
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}

@media(max-width:1180px) {
  body.theme-admin .admin-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  body.theme-admin .upload-record-row { grid-template-columns:minmax(0,1fr) 90px; }
  body.theme-admin .upload-record-row > :nth-child(2),
  body.theme-admin .upload-record-row > :nth-child(4),
  body.theme-admin .upload-record-row > :nth-child(5) { display:none; }
}

@media(max-width:700px) {
  body.theme-admin .admin-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}

@media(max-width:480px) {
  body.theme-admin .admin-stat-grid { grid-template-columns:minmax(0,1fr)!important; }
}

/* Final semantic status palette; keep legacy badge selectors compatible. */
body.theme-admin :is(.status-pill.is-draft) {
  background:#f2f4f7!important;
  border-color:#e4e7ec!important;
  color:#475467!important;
}

body.theme-admin :is(.status-pill.is-published,.status-pill.ok) {
  background:#ecfdf3!important;
  border-color:#abefc6!important;
  color:#067647!important;
}

body.theme-admin :is(.status-pill.is-unlisted,.status-pill.warn) {
  background:#fef3f2!important;
  border-color:#fecdca!important;
  color:#b42318!important;
}

body.theme-admin :is(.status-pill.is-pending,.pending-status-pill,.asset-status-pill.status-pending,.asset-status-pill.status-unorganized) {
  background:#fffaeb!important;
  border-color:#fedf89!important;
  color:#b54708!important;
}

body.theme-admin :is(.status-pill.is-organized,.asset-status-pill.status-organized,.asset-status-pill.status-used) {
  background:#eff8ff!important;
  border-color:#b2ddff!important;
  color:#175cd3!important;
}

body.theme-admin :is(.status-pill.is-original,.pending-original-badge,.asset-lock-mini.is-original,.original-mark) {
  background:#f9f5ff!important;
  border-color:#e9d7fe!important;
  color:#6941c6!important;
}

body.theme-admin .status-pill.is-history {
  background:#f8f9fc!important;
  border-color:#d5d9eb!important;
  color:#363f72!important;
}

/* Asset profile list: compact source-management cards, not work-gallery cards. */
body.theme-admin .asset-profile-list-page .asset-profile-grid {
  align-items:stretch;
  display:grid;
  gap:16px;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:100%;
}

body.theme-admin .asset-profile-list-page .asset-profile-card {
  background:#fff;
  border:1px solid #e7eaf0;
  border-radius:16px!important;
  box-shadow:none;
  box-sizing:border-box;
  display:grid!important;
  gap:10px;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto minmax(64px,1fr) auto auto!important;
  height:240px!important;
  min-height:240px!important;
  overflow:hidden;
  padding:16px;
  position:relative;
  width:100%!important;
}

body.theme-admin .asset-profile-list-page .asset-profile-business-head {
  align-items:center;
  display:flex;
  gap:12px;
  justify-content:space-between;
  min-width:0;
}

body.theme-admin .asset-profile-list-page .asset-profile-business-head strong {
  color:#111827;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
}

body.theme-admin .asset-profile-list-page .asset-profile-business-head time {
  color:#98a2b3;
  font-size:12px;
  white-space:nowrap;
}

body.theme-admin .asset-profile-list-page .asset-profile-business-main {
  align-items:center;
  display:grid;
  gap:16px;
  grid-template-columns:80px minmax(0,1fr);
  min-height:0;
}

body.theme-admin .asset-profile-list-page .asset-profile-preview {
  align-items:center;
  aspect-ratio:1!important;
  background:#f2f4f7;
  border:1px solid #e4e7ec;
  border-radius:12px!important;
  display:flex;
  height:80px!important;
  justify-content:center;
  min-height:80px!important;
  overflow:hidden;
  width:80px!important;
}

body.theme-admin .asset-profile-list-page .asset-profile-preview :is(img,video,picture),
body.theme-admin .asset-profile-list-page .asset-profile-preview > div {
  display:block;
  height:100%!important;
  min-height:0!important;
  object-fit:cover;
  width:100%!important;
}

body.theme-admin .asset-profile-list-page .asset-profile-source-placeholder {
  background:#eef1f4!important;
  color:transparent!important;
}

body.theme-admin .asset-profile-list-page .asset-profile-business-copy { min-width:0; }

body.theme-admin .asset-profile-list-page .asset-profile-business-copy h3 {
  color:#111827;
  font-size:18px;
  line-height:1.35;
  margin:0 0 6px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-admin .asset-profile-list-page .asset-profile-business-copy p {
  color:#667085;
  display:-webkit-box;
  font-size:13px;
  line-height:1.5;
  margin:0;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

body.theme-admin .asset-profile-list-page .asset-profile-stats-compact {
  align-items:center;
  background:transparent!important;
  background-image:none!important;
  border:0;
  border-radius:0;
  border-top:1px solid #eef0f3;
  box-shadow:none!important;
  display:grid;
  gap:14px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0;
  padding:8px 0 0;
}

body.theme-admin .asset-profile-list-page .asset-profile-stats-compact span {
  align-items:flex-start;
  background:transparent;
  border:0;
  color:#667085;
  display:flex;
  flex-direction:column;
  font-size:12px;
  gap:3px;
  min-width:0;
  padding:0;
}

body.theme-admin .asset-profile-list-page .asset-profile-stats-compact strong {
  color:#111827;
  font-size:15px;
  line-height:1.2;
  margin:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-admin .asset-profile-list-page .asset-profile-actions {
  align-items:center;
  display:flex;
  justify-content:flex-end;
  margin:0;
  min-height:44px;
  position:relative;
  z-index:2;
}

body.theme-admin .asset-profile-list-page .asset-profile-edit-button {
  background:#111827!important;
  border-color:#111827!important;
  color:#fff!important;
  height:44px!important;
  min-height:44px!important;
  min-width:112px;
  width:auto!important;
}

@media(max-width:720px) {
  body.theme-admin .asset-profile-list-page .asset-profile-grid {
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* Final admin category hierarchy and settings/upload alignment. */
body.theme-admin .category-secondary-create-form {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

body.theme-admin .category-secondary-create-form > :is(.full,.form-title,.form-hint,.form-actions) {
  grid-column:1 / -1;
}

body.theme-admin .category-form > label,
body.theme-admin .category-primary-identity label,
body.theme-admin .category-card-fields > label,
body.theme-admin .category-child-fields > label,
body.theme-admin .category-code-preview-group {
  align-content:start;
  display:grid;
  gap:7px;
  grid-template-rows:20px 44px;
  min-width:0;
}

body.theme-admin .category-form > label > span,
body.theme-admin .category-primary-identity label > span,
body.theme-admin .category-card-fields > label > span,
body.theme-admin .category-child-fields > label > span,
body.theme-admin .category-code-preview-group > span {
  align-items:center;
  color:#475467;
  display:flex;
  font-size:13px;
  font-weight:700;
  line-height:20px;
  min-height:20px;
}

body.theme-admin .category-admin-card {
  display:grid;
  gap:16px;
}

body.theme-admin .category-card-form {
  border-bottom:1px solid #e5e7eb;
  gap:10px;
  padding-bottom:12px;
}

body.theme-admin .category-card-head,
body.theme-admin .category-child-head {
  align-items:flex-start;
  display:flex;
  gap:16px;
  justify-content:space-between;
}

body.theme-admin .category-primary-identity,
body.theme-admin .category-child-title {
  display:grid;
  flex:1 1 auto;
  gap:8px;
  min-width:0;
}

body.theme-admin .category-child-title > strong {
  color:#111827;
  font-size:17px;
  font-weight:800;
  line-height:1.3;
}

body.theme-admin .category-level-label {
  color:#667085;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
}

body.theme-admin .category-work-stat {
  align-items:flex-end;
  display:flex;
  flex:0 0 auto;
  flex-direction:column;
  gap:4px;
  min-width:72px;
}

body.theme-admin .category-work-stat span {
  color:#667085;
  font-size:12px;
  font-weight:700;
}

body.theme-admin .category-work-stat strong {
  color:#111827;
  font-size:14px;
  font-weight:800;
  line-height:1;
}

body.theme-admin .category-work-stat--subtle {
  align-items:center;
  align-self:center;
  background:#eef0f3;
  border-radius:999px;
  min-width:0;
  padding:6px 9px;
}

body.theme-admin .category-work-stat--subtle strong {
  color:#667085;
  font-size:12px;
  font-weight:600;
}

body.theme-admin .admin-account-panel > .admin-page-header {
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  box-sizing:border-box;
  padding:24px;
}

body.theme-admin .admin-account-panel .admin-preference-form {
  display:grid;
  gap:16px;
}

body.theme-admin .admin-account-panel .admin-preference-form > .form-row,
body.theme-admin .admin-account-panel .admin-preference-form > .detail-grid {
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  box-sizing:border-box;
  margin:0;
  padding:24px;
}

body.theme-admin .admin-account-panel .admin-preference-form > .form-row > label {
  color:#111827;
  display:block;
  font-size:18px;
  font-weight:800;
  margin-bottom:16px;
}

body.theme-admin .admin-account-panel .admin-preference-form > .detail-grid::before {
  color:#111827;
  content:"系统偏好";
  font-size:18px;
  font-weight:800;
  grid-column:1 / -1;
}

body.theme-admin .category-child-list {
  gap:12px;
  margin:0;
}

body.theme-admin .category-child-card {
  background:#f8f9fb!important;
  border-color:#e5e7eb!important;
  display:grid;
  gap:14px;
  grid-template-columns:minmax(0,1fr)!important;
}

body.theme-admin .category-child-fields {
  align-items:center;
  display:grid;
  gap:12px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  min-width:0;
}

html body.theme-admin .category-children-panel .category-child-info-row {
  align-items:start;
  display:grid;
  gap:12px;
  grid-template-columns:minmax(160px,.42fr) minmax(0,1.58fr)!important;
  min-width:0;
  width:100%;
}

@media(max-width:640px) {
  html body.theme-admin .category-children-panel .category-child-info-row {
    grid-template-columns:minmax(0,1fr)!important;
  }
}

body.theme-admin .category-info-block {
  align-content:start;
  display:grid;
  gap:7px;
  grid-template-rows:20px 44px;
  min-width:0;
}

body.theme-admin .category-child-card .category-inherit-note {
  margin:0;
}

body.theme-admin .category-card-actions {
  justify-content:flex-start;
}

/* Final admin UI acceptance: density, hierarchy and responsive card rhythm. */
body.theme-admin .admin-dashboard .dashboard-content { gap:20px; }
body.theme-admin .admin-dashboard-header { margin-bottom:2px; }
body.theme-admin .admin-dashboard .admin-stat-grid { gap:18px; }
body.theme-admin .admin-dashboard .admin-stat-card {
  gap:8px;
  min-height:144px;
  padding:22px;
}
body.theme-admin .admin-dashboard .admin-stat-card > span {
  color:#667085;
  font-size:13px;
  font-weight:700;
}
body.theme-admin .admin-dashboard .admin-stat-card > strong {
  color:#101828;
  font-size:34px;
  letter-spacing:-.035em;
  line-height:1;
}
body.theme-admin .admin-dashboard .admin-stat-card > small { line-height:1.45; }
body.theme-admin .admin-dashboard .admin-recent-work-list a {
  align-items:center;
  border-radius:10px;
  min-height:48px;
  padding:10px 12px;
}
body.theme-admin .admin-dashboard .admin-recent-work-list strong {
  font-size:14px;
  line-height:1.45;
}
body.theme-admin .admin-dashboard .admin-recent-work-list span {
  background:#f2f4f7;
  border-radius:999px;
  color:#475467;
  font-weight:700;
  min-width:0;
  padding:5px 9px;
}

body.theme-admin .admin-work-card-grid {
  align-items:stretch;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
body.theme-admin .admin-work-card { height:100%; }
body.theme-admin .admin-work-card-media { aspect-ratio:4 / 3; }
body.theme-admin .admin-work-cover-empty {
  background:linear-gradient(135deg,#f8f9fb,#eef1f5);
  font-size:13px;
  font-weight:700;
}
body.theme-admin .admin-work-card-actions { gap:10px; }

body.theme-admin .work-create-main .work-asset-selector {
  gap:16px;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-asset {
  background:#fff;
  border:1px solid #e5e7eb;
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-preview {
  aspect-ratio:4 / 3;
  background:#f2f4f7;
  flex:0 0 auto;
  width:100%;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body {
  display:flex;
  flex:1;
  flex-direction:column;
  padding:12px;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body > strong,
body.theme-admin .work-create-main .work-asset-selector .work-select-body h3,
body.theme-admin .work-create-main .work-asset-selector .work-select-body p {
  display:-webkit-box;
  line-height:1.45;
  min-height:2.9em;
  overflow:hidden;
  white-space:normal;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-controls {
  display:grid;
  gap:6px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  height:auto;
  margin-top:auto;
  min-height:38px;
  padding-top:10px;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-controls > * {
  box-sizing:border-box;
  flex:none;
  min-width:0;
  width:100%;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-controls label,
body.theme-admin .work-create-main .work-asset-selector .work-select-controls > button {
  min-height:34px;
  white-space:normal;
}

body.theme-admin .upload-original-choice {
  align-items:center;
  background:#f8f9fb;
  border:1px solid #e5e7eb;
  border-radius:10px;
  box-sizing:border-box;
  display:inline-flex;
  gap:8px;
  min-height:40px;
  padding:8px 12px;
}
body.theme-admin .upload-drop-card { margin-top:12px; }
body.theme-admin [data-purchase-section]:not(:has([data-record-purchase]:checked)) > .section-title {
  border-bottom:0;
  margin-bottom:0;
  padding-bottom:0;
}
body.theme-admin .upload-choice-row > label { min-height:82px; padding:14px 16px; }
body.theme-admin .upload-profile-panel { padding:18px; }

body.theme-admin .purchase-editor > .purchase-card { padding:22px 24px; }
body.theme-admin .purchase-editor .purchase-form-grid { gap:16px; }
body.theme-admin .purchase-editor :is(input:not([type="file"]),select) {
  border-radius:10px;
  box-sizing:border-box;
  height:44px;
  min-width:0;
  width:100%;
}
body.theme-admin .purchase-editor .purchase-attachment-drop {
  max-width:none;
  min-height:172px;
  width:100%;
}
body.theme-admin .purchase-editor .relation-add {
  gap:10px;
  grid-template-columns:minmax(150px,.7fr) minmax(260px,1.4fr) auto;
}
body.theme-admin .purchase-editor [data-relations]:empty { background:#fafbfc; border-radius:12px; }

body.theme-admin .category-child-fields { grid-template-columns:repeat(4,minmax(0,1fr)); }
body.theme-admin .category-child-fields > label:nth-child(2) input {
  font-size:18px;
  font-weight:800;
  letter-spacing:.05em;
}

@media(max-width:1599px) {
  body.theme-admin .admin-work-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.theme-admin .work-create-main .work-asset-selector { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
}

@media(max-width:1180px) {
  body.theme-admin .admin-work-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.theme-admin .work-create-main .work-asset-selector { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  body.theme-admin .purchase-editor .relation-add { grid-template-columns:minmax(130px,.65fr) minmax(220px,1.35fr) auto; }
}

@media(max-width:700px) {
  body.theme-admin .admin-dashboard .admin-stat-grid { gap:12px; }
  body.theme-admin .admin-dashboard .admin-stat-card { min-height:126px; padding:18px; }
  body.theme-admin .admin-dashboard .admin-stat-card > strong { font-size:30px; }
  body.theme-admin .admin-work-card-grid,
  body.theme-admin .work-create-main .work-asset-selector { grid-template-columns:minmax(0,1fr)!important; }
  body.theme-admin .work-create-main .work-asset-selector .work-select-controls { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.theme-admin .purchase-editor > .purchase-card { padding:18px; }
  body.theme-admin .purchase-editor .relation-add { grid-template-columns:minmax(0,1fr); }
  body.theme-admin .category-child-fields { grid-template-columns:minmax(0,1fr); }
}

/* NOVA SHARK admin closeout: compact lists and shared form/upload language. */
body.theme-admin .admin-work-card-grid {
  display:grid;
  gap:12px;
  grid-template-columns:minmax(0,1fr)!important;
}

body.theme-admin .admin-work-card {
  align-items:stretch;
  display:grid;
  grid-template-columns:168px minmax(0,1fr);
  min-height:132px;
}

body.theme-admin .admin-work-card-media {
  aspect-ratio:auto;
  border-right:1px solid #e7eaf0;
  height:100%;
  min-height:132px;
}

body.theme-admin .admin-work-card-body {
  display:grid;
  gap:8px 18px;
  grid-template-columns:minmax(220px,1.25fr) minmax(180px,.9fr) minmax(220px,auto);
  grid-template-rows:auto auto auto;
  padding:14px 16px;
}

body.theme-admin .admin-work-card-head { grid-column:1 / 3; }
body.theme-admin .admin-work-card h2 {
  align-self:end;
  grid-column:1;
  grid-row:2;
  min-height:0;
}
body.theme-admin .admin-work-card-category {
  align-self:start;
  grid-column:1;
  grid-row:3;
}
body.theme-admin .admin-work-card .admin-tag-row {
  align-self:center;
  grid-column:2;
  grid-row:2;
  min-height:0;
}
body.theme-admin .admin-work-card-stats {
  align-self:start;
  border:0;
  grid-column:2;
  grid-row:3;
  padding:0;
}
body.theme-admin .admin-work-card time {
  align-self:end;
  grid-column:3;
  grid-row:1;
  justify-self:end;
}
body.theme-admin .admin-work-card-actions {
  align-self:center;
  grid-column:3;
  grid-row:2 / 4;
  grid-template-columns:repeat(2,minmax(92px,1fr));
  margin:0;
  min-width:210px;
}
body.theme-admin .admin-work-card-actions :is(.button,.text-button,button) {
  height:38px!important;
  min-height:38px!important;
}

body.theme-admin .original-asset-display-card .original-card-actions > .button {
  font-size:13px!important;
  height:40px!important;
  min-height:40px!important;
}

body.theme-admin .asset-edit-landing .asset-edit-hero,
body.theme-admin .asset-edit-landing .admin-section-card { border-radius:16px!important; }
body.theme-admin .asset-edit-form-card .material-info-form { display:grid; gap:18px; }
body.theme-admin .asset-edit-form-card .material-info-form > label:not(.purchase-attachment-drop) {
  display:grid;
  gap:8px;
}
body.theme-admin .asset-edit-form-card :is(input:not([type="file"]),textarea) {
  border-radius:10px;
  box-sizing:border-box;
  width:100%;
}
body.theme-admin .asset-edit-upload,
body.theme-admin .purchase-editor .purchase-attachment-drop,
body.theme-admin .upload-integrated-form .purchase-attachment-drop {
  align-content:center;
  align-items:center;
  background:#fafbfc;
  border:1px dashed #b9c1cd;
  border-radius:16px;
  box-sizing:border-box;
  display:grid;
  gap:8px;
  justify-items:center;
  min-height:190px;
  padding:24px;
  text-align:center;
  width:100%;
}
body.theme-admin :is(.asset-edit-upload,.purchase-editor .purchase-attachment-drop,.upload-integrated-form .purchase-attachment-drop) > strong {
  color:#101828;
  font-size:18px;
}
body.theme-admin :is(.asset-edit-upload,.purchase-editor .purchase-attachment-drop,.upload-integrated-form .purchase-attachment-drop) > span,
body.theme-admin :is(.asset-edit-upload,.purchase-editor .purchase-attachment-drop,.upload-integrated-form .purchase-attachment-drop) > small {
  color:#667085;
}

body.theme-admin .upload-choice-row { gap:12px; }
body.theme-admin .upload-choice-row > label {
  align-content:center;
  border-radius:14px;
  min-height:88px;
  padding:16px 18px;
}
body.theme-admin .upload-choice-row > label:has(input:checked) {
  background:#f8f9fb;
  border-color:#111827;
}

body.theme-admin .purchase-editor .relation-add {
  background:#f8f9fb;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px;
}
body.theme-admin .purchase-editor .relation-add select {
  background-color:#fff;
  border-color:#d0d5dd;
}

body.theme-admin .profile-business-grid {
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
}
body.theme-admin .profile-business-card {
  gap:10px;
  padding:14px;
}
body.theme-admin .profile-business-card__main {
  gap:12px;
  grid-template-columns:64px minmax(0,1fr);
}
body.theme-admin .profile-business-card__thumb { height:64px; width:64px; }
body.theme-admin .profile-business-card__stats { padding:10px 0; }
body.theme-admin .profile-business-card__actions { gap:8px; }
body.theme-admin .profile-business-card__actions .button {
  font-size:13px!important;
  height:38px!important;
  min-height:38px!important;
}

body.theme-admin .category-code-preview-field {
  align-items:center;
  background:#f8f9fb;
  border:1px solid #e5e7eb;
  border-radius:10px;
  box-shadow:none!important;
  box-sizing:border-box;
  display:flex;
  height:44px;
  justify-content:flex-start;
  margin:0;
  min-height:44px;
  padding:0 12px;
}
body.theme-admin .category-code-preview-field > span {
  align-items:center;
  color:#667085;
  display:flex;
  font-size:13px;
  font-weight:700;
}
body.theme-admin .category-code-preview-field strong {
  align-items:center;
  color:#344054;
  display:flex;
  font-size:16px!important;
  height:auto;
  justify-content:flex-start;
  letter-spacing:.04em;
}
body.theme-admin .category-child-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
}
body.theme-admin .category-child-card { height:max-content; }

body.theme-admin .home-banner-editor__fields {
  align-content:start;
  grid-template-columns:minmax(0,1fr);
}
body.theme-admin .home-banner-editor__fields > * { grid-column:1!important; }
body.theme-admin .home-banner-editor__fields .banner-link-field {
  background:#fafbfc;
  border:1px solid #eef0f3;
  border-radius:12px;
  padding:12px;
}
body.theme-admin .home-banner-editor__fields .banner-status-field {
  align-items:center;
  justify-content:flex-start;
  min-height:44px;
}

body.theme-admin .admin-account-panel {
  background:transparent;
  border:0;
  box-shadow:none;
  display:grid;
  gap:16px;
  padding:0;
}
body.theme-admin .admin-account-panel > .admin-page-header { margin:0; }
body.theme-admin .admin-account-panel > .admin-page-header .muted { margin:8px 0 0; }
body.theme-admin .admin-account-panel .admin-preference-form > :is(.form-row,.detail-grid) { padding:24px; }
body.theme-admin .admin-account-panel .admin-preference-form > .form-actions {
  justify-content:flex-end;
  margin:0;
}

@media(max-width:1180px) {
  body.theme-admin .admin-work-card-body {
    grid-template-columns:minmax(180px,1fr) minmax(180px,.8fr);
  }
  body.theme-admin .admin-work-card time { grid-column:2; }
  body.theme-admin .admin-work-card-actions {
    grid-column:1 / 3;
    grid-row:4;
    grid-template-columns:repeat(4,minmax(0,1fr));
    min-width:0;
  }
}

@media(max-width:700px) {
  body.theme-admin .admin-work-card { grid-template-columns:104px minmax(0,1fr); }
  body.theme-admin .admin-work-card-media { min-height:122px; }
  body.theme-admin .admin-work-card-body {
    display:flex;
    gap:7px;
    padding:12px;
  }
  body.theme-admin .admin-work-card-head,
  body.theme-admin .admin-work-card time { order:-1; }
  body.theme-admin .admin-work-card .admin-tag-row { display:none; }
  body.theme-admin .admin-work-card-stats { flex-wrap:wrap; }
  body.theme-admin .admin-work-card-actions {
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:4px;
  }
  body.theme-admin .category-child-list { grid-template-columns:minmax(0,1fr); }
  body.theme-admin .asset-edit-upload,
  body.theme-admin .purchase-editor .purchase-attachment-drop,
  body.theme-admin .upload-integrated-form .purchase-attachment-drop { min-height:160px; padding:18px; }
}

body.theme-admin .home-settings-form {
  display:grid;
  gap:16px;
  margin:0;
  min-width:0;
}

body.theme-admin .home-settings-form > .panel {
  margin:0!important;
}

body.theme-admin .home-settings-basic-fields {
  gap:16px;
}

body.theme-admin .home-modules-card {
  display:grid;
  gap:16px;
}

body.theme-admin .home-modules-card .module-switches {
  display:flex;
  flex-wrap:wrap;
  gap:12px 28px;
}

body.theme-admin .home-modules-card .form-actions {
  display:flex;
  justify-content:flex-end;
  margin:0;
}

body.theme-admin .home-banner-editor {
  align-items:start;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
}

body.theme-admin .home-banner-editor .banner-upload-preview.is-empty {
  display:none;
}

body.theme-admin .home-banner-editor .banner-upload-preview.has-image {
  aspect-ratio:16 / 9;
  display:grid;
  min-height:0;
}

body.theme-admin .unified-upload .uploader-dropzone {
  align-content:center;
  background:#fbfcfd;
  border:1px dashed #cfd6df;
  border-radius:16px;
  box-sizing:border-box;
  display:grid;
  gap:7px;
  justify-items:center;
  min-height:140px;
  padding:20px;
  text-align:center;
}

body.theme-admin .home-banner-editor .uploader-dropzone {
  aspect-ratio:16 / 9;
  min-height:200px;
}

body.theme-admin .unified-upload .uploader-dropzone > :is(strong,small) {
  max-width:100%;
  pointer-events:none;
}

body.theme-admin .home-banner-editor__fields > label {
  align-content:start;
  display:grid;
  gap:7px;
}

body.theme-admin .announcement-switch {
  align-items:center!important;
}

body.theme-admin .announcement-switch .switch-text {
  align-items:center!important;
  display:inline-flex!important;
  line-height:1!important;
}

body.theme-admin .profile-business-card__thumb {
  height:80px!important;
  width:80px!important;
}

body.theme-admin .admin-sidebar-user-trigger {
  align-items:center;
}

body.theme-admin .admin-sidebar-user-label {
  align-content:center;
}

@media(max-width:1024px) {
  body.theme-admin .category-card-grid {
    grid-template-columns:minmax(0,1fr)!important;
  }

  body.theme-admin .home-banner-editor {
    grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);
  }
}

@media(max-width:720px) {
  body.theme-admin .category-secondary-create-form,
  body.theme-admin .category-child-fields,
  body.theme-admin .home-banner-editor {
    grid-template-columns:minmax(0,1fr);
  }

  body.theme-admin .category-secondary-create-form > * { grid-column:1; }

  body.theme-admin .category-card-head,
  body.theme-admin .category-child-head {
    align-items:stretch;
  }

  body.theme-admin .category-work-stat {
    align-items:flex-end;
  }
}

@media(max-width:420px) {
  body.theme-admin .category-card-head,
  body.theme-admin .category-child-head {
    flex-direction:column;
  }

  body.theme-admin .category-work-stat {
    align-items:flex-start;
  }

  body.theme-admin .category-card-actions {
    align-items:stretch;
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }

  body.theme-admin .category-card-actions > *,
  body.theme-admin .category-card-actions .share-link-box {
    width:100%;
  }

  body.theme-admin .home-modules-card .module-switches {
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:420px) {
  body.theme-admin .asset-profile-list-page .asset-profile-card {
    height:auto!important;
    min-height:240px!important;
  }

  body.theme-admin .asset-profile-list-page .asset-profile-business-head {
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }

  body.theme-admin .asset-profile-list-page .asset-profile-stats-compact {
    gap:6px;
    padding:8px;
  }

  body.theme-admin .asset-profile-list-page .asset-profile-edit-button {
    width:100%!important;
  }
}

/* Asset profile business cards use isolated classes to avoid gallery-card inheritance. */
body.theme-admin .profile-business-page-header {
  box-sizing:border-box;
  min-height:0;
  padding:24px!important;
}

body.theme-admin .profile-business-page-header .admin-page-header__title {
  font-size:32px!important;
  line-height:1.2;
}

body.theme-admin .profile-business-page-header .admin-page-header__description {
  font-size:14px!important;
  line-height:1.5;
}

body.theme-admin .profile-business-page-header .button {
  height:44px;
  min-height:44px;
}

body.theme-admin .asset-profile-list-page .asset-search-panel {
  padding:16px;
}

body.theme-admin .asset-profile-list-page .asset-search {
  margin:0;
}

body.theme-admin .profile-business-grid {
  display:grid;
  gap:12px;
  grid-template-columns:minmax(0,1fr);
  width:100%;
}

body.theme-admin .profile-business-card {
  align-items:center;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  box-sizing:border-box;
  display:grid;
  gap:24px;
  grid-template-columns:minmax(200px,1fr) minmax(280px,1.65fr) 270px;
  height:auto;
  min-height:132px;
  min-width:0;
  padding:22px 28px 22px 22px;
  width:100%;
}

body.theme-admin .profile-business-card__identity {
  display:grid;
  gap:5px;
  min-width:0;
}

body.theme-admin .profile-business-card__identity > strong {
  color:#667085;
  font-size:12px;
  letter-spacing:.04em;
}

body.theme-admin .profile-business-card__identity h3 {
  color:#111827;
  font-size:18px;
  line-height:1.35;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-admin .profile-business-card__identity p {
  color:#667085;
  font-size:13px;
  line-height:1.5;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-admin .profile-business-card__stats {
  align-items:center;
  display:grid;
  gap:18px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  min-width:0;
}

body.theme-admin .profile-business-card__stats span {
  border-left:1px solid #eef0f3;
  color:#667085;
  display:flex;
  flex-direction:column;
  font-size:12px;
  gap:5px;
  min-width:0;
  padding-left:16px;
}

body.theme-admin .profile-business-card__stats strong {
  color:#111827;
  font-size:14px;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-admin .profile-business-card__actions {
  align-items:center;
  align-self:center;
  display:flex;
  gap:10px;
  justify-content:flex-end;
  min-width:0;
  padding-right:4px;
  width:270px;
}

body.theme-admin .profile-business-card__actions form {
  margin:0;
}

body.theme-admin .profile-business-card__actions :is(.button,.text-button) {
  height:44px!important;
  margin:0!important;
  min-height:44px!important;
}

body.theme-admin .profile-business-card__actions .button {
  min-width:92px;
}

body.theme-admin .profile-business-card__edit {
  background:#111827;
  border-color:#111827;
  color:#fff;
}

@media(max-width:1180px) {
  body.theme-admin .profile-business-card {
    grid-template-columns:minmax(200px,1fr) minmax(360px,1.5fr);
  }

  body.theme-admin .profile-business-card__actions {
    grid-column:1 / -1;
    justify-content:flex-start;
    padding-right:0;
    width:auto;
  }
}

@media(max-width:720px) {
  body.theme-admin .profile-business-card {
    align-items:stretch;
    gap:16px;
    grid-template-columns:minmax(0,1fr);
  }

  body.theme-admin .profile-business-card__stats {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.theme-admin .profile-business-card__actions {
    grid-column:1;
    flex-wrap:wrap;
  }
}

@media(max-width:420px) {
  body.theme-admin .profile-business-card__stats {
    grid-template-columns:minmax(0,1fr);
  }

  body.theme-admin .profile-business-card__actions {
    align-items:stretch;
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }

  body.theme-admin .profile-business-card__actions > *,
  body.theme-admin .profile-business-card__actions .button {
    width:100%;
  }
}

/* Admin user menu lives at the bottom of the left navigation. */
body.theme-admin .dashboard > .admin-sidebar,
body.theme-admin .dashboard.admin-layout > .admin-sidebar {
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  height:calc(100vh - var(--admin-topbar-height,64px) - 48px);
  height:calc(100dvh - var(--admin-topbar-height,64px) - 48px);
  overflow:visible;
}

body.theme-admin .admin-sidebar-user {
  border-top:1px solid #eef0f3;
  margin-top:auto;
  padding-top:12px;
  position:relative;
  width:100%;
}

body.theme-admin .admin-sidebar-user-menu {
  position:relative;
  width:100%;
}

body.theme-admin .admin-sidebar-user-trigger {
  align-items:center;
  background:#f8f9fb;
  border:1px solid #e7eaf0;
  border-radius:12px;
  box-sizing:border-box;
  color:#111827;
  cursor:pointer;
  display:grid;
  gap:10px;
  grid-template-columns:36px minmax(0,1fr) 18px;
  list-style:none;
  min-height:56px;
  padding:9px 10px;
  width:100%;
}

body.theme-admin .admin-sidebar-user-trigger::-webkit-details-marker { display:none; }

body.theme-admin .admin-sidebar-user-trigger:hover,
body.theme-admin .admin-sidebar-user-menu[open] .admin-sidebar-user-trigger {
  background:#f2f4f7;
  border-color:#dfe3e8;
}

body.theme-admin .admin-sidebar-user-avatar {
  align-items:center;
  background:#171b24;
  border-radius:50%;
  color:#fff;
  display:inline-flex;
  font-size:14px;
  font-weight:800;
  height:36px;
  justify-content:center;
  width:36px;
}

body.theme-admin .admin-sidebar-user-label {
  display:grid;
  gap:2px;
  min-width:0;
}

body.theme-admin .admin-sidebar-user-label strong,
body.theme-admin .admin-sidebar-user-label small {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-admin .admin-sidebar-user-label strong {
  font-size:13px;
  font-weight:800;
}

body.theme-admin .admin-sidebar-user-label small {
  color:#667085;
  font-size:11px;
}

body.theme-admin .admin-sidebar-user-caret {
  color:#667085;
  font-size:15px;
  text-align:center;
  transition:transform 160ms ease;
}

body.theme-admin .admin-sidebar-user-menu[open] .admin-sidebar-user-caret {
  transform:rotate(180deg);
}

body.theme-admin .admin-sidebar-user-dropdown {
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  bottom:calc(100% + 8px);
  box-shadow:0 18px 44px rgba(17,24,39,.14);
  box-sizing:border-box;
  display:grid;
  gap:4px;
  left:0;
  min-width:180px;
  padding:8px;
  position:absolute;
  width:100%;
  z-index:80;
}

body.theme-admin .admin-sidebar-user-dropdown :is(a,button) {
  align-items:center;
  background:transparent;
  border:0;
  border-radius:10px;
  box-sizing:border-box;
  color:#242832;
  cursor:pointer;
  display:flex;
  font-family:inherit;
  font-size:13px;
  font-weight:700;
  height:40px;
  justify-content:flex-start;
  min-height:40px;
  padding:0 12px;
  text-align:left;
  text-decoration:none;
  width:100%;
}

body.theme-admin .admin-sidebar-user-dropdown :is(a,button):hover {
  background:#f4f5f7;
}

body.theme-admin .admin-sidebar-user-dropdown .logout-form { margin:0; }

@media(max-width:820px) {
  body.theme-admin .dashboard > .admin-sidebar,
  body.theme-admin .dashboard.admin-layout > .admin-sidebar {
    background:transparent!important;
    border:0!important;
    bottom:12px!important;
    box-shadow:none!important;
    display:flex!important;
    height:50px!important;
    left:12px!important;
    min-height:50px!important;
    min-width:50px!important;
    overflow:visible!important;
    padding:0!important;
    position:fixed!important;
    right:auto!important;
    top:auto!important;
    width:50px!important;
    z-index:70;
  }

  body.theme-admin .admin-sidebar > a,
  body.theme-admin .admin-sidebar > .sidebar-subnav,
  body.theme-admin .admin-sidebar > .admin-sidebar-title {
    display:none!important;
  }

  body.theme-admin .admin-sidebar-user {
    border:0;
    margin:0;
    padding:0;
  }

  body.theme-admin .admin-sidebar-user-trigger {
    background:#fff;
    border-radius:50%;
    box-shadow:0 10px 28px rgba(17,24,39,.16);
    display:flex;
    height:50px;
    min-height:50px;
    padding:7px;
    width:50px;
  }

  body.theme-admin .admin-sidebar-user-avatar {
    height:36px;
    width:36px;
  }

  body.theme-admin .admin-sidebar-user-label,
  body.theme-admin .admin-sidebar-user-caret { display:none; }

  body.theme-admin .admin-sidebar-user-dropdown {
    bottom:calc(100% + 10px);
    left:0;
    width:200px;
  }

  body.theme-admin .dashboard-content { padding-bottom:76px!important; }
}

/* Announcement pin switch is isolated from global checkbox controls. */
body.theme-admin .announcement-switch {
  align-items:center;
  display:flex;
  gap:10px;
  height:44px;
  min-height:44px;
  width:max-content;
}

body.theme-admin .announcement-switch .switch {
  align-self:center;
  cursor:pointer;
  display:block!important;
  flex:0 0 44px;
  height:24px!important;
  margin:0!important;
  min-height:24px!important;
  padding:0!important;
  position:relative;
  width:44px!important;
}

body.theme-admin .announcement-switch .switch > input[type="checkbox"] {
  -webkit-appearance:none!important;
  appearance:none!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  clip-path:inset(50%);
  height:1px!important;
  max-height:1px!important;
  max-width:1px!important;
  margin:0!important;
  min-height:1px!important;
  min-width:1px!important;
  opacity:0;
  overflow:hidden;
  padding:0!important;
  position:absolute;
  white-space:nowrap;
  width:1px!important;
}

body.theme-admin .announcement-switch .slider {
  background:#e5e7eb!important;
  border:0;
  border-radius:999px;
  box-shadow:none;
  box-sizing:border-box;
  cursor:pointer;
  display:block;
  height:24px;
  inset:0;
  opacity:1!important;
  position:absolute;
  transition:background-color .2s ease;
  width:44px;
}

body.theme-admin .announcement-switch .slider::after {
  background:#fff;
  border-radius:50%;
  box-shadow:0 1px 3px rgba(16,24,40,.24);
  content:"";
  height:18px;
  left:3px;
  position:absolute;
  top:3px;
  transition:transform .2s ease;
  width:18px;
}

body.theme-admin .announcement-switch .switch > input[type="checkbox"]:checked + .slider {
  background:#111827!important;
}

body.theme-admin .announcement-switch .switch > input[type="checkbox"]:checked + .slider::after {
  transform:translateX(20px);
}

body.theme-admin .announcement-switch .switch > input[type="checkbox"]:focus-visible + .slider {
  outline:3px solid rgba(17,24,39,.18);
  outline-offset:3px;
}

body.theme-admin .announcement-switch .switch-text {
  align-items:center;
  color:#111827;
  display:inline-flex;
  font-size:14px;
  font-weight:700;
  height:44px;
  line-height:44px;
  white-space:nowrap;
}

/* Admin UI consistency baseline: shared controls, cards and responsive flow. */
body.theme-admin {
  --admin-control-height:44px;
  --admin-control-radius:10px;
  --admin-card-radius:16px;
  --admin-card-border:#e5e7eb;
  --admin-layout-gap:16px;
}

body.theme-admin :is(
  a.button,
  button.button,
  .text-button,
  form button[type="submit"],
  .asset-card-actions > a,
  .asset-card-actions button,
  .store-search button,
  .asset-search button,
  .purchase-search button,
  .pending-actions button,
  .relation-add button,
  .attachment-pick-button
) {
  align-items:center;
  border-radius:var(--admin-control-radius)!important;
  box-sizing:border-box;
  display:inline-flex;
  flex:0 0 auto;
  font-family:inherit;
  font-size:14px!important;
  font-weight:700!important;
  height:var(--admin-control-height)!important;
  justify-content:center;
  line-height:1!important;
  min-height:var(--admin-control-height)!important;
  padding-block:0;
  white-space:nowrap;
}

/* Compact navigation items are not business action buttons. */
body.theme-admin .admin-sidebar-user-dropdown :is(a,button) {
  font-size:13px!important;
  height:40px!important;
  min-height:40px!important;
}

body.theme-admin :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]),
  select,
  textarea
) {
  border-radius:var(--admin-control-radius)!important;
  box-sizing:border-box;
  font-family:inherit;
}

body.theme-admin :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]),
  select
) {
  height:var(--admin-control-height)!important;
  min-height:var(--admin-control-height)!important;
}

body.theme-admin textarea { min-height:var(--admin-control-height); }

/* Native checkbox/radio chrome is isolated from shared input rules. */
body.theme-admin input[type="checkbox"],
body.theme-admin input[type="radio"] {
  -webkit-appearance:none;
  appearance:none;
  background-color:#fff;
  border:1px solid #cfd4dc;
  box-shadow:none;
  box-sizing:border-box;
  flex:0 0 18px;
  height:18px;
  margin:0;
  min-height:18px;
  padding:0;
  width:18px;
}

body.theme-admin input[type="checkbox"] { border-radius:5px; }
body.theme-admin input[type="radio"] { border-radius:50%; }

body.theme-admin input[type="checkbox"]:checked {
  background-color:#111827;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m4 8 2.4 2.4L12 5'/%3E%3C/svg%3E");
  background-position:center;
  background-repeat:no-repeat;
  border-color:#111827;
}

body.theme-admin input[type="radio"]:checked {
  background:#111827;
  border:4px solid #fff;
  box-shadow:0 0 0 1px #111827;
}

body.theme-admin :is(
  .panel,
  .admin-page-header--card,
  .admin-section-card,
  .admin-stat-card,
  .admin-focus-panel,
  .admin-activity-panel,
  .purchase-card,
  .work-create-panel,
  .work-detail-panel,
  .admin-work-card,
  .asset-detail-section,
  .asset-detail-grid,
  .asset-board-section,
  .organized-group-card,
  .organized-file-card,
  .original-asset-display-card,
  .profile-business-card,
  .asset-profile-card,
  .material-card,
  .announcement-admin-card,
  .category-admin-card,
  .category-child-card,
  .upload-flow-steps,
  .upload-integrated-section
) {
  background:#fff;
  border:1px solid var(--admin-card-border)!important;
  border-radius:var(--admin-card-radius)!important;
  box-sizing:border-box;
  min-width:0;
}

body.theme-admin :is(
  .dashboard-content.stack,
  .admin-page-stack,
  .upload-integrated-form
) {
  gap:var(--admin-layout-gap)!important;
  min-width:0;
}

body.theme-admin :is(
  .admin-page-header,
  .admin-page-header__content,
  .admin-page-header__text,
  .admin-page-header__actions,
  .panel-head,
  .section-title,
  .form-grid,
  .two-column-forms,
  .category-card-grid,
  .category-card-form,
  .category-child-list
) { min-width:0; }

/* The category editor previously used five fixed columns inside a two-column card. */
body.theme-admin .category-child-card {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

body.theme-admin .category-child-card > :first-child,
body.theme-admin .category-child-card > .category-card-actions {
  grid-column:1 / -1;
}

body.theme-admin .category-child-card > .count { justify-self:start; }

body.theme-admin .category-sort-actions {
  display:inline-flex;
  flex-wrap:wrap;
  gap:8px;
  margin-right:auto;
  min-width:0;
}

body.theme-admin .category-sort-actions .button {
  min-height:34px;
  padding:6px 10px;
  white-space:nowrap;
}

body.theme-admin .category-sort-actions .button:disabled {
  cursor:not-allowed;
  opacity:.42;
}

/* Route-aware sidebar groups stay open independently of focus in the main content. */
body.theme-admin .admin-sidebar-group {
  display:grid;
  gap:4px;
  min-width:0;
}

body.theme-admin .admin-sidebar-group > summary.admin-sidebar-group-toggle {
  align-items:center;
  border:1px solid transparent;
  border-radius:10px;
  color:var(--admin-nav-muted, #5f6673);
  cursor:pointer;
  display:flex;
  font-size:14px;
  font-weight:600;
  justify-content:space-between;
  list-style:none;
  min-height:40px;
  padding:9px 12px;
  user-select:none;
}

body.theme-admin .admin-sidebar-group > summary.admin-sidebar-group-toggle::-webkit-details-marker { display:none; }

body.theme-admin .admin-sidebar-group > summary.admin-sidebar-group-toggle:hover {
  background:var(--admin-nav-hover, #f4f5f7);
  border-color:#e7eaf0;
  color:var(--admin-nav-text, #242832);
}

body.theme-admin .admin-sidebar-group > summary.admin-sidebar-group-toggle.active {
  background:var(--admin-nav-active, #fff1f6);
  border-color:var(--admin-nav-active-border, #eadcf1);
  color:#151719;
}

body.theme-admin .admin-sidebar-group-chevron {
  flex:0 0 auto;
  transition:transform .16s ease;
}

body.theme-admin .admin-sidebar-group[open] > summary .admin-sidebar-group-chevron { transform:rotate(180deg); }

body.theme-admin .dashboard > .admin-sidebar .admin-sidebar-group > .sidebar-subnav,
body.theme-admin .admin-mobile-nav-group.admin-sidebar-group > .admin-mobile-nav-subnav {
  display:none!important;
}

body.theme-admin .dashboard > .admin-sidebar .admin-sidebar-group[open] > .sidebar-subnav,
body.theme-admin .admin-mobile-nav-group.admin-sidebar-group[open] > .admin-mobile-nav-subnav {
  display:grid!important;
}

body.theme-admin .admin-sidebar-group > .sidebar-subnav a.active,
body.theme-admin .admin-mobile-nav-group > .admin-mobile-nav-subnav a.active {
  background:var(--admin-nav-active, #fff1f6);
  border-color:var(--admin-nav-active-border, #eadcf1);
  color:#151719;
}

@media(max-width:1024px) {
  body.theme-admin .category-card-grid,
  body.theme-admin .two-column-forms {
    grid-template-columns:minmax(0,1fr)!important;
  }
}

@media(max-width:560px) {
  body.theme-admin .category-child-card {
    grid-template-columns:minmax(0,1fr);
  }

  body.theme-admin .category-child-card > * { grid-column:1; }

  body.theme-admin .category-card-actions,
  body.theme-admin .category-sort-actions {
    align-items:stretch;
    width:100%;
  }

  body.theme-admin .category-sort-actions .button { flex:1 1 0; }

  body.theme-admin :is(.admin-page-header__actions,.form-actions) {
    max-width:100%;
  }

  body.theme-admin .asset-search > button,
  body.theme-admin .purchase-search > button,
  body.theme-admin .store-search > button {
    align-self:flex-start;
    height:var(--admin-control-height)!important;
    max-height:var(--admin-control-height)!important;
    min-height:var(--admin-control-height)!important;
    width:100%!important;
  }
}

body.theme-admin .work-detail-admin-head.admin-page-header--card,
body.theme-admin .work-create-head.admin-page-header--card.is-sticky-edit {
  background:#fff!important;
  border-color:var(--admin-card-border)!important;
}

body.theme-admin .work-create-main > .work-create-grid > .work-create-head.admin-page-header--card.is-sticky-edit {
  background:#fff!important;
  border-color:var(--admin-card-border)!important;
}

/* Admin visual unification: page headers and legacy management screens. */
body.theme-admin .admin-page-header {
  align-items:center;
  background:#fff!important;
  border:1px solid var(--admin-card-border)!important;
  border-radius:var(--admin-card-radius)!important;
  box-shadow:0 8px 24px rgba(16,24,40,.035)!important;
  box-sizing:border-box;
  display:flex;
  gap:16px;
  justify-content:space-between;
  margin:0!important;
  min-height:0;
  padding:24px!important;
  width:100%;
}

body.theme-admin .admin-page-header__content {
  align-items:center;
  display:flex;
  flex:1 1 auto;
  gap:16px;
  justify-content:space-between;
}

body.theme-admin .admin-page-header :is(h1,.admin-page-header__title) {
  color:#111827;
  font-size:32px;
  line-height:1.2;
  margin:0;
}

body.theme-admin .admin-page-header :is(.muted,.admin-page-header__description) {
  font-size:14px;
  line-height:1.55;
}

body.theme-admin .legacy-admin-header .eyebrow { margin:0; }

body.theme-admin .legacy-admin-section,
body.theme-admin .home-decor-page > .panel {
  padding:16px!important;
}

body.theme-admin .legacy-admin-section > .panel-head,
body.theme-admin .home-decor-page > .panel > .panel-head {
  border-bottom:1px solid #eef0f3;
  margin:0 0 16px;
  padding:0 0 14px;
}

body.theme-admin :is(
  .button:not(.secondary):not(.danger),
  button.button:not(.secondary):not(.danger),
  form .form-actions button[type="submit"]:not(.danger),
  .asset-search button,
  .purchase-search button,
  .store-search button
) {
  background:#111827!important;
  border-color:#111827!important;
  color:#fff!important;
}

/* Announcement editor and isolated pin switch. */
body.theme-admin .announcement-admin-form {
  align-items:start;
  gap:16px;
}

body.theme-admin .announcement-admin-list { gap:16px; }

body.theme-admin .announcement-admin-card {
  display:block;
  padding:16px;
  position:relative;
}

body.theme-admin .announcement-admin-card > .announcement-admin-form {
  width:100%;
}

body.theme-admin .announcement-admin-delete {
  margin:0;
}

body.theme-admin .announcement-admin-topline {
  align-items:center;
  display:flex;
  gap:16px;
  width:100%;
}

body.theme-admin .announcement-admin-topline > label {
  flex:1 1 0;
  min-width:0;
}

body.theme-admin .announcement-admin-topline .announcement-switch,
body.theme-admin .announcement-admin-top-action {
  align-items:center;
  align-self:stretch;
  display:flex;
  flex:0 0 auto;
  margin:0;
  padding-top:24px;
}

body.theme-admin .announcement-admin-topline .announcement-switch {
  position:relative;
  top:12px;
}

body.theme-admin .announcement-admin-top-action {
  justify-content:flex-end;
  margin-left:auto;
}

body.theme-admin .announcement-admin-top-action .text-button {
  margin:0;
}

body.theme-admin .announcement-admin-actions {
  align-items:center;
  display:flex;
  gap:12px;
  justify-content:flex-end;
  margin-top:2px;
  width:100%;
}

body.theme-admin .announcement-admin-actions .muted {
  line-height:1.4;
  margin:0;
  white-space:nowrap;
}

body.theme-admin .announcement-admin-actions .button {
  margin:0;
}

body.theme-admin .announcement-switch {
  align-items:center!important;
  align-self:end;
  display:flex!important;
  gap:10px;
  height:44px;
  min-height:44px;
}

body.theme-admin .announcement-switch .switch,
body.theme-admin .announcement-switch .slider {
  flex:0 0 44px;
  height:24px!important;
  width:44px!important;
}

body.theme-admin .announcement-switch .slider { background:#e5e7eb!important; }
body.theme-admin .announcement-switch .switch > input[type="checkbox"]:checked + .slider { background:#111827!important; }
body.theme-admin .announcement-switch .slider::after { height:18px; width:18px; }

body.theme-admin .announcement-switch .switch-text {
  align-items:center;
  display:inline-flex;
  font-size:14px;
  font-weight:700;
  height:44px;
  line-height:1;
}

/* Category management: compact business cards with editable prefixes. */
body.theme-admin .category-admin-panel .two-column-forms {
  gap:16px;
}

body.theme-admin .category-form,
body.theme-admin .category-admin-card {
  background:#fff!important;
  border:1px solid var(--admin-card-border)!important;
  border-radius:var(--admin-card-radius)!important;
  box-shadow:none!important;
  box-sizing:border-box;
  padding:16px;
}

body.theme-admin .category-child-card {
  background:#f7f8fa!important;
  border:1px solid #e1e5ea!important;
  border-radius:12px!important;
  box-shadow:none!important;
  box-sizing:border-box;
  padding:16px;
}

@media(min-width:761px) {
  html body.theme-admin .category-children-panel .category-child-card[data-category-tone="pink"] {
    background:linear-gradient(118deg,rgba(255,241,246,.72) 0%,rgba(255,250,252,.56) 42%,#fff 100%)!important;
    border-color:#f5e3ea!important;
  }

  html body.theme-admin .category-children-panel .category-child-card[data-category-tone="orange"] {
    background:linear-gradient(118deg,rgba(255,245,232,.72) 0%,rgba(255,251,246,.56) 42%,#fff 100%)!important;
    border-color:#f3e5d3!important;
  }

  html body.theme-admin .category-children-panel .category-child-card[data-category-tone="yellow"] {
    background:linear-gradient(118deg,rgba(255,250,228,.72) 0%,rgba(255,253,244,.56) 42%,#fff 100%)!important;
    border-color:#eee7ca!important;
  }

  html body.theme-admin .category-children-panel .category-child-card[data-category-tone="green"] {
    background:linear-gradient(118deg,rgba(238,249,242,.72) 0%,rgba(248,252,249,.56) 42%,#fff 100%)!important;
    border-color:#dcece1!important;
  }

  html body.theme-admin .category-children-panel .category-child-card[data-category-tone="blue"] {
    background:linear-gradient(118deg,rgba(238,246,255,.72) 0%,rgba(248,251,255,.56) 42%,#fff 100%)!important;
    border-color:#dfeaf6!important;
  }

  html body.theme-admin .category-children-panel .category-child-card[data-category-tone="purple"] {
    background:linear-gradient(118deg,rgba(246,241,253,.72) 0%,rgba(251,249,254,.56) 42%,#fff 100%)!important;
    border-color:#e8e0f2!important;
  }
}

body.theme-admin .category-form {
  align-content:start;
  gap:14px;
}

body.theme-admin .category-card-grid { gap:16px; }

body.theme-admin .category-card-head > div,
body.theme-admin .category-child-card > label,
body.theme-admin .category-card-fields > label {
  display:grid;
  gap:7px;
  min-width:0;
}

body.theme-admin .category-card-actions {
  align-items:center;
  border-top:1px solid #eef0f3;
  gap:10px;
  margin-top:4px;
  padding-top:14px;
}

body.theme-admin .share-link-box {
  background:#f8f9fb;
  border:1px solid #e5e7eb;
  border-radius:10px;
  box-sizing:border-box;
  min-height:44px;
  min-width:0;
}

body.theme-admin .share-link-box .private-link {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-admin [data-code-prefix-preview] {
  color:#111827;
  font-weight:800;
}

/* Home settings and banners. Deprecated featured-work fields stay hidden. */
body.theme-admin .home-settings-form { gap:16px; }

body.theme-admin .home-settings-subsection {
  align-items:center;
  background:#f8f9fb;
  border:1px solid #e5e7eb;
  border-radius:14px;
  display:flex;
  gap:18px;
  justify-content:space-between;
  padding:16px;
}

body.theme-admin .home-settings-subsection h3,
body.theme-admin .home-settings-subsection p { margin:0; }
body.theme-admin .home-settings-subsection > div:first-child { display:grid; gap:4px; }

body.theme-admin .home-settings-subsection .module-switches {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  grid-template-columns:none;
}

body.theme-admin .module-switches .checkbox-line,
body.theme-admin .home-banner-editor .checkbox-line {
  align-items:center;
  display:flex;
  gap:10px;
  height:44px;
  min-height:44px;
}

body.theme-admin .module-switches input[type="checkbox"],
body.theme-admin .home-banner-editor input[type="checkbox"] {
  -webkit-appearance:none!important;
  appearance:none!important;
  background:#e5e7eb;
  border:0;
  border-radius:999px;
  flex:0 0 44px;
  height:24px!important;
  min-height:24px!important;
  position:relative;
  width:44px!important;
}

body.theme-admin .module-switches input[type="checkbox"]::after,
body.theme-admin .home-banner-editor input[type="checkbox"]::after {
  background:#fff;
  border-radius:50%;
  box-shadow:0 1px 3px rgba(16,24,40,.24);
  content:"";
  height:18px;
  left:3px;
  position:absolute;
  top:3px;
  transition:transform .2s ease;
  width:18px;
}

body.theme-admin .module-switches input[type="checkbox"]:checked,
body.theme-admin .home-banner-editor input[type="checkbox"]:checked { background:#111827; }

body.theme-admin .module-switches input[type="checkbox"]:checked::after,
body.theme-admin .home-banner-editor input[type="checkbox"]:checked::after { transform:translateX(20px); }

body.theme-admin .home-banner-editor {
  align-items:start;
  display:grid;
  gap:20px;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);
  min-width:0;
}

body.theme-admin .home-banner-editor__media,
body.theme-admin .home-banner-editor__fields { min-width:0; }

body.theme-admin .home-banner-editor__fields {
  align-content:start;
  gap:14px;
}

body.theme-admin .home-banner-editor .banner-image-upload {
  display:grid;
  gap:10px;
  min-width:0;
}

body.theme-admin .home-banner-editor .banner-upload-preview {
  aspect-ratio:16 / 9;
  min-height:0;
  width:100%;
}

body.theme-admin .home-banner-editor .uploader-dropzone {
  min-height:112px;
}

body.theme-admin .home-banner-card {
  background:#fff;
  border:1px solid var(--admin-card-border);
  border-radius:var(--admin-card-radius);
  display:grid;
  gap:14px;
  grid-template-columns:minmax(0,1fr);
  padding:16px;
}

body.theme-admin .home-banner-card .banner-delete-form {
  display:flex;
  justify-content:flex-end;
  margin:0;
}

@media(max-width:1024px) {
  body.theme-admin .home-banner-editor {
    grid-template-columns:minmax(220px,.8fr) minmax(0,1fr);
  }

  body.theme-admin .home-banner-editor__fields {
    grid-template-columns:minmax(0,1fr);
  }

  body.theme-admin .home-banner-editor__fields > .full { grid-column:1; }
}

@media(max-width:720px) {
  body.theme-admin .admin-page-header {
    align-items:flex-start!important;
    padding:18px!important;
  }

  body.theme-admin .admin-page-header__content,
  body.theme-admin .home-settings-subsection {
    align-items:flex-start;
    flex-direction:column;
  }

  body.theme-admin .admin-page-header :is(h1,.admin-page-header__title) { font-size:28px; }

  body.theme-admin .home-banner-editor {
    grid-template-columns:minmax(0,1fr);
  }
}

@media(max-width:420px) {
  body.theme-admin .legacy-admin-section,
  body.theme-admin .home-decor-page > .panel { padding:14px!important; }

  body.theme-admin .home-settings-subsection .module-switches {
    align-items:flex-start;
    flex-direction:column;
  }
}

/* Management center only: compact tool-style header and metrics. */
body.theme-admin .admin-dashboard .dashboard-content { gap:16px!important; }
body.theme-admin .admin-dashboard-header {
  align-items:center!important;
  justify-content:flex-start!important;
  margin:0!important;
  height:76px!important;
  min-height:76px!important;
  padding:10px 20px!important;
}
body.theme-admin .admin-dashboard-header .admin-page-header__content {
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
  width:100%;
}
body.theme-admin .admin-dashboard-header .admin-page-header__text { text-align:left; }
body.theme-admin .admin-dashboard-header .admin-page-header__title {
  font-size:26px!important;
  line-height:1.2;
}
body.theme-admin .admin-dashboard-header .admin-page-header__description {
  font-size:13px;
  line-height:1.45;
  margin-top:5px!important;
}

body.theme-admin .admin-dashboard .admin-stat-grid {
  display:grid;
  gap:12px!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
body.theme-admin .admin-dashboard .admin-stat-card {
  align-items:center;
  box-sizing:border-box;
  display:flex;
  gap:5px!important;
  justify-content:center;
  min-height:98px!important;
  padding:13px 12px!important;
  text-align:center;
}
body.theme-admin .admin-dashboard .admin-stat-card::before { display:none!important; }
body.theme-admin .admin-dashboard .admin-stat-card > span {
  font-size:13px;
  line-height:1.25;
}
body.theme-admin .admin-dashboard .admin-stat-card > strong {
  font-size:28px;
  line-height:1;
}
body.theme-admin .admin-dashboard .admin-stat-card > small {
  font-size:12px;
  line-height:1.3;
  min-height:0;
}

@media(max-width:700px) {
  body.theme-admin .admin-dashboard-header {
    align-items:flex-start!important;
    height:auto!important;
    min-height:0!important;
    padding:14px 16px!important;
  }
  body.theme-admin .admin-dashboard-header .admin-page-header__title { font-size:24px!important; }
  body.theme-admin .admin-dashboard .admin-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body.theme-admin .admin-dashboard .admin-stat-card { min-height:92px!important; padding:12px 8px!important; }
  body.theme-admin .admin-dashboard .admin-stat-card:last-child:nth-child(odd) { grid-column:1 / -1; }
}

/* Works list only: compact horizontal management rows. */
@media(min-width:701px) {
  body.theme-admin .admin-work-card-grid { gap:8px!important; }
  body.theme-admin .admin-work-card {
    grid-template-columns:120px minmax(0,1fr)!important;
    min-height:104px!important;
  }
  body.theme-admin .admin-work-card-media {
    height:100%!important;
    min-height:102px!important;
  }
  body.theme-admin .admin-work-card-body {
    gap:5px 12px!important;
    grid-template-columns:minmax(210px,1.2fr) minmax(145px,.8fr) 230px!important;
    grid-template-rows:auto auto auto!important;
    padding:9px 12px!important;
  }
  body.theme-admin .admin-work-card-head {
    grid-column:1 / 3!important;
    grid-row:1!important;
  }
  body.theme-admin .admin-work-card h2 {
    align-self:center!important;
    font-size:15px!important;
    grid-column:1!important;
    grid-row:2!important;
    line-height:1.35!important;
    min-height:0!important;
    -webkit-line-clamp:1!important;
  }
  body.theme-admin .admin-work-card-category {
    grid-column:1!important;
    grid-row:3!important;
  }
  body.theme-admin .admin-work-card .admin-tag-row {
    align-self:center!important;
    grid-column:2!important;
    grid-row:2!important;
    min-height:22px!important;
  }
  body.theme-admin .admin-work-card-stats {
    align-self:center!important;
    grid-column:2!important;
    grid-row:3!important;
    padding:0!important;
  }
  body.theme-admin .admin-work-card time {
    align-self:center!important;
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
  }
  body.theme-admin .admin-work-card-actions {
    align-self:center!important;
    grid-column:3!important;
    grid-row:2 / 4!important;
    min-width:0!important;
  }
  body.theme-admin .admin-work-card-actions :is(.button,.text-button,button) {
    height:34px!important;
    min-height:34px!important;
    padding:0 6px!important;
  }
}

@media(max-width:700px) {
  body.theme-admin .admin-work-card-grid { gap:8px!important; }
  body.theme-admin .admin-work-card { grid-template-columns:86px minmax(0,1fr)!important; }
  body.theme-admin .admin-work-card-media { min-height:190px!important; }
  body.theme-admin .admin-work-card-body { gap:5px!important; padding:9px!important; }
  body.theme-admin .admin-work-card h2 {
    font-size:14px!important;
    line-height:1.35!important;
    min-height:0!important;
    -webkit-line-clamp:1!important;
  }
  body.theme-admin .admin-work-card-stats { padding:4px 0!important; }
  body.theme-admin .admin-work-card-actions { gap:6px!important; }
  body.theme-admin .admin-work-card-actions :is(.button,.text-button,button) {
    height:34px!important;
    min-height:34px!important;
  }
}

@media(min-width:701px) {
  body.theme-admin .admin-work-card .admin-work-card-actions {
    grid-template-columns:repeat(2, 90px)!important;
    justify-content:end;
    min-width:190px!important;
  }

  body.theme-admin .admin-work-card .admin-work-card-actions > :is(a,form),
  body.theme-admin .admin-work-card .admin-work-card-actions > form > button {
    box-sizing:border-box;
    margin:0;
    width:90px!important;
  }

  body.theme-admin .admin-work-card .admin-work-card-actions :is(a,button) {
    align-items:center;
    display:inline-flex;
    height:34px!important;
    justify-content:center;
    line-height:1!important;
    min-height:34px!important;
    text-align:center;
  }
}

@media(min-width:701px) and (max-width:1180px) {
  body.theme-admin .admin-work-card-body {
    grid-template-columns:minmax(180px,1fr) minmax(110px,.65fr) 190px!important;
  }
}

/* Work asset selector: professional design-material selection panel. */
body.theme-admin .work-create-main .work-asset-search .work-asset-type-trigger {
  background:#fff!important;
  border:1px solid #d0d5dd!important;
  border-radius:10px!important;
  box-shadow:none!important;
  color:#101828!important;
}
body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu {
  background:#fff!important;
  border:1px solid #d0d5dd!important;
  border-radius:10px!important;
  box-shadow:0 10px 24px rgba(16,24,40,.12)!important;
  color:#101828!important;
  padding:5px!important;
}
body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu button {
  background:#fff!important;
  border:0!important;
  border-radius:7px!important;
  color:#101828!important;
  font-size:13px!important;
  font-weight:500!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 10px!important;
  text-align:left!important;
}
body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu button[aria-selected="false"] {
  background:#fff!important;
  color:#101828!important;
}
body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu button:hover,
body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu button:focus-visible {
  background:#f5f6f8!important;
  color:#101828!important;
}
body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu button.selected,
body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu button.selected:hover,
body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu button.selected:focus-visible,
body.theme-admin .work-create-main .work-asset-search .work-asset-type-menu button[aria-selected="true"] {
  background:#eef1f5!important;
  color:#101828!important;
  font-weight:700!important;
}
body.theme-admin .work-create-grid > .work-create-panel:nth-of-type(2) .work-select-asset,
body.theme-admin .work-create-main .work-asset-selector .work-select-asset {
  background:#fff!important;
  border:1px solid #e2e6ec!important;
  border-radius:12px!important;
  box-shadow:0 3px 10px rgba(16,24,40,.045)!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  height:auto!important;
  min-height:240px!important;
  overflow:hidden!important;
  padding:0!important;
}
body.theme-admin .work-create-main .work-asset-selector {
  display:grid!important;
  gap:12px!important;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;
  justify-content:stretch!important;
  width:100%!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-preview {
  aspect-ratio:auto!important;
  background-color:#f2f4f7!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='42' viewBox='0 0 52 42'%3E%3Crect x='1' y='1' width='50' height='40' rx='6' fill='none' stroke='%2398A2B3' stroke-width='2'/%3E%3Ccircle cx='17' cy='14' r='4' fill='%2398A2B3'/%3E%3Cpath d='M8 34l11-11 7 7 6-6 12 10' fill='none' stroke='%2398A2B3' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:42px 34px!important;
  flex:0 0 120px!important;
  height:120px!important;
  min-height:120px!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-preview > :is(img,video) {
  height:100%!important;
  object-fit:cover!important;
  width:100%!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-preview > img[hidden] {
  display:none!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body {
  box-sizing:border-box!important;
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  gap:3px!important;
  min-height:0!important;
  padding:7px!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body > strong {
  font-size:12px!important;
  line-height:1.3!important;
  min-height:0!important;
  -webkit-line-clamp:1!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body h3 {
  display:-webkit-box!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.35!important;
  min-height:35px!important;
  overflow:hidden!important;
  white-space:normal!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-body p {
  color:#667085!important;
  font-size:11px!important;
  min-height:15px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.theme-admin .work-create-main .work-asset-selector .asset-pill-row { display:none; }
body.theme-admin .work-create-main .work-asset-selector .work-select-controls {
  align-items:center!important;
  display:grid!important;
  gap:3px!important;
  grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,1.35fr)!important;
  justify-content:stretch!important;
  margin-top:auto!important;
  min-height:32px!important;
  width:100%!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-controls > :is(label,button) {
  align-items:center!important;
  border:1px solid #d0d5dd!important;
  border-radius:7px!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  font-size:13px!important;
  font-weight:600!important;
  height:32px!important;
  justify-content:center!important;
  min-height:32px!important;
  min-width:0!important;
  overflow:hidden!important;
  padding:0 2px!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  width:100%!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-controls > label {
  background:#fff!important;
  color:#344054!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-controls > label:has(input:checked) {
  background:#f2f4f7!important;
  border-color:#98a2b3!important;
  color:#101828!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-controls > button[data-insert-intro-material] {
  background:#111827!important;
  border-color:#111827!important;
  color:#fff!important;
}
body.theme-admin .work-create-main .work-asset-selector .work-select-controls > button[data-insert-intro-material]:hover,
body.theme-admin .work-create-main .work-asset-selector .work-select-controls > button[data-insert-intro-material]:focus-visible {
  background:#263244!important;
  border-color:#263244!important;
}
body.theme-admin .work-create-main .work-asset-selector [data-insert-label-short] {
  display:none;
}
body.theme-admin .work-create-main > .work-create-grid > .work-create-head.is-sticky-edit {
  margin-bottom:8px!important;
}
body.theme-admin .work-create-main {
  scroll-padding-top:calc(var(--admin-topbar-height,64px) + 124px);
}
body.theme-admin .work-create-main .work-create-panel {
  scroll-margin-top:calc(var(--admin-topbar-height,64px) + 112px);
}
body.theme-admin .work-create-main .work-asset-search {
  display:grid!important;
  gap:10px!important;
  grid-template-columns:minmax(220px,1fr) 140px 150px 170px!important;
  width:100%!important;
}
body.theme-admin .work-create-main .work-asset-search > input:not([type="hidden"]),
body.theme-admin .work-create-main .work-asset-search > [data-apply-work-asset-filter],
body.theme-admin .work-create-main .work-asset-search > .work-asset-filter-dropdown {
  box-sizing:border-box!important;
  max-width:none!important;
  min-width:0!important;
  width:100%!important;
}
@media(max-width:1199px) and (min-width:701px) {
  body.theme-admin .work-create-main .work-asset-selector {
    grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;
  }
}
@media(max-width:900px) {
  body.theme-admin .work-create-main .work-asset-search {
    grid-template-columns:minmax(0,1fr) 120px!important;
  }
  body.theme-admin .work-create-main .work-asset-search > .work-asset-filter-dropdown {
    grid-column:auto!important;
  }
}
@media(max-width:700px) {
  body.theme-admin .work-create-main .work-asset-selector {
    gap:8px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.theme-admin .work-create-main .work-asset-selector .work-select-preview {
    flex-basis:96px!important;
    height:96px!important;
    min-height:96px!important;
  }
  body.theme-admin .work-create-main .work-asset-selector .work-select-asset { min-height:240px!important; }
  body.theme-admin .work-create-main .work-asset-selector .work-select-body { padding:6px!important; }
  body.theme-admin .work-create-main .work-asset-selector .work-select-controls {
    grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr)!important;
  }
  body.theme-admin .work-create-main .work-asset-selector [data-insert-label-full] { display:none; }
  body.theme-admin .work-create-main .work-asset-selector [data-insert-label-short] { display:inline; }
}

/* Organized assets: one consistent compact statistics label system. */
body.theme-admin .organized-overview-summary {
  align-items:center!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  height:auto!important;
  min-height:64px!important;
  padding:16px 18px!important;
}
body.theme-admin .organized-overview-summary .admin-section-card__header,
body.theme-admin .organized-overview-summary__counts > span {
  align-items:center!important;
  background:#f7f8fa!important;
  border:1px solid #e4e7ec!important;
  border-radius:8px!important;
  box-sizing:border-box!important;
  color:#475467!important;
  display:inline-flex!important;
  flex:0 0 auto!important;
  font-size:13px!important;
  gap:6px!important;
  height:32px!important;
  line-height:1!important;
  margin:0!important;
  min-height:32px!important;
  position:static!important;
  padding:0 12px!important;
  transform:none!important;
}
body.theme-admin .organized-overview-summary .admin-section-card__header {
  width:auto!important;
}
body.theme-admin .organized-overview-summary .section-title h2,
body.theme-admin .organized-overview-summary .section-title .count,
body.theme-admin .organized-overview-summary__counts > span,
body.theme-admin .organized-overview-summary__counts strong {
  font-size:13px!important;
  line-height:1!important;
  margin:0!important;
}
body.theme-admin .organized-overview-summary .section-title h2,
body.theme-admin .organized-overview-summary__counts strong {
  color:#101828!important;
  font-weight:700!important;
}
body.theme-admin .organized-overview-summary__counts {
  align-items:center!important;
  border:0!important;
  display:flex!important;
  flex:0 1 auto!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  padding:0!important;
  width:auto!important;
}

/* Pending assets: keep selection controls as one compact tool group. */
body.theme-admin .pending-assets-toolbar {
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
}

body.theme-admin .pending-actions {
  align-items:center;
  column-gap:8px;
  display:flex;
  flex:1 1 850px;
  flex-wrap:wrap;
  justify-content:flex-end;
  min-width:0;
  row-gap:8px;
}

body.theme-admin .pending-actions > .nova-select {
  flex:0 0 240px;
  height:36px!important;
  max-width:240px;
  min-height:36px!important;
  min-width:240px;
  overflow:visible;
  position:relative;
  width:240px;
  z-index:20;
}

html body.theme-admin .pending-assets-toolbar[data-pending-selection-bar] .pending-actions > .nova-select.nova-select > button.nova-select__trigger.nova-select__trigger,
html body.theme-admin .pending-assets-toolbar .pending-actions > button.button {
  border-radius:9px!important;
  height:36px!important;
  min-height:36px!important;
  white-space:nowrap;
}

html body.theme-admin .pending-assets-toolbar[data-pending-selection-bar] .pending-actions > .nova-select.nova-select > select.asset-profile-select.nova-select__native.nova-select__native {
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  display:none!important;
  height:1px!important;
  opacity:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
  position:absolute!important;
  width:1px!important;
}

html body.theme-admin .pending-assets-toolbar[data-pending-selection-bar] .pending-actions > .nova-select.nova-select > .nova-select__menu.nova-select__menu {
  background:#fff!important;
  border:1px solid #e4e7ec!important;
  border-radius:8px!important;
  box-shadow:0 12px 30px rgba(16,24,40,.14)!important;
  left:0!important;
  max-height:280px;
  overflow-y:auto;
  position:absolute!important;
  right:auto!important;
  top:calc(100% + 6px)!important;
  width:240px!important;
  z-index:1000!important;
}

html body.theme-admin .pending-assets-toolbar .pending-actions > .nova-select > .nova-select__menu > .nova-select__option:hover,
html body.theme-admin .pending-assets-toolbar .pending-actions > .nova-select > .nova-select__menu > .nova-select__option:focus-visible {
  background:#f2f4f7!important;
}

@media(max-width:1180px) {
  body.theme-admin .pending-actions {
    flex:0 1 100%;
    justify-content:flex-start;
    width:100%;
  }
}

@media(max-width:560px) {
  body.theme-admin .pending-assets-toolbar {
    align-items:flex-start;
    flex-direction:column;
  }

  body.theme-admin .pending-actions {
    align-items:center;
    flex:0 1 auto;
    flex-direction:row;
    width:100%;
  }

  body.theme-admin .pending-actions > .nova-select {
    flex-basis:min(240px, 100%);
    max-width:100%;
    min-width:0;
    width:min(240px, 100%);
  }
}

/* Upload center: shared CardSelect choices and compact profile details. */
body.theme-admin [data-profile-section] .card-select-group {
  align-items:stretch;
  display:grid;
  gap:12px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

body.theme-admin [data-profile-section] .card-select-group > .card-select {
  align-content:center;
  background:#fff;
  border:1px solid #d9dee7;
  border-radius:12px;
  box-shadow:none;
  box-sizing:border-box;
  min-height:72px;
  padding:12px 14px;
  width:100%;
}

body.theme-admin [data-profile-section] .card-select-group > .card-select:has(input[type="radio"]:checked) {
  background:#f8f5fa;
  border-color:var(--accent, #111827);
  box-shadow:inset 0 0 0 1px var(--accent, #111827);
}

body.theme-admin [data-profile-section] .upload-profile-create-grid {
  align-items:start;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

html body.theme-admin [data-profile-section] .upload-profile-create-grid > label:nth-child(4) textarea,
html body.theme-admin [data-profile-section] .upload-profile-create-grid > label:nth-child(5) textarea,
html body.theme-admin [data-profile-section] .upload-profile-create-grid > .upload-private-attachment > .purchase-attachment-drop {
  box-sizing:border-box;
  height:112px!important;
  min-height:112px!important;
  max-height:112px;
}

html body.theme-admin [data-profile-section] .upload-profile-create-grid > .upload-private-attachment > .purchase-attachment-drop {
  gap:3px;
  padding:9px 12px;
}

html body.theme-admin [data-profile-section] .upload-profile-create-grid > .upload-private-attachment .attachment-pick-button {
  height:32px!important;
  min-height:32px!important;
  padding:0 12px!important;
}

@media(max-width:1100px) {
  body.theme-admin [data-profile-section] .upload-profile-create-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px) {
  body.theme-admin [data-profile-section] .card-select-group,
  body.theme-admin [data-profile-section] .upload-profile-create-grid {
    grid-template-columns:minmax(0,1fr);
  }
}

/* Asset profile editor: make create and edit modes visibly distinct. */
body.theme-admin .asset-profile-edit-context {
  display:grid;
  gap:12px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:14px 18px;
}

body.theme-admin .asset-profile-edit-context > div {
  background:#f8f9fb;
  border:1px solid #eaecf0;
  border-radius:10px;
  display:grid;
  gap:5px;
  min-width:0;
  padding:11px 13px;
}

body.theme-admin .asset-profile-edit-context span {
  color:#667085;
  font-size:12px;
}

body.theme-admin .asset-profile-edit-context strong {
  color:#101828;
  font-size:15px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media(max-width:820px) {
  body.theme-admin .asset-profile-edit-context {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:520px) {
  body.theme-admin .asset-profile-edit-context {
    grid-template-columns:minmax(0,1fr);
  }
}

body.theme-admin .profile-existing-files {
  border-top:1px solid #eaecf0;
  display:grid;
  gap:12px;
  margin-top:18px;
  padding-top:18px;
}

body.theme-admin .profile-existing-files > .section-title {
  margin:0;
}

body.theme-admin .profile-existing-file-list {
  border:1px solid #e4e7ec;
  border-radius:12px;
  overflow:hidden;
}

body.theme-admin .profile-existing-file-head,
body.theme-admin .profile-existing-file-row {
  align-items:center;
  border-bottom:1px solid #eaecf0;
  display:grid;
  gap:12px;
  grid-template-columns:minmax(0,1fr) 140px auto;
}

body.theme-admin .profile-existing-file-head {
  background:#f8f9fb;
  color:#667085;
  font-size:12px;
  font-weight:700;
  min-height:36px;
  padding:0 10px 0 14px;
}

body.theme-admin .profile-existing-file-row {
  background:#fff;
  min-height:48px;
  padding:8px 10px 8px 14px;
}

body.theme-admin .profile-existing-file-row:last-child {
  border-bottom:0;
}

body.theme-admin .profile-existing-file-row > a {
  color:#101828;
  min-width:0;
  overflow:hidden;
  text-decoration:none;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-admin .profile-existing-file-row > span {
  color:#667085;
  font-size:13px;
}

body.theme-admin .profile-file-remove {
  cursor:pointer;
  display:inline-flex;
}

body.theme-admin .profile-file-remove > input {
  height:1px!important;
  opacity:0;
  pointer-events:none;
  position:absolute;
  width:1px!important;
}

body.theme-admin .profile-file-remove > span {
  align-items:center;
  background:#fff;
  border:1px solid #d0d5dd;
  border-radius:8px;
  color:#b42318;
  display:inline-flex;
  font-size:13px;
  font-weight:700;
  height:32px;
  justify-content:center;
  padding:0 12px;
}

body.theme-admin .profile-file-remove > input:checked + span {
  background:#fef3f2;
  border-color:#f04438;
  box-shadow:inset 0 0 0 1px #f04438;
}

body.theme-admin .profile-file-remove > input:checked + span::before {
  content:"待";
}

body.theme-admin .profile-file-add {
  border-top:1px solid #eaecf0;
  display:grid;
  gap:12px;
  margin-top:18px;
  padding-top:18px;
}

body.theme-admin .profile-file-add > .section-title {
  margin:0;
}

body.theme-admin .profile-file-add .purchase-attachment-drop {
  min-height:112px;
}

body.theme-admin .profile-related-assets-disclosure {
  border-top:1px solid #eaecf0;
  margin-top:20px;
  padding-top:18px;
}

body.theme-admin .profile-related-assets-disclosure > summary {
  align-items:center;
  background:#f8f9fb;
  border:1px solid #e4e7ec;
  border-radius:10px;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  list-style:none;
  min-height:44px;
  padding:0 14px;
}

body.theme-admin .profile-related-assets-disclosure > summary::-webkit-details-marker {
  display:none;
}

body.theme-admin .profile-related-assets-disclosure > summary span {
  color:#101828;
  font-weight:700;
}

body.theme-admin .profile-related-assets-disclosure > summary strong {
  color:#667085;
  font-size:13px;
  font-weight:600;
}

body.theme-admin .profile-related-assets-disclosure[open] > summary {
  border-color:#cfd4dc;
}

body.theme-admin .profile-related-assets-grid {
  display:grid;
  gap:10px;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  padding-top:12px;
}

body.theme-admin .profile-related-asset {
  align-items:center;
  border:1px solid #e4e7ec;
  border-radius:10px;
  display:grid;
  gap:10px;
  grid-template-columns:56px minmax(0,1fr);
  min-width:0;
  padding:8px;
}

body.theme-admin .profile-related-asset__thumb {
  background:#f2f4f7;
  border-radius:8px;
  height:56px;
  overflow:hidden;
  width:56px;
}

body.theme-admin .profile-related-asset__thumb :is(img,video) {
  height:100%;
  object-fit:cover;
  width:100%;
}

body.theme-admin .profile-related-asset > div:last-child {
  display:grid;
  gap:5px;
  min-width:0;
}

body.theme-admin .profile-related-asset > div:last-child strong {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-admin .profile-related-asset > div:last-child span {
  color:#667085;
  font-size:12px;
}

@media(max-width:640px) {
  body.theme-admin .profile-existing-file-head {
    display:none;
  }

  body.theme-admin .profile-existing-file-row {
    grid-template-columns:minmax(0,1fr) auto;
  }

  body.theme-admin .profile-existing-file-row > span {
    grid-column:1;
  }

  body.theme-admin .profile-file-remove {
    grid-column:2;
    grid-row:1 / span 2;
  }
}

/* Shared back control for admin secondary pages only. */
html body.theme-admin .admin-secondary-header .admin-back-button {
  align-items:center;
  align-self:center;
  background:#fff!important;
  border:1px solid #d0d5dd!important;
  border-radius:10px!important;
  box-shadow:none!important;
  color:#344054!important;
  display:inline-flex;
  flex:0 0 auto;
  font-size:14px!important;
  font-weight:700!important;
  height:40px!important;
  justify-content:center;
  min-height:40px!important;
  padding:0 14px!important;
  white-space:nowrap;
  width:auto;
}

html body.theme-admin .admin-secondary-header .admin-back-button:hover,
html body.theme-admin .admin-secondary-header .admin-back-button:focus-visible {
  background:#f8f9fb!important;
  border-color:#98a2b3!important;
  color:#101828!important;
}

/* Purchase editor: compact, shared dropdown toolbar for related assets. */
html body.theme-admin .purchase-editor .section-title {
  align-items:center;
}

html body.theme-admin .purchase-editor .relation-add {
  align-items:center;
  display:grid;
  flex:0 0 auto;
  gap:10px;
  grid-template-columns:160px 260px auto;
  justify-content:end;
  margin-left:auto;
  max-width:none;
  padding:10px 12px;
  width:auto;
}

html body.theme-admin .purchase-editor .relation-add > .nova-select:nth-child(1) {
  max-width:160px;
  min-width:160px;
  width:160px;
}

html body.theme-admin .purchase-editor .relation-add > .nova-select:nth-child(2) {
  max-width:260px;
  min-width:260px;
  width:260px;
}

html body.theme-admin .purchase-editor .relation-add > .nova-select > select.nova-select__native {
  display:none!important;
}

html body.theme-admin .purchase-editor .relation-add > .nova-select.nova-select > button.nova-select__trigger.nova-select__trigger,
html body.theme-admin .purchase-editor .relation-add > button[data-add-relation] {
  height:44px!important;
  min-height:44px!important;
}

html body.theme-admin .purchase-editor .relation-add > .nova-select.nova-select > .nova-select__menu.nova-select__menu {
  min-width:100%!important;
  width:100%!important;
}

@media(max-width:760px) {
  html body.theme-admin .purchase-editor .section-title {
    align-items:flex-start;
  }

  html body.theme-admin .purchase-editor .relation-add {
    grid-template-columns:minmax(0,1fr);
    justify-content:stretch;
    margin-left:0;
    width:100%;
  }

  html body.theme-admin .purchase-editor .relation-add > .nova-select:nth-child(1),
  html body.theme-admin .purchase-editor .relation-add > .nova-select:nth-child(2) {
    max-width:none;
    min-width:0;
    width:100%;
  }
}
/* Numbering rules: system-settings cards */
body.theme-admin .admin-numbering-page {
  gap: var(--admin-section-gap, 16px);
}

body.theme-admin .numbering-rule-overview {
  padding: 20px;
}

body.theme-admin .numbering-rule-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.theme-admin .numbering-rule-card {
  background: #f8f9fb;
  border: 1px solid #e7e9ee;
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  padding: 18px;
}

body.theme-admin .numbering-rule-card__header,
body.theme-admin .numbering-rule-card__footer,
body.theme-admin .numbering-rule-actions {
  align-items: center;
  display: flex;
  gap: 12px;
}

body.theme-admin .numbering-rule-card__header,
body.theme-admin .numbering-rule-card__footer {
  justify-content: space-between;
}

body.theme-admin .numbering-rule-card__header h3,
body.theme-admin .numbering-rule-card__header p {
  margin: 0;
}

body.theme-admin .numbering-rule-card__header h3 {
  margin-top: 4px;
}

body.theme-admin .numbering-next-code,
body.theme-admin .numbering-readonly-value {
  align-items: center;
  background: #fff;
  border: 1px solid #e2e5ea;
  border-radius: 10px;
  box-sizing: border-box;
  display: flex;
  min-height: 44px;
  padding: 0 13px;
}

body.theme-admin .numbering-next-code {
  color: #273244;
  flex: 0 0 auto;
  font-weight: 700;
}

body.theme-admin .numbering-rule-form {
  align-items: start;
  grid-template-columns: minmax(0, 1fr) minmax(140px, .48fr);
  margin: 0;
}

body.theme-admin .numbering-rule-form input,
body.theme-admin .numbering-readonly-value {
  height: 44px;
}

body.theme-admin .numbering-rule-card__footer {
  border-top: 1px solid #e4e7ec;
  padding-top: 14px;
}

body.theme-admin .numbering-rule-card__footer > div:first-child {
  display: grid;
  gap: 3px;
}

body.theme-admin .numbering-rule-card__footer span {
  color: #6c7482;
  font-size: 12px;
}

@media (max-width: 900px) {
  body.theme-admin .numbering-rule-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 560px) {
  body.theme-admin .numbering-rule-overview,
  body.theme-admin .numbering-rule-card {
    padding: 16px;
  }

  body.theme-admin .numbering-rule-card__header,
  body.theme-admin .numbering-rule-card__footer {
    align-items: stretch;
    flex-direction: column;
  }

  body.theme-admin .numbering-rule-form {
    grid-template-columns: minmax(0, 1fr);
  }

  body.theme-admin .numbering-rule-actions {
    flex-wrap: wrap;
  }
}

/* V1 launch closeout: semantic notices and mobile touch targets. */
html body .notice.success {
  background:#edf7f5;
  border-color:#99d9cf;
  color:#176b5b;
}

html body .notice.error {
  background:#fef3f2;
  border-color:#fecdca;
  color:#b42318;
}

html body .notice.warning {
  background:#fffaeb;
  border-color:#fedf89;
  color:#93370d;
}

html body .notice.info {
  background:#f4f0ff;
  border-color:#eadcf1;
  color:#4b4458;
}

@media (max-width: 700px) {
  body:not(.theme-admin) .public-header-container nav > a,
  body:not(.theme-admin) .mobile-bottom-nav a {
    align-items:center;
    box-sizing:border-box;
    display:inline-flex;
    justify-content:center;
    min-height:44px;
    min-width:44px;
  }

  body.theme-admin .work-create-main .work-rich-toolbar button,
  body.theme-admin .work-create-main .work-rich-image-button,
  body.theme-admin .work-create-main .work-rich-color-button,
  body.theme-admin .work-create-main .work-select-controls button {
    min-height:44px!important;
    min-width:44px!important;
  }

  html body.theme-admin .work-create-main .work-asset-selector .work-select-controls {
    min-height:44px!important;
  }

  html body.theme-admin .work-create-main .work-asset-selector .work-select-controls > button {
    height:44px!important;
    min-height:44px!important;
    min-width:44px!important;
  }

  body.theme-admin .asset-filter-row.secondary > a,
  body.theme-admin .pending-actions > .nova-select,
  html body.theme-admin .pending-assets-toolbar[data-pending-selection-bar] .pending-actions > .nova-select.nova-select > button.nova-select__trigger.nova-select__trigger,
  html body.theme-admin .pending-assets-toolbar .pending-actions > button.button {
    height:44px!important;
    min-height:44px!important;
  }

  body.theme-admin .asset-filter-row.secondary > a {
    min-width:44px;
  }
}
/* v1.1.1 stabilization: storefront, masonry and admin workflow fixes. */
body:not(.theme-admin) .home-banner-list {
  max-height: 420px;
  overflow: hidden;
}

body:not(.theme-admin) .home-banner-card {
  cursor: default;
  max-height: 420px;
}

body:not(.theme-admin) .home-banner-card img {
  height: clamp(240px, 32vw, 420px) !important;
  object-fit: cover;
}

/* Store banners own their compact desktop/mobile frames. This is deliberately
   Storefront-scoped: platform ads use .platform-discover .platform-ad-carousel
   in a separate stylesheet and must never inherit these dimensions. */
body:not(.theme-admin) .store-public-page.home-page-shell > .home-banner-list[data-home-banner-carousel],
body:not(.theme-admin) .store-public-page.home-page-shell > .home-banner-list[data-home-banner-carousel] .home-banner-card {
  aspect-ratio:6 / 1;
  max-height:none;
  min-height:0;
}
body:not(.theme-admin) .store-public-page.home-page-shell > .home-banner-list[data-home-banner-carousel] {
  /* The page shell already supplies the storefront's normal outer gutter.
     Do not retain the legacy generic banner padding/max width here: it made
     the slide narrower than the actual content area on wide screens. */
  margin-left:0;
  margin-right:0;
  max-width:none;
  padding-left:0;
  padding-right:0;
  width:100%;
}
body:not(.theme-admin) .store-public-page.home-page-shell > .home-banner-list[data-home-banner-carousel] .home-banner-card picture,
body:not(.theme-admin) .store-public-page.home-page-shell > .home-banner-list[data-home-banner-carousel] .home-banner-card img {
  display:block;
  height:100% !important;
  min-height:0;
  object-fit:cover;
  width:100%;
}


body:not(.theme-admin) .design-zone-card {
  --zone-accent: #4f46e5;
  border-color: color-mix(in srgb, var(--zone-accent) 25%, #e5e7eb);
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body:not(.theme-admin) .design-zone-card:nth-child(6n + 1) { --zone-accent:#4f46e5; }
body:not(.theme-admin) .design-zone-card:nth-child(6n + 2) { --zone-accent:#0f766e; }
body:not(.theme-admin) .design-zone-card:nth-child(6n + 3) { --zone-accent:#c2410c; }
body:not(.theme-admin) .design-zone-card:nth-child(6n + 4) { --zone-accent:#be185d; }
body:not(.theme-admin) .design-zone-card:nth-child(6n + 5) { --zone-accent:#0369a1; }
body:not(.theme-admin) .design-zone-card:nth-child(6n + 6) { --zone-accent:#6d28d9; }

body:not(.theme-admin) .design-zone-card:hover,
body:not(.theme-admin) .design-zone-card:focus-visible {
  background: color-mix(in srgb, var(--zone-accent) 9%, #fff);
  border-color: var(--zone-accent);
  box-shadow: 0 18px 38px color-mix(in srgb, var(--zone-accent) 18%, transparent);
  transform: translateY(-5px);
}

body:not(.theme-admin) .design-zone-kicker,
body:not(.theme-admin) .design-zone-action { color:var(--zone-accent); }
body:not(.theme-admin) .design-zone-remark { margin-top:auto; padding-top:18px; }

body.theme-white:not(.theme-admin) .album-page .album-media-grid {
  --album-column-count: 6;
  column-count: var(--album-column-count) !important;
  column-gap: 14px !important;
  display:block !important;
}

body.theme-white:not(.theme-admin) .album-page .album-media-grid .album-image-card {
  break-inside:avoid;
  display:inline-block !important;
  margin:0 0 14px;
  width:100%;
}

body.theme-admin .asset-filter-row--combined {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

body.theme-admin .asset-filter-divider {
  background:#d9dee7;
  height:24px;
  margin:0 4px;
  width:1px;
}

body.theme-admin .asset-overview-selection-toolbar {
  border:1px solid #dfe4ec;
  box-shadow:none;
}

body.theme-admin [data-asset-selection-surface],
body.theme-admin [data-asset-selection-surface].is-box-selecting,
body.theme-admin [data-pending-selection-surface].is-box-selecting {
  -webkit-user-select:none;
  user-select:none;
}

body.theme-admin .upload-profile-panel {
  background:#f8fafc;
  border:1px solid #e4e8ef;
  border-radius:14px;
  margin-top:14px;
  min-height:84px;
  padding:18px;
}

body.theme-admin [data-single-asset-supplement] [data-asset-source-fields][hidden] {
  display:none !important;
}

/* Upload-center single-asset supplement: keep dynamic content in the normal card flow. */
body.theme-admin [data-single-asset-supplement] {
  display:grid;
  gap:16px;
  height:auto;
  overflow:visible;
}

body.theme-admin [data-single-asset-supplement] > .section-title {
  margin-bottom:0;
}

body.theme-admin [data-single-asset-supplement] [data-asset-source-fields] {
  align-items:stretch;
  gap:16px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

body.theme-admin [data-single-asset-supplement] [data-asset-source-fields] > label {
  align-content:start;
  min-width:0;
}

body.theme-admin [data-single-asset-supplement] [data-asset-source-fields] > label:nth-child(3) {
  grid-column:1 / -1;
}

body.theme-admin [data-single-asset-supplement] [data-asset-source-fields] > label:nth-child(3) textarea {
  height:auto;
  min-height:112px;
}

body.theme-admin [data-single-asset-supplement] .upload-material-supplement-grid {
  align-items:start;
  margin-top:0;
}

body.theme-admin [data-single-asset-supplement] .upload-material-supplement-grid > label {
  align-content:stretch;
  display:grid;
  grid-template-rows:auto minmax(190px, 1fr);
  min-width:0;
}

body.theme-admin [data-single-asset-supplement] .upload-material-supplement-grid > label > span {
  line-height:20px;
}

body.theme-admin [data-single-asset-supplement] .upload-material-supplement-grid > label > textarea {
  height:100%;
  min-height:190px;
}

body.theme-admin [data-single-asset-supplement] .upload-material-supplement-grid > .upload-private-attachment {
  align-content:stretch;
  display:grid;
  grid-template-rows:auto minmax(190px, 1fr);
  min-width:0;
}

body.theme-admin [data-single-asset-supplement] .upload-private-attachment > .purchase-attachment-drop {
  height:100%;
  min-height:190px;
}

body.theme-admin [data-single-asset-supplement] .upload-private-attachment > .purchase-attachment-list:empty {
  display:none;
}

@media(max-width:760px) {
  body.theme-admin [data-single-asset-supplement] [data-asset-source-fields],
  body.theme-admin [data-single-asset-supplement] .upload-material-supplement-grid {
    grid-template-columns:minmax(0, 1fr);
  }

  body.theme-admin [data-single-asset-supplement] [data-asset-source-fields] > label:nth-child(3) {
    grid-column:auto;
  }
}

body.theme-admin .upload-switch {
  align-items:center;
  display:inline-flex;
  gap:9px;
  line-height:1;
}

body.theme-admin .upload-switch input[type="checkbox"] { margin:0; }

body.theme-admin .purchase-row-actions {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

body.theme-admin table td,
body.theme-admin .purchase-table td {
  vertical-align:middle;
}

body.theme-admin :is(
  .purchase-row-actions,
  .table-actions,
  .asset-card-actionbar,
  .admin-work-card-actions,
  .profile-business-card__actions
) > form {
  align-items:center;
  display:flex;
  margin:0;
}

body.theme-admin :is(
  .purchase-row-actions,
  .table-actions,
  .asset-card-actionbar,
  .admin-work-card-actions,
  .profile-business-card__actions
) :is(a,button) {
  margin-block:0!important;
}

body.theme-admin .purchase-row-actions .button {
  min-height:34px;
  padding:7px 12px;
}

body.theme-admin .category-primary-disclosure {
  border:1px solid #e2e7ef;
  border-radius:16px;
  overflow:hidden;
}

body.theme-admin .category-primary-disclosure > summary {
  align-items:center;
  background:#f8fafc;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  list-style:none;
  padding:16px 18px;
}

body.theme-admin .category-primary-disclosure > summary span:first-child {
  display:grid;
  gap:3px;
}

body.theme-admin .category-primary-disclosure > summary small { color:#667085; }
body.theme-admin .category-primary-disclosure > summary::-webkit-details-marker { display:none; }
body.theme-admin .category-primary-disclosure .category-admin-card { border:0; border-radius:0; }

@media (max-width: 1280px) {
  body.theme-white:not(.theme-admin) .album-page .album-media-grid { --album-column-count:4; }
}

@media (max-width: 820px) {
  body:not(.theme-admin) .home-banner-list,
  body:not(.theme-admin) .home-banner-card { max-height:260px; }
  body:not(.theme-admin) .home-banner-card img { height:clamp(180px, 56vw, 260px) !important; }
  body:not(.theme-admin) .store-public-page.home-page-shell > .home-banner-list[data-home-banner-carousel],
  body:not(.theme-admin) .store-public-page.home-page-shell > .home-banner-list[data-home-banner-carousel] .home-banner-card { aspect-ratio:5 / 3; max-height:none; min-height:0; }
  body.theme-white:not(.theme-admin) .album-page .album-media-grid {
    --album-column-count:2;
    column-gap:9px !important;
  }
  body.theme-admin .asset-filter-divider { display:none; }
}

/* Home Banner: one visible slide with automatic rotation. */
body:not(.theme-admin) .home-banner-list[data-home-banner-carousel] {
  display:grid;
  overflow:hidden;
  position:relative;
  scroll-snap-type:none;
}

body:not(.theme-admin) .home-banner-list[data-home-banner-carousel] .home-banner-card[data-carousel-slide] {
  flex:none;
  grid-area:1 / 1;
  opacity:0;
  pointer-events:none;
  transition:opacity .45s ease;
  visibility:hidden;
  width:100%;
}

body:not(.theme-admin) .home-banner-list[data-home-banner-carousel] .home-banner-card[data-carousel-slide].active {
  opacity:1;
  pointer-events:auto;
  visibility:visible;
  z-index:1;
}

body:not(.theme-admin) .home-banner-list[data-home-banner-carousel] .home-banner-copy {
  pointer-events:none;
}

body:not(.theme-admin) .home-banner-controls {
  align-items:center;
  display:flex;
  inset:0 clamp(30px, 4vw, 64px);
  justify-content:space-between;
  pointer-events:none;
  position:absolute;
  z-index:2;
}

body:not(.theme-admin) .home-banner-arrow {
  align-items:center;
  backdrop-filter:blur(8px);
  background:rgba(17, 24, 39, .34);
  border:1px solid rgba(255, 255, 255, .48);
  border-radius:999px;
  color:#fff;
  cursor:pointer;
  display:inline-flex;
  font-size:28px;
  height:40px;
  justify-content:center;
  line-height:1;
  padding:0 0 3px;
  pointer-events:auto;
  width:40px;
}

body:not(.theme-admin) .home-banner-dots {
  bottom:16px;
  display:flex;
  gap:7px;
  left:50%;
  pointer-events:auto;
  position:absolute;
  transform:translateX(-50%);
}

body:not(.theme-admin) .home-banner-dot {
  background:rgba(255, 255, 255, .56);
  border:0;
  border-radius:999px;
  cursor:pointer;
  height:6px;
  padding:0;
  transition:background-color .2s ease, width .2s ease;
  width:6px;
}

body:not(.theme-admin) .home-banner-dot.active {
  background:#fff;
  width:20px;
}

@media (max-width:820px) {
  body:not(.theme-admin) .home-banner-controls {
    inset-inline:26px;
  }

  body:not(.theme-admin) .home-banner-arrow {
    font-size:24px;
    height:34px;
    width:34px;
  }
}

/* PC work detail acceptance: size the media stage from the active asset. */
body.theme-white:not(.theme-admin) .case-work-gallery {
  background:transparent;
}

body.theme-white:not(.theme-admin) .case-work-gallery-track {
  display:block;
  min-height:0;
}

body.theme-white:not(.theme-admin) .case-work-gallery-slide {
  height:auto;
  min-height:0;
}

body.theme-white:not(.theme-admin) .case-work-gallery-slide.active {
  align-items:center;
  display:flex;
  justify-content:center;
}

body.theme-white:not(.theme-admin) .case-work-gallery-slide .zoomable-image {
  height:auto;
  min-height:0;
}

body.theme-white:not(.theme-admin) .case-work-gallery-slide img,
body.theme-white:not(.theme-admin) .case-work-gallery-slide video {
  background:transparent;
  height:auto;
  max-height:min(82vh, 900px);
  max-width:100%;
  object-fit:contain;
  width:auto;
}

body.theme-white:not(.theme-admin) .case-work-gallery-slide video {
  background:#111;
}

body.theme-white:not(.theme-admin) .case-detail-header.case-hero.case-detail-meta-sticky {
  padding:6px clamp(14px, 2vw, 30px) !important;
}

body.theme-white:not(.theme-admin) .case-detail-meta-row {
  margin-inline:auto;
  max-width:1280px;
}

body.theme-white:not(.theme-admin) .case-detail-category {
  max-width:min(32vw, 300px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-width: 760px) {
  body.theme-white:not(.theme-admin) .case-work-gallery-slide img,
  body.theme-white:not(.theme-admin) .case-work-gallery-slide video {
    max-height:none;
    width:100%;
  }

  body.theme-white:not(.theme-admin) .case-detail-category {
    max-width:55vw;
  }
}

/* Public work detail: remove empty-content space and contain rich media. */
body.theme-white:not(.theme-admin) .case-work-details,
body.theme-white:not(.theme-admin) .case-work-details .case-content-stream,
body.theme-white:not(.theme-admin) .case-work-details .case-content-text,
body.theme-white:not(.theme-admin) .case-work-details .case-content-media {
  box-sizing:border-box;
  max-width:100%;
  min-width:0;
}

body.theme-white:not(.theme-admin) .case-work-details .case-content-text {
  overflow-wrap:anywhere;
}

body.theme-white:not(.theme-admin) .case-work-details .case-content-text img,
body.theme-white:not(.theme-admin) .case-work-details .case-content-media img,
body.theme-white:not(.theme-admin) .case-work-details .case-content-media video,
body.theme-white:not(.theme-admin) .case-work-details .zoomable-image {
  box-sizing:border-box;
  height:auto;
  max-width:100%;
}

body.theme-white:not(.theme-admin) .case-work-details .case-content-text img {
  display:block;
  width:auto;
}

body.theme-white:not(.theme-admin) .case-work-details .case-content-media,
body.theme-white:not(.theme-admin) .case-work-details .zoomable-image {
  width:100%;
}

/* Public work detail: one flow container for header, media, details and related works. */
body.theme-white:not(.theme-admin):has(.case-detail-page) {
  overflow-x:clip;
}

body.theme-white:not(.theme-admin) .case-detail-page {
  box-sizing:border-box;
  margin:0 !important;
  max-width:none !important;
  min-width:0;
  padding:0 !important;
  width:100% !important;
}

body.theme-white:not(.theme-admin) .case-detail-shell {
  box-sizing:border-box;
  display:block;
  margin:0 auto;
  max-width:1400px;
  min-width:0;
  padding:28px 0 72px;
  width:calc(100% - clamp(40px, 4vw, 64px));
}

body.theme-white:not(.theme-admin) .case-detail-shell > * {
  box-sizing:border-box;
  max-width:100%;
  min-width:0;
}

body.theme-white:not(.theme-admin) .case-detail-shell > .case-detail-header.case-hero {
  display:block !important;
  margin:0 0 24px !important;
  max-width:none !important;
  padding:0 0 20px !important;
  width:100% !important;
}

body.theme-white:not(.theme-admin) .case-detail-shell .case-detail-meta-row {
  align-items:center;
  display:grid;
  gap:20px;
  grid-template-columns:minmax(0, 1fr) auto;
  margin:0;
  max-width:none;
  width:100%;
}

body.theme-white:not(.theme-admin) .case-detail-shell .case-detail-meta-actions {
  align-items:center;
  display:flex;
  flex-wrap:nowrap;
  margin-left:auto;
  white-space:nowrap;
}

body.theme-white:not(.theme-admin) .case-detail-shell .case-detail-category {
  margin:0 !important;
  max-width:none;
}

body.theme-white:not(.theme-admin) .case-detail-shell .case-detail-title {
  margin-top:18px !important;
  min-width:0;
}

body.theme-white:not(.theme-admin) .case-detail-shell .case-detail-title-line,
body.theme-white:not(.theme-admin) .case-detail-shell .case-detail-title-line h1 {
  max-width:100%;
  min-width:0;
}

body.theme-white:not(.theme-admin) .case-detail-shell .case-detail-title-line h1 {
  overflow-wrap:anywhere;
}

body.theme-white:not(.theme-admin) .case-detail-shell > .case-work-gallery,
body.theme-white:not(.theme-admin) .case-detail-shell > .case-work-details,
body.theme-white:not(.theme-admin) .case-detail-shell > .case-related-works {
  margin-left:0 !important;
  margin-right:0 !important;
  max-width:none !important;
  width:100% !important;
}

body.theme-white:not(.theme-admin) .case-detail-shell .case-work-gallery-track,
body.theme-white:not(.theme-admin) .case-detail-shell .case-work-gallery-slide,
body.theme-white:not(.theme-admin) .case-detail-shell .case-work-gallery-slide .zoomable-image {
  box-sizing:border-box;
  max-width:100%;
  min-width:0;
  width:100%;
}

body.theme-white:not(.theme-admin) .case-detail-shell .case-work-gallery-slide.active,
body.theme-white:not(.theme-admin) .case-detail-shell .case-work-gallery-slide .zoomable-image {
  align-items:center;
  display:flex !important;
  justify-content:center;
}

body.theme-white:not(.theme-admin) .case-detail-shell .case-work-gallery-slide img {
  display:block;
  height:auto;
  margin:0 auto;
  max-height:none;
  max-width:100% !important;
  object-fit:contain;
  width:auto !important;
}

body.theme-white:not(.theme-admin) .case-detail-shell .case-work-gallery-slide video {
  display:block;
  height:auto;
  margin:0 auto;
  max-height:none;
  max-width:100% !important;
  object-fit:contain;
  width:100% !important;
}

body.theme-white:not(.theme-admin) .case-detail-shell > .case-work-details {
  height:auto !important;
  min-height:0 !important;
}

body.theme-white:not(.theme-admin) .case-detail-shell > .case-work-details > .case-content-stream {
  gap:24px;
  height:auto !important;
  min-height:0 !important;
  padding:0 0 16px !important;
}

body.theme-white:not(.theme-admin) .case-detail-shell .case-work-details img,
body.theme-white:not(.theme-admin) .case-detail-shell .case-work-details video {
  display:block;
  height:auto;
  margin-left:auto;
  margin-right:auto;
  max-width:100% !important;
}

body.theme-white:not(.theme-admin) .case-detail-shell > .case-related-works {
  padding-top:28px;
}

body.theme-white:not(.theme-admin) .case-detail-shell .detail-related-grid {
  display:grid;
  gap:18px;
  grid-auto-columns:auto;
  grid-auto-flow:row;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  overflow-x:visible;
  padding-bottom:0;
  scroll-snap-type:none;
  width:100%;
}

@media (max-width: 1180px) {
  body.theme-white:not(.theme-admin) .case-detail-shell .detail-related-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 920px) {
  body.theme-white:not(.theme-admin) .case-detail-shell {
    width:calc(100% - 32px);
  }

  body.theme-white:not(.theme-admin) .case-detail-shell .detail-related-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.theme-white:not(.theme-admin) .case-detail-shell {
    max-width:none;
    padding:20px 0 88px;
    width:100%;
  }

  body.theme-white:not(.theme-admin) .case-detail-shell > .case-detail-header.case-hero,
  body.theme-white:not(.theme-admin) .case-detail-shell > .case-work-details,
  body.theme-white:not(.theme-admin) .case-detail-shell > .case-related-works {
    margin-left:auto !important;
    margin-right:auto !important;
    width:calc(100% - 32px) !important;
  }

  body.theme-white:not(.theme-admin) .case-detail-shell > .case-detail-header.case-hero {
    margin-bottom:18px !important;
    padding-bottom:16px !important;
  }

  body.theme-white:not(.theme-admin) .case-detail-shell .case-detail-meta-row {
    display:flex;
    flex-wrap:wrap;
    gap:10px 14px;
    justify-content:space-between;
  }

  body.theme-white:not(.theme-admin) .case-detail-shell .case-detail-category {
    flex:1 1 150px;
    white-space:normal;
  }

  body.theme-white:not(.theme-admin) .case-detail-shell .case-detail-title {
    margin-top:14px !important;
  }

  body.theme-white:not(.theme-admin) .case-detail-shell .case-detail-title-line h1 {
    font-size:clamp(28px, 8vw, 38px) !important;
  }

  body.theme-white:not(.theme-admin) .case-detail-shell > .case-work-gallery {
    border-radius:0;
  }

  body.theme-white:not(.theme-admin) .case-detail-shell .detail-related-grid {
    gap:12px;
  }
}

@media (max-width: 420px) {
  body.theme-white:not(.theme-admin) .case-detail-shell .detail-related-grid {
    grid-template-columns:minmax(0, 1fr) !important;
  }
}

/* Home primary category cards: white body, themed decoration and quiet hover. */
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-grid {
  justify-content:start;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card {
  align-items:flex-start;
  background:#fff !important;
  border-color:color-mix(in srgb, var(--zone-accent) 17%, #e7eaf0) !important;
  box-shadow:0 14px 34px rgba(15, 23, 42, .065) !important;
  display:flex;
  flex:0 0 218px !important;
  flex-direction:column;
  gap:4px;
  min-height:132px;
  padding:14px;
  transform:none !important;
  transition:background-color .2s ease !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card::after {
  background:linear-gradient(
    135deg,
    color-mix(in srgb, var(--zone-accent) 24%, #fff),
    color-mix(in srgb, var(--zone-accent) 8%, #fff)
  ) !important;
  border-radius:999px;
  content:"";
  display:block !important;
  height:104px;
  opacity:.92;
  position:absolute;
  right:-36px;
  top:-38px;
  transform:none !important;
  transition:none !important;
  width:104px;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card.active {
  background:#fff !important;
  border-color:color-mix(in srgb, var(--zone-accent) 17%, #e7eaf0) !important;
  box-shadow:0 14px 34px rgba(15, 23, 42, .065) !important;
  transform:none !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card:hover,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card:focus-visible {
  background:color-mix(in srgb, var(--zone-accent) 8%, #fff) !important;
  border-color:color-mix(in srgb, var(--zone-accent) 17%, #e7eaf0) !important;
  box-shadow:0 14px 34px rgba(15, 23, 42, .065) !important;
  transform:none !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card:hover::after,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card:focus-visible::after,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card.active::after {
  opacity:.92;
  transform:none !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card .design-zone-title {
  font-size:23px;
  line-height:1.16;
  max-width:80%;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card small {
  font-size:11px;
  line-height:1.35;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card .design-zone-action {
  background:color-mix(in srgb, var(--zone-accent) 8%, #f5f6f8) !important;
  color:#20242a !important;
  font-size:11px;
  min-height:24px;
  padding:0 9px;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card:hover .design-zone-action,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card:focus-visible .design-zone-action,
body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card.active .design-zone-action {
  background:color-mix(in srgb, var(--zone-accent) 8%, #f5f6f8) !important;
  color:#20242a !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card .design-zone-kicker {
  color:#8a909b !important;
  font-size:9px;
  letter-spacing:.08em;
  margin-top:auto;
  opacity:1;
  padding-top:4px;
}

body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-card.design-zone-card.active .design-zone-kicker::before {
  content:none;
}

/* Home work list: five-column responsive portfolio cards. */
body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .mall-work-grid {
  align-items:start;
  display:grid !important;
  gap:18px !important;
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .portfolio-work-card {
  background:#fff !important;
  border:1px solid #e7eaf0 !important;
  border-radius:16px !important;
  box-shadow:0 11px 28px rgba(15, 23, 42, .065) !important;
  height:auto !important;
  min-width:0;
  overflow:hidden;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .portfolio-work-card .work-card-link {
  color:inherit;
  display:grid;
  grid-template-rows:auto auto !important;
  height:auto !important;
  text-decoration:none;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .portfolio-work-card .work-card-media {
  aspect-ratio:4 / 3;
  background:#f3f5f7 !important;
  height:auto !important;
  min-height:0 !important;
  overflow:hidden;
  width:100%;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .portfolio-work-card .work-card-media > img,
body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .portfolio-work-card .work-card-media > video {
  background:transparent !important;
  display:block;
  height:100% !important;
  object-fit:cover !important;
  width:100% !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .portfolio-work-card .media-placeholder {
  background:linear-gradient(135deg, #f7f8fa, #edf0f4);
  height:100%;
  width:100%;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .portfolio-work-card .work-card-body {
  background:#fff;
  display:grid;
  gap:10px;
  grid-template-rows:auto auto !important;
  padding:14px 14px 15px !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .home-work-card-main {
  align-items:flex-start;
  gap:10px;
  min-height:0;
  padding:0;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .home-work-card-heading {
  display:grid;
  flex:1 1 auto;
  gap:4px;
  min-width:0;
  width:100%;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .home-work-card-heading h3 {
  display:block;
  font-size:16px;
  height:auto !important;
  line-height:1.35;
  margin:0;
  min-height:0 !important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .home-work-code {
  color:#4f5662;
  font-size:12px;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .home-work-category {
  color:#7b8492;
  flex:1 1 auto;
  font-size:12px;
  line-height:1.4;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Public work cards: price is quiet metadata, never a replacement for title. */
body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .home-work-card-meta-row,
body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card .home-work-card-meta-row {
  align-items:center;
  display:flex;
  gap:10px;
  justify-content:space-between;
  min-width:0;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .home-work-price,
body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card .home-work-price {
  color:#7b8492;
  flex:0 0 auto;
  font-size:12px;
  line-height:1.4;
  white-space:nowrap;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .home-work-card-summary {
  justify-content:flex-start;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .home-work-detail {
  align-items:center;
  background:#f5f6f8;
  border:1px solid #e7e9ee;
  border-radius:999px;
  color:#303744;
  display:inline-flex;
  font-size:12px;
  font-weight:700;
  min-height:30px;
  padding:0 12px;
}

@media (max-width: 1180px) {
  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .mall-work-grid {
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 960px) {
  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .mall-work-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 780px) {
  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .mall-work-grid {
    gap:12px !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .mall-work-grid {
    grid-template-columns:minmax(0, 1fr) !important;
  }
}

@media (max-width: 1320px) {
  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .mall-work-grid {
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1024px) {
  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .mall-work-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.theme-white:not(.theme-admin) .album-page .album-layout.public-flow-shell {
    gap:12px;
    grid-template-columns:minmax(0, 1fr);
    padding:14px 0 72px;
  }

  body.theme-white:not(.theme-admin) .album-page .album-category-sidebar {
    position:static;
    width:100%;
  }

  body.theme-white:not(.theme-admin) .album-page .album-category-disclosure > summary {
    align-items:center;
    cursor:pointer;
    display:flex;
    font-size:15px;
    font-weight:750;
    justify-content:space-between;
    list-style:none;
    padding:2px 4px;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .mall-work-grid {
    gap:12px !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 761px) and (max-width: 820px) {
  body.theme-white:not(.theme-admin) .album-page .album-layout.public-flow-shell {
    gap:12px;
    grid-template-columns:minmax(0, 1fr);
  }

  body.theme-white:not(.theme-admin) .album-page .album-category-sidebar {
    position:static;
    width:100%;
  }
}

@media (min-width: 821px) {
  body.theme-white:not(.theme-admin) .album-page .album-layout {
    grid-template-columns:200px minmax(0, 1fr);
    margin-left:auto;
    margin-right:auto;
    max-width:none;
    padding:20px 0 40px;
    width:calc(100% - 32px);
  }
}

/* Work detail responsive closeout: scoped to the detail page only. */
body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell {
  box-sizing:border-box;
  margin-left:auto;
  margin-right:auto;
  max-width:none;
  min-width:0;
  padding:28px clamp(20px, 3vw, 48px) 72px;
  width:100%;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-detail-title-line {
  display:flex;
  flex-wrap:wrap;
  width:100%;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-work-gallery-slide img,
body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-work-gallery-slide video {
  aspect-ratio:auto;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain;
  width:100% !important;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-work-gallery-slide .zoomable-image {
  border:0;
  padding:0;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell > .case-work-gallery {
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:1200px !important;
  width:100% !important;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-work-details > .case-content-stream {
  justify-items:center;
  width:100%;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-work-details :is(.case-content-title,.case-content-text,.case-content-divider) {
  float:none;
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:780px;
  width:100%;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-work-details .case-content-media {
  float:none;
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:1200px;
  width:100%;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-work-details .case-content-media :is(.zoomable-image,img,video) {
  box-sizing:border-box;
  display:block;
  height:auto !important;
  margin-left:auto;
  margin-right:auto;
  max-width:100% !important;
}

@media (max-width: 760px) {
  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell {
    max-width:100% !important;
    min-width:0;
    padding:20px 0 88px;
    width:100% !important;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-detail-meta-row {
    align-items:stretch;
    display:flex;
    flex-direction:column;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-detail-meta-actions {
    align-items:center;
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    margin-left:0;
    max-width:100%;
    white-space:normal;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-detail-title-line {
    align-items:flex-start;
    flex-direction:column;
    gap:8px !important;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-detail-title-line h1,
  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-detail-price {
    max-width:100%;
    overflow-wrap:anywhere;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-work-gallery-track,
  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-work-gallery-slide,
  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-work-gallery-slide .zoomable-image,
  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-work-gallery-slide img,
  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-work-gallery-slide video {
    max-width:100% !important;
    min-width:0;
    width:100% !important;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-work-gallery-slide img,
  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell .case-work-gallery-slide video {
    display:block;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-work-details :is(.case-content-title,.case-content-text,.case-content-divider,.case-content-media) {
    max-width:100%;
    min-width:0;
    width:100%;
  }
}

@media (max-width: 480px) {
  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .mall-work-grid {
    grid-template-columns:minmax(0, 1fr) !important;
  }
}

/* Work detail related cards only: compact grid without changing the home list. */
body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-grid {
  gap:14px;
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card {
  height:auto !important;
  min-width:0;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card .work-card-link {
  display:grid;
  grid-template-rows:auto auto !important;
  height:100%;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card .work-card-media {
  aspect-ratio:4 / 3;
  height:auto !important;
  min-height:0 !important;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card .work-card-media img {
  height:100%;
  object-fit:cover;
  width:100%;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card .work-card-body {
  display:grid;
  gap:8px;
  grid-template-rows:auto auto;
  padding:12px !important;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card :is(.home-work-card-heading,.home-work-card-summary) {
  min-width:0;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card .home-work-card-heading h3 {
  font-size:14px;
  line-height:1.35;
  margin:0;
  overflow:clip;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card .home-work-category {
  display:block;
  font-size:11px;
  line-height:1.4;
  margin-top:4px;
  overflow:clip;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card .home-work-card-summary {
  display:flex;
  justify-content:flex-start;
}

body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-card .home-work-detail {
  display:inline-flex;
  font-size:11px;
  line-height:24px;
  padding:0 10px;
}

@media (min-width: 1440px) {
  body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-grid {
    grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1100px) {
  body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-grid {
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  body.theme-white:not(.theme-admin) .case-detail-page .case-related-works .detail-related-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Asset detail organization row: final sizing after custom controls initialize. */
html body.theme-admin .asset-detail-organize-actions {
  align-items:center!important;
  display:flex!important;
  flex-flow:row nowrap!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}

html body.theme-admin .asset-detail-organize-actions > .asset-detail-organize-form {
  display:none!important;
}

html body.theme-admin .asset-detail-organize-actions > .nova-select {
  flex:0 0 180px!important;
  height:36px!important;
  min-height:36px!important;
  width:180px!important;
}

html body.theme-admin .asset-detail-organize-actions > .nova-select > .nova-select__trigger,
html body.theme-admin .asset-detail-organize-actions > input[name="name"] {
  box-sizing:border-box;
  height:36px!important;
  min-height:36px!important;
}

html body.theme-admin .asset-detail-organize-actions > input[name="name"] {
  flex:0 0 160px!important;
  width:160px!important;
}

html body.theme-admin .asset-detail-organize-actions > :is(a.button,button.button) {
  align-self:center!important;
  background:#111827!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  color:#fff!important;
  flex:0 0 128px!important;
  height:36px!important;
  margin:0!important;
  min-height:36px!important;
  min-width:120px!important;
  width:128px!important;
}

html body.theme-admin .asset-detail-organize-actions > :is(a.button,button.button):hover {
  background:#111827!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  color:#fff!important;
  filter:none!important;
  transform:none!important;
}

html body.theme-admin .asset-detail-manage-section .asset-detail-actions {
  align-items:center;
  display:flex!important;
  flex-flow:row wrap;
  gap:8px;
}

html body.theme-admin .asset-detail-manage-section .asset-detail-actions :is(a.button,button.button) {
  align-items:center;
  background:#111827!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  box-sizing:border-box;
  color:#fff!important;
  display:inline-flex;
  flex:0 0 128px;
  height:36px!important;
  justify-content:center;
  min-height:36px!important;
  min-width:120px!important;
  padding:0 10px!important;
  width:128px!important;
}

html body.theme-admin .asset-detail-manage-section .asset-detail-actions :is(a.button,button.button):hover {
  background:#111827!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  color:#fff!important;
  filter:none!important;
  transform:none!important;
}
/* 编辑素材页：来源资料、备注与附件上传控件的局部布局。 */
html body.theme-admin .asset-edit-form-card .material-source-fields {
  align-items: start;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 3fr) minmax(0, 3fr) minmax(0, 4fr);
}

html body.theme-admin .asset-edit-form-card .material-source-fields > label,
html body.theme-admin .asset-edit-form-card .material-info-form > label:not(.purchase-attachment-drop) {
  align-content: start;
  display: grid;
  gap: 8px;
  min-width: 0;
}

html body.theme-admin .asset-edit-form-card .material-source-fields :is(input, textarea),
html body.theme-admin .asset-edit-form-card .material-info-form > label:not(.purchase-attachment-drop) textarea[name="materialNotes"] {
  box-sizing: border-box;
  height: 44px;
  min-height: 44px;
  padding: 0 12px;
  width: 100%;
}

html body.theme-admin .asset-edit-form-card .material-source-fields textarea {
  padding-bottom: 10px;
  padding-top: 10px;
  resize: vertical;
}

html body.theme-admin .asset-edit-form-card .material-info-form > label:not(.purchase-attachment-drop) textarea[name="materialNotes"] {
  height: 96px;
  padding-bottom: 12px;
  padding-top: 12px;
  resize: vertical;
}

html body.theme-admin .asset-edit-form-card .asset-edit-upload {
  min-height: 190px;
}

@media (max-width: 760px) {
  html body.theme-admin .asset-edit-form-card .material-source-fields {
    grid-template-columns: minmax(0, 1fr);
  }
}

html body.theme-admin .pending-file-card .asset-card-actionbar {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
}

html body.theme-admin .pending-file-card .asset-card-actionbar > * {
  min-width: 0;
  white-space: nowrap;
}
body.theme-admin .admin-bulk-selectable { position:relative; }
body.theme-admin .admin-work-card-media,
body.theme-admin .admin-work-card-media img {
  -webkit-user-drag:none;
  user-select:none;
}
body.theme-admin [data-admin-bulk-selection-surface].is-selection-pending {
  -webkit-user-select:none;
  user-select:none;
}
body.theme-admin [data-admin-bulk-selection-surface].is-box-selecting { cursor:crosshair; }
body.theme-admin .admin-bulk-select-all {
  align-items:center;
  display:inline-flex;
  gap:8px;
  line-height:1.2;
  margin:0 0 12px;
  white-space:nowrap;
}
body.theme-admin .admin-bulk-select-all > input[type="checkbox"] {
  flex:0 0 auto;
  margin:0;
}
body.theme-admin .admin-bulk-checkbox { position:absolute; top:12px; left:12px; z-index:4; display:flex; align-items:center; gap:5px; padding:5px 8px; border:1px solid #e4e7ec; border-radius:9px; background:rgba(255,255,255,.94); font-size:12px; }
body.theme-admin .admin-bulk-toolbar { position:fixed; right:32px; bottom:28px; z-index:30; display:flex; align-items:center; gap:10px; padding:12px 14px; border:1px solid #e4e7ec; border-radius:14px; background:#fff; box-shadow:0 10px 30px rgba(16,24,40,.12); }
body.theme-admin .admin-bulk-toolbar[hidden] { display:none; }
body.theme-admin .admin-bulk-toolbar form { display:flex; margin:0; }

/* v1.1.5 incremental work-list refinements; scoped to the existing admin cards. */
body.theme-admin .admin-work-card .admin-work-select-checkbox {
  box-sizing:border-box;
  height:24px;
  justify-content:center;
  padding:3px;
  width:24px;
}
body.theme-admin .admin-work-card .admin-work-select-checkbox input {
  height:16px;
  margin:0;
  width:16px;
}
body.theme-admin .admin-work-card .admin-work-card-media img {
  height:100%;
  object-fit:cover;
  width:100%;
}
body.theme-admin .work-video-cover-trigger { margin-top:10px; }
body.theme-admin .work-video-cover-dialog {
  border:0;
  border-radius:16px;
  max-width:720px;
  padding:0;
  width:min(720px,calc(100vw - 32px));
}
body.theme-admin .work-video-cover-dialog::backdrop { background:rgba(15,23,42,.46); }
body.theme-admin .work-video-cover-dialog__card { display:grid; gap:16px; padding:20px; }
body.theme-admin .work-video-cover-dialog__head,
body.theme-admin .work-video-cover-dialog__actions {
  align-items:center;
  display:flex;
  gap:12px;
  justify-content:space-between;
}
body.theme-admin .work-video-cover-dialog__head div { display:grid; gap:4px; }
body.theme-admin .work-video-cover-dialog video {
  background:#111827;
  border-radius:12px;
  max-height:420px;
  width:100%;
}
body.theme-admin .work-video-cover-time { align-items:center; display:grid; gap:8px; grid-template-columns:auto 1fr auto; }
body.theme-admin .work-video-cover-dialog__actions { justify-content:flex-end; }
body.theme-admin .work-video-cover-candidates {
  border:1px solid #dce3ea;
  border-radius:12px;
  display:grid;
  gap:10px;
  margin-top:10px;
  padding:12px;
}
body.theme-admin .work-video-cover-candidates[hidden],
body.theme-admin .work-video-cover-current-frame__actions[hidden] {
  display:none!important;
}
body.theme-admin .work-description-display .upload-row {
  align-items:center;
  grid-template-columns:48px minmax(0,1fr) auto;
  grid-template-rows:auto auto auto auto;
}
body.theme-admin .work-description-display .upload-row .upload-preview {
  grid-column:1;
  grid-row:1 / 3;
  height:48px;
  width:48px;
}
body.theme-admin .work-description-display .upload-row .upload-name {
  grid-column:2;
  grid-row:1;
  min-width:0;
  overflow:clip;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.theme-admin .work-description-display .upload-row .upload-type {
  grid-column:2;
  grid-row:2;
}
body.theme-admin .work-description-display .upload-row .upload-size {
  grid-column:3;
  grid-row:2;
  white-space:nowrap;
}
body.theme-admin .work-description-display .upload-row progress {
  grid-column:1 / -1;
  grid-row:3;
}
body.theme-admin .work-description-display .upload-row.is-confirmed progress {
  display:none;
}
body.theme-admin .work-description-display .upload-row .upload-status {
  grid-column:1 / -1;
  grid-row:3;
  overflow:clip;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.theme-admin .work-description-display .upload-row .sortable-upload-remove {
  grid-column:3;
  grid-row:1;
  justify-self:end;
}
body.theme-admin .work-description-display .upload-row .work-video-cover-row-trigger {
  grid-column:2 / -1;
  grid-row:3;
  justify-self:end;
  min-height:36px;
  white-space:nowrap;
}
body.theme-admin .work-existing-display-item .work-video-cover-row-trigger {
  min-height:40px;
  padding:0 12px;
}
body.theme-admin .work-create-main .work-existing-display-info {
  display:grid;
  gap:3px;
  min-width:0;
}
body.theme-admin .work-create-main .work-existing-display-info > :is(strong,small) {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.theme-admin .work-create-main .work-existing-display-info > strong { font-size:13px; }
body.theme-admin .work-create-main .work-existing-display-info > small { color:#667085; font-size:12px; }
body.theme-admin .work-create-main .work-existing-display-actions {
  align-items:center;
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  justify-content:flex-end;
}
body.theme-admin .work-create-main .work-existing-display-actions > button {
  align-items:center;
  background:#fff;
  border:1px solid #d0d5dd;
  border-radius:7px;
  box-sizing:border-box;
  color:#344054;
  cursor:pointer;
  display:inline-flex;
  height:40px!important;
  justify-content:center;
  margin:0!important;
  min-height:40px!important;
  padding:4px 10px;
  white-space:nowrap;
}
body.theme-admin .work-create-main .work-existing-display-item > .work-video-cover-candidates {
  grid-column:1 / -1;
  margin:4px 0 0;
  width:100%;
}

/* Work create media cards grow with their files; the page owns scrolling. */
body.theme-admin .work-create-main :is(.work-description-cover,.work-description-display) {
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
body.theme-admin .work-create-main :is(.work-description-cover,.work-description-display) :is(
  [data-cover-upload-replacement]:has(.uploader-list:not(:empty)),
  [data-display-upload-empty]:has(.uploader-list:not(:empty)),
  .unified-upload:has(.uploader-list:not(:empty)),
  .uploader-list:not(:empty)
) {
  flex:0 0 auto!important;
  height:auto!important;
  max-height:none!important;
  min-height:auto!important;
  overflow:visible!important;
}
body.theme-admin .work-create-main :is(.work-description-cover,.work-description-display) .uploader-list:not(:empty) {
  overscroll-behavior:auto;
}
body.theme-admin .work-create-main :is(.work-description-cover,.work-description-display) .uploader-dropzone {
  align-items:center!important;
  flex-direction:column!important;
  justify-content:center!important;
  text-align:center!important;
}
body.theme-admin .work-create-main :is(.work-description-cover,.work-description-display) .uploader-dropzone > :is(strong,span,small) {
  margin-inline:auto;
  text-align:center!important;
}
body.theme-admin .work-create-main .work-description-display .uploader-dropzone {
  align-content:center!important;
  display:grid!important;
  grid-auto-rows:max-content;
  justify-content:center!important;
  justify-items:center!important;
  place-content:center!important;
  place-items:center!important;
}
body.theme-admin .work-create-main .work-description-display .unified-upload.has-display-files {
  display:flex;
  flex-direction:column;
}
body.theme-admin .work-create-main .work-description-display .unified-upload.has-display-files .uploader-list {
  order:2;
}
body.theme-admin .work-create-main .work-description-display .unified-upload.has-display-files .uploader-dropzone {
  height:auto!important;
  margin-bottom:10px;
  min-height:88px!important;
  order:1;
  padding:14px!important;
}

/* Keep both work upload fields visually consistent after files are selected. */
body.theme-admin .work-create-main .work-description-cover .unified-upload.has-cover-preview {
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:0;
}
body.theme-admin .work-create-main .work-description-cover .unified-upload.has-cover-preview .uploader-dropzone {
  display:none!important;
}
body.theme-admin .work-create-main .work-description-cover .has-cover-preview .uploader-list {
  display:grid;
  gap:10px;
  margin:0;
}
body.theme-admin .work-create-main .work-description-cover .has-cover-preview .upload-row {
  align-items:center;
  background:#fff;
  border:1px solid #e3e7ee;
  border-radius:12px;
  display:grid;
  gap:4px 10px;
  grid-template-columns:72px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  min-height:88px;
  padding:8px;
}
body.theme-admin .work-create-main .work-description-cover .has-cover-preview .upload-preview,
body.theme-admin .work-create-main .work-description-cover .has-cover-preview .upload-preview img {
  grid-column:1;
  grid-row:1 / 4;
  height:72px;
  width:72px;
}
body.theme-admin .work-create-main .work-description-cover .has-cover-preview .upload-preview img {
  border-radius:9px;
  object-fit:cover;
}
body.theme-admin .work-create-main .work-description-cover .has-cover-preview .upload-name {
  display:block!important;
  grid-column:2;
  grid-row:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.theme-admin .work-create-main .work-description-cover .has-cover-preview .upload-type {
  display:block!important;
  grid-column:2;
  grid-row:2;
}
body.theme-admin .work-create-main .work-description-cover .has-cover-preview .upload-size {
  display:block!important;
  grid-column:2;
  grid-row:3;
  white-space:nowrap;
}
body.theme-admin .work-create-main .work-description-cover .has-cover-preview :is(progress,.upload-status) {
  display:none;
}

/* Home work list: six columns on desktop and two columns on phones. */
body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .mall-work-grid {
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
@media (max-width:760px) {
  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .mall-work-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
body.theme-admin .work-video-cover-candidates__head {
  align-items:center;
  display:flex;
  gap:10px;
  justify-content:space-between;
}
body.theme-admin .work-video-cover-candidates__head span,
body.theme-admin .work-video-cover-candidates > small { color:#64748b; font-size:12px; }
body.theme-admin .work-video-cover-current-frame { display:grid; gap:8px; }
body.theme-admin .work-video-cover-current-frame video {
  aspect-ratio:16/9;
  background:#111827;
  border-radius:10px;
  display:block;
  max-height:360px;
  object-fit:contain;
  width:100%;
}
body.theme-admin .work-video-cover-current-frame__actions {
  align-items:center;
  display:flex;
  gap:10px;
  justify-content:space-between;
}
body.theme-admin .work-video-cover-current-frame__actions span { color:#64748b; font-size:12px; }
body.theme-admin .work-video-cover-candidates__grid {
  display:grid;
  gap:10px;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
body.theme-admin .work-video-cover-candidate {
  background:#fff;
  border:1px solid #dce3ea;
  border-radius:10px;
  cursor:pointer;
  overflow:clip;
  padding:0;
  position:relative;
}
body.theme-admin .work-video-cover-candidate img { aspect-ratio:16/9; display:block; object-fit:cover; width:100%; }
body.theme-admin .work-video-cover-candidate span {
  background:rgba(15,23,42,.78);
  border-radius:999px;
  bottom:6px;
  color:#fff;
  font-size:11px;
  padding:2px 7px;
  position:absolute;
  right:6px;
}
body.theme-admin .work-video-cover-candidate.is-selected { border-color:#111827; box-shadow:0 0 0 2px rgba(17,24,39,.12); }
@media (max-width:720px) {
  body.theme-admin .work-video-cover-candidates__head { align-items:flex-start; flex-direction:column; gap:3px; }
  body.theme-admin .work-video-cover-current-frame__actions { align-items:stretch; flex-direction:column; }
  body.theme-admin .work-video-cover-current-frame__actions .button { min-height:42px; width:100%; }
  body.theme-admin .work-video-cover-candidates__grid {
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding-bottom:2px;
    scroll-snap-type:x proximity;
  }
  body.theme-admin .work-video-cover-candidate { flex:0 0 132px; scroll-snap-align:start; }
}

/* v1.1.6 work-management-only controls. */
body.theme-admin .admin-work-pagination {
  align-items:center;
  display:flex;
  gap:12px;
  justify-content:center;
  margin-top:20px;
}
body.theme-admin .admin-work-pagination > div {
  align-items:center;
  display:flex;
  gap:6px;
}
body.theme-admin .admin-work-pagination a,
body.theme-admin .admin-work-pagination strong,
body.theme-admin .admin-work-pagination > span {
  align-items:center;
  border:1px solid #e1e5eb;
  border-radius:9px;
  box-sizing:border-box;
  color:#475467;
  display:inline-flex;
  height:36px;
  justify-content:center;
  min-width:36px;
  padding:0 10px;
  text-decoration:none;
}
body.theme-admin .admin-work-pagination strong {
  background:#111827;
  border-color:#111827;
  color:#fff;
}
body.theme-admin .admin-work-pagination > span {
  color:#98a2b3;
}

/* v1.1.7 work-list-only PC visual corrections. */
@media(min-width:701px) {
  body.theme-admin .admin-works-toolbar {
    align-items:center;
    display:flex;
    flex-wrap:nowrap;
    gap:10px;
  }
  body.theme-admin .admin-works-toolbar .admin-works-search {
    align-items:center;
    display:flex;
    flex:1 1 auto;
    gap:10px;
    min-width:0;
  }
  body.theme-admin .admin-works-toolbar .admin-works-search > input,
  body.theme-admin .admin-works-toolbar .admin-works-search > button,
  body.theme-admin .admin-works-toolbar .admin-work-sort {
    box-sizing:border-box;
    height:44px!important;
    min-height:44px!important;
  }
  body.theme-admin .admin-works-toolbar .admin-work-sortbar {
    align-items:center;
    display:flex;
    flex:0 0 auto;
    flex-wrap:nowrap;
    gap:10px;
    margin:0;
  }
  body.theme-admin .admin-works-toolbar .admin-works-count {
    flex:0 0 auto;
  }
  body.theme-admin .admin-work-card .admin-work-card-media {
    align-self:stretch;
    border-radius:0;
    box-sizing:border-box;
    height:100%!important;
    max-width:none;
    min-height:102px!important;
    width:100%!important;
  }
  body.theme-admin .admin-work-card .admin-work-card-media img {
    display:block;
    height:100%!important;
    max-width:none;
    object-fit:cover;
    object-position:center;
    width:100%!important;
  }
}

/* v1.2.0 final mobile cascade guard for the public work grid. */
@media(max-width:760px) {
  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .mall-work-grid {
    gap:10px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html body.theme-admin .admin-work-card .admin-work-card-actions :is(a,button),
  html body.theme-admin .pending-file-card .asset-card-actionbar :is(a,button) {
    align-items:center;
    display:inline-flex;
    height:44px!important;
    justify-content:center;
    min-height:44px!important;
  }
}

/* v1.2.1 final mobile-only cascade guard. */
@media(max-width:760px) {
  body:not(.theme-admin) > .topbar {
    display:none!important;
  }
  body.theme-white:not(.theme-admin) .home-page-shell > .material-storefront {
    display:none!important;
  }
  body.theme-white:not(.theme-admin) :is(
    .design-home-entrance,
    .home-banner-list,
    .home-zone-navigation,
    .design-category-panel,
    .design-work-section
  ) {
    box-sizing:border-box;
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:100%!important;
    width:calc(100% - 32px)!important;
  }
  body.theme-white:not(.theme-admin) :is(.album-page,.announcement-page) {
    box-sizing:border-box;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  body.theme-white:not(.theme-admin) :is(.album-page,.announcement-page) .mobile-page-title {
    gap:4px;
    padding:18px 0 12px!important;
  }
  body.theme-white:not(.theme-admin) :is(.album-page .album-layout,.announcement-page .announcement-shell) {
    padding-left:0!important;
    padding-right:0!important;
  }
  body.theme-white:not(.theme-admin) .album-page .album-category-disclosure > summary {
    min-height:44px!important;
    padding:9px 12px!important;
  }
  body.theme-white:not(.theme-admin) .album-page .album-category-tree {
    gap:8px!important;
    max-height:180px;
    overflow-y:auto;
    padding:8px 10px 10px!important;
  }
  body.theme-white:not(.theme-admin) .album-page .album-browser-head {
    align-items:end!important;
    display:grid!important;
    gap:10px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    margin-bottom:14px!important;
    padding:14px 2px 12px!important;
  }
  body.theme-white:not(.theme-admin) .album-page .album-browser-head > div:first-child {
    display:grid;
    gap:3px;
    min-width:0;
  }
  body.theme-white:not(.theme-admin) .album-page .album-browser-head :is(.eyebrow,h1,p) {
    margin:0!important;
  }
  body.theme-white:not(.theme-admin) .album-page .album-browser-actions {
    align-items:center!important;
    display:flex!important;
    margin:0!important;
  }
  body.theme-white:not(.theme-admin) .album-page .album-browser-actions .text-button {
    display:none!important;
  }
  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-form {
    display:grid!important;
    gap:8px!important;
    grid-template-columns:minmax(0,1fr)!important;
    position:relative!important;
  }
  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-search {
    box-sizing:border-box;
    height:46px!important;
    padding-right:52px!important;
    width:100%!important;
  }
  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-form > button[type="submit"] {
    align-items:center!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    color:#344054!important;
    display:flex!important;
    font-size:0!important;
    height:40px!important;
    justify-content:center!important;
    min-height:40px!important;
    padding:0!important;
    position:absolute!important;
    right:3px!important;
    top:3px!important;
    width:44px!important;
    z-index:2;
  }
  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-form > button[type="submit"]::before {
    content:"⌕";
    font-size:24px;
    font-weight:700;
  }
  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell {
    box-sizing:border-box;
    padding:20px 16px 88px!important;
  }
  body:not(.theme-admin) .mobile-public-user-menu {
    bottom:calc(72px + env(safe-area-inset-bottom))!important;
    display:block!important;
    left:14px!important;
    position:fixed!important;
    z-index:140!important;
  }
  body:not(.theme-admin) .mobile-public-user-avatar {
    align-items:center;
    background:#111827;
    border:3px solid #fff;
    border-radius:50%;
    box-shadow:0 8px 24px rgba(15,23,42,.2);
    box-sizing:border-box;
    color:#fff;
    cursor:pointer;
    display:flex;
    height:48px!important;
    justify-content:center;
    list-style:none;
    padding:0;
    width:48px!important;
  }
  body:not(.theme-admin) .mobile-public-user-dropdown {
    bottom:56px!important;
    left:0!important;
    position:absolute!important;
  }
}

/* v1.2.2 mobile-only user menu and compact text navigation. */
@media(max-width:760px) {
  body:not(.theme-admin) {
    padding-bottom:calc(56px + env(safe-area-inset-bottom))!important;
  }

  body:not(.theme-admin) .mobile-bottom-nav {
    align-items:stretch!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    min-height:50px!important;
    padding:3px 8px calc(3px + env(safe-area-inset-bottom))!important;
  }

  body:not(.theme-admin) .mobile-bottom-nav a {
    align-items:center!important;
    display:flex!important;
    flex-direction:row!important;
    font-size:14px!important;
    font-weight:700;
    gap:0!important;
    justify-content:center!important;
    line-height:1!important;
    min-height:44px!important;
    padding:0 8px!important;
  }

  body:not(.theme-admin) .mobile-public-user-menu {
    bottom:calc(58px + env(safe-area-inset-bottom))!important;
  }

  body:not(.theme-admin) .mobile-public-user-dropdown {
    bottom:54px!important;
    min-width:216px!important;
    padding:8px!important;
  }

  body:not(.theme-admin) .mobile-public-user-info {
    align-items:center!important;
    display:flex!important;
    gap:10px!important;
    min-height:46px;
    padding:7px 10px 10px!important;
  }

  body:not(.theme-admin) .mobile-public-user-info-avatar {
    align-items:center;
    background:#111827;
    border-radius:50%;
    color:#fff;
    display:inline-flex;
    flex:0 0 34px;
    font-size:13px;
    font-weight:800;
    height:34px;
    justify-content:center;
    width:34px;
  }

  body:not(.theme-admin) .mobile-public-user-info strong {
    min-width:0;
    overflow:clip;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

/* v1.2.3 mobile-only public sizing, neutral palette, and admin navigation. */
.admin-mobile-nav-toggle,
.admin-mobile-nav-backdrop,
.admin-mobile-nav-drawer {
  display:none;
}

@media(max-width:760px) {
  html,
  body {
    margin:0;
    max-width:none;
    width:100%;
  }

  body:not(.theme-admin),
  body.theme-pink:not(.theme-admin) {
    --accent:#475467;
    --accent-dark:#111827;
    --bg:#f6f7f9;
    --button-bg:#111827;
    --button-text:#fff;
    --card:#fff;
    --line:#e4e7ec;
    --nav-bg:rgba(255,255,255,.97);
    --panel:#fff;
    --soft:#f2f4f7;
    --warm:#dbe3ec;
    background:#f6f7f9!important;
    color:#111827;
    overflow-x:clip;
  }

  body:not(.theme-admin) > main,
  body:not(.theme-admin) :is(.home-page-shell,.album-page,.announcement-page,.case-detail-page) {
    box-sizing:border-box;
    margin-left:0!important;
    margin-right:0!important;
    max-width:none!important;
    min-width:0;
    width:100%!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell :is(
    .design-home-entrance,
    .home-banner-list,
    .home-zone-navigation,
    .design-category-panel,
    .design-work-section
  ) {
    box-sizing:border-box;
    margin-left:0!important;
    margin-right:0!important;
    max-width:none!important;
    padding-left:16px!important;
    padding-right:16px!important;
    width:100%!important;
  }

  body.theme-white:not(.theme-admin) :is(.album-page,.announcement-page) {
    padding-left:16px!important;
    padding-right:16px!important;
  }

  body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell {
    margin:0!important;
    max-width:none!important;
    padding-left:16px!important;
    padding-right:16px!important;
    width:100%!important;
  }

  body:not(.theme-admin) .mobile-bottom-nav a.active {
    background:#edf1f5!important;
    color:#111827!important;
  }

  body:not(.theme-admin) :is(
    .mobile-public-user-dropdown,
    .mobile-public-user-dropdown a,
    .mobile-public-user-dropdown button
  ) {
    color:#111827!important;
  }

  body:not(.theme-admin) .mobile-public-user-dropdown :is(a,button):hover,
  body:not(.theme-admin) .mobile-public-user-dropdown :is(a,button):focus-visible {
    background:#f2f4f7!important;
  }

  body.theme-pink:not(.theme-admin) :is(
    .mobile-bottom-nav,
    .mobile-public-user-dropdown,
    .portfolio-work-card,
    .album-image-card,
    .announcement-card,
    .case-detail-header,
    .case-work-details
  ) {
    background-color:#fff!important;
    background-image:none!important;
    border-color:#e4e7ec!important;
  }

  body.theme-admin .admin-mobile-nav-toggle {
    align-items:center;
    background:#fff;
    border:1px solid #e4e7ec;
    border-radius:12px;
    box-shadow:0 8px 24px rgba(15,23,42,.1);
    color:#111827;
    cursor:pointer;
    display:flex;
    font-size:22px;
    height:46px;
    justify-content:center;
    left:12px;
    padding:0;
    position:fixed;
    top:12px;
    width:46px;
    z-index:522;
  }

  body.theme-admin .admin-mobile-nav-backdrop {
    background:rgba(15,23,42,.34);
    inset:0;
    position:fixed;
    z-index:520;
  }

  body.theme-admin .admin-mobile-nav-backdrop:not([hidden]) {
    display:block;
  }

  body.theme-admin .admin-mobile-nav-drawer {
    background:#fff;
    border:1px solid #e4e7ec;
    border-radius:0 18px 18px 0;
    box-shadow:18px 0 48px rgba(15,23,42,.16);
    box-sizing:border-box;
    display:block;
    height:100dvh;
    left:0;
    max-width:calc(100vw - 44px);
    overflow-y:auto;
    padding:14px;
    position:fixed;
    top:0;
    transform:translateX(calc(-100% - 24px));
    transition:transform 180ms ease;
    width:286px;
    z-index:523;
  }

  body.theme-admin.admin-mobile-nav-open {
    overflow:clip;
  }

  body.theme-admin.admin-mobile-nav-open .admin-mobile-nav-drawer {
    transform:translateX(0);
  }

  body.theme-admin .admin-mobile-nav-head {
    align-items:center;
    border-bottom:1px solid #eef0f3;
    display:flex;
    justify-content:space-between;
    margin-bottom:10px;
    min-height:48px;
    padding:0 4px 10px 8px;
  }

  body.theme-admin .admin-mobile-nav-head strong {
    font-size:15px;
    letter-spacing:.04em;
  }

  body.theme-admin .admin-mobile-nav-head button {
    align-items:center;
    background:#f2f4f7;
    border:0;
    border-radius:10px;
    color:#111827;
    cursor:pointer;
    display:flex;
    font-size:22px;
    height:40px;
    justify-content:center;
    padding:0;
    width:40px;
  }

  body.theme-admin .admin-mobile-nav-drawer nav,
  body.theme-admin .admin-mobile-nav-group,
  body.theme-admin .admin-mobile-nav-subnav {
    display:grid;
    gap:4px;
  }

  body.theme-admin .admin-mobile-nav-group + .admin-mobile-nav-group {
    margin-top:4px;
  }

  body.theme-admin .admin-mobile-nav-drawer a {
    align-items:center;
    border-radius:10px;
    color:#344054;
    display:flex;
    font-size:14px;
    font-weight:700;
    min-height:44px;
    padding:0 12px;
  }

  body.theme-admin .admin-mobile-nav-drawer a.active {
    background:#edf1f5;
    color:#111827;
  }

  body.theme-admin .admin-mobile-nav-subnav {
    border-left:1px solid #e4e7ec;
    margin:2px 0 4px 13px;
    padding-left:8px;
  }

  body.theme-admin .admin-mobile-nav-subnav a {
    font-size:13px;
    font-weight:600;
    min-height:40px;
  }
}

/* v1.2.4 mobile-only right drawer and homepage alignment refinements. */
@media(max-width:760px) {
  body.theme-admin .admin-mobile-nav-toggle {
    left:auto;
    right:12px;
  }

  body.theme-admin .admin-mobile-nav-drawer {
    border-radius:18px 0 0 18px;
    box-shadow:-18px 0 48px rgba(15,23,42,.16);
    left:auto;
    max-width:80vw;
    right:0;
    transform:translateX(calc(100% + 24px));
    width:280px;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-home-entrance {
    background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)!important;
    border-bottom-color:#e4e7ec!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-home-intro,
  body.theme-white:not(.theme-admin) .home-page-shell .design-home-intro :is(h1,p) {
    box-sizing:border-box;
    margin-left:0!important;
    margin-right:0!important;
    max-width:none!important;
    width:100%!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .home-zone-navigation .design-zone-grid {
    box-sizing:border-box;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    scroll-padding-inline:0;
    width:100%!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell :is(
    .design-zone-card,
    .design-zone-empty,
    .design-category-panel
  ) {
    background:#fff!important;
    background-image:none!important;
    border-color:#e4e7ec!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-zone-card::after {
    background:#edf1f5!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-zone-card.active {
    border-color:#98a2b3!important;
    box-shadow:0 12px 28px rgba(15,23,42,.1)!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-zone-card :is(
    .design-zone-kicker,
    .design-zone-action
  ) {
    color:#475467!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-zone-card .design-zone-action {
    background:#edf1f5!important;
    border-color:#d0d5dd!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .category-list-toolbar,
  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-form,
  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-form > :is(
    .design-toolbar-search,
    .home-sort-dropdown
  ),
  body.theme-white:not(.theme-admin) .home-page-shell .home-sort-trigger {
    box-sizing:border-box;
    max-width:none!important;
    width:100%!important;
  }
}

/* MOB-055 mobile admin header spacing and work-card presentation. */
@media(max-width:760px) {
  body.theme-admin .topbar.admin {
    box-sizing:border-box;
    height:64px!important;
    min-height:64px!important;
    padding:0 70px 0 16px!important;
    position:sticky!important;
    top:0;
    width:100%;
    z-index:510;
  }

  body.theme-admin .topbar.admin .brand {
    align-items:center;
    display:flex;
    height:64px;
    margin:0;
  }

  body.theme-admin .admin-mobile-nav-toggle {
    height:40px;
    right:12px;
    top:12px;
    width:40px;
  }

  body.theme-admin > main {
    box-sizing:border-box;
    min-width:0;
    width:100%;
  }

  body.theme-admin .admin-work-card-grid {
    gap:14px!important;
    grid-template-columns:minmax(0,1fr)!important;
  }

  body.theme-admin .admin-work-card {
    display:block!important;
    min-height:0!important;
    overflow:clip;
    position:relative;
    width:100%;
  }

  body.theme-admin .admin-work-card .admin-work-card-media {
    aspect-ratio:16 / 10;
    border-radius:14px 14px 0 0!important;
    display:block;
    height:auto!important;
    min-height:0!important;
    overflow:clip;
    width:100%!important;
  }

  body.theme-admin .admin-work-card .admin-work-card-media img {
    display:block;
    height:100%!important;
    object-fit:cover;
    object-position:center;
    width:100%!important;
  }

  body.theme-admin .admin-work-card .admin-work-select-checkbox {
    height:28px!important;
    left:10px!important;
    padding:5px!important;
    top:10px!important;
    width:28px!important;
  }

  body.theme-admin .admin-work-card .admin-work-select-checkbox input {
    height:16px!important;
    width:16px!important;
  }

  body.theme-admin .admin-work-card-body {
    align-items:center;
    display:grid!important;
    gap:7px 10px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    padding:14px!important;
  }

  body.theme-admin .admin-work-card-head {
    align-items:center;
    display:flex!important;
    grid-column:1!important;
    grid-row:1!important;
    min-width:0;
    order:initial!important;
  }

  body.theme-admin .admin-work-card-head > .eyebrow {
    display:none!important;
  }

  body.theme-admin .admin-work-card time {
    align-self:center;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end;
    order:initial!important;
    white-space:nowrap;
  }

  body.theme-admin .admin-work-card h2 {
    font-size:17px!important;
    grid-column:1 / -1!important;
    grid-row:2!important;
    line-height:1.4!important;
    margin:2px 0 0!important;
    min-height:0!important;
    order:initial!important;
  }

  body.theme-admin .admin-work-card-category {
    grid-column:1 / -1!important;
    grid-row:3!important;
    line-height:1.5;
    order:initial!important;
    white-space:normal;
  }

  body.theme-admin .admin-work-card .admin-tag-row {
    display:none!important;
  }

  body.theme-admin .admin-work-card-stats {
    border:0!important;
    display:flex!important;
    gap:12px!important;
    grid-column:1 / -1!important;
    grid-row:4!important;
    order:initial!important;
    padding:3px 0 4px!important;
  }

  body.theme-admin .admin-work-card-actions {
    display:grid!important;
    gap:8px!important;
    grid-column:1 / -1!important;
    grid-row:5!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    margin-top:3px;
    max-width:300px;
    order:initial!important;
    width:100%!important;
  }

  body.theme-admin .admin-work-card-actions > :is(a,form),
  body.theme-admin .admin-work-card-actions > form > button,
  body.theme-admin .admin-work-card-actions :is(a,button) {
    box-sizing:border-box;
    height:42px!important;
    min-height:42px!important;
    width:100%!important;
  }
}

/* v1.3.0 final mobile overrides follow the legacy mobile rules intentionally. */
@media(max-width:760px) {
  html body.theme-admin .admin-work-card {
    align-items:stretch;
    display:grid!important;
    grid-template-columns:104px minmax(0,1fr)!important;
    min-height:206px!important;
  }
  html body.theme-admin .admin-work-card .admin-work-card-media {
    aspect-ratio:auto!important;
    border-radius:13px 0 0 13px!important;
    height:100%!important;
    min-height:206px!important;
    width:104px!important;
  }
  html body.theme-admin .admin-work-card .admin-work-select-checkbox {
    height:24px!important;
    left:7px!important;
    padding:4px!important;
    top:7px!important;
    width:24px!important;
  }
  html body.theme-admin .admin-work-card .admin-work-select-checkbox input {
    height:14px!important;
    width:14px!important;
  }
  html body.theme-admin .admin-work-card-body {
    align-content:start;
    gap:5px 7px!important;
    padding:10px 11px!important;
  }
  html body.theme-admin .admin-work-card-head :is(.status-pill,.status-badge) {
    font-size:10px!important;
    min-height:22px!important;
    padding:0 7px!important;
  }
  html body.theme-admin .admin-work-card time {
    font-size:10px!important;
    max-width:92px;
    overflow:clip;
    text-overflow:ellipsis;
  }
  html body.theme-admin .admin-work-card h2 {
    font-size:14px!important;
    line-height:1.35!important;
    margin:0!important;
    overflow:clip;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  html body.theme-admin .admin-work-card-category {
    font-size:11px!important;
    line-height:1.35!important;
    margin:0!important;
    overflow:clip;
    text-overflow:ellipsis;
    white-space:nowrap!important;
  }
  html body.theme-admin .admin-work-card-stats {
    font-size:10px!important;
    gap:7px!important;
    overflow:clip;
    padding:1px 0!important;
    white-space:nowrap;
  }
  html body.theme-admin .admin-work-card-actions {
    gap:6px!important;
    margin-top:1px!important;
    max-width:none!important;
  }
  html body.theme-admin .admin-work-card-actions > :is(a,form),
  html body.theme-admin .admin-work-card-actions > form > button,
  html body.theme-admin .admin-work-card-actions :is(a,button) {
    font-size:11px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 6px!important;
    width:100%!important;
  }

  html body.theme-admin .asset-overview-selection-toolbar {
    gap:10px!important;
    padding:12px!important;
  }
  html body.theme-admin .asset-overview-selection-toolbar > div:first-child {
    min-width:0;
    width:100%;
  }
  html body.theme-admin .asset-overview-selection-toolbar > div:first-child > span { display:none; }
  html body.theme-admin .asset-overview-selection-actions {
    align-items:center!important;
    display:grid!important;
    gap:6px!important;
    grid-template-columns:minmax(64px,.75fr) minmax(64px,.75fr) minmax(132px,1.5fr)!important;
    width:100%!important;
  }
  html body.theme-admin .asset-overview-selection-actions > form,
  html body.theme-admin .asset-overview-selection-actions > :is(button,.button),
  html body.theme-admin .asset-overview-selection-actions > form > button {
    font-size:10px!important;
    height:38px!important;
    min-height:38px!important;
    min-width:0!important;
    padding:0 5px!important;
    width:100%!important;
  }

  html body.theme-admin .organized-overview-summary {
    align-items:stretch!important;
    display:grid!important;
    gap:9px!important;
    grid-template-columns:minmax(0,1fr)!important;
    height:auto!important;
    min-height:0!important;
    padding:12px!important;
  }
  html body.theme-admin .organized-overview-summary .admin-section-card__header {
    justify-content:space-between!important;
    padding:0!important;
    width:100%!important;
  }
  html body.theme-admin .organized-overview-summary__counts {
    border:0!important;
    display:grid!important;
    gap:8px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:0!important;
    width:100%!important;
  }
  html body.theme-admin .organized-overview-summary__counts > span {
    justify-content:space-between!important;
    min-width:0!important;
    padding:0 9px!important;
    width:100%!important;
  }

  html body.theme-admin .organized-overview-section .organized-file-grid,
  html body.theme-admin .pending-assets-page .pending-file-grid {
    gap:10px!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  html body.theme-admin .organized-file-card,
  html body.theme-admin .pending-asset-card {
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr)!important;
    min-height:150px!important;
  }
  html body.theme-admin .organized-file-card .pending-file-preview,
  html body.theme-admin .pending-asset-card .pending-file-preview {
    aspect-ratio:auto!important;
    border-radius:13px 0 0 13px!important;
    height:100%!important;
    min-height:150px!important;
    width:92px!important;
  }
  html body.theme-admin .organized-file-card .pending-file-body,
  html body.theme-admin .pending-asset-card .pending-file-body {
    gap:6px!important;
    min-height:0!important;
    padding:9px 10px!important;
  }
  html body.theme-admin .organized-file-card .pending-file-body h3,
  html body.theme-admin .pending-asset-card .pending-file-body h3 {
    font-size:12px!important;
    line-height:1.35!important;
  }
  html body.theme-admin .organized-file-card .pending-file-meta,
  html body.theme-admin .pending-asset-card .pending-file-meta {
    font-size:10px!important;
    gap:4px 7px!important;
  }
  html body.theme-admin .organized-file-card .pending-file-meta > span:nth-child(n+2) { display:none!important; }
  html body.theme-admin .organized-file-card .asset-card-actionbar,
  html body.theme-admin .pending-asset-card .asset-card-actionbar {
    display:grid!important;
    gap:5px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    margin-top:auto!important;
  }
  html body.theme-admin :is(.organized-file-card,.pending-asset-card) .asset-card-actionbar > :is(a,form) {
    min-width:0!important;
    width:100%!important;
  }
  html body.theme-admin :is(.organized-file-card,.pending-asset-card) .asset-card-actionbar :is(a,button) {
    font-size:10px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 4px!important;
    width:100%!important;
  }

  html body.theme-admin .pending-assets-toolbar .pending-actions {
    display:grid!important;
    gap:7px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
  }
  html body.theme-admin .pending-assets-toolbar .pending-actions > :is(.nova-select,.asset-profile-select) {
    grid-column:1 / -1!important;
    max-width:none!important;
    min-width:0!important;
    width:100%!important;
  }
  html body.theme-admin .pending-assets-toolbar .pending-actions > :is(button,.button) {
    font-size:11px!important;
    height:40px!important;
    min-height:40px!important;
    min-width:0!important;
    padding:0 6px!important;
    width:100%!important;
  }

  html body.theme-admin .upload-integrated-form .purchase-attachment-drop > strong {
    font-size:14px!important;
    line-height:1.4!important;
  }
  html body.theme-admin .upload-integrated-form .purchase-attachment-drop > :is(span,small) {
    font-size:11px!important;
    line-height:1.45!important;
  }
  html body.theme-admin [data-purchase-section] > .section-title h2 {
    font-size:16px!important;
    line-height:1.35!important;
  }
}

/* v1.3.0 stable secondary-category marker (desktop and mobile). */
html body.theme-admin .category-child-card[data-category-tone] {
  box-shadow:inset 3px 0 var(--category-tone-marker,#aab8c5)!important;
}
html body.theme-admin .category-child-card[data-category-tone="pink"] { --category-tone-marker:#beaeb7; }
html body.theme-admin .category-child-card[data-category-tone="orange"] { --category-tone-marker:#c3b19f; }
html body.theme-admin .category-child-card[data-category-tone="yellow"] { --category-tone-marker:#c2b990; }
html body.theme-admin .category-child-card[data-category-tone="green"] { --category-tone-marker:#9fb7ad; }
html body.theme-admin .category-child-card[data-category-tone="blue"] { --category-tone-marker:#9fb4c5; }
html body.theme-admin .category-child-card[data-category-tone="purple"] { --category-tone-marker:#b2abc0; }

/* v1.3.1 mobile-only compact cards, menus and typography. */
.mobile-card-menu { display:none; }

@media(max-width:760px) {
  /* Shared mobile three-dot action menu. */
  html body.theme-admin .mobile-card-menu {
    display:block;
    position:absolute;
    right:7px;
    top:7px;
    z-index:40;
  }
  html body.theme-admin .mobile-card-menu[open] { z-index:80; }
  html body.theme-admin .mobile-card-menu > summary {
    align-items:center;
    background:#fff;
    border:1px solid #dfe4ea;
    border-radius:9px;
    box-shadow:0 4px 12px rgba(15,23,42,.08);
    box-sizing:border-box;
    color:#344054;
    cursor:pointer;
    display:flex;
    font-size:15px;
    font-weight:800;
    height:32px;
    justify-content:center;
    letter-spacing:1px;
    line-height:1;
    list-style:none;
    padding:0 0 7px;
    width:34px;
  }
  html body.theme-admin .mobile-card-menu > summary::-webkit-details-marker { display:none; }
  html body.theme-admin .mobile-card-menu__panel {
    background:#fff;
    border:1px solid #dfe4ea;
    border-radius:10px;
    box-shadow:0 12px 28px rgba(15,23,42,.16);
    box-sizing:border-box;
    display:grid;
    min-width:116px;
    overflow:clip;
    padding:5px;
    position:absolute;
    right:0;
    top:38px;
  }
  html body.theme-admin .mobile-card-menu__panel > :is(a,form),
  html body.theme-admin .mobile-card-menu__panel > form > button {
    margin:0!important;
    min-width:0!important;
    width:100%!important;
  }
  html body.theme-admin .mobile-card-menu__panel :is(a,button) {
    align-items:center;
    background:#fff!important;
    border:0!important;
    border-radius:7px!important;
    box-shadow:none!important;
    box-sizing:border-box;
    color:#344054!important;
    display:flex;
    font-size:12px!important;
    font-weight:600!important;
    height:36px!important;
    justify-content:flex-start;
    min-height:36px!important;
    padding:0 10px!important;
    text-decoration:none;
  }
  html body.theme-admin .mobile-card-menu__panel :is(a,button):hover,
  html body.theme-admin .mobile-card-menu__panel :is(a,button):focus-visible { background:#f2f4f7!important; }
  html body.theme-admin .mobile-card-menu__panel button.danger { color:#b42318!important; }

  /* Works: smaller horizontal rows; desktop action bar is replaced only on mobile. */
  html body.theme-admin .admin-work-card {
    grid-template-columns:96px minmax(0,1fr)!important;
    min-height:142px!important;
    overflow:visible!important;
  }
  html body.theme-admin .admin-work-card .admin-work-card-media {
    border-radius:13px 0 0 13px!important;
    height:142px!important;
    min-height:142px!important;
    width:96px!important;
  }
  html body.theme-admin .admin-work-card-body {
    align-content:center;
    gap:4px 6px!important;
    padding:9px 43px 9px 10px!important;
    position:relative;
  }
  html body.theme-admin .admin-work-card-head { grid-column:1!important; grid-row:1!important; }
  html body.theme-admin .admin-work-card time {
    font-size:9px!important;
    grid-column:2!important;
    grid-row:1!important;
    max-width:78px;
  }
  html body.theme-admin .admin-work-card h2 { grid-column:1 / -1!important; grid-row:2!important; }
  html body.theme-admin .admin-work-card-category { grid-column:1 / -1!important; grid-row:3!important; }
  html body.theme-admin .admin-work-card-stats { grid-column:1 / -1!important; grid-row:4!important; }
  html body.theme-admin .admin-work-card-actions { display:none!important; }

  /* Organized assets: three statistic blocks stack cleanly. */
  html body.theme-admin .organized-overview-summary__counts {
    grid-template-columns:minmax(0,1fr)!important;
  }
  html body.theme-admin .organized-overview-summary .admin-section-card__header,
  html body.theme-admin .organized-overview-summary__counts > span {
    box-sizing:border-box!important;
    height:36px!important;
    justify-content:space-between!important;
    width:100%!important;
  }

  /* Organized and pending assets share one dense mobile card rule. */
  html body.theme-admin .organized-file-card,
  html body.theme-admin .pending-asset-card {
    grid-template-columns:86px minmax(0,1fr)!important;
    min-height:126px!important;
    overflow:visible!important;
  }
  html body.theme-admin .organized-file-card .pending-file-preview,
  html body.theme-admin .pending-asset-card .pending-file-preview {
    height:126px!important;
    min-height:126px!important;
    width:86px!important;
  }
  html body.theme-admin .organized-file-card .pending-file-body,
  html body.theme-admin .pending-asset-card .pending-file-body {
    align-content:center;
    gap:5px!important;
    padding:9px 43px 9px 9px!important;
    position:relative;
  }
  html body.theme-admin .organized-file-card .pending-file-meta > span { display:inline!important; }
  html body.theme-admin .organized-file-card .pending-file-meta > span:nth-child(2) { display:none!important; }
  html body.theme-admin .organized-file-card .pending-file-meta,
  html body.theme-admin .pending-asset-card .pending-file-meta,
  html body.theme-admin :is(.organized-file-card,.pending-asset-card) .asset-card-badges {
    display:flex!important;
    flex-wrap:wrap!important;
    gap:4px 6px!important;
  }
  html body.theme-admin :is(.organized-file-card,.pending-asset-card) .asset-card-actionbar { display:none!important; }

  /* Pending selection: full-width profile selector and adaptive action grid. */
  html body.theme-admin .pending-assets-toolbar .pending-actions {
    grid-template-columns:repeat(auto-fit,minmax(128px,1fr))!important;
  }
  html body.theme-admin .pending-assets-toolbar .pending-actions > :is(.nova-select,.asset-profile-select) {
    grid-column:1 / -1!important;
  }
  html body.theme-admin .pending-assets-toolbar .pending-actions > :is(button,.button) {
    font-size:11px!important;
    height:42px!important;
    min-height:42px!important;
  }

  /* Upload center: one consistent compact type scale and summaries. */
  html body.theme-admin .upload-integrated-form .upload-drop-card { padding:18px 12px!important; }
  html body.theme-admin .upload-integrated-form .upload-drop-title {
    font-size:17px!important;
    line-height:1.35!important;
  }
  html body.theme-admin .upload-integrated-form .upload-drop-subtitle,
  html body.theme-admin .upload-integrated-form .upload-drop-card :is(.upload-selected-summary,.uploader-summary) {
    font-size:11px!important;
    line-height:1.4!important;
  }
  html body.theme-admin .upload-integrated-form .upload-drop-actions > button {
    font-size:12px!important;
    height:38px!important;
    min-height:38px!important;
  }
  html body.theme-admin .upload-integrated-form .upload-selected-summary {
    align-items:center!important;
    display:grid!important;
    gap:5px 8px!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
  }
  html body.theme-admin .upload-integrated-form .upload-selected-summary > strong {
    grid-column:1 / -1!important;
  }
  html body.theme-admin .upload-integrated-form .uploader-summary {
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px 14px!important;
    width:100%!important;
  }
  html body.theme-admin .upload-integrated-form .uploader-summary > span:last-child { display:none!important; }
  html body.theme-admin .upload-integrated-section > .section-title h2 { font-size:16px!important; }

  /* Public work detail: remove redundant mobile whitespace while preserving order. */
  html body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell {
    padding:8px 16px 76px!important;
  }
  html body.theme-white:not(.theme-admin) .case-detail-page .case-detail-shell > .case-detail-header.case-hero {
    margin:0 0 12px!important;
    min-height:0!important;
    padding:10px 0 12px!important;
  }
  html body.theme-white:not(.theme-admin) .case-detail-page .case-detail-meta-row {
    gap:8px!important;
    justify-content:flex-start!important;
    margin:0!important;
  }
  html body.theme-white:not(.theme-admin) .case-detail-page .case-detail-category {
    flex:0 1 auto!important;
    height:auto!important;
    min-height:0!important;
  }
  html body.theme-white:not(.theme-admin) .case-detail-page .case-detail-meta-actions {
    gap:7px!important;
  }
  html body.theme-white:not(.theme-admin) .case-detail-page .case-detail-title {
    margin-top:8px!important;
  }
  html body.theme-white:not(.theme-admin) .case-detail-page .case-detail-title-line h1 {
    font-size:clamp(25px,7vw,32px)!important;
    line-height:1.25!important;
  }
}

/* v1.3.2 final mobile type-scale guard; placed last to beat legacy mobile rules. */
@media(max-width:760px) {
  html body.theme-admin main :is(.admin-page-header__title,.admin-page-header h1) {
    font-size:21px!important;
    line-height:1.3!important;
  }
  html body.theme-admin main .profile-business-page-header .admin-page-header__title {
    font-size:21px!important;
    line-height:1.3!important;
  }
  html body.theme-admin main :is(.admin-section-card__header,.section-title) h2 {
    font-size:16px!important;
    line-height:1.35!important;
  }
  html body.theme-admin main :is(.admin-page-header__description,.muted,.form-hint) {
    font-size:11px!important;
    line-height:1.5!important;
  }
  html body.theme-admin main .profile-business-page-header .admin-page-header__description {
    font-size:11px!important;
    line-height:1.5!important;
  }
}

/* v1.3.3 mobile-only portaled card menus and in-flow statistics. */
@media(max-width:760px) {
  html body.theme-admin .mobile-card-menu__panel.is-portaled {
    box-sizing:border-box!important;
    margin:0!important;
    max-height:calc(100dvh - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    overflow-y:auto!important;
    position:fixed!important;
    right:auto!important;
    z-index:10000!important;
  }

  html body.theme-admin :is(.admin-work-card-body,.pending-file-body) :is(h2,h3),
  html body.theme-admin .profile-business-card__identity :is(h2,h3) {
    box-sizing:border-box!important;
    max-width:100%!important;
    overflow:clip!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  html body.theme-admin .organized-overview-summary .admin-section-card__header {
    align-items:center!important;
    display:flex!important;
    flex-direction:row!important;
    gap:10px!important;
    height:auto!important;
    justify-content:space-between!important;
    margin:0!important;
    min-height:36px!important;
    padding:0!important;
    position:static!important;
  }

  html body.theme-admin .organized-overview-summary .admin-section-card__header > :is(h2,.count),
  html body.theme-admin .admin-section-card :is(.admin-section-card__header,.section-title) > .count {
    inset:auto!important;
    margin:0!important;
    position:static!important;
    transform:none!important;
  }

  html body.theme-admin .organized-overview-summary .admin-section-card__header > .count {
    align-items:center!important;
    display:inline-flex!important;
    flex:0 0 auto!important;
    height:28px!important;
    justify-content:center!important;
    white-space:nowrap!important;
  }
}

/* v1.3.4 mobile-only overview alignment and square selection controls. */
@media(max-width:760px) {
  html body.theme-admin .organized-overview-summary {
    gap:8px!important;
  }

  html body.theme-admin .organized-overview-summary .admin-section-card__header {
    box-sizing:border-box!important;
    min-height:36px!important;
    padding:0 9px!important;
  }

  html body.theme-admin .organized-overview-summary .admin-section-card__header > h2 {
    align-items:center!important;
    display:flex!important;
    min-height:28px!important;
  }

  html body.theme-admin .organized-overview-summary__counts {
    gap:8px!important;
  }

  html body.theme-admin .organized-overview-summary__counts > span {
    min-height:36px!important;
    padding:0 9px!important;
  }

  html body.theme-admin :is(
    input[data-overview-asset-checkbox],
    input[data-pending-asset-checkbox],
    input[data-admin-bulk-checkbox],
    input[data-group-asset-select],
    input[data-pending-select-all],
    .asset-select > input[type="checkbox"],
    .file-delete-check > input[type="checkbox"]
  ) {
    align-self:center!important;
    aspect-ratio:1 / 1!important;
    block-size:24px!important;
    box-sizing:border-box!important;
    flex:0 0 24px!important;
    height:24px!important;
    inline-size:24px!important;
    max-height:24px!important;
    max-width:24px!important;
    min-height:24px!important;
    min-width:24px!important;
    width:24px!important;
  }

  html body.theme-admin :is(
    .asset-overview-card-select,
    .pending-asset-checkbox,
    .admin-bulk-checkbox,
    .admin-work-select-checkbox,
    .asset-group-file-select
  ) {
    align-items:center!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex:0 0 34px!important;
    height:34px!important;
    justify-content:center!important;
    min-height:34px!important;
    min-width:34px!important;
    padding:5px!important;
    width:34px!important;
  }
}

/* Mobile-only admin checkbox normalization; dedicated switches and hidden state inputs stay intact. */
@media(max-width:760px) {
  html body.theme-admin input[type="checkbox"]:not([hidden]):not([name="isPinned"]):not([name="moduleBanner"]):not([name="moduleCategoryNav"]):not([name="isVisible"]):not([name="removeProfileFileIds"]):not([name="materialCoverAssetId"]):not([name="materialWorkMediaAssetIds"]) {
    align-self:center!important;
    aspect-ratio:1 / 1!important;
    block-size:18px!important;
    border:1px solid #c7ced8!important;
    border-radius:4px!important;
    box-sizing:border-box!important;
    flex:0 0 18px!important;
    height:18px!important;
    inline-size:18px!important;
    margin:0!important;
    max-height:18px!important;
    max-width:18px!important;
    min-height:18px!important;
    min-width:18px!important;
    padding:0!important;
    width:18px!important;
  }

  html body.theme-admin input[type="checkbox"]:not([hidden]):not([name="isPinned"]):not([name="moduleBanner"]):not([name="moduleCategoryNav"]):not([name="isVisible"]):not([name="removeProfileFileIds"]):not([name="materialCoverAssetId"]):not([name="materialWorkMediaAssetIds"]):checked {
    background-color:#344054!important;
    border-color:#344054!important;
  }

  html body.theme-admin :is(
    .asset-overview-card-select,
    .pending-asset-checkbox,
    .admin-bulk-checkbox,
    .admin-work-select-checkbox,
    .asset-group-file-select
  ) {
    align-items:center!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex:0 0 32px!important;
    height:32px!important;
    justify-content:center!important;
    left:8px!important;
    min-height:32px!important;
    min-width:32px!important;
    padding:6px!important;
    top:8px!important;
    width:32px!important;
  }

  html body.theme-admin :is(
    .pending-select-all,
    .checkbox-line,
    .upload-original-choice,
    .upload-switch,
    .asset-group-add-list > label,
    label:has(> input[data-public-display-setting])
  ) {
    align-items:center!important;
    min-height:32px!important;
  }

  html body.theme-admin :is(
    .asset-overview-card-select,
    .pending-asset-checkbox,
    .admin-work-select-checkbox,
    .asset-group-file-select
  ) input[type="checkbox"] {
    position:static!important;
  }
}
/* Public work pagination: keeps the existing card layout while limiting first-load work. */
.public-work-pagination {
  align-items:center;
  display:flex;
  gap:12px;
  justify-content:center;
  margin-top:20px;
}

.public-work-pagination > :is(a,span,strong) {
  align-items:center;
  display:inline-flex;
  min-height:36px;
}

.public-work-pagination > span {
  color:#94a3b8;
}

/* Work color labels and filters. */
.work-color-swatch {
  background:var(--work-color,#98a2b3);
  border:1px solid rgba(17,24,39,.18);
  border-radius:50%;
  box-sizing:border-box;
  display:inline-block;
  flex:0 0 16px;
  height:16px;
  width:16px;
}

body.theme-admin .work-palette-field {
  border:1px solid #e4e7ec;
  border-radius:14px;
  margin:0;
  padding:16px;
}

body.theme-admin .work-palette-title-row{align-items:center;display:flex;gap:12px;justify-content:space-between}
body.theme-admin .work-palette-title-row legend{float:left;margin:0}
body.theme-admin .work-inline-color-create{flex:0 0 auto}
body.theme-admin .work-inline-color-modal[hidden]{display:none}
body.theme-admin .work-inline-color-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1200}
body.theme-admin .work-inline-color-backdrop{background:rgba(15,23,42,.4);inset:0;position:absolute}
body.theme-admin .work-inline-color-dialog{background:#fff;border:1px solid #e4e7ec;border-radius:14px;box-shadow:0 24px 64px rgba(15,23,42,.2);display:grid;gap:14px;max-width:420px;padding:20px;position:relative;width:min(100%,420px)}
body.theme-admin .work-inline-color-dialog h3{font-size:18px;margin:0}
body.theme-admin .work-inline-color-dialog>label{display:grid;gap:7px}
body.theme-admin .work-inline-color-value{align-items:center;display:grid;gap:10px;grid-template-columns:48px minmax(0,1fr)}
body.theme-admin .work-inline-color-value input[type=color]{height:42px;padding:3px;width:48px}
body.work-inline-color-modal-open{overflow:hidden}
@media(max-width:760px){body.theme-admin .work-palette-title-row{align-items:flex-start;flex-wrap:wrap}body.theme-admin .work-inline-color-modal{padding:12px}body.theme-admin .work-inline-color-dialog{padding:18px}}

body.theme-admin .work-palette-field legend {
  color:#101828;
  font-weight:700;
  padding:0 6px;
}

body.theme-admin .work-palette-field > p {
  margin:0 0 12px;
}

body.theme-admin .work-palette-options {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

body.theme-admin .work-palette-option {
  align-items:center;
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:10px;
  cursor:pointer;
  display:inline-flex;
  gap:7px;
  min-height:38px;
  padding:0 11px;
}

body.theme-admin .work-palette-option:has(input:checked) {
  background:#f2f4f7;
  border-color:#98a2b3;
}

body.theme-admin .work-palette-option input[type="checkbox"] {
  flex:0 0 auto;
  margin:0;
}

body.theme-admin .admin-work-color-tags {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

body.theme-admin .admin-work-color-tags > span {
  align-items:center;
  background:#f8fafc;
  border:1px solid #e4e7ec;
  border-radius:999px;
  color:#475467;
  display:inline-flex;
  font-size:12px;
  gap:5px;
  min-height:26px;
  padding:0 8px;
}

body:not(.theme-admin) .work-color-filter {
  align-items:center;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  display:flex;
  gap:7px;
  margin:0 0 18px;
  overflow-x:auto;
  padding:10px;
  scrollbar-width:thin;
}

body:not(.theme-admin) .work-color-filter__item {
  align-items:center;
  border:1px solid transparent;
  border-radius:999px;
  color:#475467;
  display:inline-flex;
  flex:0 0 auto;
  gap:6px;
  min-height:34px;
  padding:0 10px;
  text-decoration:none;
}

body:not(.theme-admin) .work-color-filter__item:hover,
body:not(.theme-admin) .work-color-filter__item:focus-visible,
body:not(.theme-admin) .work-color-filter__item.active {
  background:#eef2f6;
  border-color:#d0d5dd;
  color:#101828;
}

@media(max-width:700px) {
  body.theme-admin .work-palette-field {
    padding:14px;
  }

  body.theme-admin .work-palette-options {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  body.theme-admin .work-palette-option {
    box-sizing:border-box;
    justify-content:flex-start;
    min-width:0;
    padding:0 8px;
  }

  body:not(.theme-admin) .work-color-filter {
    margin-bottom:14px;
    padding:8px;
  }
}

/* Final mobile toolbar composition: search first, then sort and the folded filter. */
@media(max-width:700px) {
  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-form :is(
    .home-sort-trigger,
    .work-filter-trigger
  ) {
    height:40px!important;
    min-height:40px!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-form {
    grid-template-columns:minmax(0,1fr) auto!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .design-toolbar-search {
    grid-column:1/-1!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .home-sort-dropdown {
    grid-column:1!important;
    width:100%!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .work-filter-menu {
    grid-column:2!important;
  }

  body.theme-white:not(.theme-admin) .home-page-shell .work-filter-popover {
    right:-16px!important;
  }

  body:not(.theme-admin) .home-page-shell .work-color-filter {
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    flex-wrap:wrap!important;
    margin:0!important;
    overflow:visible!important;
    padding:0!important;
  }
}
/* Work color management is scoped to its new admin page. */
.work-color-create-card .panel-head,
.work-color-admin-page .panel-head {
  margin-bottom: 20px;
}

.work-color-form {
  display: flex;
  align-items: end;
  gap: 14px;
}

.work-color-form label {
  display: grid;
  gap: 7px;
}

.work-color-form--create label:first-child,
.work-color-form--edit label:first-child {
  min-width: 220px;
  flex: 1;
}

.work-color-picker {
  width: 72px;
  min-width: 72px;
  height: 42px;
  padding: 4px;
  cursor: pointer;
}

.work-color-admin-list {
  display: grid;
  gap: 12px;
}

.work-color-admin-row {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 94px;
  padding: 18px;
  border: 1px solid var(--line, #e4e9ef);
  border-radius: 16px;
  background: #fff;
}

.work-color-admin-row.is-disabled {
  background: #f7f9fb;
}

.work-color-admin-swatch {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border: 1px solid #d9e0e7;
  border-radius: 50%;
  background: var(--work-color);
}

.work-color-form--edit {
  flex: 1;
  align-items: center;
}

.work-color-admin-meta {
  align-content: center;
  display: grid;
  gap: 6px;
  min-width: 140px;
}

.work-color-toggle-form {
  align-items: center;
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
}

.work-color-form--edit > .button,
.work-color-toggle-form > .button {
  align-self: center;
  margin-top: 0;
}

@media (max-width: 720px) {
  .work-color-form,
  .work-color-admin-row,
  .work-color-form--edit {
    align-items: stretch;
  }

  .work-color-form--create {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .work-color-form--create label:first-child {
    min-width: 0;
  }

  .work-color-form--create .button {
    grid-column: 1 / -1;
  }

  .work-color-admin-row {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .work-color-form--edit {
    display: grid;
    min-width: 0;
  }

  .work-color-form--edit label:first-child {
    min-width: 0;
  }

  .work-color-toggle-form {
    grid-column: 2;
  }

  .work-color-form--edit .button,
  .work-color-toggle-form .button {
    width: 100%;
  }
}

/* Asset center incremental UI fixes: pending selection, grouping panel and card media. */
body.theme-admin .pending-group-action-panel {
  gap: 12px;
  min-width: min(460px, calc(100vw - 48px));
  padding: 18px;
}

body.theme-admin .pending-group-action-title {
  color: #101828;
  font-size: 14px;
  line-height: 1.4;
}

body.theme-admin .pending-group-action-form {
  display: grid;
  gap: 10px;
}

body.theme-admin .pending-group-action-form :is(input, select, .nova-select, button) {
  box-sizing: border-box;
  height: 44px !important;
  min-height: 44px !important;
  width: 100%;
}

body.theme-admin .pending-group-action-form .nova-select select {
  height: 100%;
}

body.theme-admin .pending-group-action-divider {
  border-top: 1px solid #e4e7ec;
  margin: 2px 0;
}

body.theme-admin .organized-file-card .asset-kind-label {
  align-items: center;
  background: #eef2f6;
  border: 1px solid #d9e0e7;
  border-radius: 999px;
  color: #475467;
  display: inline-flex;
  font-size: 11px;
  line-height: 1;
  min-height: 24px;
  padding: 0 8px;
  white-space: nowrap;
}

body.theme-admin .organized-file-card .pending-file-preview > .asset-video-preview > span {
  display: none;
}

body.theme-admin .pending-asset-card .pending-file-body h3,
body.theme-admin .organized-file-card .pending-file-body h3 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-admin .pending-asset-card .asset-card-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

body.theme-admin .pending-asset-card :is(.status-pill, .pending-status-pill) {
  flex: 0 0 auto;
  max-width: 100%;
  overflow: visible;
  text-overflow: clip;
}

@media (min-width: 761px) {
  body.theme-admin .pending-assets-page .pending-file-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  }

  body.theme-admin .pending-assets-page .pending-asset-card .asset-card-actionbar {
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.theme-admin .pending-assets-page .pending-asset-card .asset-card-actionbar > :is(a, form),
  body.theme-admin .pending-assets-page .pending-asset-card .asset-card-actionbar > form > button {
    min-width: 0;
    width: 100% !important;
  }
}

@media (max-width: 760px) {
  body.theme-admin .pending-group-action-panel {
    left: 12px;
    min-width: 0;
    padding: 16px;
    right: 12px;
    width: auto;
  }
}

/* Desktop work-list actions: direct buttons and form actions share one visual width. */
@media (min-width: 761px) {
  body.theme-admin .admin-work-card .admin-work-card-actions > :is(a, button, form),
  body.theme-admin .admin-work-card .admin-work-card-actions > form > button {
    box-sizing: border-box;
    flex: 0 0 59px !important;
    min-width: 56px;
    width: 59px !important;
  }

  body.theme-admin .admin-work-card .admin-work-card-actions > form > button {
    width: 100% !important;
  }

  body.theme-admin .admin-work-card .admin-work-card-actions > :is(a, button),
  body.theme-admin .admin-work-card .admin-work-card-actions > form > button {
    justify-content: center;
    text-align: center;
  }
}
/* Public site registration footer. */
.public-site-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 22px 16px;
  color: #8a94a3;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

.public-site-footer a {
  color: inherit;
  text-decoration: none;
}

.public-site-footer a:hover,
.public-site-footer a:focus-visible {
  color: #596579;
  text-decoration: underline;
}

/* Public album media and color filters. */
body:not(.theme-admin) .album-filter-panel {
  display: grid;
  gap: 14px;
  margin: 0 0 20px;
  padding: 16px;
  border: 1px solid #e4e9ef;
  border-radius: 16px;
  background: #fff;
}

body:not(.theme-admin) .album-filter-group {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

body:not(.theme-admin) .album-filter-group > strong {
  color: #596579;
  font-size: 13px;
}

body:not(.theme-admin) .album-filter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

body:not(.theme-admin) .album-filter-options a {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 13px;
  border: 1px solid #e2e7ed;
  border-radius: 999px;
  background: #f8fafc;
  color: #4c586a;
  font-size: 13px;
  line-height: 1;
  text-decoration: none;
}

body:not(.theme-admin) .album-filter-options a:hover,
body:not(.theme-admin) .album-filter-options a:focus-visible,
body:not(.theme-admin) .album-filter-options a.active {
  border-color: #aab6c5;
  background: #edf2f7;
  color: #111827;
}

body:not(.theme-admin) .album-color-filter-options i {
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 50%;
  background: var(--album-filter-color, #d8dee7);
}

/* Phase 16-A: public login and registration use the same compact field rhythm. */
.public-auth-form {
  display: grid;
  gap: 14px;
}

.public-auth-form > label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}

.public-auth-form > label > span {
  align-items: center;
  display: flex;
  min-height: 20px;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
}

.public-auth-form > label > input {
  box-sizing: border-box;
  min-height: 44px;
}

/* Public User Center V1: keep the authenticated User surface independent from
 * Store management, while matching the public white-card visual system. */
.public-account-shell {
  width: min(calc(100% - 80px), 1440px);
  margin: 0 0 0 40px;
  padding: 42px 0 72px;
}

.public-account-heading { margin-bottom: 22px; }
.public-account-heading .eyebrow { margin: 0 0 6px; }
.public-account-heading h1 { margin: 0; color: #111827; font-size: clamp(28px, 3vw, 36px); letter-spacing: -.03em; }
.public-account-heading .muted { margin: 8px 0 0; }

.public-account-layout {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
}

.public-account-content { min-width: 0; }

.public-account-nav {
  display: grid;
  gap: 6px;
  padding: 10px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(17, 24, 39, .04);
}

.public-account-nav a {
  display: block;
  padding: 11px 13px;
  color: #4b5563;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
}

.public-account-nav a:hover,
.public-account-nav a.active { background: #fdf2f8; color: #111827; }

.public-account-card {
  min-width: 0;
  padding: clamp(24px, 3vw, 32px);
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(17, 24, 39, .05);
}

.public-account-card-heading { margin-bottom: 24px; }
.public-account-card-heading h2 { margin: 0; color: #111827; font-size: 23px; line-height: 1.3; }
.public-account-card-heading p { margin: 8px 0 0; }

.public-profile-editor { display: grid; gap: 24px; }

.public-profile-avatar-field {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px;
  background: #fafafa;
  border: 1px solid #eef0f3;
  border-radius: 14px;
}

.public-profile-avatar { width: 92px; height: 92px; flex: 0 0 92px; overflow: hidden; border-radius: 50%; }
.public-profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.public-profile-avatar-actions { display: grid; align-content: center; justify-items: start; gap: 8px; }
.public-profile-avatar-actions strong { color: #111827; font-size: 14px; }
.public-profile-avatar-button { position: relative; overflow: hidden; }
.public-profile-avatar-actions small { color: #6b7280; font-size: 12px; line-height: 1.5; }

.public-profile-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.public-profile-fields > label,
.public-security-form > label {
  display: grid;
  gap: 8px;
  color: #374151;
  font-size: 14px;
  font-weight: 700;
}

.public-profile-login-field { grid-column: 1 / -1; }
.public-profile-fields input,
.public-security-form input { width: 100%; min-height: 44px; box-sizing: border-box; }

.public-profile-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.public-profile-actions .profile-save-status { min-height: 18px; margin-right: auto; color: #4b5563; font-size: 13px; }

.public-security-card { max-width: none; }
.public-security-identity { margin: 0 0 20px; color: #4b5563; font-size: 14px; }
.public-security-form { display: grid; max-width: 680px; gap: 16px; }
.public-security-form > .muted { margin: 0; }
.public-security-form .primary-button { justify-self: start; min-height: 42px; }

@media (max-width: 720px) {
  .public-account-shell { width: calc(100% - 24px); margin: 0 auto; padding: 28px 0 88px; }
  .public-account-layout { grid-template-columns: 1fr; gap: 16px; }
  .public-account-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-account-nav a { padding: 10px 8px; text-align: center; }
  .public-account-card { padding: 22px 18px; }
  .public-profile-avatar-field { align-items: flex-start; padding: 16px; }
  .public-profile-fields { grid-template-columns: 1fr; gap: 16px; }
  .public-profile-login-field { grid-column: auto; }
  .public-profile-actions { align-items: stretch; flex-direction: column; }
  .public-profile-actions .profile-save-status { min-height: 18px; }
  .public-profile-actions .button,
  .public-security-form .primary-button { width: 100%; justify-self: stretch; }
}

@media (max-width: 720px) {
  .public-site-footer {
    padding-bottom: calc(68px + env(safe-area-inset-bottom));
  }

  body:not(.theme-admin) .album-filter-panel {
    gap: 12px;
    margin-bottom: 14px;
    padding: 13px;
    border-radius: 14px;
  }

  body:not(.theme-admin) .album-filter-group {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body:not(.theme-admin) .album-filter-options {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  body:not(.theme-admin) .album-filter-options::-webkit-scrollbar {
    display: none;
  }

  body:not(.theme-admin) .album-filter-options a {
    flex: 0 0 auto;
    min-height: 36px;
  }
}

/* Final public category path polish: a title block plus an actual second row. */
body:not(.theme-admin) .home-page-shell .design-work-section > .category-list-toolbar > .work-category-column {
  align-self: stretch;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  min-width: 0;
}

body:not(.theme-admin) .home-page-shell .work-category-heading {
  display: block !important;
  grid-column: 1;
  grid-row: 1;
  width: 100%;
}

body:not(.theme-admin) .home-page-shell .work-category-breadcrumb > span {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: inherit !important;
  display: inline !important;
  font: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:not(.theme-admin) .home-page-shell .work-subcategory-row {
  align-self: flex-start;
  border-top: 0 !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px !important;
  grid-column: 1;
  grid-row: 2;
  margin: 0 !important;
  margin-top: 12px !important;
  padding-top: 0 !important;
  width: 100%;
}

body:not(.theme-admin) .home-page-shell .work-subcategory-row a {
  min-height: 36px !important;
  padding-inline: 18px !important;
}

/* Phase 16-B: User-level store application, rendered inside the existing Account shell. */
.store-application-panel {
  display: grid;
  gap: 20px;
}

.store-application-panel h2 {
  margin: 0;
}

.store-application-status,
.store-application-form {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
  padding: 24px;
}

.store-application-status {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
}

.store-application-status .status-pill {
  align-self: start;
  border-radius: 999px;
  background: #f3f4f6;
  color: #374151;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 10px;
}

.store-application-status.status-rejected .status-pill {
  background: #fff1f2;
  color: #b42318;
}

.store-application-status.status-approved .status-pill {
  background: #ecfdf3;
  color: #027a48;
}

.store-application-status dl {
  display: grid;
  grid-column: 1 / -1;
  gap: 12px;
  margin: 0;
}

.store-application-status dl > div {
  display: grid;
  gap: 4px;
}

.store-application-status dt {
  color: #667085;
  font-size: 13px;
}

.store-application-status dd {
  margin: 0;
  color: #1d2939;
  white-space: pre-wrap;
}

.store-application-description,
.store-application-review {
  border-radius: 10px;
  background: #f8fafc;
  padding: 12px;
}

.store-application-review {
  background: #fff7ed;
}

.store-application-status > .muted {
  grid-column: 1 / -1;
  margin: 0;
}

.store-application-form {
  display: grid;
  gap: 16px;
}

.store-application-form > label {
  display: grid;
  gap: 8px;
  color: #344054;
  font-size: 14px;
  font-weight: 600;
}

.store-application-form label b {
  color: #b42318;
}

.store-application-form input,
.store-application-form textarea {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #d0d5dd;
  border-radius: 10px;
  background: #fff;
  color: #101828;
  font: inherit;
  font-weight: 400;
  padding: 11px 12px;
}

.store-application-form textarea {
  min-height: 144px;
  resize: vertical;
}

.store-application-actions {
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 640px) {
  .store-application-status,
  .store-application-form {
    padding: 18px;
  }

  .store-application-status {
    grid-template-columns: 1fr;
  }

  .store-application-status .status-pill {
    justify-self: start;
  }

  .store-application-status dl,
  .store-application-status > .muted {
    grid-column: 1;
  }
}

/* Phase 16-D final cascade: this file has legacy store-application rules above. */
.store-application-panel { gap:18px; }
.store-application-status { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; padding:24px; }
.store-application-status__header { align-items:flex-start; display:flex; gap:16px; justify-content:space-between; }
.store-application-status__header h2 { color:#1d2939; font-size:22px; line-height:1.3; margin:0; }
.store-application-status__header .muted { margin:6px 0 0; }
.store-application-status__badge { align-self:flex-start!important; border:1px solid #fedf89!important; background:#fffaeb!important; color:#b54708!important; flex:0 0 auto; }
.store-application-status.status-approved .store-application-status__badge { border-color:#abefc6!important; background:#ecfdf3!important; color:#027a48!important; }
.store-application-status.status-rejected .store-application-status__badge { border-color:#fecdca!important; background:#fef3f2!important; color:#b42318!important; }
.store-application-status__section { display:grid; gap:12px; }
.store-application-status__section h3 { color:#344054; font-size:14px; line-height:1.45; margin:0; }
.store-application-facts { display:grid!important; gap:12px 16px!important; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0!important; }
.store-application-facts > div { border:1px solid #eef0f3; border-radius:12px; display:grid!important; gap:4px!important; min-width:0; padding:12px; }
.store-application-facts dt { color:#667085; font-size:13px; }.store-application-facts dd { color:#1d2939; font-size:14px; margin:0; overflow-wrap:anywhere; }
.store-application-status .store-application-description,.store-application-status .store-application-review { border:1px solid #eef0f3; border-radius:12px; padding:14px; }
.store-application-status .store-application-description { background:#fafbfc; }.store-application-status .store-application-review { background:#fffaf5; }
.store-application-description p,.store-application-review p { color:#344054; line-height:1.65; margin:0; white-space:pre-wrap; }
.store-application-status__footer { align-items:center; border-top:1px solid #eef0f3; display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; padding-top:16px; }.store-application-status__footer .muted { margin:0; }
.store-application-form { display:grid; gap:18px; max-width:900px; padding:24px; }.store-application-form__header { display:grid; gap:6px; }.store-application-form__header h2 { color:#1d2939; font-size:20px; line-height:1.35; margin:0; }.store-application-form__header .muted { margin:0; }.store-application-form input { min-height:44px; }.store-application-form textarea { min-height:156px; }.store-application-actions { border-top:1px solid #eef0f3; padding-top:16px; }
body.admin-ui .store-application-filter-card { padding:14px 18px; }body.admin-ui .store-application-filters { gap:8px; }body.admin-ui .store-application-list-card { overflow:hidden; padding:0; }body.admin-ui .store-application-list-card .table-wrap { margin:0; }body.admin-ui .store-application-detail-card { padding:22px; }body.admin-ui .store-application-detail-card > h2 { color:#1d2939; font-size:18px; margin:0 0 16px; }body.admin-ui .store-application-detail-card .detail-grid .store-application-description { grid-column:1 / -1; }body.admin-ui .store-application-review-actions .admin-form-grid { align-items:start; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }body.admin-ui .store-application-review-actions form { background:#fafbfc; border:1px solid #eef0f3; border-radius:12px; display:grid; gap:12px; padding:16px; }body.admin-ui .store-application-review-actions form label { display:grid; gap:8px; font-size:14px; font-weight:600; }body.admin-ui .store-application-review-actions form input,body.admin-ui .store-application-review-actions form textarea { box-sizing:border-box; font:inherit; min-width:0; width:100%; }body.admin-ui .store-application-review-actions form textarea { min-height:108px; resize:vertical; }body.admin-ui .store-application-review-actions form .button { justify-self:start; }
@media(max-width:760px){.store-application-status,.store-application-form{padding:18px}.store-application-status__header,.store-application-status__footer{align-items:flex-start;flex-direction:column}.store-application-facts{grid-template-columns:minmax(0,1fr)}.store-application-status__footer .primary-button,.store-application-actions .primary-button{width:100%}body.admin-ui .store-application-review-actions .admin-form-grid{grid-template-columns:minmax(0,1fr)}body.admin-ui .store-application-review-actions form .button{width:100%}}

/* Keep review detail labels and their values as deliberate vertical pairs. */
body.admin-ui .store-application-detail-card .detail-grid > div {
  align-content:start;
  display:grid;
  gap:6px;
  min-width:0;
}
body.admin-ui .store-application-detail-card .detail-grid > div > span {
  color:#667085;
  font-size:13px;
  line-height:1.4;
}
body.admin-ui .store-application-detail-card .detail-grid > div > strong {
  color:#1d2939;
  line-height:1.45;
  overflow-wrap:anywhere;
}

/* Phase 16-D final polish: use the complete Account content rail and existing primary action treatment. */
.store-application-form {
  box-sizing:border-box;
  max-width:none;
  width:100%;
}
.store-application-actions .primary-button {
  background:#111827!important;
  border-color:#111827!important;
  color:#fff!important;
}
body.admin-ui .store-application-filter-card {
  align-items:center;
  box-sizing:border-box;
  display:flex;
  min-height:72px;
}
body.admin-ui .store-application-filters {
  align-items:center;
  display:flex;
  gap:14px;
  min-height:44px;
}

/* Account security follows the approved Store application form language. */
.public-account-security-card {
  background:#fff;
  border:1px solid #e7e9ee;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(16,24,40,.03);
  box-sizing:border-box;
  max-width:none;
  padding:28px;
  width:100%;
}
.public-account-security-card__header {
  border-bottom:1px solid #eef0f3;
  padding-bottom:20px;
}
.public-account-security-card__header h2 {
  color:#1d2939;
  font-size:20px;
  line-height:1.35;
  margin:0;
}
.public-account-security-card .account-security-identity {
  display:grid;
  gap:4px;
  margin:16px 0 0;
}
.public-account-security-card .account-security-identity span {
  color:#667085;
  font-size:13px;
  line-height:1.4;
}
.public-account-security-card .account-security-identity strong {
  color:#1d2939;
  font-size:15px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.public-account-security-card .public-security-form {
  display:grid;
  gap:18px;
  margin-top:24px;
  max-width:820px;
}
.public-account-security-card .public-security-form > label {
  color:#344054;
  display:grid;
  font-size:14px;
  font-weight:600;
  gap:8px;
}
.public-account-security-card .public-security-form input {
  border:1px solid #d0d5dd;
  border-radius:10px;
  box-sizing:border-box;
  min-height:44px;
  padding:10px 12px;
  width:100%;
}
.public-account-security-card .public-security-form > .muted {
  color:#667085;
  font-size:13px;
  line-height:1.6;
  margin:2px 0 0;
}
.public-account-security-card .public-security-form .primary-button {
  align-items:center;
  background:#111827!important;
  border-color:#111827!important;
  color:#fff!important;
  justify-self:end;
  min-height:44px;
}
@media(max-width:720px) {
  .public-account-security-card { padding:20px 18px; }
  .public-account-security-card .public-security-form { max-width:none; }
  .public-account-security-card .public-security-form .primary-button { justify-self:stretch; width:100%; }
}

/* Masonry cards retain each source image's intrinsic ratio and never reserve a crop background. */
body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .work-masonry .portfolio-work-card .work-card-media,
body:not(.theme-admin) .home-page-shell .work-masonry .portfolio-work-card .work-card-media {
  aspect-ratio: auto !important;
  background: transparent !important;
  height: auto !important;
  min-height: 0 !important;
}

body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .work-masonry .portfolio-work-card .work-card-media > img,
body:not(.theme-admin) .home-page-shell .work-masonry .portfolio-work-card .work-card-media img {
  height: auto !important;
  object-fit: initial !important;
  position: static !important;
  width: 100% !important;
}
.announcement-image-field {
  display: grid;
  gap: 8px;
}

.announcement-image-field input[type="file"] {
  width: 100%;
  padding: 12px;
  border: 1px dashed #cfd2d8;
  border-radius: 12px;
  background: #fafafa;
}

.announcement-image-editor {
  display: grid;
  grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.announcement-image-editor > img {
  width: 100%;
  height: auto;
  max-height: 220px;
  object-fit: contain;
  border-radius: 12px;
  background: #f5f5f5;
}

.announcement-image-remove {
  grid-column: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #6b6f76;
}

.announcement-card-anchor {
  display: block;
  color: inherit;
  text-decoration: none;
}

.announcement-card-anchor:hover .announcement-card {
  border-color: #bfc3ca;
  transform: translateY(-1px);
}

.announcement-card-image {
  display: block;
  width: 100%;
  max-height: 260px;
  margin-bottom: 18px;
  object-fit: cover;
  border-radius: 12px;
}

.announcement-card-link {
  display: inline-block;
  margin-top: 16px;
  font-weight: 600;
  color: #202124;
}

.announcement-detail-page {
  padding: 40px clamp(24px, 4vw, 64px) 72px;
  background: #f6f6f7;
}

.announcement-detail-card {
  width: min(100%, 1080px);
  margin: 0 auto;
  padding: clamp(24px, 4vw, 52px);
  border: 1px solid #e2e3e6;
  border-radius: 20px;
  background: #fff;
}

.announcement-detail-back {
  display: inline-flex;
  margin-bottom: 28px;
  color: #60646b;
  text-decoration: none;
}

.announcement-detail-head h1 {
  margin: 12px 0;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.2;
}

.announcement-detail-head time {
  color: #7a7e85;
  font-size: 14px;
}

.announcement-detail-image {
  display: block;
  width: 100%;
  height: auto;
  margin: 30px 0;
  border-radius: 16px;
}

.announcement-detail-content {
  margin-top: 30px;
  color: #303238;
  font-size: 17px;
  line-height: 1.9;
}

@media (max-width: 640px) {
  .announcement-image-editor { grid-template-columns: 1fr; }
  .announcement-image-remove { grid-column: 1; }
  .announcement-detail-page { padding: 20px 14px 44px; }
  .announcement-detail-card { padding: 22px 18px; border-radius: 16px; }
  .announcement-card-image { max-height: 220px; }
}

/* Final platform-announcement layout override: later legacy rules must not restore columns. */
body.theme-white:not(.theme-admin) .announcement-list.announcement-list--rows {
  display:grid;
  gap:12px;
  grid-template-columns:minmax(0, 1fr) !important;
  width:100%;
}

/* Final announcement admin editor geometry. Desktop toolbar stays on one compact row. */
body.theme-admin .announcement-rich-toolbar {
  flex-wrap:nowrap;
  min-width:0;
  overflow:visible;
}
body.theme-admin .announcement-rich-toolbar select[data-rich-command="fontName"] {
  flex:0 0 145px;
  max-width:145px;
  min-width:120px;
  width:145px !important;
}
body.theme-admin .announcement-rich-toolbar select[data-rich-command="fontSize"] {
  flex:0 0 80px;
  max-width:80px;
  min-width:70px;
  width:80px !important;
}
body.theme-admin .announcement-rich-toolbar > button,
body.theme-admin .announcement-rich-toolbar .announcement-color-control,
body.theme-admin .announcement-rich-toolbar .announcement-emoji-control {
  flex:0 0 auto;
  width:auto;
}
body.theme-admin .announcement-rich-toolbar .announcement-emoji-control > button { white-space:nowrap; }
body.theme-admin .announcement-rich-toolbar .announcement-color-control {
  align-items:center;
  cursor:pointer;
  display:inline-flex;
  flex:0 0 auto;
  gap:8px;
  min-width:max-content;
  padding:0 10px;
  white-space:nowrap;
  width:auto;
}
body.theme-admin .announcement-rich-toolbar .announcement-color-control > span {
  display:block;
  flex:0 0 auto;
  line-height:1;
  white-space:nowrap;
}
body.theme-admin .announcement-rich-toolbar .announcement-color-control > input[type="color"] {
  appearance:none;
  background:transparent;
  border:0;
  border-radius:4px;
  cursor:pointer;
  display:block;
  flex:0 0 18px;
  height:18px;
  margin:0;
  min-height:18px;
  padding:0;
  width:18px;
}
body.theme-admin .announcement-rich-toolbar .announcement-color-control > input[type="color"]::-webkit-color-swatch-wrapper { padding:0; }
body.theme-admin .announcement-rich-toolbar .announcement-color-control > input[type="color"]::-webkit-color-swatch {
  border:1px solid #cfd2d8;
  border-radius:4px;
}
body.theme-admin .announcement-admin-summary {
  align-items:center;
  display:flex;
  gap:18px;
  justify-content:space-between;
  min-height:58px;
  width:100%;
}
body.theme-admin .announcement-admin-summary-main { min-width:0; }
body.theme-admin .announcement-admin-summary h3 {
  font-size:16px;
  line-height:1.45;
  margin:0 0 7px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.theme-admin .announcement-admin-summary-meta {
  align-items:center;
  color:#73777f;
  display:flex;
  flex-wrap:wrap;
  font-size:13px;
  gap:8px 16px;
}
body.theme-admin .announcement-admin-summary-actions { align-items:center; display:flex; flex:0 0 auto; gap:12px; }
body.theme-admin .announcement-admin-summary-actions .text-button { margin:0; }
body.theme-admin .announcement-admin-edit-panel { border-top:1px solid #eceef1; margin-top:15px; padding-top:18px; }
body.theme-admin .announcement-admin-edit-panel[hidden] { display:none !important; }

@media (max-width: 760px) {
  body.theme-admin .announcement-rich-toolbar { flex-wrap:wrap; }
  body.theme-admin .announcement-rich-toolbar select[data-rich-command="fontName"] { flex:1 1 130px; max-width:none; width:auto !important; }
  body.theme-admin .announcement-rich-toolbar select[data-rich-command="fontSize"] { flex:0 0 78px; width:78px !important; }
  body.theme-admin .announcement-admin-summary { align-items:flex-start; }
  body.theme-admin .announcement-admin-summary-actions { gap:8px; }
}

@media (max-width: 480px) {
  body.theme-admin .announcement-admin-summary { flex-direction:column; gap:12px; }
  body.theme-admin .announcement-admin-summary-actions { align-self:stretch; justify-content:flex-end; }
}

/* Admin sidebar: fixed shell/footer with an independently scrolling menu. */
body.theme-admin .dashboard > .admin-sidebar,
body.theme-admin .dashboard.admin-layout > .admin-sidebar {
  min-height:0;
  overflow:hidden;
}
body.theme-admin .admin-sidebar-menu {
  align-items:stretch;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  flex-wrap:nowrap;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scroll-behavior:smooth;
  scrollbar-width:none;
  touch-action:pan-y;
  -ms-overflow-style:none;
}
body.theme-admin .admin-sidebar-menu > :is(a,details) {
  display:block;
  flex:0 0 auto;
  width:100%;
}
body.theme-admin .admin-sidebar-menu::-webkit-scrollbar {
  display:none;
  height:0;
  width:0;
}
body.theme-admin .admin-sidebar-user {
  flex:0 0 auto;
  flex-shrink:0;
  margin-top:12px;
}

/* Works bulk actions live at the viewport edge: keep controls aligned and
   open their pickers upward so no choice is hidden below the screen. */
body.theme-admin .admin-bulk-toolbar {
  align-items:center;
  box-sizing:border-box;
  gap:10px;
  /* The bar spans the content column, while the count anchors left and the
     action controls remain one compact group at the right. */
  justify-content:flex-start;
  left:calc(var(--admin-page-padding) + var(--admin-sidebar-width) + var(--admin-page-gap));
  max-width:none;
  right:var(--admin-page-padding);
  width:auto;
}
body.theme-admin .admin-bulk-toolbar > strong,
body.theme-admin .admin-bulk-toolbar > button,
body.theme-admin .admin-bulk-toolbar form,
body.theme-admin .admin-bulk-toolbar form > .button {
  align-items:center;
  display:inline-flex;
  line-height:20px;
  min-height:44px;
}
/* One component specification for every bulk action.  It is wide enough for
   “批量添加颜色”, so picker triggers cannot visually drift from action buttons. */
body.theme-admin .admin-bulk-toolbar > strong {
  flex:0 0 auto;
  height:44px;
  margin-right:auto;
  white-space:nowrap;
}
/* The shared admin-ui button reset below this file uses !important.  Keep the
   fixed bulk-action spec equally explicit so plain buttons and picker
   summaries cannot diverge. */
html body.admin-ui.theme-admin .admin-bulk-toolbar > button,
html body.admin-ui.theme-admin .admin-bulk-toolbar form > .button,
html body.admin-ui.theme-admin .admin-bulk-dropup > summary {
  align-items:center;
  border-radius:10px!important;
  box-sizing:border-box;
  font-size:14px!important;
  height:44px!important;
  justify-content:center;
  line-height:20px!important;
  margin:0!important;
  min-height:44px!important;
  min-width:0!important;
  padding:0 14px!important;
  width:auto!important;
}
/* Keep the existing submission boundaries while exposing their controls as
   individual flex items for one compact right-aligned action group. */
body.theme-admin .admin-bulk-toolbar form { display:contents; gap:10px; margin:0; }
body.theme-admin .admin-bulk-dropup-field { min-width:0; position:relative; }
body.theme-admin .admin-bulk-dropup { position:relative; }
body.theme-admin .admin-bulk-dropup > summary {
  align-items:center;
  background:#fff;
  border:1px solid #cfd5df;
  color:#344054;
  cursor:pointer;
  display:inline-flex!important;
  font:inherit;
  gap:8px;
  justify-content:center;
  list-style:none;
  padding:0 14px!important;
  white-space:nowrap;
}
body.theme-admin .admin-bulk-dropup > summary::-webkit-details-marker { display:none; }
/* The disclosure arrow is a normal flex item, so it cannot overlap the
   category/color label when the trigger uses its natural compact width. */
body.theme-admin .admin-bulk-dropup > summary::after { content:"⌃"; flex:0 0 auto; font-size:14px; line-height:20px; position:static; transform:none; }
body.theme-admin .admin-bulk-dropup[open] > summary::after { transform:rotate(180deg); }
body.theme-admin .admin-bulk-dropup-menu {
  background:#fff;
  border:1px solid #d0d5dd;
  border-radius:10px;
  bottom:calc(100% + 8px);
  box-shadow:0 12px 28px rgba(16,24,40,.18);
  display:grid;
  gap:2px;
  left:0;
  max-height:min(320px,calc(100vh - 116px));
  min-width:220px;
  overflow:auto;
  padding:6px;
  position:absolute;
  width:max-content;
  z-index:80;
}
body.theme-admin .admin-bulk-dropup-menu button {
  background:transparent;
  border:0;
  border-radius:7px;
  color:#344054;
  cursor:pointer;
  font:inherit;
  line-height:20px;
  padding:8px 10px;
  text-align:left;
  white-space:nowrap;
}
body.theme-admin .admin-bulk-dropup-menu button:hover,
body.theme-admin .admin-bulk-dropup-menu button:focus-visible { background:#f2f4f7; outline:0; }
body.theme-admin .admin-bulk-dropup-message { color:#b42318; display:block; font-size:12px; line-height:16px; max-width:160px; position:absolute; top:calc(100% + 3px); }

/* All first-level sidebar entries share one typographic rhythm; hierarchy is
   expressed by the smaller child links, never a larger active menu label. */
body.theme-admin .admin-sidebar-menu > a,
body.theme-admin .admin-sidebar-group > summary.admin-sidebar-group-toggle {
  font-size:14px!important;
  line-height:20px!important;
  min-height:40px;
  padding:9px 12px;
}
body.theme-admin .admin-sidebar .sidebar-subnav a { font-size:13px; line-height:18px; }

@media (max-width:760px) {
  body.theme-admin .admin-bulk-toolbar {
    bottom:12px;
    gap:8px;
    left:12px;
    max-width:none;
    right:12px;
  }
  body.theme-admin .admin-bulk-toolbar > strong { flex:1 0 100%; }
  body.theme-admin .admin-bulk-toolbar form { display:flex; flex:0 1 auto; justify-content:flex-start; }
  body.theme-admin .admin-bulk-dropup-field { flex:0 0 auto; }
  body.theme-admin .admin-bulk-dropup-menu { max-width:calc(100vw - 48px); min-width:min(220px,calc(100vw - 48px)); width:100%; }
}

@media (max-width: 760px) {
  /* Keep the left-side category visible so the right-aligned public price
     remains part of a real metadata row on narrow store cards. */
  body.theme-white:not(.theme-admin) .home-page-shell .design-work-section .home-work-category {
    display:block;
  }

  body.theme-admin .dashboard > .admin-sidebar > .admin-sidebar-menu,
  body.theme-admin .dashboard.admin-layout > .admin-sidebar > .admin-sidebar-menu {
    display:none!important;
  }
  body.theme-admin .admin-mobile-nav-drawer {
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  body.theme-admin .admin-mobile-nav-head { flex:0 0 auto; }
  body.theme-admin .admin-mobile-nav-drawer > nav {
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:none;
    touch-action:pan-y;
    -ms-overflow-style:none;
  }
  body.theme-admin .admin-mobile-nav-drawer > nav::-webkit-scrollbar {
    display:none;
    height:0;
    width:0;
  }
}

/* Keep the banner-spec fallback aligned with the public desktop/mobile frames.
   admin-ui.css intentionally keeps the actual authoring boxes compact. */
body.theme-admin [data-banner-variant="desktop"] .banner-upload-preview,
body.theme-admin [data-banner-variant="desktop"] .banner-upload-preview.has-image { aspect-ratio:6 / 1; }
body.theme-admin [data-banner-variant="mobile"] .banner-upload-preview,
body.theme-admin [data-banner-variant="mobile"] .banner-upload-preview.has-image { aspect-ratio:5 / 3; }
/* The dropzone owns the frame while empty; after selection its preview fills
   exactly the same frame.  Keep the two authoring frames faithful to the
   public desktop/mobile presentation ratios rather than the old shared 16:9. */
body.theme-admin .home-banner-editor [data-banner-variant="desktop"] .banner-upload-dropzone { aspect-ratio:6 / 1; min-height:0; }
body.theme-admin .home-banner-editor [data-banner-variant="mobile"] .banner-upload-dropzone { aspect-ratio:5 / 3; min-height:0; }
body.theme-admin .home-banner-editor [data-banner-variant="mobile"].banner-image-upload { max-width:680px; width:100%; }
body.theme-admin .home-banner-editor [data-banner-variant] .banner-upload-preview.has-image { aspect-ratio:auto; height:100%; min-height:0; width:100%; }
body.theme-admin .home-banner-editor [data-banner-variant] .banner-upload-preview.has-image img { height:100%; object-fit:cover; width:100%; }
body.theme-admin .banner-image-fields { display:grid; gap:14px; }
body.theme-admin .banner-safe-area-hint,
body.theme-admin .banner-mobile-fallback-hint,
body.theme-admin .banner-ratio-error { color:#667085; display:block; line-height:1.5; }
body.theme-admin .banner-ratio-error { color:#b42318; }

/* Album media uses its own responsive Masonry engine. It stays separate from
   storefront work masonry so the two views never share positioning state. */
body.theme-white:not(.theme-admin) .album-page .album-media-grid {
  --album-masonry-gap:18px;
  column-count:initial !important;
  column-gap:normal !important;
  display:block !important;
  height:auto !important;
  min-width:0;
  position:relative;
  width:100%;
}
body.theme-white:not(.theme-admin) .album-page .album-media-grid .album-image-card,
body.theme-white:not(.theme-admin) .album-page .album-media-grid.is-masonry-ready .album-image-card {
  aspect-ratio:auto !important;
  break-inside:avoid;
  box-sizing:border-box;
  display:inline-block !important;
  height:auto !important;
  margin:0 0 var(--album-masonry-gap) !important;
  max-width:none;
  min-width:0;
  position:relative !important;
  width:100%;
}
body.theme-white:not(.theme-admin) .album-page .album-media-grid.is-masonry-ready .album-image-card {
  left:0;
  margin:0 !important;
  position:absolute !important;
  top:0;
}
body.theme-white:not(.theme-admin) .album-page .album-media-grid .album-image-card :is(img, video) {
  aspect-ratio:auto !important;
  display:block;
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  object-fit:contain !important;
  width:100%;
}
@media (max-width:700px) {
  body.theme-white:not(.theme-admin) .album-page .album-media-grid {
    --album-masonry-gap:12px;
  }
  body.theme-white:not(.theme-admin) .album-page .album-media-grid .album-image-card,
  body.theme-white:not(.theme-admin) .album-page .album-media-grid.is-masonry-ready .album-image-card {
    max-width:none;
  }
}
