.digital-checkout__country-picker { position: relative; display: grid; min-width: 0; gap: 7px; }.digital-checkout__field-label { color: var(--ink); font-size: .82rem; font-weight: 820; }.digital-checkout__country-trigger { display: flex; width: 100%; min-height: var(--ui-control-height); align-items: center; justify-content: space-between; padding: 0 40px 0 13px; border: 1px solid var(--line); border-radius: 6px; outline: none; background: var(--theme-surface-input, var(--white)); color: var(--ink); font: inherit; font-weight: 650; text-align: left; cursor: pointer; }.digital-checkout__country-trigger::after { position: absolute; right: 14px; content: '⌄'; color: var(--slate); font-size: 1.1rem; pointer-events: none; }.digital-checkout__country-trigger:focus-visible, .digital-checkout__country-trigger[aria-expanded="true"] { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 20%, transparent); }.digital-checkout__country-panel { position: absolute; z-index: 20; top: calc(100% + 7px); right: 0; left: 0; display: grid; gap: 10px; max-height: 330px; padding: 12px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface, var(--white)); box-shadow: 0 18px 38px rgba(11,17,32,.18); }.digital-checkout__country-panel[hidden] { display: none; }.digital-checkout__country-search { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); padding: 0 12px; border: 1px solid var(--line); border-radius: 5px; outline: none; background: var(--theme-surface-input, var(--paper)); color: var(--ink); font: inherit; }.digital-checkout__country-search:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 20%, transparent); }.digital-checkout__country-results { display: grid; gap: 12px; overflow: auto; padding-right: 3px; color: var(--slate); font-size: .78rem; }.digital-checkout__country-group { display: grid; gap: 4px; }.digital-checkout__country-group > p { margin: 0; padding: 3px 4px; color: var(--teal-deep); font-size: .68rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }.digital-checkout__country-option { width: 100%; min-height: 34px; padding: 6px 8px; border: 0; border-radius: 5px; background: transparent; color: var(--ink); font: inherit; font-size: .8rem; font-weight: 700; text-align: left; cursor: pointer; }.digital-checkout__country-option:hover, .digital-checkout__country-option:focus-visible, .digital-checkout__country-option[aria-selected="true"] { outline: none; background: color-mix(in srgb, var(--teal-deep) 11%, var(--paper)); color: var(--ink); }.theme-logo-dark .digital-checkout__country-trigger, .theme-logo-dark .digital-checkout__country-search { border-color: var(--line); background: var(--theme-surface-input); color: var(--ink); }.theme-logo-dark .digital-checkout__country-panel { border-color: var(--line); background: var(--theme-surface); box-shadow: 0 18px 38px rgba(0,0,0,.42); }.theme-logo-dark .digital-checkout__country-option:hover, .theme-logo-dark .digital-checkout__country-option:focus-visible, .theme-logo-dark .digital-checkout__country-option[aria-selected="true"] { background: color-mix(in srgb, var(--teal) 15%, var(--theme-surface-muted)); }

.admin-delivery-zone { display: grid; gap: var(--ui-space-standard); padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--paper-deep)); }.admin-delivery-zone > .admin-listing-toggle { margin: 0; }.admin-delivery-zone > label:not(.admin-listing-toggle) { margin: 0; }.theme-logo-dark .admin-delivery-zone { border-color: var(--line); background: var(--theme-surface-muted); }

.product-detail__marketplace-fallback { display: grid; gap: 9px; max-width: 420px; margin-top: 18px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 8px; background: color-mix(in srgb, var(--paper-deep, var(--white)) 86%, var(--teal) 14%); color: var(--slate); font-size: .78rem; }.product-detail__marketplace-fallback > strong { color: var(--ink); }.product-detail__marketplace-fallback > div { display: flex; flex-wrap: wrap; gap: 8px 14px; }.product-detail__marketplace-fallback a { color: var(--ink); font-weight: 780; text-decoration: underline; text-underline-offset: 3px; }.theme-logo-dark .product-detail__marketplace-fallback { border-color: var(--line); background: color-mix(in srgb, var(--theme-surface-muted) 84%, var(--teal) 16%); }

.product-card__image, .gallery-card__link { position: relative; }.listing-card__featured { position: absolute; z-index: 1; top: 12px; left: 12px; display: inline-flex; min-height: 25px; align-items: center; padding: 4px 8px; border-radius: 4px; background: var(--orange); color: var(--white); box-shadow: 0 2px 8px rgba(0,0,0,.22); font-size: .63rem; font-weight: 900; letter-spacing: .07em; line-height: 1; text-transform: uppercase; }

.quote-form-details { padding-top: 1px; }.quote-attachments { padding: 15px; border: 1px dashed #4b5d78; border-radius: 7px; background: rgba(8,16,31,.18); }.quote-attachments input[type="file"] { height: auto !important; padding: 10px !important; cursor: pointer; }.quote-attachments small { color: #9aa9c0; font-size: .72rem; font-weight: 600; line-height: 1.45; }.theme-logo-dark .quote-attachments { border-color: #4e585e; background: #1a1e21; }.theme-logo-dark .quote-attachments small { color: #aeb6bc; }

.quote-panel .quote-attachments { padding: 16px; border: 1px dashed #4b5d78; border-radius: 8px; background: rgba(8,16,31,.18); }.quote-attachments legend { margin-bottom: 11px !important; }.quote-attachments legend span { color: #8b9ab4; font-weight: 600; }.quote-attachments__dropzone { display: grid; min-height: 126px; place-items: center; align-content: center; gap: 7px; padding: 18px; border: 1px dashed #60718d; border-radius: 6px; background: rgba(23,34,56,.62); color: #dce4f0; cursor: pointer; text-align: center; transition: border-color .2s ease, background .2s ease; }.quote-attachments__dropzone:hover, .quote-attachments__dropzone:focus-visible, .quote-attachments__dropzone.is-dragover { border-color: var(--teal); background: rgba(71,230,204,.1); outline: none; }.quote-attachments__dropzone strong { font-size: .86rem; }.quote-attachments__dropzone > span:not(.quote-attachments__browse) { color: #9aa9c0; font-size: .73rem; font-weight: 600; }.quote-attachments__browse { display: inline-flex; min-height: 34px; align-items: center; padding: 0 13px; border: 1px solid #5e718f; border-radius: 5px; color: #eef5ff; font-size: .74rem; font-weight: 820; }.quote-attachments__dropzone:hover .quote-attachments__browse, .quote-attachments__dropzone:focus-visible .quote-attachments__browse, .quote-attachments__dropzone.is-dragover .quote-attachments__browse { border-color: var(--teal); color: var(--teal); }.quote-attachments__input { margin-top: 12px; }.quote-attachments.is-enhanced .quote-attachments__input { position: absolute; width: 1px !important; height: 1px !important; margin: -1px; padding: 0 !important; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }.quote-attachments small { display: block; margin-top: 12px; }.quote-attachments__list { display: grid; gap: 7px; margin: 13px 0 0; padding: 0; list-style: none; }.quote-attachments__item { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 11px; border: 1px solid #3d4d67; border-radius: 5px; background: rgba(11,20,35,.55); }.quote-attachments__item > div { display: grid; min-width: 0; gap: 2px; }.quote-attachments__item strong { overflow: hidden; color: #e7edf6; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }.quote-attachments__item span { color: #9aa9c0; font-size: .68rem; font-weight: 650; }.quote-attachments__item button { flex: 0 0 auto; padding: 0; border: 0; background: transparent; color: #ffb9a8; font: inherit; font-size: .72rem; font-weight: 820; cursor: pointer; }.quote-attachments__item button:hover, .quote-attachments__item button:focus-visible { color: #ffd4ca; text-decoration: underline; outline: none; }.quote-attachments__status { min-height: 18px; margin: 10px 0 0; color: #a9ecdf; font-size: .72rem; font-weight: 650; line-height: 1.4; }.quote-attachments__status.is-error { color: #ffc0b2; }.theme-logo-dark .quote-panel .quote-attachments { border-color: #4e585e; background: #1a1e21; }.theme-logo-dark .quote-attachments__dropzone { border-color: #566067; background: #141719; color: #edf0f2; }.theme-logo-dark .quote-attachments__dropzone:hover, .theme-logo-dark .quote-attachments__dropzone:focus-visible, .theme-logo-dark .quote-attachments__dropzone.is-dragover { border-color: var(--teal); background: #29231d; }.theme-logo-dark .quote-attachments__item { border-color: #41484d; background: #202529; }.theme-logo-dark .quote-attachments__item strong { color: #f1f3f4; }.theme-logo-dark .quote-attachments__item span { color: #aeb6bc; }.theme-logo-dark .quote-attachments__browse { border-color: #596268; color: #edf0f2; }
@media (max-width: 520px) { .quote-panel .quote-attachments { padding: 13px; }.quote-attachments__dropzone { min-height: 112px; padding: 15px; }.quote-attachments__item { align-items: start; }.quote-attachments__item button { padding-top: 2px; } }

@media (min-width: 721px) { .site-header .nav-menu__client-portal > summary { min-height: 22px; padding-top: 0; padding-bottom: 0; } }

.admin-quote-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }.admin-quote-filters a { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 5px; color: #43516a; font-size: .75rem; font-weight: 800; }.admin-quote-filters a span { display: inline-grid; min-width: 18px; min-height: 18px; padding: 0 5px; border-radius: 99px; background: var(--paper-deep); color: var(--slate); font-size: .65rem; place-items: center; }.admin-quote-filters a:hover, .admin-quote-filters a.is-active { border-color: var(--teal-deep); background: rgba(24,185,160,.08); color: var(--teal-deep); }.admin-quote-filters a.is-active span { background: var(--teal-deep); color: var(--white); }.admin-quote-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }.admin-quote-card { display: flex; min-width: 0; min-height: 238px; flex-direction: column; justify-content: space-between; gap: 22px; padding: 21px; border: 1px solid #d7dde3; border-radius: 12px; background: var(--white); }.admin-quote-card__status { display: inline-flex; margin-bottom: 13px; padding: 4px 7px; border-radius: 99px; background: #d6f4ee; color: #123a42; font-size: .64rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.admin-quote-card__status--in_progress { background: #e1eaf9; color: #244c7a; }.admin-quote-card__status--replied { background: #efe3f8; color: #5f3976; }.admin-quote-card__status--closed { background: #edf0f3; color: #6c7785; }.admin-quote-card .eyebrow { margin-bottom: 8px; }.admin-quote-card h3 { overflow: hidden; margin: 0 0 6px; font-size: 1.14rem; text-overflow: ellipsis; white-space: nowrap; }.admin-quote-card > div > a { overflow: hidden; display: block; color: #43516a; font-size: .78rem; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }.admin-quote-card > div > p:not(.eyebrow) { min-height: 34px; margin: 14px 0 8px; color: var(--slate); font-size: .76rem; line-height: 1.45; }.admin-quote-card__date { color: #7c899c; font-size: .7rem; font-weight: 650; }.admin-quote-card footer { padding-top: 14px; border-top: 1px solid var(--line); }.admin-quote-card footer a { color: var(--teal-deep); font-size: .78rem; font-weight: 850; }.admin-quote-card footer a:hover, .admin-quote-card > div > a:hover { color: var(--orange); }.admin-quote-editor { display: grid; gap: 26px; }.admin-quote-details { display: grid; gap: 21px; }.admin-quote-details dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; }.admin-quote-details dl > div { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }.admin-quote-details dt { margin-bottom: 5px; color: var(--slate); font-size: .65rem; font-weight: 820; letter-spacing: .07em; text-transform: uppercase; }.admin-quote-details dd { overflow-wrap: anywhere; margin: 0; color: var(--ink); font-size: .8rem; font-weight: 740; line-height: 1.45; }.admin-quote-details dd a { color: var(--teal-deep); }.admin-quote-details section { padding: 16px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }.admin-quote-details h3 { margin: 0 0 8px; font-size: .84rem; }.admin-quote-details section > p { margin: 0; color: var(--slate); font-size: .8rem; line-height: 1.6; }.admin-quote-editor__form { padding-top: 2px; border-top: 1px solid var(--line); }.admin-quote-attachments { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }.admin-quote-attachments li { display: flex; min-width: 0; justify-content: space-between; gap: 12px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 5px; background: var(--white); }.admin-quote-attachments strong { overflow: hidden; color: var(--ink); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }.admin-quote-attachments span, .admin-quote-attachment-note { color: var(--slate) !important; font-size: .69rem !important; }.admin-quote-attachment-note { margin-top: 10px !important; }.admin-quote-delete { position: relative; justify-self: start; margin: 0; }.admin-quote-delete > button { padding: 0; border: 0; background: transparent; color: #b23d2c; font: inherit; font-size: .77rem; font-weight: 850; cursor: pointer; }.admin-quote-delete > button:hover { color: #7e2218; text-decoration: underline; }.theme-logo-dark .admin-quote-filters a { border-color: #454d52; color: #d6dce0; }.theme-logo-dark .admin-quote-filters a span { background: #343b40; color: #b6bec4; }.theme-logo-dark .admin-quote-filters a:hover, .theme-logo-dark .admin-quote-filters a.is-active { border-color: var(--teal); background: #29231d; color: var(--teal); }.theme-logo-dark .admin-quote-filters a.is-active span { background: var(--teal); color: #171a1c; }.theme-logo-dark .admin-quote-card { border-color: #41484d; background: #252a2d; }.theme-logo-dark .admin-quote-card__status { background: #263b38; color: #bdf0e8; }.theme-logo-dark .admin-quote-card__status--in_progress { background: #263443; color: #bcd7fa; }.theme-logo-dark .admin-quote-card__status--replied { background: #392e43; color: #e0c8f5; }.theme-logo-dark .admin-quote-card__status--closed { background: #343b40; color: #b6bec4; }.theme-logo-dark .admin-quote-card > div > a { color: #d6dce0; }.theme-logo-dark .admin-quote-card > div > p:not(.eyebrow), .theme-logo-dark .admin-quote-card__date { color: #aeb6bc; }.theme-logo-dark .admin-quote-card footer { border-color: #41484d; }.admin-quote-card footer a, .admin-quote-details dd a { color: var(--teal); }.theme-logo-dark .admin-quote-details dl > div, .theme-logo-dark .admin-quote-details section { border-color: #41484d; background: #202529; }.theme-logo-dark .admin-quote-details dt, .theme-logo-dark .admin-quote-details section > p, .theme-logo-dark .admin-quote-attachments span, .theme-logo-dark .admin-quote-attachment-note { color: #aeb6bc !important; }.theme-logo-dark .admin-quote-details dd, .theme-logo-dark .admin-quote-details h3, .theme-logo-dark .admin-quote-attachments strong { color: #f1f3f4; }.theme-logo-dark .admin-quote-editor__form { border-color: #41484d; }.theme-logo-dark .admin-quote-attachments li { border-color: #454d52; background: #252a2d; }.theme-logo-dark .admin-quote-delete > button { color: #ffc1b6; }.theme-logo-dark .admin-quote-delete > button:hover { color: #ffd4ca; }
@media (max-width: 960px) { .admin-quote-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-quote-details dl { grid-template-columns: repeat(2, minmax(0, 1fr)); } }@media (max-width: 720px) { .admin-quote-grid, .admin-quote-details dl { grid-template-columns: 1fr; }.admin-quote-card { min-height: 0; }.admin-quote-attachments li { align-items: start; flex-direction: column; gap: 4px; } }

.admin-search-verification { align-items: start; }.admin-search-verification__form { align-content: start; }.admin-search-verification__form code, .admin-search-verification > div code { padding: 1px 4px; border-radius: 3px; background: rgba(22,35,58,.08); color: #33455f; font: inherit; font-size: .75rem; }.admin-search-verification__links { display: flex; flex-wrap: wrap; gap: 13px; }.admin-search-verification__links a { color: #43516a; font-size: .76rem; font-weight: 820; text-decoration: underline; text-underline-offset: 3px; }.admin-search-verification__links a:hover { color: var(--teal-deep); }.theme-logo-dark .admin-search-verification__form code, .theme-logo-dark .admin-search-verification > div code { background: #171a1c; color: #d6dce0; }.theme-logo-dark .admin-search-verification__links a { color: #d6dce0; }.theme-logo-dark .admin-search-verification__links a:hover { color: var(--teal); }@media (max-width: 720px) { .admin-search-verification__links { display: grid; gap: 8px; } }

.expectations-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }.expectation-card { min-height: 210px; padding: 24px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }.expectation-card .eyebrow { margin-bottom: 20px; color: var(--orange); }.expectation-card h3 { margin-bottom: 10px; font-size: 1.26rem; }.expectation-card > p:last-child { margin: 0; color: var(--slate); font-size: .86rem; line-height: 1.55; }.faq-layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(34px, 7vw, 90px); margin-top: 78px; }.faq-layout__intro { padding-top: 7px; }.faq-layout__intro h2 { margin-bottom: 18px; font-size: clamp(2.15rem, 4vw, 3.5rem); }.faq-layout__intro > p:not(.eyebrow) { max-width: 410px; margin-bottom: 23px; color: var(--slate); line-height: 1.6; }.faq-list { border-top: 1px solid var(--line); }.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 20px 0; color: var(--ink); cursor: pointer; font-size: 1rem; font-weight: 820; list-style: none; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary::after { flex: 0 0 auto; color: var(--teal-deep); content: "+"; font-size: 1.45rem; font-weight: 500; line-height: 1; }.faq-list details[open] summary::after { content: "−"; }.faq-list details p { max-width: 650px; margin: -4px 38px 20px 0; color: var(--slate); font-size: .9rem; line-height: 1.6; }.faq-list summary:hover, .faq-list summary:focus-visible { color: var(--teal-deep); outline: none; }.faq-list summary:focus-visible { box-shadow: 0 0 0 3px rgba(24,185,160,.16); }.theme-logo-dark .expectation-card { border-color: #41484d; background: #252a2d; }.theme-logo-dark .expectation-card > p:last-child, .theme-logo-dark .faq-layout__intro > p:not(.eyebrow), .theme-logo-dark .faq-list details p { color: #c3c9cd; }.theme-logo-dark .faq-list, .theme-logo-dark .faq-list details { border-color: #40474c; }.theme-logo-dark .faq-list summary { color: #f1f3f4; }.theme-logo-dark .faq-list summary:hover, .theme-logo-dark .faq-list summary:focus-visible { color: var(--teal); }.theme-logo-dark .faq-list summary:focus-visible { box-shadow: 0 0 0 3px rgba(255,105,0,.2); }
@media (max-width: 960px) { .expectations-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.faq-layout { gap: 45px; } }
@media (max-width: 720px) { .expectations-grid, .faq-layout { grid-template-columns: 1fr; }.expectation-card { min-height: 0; }.faq-layout { gap: 37px; margin-top: 54px; }.faq-list summary { padding: 17px 0; font-size: .94rem; }.faq-list details p { margin-right: 0; font-size: .86rem; } }

.admin-listing-status { align-items: start !important; grid-template-columns: minmax(175px, .85fr) minmax(0, 2.15fr) !important; display: grid !important; }.admin-listing-status__controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }.admin-listing-status .admin-listing-toggle { max-width: none; }.admin-listing-schedule { display: grid; gap: 7px; color: #26354e; font-size: .8rem; font-weight: 800; }.admin-listing-schedule > span { color: #7c899c; font-size: .68rem; font-weight: 650; line-height: 1.35; }.admin-listing-schedule input { min-width: 0; }.admin-item__status--scheduled { background: #fff1c7; color: #76580e; }.admin-item__featured { position: absolute; z-index: 1; top: 10px; left: 10px; padding: 5px 7px; border-radius: 4px; background: var(--orange); color: var(--white); box-shadow: 0 2px 8px rgba(0,0,0,.2); font-size: .6rem; font-weight: 900; letter-spacing: .06em; line-height: 1; text-transform: uppercase; }.admin-item__schedule { display: block; margin: -1px 0 11px; color: #76580e; font-size: .71rem; font-weight: 750; line-height: 1.4; }.admin-item__duplicate { color: #33455f !important; }.admin-item__duplicate:hover, .admin-item__duplicate:focus-visible { color: var(--teal-deep) !important; text-decoration: underline; outline: none; }.theme-logo-dark .admin-listing-schedule { color: #f1f3f4; }.theme-logo-dark .admin-listing-schedule > span { color: #aeb6bc; }.theme-logo-dark .admin-item__status--scheduled { background: #3b341d; color: #ffe08a; }.theme-logo-dark .admin-item__schedule { color: #ffe08a; }.theme-logo-dark .admin-item__duplicate { color: #d6dce0 !important; }.theme-logo-dark .admin-item__duplicate:hover, .theme-logo-dark .admin-item__duplicate:focus-visible { color: var(--teal) !important; }
.admin-form[data-listing-editor] > .admin-listing-status + .admin-etsy-import { margin-top: -8px; }.admin-form[data-listing-editor] > .admin-etsy-import + .admin-form__grid--product-basics { margin-top: -14px; }
@media (max-width: 960px) { .admin-listing-status__controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-listing-schedule { grid-column: 1 / -1; } }
@media (max-width: 720px) { .admin-listing-status { grid-template-columns: 1fr !important; }.admin-listing-status__controls { grid-template-columns: 1fr; }.admin-listing-schedule { grid-column: auto; } }

.admin-form__grid--product-basics { align-items: start; }.admin-form .admin-product-category__label { margin-bottom: 10px; }
.admin-form .admin-product-category__options label.is-automatic { cursor: default; }.admin-form .admin-product-category__options input[type="checkbox"]:disabled { cursor: not-allowed; opacity: .7; }
@media (max-width: 720px) { .site-header .nav-wrap { min-height: auto; padding: 11px 0 12px; flex-wrap: wrap; gap: 10px; }.site-header .nav-menu { position: static; display: grid; width: 100%; order: 3; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 13px; }.site-header .nav-menu > a { display: flex; min-height: 30px; align-items: center; justify-content: center; padding: 5px 2px; color: #d9dfeb; font-size: .72rem; font-weight: 720; line-height: 1.2; text-align: center; white-space: nowrap; }.site-header .nav-menu > a:hover, .site-header .nav-menu > a.is-active { color: var(--teal); } }

/* Public navigation: desktop remains inline; small screens use a clear,
   touch-friendly hamburger that reveals the same menu in document flow. */
.nav-menu-toggle { display: none; }
@media (max-width: 720px) {
    .site-header .nav-wrap { align-items: center; }
    .site-header .nav-menu-toggle { display: grid; order: 2; width: 42px; height: 38px; margin-left: auto; padding: 0; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-header-bg, var(--ink)); cursor: pointer; place-content: center; gap: 5px; }
    .nav-menu-toggle__line { display: block; width: 19px; height: 2px; border-radius: 99px; background: var(--theme-header-text, var(--white)); transition: transform .18s ease, opacity .18s ease; }
    .nav-menu-toggle[aria-expanded="true"] .nav-menu-toggle__line:nth-of-type(2) { transform: translateY(7px) rotate(45deg); }
    .nav-menu-toggle[aria-expanded="true"] .nav-menu-toggle__line:nth-of-type(3) { opacity: 0; }
    .nav-menu-toggle[aria-expanded="true"] .nav-menu-toggle__line:nth-of-type(4) { transform: translateY(-7px) rotate(-45deg); }
    .site-header .nav-menu { display: none; order: 4; grid-template-columns: 1fr; flex-basis: 100%; gap: 3px; margin: 2px 0 0; padding: 8px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-header-bg, var(--ink)); box-shadow: 0 16px 30px rgba(0,0,0,.24); }
    .site-header .nav-menu.is-open { display: grid; }
    .site-header .nav-menu > a { min-height: 38px; justify-content: flex-start; padding: 8px 10px; border-radius: 5px; font-size: .82rem; text-align: left; }
    .site-header .nav-menu > .nav-menu__group { width: 100%; }
    .site-header .nav-menu__group > summary { min-height: 38px; justify-content: space-between !important; width: 100%; padding: 8px 10px; border-radius: 5px; font-size: .82rem; }
    .site-header .nav-menu__dropdown { position: static !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important; width: auto !important; max-height: none !important; margin: 0 0 4px; border-color: color-mix(in srgb, var(--theme-header-text, #d9dfeb) 17%, transparent); border-radius: 6px; box-shadow: none; }
    .site-header .nav-menu__subgroup > summary { min-height: 36px; justify-content: space-between; }
    .site-header .nav-menu__subdropdown { position: static; width: auto; margin: 0 0 3px; }
    /* Client Portal is injected after the saved public navigation. Keep it in
       the same document-flow menu contract on phones rather than letting its
       project list inherit desktop dropdown positioning. */
    .site-header .nav-menu > .nav-menu__client-portal { display: block; order: 20; width: 100%; min-width: 0; }
    .site-header .nav-menu__client-portal > .nav-menu__dropdown { display: none; }
    .site-header .nav-menu__client-portal[open] > .nav-menu__dropdown { display: grid; }
    .site-header .nav-menu__client-portal .nav-menu__client-project-link { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; }
    .site-header .nav-menu__client-portal .nav-menu__client-project-link > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .site-header .site-header__basket { order: 3; margin-left: 0; }
}

/* Phase A admin UI primitives. These are intentionally scoped until pages migrate to them. */
.admin-ui-field { display: grid; gap: var(--admin-space-tight); min-width: 0; color: var(--ink); font-size: .81rem; font-weight: 800; }.admin-ui-field__label { color: var(--ink); }.admin-ui-field__qualifier { color: var(--slate); font-style: normal; font-weight: 650; }.admin-ui-control { width: 100%; min-width: 0; min-height: var(--admin-control-height); padding: 0 11px; border: 1px solid var(--line); border-radius: 5px; outline: none; background: var(--theme-surface, var(--white)); color: var(--ink); font: inherit; font-size: .91rem; }.admin-ui-field textarea.admin-ui-control { min-height: var(--admin-control-height); padding: 11px; resize: vertical; }.admin-ui-control:focus-visible { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(24,185,160,.13); }.admin-ui-field__help { color: var(--slate); font-size: .72rem; font-weight: 650; line-height: 1.45; }.admin-ui-field--inline { grid-template-columns: minmax(150px, .45fr) minmax(0, 1fr); align-items: start; padding-top: var(--admin-space-compact); border-top: 1px solid var(--line); }.admin-ui-field--inline > .admin-ui-field__label { padding-top: 12px; }.admin-ui-field__control { display: grid; gap: var(--admin-space-tight); min-width: 0; }.admin-ui-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--admin-space-compact); }.admin-ui-button--compact { min-height: var(--admin-control-height-compact); padding: 5px 9px; border: 1px solid var(--line); border-radius: 4px; background: var(--theme-surface, var(--white)); color: var(--teal-deep); font: inherit; font-size: .72rem; font-weight: 850; }.admin-ui-button--compact:hover, .admin-ui-button--compact:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); outline: none; }.admin-ui-reference { display: grid; gap: var(--admin-space-standard); }.admin-ui-reference__section, .admin-ui-reference__panel { display: grid; gap: var(--admin-space-section); padding: var(--admin-space-major); border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); box-shadow: 0 12px 32px rgba(11,17,32,.08); }.admin-ui-reference__section-heading { max-width: 760px; }.admin-ui-reference__section-heading h2, .admin-ui-reference__panel h2 { margin: 0; color: var(--ink); font-size: 1.45rem; }.admin-ui-reference__section-heading p:not(.eyebrow), .admin-ui-reference__panel > p:not(.eyebrow) { margin: 0; color: var(--slate); font-size: .83rem; line-height: 1.5; }.admin-ui-reference__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--admin-space-standard); align-items: start; }.admin-ui-reference__choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--admin-space-standard); }.admin-ui-check-row, .admin-ui-toggle-row { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: var(--admin-space-compact); padding: var(--admin-space-compact); border: 1px solid var(--line); border-radius: 7px; background: var(--paper); color: var(--ink); }.admin-ui-check-row { justify-content: flex-start; }.admin-ui-check-row input { flex: 0 0 auto; width: var(--admin-checkbox-size); height: var(--admin-checkbox-size); margin: 0; accent-color: var(--teal-deep); }.admin-ui-check-row span, .admin-ui-toggle-row > span { display: grid; gap: var(--admin-space-micro); min-width: 0; }.admin-ui-check-row strong, .admin-ui-toggle-row strong { font-size: .79rem; }.admin-ui-check-row small, .admin-ui-toggle-row small { color: var(--slate); font-size: .71rem; line-height: 1.4; }.admin-ui-toggle { position: relative; flex: 0 0 auto; width: var(--admin-toggle-width); height: var(--admin-toggle-height); margin: 0; appearance: none; border: 1px solid var(--line); border-radius: 99px; background: #a9b1b8; transition: background .15s ease, border-color .15s ease; }.admin-ui-toggle::after { position: absolute; top: 2px; left: 2px; width: var(--admin-toggle-thumb); height: var(--admin-toggle-thumb); border-radius: 50%; background: var(--white); box-shadow: 0 1px 2px rgba(0,0,0,.22); content: ''; transition: transform .15s ease; }.admin-ui-toggle:checked { border-color: var(--teal-deep); background: var(--teal-deep); }.admin-ui-toggle:checked::after { transform: translateX(20px); }.admin-ui-toggle:focus-visible { outline: 3px solid rgba(24,185,160,.24); outline-offset: 2px; }.admin-ui-reference__workspace, .admin-ui-reference__section-panel { display: grid; gap: var(--admin-space-standard); }.admin-ui-reference__workspace.admin-panel-layout--flow, .admin-ui-reference__section-panel.admin-panel-layout--flow { gap: 0; }.admin-ui-reference__workspace .admin-dashboard-panel, .admin-ui-reference__section-panel .admin-dashboard-panel { margin: 0; }.admin-ui-popover-wrap { position: relative; }.admin-ui-popover { position: absolute; z-index: 12; top: calc(100% + var(--admin-space-tight)); left: 0; display: grid; gap: var(--admin-space-compact); width: min(300px, calc(100vw - 48px)); padding: var(--admin-space-compact); border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface, var(--white)); box-shadow: 0 12px 28px rgba(11,17,32,.18); }.admin-ui-popover p { margin: 0; color: var(--slate); font-size: .74rem; line-height: 1.45; }.admin-ui-action-rail { position: sticky; bottom: var(--admin-space-standard); z-index: 4; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--admin-space-compact); padding: var(--admin-space-compact); border: 1px solid var(--line); border-radius: 8px; background: color-mix(in srgb, var(--theme-surface, var(--white)) 94%, transparent); box-shadow: 0 10px 22px rgba(11,17,32,.12); backdrop-filter: blur(8px); }.admin-ui-action-rail > span { color: var(--slate); font-size: .72rem; font-weight: 800; }.admin-ui-dialog { width: min(520px, calc(100vw - 48px)); padding: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--theme-surface, var(--white)); color: var(--ink); box-shadow: 0 24px 64px rgba(11,17,32,.3); }.admin-ui-dialog::backdrop { background: rgba(11,17,32,.52); }.admin-ui-dialog > div:first-child { display: grid; gap: var(--admin-space-compact); padding: var(--admin-space-major); }.admin-ui-dialog h2 { margin: 0; font-size: 1.45rem; }.admin-ui-dialog p:not(.eyebrow) { margin: 0; color: var(--slate); }.admin-ui-dialog > .admin-ui-actions { justify-content: flex-end; padding: var(--admin-space-compact) var(--admin-space-major); border-top: 1px solid var(--line); background: var(--paper); }.theme-logo-dark .admin-ui-field, .theme-logo-dark .admin-ui-field__label, .theme-logo-dark .admin-ui-reference__section-heading h2, .theme-logo-dark .admin-ui-reference__panel h2, .theme-logo-dark .admin-ui-check-row, .theme-logo-dark .admin-ui-toggle-row, .theme-logo-dark .admin-ui-dialog { color: #f1f3f4; }.theme-logo-dark .admin-ui-control, .theme-logo-dark .admin-ui-reference__section, .theme-logo-dark .admin-ui-reference__panel, .theme-logo-dark .admin-ui-check-row, .theme-logo-dark .admin-ui-toggle-row, .theme-logo-dark .admin-ui-popover, .theme-logo-dark .admin-ui-dialog { border-color: #454d52; background: #202529; }.theme-logo-dark .admin-ui-check-row, .theme-logo-dark .admin-ui-toggle-row, .theme-logo-dark .admin-ui-dialog > .admin-ui-actions { background: #171a1c; }.theme-logo-dark .admin-ui-control { color: #f1f3f4; }.theme-logo-dark .admin-ui-field__qualifier, .theme-logo-dark .admin-ui-field__help, .theme-logo-dark .admin-ui-reference__section-heading p:not(.eyebrow), .theme-logo-dark .admin-ui-reference__panel > p:not(.eyebrow), .theme-logo-dark .admin-ui-check-row small, .theme-logo-dark .admin-ui-toggle-row small, .theme-logo-dark .admin-ui-popover p, .theme-logo-dark .admin-ui-action-rail > span, .theme-logo-dark .admin-ui-dialog p:not(.eyebrow) { color: #aeb6bc; }.theme-logo-dark .admin-ui-button--compact { border-color: #454d52; background: #202529; color: var(--teal); }.theme-logo-dark .admin-ui-button--compact:hover, .theme-logo-dark .admin-ui-button--compact:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .admin-ui-action-rail { border-color: #454d52; background: color-mix(in srgb, #202529 94%, transparent); }.theme-logo-dark .admin-ui-dialog > .admin-ui-actions { border-color: #454d52; }.theme-logo-dark .admin-ui-toggle::after { background: #f1f3f4; }@media (max-width: 720px) { .admin-ui-reference__section, .admin-ui-reference__panel { padding: 22px 17px; }.admin-ui-reference__grid, .admin-ui-reference__choice-grid { grid-template-columns: 1fr; }.admin-ui-field--inline { grid-template-columns: 1fr; }.admin-ui-field--inline > .admin-ui-field__label { padding-top: 0; }.admin-ui-action-rail { align-items: stretch; }.admin-ui-action-rail .admin-ui-actions { justify-content: stretch; }.admin-ui-action-rail .button { flex: 1 1 auto; } }

:root {
    --ink: #0b1120;
    --ink-soft: #15213a;
    --media-canvas: var(--ink-soft);
    --media-backdrop: color-mix(in srgb, var(--media-canvas) 90%, #000);
    --paper: #f8f7f4;
    --paper-deep: #ecebe7;
    --white: #ffffff;
    --teal: #47e6cc;
    --teal-deep: #18b9a0;
    --orange: #ff7043;
    --violet: #8574f7;
    --slate: #60708b;
    --muted: var(--slate);
    --line: #d9dce1;
    --line-strong: color-mix(in srgb, var(--line) 72%, var(--ink));
    --surface: var(--white);
    --surface-muted: var(--paper-deep);
    --panel: var(--surface);
    /* Theme token contract:
       - primary accent: actions, highlights and selected states
       - accent depth: links, borders and stronger accent treatment
       - secondary accent: supporting graphics
       Status tokens stay reserved for real status meaning only. */
    --accent-primary: var(--teal);
    --accent-depth: var(--teal-deep);
    --accent-secondary: var(--orange);
    --accent: var(--accent-depth); /* Legacy strong-accent alias. */
    --orange-deep: var(--accent-depth); /* Legacy name used by older UI. */
    --danger: #a43428;
    --success: #23816d;
    --warning: #9b6a1c;
    --info: #3f729d;
    --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-display: var(--font-body);
    --header-text: var(--white);
    --theme-surface: var(--surface);
    --theme-surface-muted: var(--surface-muted);
    --theme-surface-input: var(--surface);
    --theme-button-text: var(--white);
    --theme-header-bg: var(--ink);
    --theme-header-text: var(--white);
    --theme-footer-bg: var(--ink);
    --theme-neutral: var(--slate);
    --theme-danger: var(--danger);
    --theme-success: var(--success);
    --theme-warning: var(--warning);
    --theme-info: var(--info);
    --shadow: 0 22px 50px rgba(11, 17, 32, .11);
    --radius: 18px;
    --ui-space-micro: 4px;
    --ui-space-tight: 8px;
    --ui-space-compact: 12px;
    --ui-space-standard: 18px;
    --ui-space-section: 24px;
    --ui-space-major: 32px;
    --ui-control-height: 44px;
    --ui-control-height-compact: 32px;
    --admin-space-micro: var(--ui-space-micro);
    --admin-space-tight: var(--ui-space-tight);
    --admin-space-compact: var(--ui-space-compact);
    --admin-space-standard: var(--ui-space-standard);
    --admin-space-section: var(--ui-space-section);
    --admin-space-major: var(--ui-space-major);
    --admin-control-height: var(--ui-control-height);
    --admin-control-height-compact: var(--ui-control-height-compact);
    --admin-checkbox-size: 14px;
    --admin-toggle-width: 44px;
    --admin-toggle-height: 24px;
    --admin-toggle-thumb: 18px;
    --admin-panel-gap: var(--admin-space-standard);
    --container: 1180px;
}

/* Site palettes are injected on body, so the derived aliases must also be
   resolved there.  Defining them only on :root would freeze their references
   to the default teal values before a selected theme supplies its palette. */
body[class*="theme-"] {
    --accent-primary: var(--teal);
    --accent-depth: var(--teal-deep);
    --accent-secondary: var(--orange);
    --accent: var(--accent-depth);
    --orange-deep: var(--accent-depth);
    --media-canvas: var(--ink-soft);
    --media-backdrop: color-mix(in srgb, var(--media-canvas) 90%, #000);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.55;
}

img { display: block; max-width: 100%; }

a { color: inherit; text-decoration: none; }

button, input, textarea { font: inherit; }

button { cursor: pointer; }

.container { width: min(calc(100% - 48px), var(--container)); margin: 0 auto; }

.skip-link {
    position: fixed;
    top: -80px;
    left: 18px;
    z-index: 100;
    padding: 10px 16px;
    background: var(--teal);
    color: var(--ink);
    border-radius: 0 0 8px 8px;
    font-weight: 800;
}

.skip-link:focus { top: 0; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    border-bottom: 1px solid rgba(255,255,255,.1);
    background: rgba(11, 17, 32, .96);
    backdrop-filter: blur(16px);
}

.nav-wrap { display: flex; align-items: center; justify-content: flex-start; gap: 36px; min-height: 78px; }

.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--white); line-height: .8; }

.brand-copy { display: flex; flex-wrap: wrap; align-items: baseline; }

.brand-text { display: flex; align-items: baseline; white-space: nowrap; }

.brand-text__segment { font-size: 1.46rem; font-weight: 750; letter-spacing: -.08em; }

.brand-text__segment--accent { color: var(--teal); font-size: 1.06rem; letter-spacing: -.06em; }

.brand-text__segment--bold { font-weight: 900; }

.brand-text__segment--i { font-style: italic; }

.brand-text__segment--u { text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .12em; }

.brand-text__segment--small { font-size: .82rem; letter-spacing: -.04em; }

.brand-text__segment--large { font-size: 1.72rem; }

.brand small { flex-basis: 100%; margin-top: 5px; color: #a5b2ca; font-size: .43rem; font-weight: 800; letter-spacing: .24em; }

.admin-brand { flex: 0 0 auto; }

.admin-brand .brand-copy small { display: block; width: 100%; margin-top: 1px; color: var(--theme-header-text, var(--white)); font-size: .39rem; font-weight: 850; letter-spacing: .12em; line-height: 1.1; white-space: nowrap; }

.admin-brand__badge { align-self: center; margin-left: 2px; padding: 4px 6px; border: 1px solid color-mix(in srgb, var(--theme-header-text, var(--white)) 28%, transparent); border-radius: 4px; color: var(--theme-header-text, var(--white)); font-size: .42rem; font-style: normal; font-weight: 900; letter-spacing: .14em; line-height: 1; white-space: nowrap; }

.admin-login .admin-brand__badge { color: var(--white); }

.brand-mark { position: relative; display: flex; align-items: flex-end; gap: 3px; width: 25px; height: 28px; }

.brand-mark::before { position: absolute; top: 0; left: 0; width: 8px; height: 8px; border: 2px solid var(--orange); border-radius: 50%; content: ""; }

.brand-mark i { display: block; width: 5px; border-radius: 4px 4px 1px 1px; background: var(--teal); }
.brand-mark i:nth-child(1) { height: 10px; }
.brand-mark i:nth-child(2) { height: 17px; background: var(--white); }
.brand-mark i:nth-child(3) { height: 23px; background: var(--violet); }

.admin-home-content__brand-text { grid-column: span 2; }

@media (max-width: 720px) { .admin-home-content__brand-text { grid-column: auto; } }

.nav-menu { display: flex; align-items: center; gap: 28px; margin-right: auto; }
.nav-menu > a { color: #d9dfeb; font-size: .9rem; font-weight: 650; }
.nav-menu > a:hover, .nav-menu > a.is-active { color: var(--teal); }

.theme-editor__heading > .theme-editor__heading-actions { max-width: none; flex: 0 0 auto; flex-wrap: nowrap; gap: 18px; padding-top: 4px; }.theme-editor__heading-actions .button, .theme-editor__footer .button { min-height: var(--ui-control-height); white-space: nowrap; }
@media (max-width: 820px) { .theme-editor__heading > .theme-editor__heading-actions { flex-wrap: wrap; padding-top: 0; } }
@media (max-width: 560px) { .theme-editor__heading > .theme-editor__heading-actions { justify-content: space-between; gap: 12px; }.theme-editor__heading-actions .button { min-height: var(--ui-control-height); padding: 10px 13px; } }
.admin-theme-library-page { display: flex; flex-direction: column; }.admin-theme-library-page > .admin-back-link { order: 0; }.admin-theme-library-page > .admin-page-heading { order: 1; }.admin-theme-library-page > .admin-flash { order: 2; }.admin-theme-library-page > .theme-editor { order: 3; }.admin-theme-library-page > .theme-library { order: 4; }
.theme-editor .theme-editor__hero-choice.is-in-use { border-color: var(--teal-deep); border-style: solid; box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal-deep) 22%, transparent), 0 0 22px color-mix(in srgb, var(--teal-deep) 42%, transparent); }.theme-editor .theme-editor__hero-choice:has(input:checked) { border-color: var(--teal-deep); border-style: dashed; box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal-deep) 16%, transparent); }.theme-editor .theme-editor__hero-choice.is-in-use:has(input:checked) { border-style: solid; box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal-deep) 22%, transparent), 0 0 22px color-mix(in srgb, var(--teal-deep) 42%, transparent); }
.admin-task-card footer > form > button.button, .admin-recycle-card footer > form > button.button, .admin-backup-card > form > button.button { border: 1px solid var(--teal); background: var(--teal); }
.theme-library__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: end; gap: 0 11px; white-space: nowrap; }
.theme-library__actions form { position: relative; margin: 0; }
.theme-library__actions span, .theme-library__actions a, .theme-library__actions button { display: block; height: 1.3em; margin: 0; padding: 0; line-height: 1.3; }
.theme-library__actions .admin-delete-popover { width: min(300px, calc(100vw - 36px)); white-space: normal; }
.theme-library__actions .admin-delete-popover button { display: inline-flex; height: auto; align-items: center; line-height: normal; white-space: nowrap; }
.theme-library__actions form[data-delete-confirm] .admin-delete-popover button { padding: 0 10px; }
.theme-library__actions button { appearance: none; -webkit-appearance: none; }
@media (max-width: 560px) { .theme-library__actions { justify-content: start; } }

.button {
    display: inline-flex;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    gap: 11px;
    height: var(--ui-control-height);
    min-height: var(--ui-control-height);
    padding: 12px 20px;
    border: 1px solid var(--teal);
    border-radius: 5px;
    background: var(--teal);
    color: var(--ink);
    font-size: .91rem;
    font-weight: 850;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.button:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(71, 230, 204, .23); background: #8bf3e2; }
.button--secondary { border-color: var(--line); background: var(--paper); color: var(--ink); box-shadow: none; }
.button--secondary:hover, .button--secondary:focus-visible { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 12%, var(--paper)); color: var(--ink); outline: none; }
.button--small { min-height: 38px; padding: 8px 14px; font-size: .84rem; }

/* Filled controls use a theme-derived foreground, so pale custom accents do
   not inherit pale page text. Secondary and specialised buttons retain their
   own component colours. */
.button:not(.button--secondary):not(.button--bundle) { color: var(--theme-button-text, var(--ink)); }
.button:not(.button--secondary):not(.button--bundle):hover { background: var(--teal-deep); color: var(--theme-accent-depth-text, var(--theme-button-text, var(--ink))); }

.hero { position: relative; overflow: hidden; min-height: 640px; background: var(--ink); color: var(--white); }
.hero::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 52px 52px; content: ""; mask-image: linear-gradient(to right, black, transparent 78%); }
.hero::after { position: absolute; right: max(-48px, calc((100% - var(--container)) / 2 - 72px)); bottom: -140px; width: 560px; height: 560px; border: 1px solid rgba(71, 230, 204, .15); border-radius: 50%; content: ""; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr .92fr; gap: 35px; align-items: center; min-height: 640px; }
.hero-copy { align-self: start; padding-top: 12px; }

.eyebrow { margin: 0 0 15px; color: var(--teal-deep); font-size: .71rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow--light { color: var(--teal); }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-weight: 850; letter-spacing: -.055em; line-height: .98; }
h1 { max-width: 670px; margin-bottom: 24px; font-size: clamp(3.35rem, 7vw, 6.8rem); }
h1 span, .page-hero h1 span { color: var(--teal); }
h2 { margin-bottom: 18px; font-size: clamp(2.25rem, 4.4vw, 4rem); }
h3 { margin-bottom: 13px; font-size: 1.5rem; }

.hero-text { max-width: 530px; margin-bottom: 30px; color: #b8c3d7; font-size: 1.12rem; line-height: 1.65; }.hero-text a { color: var(--teal); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }.hero-text a:hover { color: var(--white); }
.hero-actions { display: grid; grid-template-columns: repeat(3, max-content); align-items: center; gap: 17px 25px; }.hero-actions .button { grid-column: 1 / -1; justify-self: start; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-weight: 820; font-size: .93rem; }
.text-link:hover { color: var(--teal-deep); }
.text-link--light { color: var(--white); }
.text-link--light:hover { color: var(--teal); }
.hero-points { display: flex; gap: 20px; margin-top: 65px; color: #a4b1c7; font-size: .78rem; font-weight: 700; }
.hero-points span { display: flex; align-items: center; gap: 8px; }
.hero-points span::before { width: 5px; height: 5px; border-radius: 50%; background: var(--orange); content: ""; }

.printer-scene { position: relative; width: min(100%, 500px); height: 470px; margin: 45px 0 0 auto; }
.printer-scene--image .printer-scene__render { position: absolute; inset: -2px; z-index: 0; width: calc(100% + 4px); height: calc(100% + 4px); object-fit: cover; object-position: center 54%; }
body.theme-logo-dark .printer-scene--custom-image .printer-scene__render { filter: none; }

/* ui-exception: launch-home-hero-overlay — launch themes receive a distinctive, non-interactive image treatment. */
[data-ui-exception="launch-home-hero-overlay"] {
    --launch-accent: var(--orange);
    --launch-glow: color-mix(in srgb, var(--orange) 48%, transparent);
    --launch-line: color-mix(in srgb, var(--orange) 36%, transparent);
}
[data-ui-exception="launch-home-hero-overlay"]::before { opacity: .42; }
[data-ui-exception="launch-home-hero-overlay"] .printer-scene { isolation: isolate; }
[data-ui-exception="launch-home-hero-overlay"] .printer-scene::before,
[data-ui-exception="launch-home-hero-overlay"] .printer-scene::after { position: absolute; z-index: 1; content: ""; pointer-events: none; }
[data-ui-exception="launch-home-hero-overlay"] .printer-scene__render { filter: drop-shadow(0 26px 24px rgba(0, 0, 0, .42)); }
body.theme-launch-scene-glow [data-ui-exception="launch-home-hero-overlay"] .printer-scene::before {
    inset: 7% 2% 5%; border: 1px solid var(--launch-line); border-radius: 50%;
    background: radial-gradient(circle at 51% 43%, var(--launch-glow), transparent 50%);
    box-shadow: inset 0 0 38px color-mix(in srgb, var(--orange) 25%, transparent), 0 0 46px color-mix(in srgb, var(--orange) 18%, transparent);
    animation: launch-scene-breathe 4.8s ease-in-out infinite;
}
body.theme-launch-scene-glow [data-ui-exception="launch-home-hero-overlay"] .printer-scene::after {
    top: 12%; right: 7%; width: 32%; aspect-ratio: 1; border: 1px solid var(--launch-line); border-radius: 50%;
    box-shadow: 0 0 0 11px color-mix(in srgb, var(--orange) 7%, transparent), 0 0 0 23px color-mix(in srgb, var(--orange) 4%, transparent);
    animation: launch-scene-orbit 9s linear infinite;
}
body.theme-launch-contour-grid [data-ui-exception="launch-home-hero-overlay"] .printer-scene::before {
    inset: 0; border: 1px solid color-mix(in srgb, var(--orange) 24%, transparent); border-radius: 8px;
    background-image: linear-gradient(var(--launch-line) 1px, transparent 1px), linear-gradient(90deg, var(--launch-line) 1px, transparent 1px), radial-gradient(circle at 51% 46%, color-mix(in srgb, var(--orange) 18%, transparent), transparent 58%);
    background-size: 32px 32px, 32px 32px, auto; mask-image: linear-gradient(to bottom, transparent, black 13%, black 86%, transparent);
    animation: launch-grid-drift 11s linear infinite;
}
body.theme-launch-contour-grid [data-ui-exception="launch-home-hero-overlay"] .printer-scene::after {
    inset: 8% 11%; border: 1px solid color-mix(in srgb, var(--orange) 48%, transparent);
    clip-path: polygon(0 18%, 36% 0, 100% 23%, 82% 100%, 17% 86%); opacity: .72;
}
body.theme-launch-flare [data-ui-exception="launch-home-hero-overlay"] .printer-scene::before {
    top: -24%; right: 19%; width: 20%; height: 154%;
    background: linear-gradient(to right, transparent, color-mix(in srgb, var(--orange) 42%, transparent), color-mix(in srgb, var(--white) 44%, transparent), color-mix(in srgb, var(--orange) 32%, transparent), transparent);
    filter: blur(2px); opacity: .86; transform: rotate(35deg); animation: launch-flare-sweep 7.5s ease-in-out infinite;
}
body.theme-launch-flare [data-ui-exception="launch-home-hero-overlay"] .printer-scene::after {
    inset: 10% 3%; border: 1px solid color-mix(in srgb, var(--orange) 22%, transparent); border-radius: 50%;
    box-shadow: inset 0 0 32px color-mix(in srgb, var(--orange) 17%, transparent), 0 0 44px color-mix(in srgb, var(--orange) 12%, transparent);
}
@keyframes launch-scene-breathe { 50% { opacity: .72; transform: scale(1.025); } }
@keyframes launch-scene-orbit { to { transform: rotate(360deg); } }
@keyframes launch-grid-drift { to { background-position: 32px 32px, 32px 32px, center; } }
@keyframes launch-flare-sweep {
    0%, 100% { opacity: .2; transform: translateX(-26%) rotate(35deg); }
    48%, 58% { opacity: .92; transform: translateX(26%) rotate(35deg); }
}

/* ui-exception: neutral-sci-fi-home-hero — built-in sci-fi palettes use quiet technical layers without seasonal decoration. */
body.theme-sci-fi-obsidian .printer-scene,
body.theme-sci-fi-titanium .printer-scene,
body.theme-sci-fi-lunar .printer-scene { isolation: isolate; }
body.theme-sci-fi-obsidian .printer-scene::before,
body.theme-sci-fi-obsidian .printer-scene::after,
body.theme-sci-fi-titanium .printer-scene::before,
body.theme-sci-fi-titanium .printer-scene::after,
body.theme-sci-fi-lunar .printer-scene::before,
body.theme-sci-fi-lunar .printer-scene::after { position: absolute; z-index: 1; content: ""; pointer-events: none; }
body.theme-sci-fi-obsidian .printer-scene__render,
body.theme-sci-fi-titanium .printer-scene__render,
body.theme-sci-fi-lunar .printer-scene__render { filter: drop-shadow(0 26px 24px rgba(0, 0, 0, .44)); }
body.theme-sci-fi-obsidian .printer-scene::before {
    inset: 3% 1% 5%; border: 1px solid color-mix(in srgb, var(--teal) 38%, transparent); border-radius: 12px;
    background-image: linear-gradient(color-mix(in srgb, var(--teal) 18%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--teal) 18%, transparent) 1px, transparent 1px), radial-gradient(circle at 49% 45%, color-mix(in srgb, var(--teal) 20%, transparent), transparent 57%);
    background-size: 30px 30px, 30px 30px, auto; mask-image: linear-gradient(to bottom, transparent, black 10%, black 88%, transparent); animation: sci-fi-relay-drift 14s linear infinite;
}
body.theme-sci-fi-obsidian .printer-scene::after {
    top: 11%; right: 6%; width: 34%; aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--teal) 52%, transparent); clip-path: polygon(50% 0, 100% 29%, 84% 100%, 16% 100%, 0 29%); box-shadow: 0 0 0 10px color-mix(in srgb, var(--teal) 6%, transparent), inset 0 0 28px color-mix(in srgb, var(--teal) 11%, transparent); animation: sci-fi-relay-pulse 5.6s ease-in-out infinite;
}
body.theme-sci-fi-titanium .printer-scene::before {
    inset: 5% 1%; border: 1px solid color-mix(in srgb, var(--teal) 32%, transparent); border-radius: 50%;
    background: radial-gradient(circle at 50% 48%, color-mix(in srgb, var(--teal) 17%, transparent) 0 18%, transparent 19% 31%, color-mix(in srgb, var(--teal) 15%, transparent) 32% 32.5%, transparent 33% 44%, color-mix(in srgb, var(--teal) 12%, transparent) 45% 45.5%, transparent 46%);
    box-shadow: inset 0 0 42px color-mix(in srgb, var(--teal) 11%, transparent), 0 0 34px color-mix(in srgb, var(--teal) 8%, transparent); animation: sci-fi-array-breathe 6.4s ease-in-out infinite;
}
body.theme-sci-fi-titanium .printer-scene::after {
    top: 9%; left: 7%; width: 86%; height: 1px; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--teal) 70%, transparent), transparent); box-shadow: 0 92px 0 color-mix(in srgb, var(--teal) 24%, transparent), 0 184px 0 color-mix(in srgb, var(--teal) 16%, transparent); animation: sci-fi-array-scan 8.5s ease-in-out infinite;
}
body.theme-sci-fi-lunar .printer-scene::before {
    inset: 4% 2%; border: 1px solid color-mix(in srgb, var(--orange) 32%, transparent); border-radius: 10px;
    background-image: repeating-linear-gradient(0deg, transparent 0 20px, color-mix(in srgb, var(--orange) 11%, transparent) 21px 22px), radial-gradient(ellipse at 48% 48%, color-mix(in srgb, var(--orange) 18%, transparent), transparent 60%);
    box-shadow: inset 0 0 38px color-mix(in srgb, var(--orange) 9%, transparent); mask-image: linear-gradient(to bottom, transparent, black 12%, black 88%, transparent); animation: sci-fi-lunar-lines 9s linear infinite;
}
body.theme-sci-fi-lunar .printer-scene::after {
    right: 8%; bottom: 10%; width: 31%; aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--orange) 47%, transparent); border-radius: 50%; box-shadow: 0 0 0 9px color-mix(in srgb, var(--orange) 6%, transparent), 0 0 0 19px color-mix(in srgb, var(--orange) 3%, transparent), inset 0 0 28px color-mix(in srgb, var(--orange) 12%, transparent); animation: sci-fi-lunar-orbit 12s linear infinite;
}
@keyframes sci-fi-relay-drift { to { background-position: 30px 30px, 30px 30px, center; } }
@keyframes sci-fi-relay-pulse { 50% { opacity: .58; transform: scale(.94); } }
@keyframes sci-fi-array-breathe { 50% { opacity: .66; transform: scale(1.025); } }
@keyframes sci-fi-array-scan { 0%, 100% { opacity: .25; transform: translateY(-12px); } 50% { opacity: .82; transform: translateY(28px); } }
@keyframes sci-fi-lunar-lines { to { background-position: 0 88px, center; } }
@keyframes sci-fi-lunar-orbit { to { transform: rotate(360deg); } }

/* ui-exception: platform-inspired-home-hero — theme-specific material studies, not operating-system UI replicas. */
body.theme-macos-tahoe-glass { background: radial-gradient(circle at 78% -12%, rgba(138, 211, 236, .42), transparent 31%), linear-gradient(145deg, #eef7fa, #e3edf2 58%, #f5f8fa); }
body.theme-macos-tahoe-glass .site-header { border-bottom-color: rgba(255, 255, 255, .74); background: rgba(222, 239, 244, .68); box-shadow: 0 9px 32px rgba(38, 91, 112, .08); backdrop-filter: blur(24px) saturate(1.35); }
body.theme-macos-tahoe-glass .site-header .brand, body.theme-macos-tahoe-glass .site-header .nav-menu > a, body.theme-macos-tahoe-glass .site-header .site-header__basket { color: #263a48; }
body.theme-macos-tahoe-glass .site-header .brand small { color: #607988; }
body.theme-macos-tahoe-glass .site-header .brand-mark i:nth-child(2) { background: #f9fcfd; }
body.theme-macos-tahoe-glass .button { border-radius: 999px; background: linear-gradient(180deg, #2697ff, #0076df); box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 7px 16px rgba(0, 117, 223, .2); color: #fff; }
body.theme-macos-tahoe-glass .button:hover { background: linear-gradient(180deg, #48a8ff, #087de3); box-shadow: inset 0 1px 0 rgba(255,255,255,.66), 0 10px 22px rgba(0, 117, 223, .26); }
body.theme-macos-tahoe-glass .button--secondary { background: rgba(255,255,255,.62); color: var(--ink); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
body.theme-macos-tahoe-glass .hero { background: linear-gradient(125deg, #526f86 0%, #87b8c9 45%, #d2edf1 100%); }
body.theme-macos-tahoe-glass .hero::before { background-image: radial-gradient(circle at 18% 20%, rgba(255,255,255,.5), transparent 24%), radial-gradient(circle at 76% 75%, rgba(255,255,255,.26), transparent 34%); mask-image: none; }
body.theme-macos-tahoe-glass .hero::after { border-color: rgba(255,255,255,.5); box-shadow: 0 0 0 14px rgba(255,255,255,.1), 0 0 64px rgba(207,244,255,.36); }
body.theme-macos-tahoe-glass .hero-text { color: rgba(245, 252, 254, .9); }
body.theme-macos-tahoe-glass .printer-scene { isolation: isolate; }
body.theme-macos-tahoe-glass .printer-scene::before, body.theme-macos-tahoe-glass .printer-scene::after { position: absolute; z-index: 1; content: ""; pointer-events: none; }
body.theme-macos-tahoe-glass .printer-scene::before { inset: 5% 2%; border: 1px solid rgba(255,255,255,.62); border-radius: 34% 38% 42% 35%; background: linear-gradient(125deg, rgba(255,255,255,.38), rgba(255,255,255,.06) 48%, rgba(162,226,246,.25)); box-shadow: inset 0 1px 0 rgba(255,255,255,.76), inset 0 0 42px rgba(255,255,255,.18), 0 18px 38px rgba(49,125,153,.18); backdrop-filter: blur(4px); animation: macos-glass-float 7s ease-in-out infinite; }
body.theme-macos-tahoe-glass .printer-scene::after { top: 13%; right: 9%; width: 30%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; box-shadow: 0 0 0 10px rgba(255,255,255,.12), 0 0 0 23px rgba(255,255,255,.06); animation: macos-glass-orbit 13s linear infinite; }

body.theme-windows-11-mica { background: radial-gradient(circle at 84% -4%, rgba(130, 173, 245, .28), transparent 29%), linear-gradient(145deg, #f3f6fb, #e9eef6 62%, #f9fafc); }
body.theme-windows-11-mica .site-header { border-bottom-color: rgba(255,255,255,.9); background: linear-gradient(110deg, rgba(237,242,250,.9), rgba(225,233,245,.78)); box-shadow: 0 7px 26px rgba(43, 74, 125, .1); backdrop-filter: blur(22px) saturate(1.08); }
body.theme-windows-11-mica .site-header .brand, body.theme-windows-11-mica .site-header .nav-menu > a, body.theme-windows-11-mica .site-header .site-header__basket { color: #252b36; }
body.theme-windows-11-mica .site-header .brand small { color: #697384; }
body.theme-windows-11-mica .site-header .brand-mark i:nth-child(2) { background: #f9fbfe; }
body.theme-windows-11-mica .button { border-radius: 6px; background: linear-gradient(180deg, #1686de, #0078d4); box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 5px 12px rgba(0, 104, 184, .16); color: #fff; }
body.theme-windows-11-mica .button:hover { background: linear-gradient(180deg, #2a96e9, #087fda); box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 8px 17px rgba(0, 104, 184, .22); }
body.theme-windows-11-mica .button--secondary { background: rgba(255,255,255,.75); color: var(--ink); box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
body.theme-windows-11-mica .hero { background: linear-gradient(138deg, #25375a, #5372aa 48%, #a6c3ea); }
body.theme-windows-11-mica .hero::before { background-image: radial-gradient(ellipse at 18% 16%, rgba(209,231,255,.36), transparent 31%), radial-gradient(ellipse at 80% 84%, rgba(112,170,255,.28), transparent 38%); mask-image: none; }
body.theme-windows-11-mica .hero::after { border-color: rgba(213,232,255,.5); box-shadow: 0 0 0 17px rgba(175,211,255,.08), 0 0 72px rgba(113,170,255,.25); }
body.theme-windows-11-mica .hero-text { color: rgba(244,248,255,.9); }
body.theme-windows-11-mica .printer-scene { isolation: isolate; }
body.theme-windows-11-mica .printer-scene::before, body.theme-windows-11-mica .printer-scene::after { position: absolute; z-index: 1; content: ""; pointer-events: none; }
body.theme-windows-11-mica .printer-scene::before { inset: 4% 1%; border: 1px solid rgba(220,235,255,.55); border-radius: 22px; background: radial-gradient(ellipse at 29% 38%, rgba(143,190,255,.4), transparent 31%), radial-gradient(ellipse at 78% 69%, rgba(222,238,255,.38), transparent 38%); box-shadow: inset 0 1px 0 rgba(255,255,255,.48), inset 0 0 54px rgba(82,138,224,.18), 0 20px 38px rgba(33,68,132,.22); backdrop-filter: blur(3px); animation: windows-mica-breathe 6.8s ease-in-out infinite; }
body.theme-windows-11-mica .printer-scene::after { top: 12%; left: 8%; width: 84%; height: 72%; border: 1px solid rgba(220,235,255,.35); border-radius: 18px; clip-path: polygon(0 21%, 42% 0, 100% 14%, 84% 100%, 12% 90%); box-shadow: inset 0 0 30px rgba(91,154,244,.14); animation: windows-mica-shift 10s ease-in-out infinite; }
body.theme-ubuntu-gnome-yaru { background: radial-gradient(circle at 82% -12%, rgba(236, 103, 51, .22), transparent 31%), linear-gradient(145deg, #251025, #32172f 58%, #472038); }
body.theme-ubuntu-gnome-yaru .site-header { border-bottom-color: rgba(255, 202, 183, .17); background: linear-gradient(100deg, rgba(44, 0, 30, .95), rgba(61, 20, 50, .89)); box-shadow: 0 8px 28px rgba(18, 0, 13, .28); backdrop-filter: blur(20px) saturate(1.08); }
body.theme-ubuntu-gnome-yaru .site-header .brand, body.theme-ubuntu-gnome-yaru .site-header .nav-menu > a, body.theme-ubuntu-gnome-yaru .site-header .site-header__basket { color: #fff5f7; }
body.theme-ubuntu-gnome-yaru .site-header .brand small { color: #e4bacf; }
body.theme-ubuntu-gnome-yaru .site-header .brand-mark i:nth-child(2) { background: #fcece7; }
body.theme-ubuntu-gnome-yaru .button { border-radius: 9px; background: linear-gradient(180deg, #f36b3d, #e95420); box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 7px 16px rgba(107, 25, 10, .28); color: #fff; }
body.theme-ubuntu-gnome-yaru .button:hover { background: linear-gradient(180deg, #fa7b50, #ed5d28); box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 10px 22px rgba(107, 25, 10, .34); }
body.theme-ubuntu-gnome-yaru .button--secondary { background: rgba(255, 244, 248, .1); border-color: rgba(255, 221, 210, .26); color: #fff5f7; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
body.theme-ubuntu-gnome-yaru .hero { background: linear-gradient(132deg, #26001d 0%, #522246 51%, #9b402b 100%); }
body.theme-ubuntu-gnome-yaru .hero::before { background-image: radial-gradient(circle at 77% 20%, rgba(255, 176, 125, .28), transparent 25%), radial-gradient(ellipse at 21% 82%, rgba(214, 119, 190, .2), transparent 37%); mask-image: none; }
body.theme-ubuntu-gnome-yaru .hero::after { border-color: rgba(255, 198, 172, .32); box-shadow: 0 0 0 13px rgba(255, 204, 181, .05), 0 0 70px rgba(236, 84, 32, .22); }
body.theme-ubuntu-gnome-yaru .hero-text { color: rgba(255, 244, 247, .91); }
body.theme-ubuntu-gnome-yaru .printer-scene { isolation: isolate; }
body.theme-ubuntu-gnome-yaru .printer-scene::before, body.theme-ubuntu-gnome-yaru .printer-scene::after { position: absolute; z-index: 1; content: ""; pointer-events: none; }
body.theme-ubuntu-gnome-yaru .printer-scene::before { top: 11%; bottom: 11%; left: 1%; width: 42px; border: 1px solid rgba(255, 218, 203, .26); border-radius: 22px; background: radial-gradient(circle at 50% 15%, #f7a37c 0 5px, transparent 6px), radial-gradient(circle at 50% 37%, #d98ac3 0 5px, transparent 6px), radial-gradient(circle at 50% 59%, #f4d4aa 0 5px, transparent 6px), radial-gradient(circle at 50% 81%, #f27955 0 5px, transparent 6px), rgba(33, 10, 34, .56); box-shadow: inset 0 1px 0 rgba(255,255,255,.11), 0 14px 28px rgba(22, 0, 16, .2); animation: ubuntu-gnome-dash-breathe 6.5s ease-in-out infinite; }
body.theme-ubuntu-gnome-yaru .printer-scene::after { top: 8%; right: 4%; width: 82%; height: 80%; border: 1px solid rgba(255, 203, 181, .24); border-radius: 16px; background: linear-gradient(118deg, rgba(255, 195, 167, .09), transparent 46%, rgba(239, 92, 43, .13)); box-shadow: inset 0 0 36px rgba(253, 159, 114, .1); animation: ubuntu-gnome-warmth 8.5s ease-in-out infinite; }
@keyframes macos-glass-float { 50% { transform: translateY(-10px) scale(1.018); } }
@keyframes macos-glass-orbit { to { transform: rotate(360deg); } }
@keyframes windows-mica-breathe { 50% { opacity: .68; transform: scale(1.022); } }
@keyframes windows-mica-shift { 50% { opacity: .55; transform: translate(10px, -5px); } }
@keyframes ubuntu-gnome-dash-breathe { 50% { opacity: .75; transform: translateY(-6px); } }
@keyframes ubuntu-gnome-warmth { 50% { opacity: .6; transform: translate(-6px, -4px); } }
@media (prefers-reduced-motion: reduce) {
    [data-ui-exception="launch-home-hero-overlay"] .printer-scene::before,
    [data-ui-exception="launch-home-hero-overlay"] .printer-scene::after,
    body.theme-sci-fi-obsidian .printer-scene::before,
    body.theme-sci-fi-obsidian .printer-scene::after,
    body.theme-sci-fi-titanium .printer-scene::before,
    body.theme-sci-fi-titanium .printer-scene::after,
    body.theme-sci-fi-lunar .printer-scene::before,
    body.theme-sci-fi-lunar .printer-scene::after,
    body.theme-macos-tahoe-glass .printer-scene::before,
    body.theme-macos-tahoe-glass .printer-scene::after,
    body.theme-windows-11-mica .printer-scene::before,
    body.theme-windows-11-mica .printer-scene::after,
    body.theme-ubuntu-gnome-yaru .printer-scene::before,
    body.theme-ubuntu-gnome-yaru .printer-scene::after { animation: none; }
}
.printer-glow { position: absolute; top: 105px; right: 17px; width: 360px; height: 330px; border-radius: 50%; background: radial-gradient(circle, rgba(71,230,204,.23), rgba(71,230,204,0) 66%); filter: blur(7px); }
.printer-frame { position: absolute; top: 45px; right: 68px; width: 275px; height: 330px; border: 13px solid #cfd8e1; border-bottom-width: 20px; box-shadow: 0 0 0 6px #657083, 18px 27px 45px rgba(0,0,0,.36); transform: skewY(-4deg); }
.printer-frame::before, .printer-frame::after { position: absolute; content: ""; }
.printer-frame::before { top: 39px; left: 21px; right: 21px; height: 9px; background: #536076; box-shadow: 0 51px 0 #536076; }
.printer-frame::after { top: 37px; left: 50%; width: 18px; height: 27px; border-radius: 2px; background: var(--orange); box-shadow: 0 12px 0 7px #192438; transform: translateX(-50%); }
.printer-frame i { position: absolute; display: block; }
.printer-frame i:nth-child(1), .printer-frame i:nth-child(2) { top: -25px; width: 29px; height: 15px; border: 7px solid #9ba9ba; border-bottom: 0; }
.printer-frame i:nth-child(1) { left: 23px; }
.printer-frame i:nth-child(2) { right: 23px; }
.printer-frame i:nth-child(3), .printer-frame i:nth-child(4) { bottom: -50px; width: 22px; height: 35px; background: #526176; }
.printer-frame i:nth-child(3) { left: 12px; }.printer-frame i:nth-child(4) { right: 12px; }
.printer-frame b { position: absolute; right: 15px; bottom: 67px; width: 23px; height: 11px; border: 2px solid var(--teal); border-radius: 2px; }
.printer-bed { position: absolute; right: 86px; bottom: 62px; width: 245px; height: 57px; background: #203048; box-shadow: -15px 18px 0 #121d2d; transform: skewX(-28deg); }
.printer-bed::before { position: absolute; top: 8px; left: 10px; width: 210px; height: 17px; background: #33445f; content: ""; }
.printer-bed i { position: absolute; bottom: -12px; width: 15px; height: 17px; background: #34445e; }.printer-bed i:first-child { left: 23px; }.printer-bed i:last-child { right: 25px; }
.printed-object { position: absolute; right: 151px; bottom: 106px; width: 104px; height: 76px; background: repeating-linear-gradient(to bottom, #45d8bf 0 4px, #35bba6 4px 7px); clip-path: polygon(18% 100%, 8% 75%, 18% 27%, 39% 12%, 78% 15%, 93% 34%, 89% 81%, 77% 100%); box-shadow: 13px 12px 0 rgba(0,0,0,.25); transform: skewY(-4deg); }
.printed-object i { position: absolute; display: block; height: 5px; border-radius: 50%; background: #163a44; }.printed-object i:nth-child(1) { top: 21px; left: 28px; width: 12px; }.printed-object i:nth-child(2) { top: 20px; left: 63px; width: 12px; }.printed-object i:nth-child(3) { top: 43px; left: 31px; width: 42px; }.printed-object i:nth-child(4) { bottom: -29px; left: 42px; width: 11px; height: 31px; border-radius: 0; background: var(--orange); }
.scene-label { position: absolute; padding: 9px 11px; border: 1px solid rgba(71,230,204,.45); background: rgba(11,17,32,.78); color: var(--teal); font-size: .55rem; font-weight: 800; letter-spacing: .12em; line-height: 1.45; }.scene-label--one { top: 17px; right: 0; }.scene-label--two { right: 300px; bottom: 31px; border-color: rgba(255,112,67,.45); color: #ff9b7f; }

.intro-band { padding: 38px 0; border-bottom: 1px solid var(--line); background: var(--white); }
.intro-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 50px; align-items: center; }
.intro-grid .eyebrow { margin: 0; }.intro-grid > p:last-child { max-width: 710px; margin: 0; font-size: clamp(1.14rem, 2vw, 1.56rem); font-weight: 580; letter-spacing: -.025em; line-height: 1.4; }

.section { padding: 118px 0; }.section--muted { background: var(--paper-deep); }.section-heading { margin-bottom: 46px; }.split-heading, .inline-heading { display: flex; justify-content: space-between; gap: 45px; align-items: end; }.split-heading > p { max-width: 440px; margin-bottom: 6px; color: var(--slate); }.inline-heading h2 { margin-bottom: 0; }.inline-heading > .text-link { padding-bottom: 8px; white-space: nowrap; }

.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.service-card { min-height: 350px; padding: 31px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }.service-card:hover { border-color: transparent; box-shadow: var(--shadow); transform: translateY(-5px); }.service-card .eyebrow { margin: 27px 0 11px; color: var(--orange); }.service-card > p:not(.eyebrow) { min-height: 78px; color: var(--slate); font-size: .95rem; }.service-card a { display: inline-flex; gap: 7px; margin-top: 10px; color: var(--ink); font-size: .89rem; font-weight: 820; }.service-card a:hover { color: var(--teal-deep); }
.service-icon { position: relative; display: block; width: 58px; height: 50px; border: 2px solid var(--ink); border-radius: 5px; }.service-icon i { position: absolute; display: block; }.service-icon--print { border-top-width: 9px; }.service-icon--print::before { position: absolute; top: 17px; left: 15px; width: 23px; height: 16px; border: 2px solid var(--ink); content: ""; }.service-icon--print i:nth-child(1) { top: -16px; left: 20px; width: 14px; height: 15px; background: var(--orange); }.service-icon--print i:nth-child(2) { top: 12px; right: 7px; width: 5px; height: 5px; border-radius: 50%; background: var(--teal-deep); }.service-icon--print i:nth-child(3) { bottom: -8px; left: 6px; width: 43px; height: 4px; background: var(--ink); }.service-icon--cad { border: 0; background: linear-gradient(135deg, transparent 28%, var(--violet) 29% 47%, transparent 48%), linear-gradient(45deg, transparent 32%, var(--teal) 33% 52%, transparent 53%); }.service-icon--cad::before { position: absolute; inset: 6px; border: 2px solid var(--ink); content: ""; transform: rotate(30deg); }.service-icon--cad i:nth-child(1) { right: 3px; bottom: 1px; width: 18px; height: 18px; border: 4px solid var(--orange); border-radius: 50%; }.service-icon--cad i:nth-child(2) { right: -1px; bottom: -1px; width: 11px; height: 3px; background: var(--orange); transform: rotate(45deg); }.service-icon--model { border: 0; }.service-icon--model::before, .service-icon--model::after { position: absolute; width: 30px; height: 30px; border: 2px solid var(--ink); content: ""; transform: rotate(30deg) skew(-8deg); }.service-icon--model::before { top: 0; left: 3px; background: var(--teal); }.service-icon--model::after { right: 2px; bottom: 0; background: var(--violet); }.service-icon--model i { z-index: 1; width: 11px; height: 11px; border-radius: 50%; background: var(--orange); }.service-icon--model i:nth-child(1) { top: 8px; left: 22px; }.service-icon--model i:nth-child(2) { top: 26px; left: 8px; }.service-icon--model i:nth-child(3) { right: 7px; bottom: 6px; }

.process-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 115px; align-items: start; }.process-copy > p:not(.eyebrow) { max-width: 450px; margin-bottom: 28px; color: #536078; }.process-list { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; border-top: 1px solid #cfd1d2; }.process-list li { display: grid; grid-template-columns: 72px 1fr; gap: 20px; padding: 29px 0; border-bottom: 1px solid #cfd1d2; }.process-list li > span { color: var(--orange); font-size: .78rem; font-weight: 850; letter-spacing: .06em; }.process-list h3 { margin-bottom: 8px; font-size: 1.35rem; }.process-list p { margin: 0; color: #536078; font-size: .94rem; }

.gallery-preview { overflow: hidden; }.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.gallery-card { overflow: hidden; min-width: 0; border-radius: var(--radius); background: var(--white); box-shadow: 0 5px 18px rgba(11,17,32,.06); }.gallery-card img { width: 100%; height: 270px; object-fit: cover; }.gallery-art { position: relative; height: 270px; overflow: hidden; background: #ccd3dc; }.gallery-art::before, .gallery-art::after, .gallery-art span { position: absolute; display: block; content: ""; }.gallery-art--enclosure { background: linear-gradient(135deg, #263653, #71869a); }.gallery-art--enclosure::before { top: 63px; left: 29%; width: 42%; height: 48%; border: 14px solid #fcfbf5; border-radius: 8px; background: #aab7c0; box-shadow: 17px 18px 0 #1c2b42; transform: skewY(-8deg); }.gallery-art--enclosure::after { top: 96px; left: 43%; width: 22%; height: 8px; border-radius: 10px; background: var(--orange); }.gallery-art--enclosure span:nth-child(1) { top: 143px; left: 44%; width: 25px; height: 25px; border-radius: 50%; border: 5px solid #25354f; }.gallery-art--topper { background: linear-gradient(150deg, #f9d1c3, #ed8b6b); }.gallery-art--topper::before { bottom: 26px; left: 20%; width: 60%; height: 130px; background: #fff9e9; clip-path: polygon(14% 100%, 23% 40%, 43% 56%, 54% 15%, 65% 56%, 83% 40%, 90% 100%); }.gallery-art--topper::after { bottom: 10px; left: 49%; width: 6px; height: 82px; background: #5d444b; }.gallery-art--topper span { top: 43px; left: 27%; color: #fff9e9; font: 800 1.7rem Georgia, serif; transform: rotate(-5deg); }.gallery-art--topper span::after { content: "CELEBRATE"; }.gallery-art--component { background: #233b4d; }.gallery-art--component::before { top: 65px; left: 27%; width: 47%; height: 128px; border: 24px solid #e1e8ea; border-radius: 50% 17% 49% 13%; box-shadow: inset 0 0 0 15px #5adbc5; transform: rotate(-19deg); }.gallery-art--component::after { top: 106px; left: 46%; width: 23px; height: 23px; border: 7px solid #20374d; border-radius: 50%; background: var(--orange); }.gallery-art--display { background: linear-gradient(135deg, #34396b, #837cc5); }.gallery-art--display::before { bottom: 38px; left: 23%; width: 52%; height: 125px; background: #f6f1e6; clip-path: polygon(0 100%, 20% 27%, 80% 27%, 100% 100%); }.gallery-art--display::after { bottom: 65px; left: 37%; width: 25%; height: 65px; border: 11px solid #24304c; border-bottom: 0; border-radius: 50% 50% 0 0; }.gallery-art--model { background: linear-gradient(145deg, #dce5db, #8fa89c); }.gallery-art--model::before { bottom: 32px; left: 24%; width: 53%; height: 160px; background: #f5f3e9; clip-path: polygon(0 100%, 0 49%, 17% 49%, 17% 29%, 33% 29%, 33% 11%, 54% 11%, 54% 33%, 72% 33%, 72% 51%, 100% 51%, 100% 100%); box-shadow: 15px 16px 0 rgba(39,68,53,.3); }.gallery-art--model::after { right: 16%; bottom: 32px; width: 38px; height: 93px; background: #507960; }.gallery-art--organiser { background: linear-gradient(135deg, #edb45e, #db694d); }.gallery-art--organiser::before { bottom: 35px; left: 18%; width: 64%; height: 100px; background: #314c59; box-shadow: inset 0 23px 0 #567683, inset 0 48px 0 #314c59, inset 0 71px 0 #567683; }.gallery-art--organiser::after { bottom: 42px; left: 28%; width: 44%; height: 9px; background: var(--teal); box-shadow: 0 -25px 0 var(--teal), 0 -49px 0 var(--teal); }.gallery-card__body { padding: 22px 22px 25px; }.gallery-card__body p { margin-bottom: 8px; color: var(--orange); font-size: .68rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }.gallery-card__body h2 { margin-bottom: 9px; font-size: 1.35rem; }.gallery-card__body span { display: block; margin-bottom: 0; color: var(--slate); font-size: .88rem; line-height: 1.45; }.gallery-card__body b { display: inline-flex; gap: 6px; align-items: center; color: var(--ink); font-size: .79rem; font-weight: 850; }.gallery-card:hover .gallery-card__body b { color: var(--teal-deep); }

.shop-preview { background: var(--ink); color: var(--white); }.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.product-card { overflow: hidden; border-radius: var(--radius); background: var(--white); color: var(--ink); box-shadow: 0 7px 24px rgba(0,0,0,.16); transition: transform .25s ease; }.product-card:hover { transform: translateY(-5px); }.product-art { position: relative; height: 205px; overflow: hidden; background: #b7c9cf; }.product-art::before, .product-art::after, .product-art span { position: absolute; display: block; content: ""; }.product-art--layered { background: linear-gradient(145deg, #dfaa7f, #b9505d); }.product-art--layered::before { top: 31px; left: 22%; width: 58%; height: 144px; border-radius: 50%; background: repeating-radial-gradient(ellipse at center, #fff2df 0 4px, #dbd9c7 5px 8px); }.product-art--layered::after { top: 80px; left: 32%; width: 38%; height: 34px; background: #f17a56; clip-path: polygon(0 100%, 0 28%, 11% 7%, 18% 27%, 25% 0, 33% 27%, 42% 0, 52% 26%, 62% 0, 72% 25%, 82% 4%, 90% 27%, 100% 9%, 100% 100%); }.product-art--keyring { background: linear-gradient(135deg, #523e7d, #a190dc); }.product-art--keyring::before { top: 34px; left: 32%; width: 89px; height: 115px; border: 22px solid #e2f4e7; border-radius: 43px 43px 18px 18px; transform: rotate(19deg); }.product-art--keyring::after { top: 47px; left: 43%; width: 19px; height: 19px; border: 5px solid #443567; border-radius: 50%; }.product-art--keyring span { top: 106px; left: 42%; color: #443567; font-size: .72rem; font-weight: 900; transform: rotate(19deg); }.product-art--keyring span::after { content: "JLA"; }.product-art--cable { background: linear-gradient(135deg, #f1d861, #ee9658); }.product-art--cable::before { top: 47px; left: 22%; width: 59%; height: 105px; border: 17px solid #344b65; border-radius: 13px; }.product-art--cable::after { top: 70px; left: 34%; width: 34px; height: 64px; border: 8px solid #f5f2e7; border-radius: 19px; }.product-art--bracket { background: linear-gradient(135deg, #3d4a5b, #8194a6); }.product-art--bracket::before { top: 41px; left: 30%; width: 115px; height: 121px; border: 24px solid #db7157; border-top-width: 16px; border-radius: 5px; transform: rotate(-10deg); }.product-art--bracket::after { top: 76px; left: 48%; width: 21px; height: 21px; border-radius: 50%; background: var(--ink); box-shadow: -42px 34px 0 var(--ink); }.product-art--planter { background: linear-gradient(145deg, #8cae78, #3d6757); }.product-art--planter::before { top: 53px; left: 31%; width: 120px; height: 118px; border-radius: 12px 12px 42% 42%; background: repeating-linear-gradient(to bottom, #eadfca 0 5px, #c9bda6 6px 9px); }.product-art--planter::after { top: 22px; left: 42%; width: 64px; height: 74px; border-radius: 80% 0 80% 0; background: #203f31; transform: rotate(-28deg); }.product-art--stand { background: linear-gradient(145deg, #4693a8, #183e60); }.product-art--stand::before { right: 29%; bottom: 21px; width: 96px; height: 143px; border: 17px solid #edf1e8; border-bottom-width: 28px; border-radius: 45px 45px 10px 10px; }.product-art--stand::after { bottom: 22px; left: 27%; width: 48%; height: 18px; border-radius: 50%; background: #d95f55; }.product-card__body { padding: 24px; }.product-card__body > p:not(.eyebrow) { min-height: 50px; margin-bottom: 19px; color: var(--slate); font-size: .88rem; }.product-card__title { display: flex; justify-content: space-between; gap: 10px; align-items: start; }.product-card h2 { margin-bottom: 10px; font-size: 1.28rem; }.product-card__title strong { color: var(--teal-deep); font-size: .79rem; white-space: nowrap; }.product-card__links { display: flex; flex-wrap: wrap; gap: 14px; }.product-card__links a { color: var(--ink); font-size: .79rem; font-weight: 850; }.product-card__links a:hover { color: var(--teal-deep); }

.quote-section { background: var(--white); }.quote-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }.quote-copy { padding-top: 35px; }.quote-copy > p:not(.eyebrow) { max-width: 385px; color: var(--slate); }.quote-note { display: flex; gap: 10px; max-width: 400px; margin-top: 38px; padding-top: 22px; border-top: 1px solid var(--line); }.quote-note > span { color: var(--orange); }.quote-note p { margin: 0; color: #56627a; font-size: .87rem; }.quote-note a { color: var(--ink); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.quote-panel { padding: 35px; border-radius: var(--radius); background: var(--ink); color: var(--white); }.form-status, .form-errors { margin-bottom: 23px; padding: 14px 16px; border-radius: 7px; font-size: .88rem; }.form-status { background: rgba(71,230,204,.17); border: 1px solid rgba(71,230,204,.5); color: #d7fff8; }.form-errors { border: 1px solid rgba(255,112,67,.65); background: rgba(255,112,67,.14); color: #fff3ef; }.form-errors strong { display: block; margin-bottom: 4px; }.form-errors ul { margin: 4px 0 0; padding-left: 18px; }.quote-panel form { display: grid; gap: 21px; }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.quote-panel label { display: grid; gap: 8px; color: #e1e7f1; font-size: .82rem; font-weight: 760; }.quote-panel label span { color: #8b9ab4; font-weight: 600; }.quote-panel input:not([type="checkbox"]), .quote-panel textarea { width: 100%; border: 1px solid #3a4961; border-radius: 5px; outline: none; background: #172238; color: var(--white); font-size: .92rem; }.quote-panel input:not([type="checkbox"]) { height: 44px; padding: 0 12px; }.quote-panel textarea { min-height: 130px; padding: 12px; resize: vertical; }.quote-panel input:focus, .quote-panel textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(71,230,204,.16); }.quote-panel textarea::placeholder { color: #8190a8; }.quote-panel fieldset { padding: 0; border: 0; }.quote-panel legend { margin-bottom: 10px; color: #e1e7f1; font-size: .82rem; font-weight: 760; }.service-options { display: flex; flex-wrap: wrap; gap: 9px; }.service-options label { position: relative; display: block; cursor: pointer; }.service-options input { position: absolute; opacity: 0; }.service-options span { display: block; padding: 8px 11px; border: 1px solid #3a4961; border-radius: 99px; color: #bac5d7; font-size: .76rem; transition: background .2s ease, border-color .2s ease, color .2s ease; }.service-options input:checked + span { border-color: var(--teal); background: rgba(71,230,204,.12); color: var(--teal); }.service-options input:focus-visible + span { box-shadow: 0 0 0 3px rgba(71,230,204,.22); }.form-submit { display: flex; justify-content: space-between; align-items: center; gap: 17px; }.form-submit p { flex: 1 1 auto; min-width: 0; max-width: 340px; margin: 0; color: #9aa9c0; font-size: .74rem; line-height: 1.45; }.form-submit .button { flex: 0 0 auto; white-space: nowrap; }.honey-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.site-footer { padding: 66px 0 24px; background: #060b15; color: #d9e1ed; }.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 70px; padding-bottom: 56px; }.brand--footer { margin-bottom: 20px; }.footer-grid > div:first-child > p { max-width: 320px; margin: 0; color: #91a0b9; font-size: .87rem; }.footer-grid h2 { margin: 0 0 16px; color: var(--teal); font-size: .74rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }.footer-grid > div:not(:first-child) a { color: #c6d0df; font-size: .86rem; }.footer-grid > div:not(:first-child) a:hover { color: var(--teal); }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; border-top: 1px solid #1c2738; color: #728097; font-size: .72rem; }

.page-hero { position: relative; overflow: hidden; padding: 12px 0 106px; background: var(--ink); color: var(--white); }.page-hero::before { position: absolute; top: -190px; right: 8%; width: 520px; height: 520px; border: 1px solid rgba(71,230,204,.18); border-radius: 50%; box-shadow: 0 0 0 55px rgba(71,230,204,.035), 0 0 0 110px rgba(71,230,204,.025); content: ""; }.page-hero .container { position: relative; z-index: 1; }.page-hero h1 { margin-bottom: 22px; font-size: clamp(3.4rem, 7vw, 6.5rem); }.page-hero p:last-child { max-width: 535px; margin: 0; color: #b4c0d4; font-size: 1.05rem; }.page-hero--shop::before { right: auto; left: 59%; border-radius: 43% 57% 67% 33% / 38% 36% 64% 62%; background: rgba(133,116,247,.08); }
.page-hero--account .section-heading { margin-bottom: 0; }
.gallery-page .section-heading { display: flex; align-items: end; justify-content: space-between; }.gallery-page .gallery-grid { grid-template-columns: repeat(3, 1fr); }.callout { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 60px; padding: 42px; border-radius: var(--radius); background: var(--paper-deep); }.callout .eyebrow { margin-bottom: 10px; }.callout h2 { margin: 0; font-size: 2.25rem; }.store-page { padding-top: 75px; }.store-intro { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 40px; padding-bottom: 25px; border-bottom: 1px solid var(--line); }.store-intro > p { max-width: 470px; margin: 0; color: var(--slate); }.store-intro > div { display: flex; flex-wrap: wrap; gap: 10px; }.market-link { padding: 10px 14px; border: 1px solid var(--line); border-radius: 5px; font-size: .83rem; font-weight: 800; }.market-link:hover { border-color: var(--teal-deep); color: var(--teal-deep); }

@media (max-width: 960px) {
    .hero-grid { grid-template-columns: 1fr .75fr; }.printer-scene { transform: scale(.8); transform-origin: right center; margin-right: -58px; }.hero h1 { font-size: clamp(3.2rem, 7vw, 5.7rem); }.process-grid, .quote-grid { gap: 52px; }.footer-grid { gap: 40px; }.gallery-grid, .product-grid { grid-template-columns: repeat(2, 1fr); }.gallery-grid--preview .gallery-card:last-child, .product-grid--preview .product-card:last-child { display: none; }
}

/* Keep the top-of-page introduction purposeful without letting it consume a
   typical laptop viewport. Mobile has its own single-column treatment below. */
@media (min-width: 721px) and (max-width: 1440px), (min-width: 721px) and (max-height: 900px) {
    .hero, .hero-grid { min-height: clamp(550px, 72svh, 590px); }
    .hero-grid { gap: 28px; }
    .hero h1 { max-width: 620px; margin-bottom: 18px; font-size: clamp(2.95rem, 5.1vw, 4.8rem); }
    .hero-text { max-width: 500px; margin-bottom: 24px; font-size: 1.02rem; line-height: 1.58; }
    .hero-actions { gap: 14px 20px; }
    .hero-points { margin-top: 36px; }
    .page-hero { padding-bottom: 76px; }
    .page-hero h1 { margin-bottom: 17px; font-size: clamp(2.9rem, 5vw, 4.8rem); }
    .page-hero p:last-child { font-size: 1rem; }
}

@media (min-width: 721px) and (max-width: 980px) {
    .nav-menu nav { gap: 16px; }.nav-menu nav > a:not(.button) { font-size: .82rem; }.nav-menu .button { padding: 10px 13px; font-size: .72rem; }
}

@media (max-width: 720px) {
    .container { width: min(calc(100% - 32px), var(--container)); }.nav-wrap { min-height: 67px; }.nav-menu { position: relative; }.nav-menu summary { display: grid; gap: 4px; width: 36px; padding: 9px 0 9px 11px; list-style: none; cursor: pointer; }.nav-menu summary::-webkit-details-marker { display: none; }.nav-menu summary span { display: block; width: 22px; height: 2px; background: var(--white); }.nav-menu[open] summary span:nth-child(1) { transform: translateY(6px) rotate(45deg); }.nav-menu[open] summary span:nth-child(2) { opacity: 0; }.nav-menu[open] summary span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }.nav-menu nav { position: absolute; top: 48px; right: -3px; display: flex; width: 220px; padding: 15px; border: 1px solid #26344e; border-radius: 10px; background: #101a2b; box-shadow: var(--shadow); flex-direction: column; align-items: stretch; gap: 4px; }.nav-menu nav > a:not(.button) { padding: 9px 10px; }.nav-menu .button { margin-top: 5px; }.hero { min-height: auto; }.hero-grid { display: block; min-height: unset; padding: 12px 0 44px; }.hero-copy { padding-top: 0; }.hero h1 { font-size: clamp(3.3rem, 16vw, 5rem); }.hero-text { font-size: 1rem; }.hero-points { margin-top: 41px; gap: 13px; font-size: .69rem; }.printer-scene { height: 300px; margin: 0 -39px -50px auto; transform: scale(.57); transform-origin: right top; }.intro-band { padding: 25px 0; }.intro-grid { display: block; }.intro-grid .eyebrow { margin-bottom: 11px; }.intro-grid > p:last-child { font-size: 1.1rem; }.section { padding: 76px 0; }.split-heading, .inline-heading { display: block; }.section-heading { margin-bottom: 32px; }.split-heading > p { margin-top: 19px; }.inline-heading > .text-link { display: inline-flex; margin-top: 8px; }.service-grid, .gallery-grid, .product-grid { grid-template-columns: 1fr; }.service-card { min-height: 0; }.service-card > p:not(.eyebrow) { min-height: 0; }.process-grid, .quote-grid { grid-template-columns: 1fr; gap: 26px; }.process-copy { padding-bottom: 22px; }.process-list li { grid-template-columns: 50px 1fr; }.gallery-grid--preview .gallery-card:last-child, .product-grid--preview .product-card:last-child { display: block; }.gallery-art { height: 250px; }.shop-preview .section-heading { margin-bottom: 32px; }.quote-copy { padding-top: 0; }.quote-panel { padding: 23px 18px; }.form-grid { grid-template-columns: 1fr; gap: 16px; }.form-submit { display: block; }.form-submit p { margin-bottom: 16px; }.footer-grid { grid-template-columns: 1fr; gap: 33px; padding-bottom: 38px; }.footer-bottom { display: block; }.footer-bottom span { display: block; }.footer-bottom span + span { margin-top: 7px; }.page-hero { padding: 12px 0 74px; }.page-hero h1 { font-size: clamp(3.25rem, 16vw, 5rem); }.page-hero::before { right: -150px; }.gallery-page .section-heading { display: block; }.callout { display: block; padding: 28px; }.callout .button { margin-top: 21px; }.store-page { padding-top: 56px; }.store-intro { display: block; }.store-intro > div { margin-top: 18px; }
}

@media (max-width: 600px) {
    .hero-actions { grid-template-columns: 1fr; gap: 18px; align-items: start; }.hero-actions .button { grid-column: auto; }
}

@media (max-width: 390px) { .hero-points { flex-wrap: wrap; }.product-card__title { display: block; }.product-card__title strong { display: block; margin: -3px 0 9px; }.service-options { display: grid; grid-template-columns: 1fr 1fr; }.service-options span { text-align: center; } }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

.service-grid { grid-template-columns: repeat(3, 1fr); }
.service-icon--scan { border: 0; border-radius: 50%; background: radial-gradient(circle, var(--white) 0 8px, transparent 9px); box-shadow: inset 0 0 0 2px var(--ink); }
.service-icon--scan::before { position: absolute; top: 24px; left: 0; width: 58px; height: 3px; background: var(--orange); content: ""; }
.service-icon--scan::after { position: absolute; inset: 8px; border: 2px dashed var(--violet); border-radius: 50%; content: ""; }

@media (max-width: 960px) { .service-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) { .service-grid { grid-template-columns: 1fr; } }

.admin-description { display: grid; gap: 8px; }.admin-description__label { color: #26354e; font-size: .81rem; font-weight: 800; }.admin-description__toolbar { display: flex; flex-wrap: wrap; gap: 7px; padding: 8px; border: 1px solid #cbd2da; border-bottom: 0; border-radius: 5px 5px 0 0; background: #f4f6f6; }.admin-description__toolbar button { min-width: 37px; min-height: 32px; padding: 0 9px; border: 1px solid #c0c8d0; border-radius: 4px; background: #fff; color: #26354e; font-size: .75rem; }.admin-description__toolbar button:hover, .admin-description__toolbar button:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: 0; }.admin-description__surface { min-height: 340px; padding: 12px; border: 1px solid #cbd2da; border-radius: 0 0 5px 5px; outline: 0; resize: vertical; overflow: auto; background: #fcfcfb; color: var(--ink); font-size: .91rem; line-height: 1.55; }.admin-description__surface:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(24,185,160,.13); }.admin-description__surface p { margin: 0 0 12px; }.admin-description__surface p:last-child { margin-bottom: 0; }.admin-description__surface ul, .admin-description__surface ol { margin: 0 0 12px; padding-left: 24px; }.admin-description__meta { margin: 0; color: #6c7890; font-size: .74rem; }.admin-description__editor.is-over-limit .admin-description__surface { border-color: #b23d2c; }.admin-description__editor.is-over-limit .admin-description__meta { color: #a62c20; }.description-content { white-space: normal; }.description-content p { margin: 0 0 15px; }.description-content p:last-child { margin-bottom: 0; }.description-content ul, .description-content ol { margin: 0 0 16px; padding-left: 24px; }.description-content li + li { margin-top: 5px; }.product-detail__description { white-space: normal; }.theme-logo-dark .admin-description__label { color: #e5e9eb; }.theme-logo-dark .admin-description__toolbar, .theme-logo-dark .admin-description__surface { border-color: #454d52; background: #141719; color: #f7f8f8; }.theme-logo-dark .admin-description__toolbar button { border-color: #4d555a; background: #252a2d; color: #e8ebed; }.theme-logo-dark .admin-description__toolbar button:hover, .theme-logo-dark .admin-description__toolbar button:focus-visible { border-color: var(--teal); color: #ffc38f; }.theme-logo-dark .admin-description__meta { color: #aeb6bc; }.theme-logo-dark .admin-description__editor.is-over-limit .admin-description__meta { color: #ffd0c5; }

.admin-viewer__form { max-width: 520px; }.admin-viewer__toggle { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 13px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); cursor: pointer; }.admin-viewer__toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; }.admin-viewer__toggle-track { position: relative; width: 48px; height: 27px; border-radius: 99px; background: #9ca8b5; transition: background .2s ease; }.admin-viewer__toggle-track::after { position: absolute; top: 4px; left: 4px; width: 19px; height: 19px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(11,17,32,.22); content: ""; transition: transform .2s ease; }.admin-viewer__toggle input:checked + .admin-viewer__toggle-track { background: var(--teal-deep); }.admin-viewer__toggle input:checked + .admin-viewer__toggle-track::after { transform: translateX(21px); }.admin-viewer__toggle:has(input:focus-visible) { outline: 3px solid rgba(24,185,160,.2); outline-offset: 2px; }.admin-viewer__toggle strong, .admin-viewer__toggle small { display: block; }.admin-viewer__toggle strong { margin-bottom: 4px; color: var(--ink); font-size: .84rem; }.admin-viewer__toggle small { color: var(--slate); font-size: .74rem; }.theme-logo-dark .admin-viewer__toggle { border-color: #454d52; background: #202529; }.theme-logo-dark .admin-viewer__toggle strong { color: #f1f3f4; }.theme-logo-dark .admin-viewer__toggle small { color: #aeb6bc; }.theme-logo-dark .admin-viewer__toggle input:checked + .admin-viewer__toggle-track { background: var(--orange); }

.product-card > img { width: 100%; height: 205px; object-fit: cover; }
.admin-body { min-height: 100vh; background: #edf0f3; }.admin-header { background: var(--ink); color: var(--white); }.admin-header__inner { display: flex; min-height: 73px; align-items: center; gap: 36px; }.admin-nav { display: flex; align-items: center; gap: 22px; margin-right: auto; }.admin-nav a { padding: 8px 0; color: #b9c4d7; font-size: .84rem; font-weight: 780; }.admin-nav a:hover, .admin-nav a.is-active { color: var(--teal); }.admin-header__actions { display: flex; align-items: center; gap: 16px; }.admin-header__actions > a { color: #c5d1e2; font-size: .8rem; font-weight: 700; }.admin-header__actions > a:hover { color: var(--teal); }.admin-header__actions form { margin: 0; }.admin-header__actions button { padding: 7px 10px; border: 1px solid #44526a; border-radius: 4px; background: transparent; color: #d8e0eb; font-size: .77rem; font-weight: 750; }.admin-header__actions button:hover { border-color: var(--teal); color: var(--teal); }
.admin-main { padding: 72px 0 110px; }.admin-page-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 42px; }.admin-page-heading h1 { margin-bottom: 17px; font-size: clamp(2.9rem, 6vw, 5.4rem); }.admin-page-heading h1 span { color: var(--teal-deep); }.admin-page-heading > div > p:not(.eyebrow) { max-width: 540px; margin: 0; color: var(--slate); }.admin-page-heading--compact h1 { font-size: clamp(2.75rem, 5.5vw, 4.8rem); }.admin-summary { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }.admin-summary article { position: relative; min-height: 228px; padding: 28px; overflow: hidden; border-radius: var(--radius); background: var(--ink); color: var(--white); }.admin-summary article:nth-child(2) { background: #3f3970; }.admin-summary article::after { position: absolute; right: -32px; bottom: -48px; width: 160px; height: 160px; border: 1px solid rgba(71,230,204,.32); border-radius: 50%; content: ""; }.admin-summary__icon { display: block; color: var(--teal); font-size: 1.3rem; }.admin-summary p { margin: 20px 0 2px; color: #a9b5c9; font-size: .78rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }.admin-summary strong { display: block; margin-bottom: 18px; font-size: 3rem; letter-spacing: -.06em; }.admin-summary a { position: relative; z-index: 1; display: inline-flex; gap: 7px; color: var(--teal); font-size: .85rem; font-weight: 820; }.admin-actions { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin-top: 19px; padding: 31px; border-radius: var(--radius); background: var(--white); }.admin-actions .eyebrow { margin-bottom: 10px; }.admin-actions h2 { margin: 0; font-size: 1.9rem; }.admin-actions__links { display: flex; flex-wrap: wrap; gap: 10px; }.admin-actions__links a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 5px; font-size: .84rem; font-weight: 780; }.admin-actions__links a:hover { border-color: var(--teal-deep); color: var(--teal-deep); }.admin-actions__links span { color: var(--orange); font-size: 1.2rem; }.admin-note { margin: 21px 0 0; color: var(--slate); font-size: .79rem; }
.admin-flash, .admin-alert { margin-bottom: 26px; padding: 14px 17px; border: 1px solid #8fd9ca; border-radius: 7px; background: #d6f4ee; color: #123a42; font-size: .87rem; }.admin-alert { border-color: #f1a38b; background: #fff0ea; color: #7a2d20; }.admin-alert--warning { border-color: #e7c267; background: #fff8d9; color: #695012; }.admin-alert strong { display: block; margin-bottom: 3px; }.admin-alert p { margin: 0; }.admin-alert ul { margin: 5px 0 0; padding-left: 18px; }
.admin-editor { margin-bottom: 59px; padding: 34px; border-radius: var(--radius); background: var(--white); box-shadow: 0 12px 32px rgba(11,17,32,.08); }.admin-editor__heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }.admin-editor__heading .eyebrow { margin-bottom: 8px; }.admin-editor__heading h2 { margin: 0; font-size: 2rem; }.admin-editor__heading > a, .admin-form__actions > a { font-size: .84rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }.admin-form { display: grid; gap: 20px; }.admin-form label { display: grid; gap: 8px; color: #26354e; font-size: .81rem; font-weight: 800; }.admin-form label span { color: #7c899c; font-weight: 650; }.admin-form input:not([type="file"]), .admin-form textarea, .admin-form select { width: 100%; border: 1px solid #cbd2da; border-radius: 5px; outline: none; background: #fcfcfb; color: var(--ink); font-size: .91rem; }.admin-form input:not([type="file"]), .admin-form select { height: 44px; padding: 0 11px; }.admin-form textarea { padding: 11px; resize: vertical; }.admin-form input:focus, .admin-form textarea:focus, .admin-form select:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(24,185,160,.13); }.admin-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.admin-image-fields { display: grid; grid-template-columns: 1fr 145px; gap: 25px; align-items: end; padding: 19px; border: 1px dashed #bfc8d0; border-radius: 7px; background: #f7f8f8; }.admin-image-fields p { margin: 7px 0 11px; color: var(--slate); font-size: .75rem; }.admin-image-fields input[type="file"] { max-width: 100%; color: #485773; font-size: .77rem; }.admin-image-fields img { width: 145px; height: 110px; border-radius: 6px; object-fit: cover; }.admin-form__actions { display: flex; justify-content: flex-end; align-items: center; gap: 20px; padding-top: 5px; }
.admin-items__heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }.admin-items__heading h2 { margin: 0; font-size: 1.9rem; }.admin-items__heading span { color: var(--slate); font-size: .8rem; font-weight: 750; }.admin-item-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.admin-item { overflow: hidden; border: 1px solid #d7dde3; border-radius: 12px; background: var(--white); }.admin-item__visual { display: grid; height: 120px; place-items: center; background: linear-gradient(135deg, #1e3850, #597889); color: var(--teal); font-size: .68rem; font-weight: 900; letter-spacing: .2em; }.admin-item__visual img { width: 100%; height: 100%; object-fit: cover; }.admin-item__body { padding: 18px; }.admin-item__body > p { margin-bottom: 7px; color: var(--teal-deep); font-size: .65rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }.admin-item__body h3 { margin-bottom: 7px; font-size: 1.15rem; }.admin-item__body > strong { display: block; margin-bottom: 15px; color: #7b658c; font-size: .78rem; }.admin-item__body > div { display: flex; align-items: center; gap: 14px; margin-top: 15px; }.admin-item__body a, .admin-item__body button { padding: 0; border: 0; background: transparent; color: #33455f; font-size: .79rem; font-weight: 850; }.admin-item__body a:hover { color: var(--teal-deep); }.admin-item__body button { color: #b23d2c; }.admin-item__body button:hover { color: #7e2218; text-decoration: underline; }.admin-item__body form { margin: 0; }.admin-empty { padding: 42px; border: 1px dashed #bfc8d0; border-radius: 11px; text-align: center; }.admin-empty p { color: var(--slate); }
.admin-login { display: grid; min-height: 100vh; place-items: center; padding: 28px; background: radial-gradient(circle at 80% 10%, #263c5b, transparent 35%), var(--ink); }.admin-login__panel { width: min(100%, 490px); padding: 43px; border: 1px solid #2c3b53; border-radius: var(--radius); background: rgba(13,23,40,.93); color: var(--white); box-shadow: 0 24px 55px rgba(0,0,0,.3); }.admin-login__copy { margin: 49px 0 29px; }.admin-login__copy h1 { margin-bottom: 17px; font-size: clamp(2.7rem, 7vw, 4.8rem); }.admin-login__copy h1 span { color: var(--teal); }.admin-login__copy p:last-child { margin: 0; color: #aab7cb; }.admin-login__form { display: grid; gap: 10px; }.admin-login__form label { color: #dfe6f0; font-size: .8rem; font-weight: 800; }.admin-login__form input { height: 47px; margin-bottom: 8px; padding: 0 12px; border: 1px solid #40506a; border-radius: 5px; outline: none; background: #172238; color: var(--white); }.admin-login__form input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(71,230,204,.15); }.admin-login__form .button { width: 100%; margin-top: 2px; }.admin-login__back { display: inline-block; margin-top: 28px; color: #a9b6cb; font-size: .8rem; font-weight: 760; }.admin-login__back:hover { color: var(--teal); }
@media (max-width: 720px) { .admin-header__inner { min-height: auto; padding: 15px 0; flex-wrap: wrap; gap: 16px; }.admin-nav { order: 3; width: 100%; gap: 19px; }.admin-header__actions { margin-left: auto; }.admin-main { padding: 50px 0 75px; }.admin-page-heading, .admin-actions { display: block; }.admin-page-heading .button { margin-top: 22px; }.admin-summary, .admin-item-grid, .admin-form__grid { grid-template-columns: 1fr; }.admin-actions__links { margin-top: 20px; }.admin-editor { padding: 23px 17px; }.admin-editor__heading { align-items: start; }.admin-image-fields { grid-template-columns: 1fr; }.admin-image-fields img { width: 100%; height: 180px; }.admin-form__actions { justify-content: space-between; }.admin-login { padding: 16px; }.admin-login__panel { padding: 29px 22px; } }

.product-card__image { display: block; overflow: hidden; }.product-card__image > img { width: 100%; height: 205px; object-fit: cover; transition: transform .35s ease; }.product-card:hover .product-card__image > img { transform: scale(1.045); }.product-card__title h2 a:hover { color: var(--teal-deep); }.listing-review-rating { display: inline-flex; align-items: center; gap: 5px; color: var(--ink); font-size: .72rem; font-weight: 850; line-height: 1; }.listing-review-rating__stars { display: inline-block; letter-spacing: .04em; background: linear-gradient(90deg, var(--orange) calc(var(--listing-review-rating) * 20%), color-mix(in srgb, var(--white) 44%, transparent) calc(var(--listing-review-rating) * 20%)); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: .84rem; }.listing-review-rating__value { color: inherit; font-size: .68rem; }.listing-review-rating--card { position: absolute; z-index: 2; top: 12px; right: 12px; padding: 6px 7px; border: 1px solid rgb(255 255 255 / 28%); border-radius: 5px; background: rgb(11 17 32 / 82%); box-shadow: 0 2px 8px rgb(0 0 0 / 22%); color: var(--white); }.listing-review-rating--card .listing-review-rating__stars { font-size: .76rem; }.product-detail__price-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 27px; }.product-detail__price-row .product-detail__price { margin-bottom: 0; }.listing-review-rating--detail { flex: 0 0 auto; padding: 7px 9px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface-muted, var(--paper-deep)); color: var(--ink); }.listing-review-rating--detail .listing-review-rating__stars { font-size: .95rem; }@media (max-width: 420px) { .product-detail__price-row { align-items: start; flex-direction: column; gap: 8px; } }
.missing-page { min-height: 58vh; padding: 120px 0; }.missing-page > .container { max-width: 680px; }.missing-page p:not(.eyebrow) { max-width: 460px; margin-bottom: 30px; color: var(--slate); }.product-detail { padding: 53px 0 105px; background: var(--paper); }.back-link { display: inline-flex; gap: 8px; margin-bottom: 36px; color: #40506b; font-size: .86rem; font-weight: 800; }.back-link:hover { color: var(--teal-deep); }.product-detail__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(310px, .92fr); gap: clamp(38px, 7vw, 92px); align-items: start; }.product-gallery { min-width: 0; }.product-gallery__main-wrap { position: relative; overflow: hidden; border-radius: var(--radius); background: #dce3e5; }.product-gallery__main { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }.product-gallery__main[hidden] { display: none; }.product-gallery__main img { width: 100%; aspect-ratio: 1 / .83; object-fit: cover; }.product-gallery__main span { position: absolute; right: 14px; bottom: 14px; padding: 7px 10px; border-radius: 4px; background: rgba(11,17,32,.78); color: var(--white); font-size: .69rem; font-weight: 780; opacity: 0; transform: translateY(5px); transition: opacity .2s ease, transform .2s ease; }.product-gallery__main:hover span, .product-gallery__main:focus-visible span { opacity: 1; transform: translateY(0); }.product-gallery__arrow { position: absolute; top: 50%; z-index: 1; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(11,17,32,.77); color: var(--white); font-size: 1.3rem; line-height: 1; transform: translateY(-50%); }.product-gallery__arrow:hover { background: var(--teal-deep); }.product-gallery__arrow--previous { left: 14px; }.product-gallery__arrow--next { right: 14px; }.product-gallery__thumbnails { display: flex; gap: 10px; margin-top: 13px; padding: 2px 1px 10px; overflow-x: auto; scrollbar-color: #b9c6c5 transparent; }.product-gallery__thumbnails button { flex: 0 0 82px; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 7px; background: transparent; cursor: pointer; }.product-gallery__thumbnails button.is-active { border-color: var(--teal-deep); }.product-gallery__thumbnails img { width: 78px; height: 66px; object-fit: cover; }.product-lightbox { width: min(96vw, 1300px); max-width: none; max-height: 94vh; padding: 0; overflow: visible; border: 0; border-radius: 12px; background: #0a0e18; }.product-lightbox::backdrop { background: rgba(3,6,12,.88); backdrop-filter: blur(4px); }.product-lightbox__image { display: grid; max-width: 100%; max-height: 94vh; padding: 0; border: 0; background: transparent; cursor: zoom-out; place-items: center; }.product-lightbox__image img { display: block; width: auto; max-width: 100%; max-height: 94vh; object-fit: contain; }.product-lightbox__close, .product-lightbox__arrow { position: fixed; z-index: 2; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: rgba(11,17,32,.84); color: var(--white); font-size: 1.6rem; }.product-lightbox__close { top: 20px; right: 20px; }.product-lightbox__arrow { top: 50%; transform: translateY(-50%); }.product-lightbox__arrow--previous { left: 20px; }.product-lightbox__arrow--next { right: 20px; }.product-lightbox__close:hover, .product-lightbox__arrow:hover { border-color: var(--teal); background: var(--teal-deep); }.product-detail__copy { padding-top: 10px; }.product-detail__copy h1 { margin-bottom: 18px; color: var(--ink); font-size: clamp(2.8rem, 5vw, 5.1rem); }.product-detail__price { margin-bottom: 27px; color: var(--teal-deep); font-size: 1.2rem; font-weight: 840; }.product-detail__description { max-width: 470px; margin-bottom: 32px; color: #536078; font-size: 1rem; white-space: pre-line; }.product-detail__buy { display: flex; flex-wrap: wrap; gap: 10px; }.product-detail__buy .button { min-width: 150px; }.product-detail__note { max-width: 390px; margin: 29px 0 0; padding-top: 20px; border-top: 1px solid var(--line); color: var(--slate); font-size: .82rem; }.product-detail__note a { color: var(--ink); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }.product-detail__placeholder { display: grid; min-height: 430px; overflow: hidden; border-radius: var(--radius); background: #d9e1e3; place-items: center; }.product-detail__placeholder .product-art { width: 100%; max-width: 520px; height: 370px; }.product-detail__placeholder p { margin: -22px 0 22px; color: #536078; font-size: .8rem; }
.admin-product-images { padding: 23px; border: 1px solid #d7dde3; border-radius: 9px; background: #f8faf9; }.admin-product-images__heading { display: flex; justify-content: space-between; gap: 16px; align-items: start; }.admin-product-images__heading .eyebrow { margin-bottom: 7px; }.admin-product-images__heading h3 { margin: 0; font-size: 1.35rem; }.admin-product-images__heading > span { padding: 5px 8px; border-radius: 20px; background: #e1f2ee; color: #1d776c; font-size: .7rem; font-weight: 800; white-space: nowrap; }.admin-product-images > p { max-width: 660px; margin: 13px 0 17px; color: var(--slate); font-size: .79rem; }.admin-image-sort { display: grid; grid-template-columns: repeat(auto-fill, minmax(126px, 1fr)); gap: 12px; padding: 0; margin: 0; list-style: none; }.admin-image-sort li { position: relative; min-width: 0; overflow: hidden; border: 2px solid transparent; border-radius: 7px; background: #e3e9e9; cursor: grab; }.admin-image-sort li:focus-within, .admin-image-sort li:hover { border-color: var(--teal-deep); }.admin-image-sort li.is-dragging { opacity: .45; cursor: grabbing; }.admin-image-sort img { width: 100%; height: 108px; object-fit: cover; pointer-events: none; }.admin-image-sort__position { display: block; padding: 7px 8px; color: #40516c; font-size: .69rem; font-weight: 800; }.admin-image-sort button { position: absolute; top: 5px; right: 5px; display: grid; width: 25px; height: 25px; padding: 0; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; background: rgba(11,17,32,.76); color: var(--white); cursor: pointer; font-size: 1.2rem; line-height: 1; place-items: center; }.admin-image-sort button:hover { background: #b23d2c; }.admin-image-add { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-top: 18px; align-items: end; }.admin-image-add button { height: 44px; padding: 0 14px; border: 1px solid #aebbc5; border-radius: 5px; background: var(--white); color: #30425e; font-size: .8rem; font-weight: 800; }.admin-image-add button:hover { border-color: var(--teal-deep); color: var(--teal-deep); }.admin-upload-label { margin-top: 16px; padding-top: 16px; border-top: 1px solid #d6dddd; }.admin-upload-label input { max-width: 100%; color: #485773; font-size: .77rem; }
@media (max-width: 760px) { .product-detail { padding: 35px 0 70px; }.product-detail__grid { grid-template-columns: 1fr; }.product-detail__copy { padding-top: 6px; }.product-gallery__main img { aspect-ratio: 1 / .9; }.product-lightbox__arrow { width: 38px; height: 38px; }.product-lightbox__arrow--previous { left: 8px; }.product-lightbox__arrow--next { right: 8px; }.product-lightbox__close { top: 9px; right: 9px; }.product-detail__placeholder { min-height: 330px; }.product-detail__placeholder .product-art { height: 300px; }.admin-product-images { padding: 17px; }.admin-image-add { grid-template-columns: 1fr; }.admin-image-add button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .product-card__image > img, .product-gallery__main span { transition: none; } }

.product-gallery__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }.product-gallery__grid button { position: relative; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 9px; background: #dce3e5; cursor: zoom-in; }.product-gallery__grid button:hover, .product-gallery__grid button:focus-visible { border-color: var(--teal-deep); }.product-gallery__grid img { width: 100%; aspect-ratio: 1 / .9; object-fit: cover; transition: transform .25s ease; }.product-gallery__grid button:hover img { transform: scale(1.05); }.product-gallery__grid span { position: absolute; right: 7px; bottom: 7px; padding: 4px 6px; border-radius: 3px; background: rgba(11,17,32,.78); color: var(--white); font-size: .61rem; font-weight: 800; opacity: 0; transition: opacity .2s ease; }.product-gallery__grid button:hover span, .product-gallery__grid button:focus-visible span { opacity: 1; }
.admin-image-sort li { touch-action: none; user-select: none; }.admin-upload-dropzone { display: grid; min-height: 126px; margin-top: 18px; padding: 24px; border: 2px dashed #aebfc4; border-radius: 8px; background: #f3f7f6; color: #3d506a; cursor: pointer; text-align: center; place-content: center; transition: border-color .2s ease, background .2s ease; }.admin-upload-dropzone:hover, .admin-upload-dropzone:focus-visible, .admin-upload-dropzone.is-dragover { border-color: var(--teal-deep); background: #e8f6f2; outline: none; }.admin-upload-dropzone input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }.admin-upload-dropzone strong { margin-bottom: 4px; color: var(--ink); font-size: .93rem; }.admin-upload-dropzone span { color: var(--slate); font-size: .77rem; }.admin-upload-controls { display: flex; align-items: center; gap: 14px; margin-top: 11px; }.admin-upload-controls button { min-height: var(--ui-control-height); padding: 8px 13px; border: 1px solid var(--teal-deep); border-radius: 5px; background: var(--white); color: #176c62; font-size: .79rem; font-weight: 820; }.admin-upload-controls button:hover:not(:disabled) { background: #dff4ee; }.admin-upload-controls button:disabled { cursor: wait; opacity: .65; }.admin-upload-controls span { color: var(--slate); font-size: .75rem; }.admin-upload-controls span.is-error { color: #a43428; }
@media (max-width: 760px) { .product-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-upload-controls { align-items: flex-start; flex-direction: column; gap: 7px; } }
@media (prefers-reduced-motion: reduce) { .product-gallery__grid img, .product-gallery__grid span, .admin-upload-dropzone { transition: none; } }

.product-detail__grid { grid-template-columns: minmax(245px, .62fr) minmax(340px, 1fr); }.product-gallery { width: min(100%, 360px); margin: 0 auto; }.product-gallery__main-wrap { width: 100%; }.product-gallery__main img { aspect-ratio: 1 / .82; }.product-gallery__arrow { width: 34px; height: 34px; font-size: 1.05rem; }.product-gallery__arrow--previous { left: 9px; }.product-gallery__arrow--next { right: 9px; }.product-gallery__thumbnails { justify-content: flex-start; gap: 7px; margin-top: 10px; padding-bottom: 8px; }.product-gallery__thumbnails button { flex: 0 0 54px; border-radius: 5px; }.product-gallery__thumbnails img { width: 50px; height: 42px; }.product-gallery__main span { right: 9px; bottom: 9px; padding: 5px 7px; font-size: .61rem; }
.admin-image-sort { grid-template-columns: repeat(auto-fill, 88px); gap: 8px; }.admin-image-sort li { width: 88px; border-radius: 6px; }.admin-image-sort img { height: 70px; }.admin-image-sort__handle { position: absolute; top: 4px; left: 4px; z-index: 1; padding: 3px 5px; border-radius: 3px; background: rgba(11,17,32,.76); color: var(--white); font-size: .57rem; font-weight: 820; pointer-events: none; }.admin-image-sort__position { padding: 5px 6px; font-size: .61rem; }.admin-image-sort button { top: 4px; right: 4px; width: 20px; height: 20px; font-size: .9rem; }.admin-image-sort li.is-dragging { border-color: var(--teal-deep); box-shadow: 0 7px 18px rgba(11,17,32,.18); opacity: .58; transform: scale(.96); }
@media (max-width: 760px) { .product-detail__grid { grid-template-columns: 1fr; }.product-gallery { width: min(100%, 320px); }.product-gallery__thumbnails { justify-content: center; }.admin-image-sort { grid-template-columns: repeat(auto-fill, 78px); }.admin-image-sort li { width: 78px; }.admin-image-sort img { height: 62px; } }
@media (prefers-reduced-motion: reduce) { .admin-image-sort li { transform: none; } }

body.theme-logo {
    --ink: #111315;
    --ink-soft: #25282b;
    --paper: #f7f7f5;
    --paper-deep: #e7e8e7;
    --white: #ffffff;
    --teal: #ff6900;
    --teal-deep: #c94d00;
    --orange: #ff7a1a;
    --violet: #70757a;
    --slate: #5d6369;
    --line: #c9ccce;
    --shadow: 0 22px 50px rgba(17, 19, 21, .16);
}

.theme-logo .button:hover { background: #ff9a4d; box-shadow: 0 10px 25px rgba(255, 105, 0, .28); }
.theme-logo .printed-object { background: repeating-linear-gradient(to bottom, #ff8b2a 0 4px, #f26300 4px 7px); }
.theme-logo .scene-label { border-color: rgba(255, 105, 0, .55); color: #ff9a4d; }
.theme-logo .scene-label--two { border-color: rgba(255, 154, 77, .6); color: #ffd0ab; }
.theme-logo .service-icon--cad { background: linear-gradient(135deg, transparent 28%, #7d8388 29% 47%, transparent 48%), linear-gradient(45deg, transparent 32%, #ff7a1a 33% 52%, transparent 53%); }
.theme-logo .service-icon--model::before { background: #ff8b2a; }
.theme-logo .service-icon--model::after { background: #84898d; }
.theme-logo .gallery-art--component::before { box-shadow: inset 0 0 0 15px #ff8121; }
.theme-logo .gallery-art--organiser::after { background: #ff7a1a; box-shadow: 0 -25px 0 #ff7a1a, 0 -49px 0 #ff7a1a; }
.theme-logo .admin-body, body.theme-logo.admin-body { background: #e8e9e9; }
.theme-logo .admin-summary article:nth-child(2) { background: #2b2e31; }
.theme-logo .admin-summary article::after { border-color: rgba(255, 105, 0, .36); }
.theme-logo .admin-flash { border-color: #f0a164; background: #fff1e4; color: #663009; }
.theme-logo .admin-form input:focus, .theme-logo .admin-form textarea:focus, .theme-logo .admin-form select:focus { box-shadow: 0 0 0 3px rgba(201, 77, 0, .14); }
.theme-logo .admin-product-images__heading > span { background: #fff0e2; color: #9b3a00; }
.theme-logo .admin-upload-dropzone:hover, .theme-logo .admin-upload-dropzone:focus-visible, .theme-logo .admin-upload-dropzone.is-dragover { background: #fff3e8; }
.theme-logo .admin-upload-controls button { color: #9b3a00; }
.theme-logo .admin-upload-controls button:hover:not(:disabled) { background: #fff0e2; }
.theme-logo .admin-login { background: radial-gradient(circle at 80% 10%, #65310d, transparent 35%), var(--ink); }
.theme-logo .admin-login__panel { border-color: #4b3a2d; background: rgba(20, 21, 22, .95); }
.theme-logo .admin-login__form input:focus { box-shadow: 0 0 0 3px rgba(255, 105, 0, .16); }

body.theme-espresso {
    --ink: #100e08;
    --ink-soft: #32251e;
    --paper: #f7f3ee;
    --paper-deep: #d1bea6;
    --white: #fffdf9;
    --teal: #d1bea6;
    --teal-deep: #62432b;
    --orange: #8b6651;
    --violet: #ada8a4;
    --slate: #6d5d50;
    --line: #cbbcae;
    --shadow: 0 22px 50px rgba(16, 14, 8, .17);
}

.theme-espresso .button:hover { background: #e3d1ba; box-shadow: 0 10px 25px rgba(98, 67, 43, .28); }
.theme-espresso .printed-object { background: repeating-linear-gradient(to bottom, #b99174 0 4px, #8b6651 4px 7px); }
.theme-espresso .scene-label { border-color: rgba(209, 190, 166, .58); color: #eadcc9; }
.theme-espresso .scene-label--two { border-color: rgba(139, 102, 81, .7); color: #d9bca8; }
.theme-espresso .page-hero::before { border-color: rgba(209, 190, 166, .2); box-shadow: 0 0 0 55px rgba(209, 190, 166, .05), 0 0 0 110px rgba(209, 190, 166, .025); }.theme-espresso .page-hero--shop::before { background: rgba(139, 102, 81, .13); }
.theme-espresso .service-icon--cad { background: linear-gradient(135deg, transparent 28%, #ada8a4 29% 47%, transparent 48%), linear-gradient(45deg, transparent 32%, #b99174 33% 52%, transparent 53%); }
.theme-espresso .service-icon--model::before { background: #d1bea6; }.theme-espresso .service-icon--model::after { background: #8b6651; }
.theme-espresso .gallery-art--component::before { box-shadow: inset 0 0 0 15px #b99174; }.theme-espresso .gallery-art--organiser::after { background: #d1bea6; box-shadow: 0 -25px 0 #d1bea6, 0 -49px 0 #d1bea6; }
.theme-espresso .admin-body, body.theme-espresso.admin-body { background: #e8e0d6; }.theme-espresso .admin-nav a { color: #d8cec2; }.theme-espresso .admin-header__actions > a { color: #dfd4c7; }.theme-espresso .admin-summary article:nth-child(2) { background: #32251e; }.theme-espresso .admin-summary article::after { border-color: rgba(209, 190, 166, .36); }
.theme-espresso .admin-flash { border-color: #caa27f; background: #f7e8d9; color: #54351f; }.theme-espresso .admin-form input:focus, .theme-espresso .admin-form textarea:focus, .theme-espresso .admin-form select:focus { box-shadow: 0 0 0 3px rgba(98, 67, 43, .16); }.theme-espresso .admin-product-images__heading > span { background: #ecdfd1; color: #62432b; }.theme-espresso .admin-upload-dropzone:hover, .theme-espresso .admin-upload-dropzone:focus-visible, .theme-espresso .admin-upload-dropzone.is-dragover { background: #f4eadd; }.theme-espresso .admin-upload-controls button { color: #62432b; }.theme-espresso .admin-upload-controls button:hover:not(:disabled) { background: #eadbcc; }
.theme-espresso .admin-login { background: radial-gradient(circle at 80% 10%, #62432b, transparent 35%), var(--ink); }.theme-espresso .admin-login__panel { border-color: #675245; background: rgba(16, 14, 8, .95); }.theme-espresso .admin-login__form input:focus { box-shadow: 0 0 0 3px rgba(209, 190, 166, .17); }

.admin-theme { display: grid; grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); gap: 30px; margin-top: 19px; padding: 31px; border-radius: var(--radius); background: var(--white); }
.admin-theme .eyebrow { margin-bottom: 10px; }.admin-theme h2 { margin: 0 0 9px; font-size: 1.9rem; }.admin-theme > div > p:last-child { max-width: 310px; margin: 0; color: var(--slate); font-size: .87rem; line-height: 1.55; }
.admin-theme__form { display: grid; gap: 17px; align-content: start; }.admin-theme__sections { display: grid; gap: 13px; }.admin-theme__section { display: grid; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper-deep); }.admin-theme__section.admin-dashboard-panel { padding: 64px 18px 18px !important; }.admin-theme__section.admin-dashboard-panel.is-collapsed { min-height: 38px; padding: 0 !important; }.admin-theme__section-heading h3 { margin: 0; color: var(--ink); font-size: 1rem; }.admin-theme__section-heading .eyebrow { margin-bottom: 5px; }.admin-theme__section-heading > p:not(.eyebrow), .admin-theme__empty { margin: 7px 0 0; color: var(--slate); font-size: .73rem; line-height: 1.45; }.admin-theme__empty { grid-column: 1 / -1; margin: 0; padding: 13px; border: 1px dashed var(--line); border-radius: 6px; background: var(--paper); }.admin-theme__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.admin-theme__option { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 11px; align-items: center; min-height: 90px; padding: 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }.admin-theme__option:hover { border-color: var(--teal-deep); transform: translateY(-1px); }.admin-theme__option:has(input:focus-visible) { outline: 3px solid rgba(24,185,160,.2); outline-offset: 2px; }.theme-logo .admin-theme__option:has(input:focus-visible) { outline-color: rgba(201,77,0,.2); }.theme-espresso .admin-theme__option:has(input:focus-visible) { outline-color: rgba(98,67,43,.2); }.admin-theme__option.is-selected, .admin-theme__option:has(input:checked) { border-color: var(--teal-deep); box-shadow: 0 0 0 2px rgba(24,185,160,.13); }.theme-logo .admin-theme__option.is-selected, .theme-logo .admin-theme__option:has(input:checked) { box-shadow: 0 0 0 2px rgba(201,77,0,.14); }.theme-espresso .admin-theme__option.is-selected, .theme-espresso .admin-theme__option:has(input:checked) { box-shadow: 0 0 0 2px rgba(98,67,43,.16); }
.admin-theme__option input { position: absolute; width: 1px; height: 1px; opacity: 0; }.admin-theme__option strong, .admin-theme__option small { display: block; }.admin-theme__option strong { margin-bottom: 4px; color: var(--ink); font-size: .8rem; }.admin-theme__option small { color: var(--slate); font-size: .7rem; line-height: 1.35; }
.admin-theme__swatch { display: grid; width: 44px; height: 44px; padding: 5px; overflow: hidden; border-radius: 50%; background: #0b1120; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); grid-template-columns: repeat(2, 1fr); gap: 3px; }.admin-theme__swatch i { display: block; border-radius: 50%; background: #47e6cc; }.admin-theme__swatch i:nth-child(2) { background: #ff7043; }.admin-theme__swatch i:nth-child(3) { background: #ffffff; }.admin-theme__swatch--logo { background: #111315; }.admin-theme__swatch--logo i { background: #ff6900; }.admin-theme__swatch--logo i:nth-child(2) { background: #6e7378; }.admin-theme__swatch--espresso { background: #100e08; }.admin-theme__swatch--espresso i { background: #62432b; }.admin-theme__swatch--espresso i:nth-child(2) { background: #8b6651; }.admin-theme__swatch--espresso i:nth-child(3) { background: #d1bea6; }.admin-theme__form .button { justify-self: start; }

@media (max-width: 720px) { .admin-theme { grid-template-columns: 1fr; padding: 25px 20px; }.admin-theme__options { grid-template-columns: 1fr; } }

.gallery-card { transition: transform .25s ease, box-shadow .25s ease; }.gallery-card:hover { box-shadow: var(--shadow); transform: translateY(-5px); }.gallery-card__link { display: block; height: 100%; color: inherit; }.gallery-card img { transition: transform .35s ease; }.gallery-card:hover img { transform: scale(1.045); }.gallery-card__body b { display: inline-flex; gap: 7px; margin-top: 13px; color: var(--ink); font-size: .78rem; font-weight: 840; }.gallery-card__body b i { color: var(--teal-deep); font-style: normal; }.gallery-card:hover .gallery-card__body b { color: var(--teal-deep); }
.gallery-detail__placeholder .gallery-art { width: 100%; max-width: 520px; height: 370px; }.gallery-detail .product-detail__description { margin-bottom: 32px; }
@media (max-width: 760px) { .gallery-detail__placeholder .gallery-art { height: 300px; } }

.admin-upload-guidance { display: grid; gap: 4px; margin-top: 18px; padding: 13px 15px; border-left: 3px solid var(--teal-deep); border-radius: 5px; background: var(--paper-deep); }.admin-upload-guidance strong { color: var(--ink); font-size: .77rem; font-weight: 850; }.admin-upload-guidance span { color: var(--slate); font-size: .75rem; line-height: 1.5; }

.admin-stl-upload { padding: 23px; border: 1px solid #d7dde3; border-radius: 9px; background: #f8faf9; }.admin-stl-upload__heading { display: flex; justify-content: space-between; gap: 16px; align-items: start; }.admin-stl-upload__heading .eyebrow { margin-bottom: 7px; }.admin-stl-upload__heading h3 { margin: 0; font-size: 1.35rem; }.admin-stl-upload__heading > span { padding: 5px 8px; border-radius: 20px; background: var(--paper-deep); color: var(--teal-deep); font-size: .7rem; font-weight: 800; white-space: nowrap; }.admin-stl-upload > p { max-width: 660px; margin: 13px 0 17px; color: var(--slate); font-size: .79rem; }.admin-stl-upload__current { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 6px; background: var(--white); }.admin-stl-upload__current span { color: var(--ink); font-size: .79rem; font-weight: 800; }.admin-stl-upload__current a, .admin-stl-upload__current button { padding: 0; border: 0; background: transparent; color: var(--teal-deep); font-size: .75rem; font-weight: 820; }.admin-stl-upload__current button { color: #a43428; cursor: pointer; }.admin-stl-upload__current button:hover { text-decoration: underline; }.admin-stl-upload__controls { display: flex; flex-wrap: wrap; align-items: end; gap: 10px 14px; margin-top: 16px; }.admin-stl-upload__controls label { min-width: min(100%, 270px); }.admin-stl-upload__controls input { color: var(--slate); font-size: .76rem; }.admin-stl-upload__controls button { min-height: var(--ui-control-height); padding: 8px 13px; border: 1px solid var(--teal-deep); border-radius: 5px; background: var(--white); color: var(--teal-deep); font-size: .79rem; font-weight: 820; cursor: pointer; }.admin-stl-upload__controls button:hover:not(:disabled) { background: var(--paper-deep); }.admin-stl-upload__controls button:disabled { cursor: wait; opacity: .65; }.admin-stl-upload__controls > span { color: var(--slate); font-size: .75rem; }.admin-stl-upload__controls > span.is-error { color: #a43428; }.admin-stl-upload__requirements { margin-bottom: 0 !important; font-size: .74rem !important; }

.product-gallery__thumbnails .product-gallery__model-thumbnail { display: grid; width: 50px; height: 42px; padding: 3px; border-color: transparent; background: var(--ink-soft); color: var(--white); cursor: pointer; place-content: center; }.product-gallery__model-thumbnail b { font-size: .78rem; letter-spacing: .06em; line-height: 1; }.product-gallery__model-thumbnail small { margin-top: 3px; color: var(--paper-deep); font-size: .49rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }.product-gallery__thumbnails .product-gallery__model-thumbnail.is-active { border-color: var(--teal-deep); }
.stl-viewer { position: relative; display: grid; width: 100%; aspect-ratio: 1 / .82; overflow: hidden; background: var(--ink-soft); color: var(--white); place-items: center; }.stl-viewer[hidden] { display: none; }.stl-viewer canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; cursor: grab; touch-action: none; }.stl-viewer canvas:active { cursor: grabbing; }.stl-viewer p { position: absolute; z-index: 1; margin: 0; padding: 8px 10px; border-radius: 4px; background: rgba(0,0,0,.42); color: var(--white); font-size: .75rem; font-weight: 760; pointer-events: none; }.stl-viewer p:empty { display: none; }.stl-viewer > span { position: absolute; right: 10px; bottom: 10px; padding: 5px 7px; border-radius: 4px; background: rgba(0,0,0,.48); color: var(--white); font-size: .58rem; font-weight: 780; pointer-events: none; }.stl-viewer.has-error p { max-width: 75%; text-align: center; }
@media (max-width: 760px) { .admin-stl-upload { padding: 17px; }.admin-stl-upload__controls { align-items: stretch; flex-direction: column; }.admin-stl-upload__controls label { width: 100%; }.admin-stl-upload__controls button { width: 100%; }.stl-viewer > span { font-size: .53rem; } }

.product-lightbox__image[hidden], .product-lightbox__model[hidden], .product-lightbox__turntable[hidden], .admin-stl-upload__current[hidden] { display: none; }.product-lightbox__model, .product-lightbox__turntable { width: min(92vw, 1100px); height: min(80vh, 860px); aspect-ratio: auto; }.admin-model-preview { min-height: 100vh; margin: 0; background: var(--ink-soft); }.admin-model-preview .stl-viewer { height: 100vh; aspect-ratio: auto; }.admin-stl-preview { width: min(94vw, 1080px); max-width: none; padding: 0; overflow: hidden; border: 0; border-radius: 10px; background: var(--paper); }.admin-stl-preview::backdrop { background: rgba(3, 6, 12, .72); backdrop-filter: blur(3px); }.admin-stl-preview__panel { display: grid; grid-template-rows: auto minmax(360px, 72vh); }.admin-stl-preview__header { display: flex; justify-content: space-between; gap: 16px; padding: 17px 20px; border-bottom: 1px solid var(--line); background: var(--white); align-items: center; }.admin-stl-preview__header .eyebrow { margin-bottom: 4px; }.admin-stl-preview__header h3 { margin: 0; color: var(--ink); font-size: 1.15rem; }.admin-stl-preview__header button { display: grid; width: 34px; height: 34px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--white); color: var(--ink); cursor: pointer; font-size: 1.35rem; line-height: 1; place-items: center; }.admin-stl-preview__header button:hover { border-color: var(--teal-deep); color: var(--teal-deep); }.admin-stl-preview iframe { width: 100%; height: 100%; border: 0; background: var(--ink-soft); }
.stl-viewer__expand { position: absolute; z-index: 2; top: 10px; right: 10px; display: grid; width: 34px; height: 34px; padding: 0; border: 1px solid rgba(255, 255, 255, .4); border-radius: 50%; background: rgba(3, 6, 12, .72); color: var(--white); cursor: pointer; font-size: 1.25rem; line-height: 1; place-items: center; }.stl-viewer__expand:hover, .stl-viewer__expand:focus-visible { border-color: var(--teal); background: var(--teal-deep); outline: none; }

body.theme-logo-dark {
    --ink: #f7f8f8;
    --ink-soft: #111315;
    --paper: #171a1c;
    --paper-deep: #202427;
    --white: #fbfbf9;
    --teal: #ff7a1a;
    --teal-deep: #ff6900;
    --orange: #ff8b2a;
    --violet: #969ca1;
    --slate: #b6bdc2;
    --line: #3c4348;
    --shadow: 0 22px 50px rgba(0, 0, 0, .34);
}

.theme-logo-dark .site-header { background: rgba(17, 19, 21, .96); }.theme-logo-dark .hero::after, .theme-logo-dark .page-hero::before { border-color: rgba(255, 105, 0, .2); }.theme-logo-dark .printer-glow { background: radial-gradient(circle, rgba(255, 105, 0, .24), rgba(255, 105, 0, 0) 66%); }.theme-logo-dark .scene-label { border-color: rgba(255, 122, 26, .58); color: #ffc38f; }.theme-logo-dark .scene-label--two { border-color: rgba(255, 183, 125, .58); color: #ffe0c4; }.theme-logo-dark .page-hero--shop::before { background: rgba(255, 105, 0, .1); }.theme-logo-dark .button { color: #171a1c; }.theme-logo-dark .button:hover { background: #ffab61; box-shadow: 0 10px 25px rgba(255, 105, 0, .3); }
.theme-logo-dark .intro-band, .theme-logo-dark .service-card, .theme-logo-dark .gallery-card, .theme-logo-dark .product-card, .theme-logo-dark .quote-section, .theme-logo-dark .admin-actions, .theme-logo-dark .admin-theme, .theme-logo-dark .admin-editor, .theme-logo-dark .admin-item, .theme-logo-dark .admin-stl-upload__current, .theme-logo-dark .admin-image-add button, .theme-logo-dark .admin-upload-controls button, .theme-logo-dark .admin-stl-upload__controls button, .theme-logo-dark .admin-stl-preview__header, .theme-logo-dark .admin-stl-preview__header button { background: #252a2d; }.theme-logo-dark .service-card, .theme-logo-dark .admin-item, .theme-logo-dark .admin-product-images, .theme-logo-dark .admin-stl-upload { border-color: #41484d; }.theme-logo-dark .section--muted, .theme-logo-dark .callout, .theme-logo-dark .admin-upload-guidance { background: #202427; }.theme-logo-dark .admin-body, body.theme-logo-dark.admin-body { background: #171a1c; }.theme-logo-dark .admin-summary article:nth-child(2) { background: #2d3337; }.theme-logo-dark .admin-summary article::after { border-color: rgba(255, 105, 0, .36); }
.theme-logo-dark .process-copy > p:not(.eyebrow), .theme-logo-dark .process-list p, .theme-logo-dark .quote-note p, .theme-logo-dark .product-detail__description, .theme-logo-dark .product-detail__placeholder p, .theme-logo-dark .back-link, .theme-logo-dark .admin-image-sort__position, .theme-logo-dark .admin-item__body a, .theme-logo-dark .admin-image-add button, .theme-logo-dark .admin-upload-dropzone { color: #c3c9cd; }.theme-logo-dark .process-list, .theme-logo-dark .process-list li { border-color: #40474c; }.theme-logo-dark .back-link:hover, .theme-logo-dark .admin-item__body a:hover { color: var(--teal); }.theme-logo-dark .product-detail__placeholder, .theme-logo-dark .product-gallery__main-wrap, .theme-logo-dark .product-gallery__grid button { background: #252b2f; }
.theme-logo-dark .admin-form label { color: #e5e9eb; }.theme-logo-dark .admin-form label span, .theme-logo-dark .admin-image-fields input[type="file"] { color: #aeb6bc; }.theme-logo-dark .admin-form input:not([type="file"]), .theme-logo-dark .admin-form textarea, .theme-logo-dark .admin-form select { border-color: #454d52; background: #141719; color: #f7f8f8; }.theme-logo-dark .admin-image-fields, .theme-logo-dark .admin-product-images, .theme-logo-dark .admin-stl-upload { background: #202529; }.theme-logo-dark .admin-image-sort li { background: #343b40; }.theme-logo-dark .admin-upload-dropzone { border-color: #566067; background: #1a1e21; }.theme-logo-dark .admin-upload-dropzone:hover, .theme-logo-dark .admin-upload-dropzone:focus-visible, .theme-logo-dark .admin-upload-dropzone.is-dragover { background: #29231d; }.theme-logo-dark .admin-upload-controls button:hover:not(:disabled), .theme-logo-dark .admin-stl-upload__controls button:hover:not(:disabled) { background: #3a2b20; }.theme-logo-dark .admin-product-images__heading > span { background: #3a2b20; color: #ffc38f; }.theme-logo-dark .admin-flash { border-color: #b85a18; background: #352317; color: #ffd6b5; }.theme-logo-dark .admin-alert { border-color: #9b4f30; background: #382219; color: #ffd6c5; }.theme-logo-dark .admin-alert--warning { border-color: #9a772e; background: #332c17; color: #ffe9a8; }
.theme-logo-dark .quote-panel input:not([type="checkbox"]), .theme-logo-dark .quote-panel textarea, .theme-logo-dark .admin-login__form input { border-color: #474e53; background: #101214; color: #f7f8f8; }.theme-logo-dark .quote-panel input:focus, .theme-logo-dark .quote-panel textarea:focus, .theme-logo-dark .admin-login__form input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(255, 105, 0, .18); }.theme-logo-dark .service-options span { border-color: #474e53; color: #d0d5d8; }.theme-logo-dark .service-options input:checked + span { border-color: var(--teal); background: rgba(255, 105, 0, .14); color: #ffc38f; }.theme-logo-dark .service-options input:focus-visible + span { box-shadow: 0 0 0 3px rgba(255, 105, 0, .24); }.theme-logo-dark .admin-login { background: radial-gradient(circle at 80% 10%, #6b310b, transparent 35%), var(--ink-soft); }.theme-logo-dark .admin-login__panel { border-color: #4b4038; background: rgba(23, 26, 28, .96); }
.theme-logo-dark .site-footer { background: #0d0f10; }.theme-logo-dark .footer-bottom { border-color: #2e3438; }.theme-logo-dark .nav-menu nav { border-color: #3b4247; background: #1a1d1f; }.theme-logo-dark .admin-theme__option:has(input:focus-visible) { outline-color: rgba(255, 105, 0, .24); }.theme-logo-dark .admin-theme__option.is-selected, .theme-logo-dark .admin-theme__option:has(input:checked) { box-shadow: 0 0 0 2px rgba(255, 105, 0, .2); }.admin-theme__swatch--logo-dark { background: #111315; }.admin-theme__swatch--logo-dark i { background: #ff6900; }.admin-theme__swatch--logo-dark i:nth-child(2) { background: #4d555a; }.admin-theme__swatch--logo-dark i:nth-child(3) { background: #fbfbf9; }
body.theme-logo-dark { background: #171a1c; }
body.theme-logo-dark .hero, body.theme-logo-dark .shop-preview, body.theme-logo-dark .quote-panel, body.theme-logo-dark .page-hero, body.theme-logo-dark .admin-header { background: #111315; }
body.theme-logo-dark .admin-summary article, body.theme-logo-dark .admin-summary article:nth-child(2) { background: linear-gradient(135deg, #252a2d, #3c4449); }
body.theme-logo-dark .admin-item__visual { background: linear-gradient(135deg, #252a2d, #3c4449); }
body.theme-logo-dark .printer-scene--enclosed { background: transparent; }
body.theme-logo-dark .printer-scene__render { filter: saturate(.9) contrast(1.04); }
body.theme-logo-dark .intro-band, body.theme-logo-dark .service-card, body.theme-logo-dark .gallery-card, body.theme-logo-dark .product-card, body.theme-logo-dark .quote-section, body.theme-logo-dark .product-detail__placeholder, body.theme-logo-dark .product-gallery__main-wrap, body.theme-logo-dark .product-gallery__grid button, body.theme-logo-dark .admin-actions, body.theme-logo-dark .admin-theme, body.theme-logo-dark .admin-editor, body.theme-logo-dark .admin-item, body.theme-logo-dark .admin-stl-upload__current, body.theme-logo-dark .admin-image-add button, body.theme-logo-dark .admin-upload-controls button, body.theme-logo-dark .admin-stl-upload__controls button, body.theme-logo-dark .admin-stl-preview__header, body.theme-logo-dark .admin-stl-preview__header button { background: #252a2d; }
body.theme-logo-dark .section--muted, body.theme-logo-dark .callout, body.theme-logo-dark .admin-upload-guidance, body.theme-logo-dark .admin-image-fields, body.theme-logo-dark .admin-product-images, body.theme-logo-dark .admin-stl-upload, body.theme-logo-dark .admin-viewer__toggle { background: #202529; }
body.theme-logo-dark .admin-description__toolbar, body.theme-logo-dark .admin-description__surface, body.theme-logo-dark .admin-form input:not([type="file"]), body.theme-logo-dark .admin-form textarea, body.theme-logo-dark .admin-form select, body.theme-logo-dark .quote-panel input:not([type="checkbox"]), body.theme-logo-dark .quote-panel textarea, body.theme-logo-dark .admin-login__form input, body.theme-logo-dark .admin-upload-dropzone { background: #141719; }
@media (max-width: 760px) { .product-lightbox__model, .product-lightbox__turntable { width: 94vw; height: 74vh; }.admin-stl-preview { width: 96vw; }.admin-stl-preview__panel { grid-template-rows: auto minmax(320px, 72vh); }.admin-stl-preview__header { padding: 14px 16px; } }

.admin-model-library { display: grid; gap: 24px; }.admin-model-library__viewer, .admin-model-library__files { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 12px 32px rgba(11,17,32,.08); }.admin-model-library__viewer-header { display: flex; justify-content: space-between; gap: 24px; align-items: end; padding: 25px 29px; border-bottom: 1px solid var(--line); background: var(--paper); }.admin-model-library__viewer-header .eyebrow { margin-bottom: 8px; }.admin-model-library__viewer-header h2 { margin: 0; font-size: clamp(1.45rem, 3vw, 2.05rem); }.admin-model-library__viewer-header > p { max-width: 310px; margin: 0; color: var(--slate); font-size: .76rem; text-align: right; }.admin-model-library__preview { display: block; width: 100%; height: clamp(380px, 52vw, 620px); border: 0; background: var(--ink-soft); }.admin-model-library__viewer .admin-empty { margin: 29px; }.admin-model-library__files { padding: 29px; }.admin-model-library__files .admin-items__heading { margin-bottom: 21px; }.admin-model-library__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }.admin-model-library__card { display: grid; min-height: 148px; padding: 16px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); color: var(--ink); cursor: pointer; text-align: left; align-content: start; gap: 9px; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }.admin-model-library__card:hover { border-color: var(--teal-deep); transform: translateY(-2px); }.admin-model-library__card:focus-visible { outline: 3px solid rgba(24,185,160,.2); outline-offset: 2px; }.admin-model-library__card.is-selected { border-color: var(--teal-deep); box-shadow: 0 0 0 2px rgba(24,185,160,.14); }.admin-model-library__icon { display: grid; width: 35px; height: 28px; border-radius: 5px; background: var(--ink-soft); color: var(--teal); font-size: .67rem; font-weight: 900; letter-spacing: .08em; place-items: center; }.admin-model-library__card strong { width: 100%; overflow-wrap: anywhere; font-size: .79rem; line-height: 1.35; }.admin-model-library__card > span:last-child { margin-top: auto; color: var(--slate); font-size: .7rem; line-height: 1.4; }.theme-logo-dark .admin-model-library__viewer, .theme-logo-dark .admin-model-library__files { border-color: #41484d; background: #252a2d; box-shadow: 0 14px 35px rgba(0,0,0,.24); }.theme-logo-dark .admin-model-library__viewer-header { border-color: #41484d; background: #202529; }.theme-logo-dark .admin-model-library__viewer-header > p { color: #aeb6bc; }.theme-logo-dark .admin-model-library__card { border-color: #454d52; background: #202529; color: #f1f3f4; }.theme-logo-dark .admin-model-library__card:hover, .theme-logo-dark .admin-model-library__card.is-selected { border-color: var(--teal); }.theme-logo-dark .admin-model-library__card:focus-visible { outline-color: rgba(255,105,0,.24); }.theme-logo-dark .admin-model-library__card.is-selected { box-shadow: 0 0 0 2px rgba(255,105,0,.18); }.theme-logo-dark .admin-model-library__icon { background: #111315; color: #ffab61; }.theme-logo-dark .admin-model-library__card > span:last-child { color: #aeb6bc; }
@media (max-width: 720px) { .admin-model-library__viewer-header { display: block; padding: 21px 18px; }.admin-model-library__viewer-header > p { margin-top: 12px; text-align: left; }.admin-model-library__preview { height: 420px; }.admin-model-library__files { padding: 21px 18px; }.admin-model-library__grid { grid-template-columns: repeat(auto-fill, minmax(145px, 1fr)); gap: 10px; }.admin-model-library__card { min-height: 132px; padding: 13px; } }

.admin-model-library__card { position: relative; padding: 0; gap: 0; }.admin-model-library__select { display: grid; width: 100%; min-height: 146px; padding: 16px; border: 0; background: transparent; color: inherit; cursor: pointer; text-align: left; align-content: start; gap: 9px; }.admin-model-library__select:focus-visible { outline: 3px solid rgba(24,185,160,.2); outline-offset: -3px; }.admin-model-library__select > span:last-child { margin-top: auto; color: var(--slate); font-size: .7rem; line-height: 1.4; }.admin-model-library__download { position: absolute; z-index: 1; top: 16px; right: 16px; display: grid; width: 35px; height: 28px; border-radius: 5px; background: var(--ink-soft); color: var(--teal); font-size: 1.05rem; font-weight: 900; line-height: 1; place-items: center; }.admin-model-library__download:hover, .admin-model-library__download:focus-visible { background: var(--teal-deep); color: var(--white); outline: none; }.theme-logo-dark .admin-model-library__select:focus-visible { outline-color: rgba(255,105,0,.24); }.theme-logo-dark .admin-model-library__select > span:last-child { color: #aeb6bc; }.theme-logo-dark .admin-model-library__download { background: #111315; color: #ffab61; }.theme-logo-dark .admin-model-library__download:hover, .theme-logo-dark .admin-model-library__download:focus-visible { background: var(--teal-deep); color: #171a1c; }
@media (max-width: 720px) { .admin-model-library__card { padding: 0; }.admin-model-library__select { min-height: 132px; padding: 13px; }.admin-model-library__download { top: 13px; right: 13px; } }

.admin-model-library__select { min-height: 228px; }.admin-model-library__thumbnail { width: 100%; height: 96px; overflow: hidden; border-radius: 6px; background: var(--ink-soft); object-fit: cover; }.theme-logo-dark .admin-model-library__thumbnail { background: #111315; }
@media (max-width: 720px) { .admin-model-library__select { min-height: 206px; }.admin-model-library__thumbnail { height: 78px; } }

.stl-viewer__style-toolbar { position: absolute; z-index: 3; top: 50%; right: 10px; display: grid; width: min(196px, calc(100% - 112px)); max-height: calc(100% - 24px); gap: 7px; padding: 9px; overflow: hidden; border: 1px solid rgba(255,255,255,.32); border-radius: 7px; background: rgba(3,6,12,.82); color: var(--white); transform: translateY(-50%); }.stl-viewer__style-toolbar > p:first-child { margin: 0; color: var(--paper-deep); font-size: .6rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }.stl-viewer__style-save { display: flex; gap: 5px; }.stl-viewer__style-save input { min-width: 0; width: 100%; min-height: 29px; border: 1px solid rgba(255,255,255,.36); border-radius: 5px; background: rgba(255,255,255,.1); color: var(--white); font: inherit; font-size: .64rem; padding: 5px 7px; }.stl-viewer__style-save input::placeholder { color: rgba(255,255,255,.64); }.stl-viewer__style-save input:focus { border-color: var(--teal); outline: none; }.stl-viewer__style-list { display: grid; max-height: 264px; gap: 5px; overflow-y: auto; scrollbar-color: rgba(255,255,255,.45) transparent; }.stl-viewer__style-empty, .stl-viewer__style-status { margin: 0; color: var(--paper-deep); font-size: .57rem; line-height: 1.4; }.stl-viewer__style-status:empty { display: none; }.stl-viewer__style-status.is-error { color: #ffb0a0; }.stl-viewer__style-preset { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 4px; align-items: center; }.stl-viewer__style-apply, .stl-viewer__style-action, .stl-viewer__style-delete { min-height: 26px; border: 1px solid rgba(255,255,255,.3); border-radius: 4px; background: rgba(255,255,255,.08); color: var(--white); font: inherit; font-size: .56rem; font-weight: 800; cursor: pointer; }.stl-viewer__style-apply { min-width: 0; padding: 4px 6px; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }.stl-viewer__style-action { padding: 4px 5px; }.stl-viewer__style-delete { width: 26px; padding: 0; color: #ffd0c8; font-size: 1rem; line-height: 1; }.stl-viewer__style-default { padding: 4px 5px; border-radius: 4px; background: var(--teal-deep); color: var(--white); font-size: .53rem; font-weight: 900; }.stl-viewer__style-apply:hover, .stl-viewer__style-apply:focus-visible, .stl-viewer__style-action:hover, .stl-viewer__style-action:focus-visible, .stl-viewer__style-delete:hover, .stl-viewer__style-delete:focus-visible { border-color: var(--teal); background: var(--teal-deep); color: var(--white); outline: none; }.stl-viewer__style-delete:hover, .stl-viewer__style-delete:focus-visible { background: #a73f30; border-color: #ffb0a0; }.stl-viewer__style-action:disabled, .stl-viewer__style-delete:disabled { cursor: default; opacity: .6; }@media (max-width: 620px) { .stl-viewer__style-toolbar { right: 6px; width: min(174px, calc(100% - 90px)); padding: 7px; }.stl-viewer__style-list { max-height: 196px; }.stl-viewer__style-action { display: none; }.stl-viewer__style-default { display: none; } }

.stl-viewer__style-region { position: absolute; z-index: 3; top: 50%; right: 10px; display: grid; width: min(196px, calc(100% - 112px)); gap: 6px; transform: translateY(-50%); }.stl-viewer__style-region .stl-viewer__style-toolbar { position: static; display: grid; width: auto; max-height: none; padding: 9px; overflow: hidden; transform: none; }.stl-viewer__style-toolbar > p:first-child, .stl-viewer__style-status { position: static; z-index: auto; margin: 0; border-radius: 0; background: transparent; pointer-events: auto; }.stl-viewer__style-status { min-height: 0; padding: 7px 8px; border: 1px solid rgba(255,255,255,.26); border-radius: 5px; background: rgba(3,6,12,.84); color: var(--paper-deep); font-size: .57rem; line-height: 1.4; pointer-events: none; }.stl-viewer__style-status.is-error { color: #ffb0a0; border-color: rgba(255,176,160,.5); }.stl-viewer__style-status:empty { display: none; }@media (max-width: 620px) { .stl-viewer__style-region { right: 6px; width: min(174px, calc(100% - 90px)); }.stl-viewer__style-region .stl-viewer__style-toolbar { padding: 7px; }.stl-viewer__style-region .stl-viewer__style-action, .stl-viewer__style-region .stl-viewer__style-default { display: inline-block; } }

.stl-viewer__tool-group { display: flex; flex-wrap: wrap; max-width: 100%; gap: 6px; align-items: center; }.stl-viewer__tool-group + .stl-viewer__tool-group { padding-left: 7px; border-left: 1px solid rgba(255,255,255,.24); }@media (max-width: 520px) { .stl-viewer__tool-group { gap: 4px; }.stl-viewer__tool-group + .stl-viewer__tool-group { padding-left: 5px; } }

.stl-viewer__style-preset { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }.stl-viewer__style-preset-header { display: flex; min-width: 0; gap: 4px; align-items: center; }.stl-viewer__style-preset-header .stl-viewer__style-apply { flex: 1 1 auto; }.stl-viewer__style-badges { display: inline-flex; flex: 0 0 auto; gap: 3px; }.stl-viewer__style-turntable { padding: 4px 5px; border-radius: 4px; background: rgba(255, 120, 29, .82); color: var(--white); font-size: .53rem; font-weight: 900; }.stl-viewer__style-menu-button, .stl-viewer__style-menu-delete { min-height: 26px; border: 1px solid rgba(255,255,255,.3); border-radius: 4px; background: rgba(255,255,255,.08); color: var(--white); font: inherit; font-size: .62rem; font-weight: 800; cursor: pointer; }.stl-viewer__style-menu-button { width: 26px; padding: 0; line-height: 1; }.stl-viewer__style-menu-button:hover, .stl-viewer__style-menu-button:focus-visible { border-color: var(--teal); background: var(--teal-deep); outline: none; }.stl-viewer__style-menu { display: grid; grid-column: 1 / -1; gap: 5px; padding: 6px; border: 1px solid rgba(255,255,255,.22); border-radius: 4px; background: rgba(255,255,255,.06); }.stl-viewer__style-usage { display: flex; gap: 6px; color: var(--white); font-size: .58rem; font-weight: 800; line-height: 1.25; cursor: pointer; align-items: center; }.stl-viewer__style-usage input { width: 14px; height: 14px; margin: 0; accent-color: var(--orange); cursor: pointer; }.stl-viewer__style-menu-delete { width: 100%; padding: 4px 6px; color: #ffd0c8; text-align: left; }.stl-viewer__style-menu-delete:hover, .stl-viewer__style-menu-delete:focus-visible { border-color: #ffb0a0; background: #a73f30; color: var(--white); outline: none; }.stl-viewer__style-menu-delete:disabled, .stl-viewer__style-usage input:disabled { cursor: default; opacity: .6; }.stl-viewer__style-region .stl-viewer__style-turntable { display: inline-block; }

.stl-viewer__style-toolbar > p:first-child { color: var(--white); }

.stl-viewer__style-region { display: flex; flex-direction: column; }.stl-viewer__style-status { position: relative !important; z-index: auto !important; order: 2; width: 100%; box-sizing: border-box; color: var(--white); }.stl-viewer__style-status.is-error { color: #ffb0a0; }

p.stl-viewer__style-empty { position: static; z-index: auto; display: block; width: 100%; box-sizing: border-box; margin: 0; padding: 7px 8px; border: 1px solid rgba(255,255,255,.26); border-radius: 5px; background: rgba(3,6,12,.84); color: var(--white); font-size: .57rem; line-height: 1.4; pointer-events: none; }.stl-viewer__style-menu-action { width: 100%; min-height: 26px; padding: 4px 6px; border: 1px solid rgba(255,255,255,.3); border-radius: 4px; background: rgba(255,255,255,.08); color: var(--white); font: inherit; font-size: .56rem; font-weight: 800; text-align: left; cursor: pointer; }.stl-viewer__style-menu-action:hover, .stl-viewer__style-menu-action:focus-visible { border-color: var(--teal); background: var(--teal-deep); color: var(--white); outline: none; }.stl-viewer__style-menu-action:disabled { cursor: default; opacity: .6; }

.stl-viewer__view-toolbar { position: absolute; z-index: 3; top: 50%; left: 10px; display: flex; flex-direction: column; gap: 4px; transform: translateY(-50%); }.stl-viewer__view-control { min-width: 72px; text-align: left; }.stl-viewer__view-toolbar-separator { width: 100%; height: 1px; margin: 3px 0; background: rgba(255,255,255,.3); }.stl-viewer__view-toolbar .stl-viewer__control:disabled { border-color: rgba(255,255,255,.2); color: rgba(255,255,255,.48); cursor: default; opacity: .72; }.admin-model-library__listing-name, .admin-model-library__file-name { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.admin-model-library__listing-name { width: calc(100% - 38px); font-size: .79rem; line-height: 1.35; }.admin-model-library__file-name { color: var(--slate); font-size: .62rem; line-height: 1.25; }.admin-model-library__meta { margin-top: auto; color: var(--slate); font-size: .7rem; line-height: 1.4; }.theme-logo-dark .admin-model-library__file-name, .theme-logo-dark .admin-model-library__meta { color: #aeb6bc; }@media (max-width: 520px) { .stl-viewer__view-toolbar { left: 6px; }.stl-viewer__view-control { min-width: 63px; } }

.admin-model-preview--thumbnail { width: 640px; min-height: 480px; overflow: hidden; background: #111315; }.admin-model-preview--thumbnail .stl-viewer { width: 640px; height: 480px; aspect-ratio: auto; }.admin-model-preview--thumbnail .stl-viewer canvas { cursor: default; pointer-events: none; }.admin-model-preview--thumbnail .stl-viewer > span { display: none; }.admin-model-preview--turntable { width: 1200px; min-height: 900px; overflow: hidden; background: #111315; }.admin-model-preview--turntable .stl-viewer { width: 1200px; height: 900px; aspect-ratio: auto; }.admin-model-preview--turntable .stl-viewer canvas { cursor: default; pointer-events: none; }.admin-model-preview--turntable .stl-viewer > span { display: none; }.admin-stl-thumbnail-renderer, .admin-stl-turntable-renderer { position: fixed; top: 0; left: -10000px; border: 0; opacity: 0; pointer-events: none; }.admin-stl-thumbnail-renderer { width: 640px; height: 480px; }.admin-stl-turntable-renderer { width: 1200px; height: 900px; }

.stl-viewer.is-adjusting-light canvas { cursor: crosshair; }.stl-viewer__toolbar { position: absolute; z-index: 3; top: 10px; left: 10px; display: flex; flex-wrap: wrap; max-width: calc(100% - 20px); gap: 6px; align-items: center; }.stl-viewer__control, .stl-viewer__colour-control, .stl-viewer__download select { min-height: 29px; border: 1px solid rgba(255,255,255,.36); border-radius: 5px; background: rgba(3,6,12,.74); color: var(--white); font: inherit; font-size: .62rem; font-weight: 800; letter-spacing: .02em; }.stl-viewer__control { padding: 5px 8px; cursor: pointer; }.stl-viewer__control:hover, .stl-viewer__control:focus-visible, .stl-viewer__control.is-active { border-color: var(--teal); background: var(--teal-deep); color: var(--white); outline: none; }.stl-viewer__colour-control { display: inline-flex; gap: 5px; padding: 3px 5px 3px 7px; align-items: center; }.stl-viewer__colour-control input { width: 22px; height: 20px; padding: 0; border: 0; border-radius: 3px; background: transparent; cursor: pointer; }.stl-viewer__download { display: inline-flex; gap: 4px; }.stl-viewer__download select { max-width: 112px; padding: 4px 5px; cursor: pointer; }.stl-viewer__light-marker { position: absolute; z-index: 2; top: auto; right: auto; bottom: auto; left: auto; display: grid; width: 29px; height: 29px; margin: 0; padding: 0; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; background: rgba(3,6,12,.78); color: #ffe28a; font-size: 1rem; line-height: 1; pointer-events: none; transform: translate(-50%, -50%); place-items: center; }.stl-viewer__light-marker[hidden] { display: none; }.admin-viewer__options { display: grid; gap: 10px; padding: 17px 0 2px; border-top: 1px solid var(--line); }.admin-viewer__options > div { padding: 0 2px 3px; }.admin-viewer__options .eyebrow { margin-bottom: 4px; }.admin-viewer__options h3 { margin: 0 0 5px; color: var(--ink); font-size: 1rem; }.admin-viewer__options p:not(.eyebrow) { margin: 0; color: var(--slate); font-size: .76rem; line-height: 1.5; }.admin-viewer__divider { height: 1px; margin: 7px 0; background: var(--line); }.theme-logo-dark .admin-viewer__options { border-color: #454d52; }.theme-logo-dark .admin-viewer__options h3 { color: #f1f3f4; }.theme-logo-dark .admin-viewer__options p:not(.eyebrow) { color: #aeb6bc; }.admin-viewer__divider { background: var(--line); }.theme-logo-dark .admin-viewer__divider { background: #454d52; }@media (max-width: 520px) { .stl-viewer__toolbar { gap: 4px; }.stl-viewer__control { padding: 4px 6px; font-size: .57rem; }.stl-viewer__colour-control { gap: 3px; padding-left: 5px; font-size: .57rem; }.stl-viewer__download select { max-width: 98px; font-size: .57rem; } }

.product-lightbox[open]:has(.product-lightbox__thumbnails) { display: flex; flex-direction: column; align-items: center; }.product-lightbox:has(.product-lightbox__thumbnails) .product-lightbox__image, .product-lightbox:has(.product-lightbox__thumbnails) .product-lightbox__image img { max-height: calc(94vh - 86px); }.product-lightbox:has(.product-lightbox__thumbnails) .product-lightbox__model, .product-lightbox:has(.product-lightbox__thumbnails) .product-lightbox__turntable { height: min(calc(94vh - 86px), 860px); }.product-lightbox__thumbnails { display: flex; flex: 0 0 auto; gap: 7px; width: min(94vw, 1100px); margin: 0; padding: 10px 54px 14px; overflow-x: auto; scrollbar-color: rgba(255,255,255,.45) transparent; }.product-lightbox__thumbnails button { flex: 0 0 54px; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 5px; background: transparent; cursor: pointer; }.product-lightbox__thumbnails button.is-active { border-color: var(--teal); }.product-lightbox__thumbnails img { display: block; width: 50px; height: 42px; object-fit: cover; }.product-lightbox__thumbnails .product-gallery__model-thumbnail { display: grid; width: 50px; height: 42px; padding: 3px; border-color: transparent; background: var(--ink-soft); color: var(--white); place-content: center; }.product-lightbox__thumbnails .product-gallery__model-thumbnail b { font-size: .78rem; letter-spacing: .06em; line-height: 1; }.product-lightbox__thumbnails .product-gallery__model-thumbnail small { margin-top: 3px; color: var(--paper-deep); font-size: .49rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }.product-lightbox__thumbnails .product-gallery__turntable-thumbnail { display: grid; width: 50px; height: 42px; padding: 3px; border-color: transparent; background: linear-gradient(135deg, #2d3337, #596269); color: var(--white); place-content: center; }.product-lightbox__thumbnails .product-gallery__turntable-thumbnail b { font-size: .65rem; line-height: 1; }.product-lightbox__thumbnails .product-gallery__turntable-thumbnail small { margin-top: 3px; color: var(--paper-deep); font-size: .43rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }@media (max-width: 760px) { .product-lightbox:has(.product-lightbox__thumbnails) .product-lightbox__image, .product-lightbox:has(.product-lightbox__thumbnails) .product-lightbox__image img { max-height: calc(94vh - 76px); }.product-lightbox:has(.product-lightbox__thumbnails) .product-lightbox__model, .product-lightbox:has(.product-lightbox__thumbnails) .product-lightbox__turntable { height: min(calc(94vh - 76px), 720px); }.product-lightbox__thumbnails { padding: 8px 48px 11px; } }

.product-gallery__thumbnails .product-gallery__turntable-thumbnail { display: grid; width: 50px; height: 42px; padding: 3px; border-color: transparent; background: linear-gradient(135deg, #2d3337, #596269); color: var(--white); cursor: pointer; place-content: center; }.product-gallery__turntable-thumbnail b { font-size: .65rem; line-height: 1; }.product-gallery__turntable-thumbnail small { margin-top: 3px; color: var(--paper-deep); font-size: .43rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }.product-gallery__thumbnails .product-gallery__turntable-thumbnail.is-active { border-color: var(--teal-deep); }.turntable-viewer { position: relative; display: grid; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #111315; color: var(--white); cursor: grab; touch-action: none; user-select: none; place-items: center; }.turntable-viewer[hidden] { display: none; }.turntable-viewer.is-dragging { cursor: grabbing; }.turntable-viewer:focus-visible { outline: 3px solid var(--teal); outline-offset: -3px; }.turntable-viewer img { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }.turntable-viewer p { position: absolute; right: 10px; bottom: 10px; margin: 0; padding: 5px 7px; border-radius: 4px; background: rgba(0,0,0,.5); color: var(--white); font-size: .58rem; font-weight: 780; pointer-events: none; }.admin-model-preview--turntable { width: 1200px; min-height: 900px; overflow: hidden; background: #111315; }.admin-model-preview--turntable .stl-viewer { width: 1200px; height: 900px; aspect-ratio: auto; }.admin-model-preview--turntable .stl-viewer canvas { cursor: default; pointer-events: none; }.admin-model-preview--turntable .stl-viewer > span { display: none; }.admin-stl-turntable-renderer { position: fixed; top: 0; left: -10000px; width: 1200px; height: 900px; border: 0; opacity: 0; pointer-events: none; }

.product-gallery--two-rows .product-gallery__thumbnails { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; overflow: visible; padding-bottom: 0; }.product-gallery--two-rows .product-gallery__thumbnails button { flex: none; min-width: 0; width: 100%; aspect-ratio: 50 / 42; }.product-gallery--two-rows .product-gallery__thumbnails img { display: block; width: 100%; height: 100%; object-fit: cover; }.product-gallery--two-rows .product-gallery__thumbnails .product-gallery__model-thumbnail, .product-gallery--two-rows .product-gallery__thumbnails .product-gallery__turntable-thumbnail { box-sizing: border-box; width: 100%; height: auto; aspect-ratio: 50 / 42; }.product-lightbox__thumbnails { flex-wrap: nowrap; }

/* Public listing media stays a compact, non-scrolling six-column gallery.
   One to six tiles occupy a single row; a seventh tile naturally begins the
   second row, while the listing's twelve-media limit keeps it to two rows. */
.product-gallery__thumbnails { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; overflow: hidden; padding: 2px 1px 0; scrollbar-width: none; }.product-gallery__thumbnails::-webkit-scrollbar { display: none; }.product-gallery__thumbnails button { box-sizing: border-box; flex: none; min-width: 0; width: 100%; aspect-ratio: 50 / 42; }.product-gallery__thumbnails img { display: block; width: 100%; height: 100%; object-fit: cover; }.product-gallery__thumbnails .product-gallery__model-thumbnail, .product-gallery__thumbnails .product-gallery__turntable-thumbnail { box-sizing: border-box; width: 100%; height: auto; aspect-ratio: 50 / 42; }

.admin-model-library__empty-preview { display: grid; height: clamp(380px, 52vw, 620px); background: var(--ink-soft); color: var(--white); text-align: center; place-items: center; }.admin-model-library__empty-preview p { max-width: 260px; margin: 0; color: var(--white); font-size: .8rem; line-height: 1.5; }.theme-logo-dark .admin-model-library__empty-preview p { color: #f1f3f4; }@media (max-width: 720px) { .admin-model-library__empty-preview { height: 420px; } }

.admin-stl-preview__panel { grid-template-rows: auto; }.admin-stl-preview iframe { height: auto; aspect-ratio: 4 / 3; }.admin-model-library__preview, .admin-model-library__empty-preview { height: auto; min-height: 0; aspect-ratio: 4 / 3; }

.stl-viewer { aspect-ratio: 4 / 3; }.product-lightbox__model, .product-lightbox__turntable { width: min(92vw, 1100px, 106.666vh); height: auto; aspect-ratio: 4 / 3; }.product-lightbox:has(.product-lightbox__thumbnails) .product-lightbox__model, .product-lightbox:has(.product-lightbox__thumbnails) .product-lightbox__turntable { width: min(94vw, 1100px, calc(125.333vh - 115px)); height: auto; aspect-ratio: 4 / 3; }@media (max-width: 760px) { .product-lightbox__model, .product-lightbox__turntable { width: min(94vw, 1100px, 98.666vh); }.product-lightbox:has(.product-lightbox__thumbnails) .product-lightbox__model, .product-lightbox:has(.product-lightbox__thumbnails) .product-lightbox__turntable { width: min(94vw, 1100px, calc(125.333vh - 102px)); } }

.admin-stl-preview { width: min(94vw, 1080px, calc(133.333dvh - 149.333px)); max-height: calc(100dvh - 38px); }.admin-stl-preview__panel { max-height: calc(100dvh - 38px); }

.admin-stl-upload__local-preview { display: flex; flex-wrap: wrap; align-items: end; gap: 10px 14px; margin-top: 17px; padding-top: 17px; border-top: 1px solid var(--line); }.admin-stl-upload__local-preview > div { display: grid; flex: 1 1 100%; gap: 3px; }.admin-stl-upload__local-preview strong { color: var(--ink); font-size: .79rem; font-weight: 840; }.admin-stl-upload__local-preview div span, .admin-stl-upload__local-preview > span { color: var(--slate); font-size: .74rem; line-height: 1.4; }.admin-stl-upload__local-preview label { min-width: min(100%, 270px); }.admin-stl-upload__local-preview input { color: var(--slate); font-size: .76rem; }.admin-stl-upload__local-preview button { min-height: var(--ui-control-height); padding: 8px 13px; border: 1px solid var(--teal-deep); border-radius: 5px; background: var(--white); color: var(--teal-deep); font: inherit; font-size: .79rem; font-weight: 820; cursor: pointer; }.admin-stl-upload__local-preview button:hover:not(:disabled) { background: var(--paper-deep); }.admin-stl-upload__local-preview button:disabled { cursor: default; opacity: .58; }.admin-stl-upload__local-preview > span.is-error { color: #a43428; }.admin-model-library__local-source { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 14px; padding: 13px 29px; border-bottom: 1px solid var(--line); background: var(--white); }.admin-model-library__local-source label { color: var(--ink); font-size: .76rem; font-weight: 820; }.admin-model-library__local-source input { display: block; margin-top: 5px; color: var(--slate); font-size: .75rem; font-weight: 500; }.admin-model-library__local-source span { color: var(--slate); font-size: .72rem; line-height: 1.4; }.admin-model-library__local-source span.is-error { color: #a43428; }.theme-logo-dark .admin-stl-upload__local-preview { border-color: #41484d; }.theme-logo-dark .admin-stl-upload__local-preview strong, .theme-logo-dark .admin-model-library__local-source label { color: #e5e9eb; }.theme-logo-dark .admin-stl-upload__local-preview div span, .theme-logo-dark .admin-stl-upload__local-preview > span, .theme-logo-dark .admin-model-library__local-source span, .theme-logo-dark .admin-stl-upload__local-preview input, .theme-logo-dark .admin-model-library__local-source input { color: #aeb6bc; }.theme-logo-dark .admin-stl-upload__local-preview button, .theme-logo-dark .admin-model-library__local-source { border-color: #454d52; background: #252a2d; }.theme-logo-dark .admin-stl-upload__local-preview button { color: var(--teal); }.theme-logo-dark .admin-stl-upload__local-preview button:hover:not(:disabled) { background: #3a2b20; }.theme-logo-dark .admin-model-library__local-source { background: #202529; }@media (max-width: 760px) { .admin-stl-upload__local-preview { align-items: stretch; flex-direction: column; }.admin-stl-upload__local-preview label, .admin-stl-upload__local-preview button { width: 100%; }.admin-model-library__local-source { padding: 13px 18px; } }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }.store-filter { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .45fr) auto auto; gap: 13px; align-items: end; margin: 0 0 16px; padding: 19px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }.store-filter label { display: grid; gap: 7px; color: var(--ink); font-size: .73rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.store-filter input, .store-filter select { width: 100%; height: 43px; padding: 0 11px; border: 1px solid var(--line); border-radius: 5px; outline: none; background: var(--paper); color: var(--ink); font: inherit; font-size: .88rem; letter-spacing: normal; text-transform: none; }.store-filter input:focus, .store-filter select:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(24,185,160,.13); }.store-filter .button { min-height: 43px; padding: 0 17px; white-space: nowrap; }.store-filter__clear { padding: 12px 0; color: var(--slate); font-size: .79rem; font-weight: 800; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; }.store-filter__clear:hover { color: var(--teal-deep); }.store-results { margin: 0 0 21px; color: var(--slate); font-size: .82rem; font-weight: 750; }.store-empty { padding: 47px 28px; border: 1px dashed var(--line); border-radius: var(--radius); background: var(--white); text-align: center; }.store-empty h2 { margin-bottom: 10px; font-size: 1.6rem; }.store-empty p { max-width: 450px; margin: 0 auto 17px; color: var(--slate); font-size: .9rem; }.theme-logo-dark .store-filter, .theme-logo-dark .store-empty { border-color: #41484d; background: #252a2d; }.theme-logo-dark .store-filter label, .theme-logo-dark .store-empty h2 { color: #f1f3f4; }.theme-logo-dark .store-filter input, .theme-logo-dark .store-filter select { border-color: #454d52; background: #141719; color: #f7f8f8; }.theme-logo-dark .store-filter input:focus, .theme-logo-dark .store-filter select:focus { box-shadow: 0 0 0 3px rgba(255,105,0,.18); }.theme-logo-dark .store-results, .theme-logo-dark .store-filter__clear, .theme-logo-dark .store-empty p { color: #aeb6bc; }.theme-logo-dark .store-filter__clear:hover { color: var(--teal); }

.admin-nav { flex-wrap: wrap; }.admin-category-link { display: block; color: #7c899c; font-size: .68rem; font-weight: 650; letter-spacing: normal; text-transform: none; }.admin-category-link a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }.admin-category-link a:hover { color: var(--teal-deep); }.admin-form__grid--tags { grid-template-columns: minmax(0, 1fr); }.admin-tags-field { max-width: 760px; }.admin-category-manager { margin-bottom: 35px; padding: 30px; border-radius: var(--radius); background: var(--white); box-shadow: 0 12px 32px rgba(11,17,32,.08); }.admin-category-manager__heading .eyebrow { margin-bottom: 8px; }.admin-category-manager__heading h2 { margin: 0 0 20px; font-size: 1.65rem; }.admin-category-add { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 15px; align-items: end; max-width: 600px; }.admin-category-add label { display: grid; gap: 8px; color: #26354e; font-size: .81rem; font-weight: 800; }.admin-category-add input, .admin-category-card__rename input { width: 100%; height: 43px; padding: 0 11px; border: 1px solid #cbd2da; border-radius: 5px; outline: none; background: #fcfcfb; color: var(--ink); font: inherit; font-size: .9rem; }.admin-category-add input:focus, .admin-category-card__rename input:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(24,185,160,.13); }.admin-category-add .button { min-height: 43px; padding: 0 17px; white-space: nowrap; }.admin-category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.admin-category-card { display: grid; gap: 17px; padding: 21px; border: 1px solid #d7dde3; border-radius: 12px; background: var(--white); }.admin-category-card .eyebrow { margin-bottom: 7px; }.admin-category-card h3 { margin: 0; font-size: 1.18rem; }.admin-category-card__rename { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }.admin-category-card__rename button, .admin-category-card__remove button { min-height: 40px; padding: 0 11px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: #33455f; font: inherit; font-size: .76rem; font-weight: 850; cursor: pointer; }.admin-category-card__rename button:hover, .admin-category-card__rename button:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }.admin-category-card__remove { margin: -4px 0 0; }.admin-category-card__remove button { color: #b23d2c; }.admin-category-card__remove button:hover:not(:disabled), .admin-category-card__remove button:focus-visible { border-color: #b23d2c; background: #fff0ea; outline: none; }.admin-category-card__remove button:disabled { border-color: #d7dde3; color: #9ba5b1; cursor: not-allowed; }.theme-logo-dark .admin-category-manager, .theme-logo-dark .admin-category-card { border-color: #41484d; background: #252a2d; box-shadow: 0 14px 35px rgba(0,0,0,.24); }.theme-logo-dark .admin-category-manager h2, .theme-logo-dark .admin-category-card h3, .theme-logo-dark .admin-category-add label { color: #f1f3f4; }.theme-logo-dark .admin-category-link { color: #aeb6bc; }.theme-logo-dark .admin-category-link a:hover { color: var(--teal); }.theme-logo-dark .admin-category-add input, .theme-logo-dark .admin-category-card__rename input { border-color: #454d52; background: #141719; color: #f7f8f8; }.theme-logo-dark .admin-category-add input:focus, .theme-logo-dark .admin-category-card__rename input:focus { box-shadow: 0 0 0 3px rgba(255,105,0,.18); }.theme-logo-dark .admin-category-card__rename button, .theme-logo-dark .admin-category-card__remove button { border-color: #454d52; color: #d6dce0; }.theme-logo-dark .admin-category-card__rename button:hover, .theme-logo-dark .admin-category-card__rename button:focus-visible { border-color: var(--teal); color: var(--teal); }.theme-logo-dark .admin-category-card__remove button { color: #ffc1b6; }.theme-logo-dark .admin-category-card__remove button:hover:not(:disabled), .theme-logo-dark .admin-category-card__remove button:focus-visible { border-color: #c7654e; background: #3c231e; }.theme-logo-dark .admin-category-card__remove button:disabled { border-color: #454d52; color: #778187; background: transparent; }@media (max-width: 900px) { .store-filter { grid-template-columns: 1fr 1fr; }.store-filter__search { grid-column: 1 / -1; }.admin-category-grid { grid-template-columns: repeat(2, 1fr); } }@media (max-width: 720px) { .store-filter, .admin-category-add, .admin-category-grid { grid-template-columns: 1fr; }.store-filter .button { width: 100%; }.store-filter__clear { padding: 0; }.admin-category-manager { padding: 23px 17px; }.admin-category-add .button { width: 100%; }.admin-category-card__rename { grid-template-columns: 1fr; } }

.admin-form .admin-product-category__options { gap: 0; padding-right: 0; }.admin-form .admin-product-category__options label { display: grid !important; grid-template-columns: minmax(0, 1fr) 16px; gap: 10px; min-height: 38px; padding: 8px 7px; border-radius: 0; }.admin-form .admin-product-category__options label:not(:last-child) { border-bottom: 1px solid #dce2e6; }.admin-form .admin-product-category__options label span { grid-column: 1; grid-row: 1; min-width: 0; overflow-wrap: anywhere; }.admin-form .admin-product-category__options input[type="checkbox"] { grid-column: 2; grid-row: 1; width: 16px !important; height: 16px !important; min-width: 16px; min-height: 16px; margin: 0 !important; padding: 0 !important; align-self: center; justify-self: end; }.theme-logo-dark .admin-form .admin-product-category__options label:not(:last-child) { border-color: #41484d; }

.legal-section { background: var(--paper-deep); }.legal-layout { display: grid; grid-template-columns: minmax(175px, .32fr) minmax(0, 1fr); gap: clamp(30px, 7vw, 90px); align-items: start; }.legal-nav { position: sticky; top: 105px; display: grid; gap: 10px; padding: 17px; border: 1px solid var(--line); border-radius: 9px; background: var(--white); }.legal-nav strong { margin-bottom: 3px; color: var(--ink); font-size: .78rem; }.legal-nav a { color: var(--slate); font-size: .78rem; font-weight: 760; }.legal-nav a:hover, .legal-nav a:focus-visible { color: var(--teal-deep); outline: none; }.legal-content { padding: clamp(24px, 4vw, 46px); border: 1px solid var(--line); border-radius: 12px; background: var(--white); box-shadow: 0 10px 30px rgba(11,17,32,.05); }.legal-content > section + section { margin-top: 43px; padding-top: 42px; border-top: 1px solid var(--line); }.legal-updated { margin: 0 0 31px; color: var(--slate); font-size: .74rem; font-weight: 750; }.legal-content h2 { margin: 0 0 13px; color: var(--ink); font-size: clamp(1.55rem, 2.7vw, 2.15rem); }.legal-content h3 { margin: 25px 0 8px; color: var(--ink); font-size: 1rem; }.legal-content p { max-width: 790px; margin: 0 0 13px; color: var(--slate); font-size: .9rem; line-height: 1.7; }.legal-content a, .legal-cookie-button { color: var(--teal-deep); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }.legal-content a:hover, .legal-content a:focus-visible, .legal-cookie-button:hover, .legal-cookie-button:focus-visible { color: var(--orange); outline: none; }.legal-cookie-button { padding: 0; border: 0; background: transparent; font: inherit; cursor: pointer; }.legal-retention-list { display: grid; gap: 10px; margin: 19px 0; }.legal-retention-list > div { padding: 16px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }.legal-retention-list dt { margin-bottom: 5px; color: var(--ink); font-size: .78rem; font-weight: 850; }.legal-retention-list dd { margin: 0; color: var(--slate); font-size: .82rem; line-height: 1.55; }.legal-cookie-table { overflow-x: auto; margin: 19px 0; border: 1px solid var(--line); border-radius: 7px; }.legal-cookie-table table { width: 100%; min-width: 650px; border-collapse: collapse; color: var(--slate); font-size: .78rem; line-height: 1.45; }.legal-cookie-table th, .legal-cookie-table td { padding: 13px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }.legal-cookie-table tr:last-child td { border-bottom: 0; }.legal-cookie-table th { color: var(--ink); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }.legal-cookie-table code { padding: 2px 5px; border-radius: 3px; background: var(--paper-deep); color: var(--ink); font-size: .72rem; }.theme-logo-dark .legal-section { background: #202529; }.theme-logo-dark .legal-nav, .theme-logo-dark .legal-content { border-color: #41484d; background: #252a2d; box-shadow: 0 14px 30px rgba(0,0,0,.2); }.theme-logo-dark .legal-nav strong, .theme-logo-dark .legal-content h2, .theme-logo-dark .legal-content h3, .theme-logo-dark .legal-retention-list dt, .theme-logo-dark .legal-cookie-table th { color: #f1f3f4; }.theme-logo-dark .legal-nav a, .theme-logo-dark .legal-content p, .theme-logo-dark .legal-updated, .theme-logo-dark .legal-retention-list dd, .theme-logo-dark .legal-cookie-table { color: #aeb6bc; }.theme-logo-dark .legal-content > section + section, .theme-logo-dark .legal-retention-list > div, .theme-logo-dark .legal-cookie-table, .theme-logo-dark .legal-cookie-table th, .theme-logo-dark .legal-cookie-table td { border-color: #41484d; }.theme-logo-dark .legal-retention-list > div { background: #202529; }.theme-logo-dark .legal-cookie-table code { background: #171a1c; color: #f1f3f4; }.theme-logo-dark .legal-content a, .theme-logo-dark .legal-cookie-button { color: var(--teal); }.theme-logo-dark .legal-content a:hover, .theme-logo-dark .legal-content a:focus-visible, .theme-logo-dark .legal-cookie-button:hover, .theme-logo-dark .legal-cookie-button:focus-visible { color: #ffab61; }@media (max-width: 780px) { .legal-layout { grid-template-columns: 1fr; }.legal-nav { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }.legal-nav strong { grid-column: 1 / -1; }.legal-content { padding: 26px 20px; } }@media (max-width: 480px) { .legal-nav { grid-template-columns: 1fr; }.legal-content > section + section { margin-top: 34px; padding-top: 33px; } }

.admin-bulk-actions { display: grid; gap: 16px; margin: 0 0 20px; padding: 20px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }.admin-bulk-actions__heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; }.admin-bulk-actions__heading .eyebrow { margin-bottom: 5px; }.admin-bulk-actions__heading h3 { margin: 0 0 6px; color: var(--ink); font-size: 1.05rem; }.admin-bulk-actions__heading p { margin: 0; color: var(--slate); font-size: .77rem; line-height: 1.45; }.admin-bulk-actions__select-all { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 5px; color: #33455f; font-size: .75rem; font-weight: 820; cursor: pointer; }.admin-bulk-actions__select-all input, .admin-item__select input { width: 16px; height: 16px; margin: 0; accent-color: var(--teal-deep); }.admin-bulk-actions__controls { display: grid; grid-template-columns: minmax(210px, .6fr) auto minmax(150px, 1fr); gap: 12px; align-items: end; }.admin-bulk-actions label:not(.admin-bulk-actions__select-all), .admin-bulk-actions fieldset { display: grid; gap: 7px; min-width: 0; margin: 0; padding: 0; border: 0; color: #26354e; font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.admin-bulk-actions label > span, .admin-bulk-actions legend > span { color: #7c899c; font-weight: 650; letter-spacing: normal; text-transform: none; }.admin-bulk-actions select, .admin-bulk-actions input[type="text"] { width: 100%; height: 41px; padding: 0 10px; border: 1px solid #cbd2da; border-radius: 5px; outline: none; background: #fcfcfb; color: var(--ink); font: inherit; font-size: .85rem; font-weight: 650; letter-spacing: normal; text-transform: none; }.admin-bulk-actions select:focus, .admin-bulk-actions input[type="text"]:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(24,185,160,.13); }.admin-bulk-actions__controls .button { min-height: 41px; padding: 0 14px; white-space: nowrap; }.admin-bulk-actions__controls > p { align-self: center; margin: 0; color: var(--slate); font-size: .76rem; font-weight: 720; }.admin-bulk-actions__options { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(230px, .6fr); gap: 14px; padding-top: 16px; border-top: 1px solid var(--line); }.admin-bulk-actions__categories { display: flex; max-height: 132px; flex-wrap: wrap; gap: 7px; overflow: auto; padding: 1px; }.admin-bulk-actions__categories label { display: inline-flex !important; align-items: center; gap: 7px; min-height: 29px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 4px; color: #43516a !important; font-size: .73rem !important; letter-spacing: normal !important; text-transform: none !important; cursor: pointer; }.admin-bulk-actions__categories label:hover { border-color: var(--teal-deep); }.admin-bulk-actions__categories input { width: 14px; height: 14px; margin: 0; accent-color: var(--teal-deep); }.admin-bulk-actions__delivery { grid-column: 1 / -1; }.admin-bulk-actions__delivery p { margin: 0; color: var(--slate); font-size: .76rem; font-weight: 650; letter-spacing: normal; line-height: 1.5; text-transform: none; }.admin-bulk-actions__delivery p strong { color: inherit; font: inherit; font-weight: 850; }.admin-bulk-actions__delivery > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }.admin-item { position: relative; }.admin-item__select { position: absolute; z-index: 3; top: 9px; left: 9px; display: inline-flex; align-items: center; gap: 5px; padding: 5px 7px; border: 1px solid rgba(255,255,255,.65); border-radius: 4px; background: rgba(8,13,17,.72); color: #fff; font-size: .62rem; font-weight: 850; line-height: 1; cursor: pointer; }.admin-item__select input { accent-color: var(--teal); }.admin-item__featured { left: 63px; }.theme-logo-dark .admin-bulk-actions { border-color: #41484d; background: #252a2d; }.theme-logo-dark .admin-bulk-actions__heading h3 { color: #f1f3f4; }.theme-logo-dark .admin-bulk-actions__heading p, .theme-logo-dark .admin-bulk-actions__controls > p, .theme-logo-dark .admin-bulk-actions__delivery p { color: #aeb6bc; }.theme-logo-dark .admin-bulk-actions__select-all { border-color: #454d52; color: #d6dce0; }.theme-logo-dark .admin-bulk-actions label:not(.admin-bulk-actions__select-all), .theme-logo-dark .admin-bulk-actions fieldset { color: #e5e9eb; }.theme-logo-dark .admin-bulk-actions label > span, .theme-logo-dark .admin-bulk-actions legend > span { color: #aeb6bc; }.theme-logo-dark .admin-bulk-actions select, .theme-logo-dark .admin-bulk-actions input[type="text"] { border-color: #454d52; background: #141719; color: #f7f8f8; }.theme-logo-dark .admin-bulk-actions select:focus, .theme-logo-dark .admin-bulk-actions input[type="text"]:focus { box-shadow: 0 0 0 3px rgba(255,105,0,.18); }.theme-logo-dark .admin-bulk-actions__options { border-color: #41484d; }.theme-logo-dark .admin-bulk-actions__categories label { border-color: #454d52; color: #d6dce0 !important; }.theme-logo-dark .admin-bulk-actions__categories label:hover { border-color: var(--teal); }@media (max-width: 760px) { .admin-bulk-actions__heading { align-items: stretch; flex-direction: column; }.admin-bulk-actions__select-all { align-self: start; }.admin-bulk-actions__controls, .admin-bulk-actions__options, .admin-bulk-actions__delivery > div { grid-template-columns: 1fr; }.admin-bulk-actions__controls .button { width: 100%; }.admin-bulk-actions__controls > p { align-self: auto; } }

.testimonials-section { background: var(--paper-deep); }.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.testimonial-card { display: flex; min-width: 0; min-height: 238px; flex-direction: column; justify-content: space-between; gap: 28px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 7px 22px rgba(11,17,32,.05); }.testimonial-card blockquote { margin: 0; color: var(--ink); font-family: Georgia, serif; font-size: 1.12rem; font-style: italic; line-height: 1.6; }.testimonial-card footer { display: grid; gap: 3px; }.testimonial-card footer strong { color: var(--ink); font-size: .84rem; }.testimonial-card footer span { color: var(--slate); font-size: .77rem; }.testimonial-card footer a { margin-top: 7px; color: var(--teal-deep); font-size: .75rem; font-weight: 830; }.testimonial-card footer a:hover { color: var(--orange); }.related-listings .section-heading { margin-bottom: 32px; }.theme-logo-dark .testimonials-section { background: #202529; }.theme-logo-dark .testimonial-card { border-color: #41484d; background: #252a2d; box-shadow: 0 14px 30px rgba(0,0,0,.2); }.theme-logo-dark .testimonial-card blockquote, .theme-logo-dark .testimonial-card footer strong { color: #f1f3f4; }.theme-logo-dark .testimonial-card footer span { color: #aeb6bc; }.theme-logo-dark .testimonial-card footer a { color: var(--teal); }.theme-logo-dark .testimonial-card footer a:hover { color: #ffab61; }

.admin-testimonial-editor__toggle { display: flex !important; align-items: center; gap: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); cursor: pointer; }.admin-testimonial-editor__toggle input { width: 17px; height: 17px; margin: 0; accent-color: var(--teal-deep); }.admin-testimonial-editor__toggle span { display: grid; gap: 2px; }.admin-testimonial-editor__toggle small { color: var(--slate); font-size: .76rem; font-weight: 650; }.admin-testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.admin-testimonial-card { display: flex; min-width: 0; min-height: 235px; flex-direction: column; justify-content: space-between; gap: 22px; padding: 21px; border: 1px solid #d7dde3; border-radius: 12px; background: var(--white); }.admin-testimonial-card.is-disabled { opacity: .72; }.admin-testimonial-card__status { display: inline-flex; margin-bottom: 14px; padding: 4px 7px; border-radius: 99px; background: #d6f4ee; color: #123a42; font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.admin-testimonial-card.is-disabled .admin-testimonial-card__status { background: #edf0f3; color: #6c7785; }.admin-testimonial-card blockquote { margin: 0; color: var(--ink); font-family: Georgia, serif; font-size: .94rem; font-style: italic; line-height: 1.52; }.admin-testimonial-card footer { display: flex; justify-content: space-between; gap: 13px; align-items: end; }.admin-testimonial-card footer > div:first-child { display: grid; gap: 3px; min-width: 0; }.admin-testimonial-card footer strong { color: var(--ink); font-size: .8rem; }.admin-testimonial-card footer span { color: var(--slate); font-size: .72rem; }.admin-testimonial-card footer > div:last-child { display: flex; gap: 11px; align-items: center; }.admin-testimonial-card a, .admin-testimonial-card button { padding: 0; border: 0; background: transparent; color: #33455f; font-size: .77rem; font-weight: 850; }.admin-testimonial-card button { color: #b23d2c; }.admin-testimonial-card a:hover { color: var(--teal-deep); }.admin-testimonial-card button:hover { text-decoration: underline; }.admin-testimonial-card form { margin: 0; }.theme-logo-dark .admin-testimonial-editor__toggle, .theme-logo-dark .admin-testimonial-card { border-color: #41484d; background: #252a2d; }.theme-logo-dark .admin-testimonial-editor__toggle small, .theme-logo-dark .admin-testimonial-card footer span { color: #aeb6bc; }.theme-logo-dark .admin-testimonial-card blockquote, .theme-logo-dark .admin-testimonial-card footer strong { color: #f1f3f4; }.theme-logo-dark .admin-testimonial-card__status { background: #263b38; color: #bdf0e8; }.theme-logo-dark .admin-testimonial-card.is-disabled .admin-testimonial-card__status { background: #343b40; color: #b6bec4; }.theme-logo-dark .admin-testimonial-card a { color: #d6dce0; }.theme-logo-dark .admin-testimonial-card a:hover { color: var(--teal); }.theme-logo-dark .admin-testimonial-card button { color: #ffc1b6; }@media (max-width: 900px) { .testimonials-grid, .admin-testimonial-grid { grid-template-columns: repeat(2, 1fr); } }@media (max-width: 720px) { .testimonials-grid, .admin-testimonial-grid { grid-template-columns: 1fr; }.testimonial-card, .admin-testimonial-card { min-height: 0; } }

.store-filter__categories { display: grid; grid-column: 1 / -1; gap: 8px; padding-top: 3px; }.store-filter__categories > span { color: var(--ink); font-size: .73rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.store-filter__categories > div { display: flex; width: 100%; flex-wrap: wrap; gap: 8px; }.store-filter__categories a { display: inline-flex; min-height: 33px; align-items: center; justify-content: center; padding: 6px 11px; border: 1px solid var(--line); border-radius: 5px; color: var(--slate); font-size: .76rem; font-weight: 800; line-height: 1.2; transition: border-color .2s ease, background .2s ease, color .2s ease; }.store-filter__categories a:hover, .store-filter__categories a:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }.store-filter__categories a.is-active { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); }.theme-logo-dark .store-filter__categories > span { color: #f1f3f4; }.theme-logo-dark .store-filter__categories a { border-color: #454d52; color: #d6dce0; }.theme-logo-dark .store-filter__categories a:hover, .theme-logo-dark .store-filter__categories a:focus-visible { border-color: var(--teal); color: var(--teal); }.theme-logo-dark .store-filter__categories a.is-active { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }

.admin-listing-status { display: flex; justify-content: space-between; gap: 22px; align-items: center; padding: 17px 19px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }.admin-listing-status .eyebrow { margin-bottom: 5px; }.admin-listing-status h3 { margin: 0; font-size: 1rem; }.admin-listing-toggle { position: relative; display: grid !important; grid-template-columns: 42px minmax(0, 1fr); gap: 10px !important; max-width: 305px; color: var(--ink) !important; cursor: pointer; align-items: center; }.admin-listing-toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; }.admin-listing-toggle__switch { position: relative; display: block; width: 42px; height: 24px; border-radius: 999px; background: #8d99a8; transition: background .2s ease; }.admin-listing-toggle__switch::after { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--white); box-shadow: 0 1px 3px rgba(0,0,0,.24); content: ""; transition: transform .2s ease; }.admin-listing-toggle input:checked + .admin-listing-toggle__switch { background: var(--teal-deep); }.admin-listing-toggle input:checked + .admin-listing-toggle__switch::after { transform: translateX(18px); }.admin-listing-toggle input:focus-visible + .admin-listing-toggle__switch { outline: 3px solid rgba(24,185,160,.2); outline-offset: 3px; }.admin-listing-toggle strong, .admin-listing-toggle small { display: block; }.admin-listing-toggle strong { color: inherit; font-size: .8rem; }.admin-listing-toggle small { margin-top: 2px; color: var(--slate); font-size: .68rem; font-weight: 650; line-height: 1.35; }.admin-item__visual { position: relative; }.admin-item__status { position: absolute; z-index: 1; top: 10px; right: 10px; padding: 5px 7px; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,.2); font-size: .6rem; font-weight: 900; letter-spacing: .06em; line-height: 1; text-transform: uppercase; }.admin-item__status--enabled { background: #d6f4ee; color: #123a42; }.admin-item__status--disabled { background: #fde4dc; color: #7a2d20; }.admin-item.is-disabled .admin-item__visual img { filter: grayscale(.78) brightness(.78); }.admin-item.is-disabled .admin-item__body { opacity: .74; }.theme-logo-dark .admin-listing-status { border-color: #41484d; background: #202529; }.theme-logo-dark .admin-listing-status h3, .theme-logo-dark .admin-listing-toggle { color: #f1f3f4 !important; }.theme-logo-dark .admin-listing-toggle small { color: #aeb6bc; }.theme-logo-dark .admin-listing-toggle__switch { background: #667078; }.theme-logo-dark .admin-listing-toggle input:checked + .admin-listing-toggle__switch { background: var(--teal); }.theme-logo-dark .admin-listing-toggle input:focus-visible + .admin-listing-toggle__switch { outline-color: rgba(255,105,0,.24); }.theme-logo-dark .admin-item__status--enabled { background: #3a2b20; color: #ffc38f; }.theme-logo-dark .admin-item__status--disabled { background: #3c231e; color: #ffc1b6; }@media (max-width: 720px) { .admin-listing-status { display: grid; gap: 15px; align-items: start; }.admin-listing-toggle { max-width: none; } }

.admin-catalogue-filter { display: grid; grid-template-columns: minmax(0, 1fr) minmax(170px, .42fr) auto auto; gap: 12px; align-items: end; margin: 0 0 14px; padding: 17px; border: 1px solid var(--line); border-radius: 9px; background: var(--white); }.admin-catalogue-filter label { display: grid; gap: 7px; color: #26354e; font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.admin-catalogue-filter input, .admin-catalogue-filter select { width: 100%; height: 41px; padding: 0 10px; border: 1px solid #cbd2da; border-radius: 5px; outline: none; background: #fcfcfb; color: var(--ink); font: inherit; font-size: .85rem; letter-spacing: normal; text-transform: none; }.admin-catalogue-filter input:focus, .admin-catalogue-filter select:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(24,185,160,.13); }.admin-catalogue-filter button { min-height: 41px; padding: 0 14px; border: 1px solid var(--teal-deep); border-radius: 5px; background: var(--teal-deep); color: var(--white); font: inherit; font-size: .78rem; font-weight: 850; cursor: pointer; }.admin-catalogue-filter button:hover, .admin-catalogue-filter button:focus-visible { border-color: var(--teal); background: var(--teal); outline: none; }.admin-catalogue-filter > a { padding: 11px 0; color: var(--slate); font-size: .78rem; font-weight: 800; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; }.admin-catalogue-filter > a:hover { color: var(--teal-deep); }.admin-catalogue-results { margin: 0 0 18px; color: var(--slate); font-size: .79rem; font-weight: 750; }.theme-logo-dark .admin-catalogue-filter { border-color: #41484d; background: #252a2d; }.theme-logo-dark .admin-catalogue-filter label { color: #f1f3f4; }.theme-logo-dark .admin-catalogue-filter input, .theme-logo-dark .admin-catalogue-filter select { border-color: #454d52; background: #141719; color: #f7f8f8; }.theme-logo-dark .admin-catalogue-filter input:focus, .theme-logo-dark .admin-catalogue-filter select:focus { box-shadow: 0 0 0 3px rgba(255,105,0,.18); }.theme-logo-dark .admin-catalogue-filter button { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .admin-catalogue-filter button:hover, .theme-logo-dark .admin-catalogue-filter button:focus-visible { border-color: var(--teal); background: var(--teal); }.theme-logo-dark .admin-catalogue-filter > a, .theme-logo-dark .admin-catalogue-results { color: #aeb6bc; }.theme-logo-dark .admin-catalogue-filter > a:hover { color: var(--teal); }@media (max-width: 720px) { .admin-catalogue-filter { grid-template-columns: 1fr; }.admin-catalogue-filter__search { grid-column: auto; }.admin-catalogue-filter button { width: 100%; }.admin-catalogue-filter > a { padding: 0; } }

.admin-catalogue-filter__categories { display: grid; grid-column: 1 / -1; gap: 8px; padding-top: 3px; }.admin-catalogue-filter__categories > span { color: var(--ink); font-size: .73rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.admin-catalogue-filter__categories > div { display: flex; width: 100%; flex-wrap: wrap; gap: 8px; }.admin-catalogue-filter__categories a { display: inline-flex; min-height: 33px; align-items: center; justify-content: center; padding: 6px 11px; border: 1px solid var(--line); border-radius: 5px; color: var(--slate); font-size: .76rem; font-weight: 800; line-height: 1.2; transition: border-color .2s ease, background .2s ease, color .2s ease; }.admin-catalogue-filter__categories a:hover, .admin-catalogue-filter__categories a:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }.admin-catalogue-filter__categories a.is-active { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); }.theme-logo-dark .admin-catalogue-filter__categories > span { color: #f1f3f4; }.theme-logo-dark .admin-catalogue-filter__categories a { border-color: #454d52; color: #d6dce0; }.theme-logo-dark .admin-catalogue-filter__categories a:hover, .theme-logo-dark .admin-catalogue-filter__categories a:focus-visible { border-color: var(--teal); color: var(--teal); }.theme-logo-dark .admin-catalogue-filter__categories a.is-active { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }

.product-detail__description + .product-detail__metadata { margin-top: -13px; }.product-detail__metadata { max-width: 470px; margin: 0 0 20px; padding-top: 17px; border-top: 1px solid var(--line); }.product-detail__metadata h2 { margin: 0 0 8px; color: var(--ink); font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.product-detail__metadata > div { display: flex; flex-wrap: wrap; gap: 7px; }.product-detail__metadata a, .product-detail__metadata span { display: inline-flex; min-height: 27px; align-items: center; padding: 4px 9px; border: 1px solid var(--line); border-radius: 99px; color: var(--slate); font-size: .72rem; font-weight: 760; line-height: 1.2; }.product-detail__metadata a:hover, .product-detail__metadata a:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }.theme-logo-dark .product-detail__metadata { border-color: #40474c; }.theme-logo-dark .product-detail__metadata h2 { color: #e5e9eb; }.theme-logo-dark .product-detail__metadata a, .theme-logo-dark .product-detail__metadata span { border-color: #454d52; color: #c3c9cd; }.theme-logo-dark .product-detail__metadata a:hover, .theme-logo-dark .product-detail__metadata a:focus-visible { border-color: var(--teal); color: var(--teal); }

.admin-item { display: flex; min-width: 0; flex-direction: column; }.admin-item__visual { min-height: 120px; overflow: hidden; flex: 0 0 120px; }.admin-item__visual img { min-width: 100%; min-height: 120px; max-height: 120px; }.admin-item__body { position: relative; z-index: 1; display: block; min-width: 0; flex: 1 1 auto; }.admin-product-category { position: relative; min-width: 0; }.admin-product-category > label { display: grid; }.admin-product-category__popover { position: absolute; z-index: 8; top: calc(100% + 8px); left: -1px; width: calc(100% + 2px); padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--white); box-shadow: 0 13px 28px rgba(11,17,32,.16); }.admin-product-category__popover[hidden] { display: none !important; }.admin-product-category__popover::before { position: absolute; top: -5px; left: 22px; width: 9px; height: 9px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); background: var(--white); content: ""; transform: rotate(45deg); }.admin-product-category__popover label { display: grid; gap: 7px; }.theme-logo-dark .admin-product-category__popover { border-color: #454d52; background: #202529; box-shadow: 0 16px 34px rgba(0,0,0,.35); }.theme-logo-dark .admin-product-category__popover::before { border-color: #454d52; background: #202529; }@media (max-width: 720px) { .admin-product-category__popover { position: static; width: auto; margin-top: 9px; }.admin-product-category__popover::before { display: none; } }

.admin-product-category__actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 11px; }.admin-product-category__actions button { min-height: 33px; padding: 0 11px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: #33455f; font: inherit; font-size: .74rem; font-weight: 850; cursor: pointer; }.admin-product-category__actions button:first-child { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); }.admin-product-category__actions button:first-child:hover, .admin-product-category__actions button:first-child:focus-visible { border-color: var(--teal); background: var(--teal); outline: none; }.admin-product-category__actions button:last-child:hover, .admin-product-category__actions button:last-child:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }.theme-logo-dark .admin-product-category__actions button { border-color: #454d52; color: #d6dce0; }.theme-logo-dark .admin-product-category__actions button:first-child { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .admin-product-category__actions button:first-child:hover, .theme-logo-dark .admin-product-category__actions button:first-child:focus-visible { border-color: var(--teal); background: var(--teal); }.theme-logo-dark .admin-product-category__actions button:last-child:hover, .theme-logo-dark .admin-product-category__actions button:last-child:focus-visible { border-color: var(--teal); color: var(--teal); }

.admin-product-category > label > select { transform: translateY(11px); }
.stl-viewer.is-render-queue-running canvas { pointer-events: none; }
p.stl-viewer__tool-menu-title { position: static; z-index: auto; display: block; margin: 0; padding: 0; border-radius: 0; background: transparent; color: var(--white); pointer-events: auto; }
.stl-viewer__toolbar { gap: 4px; padding: 4px; border: 1px solid rgba(255,255,255,.24); border-radius: 8px; background: rgba(3,6,12,.68); box-shadow: 0 8px 20px rgba(0,0,0,.18); backdrop-filter: blur(8px); }.stl-viewer__tool-group { position: relative; display: block; }.stl-viewer__tool-group + .stl-viewer__tool-group { padding-left: 0; border-left: 0; }.stl-viewer__menu-trigger { min-height: 30px; padding: 5px 9px; border: 1px solid rgba(255,255,255,.3); border-radius: 5px; background: rgba(3,6,12,.48); color: var(--white); font: inherit; font-size: .61rem; font-weight: 850; letter-spacing: .035em; cursor: pointer; }.stl-viewer__menu-trigger:hover, .stl-viewer__menu-trigger:focus-visible, .stl-viewer__menu-trigger.is-active { border-color: var(--teal); background: var(--teal-deep); color: var(--white); outline: none; }.stl-viewer__tool-menu { position: absolute; z-index: 6; top: calc(100% + 7px); left: 0; display: grid; min-width: 204px; max-width: min(330px, calc(100vw - 32px)); gap: 7px; padding: 9px; border: 1px solid rgba(255,255,255,.32); border-radius: 7px; background: rgba(3,6,12,.91); box-shadow: 0 14px 28px rgba(0,0,0,.3); color: var(--white); }.stl-viewer__tool-group:last-child .stl-viewer__tool-menu { right: 0; left: auto; }.stl-viewer__tool-menu[hidden] { display: none; }.stl-viewer__tool-menu-title { margin: 0; color: var(--paper-deep); font-size: .57rem; font-weight: 860; letter-spacing: .075em; text-transform: uppercase; }.stl-viewer__tool-menu-controls { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }.stl-viewer__tool-menu-controls > .stl-viewer__download { display: flex; flex: 1 1 100%; flex-wrap: wrap; gap: 5px; }.stl-viewer__tool-menu .stl-viewer__download select { flex: 1 1 116px; max-width: none; }.stl-viewer__tool-menu .stl-viewer__control, .stl-viewer__tool-menu .stl-viewer__colour-control { min-height: 30px; }.stl-viewer__tool-menu .stl-viewer__colour-control { flex: 1 1 132px; justify-content: space-between; }.stl-viewer__tool-menu .stl-viewer__orientation { flex-basis: 100%; }.stl-viewer__tool-menu .stl-viewer__orientation .stl-viewer__control { flex: 1 1 70px; }@media (max-width: 620px) { .stl-viewer__toolbar { top: 6px; left: 6px; max-width: calc(100% - 12px); gap: 3px; padding: 3px; }.stl-viewer__menu-trigger { min-height: 28px; padding: 4px 7px; font-size: .56rem; }.stl-viewer__tool-menu { top: calc(100% + 5px); min-width: min(244px, calc(100vw - 20px)); max-width: calc(100vw - 20px); padding: 8px; }.stl-viewer__tool-group:last-child .stl-viewer__tool-menu { right: 0; left: auto; } }

.stl-viewer__select-control, .stl-viewer__range-control { display: flex; flex: 1 1 100%; min-width: 0; gap: 7px; align-items: center; color: var(--white); font-size: .58rem; font-weight: 800; }.stl-viewer__select-control { justify-content: space-between; }.stl-viewer__select-control select { min-width: 118px; min-height: 29px; padding: 4px 6px; border: 1px solid rgba(255,255,255,.36); border-radius: 4px; background: rgba(255,255,255,.08); color: var(--white); font: inherit; font-size: .57rem; cursor: pointer; }.stl-viewer__select-control select:focus-visible { border-color: var(--teal); outline: none; }.stl-viewer__select-control option { background: #13171a; color: var(--white); }.stl-viewer__range-control > span { flex: 0 0 76px; }.stl-viewer__range-control input { flex: 1 1 auto; min-width: 0; accent-color: var(--orange); cursor: pointer; }.stl-viewer__range-control output { flex: 0 0 31px; color: var(--white); font-variant-numeric: tabular-nums; text-align: right; }.stl-viewer__composition-guides { position: absolute; z-index: 2; inset: 0; overflow: hidden; pointer-events: none; }.stl-viewer__composition-guides[hidden] { display: none; }.stl-viewer__composition-guides.has-thirds { background-image: linear-gradient(to right, transparent 33.15%, rgba(255,255,255,.45) 33.3%, rgba(255,255,255,.45) 33.55%, transparent 33.7%), linear-gradient(to right, transparent 66.3%, rgba(255,255,255,.45) 66.45%, rgba(255,255,255,.45) 66.7%, transparent 66.85%), linear-gradient(to bottom, transparent 33.15%, rgba(255,255,255,.45) 33.3%, rgba(255,255,255,.45) 33.55%, transparent 33.7%), linear-gradient(to bottom, transparent 66.3%, rgba(255,255,255,.45) 66.45%, rgba(255,255,255,.45) 66.7%, transparent 66.85%); }.stl-viewer__composition-guides.has-safe-area::after { position: absolute; inset: 8%; border: 1px dashed rgba(255,255,255,.58); border-radius: 2px; content: ""; box-shadow: 0 0 0 1px rgba(3,6,12,.22); }
.admin-generated-images button { justify-self: end; min-height: 24px; padding: 3px 6px; border: 1px solid #8dbdb4; border-radius: 4px; background: transparent; color: #27655d; font: inherit; font-size: .59rem; font-weight: 820; cursor: pointer; }.admin-generated-images button:hover, .admin-generated-images button:focus-visible { border-color: #b23d2c; background: #fff0ea; color: #8f2d21; outline: none; }.theme-logo-dark .admin-generated-images button { border-color: #5c7773; color: #d8eeea; }.theme-logo-dark .admin-generated-images button:hover, .theme-logo-dark .admin-generated-images button:focus-visible { border-color: #c7654e; background: #3c231e; color: #ffc1b6; }

.admin-image-sort__generated { position: absolute; z-index: 1; right: 4px; bottom: 24px; max-width: calc(100% - 8px); padding: 3px 5px; overflow: hidden; border-radius: 3px; background: rgba(11,17,32,.78); color: var(--white); font-size: .52rem; font-weight: 820; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; pointer-events: none; }.admin-generated-images { display: grid; grid-template-columns: auto 1fr; gap: 3px 8px; margin: 12px 0 -4px; padding: 9px 10px; border: 1px solid #c8ded9; border-radius: 6px; background: #edf7f4; color: #24514d; }.admin-generated-images[hidden] { display: none; }.admin-generated-images strong { font-size: .67rem; letter-spacing: .05em; text-transform: uppercase; }.admin-generated-images > span { justify-self: start; padding: 2px 5px; border-radius: 9px; background: #c9e9e0; font-size: .59rem; font-weight: 850; }.admin-generated-images p { grid-column: 1 / -1; margin: 0; color: #416460; font-size: .66rem; line-height: 1.4; }.theme-logo-dark .admin-generated-images { border-color: #4b595c; background: #263438; color: #e4efed; }.theme-logo-dark .admin-generated-images > span { background: #3a5555; color: #dff5ef; }.theme-logo-dark .admin-generated-images p { color: #b9ceca; }

.stl-viewer__queue-region { position: absolute; z-index: 4; bottom: 10px; left: 10px; display: grid; width: min(224px, calc(100% - 112px)); gap: 7px; padding: 9px; border: 1px solid rgba(255,255,255,.32); border-radius: 7px; background: rgba(3,6,12,.84); color: var(--white); }.stl-viewer__queue-region[hidden] { display: none; }.stl-viewer__queue-region > strong { color: var(--paper-deep); font-size: .6rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }.stl-viewer__queue-controls { display: flex; gap: 5px; }.stl-viewer__queue-controls button, .stl-viewer__queue-job button { min-height: 27px; border: 1px solid rgba(255,255,255,.3); border-radius: 4px; background: rgba(255,255,255,.08); color: var(--white); font: inherit; font-size: .57rem; font-weight: 800; cursor: pointer; }.stl-viewer__queue-controls button { flex: 1 1 auto; padding: 4px 6px; }.stl-viewer__queue-controls button:hover:not(:disabled), .stl-viewer__queue-controls button:focus-visible:not(:disabled), .stl-viewer__queue-job button:hover:not(:disabled), .stl-viewer__queue-job button:focus-visible:not(:disabled) { border-color: var(--teal); background: var(--teal-deep); outline: none; }.stl-viewer__queue-controls button:disabled, .stl-viewer__queue-job button:disabled { cursor: default; opacity: .55; }.stl-viewer__queue-list { display: grid; max-height: 132px; gap: 4px; overflow-y: auto; scrollbar-color: rgba(255,255,255,.45) transparent; }.stl-viewer__queue-job { display: grid; grid-template-columns: minmax(0,1fr) 25px; gap: 5px; align-items: center; padding: 5px 6px; border: 1px solid rgba(255,255,255,.17); border-radius: 4px; background: rgba(255,255,255,.05); }.stl-viewer__queue-job.is-active { border-color: var(--teal); background: rgba(24,185,160,.16); }.stl-viewer__queue-job.is-error { border-color: rgba(255,176,160,.65); }.stl-viewer__queue-job span { overflow: hidden; font-size: .6rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }.stl-viewer__queue-job button { width: 25px; padding: 0; color: #ffd0c8; font-size: .95rem; line-height: 1; }.stl-viewer__queue-job small { grid-column: 1 / -1; color: #ffb0a0; font-size: .53rem; line-height: 1.35; }.stl-viewer__queue-status { min-height: 1.4em; margin: 0; color: var(--paper-deep); font-size: .57rem; line-height: 1.4; }.stl-viewer.is-render-queue-running .stl-viewer__toolbar, .stl-viewer.is-render-queue-running .stl-viewer__view-toolbar, .stl-viewer.is-render-queue-running .stl-viewer__style-region { opacity: .58; pointer-events: none; }@media (max-width: 620px) { .stl-viewer__queue-region { bottom: 6px; left: 6px; width: min(196px, calc(100% - 82px)); padding: 7px; }.stl-viewer__queue-list { max-height: 102px; } }

.admin-product-category { position: relative; min-width: 0; }.admin-product-category__label { display: block; margin-bottom: 8px; color: #26354e; font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.admin-product-category__trigger { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: space-between; gap: 12px; padding: 0 12px; border: 1px solid #cbd2da; border-radius: 5px; background: #fcfcfb; color: var(--ink); font: inherit; font-size: .88rem; font-weight: 650; letter-spacing: normal; text-align: left; text-transform: none; cursor: pointer; }.admin-product-category__trigger:hover { border-color: var(--teal-deep); }.admin-product-category__trigger:focus-visible { border-color: var(--teal-deep); outline: none; box-shadow: 0 0 0 3px rgba(24,185,160,.13); }.admin-product-category__trigger.is-empty { color: var(--slate); }.admin-product-category__trigger > span:last-child { flex: 0 0 auto; color: var(--teal-deep); font-size: 1rem; }.admin-product-category > .admin-category-link { margin-top: 8px; }.admin-product-category__popover { position: absolute; z-index: 12; top: calc(100% + 8px); left: -1px; display: grid; width: calc(100% + 2px); gap: 10px; margin: 0; padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--white); box-shadow: 0 13px 28px rgba(11,17,32,.16); }.admin-product-category__popover::before { position: absolute; top: -5px; left: 22px; display: block; width: 9px; height: 9px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); background: var(--white); content: ""; transform: rotate(45deg); }.admin-product-category__options { display: grid; max-height: 235px; gap: 3px; overflow: auto; padding-right: 3px; }.admin-product-category__options label { display: flex !important; align-items: center; gap: 9px; min-height: 32px; padding: 5px 7px; border-radius: 4px; color: #33455f !important; font-size: .82rem !important; font-weight: 750 !important; letter-spacing: normal !important; text-transform: none !important; cursor: pointer; }.admin-product-category__options label:hover { background: #eef4f3; }.admin-product-category__options input { width: 15px; height: 15px; margin: 0; accent-color: var(--teal-deep); }.admin-product-category__add { padding: 7px 0 1px; border: 0; border-top: 1px solid var(--line); background: transparent; color: var(--teal-deep); font: inherit; font-size: .76rem; font-weight: 850; text-align: left; cursor: pointer; }.admin-product-category__add:hover, .admin-product-category__add:focus-visible { color: var(--teal); outline: none; }.admin-product-category__new { padding-top: 3px; }.admin-product-category__new[hidden] { display: none !important; }.admin-product-category__new label { display: grid; gap: 7px; color: #26354e; font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.admin-product-category__new input { width: 100%; height: 39px; padding: 0 10px; border: 1px solid #cbd2da; border-radius: 5px; outline: none; background: #fcfcfb; color: var(--ink); font: inherit; font-size: .85rem; letter-spacing: normal; text-transform: none; }.admin-product-category__new input:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(24,185,160,.13); }.theme-logo-dark .admin-product-category__label { color: #e5e9eb; }.theme-logo-dark .admin-product-category__trigger { border-color: #454d52; background: #141719; color: #f7f8f8; }.theme-logo-dark .admin-product-category__trigger.is-empty { color: #aeb6bc; }.theme-logo-dark .admin-product-category__trigger:hover, .theme-logo-dark .admin-product-category__trigger:focus-visible { border-color: var(--teal); }.theme-logo-dark .admin-product-category__trigger:focus-visible, .theme-logo-dark .admin-product-category__new input:focus { box-shadow: 0 0 0 3px rgba(255,105,0,.18); }.theme-logo-dark .admin-product-category__popover { border-color: #454d52; background: #202529; box-shadow: 0 16px 34px rgba(0,0,0,.35); }.theme-logo-dark .admin-product-category__popover::before { border-color: #454d52; background: #202529; }.theme-logo-dark .admin-product-category__options label { color: #d6dce0 !important; }.theme-logo-dark .admin-product-category__options label:hover { background: #2c3438; }.theme-logo-dark .admin-product-category__add { border-color: #454d52; color: var(--teal); }.theme-logo-dark .admin-product-category__new label { color: #e5e9eb; }.theme-logo-dark .admin-product-category__new input { border-color: #454d52; background: #141719; color: #f7f8f8; }@media (max-width: 720px) { .admin-product-category__popover { position: static; width: auto; margin-top: 8px; box-shadow: none; }.admin-product-category__popover::before { display: none; } }

.admin-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }.admin-summary article:nth-child(3) { background: #3f3970; }.admin-etsy-settings__fields select { width: 100%; height: 42px; padding: 0 11px; border: 1px solid #cbd2da; border-radius: 5px; outline: none; background: #fcfcfb; color: var(--ink); font: inherit; font-size: .88rem; letter-spacing: normal; text-transform: none; }.admin-etsy-settings__fields select:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(24,185,160,.13); }.admin-catalogue-category-nav { display: flex; flex-wrap: wrap; gap: 9px; margin: -18px 0 24px; }.admin-catalogue-category-nav a { padding: 8px 11px; border: 1px solid var(--line); border-radius: 5px; color: var(--slate); font-size: .76rem; font-weight: 800; }.admin-catalogue-category-nav a.is-active { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); }.theme-logo-dark .admin-summary article:nth-child(3) { background: linear-gradient(135deg, #252a2d, #3c4449); }.theme-logo-dark .admin-etsy-settings__fields select { border-color: #454d52; background: #141719; color: #f7f8f8; }.theme-logo-dark .admin-etsy-settings__fields select:focus { box-shadow: 0 0 0 3px rgba(255,105,0,.18); }.theme-logo-dark .admin-catalogue-category-nav a { border-color: #454d52; color: #d6dce0; }.theme-logo-dark .admin-catalogue-category-nav a.is-active { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }@media (max-width: 960px) { .admin-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }@media (max-width: 720px) { .admin-summary { grid-template-columns: 1fr; } }
.theme-logo .admin-summary article:nth-child(3) { background: #2b2e31; }.theme-espresso .admin-summary article:nth-child(3) { background: #32251e; }

.admin-item { overflow: visible; }.admin-item__visual { border-radius: 11px 11px 0 0; }.admin-item__visual img { border-radius: inherit; }form[data-delete-confirm] { position: relative; }.admin-delete-popover { position: absolute; z-index: 12; top: calc(100% + 8px); right: 0; width: min(272px, calc(100vw - 36px)); padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--white); box-shadow: 0 14px 30px rgba(11,17,32,.2); }.admin-delete-popover[hidden] { display: none !important; }.admin-delete-popover::before { position: absolute; top: -5px; right: 19px; width: 9px; height: 9px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); background: var(--white); content: ""; transform: rotate(45deg); }.admin-delete-popover p { margin: 0 0 11px; color: var(--ink); font-size: .73rem; font-weight: 650; line-height: 1.45; }.admin-delete-popover > div { display: flex; justify-content: flex-end; gap: 7px; }.admin-delete-popover button { min-height: 32px; padding: 0 10px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: #33455f; font: inherit; font-size: .71rem; font-weight: 850; cursor: pointer; }.admin-delete-popover [data-delete-confirm-action] { border-color: #b23d2c; background: #b23d2c; color: var(--white); }.admin-delete-popover [data-delete-confirm-action]:hover, .admin-delete-popover [data-delete-confirm-action]:focus-visible { border-color: #7e2218; background: #7e2218; outline: none; }.admin-delete-popover [data-delete-cancel]:hover, .admin-delete-popover [data-delete-cancel]:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }.admin-category-card__default { display: grid; gap: 4px; padding: 11px; border: 1px solid #b8ded7; border-radius: 6px; background: #e6f5f1; color: #123a42; }.admin-category-card__default strong { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; }.admin-category-card__default span { font-size: .69rem; line-height: 1.4; }.theme-logo-dark .admin-delete-popover { border-color: #454d52; background: #202529; box-shadow: 0 16px 34px rgba(0,0,0,.4); }.theme-logo-dark .admin-delete-popover::before { border-color: #454d52; background: #202529; }.theme-logo-dark .admin-delete-popover p { color: #f1f3f4; }.theme-logo-dark .admin-delete-popover button { border-color: #454d52; color: #d6dce0; }.theme-logo-dark .admin-delete-popover [data-delete-confirm-action] { border-color: #a84835; background: #a84835; color: #fff4f1; }.theme-logo-dark .admin-delete-popover [data-delete-confirm-action]:hover, .theme-logo-dark .admin-delete-popover [data-delete-confirm-action]:focus-visible { border-color: #d56d57; background: #d56d57; }.theme-logo-dark .admin-delete-popover [data-delete-cancel]:hover, .theme-logo-dark .admin-delete-popover [data-delete-cancel]:focus-visible { border-color: var(--teal); color: var(--teal); }.theme-logo-dark .admin-category-card__default { border-color: #6c503c; background: #3a2b20; color: #ffc38f; }@media (max-width: 720px) { .admin-delete-popover { right: auto; left: 0; }.admin-delete-popover::before { right: auto; left: 19px; } }

.admin-unsaved-dialog { width: min(94vw, 500px); margin: auto; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--white); box-shadow: 0 24px 55px rgba(11,17,32,.3); }.admin-unsaved-dialog::backdrop { background: rgba(3,6,12,.7); backdrop-filter: blur(3px); }.admin-unsaved-dialog__panel { padding: 27px; }.admin-unsaved-dialog__panel .eyebrow { margin-bottom: 7px; }.admin-unsaved-dialog__panel h3 { margin: 0 0 10px; color: var(--ink); font-size: 1.45rem; }.admin-unsaved-dialog__panel > p:not(.eyebrow) { margin: 0; color: var(--slate); font-size: .86rem; line-height: 1.55; }.admin-unsaved-dialog__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; margin-top: 22px; }.admin-unsaved-dialog__actions button { min-height: 39px; padding: 0 13px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: #33455f; font: inherit; font-size: .77rem; font-weight: 850; cursor: pointer; }.admin-unsaved-dialog__actions .button { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); }.admin-unsaved-dialog__actions .button:hover, .admin-unsaved-dialog__actions .button:focus-visible { border-color: var(--teal); background: var(--teal); outline: none; }.admin-unsaved-dialog__actions [data-unsaved-discard] { color: #a43428; }.admin-unsaved-dialog__actions [data-unsaved-discard]:hover, .admin-unsaved-dialog__actions [data-unsaved-discard]:focus-visible { border-color: #b23d2c; background: #fff0ea; outline: none; }.admin-unsaved-dialog__actions [data-unsaved-stay]:hover, .admin-unsaved-dialog__actions [data-unsaved-stay]:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }.theme-logo-dark .admin-unsaved-dialog { border-color: #454d52; background: #202529; box-shadow: 0 22px 50px rgba(0,0,0,.5); }.theme-logo-dark .admin-unsaved-dialog__panel h3 { color: #f1f3f4; }.theme-logo-dark .admin-unsaved-dialog__panel > p:not(.eyebrow) { color: #aeb6bc; }.theme-logo-dark .admin-unsaved-dialog__actions button { border-color: #454d52; color: #d6dce0; }.theme-logo-dark .admin-unsaved-dialog__actions .button { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .admin-unsaved-dialog__actions .button:hover, .theme-logo-dark .admin-unsaved-dialog__actions .button:focus-visible { border-color: var(--teal); background: var(--teal); }.theme-logo-dark .admin-unsaved-dialog__actions [data-unsaved-discard] { color: #ffc1b6; }.theme-logo-dark .admin-unsaved-dialog__actions [data-unsaved-discard]:hover, .theme-logo-dark .admin-unsaved-dialog__actions [data-unsaved-discard]:focus-visible { border-color: #c7654e; background: #3c231e; }.theme-logo-dark .admin-unsaved-dialog__actions [data-unsaved-stay]:hover, .theme-logo-dark .admin-unsaved-dialog__actions [data-unsaved-stay]:focus-visible { border-color: var(--teal); color: var(--teal); }@media (max-width: 560px) { .admin-unsaved-dialog__panel { padding: 23px 18px; }.admin-unsaved-dialog__actions { align-items: stretch; flex-direction: column; }.admin-unsaved-dialog__actions button { width: 100%; } }

.admin-unsaved-dialog__heading > p:not(.eyebrow) { margin: 0; color: var(--slate); font-size: .86rem; line-height: 1.55; }.admin-unsaved-dialog__actions--structured { display: grid; justify-content: stretch; gap: 9px; }.admin-unsaved-dialog__actions--structured > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }.admin-unsaved-dialog__actions--structured button:disabled { opacity: .62; cursor: progress; }.theme-logo-dark .admin-unsaved-dialog__heading > p:not(.eyebrow) { color: #aeb6bc; }@media (max-width: 560px) { .admin-unsaved-dialog__actions--structured > div { align-items: stretch; flex-direction: column; }.admin-unsaved-dialog__actions--structured button { width: 100%; } }

.admin-etsy-import, .admin-etsy-connect { margin: 24px 0; padding: 22px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }.admin-etsy-import__heading { display: flex; justify-content: space-between; gap: 18px; align-items: start; }.admin-etsy-import__heading .eyebrow { margin-bottom: 5px; }.admin-etsy-import__heading h3, .admin-etsy-connect h2 { margin: 0; color: var(--ink); font-size: 1.15rem; }.admin-etsy-import__heading > span { padding: 5px 8px; border-radius: 4px; background: #e6f5f1; color: #123a42; font-size: .64rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }.admin-etsy-import > p, .admin-etsy-connect > p { margin: 12px 0 0; color: var(--slate); font-size: .82rem; line-height: 1.5; }.admin-etsy-import__controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; margin-top: 17px; align-items: end; }.admin-etsy-import__controls label { display: grid; gap: 7px; color: #26354e; font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.admin-etsy-import__controls input { width: 100%; height: 42px; padding: 0 11px; border: 1px solid #cbd2da; border-radius: 5px; outline: none; background: #fcfcfb; color: var(--ink); font: inherit; font-size: .88rem; letter-spacing: normal; text-transform: none; }.admin-etsy-import__controls input:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(24,185,160,.13); }.admin-etsy-import__controls button, .admin-etsy-connect__actions .button { min-height: 42px; padding: 0 15px; border: 1px solid var(--teal-deep); border-radius: 5px; background: var(--teal-deep); color: var(--white); font: inherit; font-size: .77rem; font-weight: 850; cursor: pointer; white-space: nowrap; }.admin-etsy-import__controls button:disabled { border-color: #b6bec5; background: #b6bec5; cursor: not-allowed; }.admin-etsy-import__footer, .admin-etsy-connect__actions { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-top: 13px; color: var(--slate); font-size: .73rem; font-weight: 700; line-height: 1.4; }.admin-etsy-import__footer a, .admin-etsy-connect__actions a { color: var(--teal-deep); font-weight: 850; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }.admin-etsy-import__footer a:hover, .admin-etsy-connect__actions a:hover { color: var(--teal); }.admin-etsy-import__footer .is-error { color: #b23d2c; }.admin-etsy-import__footer .is-warning { color: #896619; }.admin-etsy-connect { max-width: 760px; }.admin-etsy-connect .eyebrow { margin-bottom: 7px; }.theme-logo-dark .admin-etsy-import, .theme-logo-dark .admin-etsy-connect { border-color: #41484d; background: #202529; }.theme-logo-dark .admin-etsy-import__heading h3, .theme-logo-dark .admin-etsy-connect h2 { color: #f1f3f4; }.theme-logo-dark .admin-etsy-import__heading > span { background: #3a2b20; color: #ffc38f; }.theme-logo-dark .admin-etsy-import > p, .theme-logo-dark .admin-etsy-connect > p, .theme-logo-dark .admin-etsy-import__footer, .theme-logo-dark .admin-etsy-connect__actions { color: #aeb6bc; }.theme-logo-dark .admin-etsy-import__controls label { color: #e5e9eb; }.theme-logo-dark .admin-etsy-import__controls input { border-color: #454d52; background: #141719; color: #f7f8f8; }.theme-logo-dark .admin-etsy-import__controls input:focus { box-shadow: 0 0 0 3px rgba(255,105,0,.18); }.theme-logo-dark .admin-etsy-import__controls button, .theme-logo-dark .admin-etsy-connect__actions .button { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .admin-etsy-import__controls button:disabled { border-color: #535d63; background: #535d63; color: #bec5c9; }.theme-logo-dark .admin-etsy-import__footer a, .theme-logo-dark .admin-etsy-connect__actions a { color: var(--teal); }.theme-logo-dark .admin-etsy-import__footer .is-error { color: #ffc1b6; }.theme-logo-dark .admin-etsy-import__footer .is-warning { color: #ffe08a; }@media (max-width: 620px) { .admin-etsy-import, .admin-etsy-connect { padding: 18px; }.admin-etsy-import__controls { grid-template-columns: 1fr; }.admin-etsy-import__controls button { width: 100%; }.admin-etsy-import__footer, .admin-etsy-connect__actions { align-items: stretch; flex-direction: column; }.admin-etsy-import__footer a, .admin-etsy-connect__actions a { white-space: normal; } }

.admin-etsy-settings__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.admin-etsy-settings__fields label { display: grid; gap: 7px; color: #26354e; font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.admin-etsy-settings__fields input { width: 100%; height: 42px; padding: 0 11px; border: 1px solid #cbd2da; border-radius: 5px; outline: none; background: #fcfcfb; color: var(--ink); font: inherit; font-size: .88rem; letter-spacing: normal; text-transform: none; }.admin-etsy-settings__fields input:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(24,185,160,.13); }.admin-etsy-settings__callback { grid-column: 1 / -1; }.admin-etsy-settings__note { max-width: 780px; margin: 0; color: var(--slate); font-size: .78rem; line-height: 1.5; }.admin-etsy-settings__actions { display: flex; flex-wrap: wrap; gap: 10px; }.admin-etsy-settings__actions button { min-height: 42px; padding: 0 15px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: #33455f; font: inherit; font-size: .77rem; font-weight: 850; cursor: pointer; }.admin-etsy-settings__actions .button { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); }.admin-etsy-settings__actions button:disabled { border-color: #b6bec5; background: #b6bec5; color: var(--white); cursor: not-allowed; }.theme-logo-dark .admin-etsy-settings__fields label { color: #e5e9eb; }.theme-logo-dark .admin-etsy-settings__fields input { border-color: #454d52; background: #141719; color: #f7f8f8; }.theme-logo-dark .admin-etsy-settings__fields input:focus { box-shadow: 0 0 0 3px rgba(255,105,0,.18); }.theme-logo-dark .admin-etsy-settings__note { color: #aeb6bc; }.theme-logo-dark .admin-etsy-settings__actions button { border-color: #454d52; color: #d6dce0; }.theme-logo-dark .admin-etsy-settings__actions .button { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .admin-etsy-settings__actions button:disabled { border-color: #535d63; background: #535d63; color: #bec5c9; }@media (max-width: 620px) { .admin-etsy-settings__fields { grid-template-columns: 1fr; }.admin-etsy-settings__callback { grid-column: auto; }.admin-etsy-settings__actions { flex-direction: column; }.admin-etsy-settings__actions button { width: 100%; } }

.admin-viewer__options > summary { display: flex; justify-content: space-between; gap: 16px; padding: 0 2px 3px; cursor: pointer; list-style: none; }.admin-viewer__options > summary::-webkit-details-marker { display: none; }.admin-viewer__options > summary::after { flex: 0 0 auto; width: 27px; height: 27px; border: 1px solid var(--line); border-radius: 50%; color: var(--teal-deep); content: "+"; font-size: 1.2rem; font-weight: 500; line-height: 24px; text-align: center; }.admin-viewer__options[open] > summary::after { content: "−"; }.admin-viewer__options > summary:focus-visible { outline: 3px solid rgba(24,185,160,.2); outline-offset: 4px; }.admin-viewer__options-list { display: grid; gap: 10px; padding-top: 10px; }.theme-logo-dark .admin-viewer__options > summary::after { border-color: #454d52; color: var(--teal); }.theme-logo-dark .admin-viewer__options > summary:focus-visible { outline-color: rgba(255,105,0,.24); }

.admin-operations-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 24px 0; }.admin-operations-summary article, .admin-operations-card, .admin-recycle, .admin-activity-log, .admin-backup-create, .admin-backup-library, .admin-task-library { padding: 24px; border-radius: var(--radius); background: var(--white); }.admin-operations-summary article { display: grid; gap: 5px; min-height: 132px; background: linear-gradient(135deg, var(--ink-soft), var(--ink)); color: var(--white); }.admin-operations-summary article:nth-child(2) { background: linear-gradient(135deg, #353d42, #4f5b62); }.admin-operations-summary article:nth-child(3) { background: linear-gradient(135deg, #3b3230, #6b4230); }.admin-operations-summary article:nth-child(4) { background: linear-gradient(135deg, #2b4c4a, #2f7b70); }.admin-operations-summary span { color: rgba(255,255,255,.72); font-size: .73rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.admin-operations-summary strong { font-size: 2.25rem; line-height: 1; }.admin-operations-summary small { color: rgba(255,255,255,.78); font-size: .76rem; }.admin-operations-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }.admin-operations-card { display: grid; gap: 18px; align-content: start; min-height: 242px; }.admin-operations-card h2, .admin-backup-create h2 { margin: 0 0 9px; color: var(--ink); font-size: 1.42rem; }.admin-operations-card > div > p:last-child, .admin-backup-create > div > p:last-child, .admin-recycle__note { margin: 0; color: var(--slate); font-size: .83rem; line-height: 1.55; }.admin-operations-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.admin-operations-list a { display: grid; gap: 3px; padding: 9px 10px; border-left: 3px solid var(--line); border-radius: 4px; background: var(--paper); }.admin-operations-list li.is-error a { border-color: #b23d2c; }.admin-operations-list li.is-warning a { border-color: #b78122; }.admin-operations-list li.is-notice a { border-color: #407b94; }.admin-operations-list strong { color: var(--ink); font-size: .77rem; }.admin-operations-list span, .admin-operations-card__more, .admin-operations-card__success { color: var(--slate); font-size: .73rem; line-height: 1.4; }.admin-operations-card__success { margin: 0; padding: 11px; border: 1px solid #a7d8cb; border-radius: 6px; background: #e7f5f0; color: #1a665a; font-weight: 750; }.admin-marketplace-summary, .admin-operations-card__metrics { display: flex; flex-wrap: wrap; gap: 8px; }.admin-marketplace-summary span, .admin-operations-card__metrics span { padding: 6px 8px; border-radius: 4px; background: var(--paper); color: var(--slate); font-size: .72rem; font-weight: 800; }.admin-marketplace-summary .is-healthy { background: #e5f5ef; color: #176152; }.admin-marketplace-summary .is-warning { background: #fff3d9; color: #805a0d; }.admin-marketplace-summary .is-error { background: #fae8e5; color: #8c3023; }.admin-operations-card__actions { display: flex; flex-wrap: wrap; gap: 15px; }.admin-operations-card__actions a { color: var(--teal-deep); font-size: .78rem; font-weight: 850; }.admin-task-library, .admin-backup-library, .admin-activity-log { margin-top: 22px; }.admin-task-grid, .admin-recycle-grid, .admin-backup-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.admin-task-card, .admin-recycle-card, .admin-backup-card { display: grid; justify-content: stretch; gap: 16px; min-height: 190px; padding: 18px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }.admin-task-card > div, .admin-recycle-card > div, .admin-backup-card > div { display: grid; align-content: start; gap: 8px; }.admin-task-card h3, .admin-recycle-card h3, .admin-backup-card h3 { margin: 0; color: var(--ink); font-size: 1rem; }.admin-task-card p, .admin-recycle-card p, .admin-backup-card p { margin: 0; color: var(--slate); font-size: .78rem; line-height: 1.45; }.admin-task-card small, .admin-recycle-card small { color: var(--slate); font-size: .72rem; }.admin-task-card small.is-overdue { color: #a13a2b; font-weight: 850; }.admin-task-card__status, .admin-task-card__priority, .admin-recycle-card > div > span, .admin-backup-card > div > span { display: inline-flex; width: fit-content; padding: 4px 6px; border-radius: 4px; background: #e3ecec; color: #1e5c59; font-size: .62rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }.admin-task-card__priority { background: #eef0f1; color: #57636b; }.admin-task-card__priority--high { background: #fae6e2; color: #9d3426; }.admin-task-card__status--done { background: #e5f5ef; color: #176152; }.admin-task-card__status--in_progress { background: #e7eef8; color: #355d94; }.admin-task-card footer, .admin-recycle-card footer { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: auto; }.admin-task-card footer > a, .admin-recycle-card footer > form > button[type="button"], .admin-backup-card > form > button[type="button"] { color: var(--teal-deep); font: inherit; font-size: .75rem; font-weight: 850; }.admin-task-card footer form button, .admin-recycle-card footer form button, .admin-backup-card form button { border: 0; background: transparent; cursor: pointer; }.admin-task-editor { margin-bottom: 24px; }.admin-recycle__note { margin: -7px 0 20px; }.admin-activity-log ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }.admin-activity-log li { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 16px; padding: 13px 0; border-top: 1px solid var(--line); }.admin-activity-log time { color: var(--slate); font-size: .72rem; }.admin-activity-log li div { display: grid; gap: 3px; }.admin-activity-log strong { color: var(--ink); font-size: .82rem; }.admin-activity-log span, .admin-activity-log small { color: var(--slate); font-size: .75rem; line-height: 1.4; }.admin-backup-create { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr); gap: 28px; align-items: end; margin-top: 24px; }.admin-backup-create .admin-form { display: grid; gap: 12px; }.admin-backup-card { min-height: 160px; }.admin-backup-card form { margin-top: auto; }.admin-analytics--full { margin-top: 25px; }.admin-analytics-full__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 26px; margin-top: 26px; }.admin-analytics-full__grid h3 { margin: 0 0 14px; color: var(--ink); font-size: 1rem; }.admin-analytics-chart { display: flex; height: 200px; gap: 5px; align-items: stretch; margin: 0; padding: 0; border-bottom: 1px solid var(--line); list-style: none; }.admin-analytics-chart li { display: flex; flex: 1 1 0; height: 100%; min-width: 0; align-items: flex-end; }.admin-analytics-chart span { display: block; width: 100%; min-height: 4px; height: var(--analytics-height); border-radius: 3px 3px 0 0; background: var(--teal-deep); }.admin-analytics-chart small { overflow: hidden; color: var(--slate); font-size: .58rem; text-align: center; white-space: nowrap; }.admin-analytics-ranking { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }.admin-analytics-ranking li { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-top: 1px solid var(--line); }.admin-analytics-ranking li div { display: grid; gap: 3px; min-width: 0; }.admin-analytics-ranking strong { overflow: hidden; color: var(--ink); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }.admin-analytics-ranking small { color: var(--slate); font-size: .69rem; }.admin-analytics-ranking > li > span { color: var(--teal-deep); font-size: .86rem; font-weight: 900; }
.admin-operations-list__item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }.admin-operations-list__item form { margin: 0; }.admin-operations-list__item button { min-height: 31px; padding: 6px 9px; border: 1px solid var(--teal-deep); border-radius: 4px; background: var(--teal-deep); color: var(--white); font: inherit; font-size: .66rem; font-weight: 850; line-height: 1.1; white-space: nowrap; cursor: pointer; }.admin-operations-list__item button:hover, .admin-operations-list__item button:focus-visible { border-color: var(--teal); background: var(--teal); outline: none; }.admin-operations-list__item button:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal-deep) 24%, transparent); }@media (max-width: 480px) { .admin-operations-list__item { grid-template-columns: 1fr; }.admin-operations-list__item button { width: 100%; } }
.admin-totp-setup { display: grid; grid-template-columns: minmax(0, 1fr) 212px; gap: 22px; align-items: start; margin-top: 17px; }.admin-totp-setup > div > p:first-child { margin-top: 0; }.admin-totp-manual { margin-top: 14px; }.admin-totp-manual summary { color: var(--teal-deep); font-size: .78rem; font-weight: 850; cursor: pointer; }.admin-totp-manual p { overflow-wrap: anywhere; }.admin-totp-setup form { margin-top: 14px; }.admin-totp-setup form button { padding: 0; border: 0; background: transparent; color: var(--teal-deep); font: inherit; font-size: .76rem; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }.admin-totp-qr { display: grid; justify-items: center; gap: 9px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); text-align: center; }.admin-totp-qr > p { margin: 0; color: var(--ink); font-size: .72rem; font-weight: 850; }.admin-totp-qr [data-totp-qr] { display: grid; width: 180px; min-height: 180px; background: #ffffff; place-items: center; }.admin-totp-qr img { display: block; width: 180px; height: 180px; }.theme-logo-dark .admin-totp-manual summary, .theme-logo-dark .admin-totp-setup form button { color: var(--teal); }.theme-logo-dark .admin-totp-qr { border-color: #454d52; background: #171a1c; }.theme-logo-dark .admin-totp-qr > p { color: #f1f3f4; }@media (max-width: 720px) { .admin-totp-setup { grid-template-columns: 1fr; }.admin-totp-qr { justify-self: start; } }
.admin-package-export { margin: 24px 0; }.admin-package-export .admin-editor__heading > div { max-width: 760px; }.admin-package-export__toggle { display: inline-flex !important; width: fit-content; gap: 9px !important; align-items: center; padding: 9px 11px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); cursor: pointer; }.admin-form .admin-package-export__toggle input[type="checkbox"] { display: block; flex: 0 0 auto; width: 14px !important; height: 14px !important; min-width: 14px; min-height: 14px; margin: 0 !important; padding: 0 !important; border: 0; border-radius: 0; appearance: auto; background: initial; box-shadow: none; accent-color: var(--teal-deep); }.admin-package-export__limit { margin: 12px 0; color: var(--muted); font-size: 0.9rem; }.admin-form[aria-busy="true"] button[type="submit"] { cursor: wait; opacity: 0.72; }.theme-logo-dark .admin-package-export__toggle { border-color: #454d52; background: #171a1c; }
.theme-logo-dark .admin-operations-card, .theme-logo-dark .admin-recycle, .theme-logo-dark .admin-activity-log, .theme-logo-dark .admin-backup-create, .theme-logo-dark .admin-backup-library, .theme-logo-dark .admin-task-library { background: #202529; }.theme-logo-dark .admin-operations-card h2, .theme-logo-dark .admin-backup-create h2, .theme-logo-dark .admin-task-card h3, .theme-logo-dark .admin-recycle-card h3, .theme-logo-dark .admin-backup-card h3, .theme-logo-dark .admin-activity-log strong, .theme-logo-dark .admin-analytics-full__grid h3, .theme-logo-dark .admin-analytics-ranking strong { color: #f1f3f4; }.theme-logo-dark .admin-operations-list a, .theme-logo-dark .admin-task-card, .theme-logo-dark .admin-recycle-card, .theme-logo-dark .admin-backup-card { border-color: #454d52; background: #171a1c; }.theme-logo-dark .admin-operations-list strong { color: #f1f3f4; }.theme-logo-dark .admin-operations-card > div > p:last-child, .theme-logo-dark .admin-backup-create > div > p:last-child, .theme-logo-dark .admin-recycle__note, .theme-logo-dark .admin-task-card p, .theme-logo-dark .admin-recycle-card p, .theme-logo-dark .admin-backup-card p, .theme-logo-dark .admin-task-card small, .theme-logo-dark .admin-recycle-card small, .theme-logo-dark .admin-activity-log time, .theme-logo-dark .admin-activity-log span, .theme-logo-dark .admin-activity-log small, .theme-logo-dark .admin-analytics-ranking small, .theme-logo-dark .admin-analytics-chart small { color: #aeb6bc; }.theme-logo-dark .admin-marketplace-summary span, .theme-logo-dark .admin-operations-card__metrics span { background: #2c3438; color: #d6dce0; }.theme-logo-dark .admin-activity-log li, .theme-logo-dark .admin-analytics-chart, .theme-logo-dark .admin-analytics-ranking li { border-color: #454d52; }.theme-logo-dark .admin-operations-card__success { border-color: #3c786b; background: #203a35; color: #b9eadc; }.theme-logo-dark .admin-marketplace-summary .is-healthy { background: #203a35; color: #b9eadc; }.theme-logo-dark .admin-marketplace-summary .is-warning { background: #3c3020; color: #ffe08a; }.theme-logo-dark .admin-marketplace-summary .is-error { background: #3d2724; color: #ffc1b6; }.theme-logo-dark .admin-task-card__priority { background: #30383d; color: #d6dce0; }.theme-logo-dark .admin-task-card__priority--high { background: #3d2724; color: #ffc1b6; }.theme-logo-dark .admin-task-card__status--done { background: #203a35; color: #b9eadc; }.theme-logo-dark .admin-task-card__status--in_progress { background: #26354c; color: #bcd5ff; }.theme-logo-dark .admin-task-card__status, .theme-logo-dark .admin-recycle-card > div > span, .theme-logo-dark .admin-backup-card > div > span { background: #263b3a; color: #a9ded8; }
@media (max-width: 1050px) { .admin-operations-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-task-grid, .admin-recycle-grid, .admin-backup-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 720px) { .admin-operations-summary, .admin-operations-grid, .admin-task-grid, .admin-recycle-grid, .admin-backup-grid, .admin-backup-create, .admin-analytics-full__grid { grid-template-columns: 1fr; }.admin-operations-summary article { min-height: 105px; }.admin-activity-log li { grid-template-columns: 1fr; gap: 5px; }.admin-analytics-chart small { display: none; } }

.admin-quote-tools { display: flex; flex-wrap: wrap; gap: 15px; margin: -8px 0 20px; }.admin-quote-tools a { color: var(--teal-deep); font-size: .76rem; font-weight: 850; }.admin-quote-template-picker { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }.admin-quote-template-picker label { flex: 1 1 250px; }.admin-quote-template-picker button { min-height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: 5px; background: var(--white); color: var(--teal-deep); font: inherit; font-size: .75rem; font-weight: 850; cursor: pointer; }.admin-quote-template-picker a { padding-bottom: 11px; color: var(--teal-deep); font-size: .74rem; font-weight: 850; }.admin-quote-contacted { display: inline-flex !important; width: fit-content; min-height: 34px; gap: 8px; align-items: center; padding: 7px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); color: var(--ink) !important; font-size: .78rem !important; font-weight: 760; letter-spacing: normal !important; line-height: 1.15; text-transform: none !important; }.admin-quote-contacted input { display: block; flex: 0 0 auto; width: 14px; height: 14px; margin: 0; accent-color: var(--teal-deep); }.admin-quote-contacted span { display: block; }.admin-quote-card__follow-up { display: block; margin-top: -3px; color: var(--slate); font-size: .69rem; font-weight: 800; }.admin-quote-card__follow-up.is-due { color: #a13a2b; }.theme-logo-dark .admin-quote-template-picker { border-color: #454d52; background: #171a1c; }.theme-logo-dark .admin-quote-template-picker button { border-color: #454d52; background: #202529; color: var(--teal); }.theme-logo-dark .admin-quote-contacted { border-color: #454d52; background: #202529; color: #e5e9eb !important; }.theme-logo-dark .admin-quote-card__follow-up { color: #aeb6bc; }.theme-logo-dark .admin-quote-card__follow-up.is-due { color: #ffc1b6; } @media (max-width: 620px) { .admin-quote-template-picker { align-items: stretch; flex-direction: column; }.admin-quote-template-picker button { width: 100%; }.admin-quote-template-picker a { padding-bottom: 0; } }

.admin-backup-card__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: auto; }.admin-backup-card__actions form { position: relative; }.admin-backup-card__actions form > button[type="button"] { padding: 0; color: var(--teal-deep); font: inherit; font-size: .75rem; font-weight: 850; }.theme-logo-dark .admin-backup-card__actions form > button[type="button"] { color: var(--teal); }

.admin-analytics-full__grid { grid-template-columns: minmax(0, 1fr); }.admin-analytics-full__grid > section:first-child { order: 2; }.admin-analytics-full__grid > section:last-child { order: 1; }.admin-analytics-chart:has(li:nth-child(15)) li:nth-child(even) small { display: none; }.admin-analytics-chart:has(li:nth-child(31)) li small { display: none; }.admin-analytics-chart:has(li:nth-child(31)) li:nth-child(8n + 1) small { display: block; }
.admin-analytics-chart li { position: relative; }.admin-analytics-chart small { position: absolute; top: calc(100% + 6px); left: 50%; width: 42px; transform: translateX(-50%); pointer-events: none; }

.admin-dashboard-panel { position: relative !important; padding-top: 72px !important; }.admin-dashboard-panel__titlebar { position: absolute; top: 0; right: 0; left: 0; display: flex; height: 38px; gap: 8px; align-items: center; padding: 0 7px 0 13px; border-bottom: 1px solid var(--line); border-radius: var(--radius) var(--radius) 0 0; background: var(--paper); color: var(--ink); cursor: grab; user-select: none; }.admin-dashboard-panel__titlebar:active { cursor: grabbing; }.admin-dashboard-panel__grip { display: grid; flex: 0 0 auto; width: 14px; height: 14px; color: var(--teal-deep); place-items: center; }.admin-dashboard-panel__grip svg { width: 14px; height: 14px; fill: currentColor; }.admin-dashboard-panel__title { overflow: hidden; font-size: .67rem; font-weight: 900; letter-spacing: .09em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }.admin-dashboard-panel__collapse { position: relative; display: grid; flex: 0 0 auto; width: 27px; height: 25px; margin-left: auto; padding: 0; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--teal-deep); cursor: pointer; place-items: center; }.admin-dashboard-panel__collapse:hover, .admin-dashboard-panel__collapse:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); outline: none; }.admin-dashboard-panel__collapse:focus-visible { box-shadow: 0 0 0 3px rgba(24,185,160,.18); }.admin-dashboard-panel__collapse [aria-hidden="true"] { position: relative; display: block; width: 11px; height: 1px; background: currentColor; }.admin-dashboard-panel__collapse.is-collapsed [aria-hidden="true"]::after { position: absolute; top: -5px; left: 5px; width: 1px; height: 11px; background: currentColor; content: ""; }.admin-dashboard-panel.is-collapsed { display: block !important; min-height: 38px; padding: 0 !important; overflow: hidden; }.admin-dashboard-panel.is-collapsed > :not(.admin-dashboard-panel__titlebar) { display: none !important; }.admin-dashboard-panel.is-dragging { opacity: .52; }.theme-logo-dark .admin-dashboard-panel__titlebar { border-color: #454d52; background: #202529; color: #f1f3f4; }.theme-logo-dark .admin-dashboard-panel__grip, .theme-logo-dark .admin-dashboard-panel__collapse { color: var(--teal); }.theme-logo-dark .admin-dashboard-panel__collapse:hover, .theme-logo-dark .admin-dashboard-panel__collapse:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .admin-dashboard-panel__collapse:focus-visible { box-shadow: 0 0 0 3px rgba(255,105,0,.24); }@media (max-width: 720px) { .admin-dashboard-panel { padding-top: 66px !important; }.admin-dashboard-panel__titlebar { height: 34px; }.admin-dashboard-panel.is-collapsed { min-height: 34px; } }

.admin-operations-card--health, .admin-operations-card--marketplace { min-height: 510px; }.admin-operations-list--scroll { max-height: 280px; padding-right: 6px; overflow-y: auto; scrollbar-color: var(--line) transparent; scrollbar-width: thin; }.admin-operations-card--marketplace > div:first-child { order: 1; }.admin-operations-card--marketplace > form { order: 2; margin-top: -8px; }.admin-operations-card--marketplace > .admin-marketplace-summary { order: 3; }.admin-operations-card--marketplace > .admin-operations-list, .admin-operations-card--marketplace > .admin-operations-card__success, .admin-operations-card--marketplace > .admin-operations-card__more, .admin-operations-card--marketplace > .admin-marketplace-check__progress { order: 4; }.admin-operations-card--marketplace > form .button { min-height: 34px; padding: 7px 10px; font-size: .7rem; }.admin-marketplace-check__progress { margin: 0; padding: 11px; border: 1px solid #b7c8da; border-radius: 6px; background: #edf3f8; color: #315b7d; font-size: .75rem; font-weight: 780; line-height: 1.45; }.admin-operations-list--marketplace .admin-marketplace-issue { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; border-left: 3px solid var(--line); border-radius: 4px; background: var(--paper); }.admin-operations-list--marketplace .admin-marketplace-issue > a { min-width: 0; padding: 9px 10px; border: 0; background: transparent; }.admin-operations-list--marketplace li.is-error .admin-marketplace-issue { border-color: #b23d2c; }.admin-operations-list--marketplace li.is-warning .admin-marketplace-issue { border-color: #b78122; }.admin-marketplace-issue form { padding: 8px; }.admin-marketplace-issue button { min-height: 29px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 4px; background: var(--white); color: var(--teal-deep); font: inherit; font-size: .66rem; font-weight: 850; white-space: nowrap; cursor: pointer; }.admin-marketplace-issue button:hover, .admin-marketplace-issue button:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); outline: none; }.theme-logo-dark .admin-marketplace-check__progress { border-color: #3d586a; background: #1d303b; color: #bfdff1; }.theme-logo-dark .admin-operations-list--marketplace .admin-marketplace-issue { border-color: #454d52; background: #171a1c; }.theme-logo-dark .admin-operations-list--marketplace li.is-error .admin-marketplace-issue { border-color: #b9665d; }.theme-logo-dark .admin-operations-list--marketplace li.is-warning .admin-marketplace-issue { border-color: #c49339; }.theme-logo-dark .admin-marketplace-issue button { border-color: #454d52; background: #202529; color: var(--teal); }.theme-logo-dark .admin-marketplace-issue button:hover, .theme-logo-dark .admin-marketplace-issue button:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }@media (max-width: 720px) { .admin-operations-card--health, .admin-operations-card--marketplace { min-height: 0; }.admin-operations-list--scroll { max-height: 300px; }.admin-operations-list--marketplace .admin-marketplace-issue { grid-template-columns: 1fr; }.admin-marketplace-issue form { padding: 0 10px 10px; }.admin-marketplace-issue button { width: 100%; } }

.admin-form .admin-quote-contacted { display: inline-flex !important; width: fit-content; min-height: 22px; gap: 8px; align-items: center; align-self: start; padding: 0; border: 0; border-radius: 0; background: transparent; cursor: pointer; }.admin-form .admin-quote-contacted input[type="checkbox"] { display: block; flex: 0 0 auto; width: 14px !important; height: 14px !important; min-width: 14px; min-height: 14px; margin: 0 !important; padding: 0 !important; border: 0; border-radius: 0; appearance: auto; background: initial; box-shadow: none; accent-color: var(--teal-deep); }.admin-form .admin-quote-contacted span { display: block; color: inherit; line-height: 1.2; white-space: nowrap; }.theme-logo-dark .admin-form .admin-quote-contacted { background: transparent; }

.admin-dashboard-panel--static .admin-dashboard-panel__titlebar { cursor: default; }.admin-dashboard-panel--static .admin-dashboard-panel__titlebar:active { cursor: default; }.admin-analytics-full__grid > .admin-dashboard-panel { order: unset !important; min-height: 250px; padding: 67px 20px 20px !important; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }.admin-quote-details.admin-dashboard-panel, .admin-quote-editor__form.admin-dashboard-panel { padding: 67px 18px 18px !important; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }.admin-quote-editor__form.admin-dashboard-panel { border-top: 1px solid var(--line); }.theme-logo-dark .admin-analytics-full__grid > .admin-dashboard-panel, .theme-logo-dark .admin-quote-details.admin-dashboard-panel, .theme-logo-dark .admin-quote-editor__form.admin-dashboard-panel { border-color: #454d52; background: #202529; }.theme-logo-dark .admin-analytics-full__grid > .admin-dashboard-panel .admin-dashboard-panel__titlebar, .theme-logo-dark .admin-quote-details.admin-dashboard-panel .admin-dashboard-panel__titlebar, .theme-logo-dark .admin-quote-editor__form.admin-dashboard-panel .admin-dashboard-panel__titlebar { background: #202529; }
.admin-operations-grid { align-items: start; }.admin-panel-layout--flow > :is(.admin-workspace-panel, .admin-section-panel) { margin-top: 0 !important; margin-bottom: 0 !important; }.admin-panel-layout--flow > * + :is(.admin-workspace-panel, .admin-section-panel), .admin-panel-layout--flow > :is(.admin-workspace-panel, .admin-section-panel) + * { margin-top: var(--admin-panel-gap) !important; }.admin-panel-layout-column { display: grid; min-width: 0; gap: var(--admin-panel-gap); align-content: start; }.admin-panel-layout-column > :is(.admin-workspace-panel, .admin-section-panel) { margin: 0 !important; }.admin-operations-grid .admin-dashboard-panel.is-collapsed { align-self: start; }
.admin-activity-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: start; margin-top: 22px; }.admin-activity-layout .admin-recycle, .admin-activity-layout .admin-activity-log { margin-top: 0; border: 1px solid var(--line); }.admin-activity-layout .admin-dashboard-panel.is-collapsed { align-self: start; }
.theme-logo-dark .admin-activity-log .admin-dashboard-panel__grip, .theme-logo-dark .admin-activity-log .admin-dashboard-panel__collapse { color: var(--teal); }
.theme-logo-dark .admin-activity-log .admin-dashboard-panel__collapse [aria-hidden="true"] { color: inherit; }
@media (min-width: 1200px) { .admin-header__inner { gap: 20px; flex-wrap: nowrap; }.admin-nav { flex: 1 1 auto; min-width: 0; justify-content: flex-start; gap: clamp(9px, 1vw, 14px); flex-wrap: nowrap; }.admin-nav a { flex: 0 0 auto; white-space: nowrap; font-size: .84rem; }.admin-header__actions { flex: 0 0 auto; gap: 14px; white-space: nowrap; }.admin-header__actions > a { font-size: .8rem; } }

/* Navigation is deliberately capped at two dropdown levels. Group labels can
   expand safely without letting the header overlap its account controls. */
.nav-menu__group, .admin-nav__group, .nav-menu__subgroup, .admin-nav__subgroup { position: relative; flex: 0 0 auto; }
.nav-menu__group > summary, .admin-nav__group > summary, .nav-menu__subgroup > summary, .admin-nav__subgroup > summary { display: inline-flex; align-items: center; justify-content: space-between; gap: 7px; list-style: none; cursor: pointer; user-select: none; }
.nav-menu__group > summary::-webkit-details-marker, .admin-nav__group > summary::-webkit-details-marker, .nav-menu__subgroup > summary::-webkit-details-marker, .admin-nav__subgroup > summary::-webkit-details-marker { display: none; }
.nav-menu__group > summary, .admin-nav__group > summary { min-height: 36px; padding: 8px 0; color: var(--theme-header-text, #d9dfeb); font-size: .84rem; font-weight: 780; line-height: 1.2; white-space: nowrap; }
.nav-menu__group > summary { font-size: .9rem; font-weight: 650; }
.nav-menu__group:hover > summary, .nav-menu__group.is-active > summary, .nav-menu__group[open] > summary, .admin-nav__group:hover > summary, .admin-nav__group.is-active > summary, .admin-nav__group[open] > summary { color: var(--teal); }
.nav-menu__group > summary .nav-menu__chevron, .admin-nav__group > summary .admin-nav__chevron { display: inline-block; font-size: 1.05em; line-height: 1; transition: transform .16s ease; }
.nav-menu__group[open] > summary .nav-menu__chevron, .admin-nav__group[open] > summary .admin-nav__chevron { transform: rotate(180deg); }
.nav-menu__dropdown, .admin-nav__dropdown { position: absolute; z-index: 60; top: calc(100% + 8px); left: 0; display: none; width: min(300px, calc(100vw - 32px)); max-height: min(560px, calc(100vh - 112px)); gap: 3px; padding: 8px; overflow-y: auto; border: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 25%, transparent); border-radius: 8px; background: var(--theme-header-bg, var(--ink)); box-shadow: 0 16px 34px rgba(0,0,0,.34); scrollbar-color: var(--teal-deep) transparent; scrollbar-width: thin; }
.nav-menu__group[open] > .nav-menu__dropdown, .admin-nav__group[open] > .admin-nav__dropdown { display: grid; }
.nav-menu__dropdown > a, .admin-nav__dropdown > a, .nav-menu__subdropdown > a, .admin-nav__subdropdown > a { display: block; padding: 8px 10px; border-radius: 5px; color: var(--theme-header-text, #d9dfeb); font-size: .78rem; font-weight: 740; line-height: 1.35; }
.nav-menu__dropdown > a:hover, .nav-menu__dropdown > a.is-active, .admin-nav__dropdown > a:hover, .admin-nav__dropdown > a.is-active, .nav-menu__subdropdown > a:hover, .nav-menu__subdropdown > a.is-active, .admin-nav__subdropdown > a:hover, .admin-nav__subdropdown > a.is-active { background: color-mix(in srgb, var(--teal) 15%, transparent); color: var(--teal); }
.nav-menu__subgroup, .admin-nav__subgroup { border-top: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 16%, transparent); }
.nav-menu__subgroup > summary, .admin-nav__subgroup > summary { width: 100%; min-height: 34px; padding: 8px 10px; color: var(--theme-header-text, #d9dfeb); font-size: .7rem; font-weight: 850; letter-spacing: .055em; line-height: 1.3; text-transform: uppercase; }
.nav-menu__subgroup > summary .nav-menu__chevron, .admin-nav__subgroup > summary .admin-nav__chevron { color: var(--teal); font-size: .95rem; line-height: 1; transition: transform .16s ease; }
.nav-menu__subgroup[open] > summary, .nav-menu__subgroup.is-active > summary, .admin-nav__subgroup[open] > summary, .admin-nav__subgroup.is-active > summary { color: var(--teal); }
.nav-menu__subgroup[open] > summary .nav-menu__chevron, .admin-nav__subgroup[open] > summary .admin-nav__chevron { transform: rotate(90deg); }
.nav-menu__subdropdown, .admin-nav__subdropdown { display: none; gap: 3px; padding: 0 0 7px 8px; border-left: 2px solid color-mix(in srgb, var(--teal) 42%, transparent); }
.nav-menu__subgroup[open] > .nav-menu__subdropdown, .admin-nav__subgroup[open] > .admin-nav__subdropdown { display: grid; }
.admin-header__inner { min-height: 73px; padding: 12px 0; flex-wrap: wrap; gap: 10px 20px; }
.admin-nav { flex: 1 1 640px; min-width: 0; justify-content: flex-start; gap: 5px clamp(10px, 1vw, 16px); margin-right: auto; flex-wrap: wrap; }
.admin-nav > a, .admin-nav > .admin-nav__group { flex: 0 0 auto; white-space: nowrap; }
.admin-header__actions { flex: 0 0 auto; margin-left: auto; white-space: nowrap; }
@media (min-width: 1050px) { .site-header .nav-wrap { gap: 11px; }.site-header .nav-menu { flex-wrap: nowrap; gap: clamp(7px, .7vw, 11px); }.admin-header__inner { flex-wrap: nowrap; gap: 14px; }.admin-nav { flex: 1 1 0; flex-wrap: nowrap; gap: 6px clamp(7px, .7vw, 11px); }.admin-nav > a, .admin-nav__group > summary { font-size: .78rem; }.admin-header__actions { gap: 10px; }.admin-header__actions > a { font-size: .74rem; }.admin-header__actions button { padding: 6px 8px; font-size: .72rem; } }
@media (min-width: 1050px) and (max-width: 1190px) { .site-header .nav-wrap { flex-wrap: wrap; }.site-header .nav-menu { flex: 1 1 760px; flex-wrap: wrap; }.site-header .nav-menu > a, .site-header .nav-menu > .nav-menu__group { flex: 0 0 auto; white-space: nowrap; } }
.royal-mail-shipment__profile-field { display: grid; gap: 7px; max-width: 620px; margin: 0 0 var(--ui-space-standard); color: var(--ink); font-weight: 760; }.royal-mail-shipment__profile-field small { color: var(--muted); font-size: .78rem; font-weight: 500; line-height: 1.45; }
@media (max-width: 720px) { .site-header .nav-menu > .nav-menu__group { display: block; min-width: 0; }.nav-menu__group > summary, .admin-nav__group > summary { justify-content: center; width: 100%; }.nav-menu__dropdown, .admin-nav__dropdown { position: fixed; top: auto; right: 16px; bottom: 16px; left: 16px; width: auto; max-height: min(72vh, 590px); }.admin-header__inner { gap: 12px; }.admin-nav { flex-basis: 100%; gap: 5px 12px; }.admin-nav > a, .admin-nav > .admin-nav__group { flex: 1 1 calc(50% - 12px); text-align: center; }.admin-nav__group > summary { justify-content: center; }.admin-header__actions { margin-left: auto; } }

/* Recovery form: labels stay left while controls align to the right. */
.admin-login--reset .admin-login__form label { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, 1.45fr); gap: 14px; align-items: center; }.admin-login--reset .admin-login__form input { margin-bottom: 0; }@media (max-width: 720px) { .admin-login--reset .admin-login__form label { grid-template-columns: 1fr; gap: 7px; }.admin-login--reset .admin-login__form input { margin-bottom: 8px; } }

/* Home Content Studio */
.admin-home-content-presets__builtins { padding: 19px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper-deep); }.admin-home-content-presets__builtins.admin-dashboard-panel { padding: 64px 19px 19px !important; }.admin-home-content-presets__builtins.admin-dashboard-panel > .admin-dashboard-panel__titlebar { align-items: stretch; padding-left: 19px; }.admin-home-content-presets__builtins.admin-dashboard-panel .admin-dashboard-panel__title { display: flex; align-items: center; line-height: 1; }.admin-home-content-presets__builtins.admin-dashboard-panel .admin-dashboard-panel__collapse { align-self: stretch; height: auto; margin: 6px 0; }.admin-home-content-presets__builtins.admin-dashboard-panel.is-collapsed { min-height: 38px; padding: 0 !important; }.theme-logo-dark .admin-home-content-presets__builtins { border-color: #454d52; background: #202529; }
.admin-home-content-presets__group > .admin-dashboard-panel__titlebar { display: flex; gap: 8px; }.admin-home-content-presets__builtins > div:not(.admin-dashboard-panel__titlebar) > .eyebrow { margin: 0; color: var(--teal-deep); font-size: .71rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.admin-home-content-presets__builtins.admin-dashboard-panel .admin-dashboard-panel__collapse { margin-left: auto; }
@media (max-width: 960px) { .gallery-page .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .gallery-page .gallery-grid { grid-template-columns: 1fr; } }
.admin-listing-turntable { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 11px; align-items: center; margin-top: 12px; padding: 8px; border: 1px dashed var(--teal-deep); border-radius: 7px; background: var(--paper-deep); }.admin-listing-turntable img { width: 78px; height: 58px; border-radius: 4px; object-fit: cover; }.admin-listing-turntable > div { display: grid; gap: 3px; min-width: 0; }.admin-listing-turntable strong { color: var(--ink); font-size: .72rem; font-weight: 850; }.admin-listing-turntable span { color: var(--slate); font-size: .66rem; line-height: 1.35; }.theme-logo-dark .admin-listing-turntable { border-color: var(--teal); background: var(--theme-surface); }.theme-logo-dark .admin-listing-turntable strong { color: #f1f3f4; }.theme-logo-dark .admin-listing-turntable span { color: #aeb6bc; }
.admin-home-content-presets.admin-dashboard-panel { min-height: 0; }.admin-home-content-presets__groups { display: grid; gap: 22px; }.admin-home-content-presets__group { display: grid; gap: 12px; }.admin-home-content-presets__group > div { display: grid; gap: 5px; }.admin-home-content-presets__group h3 { margin: 0; color: var(--ink); font-size: .95rem; }.admin-home-content-presets__group > div > p { max-width: 790px; margin: 0; color: var(--slate); font-size: .76rem; line-height: 1.45; }.admin-home-content-presets__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }.admin-home-content-presets__list > li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 15px; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }.admin-home-content-presets__list > li.is-built-in { border-left: 3px solid var(--teal-deep); }.admin-home-content-presets__copy { display: grid; gap: 4px; min-width: 0; }.admin-home-content-presets__copy > div { display: flex; flex-wrap: wrap; gap: 7px; align-items: baseline; }.admin-home-content-presets__copy strong { color: var(--ink); font-size: .82rem; }.admin-home-content-presets__copy > div > span { padding: 3px 6px; border-radius: 3px; background: color-mix(in srgb, var(--teal-deep) 12%, transparent); color: var(--teal-deep); font-size: .6rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }.admin-home-content-presets__copy p, .admin-home-content-presets__copy small, .admin-home-content-presets__empty, .admin-home-content-presets__draft { margin: 0; color: var(--slate); font-size: .73rem; line-height: 1.45; }.admin-home-content-presets__copy small { font-size: .64rem; font-weight: 800; }.admin-home-content-presets__draft { margin: -4px 0 18px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); }.admin-home-content-presets__draft strong { color: var(--ink); }.admin-home-content-presets__empty { padding: 14px; border: 1px dashed var(--line); border-radius: 7px; background: var(--paper); }.admin-home-content-presets__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px 10px; align-items: center; }.admin-home-content-presets__actions form { margin: 0; }.admin-home-content-presets__actions a, .admin-home-content-presets__actions button, .admin-home-content-presets__actions summary { padding: 0; border: 0; background: transparent; color: var(--teal-deep); font: inherit; font-size: .7rem; font-weight: 850; cursor: pointer; }.admin-home-content-presets__actions details { position: relative; }.admin-home-content-presets__actions summary { list-style: none; }.admin-home-content-presets__actions summary::-webkit-details-marker { display: none; }.admin-home-content-presets__actions a:hover, .admin-home-content-presets__actions a:focus-visible, .admin-home-content-presets__actions button:hover, .admin-home-content-presets__actions button:focus-visible, .admin-home-content-presets__actions summary:hover, .admin-home-content-presets__actions summary:focus-visible { color: var(--orange); outline: none; text-decoration: underline; text-underline-offset: 3px; }.admin-home-content-presets__actions details[open] > form { position: absolute; z-index: 3; top: calc(100% + 8px); right: 0; display: grid; gap: 9px; width: min(270px, 72vw); padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--white); box-shadow: 0 12px 28px rgba(11,17,32,.18); }.admin-home-content-presets__actions details[open] p { margin: 0; color: var(--slate); font-size: .72rem; line-height: 1.4; }.admin-home-content-presets__actions details[open] button { width: fit-content; min-height: 32px; padding: 6px 9px; border: 1px solid var(--teal-deep); border-radius: 4px; background: var(--teal-deep); color: var(--white); }.admin-home-content-presets__actions .admin-home-content-presets__remove summary, .admin-home-content-presets__actions .admin-home-content-presets__remove[open] button { color: var(--theme-danger, #a43428); }.admin-home-content-presets__actions .admin-home-content-presets__remove[open] button { border-color: var(--theme-danger, #a43428); background: var(--theme-danger, #a43428); color: var(--white); }.theme-logo-dark .admin-home-content-presets__group h3, .theme-logo-dark .admin-home-content-presets__copy strong, .theme-logo-dark .admin-home-content-presets__draft strong { color: #f1f3f4; }.theme-logo-dark .admin-home-content-presets__group > div > p, .theme-logo-dark .admin-home-content-presets__copy p, .theme-logo-dark .admin-home-content-presets__copy small, .theme-logo-dark .admin-home-content-presets__empty, .theme-logo-dark .admin-home-content-presets__draft, .theme-logo-dark .admin-home-content-presets__actions details[open] p { color: #aeb6bc; }.theme-logo-dark .admin-home-content-presets__list > li, .theme-logo-dark .admin-home-content-presets__draft, .theme-logo-dark .admin-home-content-presets__empty { border-color: #454d52; background: #171a1c; }.theme-logo-dark .admin-home-content-presets__list > li.is-built-in { border-left-color: var(--teal); }.theme-logo-dark .admin-home-content-presets__copy > div > span { background: color-mix(in srgb, var(--teal) 16%, transparent); color: var(--teal); }.theme-logo-dark .admin-home-content-presets__actions a, .theme-logo-dark .admin-home-content-presets__actions button, .theme-logo-dark .admin-home-content-presets__actions summary { color: var(--teal); }.theme-logo-dark .admin-home-content-presets__actions a:hover, .theme-logo-dark .admin-home-content-presets__actions a:focus-visible, .theme-logo-dark .admin-home-content-presets__actions button:hover, .theme-logo-dark .admin-home-content-presets__actions button:focus-visible, .theme-logo-dark .admin-home-content-presets__actions summary:hover, .theme-logo-dark .admin-home-content-presets__actions summary:focus-visible { color: var(--orange); }.theme-logo-dark .admin-home-content-presets__actions details[open] > form { border-color: #454d52; background: #202529; box-shadow: 0 12px 28px rgba(0,0,0,.35); }.theme-logo-dark .admin-home-content-presets__actions details[open] button { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .admin-home-content-presets__actions .admin-home-content-presets__remove summary, .theme-logo-dark .admin-home-content-presets__actions .admin-home-content-presets__remove[open] button { color: #ffc1b6; }@media (max-width: 720px) { .admin-home-content-presets__list > li { grid-template-columns: 1fr; }.admin-home-content-presets__actions { justify-content: flex-start; }.admin-home-content-presets__actions details[open] > form { right: auto; left: 0; } }
.admin-home-content__heading > div:first-child, .admin-home-content .admin-editor__heading > div:first-child { max-width: 760px; }.admin-home-content__heading .button, .admin-home-content .admin-editor__heading .admin-form__actions .button { white-space: nowrap; }.admin-home-content__form { gap: 18px; }.admin-home-content__section { display: grid; gap: 18px; padding: 29px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }.admin-home-content__section-heading { max-width: 760px; }.admin-home-content__section-heading .eyebrow { margin-bottom: 6px; }.admin-home-content__section-heading h3 { margin: 0; color: var(--ink); font-size: 1.35rem; }.admin-home-content__section-heading > p:not(.eyebrow) { margin: 8px 0 0; color: var(--slate); font-size: .82rem; line-height: 1.5; }.admin-home-content__section-heading a { color: var(--teal-deep); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }.admin-home-content__section-heading a:hover { color: var(--teal); }.admin-home-content__subheading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; padding-top: 4px; border-top: 1px solid var(--line); }.admin-home-content__subheading h4 { margin: 14px 0 0; color: var(--ink); font-size: .81rem; }.admin-home-content__subheading p { margin: 0; color: var(--slate); font-size: .75rem; line-height: 1.45; }.admin-home-content__hero-copy > label:nth-child(2) small, .admin-home-content__card small, .admin-home-content__section label > small { margin-top: -2px; color: var(--slate); font-size: .72rem; font-weight: 650; letter-spacing: 0; text-transform: none; }.admin-home-content__markup-field { display: grid; gap: 10px; }.admin-home-content__markup-tools { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr) auto; gap: 11px; align-items: end; padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface, var(--white)); }.admin-home-content__markup-tools button { min-height: 44px; padding: 0 13px; border: 1px solid var(--teal-deep); border-radius: 5px; background: transparent; color: var(--teal-deep); font: inherit; font-size: .76rem; font-weight: 850; cursor: pointer; white-space: nowrap; }.admin-home-content__markup-tools button:hover, .admin-home-content__markup-tools button:focus-visible { background: var(--teal-deep); color: var(--white); outline: none; }.admin-home-content__markup-tools p { grid-column: 1 / -1; margin: -2px 0 0; color: var(--slate); font-size: .72rem; line-height: 1.45; }.admin-home-content__four-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }.admin-home-content__three-grid, .admin-home-content__card-grid, .admin-home-content__preview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.admin-home-content__card { display: grid; min-width: 0; gap: 12px; margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface, var(--white)); }.admin-home-content__card legend, .admin-home-content__repeat-item legend { padding: 0 5px; color: var(--teal-deep); font-size: .67rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }.admin-home-content__repeat-list { display: grid; gap: 12px; }.admin-home-content__repeat-list-header { display: flex; justify-content: space-between; align-items: center; gap: 15px; }.admin-home-content__repeat-list-header h4 { margin: 0; color: var(--ink); font-size: .88rem; }.admin-home-content__repeat-list-header button, .admin-home-content__item-controls button { min-height: 32px; padding: 5px 9px; border: 1px solid var(--line); border-radius: 4px; background: var(--theme-surface, var(--white)); color: var(--teal-deep); font: inherit; font-size: .69rem; font-weight: 850; cursor: pointer; }.admin-home-content__repeat-list-header button:hover:not(:disabled), .admin-home-content__repeat-list-header button:focus-visible, .admin-home-content__item-controls button:hover:not(:disabled), .admin-home-content__item-controls button:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); outline: none; }.admin-home-content__repeat-list-header button:disabled, .admin-home-content__item-controls button:disabled { cursor: not-allowed; opacity: .48; }.admin-home-content__repeat-list > [data-home-content-list-items] { display: grid; gap: 12px; }.admin-home-content__repeat-item { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 15px; min-width: 0; margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface, var(--white)); }.admin-home-content__repeat-item > label:last-child { grid-column: 1 / -1; }.admin-home-content__item-controls { display: flex; grid-column: 1 / -1; flex-wrap: wrap; justify-content: flex-end; gap: 6px; padding-bottom: 2px; }.admin-home-content__item-controls button[data-home-content-remove] { color: var(--theme-danger, #a43428); }.admin-home-content__item-controls button[data-home-content-remove]:hover:not(:disabled), .admin-home-content__item-controls button[data-home-content-remove]:focus-visible { border-color: var(--theme-danger, #b23d2c); background: var(--theme-danger, #b23d2c); color: var(--white); }.admin-home-content__section.admin-dashboard-panel { box-shadow: none; }.admin-home-content__section.admin-dashboard-panel.is-collapsed { min-height: 38px; }.theme-logo-dark .admin-home-content__section { border-color: #454d52; background: #202529; }.theme-logo-dark .admin-home-content__section-heading h3, .theme-logo-dark .admin-home-content__subheading h4, .theme-logo-dark .admin-home-content__repeat-list-header h4 { color: #f1f3f4; }.theme-logo-dark .admin-home-content__section-heading > p:not(.eyebrow), .theme-logo-dark .admin-home-content__subheading p, .theme-logo-dark .admin-home-content__hero-copy > label:nth-child(2) small, .theme-logo-dark .admin-home-content__card small, .theme-logo-dark .admin-home-content__section label > small, .theme-logo-dark .admin-home-content__markup-tools p { color: #aeb6bc; }.theme-logo-dark .admin-home-content__section-heading a, .theme-logo-dark .admin-home-content__card legend, .theme-logo-dark .admin-home-content__repeat-item legend, .theme-logo-dark .admin-home-content__repeat-list-header button, .theme-logo-dark .admin-home-content__item-controls button, .theme-logo-dark .admin-home-content__markup-tools button { color: var(--teal); }.theme-logo-dark .admin-home-content__card, .theme-logo-dark .admin-home-content__repeat-item, .theme-logo-dark .admin-home-content__markup-tools { border-color: #454d52; background: #171a1c; }.theme-logo-dark .admin-home-content__repeat-list-header button, .theme-logo-dark .admin-home-content__item-controls button { border-color: #454d52; background: #202529; }.theme-logo-dark .admin-home-content__repeat-list-header button:hover:not(:disabled), .theme-logo-dark .admin-home-content__repeat-list-header button:focus-visible, .theme-logo-dark .admin-home-content__item-controls button:hover:not(:disabled), .theme-logo-dark .admin-home-content__item-controls button:focus-visible, .theme-logo-dark .admin-home-content__markup-tools button:hover, .theme-logo-dark .admin-home-content__markup-tools button:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .admin-home-content__item-controls button[data-home-content-remove] { color: #ffc1b6; }.theme-logo-dark .admin-home-content__item-controls button[data-home-content-remove]:hover:not(:disabled), .theme-logo-dark .admin-home-content__item-controls button[data-home-content-remove]:focus-visible { border-color: #a84835; background: #a84835; color: #fff4f1; }@media (max-width: 960px) { .admin-home-content__four-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-home-content__card-grid, .admin-home-content__preview-grid { grid-template-columns: 1fr; }.admin-home-content__markup-tools { grid-template-columns: 1fr 1fr; }.admin-home-content__markup-tools button { grid-column: 1 / -1; } }@media (max-width: 720px) { .admin-home-content__heading .button { margin-top: 18px; }.admin-home-content__section { padding: 22px 17px; }.admin-home-content__four-grid, .admin-home-content__three-grid, .admin-home-content__repeat-item, .admin-home-content__markup-tools { grid-template-columns: 1fr; }.admin-home-content__markup-tools button { grid-column: auto; }.admin-home-content__repeat-item > label:last-child, .admin-home-content__item-controls { grid-column: auto; }.admin-home-content__item-controls { justify-content: flex-start; }.admin-home-content__repeat-list-header { align-items: stretch; flex-direction: column; }.admin-home-content__repeat-list-header button { width: 100%; } }

/* Theme library: editable palette tokens and admin management UI. */
.site-header, .admin-header { background: var(--theme-header-bg, var(--ink)); }.nav-menu > a, .admin-nav a, .admin-header__actions > a { color: var(--theme-header-text, #d9dfeb); }.site-footer { background: var(--theme-footer-bg, var(--ink)); }
.theme-logo-dark .site-header, .theme-logo-dark .admin-header { background: var(--theme-header-bg); }.theme-logo-dark .site-footer { background: var(--theme-footer-bg); }
body.theme-logo-dark .hero, body.theme-logo-dark .shop-preview, body.theme-logo-dark .quote-panel, body.theme-logo-dark .page-hero, body.theme-logo-dark .admin-header { background: var(--theme-header-bg); }
body.theme-logo-dark .intro-band, body.theme-logo-dark .service-card, body.theme-logo-dark .gallery-card, body.theme-logo-dark .product-card, body.theme-logo-dark .quote-section, body.theme-logo-dark .product-detail__placeholder, body.theme-logo-dark .product-gallery__main-wrap, body.theme-logo-dark .product-gallery__grid button, body.theme-logo-dark .admin-actions, body.theme-logo-dark .admin-theme, body.theme-logo-dark .admin-editor, body.theme-logo-dark .admin-item, body.theme-logo-dark .admin-stl-upload__current, body.theme-logo-dark .admin-image-add button, body.theme-logo-dark .admin-upload-controls button, body.theme-logo-dark .admin-stl-upload__controls button, body.theme-logo-dark .admin-stl-preview__header, body.theme-logo-dark .admin-stl-preview__header button { background: var(--theme-surface); }
body.theme-logo-dark .section--muted, body.theme-logo-dark .callout, body.theme-logo-dark .admin-upload-guidance, body.theme-logo-dark .admin-image-fields, body.theme-logo-dark .admin-product-images, body.theme-logo-dark .admin-stl-upload, body.theme-logo-dark .admin-viewer__toggle { background: var(--theme-surface-muted); }
body.theme-logo-dark .admin-description__toolbar, body.theme-logo-dark .admin-description__surface, body.theme-logo-dark .admin-form input:not([type="file"]), body.theme-logo-dark .admin-form textarea, body.theme-logo-dark .admin-form select, body.theme-logo-dark .quote-panel input:not([type="checkbox"]), body.theme-logo-dark .quote-panel textarea, body.theme-logo-dark .admin-login__form input, body.theme-logo-dark .admin-upload-dropzone { background: var(--theme-surface-input); }

/* Generic freeform landing-page canvas. Profile styles may refine these stable classes beneath their approved body class. */
.page-canvas { background: var(--theme-paper, #fff); color: var(--theme-ink, #17212b); }.canvas-block { padding: clamp(2.5rem, 6vw, 6rem) 0; position: relative; }.canvas-eyebrow { color: var(--theme-teal, #0c7b8f); font-size: .78rem; font-weight: 700; letter-spacing: .14em; margin: 0 0 .75rem; text-transform: uppercase; }.canvas-section-heading { display: grid; gap: 1rem; margin-bottom: clamp(1.5rem, 4vw, 3rem); max-width: 72rem; }.canvas-section-heading h2, .canvas-block h2, .canvas-block h3 { color: inherit; margin: 0; }.canvas-copy { line-height: 1.7; max-width: 48rem; }.canvas-copy p { margin: 0 0 1rem; }.canvas-align--center { text-align: center; }.canvas-align--center .canvas-copy, .canvas-align--center .canvas-actions { margin-left: auto; margin-right: auto; justify-content: center; }.canvas-align--right { text-align: right; }.canvas-align--right .canvas-copy, .canvas-align--right .canvas-actions { margin-left: auto; justify-content: flex-end; }.canvas-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.5rem; }.canvas-action { align-items: center; background: var(--theme-teal, #0c7b8f); border: 1px solid var(--theme-teal, #0c7b8f); color: #fff; display: inline-flex; font: inherit; font-weight: 700; justify-content: center; min-height: 2.8rem; padding: .65rem 1rem; text-decoration: none; }.canvas-action:hover, .canvas-action:focus-visible { background: var(--theme-teal-deep, #075d70); border-color: var(--theme-teal-deep, #075d70); color: #fff; }.canvas-action--secondary { background: transparent; color: inherit; }.canvas-action.is-pending { border-style: dashed; cursor: not-allowed; opacity: .72; }.canvas-action small { font-size: .7em; margin-left: .6rem; text-transform: uppercase; }.canvas-image { margin: 0; overflow: hidden; }.canvas-image img { display: block; height: 100%; max-height: 44rem; object-fit: cover; width: 100%; }.canvas-image--wide { aspect-ratio: 16 / 7; }.canvas-image--landscape { aspect-ratio: 4 / 3; }.canvas-image--square { aspect-ratio: 1; }.canvas-image--portrait { aspect-ratio: 3 / 4; }.canvas-image figcaption { color: var(--theme-slate, #627080); font-size: .9rem; padding: .75rem 0; }.canvas-image img[data-focal="top"] { object-position: center top; }.canvas-image img[data-focal="bottom"] { object-position: center bottom; }.canvas-image img[data-focal="left"] { object-position: left center; }.canvas-image img[data-focal="right"] { object-position: right center; }.canvas-block--hero, .canvas-block--background-image-section { color: #fff; min-height: clamp(28rem, 60vw, 48rem); overflow: hidden; display: grid; isolation: isolate; place-items: center; }.canvas-hero__media { inset: 0; margin: 0; position: absolute; z-index: -2; }.canvas-hero__media img { height: 100%; max-height: none; width: 100%; }.canvas-hero__content { padding-bottom: clamp(3rem, 8vw, 8rem); padding-top: clamp(5rem, 12vw, 11rem); width: 100%; }.canvas-block--hero h1, .canvas-block--background-image-section h2 { color: inherit; font-size: clamp(3rem, 8vw, 7rem); line-height: .92; max-width: 11ch; }.canvas-overlay--dark::before, .canvas-overlay--light::before { content: ""; inset: 0; position: absolute; z-index: -1; }.canvas-overlay--dark::before { background: linear-gradient(90deg, rgba(0,0,0,.8), rgba(0,0,0,.45) 58%, rgba(0,0,0,.62)); }.canvas-overlay--light { color: #121820; }.canvas-overlay--light::before { background: rgba(255,255,255,.72); }.canvas-card-grid, .canvas-route-cards { display: grid; gap: 1px; grid-template-columns: repeat(var(--canvas-columns, 3), minmax(0, 1fr)); background: var(--theme-line, #d6dde3); }.canvas-columns--2 { --canvas-columns: 2; }.canvas-columns--3 { --canvas-columns: 3; }.canvas-columns--4 { --canvas-columns: 4; }.canvas-card { background: var(--theme-surface, #fff); display: flex; flex-direction: column; gap: .9rem; min-height: 100%; padding: clamp(1.25rem, 3vw, 2rem); }.canvas-card h3 { font-size: clamp(1.35rem, 2vw, 2rem); }.canvas-card .canvas-actions { margin-top: auto; }.canvas-route-cards .canvas-card { position: relative; }.canvas-route-cards .canvas-card::before { color: var(--theme-slate, #627080); content: "Route"; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }.canvas-facts { border-bottom: 1px solid var(--theme-line, #d6dde3); border-top: 1px solid var(--theme-line, #d6dde3); display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); margin: 1.5rem 0 0; }.canvas-facts div { border-right: 1px solid var(--theme-line, #d6dde3); padding: 1rem; }.canvas-facts dt { color: var(--theme-slate, #627080); font-size: .72rem; letter-spacing: .11em; text-transform: uppercase; }.canvas-facts dd { font-size: 1.05rem; font-weight: 700; margin: .35rem 0 0; }.canvas-block--quote { margin: 0 auto; max-width: 60rem; padding-left: 1.5rem; padding-right: 1.5rem; }.canvas-block--quote blockquote { border-left: 4px solid var(--theme-teal, #0c7b8f); font-size: clamp(1.5rem, 3vw, 2.6rem); margin: 0; padding-left: 1.25rem; }.canvas-block--quote figcaption { margin-top: 1rem; }.canvas-block--divider.canvas-line { border-top: 1px solid var(--theme-line, #d6dde3); margin: 0 auto; max-width: min(88vw, 80rem); padding: 0; }.canvas-block--divider.canvas-accent { border-top: 4px solid var(--theme-teal, #0c7b8f); margin: 0 auto; max-width: min(88vw, 80rem); padding: 0; }.canvas-block--spacer { padding: 0; }.canvas-block--spacer.canvas-small { min-height: 1.5rem; }.canvas-block--spacer.canvas-medium { min-height: 3rem; }.canvas-block--spacer.canvas-large { min-height: 6rem; }.canvas-block--callout { background: var(--theme-surface-muted, #eef3f5); }
.admin-canvas-editor__mode, .admin-canvas-editor__workspace, .admin-canvas-editor__revisions { background: var(--theme-surface, #fff); border: 1px solid var(--theme-line, #d6dde3); margin: 1.5rem 0; padding: 1.25rem; }.admin-canvas-editor__mode { display: grid; gap: 1rem; grid-template-columns: 1.5fr 1fr 1fr; }.admin-canvas-editor__mode label { border-left: 3px solid var(--theme-teal, #0c7b8f); display: grid; gap: .4rem; padding: .5rem .75rem; }.admin-canvas-editor__workspace { display: grid; gap: 1rem; grid-template-columns: minmax(11rem, .5fr) minmax(22rem, 1.5fr) minmax(14rem, .8fr); }.admin-canvas-editor__library button { display: block; margin: .45rem 0; text-align: left; width: 100%; }.admin-canvas-editor__document-heading { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }.admin-canvas-block { border: 1px solid var(--theme-line, #d6dde3); margin: .9rem 0; padding: 1rem; }.admin-canvas-block > header { align-items: end; display: flex; gap: .7rem; justify-content: space-between; }.admin-canvas-block__controls { display: flex; flex-wrap: wrap; gap: .35rem; }.admin-canvas-block__fields { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; }.admin-canvas-field { display: grid; gap: .35rem; }.admin-canvas-field textarea { min-height: 5rem; }.admin-canvas-action-row, .admin-canvas-card-row { border: 1px solid var(--theme-line, #d6dde3); display: grid; gap: .6rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: .7rem 0; padding: .7rem; }.canvas-preview-frame { background: var(--theme-paper, #fff); border: 1px solid var(--theme-line, #d6dde3); min-height: 20rem; overflow: hidden; transition: max-width .2s ease; }.canvas-preview-frame.is-mobile { margin: 0 auto; max-width: 22rem; }.canvas-preview-frame__block { border-bottom: 1px solid var(--theme-line, #d6dde3); padding: 1rem; }.canvas-preview-frame__block--hero { background: var(--theme-header-bg, #17212b); color: #fff; min-height: 12rem; }.admin-canvas-editor__revisions form { align-items: center; border-top: 1px solid var(--theme-line, #d6dde3); display: flex; gap: .8rem; justify-content: space-between; padding: .75rem 0; }.admin-canvas-editor__revisions small { color: var(--theme-slate, #627080); }
@media (max-width: 900px) { .canvas-columns--4 { --canvas-columns: 2; }.admin-canvas-editor__workspace { grid-template-columns: 1fr; }.admin-canvas-editor__library { display: grid; gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-canvas-editor__library > :is(p,h2) { grid-column: 1 / -1; } }@media (max-width: 640px) { .canvas-card-grid, .canvas-route-cards { --canvas-columns: 1; }.canvas-block--hero h1, .canvas-block--background-image-section h2 { font-size: clamp(2.7rem, 14vw, 4.5rem); }.canvas-actions { align-items: stretch; flex-direction: column; }.canvas-action { width: 100%; }.admin-canvas-editor__mode, .admin-canvas-block__fields, .admin-canvas-action-row, .admin-canvas-card-row { grid-template-columns: 1fr; }.admin-canvas-editor__revisions form { align-items: flex-start; flex-direction: column; } }@media (prefers-reduced-motion: reduce) { .canvas-preview-frame { transition: none; } }

.admin-theme__manage-links { display: grid; justify-items: start; gap: 9px; margin-top: 18px; }.admin-theme__manage-link { display: inline-flex; gap: 8px; color: var(--teal-deep); font-size: .8rem; font-weight: 850; }.admin-theme__manage-link:hover, .admin-theme__manage-link:focus-visible { color: var(--orange); outline: none; text-decoration: underline; text-underline-offset: 3px; }
.admin-theme__swatch { background: var(--theme-swatch-bg, #0b1120); }.admin-theme__swatch i { background: var(--theme-swatch-1, #47e6cc); }.admin-theme__swatch i:nth-child(2) { background: var(--theme-swatch-2, #ff7043); }.admin-theme__swatch i:nth-child(3) { background: var(--theme-swatch-3, #ffffff); }

.admin-theme-library-heading { display: flex; justify-content: space-between; gap: 24px; align-items: end; }.admin-theme-library-heading > div { max-width: 730px; }.admin-theme-library-heading .button { flex: 0 0 auto; }.theme-library, .theme-editor { margin-top: 24px; padding: 27px; border-radius: var(--radius); background: var(--white); }.theme-library__heading { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 17px; align-items: baseline; }.theme-library__heading h2, .theme-editor h2 { margin: 0; font-size: 1.5rem; }.theme-library__heading p { margin: 0; color: var(--slate); font-size: .76rem; font-weight: 800; }.theme-library__list { display: grid; gap: 10px; }.theme-library__item { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 13px; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }.theme-library__item.is-active { border-color: var(--teal-deep); box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal-deep) 17%, transparent); }.theme-library__item h3 { margin: 0 0 3px; color: var(--ink); font-size: .86rem; }.theme-library__item p { margin: 0; color: var(--slate); font-size: .73rem; line-height: 1.45; }.theme-library__item small { display: block; margin-top: 5px; color: var(--teal-deep); font-size: .63rem; font-weight: 820; letter-spacing: .04em; text-transform: uppercase; }.theme-library__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px 11px; align-items: center; }.theme-library__actions span, .theme-library__actions a, .theme-library__actions button { padding: 0; border: 0; background: transparent; color: var(--teal-deep); font: inherit; font-size: .72rem; font-weight: 850; }.theme-library__actions span { color: var(--slate); }.theme-library__actions a:hover, .theme-library__actions a:focus-visible, .theme-library__actions button:hover, .theme-library__actions button:focus-visible { color: var(--orange); outline: none; text-decoration: underline; text-underline-offset: 3px; }
.theme-editor { margin-bottom: 52px; }.theme-editor__heading { display: flex; justify-content: space-between; gap: 24px; margin-bottom: 24px; align-items: start; }.theme-editor__heading > div { max-width: 660px; }.theme-editor__heading .eyebrow { margin-bottom: 8px; }.theme-editor__heading p:not(.eyebrow) { margin: 9px 0 0; color: var(--slate); font-size: .82rem; line-height: 1.55; }.theme-editor__heading a, .theme-editor__footer > a { color: var(--teal-deep); font-size: .78rem; font-weight: 850; white-space: nowrap; }.theme-editor__heading a:hover, .theme-editor__footer > a:hover { color: var(--orange); text-decoration: underline; text-underline-offset: 3px; }.theme-editor__form { display: grid; gap: 23px; }.theme-editor__meta { display: grid; grid-template-columns: minmax(0, 1fr) 170px 155px; gap: 15px; }.theme-editor__meta label, .theme-editor__description { display: grid; gap: 7px; color: var(--ink); font-size: .76rem; font-weight: 820; }.theme-editor__meta input, .theme-editor__meta select, .theme-editor__description textarea { width: 100%; border: 1px solid var(--line); border-radius: 5px; outline: none; background: var(--paper); color: var(--ink); }.theme-editor__meta input[type="text"], .theme-editor__meta select { min-height: 43px; padding: 0 11px; }.theme-editor__meta input[type="color"] { height: 43px; padding: 4px; cursor: pointer; }.theme-editor__description textarea { min-height: 86px; padding: 10px 11px; resize: vertical; }.theme-editor__description > span { color: var(--slate); font-size: .69rem; font-weight: 650; }.theme-editor__meta input:focus, .theme-editor__meta select:focus, .theme-editor__description textarea:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal-deep) 16%, transparent); }.theme-editor__layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(270px, .8fr); gap: 22px; align-items: start; }.theme-editor__controls { padding: 19px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }.theme-editor__controls h3 { margin: 0 0 5px; color: var(--ink); font-size: .96rem; }.theme-editor__controls > p { margin: 0 0 17px; color: var(--slate); font-size: .74rem; line-height: 1.5; }.theme-editor__tokens { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }.theme-editor__tokens label { display: flex; min-width: 0; justify-content: space-between; gap: 10px; align-items: center; padding: 9px 10px; border: 1px solid var(--line); border-radius: 5px; background: var(--white); }.theme-editor__tokens span { display: grid; min-width: 0; gap: 2px; }.theme-editor__tokens strong { color: var(--ink); font-size: .7rem; }.theme-editor__tokens small { color: var(--slate); font-size: .61rem; font-weight: 620; line-height: 1.3; }.theme-editor__tokens input[type="color"] { flex: 0 0 32px; width: 32px; height: 30px; padding: 2px; border: 1px solid var(--line); border-radius: 4px; background: var(--paper); cursor: pointer; }.theme-editor__preview { position: sticky; top: 95px; overflow: hidden; border: 1px solid var(--preview-line); border-radius: 9px; background: var(--preview-paper); color: var(--preview-ink); box-shadow: 0 15px 34px rgba(0,0,0,.12); }.theme-editor__preview-header { display: flex; justify-content: space-between; gap: 12px; padding: 13px 15px; background: var(--preview-header); color: var(--preview-header-text); font-size: .74rem; align-items: center; }.theme-editor__preview-header span { padding: 3px 6px; border: 1px solid color-mix(in srgb, var(--preview-header-text) 30%, transparent); border-radius: 99px; font-size: .57rem; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }.theme-editor__preview-body { min-height: 250px; padding: 28px 24px; background: linear-gradient(145deg, var(--preview-paper), var(--preview-surface)); }.theme-editor__preview-body .eyebrow { margin-bottom: 12px; color: var(--preview-accent-deep); }.theme-editor__preview-body h3 { margin: 0 0 10px; color: var(--preview-ink); font-size: 1.5rem; line-height: 1.05; }.theme-editor__preview-body > p:not(.eyebrow) { margin: 0 0 20px; color: var(--preview-muted); font-size: .78rem; line-height: 1.55; }.theme-editor__preview-body > div { display: flex; gap: 13px; align-items: center; }.theme-editor__preview-body button { min-height: 37px; padding: 8px 12px; border: 1px solid var(--preview-accent); border-radius: 5px; background: var(--preview-accent); color: var(--preview-header); font: inherit; font-size: .72rem; font-weight: 850; }.theme-editor__preview-body a { color: var(--preview-accent-deep); font-size: .74rem; font-weight: 850; }.theme-editor__footer { display: flex; justify-content: flex-end; gap: 18px; align-items: center; padding-top: 4px; }.theme-editor__utility { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }.theme-editor__utility > form button, .theme-editor__delete summary { padding: 0; border: 0; background: transparent; color: var(--teal-deep); font: inherit; font-size: .75rem; font-weight: 850; cursor: pointer; }.theme-editor__utility > form button:hover, .theme-editor__delete summary:hover { color: var(--orange); text-decoration: underline; text-underline-offset: 3px; }.theme-editor__delete { position: relative; }.theme-editor__delete summary { list-style: none; }.theme-editor__delete summary::-webkit-details-marker { display: none; }.theme-editor__delete form { position: absolute; z-index: 3; top: calc(100% + 10px); right: 0; width: min(310px, 78vw); padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface, var(--white)); box-shadow: var(--shadow); }.theme-editor__delete p { margin: 0 0 11px; color: var(--slate); font-size: .72rem; line-height: 1.45; }.theme-editor__delete form button { padding: 7px 9px; border: 1px solid #b23d2c; border-radius: 4px; background: transparent; color: #b23d2c; font: inherit; font-size: .7rem; font-weight: 850; }.theme-editor__delete form button:hover { background: #b23d2c; color: var(--white); }
body.theme-logo-dark .theme-library, body.theme-logo-dark .theme-editor { background: var(--theme-surface); }body.theme-logo-dark .theme-library__item, body.theme-logo-dark .theme-editor__controls { border-color: var(--line); background: var(--theme-surface-muted); }body.theme-logo-dark .theme-editor__tokens label { border-color: var(--line); background: var(--theme-surface); }body.theme-logo-dark .theme-editor__meta input, body.theme-logo-dark .theme-editor__meta select, body.theme-logo-dark .theme-editor__description textarea, body.theme-logo-dark .theme-editor__tokens input[type="color"] { border-color: var(--line); background: var(--theme-surface-input); color: var(--ink); }body.theme-logo-dark .theme-editor__tokens strong, body.theme-logo-dark .theme-editor__meta label, body.theme-logo-dark .theme-editor__description, body.theme-logo-dark .theme-library__item h3, body.theme-logo-dark .theme-editor__controls h3 { color: var(--ink); }body.theme-logo-dark .theme-library__item p, body.theme-logo-dark .theme-editor__controls > p, body.theme-logo-dark .theme-editor__tokens small, body.theme-logo-dark .theme-editor__description > span, body.theme-logo-dark .theme-editor__heading p:not(.eyebrow), body.theme-logo-dark .theme-editor__delete p { color: var(--slate); }
.theme-editor__hero-images { margin: 0; padding: 19px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }.theme-editor__hero-images legend { padding: 0 5px; color: var(--ink); font-size: .95rem; font-weight: 850; }.theme-editor__hero-images > p { margin: 0 0 15px; color: var(--slate); font-size: .74rem; line-height: 1.5; }.theme-editor__hero-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(142px, 1fr)); gap: 10px; }.theme-editor__hero-choice { position: relative; display: grid; min-width: 0; gap: 6px; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--white); cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }.theme-editor__hero-choice:hover { border-color: var(--teal-deep); transform: translateY(-1px); }.theme-editor__hero-choice:has(input:focus-visible) { outline: 3px solid color-mix(in srgb, var(--teal-deep) 20%, transparent); outline-offset: 2px; }.theme-editor__hero-choice:has(input:checked) { border-color: var(--teal-deep); box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal-deep) 16%, transparent); }.theme-editor__hero-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }.theme-editor__hero-choice img, .theme-editor__hero-generated { display: grid; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 4px; background: var(--ink-soft); object-fit: contain; place-items: center; }.theme-editor__hero-choice strong { overflow: hidden; color: var(--ink); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }.theme-editor__hero-choice small { overflow: hidden; color: var(--slate); font-size: .6rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }.theme-editor__hero-generated { position: relative; background: linear-gradient(145deg, var(--ink-soft), var(--ink)); color: var(--teal); }.theme-editor__hero-generated b { z-index: 1; color: var(--teal); font-size: 1.35rem; letter-spacing: .08em; }.theme-editor__hero-generated i { position: absolute; display: block; border: 2px solid var(--teal); }.theme-editor__hero-generated i:nth-child(2) { width: 38%; height: 47%; bottom: 13%; }.theme-editor__hero-generated i:nth-child(3) { width: 26%; height: 8%; bottom: 19%; background: var(--orange); }.theme-editor__hero-generated i:nth-child(4) { top: 20%; width: 7%; height: 40%; background: var(--white); }.theme-editor__hero-upload { display: grid; gap: 7px; margin-top: 14px; color: var(--ink); font-size: .74rem; font-weight: 820; }.theme-editor__hero-upload input { max-width: 100%; color: var(--slate); font-size: .72rem; font-weight: 650; }.theme-editor__hero-upload span { color: var(--slate); font-size: .66rem; font-weight: 650; line-height: 1.45; }body.theme-logo-dark .theme-editor__hero-images { border-color: var(--line); background: var(--theme-surface-muted); }body.theme-logo-dark .theme-editor__hero-choice { border-color: var(--line); background: var(--theme-surface); }body.theme-logo-dark .theme-editor__hero-choice strong, body.theme-logo-dark .theme-editor__hero-images legend, body.theme-logo-dark .theme-editor__hero-upload { color: var(--ink); }body.theme-logo-dark .theme-editor__hero-choice small, body.theme-logo-dark .theme-editor__hero-images > p, body.theme-logo-dark .theme-editor__hero-upload input, body.theme-logo-dark .theme-editor__hero-upload span { color: var(--slate); }
@media (max-width: 820px) { .admin-theme-library-heading, .theme-editor__heading { align-items: start; flex-direction: column; }.theme-editor__meta, .theme-editor__layout { grid-template-columns: 1fr; }.theme-editor__preview { position: static; order: -1; }.theme-editor__tokens { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .theme-library, .theme-editor { padding: 19px 15px; }.theme-library__item { grid-template-columns: 38px minmax(0, 1fr); }.theme-library__item .admin-theme__swatch { width: 38px; height: 38px; }.theme-library__actions { grid-column: 1 / -1; justify-content: flex-start; }.theme-editor__footer { justify-content: space-between; gap: 12px; }.theme-editor__footer .button { min-height: var(--ui-control-height); padding: 10px 13px; }.admin-theme-library-heading .button { width: 100%; } }

.admin-task-card footer > form > button[type="button"] { padding: 0; border: 0; background: transparent; color: var(--teal-deep); font: inherit; font-size: .75rem; font-weight: 850; cursor: pointer; }.admin-task-card footer > form > button[type="button"]:hover, .admin-task-card footer > form > button[type="button"]:focus-visible { color: var(--teal); outline: none; }.admin-task-card__close .admin-delete-popover [data-delete-confirm-action] { border-color: var(--teal-deep); background: var(--teal-deep); }.admin-task-card__close .admin-delete-popover [data-delete-confirm-action]:hover, .admin-task-card__close .admin-delete-popover [data-delete-confirm-action]:focus-visible { border-color: var(--teal); background: var(--teal); }.theme-logo-dark .admin-task-card footer > form > button[type="button"] { color: var(--teal); }.theme-logo-dark .admin-task-card__close .admin-delete-popover [data-delete-confirm-action] { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .admin-task-card__close .admin-delete-popover [data-delete-confirm-action]:hover, .theme-logo-dark .admin-task-card__close .admin-delete-popover [data-delete-confirm-action]:focus-visible { border-color: var(--teal); background: var(--teal); }

.admin-content-health-duplicate-trigger { display: grid; width: 100%; gap: 3px; padding: 9px 10px; border: 0; border-left: 3px solid var(--line); border-radius: 4px; background: var(--paper); color: inherit; font: inherit; text-align: left; cursor: pointer; }.admin-operations-list li.is-warning .admin-content-health-duplicate-trigger { border-color: #b78122; }.admin-content-health-duplicate-trigger strong { color: var(--ink); font-size: .77rem; }.admin-content-health-duplicate-trigger span { color: var(--slate); font-size: .73rem; line-height: 1.4; }.admin-content-health-duplicate-trigger:hover, .admin-content-health-duplicate-trigger:focus-visible { background: #eef4f3; outline: none; }.admin-content-health-duplicate-trigger:focus-visible { box-shadow: 0 0 0 3px rgba(24,185,160,.14); }.admin-content-health-duplicate-dialog { width: min(94vw, 760px); max-height: min(760px, 92vh); margin: auto; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--white); box-shadow: 0 24px 55px rgba(11,17,32,.34); }.admin-content-health-duplicate-dialog::backdrop { background: rgba(3,6,12,.72); backdrop-filter: blur(3px); }.admin-content-health-duplicate-dialog__panel { display: grid; gap: 18px; padding: 25px; }.admin-content-health-duplicate-dialog header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: start; }.admin-content-health-duplicate-dialog .eyebrow { margin-bottom: 6px; }.admin-content-health-duplicate-dialog h2 { margin: 0; color: var(--ink); font-size: 1.35rem; }.admin-content-health-duplicate-dialog header p:not(.eyebrow) { margin: 8px 0 0; color: var(--slate); font-size: .81rem; line-height: 1.5; }.admin-content-health-duplicate-dialog header > button { display: grid; width: 31px; height: 31px; padding: 0; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: var(--teal-deep); font: inherit; font-size: 1.35rem; line-height: 1; cursor: pointer; place-items: center; }.admin-content-health-duplicate-dialog header > button:hover, .admin-content-health-duplicate-dialog header > button:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); outline: none; }.admin-content-health-duplicate-list { display: grid; max-height: min(390px, 48vh); gap: 7px; margin: 0; padding: 0 5px 0 0; overflow-y: auto; list-style: none; scrollbar-color: var(--line) transparent; scrollbar-width: thin; }.admin-content-health-duplicate-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); }.admin-content-health-duplicate-list a { overflow: hidden; color: var(--teal-deep); font-size: .8rem; font-weight: 850; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-overflow: ellipsis; white-space: nowrap; }.admin-content-health-duplicate-list a:hover, .admin-content-health-duplicate-list a:focus-visible { color: var(--teal); outline: none; }.admin-content-health-duplicate-list__retained { padding: 5px 7px; border-radius: 4px; background: #e5f5ef; color: #176152; font-size: .65rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }.admin-content-health-duplicate-list__actions { display: flex; gap: 6px; align-items: center; }.admin-content-health-duplicate-list__actions button { min-height: 30px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 4px; background: var(--white); color: #a43428; font: inherit; font-size: .68rem; font-weight: 850; white-space: nowrap; cursor: pointer; }.admin-content-health-duplicate-list__actions button:hover, .admin-content-health-duplicate-list__actions button:focus-visible { border-color: #b23d2c; background: #b23d2c; color: var(--white); outline: none; }.admin-content-health-duplicate-list__actions.is-confirming button:first-child { border-color: #b23d2c; background: #b23d2c; color: var(--white); }.admin-content-health-duplicate-list__actions button[data-content-health-duplicate-remove-cancel] { color: var(--teal-deep); }.admin-content-health-duplicate-list__actions button[data-content-health-duplicate-remove-cancel]:hover, .admin-content-health-duplicate-list__actions button[data-content-health-duplicate-remove-cancel]:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); }.admin-content-health-duplicate-status { min-height: 1.4em; margin: -4px 0 0; color: var(--slate); font-size: .75rem; line-height: 1.45; }.admin-content-health-duplicate-status.is-error { color: #a43428; }.admin-content-health-duplicate-dialog footer { display: flex; justify-content: flex-end; gap: 9px; }.admin-content-health-duplicate-dialog footer button { min-height: 36px; padding: 0 12px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: var(--teal-deep); font: inherit; font-size: .74rem; font-weight: 850; cursor: pointer; }.admin-content-health-duplicate-dialog footer button:hover:not(:disabled), .admin-content-health-duplicate-dialog footer button:focus-visible:not(:disabled) { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }.admin-content-health-duplicate-dialog footer .button { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); }.admin-content-health-duplicate-dialog footer .button:hover, .admin-content-health-duplicate-dialog footer .button:focus-visible { border-color: var(--teal); background: var(--teal); color: var(--white); }.admin-content-health-duplicate-dialog footer button:disabled { cursor: not-allowed; opacity: .55; }.theme-logo-dark .admin-content-health-duplicate-trigger { border-color: #454d52; background: #171a1c; }.theme-logo-dark .admin-operations-list li.is-warning .admin-content-health-duplicate-trigger { border-color: #c49339; }.theme-logo-dark .admin-content-health-duplicate-trigger strong { color: #f1f3f4; }.theme-logo-dark .admin-content-health-duplicate-trigger span, .theme-logo-dark .admin-content-health-duplicate-dialog header p:not(.eyebrow), .theme-logo-dark .admin-content-health-duplicate-status { color: #aeb6bc; }.theme-logo-dark .admin-content-health-duplicate-trigger:hover, .theme-logo-dark .admin-content-health-duplicate-trigger:focus-visible { background: #2c3438; }.theme-logo-dark .admin-content-health-duplicate-trigger:focus-visible { box-shadow: 0 0 0 3px rgba(255,105,0,.22); }.theme-logo-dark .admin-content-health-duplicate-dialog { border-color: #454d52; background: #202529; box-shadow: 0 24px 55px rgba(0,0,0,.52); }.theme-logo-dark .admin-content-health-duplicate-dialog h2 { color: #f1f3f4; }.theme-logo-dark .admin-content-health-duplicate-dialog header > button { border-color: #454d52; color: var(--teal); }.theme-logo-dark .admin-content-health-duplicate-dialog header > button:hover, .theme-logo-dark .admin-content-health-duplicate-dialog header > button:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .admin-content-health-duplicate-list li { border-color: #454d52; background: #171a1c; }.theme-logo-dark .admin-content-health-duplicate-list a, .theme-logo-dark .admin-content-health-duplicate-list__actions button[data-content-health-duplicate-remove-cancel], .theme-logo-dark .admin-content-health-duplicate-dialog footer button { color: var(--teal); }.theme-logo-dark .admin-content-health-duplicate-list__retained { background: #203a35; color: #b9eadc; }.theme-logo-dark .admin-content-health-duplicate-list__actions button { border-color: #454d52; background: #202529; color: #ffc1b6; }.theme-logo-dark .admin-content-health-duplicate-list__actions button:hover, .theme-logo-dark .admin-content-health-duplicate-list__actions button:focus-visible, .theme-logo-dark .admin-content-health-duplicate-list__actions.is-confirming button:first-child { border-color: #a84835; background: #a84835; color: #fff4f1; }.theme-logo-dark .admin-content-health-duplicate-list__actions button[data-content-health-duplicate-remove-cancel]:hover, .theme-logo-dark .admin-content-health-duplicate-list__actions button[data-content-health-duplicate-remove-cancel]:focus-visible, .theme-logo-dark .admin-content-health-duplicate-dialog footer .button { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .admin-content-health-duplicate-status.is-error { color: #ffc1b6; }.theme-logo-dark .admin-content-health-duplicate-dialog footer .button:hover, .theme-logo-dark .admin-content-health-duplicate-dialog footer .button:focus-visible { border-color: var(--teal); background: var(--teal); color: #171a1c; }@media (max-width: 560px) { .admin-content-health-duplicate-dialog__panel { padding: 20px 17px; }.admin-content-health-duplicate-list li { grid-template-columns: 1fr; gap: 9px; }.admin-content-health-duplicate-list__actions { justify-content: flex-end; }.admin-content-health-duplicate-dialog footer { flex-direction: column-reverse; }.admin-content-health-duplicate-dialog footer button { width: 100%; } }
.admin-listing-toggle--viewer { margin: 14px 0 0; }.admin-listing-turntables { display: grid; gap: 10px; margin-top: 16px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper-deep); }.admin-listing-turntables__heading { display: flex; justify-content: space-between; gap: 12px; align-items: start; }.admin-listing-turntables__heading > div { display: grid; gap: 3px; }.admin-listing-turntables__heading strong { color: var(--ink); font-size: .76rem; font-weight: 850; }.admin-listing-turntables__heading span { color: var(--slate); font-size: .67rem; line-height: 1.4; }.admin-listing-turntables__heading > b { flex: 0 0 auto; padding: 4px 7px; border-radius: 999px; background: color-mix(in srgb, var(--teal-deep) 16%, transparent); color: var(--teal-deep); font-size: .61rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }.admin-listing-turntables__grid { display: grid; grid-auto-columns: 108px; grid-auto-flow: column; gap: 9px; margin: 0; padding: 0 1px 4px; overflow-x: auto; list-style: none; scrollbar-color: var(--line) transparent; }.admin-listing-turntables__grid li { position: relative; display: grid; grid-template-rows: 81px minmax(0, 1fr); min-width: 108px; overflow: hidden; border: 2px solid transparent; border-radius: 6px; background: var(--paper); cursor: grab; }.admin-listing-turntables__grid li:hover, .admin-listing-turntables__grid li:focus-within, .admin-listing-turntables__grid li.is-drag-target { border-color: var(--teal-deep); }.admin-listing-turntables__grid li.is-dragging { opacity: .5; cursor: grabbing; }.admin-listing-turntables__grid li.is-disabled { opacity: .58; }.admin-listing-turntables__grid img { width: 100%; height: 81px; object-fit: cover; pointer-events: none; }.admin-listing-turntables__handle, .admin-listing-turntables__source, .admin-listing-turntables__grid button { position: absolute; z-index: 1; border-radius: 3px; background: rgba(11,17,32,.78); color: var(--white); font-size: .55rem; font-weight: 820; line-height: 1; }.admin-listing-turntables__handle { top: 4px; left: 4px; padding: 4px 5px; pointer-events: none; }.admin-listing-turntables__source { top: 4px; right: 4px; padding: 4px 5px; }.admin-listing-turntables__grid button { right: 4px; bottom: 4px; display: grid; width: 20px; height: 20px; padding: 0; border: 1px solid rgba(255,255,255,.55); cursor: pointer; font-size: .9rem; place-items: center; }.admin-listing-turntables__grid button:hover { background: #b23d2c; }.admin-listing-turntables__name { display: block; padding: 6px 7px 24px; overflow: hidden; color: var(--ink); font-size: .61rem; font-weight: 850; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }.admin-listing-turntables__toggle { position: absolute; z-index: 1; bottom: 4px; left: 5px; display: inline-flex; gap: 4px; align-items: center; color: var(--ink); font-size: .55rem; font-weight: 850; cursor: pointer; }.admin-listing-turntables__toggle input { width: .75rem; height: .75rem; margin: 0; accent-color: var(--teal-deep); }.theme-logo-dark .admin-listing-turntables { border-color: var(--line); background: var(--theme-surface-muted); }.theme-logo-dark .admin-listing-turntables__grid li { border-color: transparent; background: var(--theme-surface); }.theme-logo-dark .admin-listing-turntables__grid li:hover, .theme-logo-dark .admin-listing-turntables__grid li:focus-within, .theme-logo-dark .admin-listing-turntables__grid li.is-drag-target { border-color: var(--teal); }.theme-logo-dark .admin-listing-turntables__heading strong, .theme-logo-dark .admin-listing-turntables__name, .theme-logo-dark .admin-listing-turntables__toggle { color: var(--ink); }.theme-logo-dark .admin-listing-turntables__heading span { color: var(--slate); }.theme-logo-dark .admin-listing-turntables__heading > b { background: color-mix(in srgb, var(--teal) 18%, transparent); color: var(--teal); }.theme-logo-dark .admin-listing-turntables__toggle input { accent-color: var(--teal); }@media (max-width: 620px) { .admin-listing-turntables__heading { display: grid; }.admin-listing-turntables__heading > b { justify-self: start; } }
.product-gallery__turntable-thumbnail { grid-template-rows: auto auto; align-content: center; }.product-gallery__turntable-thumbnail small { display: block; max-width: 100%; overflow: hidden; line-height: 1; text-align: center; text-overflow: ellipsis; white-space: nowrap; }

.admin-generated-images { grid-template-columns: auto auto minmax(0, 1fr); gap: 7px 9px; margin: 14px 0; align-items: center; }.admin-generated-images button { justify-self: start; }.admin-image-sort { grid-auto-columns: 108px; grid-auto-flow: column; grid-template-columns: none; gap: 9px; min-height: 130px; margin: 0; padding: 10px; overflow-x: auto; border: 1px solid var(--line); border-radius: 7px; background: var(--paper-deep); scrollbar-color: var(--line) transparent; }.admin-image-sort li, .admin-listing-turntables__grid li { display: grid; grid-template-rows: 81px 28px; width: 108px; min-width: 108px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); }.admin-image-sort li:focus-within, .admin-image-sort li:hover, .admin-listing-turntables__grid li:hover, .admin-listing-turntables__grid li:focus-within, .admin-listing-turntables__grid li.is-drag-target { border-color: var(--teal-deep); }.admin-image-sort img, .admin-listing-turntables__grid img { width: 108px; height: 81px; }.admin-image-sort__handle, .admin-listing-turntables__handle { top: 4px; left: 4px; padding: 4px 5px; border-radius: 3px; background: rgba(11,17,32,.78); color: var(--white); font-size: .55rem; font-weight: 820; line-height: 1; }.admin-image-sort__position, .admin-listing-turntables__name { box-sizing: border-box; height: 28px; padding: 7px; overflow: hidden; color: var(--ink); font-size: .61rem; font-weight: 850; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }.admin-image-sort button, .admin-listing-turntables__grid button { top: 4px; right: 4px; bottom: auto; display: grid; width: 20px; height: 20px; padding: 0; border: 1px solid rgba(255,255,255,.62); border-radius: 3px; background: rgba(11,17,32,.78); color: var(--white); font-size: 1rem; font-weight: 500; line-height: 1; place-items: center; }.admin-image-sort button:hover, .admin-listing-turntables__grid button:hover { background: #b23d2c; }.admin-image-sort__generated { right: 4px; bottom: 32px; }.admin-listing-turntables__grid { grid-auto-columns: 108px; }.admin-listing-turntables__source { top: 4px; right: 28px; }.admin-listing-turntables__toggle { top: 55px; bottom: auto; left: 4px; gap: 4px; padding: 3px 5px; border-radius: 3px; background: rgba(11,17,32,.78); color: var(--white); }.admin-listing-turntables__toggle input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }.admin-listing-turntables__toggle-switch { position: relative; display: block; width: 20px; height: 11px; border-radius: 999px; background: rgba(255,255,255,.36); transition: background .15s ease; }.admin-listing-turntables__toggle-switch::after { position: absolute; top: 2px; left: 2px; width: 7px; height: 7px; border-radius: 50%; background: var(--white); content: ''; transition: transform .15s ease; }.admin-listing-turntables__toggle input:checked + .admin-listing-turntables__toggle-switch { background: var(--teal-deep); }.admin-listing-turntables__toggle input:checked + .admin-listing-turntables__toggle-switch::after { transform: translateX(9px); }.admin-listing-turntables__toggle input:focus-visible + .admin-listing-turntables__toggle-switch { outline: 2px solid var(--white); outline-offset: 2px; }.admin-listing-turntables__toggle-label { font-size: .55rem; font-weight: 850; }.theme-logo-dark .admin-image-sort, .theme-logo-dark .admin-listing-turntables { border-color: var(--line); background: var(--theme-surface-muted); }.theme-logo-dark .admin-image-sort li, .theme-logo-dark .admin-listing-turntables__grid li { border-color: var(--line); background: var(--theme-surface); }.theme-logo-dark .admin-image-sort li:focus-within, .theme-logo-dark .admin-image-sort li:hover, .theme-logo-dark .admin-listing-turntables__grid li:hover, .theme-logo-dark .admin-listing-turntables__grid li:focus-within, .theme-logo-dark .admin-listing-turntables__grid li.is-drag-target { border-color: var(--teal); }.theme-logo-dark .admin-image-sort__position, .theme-logo-dark .admin-listing-turntables__name { color: var(--ink); }.theme-logo-dark .admin-listing-turntables__toggle input:checked + .admin-listing-turntables__toggle-switch { background: var(--teal); }@media (max-width: 560px) { .admin-image-sort, .admin-listing-turntables__grid { grid-auto-columns: 88px; }.admin-image-sort li, .admin-listing-turntables__grid li { grid-template-rows: 66px 28px; width: 88px; min-width: 88px; }.admin-image-sort img, .admin-listing-turntables__grid img { width: 88px; height: 66px; }.admin-listing-turntables__toggle { top: 40px; } }

.admin-image-sort.is-drag-target { border-color: var(--teal-deep); box-shadow: inset 0 0 0 1px var(--teal-deep); }.admin-media-turntable { cursor: grab; }.admin-media-turntable.is-dragging { opacity: .5; cursor: grabbing; }.admin-media-viewer-placeholder { display: grid; grid-template-rows: 1fr auto; width: 108px; min-width: 108px; min-height: 109px; padding: 12px 8px 8px; border: 1px dashed var(--line); border-radius: 6px; background: color-mix(in srgb, var(--paper) 76%, transparent); color: var(--slate); text-align: center; place-items: center; }.admin-media-viewer-placeholder strong { display: grid; width: 36px; height: 36px; border-radius: 50%; background: color-mix(in srgb, var(--teal-deep) 18%, transparent); color: var(--teal-deep); font-size: .82rem; place-items: center; }.admin-media-viewer-placeholder span { color: var(--ink); font-size: .61rem; font-weight: 850; }.admin-listing-turntables__grid.is-drag-target { border-radius: 6px; outline: 2px dashed var(--teal-deep); outline-offset: 3px; }.admin-listing-turntables__empty { display: grid !important; grid-column: 1 / -1; grid-template-rows: none !important; width: auto !important; min-width: min(100%, 300px) !important; min-height: 81px; padding: 12px; border-style: dashed !important; color: var(--slate); font-size: .68rem; font-weight: 750; line-height: 1.45; place-items: center; text-align: center; }.theme-logo-dark .admin-image-sort.is-drag-target { border-color: var(--teal); box-shadow: inset 0 0 0 1px var(--teal); }.theme-logo-dark .admin-media-viewer-placeholder { border-color: var(--line); background: color-mix(in srgb, var(--theme-surface) 74%, transparent); }.theme-logo-dark .admin-media-viewer-placeholder strong { background: color-mix(in srgb, var(--teal) 18%, transparent); color: var(--teal); }.theme-logo-dark .admin-listing-turntables__grid.is-drag-target { outline-color: var(--teal); }@media (max-width: 560px) { .admin-media-viewer-placeholder { width: 88px; min-width: 88px; min-height: 94px; }.admin-media-viewer-placeholder strong { width: 32px; height: 32px; } }

.admin-image-sort { grid-auto-columns: 80px; gap: 6px; min-height: 104px; padding: 8px; }.admin-image-sort li, .admin-listing-turntables__grid li { grid-template-rows: 60px 26px; width: 80px; min-width: 80px; }.admin-image-sort img, .admin-listing-turntables__grid img { width: 80px; height: 60px; }.admin-image-sort__handle, .admin-listing-turntables__handle { top: 3px; left: 3px; padding: 3px 4px; font-size: .47rem; }.admin-listing-turntables__source { top: 3px; right: 23px; padding: 3px 4px; font-size: .45rem; }.admin-image-sort__position, .admin-listing-turntables__name { height: 26px; padding: 6px; font-size: .54rem; }.admin-image-sort button, .admin-listing-turntables__grid button { top: 3px; right: 3px; width: 18px; height: 18px; font-size: .88rem; }.admin-image-sort__generated { right: 3px; bottom: 29px; max-width: 54px; padding: 3px 4px; overflow: hidden; font-size: .45rem; text-overflow: ellipsis; white-space: nowrap; }.admin-media-viewer-placeholder { width: 80px; min-width: 80px; min-height: 86px; padding: 8px 6px 6px; }.admin-media-viewer-placeholder strong { width: 30px; height: 30px; font-size: .7rem; }.admin-media-viewer-placeholder span { font-size: .54rem; }.admin-listing-turntables__grid { grid-auto-columns: 80px; gap: 6px; }.admin-listing-turntables__empty { min-height: 60px; font-size: .61rem; }@media (max-width: 560px) { .admin-image-sort, .admin-listing-turntables__grid { grid-auto-columns: 72px; gap: 5px; }.admin-image-sort li, .admin-listing-turntables__grid li { grid-template-rows: 54px 25px; width: 72px; min-width: 72px; }.admin-image-sort img, .admin-listing-turntables__grid img { width: 72px; height: 54px; }.admin-media-viewer-placeholder { width: 72px; min-width: 72px; min-height: 79px; }.admin-media-viewer-placeholder strong { width: 27px; height: 27px; } }

.admin-image-sort { grid-auto-columns: 78px; }.admin-image-sort li, .admin-listing-turntables__grid li { grid-template-rows: 58px 26px; width: 78px; min-width: 78px; }.admin-image-sort img, .admin-listing-turntables__grid img { width: 78px; height: 58px; }.admin-image-sort__generated { max-width: 52px; }.admin-media-viewer-placeholder { width: 78px; min-width: 78px; min-height: 84px; }.admin-listing-turntables__grid { grid-auto-columns: 78px; }@media (max-width: 560px) { .admin-image-sort, .admin-listing-turntables__grid { grid-auto-columns: 70px; }.admin-image-sort li, .admin-listing-turntables__grid li { grid-template-rows: 52px 25px; width: 70px; min-width: 70px; }.admin-image-sort img, .admin-listing-turntables__grid img { width: 70px; height: 52px; }.admin-media-viewer-placeholder { width: 70px; min-width: 70px; min-height: 77px; } }

.admin-image-sort { grid-auto-columns: 81px; min-height: 114px; }.admin-image-sort li, .admin-listing-turntables__grid li { grid-template-rows: 61px 33px; width: 81px; min-width: 81px; }.admin-image-sort img, .admin-listing-turntables__grid img { width: 81px; height: 61px; }.admin-image-sort__position, .admin-listing-turntables__name { height: 33px; padding: 5px 5px 17px; font-size: .54rem; }.admin-image-sort__generated, .admin-listing-turntables__source, .admin-thumbnail-tip { right: auto; bottom: 3px; left: 3px; max-width: calc(100% - 6px); padding: 3px 4px; font-size: .45rem; line-height: 1; }.admin-image-sort__generated { text-align: left; }.admin-listing-turntables__source { top: auto; text-transform: uppercase; }.admin-media-viewer-placeholder { width: 81px; min-width: 81px; min-height: 94px; padding: 9px 6px 6px; }.admin-media-viewer-placeholder strong { width: 31px; height: 31px; }.admin-listing-turntables__grid { grid-auto-columns: 81px; }@media (max-width: 560px) { .admin-image-sort, .admin-listing-turntables__grid { grid-auto-columns: 72px; }.admin-image-sort li, .admin-listing-turntables__grid li { grid-template-rows: 54px 30px; width: 72px; min-width: 72px; }.admin-image-sort img, .admin-listing-turntables__grid img { width: 72px; height: 54px; }.admin-image-sort__position, .admin-listing-turntables__name { height: 30px; padding-bottom: 15px; }.admin-media-viewer-placeholder { width: 72px; min-width: 72px; min-height: 84px; } }
.admin-package-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: 0.8rem; background: var(--surface); }
.admin-package-toolbar .admin-form { display: flex; align-items: end; gap: 0.8rem; margin: 0; }.admin-package-toolbar .admin-form > .button { min-height: var(--ui-control-height); }
.admin-package-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 25rem), 1fr)); gap: 1rem; }
.admin-package-card { display: grid; gap: 1rem; align-content: start; padding: 1.25rem; border: 1px solid var(--line); border-radius: 0.8rem; background: var(--surface); }
.admin-package-card h2 { margin: 0.2rem 0 0.4rem; }
.admin-package-card ul { margin: 0; padding-left: 1.2rem; color: var(--slate); }
.admin-package-actions { display: flex; align-items: end; justify-content: space-between; gap: 0.8rem; }.admin-package-actions label { display: grid; min-width: 0; gap: 7px; color: #26354e; font-size: .74rem; font-weight: 820; }.admin-package-actions select { width: 100%; min-width: 184px; height: 42px; padding: 0 10px; border: 1px solid #cbd2da; border-radius: 5px; outline: none; background: #fcfcfb; color: var(--ink); font: inherit; font-size: .84rem; }.admin-package-actions select:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(24,185,160,.13); }.theme-logo-dark .admin-package-actions label { color: #e5e9eb; }.theme-logo-dark .admin-package-actions select { border-color: #454d52; background: #141719; color: #f7f8f8; }.theme-logo-dark .admin-package-actions select:focus { box-shadow: 0 0 0 3px rgba(255,105,0,.18); }
.admin-package-issues { padding: 0.75rem; border-left: 3px solid var(--danger); background: color-mix(in srgb, var(--danger) 10%, transparent); }
@media (max-width: 720px) { .admin-package-toolbar, .admin-package-toolbar .admin-form, .admin-package-actions { align-items: stretch; flex-direction: column; } }
.admin-diagnostics-list { display: grid; gap: 0.55rem; margin: 1rem 0; }
.admin-diagnostics-list article { display: flex; justify-content: space-between; gap: 1rem; padding: 0.8rem 1rem; border: 1px solid var(--line); border-left-width: 4px; border-radius: 0.65rem; background: var(--surface); }
.admin-diagnostics-list article.is-pass { border-left-color: var(--success); }
.admin-diagnostics-list article.is-notice { border-left-color: var(--info); }
.admin-diagnostics-list article.is-warning { border-left-color: var(--warning); }
.admin-diagnostics-list article.is-error { border-left-color: var(--danger); }
.admin-diagnostics-list p { margin: 0.2rem 0 0; color: var(--slate); }
.admin-diagnostics-list .admin-status__actions { display: inline-flex; align-items: center; gap: 0.45rem; margin-left: 0.2rem; }
.admin-diagnostics-list .admin-status__content { flex: 1 1 auto; min-width: 0; }
.admin-diagnostics-list .admin-status__badge { white-space: nowrap; margin-left: 0.25rem; }
.admin-diagnostics-list .admin-status__copy-feedback { font-size: 0.74rem; color: var(--slate); }
.admin-diagnostics-list .admin-status__copy-feedback[hidden] { display: none; }
.admin-diagnostics-list .admin-status__copy-button { min-height: 1.9rem; padding: 0.2rem 0.64rem; font-size: 0.74rem; line-height: 1.1; }

/* Sitewide consistency rollout: shared geometry for ordinary public and admin controls. */
/* Native numeric inputs retain browser keyboard, pointer and assistive-technology semantics.
   The active body theme supplies the inherited light/dark colour scheme. */
input[type="number"] { appearance: auto; color-scheme: inherit; }
input[type="number"]::-webkit-inner-spin-button { opacity: .78; cursor: ns-resize; }
input[type="number"]:hover::-webkit-inner-spin-button,
input[type="number"]:focus-visible::-webkit-inner-spin-button { opacity: 1; }
input[type="number"]:disabled { background: var(--theme-surface-muted, var(--surface-muted)); color: var(--muted); cursor: not-allowed; }
input[type="number"]:disabled::-webkit-inner-spin-button { cursor: not-allowed; opacity: .42; }
.admin-editor { margin-bottom: var(--ui-space-standard); }.admin-editor__heading { gap: var(--ui-space-section); margin-bottom: var(--ui-space-section); }.admin-form { gap: var(--ui-space-standard); }.admin-form input:not([type="file"]):not([type="checkbox"]), .admin-form select { height: var(--ui-control-height); }.admin-form .admin-ui-check-row input[type="checkbox"] { box-sizing: border-box; flex: 0 0 var(--admin-checkbox-size); width: var(--admin-checkbox-size); min-width: var(--admin-checkbox-size); height: var(--admin-checkbox-size); min-height: var(--admin-checkbox-size); margin: 0; padding: 0; appearance: auto; background: initial; box-shadow: none; }.admin-form__grid { gap: var(--ui-space-standard); }.admin-form__actions { gap: var(--ui-space-compact); }.admin-form--inline { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }.admin-form--inline > .button { min-height: var(--ui-control-height); }.admin-image-fields { gap: var(--ui-space-section); }.admin-package-actions select, .admin-etsy-settings__fields select { height: var(--ui-control-height); }.quote-panel form { gap: var(--ui-space-section); }.quote-panel input:not([type="checkbox"]) { height: var(--ui-control-height); }.form-grid { gap: var(--ui-space-standard); }.form-submit { gap: var(--ui-space-standard); }.store-filter { gap: var(--ui-space-standard); }.store-filter input, .store-filter select, .store-filter .button { min-height: var(--ui-control-height); height: var(--ui-control-height); }.theme-logo-dark .admin-ui-control, .theme-logo-dark .admin-ui-reference__section, .theme-logo-dark .admin-ui-reference__panel, .theme-logo-dark .admin-ui-check-row, .theme-logo-dark .admin-ui-toggle-row, .theme-logo-dark .admin-ui-popover, .theme-logo-dark .admin-ui-dialog { background: var(--theme-surface); }
.admin-form .admin-ui-toggle-row { display: flex; align-items: center; justify-content: space-between; gap: var(--admin-space-compact); }.admin-form input.admin-ui-toggle { box-sizing: border-box; flex: 0 0 var(--admin-toggle-width); width: var(--admin-toggle-width); min-width: var(--admin-toggle-width); height: var(--admin-toggle-height); min-height: var(--admin-toggle-height); margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 99px; appearance: none; background: #a9b1b8; color: transparent; box-shadow: none; }.theme-logo-dark .admin-form input.admin-ui-toggle { border-color: var(--line); background: #a9b1b8; color: transparent; }.admin-form input.admin-ui-toggle:checked { border-color: var(--teal-deep); background: var(--teal-deep); }.admin-form input.admin-ui-toggle:focus-visible { outline: 3px solid rgba(24,185,160,.24); outline-offset: 2px; }

@media (max-width: 560px) { .admin-form--inline { grid-template-columns: 1fr; align-items: stretch; }.admin-form--inline > .button { width: 100%; } }

/* Content Health has two peer actions, so they share a balanced desktop width. */
.admin-operations-dashboard .admin-actions__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 440px); }.admin-operations-dashboard .admin-actions__links a { justify-content: center; min-width: 0; text-align: center; }@media (max-width: 720px) { .admin-operations-dashboard .admin-actions__links { grid-template-columns: 1fr; width: 100%; } }

/* Digital sales: card collections retain the normal Workspace Panel shell. */
.admin-digital-sales-dashboard { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr); align-items: start; }.admin-digital-sales-dashboard > div:first-child > p:last-child { max-width: 510px; margin: 10px 0 0; color: var(--slate); font-size: .83rem; line-height: 1.55; }.admin-digital-sales-dashboard__metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ui-space-compact); }.admin-digital-sales-dashboard__metrics article { display: grid; min-height: 86px; align-content: space-between; gap: 8px; padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }.admin-digital-sales-dashboard__metrics span { color: var(--slate); font-size: .69rem; font-weight: 820; letter-spacing: .05em; line-height: 1.25; text-transform: uppercase; }.admin-digital-sales-dashboard__metrics strong { color: var(--ink); font-size: 1.65rem; line-height: 1; }.admin-digital-sales-dashboard__metrics .is-attention { border-color: color-mix(in srgb, #b23d2c 44%, var(--line)); background: color-mix(in srgb, #b23d2c 8%, var(--paper)); }.admin-digital-sales-dashboard > .admin-actions__links { position: absolute; bottom: 31px; left: 31px; }.theme-logo-dark .admin-digital-sales-dashboard__metrics article { background: var(--theme-surface-muted); }.theme-logo-dark .admin-digital-sales-dashboard__metrics .is-attention { border-color: #7d3a32; background: #332321; }@media (max-width: 720px) { .admin-digital-sales-dashboard { grid-template-columns: 1fr; }.admin-digital-sales-dashboard > .admin-actions__links { position: static; margin-top: 20px; }.admin-digital-sales-dashboard__metrics { margin-top: var(--ui-space-standard); } }

.admin-digital-sales-panel.admin-dashboard-panel { min-width: 0; margin-bottom: var(--ui-space-standard); padding: 67px 24px 24px !important; border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); box-shadow: 0 12px 32px rgba(11,17,32,.08); }.admin-digital-sales-panel.admin-dashboard-panel.is-collapsed { min-height: 38px; padding: 0 !important; }.admin-digital-sales-panel .admin-quote-grid { min-width: 0; }.admin-digital-sales-panel .admin-quote-card { min-width: 0; max-width: 100%; overflow: hidden; }.admin-digital-sales-panel .admin-quote-card h3, .admin-digital-sales-panel .admin-quote-card a, .admin-digital-sales-panel .admin-quote-card p, .admin-digital-sales-panel .admin-quote-card small { overflow-wrap: anywhere; }.admin-digital-sales-panel .admin-quote-card footer { display: grid; min-width: 0; gap: var(--ui-space-compact); }.admin-digital-sales-panel .admin-quote-card footer form { min-width: 0; margin: 0; }.admin-digital-sales-panel .admin-quote-card footer button { max-width: 100%; }.theme-logo-dark .admin-digital-sales-panel.admin-dashboard-panel { border-color: #454d52; background: var(--theme-surface); box-shadow: 0 14px 35px rgba(0,0,0,.24); }.theme-logo-dark .admin-digital-sales-panel.admin-dashboard-panel > .admin-dashboard-panel__titlebar { background: var(--theme-surface); }@media (max-width: 720px) { .admin-digital-sales-panel.admin-dashboard-panel { padding: 58px 17px 17px !important; }.admin-digital-sales-panel.admin-dashboard-panel.is-collapsed { min-height: 34px; }.admin-digital-sales-panel .admin-quote-card footer button { width: 100%; } }

/* Public direct-checkout confirmation. */
.digital-order-summary { display: grid; gap: var(--ui-space-standard); padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 12px 28px rgba(11,17,32,.07); }.digital-order-summary.is-attention { border-color: color-mix(in srgb, #b23d2c 45%, var(--line)); }.digital-order-summary dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px var(--ui-space-standard); margin: 0; }.digital-order-summary dl > div { min-width: 0; padding-bottom: 12px; border-bottom: 1px solid var(--line); }.digital-order-summary dt { color: var(--slate); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.digital-order-summary dd { margin: 5px 0 0; color: var(--ink); font-size: 1rem; font-weight: 760; overflow-wrap: anywhere; }.digital-order-summary__actions { display: flex; flex-wrap: wrap; gap: 10px; }.digital-order-support { margin-top: var(--ui-space-standard); color: var(--slate); }.theme-logo-dark .digital-order-summary { border-color: #454d52; background: var(--theme-surface); box-shadow: 0 14px 35px rgba(0,0,0,.24); }.theme-logo-dark .digital-order-summary dd { color: var(--white); }@media (max-width: 720px) { .digital-order-summary { padding: 20px 17px; }.digital-order-summary dl { grid-template-columns: 1fr; }.digital-order-summary__actions .button { width: 100%; justify-content: center; } }
  .admin-form .admin-viewer__toggle input[type="checkbox"] { position: absolute; width: 1px; min-width: 1px; height: 1px; min-height: 1px; margin: 0; padding: 0; border: 0; opacity: 0; }
  .admin-search-visibility-summary__actions form { margin: 0; }.admin-search-visibility-progress { margin: 0; color: var(--slate); font-size: .74rem; line-height: 1.45; }.admin-search-visibility-progress.is-error { color: var(--theme-danger, #a43428); }.admin-search-visibility-history__list li.is-healthy { border-left-color: #23816d; }.admin-search-visibility-history__list li.is-error { border-left-color: #b23d2c; }.admin-search-visibility-history__list li.is-error b { background: #fae8e5; color: #8c3023; }.theme-logo-dark .admin-search-visibility-history__list li.is-error b { background: #4a2927; color: #ffc1b6; }

  /* Search visibility: manual evidence stays legible without pretending to be a live ranking feed. */
  .admin-search-visibility-dashboard { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--ui-space-standard); align-items: end; }.admin-search-visibility-dashboard > div:first-child { min-width: 0; }.admin-search-visibility-dashboard > div:first-child > p:last-child { max-width: 560px; margin: 9px 0 0; color: var(--slate); font-size: .83rem; line-height: 1.55; }.admin-search-visibility-dashboard__metrics { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }.admin-search-visibility-dashboard__metrics span { padding: 6px 8px; border-radius: 4px; background: var(--paper); color: var(--slate); font-size: .7rem; font-weight: 820; }.admin-search-visibility-dashboard > .admin-actions__links { grid-column: 1 / -1; }.theme-logo-dark .admin-search-visibility-dashboard__metrics span { background: var(--theme-surface-muted); }
  .admin-search-visibility-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--admin-panel-gap); align-items: start; }.admin-search-visibility-layout > .admin-dashboard-panel { min-width: 0; margin: 0 !important; padding: 67px 24px 24px !important; border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); box-shadow: 0 12px 32px rgba(11,17,32,.08); }.admin-search-visibility-layout > .admin-dashboard-panel.is-collapsed { min-height: 38px; padding: 0 !important; }.admin-search-visibility-layout > .admin-dashboard-panel > div:first-child { display: grid; gap: 0; }.admin-search-visibility-layout h2 { margin: 0 0 9px; color: var(--ink); font-size: 1.42rem; }.admin-search-visibility-layout > .admin-dashboard-panel > div:first-child > p:last-child { margin: 0; color: var(--slate); font-size: .83rem; line-height: 1.55; }.admin-search-visibility-summary { display: grid; grid-column: 1 / -1; gap: var(--ui-space-standard); }.admin-search-visibility-summary__metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ui-space-compact); }.admin-search-visibility-summary__metrics article { display: grid; gap: 7px; min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }.admin-search-visibility-summary__metrics article.is-attention { border-color: color-mix(in srgb, #b23d2c 44%, var(--line)); background: color-mix(in srgb, #b23d2c 8%, var(--paper)); }.admin-search-visibility-summary__metrics span { color: var(--slate); font-size: .68rem; font-weight: 820; letter-spacing: .05em; text-transform: uppercase; }.admin-search-visibility-summary__metrics strong { color: var(--ink); font-size: 1.65rem; line-height: 1; }.admin-search-visibility-summary__metrics small { overflow-wrap: anywhere; color: var(--slate); font-size: .68rem; line-height: 1.4; }.admin-search-visibility-summary__actions { display: flex; flex-wrap: wrap; gap: 10px; }.admin-search-visibility-record, .admin-search-visibility-history { display: grid; gap: var(--ui-space-standard); align-content: start; }.admin-search-visibility-record__form { display: grid; gap: 13px; }.admin-search-visibility-history { grid-column: 1 / -1; }.admin-search-visibility-history__list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }.admin-search-visibility-history__list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 12px; border: 1px solid var(--line); border-left: 3px solid #407b94; border-radius: 7px; background: var(--paper); }.admin-search-visibility-history__list li.is-found { border-left-color: #23816d; }.admin-search-visibility-history__list li.is-not_found { border-left-color: #b23d2c; }.admin-search-visibility-history__list li > div { display: grid; min-width: 0; gap: 4px; }.admin-search-visibility-history__list span { color: var(--slate); font-size: .67rem; font-weight: 780; }.admin-search-visibility-history__list strong { overflow-wrap: anywhere; color: var(--ink); font-size: .78rem; }.admin-search-visibility-history__list a { overflow-wrap: anywhere; color: var(--teal-deep); font-size: .68rem; }.admin-search-visibility-history__list p { margin: 1px 0 0; color: var(--slate); font-size: .7rem; line-height: 1.45; }.admin-search-visibility-history__list b { padding: 5px 7px; border-radius: 4px; background: color-mix(in srgb, var(--teal-deep) 12%, transparent); color: var(--teal-deep); font-size: .65rem; white-space: nowrap; }.admin-search-visibility-history__list li.is-not_found b { background: #fae8e5; color: #8c3023; }.admin-search-visibility-empty { margin: 0; padding: 13px; border: 1px dashed var(--line); border-radius: 7px; background: var(--paper); color: var(--slate); font-size: .76rem; line-height: 1.5; }.theme-logo-dark .admin-search-visibility-layout > .admin-dashboard-panel { border-color: #454d52; background: var(--theme-surface); box-shadow: 0 14px 35px rgba(0,0,0,.24); }.theme-logo-dark .admin-search-visibility-layout > .admin-dashboard-panel > .admin-dashboard-panel__titlebar { background: var(--theme-surface); }.theme-logo-dark .admin-search-visibility-summary__metrics article, .theme-logo-dark .admin-search-visibility-history__list li, .theme-logo-dark .admin-search-visibility-empty { border-color: #454d52; background: var(--theme-surface-muted); }.theme-logo-dark .admin-search-visibility-summary__metrics article.is-attention { border-color: #7d3a32; background: #332321; }.theme-logo-dark .admin-search-visibility-history__list li.is-not_found b { background: #4a2927; color: #ffc1b6; }.theme-logo-dark .admin-search-visibility-history__list b { background: color-mix(in srgb, var(--teal) 16%, transparent); color: var(--teal); }
  @media (max-width: 720px) { .admin-search-visibility-dashboard { grid-template-columns: 1fr; }.admin-search-visibility-dashboard__metrics { justify-content: flex-start; }.admin-search-visibility-layout { grid-template-columns: 1fr; }.admin-search-visibility-summary, .admin-search-visibility-history { grid-column: auto; }.admin-search-visibility-layout > .admin-dashboard-panel { padding: 58px 17px 17px !important; }.admin-search-visibility-summary__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-search-visibility-history__list li { grid-template-columns: 1fr; }.admin-search-visibility-history__list b { justify-self: start; } }

/* Shared health-status convention: green = healthy, amber = attention, red = critical, blue = information, grey = unknown. */
.admin-status { --admin-status-colour: var(--theme-neutral, var(--slate)); --admin-status-surface: color-mix(in srgb, var(--admin-status-colour) 13%, var(--paper)); border-color: color-mix(in srgb, var(--admin-status-colour) 55%, var(--line)) !important; background: var(--admin-status-surface) !important; }.admin-status--success { --admin-status-colour: var(--theme-success, #23816d); }.admin-status--warning { --admin-status-colour: var(--theme-warning, #9b6a1c); }.admin-status--danger { --admin-status-colour: var(--theme-danger, #ad3f40); }.admin-status--info { --admin-status-colour: var(--theme-info, #3f729d); }.admin-status--neutral { --admin-status-colour: var(--theme-neutral, #667178); }.admin-status > span, .admin-status > small, .admin-status > div > span, .admin-status > div > p { color: var(--ink); }.admin-diagnostics-list .admin-status { border-left-color: var(--admin-status-colour) !important; }.admin-diagnostics-list .admin-status > span, .admin-search-visibility-history__list .admin-status > b { border: 1px solid color-mix(in srgb, var(--admin-status-colour) 52%, var(--line)); border-radius: 4px; background: color-mix(in srgb, var(--admin-status-colour) 18%, var(--paper)); color: var(--ink); }.admin-search-visibility-history__list .admin-status { border-left-color: var(--admin-status-colour) !important; }.admin-marketplace-summary .admin-status { display: inline-flex; align-items: center; }.admin-search-visibility-summary__metrics .admin-status { border-color: color-mix(in srgb, var(--admin-status-colour) 50%, var(--line)) !important; background: color-mix(in srgb, var(--admin-status-colour) 11%, var(--paper)) !important; }.admin-search-visibility-history__list li.is-healthy, .admin-search-visibility-history__list li.is-found { border-left-color: var(--theme-success, #23816d); }.admin-search-visibility-history__list li.is-warning, .admin-search-visibility-history__list li.is-review { border-left-color: var(--theme-warning, #9b6a1c); }.admin-search-visibility-history__list li.is-error, .admin-search-visibility-history__list li.is-not_found { border-left-color: var(--theme-danger, #ad3f40); }.admin-search-visibility-history__list li.is-healthy b, .admin-search-visibility-history__list li.is-found b { background: color-mix(in srgb, var(--theme-success, #23816d) 18%, var(--paper)); color: var(--ink); }.admin-search-visibility-history__list li.is-warning b, .admin-search-visibility-history__list li.is-review b { background: color-mix(in srgb, var(--theme-warning, #9b6a1c) 18%, var(--paper)); color: var(--ink); }.admin-search-visibility-history__list li.is-error b, .admin-search-visibility-history__list li.is-not_found b { background: color-mix(in srgb, var(--theme-danger, #ad3f40) 18%, var(--paper)); color: var(--ink); }.admin-search-visibility-discovery { display: grid; gap: var(--ui-space-compact); margin-top: var(--ui-space-standard); }.admin-search-visibility-discovery h3 { margin: 0; }.admin-search-visibility-discovery > p { max-width: 780px; margin: 0; color: var(--slate); font-size: .76rem; line-height: 1.5; }.admin-search-visibility-discovery__actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }.admin-search-visibility-discovery__actions a { display: inline-flex; min-height: 30px; align-items: center; padding: 0 9px; border: 1px solid var(--line); border-radius: 4px; color: var(--teal-deep); font-size: .68rem; font-weight: 820; text-decoration: none; }.admin-search-visibility-discovery__actions a:hover, .admin-search-visibility-discovery__actions a:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); outline: none; }.theme-logo-dark .admin-status { --admin-status-surface: color-mix(in srgb, var(--admin-status-colour) 15%, var(--theme-surface)); }.theme-logo-dark .admin-diagnostics-list .admin-status > span, .theme-logo-dark .admin-search-visibility-history__list .admin-status > b { background: color-mix(in srgb, var(--admin-status-colour) 22%, var(--theme-surface-muted)); color: var(--ink); }.theme-logo-dark .admin-search-visibility-summary__metrics .admin-status { background: color-mix(in srgb, var(--admin-status-colour) 14%, var(--theme-surface-muted)) !important; }.theme-logo-dark .admin-search-visibility-history__list li.is-healthy b, .theme-logo-dark .admin-search-visibility-history__list li.is-found b { background: color-mix(in srgb, var(--theme-success) 22%, var(--theme-surface-muted)); }.theme-logo-dark .admin-search-visibility-history__list li.is-warning b, .theme-logo-dark .admin-search-visibility-history__list li.is-review b { background: color-mix(in srgb, var(--theme-warning) 22%, var(--theme-surface-muted)); }.theme-logo-dark .admin-search-visibility-history__list li.is-error b, .theme-logo-dark .admin-search-visibility-history__list li.is-not_found b { background: color-mix(in srgb, var(--theme-danger) 22%, var(--theme-surface-muted)); }.theme-logo-dark .admin-search-visibility-discovery__actions a { border-color: var(--line); color: var(--teal); }@media (max-width: 720px) { .admin-search-visibility-discovery__actions { justify-content: flex-start; } }

/* Standard action buttons share the same control height as text inputs and selects. */
.theme-editor__preview-body button,
.admin-etsy-import__controls button,
.admin-etsy-connect__actions .button,
.admin-etsy-settings__actions button,
.admin-product-category__actions button,
.admin-content-health-duplicate-dialog footer button {
    min-height: var(--ui-control-height);
}

/* Shared themed file picker for visible admin upload fields. Drop-zone inputs stay visually hidden. */
.admin-main input[type="file"]:not([data-image-upload-input]):not([data-page-image-upload-input]) { box-sizing: border-box; width: 100%; max-width: 100%; min-height: var(--ui-control-height); padding: 5px 7px; border: 1px solid var(--line); border-radius: 6px; outline: none; background: var(--theme-surface-input, var(--white)); color: var(--ink); font: inherit; font-size: .78rem; line-height: 1.2; }.admin-main input[type="file"]:not([data-image-upload-input]):not([data-page-image-upload-input])::file-selector-button { min-height: var(--admin-control-height-compact); margin-right: 10px; padding: 0 10px; border: 1px solid var(--teal-deep); border-radius: 4px; background: var(--teal-deep); color: var(--white); font: inherit; font-size: .72rem; font-weight: 850; cursor: pointer; transition: background .15s ease, border-color .15s ease; }.admin-main input[type="file"]:not([data-image-upload-input]):not([data-page-image-upload-input])::-webkit-file-upload-button { min-height: var(--admin-control-height-compact); margin-right: 10px; padding: 0 10px; border: 1px solid var(--teal-deep); border-radius: 4px; background: var(--teal-deep); color: var(--white); font: inherit; font-size: .72rem; font-weight: 850; cursor: pointer; }.admin-main input[type="file"]:not([data-image-upload-input]):not([data-page-image-upload-input])::file-selector-button:hover, .admin-main input[type="file"]:not([data-image-upload-input]):not([data-page-image-upload-input])::-webkit-file-upload-button:hover { border-color: var(--teal); background: var(--teal); }.admin-main input[type="file"]:not([data-image-upload-input]):not([data-page-image-upload-input]):focus-visible { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 20%, transparent); }

/* Helix dashboard identity: keep the branded mark subordinate to its settings and readable in every theme. */
.admin-helix-settings__intro { display: flex; min-width: 0; align-self: start; flex-direction: column; }.admin-helix-settings__icon { display: block; width: 44px; height: auto; margin: 12px auto 0; object-fit: contain; filter: drop-shadow(0 8px 13px color-mix(in srgb, #22cfff 34%, transparent)); transition: filter .18s ease, opacity .18s ease; }.admin-helix-settings__icon.is-muted { filter: grayscale(1) saturate(0) brightness(.78); opacity: .4; }@media (max-width: 720px) { .admin-helix-settings__intro { display: block; }.admin-helix-settings__icon { width: 50px; margin: 16px auto 0; } }

/* Public checkout: a themed, responsive order summary and buyer-details panel. */
.digital-checkout .section { padding-top: clamp(48px, 8vw, 86px); padding-bottom: clamp(72px, 10vw, 118px); }.digital-checkout__heading { max-width: 690px; margin-bottom: 30px; }.digital-checkout__heading h1 { margin-bottom: 10px; }.digital-checkout__heading > p:last-child { max-width: 540px; margin-bottom: 0; }.digital-checkout__layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(18px, 3vw, 28px); align-items: stretch; }.digital-checkout__panel { min-width: 0; padding: clamp(22px, 3.5vw, 32px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 12px 28px rgba(11,17,32,.07); }.digital-checkout__order { display: grid; gap: 14px; align-content: start; background: var(--paper-deep, var(--white)); }.digital-checkout__order .eyebrow, .digital-checkout__panel-heading .eyebrow { margin: 0; }.digital-checkout__order h2, .digital-checkout__panel-heading h2 { margin: 0; color: var(--ink); font-size: clamp(1.45rem, 2.6vw, 2rem); line-height: 1.1; }.digital-checkout__order > p:not(.eyebrow):not(.digital-checkout__price) { margin: 0; color: var(--slate); font-size: .88rem; line-height: 1.6; }.digital-checkout__price { margin: -4px 0 0; color: var(--teal-deep); font-size: 1.35rem; font-weight: 850; }.digital-checkout__assurances { display: grid; gap: 9px; margin: 6px 0 0; padding: 16px 0 0; border-top: 1px solid var(--line); list-style: none; color: var(--slate); font-size: .78rem; font-weight: 700; }.digital-checkout__assurances li { position: relative; padding-left: 20px; }.digital-checkout__assurances li::before { position: absolute; top: .2em; left: 0; color: var(--teal-deep); content: '✓'; font-weight: 900; }.digital-checkout__details, .digital-checkout__payment { display: grid; gap: var(--ui-space-standard); }.digital-checkout__panel-heading { display: grid; gap: 8px; }.digital-checkout__panel-heading > p:last-child { margin: 0; color: var(--slate); font-size: .84rem; line-height: 1.55; }.digital-checkout__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ui-space-standard); }.digital-checkout__fields label { display: grid; min-width: 0; gap: 7px; color: var(--ink); font-size: .82rem; font-weight: 820; }.digital-checkout__fields input, .digital-checkout__fields select { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); padding: 0 13px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface-input, var(--white)); color: var(--ink); font: inherit; font-weight: 650; outline: none; }.digital-checkout__fields input:focus, .digital-checkout__fields select:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 20%, transparent); }.digital-checkout__privacy { margin: -2px 0 0; padding: 13px 15px; border-left: 3px solid var(--teal-deep); border-radius: 0 6px 6px 0; background: color-mix(in srgb, var(--teal-deep) 8%, var(--paper)); color: var(--slate); font-size: .78rem; line-height: 1.55; }.digital-checkout__privacy a { color: var(--ink); font-weight: 820; text-decoration: underline; text-underline-offset: 3px; }.digital-checkout__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }.digital-checkout__actions .button { min-height: var(--ui-control-height); }.digital-checkout__actions small { max-width: 235px; color: var(--slate); font-size: .72rem; line-height: 1.45; }.digital-checkout__payment-note { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 10px; align-items: start; padding: 14px; border: 1px solid color-mix(in srgb, var(--teal-deep) 34%, var(--line)); border-radius: 7px; background: color-mix(in srgb, var(--teal-deep) 8%, var(--paper)); }.digital-checkout__payment-note span { display: grid; width: 23px; height: 23px; border-radius: 50%; background: var(--teal-deep); color: var(--white); font-size: .73rem; font-weight: 900; place-items: center; }.digital-checkout__payment-note p, .digital-checkout__status { margin: 0; color: var(--slate); font-size: .8rem; line-height: 1.55; }.digital-checkout__paypal-surface { width: min(100%, 500px); min-width: 0; padding: 12px; border: 1px solid color-mix(in srgb, var(--teal-deep) 28%, var(--line)); border-radius: 8px; background: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.72); }.digital-checkout__paypal-surface #paypal-button-container { width: 100%; min-height: 48px; }.theme-logo-dark .digital-checkout__panel { border-color: var(--line); background: var(--theme-surface); box-shadow: 0 14px 35px rgba(0,0,0,.24); }.theme-logo-dark .digital-checkout__order { background: var(--theme-surface-muted); }.theme-logo-dark .digital-checkout__fields input, .theme-logo-dark .digital-checkout__fields select { border-color: var(--line); background: var(--theme-surface-input); color: var(--ink); }.theme-logo-dark .digital-checkout__privacy, .theme-logo-dark .digital-checkout__payment-note { background: color-mix(in srgb, var(--teal) 12%, var(--theme-surface-muted)); }.theme-logo-dark .digital-checkout__paypal-surface { border-color: color-mix(in srgb, var(--teal) 44%, #fff); box-shadow: 0 8px 18px rgba(0,0,0,.18); }.theme-logo-dark .digital-checkout__privacy a { color: var(--ink); }@media (max-width: 720px) { .digital-checkout__layout { grid-template-columns: 1fr; }.digital-checkout__panel { padding: 22px 18px; }.digital-checkout__fields { grid-template-columns: 1fr; }.digital-checkout__actions { align-items: stretch; }.digital-checkout__actions .button { width: 100%; justify-content: center; }.digital-checkout__actions small { max-width: none; text-align: center; }.digital-checkout__paypal-surface { width: 100%; } }

/* Only the compact payment state should self-size beside a longer order summary. */
.digital-checkout__payment { align-self: start; }

/* Protected-preview detail setting follows the shared dashboard control geometry. */
.admin-viewer__preview-detail { display: grid; gap: 7px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }.admin-viewer__preview-detail label { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 13px; align-items: center; color: var(--ink); font-size: .78rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }.admin-viewer__preview-detail input, .admin-viewer__preview-detail select { box-sizing: border-box; width: 100%; height: var(--ui-control-height); padding: 0 11px; border: 1px solid var(--line); border-radius: 5px; outline: none; background: var(--white); color: var(--ink); font: inherit; font-size: .88rem; font-weight: 700; letter-spacing: normal; text-transform: none; }.admin-viewer__preview-detail input { text-align: right; }.admin-viewer__preview-detail input:focus, .admin-viewer__preview-detail select:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px rgba(24,185,160,.13); }.admin-viewer__preview-detail p { margin: 0; color: var(--slate); font-size: .74rem; line-height: 1.45; }.theme-logo-dark .admin-viewer__preview-detail { border-color: #454d52; background: #202529; }.theme-logo-dark .admin-viewer__preview-detail label { color: #f1f3f4; }.theme-logo-dark .admin-viewer__preview-detail input, .theme-logo-dark .admin-viewer__preview-detail select { border-color: #454d52; background: #141719; color: #f7f8f8; }.theme-logo-dark .admin-viewer__preview-detail input:focus, .theme-logo-dark .admin-viewer__preview-detail select:focus { box-shadow: 0 0 0 3px rgba(255,105,0,.18); }.theme-logo-dark .admin-viewer__preview-detail p { color: #aeb6bc; }@media (max-width: 460px) { .admin-viewer__preview-detail label { grid-template-columns: 1fr; gap: 7px; }.admin-viewer__preview-detail input { text-align: left; } }

/* The legacy viewer controls are unavailable while the protected preview viewer is active. */
.admin-viewer__options[hidden] { display: none !important; }

.digital-checkout__country-trigger { position: relative; }
.digital-checkout__delivery-status { margin: -7px 0 0; color: var(--slate); font-size: .72rem; line-height: 1.45; }
.digital-checkout__country-trigger::after { top: 50%; transform: translateY(-58%); }
.digital-checkout__country-panel { grid-template-rows: auto minmax(0, 1fr); }
.digital-checkout__country-results { min-height: 0; }

/* Buyer accounts, verified reviews and customer conversations. */
.buyer-account__container { display: grid; gap: 24px; }.buyer-account__auth-grid, .buyer-account__overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }.buyer-account__panel, .buyer-account__magic { display: grid; gap: 14px; min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 12px 28px rgba(11,17,32,.07); }.buyer-account__panel .eyebrow, .buyer-account__panel h2, .buyer-account__magic p { margin: 0; }.buyer-account__panel h2 { color: var(--ink); font-size: 1.35rem; }.buyer-account__panel > p:not(.eyebrow), .buyer-account__magic > p { margin: 0; color: var(--slate); font-size: .82rem; line-height: 1.55; }.buyer-account__panel label, .buyer-account__magic label, .buyer-account__compose label { display: grid; gap: 7px; color: var(--ink); font-size: .8rem; font-weight: 820; }.buyer-account__panel input:not([type="checkbox"]), .buyer-account__panel select, .buyer-account__panel textarea, .buyer-account__magic input, .buyer-account__compose textarea { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); padding: 0 12px; border: 1px solid var(--line); border-radius: 6px; outline: none; background: var(--theme-surface-input, var(--white)); color: var(--ink); font: inherit; }.buyer-account__panel textarea, .buyer-account__compose textarea { min-height: 120px; padding: 11px 12px; resize: vertical; }.buyer-account__panel input:focus, .buyer-account__panel select:focus, .buyer-account__panel textarea:focus, .buyer-account__magic input:focus, .buyer-account__compose textarea:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 20%, transparent); }.buyer-account__remember { display: flex !important; align-items: center; gap: 8px !important; color: var(--slate) !important; font-size: .76rem !important; font-weight: 700 !important; }.buyer-account__remember input { width: 16px; height: 16px; margin: 0; accent-color: var(--teal-deep); }.buyer-account__magic { grid-template-columns: auto minmax(190px, 310px) auto; align-items: end; padding: 16px 18px; }.buyer-account__magic strong { padding-bottom: 11px; color: var(--ink); font-size: .83rem; }.buyer-account__magic button, .buyer-account__panel > form button:not(.button), .buyer-account__panel > button { min-height: var(--ui-control-height); padding: 0 13px; border: 1px solid var(--line); border-radius: 6px; background: transparent; color: var(--ink); font: inherit; font-size: .78rem; font-weight: 820; cursor: pointer; }.buyer-account__order-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }.buyer-account__order-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }.buyer-account__order-list span { color: var(--slate); font-size: .72rem; }.buyer-account__order-list a { grid-row: 1 / span 2; grid-column: 2; color: var(--teal-deep); font-size: .75rem; font-weight: 850; }.buyer-account__messages { grid-column: 1 / -1; }.buyer-account__thread { display: grid; max-height: 490px; gap: 10px; overflow: auto; padding: 4px 10px 4px 4px; scrollbar-color: var(--slate) transparent; scrollbar-width: auto; }.buyer-account__thread::-webkit-scrollbar { width: 13px; }.buyer-account__thread::-webkit-scrollbar-track { border-radius: 99px; background: color-mix(in srgb, var(--line) 22%, transparent); }.buyer-account__thread::-webkit-scrollbar-thumb { min-height: 44px; border: 3px solid transparent; border-radius: 99px; background: var(--slate); background-clip: padding-box; }.buyer-account__thread::-webkit-scrollbar-thumb:hover { background: var(--teal-deep); background-clip: padding-box; }.buyer-account__entry { display: grid; max-width: min(680px, 88%); gap: 5px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }.buyer-account__entry--buyer { justify-self: end; border-color: color-mix(in srgb, var(--teal-deep) 45%, var(--line)); background: color-mix(in srgb, var(--teal-deep) 8%, var(--paper)); }.buyer-account__entry--context { max-width: 100%; border-style: dashed; background: transparent; }.buyer-account__entry p { margin: 0; color: var(--ink); font-size: .82rem; line-height: 1.55; }.buyer-account__entry small, .buyer-account__entry time { color: var(--slate); font-size: .68rem; }.buyer-account__compose { display: grid; gap: 12px; margin-top: 16px; }.theme-logo-dark .buyer-account__panel, .theme-logo-dark .buyer-account__magic { border-color: var(--line); background: var(--theme-surface); box-shadow: 0 14px 35px rgba(0,0,0,.24); }.theme-logo-dark .buyer-account__panel input:not([type="checkbox"]), .theme-logo-dark .buyer-account__panel select, .theme-logo-dark .buyer-account__panel textarea, .theme-logo-dark .buyer-account__magic input, .theme-logo-dark .buyer-account__compose textarea { border-color: var(--line); background: var(--theme-surface-input); color: var(--ink); }.theme-logo-dark .buyer-account__order-list li, .theme-logo-dark .buyer-account__entry { border-color: var(--line); background: var(--theme-surface-muted); }.buyer-account__thread::-webkit-scrollbar-thumb:hover { background: var(--teal-deep); }.theme-logo-dark .buyer-account__entry--buyer { border-color: color-mix(in srgb, var(--teal) 50%, var(--line)); background: color-mix(in srgb, var(--teal) 12%, var(--theme-surface-muted)); }@media (max-width: 720px) { .buyer-account__auth-grid, .buyer-account__overview { grid-template-columns: 1fr; }.buyer-account__magic { grid-template-columns: 1fr; align-items: stretch; }.buyer-account__magic strong { padding: 0; }.buyer-account__order-list li { grid-template-columns: 1fr; }.buyer-account__order-list a { grid-row: auto; grid-column: auto; }.buyer-account__entry { max-width: 100%; } }
.product-detail__buyer-support { display: grid; gap: 8px; margin-top: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }.product-detail__buyer-support .eyebrow, .product-detail__buyer-support h2, .product-detail__buyer-support p { margin: 0; }.product-detail__buyer-support h2 { color: var(--ink); font-size: 1rem; }.product-detail__buyer-support p, .product-detail__buyer-support span { color: var(--slate); font-size: .78rem; line-height: 1.5; }.product-detail__buyer-support a { color: var(--teal-deep); font-size: .8rem; font-weight: 850; }.listing-reviews__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }.listing-reviews__grid article, .listing-reviews__empty { display: grid; gap: 10px; padding: 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); }.listing-reviews__grid strong { color: var(--orange); letter-spacing: .09em; }.listing-reviews__grid p, .listing-reviews__empty { margin: 0; color: var(--ink); font-size: .84rem; line-height: 1.6; }.listing-reviews__grid footer { color: var(--slate); font-size: .72rem; }.theme-logo-dark .product-detail__buyer-support, .theme-logo-dark .listing-reviews__grid article, .theme-logo-dark .listing-reviews__empty { border-color: var(--line); background: var(--theme-surface-muted); }.theme-logo-dark .product-detail__buyer-support h2, .theme-logo-dark .listing-reviews__grid p { color: var(--ink); }@media (max-width: 760px) { .listing-reviews__grid { grid-template-columns: 1fr; } }
.buyer-account__access-actions { display: grid; gap: 18px; }.buyer-account__password-reset { max-width: 520px; }.buyer-account__attachments { display: grid; gap: 5px; margin: 2px 0 0; padding: 0; list-style: none; }.buyer-account__attachments li { display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; font-size: .74rem; }.buyer-account__attachments a { color: var(--teal-deep); font-weight: 800; }.buyer-account__attachments small, .buyer-account__panel label > small { color: var(--slate); font-size: .7rem; font-weight: 600; }.listing-reviews__media { display: flex; flex-wrap: wrap; gap: 8px; }.listing-reviews__media a { display: block; width: 68px; height: 68px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; }.listing-reviews__media img { width: 100%; height: 100%; object-fit: cover; }.quote-panel__account-note { margin: 0 0 16px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); color: var(--slate); font-size: .82rem; line-height: 1.5; }.quote-panel__account-note a { color: var(--teal-deep); font-weight: 800; }.digital-checkout__panel-heading small { display: block; margin-top: 8px; color: var(--slate); font-size: .76rem; line-height: 1.5; }.digital-checkout__panel-heading small a { color: var(--teal-deep); font-weight: 800; }.theme-logo-dark .quote-panel__account-note { border-color: var(--line); background: var(--theme-surface-muted); }

/* Buyer administration and the restricted no-payment purchase path. */
.digital-checkout__test-checkout { display: grid; flex-basis: 100%; gap: 7px; margin-top: 4px; padding: 13px 14px; border: 1px dashed color-mix(in srgb, var(--orange, #ff7a18) 56%, var(--line)); border-radius: 7px; background: color-mix(in srgb, var(--orange, #ff7a18) 7%, var(--paper)); }.digital-checkout__test-checkout strong { color: var(--ink); font-size: .78rem; }.digital-checkout__test-checkout p { margin: 0; color: var(--slate); font-size: .73rem; line-height: 1.5; }.digital-checkout__test-checkout .button { width: fit-content; }.theme-logo-dark .digital-checkout__test-checkout { background: color-mix(in srgb, var(--orange, #ff7a18) 10%, var(--theme-surface-muted)); }
.buyer-accounts__list { max-height: min(52vh, 560px); overflow: auto; padding-right: 7px; scrollbar-color: var(--teal-deep) transparent; scrollbar-width: auto; }.buyer-accounts__list::-webkit-scrollbar { width: 12px; }.buyer-accounts__list::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 99px; background: var(--teal-deep); background-clip: padding-box; }.buyer-accounts__list .admin-operations-item { display: grid; gap: 3px; padding: 11px 12px; border: 1px solid var(--line); border-left: 3px solid var(--line); border-radius: 7px; background: var(--paper); color: inherit; text-decoration: none; }.buyer-accounts__list .admin-operations-item:hover, .buyer-accounts__list .admin-operations-item:focus-visible, .buyer-accounts__list .admin-operations-item.is-selected { border-color: var(--teal-deep); box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal) 20%, transparent); outline: none; }.buyer-accounts__list .admin-operations-item small { color: var(--slate); font-size: .72rem; }.buyer-accounts__detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--admin-panel-gap); margin-top: var(--admin-panel-gap); }.buyer-accounts__detail-grid > .admin-editor { min-width: 0; margin: 0; }.buyer-accounts__detail-grid .admin-operations-list { max-height: 310px; overflow: auto; padding-right: 6px; }.buyer-accounts__detail-grid .admin-operations-item { display: grid; gap: 3px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); }.buyer-accounts__detail-grid .admin-operations-item strong { color: var(--ink); font-size: .78rem; }.buyer-accounts__detail-grid .admin-operations-item span, .buyer-accounts__detail-grid .admin-operations-item small { min-width: 0; overflow-wrap: anywhere; color: var(--slate); font-size: .71rem; }.buyer-accounts__danger { margin-top: var(--admin-panel-gap); border-color: color-mix(in srgb, #b74738 52%, var(--line)); }.buyer-accounts__danger .admin-editor__heading { border-color: color-mix(in srgb, #b74738 36%, var(--line)); }.buyer-accounts__danger .button--secondary { border-color: color-mix(in srgb, #b74738 54%, var(--line)); }.theme-logo-dark .buyer-accounts__list .admin-operations-item, .theme-logo-dark .buyer-accounts__detail-grid .admin-operations-item { background: var(--theme-surface-muted); }.theme-logo-dark .buyer-accounts__detail-grid > .admin-editor { background: var(--theme-surface); }
@media (max-width: 780px) { .buyer-accounts__detail-grid { grid-template-columns: 1fr; }.digital-checkout__test-checkout .button { width: 100%; justify-content: center; } }
.buyer-account__security-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0; color: var(--slate); font-size: .78rem; line-height: 1.5; }
.buyer-account__security-actions form { margin: 0; }
.buyer-account__attachment-image { display: block; width: 72px; height: 72px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; }.buyer-account__attachment-image img { display: block; width: 100%; height: 100%; object-fit: cover; }.buyer-account__attachment-download { font-size: .7rem; }

/* Conversation composers stay compact until the writer adds another line. */
.buyer-account__compose textarea[name="body"], .admin-conversation-thread + .admin-form textarea[name="body"] { min-height: var(--ui-control-height); height: var(--ui-control-height); max-height: 260px; overflow-y: hidden; resize: none; }.admin-conversation-thread + .admin-form > label:nth-of-type(1) { order: 1; }.admin-conversation-thread + .admin-form > .button { order: 2; justify-self: start; margin-top: -8px; }.admin-conversation-thread + .admin-form > label:nth-of-type(2), .admin-conversation-thread + .admin-form > label:nth-of-type(3) { order: 3; }.admin-conversation-thread .buyer-account__attachments li { align-items: center; }
.buyer-account__compose { gap: var(--admin-panel-gap); }.buyer-account__composer-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper-deep)); }.buyer-account__composer-row > label { min-width: 0; }.buyer-account__composer-row > .button { min-height: var(--ui-control-height); }.buyer-account__reply-options { display: block; min-height: 0; margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface, var(--paper)); }.buyer-account__reply-options > summary { display: flex; min-height: 42px; box-sizing: border-box; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px; background: var(--theme-surface-muted, var(--paper-deep)); color: var(--ink); cursor: pointer; list-style: none; }.buyer-account__reply-options > summary::-webkit-details-marker { display: none; }.buyer-account__reply-options > summary::after { color: var(--teal-deep); content: '+'; font-size: 1.1rem; font-weight: 700; }.buyer-account__reply-options[open] > summary { border-bottom: 1px solid var(--line); background: var(--theme-surface, var(--paper)); }.buyer-account__reply-options[open] > summary::after { content: '−'; }.buyer-account__reply-options > summary > span { font-size: .77rem; font-weight: 850; }.buyer-account__reply-options > summary > small { margin-left: auto; color: var(--muted); font-size: .64rem; font-weight: 730; }.buyer-account__reply-options-content { padding: 12px; background: var(--theme-surface, var(--paper)); }.buyer-account__reply-options-content > label { min-width: 0; }.buyer-account__reply-options-content input[type="file"] { min-height: auto; height: auto; padding: 8px 10px; font-size: .74rem; }.buyer-account__reply-options-content small { color: var(--muted); font-size: .7rem; font-weight: 650; line-height: 1.45; }.theme-logo-dark .buyer-account__composer-row,.theme-logo-dark .buyer-account__reply-options > summary { background: var(--theme-surface-muted); }.theme-logo-dark .buyer-account__reply-options,.theme-logo-dark .buyer-account__reply-options-content { border-color: var(--line); background: var(--theme-surface); }@media (max-width: 560px) { .buyer-account__composer-row { grid-template-columns: 1fr; }.buyer-account__composer-row > .button { width: 100%; } }
.buyer-account__order-actions { display: grid; gap: 7px; grid-row: 1 / span 2; grid-column: 2; }.buyer-account__order-actions a { grid-row: auto; grid-column: auto; color: var(--teal-deep); font-size: .75rem; font-weight: 850; }@media (max-width: 720px) { .buyer-account__order-actions { grid-row: auto; grid-column: auto; } }

/* Checkout field headings share one fixed row so optional labels never offset their controls. */
.digital-checkout__fields > label { grid-template-rows: 19px var(--ui-control-height); align-content: start; }
.digital-checkout__fields > label > .digital-checkout__field-label { display: flex; min-width: 0; align-items: baseline; gap: 4px; min-height: 19px; line-height: 19px; }
.digital-checkout__fields > label > .digital-checkout__field-label em { color: var(--slate); font-style: normal; font-weight: 650; white-space: nowrap; }

/* Shared Workspace Panel lane and generated-list behaviour. */
.admin-panel-layout-column { position: relative; min-height: 0; transition: background-color .16s ease, box-shadow .16s ease; }
.admin-panel-layout--flow.is-panel-dragging > .admin-panel-layout-column:empty,
.is-panel-dragging > .admin-panel-layout-column:empty { min-height: 144px; border: 1px dashed var(--line); border-radius: var(--radius); background: color-mix(in srgb, var(--teal-deep) 5%, transparent); }
.is-panel-dragging > .admin-panel-layout-column:empty::before { display: grid; min-height: 142px; place-items: center; color: var(--slate); font-size: .74rem; font-weight: 760; content: 'Drop panel here'; }
.admin-panel-layout-column.is-drop-target { box-shadow: inset 0 0 0 2px var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 10%, transparent); }
.admin-panel-layout-column.is-drop-target:empty::before { color: var(--teal-deep); }
.admin-panel-scroll-list { max-height: min(420px, 48vh); min-height: 0; padding-right: 6px !important; overflow-y: auto; scrollbar-color: var(--line) transparent; scrollbar-width: thin; }
.admin-panel-scroll-list::-webkit-scrollbar { width: 8px; }
.admin-panel-scroll-list::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--line); background-clip: padding-box; }
.admin-search-visibility-layout > .admin-panel-layout-column > .admin-dashboard-panel { min-width: 0; margin: 0 !important; padding: 67px 24px 24px !important; border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); box-shadow: 0 12px 32px rgba(11,17,32,.08); }
.admin-search-visibility-layout > .admin-panel-layout-column > .admin-dashboard-panel.is-collapsed { min-height: 38px; padding: 0 !important; }
.admin-search-visibility-layout > .admin-panel-layout-column > .admin-dashboard-panel > div:first-child { display: grid; gap: 0; }
.admin-search-visibility-layout > .admin-panel-layout-column > .admin-dashboard-panel > div:first-child > p:last-child { margin: 0; color: var(--slate); font-size: .83rem; line-height: 1.55; }
.admin-search-visibility-history .admin-search-visibility-history__list { max-height: min(420px, 48vh); min-height: 0; padding-right: 6px; overflow-y: auto; scrollbar-color: var(--line) transparent; scrollbar-width: thin; }
.admin-search-visibility-history .admin-search-visibility-history__list::-webkit-scrollbar { width: 8px; }
.admin-search-visibility-history .admin-search-visibility-history__list::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--line); background-clip: padding-box; }
.theme-logo-dark .is-panel-dragging > .admin-panel-layout-column:empty { border-color: #454d52; background: color-mix(in srgb, var(--teal) 12%, transparent); }
.theme-logo-dark .admin-panel-layout-column.is-drop-target { box-shadow: inset 0 0 0 2px var(--teal); background: color-mix(in srgb, var(--teal) 14%, transparent); }
.theme-logo-dark .admin-search-visibility-layout > .admin-panel-layout-column > .admin-dashboard-panel { border-color: #454d52; background: var(--theme-surface); box-shadow: 0 14px 35px rgba(0,0,0,.24); }
.theme-logo-dark .admin-search-visibility-layout > .admin-panel-layout-column > .admin-dashboard-panel > .admin-dashboard-panel__titlebar { background: var(--theme-surface); }
@media (max-width: 720px) { .admin-search-visibility-layout > .admin-panel-layout-column > .admin-dashboard-panel { padding: 58px 17px 17px !important; } }

/* Keep every standard Workspace / Section Panel title bar on one visual centre line. */
.admin-dashboard-panel__titlebar {
    box-sizing: border-box;
    display: flex !important;
    flex-direction: row;
    gap: 8px !important;
    height: 38px;
    min-height: 38px;
}
.admin-dashboard-panel__titlebar > .admin-dashboard-panel__grip,
.admin-dashboard-panel__titlebar > .admin-dashboard-panel__title,
.admin-dashboard-panel__titlebar > .admin-dashboard-panel__collapse {
    align-self: center;
}
.admin-dashboard-panel__grip,
.admin-dashboard-panel__collapse {
    line-height: 0;
}
.admin-dashboard-panel__grip svg {
    display: block;
}
.admin-dashboard-panel__title {
    display: block;
    line-height: 1;
}
.admin-dashboard-panel__collapse [aria-hidden="true"] {
    margin: 0;
}
.admin-search-visibility-google > .admin-search-visibility-settings-section,
.admin-search-visibility-history > .admin-search-visibility-section-panel {
    margin-top: var(--admin-panel-gap);
}

/* Shared admin capability controls and the remaining legacy spacing outliers. */
:root { --admin-toggle-width: 48px; --admin-toggle-height: 27px; --admin-toggle-thumb: 19px; }.admin-ui-toggle::after { top: 4px; left: 4px; width: var(--admin-toggle-thumb); height: var(--admin-toggle-thumb); }.admin-ui-toggle:checked::after { transform: translateX(21px); }.admin-form .admin-listing-toggle input[type="checkbox"], .admin-form .admin-viewer__toggle input[type="checkbox"] { position: absolute; width: 1px; min-width: 1px; height: 1px; min-height: 1px; margin: 0; padding: 0; border: 0; opacity: 0; }.admin-listing-toggle { grid-template-columns: 48px minmax(0, 1fr); gap: 13px !important; }.admin-listing-toggle__switch { width: 48px; height: 27px; }.admin-listing-toggle__switch::after { top: 4px; left: 4px; width: 19px; height: 19px; }.admin-listing-toggle input:checked + .admin-listing-toggle__switch::after { transform: translateX(21px); }.admin-listing-status__controls { gap: var(--admin-panel-gap); }.admin-form[data-listing-editor] > .admin-listing-status + .admin-etsy-import, .admin-form[data-listing-editor] > .admin-etsy-import + .admin-form__grid--product-basics { margin-top: 0; }.admin-category-add input, .admin-category-card__rename input { height: var(--ui-control-height); }.admin-category-add .button { min-height: var(--ui-control-height); }.admin-category-grid { gap: var(--admin-panel-gap); }.admin-category-card { gap: var(--admin-panel-gap); }.admin-category-card__rename button, .admin-category-card__remove button { min-height: var(--admin-control-height-compact); }.admin-content-health-duplicate-list__actions button { min-height: var(--admin-control-height-compact); }.admin-content-health-duplicate-dialog footer button { min-height: var(--ui-control-height); }

/* List-bearing Section Panels retain the normal panel surface and readable gutters. */
.admin-dashboard-panel--list {
    padding: 58px 17px 17px !important;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--paper);
}
.theme-logo-dark .admin-dashboard-panel--list {
    border-color: #454d52;
    background: var(--theme-surface);
}
.admin-dashboard-panel--list > .admin-panel-scroll-list {
    margin: 0;
}

/* Workspace and Section Panels are self-contained components, including generated card lists. */
.admin-dashboard-panel.admin-section-panel,
.admin-dashboard-panel.admin-workspace-panel {
    min-width: 0;
    padding: 58px 17px 17px !important;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--theme-surface, var(--paper));
    box-shadow: 0 12px 32px rgba(11, 17, 32, .08);
}
.admin-dashboard-panel.admin-section-panel.is-collapsed,
.admin-dashboard-panel.admin-workspace-panel.is-collapsed {
    min-height: 38px;
    padding: 0 !important;
}
.theme-logo-dark .admin-dashboard-panel.admin-section-panel,
.theme-logo-dark .admin-dashboard-panel.admin-workspace-panel {
    border-color: #454d52;
    background: var(--theme-surface);
    box-shadow: 0 14px 35px rgba(0, 0, 0, .24);
}
.theme-logo-dark .admin-dashboard-panel.admin-section-panel > .admin-dashboard-panel__titlebar,
.theme-logo-dark .admin-dashboard-panel.admin-workspace-panel > .admin-dashboard-panel__titlebar {
    background: var(--theme-surface);
}

/* Dashboard Google snapshot: four compact metrics without disturbing the actions row. */
.admin-search-visibility-dashboard__metrics--google {
    display: grid;
    grid-template-columns: repeat(2, minmax(122px, 1fr));
    width: min(100%, 310px);
    gap: 8px;
}
.admin-search-visibility-dashboard__metrics--google article {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--paper);
}
.admin-search-visibility-dashboard__metrics--google article > span {
    color: var(--slate);
    font-size: .64rem;
    font-weight: 820;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.admin-search-visibility-dashboard__metrics--google article > strong {
    color: var(--ink);
    font-size: 1.25rem;
    line-height: 1;
}
.admin-search-visibility-dashboard__metrics--google article > small,
.admin-search-visibility-dashboard__snapshot-note {
    color: var(--slate);
    font-size: .66rem;
    line-height: 1.4;
}
.admin-search-visibility-dashboard__snapshot-note {
    margin: 0;
}
.admin-search-visibility-dashboard__summary {
    display: flex;
    min-width: 0;
    flex-direction: column;
}
.admin-search-visibility-dashboard__summary-actions {
    display: grid;
    gap: var(--admin-panel-gap);
    margin-top: auto;
}
/* Hide superseded direct children after the summary-column layout takes ownership. */
.admin-search-visibility-dashboard > .admin-search-visibility-dashboard__snapshot-note,
.admin-search-visibility-dashboard > .admin-actions__links,
.admin-search-visibility-dashboard__google-column > .admin-search-visibility-dashboard__snapshot-note {
    display: none;
}
.admin-search-visibility-dashboard__google-column > .admin-search-visibility-dashboard__metrics--google + .admin-search-visibility-dashboard__sync:not(.admin-search-visibility-dashboard__sync--primary) {
    display: none;
}
.admin-search-visibility-dashboard__summary > div:first-child > p:last-child {
    max-width: 560px;
    margin: 9px 0 0;
    color: var(--slate);
    font-size: .83rem;
    line-height: 1.55;
}
.admin-search-visibility-dashboard__sync {
    width: min(100%, 310px);
    margin: 0;
}
.admin-search-visibility-dashboard__google-column {
    display: grid;
    width: min(100%, 310px);
    gap: var(--admin-panel-gap);
    align-content: start;
}
.admin-search-visibility-dashboard__google-column .admin-search-visibility-dashboard__metrics--google,
.admin-search-visibility-dashboard__google-column .admin-search-visibility-dashboard__sync {
    width: 100%;
}
.admin-search-visibility-dashboard__sync .button,
.admin-search-visibility-performance__sync .button {
    justify-content: center;
    width: 100%;
}
.admin-search-visibility-performance-section {
    display: grid;
    gap: var(--admin-panel-gap);
}
.admin-search-visibility-performance-section .admin-search-visibility-discovery {
    margin-top: 0;
}
.theme-logo-dark .admin-search-visibility-dashboard__metrics--google article {
    border-color: #454d52;
    background: var(--theme-surface-muted);
}
@media (max-width: 720px) {
    .admin-search-visibility-dashboard__metrics--google { width: 100%; }
    .admin-search-visibility-dashboard__sync { grid-column: auto; width: 100%; }
    .admin-search-visibility-dashboard__google-column { width: 100%; }
}

/* Keep the dashboard summary and its Google metric grid aligned from the top. */
.admin-search-visibility-dashboard {
    align-items: stretch;
}

/* Google search-console sections retain a clear workflow order and readable status cards. */
.admin-search-visibility-google > .admin-search-visibility-performance-section { order: 1; }
.admin-search-visibility-google > .admin-search-visibility-google-overview-section { order: 2; }
.admin-search-visibility-google > .admin-search-visibility-settings-section { order: 3; }
.admin-search-visibility-google-overview-section { display: grid; gap: var(--admin-panel-gap); }
.admin-search-visibility-google-overview-section > div:first-child { display: grid; gap: 0; }
.admin-search-visibility-google-overview-section > div:first-child > p:last-child { margin: 0; color: var(--slate); font-size: .83rem; line-height: 1.55; }
.admin-search-visibility-google-overview-section .admin-search-visibility-summary__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.admin-search-visibility-google-overview-section .admin-search-visibility-summary__metrics article {
    min-width: 0;
}
.admin-search-visibility-google-overview-section .admin-search-visibility-summary__metrics strong,
.admin-search-visibility-google-overview-section .admin-search-visibility-summary__metrics small {
    overflow-wrap: anywhere;
    word-break: normal;
}
.admin-search-visibility-google-overview-section .admin-search-visibility-summary__metrics strong {
    font-size: clamp(1.05rem, 2.4vw, 1.42rem);
    line-height: 1.12;
}
@media (max-width: 520px) {
    .admin-search-visibility-google-overview-section .admin-search-visibility-summary__metrics { grid-template-columns: 1fr; }
}

/* Every panel reserves one strict titlebar-to-content clearance: titlebar height plus the standard 18px gap. */
:root {
    --admin-panel-titlebar-height: 38px;
    --admin-panel-titlebar-clearance: calc(var(--admin-panel-titlebar-height) + var(--admin-panel-gap));
    --admin-panel-body-gutter: var(--admin-panel-gap);
}
.admin-dashboard-panel.admin-section-panel:not(.is-collapsed),
.admin-dashboard-panel.admin-workspace-panel:not(.is-collapsed) {
    padding: var(--admin-panel-titlebar-clearance) var(--admin-panel-body-gutter) var(--admin-panel-body-gutter) !important;
}
.admin-digital-sales-dashboard > .admin-actions__links {
    bottom: var(--admin-panel-body-gutter);
    left: var(--admin-panel-body-gutter);
}
@media (max-width: 720px) {
    :root { --admin-panel-titlebar-height: 34px; }
}

/* Grid panel containers already own the standard 18px gap; child panel margins would double it. */
.admin-panel-layout--flow.admin-panel-layout--grid {
    gap: var(--admin-panel-gap) !important;
}
.admin-panel-layout--flow.admin-panel-layout--grid > * + :is(.admin-workspace-panel, .admin-section-panel) {
    margin-top: 0 !important;
}

/* Marketplace links remain visually subordinate to first-party purchase actions. */
.product-card__links--primary { margin-bottom: 12px; }
.product-card__marketplace-fallback { display: grid; gap: 7px; margin-top: 2px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 7px; background: color-mix(in srgb, var(--paper-deep, var(--white)) 88%, var(--teal) 12%); color: var(--slate); font-size: .7rem; line-height: 1.35; }
.product-card__marketplace-fallback > strong { color: var(--ink); font-size: .69rem; }
.product-card__marketplace-fallback > div { display: flex; flex-wrap: wrap; gap: 7px 12px; }
.product-card__marketplace-fallback a { color: var(--ink); font-size: .73rem; font-weight: 820; text-decoration: underline; text-underline-offset: 3px; }
.product-card__marketplace-fallback a:hover, .product-card__marketplace-fallback a:focus-visible { color: var(--teal-deep); }
.theme-logo-dark .product-card__marketplace-fallback { background: color-mix(in srgb, var(--theme-surface-muted) 84%, var(--teal) 16%); }

/* Auth panels use the normal primary action. The unstyled-button fallback in
   the legacy panel rule must not turn a .button transparent. */
.buyer-account__panel > .button {
    border-color: var(--teal);
    background: var(--teal);
    color: #171a1c !important;
}
.buyer-account__panel > .button:hover,
.buyer-account__panel > .button:focus-visible {
    border-color: var(--teal);
    background: color-mix(in srgb, var(--teal) 72%, var(--white));
    color: #171a1c !important;
    box-shadow: 0 10px 25px color-mix(in srgb, var(--teal) 30%, transparent);
    outline: none;
}
.buyer-account__magic button {
    transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.buyer-account__magic button:hover,
.buyer-account__magic button:focus-visible {
    border-color: var(--teal-deep);
    background: color-mix(in srgb, var(--teal) 12%, var(--theme-surface, var(--paper)));
    color: var(--ink);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent);
    transform: translateY(-1px);
    outline: none;
}

/* Destructive buyer-account actions remain legible in every active admin theme. */
.buyer-accounts__danger .button--secondary { background: var(--paper-deep); color: var(--ink) !important; }
.buyer-accounts__danger .button--secondary:hover, .buyer-accounts__danger .button--secondary:focus-visible { background: color-mix(in srgb, #b74738 16%, var(--paper-deep)); color: var(--ink) !important; }
.theme-logo-dark .buyer-accounts__danger .button--secondary { background: var(--theme-surface-input); color: var(--ink) !important; }

.admin-customisation-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--ui-space-standard); margin-top: var(--ui-space-standard); }
.admin-customisation-option { display: grid; gap: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--paper-deep)); }
.admin-customisation-option > .admin-listing-toggle { margin: 0; }
.admin-customisation-colours { display: flex; flex-wrap: wrap; gap: 8px 12px; }
.admin-customisation-colours label { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: .76rem; font-weight: 750; }
.admin-colour-swatch { width: 13px; height: 13px; border: 1px solid color-mix(in srgb, var(--ink) 45%, transparent); border-radius: 50%; background: currentColor; }
.admin-colour-swatch--black { color: #16191c; }.admin-colour-swatch--white { color: #fff; }.admin-colour-swatch--grey { color: #8d97a4; }.admin-colour-swatch--red { color: #d63a36; }.admin-colour-swatch--orange { color: #ff7a18; }.admin-colour-swatch--yellow { color: #e5b900; }.admin-colour-swatch--green { color: #2e9d68; }.admin-colour-swatch--blue { color: #317dc7; }.admin-colour-swatch--purple { color: #8154ba; }.admin-colour-swatch--pink { color: #d95b91; }.admin-colour-swatch--brown { color: #865431; }.admin-colour-swatch--silver { color: #aeb7c2; }.admin-colour-swatch--gold { color: #c99d24; }

.product-detail__customisation { display: grid; gap: 10px; max-width: 470px; margin: 0 0 22px; padding: 17px 18px; border: 1px solid color-mix(in srgb, var(--teal-deep) 45%, var(--line)); border-radius: 9px; background: color-mix(in srgb, var(--teal) 9%, var(--paper-deep, var(--white))); }
.product-detail__customisation .eyebrow, .product-detail__customisation h2, .product-detail__customisation p { margin: 0; }
.product-detail__customisation h2 { color: var(--ink); font-size: 1.3rem; }
.product-detail__customisation p:not(.eyebrow) { color: var(--slate); font-size: .82rem; line-height: 1.55; }
.product-detail__customisation ul { display: grid; gap: 6px; margin: 0; padding-left: 19px; color: var(--slate); font-size: .78rem; line-height: 1.45; }
.product-detail__customisation strong { color: var(--ink); }
.theme-logo-dark .product-detail__customisation { background: color-mix(in srgb, var(--teal) 13%, var(--theme-surface-muted)); }
.product-detail__production { max-width: 470px; margin: 0 0 18px; padding: 12px 14px; border-left: 3px solid var(--teal-deep); border-radius: 0 7px 7px 0; background: color-mix(in srgb, var(--teal) 8%, var(--paper-deep, var(--white))); color: var(--slate); font-size: .8rem; line-height: 1.5; }.product-detail__production strong { color: var(--ink); }.theme-logo-dark .product-detail__production { background: color-mix(in srgb, var(--teal) 12%, var(--theme-surface-muted)); }

.digital-checkout__customisation { grid-column: 1 / -1; display: grid; gap: var(--ui-space-standard); padding: 17px; border: 1px solid color-mix(in srgb, var(--teal-deep) 42%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--teal) 7%, var(--paper-deep, var(--white))); }
.digital-checkout__customisation-heading { display: grid; gap: 7px; }
.digital-checkout__customisation-heading .eyebrow, .digital-checkout__customisation-heading h3, .digital-checkout__customisation-heading p { margin: 0; }
.digital-checkout__customisation-heading h3 { color: var(--ink); font-size: 1.1rem; }
.digital-checkout__customisation-heading p:not(.eyebrow) { color: var(--slate); font-size: .78rem; line-height: 1.5; }
.digital-checkout__customisation-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ui-space-standard); }
.digital-checkout__customisation-fields label { display: grid; gap: 7px; min-width: 0; color: var(--ink); font-size: .82rem; font-weight: 820; }
.digital-checkout__customisation-fields textarea { box-sizing: border-box; width: 100%; min-height: 88px; padding: 10px 13px; resize: vertical; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface-input, var(--white)); color: var(--ink); font: inherit; font-weight: 650; outline: none; }
.digital-checkout__customisation-fields textarea:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 20%, transparent); }
.theme-logo-dark .digital-checkout__customisation { background: color-mix(in srgb, var(--teal) 12%, var(--theme-surface-muted)); }
.theme-logo-dark .digital-checkout__customisation-fields textarea { border-color: var(--line); background: var(--theme-surface-input); color: var(--ink); }
@media (max-width: 720px) { .digital-checkout__customisation-fields { grid-template-columns: 1fr; } }

.admin-quote-card--attention { border-color: color-mix(in srgb, var(--orange, #ff7a18) 65%, var(--line)); }
.admin-quote-card--attention .admin-quote-card__status { background: color-mix(in srgb, var(--orange, #ff7a18) 18%, var(--theme-surface-muted, var(--paper-deep))); color: var(--ink); }
.admin-physical-customisation { padding: 11px 12px; border-left: 3px solid var(--orange, #ff7a18); border-radius: 0 6px 6px 0; background: color-mix(in srgb, var(--orange, #ff7a18) 9%, var(--theme-surface-muted, var(--paper-deep))); color: var(--slate); font-size: .78rem; line-height: 1.5; }
.digital-order-customisation { display: grid; gap: 8px; max-width: 640px; margin: 18px 0; padding: 17px 18px; border: 1px solid color-mix(in srgb, var(--teal-deep) 42%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--teal) 8%, var(--paper-deep, var(--white))); }.digital-order-customisation .eyebrow, .digital-order-customisation h2, .digital-order-customisation p { margin: 0; }.digital-order-customisation h2 { color: var(--ink); font-size: 1.15rem; }.digital-order-customisation p:not(.eyebrow), .digital-order-customisation small { color: var(--slate); font-size: .8rem; line-height: 1.55; }.theme-logo-dark .digital-order-customisation { background: color-mix(in srgb, var(--teal) 12%, var(--theme-surface-muted)); }
.admin-digital-bundle-uploader { display: grid; grid-template-columns: minmax(0, 1fr) !important; gap: 0; }.admin-digital-bundle-uploader .admin-upload-guidance { margin-top: 0; }.admin-digital-bundle-uploader__files { display: grid; gap: 7px; max-height: 210px; margin: 12px 0 0; padding: 12px; overflow: auto; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); list-style: none; scrollbar-color: var(--slate) transparent; }.admin-digital-bundle-uploader__files li { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 12px; color: var(--ink); font-size: .78rem; font-weight: 760; }.admin-digital-bundle-uploader__files li > span { min-width: 0; overflow-wrap: anywhere; }.admin-digital-bundle-uploader__files button { flex: 0 0 auto; min-height: var(--admin-control-height-compact); padding: 5px 8px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: var(--ink); font: inherit; font-size: .7rem; font-weight: 800; cursor: pointer; }.admin-digital-bundle-uploader__files button:hover, .admin-digital-bundle-uploader__files button:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }.admin-digital-bundle-uploader [data-digital-bundle-current] { margin: 14px 0 0; }

.admin-form .admin-toggle { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 13px; align-items: center; max-width: 360px; color: var(--ink); cursor: pointer; }.admin-form .admin-toggle input[type="checkbox"] { position: relative; box-sizing: border-box; width: 48px; min-width: 48px; height: 27px; min-height: 27px; margin: 0; padding: 0; appearance: none; border: 0; border-radius: 999px; background: #8d99a8; box-shadow: none; transition: background .2s ease; }.admin-form .admin-toggle input[type="checkbox"]::after { position: absolute; top: 4px; left: 4px; width: 19px; height: 19px; border-radius: 50%; background: var(--white); box-shadow: 0 1px 3px rgba(0,0,0,.24); content: ""; transition: transform .2s ease; }.admin-form .admin-toggle input[type="checkbox"]:checked { background: var(--teal-deep); }.admin-form .admin-toggle input[type="checkbox"]:checked::after { transform: translateX(21px); }.admin-form .admin-toggle input[type="checkbox"]:focus-visible { outline: 3px solid rgba(24,185,160,.2); outline-offset: 3px; }.admin-form .admin-toggle span { font-size: .8rem; font-weight: 800; line-height: 1.35; }.theme-logo-dark .admin-form .admin-toggle { color: var(--ink); }.theme-logo-dark .admin-form .admin-toggle input[type="checkbox"] { background: #667078; }.theme-logo-dark .admin-form .admin-toggle input[type="checkbox"]:checked { background: var(--teal); }.theme-logo-dark .admin-form .admin-toggle input[type="checkbox"]:focus-visible { outline-color: rgba(255,105,0,.24); }

.admin-conversation-workspace { display: grid; grid-template-columns: minmax(0, 2fr) 12px minmax(260px, 1fr); gap: 0; align-items: stretch; min-height: 0; }.admin-conversation-workspace__detail, .admin-conversation-workspace__inbox { min-width: 0; }.admin-conversation-workspace__detail { display: grid; align-content: start; gap: var(--admin-panel-gap); padding-right: var(--admin-panel-gap); }.admin-conversation-workspace__inbox { display: grid; align-content: start; gap: 12px; padding-left: var(--admin-panel-gap); border-left: 1px solid var(--line); }.admin-conversation-workspace__inbox .admin-items__heading { margin: 0; }.admin-conversation-workspace__inbox .admin-items__heading h2 { margin: 0; }.admin-conversation-workspace__inbox .admin-items__heading p:last-child { margin: 6px 0 0; }.admin-conversation-workspace__inbox .admin-quote-grid { display: grid; grid-template-columns: 1fr; gap: 8px; height: clamp(360px, 68vh, 680px); padding-right: 7px; overflow: auto; scrollbar-width: auto; scrollbar-color: var(--teal-deep) var(--paper-deep); }.admin-conversation-workspace__inbox .admin-quote-grid::-webkit-scrollbar { width: 12px; }.admin-conversation-workspace__inbox .admin-quote-grid::-webkit-scrollbar-thumb { border: 3px solid var(--paper-deep); border-radius: 999px; background: var(--teal-deep); }.admin-conversation-workspace__item { cursor: pointer; }.admin-conversation-workspace__inbox .admin-quote-card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; min-height: 0; gap: 10px; padding: 10px 11px; border-radius: 8px; }.admin-conversation-inbox__main { display: grid; min-width: 0; gap: 3px; }.admin-conversation-inbox__name { overflow: hidden; color: var(--ink); font-size: 0.95rem; text-overflow: ellipsis; white-space: nowrap; }.admin-conversation-inbox__summary { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.admin-conversation-workspace__inbox .admin-conversation-inbox__status { margin: 0; white-space: nowrap; }.admin-conversation-inbox__details { min-height: 32px; padding: 6px 9px; font-size: 0.76rem; white-space: nowrap; }.admin-conversation-inbox__popover { position: absolute; z-index: 5; top: calc(100% + 7px); right: 10px; width: min(320px, calc(100vw - 48px)); padding: 13px; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--paper-deep); box-shadow: 0 14px 32px rgb(0 0 0 / 30%); cursor: default; }.admin-conversation-inbox__popover-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 9px; border-bottom: 1px solid var(--line); }.admin-conversation-inbox__popover-close { padding: 3px 0; border: 0; background: transparent; color: var(--accent); font: inherit; font-size: 0.74rem; font-weight: 700; cursor: pointer; }.admin-conversation-inbox__buyer-details { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 7px 10px; margin: 11px 0 0; font-size: 0.8rem; }.admin-conversation-inbox__buyer-details dt { color: var(--muted); }.admin-conversation-inbox__buyer-details dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }.admin-conversation-workspace__item:hover, .admin-conversation-workspace__item:focus-visible, .admin-conversation-workspace__item.is-selected { border-color: var(--teal-deep); box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal) 22%, transparent); outline: none; }.admin-conversation-workspace__splitter { position: relative; width: 12px; cursor: col-resize; touch-action: none; }.admin-conversation-workspace__splitter::after { position: absolute; top: 0; bottom: 0; left: 5px; width: 2px; border-radius: 99px; background: var(--line); content: ''; }.admin-conversation-workspace__splitter:hover::after, .admin-conversation-workspace__splitter:focus-visible::after { background: var(--teal-deep); }.is-resizing-conversation-workspace, .is-resizing-conversation-workspace * { cursor: col-resize !important; user-select: none !important; }
@media (max-width: 900px) { .admin-conversation-workspace { grid-template-columns: 1fr; gap: var(--admin-panel-gap); }.admin-conversation-workspace__detail { padding-right: 0; }.admin-conversation-workspace__inbox { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; padding-top: var(--admin-panel-gap); }.admin-conversation-workspace__splitter { display: none; }.admin-conversation-workspace__inbox .admin-quote-grid { height: min(440px, 55vh); } }

/* Compact customer-conversation inbox rows: the customer identity and action share one aligned control line. */
.admin-conversation-workspace__inbox .admin-quote-grid { grid-auto-rows: max-content; align-content: start; }
.admin-conversation-inbox__popover { width: min(420px, calc(100vw - 48px)); }
.admin-conversation-workspace__inbox .admin-quote-card { display: block; min-height: 0; padding: 9px 11px; }
.admin-conversation-inbox__main { gap: 5px; }
.admin-conversation-inbox__topline { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 10px; }
.admin-conversation-inbox__identity { display: grid; align-content: space-between; gap: 3px; min-height: 48px; }
.admin-conversation-inbox__name { font-size: .88rem; line-height: 1.2; }
.admin-conversation-workspace__inbox .admin-conversation-inbox__status { justify-self: start; margin: 0; padding: 2px 6px; border: 1px solid var(--line-strong); border-radius: 999px; background: color-mix(in srgb, var(--paper-deep) 82%, var(--teal) 18%); color: var(--ink); font-size: .58rem; font-weight: 850; letter-spacing: .045em; line-height: 1.2; text-transform: uppercase; white-space: nowrap; }
.admin-conversation-inbox__details { align-self: stretch; min-height: 0; padding: 5px 9px; border-color: var(--line-strong); background: var(--paper-deep); color: var(--ink) !important; font-size: .72rem; line-height: 1.1; }
.admin-conversation-inbox__details:hover, .admin-conversation-inbox__details:focus-visible { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal) 13%, var(--paper-deep)); color: var(--ink) !important; }
.admin-conversation-inbox__summary { color: var(--slate); font-size: .68rem; line-height: 1.2; }
.admin-conversation-inbox__popover { width: min(420px, calc(100vw - 48px)); }
.admin-conversation-inbox__buyer-details { grid-template-columns: minmax(112px, .42fr) minmax(0, 1fr); }

/* Conversation attachment fields share the normal themed form-control treatment. */
.admin-conversation-thread + .admin-form > label:nth-of-type(2) { display: grid; gap: 8px; padding-top: var(--admin-panel-gap); }
.admin-conversation-thread + .admin-form > label:nth-of-type(2) input[type="file"] { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); padding: 8px 10px; border: 1px solid var(--line-strong); border-radius: 7px; background: var(--paper-deep); color: var(--ink); font: inherit; font-size: .78rem; }
.admin-conversation-thread + .admin-form > label:nth-of-type(2) input[type="file"]::file-selector-button { margin-right: 10px; padding: 6px 9px; border: 1px solid var(--orange); border-radius: 5px; background: var(--orange); color: #151719; font: inherit; font-size: .72rem; font-weight: 850; cursor: pointer; }
.admin-conversation-thread + .admin-form > label:nth-of-type(2) input[type="file"]::-webkit-file-upload-button { margin-right: 10px; padding: 6px 9px; border: 1px solid var(--orange); border-radius: 5px; background: var(--orange); color: #151719; font: inherit; font-size: .72rem; font-weight: 850; cursor: pointer; }

/* Button variants must state their own contrast in dark themes; the primary
   button deliberately uses dark text on the bright accent, but secondary
   actions need the normal readable foreground on their dark surface. */
.theme-logo-dark .button--secondary { border-color: var(--line); background: var(--theme-surface, var(--paper)); color: var(--ink); }
.theme-logo-dark .button--secondary:hover, .theme-logo-dark .button--secondary:focus-visible { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 14%, var(--theme-surface, var(--paper))); color: var(--ink); }

/* Basket, Discount Bundle and promotion UI */
.digital-order-components{padding-top:0}.digital-order-components__list{display:grid;gap:.65rem;margin-top:.9rem}.digital-order-components__item{display:flex;justify-content:space-between;gap:1rem;padding:.85rem;border:1px solid var(--line);border-radius:calc(var(--radius) - 2px);background:var(--theme-surface, var(--panel));color:var(--ink)}.digital-order-components__item div:last-child{text-align:right}.digital-order-components__item small{display:block;margin-top:.15rem;color:var(--muted)}.digital-order-components__review-action{display:inline-flex;margin-top:.45rem;color:var(--teal-deep);font-size:.78rem;font-weight:850;text-decoration:underline;text-underline-offset:3px}.digital-order-components__review-action:hover,.digital-order-components__review-action:focus-visible{color:var(--teal);text-shadow:0 0 11px color-mix(in srgb,var(--teal) 60%,transparent);outline:0}
.private-delivery-page .section-heading { max-width: 760px; }.private-delivery-unlock { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; max-width: 720px; gap: var(--ui-space-standard); margin-top: var(--ui-space-standard); padding: var(--ui-space-standard); border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--panel)); }.private-delivery-unlock > label { display: grid; min-width: 0; gap: 6px; margin: 0; color: var(--ink); font-size: .8rem; font-weight: 800; }.private-delivery-unlock > label input { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); margin: 0; padding: 0 11px; border: 1px solid var(--line); border-radius: 6px; outline: none; background: var(--theme-surface-input, var(--surface)); color: var(--ink); font: inherit; }.private-delivery-unlock > label input:focus-visible { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 20%, transparent); }.private-delivery-unlock > .button { min-height: var(--ui-control-height); white-space: nowrap; }.private-delivery-page .digital-order-components__item { background: var(--theme-surface, var(--panel)); color: var(--ink); box-shadow: none; }.private-delivery-page .digital-order-components__item strong { color: var(--ink); }.private-delivery-page .digital-order-components__item form { margin: 0; }.private-delivery-page .digital-order-components__item .button--secondary { border-color: var(--line); background: var(--theme-surface-muted, var(--surface-muted)); color: var(--ink); }.private-delivery-page .digital-order-components__item .button--secondary:hover, .private-delivery-page .digital-order-components__item .button--secondary:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--theme-button-text, #fff); box-shadow: 0 0 14px color-mix(in srgb, var(--teal) 32%, transparent); outline: 0; }
@media (max-width: 600px) { .private-delivery-unlock { grid-template-columns: 1fr; padding: var(--ui-space-standard); }.private-delivery-unlock > .button { width: 100%; justify-content: center; }.private-delivery-page .digital-order-components__item { align-items: stretch; flex-direction: column; }.private-delivery-page .digital-order-components__item div:last-child { text-align: left; }.private-delivery-page .digital-order-components__item .button { width: 100%; justify-content: center; } }

/* Royal Mail Click & Drop labels live inside the existing fulfilment cards. */
.admin-quote-card--fulfilment { min-width: 0; }.royal-mail-shipment { display: grid; min-width: 0; gap: var(--ui-space-standard); margin-top: var(--ui-space-standard); padding: var(--ui-space-standard); border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--paper-deep)); }.royal-mail-shipment__form { margin: 0; }.royal-mail-shipment .admin-section-panel__heading { display: flex; align-items: start; justify-content: space-between; gap: var(--ui-space-standard); }.royal-mail-shipment .admin-section-panel__heading h3 { margin: 0; color: var(--ink); font-size: 1.08rem; }.royal-mail-shipment .admin-section-panel__heading .eyebrow { margin: 0 0 5px; }.royal-mail-shipment .admin-section-panel__heading > span { flex: 0 0 auto; max-width: 48%; padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--slate); font-size: .68rem; font-weight: 800; line-height: 1.2; text-align: right; text-transform: uppercase; }.royal-mail-shipment .admin-form__actions { justify-content: flex-start; flex-wrap: wrap; }.royal-mail-shipment .admin-form__actions form { margin: 0; }.royal-mail-shipment fieldset { display: grid; gap: var(--ui-space-standard); min-width: 0; margin: 0; padding: var(--ui-space-standard); border: 1px solid var(--line); border-radius: 7px; }.royal-mail-shipment legend { padding: 0 6px; color: var(--ink); font-size: .78rem; font-weight: 800; }.theme-logo-dark .royal-mail-shipment { border-color: var(--line); background: var(--theme-surface-muted); }.theme-logo-dark .royal-mail-shipment .admin-section-panel__heading h3, .theme-logo-dark .royal-mail-shipment legend { color: var(--ink); }.theme-logo-dark .royal-mail-shipment .admin-section-panel__heading > span { border-color: var(--line); color: var(--muted); }.theme-logo-dark .royal-mail-shipment fieldset { border-color: var(--line); }@media (max-width: 620px) { .royal-mail-shipment .admin-section-panel__heading { align-items: stretch; flex-direction: column; }.royal-mail-shipment .admin-section-panel__heading > span { max-width: none; align-self: start; text-align: left; }.royal-mail-shipment .admin-form__actions > :is(.button, form) { width: 100%; }.royal-mail-shipment .admin-form__actions form .button { width: 100%; } }

/* Admin-area consolidation: one durable order queue plus lightweight customer and logistics landing pages. */
.admin-orders__legacy-links { display: flex; flex-wrap: wrap; gap: var(--ui-space-compact); margin-top: var(--ui-space-standard); }.admin-orders__legacy-links .button { min-height: var(--ui-control-height); }.admin-orders__filters { display: grid; grid-template-columns: minmax(190px, 1.4fr) repeat(3, minmax(145px, .8fr)); align-items: end; }.admin-orders__filters > .admin-listing-toggle { align-self: end; }.admin-orders__filters > .admin-form__actions { align-self: end; }.admin-orders-workspace { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.65fr); gap: var(--ui-space-standard); align-items: start; }.admin-orders-workspace__list { display: grid; max-height: min(68vh, 740px); gap: 8px; padding-right: 7px; overflow: auto; scrollbar-width: auto; scrollbar-color: var(--teal-deep) var(--theme-surface-muted, var(--paper-deep)); }.admin-orders-workspace__list::-webkit-scrollbar { width: 12px; }.admin-orders-workspace__list::-webkit-scrollbar-thumb { border: 3px solid var(--theme-surface-muted, var(--paper-deep)); border-radius: 999px; background: var(--teal-deep); }.admin-orders__row { display: grid; min-width: 0; gap: 4px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--paper-deep)); color: var(--ink); text-decoration: none; }.admin-orders__row:hover, .admin-orders__row:focus-visible, .admin-orders__row.is-selected { border-color: var(--teal-deep); box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal) 20%, transparent); outline: none; }.admin-orders__row.is-attention { border-color: color-mix(in srgb, var(--orange) 62%, var(--line)); }.admin-orders__row-status { overflow: hidden; color: var(--accent); font-size: .65rem; font-weight: 850; letter-spacing: .06em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }.admin-orders__row strong { overflow: hidden; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }.admin-orders__row > span:not(.admin-orders__row-status), .admin-orders__row small { overflow: hidden; color: var(--muted); font-size: .74rem; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }.admin-orders-workspace__detail { display: grid; min-width: 0; gap: var(--ui-space-standard); padding: var(--ui-space-standard); border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper-deep)); }.admin-orders__detail-heading { display: flex; align-items: start; justify-content: space-between; gap: var(--ui-space-standard); }.admin-orders__detail-heading h3 { margin: 0 0 7px; color: var(--ink); font-size: 1.28rem; }.admin-orders__detail-heading p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .8rem; overflow-wrap: anywhere; }.admin-orders__detail-heading > .admin-quote-card__status { flex: 0 0 auto; margin: 0; }.admin-orders-workspace__detail > .admin-section-panel, .admin-orders-workspace__detail > .royal-mail-shipment, .admin-orders-workspace__detail > .admin-orders__refund { margin: 0; }.admin-orders__component-list { display: grid; gap: 10px; }.admin-orders__component-list > article { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: var(--ui-space-standard); align-items: start; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--paper-deep)); }.admin-orders__component-list strong { display: block; overflow-wrap: anywhere; }.admin-orders__component-list small { display: block; margin-top: 5px; color: var(--muted); font-size: .75rem; }.admin-orders__component-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, .9fr) auto; align-items: end; gap: var(--ui-space-compact); margin: 0; }.admin-orders__component-form .button { min-height: var(--ui-control-height); }.admin-orders__refund { display: grid; gap: var(--ui-space-standard); padding: var(--ui-space-standard); border: 1px solid color-mix(in srgb, var(--orange) 45%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--orange) 7%, var(--theme-surface-muted, var(--paper-deep))); }.admin-orders__refund p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }.admin-customer-workspace-grid .admin-quote-card { min-height: 215px; }.theme-logo-dark .admin-orders-workspace__detail, .theme-logo-dark .admin-orders__row, .theme-logo-dark .admin-orders__component-list > article { border-color: var(--line); background: var(--theme-surface-muted); }.theme-logo-dark .admin-orders__detail-heading h3, .theme-logo-dark .admin-orders__row, .theme-logo-dark .admin-orders__component-list strong { color: var(--ink); }.theme-logo-dark .admin-orders__detail-heading p:not(.eyebrow), .theme-logo-dark .admin-orders__row > span:not(.admin-orders__row-status), .theme-logo-dark .admin-orders__row small, .theme-logo-dark .admin-orders__component-list small, .theme-logo-dark .admin-orders__refund p { color: var(--muted); }
@media (max-width: 1060px) { .admin-orders__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-orders-workspace { grid-template-columns: minmax(230px, .8fr) minmax(0, 1.2fr); }.admin-orders__component-list > article { grid-template-columns: 1fr; }.admin-orders__component-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .admin-orders__filters, .admin-orders-workspace, .admin-orders__component-form { grid-template-columns: 1fr; }.admin-orders-workspace__list { max-height: min(430px, 55vh); }.admin-orders__detail-heading { align-items: stretch; flex-direction: column; }.admin-orders__detail-heading > .admin-quote-card__status { align-self: start; }.admin-orders__legacy-links .button { width: 100%; }.admin-orders__component-form .button { width: 100%; } }
.site-header__basket { margin-left: auto; display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 7px; color: var(--header-text); font: 700 .78rem/1 var(--font-display); letter-spacing: .04em; text-decoration: none; white-space: nowrap; }
.site-header__basket [data-basket-count-badge] { display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 50%; background: var(--teal); color: var(--ink-soft); font-size: .7rem; }
.basket-add-notice { position: fixed; z-index: 120; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; width: min(420px, calc(100vw - 32px)); padding: 14px; border: 1px solid color-mix(in srgb, var(--teal) 60%, var(--line)); border-radius: 10px; background: var(--theme-surface, var(--surface)); box-shadow: 0 14px 34px color-mix(in srgb, var(--ink) 24%, transparent); color: var(--ink); }.basket-add-notice[hidden] { display: none; }.basket-add-notice p { align-self: center; margin: 0; font-size: .79rem; font-weight: 760; line-height: 1.45; }.basket-add-notice .button { min-height: 36px; padding: 8px 11px; font-size: .73rem; white-space: nowrap; }.basket-add-notice.is-error { border-color: color-mix(in srgb, var(--theme-danger, var(--danger)) 62%, var(--line)); }.basket-add-notice.is-error p { color: var(--theme-danger, var(--danger)); }
.commerce-basket__layout { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(260px,.7fr); gap: 24px; align-items: start; }
.commerce-basket__items,.commerce-basket__summary,.commerce-basket__empty { background: var(--theme-surface, var(--surface)); border: 1px solid var(--line); border-radius: 16px; padding: 22px; }
.commerce-basket__minimum { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px 18px; margin: 0 0 18px; padding: 16px 18px; border: 1px solid color-mix(in srgb, var(--orange) 62%, var(--line)); border-radius: 12px; background: color-mix(in srgb, var(--orange) 8%, var(--theme-surface, var(--surface))); }.commerce-basket__minimum .eyebrow,.commerce-basket__minimum h2,.commerce-basket__minimum p { margin: 0; }.commerce-basket__minimum h2 { color: var(--ink); font-size: 1rem; }.commerce-basket__minimum p { grid-column: 1 / 2; color: var(--muted); font-size: .78rem; line-height: 1.45; }.commerce-basket__minimum form { margin: 0; }.commerce-basket__minimum a { color: var(--teal-deep); font-size: .75rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) { .commerce-basket__minimum { grid-template-columns: 1fr; align-items: start; }.commerce-basket__minimum p { grid-column: auto; } }
.commerce-basket__empty { text-align: center; }.commerce-basket__empty>div { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.commerce-basket__item { display: flex; justify-content: space-between; gap: 22px; padding: 18px 0; border-bottom: 1px solid var(--line); }.commerce-basket__item:first-child { padding-top: 0; }.commerce-basket__item:last-of-type { border-bottom: 0; }
.commerce-basket__item h2 { font-size: 1.25rem; margin: .2rem 0; }.commerce-basket__item p { margin: .2rem 0; color: var(--slate); }.commerce-basket__item ul { margin: 9px 0 0; padding-left: 19px; color: var(--slate); font-size: .86rem; }
.commerce-basket__item-controls { min-width: 145px; display: grid; justify-items: end; gap: 8px; }.commerce-basket__item-controls label { display: grid; gap: 5px; color: var(--ink); font-size: .78rem; font-weight: 700; }.commerce-basket__item-controls input { box-sizing: border-box; width: 76px; min-height: var(--ui-control-height); padding: 0 10px; border: 1px solid var(--line); border-radius: 6px; outline: none; background: var(--theme-surface-input, var(--white)); color: var(--ink); font: inherit; font-weight: 650; }.commerce-basket__item-controls input:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 20%, transparent); }.commerce-basket__quantity-control { display: grid; grid-template-columns: minmax(0,1fr) var(--ui-control-height); align-items: end; gap: 8px; }.commerce-basket__remove-item { display: grid; place-items: center; width: var(--ui-control-height); min-width: var(--ui-control-height); min-height: var(--ui-control-height); padding: 0; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface-input, var(--white)); color: var(--theme-danger, #a84835); cursor: pointer; }.commerce-basket__remove-item svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }.commerce-basket__remove-item:hover,.commerce-basket__remove-item:focus-visible { border-color: var(--theme-danger, #a84835); background: color-mix(in srgb, var(--theme-danger, #a84835) 12%, var(--theme-surface-input, var(--white))); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-danger, #a84835) 20%, transparent); }
.commerce-basket__actions,.commerce-basket__remove { margin-top: 18px; display: flex; gap: 12px; align-items: end; flex-wrap: wrap; }.commerce-basket__remove label { display: grid; gap: 6px; min-width: 240px; }
.commerce-basket__remove label { color: var(--ink); font-size: .82rem; font-weight: 820; }.commerce-basket__remove select { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); padding: 0 13px; border: 1px solid var(--line); border-radius: 6px; outline: none; background: var(--theme-surface-input, var(--white)); color: var(--ink); font: inherit; font-weight: 650; }.commerce-basket__remove select:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 20%, transparent); }
.commerce-basket__customisation { display: grid; gap: 10px; margin: 14px 0 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--theme-surface-muted, var(--surface-muted)); }.commerce-basket__customisation p { margin: 0; color: var(--slate); font-size: .84rem; }.commerce-basket__customisation>div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.commerce-basket__customisation label { display: grid; gap: 6px; font-size: .82rem; font-weight: 700; }.commerce-basket__customisation textarea { min-height: 76px; }
.commerce-basket__summary { position: sticky; top: 18px; }.commerce-basket__summary h2 { margin: .3rem 0 1rem; }.commerce-basket__summary dl,.commerce-checkout__line-items { margin: 0 0 18px; }
.commerce-basket__summary dl div,.commerce-checkout__line-items li { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--line); }.commerce-basket__summary dt { color: var(--slate); }.commerce-basket__summary dd { margin: 0; font-weight: 700; }
.commerce-basket__summary .button { width: 100%; justify-content: center; }.commerce-basket__summary small { display: block; margin-top: 10px; color: var(--slate); }.commerce-checkout__line-items { padding: 0; list-style: none; font-size: .88rem; }.commerce-checkout__line-items li { align-items: flex-start; }.commerce-checkout__line-items strong { white-space: nowrap; }
.commerce-basket__offers { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }.commerce-basket__offer-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 16px; margin-top: 16px; }.commerce-basket__offer-grid article { display: grid; align-content: start; gap: 10px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--theme-surface, var(--surface)); }.commerce-basket__offer-grid h3,.commerce-basket__offer-grid p { margin: 0; }.commerce-basket__offer-grid ul { margin: 0; padding-left: 18px; color: var(--slate); font-size: .84rem; }.commerce-basket__offer-grid form { margin-top: 4px; }
.admin-commerce-listing-picker { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--admin-panel-gap); max-height: min(420px,48vh); overflow: auto; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--theme-surface-muted, var(--surface-muted)); scrollbar-color: var(--teal-deep) transparent; scrollbar-width: thin; }.admin-commerce-listing-picker::-webkit-scrollbar { width: 8px; }.admin-commerce-listing-picker::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--teal-deep); background-clip: padding-box; }.admin-commerce-listing-picker>div { display: grid; align-content: start; gap: 7px; }.admin-commerce-listing-picker h3 { margin: 0 0 4px; color: var(--ink); font-size: .95rem; }
.admin-commerce-listing-picker .admin-commerce-listing-picker__item { display: grid; grid-template-columns: 14px minmax(0,1fr) 58px; gap: 8px; align-items: center; min-height: 44px; margin: 0; padding: 8px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface, var(--surface)); color: var(--ink); font-size: .84rem; }.admin-commerce-listing-picker .admin-commerce-listing-picker__item > span { order: 2 !important; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.admin-commerce-listing-picker input.admin-commerce-listing-picker__checkbox { box-sizing: border-box; width: 14px !important; min-width: 14px !important; max-width: 14px; height: 14px !important; min-height: 14px !important; max-height: 14px; margin: 0 !important; padding: 0 !important; accent-color: var(--teal-deep); }.admin-commerce-listing-picker .admin-commerce-listing-picker__quantity { order: 3 !important; width: 58px !important; min-width: 58px; height: 32px !important; min-height: 32px !important; margin: 0 !important; padding: 4px 6px !important; }
.admin-form-group { display: grid; gap: var(--admin-panel-gap); min-inline-size: 0; margin: 0; padding: 14px var(--ui-space-standard) var(--ui-space-standard); border: 1px solid var(--line); border-radius: 10px; background: var(--theme-surface-muted, var(--surface-muted)); }.admin-form-group > legend { max-width: calc(100% - 12px); padding: 0 6px; color: var(--ink); font-family: var(--font-display); font-size: .86rem; font-weight: 800; letter-spacing: .025em; line-height: 1.25; }.admin-form-group > legend span { color: var(--muted); font-family: var(--font-body); font-size: .78rem; font-weight: 650; letter-spacing: normal; }.admin-form-group > * { min-width: 0; }.theme-logo-dark .admin-form-group { border-color: var(--line); background: var(--theme-surface-muted); }
.admin-commerce-bundle-form { gap: var(--admin-panel-gap); }.admin-commerce-bundle-form__feedback { margin: 0; padding: 11px 12px; border: 1px solid color-mix(in srgb, var(--theme-warning, var(--teal)) 60%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--theme-warning, var(--teal)) 10%, var(--theme-surface-muted, var(--surface-muted))); color: var(--ink); font-size: .78rem; font-weight: 760; line-height: 1.45; }.admin-commerce-bundle-price-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: var(--admin-panel-gap); padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--surface-muted)); }.admin-commerce-bundle-price-summary span { display: grid; gap: 3px; color: var(--slate); font-size: .74rem; font-weight: 760; }.admin-commerce-bundle-price-summary strong { color: var(--ink); font-size: 1rem; }.admin-commerce-bundle-price-summary span:last-child strong { color: var(--teal-deep); font-size: 1.12rem; }.admin-commerce-delivery-overrides { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: var(--admin-panel-gap); margin-top: var(--admin-panel-gap); }.admin-commerce-delivery-overrides__zone { display: grid; gap: 12px; min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--surface-muted)); }.admin-commerce-return-controls .admin-quote-card > label { display: grid; gap: 6px; color: var(--ink); font-size: .78rem; font-weight: 800; }.admin-commerce-return-controls .admin-quote-card :is(input:not([type="checkbox"]), select) { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); padding: 0 10px; border: 1px solid var(--line); border-radius: 6px; outline: none; background: var(--theme-surface-input, var(--surface)); color: var(--ink); font: inherit; }.admin-commerce-return-controls .admin-quote-card :is(input:not([type="checkbox"]), select):focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 20%, transparent); }.admin-commerce-card-list { margin-top: var(--admin-panel-gap); }.admin-commerce-card-list > .admin-quote-grid { margin: 0; }.commerce-basket__bundle-saving, .commerce-basket__offer-was, .commerce-basket__offer-saving { margin: 0; color: var(--slate); font-size: .82rem; line-height: 1.45; }.commerce-basket__offer-saving { color: var(--teal-deep); font-weight: 820; }

/* Discount Bundle component selection follows the compact, filterable admin-list pattern. */
.admin-commerce-listing-picker { align-items: start; max-height: none; overflow: visible; padding: 0; border: 0; background: transparent; }
.admin-commerce-listing-picker__section { display: grid; min-width: 0; gap: var(--admin-space-compact); padding: var(--admin-space-compact); border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--surface-muted)); }
.admin-commerce-listing-picker__heading { display: flex; align-items: start; justify-content: space-between; gap: var(--admin-space-compact); }.admin-commerce-listing-picker__heading h3 { margin: 0; }.admin-commerce-listing-picker__heading p { margin: 4px 0 0; color: var(--slate); font-size: .72rem; line-height: 1.4; }.admin-commerce-listing-picker__heading output { flex: 0 0 auto; padding: 3px 6px; border-radius: 99px; background: color-mix(in srgb, var(--teal-deep) 12%, transparent); color: var(--teal-deep); font-size: .65rem; font-weight: 850; white-space: nowrap; }
.admin-commerce-listing-picker__search { display: block; }.admin-commerce-listing-picker__search input { box-sizing: border-box; width: 100%; min-height: var(--admin-control-height); padding: 0 10px; border: 1px solid var(--line); border-radius: 5px; outline: none; background: var(--theme-surface-input, var(--surface)); color: var(--ink); font: inherit; font-size: .78rem; }.admin-commerce-listing-picker__search input:focus-visible { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 20%, transparent); }
.admin-commerce-listing-picker__filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--admin-space-tight); }.admin-commerce-listing-picker__filters label { display: grid; min-width: 0; gap: 4px; color: var(--slate); font-size: .66rem; font-weight: 800; }.admin-commerce-listing-picker__filters select { box-sizing: border-box; width: 100%; min-height: var(--admin-control-height-compact); padding: 0 8px; border: 1px solid var(--line); border-radius: 5px; outline: none; background: var(--theme-surface-input, var(--surface)); color: var(--ink); font: inherit; font-size: .73rem; }.admin-commerce-listing-picker__filters select:focus-visible { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 20%, transparent); }
.admin-commerce-listing-picker__list { display: grid; grid-auto-flow: row; grid-auto-rows: minmax(60px, max-content); align-content: start; min-block-size: 0; max-block-size: min(330px, 40vh); gap: 7px; overflow-x: hidden; overflow-y: auto; padding-right: 4px; scrollbar-color: var(--teal-deep) transparent; scrollbar-width: thin; }.admin-commerce-listing-picker__list::-webkit-scrollbar { width: 8px; }.admin-commerce-listing-picker__list::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--teal-deep); background-clip: padding-box; }.admin-commerce-listing-picker__empty { margin: 0; padding: var(--admin-space-standard); border: 1px dashed var(--line); border-radius: 6px; color: var(--slate); font-size: .75rem; line-height: 1.45; text-align: center; }
.admin-commerce-listing-picker .admin-commerce-listing-picker__item { grid-template-columns: 56px minmax(0, 1fr) 108px; grid-template-rows: minmax(32px, auto); align-content: center; align-self: start; gap: 9px 12px; align-items: center; min-height: 58px; padding: 11px; cursor: pointer; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }.admin-commerce-listing-picker .admin-commerce-listing-picker__item[hidden] { display: none; }.admin-commerce-listing-picker .admin-commerce-listing-picker__item:hover { border-color: color-mix(in srgb, var(--teal-deep) 55%, var(--line)); }.admin-commerce-listing-picker .admin-commerce-listing-picker__item:has(.admin-commerce-listing-picker__checkbox:checked) { border-color: color-mix(in srgb, var(--teal-deep) 60%, var(--line)); background: color-mix(in srgb, var(--teal-deep) 8%, var(--theme-surface, var(--surface))); box-shadow: inset 3px 0 0 var(--teal-deep); }.admin-commerce-listing-picker .admin-commerce-listing-picker__item:has(.admin-commerce-listing-picker__checkbox:focus-visible) { outline: 3px solid color-mix(in srgb, var(--teal) 28%, transparent); outline-offset: 2px; }
.admin-commerce-listing-picker input.admin-commerce-listing-picker__checkbox { position: absolute; width: 1px !important; min-width: 1px !important; height: 1px !important; min-height: 1px !important; margin: -1px !important; overflow: hidden; opacity: 0; }.admin-commerce-listing-picker .admin-commerce-listing-picker__item > .admin-commerce-listing-picker__toggle { order: initial !important; box-sizing: border-box; width: 56px; min-width: 56px; overflow: visible; white-space: normal; }.admin-commerce-listing-picker__toggle { display: grid; min-height: 32px; padding: 0 8px; border: 1px solid var(--line); border-radius: 5px; background: var(--theme-surface, var(--surface)); color: var(--teal-deep); font-size: .66rem; font-weight: 850; place-items: center; }.admin-commerce-listing-picker__toggle [data-bundle-toggle-on] { display: none; }.admin-commerce-listing-picker__checkbox:checked + .admin-commerce-listing-picker__toggle { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--theme-surface, var(--surface)); }.admin-commerce-listing-picker__checkbox:checked + .admin-commerce-listing-picker__toggle [data-bundle-toggle-off] { display: none; }.admin-commerce-listing-picker__checkbox:checked + .admin-commerce-listing-picker__toggle [data-bundle-toggle-on] { display: block; }
.admin-commerce-listing-picker .admin-commerce-listing-picker__item > .admin-commerce-listing-picker__details { grid-column: 2; grid-row: 1; order: initial !important; min-width: 0; overflow: visible; white-space: normal; }.admin-commerce-listing-picker .admin-commerce-listing-picker__details { display: grid; gap: 3px; }.admin-commerce-listing-picker .admin-commerce-listing-picker__details strong, .admin-commerce-listing-picker .admin-commerce-listing-picker__details small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.admin-commerce-listing-picker .admin-commerce-listing-picker__details strong { color: var(--ink); font-size: .78rem; }.admin-commerce-listing-picker .admin-commerce-listing-picker__details small { color: var(--slate); font-size: .68rem; }.admin-commerce-listing-picker .admin-commerce-listing-picker__item > .admin-commerce-listing-picker__quantity { grid-column: 3; grid-row: 1; order: initial !important; width: 108px !important; min-width: 108px; height: 32px !important; min-height: 32px !important; overflow: visible; padding: 0; border: 0; white-space: nowrap; }.admin-commerce-listing-picker__quantity { display: none; grid-template-columns: auto 60px; align-items: center; justify-content: end; gap: 6px; color: var(--slate); font-size: .67rem; font-weight: 800; }.admin-commerce-listing-picker__checkbox:checked ~ .admin-commerce-listing-picker__quantity { display: grid; }.admin-commerce-listing-picker .admin-commerce-listing-picker__quantity input { box-sizing: border-box; width: 60px !important; min-width: 60px; height: 32px !important; min-height: 32px !important; margin: 0 !important; padding: 4px 7px !important; border: 1px solid var(--line); border-radius: 5px; outline: none; background: var(--theme-surface-input, var(--surface)); color: var(--ink); font: inherit; font-size: .76rem; }.admin-commerce-listing-picker .admin-commerce-listing-picker__quantity input:focus-visible { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 20%, transparent); }
.theme-logo-dark .admin-commerce-listing-picker__section, .theme-logo-dark .admin-commerce-listing-picker .admin-commerce-listing-picker__item, .theme-logo-dark .admin-commerce-listing-picker__toggle { border-color: var(--line); background: var(--theme-surface); }.theme-logo-dark .admin-commerce-listing-picker .admin-commerce-listing-picker__item:has(.admin-commerce-listing-picker__checkbox:checked) { background: color-mix(in srgb, var(--teal) 12%, var(--theme-surface-muted)); box-shadow: inset 3px 0 0 var(--teal); }.theme-logo-dark .admin-commerce-listing-picker__heading output, .theme-logo-dark .admin-commerce-listing-picker__toggle { color: var(--teal); }.theme-logo-dark .admin-commerce-listing-picker__checkbox:checked + .admin-commerce-listing-picker__toggle { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--theme-surface); }
@media (max-width: 760px) { .admin-commerce-listing-picker { grid-template-columns: 1fr; }.admin-commerce-listing-picker__filters { grid-template-columns: 1fr; }.admin-commerce-listing-picker__list { max-height: 300px; } }
@media (max-width: 460px) { .admin-commerce-listing-picker .admin-commerce-listing-picker__item { grid-template-columns: 56px minmax(0, 1fr); }.admin-commerce-listing-picker .admin-commerce-listing-picker__item > .admin-commerce-listing-picker__quantity { grid-column: 2; grid-row: auto; width: 100% !important; min-width: 0; margin-top: 2px !important; padding-top: 7px; border-top: 1px solid var(--line); }.admin-commerce-listing-picker__quantity { justify-content: start; } }

/* UI-EXCEPTION: cults3d-migration-review - compact file-review rows inside the one-off private import workspace. See docs/UI-EXCEPTION-REGISTRY.md. */
.cults-migration-expected-list, .cults-migration-conflict-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.cults-migration-expected-list li, .cults-migration-conflict-list li { display: grid; gap: 3px; min-width: 0; padding: 10px 11px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--paper-deep)); }.cults-migration-expected-list strong, .cults-migration-conflict-list strong { overflow-wrap: anywhere; color: var(--ink); font-size: .78rem; }.cults-migration-expected-list small, .cults-migration-conflict-list small { overflow-wrap: anywhere; color: var(--muted); font-size: .72rem; line-height: 1.45; }.cults-migration-conflict-list .is-conflict { border-color: color-mix(in srgb, var(--orange) 60%, var(--line)); }.cults-migration-file-option { display: flex !important; gap: 10px; align-items: flex-start; min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--paper-deep)); color: var(--ink); cursor: pointer; }.cults-migration-file-option:hover { border-color: var(--accent); }.admin-form .cults-migration-file-option input[type="checkbox"] { box-sizing: border-box; display: block; flex: 0 0 16px; width: 16px !important; min-width: 16px !important; max-width: 16px !important; height: 16px !important; min-height: 16px !important; max-height: 16px !important; margin: 3px 0 0 !important; padding: 0 !important; appearance: auto; border: 0; border-radius: 0; background: initial; box-shadow: none; accent-color: var(--accent); }.cults-migration-file-option span { display: grid; min-width: 0; gap: 2px; }.cults-migration-file-option strong, .cults-migration-file-option small { overflow-wrap: anywhere; }.cults-migration-file-option small { color: var(--muted); font-size: .7rem; }.cults-migration-conflicts { margin-top: var(--admin-panel-gap); }
.cults-migration-progress { display: grid; gap: 8px; margin-top: var(--admin-panel-gap); padding: var(--ui-space-standard); border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--paper-deep)); }.cults-migration-progress__heading { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-standard); color: var(--ink); font-size: .82rem; }.cults-migration-progress__heading span { color: var(--accent); font-family: var(--font-display); font-size: .9rem; font-weight: 800; }.cults-migration-progress__track { height: 8px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb, var(--line) 75%, transparent); }.cults-migration-progress__track span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--accent); box-shadow: 0 0 11px color-mix(in srgb, var(--accent) 65%, transparent); transition: width .2s ease; }.cults-migration-progress p, .cults-migration-progress small { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.45; }.cults-migration-progress small { overflow-wrap: anywhere; }

/* Conversation visual system: the thread remains the focal point, with supporting queue/context information kept deliberately compact. */
.buyer-account__conversation-workspace { gap: var(--admin-panel-gap); }.buyer-account__conversation-heading { display: flex; align-items: start; justify-content: space-between; gap: var(--admin-panel-gap); padding-bottom: var(--admin-panel-gap); border-bottom: 1px solid var(--line); }.buyer-account__conversation-heading > div { min-width: 0; }.buyer-account__conversation-heading > div > p:not(.eyebrow) { margin-top: 6px; }.buyer-account__conversation-state { flex: 0 0 auto; max-width: 44%; padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--teal-deep); font-size: .65rem; font-weight: 850; letter-spacing: .045em; line-height: 1.2; text-align: right; text-transform: uppercase; }.buyer-account__conversation-workspace .buyer-account__thread { min-height: 260px; max-height: 520px; gap: 14px; margin: 0; padding: 0 8px 0 0; }.buyer-account__conversation-empty { margin: auto 0; color: var(--muted); font-size: .82rem; line-height: 1.55; text-align: center; }.buyer-account__entry { gap: 6px; max-width: min(680px, 86%); padding: 11px 12px; border-radius: 10px; background: var(--theme-surface-muted, var(--paper)); }.buyer-account__entry--buyer { justify-self: start; border-color: var(--line); background: var(--theme-surface-muted, var(--paper)); }.buyer-account__entry--admin { justify-self: end; border-color: color-mix(in srgb, var(--teal-deep) 45%, var(--line)); background: color-mix(in srgb, var(--teal-deep) 9%, var(--theme-surface-muted, var(--paper))); }.buyer-account__entry-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }.buyer-account__entry-meta strong { color: var(--ink); font-size: .76rem; }.buyer-account__entry-meta time { white-space: nowrap; }.buyer-account__entry--context { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; max-width: 100%; gap: 10px; padding: 10px; border-style: solid; background: var(--theme-surface-muted, var(--paper)); }.buyer-account__context-icon { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid color-mix(in srgb, var(--teal-deep) 42%, var(--line)); border-radius: 7px; background: color-mix(in srgb, var(--teal-deep) 14%, transparent); color: var(--teal-deep); font-size: .61rem; font-weight: 900; letter-spacing: .04em; }.buyer-account__context-copy { display: grid; min-width: 0; gap: 2px; }.buyer-account__context-copy small { color: var(--muted); font-size: .62rem; font-weight: 780; letter-spacing: .045em; text-transform: uppercase; }.buyer-account__context-copy strong { overflow: hidden; color: var(--ink); font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }.buyer-account__context-copy span { overflow: hidden; color: var(--muted); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }.buyer-account__context-link { color: var(--teal-deep); font-size: .71rem; font-weight: 850; text-decoration: none; }.buyer-account__context-link:hover, .buyer-account__context-link:focus-visible { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; outline: 0; }.buyer-account__compose { gap: 9px; margin-top: 0; padding-top: var(--admin-panel-gap); border-top: 1px solid var(--line); }.buyer-account__compose > label:first-of-type { gap: 6px; }.buyer-account__compose textarea[name="body"] { min-height: var(--ui-control-height); height: var(--ui-control-height); padding: 10px 11px; resize: none; }.buyer-account__compose > button.button { justify-self: end; min-height: 38px; }.buyer-account__attachments { display: flex; flex-wrap: wrap; gap: 7px; margin: 1px 0 0; padding: 0; list-style: none; }.buyer-account__attachments li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 7px; min-width: 0; max-width: 100%; padding: 5px 7px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface, var(--surface)); }.buyer-account__attachments li > a:not(.buyer-account__attachment-image):not(.buyer-account__attachment-download) { overflow: hidden; color: var(--teal-deep); font-size: .69rem; font-weight: 780; text-overflow: ellipsis; white-space: nowrap; }.buyer-account__attachment-download { color: var(--muted); font-size: .64rem; font-weight: 780; }.buyer-account__attachments li > small { display: none; }.buyer-account__attachments .buyer-account__attachment-image { display: block; width: 34px; height: 34px; overflow: hidden; border-radius: 4px; }.buyer-account__attachments .buyer-account__attachment-image img { display: block; width: 100%; height: 100%; object-fit: cover; }

.admin-conversation-workspace { grid-template-columns: minmax(260px, .34fr) 12px minmax(0, 1.66fr); min-height: min(720px, 74vh); }.admin-conversation-workspace__inbox { gap: 14px; padding: 0 var(--admin-panel-gap) 0 0; border-right: 1px solid var(--line); border-left: 0; }.admin-conversation-workspace__detail { grid-template-columns: minmax(0, 1fr) 230px; align-content: stretch; gap: var(--admin-panel-gap); padding: 0 0 0 var(--admin-panel-gap); }.admin-conversation-workspace__conversation { display: grid; align-content: start; gap: var(--admin-panel-gap); min-width: 0; }.admin-conversation-workspace__detail .admin-editor__heading { display: flex; align-items: start; justify-content: space-between; gap: var(--admin-panel-gap); margin: 0; padding-bottom: var(--admin-panel-gap); border-bottom: 1px solid var(--line); }.admin-conversation-workspace__detail .admin-editor__heading h2 { margin: 0; }.admin-conversation-workspace__detail .admin-editor__heading p:last-child { margin: 6px 0 0; color: var(--muted); }.admin-conversation-workspace__detail .admin-conversation-thread { min-height: 300px; max-height: min(480px, 52vh); }.admin-conversation-workspace__context { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper-deep)); }.admin-conversation-workspace__context .eyebrow { margin: 0; }.admin-conversation-workspace__context h3 { margin: 0; color: var(--ink); font-size: .98rem; }.admin-conversation-workspace__facts { display: grid; gap: 8px; margin: 0; }.admin-conversation-workspace__facts > div { display: grid; gap: 2px; padding-top: 8px; border-top: 1px solid var(--line); }.admin-conversation-workspace__facts dt { color: var(--muted); font-size: .62rem; font-weight: 820; letter-spacing: .045em; text-transform: uppercase; }.admin-conversation-workspace__facts dd { margin: 0; overflow-wrap: anywhere; color: var(--ink); font-size: .73rem; font-weight: 740; }.admin-conversation-workspace__context > a { color: var(--teal-deep); font-size: .71rem; font-weight: 850; text-decoration: none; }.admin-conversation-workspace__context > a:hover, .admin-conversation-workspace__context > a:focus-visible { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; outline: 0; }.admin-conversation-workspace__inbox .admin-items__heading { display: grid; gap: 10px; }.admin-conversation-workspace__inbox .admin-items__heading > div { display: grid; gap: 0; }.admin-conversation-workspace__inbox .admin-items__heading p:last-child { max-width: 280px; }.admin-conversation-inbox__search { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); padding: 0 11px; border: 1px solid var(--line); border-radius: 7px; outline: 0; background: var(--theme-surface-input, var(--paper-deep)); color: var(--ink); font: inherit; font-size: .79rem; }.admin-conversation-inbox__search:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent); }.admin-conversation-inbox__views { display: flex; flex-wrap: wrap; gap: 6px; }.admin-conversation-inbox__view { min-height: 27px; padding: 4px 7px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--muted); font: 800 .62rem/1 var(--font-body); cursor: pointer; }.admin-conversation-inbox__view.is-active, .admin-conversation-inbox__view:hover, .admin-conversation-inbox__view:focus-visible { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 13%, transparent); color: var(--ink); outline: 0; }.admin-conversation-workspace__inbox .admin-quote-grid { height: min(520px, 62vh); gap: 8px; padding-right: 5px; }.admin-conversation-workspace__inbox .admin-quote-card { min-height: 74px; padding: 10px 11px; border-radius: 8px; background: var(--theme-surface-muted, var(--paper-deep)); }.admin-conversation-inbox__main { gap: 4px; }.admin-conversation-inbox__topline { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 7px; align-items: start; }.admin-conversation-inbox__identity { gap: 4px; }.admin-conversation-inbox__name { font-size: .84rem; }.admin-conversation-inbox__unread-marker { width: 7px; height: 7px; margin-top: 5px; border-radius: 50%; background: var(--teal-deep); box-shadow: 0 0 9px color-mix(in srgb, var(--teal) 70%, transparent); }.admin-conversation-inbox__details { min-height: 33px; padding: 6px 8px; color: var(--teal-deep) !important; font-size: .67rem; }.admin-conversation-inbox__summary { color: var(--muted); font-size: .69rem; }.admin-conversation-inbox__updated { color: var(--muted); font-size: .63rem; }.admin-conversation-workspace__inbox .admin-conversation-workspace__item.is-selected { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 10%, var(--theme-surface-muted, var(--paper-deep))); box-shadow: inset 3px 0 0 var(--teal-deep); }

/* ui-exception: fixed-conversation-dock — fixed floating chats provide
   unobtrusive, viewport-bounded message access outside their full workspaces. */
.admin-conversation-dock { position: fixed; z-index: 70; right: 20px; bottom: 20px; display: grid; justify-items: end; gap: 10px; }.admin-conversation-dock__toggle { position: relative; display: inline-flex; min-height: 48px; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid var(--teal-deep); border-radius: 999px; background: var(--theme-surface, var(--surface)); color: var(--ink); box-shadow: 0 10px 28px rgb(0 0 0 / 24%); font: 820 .74rem/1 var(--font-body); cursor: pointer; }.admin-conversation-dock__toggle:hover, .admin-conversation-dock__toggle:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent), 0 10px 28px rgb(0 0 0 / 24%); outline: 0; }.admin-conversation-dock__icon { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--teal-deep) 17%, transparent); color: var(--teal-deep); font-size: .92rem; }.admin-conversation-dock__count { display: grid; min-width: 19px; height: 19px; place-items: center; padding: 0 4px; border-radius: 999px; background: var(--teal-deep); color: var(--theme-button-text, #fff); font-size: .61rem; }.admin-conversation-dock.has-unread .admin-conversation-dock__toggle { box-shadow: 0 0 19px color-mix(in srgb, var(--teal) 48%, transparent), 0 10px 28px rgb(0 0 0 / 24%); }.admin-conversation-dock__panel { width: min(420px, calc(100vw - 32px)); height: min(660px, calc(100vh - 104px)); overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--theme-surface, var(--surface)); box-shadow: 0 20px 55px rgb(0 0 0 / 36%); }.admin-conversation-dock__header { display: flex; align-items: start; justify-content: space-between; gap: 12px; padding: 14px; border-bottom: 1px solid var(--line); background: var(--theme-surface-muted, var(--paper-deep)); }.admin-conversation-dock__header .eyebrow,.admin-conversation-dock__header h2 { margin: 0; }.admin-conversation-dock__header h2 { color: var(--ink); font-size: 1.15rem; }.admin-conversation-dock__header-actions { display: flex; align-items: center; gap: 10px; }.admin-conversation-dock__header-actions a { color: var(--teal-deep); font-size: .66rem; font-weight: 850; text-decoration: none; white-space: nowrap; }.admin-conversation-dock__header-actions a:hover { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; }.admin-conversation-dock__close { width: 28px; height: 28px; padding: 0; border: 1px solid var(--line); border-radius: 6px; background: transparent; color: var(--ink); font: 500 1.1rem/1 var(--font-body); cursor: pointer; }.admin-conversation-dock__close:hover,.admin-conversation-dock__close:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: 0; }.admin-conversation-dock__inbox { display: grid; align-content: start; gap: 7px; max-height: calc(100% - 66px); padding: 10px; overflow: auto; scrollbar-color: var(--teal-deep) transparent; scrollbar-width: auto; }.admin-conversation-dock__inbox::-webkit-scrollbar,.admin-conversation-dock__history::-webkit-scrollbar { width: 11px; }.admin-conversation-dock__inbox::-webkit-scrollbar-thumb,.admin-conversation-dock__history::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: var(--teal-deep); background-clip: padding-box; }.admin-conversation-dock__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 9px; min-width: 0; min-height: 75px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--paper-deep)); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }.admin-conversation-dock__row:hover,.admin-conversation-dock__row:focus-visible,.admin-conversation-dock__row.is-selected { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 9%, var(--theme-surface-muted, var(--paper-deep))); outline: 0; }.admin-conversation-dock__row.is-selected { box-shadow: inset 3px 0 0 var(--teal-deep); }.admin-conversation-dock__row-top { display: flex; min-width: 0; align-items: center; gap: 6px; }.admin-conversation-dock__row-top strong { overflow: hidden; font-size: .83rem; text-overflow: ellipsis; white-space: nowrap; }.admin-conversation-dock__row-marker { display: none; width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--teal-deep); }.admin-conversation-dock__row.is-unread .admin-conversation-dock__row-marker { display: block; }.admin-conversation-dock__row-status { width: fit-content; align-self: start; padding: 3px 6px; border: 1px solid var(--line); border-radius: 999px; color: var(--teal-deep); font-size: .58rem; font-weight: 850; letter-spacing: .04em; line-height: 1.2; text-transform: uppercase; white-space: nowrap; }.admin-conversation-dock__row-preview { grid-column: 1 / -1; overflow: hidden; color: var(--muted); font-size: .69rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }.admin-conversation-dock__row small { color: var(--muted); font-size: .61rem; }.admin-conversation-dock__empty { margin: 0; padding: 22px 14px; color: var(--muted); font-size: .78rem; line-height: 1.5; text-align: center; }.admin-conversation-dock__thread { display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; height: calc(100% - 66px); }.admin-conversation-dock__thread-header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 9px; align-items: start; padding: 11px 12px; border-bottom: 1px solid var(--line); }.admin-conversation-dock__back { min-height: 29px; padding: 5px 7px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: var(--teal-deep); font: 800 .65rem/1 var(--font-body); cursor: pointer; }.admin-conversation-dock__thread-header .eyebrow,.admin-conversation-dock__thread-header h3 { margin: 0; }.admin-conversation-dock__thread-header h3 { overflow: hidden; color: var(--ink); font-size: .92rem; text-overflow: ellipsis; white-space: nowrap; }.admin-conversation-dock__state { max-width: 122px; padding: 4px 6px; border: 1px solid var(--line); border-radius: 999px; color: var(--teal-deep); font-size: .57rem; font-weight: 850; letter-spacing: .04em; line-height: 1.2; text-align: right; text-transform: uppercase; }.admin-conversation-dock__history { display: grid; align-content: start; gap: 11px; min-height: 0; padding: 12px 8px 12px 12px; overflow: auto; scrollbar-color: var(--teal-deep) transparent; scrollbar-width: auto; }.admin-conversation-dock__date { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: .59rem; font-weight: 820; letter-spacing: .075em; text-transform: uppercase; }.admin-conversation-dock__date::before,.admin-conversation-dock__date::after { height: 1px; flex: 1; background: var(--line); content: ''; }.admin-conversation-dock__context { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--paper-deep)); }.admin-conversation-dock__context-icon { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid color-mix(in srgb, var(--teal-deep) 42%, var(--line)); border-radius: 5px; color: var(--teal-deep); font-size: .56rem; font-weight: 900; }.admin-conversation-dock__context small,.admin-conversation-dock__context strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.admin-conversation-dock__context small { color: var(--muted); font-size: .57rem; font-weight: 750; text-transform: uppercase; }.admin-conversation-dock__context strong { margin-top: 2px; color: var(--ink); font-size: .69rem; }.admin-conversation-dock__context a { color: var(--teal-deep); font-size: .64rem; font-weight: 850; }.admin-conversation-dock__message { display: grid; gap: 4px; max-width: 88%; }.admin-conversation-dock__message.is-admin { justify-self: end; }.admin-conversation-dock__message-meta { color: var(--muted); font-size: .61rem; }.admin-conversation-dock__message.is-admin .admin-conversation-dock__message-meta { text-align: right; }.admin-conversation-dock__bubble { padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper-deep)); color: var(--ink); font-size: .75rem; line-height: 1.5; white-space: pre-wrap; }.admin-conversation-dock__message.is-admin .admin-conversation-dock__bubble { border-color: color-mix(in srgb, var(--teal-deep) 45%, var(--line)); background: color-mix(in srgb, var(--teal-deep) 9%, var(--theme-surface-muted, var(--paper-deep))); }.admin-conversation-dock__attachments { display: flex; flex-wrap: wrap; gap: 6px; }.admin-conversation-dock__attachment { display: inline-flex; align-items: center; gap: 5px; min-width: 0; max-width: 100%; padding: 4px 6px; border: 1px solid var(--line); border-radius: 5px; color: var(--teal-deep); font-size: .62rem; font-weight: 760; text-decoration: none; }.admin-conversation-dock__thread-notice { margin: 0 12px 8px; color: var(--accent); font-size: .71rem; line-height: 1.45; }.admin-conversation-dock__composer { display: grid; gap: 8px; padding: 10px 12px 12px; border-top: 1px solid var(--line); background: var(--theme-surface-muted, var(--paper-deep)); }.admin-conversation-dock__composer textarea { box-sizing: border-box; width: 100%; min-height: 42px; max-height: 180px; padding: 10px; border: 1px solid var(--line); border-radius: 7px; outline: 0; background: var(--theme-surface-input, var(--surface)); color: var(--ink); font: inherit; font-size: .76rem; resize: none; }.admin-conversation-dock__composer textarea:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent); }.admin-conversation-dock__composer-controls { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.admin-conversation-dock__attach { overflow: hidden; color: var(--muted); font-size: .65rem; font-weight: 760; cursor: pointer; }.admin-conversation-dock__attach input { display: block; max-width: 185px; margin-top: 4px; color: var(--muted); font-size: .61rem; }.admin-conversation-dock__send { min-height: 34px; padding: 7px 10px; border: 1px solid var(--teal-deep); border-radius: 6px; background: var(--teal-deep); color: var(--theme-button-text, #fff); font: 820 .67rem/1 var(--font-body); cursor: pointer; }.admin-conversation-dock__send:hover:not(:disabled),.admin-conversation-dock__send:focus-visible { box-shadow: 0 0 14px color-mix(in srgb, var(--teal) 60%, transparent); outline: 0; }.admin-conversation-dock__send:disabled { cursor: wait; opacity: .7; }
@media (max-width: 980px) { .admin-conversation-workspace__detail { grid-template-columns: 1fr; }.admin-conversation-workspace__context { display: none; } }.admin-conversation-workspace__splitter:focus-visible { outline: 2px solid var(--teal-deep); outline-offset: -2px; }@media (max-width: 900px) { .admin-conversation-workspace { grid-template-columns: 1fr; gap: var(--admin-panel-gap); min-height: 0; }.admin-conversation-workspace__inbox { padding: 0 0 var(--admin-panel-gap); border-right: 0; border-bottom: 1px solid var(--line); }.admin-conversation-workspace__detail { padding: 0; }.admin-conversation-workspace__splitter { display: none; }.admin-conversation-workspace__inbox .admin-quote-grid { height: min(360px, 48vh); } }.admin-conversation-dock__toggle:focus-visible,.admin-conversation-dock__row:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }@media (max-width: 560px) { .buyer-account__conversation-heading { display: grid; }.buyer-account__conversation-state { max-width: none; justify-self: start; text-align: left; }.buyer-account__entry,.buyer-account__entry--context { max-width: 100%; }.buyer-account__entry--context { grid-template-columns: 38px minmax(0, 1fr); }.buyer-account__context-icon { width: 38px; height: 38px; }.buyer-account__context-link { grid-column: 2; }.buyer-account__compose > button.button { width: 100%; justify-self: stretch; }.admin-conversation-dock { right: 12px; bottom: 12px; }.admin-conversation-dock__panel { width: min(100vw - 24px, 420px); height: min(690px, calc(100vh - 84px)); }.admin-conversation-dock__label { display: none; } }
.admin-dashboard-panel[data-dashboard-panel-id="review-queue"] > .admin-quote-grid { max-height: var(--review-queue-visible-row-height, none); margin: 0; padding-right: 6px; overflow-y: auto; scrollbar-color: var(--line) transparent; scrollbar-width: thin; }.admin-dashboard-panel[data-dashboard-panel-id="shipping-profile-library"] > .admin-quote-grid { max-height: min(420px,48vh); margin: 0; padding-right: 6px; overflow-y: auto; scrollbar-color: var(--line) transparent; scrollbar-width: thin; }.admin-dashboard-panel[data-dashboard-panel-id="review-queue"] > .admin-quote-grid::-webkit-scrollbar, .admin-dashboard-panel[data-dashboard-panel-id="shipping-profile-library"] > .admin-quote-grid::-webkit-scrollbar { width: 8px; }.admin-dashboard-panel[data-dashboard-panel-id="review-queue"] > .admin-quote-grid::-webkit-scrollbar-thumb, .admin-dashboard-panel[data-dashboard-panel-id="shipping-profile-library"] > .admin-quote-grid::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--line); background-clip: padding-box; }
.admin-orders__filter-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ui-space-standard); padding-top: 2px; }.admin-orders__filter-actions > .admin-listing-toggle { flex: 0 1 390px; margin: 0; }.admin-orders__filter-actions > .admin-form__actions { justify-content: flex-end; margin: 0; padding: 0; }.admin-orders__filter-actions .button { min-height: var(--ui-control-height); }@media (max-width: 760px) { .admin-orders__filter-actions { align-items: stretch; flex-direction: column; }.admin-orders__filter-actions > .admin-listing-toggle { flex-basis: auto; }.admin-orders__filter-actions > .admin-form__actions { justify-content: stretch; }.admin-orders__filter-actions > .admin-form__actions .button { flex: 1 1 auto; } }

/* Buyer conversation dock: a compact version of My Account messages for signed-in buyers outside their account area. */
.buyer-conversation-dock { position: fixed; z-index: 80; right: 20px; bottom: 20px; display: grid; justify-items: end; gap: 10px; }.buyer-conversation-dock__toggle { position: relative; display: inline-flex; min-height: 48px; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid var(--teal-deep); border-radius: 999px; background: var(--theme-surface, var(--surface)); color: var(--ink); box-shadow: 0 10px 28px rgb(0 0 0 / 24%); font: 820 .74rem/1 var(--font-body); cursor: pointer; }.buyer-conversation-dock__toggle:hover,.buyer-conversation-dock__toggle:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent),0 10px 28px rgb(0 0 0 / 24%); outline: 0; }.buyer-conversation-dock__icon { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--teal-deep) 17%, transparent); color: var(--teal-deep); font-size: .92rem; }.buyer-conversation-dock__count { display: grid; min-width: 19px; height: 19px; place-items: center; padding: 0 4px; border-radius: 999px; background: var(--teal-deep); color: var(--theme-button-text, #fff); font-size: .61rem; }.buyer-conversation-dock.has-unread .buyer-conversation-dock__toggle { box-shadow: 0 0 19px color-mix(in srgb, var(--teal) 48%, transparent),0 10px 28px rgb(0 0 0 / 24%); }.buyer-conversation-dock__panel { width: min(420px,calc(100vw - 32px)); height: min(660px,calc(100vh - 104px)); overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--theme-surface, var(--surface)); box-shadow: 0 20px 55px rgb(0 0 0 / 36%); }.buyer-conversation-dock__header { display: flex; align-items: start; justify-content: space-between; gap: 12px; padding: 14px; border-bottom: 1px solid var(--line); background: var(--theme-surface-muted, var(--paper-deep)); }.buyer-conversation-dock__header .eyebrow,.buyer-conversation-dock__header h2 { margin: 0; }.buyer-conversation-dock__header h2 { color: var(--ink); font-size: 1.15rem; }.buyer-conversation-dock__header-actions { display: flex; align-items: center; gap: 10px; }.buyer-conversation-dock__header-actions a { color: var(--teal-deep); font-size: .66rem; font-weight: 850; text-decoration: none; white-space: nowrap; }.buyer-conversation-dock__header-actions a:hover,.buyer-conversation-dock__header-actions a:focus-visible { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; outline: 0; }.buyer-conversation-dock__close { width: 28px; height: 28px; padding: 0; border: 1px solid var(--line); border-radius: 6px; background: transparent; color: var(--ink); font: 500 1.1rem/1 var(--font-body); cursor: pointer; }.buyer-conversation-dock__close:hover,.buyer-conversation-dock__close:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: 0; }
.buyer-conversation-dock__thread { display: grid; grid-template-rows: auto minmax(0,1fr) auto auto; height: calc(100% - 66px); }.buyer-conversation-dock__thread-header { display: flex; align-items: start; justify-content: space-between; gap: 10px; padding: 11px 12px; border-bottom: 1px solid var(--line); }.buyer-conversation-dock__thread-header .eyebrow,.buyer-conversation-dock__thread-header h3 { margin: 0; }.buyer-conversation-dock__thread-header h3 { overflow: hidden; color: var(--ink); font-size: .92rem; text-overflow: ellipsis; white-space: nowrap; }.buyer-conversation-dock__state { max-width: 138px; padding: 4px 6px; border: 1px solid var(--line); border-radius: 999px; color: var(--teal-deep); font-size: .57rem; font-weight: 850; letter-spacing: .04em; line-height: 1.2; text-align: right; text-transform: uppercase; }.buyer-conversation-dock__history { display: grid; align-content: start; gap: 11px; min-height: 0; padding: 12px 8px 12px 12px; overflow: auto; scrollbar-color: var(--teal-deep) transparent; scrollbar-width: auto; }.buyer-conversation-dock__history::-webkit-scrollbar { width: 11px; }.buyer-conversation-dock__history::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: var(--teal-deep); background-clip: padding-box; }.buyer-conversation-dock__empty { margin: auto 4px; color: var(--muted); font-size: .76rem; line-height: 1.55; text-align: center; }.buyer-conversation-dock__date { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: .59rem; font-weight: 820; letter-spacing: .075em; text-transform: uppercase; }.buyer-conversation-dock__date::before,.buyer-conversation-dock__date::after { height: 1px; flex: 1; background: var(--line); content: ''; }.buyer-conversation-dock__context { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 8px; align-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--paper-deep)); }.buyer-conversation-dock__context-icon { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid color-mix(in srgb, var(--teal-deep) 42%, var(--line)); border-radius: 5px; color: var(--teal-deep); font-size: .56rem; font-weight: 900; }.buyer-conversation-dock__context small,.buyer-conversation-dock__context strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.buyer-conversation-dock__context small { color: var(--muted); font-size: .57rem; font-weight: 750; text-transform: uppercase; }.buyer-conversation-dock__context strong { margin-top: 2px; color: var(--ink); font-size: .69rem; }.buyer-conversation-dock__context a { color: var(--teal-deep); font-size: .64rem; font-weight: 850; }.buyer-conversation-dock__message { display: grid; gap: 4px; max-width: 88%; }.buyer-conversation-dock__message.is-admin { justify-self: end; }.buyer-conversation-dock__message-meta { color: var(--muted); font-size: .61rem; }.buyer-conversation-dock__message.is-admin .buyer-conversation-dock__message-meta { text-align: right; }.buyer-conversation-dock__bubble { padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper-deep)); color: var(--ink); font-size: .75rem; line-height: 1.5; white-space: pre-wrap; }.buyer-conversation-dock__message.is-admin .buyer-conversation-dock__bubble { border-color: color-mix(in srgb,var(--teal-deep) 45%,var(--line)); background: color-mix(in srgb,var(--teal-deep) 9%,var(--theme-surface-muted,var(--paper-deep))); }.buyer-conversation-dock__attachments { display: flex; flex-wrap: wrap; gap: 6px; }.buyer-conversation-dock__attachment { display: inline-flex; align-items: center; gap: 5px; min-width: 0; max-width: 100%; padding: 4px 6px; border: 1px solid var(--line); border-radius: 5px; color: var(--teal-deep); font-size: .62rem; font-weight: 760; text-decoration: none; }.buyer-conversation-dock__attachment span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.buyer-conversation-dock__attachment img { width: 28px; height: 28px; border-radius: 3px; object-fit: cover; }
.buyer-conversation-dock__thread-notice { margin: 0 12px 8px; color: var(--accent); font-size: .71rem; line-height: 1.45; }.buyer-conversation-dock__composer { display: grid; gap: 8px; padding: 10px 12px 12px; border-top: 1px solid var(--line); background: var(--theme-surface-muted, var(--paper-deep)); }.buyer-conversation-dock__composer textarea { box-sizing: border-box; width: 100%; min-height: 42px; max-height: 180px; padding: 10px; border: 1px solid var(--line); border-radius: 7px; outline: 0; background: var(--theme-surface-input, var(--surface)); color: var(--ink); font: inherit; font-size: .76rem; resize: none; }.buyer-conversation-dock__composer textarea:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb,var(--teal) 18%,transparent); }.buyer-conversation-dock__composer-controls { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.buyer-conversation-dock__attach { overflow: hidden; color: var(--muted); font-size: .68rem; font-weight: 800; cursor: pointer; }.buyer-conversation-dock__attach input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }.buyer-conversation-dock__attach:hover,.buyer-conversation-dock__attach:focus-within { color: var(--teal-deep); text-decoration: underline; text-underline-offset: 3px; }.buyer-conversation-dock__send { min-height: 34px; padding: 7px 10px; border: 1px solid var(--teal-deep); border-radius: 6px; background: var(--teal-deep); color: var(--theme-button-text,#fff); font: 850 .68rem/1 var(--font-body); cursor: pointer; }.buyer-conversation-dock__send:hover,.buyer-conversation-dock__send:focus-visible { border-color: var(--teal); background: var(--teal); box-shadow: 0 0 14px color-mix(in srgb,var(--teal) 42%,transparent); outline: 0; }.buyer-conversation-dock__send:disabled { cursor: wait; opacity: .65; }
@media (max-width: 560px) { .buyer-conversation-dock { right: 12px; bottom: 12px; }.buyer-conversation-dock__panel { width: min(100vw - 24px,420px); height: min(690px,calc(100vh - 84px)); }.buyer-conversation-dock__label { display: none; }.buyer-conversation-dock__state { max-width: 118px; } }

/* Conversation workspace refinement: a compact default view keeps the reply controls and thread easy to find. */
.admin-conversation-workspace { min-height: min(610px, 66vh); }.admin-conversation-workspace__detail .admin-conversation-thread { min-height: 220px; max-height: min(360px, 42vh); margin: 0; padding: 0 8px 0 0; }.admin-conversation-workspace__history-panel { display: grid; gap: 10px; padding: 12px 8px 12px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper-deep)); }.admin-conversation-workspace__history-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-right: 4px; }.admin-conversation-workspace__history-heading > div { color: var(--ink); font-size: .76rem; font-weight: 850; }.admin-conversation-workspace__history-heading > small { color: var(--muted); font-size: .64rem; font-weight: 760; }.admin-conversation-workspace__composer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper-deep)); }.admin-conversation-workspace__composer > label { display: grid; gap: 6px; min-width: 0; color: var(--ink); font-size: .76rem; font-weight: 800; }.admin-conversation-workspace__reply-textarea { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); height: var(--ui-control-height); max-height: 180px; padding: 10px 11px; resize: none; }.admin-conversation-workspace__composer > .button { min-height: var(--ui-control-height); }.admin-conversation-workspace__reply-options { display: block; margin: 0; padding: 0; overflow: hidden; }.admin-conversation-workspace__reply-options > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px; cursor: pointer; list-style: none; }.admin-conversation-workspace__reply-options > summary::-webkit-details-marker { display: none; }.admin-conversation-workspace__reply-options > summary::after { color: var(--teal-deep); content: '+'; font-size: 1.1rem; font-weight: 700; }.admin-conversation-workspace__reply-options[open] > summary { border-bottom: 1px solid var(--line); }.admin-conversation-workspace__reply-options[open] > summary::after { content: '−'; }.admin-conversation-workspace__reply-options > summary > span { color: var(--ink); font-size: .77rem; font-weight: 850; }.admin-conversation-workspace__reply-options > summary > small { margin-left: auto; color: var(--muted); font-size: .64rem; font-weight: 730; }.admin-conversation-workspace__reply-options-content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 12px; padding: 12px; }.admin-conversation-workspace__reply-options-content > label,.admin-conversation-workspace__reply-options-content > form { min-width: 0; margin: 0; }.admin-conversation-workspace__reply-options-content > form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; }.admin-conversation-workspace__reply-options-content > form .button { min-height: var(--ui-control-height); }.admin-conversation-workspace__history-panel .buyer-account__thread { overscroll-behavior: contain; }

details.admin-section-panel.admin-conversation-workspace__reply-options { display: block; min-height: 0; margin: 0; padding: 0 !important; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface, var(--paper)); box-shadow: 0 8px 20px rgb(0 0 0 / 10%); }.theme-logo-dark details.admin-section-panel.admin-conversation-workspace__reply-options { border-color: var(--line); background: var(--theme-surface); box-shadow: 0 10px 24px rgb(0 0 0 / 18%); }.admin-conversation-workspace__reply-options > summary { min-height: 42px; box-sizing: border-box; padding: 11px 12px; background: var(--theme-surface-muted, var(--paper-deep)); }.admin-conversation-workspace__reply-options[open] > summary { background: var(--theme-surface, var(--paper)); }.admin-conversation-workspace__reply-options-content { padding: 12px; background: var(--theme-surface, var(--paper)); }

/* Fixed chats keep their composer visibly anchored at the bottom of a taller, self-contained chat panel. */
.admin-conversation-dock__toggle[hidden],.buyer-conversation-dock__toggle[hidden],.admin-conversation-dock__panel[hidden],.buyer-conversation-dock__panel[hidden],.admin-conversation-dock__inbox[hidden],.admin-conversation-dock__thread[hidden],.buyer-conversation-dock__thread[hidden] { display: none !important; }
.admin-conversation-dock__panel,.buyer-conversation-dock__panel { height: min(720px, calc(100vh - 104px)); }.admin-conversation-dock__history,.buyer-conversation-dock__history { margin: 10px 12px; padding: 12px 8px 12px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper-deep)); overscroll-behavior: contain; }.admin-conversation-dock__composer,.buyer-conversation-dock__composer { margin: 0 12px 12px; padding: 8px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper-deep)); }.admin-conversation-dock__composer-controls,.buyer-conversation-dock__composer-controls { display: grid; grid-template-columns: auto minmax(0, 1fr) 38px; align-items: end; gap: 8px; }.admin-conversation-dock__composer-controls textarea,.buyer-conversation-dock__composer-controls textarea { min-width: 0; min-height: 38px; height: 38px; padding: 8px 9px; }.admin-conversation-dock__attach,.buyer-conversation-dock__attach { display: grid; min-width: 46px; min-height: 38px; place-items: center; padding: 0 7px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface, var(--surface)); color: var(--teal-deep); font-size: .61rem; font-weight: 850; text-decoration: none; }.admin-conversation-dock__attach input,.buyer-conversation-dock__attach input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }.admin-conversation-dock__attach:hover,.admin-conversation-dock__attach:focus-within,.buyer-conversation-dock__attach:hover,.buyer-conversation-dock__attach:focus-within { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 9%, var(--theme-surface, var(--surface))); color: var(--teal-deep); text-decoration: none; }.admin-conversation-dock__send,.buyer-conversation-dock__send { display: grid; width: 38px; min-height: 38px; place-items: center; padding: 0; border-radius: 6px; font-size: .92rem; }.admin-conversation-dock__thread,.buyer-conversation-dock__thread { grid-template-rows: auto minmax(0, 1fr) auto auto; }.admin-conversation-dock.is-open,.buyer-conversation-dock.is-open { gap: 0; }

/* The compact dock launcher can be parked clear of a page control; the full
   chat panel always returns to its canonical viewport-safe corner. */
.admin-conversation-dock:not(.is-open) .admin-conversation-dock__toggle,.buyer-conversation-dock:not(.is-open) .buyer-conversation-dock__toggle { cursor: grab; touch-action: none; }.admin-conversation-dock.is-repositioning,.buyer-conversation-dock.is-repositioning { user-select: none; }.admin-conversation-dock.is-repositioning .admin-conversation-dock__toggle,.buyer-conversation-dock.is-repositioning .buyer-conversation-dock__toggle { cursor: grabbing; }.admin-conversation-dock__reset-position,.buyer-conversation-dock__reset-position { margin: 0; padding: 0; border: 0; background: transparent; color: var(--teal-deep); font: 850 .66rem/1 var(--font-body); cursor: pointer; white-space: nowrap; }.admin-conversation-dock__reset-position:hover,.admin-conversation-dock__reset-position:focus-visible,.buyer-conversation-dock__reset-position:hover,.buyer-conversation-dock__reset-position:focus-visible { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; outline: 0; }
/* A visual FLIP transition lets the full chat appear to grow from the
   capsule's saved position without moving the real panel away from its safe
   bottom-right layout. */
.admin-conversation-dock__panel,.buyer-conversation-dock__panel { transform-origin: right bottom; }.admin-conversation-dock.is-dock-transitioning .admin-conversation-dock__panel,.buyer-conversation-dock.is-dock-transitioning .buyer-conversation-dock__panel { pointer-events: none; will-change: transform, border-radius, opacity, box-shadow; }.admin-conversation-dock.is-dock-opening .admin-conversation-dock__panel,.buyer-conversation-dock.is-dock-opening .buyer-conversation-dock__panel { animation: conversation-dock-grow 320ms cubic-bezier(.22,.85,.25,1) both; }.admin-conversation-dock.is-dock-closing .admin-conversation-dock__panel,.buyer-conversation-dock.is-dock-closing .buyer-conversation-dock__panel { animation: conversation-dock-collapse 320ms cubic-bezier(.45,0,.8,.25) both; }.admin-conversation-dock.is-dock-opening .admin-conversation-dock__panel>* ,.buyer-conversation-dock.is-dock-opening .buyer-conversation-dock__panel>* { animation: conversation-dock-content-in 180ms 108ms ease-out both; }.admin-conversation-dock.is-dock-closing .admin-conversation-dock__panel>* ,.buyer-conversation-dock.is-dock-closing .buyer-conversation-dock__panel>* { animation: conversation-dock-content-out 120ms ease-in both; }
.admin-conversation-dock.is-pulling-side-chat { isolation: isolate; }.admin-conversation-dock.is-pulling-side-chat::before { position: absolute; z-index: 0; right: 1px; bottom: 12px; width: var(--side-chat-pull-distance, 0); height: 6px; border-radius: 999px; background: linear-gradient(90deg, color-mix(in srgb, var(--teal) 78%, transparent), color-mix(in srgb, var(--teal-deep) 28%, transparent)); box-shadow: 0 0 14px color-mix(in srgb, var(--teal) 42%, transparent); content: ''; pointer-events: none; transform: rotate(var(--side-chat-pull-angle, 0rad)); transform-origin: right center; }.admin-conversation-dock.is-pulling-side-chat::after { position: absolute; z-index: 2; right: -5px; bottom: 7px; width: 12px; height: 12px; border: 2px solid color-mix(in srgb, var(--teal) 78%, #fff); border-radius: 50%; background: var(--theme-surface, var(--surface)); box-shadow: 0 0 16px color-mix(in srgb, var(--teal) 58%, transparent); content: ''; pointer-events: none; }.admin-conversation-dock.is-pulling-side-chat .admin-conversation-dock__panel { position: relative; z-index: 1; border-color: color-mix(in srgb, var(--teal) 72%, var(--line)); box-shadow: 0 26px 68px rgb(0 0 0 / 44%), 0 0 0 2px color-mix(in srgb, var(--teal) 17%, transparent); cursor: grabbing; transform: translate3d(var(--side-chat-pull-x, 0), var(--side-chat-pull-y, 0), 0) rotate(var(--side-chat-pull-tilt, 0deg)); transform-origin: var(--side-chat-grab-x, right) var(--side-chat-grab-y, bottom); transition: border-color 100ms ease, box-shadow 100ms ease; will-change: transform; }.admin-conversation-dock.is-pulling-side-chat .admin-conversation-dock__header { cursor: grabbing; }
.admin-conversation-dock.is-side-chat-pull-released::before { height: 20px; opacity: var(--side-chat-swoosh-opacity, .62); background: linear-gradient(180deg, transparent 0 8%, color-mix(in srgb, var(--teal) 48%, transparent) 10% 18%, transparent 21% 39%, color-mix(in srgb, var(--accent) 74%, transparent) 42% 57%, transparent 61% 76%, color-mix(in srgb, var(--teal-deep) 42%, transparent) 80% 88%, transparent 91%); box-shadow: none; filter: blur(.35px); transition: height 110ms ease-out, opacity 80ms ease-out; }.admin-conversation-dock.is-side-chat-pull-released::after { opacity: 0; transition: opacity 70ms ease-out; }.admin-conversation-dock.is-side-chat-pull-released .admin-conversation-dock__panel { border-color: color-mix(in srgb, var(--accent) 78%, var(--line)); box-shadow: 0 30px 76px rgb(0 0 0 / 48%), 0 0 0 2px color-mix(in srgb, var(--accent) 22%, transparent); animation: side-chat-panel-swoosh 180ms cubic-bezier(.2,.85,.25,1) both; }
@keyframes side-chat-panel-swoosh { 0% { filter: brightness(1); } 48% { filter: brightness(1.12) saturate(1.12); } 100% { filter: brightness(1); } }
@keyframes conversation-dock-grow { from { transform: var(--conversation-dock-morph-transform); border-radius: 999px; opacity: .94; box-shadow: 0 10px 28px rgb(0 0 0 / 24%); } to { transform: none; border-radius: 14px; opacity: 1; box-shadow: 0 20px 55px rgb(0 0 0 / 36%); } }
@keyframes conversation-dock-collapse { from { transform: none; border-radius: 14px; opacity: 1; box-shadow: 0 20px 55px rgb(0 0 0 / 36%); } to { transform: var(--conversation-dock-morph-transform); border-radius: 999px; opacity: .94; box-shadow: 0 10px 28px rgb(0 0 0 / 24%); } }
@keyframes conversation-dock-content-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@keyframes conversation-dock-content-out { from { opacity: 1; } to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .admin-conversation-dock.is-dock-transitioning .admin-conversation-dock__panel,.buyer-conversation-dock.is-dock-transitioning .buyer-conversation-dock__panel,.admin-conversation-dock.is-dock-transitioning .admin-conversation-dock__panel>* ,.buyer-conversation-dock.is-dock-transitioning .buyer-conversation-dock__panel>* { animation: none !important; } }
@media (max-width: 900px) { .admin-conversation-workspace { min-height: 0; }.admin-conversation-workspace__reply-options-content { grid-template-columns: 1fr; }.admin-conversation-workspace__history-panel { padding: 10px; } }
/* Fixed conversation docks are deliberately viewport-safe on phones. The
   history is the one flexible region, so the close control and composer stay
   reachable even when Safari's browser chrome reduces the visible viewport. */
.admin-conversation-dock__panel,.buyer-conversation-dock__panel { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.admin-conversation-dock__thread,.buyer-conversation-dock__thread,
.admin-conversation-dock__inbox,.buyer-conversation-dock__inbox { min-height: 0; height: auto !important; }
.admin-conversation-dock__thread,.buyer-conversation-dock__thread { min-height: 0; height: auto !important; }
@media (max-width: 560px) { .admin-conversation-dock__panel,.buyer-conversation-dock__panel { height: min(610px, calc(100dvh - 84px)); max-height: calc(100dvh - 84px); }.admin-conversation-dock__history,.buyer-conversation-dock__history { margin: 8px; }.admin-conversation-dock__composer,.buyer-conversation-dock__composer { margin: 0 8px 8px; }.admin-conversation-workspace__composer { grid-template-columns: 1fr; }.admin-conversation-workspace__composer > .button { width: 100%; }.admin-conversation-dock:not(.is-open) .admin-conversation-dock__toggle,.buyer-conversation-dock:not(.is-open) .buyer-conversation-dock__toggle { cursor: pointer; touch-action: manipulation; } }
.product-detail__buy form { display: inline-flex; }.product-detail__buy { flex-wrap: wrap; }
.listing-favourite { display: inline-flex; align-self: flex-start; margin: 0; }.listing-favourite button,.listing-favourite--sign-in { display: inline-flex; align-items: center; gap: 5px; min-height: 30px; padding: 4px 0; border: 0; background: transparent; color: var(--teal-deep); font: 800 .72rem/1 var(--font-body); text-decoration: none; cursor: pointer; }.listing-favourite button span { font-size: 1rem; line-height: 1; }.listing-favourite button:hover,.listing-favourite button:focus-visible,.listing-favourite--sign-in:hover,.listing-favourite--sign-in:focus-visible { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; outline: 0; }
.buyer-account__saved-listings ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }.buyer-account__saved-listings li { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--line); }.buyer-account__saved-listings li:last-child { border-bottom: 0; }.buyer-account__saved-listings li>div { display: grid; min-width: 0; gap: 3px; }.buyer-account__saved-listings small { color: var(--muted); font-size: .72rem; }.buyer-account__saved-listings form { margin: 0; flex: 0 0 auto; }.buyer-account__preferences form { display: grid; justify-items: start; gap: 14px; }.buyer-account__panel label.buyer-account__marketing-toggle { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: min(100%, 620px); padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--surface-muted)); cursor: pointer; }.buyer-account__marketing-toggle>span { display: grid; gap: 3px; }.buyer-account__marketing-toggle small { color: var(--muted); font-size: .72rem; }.buyer-account__marketing-toggle input { appearance: none; position: relative; width: 48px; min-width: 48px; height: 27px; margin: 0; border: 1px solid var(--line); border-radius: 99px; background: var(--theme-surface, var(--surface)); cursor: pointer; transition: background .18s ease,border-color .18s ease; }.buyer-account__marketing-toggle input::after { position: absolute; top: 3px; left: 3px; width: 19px; height: 19px; border-radius: 50%; background: var(--muted); content: ''; transition: transform .18s ease,background .18s ease; }.buyer-account__marketing-toggle input:checked { border-color: var(--teal-deep); background: var(--teal-deep); }.buyer-account__marketing-toggle input:focus-visible { outline: 3px solid color-mix(in srgb, var(--teal) 32%, transparent); outline-offset: 2px; }
.buyer-account__marketing-toggle input::after { background: var(--muted); }.buyer-account__marketing-toggle input:checked::after { transform: translateX(20px); background: #fff; }
.admin-promotion-workspace__editor { gap: var(--admin-panel-gap); }.admin-promotion-workspace__toggles,.admin-conversation-promotion-tools { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--admin-panel-gap); }.admin-conversation-promotion-tools .admin-form { min-width: 0; padding: var(--ui-space-standard); border: 1px solid var(--line); border-radius: 10px; background: var(--theme-surface-muted, var(--surface-muted)); }.admin-conversation-promotion-tools .admin-form__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.admin-promotion-workspace__feedback { margin: 0 0 var(--admin-panel-gap); padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--accent) 48%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--accent) 9%, var(--theme-surface-muted, var(--surface-muted))); color: var(--ink); font-size: .78rem; font-weight: 760; line-height: 1.45; }.admin-promotion-workspace__feedback.is-error { border-color: color-mix(in srgb, var(--theme-danger, var(--danger)) 58%, var(--line)); background: color-mix(in srgb, var(--theme-danger, var(--danger)) 9%, var(--theme-surface-muted, var(--surface-muted))); color: var(--theme-danger, var(--danger)); }.admin-promotion-workspace__editor.is-pending { cursor: progress; }.admin-promotion-workspace__field-error { display: block; margin-top: 5px; color: var(--theme-danger, var(--danger)); font-size: .68rem; font-weight: 760; line-height: 1.35; }.admin-promotion-workspace__editor :is(input,select,textarea)[aria-invalid="true"] { border-color: var(--theme-danger, var(--danger)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-danger, var(--danger)) 16%, transparent); }.admin-promotion-workspace__limit-summary { display: block; margin-top: 5px; color: var(--muted); font-size: .67rem; font-weight: 700; line-height: 1.35; }.admin-promotion-workspace__validation-summary { display: grid; gap: 7px; margin: 0; padding: 12px; border: 1px solid color-mix(in srgb, var(--theme-danger, var(--danger)) 58%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--theme-danger, var(--danger)) 8%, var(--theme-surface-muted, var(--surface-muted))); }.admin-promotion-workspace__validation-summary strong { color: var(--ink); font-size: .82rem; }.admin-promotion-workspace__validation-summary p { margin: 0; color: var(--muted); font-size: .73rem; line-height: 1.42; }.admin-promotion-workspace__validation-summary ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }.admin-promotion-workspace__validation-summary button { padding: 0; border: 0; background: transparent; color: var(--theme-danger, var(--danger)); font: 760 .72rem/1.4 var(--font-body); text-align: left; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; cursor: pointer; }.admin-promotion-workspace__validation-summary button:hover,.admin-promotion-workspace__validation-summary button:focus-visible { color: var(--accent-depth); outline: none; }.admin-promotion-workspace__editor :is(label,.admin-listing-toggle,.admin-form-group)[hidden] { display: none !important; }
.admin-conversation-workspace__promotion-options { border-top: 1px solid var(--line); }.admin-conversation-workspace__promotion-options>summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 38px; color: var(--teal-deep); font-size: .72rem; font-weight: 850; cursor: pointer; list-style: none; }.admin-conversation-workspace__promotion-options>summary::-webkit-details-marker { display: none; }.admin-conversation-workspace__promotion-options>summary::after { content: '+'; font-size: 1rem; }.admin-conversation-workspace__promotion-options[open]>summary::after { content: '−'; }.admin-conversation-workspace__promotion-options>summary small { color: var(--muted); font-size: .66rem; font-weight: 700; }.admin-conversation-workspace__promotion-options .admin-conversation-promotion-tools { padding: 0 0 10px; }
@media (max-width:760px) { .commerce-basket__layout { grid-template-columns: 1fr; }.commerce-basket__summary { position: static; }.commerce-basket__item { flex-direction: column; }.commerce-basket__item-controls { justify-items: start; }.commerce-basket__customisation>div { grid-template-columns: 1fr; }.admin-commerce-listing-picker, .admin-commerce-bundle-price-summary,.admin-promotion-workspace__toggles,.admin-conversation-promotion-tools,.admin-conversation-promotion-tools .admin-form__grid { grid-template-columns: 1fr; }.buyer-account__saved-listings li { align-items: flex-start; flex-direction: column; }.site-header__basket { margin-left: 0; } }

/* Full conversation composers use the same compact attach/send controls as the side chats. */
.conversation-attach { display: grid; min-width: 52px; min-height: var(--ui-control-height); place-items: center; padding: 0 9px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface, var(--surface)); color: var(--teal-deep); font: 850 .64rem/1 var(--font-body); cursor: pointer; white-space: nowrap; }.conversation-attach input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }.conversation-attach:hover,.conversation-attach:focus-within { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 9%, var(--theme-surface, var(--surface))); color: var(--teal-deep); }.conversation-attach.has-files,.admin-conversation-dock__attach.has-files,.buyer-conversation-dock__attach.has-files { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 18%, var(--theme-surface, var(--surface))); box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal) 20%, transparent), 0 0 14px color-mix(in srgb, var(--teal) 20%, transparent); color: var(--teal-deep); }
.buyer-account__compose--compact { display: grid; gap: 7px; }.buyer-account__composer-row--compact { display: grid; grid-template-columns: auto minmax(0, 1fr) var(--ui-control-height); align-items: end; gap: 8px; }.buyer-account__composer-reply { min-width: 0; margin: 0; }.buyer-account__composer-reply textarea,.buyer-account__composer-textarea { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); height: var(--ui-control-height); max-height: 180px; margin: 0; padding: 10px 11px; resize: none; }.buyer-account__composer-send,.admin-conversation-workspace__send { display: grid; width: var(--ui-control-height); min-height: var(--ui-control-height); place-items: center; padding: 0; border: 1px solid var(--teal-deep); border-radius: 6px; background: var(--teal-deep); color: var(--theme-button-text, #fff); font: 850 .92rem/1 var(--font-body); cursor: pointer; }.buyer-account__composer-send:hover,.buyer-account__composer-send:focus-visible,.admin-conversation-workspace__send:hover,.admin-conversation-workspace__send:focus-visible { border-color: var(--teal); background: var(--teal); box-shadow: 0 0 14px color-mix(in srgb, var(--teal) 42%, transparent); outline: 0; }.buyer-account__composer-hint { display: block; color: var(--muted); font-size: .68rem; line-height: 1.45; }
.admin-conversation-workspace__composer { grid-template-columns: auto minmax(0, 1fr) var(--ui-control-height); }.admin-conversation-workspace__reply-label { min-width: 0; margin: 0; }.admin-conversation-workspace__reply-label > :first-child:not(textarea) { display: none; }.admin-conversation-workspace__reply-options-content { grid-template-columns: minmax(0, 1fr); }.admin-conversation-workspace__reply-options-content label { display: grid; gap: 6px; color: var(--ink); font-size: .76rem; font-weight: 800; }.admin-conversation-workspace__manual-status { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; margin-top: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper-deep)); }.admin-conversation-workspace__manual-status label { display: grid; gap: 6px; min-width: 0; margin: 0; color: var(--ink); font-size: .76rem; font-weight: 800; }.admin-conversation-workspace__manual-status button { min-height: var(--ui-control-height); }
.buyer-account__review input[type="file"] { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); padding: 7px 9px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface-input, var(--surface)); color: var(--ink); font: inherit; font-size: .76rem; }.buyer-account__review input[type="file"]::file-selector-button { margin-right: 10px; padding: 6px 9px; border: 0; border-radius: 4px; background: var(--teal-deep); color: var(--theme-button-text, #fff); font: 850 .67rem/1 var(--font-body); cursor: pointer; }.buyer-account__review input[type="file"]:hover::file-selector-button { background: var(--teal); }
.admin-conversation-workspace__reply-options-content select,.admin-conversation-workspace__manual-status select { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); padding: 8px 34px 8px 10px; border: 1px solid var(--line); border-radius: 6px; outline: 0; background: var(--theme-surface-input, var(--surface)); color: var(--ink); font: inherit; font-size: .78rem; }.admin-conversation-workspace__reply-options-content select:focus,.admin-conversation-workspace__manual-status select:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent); }
.buyer-account__thread,.admin-conversation-thread { overscroll-behavior: contain; }
.conversation-history--jump-enabled { position: relative; }
.conversation-history__jump-host { position: relative; }
.conversation-history__jump-latest { position: absolute; z-index: 20; display: inline-flex; min-height: 30px; align-items: center; gap: 5px; padding: 6px 9px; border: 1px solid var(--teal-deep); border-radius: 999px; background: color-mix(in srgb, var(--theme-surface, var(--paper)) 92%, transparent); box-shadow: 0 5px 16px color-mix(in srgb, var(--ink) 20%, transparent); color: var(--teal-deep); font: 800 .66rem/1 var(--font-body); cursor: pointer; backdrop-filter: blur(8px); transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, color .16s ease; }
.conversation-history__jump-latest:hover,.conversation-history__jump-latest:focus-visible { border-color: var(--teal); background: var(--theme-surface, var(--paper)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent), 0 7px 18px color-mix(in srgb, var(--ink) 24%, transparent); color: var(--teal); outline: 0; }
.conversation-history__jump-latest[hidden] { display: none; }
@media (max-width: 560px) { .conversation-history__jump-latest { right: 12px; bottom: 9px; min-height: 28px; padding: 5px 8px; } }
.buyer-account__compose--compact .conversation-attach { border-color: var(--orange); background: var(--orange); color: var(--white); }.buyer-account__compose--compact .conversation-attach:hover,.buyer-account__compose--compact .conversation-attach:focus-within { border-color: var(--orange); background: color-mix(in srgb, var(--orange) 84%, #fff); color: var(--white); }.buyer-account__compose--compact .conversation-attach.has-files { border-color: var(--orange); background: var(--orange); box-shadow: 0 0 0 2px color-mix(in srgb, var(--orange) 25%, transparent), 0 0 14px color-mix(in srgb, var(--orange) 32%, transparent); color: var(--white); }.buyer-account__composer-send { border-color: var(--orange); background: var(--orange); color: var(--white); }.buyer-account__composer-send:hover,.buyer-account__composer-send:focus-visible { border-color: var(--orange); background: color-mix(in srgb, var(--orange) 84%, #fff); box-shadow: 0 0 14px color-mix(in srgb, var(--orange) 42%, transparent); }
.buyer-account__messages .buyer-account__thread,.admin-conversation-thread { scrollbar-color: var(--orange) transparent; }.buyer-account__messages .buyer-account__thread::-webkit-scrollbar-thumb,.admin-conversation-thread::-webkit-scrollbar-thumb { background: var(--orange); background-clip: padding-box; }.buyer-account__messages .buyer-account__thread::-webkit-scrollbar-thumb:hover,.admin-conversation-thread::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--orange) 84%, #fff); background-clip: padding-box; }
.buyer-account__composer-row--compact,.admin-conversation-workspace__composer { grid-template-columns: 46px minmax(0, 1fr) 38px; gap: 8px; }.buyer-account__composer-row--compact .conversation-attach,.admin-conversation-workspace__composer .conversation-attach { min-width: 46px; min-height: 38px; padding: 0 6px; }.buyer-account__composer-row--compact .buyer-account__composer-textarea,.admin-conversation-workspace__composer .admin-conversation-workspace__reply-textarea { min-height: 38px; height: 38px; }.buyer-account__composer-row--compact .buyer-account__composer-send,.admin-conversation-workspace__composer .admin-conversation-workspace__send { width: 38px; min-height: 38px; }
@media (max-width: 560px) { .buyer-account__composer-row--compact,.admin-conversation-workspace__composer { grid-template-columns: auto minmax(0, 1fr) var(--ui-control-height); gap: 6px; }.conversation-attach { min-width: 46px; padding: 0 6px; }.admin-conversation-workspace__manual-status { grid-template-columns: 1fr; }.admin-conversation-workspace__manual-status button { width: 100%; } }

/* Private order and fulfilment controls must remain inside the same site frame
   even when a narrow workspace column contains a long carrier status. */
.buyer-account__review { scroll-margin-top: var(--ui-space-standard); }
.buyer-account__order-actions { justify-items: end; text-align: right; }
.buyer-account__order-actions a { justify-self: end; text-align: right; }
.buyer-account__review-dialog { width: min(680px, calc(100vw - 48px)); max-height: min(760px, calc(100vh - 48px)); margin: auto; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--theme-surface, var(--surface)); color: var(--ink); box-shadow: 0 24px 64px rgba(0,0,0,.36); }.buyer-account__review-dialog::backdrop { background: color-mix(in srgb, #091015 62%, transparent); backdrop-filter: blur(3px); }.buyer-account__review-dialog-panel { display: grid; max-height: inherit; gap: var(--admin-panel-gap); overflow: auto; padding: var(--admin-panel-gap); scrollbar-color: var(--teal-deep) transparent; scrollbar-width: auto; }.buyer-account__review-dialog-panel::-webkit-scrollbar { width: 11px; }.buyer-account__review-dialog-panel::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 99px; background: var(--teal-deep); background-clip: padding-box; }.buyer-account__review-dialog-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }.buyer-account__review-dialog-heading > div { display: grid; gap: 4px; min-width: 0; }.buyer-account__review-dialog-heading .eyebrow, .buyer-account__review-dialog-heading h2, .buyer-account__review-dialog-intro, .buyer-account__review-dialog form > p { margin: 0; }.buyer-account__review-dialog-heading h2 { color: var(--ink); font-size: 1.24rem; }.buyer-account__review-dialog-close { display: grid; width: 32px; min-height: 32px; flex: 0 0 auto; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 6px; background: transparent; color: var(--teal-deep); font: 500 1.25rem/1 var(--font-body); cursor: pointer; }.buyer-account__review-dialog-close:hover, .buyer-account__review-dialog-close:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--theme-button-text, #fff); outline: 0; }.buyer-account__review-dialog-close:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 22%, transparent); }.buyer-account__review-dialog-intro, .buyer-account__review-dialog form > p { color: var(--muted); font-size: .78rem; line-height: 1.5; }.buyer-account__review-dialog-intro strong { color: var(--ink); }.buyer-account__review-dialog form { display: grid; gap: 14px; }.buyer-account__review-dialog form > label { display: grid; gap: 7px; min-width: 0; color: var(--ink); font-size: .8rem; font-weight: 820; }.buyer-account__review-dialog form > footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding-top: 2px; }.buyer-account__review-dialog form > footer .button { min-height: var(--ui-control-height); }.buyer-account__review-dialog input[type="file"] { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); padding: 7px 9px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface-input, var(--surface)); color: var(--ink); font: inherit; font-size: .76rem; }.buyer-account__review-dialog input[type="file"]::file-selector-button { margin-right: 10px; padding: 6px 9px; border: 0; border-radius: 4px; background: var(--teal-deep); color: var(--theme-button-text, #fff); font: 850 .67rem/1 var(--font-body); cursor: pointer; }.buyer-account__review-dialog input[type="file"]:hover::file-selector-button { background: var(--teal); }@media (max-width: 560px) { .buyer-account__review-dialog { width: calc(100vw - 24px); max-height: calc(100vh - 24px); }.buyer-account__review-dialog-panel { padding: 14px; }.buyer-account__review-dialog form > footer { align-items: stretch; flex-direction: column-reverse; }.buyer-account__review-dialog form > footer .button { width: 100%; } }
/* Review Editor controls use the same theme tokens as the surrounding dialog. */
.buyer-account__review-dialog select,
.buyer-account__review-dialog textarea {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--theme-surface-input, var(--surface));
  color: var(--ink);
  font: inherit;
}

.buyer-account__review-dialog select {
  min-height: var(--ui-control-height, 42px);
  padding: 0 10px;
}

.buyer-account__review-dialog textarea {
  min-height: 124px;
  padding: 10px;
  resize: vertical;
}

.buyer-account__review-body-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  min-width: 0;
}

.buyer-account__review-body-field > label {
  grid-column: 1 / -1;
  color: var(--ink);
  font-size: .8rem;
  font-weight: 820;
}

.buyer-account__review-body-field > textarea {
  grid-column: 1 / -1;
}

.buyer-account__review-body-field > .conversation-emoji-trigger {
  justify-self: end;
  margin: 0;
}

.buyer-account__review-dialog select:focus,
.buyer-account__review-dialog textarea:focus {
  border-color: var(--teal-deep);
  outline: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal-deep) 18%, transparent);
}

.buyer-account__review-rating {
  display: grid;
  width: 100%;
  gap: 9px;
  margin: 0;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--teal-deep) 38%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--teal-deep) 8%, var(--theme-surface-muted, var(--surface)));
}

.buyer-account__review-rating legend {
  padding: 0 4px;
  color: var(--ink);
  font-size: .8rem;
  font-weight: 820;
}

.buyer-account__review-rating > p,
.buyer-account__review-rating-status {
  margin: 0;
  color: var(--muted);
  font-size: .73rem;
  line-height: 1.45;
}

.buyer-account__review-stars {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.buyer-account__review-stars input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.buyer-account__review-stars label {
  display: grid;
  min-height: 48px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--theme-surface-input, var(--surface));
  color: color-mix(in srgb, var(--muted) 54%, var(--line));
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.buyer-account__review-stars label > span[aria-hidden="true"] {
  font-size: 1.55rem;
  line-height: 1;
}

.buyer-account__review-stars label:hover {
  border-color: var(--teal-deep);
  background: color-mix(in srgb, var(--teal-deep) 10%, var(--theme-surface-input, var(--surface)));
  color: var(--teal-deep);
  transform: translateY(-1px);
}

.buyer-account__review-stars label.is-selected {
  border-color: color-mix(in srgb, var(--orange) 72%, var(--line));
  background: color-mix(in srgb, var(--orange) 14%, var(--theme-surface-input, var(--surface)));
  color: var(--orange);
  box-shadow: inset 0 -2px 0 color-mix(in srgb, var(--orange) 55%, transparent);
}

.buyer-account__review-stars input:focus-visible + label {
  outline: 3px solid color-mix(in srgb, var(--teal-deep) 28%, transparent);
  outline-offset: 2px;
}

.buyer-account__review-rating-status {
  min-height: 1.1em;
  color: var(--teal-deep);
  font-weight: 800;
}

.royal-mail-shipment .admin-section-panel__heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(104px, 42%); align-items: start; justify-content: initial; }
.royal-mail-shipment .admin-section-panel__heading > div,
.royal-mail-shipment .admin-section-panel__heading > span { min-width: 0; }
.royal-mail-shipment .admin-section-panel__heading > span { display: block; max-width: none; overflow-wrap: anywhere; }
@media (max-width: 620px) { .royal-mail-shipment .admin-section-panel__heading { grid-template-columns: 1fr; }.royal-mail-shipment .admin-section-panel__heading > span { justify-self: start; text-align: left; } }

/* 3D asset library: keep model and turntable assets in one predictable grid. */
.admin-model-library__status:empty { display: none; }
.admin-model-library__status { margin: 0; padding: 10px 29px; border-bottom: 1px solid var(--line); background: var(--surface-muted); color: var(--slate); font-size: .78rem; line-height: 1.45; }
.admin-model-library__status.is-error { color: var(--theme-danger, #a84835); }
.admin-model-library__preview[hidden],.admin-model-library__turntable-preview[hidden] { display: none !important; }
.admin-model-library__turntable-preview { height: auto; min-height: 0; aspect-ratio: 4 / 3; border: 0; border-radius: 0; }
.admin-model-library__card { grid-template-rows: minmax(0, 1fr) auto; }
.admin-model-library__card .admin-model-library__select { min-height: 216px; padding-bottom: 12px; }
.admin-model-library__card--turntable .admin-model-library__icon { letter-spacing: 0; }
.admin-model-library__actions { display: flex; flex-wrap: wrap; gap: 7px; padding: 10px 12px 12px; border-top: 1px solid var(--line); }
.admin-model-library__action { display: inline-flex; min-height: 30px; align-items: center; justify-content: center; padding: 5px 8px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface); color: var(--teal-deep); font: 780 .68rem/1 var(--font-display); letter-spacing: .025em; text-decoration: none; cursor: pointer; }
.admin-model-library__action:hover:not(:disabled),.admin-model-library__action:focus-visible:not(:disabled) { border-color: var(--teal-deep); background: var(--paper-deep); outline: none; }
.admin-model-library__action:disabled { color: var(--slate); cursor: not-allowed; opacity: .58; }
.admin-model-library__confirm { width: min(460px, calc(100vw - 36px)); margin: auto; padding: 0; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); color: var(--ink); box-shadow: 0 24px 80px rgba(0,0,0,.42); }
.admin-model-library__confirm::backdrop { background: rgba(5,8,10,.66); backdrop-filter: blur(2px); }
.admin-model-library__confirm-panel { display: grid; gap: 14px; padding: 24px; }
.admin-model-library__confirm-panel .eyebrow,.admin-model-library__confirm-panel h2,.admin-model-library__confirm-panel p { margin: 0; }
.admin-model-library__confirm-panel h2 { font-size: 1.5rem; }
.admin-model-library__confirm-panel > p { color: var(--slate); font-size: .87rem; line-height: 1.5; }
.admin-model-library__confirm-panel label { display: grid; gap: 7px; color: var(--ink); font-size: .8rem; font-weight: 820; }
.admin-model-library__confirm-panel input { width: 100%; min-height: var(--ui-control-height); box-sizing: border-box; }
.admin-model-library__confirm-note { font-size: .76rem !important; }
.admin-model-library__confirm-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 9px; margin-top: 4px; }
.theme-logo-dark .admin-model-library__status { border-color: #41484d; background: #202529; color: #aeb6bc; }
.theme-logo-dark .admin-model-library__status.is-error { color: #ff9c8f; }
.theme-logo-dark .admin-model-library__actions { border-color: #454d52; }
.theme-logo-dark .admin-model-library__action { border-color: #454d52; background: #202529; color: var(--teal); }
.theme-logo-dark .admin-model-library__action:hover:not(:disabled),.theme-logo-dark .admin-model-library__action:focus-visible:not(:disabled) { border-color: var(--teal); background: #3a2b20; }
.theme-logo-dark .admin-model-library__confirm { border-color: #454d52; background: #252a2d; color: #f1f3f4; }
.theme-logo-dark .admin-model-library__confirm-panel > p { color: #aeb6bc; }
.theme-logo-dark .admin-model-library__confirm-panel label { color: #e5e9eb; }
.admin-model-library__progress { width: min(400px, calc(100vw - 36px)); margin: auto; padding: 0; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); color: var(--ink); box-shadow: 0 24px 80px rgba(0,0,0,.42); }
.admin-model-library__progress::backdrop { background: rgba(5,8,10,.66); backdrop-filter: blur(2px); }
.admin-model-library__progress-panel { display: grid; gap: 14px; padding: 24px; }
.admin-model-library__progress-panel .eyebrow,.admin-model-library__progress-panel h2,.admin-model-library__progress-panel p { margin: 0; }
.admin-model-library__progress-panel h2 { font-size: 1.35rem; }
.admin-model-library__progress-panel > p { color: var(--slate); font-size: .87rem; line-height: 1.5; }
.admin-model-library__progress-bar { display: block; width: 100%; height: 12px; overflow: hidden; border: 0; border-radius: 999px; accent-color: var(--teal-deep); }
.admin-model-library__progress-actions { display: flex; justify-content: flex-end; margin-top: 2px; }
.admin-model-library__progress.is-error .admin-model-library__progress-bar { accent-color: var(--theme-danger, #a84835); }
.admin-model-library__progress.is-working .admin-model-library__progress-bar { accent-color: var(--orange); }
.admin-model-library__processed-note { display: block; padding: 8px 12px 0; color: var(--teal-deep); font-size: .72rem; font-weight: 760; line-height: 1.35; }
.theme-logo-dark .admin-model-library__progress { border-color: #454d52; background: #252a2d; color: #f1f3f4; }
.theme-logo-dark .admin-model-library__progress-panel > p { color: #aeb6bc; }
.theme-logo-dark .admin-model-library__processed-note { color: var(--teal); }
@media (max-width: 720px) { .admin-model-library__status { padding: 10px 18px; }.admin-model-library__card .admin-model-library__select { min-height: 196px; }.admin-model-library__confirm-panel { padding: 20px; } }

/* Bulk editors show only the configuration required by the selected action. */
.admin-bulk-actions { gap: 18px; padding: 18px; }
.admin-bulk-actions__controls { grid-template-columns: minmax(240px, .7fr) minmax(0, 1.5fr) auto; align-items: end; }
.admin-bulk-actions__selection { display: grid; align-self: stretch; align-content: end; gap: 5px; min-width: 0; padding: 9px 0 7px; }
.admin-bulk-actions__selection p { margin: 0; color: var(--slate); font-size: .76rem; font-weight: 720; line-height: 1.4; }
.admin-bulk-actions__selection p[data-bulk-action-description] { font-weight: 620; }
.admin-bulk-actions__options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding-top: 0; border-top: 0; }
.admin-bulk-actions__options > label, .admin-bulk-actions__options > fieldset { align-content: start; min-height: 0; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
.admin-bulk-actions__options > fieldset { gap: 11px; }
.admin-bulk-actions__options > fieldset legend { padding: 0; }
.admin-bulk-actions__options > fieldset > p { margin: 0; color: var(--slate); font-size: .76rem; font-weight: 620; letter-spacing: normal; line-height: 1.5; text-transform: none; }
.admin-bulk-actions__options > [data-bulk-option-for="set_categories"], .admin-bulk-actions__options > .admin-bulk-actions__delivery { grid-column: 1 / -1; }
.admin-bulk-actions__options > .admin-bulk-actions__price-increase { grid-column: 1 / -1; }
.admin-bulk-actions__price-increase > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .45fr); gap: 12px; }
.admin-bulk-actions__price-increase label { display: grid; gap: 6px; color: var(--ink); font-size: .76rem; font-weight: 800; }
.admin-bulk-actions__price-increase input, .admin-bulk-actions__price-increase select { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface-input, var(--surface)); color: var(--ink); font: inherit; font-size: .78rem; }
.admin-bulk-actions__options [data-bulk-option-for][hidden] { display: none !important; }
.theme-logo-dark .admin-bulk-actions__selection p, .theme-logo-dark .admin-bulk-actions__options > fieldset > p { color: #aeb6bc; }
.theme-logo-dark .admin-bulk-actions__options > label, .theme-logo-dark .admin-bulk-actions__options > fieldset { border-color: #41484d; background: #202529; }
@media (max-width: 760px) { .admin-bulk-actions__controls, .admin-bulk-actions__options, .admin-bulk-actions__price-increase > div { grid-template-columns: 1fr; }.admin-bulk-actions__selection { padding: 0; }.admin-bulk-actions__controls .button { width: 100%; }.admin-bulk-actions__options > [data-bulk-option-for="set_categories"], .admin-bulk-actions__options > .admin-bulk-actions__delivery, .admin-bulk-actions__options > .admin-bulk-actions__price-increase { grid-column: auto; } }

/* Buyer account links, reviews and bounded history lists. */
.commerce-listing-link { color: inherit; text-decoration-color: color-mix(in srgb, currentColor 42%, transparent); text-underline-offset: 3px; }
.commerce-listing-link:hover, .commerce-listing-link:focus-visible { color: var(--teal-deep); text-decoration-color: currentColor; outline: none; }
.theme-logo-dark .commerce-listing-link:hover, .theme-logo-dark .commerce-listing-link:focus-visible { color: var(--teal); }
.buyer-account__order-list { max-height: 256px; padding-right: 8px; overflow-y: auto; scrollbar-color: var(--slate) transparent; scrollbar-width: thin; }
.buyer-account__order-list::-webkit-scrollbar { width: 10px; }
.buyer-account__order-list::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--slate); background-clip: padding-box; }
.buyer-account__review-prompts > ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.buyer-account__review-prompts > ul > li { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }
.buyer-account__review-prompts > ul > li > div { display: grid; min-width: 0; gap: 4px; }
.buyer-account__review-prompts small { color: var(--slate); font-size: .72rem; }
.buyer-account__review-prompts .button { flex: 0 0 auto; }
.theme-logo-dark .buyer-account__review-prompts > ul > li { background: var(--theme-surface-muted); }
@media (max-width: 720px) { .buyer-account__review-prompts > ul > li { align-items: stretch; flex-direction: column; }.buyer-account__review-prompts .button { width: 100%; } }

/* The review history is deliberately scroll-bounded: a prolific buyer should
   be able to find any purchase without one account panel taking over the page. */
.buyer-account__review-queue { gap: 16px; }
.buyer-account__review-queue-heading { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 14px; }
.buyer-account__review-queue-heading > div:first-child { display: grid; min-width: 0; gap: 6px; }
.buyer-account__review-queue-heading > div:first-child > p:not(.eyebrow) { max-width: 620px; margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.buyer-account__review-queue-progress { display: inline-flex; min-width: 164px; align-items: center; gap: 8px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--paper)); }
.buyer-account__review-queue-progress strong { color: var(--orange); font: 900 1.35rem/1 var(--font-display); }
.buyer-account__review-queue-progress span { color: var(--muted); font-size: .68rem; font-weight: 760; line-height: 1.35; }
.buyer-account__review-queue-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.buyer-account__review-queue-search { position: relative; display: block; min-width: 0; margin: 0; }
.buyer-account__review-queue-search > span[aria-hidden="true"] { position: absolute; z-index: 1; top: 50%; left: 11px; color: var(--muted); font-size: 1.05rem; line-height: 1; pointer-events: none; transform: translateY(-52%); }
.buyer-account__review-queue-search input { box-sizing: border-box; width: 100%; min-height: 40px; padding: 0 10px 0 33px; border: 1px solid var(--line); border-radius: 7px; outline: 0; background: var(--theme-surface-input, var(--surface)); color: var(--ink); font: inherit; font-size: .78rem; }
.buyer-account__review-queue-search input:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent); }
.buyer-account__review-queue-filter { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--paper)); }
.buyer-account__review-queue-filter button { min-height: 31px; padding: 0 10px; border: 0; border-radius: 5px; background: transparent; color: var(--muted); font: 820 .7rem/1 var(--font-body); cursor: pointer; white-space: nowrap; }
.buyer-account__review-queue-filter button:hover, .buyer-account__review-queue-filter button:focus-visible { color: var(--ink); outline: none; }
.buyer-account__review-queue-filter button:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 24%, transparent); }
.buyer-account__review-queue-filter button[aria-pressed="true"] { background: color-mix(in srgb, var(--teal-deep) 16%, var(--theme-surface, var(--surface))); color: var(--ink); }
.buyer-account__review-queue-filter button[data-buyer-review-filter="ready"][aria-pressed="true"] { background: var(--orange); color: var(--theme-button-text, #fff); }
.buyer-account__review-queue-filter button span { margin-left: 3px; font-variant-numeric: tabular-nums; }
.buyer-account__review-queue-noscript { margin: 0; padding: 9px 11px; border: 1px dashed var(--line); border-radius: 7px; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.buyer-account__review-queue-list { display: grid; min-height: 0; max-height: min(440px, 50vh); gap: 8px; overflow-y: auto; padding: 1px 7px 1px 1px; scrollbar-color: var(--teal-deep) transparent; scrollbar-width: thin; }
.buyer-account__review-queue-list::-webkit-scrollbar { width: 9px; }
.buyer-account__review-queue-list::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--teal-deep); background-clip: padding-box; }
.buyer-account__review-queue-list:focus-visible { outline: 3px solid color-mix(in srgb, var(--teal) 28%, transparent); outline-offset: 3px; }
.buyer-account__review-queue.is-enhanced [data-buyer-review-queue-item][hidden] { display: none; }
.buyer-account__review-card { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-width: 0; padding: 9px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper)); }
.buyer-account__review-card--ready { border-color: color-mix(in srgb, var(--orange) 36%, var(--line)); }
.buyer-account__review-card-thumb { display: grid; width: 52px; aspect-ratio: 1; overflow: hidden; border: 1px solid color-mix(in srgb, var(--line) 72%, transparent); border-radius: 6px; background: color-mix(in srgb, var(--teal-deep) 18%, var(--theme-surface, var(--surface))); color: var(--teal-deep); place-items: center; }
.buyer-account__review-card--ready .buyer-account__review-card-thumb { background: color-mix(in srgb, var(--orange) 14%, var(--theme-surface, var(--surface))); color: var(--orange); }
.buyer-account__review-card-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.buyer-account__review-card-thumb span { font: 900 1.3rem/1 var(--font-display); }
.buyer-account__review-card-copy { display: grid; min-width: 0; gap: 4px; }
.buyer-account__review-card-copy h3 { min-width: 0; margin: 0; overflow-wrap: anywhere; color: var(--ink); font-size: .86rem; line-height: 1.25; }
.buyer-account__review-card-copy p { margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.4; }
.buyer-account__review-card-status { display: inline-flex; width: fit-content; min-height: 22px; align-items: center; padding: 0 7px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); font-size: .61rem; font-weight: 850; letter-spacing: .02em; }
.buyer-account__review-card-status--ready { border-color: color-mix(in srgb, var(--orange) 60%, var(--line)); color: var(--orange); }
.buyer-account__review-card-state { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.buyer-account__review-card-rating { color: var(--orange); font-size: .77rem; letter-spacing: .04em; white-space: nowrap; }
.buyer-account__review-card-rating > span { color: var(--muted); }
.buyer-account__review-card > .button { min-height: 36px; padding: 0 11px; font-size: .7rem; white-space: nowrap; }
.buyer-account__review-card-saved { justify-self: end; color: var(--muted); font-size: .68rem; font-weight: 760; text-align: right; }
.buyer-account__review-queue-empty { margin: 0; padding: 16px 10px; border: 1px dashed var(--line); border-radius: 8px; color: var(--muted); font-size: .76rem; text-align: center; }
.buyer-account__review-queue-foot { display: flex; flex-wrap: wrap; gap: 6px 13px; align-items: center; color: var(--muted); font-size: .68rem; line-height: 1.4; }
.buyer-account__review-queue-foot strong { color: var(--teal-deep); font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; }
@media (max-width: 620px) { .buyer-account__review-queue-heading { align-items: stretch; }.buyer-account__review-queue-progress { width: 100%; }.buyer-account__review-queue-tools { grid-template-columns: 1fr; }.buyer-account__review-queue-filter { width: 100%; }.buyer-account__review-queue-filter button { flex: 1; }.buyer-account__review-queue-list { max-height: min(400px, 52vh); }.buyer-account__review-card { grid-template-columns: 46px minmax(0, 1fr); }.buyer-account__review-card-thumb { width: 46px; }.buyer-account__review-card > .button, .buyer-account__review-card-saved { grid-column: 1 / -1; justify-self: stretch; width: 100%; }.buyer-account__review-card-saved { padding: 3px 0 0; text-align: left; } }
.buyer-account__workspace-panel { gap: 0; overflow: hidden; padding: 0; }
.buyer-account__workspace-toggle { display: flex; min-height: 46px; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 0 22px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); font: inherit; font-size: .82rem; font-weight: 900; letter-spacing: .04em; text-align: left; text-transform: uppercase; cursor: pointer; }
.buyer-account__workspace-toggle:hover, .buyer-account__workspace-toggle:focus-visible { background: color-mix(in srgb, var(--teal) 9%, transparent); color: var(--teal-deep); outline: none; }
.buyer-account__workspace-toggle > span:last-child { color: var(--teal-deep); font-size: 1.15rem; line-height: 1; }
.buyer-account__workspace-panel > :not(.buyer-account__workspace-toggle) { margin-right: 22px; margin-left: 22px; }
.buyer-account__workspace-panel > .buyer-account__workspace-toggle + .eyebrow { margin-top: 18px; }
.buyer-account__workspace-panel > .buyer-account__thread { margin-top: 18px; }
.buyer-account__workspace-panel > .buyer-account__compose { margin-bottom: 22px; }
.buyer-account__workspace-panel.is-collapsed > :not(.buyer-account__workspace-toggle) { display: none; }

/* ui-exception: compact-conversation-composer — compact 38px reply controls mirror the floating conversation dock. */
.buyer-account__container { gap: var(--admin-panel-gap); }
.buyer-account__panel, .buyer-account__magic { gap: var(--admin-panel-gap); padding: var(--admin-panel-gap); }
.buyer-account__workspace-toggle { padding-right: var(--admin-panel-gap); padding-left: var(--admin-panel-gap); }
.buyer-account__workspace-panel > :not(.buyer-account__workspace-toggle) { margin-right: var(--admin-panel-gap); margin-left: var(--admin-panel-gap); }
.buyer-account__workspace-panel > .buyer-account__compose { margin-bottom: var(--admin-panel-gap); }

.admin-conversation-workspace__detail { grid-template-rows: minmax(0, 1fr); min-height: 0; align-items: stretch; }
.admin-conversation-workspace__conversation { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; align-content: stretch; gap: 10px; min-height: 0; overflow: hidden; padding-bottom: var(--admin-panel-gap); }
.admin-conversation-workspace__history-panel { grid-template-rows: auto minmax(0, 1fr); min-height: 0; overflow: hidden; }
.admin-conversation-workspace__detail .admin-conversation-thread { min-height: 0; max-height: none; height: 100%; overflow-y: auto; }
.admin-conversation-workspace__reply-panel { display: grid; gap: 10px; min-width: 0; margin: 0; }
.admin-conversation-workspace__status-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; align-items: end; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper-deep)); }
.admin-conversation-workspace__status-controls > label, .admin-conversation-workspace__status-controls > form > label { display: grid; gap: 6px; min-width: 0; margin: 0; color: var(--ink); font-size: .76rem; font-weight: 800; }
.admin-conversation-workspace__status-controls > form { display: contents; margin: 0; }
.admin-conversation-workspace__status-controls select { box-sizing: border-box; width: 100%; min-height: var(--ui-control-height); padding: 8px 34px 8px 10px; border: 1px solid var(--line); border-radius: 6px; outline: 0; background: var(--theme-surface-input, var(--surface)); color: var(--ink); font: inherit; font-size: .78rem; }
.admin-conversation-workspace__status-controls select:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent); }
.admin-conversation-workspace__status-controls > form > button { min-height: var(--ui-control-height); white-space: nowrap; }

.admin-conversation-workspace__composer { align-items: center; }
.admin-conversation-workspace__composer-hint { grid-column: 1 / -1; color: var(--muted); font-size: .68rem; font-weight: 650; line-height: 1.45; }
.buyer-account__composer-row--compact .conversation-attach, .admin-conversation-workspace__composer .conversation-attach { font-size: .61rem; }
.admin-conversation-workspace__composer .conversation-attach { border-color: var(--orange); background: var(--orange); color: var(--white); }
.admin-conversation-workspace__composer .conversation-attach:hover, .admin-conversation-workspace__composer .conversation-attach:focus-within { border-color: var(--orange); background: color-mix(in srgb, var(--orange) 84%, #fff); color: var(--white); }
.admin-conversation-workspace__composer .conversation-attach.has-files { border-color: var(--orange); background: var(--orange); box-shadow: 0 0 0 2px color-mix(in srgb, var(--orange) 25%, transparent), 0 0 14px color-mix(in srgb, var(--orange) 32%, transparent); color: var(--white); }
@media (max-width: 560px) { .admin-conversation-workspace__conversation { height: auto; padding-bottom: 0; }.admin-conversation-workspace__composer { grid-template-columns: 46px minmax(0, 1fr) 38px; }.admin-conversation-workspace__composer-hint { grid-column: 1 / -1; }.admin-conversation-workspace__status-controls { grid-template-columns: 1fr; }.admin-conversation-workspace__status-controls > form > button { width: 100%; } }

/* ui-exception: bounded-conversation-workspace — fixed-height detail column preserves a usable scrolling history. */
@media (min-width: 901px) { .admin-conversation-workspace { grid-template-rows: minmax(0, 1fr); height: min(610px, 66vh); max-height: min(610px, 66vh); }.admin-conversation-workspace__detail, .admin-conversation-workspace__conversation { height: 100%; } }
.buyer-account__composer-row--compact, .admin-conversation-workspace__composer { align-items: stretch; }
.buyer-account__composer-row--compact .conversation-attach, .admin-conversation-workspace__composer .conversation-attach,
.buyer-account__composer-row--compact .buyer-account__composer-send, .admin-conversation-workspace__composer .admin-conversation-workspace__send,
.buyer-account__composer-row--compact .buyer-account__composer-textarea, .admin-conversation-workspace__composer .admin-conversation-workspace__reply-textarea { box-sizing: border-box; height: 38px; min-height: 38px; }
.buyer-account__composer-row--compact .buyer-account__composer-textarea, .admin-conversation-workspace__composer .admin-conversation-workspace__reply-textarea { padding: 6px 9px; line-height: 20px; }
.buyer-account__compose.buyer-account__compose--compact .buyer-account__composer-row--compact .conversation-attach,
.buyer-account__compose.buyer-account__compose--compact .buyer-account__composer-row--compact .buyer-account__composer-send,
.buyer-account__compose.buyer-account__compose--compact .buyer-account__composer-row--compact .buyer-account__composer-reply .buyer-account__composer-textarea { box-sizing: border-box; height: 38px; min-height: 38px; padding: 0; }
.buyer-account__compose.buyer-account__compose--compact .buyer-account__composer-row--compact .buyer-account__composer-reply .buyer-account__composer-textarea { padding: 6px 9px; line-height: 20px; }
.buyer-account__composer-row--compact .conversation-attach, .admin-conversation-workspace__composer .conversation-attach,
.buyer-account__composer-row--compact .buyer-account__composer-send, .admin-conversation-workspace__composer .admin-conversation-workspace__send { border-color: var(--orange) !important; background-color: var(--orange) !important; color: var(--white) !important; }
.buyer-account__composer-row--compact .conversation-attach:hover, .buyer-account__composer-row--compact .conversation-attach:focus-within,
.admin-conversation-workspace__composer .conversation-attach:hover, .admin-conversation-workspace__composer .conversation-attach:focus-within,
.buyer-account__composer-row--compact .buyer-account__composer-send:hover, .buyer-account__composer-row--compact .buyer-account__composer-send:focus-visible,
.admin-conversation-workspace__composer .admin-conversation-workspace__send:hover, .admin-conversation-workspace__composer .admin-conversation-workspace__send:focus-visible { background-color: color-mix(in srgb, var(--orange) 84%, #fff) !important; box-shadow: 0 0 14px color-mix(in srgb, var(--orange) 42%, transparent); }
.admin-conversation-workspace__composer .admin-conversation-workspace__reply-textarea { border-color: var(--line); background: var(--theme-surface-input, var(--paper-deep)) !important; color: var(--ink); }
.admin-conversation-workspace__composer .admin-conversation-workspace__reply-textarea::placeholder { color: var(--muted); opacity: 1; }

/* ui-exception: 3d-viewer-overlay-tools — compact canvas overlay controls are intentionally defined with the viewer styles above. */
.theme-logo-dark .buyer-account__workspace-toggle { border-color: var(--line); color: var(--ink); }
.theme-logo-dark .buyer-account__workspace-toggle:hover, .theme-logo-dark .buyer-account__workspace-toggle:focus-visible { color: var(--teal); }

/* ui-exception: bounded-conversation-workspace — the desktop workspace matches the buyer Messages height. */
@media (min-width: 901px) {
    .admin-conversation-workspace {
        min-height: 900px;
        height: 900px;
        max-height: 900px;
    }
    .admin-conversation-workspace__conversation {
        padding-bottom: 0;
    }
}

/* ui-exception: bounded-buyer-messages — the fixed workspace leaves the thread as the only flexible region. */
@media (min-width: 721px) {
    .buyer-account__messages.buyer-account__workspace-panel {
        grid-template-rows: auto auto minmax(0, 1fr) auto;
        height: 900px;
        min-height: 0;
    }
    .buyer-account__messages.buyer-account__workspace-panel > .buyer-account__thread {
        height: 100%;
        min-height: 0;
        max-height: none;
    }
}

/* Conversation standard: full composers use the Side Chat control treatment. */
.buyer-account__composer-row--compact .conversation-attach,
.admin-conversation-workspace__composer .conversation-attach {
    border-color: var(--line) !important;
    background: var(--theme-surface, var(--surface)) !important;
    color: var(--teal-deep) !important;
    padding: 0 7px;
}
.buyer-account__composer-row--compact .conversation-attach:hover,
.buyer-account__composer-row--compact .conversation-attach:focus-within,
.admin-conversation-workspace__composer .conversation-attach:hover,
.admin-conversation-workspace__composer .conversation-attach:focus-within {
    border-color: var(--teal-deep) !important;
    background: color-mix(in srgb, var(--teal-deep) 9%, var(--theme-surface, var(--surface))) !important;
    color: var(--teal-deep) !important;
}
.buyer-account__composer-row--compact .conversation-attach.has-files,
.admin-conversation-workspace__composer .conversation-attach.has-files {
    border-color: var(--teal-deep) !important;
    background: color-mix(in srgb, var(--teal-deep) 18%, var(--theme-surface, var(--surface))) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--teal) 20%, transparent), 0 0 14px color-mix(in srgb, var(--teal) 20%, transparent) !important;
    color: var(--teal-deep) !important;
}
.buyer-account__composer-row--compact .buyer-account__composer-send,
.admin-conversation-workspace__composer .admin-conversation-workspace__send {
    border-color: var(--teal-deep) !important;
    background: var(--teal-deep) !important;
    color: var(--theme-button-text, #fff) !important;
}
.buyer-account__composer-row--compact .buyer-account__composer-send:hover,
.buyer-account__composer-row--compact .buyer-account__composer-send:focus-visible,
.admin-conversation-workspace__composer .admin-conversation-workspace__send:hover,
.admin-conversation-workspace__composer .admin-conversation-workspace__send:focus-visible {
    border-color: var(--teal) !important;
    background: var(--teal) !important;
    box-shadow: 0 0 14px color-mix(in srgb, var(--teal) 42%, transparent) !important;
}
.buyer-account__composer-row--compact .buyer-account__composer-textarea,
.admin-conversation-workspace__composer .admin-conversation-workspace__reply-textarea {
    border: 1px solid var(--line);
    border-radius: 7px;
    outline: 0;
    background: var(--theme-surface-input, var(--surface)) !important;
    color: var(--ink);
    font: inherit;
    font-size: .76rem;
    padding: 8px 9px;
}
.buyer-account__composer-row--compact .buyer-account__composer-textarea:focus,
.admin-conversation-workspace__composer .admin-conversation-workspace__reply-textarea:focus {
    border-color: var(--teal-deep);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent);
}

/* ui-exception: named-admin-conversation-subsections - internal workspace sections remain visible without accordions. */
.admin-conversation-workspace__subsection-heading {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
}
.admin-conversation-workspace__subsection-title {
    margin: 0;
    color: var(--ink);
    font-size: .76rem;
    font-weight: 850;
}
.admin-conversation-workspace__subsection-heading > small {
    color: var(--muted);
    font-size: .64rem;
    font-weight: 760;
    text-align: right;
}
@media (max-width: 560px) {
    .admin-conversation-workspace__subsection-heading {
        align-items: start;
        flex-direction: column;
        gap: 3px;
    }
    .admin-conversation-workspace__subsection-heading > small {
        text-align: left;
    }
}

/* Conversation standard: all conversation histories use the Side Chat scrollbar treatment. */

/* Conversation standard: Side Chat attachments match the compact timeline card. */
.admin-conversation-dock__attachments,.buyer-conversation-dock__attachments { display: flex; flex-wrap: wrap; gap: 6px; }
.conversation-dock__attachment { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 7px; min-width: 0; max-width: 100%; padding: 5px 7px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface, var(--surface)); }
.conversation-dock__attachment.is-image { grid-template-columns: 34px minmax(0, 1fr) auto; }
.conversation-dock__attachment-preview { display: block; width: 34px; height: 34px; overflow: hidden; border: 1px solid var(--line); border-radius: 4px; }
.conversation-dock__attachment-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.conversation-dock__attachment-name { overflow: hidden; color: var(--teal-deep); font-size: .69rem; font-weight: 780; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.conversation-dock__attachment-download { color: var(--muted); font-size: .64rem; font-weight: 780; text-decoration: none; }
.conversation-dock__attachment-name:hover,.conversation-dock__attachment-name:focus-visible,.conversation-dock__attachment-download:hover,.conversation-dock__attachment-download:focus-visible { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; outline: 0; }
.buyer-account__messages .buyer-account__thread,
.admin-conversation-thread,
.admin-conversation-dock__history {
    scrollbar-color: var(--teal-deep) transparent;
    scrollbar-width: auto;
}
.buyer-account__messages .buyer-account__thread::-webkit-scrollbar,
.admin-conversation-thread::-webkit-scrollbar,
.admin-conversation-dock__history::-webkit-scrollbar {
    width: 11px;
}
.buyer-account__messages .buyer-account__thread::-webkit-scrollbar-track,
.admin-conversation-thread::-webkit-scrollbar-track,
.admin-conversation-dock__history::-webkit-scrollbar-track {
    background: transparent;
}
.buyer-account__messages .buyer-account__thread::-webkit-scrollbar-thumb,
.admin-conversation-thread::-webkit-scrollbar-thumb,
.admin-conversation-dock__history::-webkit-scrollbar-thumb {
    border: 3px solid transparent;
    border-radius: 999px;
    background: var(--teal-deep);
    background-clip: padding-box;
}
.buyer-account__messages .buyer-account__thread::-webkit-scrollbar-thumb:hover,
.admin-conversation-thread::-webkit-scrollbar-thumb:hover,
.admin-conversation-dock__history::-webkit-scrollbar-thumb:hover {
    background: var(--teal-deep);
    background-clip: padding-box;
}

/* ui-exception: compact-conversation-context-cards - linked context stays secondary to nearby messages. */
.buyer-account__entry--context {
    min-height: 62px;
    padding: 9px 10px;
}
.buyer-account__context-preview {
    display: block;
    width: 42px;
    height: 42px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--teal-deep) 42%, var(--line));
    border-radius: 7px;
    background: var(--theme-surface-muted, var(--paper));
}
.buyer-account__context-preview > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.buyer-account__entry--context .buyer-account__context-copy {
    gap: 2px;
}
.buyer-account__entry--context .buyer-account__context-copy small {
    line-height: 1.2;
}
.buyer-account__entry--context .buyer-account__context-copy strong {
    margin-top: 0;
    line-height: 1.3;
}

/* Catalogue card standard: purchase and download actions form the bottom-anchored card footer. */
.product-card {
    display: flex;
    flex-direction: column;
}
.product-card__image {
    flex: 0 0 auto;
}
.product-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}
.product-card__links {
    margin-top: auto;
}

/* Discount Bundle storefront: a distinct promotion treatment that remains part
   of the standard listing-card footer rather than competing with the listing. */
.button--bundle {
    position: relative;
    border-color: color-mix(in srgb, var(--violet, var(--teal-deep)) 62%, var(--line));
    padding-left: 36px;
    background: color-mix(in srgb, var(--violet, var(--teal-deep)) 15%, var(--theme-surface, var(--surface)));
    color: var(--ink) !important;
    box-shadow: inset 3px 0 0 var(--orange);
}
.button--bundle::before {
    position: absolute;
    top: 50%;
    left: 13px;
    width: 12px;
    height: 12px;
    background: currentColor;
    content: '';
    clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%, 50% 0, 50% 22%, 23% 36%, 23% 64%, 50% 78%, 77% 64%, 77% 36%, 50% 22%);
    transform: translateY(-50%);
}
.button--bundle::after {
    position: absolute;
    inset: -1px;
    padding: 1px;
    border-radius: inherit;
    background: linear-gradient(105deg, var(--violet, var(--teal-deep)) 0%, var(--orange) 42%, #fff3df 50%, var(--orange) 58%, var(--violet, var(--teal-deep)) 100%);
    background-size: 240% 100%;
    background-position: 130% 0;
    content: '';
    opacity: 0;
    pointer-events: none;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
}
.button--bundle:hover,
.button--bundle:focus-visible {
    border-color: color-mix(in srgb, var(--violet, var(--teal-deep)) 62%, var(--line));
    background: color-mix(in srgb, var(--violet, var(--teal-deep)) 15%, var(--theme-surface, var(--surface))) !important;
    color: var(--ink) !important;
    box-shadow: inset 3px 0 0 var(--orange);
    transform: translateY(-1px);
    outline: 0;
    animation: bundle-button-sparkle-glow 1.35s ease-in-out infinite;
}
.button--bundle:hover::after,
.button--bundle:focus-visible::after { opacity: 1; animation: bundle-navigation-shimmer .9s linear infinite; }
@keyframes bundle-button-sparkle-glow {
    0%, 100% { box-shadow: inset 3px 0 0 var(--orange), 0 0 5px rgba(255,139,42,.18), 6px -3px 3px -4px rgba(255,243,223,.62); }
    48% { box-shadow: inset 3px 0 0 var(--orange), 0 0 8px rgba(255,139,42,.28), -5px 4px 3px -4px rgba(255,243,223,.74), 7px -4px 4px -4px rgba(255,139,42,.58); }
    72% { box-shadow: inset 3px 0 0 var(--orange), 0 0 6px rgba(255,139,42,.22), 4px 4px 3px -4px rgba(255,243,223,.65); }
}
.product-card__purchase-actions {
    display: grid;
    gap: 8px;
    margin-top: auto;
    container-type: inline-size;
    container-name: product-card-actions;
}
.product-card__purchase-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
}
.product-card__purchase-row--paired {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.product-card__purchase-row--paired > .button,
.product-card__purchase-row--paired .product-card__basket-form > .button {
    height: var(--ui-control-height);
    min-height: var(--ui-control-height);
    padding-inline: 12px;
    font-size: .82rem;
    white-space: nowrap;
}
.product-card__purchase-row--paired .button--secondary,
.product-card__purchase-row--paired .button--secondary:hover,
.product-card__purchase-row--paired .button--secondary:focus-visible {
    color: var(--teal-deep);
}
.theme-logo-dark .product-card__purchase-row--paired .button--secondary,
.theme-logo-dark .product-card__purchase-row--paired .button--secondary:hover,
.theme-logo-dark .product-card__purchase-row--paired .button--secondary:focus-visible {
    color: var(--teal);
}
.product-card__purchase-row > .button,
.product-card__basket-form,
.product-card__basket-form > .button,
.product-card__bundle-offer > .button {
    width: 100%;
    min-width: 0;
}
.product-card__basket-form {
    display: block;
    margin: 0;
}
.product-card__bundle-offer .product-card__bundle-link {
    display: flex;
    min-height: var(--ui-control-height);
    align-items: center;
    justify-content: space-between;
    padding: 8px 13px 8px 34px;
    font-size: .72rem;
    line-height: 1.2;
    text-align: left;
}
@container product-card-actions (max-width: 300px) {
    .product-card__purchase-row--paired {
        grid-template-columns: minmax(0, 1fr);
    }
}
.product-card__bundle-link span,
.product-card__bundle-link strong {
    display: block;
}
.product-card__bundle-link strong {
    margin-top: 2px;
    color: var(--orange);
    font-size: .62rem;
    letter-spacing: .03em;
}
.listing-card__featured--bundle {
    background: var(--violet, var(--teal-deep));
    color: var(--white);
}
.listing-card__bundle-icon {
    position: absolute;
    z-index: 2;
    right: 9px;
    bottom: 9px;
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--orange) 76%, var(--white));
    border-radius: 5px;
    background: color-mix(in srgb, var(--violet, var(--teal-deep)) 88%, transparent);
    color: var(--white);
    box-shadow: 0 3px 10px rgba(0,0,0,.28);
}
.listing-card__bundle-icon svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
}
.product-card:hover .listing-card__bundle-icon,
.product-card__image:focus-visible .listing-card__bundle-icon {
    border-color: transparent;
    background: linear-gradient(color-mix(in srgb, var(--violet, var(--teal-deep)) 88%, var(--theme-header-bg, var(--ink)) 12%), color-mix(in srgb, var(--violet, var(--teal-deep)) 88%, var(--theme-header-bg, var(--ink)) 12%)) padding-box, linear-gradient(105deg, var(--violet, var(--teal-deep)) 0%, var(--orange) 42%, color-mix(in srgb, var(--orange) 38%, var(--white)) 50%, var(--orange) 58%, var(--violet, var(--teal-deep)) 100%) border-box;
    background-size: 100% 100%, 240% 100%;
    background-position: 0 0, 130% 0;
    animation: bundle-navigation-shimmer .9s linear infinite;
}
.nav-menu > .nav-menu__bundle-link {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 9px;
    border: 1px solid var(--violet, var(--teal-deep));
    border-radius: 5px;
    background: var(--theme-header-bg, var(--ink));
    box-shadow: inset 2px 0 0 var(--orange), 0 0 3px var(--violet, var(--teal-deep));
    color: var(--theme-header-text, #d9dfeb);
    font-size: .78rem;
    font-weight: 820;
    line-height: 1;
}
.nav-menu > .nav-menu__bundle-link::before {
    width: 11px;
    height: 11px;
    margin-right: 5px;
    background: currentColor;
    content: '';
    clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%, 50% 0, 50% 22%, 23% 36%, 23% 64%, 50% 78%, 77% 64%, 77% 36%, 50% 22%);
}
.nav-menu > .nav-menu__bundle-link:hover,
.nav-menu > .nav-menu__bundle-link:focus-visible,
.nav-menu > .nav-menu__bundle-link.is-active {
    border-color: transparent;
    background: linear-gradient(color-mix(in srgb, var(--theme-header-bg, var(--ink)) 88%, var(--violet, var(--teal-deep)) 12%), color-mix(in srgb, var(--theme-header-bg, var(--ink)) 88%, var(--violet, var(--teal-deep)) 12%)) padding-box, linear-gradient(105deg, var(--violet, var(--teal-deep)) 0%, var(--orange) 42%, color-mix(in srgb, var(--orange) 38%, var(--white)) 50%, var(--orange) 58%, var(--violet, var(--teal-deep)) 100%) border-box;
    background-size: 100% 100%, 240% 100%;
    background-position: 0 0, 130% 0;
    color: var(--theme-header-text, #fff);
    outline: 0;
}
.nav-menu > .nav-menu__bundle-link:hover,
.nav-menu > .nav-menu__bundle-link:focus-visible {
    animation: bundle-navigation-shimmer .9s linear infinite, bundle-navigation-sparkle-glow 1.35s ease-in-out infinite;
}
@keyframes bundle-navigation-shimmer {
    to { background-position: 0 0, -130% 0; }
}
@keyframes bundle-navigation-sparkle-glow {
    0%, 100% { box-shadow: inset 2px 0 0 var(--orange), 0 0 4px rgba(255,139,42,.16), 5px -2px 3px -4px rgba(255,243,223,.52); }
    48% { box-shadow: inset 2px 0 0 var(--orange), 0 0 7px rgba(255,139,42,.24), -4px 3px 3px -4px rgba(255,243,223,.65), 5px -3px 3px -4px rgba(255,139,42,.48); }
    72% { box-shadow: inset 2px 0 0 var(--orange), 0 0 5px rgba(255,139,42,.2), 3px 3px 3px -4px rgba(255,243,223,.56); }
}
@media (prefers-reduced-motion: reduce) {
    .nav-menu > .nav-menu__bundle-link:hover,
    .nav-menu > .nav-menu__bundle-link:focus-visible,
    .button--bundle:hover,
    .button--bundle:focus-visible,
    .button--bundle:hover::after,
    .button--bundle:focus-visible::after,
    .product-card:hover .listing-card__bundle-icon,
    .product-card__image:focus-visible .listing-card__bundle-icon { animation: none; }
}

/* Action Element standard: communicate an in-progress action without changing
   the control's theme-derived resting colours or geometry. */
.action-element.is-pending {
    --action-element-accent: var(--teal);
    --action-element-highlight: color-mix(in srgb, var(--theme-button-text, #fff) 82%, var(--action-element-accent));
    position: relative;
    isolation: isolate;
    cursor: progress;
    transform: none !important;
    animation: action-element-pending-glow 1.35s ease-in-out infinite;
}
.action-element.is-pending::after {
    position: absolute;
    inset: -1px;
    padding: 1px;
    border-radius: inherit;
    background: linear-gradient(105deg, var(--action-element-accent) 0%, var(--action-element-highlight) 42%, var(--theme-button-text, #fff) 50%, var(--action-element-highlight) 58%, var(--action-element-accent) 100%);
    background-size: 240% 100%;
    background-position: 130% 0;
    content: '';
    pointer-events: none;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    animation: action-element-border-shimmer .9s linear infinite;
}
.action-element.is-pending:disabled { opacity: 1; }
.quote-services__error { margin: 10px 0 0; color: #ffd2c7; font-size: .74rem; font-weight: 720; line-height: 1.45; }
[data-quote-services].is-invalid .service-options span { border-color: rgba(255,112,67,.78); }
@keyframes action-element-border-shimmer {
    to { background-position: -130% 0; }
}
@keyframes action-element-pending-glow {
    0%, 100% { box-shadow: 0 0 5px color-mix(in srgb, var(--action-element-accent) 28%, transparent), 5px -2px 3px -4px color-mix(in srgb, var(--action-element-highlight) 54%, transparent); }
    48% { box-shadow: 0 0 8px color-mix(in srgb, var(--action-element-accent) 42%, transparent), -4px 3px 3px -4px color-mix(in srgb, var(--action-element-highlight) 70%, transparent), 6px -3px 4px -4px color-mix(in srgb, var(--action-element-accent) 54%, transparent); }
    72% { box-shadow: 0 0 6px color-mix(in srgb, var(--action-element-accent) 34%, transparent), 3px 3px 3px -4px color-mix(in srgb, var(--action-element-highlight) 58%, transparent); }
}
@media (prefers-reduced-motion: reduce) {
    .action-element.is-pending,
    .action-element.is-pending::after { animation: none; }
}
.nav-menu__dropdown > .nav-menu__bundle-link,
.nav-menu__subdropdown > .nav-menu__bundle-link {
    border-left: 2px solid var(--orange);
    background: color-mix(in srgb, var(--violet, var(--teal-deep)) 16%, transparent);
}
.discount-bundle-card__summary {
    display: grid;
    gap: 4px;
    margin: 0 0 12px;
    color: var(--slate);
    font-size: .72rem;
    line-height: 1.35;
}
.discount-bundle-card__summary strong {
    color: var(--orange);
    font-size: .76rem;
}
/* A Discount Bundle represents several listings, so its public artwork is a
   compact stack of the first component images rather than a misleading single
   product cover. It intentionally shares theme tokens with the card behind it
   and still reads well when a component has no uploaded image. */
.discount-bundle-collage {
    position: relative;
    display: block;
    min-height: 205px;
    overflow: hidden;
    isolation: isolate;
    background: radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--orange) 15%, transparent), transparent 46%), linear-gradient(145deg, color-mix(in srgb, var(--violet, var(--teal-deep)) 31%, var(--theme-surface-muted, var(--surface-muted))), var(--theme-surface, var(--surface)));
}
.discount-bundle-collage::before,
.discount-bundle-collage::after {
    position: absolute;
    z-index: 0;
    content: '';
    pointer-events: none;
}
.discount-bundle-collage::before {
    inset: 10% 7%;
    border: 1px solid color-mix(in srgb, var(--orange) 35%, transparent);
    border-radius: 13px;
    opacity: .52;
    transform: rotate(-5deg);
}
.discount-bundle-collage::after {
    right: -14%;
    bottom: -34%;
    width: 78%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: color-mix(in srgb, var(--violet, var(--teal-deep)) 24%, transparent);
}
.discount-bundle-collage__tile {
    --bundle-collage-transform: translate(-50%, -50%) rotate(-3deg);
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    display: block;
    width: 60%;
    aspect-ratio: 1 / .88;
    overflow: hidden;
    border: 2px solid color-mix(in srgb, var(--theme-button-text, var(--white)) 70%, transparent);
    border-radius: 9px;
    background: var(--theme-surface-muted, var(--surface-muted));
    box-shadow: 0 12px 23px rgba(0,0,0,.28);
    transform: var(--bundle-collage-transform);
}
.discount-bundle-collage__tile img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}
.discount-bundle-collage__tile--placeholder {
    display: grid;
    overflow: visible;
    background: linear-gradient(145deg, color-mix(in srgb, var(--violet, var(--teal-deep)) 65%, var(--theme-surface-muted, var(--surface-muted))), color-mix(in srgb, var(--orange) 28%, var(--theme-surface, var(--surface))));
    place-items: center;
}
.discount-bundle-collage__tile--placeholder > span {
    position: relative;
    display: block;
    width: 35%;
    aspect-ratio: 1;
    border: 2px solid color-mix(in srgb, var(--theme-button-text, var(--white)) 80%, transparent);
    border-radius: 4px;
    transform: rotate(30deg) skewY(-8deg);
}
.discount-bundle-collage__tile--placeholder > span::before,
.discount-bundle-collage__tile--placeholder > span::after {
    position: absolute;
    content: '';
}
.discount-bundle-collage__tile--placeholder > span::before {
    top: 24%;
    left: 24%;
    width: 47%;
    height: 47%;
    border: 2px solid color-mix(in srgb, var(--theme-button-text, var(--white)) 70%, transparent);
    border-radius: 2px;
}
.discount-bundle-collage__tile--placeholder > span::after {
    right: -24%;
    bottom: -24%;
    width: 48%;
    height: 48%;
    border-radius: 3px;
    background: color-mix(in srgb, var(--orange) 78%, var(--theme-button-text, var(--white)));
}
.discount-bundle-collage--items-1 .discount-bundle-collage__tile:nth-child(1) {
    width: 66%;
    --bundle-collage-transform: translate(-50%, -50%) rotate(-3deg);
}
.discount-bundle-collage--items-2 .discount-bundle-collage__tile:nth-child(1) {
    top: 48%;
    left: 37%;
    --bundle-collage-transform: translate(-50%, -50%) rotate(-9deg);
}
.discount-bundle-collage--items-2 .discount-bundle-collage__tile:nth-child(2) {
    top: 53%;
    left: 64%;
    --bundle-collage-transform: translate(-50%, -50%) rotate(8deg);
}
.discount-bundle-collage--items-3 .discount-bundle-collage__tile,
.discount-bundle-collage--items-4 .discount-bundle-collage__tile {
    width: 54%;
}
.discount-bundle-collage--items-3 .discount-bundle-collage__tile:nth-child(1),
.discount-bundle-collage--items-4 .discount-bundle-collage__tile:nth-child(1) {
    top: 38%;
    left: 34%;
    --bundle-collage-transform: translate(-50%, -50%) rotate(-10deg);
}
.discount-bundle-collage--items-3 .discount-bundle-collage__tile:nth-child(2),
.discount-bundle-collage--items-4 .discount-bundle-collage__tile:nth-child(2) {
    top: 38%;
    left: 67%;
    --bundle-collage-transform: translate(-50%, -50%) rotate(9deg);
}
.discount-bundle-collage--items-3 .discount-bundle-collage__tile:nth-child(3),
.discount-bundle-collage--items-4 .discount-bundle-collage__tile:nth-child(3) {
    top: 65%;
    left: 47%;
    --bundle-collage-transform: translate(-50%, -50%) rotate(-3deg);
}
.discount-bundle-collage--items-4 .discount-bundle-collage__tile:nth-child(4) {
    z-index: 2;
    top: 66%;
    left: 72%;
    width: 44%;
    --bundle-collage-transform: translate(-50%, -50%) rotate(12deg);
}
.discount-bundle-collage__more {
    position: absolute;
    z-index: 3;
    top: 10px;
    right: 10px;
    display: grid;
    min-width: 28px;
    height: 24px;
    padding: 0 6px;
    border: 1px solid color-mix(in srgb, var(--orange) 65%, var(--theme-button-text, var(--white)));
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-header-bg, var(--ink)) 88%, var(--violet, var(--teal-deep)));
    color: var(--theme-header-text, var(--white));
    font-size: .67rem;
    font-weight: 850;
    line-height: 1;
    place-items: center;
}
.product-card:hover .discount-bundle-collage__tile img,
.product-card__image:focus-visible .discount-bundle-collage__tile img {
    transform: scale(1.06);
}
.discount-bundle-collage--compact {
    min-height: 92px;
    border: 1px solid var(--line);
    border-radius: 7px;
}
.discount-bundle-collage--compact .discount-bundle-collage__tile {
    border-width: 1px;
    border-radius: 5px;
    box-shadow: 0 5px 11px rgba(0,0,0,.24);
}
.discount-bundle-collage--compact .discount-bundle-collage__more {
    top: 5px;
    right: 5px;
    min-width: 21px;
    height: 18px;
    padding: 0 4px;
    font-size: .55rem;
}
.discount-bundle-collage--basket {
    min-height: 144px;
    border: 1px solid color-mix(in srgb, var(--violet, var(--teal-deep)) 36%, var(--line));
    border-radius: 8px;
}
.store-intro--bundles .button {
    white-space: nowrap;
}
.listing-bundle-offers {
    display: grid;
    gap: 11px;
    max-width: 580px;
    margin: 18px 0;
    padding: 16px;
    border: 1px solid color-mix(in srgb, var(--violet, var(--teal-deep)) 45%, var(--line));
    border-radius: 9px;
    background: color-mix(in srgb, var(--violet, var(--teal-deep)) 8%, var(--paper-deep, var(--white)));
}
.listing-bundle-offers__heading,
.listing-bundle-offer__card > div {
    display: grid;
    gap: 5px;
}
.listing-bundle-offers .eyebrow,
.listing-bundle-offers h2,
.listing-bundle-offers p,
.listing-bundle-offers small {
    margin: 0;
}
.listing-bundle-offers__heading h2 {
    color: var(--ink);
    font-size: 1.03rem;
}
.listing-bundle-offers__grid {
    display: grid;
    gap: 8px;
}
.listing-bundle-offer__card {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--theme-surface, var(--surface));
}
.listing-bundle-offer__card h2 {
    font-size: .88rem;
}
.listing-bundle-offer__card p,
.listing-bundle-offer__card small {
    color: var(--slate);
    font-size: .73rem;
    line-height: 1.4;
}
.listing-bundle-offer__card p strong,
.listing-bundle-offer__card small {
    color: var(--ink);
}
.listing-bundle-offer__card .button {
    min-height: 36px;
    padding: 7px 10px 7px 27px;
    font-size: .7rem;
    white-space: nowrap;
}
.theme-logo-dark .listing-bundle-offers {
    background: color-mix(in srgb, var(--violet, var(--teal-deep)) 13%, var(--theme-surface-muted));
}
.discount-bundle-detail__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(205px, 280px) minmax(240px, 330px);
    gap: 24px;
    align-items: center;
    margin: 22px 0 26px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--line);
}
.discount-bundle-detail__hero > div {
    display: grid;
    gap: 10px;
}
.discount-bundle-detail__hero .eyebrow,
.discount-bundle-detail__hero h1,
.discount-bundle-detail__hero p {
    margin: 0;
}
.discount-bundle-detail__hero h1 {
    color: var(--ink);
}
.discount-bundle-detail__hero > div > p:last-child {
    max-width: 680px;
    color: var(--slate);
    line-height: 1.6;
}
.discount-bundle-detail__visual {
    min-width: 0;
}
.discount-bundle-detail__visual .discount-bundle-collage {
    min-height: 240px;
    border: 1px solid color-mix(in srgb, var(--violet, var(--teal-deep)) 42%, var(--line));
    border-radius: 10px;
}
.discount-bundle-detail__price {
    display: grid;
    gap: 4px;
    padding: 18px;
    border: 1px solid color-mix(in srgb, var(--violet, var(--teal-deep)) 48%, var(--line));
    border-radius: 10px;
    background: color-mix(in srgb, var(--violet, var(--teal-deep)) 10%, var(--theme-surface, var(--surface)));
}
.discount-bundle-detail__price span {
    color: var(--slate);
    font-size: .75rem;
    text-decoration: line-through;
}
.discount-bundle-detail__price strong {
    color: var(--ink);
    font-size: 1.7rem;
}
.discount-bundle-detail__price b {
    color: var(--orange);
    font-size: .8rem;
}
.discount-bundle-detail__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(270px, 340px);
    gap: 24px;
    align-items: start;
}
.discount-bundle-detail__contents {
    display: grid;
    gap: 14px;
}
.discount-bundle-detail__contents > div:first-child,
.discount-bundle-detail__contents .eyebrow,
.discount-bundle-detail__contents h2 {
    margin: 0;
}
.discount-bundle-detail__contents h2,
.discount-bundle-detail__purchase h2 {
    color: var(--ink);
    font-size: 1.25rem;
}
.discount-bundle-detail__items {
    display: grid;
    gap: 10px;
}
.discount-bundle-detail__items article {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--theme-surface, var(--surface));
}
.discount-bundle-detail__items article > a,
.discount-bundle-detail__items img,
.discount-bundle-detail__item-placeholder {
    display: block;
    width: 86px;
    height: 68px;
    overflow: hidden;
    border-radius: 5px;
}
.discount-bundle-detail__items img {
    object-fit: cover;
}
.discount-bundle-detail__item-placeholder {
    display: grid;
    place-items: center;
    background: var(--theme-surface-muted, var(--surface-muted));
    color: var(--muted);
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
}
.discount-bundle-detail__items article > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.discount-bundle-detail__items h3,
.discount-bundle-detail__items p {
    margin: 0;
}
.discount-bundle-detail__items h3,
.discount-bundle-detail__items h3 a {
    color: var(--ink);
    font-size: .88rem;
}
.discount-bundle-detail__items p {
    color: var(--slate);
    font-size: .72rem;
}
.discount-bundle-detail__items .text-link {
    font-size: .72rem;
}
.discount-bundle-detail__purchase {
    position: sticky;
    top: 20px;
    display: grid;
    gap: 12px;
    padding: 19px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--theme-surface-muted, var(--surface-muted));
}
.discount-bundle-detail__purchase .eyebrow,
.discount-bundle-detail__purchase h2,
.discount-bundle-detail__purchase p,
.discount-bundle-detail__purchase small {
    margin: 0;
}
.discount-bundle-detail__purchase p,
.discount-bundle-detail__purchase small {
    color: var(--slate);
    font-size: .78rem;
    line-height: 1.5;
}
.discount-bundle-detail__purchase p strong {
    color: var(--ink);
}
.discount-bundle-detail__purchase .button {
    width: 100%;
    justify-content: center;
}
@media (max-width: 980px) {
    .discount-bundle-detail__hero {
        grid-template-columns: minmax(0, 1fr) minmax(215px, 300px);
        align-items: start;
    }
    .discount-bundle-detail__visual {
        grid-column: 1 / -1;
        width: min(100%, 360px);
    }
}
@media (max-width: 760px) {
    .product-card__links--primary .product-card__bundle-link { margin-left: 0; }
    .listing-bundle-offer__card,
    .discount-bundle-detail__hero,
    .discount-bundle-detail__layout { grid-template-columns: 1fr; }
    .discount-bundle-detail__price { max-width: none; }
    .discount-bundle-detail__visual { grid-column: auto; width: 100%; }
    .discount-bundle-detail__purchase { position: static; }
}
@media (max-width: 520px) {
    .listing-bundle-offer__card { grid-template-columns: 72px minmax(0, 1fr); }
    .listing-bundle-offer__card .button { grid-column: 2; justify-self: start; }
    .listing-bundle-offer__card .discount-bundle-collage { min-height: 72px; }
}

/* Secret listing metadata triage: compare inherited import data with a
   reusable archive rule before applying a deliberately reviewable update. */
.admin-secret-triage { display: grid; gap: var(--admin-panel-gap, 20px); }
.admin-secret-triage__summary { max-width: 310px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--paper)); color: var(--slate); font-size: .73rem; font-weight: 780; line-height: 1.4; text-align: right; }
.admin-secret-triage .admin-section-panel { display: grid; gap: var(--admin-space-section, 18px); margin: 0; padding: var(--admin-space-major, 22px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); }
.admin-secret-triage .admin-section-panel__heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin: 0; padding: 0; border: 0; background: transparent; }
.admin-secret-triage .admin-section-panel__heading > .button { flex: 0 0 auto; min-height: 36px; font-size: .7rem; }
.admin-secret-triage .admin-section-panel__heading h3 { margin: 0; color: var(--ink); font-size: 1.35rem; }
.admin-secret-triage .admin-section-panel__heading p { max-width: 760px; margin: 7px 0 0; color: var(--slate); font-size: .78rem; line-height: 1.5; }
.admin-secret-triage__rule-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; align-items: end; }
.admin-secret-triage :is(.admin-secret-triage__rule-form,.admin-secret-triage__filters,.admin-secret-triage__listing-editor) label { display: grid; min-width: 0; gap: 7px; color: var(--ink); font-size: .73rem; font-weight: 820; line-height: 1.35; }
.admin-secret-triage :is(input:not([type="checkbox"]),select) { box-sizing: border-box; width: 100%; min-width: 0; min-height: var(--ui-control-height, 42px); padding: 0 11px; border: 1px solid var(--line); border-radius: 6px; outline: none; background: var(--theme-surface-input, var(--paper)); color: var(--ink); font: inherit; font-size: .82rem; }
.admin-secret-triage :is(input:not([type="checkbox"]),select):focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal-deep) 18%, transparent); }
.admin-secret-triage__rule-actions { display: flex; min-height: var(--ui-control-height, 42px); flex-wrap: wrap; align-items: center; gap: 8px; grid-column: span 2; }
.admin-secret-triage__rule-actions > button:not(.button), .admin-secret-triage__bulk button:not(.button), .admin-secret-triage__rule button, .admin-secret-triage__card-actions button:not(.button) { min-height: 34px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface-muted, var(--paper)); color: var(--ink); font: 780 .71rem/1.2 var(--font-body); cursor: pointer; }
.admin-secret-triage__rule-actions > button:not(.button):hover, .admin-secret-triage__rule-actions > button:not(.button):focus-visible, .admin-secret-triage__bulk button:not(.button):hover, .admin-secret-triage__bulk button:not(.button):focus-visible, .admin-secret-triage__rule button:hover, .admin-secret-triage__rule button:focus-visible, .admin-secret-triage__card-actions button:not(.button):hover, .admin-secret-triage__card-actions button:not(.button):focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }
.admin-secret-triage__rule-actions > span { color: var(--slate); font-size: .72rem; font-weight: 720; }
.admin-secret-triage__rule-list { display: grid; gap: 8px; }
.admin-secret-triage__rule { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 15px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--paper)); }
.admin-secret-triage__rule > div:first-child { display: grid; min-width: 0; gap: 3px; }
.admin-secret-triage__rule strong { color: var(--ink); font-size: .79rem; }
.admin-secret-triage__rule span, .admin-secret-triage__rule small { overflow-wrap: anywhere; color: var(--slate); font-size: .7rem; line-height: 1.35; }
.admin-secret-triage__rule > div:last-child { display: flex; flex: 0 0 auto; gap: 7px; }
.admin-secret-triage__rule .is-danger { color: var(--theme-danger, #b95743); }
.admin-secret-triage__filters { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(180px, .65fr)); gap: 13px; }
.admin-secret-triage__bulk { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px; border: 1px solid color-mix(in srgb, var(--teal-deep) 42%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--teal-deep) 7%, var(--theme-surface-muted, var(--paper))); }
.admin-secret-triage__bulk > div:first-child { display: grid; min-width: 0; gap: 3px; }
.admin-secret-triage__bulk strong { color: var(--ink); font-size: .77rem; }
.admin-secret-triage__bulk > div:first-child span { color: var(--slate); font-size: .7rem; line-height: 1.4; }
.admin-secret-triage__bulk-options { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 7px; }
.admin-secret-triage__bulk-options label { display: inline-flex; min-height: 34px; align-items: center; gap: 6px; padding: 0 9px; border: 1px solid var(--line); border-radius: 99px; background: var(--theme-surface, var(--white)); color: var(--ink); font-size: .7rem; font-weight: 800; cursor: pointer; }
.admin-secret-triage__bulk-options label:has(input:checked) { border-color: var(--teal-deep); color: var(--teal-deep); }
.admin-secret-triage__bulk-options input[type="checkbox"], .admin-secret-triage__select input[type="checkbox"] { width: 15px; height: 15px; margin: 0; accent-color: var(--teal-deep); cursor: pointer; }
.admin-secret-triage__list { display: grid; gap: 13px; }
.admin-secret-triage__card { display: grid; gap: 12px; min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper)); }
.admin-secret-triage__card > header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 10px; }
.admin-secret-triage__select { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface-input, var(--paper)); }
.admin-secret-triage__card .eyebrow { margin: 0 0 3px; font-size: .58rem; }
.admin-secret-triage__card h4 { margin: 0; overflow-wrap: anywhere; color: var(--ink); font-size: .95rem; line-height: 1.25; }
.admin-secret-triage__badge { align-self: start; padding: 4px 6px; border-radius: 99px; background: color-mix(in srgb, var(--slate) 15%, transparent); color: var(--slate); font-size: .59rem; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; white-space: nowrap; }
.admin-secret-triage__badge.is-needs_review { background: color-mix(in srgb, var(--orange) 21%, transparent); color: var(--orange); }
.admin-secret-triage__badge.is-reviewed { background: color-mix(in srgb, var(--theme-success, #69c9aa) 20%, transparent); color: var(--theme-success, #69c9aa); }
.admin-secret-triage__source { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 11px; align-items: center; padding: 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface, var(--white)); }
.admin-secret-triage__source > :is(img,span) { display: grid; width: 62px; height: 50px; place-items: center; border-radius: 5px; background: var(--theme-surface-input, var(--paper)); color: var(--teal-deep); font-size: .65rem; font-weight: 900; letter-spacing: .08em; object-fit: cover; }
.admin-secret-triage__source > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.admin-secret-triage__source > div > div { display: grid; min-width: 0; gap: 2px; }
.admin-secret-triage__source span, .admin-secret-triage__source strong { overflow-wrap: anywhere; }
.admin-secret-triage__source span { color: var(--slate); font-size: .61rem; font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }
.admin-secret-triage__source strong { color: var(--ink); font-size: .71rem; line-height: 1.35; }
.admin-secret-triage__comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.admin-secret-triage__comparison section { display: grid; min-width: 0; gap: 7px; padding: 11px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface, var(--white)); }
.admin-secret-triage__comparison section:last-child { border-color: color-mix(in srgb, var(--teal-deep) 48%, var(--line)); }
.admin-secret-triage__comparison strong { color: var(--slate); font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; }
.admin-secret-triage__comparison p { margin: 0; overflow-wrap: anywhere; color: var(--ink); font-size: .8rem; font-weight: 820; line-height: 1.35; }
.admin-secret-triage__chips { display: flex; flex-wrap: wrap; gap: 5px; }
.admin-secret-triage__chips > span { max-width: 100%; padding: 3px 6px; overflow: hidden; border-radius: 99px; background: color-mix(in srgb, var(--teal-deep) 12%, transparent); color: var(--teal-deep); font-size: .62rem; font-weight: 800; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.admin-secret-triage__chips > .is-empty { padding: 0; background: transparent; color: var(--slate); font-style: italic; font-weight: 680; }
.admin-secret-triage__matched-rules { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: var(--slate); font-size: .69rem; line-height: 1.4; }
.admin-secret-triage__matched-rules > span { color: var(--ink); font-weight: 820; }
.admin-secret-triage__payload { gap: 6px !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.admin-secret-triage__payload summary { color: var(--teal-deep); font-size: .7rem; font-weight: 830; cursor: pointer; }
.admin-secret-triage__payload ul { display: grid; gap: 4px; max-height: 150px; margin: 6px 0 0; padding: 9px 11px 9px 26px; overflow: auto; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface-input, var(--paper)); color: var(--slate); font-size: .68rem; line-height: 1.35; }
.admin-secret-triage__payload p { margin: 6px 0 0; color: var(--slate); font-size: .7rem; }
.admin-secret-triage__listing-editor { display: grid; grid-template-columns: minmax(0, 1.1fr) repeat(2, minmax(0, .8fr)) auto; gap: 9px; align-items: end; padding-top: 2px; }
.admin-secret-triage__card-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.admin-secret-triage__card-actions .button { min-height: 34px; padding: 7px 10px; font-size: .7rem; }
.admin-secret-triage [data-triage-status].is-error, .admin-secret-triage [data-triage-rule-status].is-error { color: var(--theme-danger, #b95743); font-weight: 790; }
.admin-secret-triage.is-busy { cursor: progress; }
.admin-secret-triage.is-busy :is(button,input,select) { cursor: progress; }
.theme-logo-dark .admin-secret-triage .admin-section-panel, .theme-logo-dark .admin-secret-triage__card, .theme-logo-dark .admin-secret-triage__comparison section, .theme-logo-dark .admin-secret-triage__source, .theme-logo-dark .admin-secret-triage__bulk-options label { border-color: #454d52; background: #202529; }
.theme-logo-dark .admin-secret-triage :is(input:not([type="checkbox"]),select), .theme-logo-dark .admin-secret-triage__source > :is(img,span), .theme-logo-dark .admin-secret-triage__payload ul, .theme-logo-dark .admin-secret-triage__select { border-color: #454d52; background: #141719; color: #f1f3f4; }
.theme-logo-dark .admin-secret-triage :is(.admin-section-panel__heading h3,.admin-secret-triage__rule strong,.admin-secret-triage__card h4,.admin-secret-triage__source strong,.admin-secret-triage__comparison p,.admin-secret-triage__bulk strong,.admin-secret-triage :is(.admin-secret-triage__rule-form,.admin-secret-triage__filters,.admin-secret-triage__listing-editor) label,.admin-secret-triage__matched-rules > span) { color: #f1f3f4; }
.theme-logo-dark .admin-secret-triage :is(.admin-section-panel__heading p,.admin-secret-triage__rule span,.admin-secret-triage__rule small,.admin-secret-triage__source span,.admin-secret-triage__bulk > div:first-child span,.admin-secret-triage__payload p) { color: #aeb6bc; }
@media (max-width: 980px) { .admin-secret-triage__rule-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-secret-triage__rule-actions { grid-column: span 2; }.admin-secret-triage__listing-editor { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-secret-triage__card-actions { justify-content: flex-start; grid-column: span 2; } }
@media (max-width: 720px) { .admin-secret-triage__summary { max-width: none; text-align: left; }.admin-secret-triage .admin-section-panel__heading { align-items: stretch; flex-direction: column; }.admin-secret-triage .admin-section-panel__heading > .button { width: 100%; }.admin-secret-triage__filters, .admin-secret-triage__comparison, .admin-secret-triage__listing-editor, .admin-secret-triage__source > div { grid-template-columns: 1fr; }.admin-secret-triage__bulk, .admin-secret-triage__rule { align-items: stretch; flex-direction: column; }.admin-secret-triage__bulk-options { justify-content: flex-start; }.admin-secret-triage__card-actions { grid-column: auto; }.admin-secret-triage__card-actions .button { flex: 1 1 160px; }.admin-secret-triage__source { grid-template-columns: 50px minmax(0, 1fr); }.admin-secret-triage__source > :is(img,span) { width: 50px; }.admin-secret-triage__rule-actions { grid-column: auto; } }
@media (max-width: 460px) { .admin-secret-triage__rule-form { grid-template-columns: 1fr; }.admin-secret-triage__bulk-options > :is(label,button) { flex: 1 1 auto; justify-content: center; }.admin-secret-triage__card > header { grid-template-columns: auto minmax(0, 1fr); }.admin-secret-triage__badge { grid-column: 2; justify-self: start; }.admin-secret-triage .admin-section-panel { padding: 15px; } }
@media (prefers-reduced-motion: reduce) {
    .discount-bundle-collage__tile img { transition: none; }
}

/* ui-exception: compact-conversation-composer - the same compact row applies in full and dock composers. */
.buyer-conversation-dock__composer-controls,
.admin-conversation-dock__composer-controls {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 38px;
    align-items: stretch;
    gap: 8px;
}
.buyer-conversation-dock__attach,
.admin-conversation-dock__attach {
    display: grid;
    min-width: 46px;
    min-height: 38px;
    place-items: center;
    padding: 0 7px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--theme-surface, var(--surface));
    color: var(--teal-deep);
    /* Keep the dock label identical to the Conversation Detail Attach label.
       Do not use --font-body here: it is not defined by every site theme. */
    font-size: .61rem;
    font-weight: 800;
    line-height: 1.55;
    cursor: pointer;
    white-space: nowrap;
}
.buyer-conversation-dock__attach input,
.admin-conversation-dock__attach input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}
.buyer-conversation-dock__attach:hover,
.buyer-conversation-dock__attach:focus-within,
.admin-conversation-dock__attach:hover,
.admin-conversation-dock__attach:focus-within {
    border-color: var(--teal-deep);
    background: color-mix(in srgb, var(--teal-deep) 9%, var(--theme-surface, var(--surface)));
    color: var(--teal-deep);
    text-decoration: none;
}
.buyer-conversation-dock__composer textarea,
.admin-conversation-dock__composer textarea {
    min-width: 0;
    min-height: 38px;
    height: 38px;
    padding: 6px 9px;
    line-height: 20px;
}
.buyer-conversation-dock__send,
.admin-conversation-dock__send {
    display: grid;
    width: 38px;
    min-height: 38px;
    place-items: center;
    padding: 0;
    font: 850 .92rem/1 var(--font-body);
}

/* ui-exception: conversation-integrations-sidebar — buyer purchases have a fixed
   five-row viewport; the adjacent tool area uses the remaining column height. */
.admin-conversation-workspace__sidebar {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
    gap: 10px;
    min-width: 0;
    min-height: 0;
    height: 100%;
}
.admin-conversation-workspace__sidebar .admin-conversation-workspace__context {
    align-self: start;
    min-height: 0;
}
.admin-conversation-workspace__purchases {
    display: grid;
    gap: 7px;
    margin-top: 2px;
    padding-top: 9px;
    border-top: 1px solid var(--line);
}
.admin-conversation-workspace__purchases-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}
.admin-conversation-workspace__purchases-heading strong {
    color: var(--ink);
    font-size: .7rem;
}
.admin-conversation-workspace__purchases-heading small {
    color: var(--muted);
    font-size: .62rem;
    white-space: nowrap;
}
.admin-conversation-workspace__purchase-list {
    display: grid;
    grid-auto-rows: 40px;
    align-content: start;
    gap: 5px;
    height: 220px;
    padding-right: 5px;
    overflow-y: auto;
    scrollbar-color: var(--teal-deep) transparent;
    scrollbar-width: auto;
}
.admin-conversation-workspace__purchase-list::-webkit-scrollbar { width: 11px; }
.admin-conversation-workspace__purchase-list::-webkit-scrollbar-track { background: transparent; }
.admin-conversation-workspace__purchase-list::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: var(--teal-deep); background-clip: padding-box; }
.admin-conversation-workspace__purchase-list > p {
    margin: 0;
    color: var(--muted);
    font-size: .68rem;
    line-height: 1.45;
}
.admin-conversation-workspace__purchase {
    display: grid;
    min-width: 0;
    gap: 2px;
    padding: 6px 8px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--theme-surface, var(--surface));
    color: var(--ink);
    text-decoration: none;
}
.admin-conversation-workspace__purchase:hover,
.admin-conversation-workspace__purchase:focus-visible {
    border-color: var(--teal-deep);
    background: color-mix(in srgb, var(--teal-deep) 9%, var(--theme-surface, var(--surface)));
    outline: 0;
}
.admin-conversation-workspace__purchase strong,
.admin-conversation-workspace__purchase small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.admin-conversation-workspace__purchase strong { font-size: .67rem; }
.admin-conversation-workspace__purchase small { color: var(--muted); font-size: .59rem; }
.admin-conversation-workspace__integrations {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    align-content: start;
    gap: 8px;
    min-width: 0;
    min-height: 0;
    padding: 13px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--theme-surface-muted, var(--paper-deep));
    scrollbar-color: var(--teal-deep) transparent;
    scrollbar-width: auto;
}
.admin-conversation-workspace__integrations::-webkit-scrollbar { width: 11px; }
.admin-conversation-workspace__integrations::-webkit-scrollbar-track { background: transparent; }
.admin-conversation-workspace__integrations::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: var(--teal-deep); background-clip: padding-box; }
.admin-conversation-workspace__integrations .eyebrow,
.admin-conversation-workspace__integrations h3,
.admin-conversation-workspace__integrations-intro { margin: 0; }
.admin-conversation-workspace__integrations h3 { color: var(--ink); font-size: .92rem; }
.admin-conversation-workspace__integrations-intro,
.admin-conversation-workspace__integrations-empty { margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.45; }
.admin-conversation-workspace__integration-cards { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; min-height: 0; gap: 8px; padding-right: 5px; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: var(--teal-deep) transparent; scrollbar-width: auto; }
.admin-conversation-workspace__integration-cards::-webkit-scrollbar { width: 11px; }
.admin-conversation-workspace__integration-cards::-webkit-scrollbar-track { background: transparent; }
.admin-conversation-workspace__integration-cards::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: var(--teal-deep); background-clip: padding-box; }
.admin-conversation-workspace__integration-card { display: grid; gap: 4px; width: 100%; padding: 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface, var(--surface)); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.admin-conversation-workspace__integration-card:hover, .admin-conversation-workspace__integration-card:focus-visible { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 8%, var(--theme-surface, var(--surface))); outline: none; }
.admin-conversation-workspace__integration-card:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 22%, transparent); }
.admin-conversation-workspace__integration-card-kicker { color: var(--teal-deep); font-size: .61rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.admin-conversation-workspace__integration-card strong { font-size: .8rem; }
.admin-conversation-workspace__integration-card small { color: var(--muted); font-size: .67rem; line-height: 1.42; }
.admin-conversation-workspace__integration-dialog[hidden] { display: none; }
.admin-conversation-workspace__integration-dialog { position: fixed; z-index: 110; inset: 0; display: grid; place-items: center; padding: 24px; background: color-mix(in srgb, #091015 52%, transparent); }
.admin-conversation-workspace__integration-popover { display: grid; width: min(680px, 100%); max-height: min(720px, calc(100vh - 48px)); gap: 14px; overflow: auto; padding: 18px; border: 1px solid var(--line); border-radius: 11px; background: var(--theme-surface, var(--surface)); box-shadow: 0 20px 54px rgba(0,0,0,.32); scrollbar-color: var(--teal-deep) transparent; scrollbar-width: auto; }
.admin-conversation-workspace__integration-popover::-webkit-scrollbar { width: 11px; }
.admin-conversation-workspace__integration-popover::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: var(--teal-deep); background-clip: padding-box; }
.admin-conversation-workspace__integration-popover-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.admin-conversation-workspace__integration-popover-heading h2, .admin-conversation-workspace__integration-popover-intro { margin: 0; }
.admin-conversation-workspace__integration-popover-heading h2 { color: var(--ink); font-size: 1.08rem; }
.admin-conversation-workspace__integration-popover-intro { color: var(--muted); font-size: .76rem; line-height: 1.45; }
.admin-conversation-workspace__integration-popover-close { display: grid; flex: 0 0 auto; width: 30px; height: 30px; padding: 0; border: 1px solid var(--line); border-radius: 6px; background: transparent; color: var(--teal-deep); font: inherit; font-size: 1.25rem; line-height: 1; cursor: pointer; place-items: center; }
.admin-conversation-workspace__integration-popover-close:hover, .admin-conversation-workspace__integration-popover-close:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--theme-button-text, #fff); outline: none; }
.admin-conversation-workspace__integration-popover-close:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 22%, transparent); }
.admin-conversation-workspace__integration-popover .admin-conversation-promotion-tools { display: grid; grid-template-columns: minmax(210px, .72fr) minmax(0, 1.28fr); align-items: stretch; gap: var(--admin-panel-gap); }
.admin-conversation-workspace__integration-popover .admin-conversation-promotion-tools .admin-form { display: grid; grid-template-rows: minmax(0, 1fr) auto; align-content: stretch; min-width: 0; gap: 14px; padding: 14px; }
.admin-conversation-workspace__integration-popover .admin-conversation-promotion-tools .admin-form__grid { align-content: start; gap: 12px; }
.admin-conversation-workspace__integration-popover .admin-conversation-promotion-tools label { gap: 6px; line-height: 1.3; }
.admin-conversation-workspace__integration-popover .admin-conversation-promotion-tools button[type="submit"] { width: 100%; justify-content: center; }
@media (max-width: 980px) {
    .admin-conversation-workspace__sidebar { height: auto; }
    .admin-conversation-workspace__integrations { max-height: 460px; }
}

/* Buyer workspaces use the same movable, collapsible panel treatment as admin
   workspaces, with a compact body gutter suited to the account area. */
.buyer-account__workspace { display: grid; gap: var(--admin-panel-gap); min-width: 0; }
.buyer-account__workspace-panel { position: relative; gap: var(--admin-panel-gap); padding: calc(38px + var(--admin-panel-gap)) var(--admin-panel-gap) var(--admin-panel-gap); overflow: hidden; }
.buyer-account__workspace-panel > :not(.buyer-account__workspace-titlebar) { margin-right: 0; margin-left: 0; }
.buyer-account__workspace-panel > .buyer-account__thread { margin-top: 0; }
.buyer-account__workspace-panel > .buyer-account__compose { margin-bottom: 0; }
.buyer-account__workspace-titlebar { position: absolute; top: 0; right: 0; left: 0; display: flex; height: 38px; align-items: center; gap: 8px; padding: 0 7px 0 13px; border-bottom: 1px solid var(--line); background: var(--theme-surface, var(--surface)); color: var(--ink); cursor: grab; user-select: none; }
.buyer-account__workspace-panel > .buyer-account__workspace-titlebar { box-sizing: border-box; margin: 0 !important; border-radius: var(--radius) var(--radius) 0 0; }
.buyer-account__workspace-titlebar:active { cursor: grabbing; }
.buyer-account__workspace-grip { display: grid; width: 14px; height: 14px; color: var(--teal-deep); place-items: center; font-size: 1rem; line-height: 1; }
.buyer-account__workspace-title { overflow: hidden; font-size: .67rem; font-weight: 900; letter-spacing: .09em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.buyer-account__workspace-collapse { display: grid; width: 27px; height: 25px; margin-left: auto; padding: 0; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--teal-deep); cursor: pointer; place-items: center; }
.buyer-account__workspace-collapse:hover,.buyer-account__workspace-collapse:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--theme-button-text, #fff); outline: none; }
.buyer-account__workspace-collapse:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 22%, transparent); }
.buyer-account__workspace-collapse [aria-hidden="true"] { position: relative; display: block; width: 11px; height: 1px; background: currentColor; }
.buyer-account__workspace-collapse.is-collapsed [aria-hidden="true"]::after { position: absolute; top: -5px; left: 5px; width: 1px; height: 11px; background: currentColor; content: ''; }
.buyer-account__workspace-panel.is-collapsed { display: block; min-height: 38px; padding: 0; }
.buyer-account__workspace-panel.is-collapsed > :not(.buyer-account__workspace-titlebar) { display: none; }
.buyer-account__workspace-panel.is-collapsed > .buyer-account__workspace-titlebar { display: flex; }
.buyer-account__workspace-panel.is-dragging { opacity: .52; }
.buyer-account__purchases-panel .buyer-account__order-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; align-items: stretch; max-height: none; padding-right: 0; overflow: visible; }
.buyer-account__purchases-panel .buyer-account__order-list li { min-width: 0; height: 100%; }
.buyer-account__security-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px var(--admin-panel-gap); min-width: 0; padding: var(--admin-panel-gap); }
.buyer-account__security-panel.buyer-account__workspace-panel:not(.is-collapsed) { padding: calc(38px + var(--admin-panel-gap)) var(--admin-panel-gap) var(--admin-panel-gap); }
.buyer-account__security-panel .eyebrow { grid-column: 1; }
.buyer-account__security-panel h2 { grid-column: 1; margin: 0; overflow: hidden; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.buyer-account__security-panel > p:not(.eyebrow) { grid-column: 1; font-size: .72rem; }
.buyer-account__security-panel .buyer-account__security-actions { grid-column: 2; grid-row: 1 / span 3; justify-content: flex-end; }
/* The workspace title bar is absolutely positioned, so it must not consume a
   grid row in the fixed Messages panel. The thread remains the flexible row. */
@media (min-width: 721px) {
    .buyer-account__messages.buyer-account__workspace-panel {
        grid-template-rows: auto minmax(0, 1fr) auto;
    }
}
@media (max-width: 720px) {
    .buyer-account__purchases-panel .buyer-account__order-list { grid-template-columns: 1fr; }
    .buyer-account__security-panel { grid-template-columns: 1fr; }
    .buyer-account__security-panel .buyer-account__security-actions { grid-column: 1; grid-row: auto; justify-content: flex-start; }
}
@media (max-width: 620px) {
    .admin-conversation-workspace__integration-dialog { padding: 12px; }
    .admin-conversation-workspace__integration-popover { max-height: calc(100vh - 24px); padding: 14px; }
    .admin-conversation-workspace__integration-popover .admin-conversation-promotion-tools,
    .admin-conversation-workspace__integration-popover .admin-conversation-promotion-tools .admin-form__grid { grid-template-columns: 1fr; }
}

/* Admin pages retain their compact category label; the marketing-style title
   and explanatory blurb are intentionally hidden so the tools begin sooner. */
.admin-main .admin-page-heading { align-items: center; margin-bottom: 24px; }
.admin-main .admin-page-heading > div > h1 { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; border: 0; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.admin-main .admin-page-heading > div > p:not(.eyebrow) { display: none; }
.admin-main .admin-page-heading > div > .eyebrow { margin: 0; }

/* Shared compact control for safe restore/reset actions. The accessible name
   and title on each button retain the action’s precise meaning. */
.admin-restore-icon-button { display: inline-grid; box-sizing: border-box; width: 36px; min-width: 36px; height: 36px; min-height: 36px; place-items: center; padding: 0 !important; line-height: 1; }
.admin-restore-icon-button > span { font-size: 1.2rem; line-height: 1; }
@media (max-width: 720px) { .client-project-dashboard__controls .admin-restore-icon-button { width: 36px; } }

/* Commerce orders are deliberately shown as one sale and one parcel. The
   contained lines are packing/refund detail, not independent orders. */
.admin-commerce-order-lines { display: grid; gap: 8px; margin: var(--ui-space-standard) 0 0; padding: 0; list-style: none; }
.admin-commerce-order-lines li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--paper-deep)); color: var(--ink); font-size: .8rem; }
.admin-commerce-order-lines li small { grid-column: 1 / -1; color: var(--muted); font-size: .7rem; }
.admin-commerce-partial-actions { display: grid; gap: var(--ui-space-standard); margin-top: var(--ui-space-standard); }
.admin-commerce-partial-actions__line { display: grid; gap: 10px; padding-top: var(--ui-space-standard); border-top: 1px solid var(--line); }
.admin-commerce-partial-actions__line > strong { font-size: .82rem; }
.admin-commerce-partial-actions__line .admin-form { margin: 0; }

/* Testimonial ratings intentionally reuse the verified-review star treatment. */
.testimonial-card__rating { margin-top: 5px; align-self: start; }
.testimonial-card__rating .listing-review-rating__stars { font-size: .9rem; }
.admin-testimonial-card .testimonial-card__rating { margin-top: 3px; }
/* Secure file sharing: reusable private asset and client-delivery surfaces. */
.admin-quote-attachments li > div { display: grid; min-width: 0; gap: 3px; }.admin-quote-attachments li > a, .admin-quote-attachments li > em, .admin-quote-attachment-actions a { flex: 0 0 auto; align-self: center; color: var(--teal-deep); font-size: .7rem; font-style: normal; font-weight: 850; text-decoration: none; }.admin-quote-attachments li > a:hover, .admin-quote-attachment-actions a:hover { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; }.admin-quote-attachments li > em { color: var(--slate); font-weight: 650; }.admin-quote-attachment-actions { display: flex; justify-content: flex-end; margin-top: 10px; }.secure-file-shares { display: grid; gap: var(--admin-panel-gap); }.secure-file-shares__library { margin: 0; }.secure-file-shares__library .admin-editor__heading > span { color: var(--slate); font-size: .75rem; font-weight: 800; }.secure-file-share-created { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .85fr); gap: var(--admin-panel-gap); align-items: end; padding: var(--admin-space-major); border: 1px solid color-mix(in srgb, var(--teal-deep) 48%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, var(--teal-deep) 8%, var(--theme-surface, var(--white))); }.secure-file-share-created .eyebrow { margin-bottom: 7px; }.secure-file-share-created h2 { margin: 0; color: var(--ink); font-size: 1.25rem; }.secure-file-share-created p { margin: 8px 0 0; color: var(--slate); font-size: .79rem; line-height: 1.5; }.secure-file-share-created label { display: grid; gap: 7px; color: var(--ink); font-size: .76rem; font-weight: 850; }.secure-file-share-created input { cursor: copy; font-size: .75rem !important; }.secure-file-assets-list, .secure-file-shares-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.secure-file-assets-list li, .secure-file-shares-list li { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 15px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }.secure-file-assets-list li > div, .secure-file-shares-list li > div { display: grid; min-width: 0; gap: 4px; }.secure-file-assets-list strong, .secure-file-shares-list strong { overflow: hidden; color: var(--ink); font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }.secure-file-assets-list span, .secure-file-shares-list li > div > span:last-child { overflow-wrap: anywhere; color: var(--slate); font-size: .71rem; line-height: 1.4; }.secure-file-assets-list a { flex: 0 0 auto; color: var(--teal-deep); font-size: .72rem; font-weight: 850; }.secure-file-assets-list a:hover { color: var(--teal); }.secure-file-share-status { width: fit-content; padding: 3px 6px; border-radius: 99px; background: color-mix(in srgb, var(--teal-deep) 16%, transparent); color: var(--teal-deep) !important; font-size: .62rem !important; font-weight: 900 !important; letter-spacing: .05em; text-transform: uppercase; }.secure-file-share-status.is-inactive { background: color-mix(in srgb, var(--slate) 16%, transparent); color: var(--slate) !important; }.secure-file-shares-list form { margin: 0; }.secure-file-shares-list button { min-height: 34px; padding: 5px 9px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: #a43428; font: inherit; font-size: .7rem; font-weight: 850; cursor: pointer; }.secure-file-shares-list button:hover, .secure-file-shares-list button:focus-visible { border-color: #b23d2c; background: #b23d2c; color: var(--white); outline: none; }.secure-file-share-dialog { width: min(680px, calc(100vw - 48px)); max-height: min(88vh, 780px); overflow: auto; }.secure-file-share-dialog__fields { display: grid; gap: var(--admin-space-standard); margin-top: var(--admin-space-section); }.secure-file-share-selection { display: grid; gap: 10px; padding: var(--admin-space-major); border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); box-shadow: 0 12px 32px rgba(11,17,32,.08); }.secure-file-share-selection h2 { margin: 0; color: var(--ink); font-size: 1.1rem; }.secure-file-share-selection > p { margin: 0; color: var(--slate); font-size: .76rem; line-height: 1.45; }.secure-file-share-selection > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }.shared-files-page { padding: 72px 0 100px; }.shared-files-panel { display: grid; width: min(100%, 760px); gap: 17px; margin: 0 auto; padding: clamp(24px, 5vw, 46px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); box-shadow: 0 18px 48px rgba(11,17,32,.1); }.shared-files-panel .eyebrow { margin: 0; }.shared-files-panel h1 { margin: -4px 0 0; color: var(--ink); font-size: clamp(1.7rem, 4vw, 2.5rem); }.shared-files-panel > p { margin: 0; color: var(--slate); line-height: 1.6; }.shared-files-panel__expiry { padding: 10px 12px; border-left: 3px solid var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 8%, transparent); font-size: .82rem; }.shared-files-unlock { display: grid; max-width: 420px; gap: 12px; padding-top: 7px; }.shared-files-unlock label { display: grid; gap: 7px; color: var(--ink); font-size: .78rem; font-weight: 850; }.shared-files-unlock input { min-height: var(--ui-control-height); padding: 0 11px; border: 1px solid var(--line); border-radius: 5px; background: var(--theme-surface-input, var(--paper)); color: var(--ink); font: inherit; }.shared-files-unlock p { margin: 0; color: #b23d2c; font-size: .78rem; }.shared-files-unlock .button { justify-self: start; }.shared-files-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }.shared-files-list li { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 15px; padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }.shared-files-list li > div { display: grid; min-width: 0; gap: 4px; }.shared-files-list strong { overflow: hidden; color: var(--ink); font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }.shared-files-list span { color: var(--slate); font-size: .72rem; }.shared-files-list .button { flex: 0 0 auto; min-height: 36px; font-size: .72rem; }.theme-logo-dark .admin-quote-attachments li > a, .theme-logo-dark .admin-quote-attachment-actions a, .theme-logo-dark .secure-file-assets-list a { color: var(--teal); }.theme-logo-dark .admin-quote-attachments li > em, .theme-logo-dark .secure-file-shares__library .admin-editor__heading > span, .theme-logo-dark .secure-file-share-created p, .theme-logo-dark .secure-file-assets-list span, .theme-logo-dark .secure-file-shares-list li > div > span:last-child, .theme-logo-dark .secure-file-share-selection > p, .theme-logo-dark .shared-files-panel > p, .theme-logo-dark .shared-files-list span { color: #aeb6bc; }.theme-logo-dark .secure-file-share-created, .theme-logo-dark .secure-file-share-selection, .theme-logo-dark .shared-files-panel { border-color: #454d52; background: var(--theme-surface); }.theme-logo-dark .secure-file-assets-list li, .theme-logo-dark .secure-file-shares-list li, .theme-logo-dark .shared-files-list li { border-color: #454d52; background: var(--theme-surface-muted, #171a1c); }.theme-logo-dark .secure-file-share-created h2, .theme-logo-dark .secure-file-share-created label, .theme-logo-dark .secure-file-assets-list strong, .theme-logo-dark .secure-file-shares-list strong, .theme-logo-dark .secure-file-share-selection h2, .theme-logo-dark .shared-files-panel h1, .theme-logo-dark .shared-files-unlock label, .theme-logo-dark .shared-files-list strong { color: #f1f3f4; }.theme-logo-dark .shared-files-unlock input { border-color: #454d52; background: #171a1c; color: #f1f3f4; }
@media (max-width: 720px) { .secure-file-share-created, .secure-file-share-selection > div { grid-template-columns: 1fr; }.secure-file-assets-list li, .secure-file-shares-list li, .shared-files-list li { align-items: flex-start; flex-direction: column; }.secure-file-assets-list li > a, .shared-files-list .button { align-self: stretch; text-align: center; }.secure-file-shares-list form { align-self: flex-end; }.shared-files-page { padding: 42px 0 65px; } }

/* The share form is inside a form element, so it needs the same dialog body
   padding as the standard direct-child dialog primitive. */
.secure-file-share-dialog > form > div:first-child { display: grid; gap: var(--admin-space-compact); padding: var(--admin-space-major); }.secure-file-share-dialog > form > .admin-ui-actions { justify-content: flex-end; padding: var(--admin-space-compact) var(--admin-space-major); border-top: 1px solid var(--line); background: var(--paper); }.secure-file-share-dialog input[type="file"] { width: 100%; min-height: var(--admin-control-height); padding: 5px; border: 1px solid var(--line); border-radius: 5px; background: var(--theme-surface, var(--white)); color: var(--ink); font: inherit; font-size: .79rem; cursor: pointer; }.secure-file-share-dialog input[type="file"]::file-selector-button { min-height: 30px; margin-right: 9px; padding: 4px 9px; border: 1px solid var(--line); border-radius: 4px; background: var(--theme-surface-muted, var(--paper)); color: var(--teal-deep); font: inherit; font-size: .7rem; font-weight: 850; cursor: pointer; }.secure-file-share-dialog input[type="file"]:hover, .secure-file-share-dialog input[type="file"]:focus-visible { border-color: var(--teal-deep); outline: none; }.secure-file-share-dialog input[type="file"]:hover::file-selector-button, .secure-file-share-dialog input[type="file"]:focus-visible::file-selector-button { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); }.admin-main ~ .secure-file-share-selection { display: none; }.theme-logo-dark .secure-file-share-dialog > form > .admin-ui-actions { border-color: #454d52; background: #171a1c; }.theme-logo-dark .secure-file-share-dialog input[type="file"] { border-color: #454d52; background: #171a1c; color: #f1f3f4; }.theme-logo-dark .secure-file-share-dialog input[type="file"]::file-selector-button { border-color: #454d52; background: #202529; color: var(--teal); }.theme-logo-dark .secure-file-share-dialog input[type="file"]:hover::file-selector-button, .theme-logo-dark .secure-file-share-dialog input[type="file"]:focus-visible::file-selector-button { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }

/* Reusable private-file manager: bounded browsing, live filtering and a
   protected selected-file preview. */
.secure-file-share-selection { display: none; }.secure-file-library-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--admin-space-compact); align-items: end; margin: 0 0 var(--admin-space-standard); padding: var(--admin-space-compact); border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--paper)); }.secure-file-library-search p { margin: 0 3px 10px 0; color: var(--slate); font-size: .72rem; font-weight: 800; white-space: nowrap; }.secure-file-assets-list { max-height: 340px; overflow-y: auto; padding-right: 6px !important; scrollbar-color: var(--teal-deep) transparent; scrollbar-width: auto; }.secure-file-assets-list::-webkit-scrollbar, .secure-file-manager__list::-webkit-scrollbar, .secure-file-manager__folders::-webkit-scrollbar { width: 12px; }.secure-file-assets-list::-webkit-scrollbar-thumb, .secure-file-manager__list::-webkit-scrollbar-thumb, .secure-file-manager__folders::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 99px; background: var(--teal-deep); background-clip: padding-box; }.secure-file-manager { display: grid; gap: var(--admin-space-standard); margin: 0; padding: var(--admin-space-major); border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); box-shadow: 0 12px 32px rgba(11,17,32,.08); }.secure-file-manager__header { display: flex; align-items: end; justify-content: space-between; gap: var(--admin-space-standard); }.secure-file-manager__header .eyebrow { margin-bottom: 7px; }.secure-file-manager__header h2 { margin: 0; color: var(--ink); font-size: 1.25rem; }.secure-file-manager__header p:not(.eyebrow) { max-width: 720px; margin: 8px 0 0; color: var(--slate); font-size: .79rem; line-height: 1.5; }.secure-file-manager__header > span { flex: 0 0 auto; color: var(--slate); font-size: .74rem; font-weight: 850; }.secure-file-manager__toolbar { display: grid; grid-template-columns: minmax(220px, 1.35fr) minmax(150px, .65fr) minmax(150px, .65fr); gap: var(--admin-space-compact); padding: var(--admin-space-compact); border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--paper)); }.secure-file-manager__workspace { display: grid; grid-template-columns: minmax(180px, .42fr) minmax(290px, 1fr) minmax(210px, .62fr); min-height: 400px; max-height: 500px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--paper)); }.secure-file-manager__folders, .secure-file-manager__list, .secure-file-manager__preview { min-width: 0; overflow-y: auto; }.secure-file-manager__folders { display: grid; align-content: start; gap: 4px; padding: 8px; border-right: 1px solid var(--line); }.secure-file-manager__folders button { display: flex; min-width: 0; align-items: center; gap: 6px; padding: 8px 9px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: var(--slate); font: inherit; font-size: .72rem; font-weight: 760; text-align: left; cursor: pointer; }.secure-file-manager__folders button span:last-child { margin-left: auto; }.secure-file-manager__folders button:hover, .secure-file-manager__folders button:focus-visible, .secure-file-manager__folders button.is-active { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 12%, transparent); color: var(--ink); outline: none; }.secure-file-manager__list { display: grid; align-content: start; gap: 6px; padding: 8px; }.secure-file-manager__item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; align-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface, var(--white)); }.secure-file-manager__item[hidden] { display: none; }.secure-file-manager__item .admin-ui-check-row { min-width: 0; padding: 0; border: 0; background: transparent; }.secure-file-manager__item .admin-ui-check-row strong, .secure-file-manager__item .admin-ui-check-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.secure-file-manager__item > button { min-height: 30px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 4px; background: transparent; color: var(--teal-deep); font: inherit; font-size: .68rem; font-weight: 850; cursor: pointer; }.secure-file-manager__item > button:hover, .secure-file-manager__item > button:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); outline: none; }.secure-file-manager__empty { margin: 16px; color: var(--slate); font-size: .78rem; }.secure-file-manager__preview { display: grid; align-content: start; gap: 10px; padding: 13px; border-left: 1px solid var(--line); background: var(--theme-surface, var(--white)); }.secure-file-manager__preview > .eyebrow { margin: 0; }.secure-file-manager__preview > div { display: grid; gap: 8px; min-width: 0; }.secure-file-manager__preview img { width: 100%; max-height: 205px; border: 1px solid var(--line); border-radius: 6px; object-fit: contain; background: var(--theme-surface-muted, var(--paper)); }.secure-file-manager__preview span { display: grid; width: 54px; height: 54px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--paper)); color: var(--teal-deep); font-size: .68rem; font-weight: 900; place-items: center; }.secure-file-manager__preview strong { overflow-wrap: anywhere; color: var(--ink); font-size: .82rem; }.secure-file-manager__preview p:not(.eyebrow) { margin: 0; color: var(--slate); font-size: .72rem; line-height: 1.45; }.secure-file-manager__actions { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; gap: var(--admin-space-compact); align-items: end; margin: 0; padding-top: var(--admin-space-standard); border-top: 1px solid var(--line); }.secure-file-manager__actions > span { display: none; }.secure-file-manager__actions > p { grid-column: 1 / -1; margin: 0; color: var(--slate); font-size: .72rem; line-height: 1.45; }.theme-logo-dark .secure-file-library-search, .theme-logo-dark .secure-file-manager, .theme-logo-dark .secure-file-manager__toolbar, .theme-logo-dark .secure-file-manager__workspace { border-color: #454d52; background: var(--theme-surface); }.theme-logo-dark .secure-file-manager__folders, .theme-logo-dark .secure-file-manager__preview { border-color: #454d52; background: #171a1c; }.theme-logo-dark .secure-file-manager__item { border-color: #454d52; background: #202529; }.theme-logo-dark .secure-file-manager__header h2, .theme-logo-dark .secure-file-manager__item .admin-ui-check-row strong, .theme-logo-dark .secure-file-manager__preview strong { color: #f1f3f4; }.theme-logo-dark .secure-file-library-search p, .theme-logo-dark .secure-file-manager__header p:not(.eyebrow), .theme-logo-dark .secure-file-manager__header > span, .theme-logo-dark .secure-file-manager__preview p:not(.eyebrow), .theme-logo-dark .secure-file-manager__actions > p { color: #aeb6bc; }.theme-logo-dark .secure-file-manager__folders button { color: #aeb6bc; }.theme-logo-dark .secure-file-manager__folders button:hover, .theme-logo-dark .secure-file-manager__folders button:focus-visible, .theme-logo-dark .secure-file-manager__folders button.is-active { color: #f1f3f4; }.theme-logo-dark .secure-file-manager__item > button { border-color: #454d52; color: var(--teal); }.theme-logo-dark .secure-file-manager__item > button:hover, .theme-logo-dark .secure-file-manager__item > button:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .secure-file-manager__preview img, .theme-logo-dark .secure-file-manager__preview span { border-color: #454d52; background: #202529; }.theme-logo-dark .secure-file-manager__preview span { color: var(--teal); }.theme-logo-dark .secure-file-manager__actions { border-color: #454d52; }
@media (max-width: 960px) { .secure-file-manager__workspace { grid-template-columns: minmax(155px, .44fr) minmax(260px, 1fr); max-height: none; }.secure-file-manager__preview { grid-column: 1 / -1; grid-template-columns: auto minmax(0, 1fr); max-height: 230px; border-top: 1px solid var(--line); border-left: 0; }.secure-file-manager__preview > .eyebrow { grid-row: 1 / span 2; }.secure-file-manager__preview img { width: 150px; height: 150px; }.secure-file-manager__preview > div { grid-column: 2; } }@media (max-width: 720px) { .secure-file-library-search, .secure-file-manager__toolbar, .secure-file-manager__workspace, .secure-file-manager__actions { grid-template-columns: 1fr; }.secure-file-manager__header { align-items: start; flex-direction: column; }.secure-file-manager__workspace { max-height: none; overflow: visible; }.secure-file-manager__folders, .secure-file-manager__list { max-height: 290px; border: 0; border-bottom: 1px solid var(--line); }.secure-file-manager__preview { display: grid; max-height: none; border: 0; }.secure-file-manager__preview > .eyebrow, .secure-file-manager__preview > div { grid-column: auto; grid-row: auto; }.secure-file-manager__preview img { width: 100%; height: auto; max-height: 260px; }.secure-file-manager__actions .button { width: 100%; }.secure-file-library-search p { margin: 0; } }

/* File-manager folders are a real nested tree: each row owns a disclosure
   control and a separate destination button, so expanding never changes the
   current selection. */
.secure-file-manager__folders { display: grid; align-content: start; gap: 3px; padding: 8px; }.secure-file-manager__folder-row { display: grid; grid-template-columns: 20px minmax(0, 1fr); min-width: 0; }.secure-file-manager__folder-children { display: grid; gap: 3px; margin-left: 10px; padding-left: 4px; border-left: 1px solid color-mix(in srgb, var(--line) 72%, transparent); }.secure-file-manager__folder-children[hidden] { display: none !important; }.secure-file-manager__folder-button { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 7px; padding: 8px 9px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: var(--slate); font: inherit; font-size: .72rem; font-weight: 760; text-align: left; cursor: pointer; }.secure-file-manager__folder-button > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.secure-file-manager__folder-button > span:last-child { flex: 0 0 auto; min-width: 17px; color: inherit; font-size: .66rem; text-align: center; }.secure-file-manager__folder-button:hover, .secure-file-manager__folder-button:focus-visible, .secure-file-manager__folder-button.is-active { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 12%, transparent); color: var(--ink); outline: none; }.secure-file-manager__folder-toggle, .secure-file-manager__folder-toggle-placeholder { display: grid; width: 20px; min-height: 32px; padding: 0; border: 0; background: transparent; color: var(--slate); font: 800 .72rem/1 var(--font-body); place-items: center; }.secure-file-manager__folder-toggle { cursor: pointer; }.secure-file-manager__folder-toggle[aria-expanded="false"] { transform: rotate(-90deg); }.secure-file-manager__folder-toggle:hover, .secure-file-manager__folder-toggle:focus-visible { color: var(--teal-deep); outline: none; }.theme-logo-dark .secure-file-manager__folder-children { border-color: color-mix(in srgb, var(--line) 72%, transparent); }.theme-logo-dark .secure-file-manager__folder-button:hover, .theme-logo-dark .secure-file-manager__folder-button:focus-visible, .theme-logo-dark .secure-file-manager__folder-button.is-active { color: #f1f3f4; }.theme-logo-dark .secure-file-manager__folder-toggle:hover, .theme-logo-dark .secure-file-manager__folder-toggle:focus-visible { color: var(--teal); }

/* Quote inbox searching is intentionally scoped to the status/workflow view
   already chosen above it, so filters never silently broaden the inbox. */
.admin-quote-library__search { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(210px, .46fr) auto; gap: var(--admin-space-compact); align-items: end; margin: 0 0 var(--admin-space-major); padding: var(--admin-space-compact); border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--paper)); }.admin-quote-library__search > p { min-width: 118px; margin: 0 2px 10px 0; color: var(--slate); font-size: .72rem; font-weight: 800; text-align: right; white-space: nowrap; }.admin-quote-library__empty { margin-top: var(--admin-space-standard); }.theme-logo-dark .admin-quote-library__search { border-color: #454d52; background: var(--theme-surface); }.theme-logo-dark .admin-quote-library__search > p { color: #aeb6bc; }@media (max-width: 720px) { .admin-quote-library__search { grid-template-columns: 1fr; }.admin-quote-library__search > p { margin: 0; text-align: left; } }

.secure-file-manager__actions > p.is-error { color: #b23d2c; font-weight: 800; }.theme-logo-dark .secure-file-manager__actions > p.is-error { color: #ffc1b6; }

/* JavaScript filtering uses the native hidden attribute. These list layouts
   set display explicitly, so hidden rows need an equally explicit override. */
.secure-file-shares-list li[hidden], .secure-file-assets-list li[hidden] { display: none !important; }

.secure-file-manager__directory { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 8px; align-items: center; width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 6px; background: color-mix(in srgb, var(--teal-deep) 6%, var(--theme-surface, var(--white))); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }.secure-file-manager__directory[hidden] { display: none !important; }.secure-file-manager__directory > span { display: grid; width: 29px; height: 29px; grid-row: 1 / span 2; border: 1px solid color-mix(in srgb, var(--teal-deep) 42%, var(--line)); border-radius: 5px; color: var(--teal-deep); font-size: .55rem; font-weight: 900; place-items: center; }.secure-file-manager__directory strong { overflow: hidden; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }.secure-file-manager__directory small { color: var(--slate); font-size: .66rem; }.secure-file-manager__directory:hover, .secure-file-manager__directory:focus-visible { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 13%, var(--theme-surface, var(--white))); outline: none; }.theme-logo-dark .secure-file-manager__directory { border-color: #454d52; background: #202529; color: #f1f3f4; }.theme-logo-dark .secure-file-manager__directory > span { border-color: #5a4e39; color: var(--teal); }.theme-logo-dark .secure-file-manager__directory small { color: #aeb6bc; }.theme-logo-dark .secure-file-manager__directory:hover, .theme-logo-dark .secure-file-manager__directory:focus-visible { border-color: var(--teal); background: #29231d; }

/* Quote correspondence: the reply composer is a real outbound email tool. */
.admin-quote-editor > .admin-editor__heading .admin-form__actions { display: none; }.quote-reply-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }.admin-quote-correspondence > ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }.admin-quote-correspondence__message { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--white); }.admin-quote-correspondence__message--admin { border-left: 3px solid var(--teal-deep); }.admin-quote-correspondence__message--buyer { border-left: 3px solid var(--orange); }.admin-quote-correspondence__message header { display: flex; justify-content: space-between; gap: 12px; color: var(--ink); font-size: .75rem; }.admin-quote-correspondence__message header span, .admin-quote-correspondence__message small { color: var(--slate); font-size: .68rem; font-weight: 700; }.admin-quote-correspondence__message p { margin: 0; color: var(--ink); font-size: .78rem; line-height: 1.55; }.admin-quote-correspondence__message ul { display: grid; gap: 4px; margin: 0; padding-left: 18px; color: var(--slate); font-size: .72rem; }.admin-quote-correspondence__message a { color: var(--teal-deep); font-weight: 800; }.quote-reply-page { padding: 72px 0 100px; }.quote-reply-panel { display: grid; width: min(100%, 760px); gap: 17px; margin: 0 auto; padding: clamp(24px, 5vw, 46px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); box-shadow: 0 18px 48px rgba(11,17,32,.1); }.quote-reply-panel .eyebrow, .quote-reply-panel > p { margin: 0; }.quote-reply-panel h1 { margin: -4px 0 0; color: var(--ink); font-size: clamp(1.7rem, 4vw, 2.5rem); }.quote-reply-panel > p { color: var(--slate); line-height: 1.6; }.quote-reply-form { display: grid; gap: 14px; padding-top: 5px; }.quote-reply-form label { display: grid; gap: 7px; color: var(--ink); font-size: .78rem; font-weight: 850; }.quote-reply-form label span, .quote-reply-form__help { color: var(--slate); font-size: .71rem; font-weight: 650; }.quote-reply-form textarea, .quote-reply-form input[type="file"] { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface-input, var(--paper)); color: var(--ink); font: inherit; }.quote-reply-form textarea { padding: 11px; resize: vertical; }.quote-reply-form input[type="file"] { padding: 9px; }.quote-reply-form .button { justify-self: start; }.theme-logo-dark .admin-quote-correspondence__message { border-color: #454d52; background: #252a2d; }.theme-logo-dark .admin-quote-correspondence__message p, .theme-logo-dark .admin-quote-correspondence__message header { color: #f1f3f4; }.theme-logo-dark .admin-quote-correspondence__message header span, .theme-logo-dark .admin-quote-correspondence__message small, .theme-logo-dark .admin-quote-correspondence__message ul, .theme-logo-dark .quote-reply-panel > p, .theme-logo-dark .quote-reply-form label span, .theme-logo-dark .quote-reply-form__help { color: #aeb6bc; }.theme-logo-dark .admin-quote-correspondence__message a { color: var(--teal); }.theme-logo-dark .quote-reply-panel { border-color: #454d52; background: var(--theme-surface); }.theme-logo-dark .quote-reply-panel h1, .theme-logo-dark .quote-reply-form label { color: #f1f3f4; }.theme-logo-dark .quote-reply-form textarea, .theme-logo-dark .quote-reply-form input[type="file"] { border-color: #454d52; background: #171a1c; color: #f1f3f4; }@media (max-width: 620px) { .quote-reply-actions { justify-content: stretch; }.quote-reply-actions .button { flex: 1 1 160px; }.admin-quote-correspondence__message header { display: grid; gap: 3px; } }

/* The legacy generic footer actions remain in the markup for compatibility;
   the dedicated reply actions above are the sole live composer controls. */
.admin-quote-editor__form > .admin-form__actions { display: none; }

/* Contextual file-manager integrations: an integration stages batches from
   multiple folders while retaining a visible, reversible reservation state. */
.secure-file-manager__integration-controls { display: grid; gap: 8px; margin-top: auto; }
.secure-file-manager__integration-add { align-self: stretch; min-height: 36px; margin-top: auto; padding: 7px 9px; border: 1px solid var(--teal-deep); border-radius: 5px; background: color-mix(in srgb, var(--teal-deep) 10%, transparent); color: var(--teal-deep); font: inherit; font-size: .71rem; font-weight: 850; cursor: pointer; }.secure-file-manager__integration-add:hover, .secure-file-manager__integration-add:focus-visible { background: var(--teal-deep); color: var(--white); outline: none; }.secure-file-manager__integration-add:disabled { border-color: var(--line); background: transparent; color: var(--slate); cursor: not-allowed; }.secure-file-manager__item.is-integration-staged { border-color: color-mix(in srgb, var(--teal-deep) 62%, var(--line)); background: color-mix(in srgb, var(--teal-deep) 7%, var(--theme-surface, var(--white))); box-shadow: inset 3px 0 0 var(--teal-deep); cursor: not-allowed; }.secure-file-manager__item.is-integration-staged::after { justify-self: end; padding: 3px 5px; border-radius: 99px; background: color-mix(in srgb, var(--teal-deep) 17%, transparent); color: var(--teal-deep); content: 'ADDED'; font-size: .55rem; font-weight: 900; letter-spacing: .05em; }.file-manager-integration-staged { display: grid; gap: 9px; margin: 0 0 var(--admin-space-standard); padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--paper)); }.file-manager-integration-staged > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.file-manager-integration-staged > div > strong { color: var(--ink); font-size: .76rem; }.file-manager-integration-staged > div > button { padding: 0; border: 0; background: transparent; color: var(--teal-deep); font: inherit; font-size: .69rem; font-weight: 850; cursor: pointer; }.file-manager-integration-staged > div > button:disabled { color: var(--slate); cursor: not-allowed; }.file-manager-integration-staged ul { display: grid; max-height: 170px; gap: 6px; margin: 0; padding: 0; overflow: auto; list-style: none; }.file-manager-integration-staged li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 7px 8px; border: 1px solid var(--line); border-radius: 5px; background: var(--theme-surface, var(--white)); }.file-manager-integration-staged li.is-empty { display: block; color: var(--slate); font-size: .72rem; }.file-manager-integration-staged li > span { display: grid; width: 25px; height: 27px; border: 1px solid color-mix(in srgb, var(--teal-deep) 45%, var(--line)); border-radius: 4px; color: var(--teal-deep); font-size: .48rem; font-weight: 900; place-items: center; }.file-manager-integration-staged li > div { display: grid; min-width: 0; gap: 2px; }.file-manager-integration-staged li strong, .file-manager-integration-staged li small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.file-manager-integration-staged li strong { color: var(--ink); font-size: .72rem; }.file-manager-integration-staged li small { color: var(--slate); font-size: .64rem; }.file-manager-integration-staged li > button { padding: 4px 6px; border: 1px solid var(--line); border-radius: 4px; background: transparent; color: var(--teal-deep); font: inherit; font-size: .65rem; font-weight: 850; cursor: pointer; }.file-manager-integration-staged li > button:hover, .file-manager-integration-staged li > button:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); outline: none; }.theme-logo-dark .secure-file-manager__integration-add { border-color: var(--teal); color: var(--teal); }.theme-logo-dark .secure-file-manager__integration-add:hover, .theme-logo-dark .secure-file-manager__integration-add:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .secure-file-manager__integration-add:disabled { border-color: #454d52; color: #aeb6bc; }.theme-logo-dark .secure-file-manager__item.is-integration-staged { border-color: var(--teal); background: #29231d; box-shadow: inset 3px 0 0 var(--teal); }.theme-logo-dark .secure-file-manager__item.is-integration-staged::after { background: #3a3325; color: var(--teal); }.theme-logo-dark .file-manager-integration-staged { border-color: #454d52; background: #171a1c; }.theme-logo-dark .file-manager-integration-staged > div > strong, .theme-logo-dark .file-manager-integration-staged li strong { color: #f1f3f4; }.theme-logo-dark .file-manager-integration-staged > div > button, .theme-logo-dark .file-manager-integration-staged li > button { border-color: #454d52; color: var(--teal); }.theme-logo-dark .file-manager-integration-staged li { border-color: #454d52; background: #202529; }.theme-logo-dark .file-manager-integration-staged li > span { border-color: #5a4e39; color: var(--teal); }.theme-logo-dark .file-manager-integration-staged li small, .theme-logo-dark .file-manager-integration-staged li.is-empty { color: #aeb6bc; }

/* File-manager integration prototype. Integrations are contextual consumers
   of the manager selection, never a second file picker. */
.file-manager-integration-mockup__notice { margin-bottom: var(--admin-space-major); }.file-manager-integrations { display: grid; gap: var(--admin-space-standard); margin-top: var(--admin-space-major); padding: var(--admin-space-major); border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); box-shadow: 0 12px 32px rgba(11,17,32,.08); }.file-manager-integrations__header { display: flex; align-items: end; justify-content: space-between; gap: var(--admin-space-standard); }.file-manager-integrations__header .eyebrow { margin-bottom: 7px; }.file-manager-integrations__header h2 { margin: 0; color: var(--ink); font-size: 1.25rem; }.file-manager-integrations__header p:not(.eyebrow) { max-width: 720px; margin: 8px 0 0; color: var(--slate); font-size: .79rem; line-height: 1.5; }.file-manager-integrations__selection, .file-manager-integration-panel__heading > span { flex: 0 0 auto; margin: 0; padding: 6px 9px; border: 1px solid color-mix(in srgb, var(--teal-deep) 42%, var(--line)); border-radius: 99px; background: color-mix(in srgb, var(--teal-deep) 10%, transparent); color: var(--teal-deep); font-size: .7rem; font-weight: 850; white-space: nowrap; }.file-manager-integrations__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--admin-space-compact); }.file-manager-integration-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; min-width: 0; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--paper)); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }.file-manager-integration-card:hover, .file-manager-integration-card:focus-visible, .file-manager-integration-card.is-active { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 9%, var(--theme-surface, var(--white))); outline: none; }.file-manager-integration-card:disabled { opacity: .57; cursor: not-allowed; }.file-manager-integration-card__icon { display: grid; width: 36px; height: 38px; border: 1px solid color-mix(in srgb, var(--teal-deep) 52%, var(--line)); border-radius: 6px; color: var(--teal-deep); font-size: .58rem; font-weight: 900; place-items: center; }.file-manager-integration-card > span:nth-child(2) { display: grid; min-width: 0; gap: 3px; }.file-manager-integration-card small { color: var(--slate); font-size: .62rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.file-manager-integration-card strong { overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }.file-manager-integration-card em { overflow: hidden; color: var(--slate); font-size: .68rem; font-style: normal; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }.file-manager-integration-card b { color: var(--teal-deep); font-size: .9rem; }.file-manager-integration-panel { padding: var(--admin-space-major); border: 1px solid color-mix(in srgb, var(--teal-deep) 45%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--teal-deep) 5%, var(--theme-surface, var(--white))); }.file-manager-integration-panel__heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: var(--admin-space-standard); }.file-manager-integration-panel__heading .eyebrow { margin-bottom: 7px; }.file-manager-integration-panel__heading h3 { margin: 0; color: var(--ink); font-size: 1.05rem; }.file-manager-integration-panel__heading p:not(.eyebrow) { margin: 7px 0 0; color: var(--slate); font-size: .76rem; line-height: 1.45; }.file-manager-integration-panel__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--admin-space-standard); }.file-manager-integration-panel__form > label:nth-child(2), .file-manager-integration-panel__form > label:nth-child(4), .file-manager-integration-panel__actions { grid-column: 1 / -1; }.file-manager-integration-panel__actions { display: flex; align-items: center; justify-content: space-between; gap: var(--admin-space-standard); padding-top: var(--admin-space-standard); border-top: 1px solid var(--line); }.file-manager-integration-panel__actions p { margin: 0; color: var(--slate); font-size: .74rem; line-height: 1.45; }.theme-logo-dark .file-manager-integrations, .theme-logo-dark .file-manager-integration-panel { border-color: #454d52; background: var(--theme-surface); }.theme-logo-dark .file-manager-integration-card { border-color: #454d52; background: #202529; color: #f1f3f4; }.theme-logo-dark .file-manager-integration-card:hover, .theme-logo-dark .file-manager-integration-card:focus-visible, .theme-logo-dark .file-manager-integration-card.is-active { border-color: var(--teal); background: #29231d; }.theme-logo-dark .file-manager-integrations__header h2, .theme-logo-dark .file-manager-integration-panel__heading h3 { color: #f1f3f4; }.theme-logo-dark .file-manager-integrations__header p:not(.eyebrow), .theme-logo-dark .file-manager-integration-card small, .theme-logo-dark .file-manager-integration-card em, .theme-logo-dark .file-manager-integration-panel__heading p:not(.eyebrow), .theme-logo-dark .file-manager-integration-panel__actions p { color: #aeb6bc; }.theme-logo-dark .file-manager-integrations__selection, .theme-logo-dark .file-manager-integration-panel__heading > span { border-color: #5a4e39; background: #29231d; color: var(--teal); }.theme-logo-dark .file-manager-integration-card__icon { border-color: #5a4e39; color: var(--teal); }.theme-logo-dark .file-manager-integration-card b { color: var(--teal); }.theme-logo-dark .file-manager-integration-panel__actions { border-color: #454d52; }@media (max-width: 820px) { .file-manager-integrations__grid { grid-template-columns: 1fr; }.file-manager-integrations__header, .file-manager-integration-panel__heading, .file-manager-integration-panel__actions { align-items: start; flex-direction: column; }.file-manager-integration-panel__form { grid-template-columns: 1fr; }.file-manager-integration-panel__form > label:nth-child(2), .file-manager-integration-panel__form > label:nth-child(4), .file-manager-integration-panel__actions { grid-column: auto; } }

/* The Account Inbox points eligible users to project workspaces without
   blending a private site-support thread into a shared client project. */
.buyer-account__client-projects { display: grid; gap: 10px; }.buyer-account__client-projects .eyebrow, .buyer-account__client-projects h2, .buyer-account__client-projects p { margin: 0; }.buyer-account__client-projects > div { display: flex; flex-wrap: wrap; gap: 8px; }

/* Client Portal: a member-scoped workspace which reuses the site's compact
   conversation, panel and action treatments. */
.nav-menu__client-portal summary b { display: inline-grid; min-width: 17px; height: 17px; margin-left: 4px; border-radius: 99px; background: var(--orange); color: var(--ink-soft); font-size: .58rem; place-items: center; }.client-portal { padding: 42px 0 76px; }.client-portal__layout { display: grid; grid-template-columns: minmax(225px, .32fr) minmax(0, 1fr); gap: 18px; align-items: start; }.client-portal__inbox, .client-portal__workspace, .client-portal__details > section { border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); box-shadow: 0 12px 32px rgba(11,17,32,.07); }.client-portal__inbox { display: grid; gap: 11px; padding: 20px; position: sticky; top: 20px; }.client-portal__inbox .eyebrow, .client-portal__inbox h1, .client-portal__inbox h2, .client-portal__inbox > p, .client-portal__workspace-heading .eyebrow, .client-portal__workspace-heading h2, .client-portal__workspace-heading p, .client-portal__conversation > header .eyebrow, .client-portal__conversation > header h3, .client-portal__details .eyebrow, .client-portal__details h3, .client-portal__details p { margin: 0; }.client-portal__inbox h1, .client-portal__inbox h2 { color: var(--ink); font-size: 1.25rem; }.client-portal__inbox > p:not(.eyebrow), .client-portal__workspace-heading p:not(.eyebrow), .client-portal__details p:not(.eyebrow) { color: var(--slate); font-size: .78rem; line-height: 1.5; }.client-portal__project-list { display: grid; gap: 7px; }.client-portal__project-list a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); text-decoration: none; }.client-portal__project-list a:hover, .client-portal__project-list a:focus-visible, .client-portal__project-list a.is-active { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 9%, var(--theme-surface, var(--white))); outline: none; }.client-portal__project-list span, .client-portal__project-list small { display: grid; min-width: 0; gap: 3px; }.client-portal__project-list strong { overflow: hidden; color: var(--ink); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }.client-portal__project-list small, .client-portal__conversation > header > span, .client-portal__message time { color: var(--slate); font-size: .66rem; }.client-portal__project-list b { display: grid; min-width: 22px; height: 22px; border-radius: 99px; background: var(--teal-deep); color: var(--white); font-size: .62rem; place-items: center; }.client-portal__workspace { min-width: 0; padding: 22px; }.client-portal__workspace-heading, .client-portal__conversation > header { display: flex; align-items: start; justify-content: space-between; gap: 15px; }.client-portal__workspace-heading { padding-bottom: 17px; border-bottom: 1px solid var(--line); }.client-portal__workspace-heading h2 { margin-top: 4px; color: var(--ink); font-size: clamp(1.35rem, 3vw, 1.8rem); }.client-portal__workspace-heading p:not(.eyebrow) { max-width: 760px; margin-top: 7px; }.client-portal__status { flex: 0 0 auto; padding: 6px 9px; border: 1px solid var(--line); border-radius: 99px; color: var(--slate); font-size: .68rem; font-weight: 850; }.client-portal__status--active { border-color: color-mix(in srgb, var(--accent) 60%, var(--line)); color: var(--accent); }.client-portal__workspace-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .32fr); gap: 17px; margin-top: 17px; }.client-portal__conversation { display: grid; min-width: 0; }.client-portal__conversation > header { align-items: end; padding: 0 0 10px; }.client-portal__conversation > header h3, .client-portal__details h3 { margin-top: 4px; color: var(--ink); font-size: 1rem; }.client-portal__messages { display: grid; min-height: 360px; max-height: 560px; gap: 10px; overflow: auto; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--paper)); scrollbar-color: var(--teal-deep) transparent; }.client-portal__message { justify-self: start; display: grid; width: min(100%, 760px); gap: 8px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px 9px 9px 2px; background: var(--theme-surface, var(--white)); }.client-portal__message.is-mine, .client-portal__message.is-admin { justify-self: end; border-color: color-mix(in srgb, var(--teal-deep) 45%, var(--line)); border-radius: 9px 9px 2px 9px; }.client-portal__message header { display: flex; justify-content: space-between; gap: 11px; }.client-portal__message header strong, .client-portal__message p { color: var(--ink); }.client-portal__message header strong { font-size: .72rem; }.client-portal__message p { margin: 0; font-size: .78rem; line-height: 1.5; }.client-portal__message blockquote { display: grid; gap: 3px; margin: 0; padding: 7px 9px; border-left: 2px solid var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 8%, transparent); color: var(--slate); font-size: .69rem; line-height: 1.4; }.client-portal__message blockquote strong { color: var(--ink); }.client-portal__attachment { display: inline-flex; width: max-content; max-width: 100%; gap: 5px; padding: 5px 7px; border: 1px solid color-mix(in srgb, var(--teal-deep) 50%, var(--line)); border-radius: 5px; color: var(--teal-deep); font-size: .68rem; font-weight: 800; overflow-wrap: anywhere; text-decoration: none; }.client-portal__reply-action, .client-portal__member-action { justify-self: start; padding: 0; border: 0; background: none; color: var(--teal-deep); font: inherit; font-size: .67rem; font-weight: 850; cursor: pointer; }.client-portal__composer { display: grid; gap: 9px; margin-top: 11px; padding: 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--paper)); }.client-portal__composer textarea { width: 100%; min-height: 86px; padding: 9px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface-input, var(--white)); color: var(--ink); font: inherit; resize: vertical; }.client-portal__composer > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }.client-portal__composer > div > span { flex: 1 1 140px; color: var(--slate); font-size: .68rem; }.client-portal__upload { cursor: pointer; }.client-portal__composer [data-project-reply-summary] { margin: 0; color: var(--teal-deep); font-size: .7rem; font-weight: 800; }.client-portal__details { display: grid; min-width: 0; align-content: start; gap: 13px; }.client-portal__details > section { min-width: 0; max-width: 100%; display: grid; gap: 8px; padding: 13px; }.client-portal__details ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }.client-portal__details li { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 7px; color: var(--ink); font-size: .72rem; }.client-portal__details li > span, .client-portal__details li > form { min-width: 0; }.client-portal__details li > span { flex: 1 1 auto; }.client-portal__details li strong, .client-portal__details li small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.client-portal__details li small { margin-top: 2px; color: var(--slate); font-size: .63rem; }.client-portal__details li a { min-width: 0; overflow: hidden; color: var(--teal-deep); font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }.client-portal__empty, .client-portal__empty-message { padding: 20px; border: 1px dashed var(--line); border-radius: 8px; color: var(--slate); font-size: .79rem; line-height: 1.5; }.client-portal__empty h2, .client-portal__empty strong { color: var(--ink); }.client-projects-admin__workspace { padding: var(--admin-space-major); }.client-projects-admin__workspace > header { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: var(--admin-space-major); }.client-projects-admin__workspace > header .eyebrow, .client-projects-admin__workspace > header h1 { margin: 0; }.client-projects-admin__workspace > header h1 { margin-top: 4px; }.client-projects-admin__layout { grid-template-columns: minmax(220px, .3fr) minmax(0, 1fr); }.client-projects-admin__layout .client-portal__inbox, .client-projects-admin__layout .client-portal__workspace { box-shadow: none; }.client-projects-admin__add-member { display: grid; gap: 8px; margin-top: 8px; padding-top: 11px; border-top: 1px solid var(--line); }.client-projects-admin__add-member label, .client-projects-admin__dialog label { display: grid; gap: 5px; color: var(--ink); font-size: .72rem; font-weight: 800; }.client-projects-admin__add-member input, .client-projects-admin__add-member select, .client-projects-admin__dialog input, .client-projects-admin__dialog textarea, .client-projects-admin__dialog select { min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 5px; background: var(--theme-surface-input, var(--white)); color: var(--ink); font: inherit; }.client-projects-admin__dialog { width: min(580px, calc(100vw - 30px)); padding: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); color: var(--ink); }.client-projects-admin__dialog::backdrop { background: rgba(11,17,32,.65); }.client-projects-admin__dialog form { display: grid; gap: 13px; padding: 20px; }.client-projects-admin__dialog header, .client-projects-admin__dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.client-projects-admin__dialog header .eyebrow, .client-projects-admin__dialog header h2 { margin: 0; }.client-projects-admin__dialog header h2 { margin-top: 4px; }.client-projects-admin__dialog header > button { border: 0; background: transparent; color: var(--teal-deep); font-size: 1.3rem; cursor: pointer; }.theme-logo-dark .client-portal__inbox, .theme-logo-dark .client-portal__workspace, .theme-logo-dark .client-portal__details > section, .theme-logo-dark .client-projects-admin__dialog { border-color: #454d52; background: var(--theme-surface); }.theme-logo-dark .client-portal__inbox h1, .theme-logo-dark .client-portal__inbox h2, .theme-logo-dark .client-portal__project-list strong, .theme-logo-dark .client-portal__workspace-heading h2, .theme-logo-dark .client-portal__conversation > header h3, .theme-logo-dark .client-portal__details h3, .theme-logo-dark .client-portal__message p, .theme-logo-dark .client-portal__message header strong, .theme-logo-dark .client-portal__message blockquote strong, .theme-logo-dark .client-projects-admin__add-member label, .theme-logo-dark .client-projects-admin__dialog label { color: #f1f3f4; }.theme-logo-dark .client-portal__project-list a, .theme-logo-dark .client-portal__messages, .theme-logo-dark .client-portal__message, .theme-logo-dark .client-portal__composer, .theme-logo-dark .client-portal__composer textarea, .theme-logo-dark .client-projects-admin__add-member input, .theme-logo-dark .client-projects-admin__add-member select, .theme-logo-dark .client-projects-admin__dialog input, .theme-logo-dark .client-projects-admin__dialog textarea, .theme-logo-dark .client-projects-admin__dialog select { border-color: #454d52; background: #202529; color: #f1f3f4; }.theme-logo-dark .client-portal__workspace-heading, .theme-logo-dark .client-projects-admin__add-member { border-color: #454d52; }.theme-logo-dark .client-portal__inbox > p:not(.eyebrow), .theme-logo-dark .client-portal__project-list small, .theme-logo-dark .client-portal__workspace-heading p:not(.eyebrow), .theme-logo-dark .client-portal__conversation > header > span, .theme-logo-dark .client-portal__message time, .theme-logo-dark .client-portal__details p:not(.eyebrow), .theme-logo-dark .client-portal__details li small, .theme-logo-dark .client-portal__empty, .theme-logo-dark .client-portal__empty-message { color: #aeb6bc; }.theme-logo-dark .client-portal__project-list a:hover, .theme-logo-dark .client-portal__project-list a:focus-visible, .theme-logo-dark .client-portal__project-list a.is-active, .theme-logo-dark .client-portal__message.is-mine, .theme-logo-dark .client-portal__message.is-admin { border-color: var(--teal); background: #29231d; }.theme-logo-dark .client-portal__attachment, .theme-logo-dark .client-portal__reply-action, .theme-logo-dark .client-portal__member-action { color: var(--teal); }@media (max-width: 860px) { .client-portal__layout, .client-projects-admin__layout, .client-portal__workspace-grid { grid-template-columns: 1fr; }.client-portal__inbox { position: static; }.client-portal__messages { max-height: 500px; } }@media (max-width: 560px) { .client-portal { padding: 25px 0 48px; }.client-portal__workspace, .client-portal__inbox { padding: 15px; }.client-portal__workspace-heading, .client-projects-admin__workspace > header { align-items: start; flex-direction: column; }.client-portal__composer > div .button { flex: 1 1 auto; }.client-projects-admin__workspace { padding: var(--admin-space-standard); } }

/* Project attachment cards stay compact, with a thumbnail only where the
   stored image can be safely rendered inline. */
.page-hero--client-portal-compact {
    padding: 12px 0 18px;
}
.page-hero--client-portal-compact .eyebrow { margin-bottom: 0; }
.client-portal--compact { padding-top: 20px; }
@media (max-width: 560px) {
    .page-hero--client-portal-compact { padding-bottom: 14px; }
    .client-portal--compact { padding-top: 14px; }
}

.admin-quote-card[hidden] { display: none !important; }

/* Unified client inbox: project conversations reuse the buyer message language. */
.buyer-account__messages:has([data-buyer-message-inbox]) { min-height: 900px; }
[data-buyer-message-inbox] { display: flex; flex-direction: column; min-height: 100%; }
.buyer-message-inbox__heading, .buyer-message-inbox__thread-heading, .buyer-message-inbox__list-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.buyer-message-inbox__heading { padding-bottom: 1rem; border-bottom: 1px solid var(--border-color, #3c474d); }
.buyer-message-inbox__heading h2, .buyer-message-inbox__thread-heading h3 { margin: .15rem 0; }
.buyer-message-inbox__heading p:last-child { margin-bottom: 0; }
.buyer-message-inbox__shell { display: grid; grid-template-columns: minmax(220px, 28%) minmax(0, 1fr); gap: 1rem; flex: 1; min-height: 0; padding-top: 1rem; }
.buyer-message-inbox__list, .buyer-message-inbox__detail { min-width: 0; min-height: 0; border: 1px solid var(--border-color, #3c474d); border-radius: .65rem; background: var(--panel-color, #20272b); }
.buyer-message-inbox__list { display: flex; flex-direction: column; overflow: hidden; }
.buyer-message-inbox__list-heading { padding: .85rem 1rem; border-bottom: 1px solid var(--border-color, #3c474d); }
.buyer-message-inbox__list-heading span, .buyer-message-inbox__item small, .buyer-message-inbox__item-meta time, .buyer-message-inbox__message-meta { color: var(--muted-text-color, #aab7c2); font-size: .75rem; }
.buyer-message-inbox__items { overflow: auto; padding: .45rem; }
.buyer-message-inbox__item { appearance: none; width: 100%; display: flex; align-items: flex-start; justify-content: space-between; gap: .65rem; padding: .75rem; text-align: left; color: inherit; border: 1px solid transparent; background: transparent; border-radius: .45rem; cursor: pointer; }
.buyer-message-inbox__item:hover, .buyer-message-inbox__item:focus-visible, .buyer-message-inbox__item.is-active { background: var(--panel-subtle-color, #2a3338); border-color: var(--accent-color, #ff740f); outline: 0; }
.buyer-message-inbox__item-copy { display: grid; gap: .12rem; min-width: 0; }
.buyer-message-inbox__item-copy strong, .buyer-message-inbox__item-copy span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.buyer-message-inbox__item-copy span { color: var(--muted-text-color, #aab7c2); font-size: .83rem; }
.buyer-message-inbox__item-meta { display: grid; gap: .35rem; justify-items: end; flex: none; }
.buyer-message-inbox__unread-badge { min-width: 1.25rem; padding: .1rem .35rem; border-radius: 99px; text-align: center; background: var(--accent-color, var(--orange, #ff740f)); color: var(--button-text-color, #111); font-size: .72rem; }
.buyer-message-inbox__item.has-mention { border-color: var(--orange, #ff740f); box-shadow: inset 3px 0 0 var(--orange, #ff740f); }
.buyer-message-inbox__item.has-mention:hover, .buyer-message-inbox__item.has-mention:focus-visible, .buyer-message-inbox__item.has-mention.is-active { border-color: var(--orange, #ff740f); background: color-mix(in srgb, var(--orange, #ff740f) 9%, var(--panel-subtle-color, #2a3338)); }
.buyer-message-inbox__mention-badge { min-width: 1.25rem; padding: .1rem .35rem; border: 1px solid var(--orange, #ff740f); border-radius: 99px; background: color-mix(in srgb, var(--orange, #ff740f) 13%, transparent); color: var(--orange, #ff740f); font-size: .72rem; line-height: 1.1; text-align: center; }
.buyer-message-inbox__detail { display: flex; flex-direction: column; padding: 1rem; }
.buyer-message-inbox__thread-heading { padding-bottom: .85rem; border-bottom: 1px solid var(--border-color, #3c474d); }
.buyer-message-inbox__project-link { flex: none; align-self: center; color: var(--accent-color, #ff740f); font-size: .82rem; }
.buyer-message-inbox__history { position: relative; flex: 1; min-height: 18rem; overflow-y: auto; padding: .7rem 0; scrollbar-color: var(--accent-color, #ff740f) transparent; }
.buyer-message-inbox__date { margin: .6rem auto; width: max-content; color: var(--muted-text-color, #aab7c2); font-size: .72rem; }
.buyer-message-inbox__message { width: min(88%, 45rem); margin: .5rem 0; }
.buyer-message-inbox__message.is-buyer { margin-left: auto; }
.buyer-message-inbox__message-meta { display: block; margin-bottom: .2rem; }
.buyer-message-inbox__message.is-buyer .buyer-message-inbox__message-meta { text-align: right; }
.buyer-message-inbox__bubble { white-space: pre-wrap; padding: .7rem .8rem; border: 1px solid var(--border-color, #3c474d); border-radius: .55rem; background: var(--panel-subtle-color, #283034); }
.buyer-message-inbox__message.is-buyer .buyer-message-inbox__bubble { border-color: var(--accent-color, #ff740f); }
.buyer-message-inbox__quote { margin: 0 0 .35rem; padding: .45rem .6rem; border-left: 2px solid var(--accent-color, #ff740f); color: var(--muted-text-color, #aab7c2); font-size: .83rem; }
.buyer-message-inbox__context { display: flex; align-items: center; gap: .6rem; padding: .65rem; margin: .5rem 0; border: 1px solid var(--border-color, #3c474d); border-radius: .5rem; }
.buyer-message-inbox__context-icon { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; flex: none; border-radius: .4rem; background: color-mix(in srgb, var(--accent-color, #ff740f) 18%, transparent); color: var(--accent-color, #ff740f); font-size: .7rem; font-weight: 800; }
.buyer-message-inbox__context div { min-width: 0; display: grid; gap: .1rem; }
.buyer-message-inbox__context small { color: var(--muted-text-color, #aab7c2); }
.buyer-message-inbox__context a { margin-left: auto; color: var(--accent-color, #ff740f); }
.buyer-message-inbox__attachments { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .4rem; }
.buyer-message-inbox__attachment { display: flex; align-items: center; gap: .35rem; max-width: 13rem; padding: .3rem .4rem; border: 1px solid var(--border-color, #3c474d); border-radius: .35rem; color: inherit; font-size: .78rem; text-decoration: none; }
.buyer-message-inbox__attachment span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.buyer-message-inbox__attachment img { width: 2rem; height: 2rem; object-fit: cover; border-radius: .2rem; }
.buyer-message-inbox__composer { margin-top: .75rem; }
.buyer-message-inbox__composer-controls { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .5rem; padding: .5rem; border: 1px solid var(--border-color, #3c474d); border-radius: .55rem; background: var(--panel-subtle-color, #283034); }
.buyer-message-inbox__composer textarea { min-height: 2.5rem; margin: 0; resize: vertical; }
.buyer-message-inbox__attach, .buyer-message-inbox__send { display: grid; place-items: center; min-height: 2.5rem; margin: 0; border: 1px solid var(--border-color, #3c474d); border-radius: .35rem; cursor: pointer; }
.buyer-message-inbox__attach { padding: 0 .6rem; color: var(--accent-color, #ff740f); font-size: .77rem; font-weight: 700; }
.buyer-message-inbox__attach input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.buyer-message-inbox__send { width: 2.5rem; border-color: var(--accent-color, #ff740f); background: var(--accent-color, #ff740f); color: var(--button-text-color, #111); font-weight: 800; }
.buyer-message-inbox__send:disabled { opacity: .65; cursor: progress; }
.buyer-message-inbox__notice, .buyer-message-inbox__empty { color: var(--muted-text-color, #aab7c2); }
@media (max-width: 760px) { .buyer-account__messages:has([data-buyer-message-inbox]) { min-height: 760px; } .buyer-message-inbox__shell { grid-template-columns: 1fr; grid-template-rows: minmax(10rem, auto) minmax(30rem, 1fr); } .buyer-message-inbox__items { max-height: 15rem; } .buyer-message-inbox__message { width: 94%; } }

/* Buyer side chat shares the admin dock's compact inbox geometry. Buyer
   project/shop categories remain labels, not admin conversation statuses. */
.buyer-conversation-dock__thread.is-inbox { display: block; height: calc(100% - 66px); }
.buyer-conversation-dock__inbox { display: grid; align-content: start; gap: 7px; height: 100%; box-sizing: border-box; padding: 10px; overflow: auto; scrollbar-color: var(--teal-deep) transparent; scrollbar-width: auto; }
.buyer-conversation-dock__inbox::-webkit-scrollbar { width: 11px; }
.buyer-conversation-dock__inbox::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: var(--teal-deep); background-clip: padding-box; }
.buyer-conversation-dock__inbox-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 9px; width: 100%; min-width: 0; min-height: 75px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--paper-deep)); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.buyer-conversation-dock__inbox-item:hover,.buyer-conversation-dock__inbox-item:focus-visible,.buyer-conversation-dock__inbox-item.is-selected { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 9%, var(--theme-surface-muted, var(--paper-deep))); outline: 0; }
.buyer-conversation-dock__inbox-item.is-selected { box-shadow: inset 3px 0 0 var(--teal-deep); }
.buyer-conversation-dock__inbox-item.has-mention { border-color: var(--orange, #ff740f); box-shadow: inset 3px 0 0 var(--orange, #ff740f); }
.buyer-conversation-dock__inbox-item.has-mention:hover,.buyer-conversation-dock__inbox-item.has-mention:focus-visible,.buyer-conversation-dock__inbox-item.has-mention.is-selected { border-color: var(--orange, #ff740f); background: color-mix(in srgb, var(--orange, #ff740f) 9%, var(--theme-surface-muted, var(--paper-deep))); }
.buyer-conversation-dock__inbox-top { display: flex; min-width: 0; align-items: center; gap: 6px; }
.buyer-conversation-dock__inbox-top strong { overflow: hidden; color: var(--ink); font-size: .83rem; text-overflow: ellipsis; white-space: nowrap; }
.buyer-conversation-dock__inbox-marker { display: none; width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--teal-deep); }
.buyer-conversation-dock__inbox-item.is-unread .buyer-conversation-dock__inbox-marker { display: block; }
.buyer-conversation-dock__mention-badge { display: grid; min-width: 1.2rem; height: 1.2rem; padding: 0 .2rem; flex: none; border: 1px solid var(--orange, #ff740f); border-radius: 99px; background: color-mix(in srgb, var(--orange, #ff740f) 13%, transparent); color: var(--orange, #ff740f); font-size: .62rem; font-weight: 900; line-height: 1; place-items: center; }
.buyer-conversation-dock__inbox-kind { width: fit-content; align-self: start; padding: 3px 6px; border: 1px solid var(--line); border-radius: 999px; color: var(--teal-deep); font-size: .58rem; font-weight: 850; letter-spacing: .04em; line-height: 1.2; text-transform: uppercase; white-space: nowrap; }
.buyer-conversation-dock__inbox-preview { grid-column: 1 / -1; overflow: hidden; color: var(--muted); font-size: .69rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.buyer-conversation-dock__inbox-time { color: var(--muted); font-size: .61rem; }

/* Side Chat inbox cards use explicit content tracks so compact button and
   theme line-height rules cannot crop the preview or timestamp. */
.admin-conversation-dock__row,
.buyer-conversation-dock__inbox-item {
  grid-template-areas:
    "identity status"
    "preview preview"
    "time time";
  grid-template-rows: auto minmax(1.35em, auto) minmax(1.25em, auto);
  min-height: 88px;
  height: auto;
  align-content: start;
  padding-bottom: 11px;
}
.admin-conversation-dock__row-top,
.buyer-conversation-dock__inbox-top { grid-area: identity; }
.admin-conversation-dock__row-status,
.buyer-conversation-dock__inbox-kind { grid-area: status; }
.admin-conversation-dock__row-preview,
.buyer-conversation-dock__inbox-preview {
  grid-area: preview;
  grid-column: auto;
  min-width: 0;
  min-height: 1.35em;
  line-height: 1.35;
}
.admin-conversation-dock__row > small,
.buyer-conversation-dock__inbox-time {
  grid-area: time;
  display: block;
  min-height: 1.25em;
  line-height: 1.25;
}
.buyer-conversation-dock__thread-header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 9px; align-items: start; }
.buyer-conversation-dock__back { min-height: 29px; margin: 0; padding: 5px 7px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: var(--teal-deep); font: 800 .65rem/1 var(--font-body); cursor: pointer; }
.buyer-conversation-dock__back:hover,.buyer-conversation-dock__back:focus-visible { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 9%, transparent); outline: 0; }
.buyer-conversation-dock__state { max-width: 122px; padding: 4px 6px; border: 1px solid var(--line); border-radius: 999px; color: var(--teal-deep); font-size: .57rem; font-weight: 850; letter-spacing: .04em; line-height: 1.2; text-align: right; text-transform: uppercase; }
.buyer-conversation-dock__quote { margin: 0 0 .35rem; padding: .35rem .45rem; border-left: 2px solid var(--accent-color, #ff740f); color: var(--muted-text-color, #aab7c2); font-size: .76rem; }

/* Shared direct-reply treatment for the regular buyer ↔ shop conversation. */
.conversation-reply-quote, .buyer-account__reply-quote, .admin-conversation-dock__quote { display: grid; gap: 3px; margin: 0 0 8px; padding: 7px 9px; border-left: 2px solid var(--accent-color, var(--teal-deep)); background: color-mix(in srgb, var(--accent-color, var(--teal-deep)) 8%, transparent); color: var(--slate); font-size: .69rem; line-height: 1.4; }
.conversation-reply-quote strong, .buyer-account__reply-quote strong, .admin-conversation-dock__quote strong { color: var(--ink); font-size: .67rem; }
.conversation-reply-action, .buyer-account__reply-to-message { justify-self: start; margin-top: 2px; padding: 0; border: 0; background: transparent; color: var(--teal-deep); font: inherit; font-size: .68rem; font-weight: 850; cursor: pointer; }
.conversation-reply-action:hover, .conversation-reply-action:focus-visible, .buyer-account__reply-to-message:hover, .buyer-account__reply-to-message:focus-visible { color: var(--orange); text-decoration: underline; outline: none; }
.conversation-reply-context { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin: 0 0 8px; padding: 7px 9px; border: 1px solid color-mix(in srgb, var(--teal-deep) 48%, var(--line)); border-radius: 6px; background: color-mix(in srgb, var(--teal-deep) 8%, var(--theme-surface, var(--white))); color: var(--ink); font-size: .7rem; font-weight: 750; line-height: 1.35; }
.conversation-reply-context[hidden] { display: none; }
.conversation-reply-context__cancel { flex: 0 0 auto; padding: 0; border: 0; background: transparent; color: var(--teal-deep); font: inherit; font-size: .67rem; font-weight: 850; cursor: pointer; }
.theme-logo-dark .conversation-reply-quote, .theme-logo-dark .buyer-account__reply-quote, .theme-logo-dark .admin-conversation-dock__quote { color: #b8c1c8; background: color-mix(in srgb, var(--teal) 10%, #202529); }
.theme-logo-dark .conversation-reply-quote strong, .theme-logo-dark .buyer-account__reply-quote strong, .theme-logo-dark .admin-conversation-dock__quote strong, .theme-logo-dark .conversation-reply-context { color: #f1f3f4; }
.theme-logo-dark .conversation-reply-action, .theme-logo-dark .buyer-account__reply-to-message, .theme-logo-dark .conversation-reply-context__cancel { color: var(--teal); }

/* Client Portal project links carry their own unread indicator, not only the total. */
.nav-menu__dropdown > .nav-menu__client-project-link { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.nav-menu__client-project-link > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-menu__client-project-badge { display: grid; min-width: 1.25rem; height: 1.25rem; padding: 0 .25rem; flex: none; border-radius: 99px; background: var(--orange, #ff740f); color: var(--ink-soft, #171a1c); font-size: .62rem; font-weight: 900; place-items: center; box-shadow: 0 0 .7rem color-mix(in srgb, var(--orange, #ff740f) 48%, transparent); }
.nav-menu__client-project-link.has-unread { color: var(--teal, #ff9a4b); }
.nav-menu__client-project-link.has-mention { color: var(--orange, #ff740f); }
.nav-menu__client-project-mention-badge { display: grid; min-width: 1.25rem; height: 1.25rem; padding: 0 .25rem; flex: none; border: 1px solid var(--orange, #ff740f); border-radius: 99px; background: color-mix(in srgb, var(--orange, #ff740f) 13%, transparent); color: var(--orange, #ff740f); font-size: .62rem; font-weight: 900; place-items: center; }

/* A bounded Messages workspace must relinquish its desktop height when collapsed. */
.buyer-account__messages.buyer-account__workspace-panel.is-collapsed,
.buyer-account__messages.buyer-account__workspace-panel.is-collapsed:has([data-buyer-message-inbox]) {
    display: block;
    height: 38px;
    min-height: 38px;
    max-height: 38px;
    padding: 0;
}
.client-portal__attachment--preview { display: inline-grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; width: min(100%, 280px); padding: 5px; }.client-portal__attachment--preview img { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 4px; object-fit: cover; background: var(--theme-surface-muted, var(--paper)); }.client-portal__attachment--preview > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.client-portal__attachment--preview i { font-style: normal; }.theme-logo-dark .client-portal__attachment--preview img { border-color: #454d52; background: #171a1c; }

/* Keep Project Conversation entries compact; the history owns extra height,
   not each individual update card. */
.client-portal__messages { align-content: start; grid-auto-rows: max-content; }

/* The update composer begins as a single-line control and grows only when
   the author adds further lines. The script caps the live height at 220px. */
.client-portal__composer textarea { min-height: var(--admin-control-height, 40px); max-height: 220px; overflow-y: hidden; scrollbar-color: var(--teal-deep) transparent; scrollbar-width: auto; }
.client-portal__composer textarea::-webkit-scrollbar { width: 11px; }
.client-portal__composer textarea::-webkit-scrollbar-track { background: transparent; }
.client-portal__composer textarea::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: var(--teal-deep); background-clip: padding-box; }
.client-portal__composer textarea::-webkit-scrollbar-thumb:hover { background: var(--teal-deep); background-clip: padding-box; }
.client-portal__composer-status { margin: 0; color: var(--teal-deep); font-size: .72rem; font-weight: 800; }.client-portal__composer-status.is-error { color: #b23d2c; }.theme-logo-dark .client-portal__composer-status { color: var(--teal); }.theme-logo-dark .client-portal__composer-status.is-error { color: #ffc1b6; }

/* Project updates use the shared one-line reply-composer pattern. Attachments
   live in a separate drop area so posting remains compact as the text grows. */
.client-portal__composer { gap: 9px; }.client-portal__composer > .client-portal__composer-row { display: grid; grid-template-columns: minmax(0, 1fr) var(--admin-control-height, 40px); gap: 8px; align-items: end; }.client-portal__composer-row textarea { box-sizing: border-box; width: 100%; min-height: var(--admin-control-height, 40px); margin: 0; resize: vertical; }.client-portal__composer-send { display: grid; width: var(--admin-control-height, 40px); height: var(--admin-control-height, 40px); padding: 0; border: 1px solid var(--teal-deep); border-radius: 6px; background: var(--teal-deep); color: var(--white); font: 900 1rem/1 var(--font-body); cursor: pointer; place-items: center; }.client-portal__composer-send:hover, .client-portal__composer-send:focus-visible { border-color: var(--teal); background: var(--teal); color: var(--ink); outline: none; }.client-portal__composer-send:disabled { cursor: wait; opacity: .72; }.client-portal__dropzone { display: flex; min-height: 54px; align-items: center; gap: 10px; padding: 8px 10px; border: 1px dashed var(--line-strong, var(--line)); border-radius: 7px; background: color-mix(in srgb, var(--theme-surface-muted, var(--paper)) 88%, transparent); color: var(--slate); cursor: pointer; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }.client-portal__dropzone:hover, .client-portal__dropzone:focus-visible, .client-portal__dropzone.is-dragover { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 8%, var(--theme-surface-muted, var(--paper))); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal-deep) 14%, transparent); outline: none; }.client-portal__dropzone > span { min-width: 0; color: var(--slate); font-size: .72rem; line-height: 1.4; }.client-portal__dropzone .client-portal__upload { flex: 0 0 auto; min-height: 34px; padding: 6px 10px; font-size: .71rem; }.conversation-composer-attachments { display: grid; gap: 7px; }.client-portal__dropzone + .conversation-composer-attachments { margin-top: 0; }.conversation-composer-attachments__list { display: flex; flex-wrap: wrap; gap: 7px; }.conversation-composer-attachments__item { display: grid; grid-template-columns: 34px minmax(0, 1fr) 22px; width: min(100%, 250px); min-height: 40px; align-items: center; gap: 6px; padding: 3px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface, var(--white)); }.conversation-composer-attachments__item img, .conversation-composer-attachments__file-icon { display: grid; width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 4px; object-fit: cover; background: var(--theme-surface-muted, var(--paper)); place-items: center; }.conversation-composer-attachments__file-icon { color: var(--slate); font-size: .53rem; font-weight: 900; text-align: center; }.conversation-composer-attachments__item > span { min-width: 0; overflow: hidden; color: var(--ink); font-size: .68rem; font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }.conversation-composer-attachments__remove { display: grid; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: var(--slate); font: 900 1rem/1 sans-serif; cursor: pointer; place-items: center; }.conversation-composer-attachments__remove:hover, .conversation-composer-attachments__remove:focus-visible { background: #b23d2c; color: var(--white); outline: none; }.conversation-composer-attachments__status { margin: 0; color: var(--slate); font-size: .68rem; line-height: 1.4; }.conversation-composer-attachments__status.is-error { color: #b23d2c; font-weight: 760; }.theme-logo-dark .client-portal__composer-send { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .client-portal__composer-send:hover, .theme-logo-dark .client-portal__composer-send:focus-visible { border-color: var(--teal); background: var(--teal); color: #171a1c; }.theme-logo-dark .client-portal__dropzone { border-color: #596268; background: #1b2023; }.theme-logo-dark .client-portal__dropzone:hover, .theme-logo-dark .client-portal__dropzone:focus-visible, .theme-logo-dark .client-portal__dropzone.is-dragover { border-color: var(--teal); background: #29231d; box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 15%, transparent); }.theme-logo-dark .client-portal__dropzone > span, .theme-logo-dark .conversation-composer-attachments__status { color: #aeb6bc; }.theme-logo-dark .conversation-composer-attachments__item, .theme-logo-dark .conversation-composer-attachments__item img, .theme-logo-dark .conversation-composer-attachments__file-icon { border-color: #454d52; background: #202529; }.theme-logo-dark .conversation-composer-attachments__item > span { color: #f1f3f4; }.theme-logo-dark .conversation-composer-attachments__file-icon { color: #aeb6bc; }.theme-logo-dark .conversation-composer-attachments__remove { color: #aeb6bc; }.theme-logo-dark .conversation-composer-attachments__status.is-error { color: #ffc1b6; }@media (max-width: 560px) { .client-portal__dropzone { align-items: stretch; flex-direction: column; }.client-portal__dropzone .client-portal__upload { align-self: start; }.conversation-composer-attachments__item { width: 100%; } }

/* Admin Discussion is intentionally full-width: its former rules/shortcuts
   rail duplicated tools already available in the workspace. Keep client
   Discussion details independent for now. */
.client-project-workspace--admin .client-portal__workspace-grid--discussion-full { grid-template-columns: minmax(0, 1fr); }

/* Project details are a right-edge rail on larger screens. Collapsing it
   releases the width to the conversation without moving the workspace. */
.client-portal__details { position: relative; --client-portal-details-toggle-top: 50%; transition: min-width .2s ease; }.client-portal__details-toggle { position: absolute; z-index: 2; top: var(--client-portal-details-toggle-top); left: -9px; display: grid; width: 18px; height: 58px; padding: 0; border: 1px solid var(--line); border-radius: 5px; background: var(--theme-surface-muted, var(--paper)); color: var(--teal-deep); box-shadow: 0 3px 8px rgba(11,17,32,.12); cursor: grab; touch-action: none; user-select: none; place-items: center; transform: translateY(-50%); }.client-portal__details-toggle:active { cursor: grabbing; }.client-portal__details-toggle:hover, .client-portal__details-toggle:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); outline: none; }.client-portal__details-toggle-icon { display: block; width: 7px; height: 7px; border-bottom: 2px solid currentColor; border-left: 2px solid currentColor; transform: rotate(-135deg); transition: transform .2s ease; }.client-portal__details-toggle:hover .client-portal__details-toggle-icon, .client-portal__details-toggle:focus-visible .client-portal__details-toggle-icon { color: var(--white); }.client-portal__workspace-grid.is-details-collapsed { grid-template-columns: minmax(0, 1fr) 34px; }.client-portal__details.is-collapsed { min-width: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface-muted, var(--paper)); }.client-portal__details.is-collapsed > section { display: none; }.client-portal__details.is-collapsed .client-portal__details-toggle { left: -9px; }.client-portal__details.is-collapsed .client-portal__details-toggle-icon { transform: rotate(45deg); }.theme-logo-dark .client-portal__details-toggle, .theme-logo-dark .client-portal__details.is-collapsed { border-color: #454d52; background: #202529; color: var(--teal); }.theme-logo-dark .client-portal__details-toggle:hover, .theme-logo-dark .client-portal__details-toggle:focus-visible { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }.theme-logo-dark .client-portal__details-toggle:hover .client-portal__details-toggle-icon, .theme-logo-dark .client-portal__details-toggle:focus-visible .client-portal__details-toggle-icon { color: #171a1c; }@media (max-width: 860px) { .client-portal__details-toggle { display: none; }.client-portal__details.is-collapsed { min-width: 0; border: 0; background: transparent; }.client-portal__details.is-collapsed > section { display: grid; } }

/* A project workspace moves to a vertical flow before its member/tools rail
   becomes too narrow to remain inside the workspace panel. */
@media (max-width: 1080px) { .client-projects-admin__layout, .client-projects-admin__layout .client-portal__workspace-grid { grid-template-columns: minmax(0, 1fr); }.client-projects-admin__layout .client-portal__inbox { position: static; } }

/* Primary contact is an on/off setting, so it uses the shared switch rather
   than a standalone checkbox. */
.client-projects-admin__add-member label.toggle-control { display: flex; align-items: center; gap: 9px; cursor: pointer; }.client-projects-admin__add-member label.toggle-control input { position: absolute; width: 1px; min-width: 1px; height: 1px; min-height: 1px; margin: 0; padding: 0; border: 0; opacity: 0; }.client-projects-admin__add-member label.toggle-control > span { position: relative; flex: 0 0 auto; width: var(--admin-toggle-width); height: var(--admin-toggle-height); border: 1px solid var(--line); border-radius: 99px; background: #a9b1b8; transition: background .15s ease, border-color .15s ease; }.client-projects-admin__add-member label.toggle-control > span::after { position: absolute; top: 4px; left: 4px; width: var(--admin-toggle-thumb); height: var(--admin-toggle-thumb); border-radius: 50%; background: var(--white); box-shadow: 0 1px 2px rgba(0,0,0,.22); content: ''; transition: transform .15s ease; }.client-projects-admin__add-member label.toggle-control input:checked + span { border-color: var(--teal-deep); background: var(--teal-deep); }.client-projects-admin__add-member label.toggle-control input:checked + span::after { transform: translateX(21px); }.client-projects-admin__add-member label.toggle-control input:focus-visible + span { outline: 3px solid rgba(24,185,160,.24); outline-offset: 2px; }.theme-logo-dark .client-projects-admin__add-member label.toggle-control > span { border-color: var(--line); }.theme-logo-dark .client-projects-admin__add-member label.toggle-control > span::after { background: #f1f3f4; }

/* File visibility is a genuine on/off decision. Keep the native checkbox for
   form fallback and keyboard support, but present it as the same switch used
   elsewhere in the admin Client Project workspace. */
.client-project-workspace--admin .client-project-files label.toggle-control {
    display: inline-flex;
    min-height: var(--ui-control-height);
    gap: 9px;
    align-items: center;
    color: var(--ink);
    cursor: pointer;
    font-size: .78rem;
    font-weight: 760;
}
.client-project-workspace--admin .client-project-files label.toggle-control input[type="checkbox"] {
    position: absolute;
    width: 1px;
    min-width: 1px;
    height: 1px;
    min-height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 0;
}
.client-project-workspace--admin .client-project-files label.toggle-control > span {
    position: relative;
    width: var(--admin-toggle-width);
    height: var(--admin-toggle-height);
    flex: 0 0 auto;
    border: 1px solid var(--line);
    border-radius: 99px;
    background: color-mix(in srgb, var(--slate) 52%, var(--surface));
    transition: background-color .15s ease, border-color .15s ease;
}
.client-project-workspace--admin .client-project-files label.toggle-control > span::after {
    position: absolute;
    top: 4px;
    left: 4px;
    width: var(--admin-toggle-thumb);
    height: var(--admin-toggle-thumb);
    border-radius: 50%;
    background: var(--white);
    box-shadow: 0 1px 2px rgba(0,0,0,.22);
    content: '';
    transition: transform .15s ease;
}
.client-project-workspace--admin .client-project-files label.toggle-control input[type="checkbox"]:checked + span {
    border-color: var(--accent);
    background: var(--accent);
}
.client-project-workspace--admin .client-project-files label.toggle-control input[type="checkbox"]:checked + span::after { transform: translateX(21px); }
.client-project-workspace--admin .client-project-files label.toggle-control input[type="checkbox"]:focus-visible + span {
    outline: 3px solid color-mix(in srgb, var(--accent) 25%, transparent);
    outline-offset: 2px;
}
.theme-logo-dark .client-project-workspace--admin .client-project-files label.toggle-control > span { border-color: #586168; }
.theme-logo-dark .client-project-workspace--admin .client-project-files label.toggle-control > span::after { background: #f1f3f4; }

/* Admin workspace pages omit the visible page heading; their first working
   panel therefore begins on the standard 18px entry spacing, not the legacy
   marketing-page inset. */
.admin-main.client-projects-admin { padding-top: var(--admin-space-standard); }
/* Keep the admin collaboration workspace on the same readable content rail as
   the public Client Portal.  The normal admin shell remains intentionally
   wide for data-heavy tools such as orders and catalogue management. */
.admin-main.client-projects-admin > .admin-content { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
@media (max-width: 760px) { .admin-main.client-projects-admin > .admin-content { width: min(calc(100% - 28px), var(--container)); } }

/* Project-aware actions share the workspace header row. The first action is
   deliberately anchored to the same grid column as Project Workspace. */
.client-projects-admin__workspace > header.client-projects-admin__workspace-header { display: grid; grid-template-columns: minmax(220px, .3fr) minmax(0, 1fr); align-items: center; gap: 18px; }.client-projects-admin__workspace-actions, .client-projects-admin__project-actions { display: flex; align-items: center; gap: 8px; }.client-projects-admin__workspace-actions { min-width: 0; }.client-projects-admin__project-actions { min-width: 0; flex-wrap: wrap; }.client-projects-admin__workspace-actions > .button { flex: 0 0 auto; margin-left: auto; white-space: nowrap; }.client-projects-admin__project-actions .button { white-space: nowrap; }@media (max-width: 1080px) { .client-projects-admin__workspace > header.client-projects-admin__workspace-header { grid-template-columns: 1fr; align-items: start; }.client-projects-admin__workspace-actions { flex-wrap: wrap; }.client-projects-admin__workspace-actions > .button { margin-left: 0; } }@media (max-width: 560px) { .client-projects-admin__workspace-actions, .client-projects-admin__project-actions { align-items: stretch; flex-direction: column; width: 100%; }.client-projects-admin__workspace-actions > .button, .client-projects-admin__project-actions .button { width: 100%; } }

/* A compact interim files rail for the pre-rework Client Projects workspace. */
.client-projects-admin__files-panel { display: grid; gap: 12px; margin-top: 17px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); }.client-projects-admin__files-heading, .client-projects-admin__brief-card, .client-projects-admin__file-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.client-projects-admin__files-heading .eyebrow, .client-projects-admin__files-heading h3, .client-projects-admin__brief-card .eyebrow, .client-projects-admin__brief-card strong, .client-projects-admin__brief-card small { margin: 0; }.client-projects-admin__files-heading h3 { margin-top: 4px; color: var(--ink); font-size: 1rem; }.client-projects-admin__brief-card { padding: 11px 12px; border: 1px solid color-mix(in srgb, var(--teal-deep) 45%, var(--line)); border-radius: 7px; background: color-mix(in srgb, var(--teal-deep) 5%, var(--theme-surface-muted, var(--paper))); }.client-projects-admin__brief-card > div:first-child, .client-projects-admin__file-list li > div { display: grid; min-width: 0; gap: 3px; }.client-projects-admin__brief-card strong, .client-projects-admin__file-list strong { overflow: hidden; color: var(--ink); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }.client-projects-admin__brief-card small, .client-projects-admin__file-list small, .client-projects-admin__files-empty { color: var(--slate); font-size: .65rem; line-height: 1.4; }.client-projects-admin__files-empty { margin: 0; }.client-projects-admin__file-list { display: grid; max-height: 300px; gap: 7px; margin: 0; padding: 0; overflow: auto; list-style: none; scrollbar-color: var(--teal-deep) transparent; }.client-projects-admin__file-list li { padding: 8px 0; border-bottom: 1px solid var(--line); }.client-projects-admin__file-list li:last-child { border-bottom: 0; }.client-projects-admin__file-list li > div { flex: 1 1 auto; }.client-projects-admin__file-actions { display: inline-flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center; gap: 8px; }.theme-logo-dark .client-projects-admin__files-panel { border-color: #454d52; background: var(--theme-surface); }.theme-logo-dark .client-projects-admin__brief-card { border-color: var(--teal); background: #29231d; }.theme-logo-dark .client-projects-admin__files-heading h3, .theme-logo-dark .client-projects-admin__brief-card strong, .theme-logo-dark .client-projects-admin__file-list strong { color: #f1f3f4; }.theme-logo-dark .client-projects-admin__brief-card small, .theme-logo-dark .client-projects-admin__file-list small, .theme-logo-dark .client-projects-admin__files-empty { color: #aeb6bc; }.theme-logo-dark .client-projects-admin__file-list li { border-color: #454d52; }@media (max-width: 620px) { .client-projects-admin__files-heading, .client-projects-admin__brief-card, .client-projects-admin__file-list li { align-items: flex-start; flex-direction: column; }.client-projects-admin__file-actions { width: 100%; }.client-projects-admin__file-actions .button { flex: 1 1 auto; } }

/* The default desktop administration route keeps Orders and Inbox visible
   alongside the task groups without pushing the header into a second line. */
@media (min-width: 721px) { .admin-nav { gap: 16px; flex-wrap: nowrap; }.admin-nav > a, .admin-nav > details > summary { white-space: nowrap; } }

/* File-manager actions retain a compact four-control desktop row. */
.secure-file-manager__actions { grid-template-columns: minmax(220px, 1fr) auto auto auto; }

/* Direct file selection and resizable file-manager panes. The type badge is a
   small, reusable file-sheet icon rather than a second action control. */
.secure-file-manager__header .secure-file-manager__preview-toggle { min-height: 34px; flex: 0 0 auto; padding: 6px 9px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: var(--teal-deep); font: inherit; font-size: .7rem; font-weight: 850; cursor: pointer; }.secure-file-manager__header .secure-file-manager__preview-toggle:hover, .secure-file-manager__header .secure-file-manager__preview-toggle:focus-visible { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 10%, transparent); outline: none; }.secure-file-manager__workspace { --secure-file-folder-width: 230px; --secure-file-preview-width: 250px; grid-template-columns: minmax(155px, var(--secure-file-folder-width)) 10px minmax(280px, 1fr) 10px minmax(210px, var(--secure-file-preview-width)); }.secure-file-manager__workspace.is-preview-hidden { grid-template-columns: minmax(155px, var(--secure-file-folder-width)) 10px minmax(0, 1fr); }.secure-file-manager__workspace.is-preview-hidden .secure-file-manager__preview, .secure-file-manager__workspace.is-preview-hidden .secure-file-manager__splitter--preview { display: none; }.secure-file-manager__splitter { position: relative; z-index: 1; min-width: 10px; border-right: 1px solid var(--line); background: var(--theme-surface-muted, var(--paper)); cursor: col-resize; touch-action: none; }.secure-file-manager__splitter::after { position: absolute; top: 50%; left: 2px; width: 4px; height: 38px; border-radius: 99px; background: var(--line); content: ''; transform: translateY(-50%); }.secure-file-manager__splitter:hover::after, .secure-file-manager__splitter:focus-visible::after { background: var(--teal-deep); }.secure-file-manager__splitter:focus-visible { outline: 2px solid var(--teal-deep); outline-offset: -2px; }.secure-file-manager__item { grid-template-columns: 38px minmax(0, 1fr); cursor: pointer; user-select: none; }.secure-file-manager__item[hidden] { display: none !important; }.secure-file-manager__item > div { display: grid; min-width: 0; gap: 3px; }.secure-file-manager__item > div strong, .secure-file-manager__item > div small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.secure-file-manager__item > div strong { color: var(--ink); font-size: .78rem; }.secure-file-manager__item > div small { color: var(--slate); font-size: .66rem; }.secure-file-manager__item.is-selected { border-color: var(--teal-deep); background: color-mix(in srgb, var(--teal-deep) 13%, var(--theme-surface, var(--white))); box-shadow: inset 3px 0 0 var(--teal-deep); }.secure-file-manager__item:hover, .secure-file-manager__item:focus-visible { border-color: var(--teal-deep); outline: none; }.secure-file-manager__type-icon { display: grid; width: 32px; height: 35px; padding-top: 2px; border: 1px solid var(--line); border-radius: 5px; background: var(--theme-surface-muted, var(--paper)); color: var(--slate); font-size: .52rem; font-weight: 900; letter-spacing: -.025em; line-height: 1; place-items: center; text-align: center; }.secure-file-manager__type-icon--image { border-color: color-mix(in srgb, #416f9c 55%, var(--line)); color: #416f9c; }.secure-file-manager__type-icon--model { border-color: color-mix(in srgb, var(--teal-deep) 58%, var(--line)); color: var(--teal-deep); }.secure-file-manager__type-icon--pdf { border-color: color-mix(in srgb, #b23d2c 58%, var(--line)); color: #b23d2c; }.secure-file-manager__type-icon--text { border-color: color-mix(in srgb, #696078 55%, var(--line)); color: #696078; }.secure-file-manager__type-icon--archive { border-color: color-mix(in srgb, #9a6c21 58%, var(--line)); color: #9a6c21; }.secure-file-manager__type-icon--office { border-color: color-mix(in srgb, #315f9d 58%, var(--line)); color: #315f9d; }.secure-file-manager__type-icon--media { border-color: color-mix(in srgb, #78508c 58%, var(--line)); color: #78508c; }.theme-logo-dark .secure-file-manager__header .secure-file-manager__preview-toggle { border-color: #454d52; color: var(--teal); }.theme-logo-dark .secure-file-manager__header .secure-file-manager__preview-toggle:hover, .theme-logo-dark .secure-file-manager__header .secure-file-manager__preview-toggle:focus-visible { border-color: var(--teal); background: #29231d; }.theme-logo-dark .secure-file-manager__splitter { border-color: #454d52; background: #171a1c; }.theme-logo-dark .secure-file-manager__splitter::after { background: #596268; }.theme-logo-dark .secure-file-manager__splitter:hover::after, .theme-logo-dark .secure-file-manager__splitter:focus-visible::after { background: var(--teal); }.theme-logo-dark .secure-file-manager__item.is-selected { border-color: var(--teal); background: #29231d; box-shadow: inset 3px 0 0 var(--teal); }.theme-logo-dark .secure-file-manager__item:hover, .theme-logo-dark .secure-file-manager__item:focus-visible { border-color: var(--teal); }.theme-logo-dark .secure-file-manager__item > div strong { color: #f1f3f4; }.theme-logo-dark .secure-file-manager__item > div small { color: #aeb6bc; }.theme-logo-dark .secure-file-manager__type-icon { border-color: #454d52; background: #171a1c; color: #aeb6bc; }.theme-logo-dark .secure-file-manager__type-icon--image { color: #93bee6; }.theme-logo-dark .secure-file-manager__type-icon--model { color: var(--teal); }.theme-logo-dark .secure-file-manager__type-icon--pdf { color: #ffc1b6; }.theme-logo-dark .secure-file-manager__type-icon--text { color: #cab8d5; }.theme-logo-dark .secure-file-manager__type-icon--archive { color: #e4c378; }.theme-logo-dark .secure-file-manager__type-icon--office { color: #9ec1f4; }.theme-logo-dark .secure-file-manager__type-icon--media { color: #d9b8e9; }@media (max-width: 960px) { .secure-file-manager__workspace, .secure-file-manager__workspace.is-preview-hidden { grid-template-columns: minmax(155px, .44fr) 10px minmax(260px, 1fr); }.secure-file-manager__workspace .secure-file-manager__splitter--preview, .secure-file-manager__workspace .secure-file-manager__preview { grid-column: 1 / -1; }.secure-file-manager__workspace .secure-file-manager__splitter--preview { display: none; }.secure-file-manager__workspace .secure-file-manager__preview { display: grid; }.secure-file-manager__workspace.is-preview-hidden .secure-file-manager__preview { display: none; } }@media (max-width: 720px) { .secure-file-manager__header .secure-file-manager__preview-toggle { width: 100%; }.secure-file-manager__workspace, .secure-file-manager__workspace.is-preview-hidden { grid-template-columns: 1fr; }.secure-file-manager__splitter { display: none; }.secure-file-manager__workspace .secure-file-manager__preview { grid-column: auto; } }
/* Shared protected-file viewer. Hosts only provide authorised view/download URLs;
   this component chooses the appropriate presentation without exposing paths. */
.client-portal__content { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.client-portal__attachment-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; width: 100%; max-width: 100%; min-width: 0; gap: 8px; }
.client-portal__attachment-card .client-portal__attachment { width: 100%; max-width: none; min-width: 0; cursor: default; }
.client-portal__attachment-card .client-portal__attachment:not(.client-portal__attachment--preview) { display: block; }
.client-portal__attachment-card .client-portal__attachment--preview { width: 100%; max-width: none; }
.client-portal__attachment-card .client-portal__attachment-name { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.client-portal__attachment-actions { display: inline-flex; flex: 0 0 auto; align-items: center; justify-self: end; gap: 4px; white-space: nowrap; }.client-portal__attachment-actions > button, .client-portal__attachment-actions > a { display: inline-flex; align-items: center; min-height: 32px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 6px; background: transparent; color: var(--orange-deep); font: inherit; font-size: .72rem; font-weight: 800; text-decoration: none; cursor: pointer; }.client-portal__attachment-actions > button:hover, .client-portal__attachment-actions > a:hover { border-color: var(--orange); background: color-mix(in srgb, var(--orange) 9%, transparent); }
.client-portal__upload-progress { width: 100%; height: 5px; border: 0; border-radius: 99px; overflow: hidden; accent-color: var(--orange); }.client-portal__upload-progress::-webkit-progress-bar { background: color-mix(in srgb, var(--ink-soft) 60%, transparent); }.client-portal__upload-progress::-webkit-progress-value { background: linear-gradient(90deg, var(--orange), var(--orange-deep)); }.client-portal__upload-progress::-moz-progress-bar { background: linear-gradient(90deg, var(--orange), var(--orange-deep)); }
.client-portal__upload-queue { display: grid; gap: 6px; }.client-portal__upload-queue-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 7px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface, var(--white)); font-size: .7rem; }.client-portal__upload-queue-row strong { min-width: 0; overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }.client-portal__upload-queue-row span { color: var(--slate); }.client-portal__upload-queue-row .button { min-height: 28px; padding: 4px 7px; font-size: .64rem; }.theme-logo-dark .client-portal__upload-queue-row { border-color: #454d52; background: #202529; }.theme-logo-dark .client-portal__upload-queue-row strong { color: #f1f3f4; }.theme-logo-dark .client-portal__upload-queue-row span { color: #aeb6bc; }
.secure-file-manager__preview iframe { width: 100%; min-height: 360px; border: 0; background: #fff; }.secure-file-manager__preview video { width: 100%; max-height: 300px; background: #10171b; }
.protected-file-viewer { width: min(920px, calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); padding: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); color: var(--ink); box-shadow: 0 28px 80px rgba(0,0,0,.45); }
.protected-file-viewer::backdrop { background: rgba(7, 12, 17, .72); backdrop-filter: blur(4px); }
.protected-file-viewer__panel { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; max-height: calc(100vh - 32px); min-height: min(560px, calc(100vh - 32px)); }
.protected-file-viewer--portrait { width: min(760px, calc(100vw - 32px)); }
.protected-file-viewer__panel > header, .protected-file-viewer__panel > footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 18px; border-color: var(--line); }
.protected-file-viewer__panel > header { border-bottom: 1px solid var(--line); }
.protected-file-viewer__panel > footer { justify-content: end; border-top: 1px solid var(--line); }
.protected-file-viewer--minimal .protected-file-viewer__panel { grid-template-rows: auto minmax(0, 1fr); }
.protected-file-viewer--minimal .protected-file-viewer__panel > footer { display: none; }
.protected-file-viewer__controls-help { color: var(--slate); font-size: .68rem; line-height: 1.35; margin: 0 auto 0 0; max-width: 60%; }
.protected-file-viewer__panel h2 { margin: 3px 0 0; font-size: 1.05rem; overflow-wrap: anywhere; }
.protected-file-viewer__panel > header button { display: grid; width: 34px; height: 34px; place-items: center; padding: 0; border: 1px solid var(--line); background: transparent; color: var(--orange-deep); font-size: 1.45rem; }
.protected-file-viewer__content { display: grid; min-height: 0; place-items: center; overflow: auto; padding: 18px; background: color-mix(in srgb, var(--theme-surface, var(--white)) 88%, var(--ink-soft)); }
.protected-file-viewer__content > img { display: block; max-width: 100%; max-height: calc(100vh - 184px); object-fit: contain; border-radius: 8px; }
.protected-file-viewer__content > iframe { display: block; width: min(680px, 100%); height: min(760px, calc(100vh - 184px)); border: 0; background: #fff; }
.protected-file-viewer--pdf-reader { width: min(1120px, calc(100vw - 32px)); }.protected-file-viewer--pdf-reader .protected-file-viewer__content { display: block; overflow: hidden; padding: 0; place-items: initial; }.protected-file-viewer--pdf-reader .protected-file-viewer__panel { min-height: min(680px, calc(100vh - 32px)); }
.protected-pdf-reader { --pdf-sidebar-size: 190px; display: grid; grid-template-columns: var(--pdf-sidebar-size) 10px minmax(0, 1fr); height: min(720px, calc(100vh - 184px)); min-height: 420px; background: #22282b; color: #f7f7f7; overflow: hidden; }.protected-pdf-reader.is-sidebar-hidden { grid-template-columns: 0 10px minmax(0, 1fr); }.protected-pdf-reader.is-resizing { cursor: col-resize; user-select: none; }.protected-pdf-reader__pages { min-width: 0; overflow: hidden; background: #25292a; }.protected-pdf-reader__pages-heading { align-items: center; border-bottom: 1px solid #3c4245; display: flex; font-size: .75rem; justify-content: space-between; letter-spacing: .04em; padding: .72rem .8rem; text-transform: uppercase; }.protected-pdf-reader__pages-heading span { color: #bfc7cc; font-size: .68rem; letter-spacing: 0; text-transform: none; }.protected-pdf-reader__thumbnails { display: grid; gap: .8rem; height: calc(100% - 44px); justify-items: center; overflow: auto; padding: .9rem .7rem 1.4rem; scrollbar-color: var(--orange) #1a2022; }.protected-pdf-reader__thumbnail { align-items: center; background: transparent; border: 1px solid transparent; color: #dce1e4; cursor: pointer; display: grid; gap: .35rem; justify-items: center; padding: .24rem; width: min(100%, 146px); }.protected-pdf-reader__thumbnail:hover, .protected-pdf-reader__thumbnail.is-current { background: rgba(255,112,23,.12); border-color: var(--orange); }.protected-pdf-reader__thumbnail-canvas { aspect-ratio: 1 / 1.414; background: #f7f7f7; box-shadow: 0 2px 8px rgba(0,0,0,.4); display: block; width: min(126px, 100%); }.protected-pdf-reader__thumbnail canvas { display: block; max-width: 100%; height: auto; }.protected-pdf-reader__thumbnail small { font-size: .72rem; }.protected-pdf-reader__splitter { align-self: stretch; background: #373e40; border: 0; cursor: col-resize; min-width: 10px; padding: 0; position: relative; z-index: 1; }.protected-pdf-reader__splitter::after { background: var(--orange); border-radius: 3px; content: ''; height: 48px; left: 3px; opacity: .55; position: absolute; top: calc(50% - 24px); transition: opacity .15s, transform .15s; width: 4px; }.protected-pdf-reader__splitter:hover::after, .protected-pdf-reader.is-resizing .protected-pdf-reader__splitter::after { opacity: 1; transform: scaleY(1.16); }.protected-pdf-reader__main { display: grid; grid-template-rows: auto minmax(0, 1fr); min-width: 0; }.protected-pdf-reader__toolbar { align-items: center; background: #313739; border-bottom: 1px solid #484f51; display: flex; gap: .4rem; padding: .48rem .7rem; }.protected-pdf-reader__toolbar button { background: transparent; border: 1px solid transparent; border-radius: 4px; color: #fff; cursor: pointer; font: inherit; font-size: 1rem; line-height: 1; min-height: 28px; min-width: 28px; }.protected-pdf-reader__toolbar button:hover { background: #4a5254; border-color: #677173; }.protected-pdf-reader__toolbar span { font-size: .78rem; white-space: nowrap; }.protected-pdf-reader__toolbar-spacer { flex: 1; }.protected-pdf-reader__scroll { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 1.2rem; scrollbar-color: var(--orange) #202627; }.protected-pdf-reader__pages-list { display: grid; gap: 1.2rem; justify-items: center; margin: 0 auto; }.protected-pdf-reader__page { align-items: center; aspect-ratio: 1 / 1.414; background: #fff; box-shadow: 0 3px 14px rgba(0,0,0,.4); display: flex; justify-content: center; max-width: 100%; min-height: 210px; overflow: hidden; }.protected-pdf-reader__page.is-loading::after { color: #556064; content: 'Preparing page…'; font-size: .74rem; }.protected-pdf-reader__page canvas { display: block; max-width: 100%; height: auto; }.protected-pdf-reader__error { color: #fff; margin: 2rem; max-width: 32rem; text-align: center; }
.protected-file-viewer__content:has(.protected-file-viewer__quality-note) { align-content: center; gap: 10px; }.protected-file-viewer__quality-note { color: var(--slate); font-size: .78rem; }
.model-preview-quality { align-items: center; display: flex; flex-wrap: wrap; gap: .4rem; padding: .5rem .7rem; }.model-preview-quality a, .model-preview-quality span { border: 1px solid var(--line); border-radius: .35rem; color: var(--slate); font-size: .75rem; padding: .28rem .48rem; text-decoration: none; }.model-preview-quality .is-active { border-color: var(--orange); color: var(--ink); }.model-preview-quality small { color: var(--slate); font-size: .72rem; }
.admin-model-preview .model-preview-quality { background: #111d3a; border-bottom: 1px solid rgba(255,255,255,.18); }.admin-model-preview .model-preview-quality a, .admin-model-preview .model-preview-quality span { border-color: rgba(255,255,255,.32); color: #dce8ff; }.admin-model-preview .model-preview-quality .is-active { border-color: var(--orange); background: rgba(255,112,23,.14); color: #fff; }.admin-model-preview .model-preview-quality small { color: #b7c8e8; }
.protected-file-viewer__content > video { display: block; width: 100%; max-height: calc(100vh - 184px); background: #10171b; }
.protected-file-viewer__content > strong, .protected-file-viewer__content > p { max-width: 430px; margin: 0; text-align: center; }
.protected-file-viewer__content > p { color: var(--slate); line-height: 1.55; }
.protected-file-viewer__unsupported-icon { display: grid; width: 72px; height: 72px; place-items: center; border: 1px solid var(--orange); border-radius: 14px; background: color-mix(in srgb, var(--orange) 10%, transparent); color: var(--orange-deep); font-weight: 900; }
.buyer-message-inbox__attachment-actions { display: inline-flex; gap: 3px; }.buyer-message-inbox__attachment-actions button, .buyer-message-inbox__attachment-actions a, .conversation-dock__attachment-view, .buyer-account__attachment-view { border: 1px solid var(--line); border-radius: 5px; padding: 3px 6px; background: transparent; color: var(--orange-deep); font: inherit; font-size: .7rem; font-weight: 800; text-decoration: none; cursor: pointer; }.buyer-message-inbox__attachment-actions button:hover, .buyer-message-inbox__attachment-actions a:hover, .conversation-dock__attachment-view:hover, .buyer-account__attachment-view:hover { border-color: var(--orange); background: color-mix(in srgb, var(--orange) 9%, transparent); }

/* Buyer/shop conversation attachments deliberately use the same rendition
   surface as project files. The card owns its actions; the shared renderer
   inserts only the visual first child. */
.buyer-account__attachments .buyer-account__attachment-card.has-file-rendition-thumbnail { grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; --file-rendition-thumbnail-width: 34px; --file-rendition-thumbnail-ratio: 1 / 1; }
.buyer-account__attachment-copy { display: grid; min-width: 0; gap: 1px; }.buyer-account__attachment-copy strong { overflow: hidden; color: var(--teal-deep); font-size: .69rem; font-weight: 780; text-overflow: ellipsis; white-space: nowrap; }.buyer-account__attachment-copy small { overflow: hidden; color: var(--muted); font-size: .58rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }.buyer-account__attachment-actions { display: inline-flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }.buyer-account__attachment-download { padding: 3px 6px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); font-size: .7rem; font-weight: 800; line-height: 1.2; text-decoration: none; }.buyer-account__attachment-download:hover,.buyer-account__attachment-download:focus-visible { border-color: var(--orange); color: var(--orange-deep); outline: 0; }
.conversation-dock__attachment.has-file-rendition-thumbnail { grid-template-columns: 34px minmax(0, 1fr) auto auto; --file-rendition-thumbnail-width: 34px; --file-rendition-thumbnail-ratio: 1 / 1; }.conversation-dock__attachment .conversation-dock__attachment-name { min-width: 0; }.conversation-dock__attachment > .file-rendition-thumbnail__visual { align-self: center; }
.buyer-message-inbox__attachment.has-file-rendition-thumbnail { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; width: min(100%, 20rem); max-width: none; align-items: center; --file-rendition-thumbnail-width: 32px; --file-rendition-thumbnail-ratio: 1 / 1; }.buyer-message-inbox__attachment.has-file-rendition-thumbnail > span:not(.file-rendition-thumbnail__visual):not(.buyer-message-inbox__attachment-actions) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 540px) { .conversation-dock__attachment.has-file-rendition-thumbnail { grid-template-columns: 30px minmax(0, 1fr) auto; --file-rendition-thumbnail-width: 30px; }.conversation-dock__attachment-download { grid-column: 2 / -1; justify-self: start; }.buyer-account__attachments .buyer-account__attachment-card.has-file-rendition-thumbnail { grid-template-columns: 32px minmax(0, 1fr); --file-rendition-thumbnail-width: 32px; }.buyer-account__attachment-actions { grid-column: 2; justify-content: flex-start; } }
.protected-file-viewer { box-sizing: border-box; height: min(760px, calc(100dvh - 32px)); max-height: none; overflow: hidden; }.protected-file-viewer__panel { height: 100%; max-height: none; min-height: 0; }.protected-file-viewer__content > img { max-height: 100%; max-width: 100%; object-fit: contain; }.protected-file-viewer__content > video { max-height: 100%; max-width: 100%; }.protected-file-viewer--pdf-reader .protected-file-viewer__panel { height: 100%; min-height: 0; }.protected-file-viewer--pdf-reader .protected-file-viewer__content { min-height: 0; }
.protected-pdf-reader { height: 100%; min-height: 0; }.protected-pdf-reader__canvas-scroll { min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-color: var(--orange) #202627; }.protected-pdf-reader__page-display { align-items: center; box-sizing: border-box; display: flex; justify-content: center; min-height: 100%; min-width: 100%; padding: .9rem; }.protected-pdf-reader__page-display canvas { box-shadow: 0 3px 14px rgba(0,0,0,.4); display: block; flex: none; }.protected-pdf-reader__loading { color: #dce1e4; font-size: .78rem; }.protected-pdf-reader__thumbnails { align-content: start; }.protected-pdf-reader__thumbnail { grid-template-rows: auto auto; min-height: 0; }.protected-pdf-reader__thumbnail-canvas { align-items: center; display: grid; height: 166px; justify-content: center; overflow: hidden; }.protected-pdf-reader__thumbnail-canvas canvas { height: auto; max-height: 100%; max-width: 100%; width: auto; }.protected-file-viewer__text-reader { background: var(--theme-surface, var(--white)); border: 1px solid var(--line); border-radius: 8px; box-sizing: border-box; display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100%; max-width: min(860px, 100%); overflow: hidden; width: 100%; }.protected-file-viewer__text-reader > p { border-bottom: 1px solid var(--line); color: var(--orange-deep); font-size: .74rem; font-weight: 800; margin: 0; padding: .7rem .85rem; text-align: left; text-transform: uppercase; }.protected-file-viewer__text-content { color: var(--ink); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .88rem; line-height: 1.55; min-height: 0; overflow: auto; padding: 1rem; scrollbar-color: var(--orange) color-mix(in srgb, var(--ink-soft) 72%, transparent); white-space: pre-wrap; word-break: break-word; }.protected-file-viewer__text-content .is-bold { font-weight: 800; }.protected-file-viewer__text-content .is-italic { font-style: italic; }.protected-file-viewer__text-content .is-underline { text-decoration: underline; }.protected-file-viewer__text-content .is-strike { text-decoration: line-through; }
@media (max-width: 760px) { .client-portal__content { width: min(calc(100% - 28px), var(--container)); }.protected-file-viewer { height: calc(100dvh - 18px); max-height: none; width: calc(100vw - 18px); }.protected-file-viewer__panel { height: 100%; max-height: none; min-height: 0; }.protected-file-viewer__content { padding: 10px; }.protected-file-viewer__content > iframe { height: calc(100vh - 158px); }.protected-file-viewer__panel > header, .protected-file-viewer__panel > footer { padding: 11px; }.protected-file-viewer--pdf-reader { width: calc(100vw - 18px); }.protected-file-viewer--pdf-reader .protected-file-viewer__content { padding: 0; }.protected-pdf-reader { --pdf-sidebar-size: 150px; grid-template-columns: var(--pdf-sidebar-size) 9px minmax(0, 1fr); height: 100%; min-height: 0; }.protected-pdf-reader__toolbar { gap: .2rem; padding: .38rem; }.protected-pdf-reader__toolbar span { font-size: .68rem; }.protected-pdf-reader__thumbnail-canvas { width: 102px; }.protected-file-viewer__text-reader { border-radius: 0; }.protected-file-viewer__text-content { padding: .75rem; } }
.protected-file-viewer--model .protected-file-viewer__content { display: block; min-height: 0; overflow: hidden; padding: 0; }.protected-file-viewer--model .protected-file-viewer__content > iframe { display: block; height: 100%; max-height: none; max-width: none; width: 100%; }.admin-model-preview { display: grid; grid-template-rows: minmax(0, 1fr); height: 100dvh; min-height: 0; overflow: hidden; }.admin-model-preview:has(.model-preview-quality) { grid-template-rows: auto minmax(0, 1fr); }.admin-model-preview .stl-viewer { height: 100%; min-height: 0; }.admin-model-preview:has(.model-preview-quality) .stl-viewer { grid-row: 2; }
.protected-file-viewer--image { height: var(--protected-file-image-height, min(760px, calc(100dvh - 32px))); max-height: calc(100dvh - 32px); min-height: 0; width: var(--protected-file-image-width, min(920px, calc(100vw - 32px))); }.protected-file-viewer--image .protected-file-viewer__panel { min-height: 0; }.protected-file-viewer--image .protected-file-viewer__content { overflow: hidden; }.protected-file-viewer--image .protected-file-viewer__content > img { height: auto; max-height: calc(100% - 36px); max-width: calc(100% - 36px); width: auto; }
.protected-file-viewer__content:not(:has(iframe)):not(:has(.protected-pdf-reader)) { --file-preview-padding: 18px; }.protected-file-viewer__content:not(:has(iframe)):not(:has(.protected-pdf-reader)) > img, .protected-file-viewer__content:not(:has(iframe)):not(:has(.protected-pdf-reader)) > video { max-height: calc(100% - (var(--file-preview-padding) * 2)); max-width: 100%; }.protected-file-viewer__content > img { box-sizing: border-box; }
.protected-pdf-reader__thumbnails { align-items: center; display: flex; flex-direction: column; justify-content: flex-start; }.protected-pdf-reader__thumbnail { box-sizing: border-box; flex: 0 0 194px; grid-template-rows: 166px auto; height: 194px; min-height: 194px; }.protected-pdf-reader__thumbnail-canvas { height: 166px; min-height: 166px; }.protected-pdf-reader__page-display { min-width: 0; width: 100%; }.protected-pdf-reader__canvas-scroll { min-width: 0; }
.protected-pdf-reader__main { min-height: 0; overflow: hidden; }.protected-pdf-reader__canvas-scroll { height: 100%; max-height: 100%; min-height: 0; overflow: auto; scrollbar-width: none; }.protected-pdf-reader__canvas-scroll::-webkit-scrollbar, .protected-file-viewer__image-stage::-webkit-scrollbar { display: none; height: 0; width: 0; }
.protected-file-viewer__image-stage { scrollbar-width: none; }
.protected-file-viewer--video-player .protected-file-viewer__content { display: block; min-height: 0; overflow: hidden; padding: 0; }.protected-file-viewer__video-stage { align-items: center; background: #10171b; contain: layout paint; display: grid; height: 100%; justify-items: center; min-height: 0; overflow: hidden; position: relative; width: 100%; }.protected-file-viewer__video-stage > video { height: 100%; max-height: none; max-width: 100%; object-fit: contain; width: 100%; }.protected-file-viewer__video-action { align-items: center; background: color-mix(in srgb, var(--ink-soft) 83%, transparent); border: 2px solid color-mix(in srgb, var(--orange) 68%, var(--line)); border-radius: 999px; box-shadow: 0 0 0 5px color-mix(in srgb, var(--orange) 15%, transparent), 0 10px 22px rgba(0,0,0,.36); color: var(--white); cursor: pointer; display: grid; gap: .18rem; height: 78px; justify-items: center; left: 50%; padding: 0; place-content: center; position: absolute; top: 50%; transform: translate(-50%, -50%); transition: border-color .18s, box-shadow .18s, transform .18s; width: 78px; z-index: 2; }.protected-file-viewer__video-action:hover, .protected-file-viewer__video-action:focus-visible { border-color: var(--orange); box-shadow: 0 0 0 6px color-mix(in srgb, var(--orange) 22%, transparent), 0 12px 28px rgba(0,0,0,.42); outline: none; transform: translate(-50%, -50%) scale(1.05); }.protected-file-viewer__video-action > span { font-size: 1.55rem; line-height: 1; margin-left: .15rem; }.protected-file-viewer__video-action > strong { font-size: .6rem; letter-spacing: .06em; text-transform: uppercase; }.protected-file-viewer__video-action > .protected-file-viewer__video-replay { margin-left: 0; }
.protected-file-viewer__video-controls { align-items: center; background: linear-gradient(0deg, rgba(5,9,12,.84), rgba(5,9,12,.56)); bottom: 0; box-sizing: border-box; display: grid; gap: .5rem; grid-template-columns: 32px auto minmax(72px, 1fr) auto 32px minmax(54px, 92px) 32px; left: 0; padding: .75rem .9rem .7rem; position: absolute; right: 0; z-index: 3; }.protected-file-viewer__video-controls > button { align-items: center; background: transparent; border: 1px solid transparent; border-radius: 5px; color: var(--white); cursor: pointer; display: grid; font: 800 .95rem/1 var(--font-body); height: 30px; padding: 0; place-items: center; width: 32px; }.protected-file-viewer__video-controls > button:hover, .protected-file-viewer__video-controls > button:focus-visible { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.32); outline: none; }.protected-file-viewer__video-controls > span { color: var(--white); font-size: .7rem; font-variant-numeric: tabular-nums; white-space: nowrap; }.protected-file-viewer__video-controls > label { display: flex; min-width: 0; }.protected-file-viewer__video-controls input[type="range"] { accent-color: var(--orange); cursor: pointer; width: 100%; }.protected-file-viewer__video-stage:fullscreen { height: 100%; width: 100%; }.protected-file-viewer__video-stage:fullscreen > video { height: 100%; width: 100%; }@media (max-width: 560px) { .protected-file-viewer__video-controls { gap: .3rem; grid-template-columns: 30px auto minmax(40px, 1fr) auto 30px 30px; padding: .55rem .6rem; }.protected-file-viewer__video-controls > button { width: 30px; }.protected-file-viewer__video-volume { display: none !important; } }
.protected-pdf-reader__canvas-scroll { cursor: default; scrollbar-color: var(--orange) #202627; }.protected-pdf-reader__canvas-scroll.is-pannable { cursor: grab; }.protected-pdf-reader__canvas-scroll.is-panning { cursor: grabbing; user-select: none; }.protected-pdf-reader__canvas-scroll::-webkit-scrollbar { height: 11px; width: 11px; }.protected-pdf-reader__canvas-scroll::-webkit-scrollbar-track { background: #202627; }.protected-pdf-reader__canvas-scroll::-webkit-scrollbar-thumb { border: 2px solid #202627; border-radius: 99px; background: var(--orange); }.protected-pdf-reader__canvas-scroll::-webkit-scrollbar-corner { background: #202627; }.protected-pdf-reader__page-display { height: max-content; min-height: 100%; min-width: 100%; width: max-content; }
.protected-file-viewer--image .protected-file-viewer__content { display: block; overflow: hidden; padding: 0; position: relative; }.protected-file-viewer__image-stage { align-items: center; box-sizing: border-box; display: flex; height: 100%; justify-content: center; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 18px; scrollbar-color: var(--orange) color-mix(in srgb, var(--ink-soft) 72%, transparent); width: 100%; }.protected-file-viewer__image-stage.is-pannable { cursor: grab; }.protected-file-viewer__image-stage.is-panning { cursor: grabbing; user-select: none; }.protected-file-viewer__image-stage > img { display: block; flex: none; max-height: none !important; max-width: none !important; object-fit: contain; }.protected-file-viewer__image-controls { align-items: center; backdrop-filter: blur(8px); background: color-mix(in srgb, var(--ink-soft) 84%, transparent); border: 1px solid color-mix(in srgb, var(--line) 80%, transparent); border-radius: 7px; bottom: 14px; color: var(--white); display: inline-flex; gap: .35rem; padding: .32rem; position: absolute; right: 14px; z-index: 2; }.protected-file-viewer__image-controls button { background: transparent; border: 1px solid transparent; border-radius: 4px; color: inherit; cursor: pointer; font: inherit; font-size: 1rem; line-height: 1; min-height: 27px; min-width: 27px; }.protected-file-viewer__image-controls button:hover, .protected-file-viewer__image-controls button:focus-visible { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.28); outline: none; }.protected-file-viewer__image-controls span { font-size: .72rem; font-variant-numeric: tabular-nums; min-width: 40px; text-align: center; }
.protected-file-viewer__image-stage.is-pannable { align-items: flex-start; justify-content: flex-start; }
.protected-file-viewer__video-action[hidden], .protected-file-viewer__video-action.is-hidden { display: none !important; }
.protected-file-viewer__video-controls > label { position: relative; }.protected-file-viewer__video-scrub-preview { position: absolute; bottom: calc(100% + .55rem); left: 0; z-index: 4; padding: .22rem .36rem; border: 1px solid rgba(255,255,255,.38); border-radius: 4px; background: rgba(7,12,15,.94); box-shadow: 0 4px 12px rgba(0,0,0,.35); color: var(--white); font-size: .65rem; font-variant-numeric: tabular-nums; pointer-events: none; transform: translateX(-50%); white-space: nowrap; }.protected-file-viewer__video-scrub-preview[hidden] { display: none; }

/* Commercial-document tools share one control treatment, whether the user is
   in the register, a supporting configuration page, or a project profile. */
html:has(.commercial-workspace), html:has(.commercial-contacts), html:has(.commercial-document-settings), html:has(.client-project-commercial-profile) { scrollbar-color: var(--orange) color-mix(in srgb, var(--ink-soft) 70%, transparent); scrollbar-width: thin; }
html:has(.commercial-workspace)::-webkit-scrollbar, html:has(.commercial-contacts)::-webkit-scrollbar, html:has(.commercial-document-settings)::-webkit-scrollbar, html:has(.client-project-commercial-profile)::-webkit-scrollbar, .commercial-register__list::-webkit-scrollbar, .commercial-summary__lines::-webkit-scrollbar, .commercial-workspace__delivery-list::-webkit-scrollbar, .commercial-contacts nav::-webkit-scrollbar { width: 11px; height: 11px; }
html:has(.commercial-workspace)::-webkit-scrollbar-track, html:has(.commercial-contacts)::-webkit-scrollbar-track, html:has(.commercial-document-settings)::-webkit-scrollbar-track, html:has(.client-project-commercial-profile)::-webkit-scrollbar-track, .commercial-register__list::-webkit-scrollbar-track, .commercial-summary__lines::-webkit-scrollbar-track, .commercial-workspace__delivery-list::-webkit-scrollbar-track, .commercial-contacts nav::-webkit-scrollbar-track { background: color-mix(in srgb, var(--ink-soft) 70%, transparent); }
html:has(.commercial-workspace)::-webkit-scrollbar-thumb, html:has(.commercial-contacts)::-webkit-scrollbar-thumb, html:has(.commercial-document-settings)::-webkit-scrollbar-thumb, html:has(.client-project-commercial-profile)::-webkit-scrollbar-thumb, .commercial-register__list::-webkit-scrollbar-thumb, .commercial-summary__lines::-webkit-scrollbar-thumb, .commercial-workspace__delivery-list::-webkit-scrollbar-thumb, .commercial-contacts nav::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: var(--orange); background-clip: padding-box; }
html:has(.commercial-workspace)::-webkit-scrollbar-thumb:hover, html:has(.commercial-contacts)::-webkit-scrollbar-thumb:hover, html:has(.commercial-document-settings)::-webkit-scrollbar-thumb:hover, html:has(.client-project-commercial-profile)::-webkit-scrollbar-thumb:hover, .commercial-register__list::-webkit-scrollbar-thumb:hover, .commercial-summary__lines::-webkit-scrollbar-thumb:hover, .commercial-workspace__delivery-list::-webkit-scrollbar-thumb:hover, .commercial-contacts nav::-webkit-scrollbar-thumb:hover { background-color: var(--orange-deep); }
.commercial-register__list, .commercial-summary__lines, .commercial-workspace__delivery-list, .commercial-contacts nav { scrollbar-color: var(--orange) color-mix(in srgb, var(--ink-soft) 70%, transparent); scrollbar-width: thin; }
.commercial-register__search input, .commercial-workspace__editor input, .commercial-workspace__editor select, .commercial-workspace__editor textarea, .commercial-contacts input, .commercial-contacts textarea, .commercial-document-settings input, .commercial-document-settings select, .commercial-document-settings textarea, .client-project-commercial-profile input, .client-project-commercial-profile textarea { color-scheme: light; }
.theme-logo-dark .commercial-register__search input, .theme-logo-dark .commercial-workspace__editor input, .theme-logo-dark .commercial-workspace__editor select, .theme-logo-dark .commercial-workspace__editor textarea, .theme-logo-dark .commercial-contacts input, .theme-logo-dark .commercial-contacts textarea, .theme-logo-dark .commercial-document-settings input, .theme-logo-dark .commercial-document-settings select, .theme-logo-dark .commercial-document-settings textarea, .theme-logo-dark .client-project-commercial-profile input, .theme-logo-dark .client-project-commercial-profile textarea { color-scheme: dark; }
.commercial-register__search input:focus-visible, .commercial-workspace__editor input:focus-visible, .commercial-workspace__editor select:focus-visible, .commercial-workspace__editor textarea:focus-visible, .commercial-contacts input:focus-visible, .commercial-contacts textarea:focus-visible, .commercial-document-settings input:not([type=checkbox]):focus-visible, .commercial-document-settings select:focus-visible, .commercial-document-settings textarea:focus-visible, .client-project-commercial-profile input:focus-visible, .client-project-commercial-profile textarea:focus-visible { border-color: var(--orange); box-shadow: 0 0 0 3px color-mix(in srgb, var(--orange) 18%, transparent); outline: none; }
.commercial-workspace__line button { transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, color .15s ease; }
.commercial-workspace__line button:hover, .commercial-workspace__line button:focus-visible { border-color: var(--orange); background: color-mix(in srgb, var(--orange) 12%, transparent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--orange) 14%, transparent); color: var(--orange-deep); outline: none; }
.commercial-workspace__line input[data-workspace-vat-input]:disabled { border-color: color-mix(in srgb, var(--line) 78%, var(--orange)); background: color-mix(in srgb, var(--paper-deep) 70%, var(--theme-surface-input)); color: var(--ink); font-weight: 750; opacity: 1; }
.commercial-document-settings__toggle input[type=checkbox], .commercial-workspace__delivery-revoke-all input[type=checkbox] { appearance: none; -webkit-appearance: none; display: grid; width: 17px; height: 17px; min-width: 17px; min-height: 17px; margin: 1px 0 0; padding: 0; border: 1px solid var(--line); border-radius: 4px; background: var(--theme-surface-input); color: #172126; cursor: pointer; place-items: center; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.commercial-document-settings__toggle input[type=checkbox]::after, .commercial-workspace__delivery-revoke-all input[type=checkbox]::after { width: 8px; height: 4px; border: solid currentColor; border-width: 0 0 2px 2px; content: ''; opacity: 0; transform: rotate(-45deg) scale(.65); transition: opacity .12s ease, transform .12s ease; }
.commercial-document-settings__toggle input[type=checkbox]:checked, .commercial-workspace__delivery-revoke-all input[type=checkbox]:checked { border-color: var(--orange); background: var(--orange); }
.commercial-document-settings__toggle input[type=checkbox]:checked::after, .commercial-workspace__delivery-revoke-all input[type=checkbox]:checked::after { opacity: 1; transform: rotate(-45deg) scale(1); }
.commercial-document-settings__toggle input[type=checkbox]:hover, .commercial-workspace__delivery-revoke-all input[type=checkbox]:hover { border-color: var(--orange); }
.commercial-document-settings__toggle input[type=checkbox]:focus-visible, .commercial-workspace__delivery-revoke-all input[type=checkbox]:focus-visible { border-color: var(--orange); box-shadow: 0 0 0 3px color-mix(in srgb, var(--orange) 20%, transparent); outline: none; }
.client-project-commercial-profile > header > .button { flex: 0 0 auto; white-space: nowrap; }
.commercial-register__list { align-content: start; grid-auto-rows: 88px; }
.commercial-register__list > a { min-height: 0; grid-template-rows: 14px minmax(0, 1fr) 16px; overflow: hidden; }
.commercial-register__list > a small { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

/* The active site theme is applied to body, whereas the document scrollbar is
   painted by html. Give the commercial workspace one explicit bridge so the
   page scrollbar and every nested workspace scrollbar use the same accent. */
html:has(body.theme-logo):has(.commercial-workspace) { --commercial-scrollbar-thumb: #ff7a1a; --commercial-scrollbar-track: #25282b; }
html:has(body.theme-espresso):has(.commercial-workspace) { --commercial-scrollbar-thumb: #8b6651; --commercial-scrollbar-track: #32251e; }
html:has(body.theme-logo-dark):has(.commercial-workspace) { --commercial-scrollbar-thumb: #ff8b2a; --commercial-scrollbar-track: #111315; }
html:has(.commercial-workspace) { scrollbar-color: var(--commercial-scrollbar-thumb, var(--orange)) var(--commercial-scrollbar-track, color-mix(in srgb, var(--ink-soft) 70%, transparent)); }
html:has(.commercial-workspace)::-webkit-scrollbar-track { background: var(--commercial-scrollbar-track, color-mix(in srgb, var(--ink-soft) 70%, transparent)); }
html:has(.commercial-workspace)::-webkit-scrollbar-thumb { background: var(--commercial-scrollbar-thumb, var(--orange)); }
html:has(.commercial-workspace)::-webkit-scrollbar-thumb:hover { background: var(--commercial-scrollbar-hover, color-mix(in srgb, var(--commercial-scrollbar-thumb, var(--orange)) 82%, #000)); }
.commercial-workspace { --commercial-scrollbar-thumb: var(--orange); --commercial-scrollbar-track: color-mix(in srgb, var(--ink-soft) 70%, transparent); }
.commercial-workspace :is(.commercial-register__list, .commercial-summary__lines, .commercial-workspace__delivery-list, .commercial-workspace__switcher, .commercial-workspace__editor textarea) { scrollbar-color: var(--commercial-scrollbar-thumb) var(--commercial-scrollbar-track); scrollbar-width: thin; }
.commercial-workspace :is(.commercial-register__list, .commercial-summary__lines, .commercial-workspace__delivery-list, .commercial-workspace__switcher, .commercial-workspace__editor textarea)::-webkit-scrollbar { width: 11px; height: 11px; }
.commercial-workspace :is(.commercial-register__list, .commercial-summary__lines, .commercial-workspace__delivery-list, .commercial-workspace__switcher, .commercial-workspace__editor textarea)::-webkit-scrollbar-track { background: var(--commercial-scrollbar-track); }
.commercial-workspace :is(.commercial-register__list, .commercial-summary__lines, .commercial-workspace__delivery-list, .commercial-workspace__switcher, .commercial-workspace__editor textarea)::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: var(--commercial-scrollbar-thumb); background-clip: padding-box; }
.commercial-workspace :is(.commercial-register__list, .commercial-summary__lines, .commercial-workspace__delivery-list, .commercial-workspace__switcher, .commercial-workspace__editor textarea)::-webkit-scrollbar-thumb:hover { background-color: color-mix(in srgb, var(--commercial-scrollbar-thumb) 82%, #000); }

/* Enhanced saved-contact picker. The native select remains in the markup as a
   reliable no-script fallback; enhanced browsers get an in-panel live search. */
.commercial-workspace__saved-contact.is-contact-picker-enhanced > select { display: none; }
.commercial-contact-picker { position: relative; display: grid; gap: 5px; }
.commercial-contact-picker__trigger { display: flex; width: 100%; min-height: 35px; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 34px 7px 8px; overflow: hidden; border: 1px solid var(--line); border-radius: 5px; background: var(--theme-surface-input); color: var(--slate); font: inherit; font-size: .74rem; font-weight: 700; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; position: relative; }
.commercial-contact-picker__trigger::after { position: absolute; right: 10px; color: var(--orange); content: '⌄'; font-size: 1rem; line-height: 1; }.commercial-contact-picker__trigger.has-selection { color: var(--ink); }.commercial-contact-picker__trigger:hover, .commercial-contact-picker__trigger:focus-visible, .commercial-contact-picker__trigger[aria-expanded="true"] { border-color: var(--orange); box-shadow: 0 0 0 3px color-mix(in srgb, var(--orange) 18%, transparent); outline: none; }.commercial-contact-picker__trigger:disabled { cursor: not-allowed; opacity: .66; }
.commercial-contact-picker__panel { position: absolute; z-index: 40; top: calc(100% + 6px); right: 0; left: 0; display: grid; grid-template-rows: auto auto minmax(0, 1fr); gap: 7px; max-height: 292px; padding: 9px; border: 1px solid var(--orange); border-radius: 7px; background: var(--theme-surface, var(--paper)); box-shadow: 0 14px 30px rgba(0,0,0,.32); }.commercial-contact-picker__panel[hidden] { display: none; }
.commercial-contact-picker__search { box-sizing: border-box; width: 100%; min-height: 34px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 5px; background: var(--theme-surface-input); color: var(--ink); font: inherit; font-size: .74rem; }.commercial-contact-picker__search:focus-visible { border-color: var(--orange); box-shadow: 0 0 0 3px color-mix(in srgb, var(--orange) 18%, transparent); outline: none; }.commercial-contact-picker__status { margin: 0; color: var(--slate); font-size: .64rem; font-weight: 760; }
.commercial-contact-picker__results { display: grid; align-content: start; gap: 3px; min-height: 0; overflow: auto; overscroll-behavior: contain; padding-right: 3px; scrollbar-color: var(--commercial-scrollbar-thumb, var(--orange)) var(--commercial-scrollbar-track, color-mix(in srgb, var(--ink-soft) 70%, transparent)); scrollbar-width: thin; }.commercial-contact-picker__results::-webkit-scrollbar { width: 10px; }.commercial-contact-picker__results::-webkit-scrollbar-track { background: var(--commercial-scrollbar-track, color-mix(in srgb, var(--ink-soft) 70%, transparent)); }.commercial-contact-picker__results::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--commercial-scrollbar-thumb, var(--orange)); background-clip: padding-box; }
.commercial-contact-picker__option { display: grid; width: 100%; min-height: 41px; gap: 2px; padding: 7px 8px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }.commercial-contact-picker__option strong { overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }.commercial-contact-picker__option small { overflow: hidden; color: var(--slate); font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }.commercial-contact-picker__option:hover, .commercial-contact-picker__option:focus-visible, .commercial-contact-picker__option.is-active, .commercial-contact-picker__option[aria-selected="true"] { border-color: color-mix(in srgb, var(--orange) 68%, var(--line)); background: color-mix(in srgb, var(--orange) 10%, transparent); outline: none; }.commercial-contact-picker__option[aria-selected="true"] strong { color: var(--orange-deep); }
@media (max-width: 720px) { .commercial-contact-picker__panel { position: static; max-height: 250px; } }

/* Admin uses the shared Client Project workspace shell, but retains a few
   dense controls that only the project team can see. Keep those controls
   responsive so the workspace never recreates the old side-rail overflow. */
.client-project-workspace--admin { width: 100%; max-width: none; box-sizing: border-box; }.client-project-workspace--admin .client-project-workspace__header { min-width: 0; }.client-project-workspace--admin .client-project-workspace__header-actions, .client-project-workspace--admin .client-project-workspace__context-actions { display: flex; min-width: 0; flex-wrap: wrap; gap: 8px; }.client-project-workspace--admin .client-project-workspace__header-actions { justify-content: flex-end; }.client-project-workspace--admin .client-project-workspace__context-actions { padding: 0 0 2px; }.client-project-workspace--admin .client-project-workspace__project-switcher { min-width: 0; padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--surface-muted)); }.client-project-workspace--admin .client-project-workspace__project-switcher > summary { overflow: hidden; color: var(--ink); font-size: .78rem; font-weight: 780; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }.client-project-workspace--admin .client-project-workspace__project-switcher > summary .eyebrow { margin-right: 7px; }.client-project-workspace--admin .client-project-workspace__project-switcher[open] > nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 7px; margin-top: 10px; }.client-project-workspace--admin .client-project-workspace__surface { min-width: 0; }.client-project-workspace--admin .client-project-workspace__form, .client-project-workspace--admin .client-project-workspace__file-card, .client-project-workspace--admin .client-project-workspace__work-card { display: grid; min-width: 0; gap: 10px; }.client-project-workspace--admin .client-project-workspace__form label { display: grid; min-width: 0; gap: 5px; color: var(--ink); font-size: .72rem; font-weight: 780; }.client-project-workspace--admin .client-project-workspace__form :is(input:not([type="checkbox"]), textarea, select) { box-sizing: border-box; width: 100%; min-width: 0; padding: 8px 9px; border: 1px solid var(--line); border-radius: 6px; outline: none; background: var(--theme-surface-input, var(--surface)); color: var(--ink); font: inherit; font-size: .76rem; }.client-project-workspace--admin .client-project-workspace__form textarea { resize: vertical; }.client-project-workspace--admin .client-project-workspace__form :is(input:not([type="checkbox"]), textarea, select):focus-visible { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }.client-project-workspace--admin .client-project-workspace__form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }.client-project-workspace--admin .client-project-workspace__form-actions { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 9px; }.client-project-workspace--admin .client-project-workspace__form-status { margin: 0; color: var(--accent); font-size: .72rem; font-weight: 780; }.client-project-workspace--admin .client-project-workspace__form-status.is-error { color: var(--theme-danger, var(--danger)); }.client-project-workspace--admin .client-project-workspace__file-list, .client-project-workspace--admin .client-project-workspace__work-list, .client-project-workspace--admin .client-project-workspace__document-list { display: grid; min-width: 0; gap: 10px; }.client-project-workspace--admin .client-project-workspace__file-card, .client-project-workspace--admin .client-project-workspace__work-card, .client-project-workspace--admin .client-project-workspace__document-list > article { padding: 13px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--surface-muted)); }.client-project-workspace--admin .client-project-workspace__file-card.is-archived { opacity: .66; }.client-project-workspace--admin .client-project-workspace__file-card > header, .client-project-workspace--admin .client-project-workspace__document-list > article { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 10px; }.client-project-workspace--admin .client-project-workspace__file-card > header > div:first-child, .client-project-workspace--admin .client-project-workspace__document-list > article > div:first-child { min-width: 0; }.client-project-workspace--admin .client-project-workspace__file-card :is(h4, p), .client-project-workspace--admin .client-project-workspace__document-list :is(h4, p) { margin: 0; }.client-project-workspace--admin .client-project-workspace__file-card h4, .client-project-workspace--admin .client-project-workspace__document-list h4 { overflow: hidden; color: var(--ink); font-size: .87rem; text-overflow: ellipsis; white-space: nowrap; }.client-project-workspace--admin .client-project-workspace__file-card p:not(.eyebrow), .client-project-workspace--admin .client-project-workspace__document-list p:not(.eyebrow) { margin-top: 4px; color: var(--slate); font-size: .68rem; line-height: 1.4; }.client-project-workspace--admin .client-project-workspace__work-create { padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--surface-muted)); }.client-project-workspace--admin .client-project-workspace__work-create > summary, .client-project-workspace--admin .client-project-workspace__work-card > summary { color: var(--ink); font-size: .8rem; font-weight: 850; cursor: pointer; }.client-project-workspace--admin .client-project-workspace__work-create > form { margin-top: 12px; }.client-project-workspace--admin .client-project-workspace__work-card > summary { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 9px; }.client-project-workspace--admin .client-project-workspace__work-card > summary > span { display: grid; min-width: 0; gap: 3px; }.client-project-workspace--admin .client-project-workspace__work-card > summary strong, .client-project-workspace--admin .client-project-workspace__work-card > summary small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.client-project-workspace--admin .client-project-workspace__work-card > summary small { color: var(--slate); font-size: .66rem; }.client-project-workspace--admin .client-project-workspace__work-card > form { margin-top: 12px; }.client-project-workspace--admin .client-project-workspace__member-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }.client-project-workspace--admin .client-project-workspace__member-list li { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; }.client-project-workspace--admin .client-project-workspace__member-list li > span { min-width: 0; }.client-project-workspace--admin .client-project-workspace__member-list strong, .client-project-workspace--admin .client-project-workspace__member-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.client-project-workspace--admin .client-project-workspace__member-list small { margin-top: 2px; color: var(--slate); font-size: .64rem; }.client-project-workspace--admin .client-project-workspace__member-add { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }.client-project-workspace--admin .client-project-workspace__member-add > summary { color: var(--accent); font-size: .72rem; font-weight: 800; cursor: pointer; }.client-project-workspace--admin .client-project-workspace__member-add form { margin-top: 10px; }.client-project-workspace--admin .client-project-workspace__activity-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }.client-project-workspace--admin .client-project-workspace__activity-list > li { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--surface-muted)); }.client-project-workspace--admin .client-project-workspace__activity-list > li.is-internal { border-left: 3px solid var(--accent); }.client-project-workspace--admin .client-project-workspace__activity-list time { color: var(--slate); font-size: .67rem; }.client-project-workspace--admin .client-project-workspace__activity-list p { margin: 3px 0 0; color: var(--slate); font-size: .74rem; line-height: 1.45; }.theme-logo-dark .client-project-workspace--admin .client-project-workspace__project-switcher, .theme-logo-dark .client-project-workspace--admin .client-project-workspace__file-card, .theme-logo-dark .client-project-workspace--admin .client-project-workspace__work-card, .theme-logo-dark .client-project-workspace--admin .client-project-workspace__work-create, .theme-logo-dark .client-project-workspace--admin .client-project-workspace__document-list > article, .theme-logo-dark .client-project-workspace--admin .client-project-workspace__activity-list > li { border-color: #454d52; background: #202529; }.theme-logo-dark .client-project-workspace--admin .client-project-workspace__form :is(input:not([type="checkbox"]), textarea, select) { border-color: #454d52; background: #171a1c; color: #f1f3f4; }.theme-logo-dark .client-project-workspace--admin .client-project-workspace__file-card h4, .theme-logo-dark .client-project-workspace--admin .client-project-workspace__document-list h4, .theme-logo-dark .client-project-workspace--admin .client-project-workspace__work-card > summary, .theme-logo-dark .client-project-workspace--admin .client-project-workspace__member-list strong { color: #f1f3f4; }
@media (max-width: 760px) { .client-project-workspace--admin { padding: 15px; }.client-project-workspace--admin .client-project-workspace__header { display: grid; }.client-project-workspace--admin .client-project-workspace__header-actions { justify-content: flex-start; }.client-project-workspace--admin .client-project-workspace__header-actions .button, .client-project-workspace--admin .client-project-workspace__context-actions .button { flex: 1 1 auto; }.client-project-workspace--admin .client-project-workspace__project-switcher[open] > nav { grid-template-columns: 1fr; }.client-project-workspace--admin .client-project-workspace__form-grid { grid-template-columns: 1fr; }.client-project-workspace--admin .client-project-workspace__file-card > header, .client-project-workspace--admin .client-project-workspace__document-list > article { align-items: stretch; flex-direction: column; }.client-project-workspace--admin .client-project-workspace__activity-list > li { grid-template-columns: 1fr; }.client-project-workspace--admin .client-project-workspace__activity-list time { order: 2; } }

/* Client Project Workspace — one role-aware shell for project updates, files,
   tasks and commercial documents. It deliberately uses the site theme tokens
   instead of a standalone portal palette. */
.client-project-workspace {
    display: grid;
    min-width: 0;
    gap: var(--ui-space-standard);
    padding: clamp(17px, 2.4vw, 28px);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--theme-surface, var(--surface));
    box-shadow: var(--shadow);
    color: var(--ink);
}
.client-project-workspace__header,
.client-project-files > header,
.client-project-work > header,
.client-project-documents > header,
.client-project-activity > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--ui-space-standard);
}
.client-project-workspace__header > div:first-child,
.client-project-files > header > div,
.client-project-work > header > div,
.client-project-documents > header > div,
.client-project-activity > header > div { min-width: 0; }
.client-project-workspace__header :is(.eyebrow, h2, p),
.client-project-files > header :is(.eyebrow, h3, p),
.client-project-work > header :is(.eyebrow, h3, p),
.client-project-documents > header :is(.eyebrow, h3, p),
.client-project-activity > header :is(.eyebrow, h3, p) { margin: 0; }
.client-project-workspace__header h2 {
    margin-top: var(--ui-space-micro);
    color: var(--ink);
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    line-height: 1.03;
}
.client-project-workspace__header p:not(.eyebrow),
.client-project-files > header p:not(.eyebrow),
.client-project-work > header p:not(.eyebrow),
.client-project-documents > header p:not(.eyebrow) {
    max-width: 720px;
    margin-top: var(--ui-space-tight);
    color: var(--slate);
    font-size: .82rem;
    line-height: 1.5;
}
.client-project-workspace__header-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--ui-space-tight);
}
.client-project-workspace__header-actions .button { white-space: nowrap; }
.client-project-workspace--admin .client-project-workspace__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
}
.client-project-workspace--admin .client-project-workspace__header-actions {
    min-width: 0;
    justify-content: flex-start;
}
.client-project-workspace__read-only {
    margin: 0;
    padding: 11px 13px;
    border: 1px solid color-mix(in srgb, var(--theme-warning, var(--warning)) 52%, var(--line));
    border-radius: 8px;
    background: color-mix(in srgb, var(--theme-warning, var(--warning)) 9%, var(--theme-surface-muted, var(--surface-muted)));
    color: var(--ink);
    font-size: .78rem;
    line-height: 1.45;
}
.client-project-workspace__mention-alert {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 58%, var(--line));
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent) 8%, var(--theme-surface-muted, var(--surface-muted)));
    color: var(--ink);
    text-decoration: none;
}
.client-project-workspace__mention-alert > span {
    display: grid;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--accent);
    color: var(--theme-button-text, var(--white));
    font-size: .81rem;
    font-weight: 900;
    place-items: center;
}
.client-project-workspace__mention-alert > strong {
    overflow: hidden;
    font-size: .76rem;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-project-workspace__mention-alert > small {
    color: var(--accent);
    font-size: .68rem;
    font-weight: 820;
    white-space: nowrap;
}
.client-project-workspace__mention-alert:hover,
.client-project-workspace__mention-alert:focus-visible {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 14%, var(--theme-surface-muted, var(--surface-muted)));
    outline: none;
}
.client-project-workspace__mention-alert:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent); }
.client-project-workspace__summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--theme-surface-muted, var(--surface-muted));
}
.client-project-workspace__summary > span {
    display: grid;
    min-width: 0;
    gap: 3px;
    padding: 11px 13px;
    border-right: 1px solid var(--line);
    color: var(--slate);
    font-size: .68rem;
    font-weight: 760;
    line-height: 1.25;
}
.client-project-workspace__summary > span:last-child { border-right: 0; }
.client-project-workspace__summary b {
    overflow: hidden;
    color: var(--ink);
    font-size: 1rem;
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-project-workspace__tabs {
    display: flex;
    gap: 4px;
    min-width: 0;
    overflow-x: auto;
    padding: 4px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--theme-surface-muted, var(--surface-muted));
    scrollbar-color: var(--accent) transparent;
    scrollbar-width: thin;
}
.client-project-workspace__tabs::-webkit-scrollbar { height: 8px; }
.client-project-workspace__tabs::-webkit-scrollbar-thumb { border-radius: 99px; background: var(--accent); }
.client-project-workspace__tabs > a {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 7px 11px;
    border: 1px solid transparent;
    border-radius: 6px;
    color: var(--slate);
    font-size: .74rem;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.client-project-workspace__tabs > a > b {
    display: grid;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 99px;
    background: color-mix(in srgb, var(--accent) 16%, var(--theme-surface, var(--surface)));
    color: var(--ink);
    font-size: .61rem;
    place-items: center;
}
.client-project-workspace__tabs > a:hover,
.client-project-workspace__tabs > a:focus-visible,
.client-project-workspace__tabs > a.is-active {
    border-color: color-mix(in srgb, var(--accent) 56%, var(--line));
    background: var(--theme-surface, var(--surface));
    color: var(--ink);
    outline: none;
}
.client-project-workspace__tabs > a:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
.client-project-workspace__tabs > a.is-active > b { background: var(--accent); color: var(--theme-button-text, var(--white)); }
.client-project-workspace__panel { min-width: 0; }
.client-project-workspace__panel[hidden] { display: none !important; }
.client-project-workspace__overview {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--ui-space-standard);
}
.client-project-card {
    display: grid;
    grid-column: span 6;
    min-width: 0;
    align-content: start;
    gap: var(--ui-space-tight);
    padding: clamp(15px, 2vw, 21px);
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--theme-surface, var(--surface));
}
.client-project-card--next { grid-column: span 7; }
.client-project-card--milestones { grid-column: span 5; }
.client-project-card :is(.eyebrow, h3, p) { margin: 0; }
.client-project-card h3 { color: var(--ink); font-size: 1.03rem; line-height: 1.25; }
.client-project-card > p:not(.eyebrow) { color: var(--slate); font-size: .78rem; line-height: 1.5; }
.client-project-card--next > div:last-child { display: flex; flex-wrap: wrap; gap: var(--ui-space-tight); margin-top: var(--ui-space-tight); }
.client-project-file-teaser {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 9px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--theme-surface-muted, var(--surface-muted));
}
.client-project-file-teaser > span,
.client-project-file-row__icon {
    display: grid;
    width: 42px;
    height: 42px;
    align-items: center;
    border: 1px solid color-mix(in srgb, var(--accent) 48%, var(--line));
    border-radius: 6px;
    background: color-mix(in srgb, var(--accent) 10%, var(--theme-surface-muted, var(--surface-muted)));
    color: var(--accent);
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
    word-break: break-word;
    place-content: center;
}
.client-project-file-teaser > div { display: grid; min-width: 0; gap: 3px; }
.client-project-file-teaser strong,
.client-project-file-row strong,
.client-project-documents__list strong { overflow: hidden; color: var(--ink); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.client-project-file-teaser small,
.client-project-file-row small,
.client-project-documents__list small { overflow: hidden; color: var(--slate); font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.client-project-file-teaser button,
.client-project-file-row__actions > button,
.client-project-file-row__actions > a,
.client-project-documents__list a {
    min-height: 31px;
    padding: 5px 8px;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: var(--theme-surface, var(--surface));
    color: var(--accent);
    font: inherit;
    font-size: .68rem;
    font-weight: 850;
    text-decoration: none;
    cursor: pointer;
}
.client-project-file-teaser button:hover,
.client-project-file-teaser button:focus-visible,
.client-project-file-row__actions > button:hover,
.client-project-file-row__actions > button:focus-visible,
.client-project-file-row__actions > a:hover,
.client-project-file-row__actions > a:focus-visible,
.client-project-documents__list a:hover,
.client-project-documents__list a:focus-visible {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 9%, var(--theme-surface, var(--surface)));
    outline: none;
}
.client-project-pulse,
.client-project-milestones,
.client-project-activity > ol {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.client-project-pulse > li,
.client-project-milestones > li,
.client-project-activity > ol > li {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr);
    gap: 9px;
    min-width: 0;
}
.client-project-pulse > li > span,
.client-project-milestones > li > span,
.client-project-activity > ol > li > span {
    width: 9px;
    height: 9px;
    margin-top: 5px;
    border: 2px solid var(--accent);
    border-radius: 99px;
    background: var(--theme-surface, var(--surface));
}
.client-project-milestones > li.is-current > span,
.client-project-activity > ol > li > span { background: var(--accent); }
.client-project-milestones > li.is-complete > span { border-color: var(--accent); background: var(--accent); }
.client-project-pulse strong,
.client-project-milestones strong,
.client-project-activity strong { color: var(--ink); font-size: .73rem; line-height: 1.35; }
.client-project-pulse small,
.client-project-milestones small,
.client-project-activity small { display: block; margin-top: 3px; color: var(--slate); font-size: .66rem; line-height: 1.35; }
.client-project-text-action {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    margin-top: auto;
    color: var(--accent);
    font-size: .72rem;
    font-weight: 850;
    text-decoration: none;
}
.client-project-text-action:hover,
.client-project-text-action:focus-visible { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; outline: none; }
.client-project-workspace .client-portal__workspace-grid { margin-top: 0; }
.client-project-directory {
    display: grid;
    min-width: 0;
    gap: var(--ui-space-standard);
    padding: clamp(15px, 2vw, 22px);
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--theme-surface, var(--surface));
}
.client-project-directory > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--ui-space-standard);
}
.client-project-directory > header :is(.eyebrow, h3, p) { margin: 0; }
.client-project-directory > header h3 { margin-top: var(--ui-space-micro); color: var(--ink); font-size: 1.08rem; }
.client-project-directory > header p:not(.eyebrow) { max-width: 680px; margin-top: var(--ui-space-tight); color: var(--slate); font-size: .78rem; line-height: 1.5; }
.client-project-directory > header > span { flex: 0 0 auto; padding: 5px 8px; border: 1px solid var(--line); border-radius: 99px; color: var(--slate); font-size: .67rem; font-weight: 850; white-space: nowrap; }
.client-project-directory__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ui-space-standard); }
.client-project-directory__card {
    display: grid;
    min-width: 0;
    min-height: 176px;
    align-content: start;
    gap: 9px;
    padding: 15px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--theme-surface-muted, var(--surface-muted));
    color: var(--ink);
    text-decoration: none;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.client-project-directory__card:hover,
.client-project-directory__card:focus-visible,
.client-project-directory__card.is-current { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, var(--theme-surface-muted, var(--surface-muted))); outline: none; }
.client-project-directory__card:hover { transform: translateY(-1px); }
.client-project-directory__status { width: max-content; max-width: 100%; overflow: hidden; padding: 4px 7px; border: 1px solid var(--line); border-radius: 99px; color: var(--accent); font-size: .62rem; font-weight: 850; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.client-project-directory__card > strong { overflow: hidden; color: var(--ink); font-size: .89rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.client-project-directory__card > small { display: -webkit-box; overflow: hidden; min-height: 38px; color: var(--slate); font-size: .7rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.client-project-directory__card > footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 10px; border-top: 1px solid var(--line); color: var(--slate); font-size: .65rem; font-weight: 760; }
.client-project-directory__card > footer > b { color: var(--accent); }
.client-project-directory__card > footer > em { color: var(--accent); font-style: normal; }
.client-project-directory__notifications { display: inline-flex; min-width: 0; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.client-project-directory__mentions { padding: 3px 5px; border: 1px solid color-mix(in srgb, var(--accent) 55%, var(--line)); border-radius: 99px; background: color-mix(in srgb, var(--accent) 9%, var(--theme-surface-muted, var(--surface-muted))); color: var(--accent); font-size: .59rem; white-space: nowrap; }
.client-project-files,
.client-project-work,
.client-project-documents,
.client-project-activity {
    display: grid;
    min-width: 0;
    gap: var(--ui-space-standard);
    padding: clamp(15px, 2vw, 22px);
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--theme-surface, var(--surface));
}
.client-project-files > header > span,
.client-project-work > header > span,
.client-project-activity > header > span {
    flex: 0 0 auto;
    padding: 5px 8px;
    border: 1px solid var(--line);
    border-radius: 99px;
    color: var(--slate);
    font-size: .67rem;
    font-weight: 850;
    white-space: nowrap;
}
.client-project-files__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ui-space-tight);
    padding: 9px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--theme-surface-muted, var(--surface-muted));
}
.client-project-files__toolbar input {
    box-sizing: border-box;
    width: min(100%, 390px);
    min-height: 36px;
    padding: 7px 10px;
    border: 1px solid var(--line);
    border-radius: 5px;
    outline: none;
    background: var(--theme-surface-input, var(--theme-surface, var(--surface)));
    color: var(--ink);
    font: inherit;
    font-size: .76rem;
}
.client-project-files__toolbar input:focus-visible { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }
.client-project-files__toolbar > span { color: var(--slate); font-size: .68rem; font-weight: 800; white-space: nowrap; }
.client-project-files__list {
    display: grid;
    align-content: start;
    max-height: min(64vh, 650px);
    gap: 7px;
    overflow: auto;
    padding-right: 4px;
    scrollbar-color: var(--accent) transparent;
    scrollbar-width: thin;
}
.client-project-files__list::-webkit-scrollbar { width: 10px; }
.client-project-files__list::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--accent); background-clip: padding-box; }
.client-project-files__search-status { margin: 8px 0; color: var(--slate); font-size: .76rem; }
.client-project-files__list > [data-workspace-file-row][hidden] { display: none !important; }
.client-project-file-row {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 11px;
    min-width: 0;
    padding: 9px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--theme-surface-muted, var(--surface-muted));
}
.client-project-file-row[hidden] { display: none !important; }
.client-project-file-row:hover { border-color: color-mix(in srgb, var(--accent) 48%, var(--line)); }
.client-project-file-row > div { display: grid; min-width: 0; gap: 3px; }
.client-project-file-row__state {
    max-width: 120px;
    overflow: hidden;
    padding: 4px 7px;
    border: 1px solid var(--line);
    border-radius: 99px;
    color: var(--slate);
    font-size: .62rem;
    font-style: normal;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-project-file-row__state--approved { border-color: color-mix(in srgb, var(--accent) 58%, var(--line)); color: var(--accent); }
.client-project-file-row__state--changes_requested { border-color: color-mix(in srgb, var(--theme-warning, var(--warning)) 58%, var(--line)); color: var(--theme-warning, var(--warning)); }
.client-project-file-row__state--internal { border-color: color-mix(in srgb, var(--accent) 48%, var(--line)); color: var(--accent); }
.client-project-file-row__actions { display: inline-flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.client-project-work__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ui-space-standard);
}
.client-project-work__grid > .client-portal__empty-message { grid-column: 1 / -1; }
.client-project-work-card {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 10px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--theme-surface-muted, var(--surface-muted));
}
.client-project-work-card.is-awaiting { border-color: color-mix(in srgb, var(--accent) 62%, var(--line)); box-shadow: inset 3px 0 0 var(--accent); }
.client-project-work-card > header { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.client-project-work-card > header > span,
.client-project-work-card > header > em {
    max-width: 52%;
    overflow: hidden;
    padding: 4px 7px;
    border: 1px solid var(--line);
    border-radius: 99px;
    color: var(--slate);
    font-size: .62rem;
    font-style: normal;
    font-weight: 850;
    letter-spacing: .025em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}
.client-project-work-card > header > em { border-color: color-mix(in srgb, var(--accent) 48%, var(--line)); color: var(--accent); }
.client-project-work-card h4,
.client-project-work-card > p { margin: 0; }
.client-project-work-card h4 { color: var(--ink); font-size: .96rem; line-height: 1.3; }
.client-project-work-card > p { color: var(--slate); font-size: .76rem; line-height: 1.5; }
.client-project-work-card__file {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    align-items: center;
    gap: 6px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--accent);
    font: inherit;
    font-size: .72rem;
    font-weight: 850;
    text-align: left;
    cursor: pointer;
}
.client-project-work-card__file:hover,
.client-project-work-card__file:focus-visible { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; outline: none; }
.client-project-work-card > footer { display: grid; gap: 9px; margin-top: auto; padding-top: 10px; border-top: 1px solid var(--line); }
.client-project-work-card > footer > small { color: var(--slate); font-size: .66rem; font-weight: 760; }
.client-project-work-card form { display: grid; gap: 8px; }
.client-project-work-card textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 54px;
    padding: 8px 9px;
    border: 1px solid var(--line);
    border-radius: 6px;
    outline: none;
    background: var(--theme-surface-input, var(--theme-surface, var(--surface)));
    color: var(--ink);
    font: inherit;
    font-size: .74rem;
    line-height: 1.4;
    resize: vertical;
}
.client-project-work-card textarea:focus-visible { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }
.client-project-work-card form > div { display: flex; flex-wrap: wrap; gap: 7px; }
.client-project-work-card form .button { min-height: 34px; padding: 6px 10px; font-size: .71rem; }
.client-project-work-card__response,
.client-project-work-card__status { margin: 0; color: var(--slate); font-size: .72rem; line-height: 1.45; }
.client-project-work-card__response strong,
.client-project-work-card__status { color: var(--ink); }
.client-project-work-card__status.is-error { color: var(--theme-danger, var(--danger)); }
.client-project-documents__list { display: grid; gap: 7px; }
.client-project-documents__list > article {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 11px;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--theme-surface-muted, var(--surface-muted));
}
.client-project-documents__list > article > span {
    display: grid;
    width: 42px;
    height: 32px;
    border: 1px solid color-mix(in srgb, var(--accent) 52%, var(--line));
    border-radius: 5px;
    color: var(--accent);
    font-size: .63rem;
    font-weight: 900;
    place-items: center;
}
.client-project-documents__list > article > div { display: grid; min-width: 0; gap: 3px; }
.client-project-documents__list > article > b { color: var(--ink); font-size: .76rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.client-project-activity > ol { max-height: min(66vh, 710px); overflow: auto; padding-right: 4px; scrollbar-color: var(--accent) transparent; scrollbar-width: thin; }
.client-project-activity > ol::-webkit-scrollbar { width: 10px; }
.client-project-activity > ol::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--accent); background-clip: padding-box; }
.client-project-activity > ol > li { padding: 0 0 12px; border-bottom: 1px solid var(--line); }
.client-project-activity > ol > li:last-child { padding-bottom: 0; border-bottom: 0; }
.client-project-activity p { margin: 0; }

/* Admin-only project controls intentionally live after the shared workspace
   rules. This keeps the compact management UI legible in every active theme
   and prevents the public portal's lighter controls leaking into admin forms. */
.client-project-workspace--admin .client-project-workspace__action-rail {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: color-mix(in srgb, var(--theme-surface-muted, var(--surface-muted)) 92%, transparent);
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--white) 10%, transparent);
}
.client-project-workspace--admin .client-project-workspace__action-group {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}
.client-project-workspace--admin .client-project-workspace__action-group--project-tools {
    padding-left: 8px;
    border-left: 1px solid var(--line);
}
.client-project-workspace--admin .client-project-workspace__action-group--create {
    margin-left: auto;
    padding-left: 8px;
    border-left: 1px solid var(--line);
}
.client-project-workspace--admin .client-project-workspace__action-rail .button {
    min-height: 38px;
    height: 38px;
    padding: 7px 12px;
    font-size: .76rem;
    white-space: nowrap;
}
/* The action rail is deliberately one scan-friendly row on normal desktop
   project workspaces.  A compact control rhythm leaves room for the injected
   Client View action as well as the creation action; narrow screens retain
   the existing stacked treatment below. */
@media (min-width: 1080px) {
    .client-project-workspace--admin .client-project-workspace__action-rail {
        flex-wrap: nowrap;
        gap: 5px;
    }
    .client-project-workspace--admin .client-project-workspace__action-group {
        flex-wrap: nowrap;
        gap: 5px;
    }
    .client-project-workspace--admin .client-project-workspace__action-group--project-tools,
    .client-project-workspace--admin .client-project-workspace__action-group--create {
        padding-left: 6px;
    }
    .client-project-workspace--admin .client-project-workspace__action-rail .button {
        padding-right: 8px;
        padding-left: 8px;
        font-size: .72rem;
    }
}
.client-project-workspace--admin .client-project-workspace__context-actions,
.client-project-workspace--admin .client-project-workspace__header-actions {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 8px;
}
.client-project-workspace--admin .client-project-workspace__header-actions { justify-content: flex-start; }
.client-project-workspace--admin .client-project-workspace__context-actions { padding-bottom: 2px; }
.client-project-workspace--admin .client-project-workspace__project-switcher {
    min-width: 0;
    padding: 9px 11px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--theme-surface-muted, var(--surface-muted));
}
.client-project-workspace--admin .client-project-workspace__project-switcher > summary {
    overflow: hidden;
    color: var(--ink);
    font-size: .78rem;
    font-weight: 780;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}
.client-project-workspace--admin .client-project-workspace__project-switcher > summary .eyebrow { margin-right: 7px; }
.client-project-workspace--admin .client-project-workspace__project-switcher[open] > nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 7px;
    margin-top: 10px;
}
.client-project-workspace--admin .client-project-workspace__form,
.client-project-workspace--admin .client-project-workspace__file-card,
.client-project-workspace--admin .client-project-workspace__work-card {
    display: grid;
    min-width: 0;
    gap: 10px;
}
.client-project-workspace--admin .client-project-workspace__form label {
    display: grid;
    min-width: 0;
    gap: 5px;
    color: var(--ink);
    font-size: .72rem;
    font-weight: 780;
}
.client-project-workspace--admin .client-project-workspace__form :is(input:not([type="checkbox"]), textarea, select) {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid var(--line);
    border-radius: 6px;
    outline: none;
    background: var(--theme-surface-input, var(--surface));
    color: var(--ink);
    font: inherit;
    font-size: .76rem;
}
.client-project-workspace--admin .client-project-workspace__form textarea { resize: vertical; }
.client-project-workspace--admin .client-project-workspace__form :is(input:not([type="checkbox"]), textarea, select):focus-visible {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
}
.client-project-workspace--admin .client-project-workspace__form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.client-project-workspace--admin .client-project-workspace__form-actions {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
}
.client-project-workspace--admin .client-project-workspace__form-status {
    margin: 0;
    color: var(--accent);
    font-size: .72rem;
    font-weight: 780;
}
.client-project-workspace--admin .client-project-workspace__form-status.is-error { color: var(--theme-danger, var(--danger)); }
.client-project-workspace--admin .client-project-workspace__file-list,
.client-project-workspace--admin .client-project-workspace__work-list,
.client-project-workspace--admin .client-project-workspace__document-list {
    display: grid;
    min-width: 0;
    gap: 10px;
}
.client-project-workspace--admin .client-project-workspace__file-card,
.client-project-workspace--admin .client-project-workspace__work-card,
.client-project-workspace--admin .client-project-workspace__document-list > article,
.client-project-workspace--admin .client-project-workspace__work-create {
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--theme-surface-muted, var(--surface-muted));
}
.client-project-workspace--admin .client-project-workspace__file-card.is-archived { opacity: .66; }
.client-project-workspace--admin .client-project-workspace__file-card > header,
.client-project-workspace--admin .client-project-workspace__document-list > article {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.client-project-workspace--admin .client-project-workspace__file-card > header > div:first-child,
.client-project-workspace--admin .client-project-workspace__document-list > article > div:first-child { min-width: 0; }
.client-project-workspace--admin .client-project-workspace__file-card :is(h4, p),
.client-project-workspace--admin .client-project-workspace__document-list :is(h4, p) { margin: 0; }
.client-project-workspace--admin .client-project-workspace__file-card h4,
.client-project-workspace--admin .client-project-workspace__document-list h4 {
    overflow: hidden;
    color: var(--ink);
    font-size: .87rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-project-workspace--admin .client-project-workspace__file-card p:not(.eyebrow),
.client-project-workspace--admin .client-project-workspace__document-list p:not(.eyebrow) {
    margin-top: 4px;
    color: var(--slate);
    font-size: .68rem;
    line-height: 1.4;
}
.client-project-workspace--admin .client-project-workspace__work-create > summary,
.client-project-workspace--admin .client-project-workspace__work-card > summary {
    color: var(--ink);
    font-size: .8rem;
    font-weight: 850;
    cursor: pointer;
}
.client-project-workspace--admin .client-project-workspace__work-create > form,
.client-project-workspace--admin .client-project-workspace__work-card > form { margin-top: 12px; }
.client-project-workspace--admin .client-project-workspace__work-card > summary {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
}
.client-project-workspace--admin .client-project-workspace__work-card > summary > span {
    display: grid;
    min-width: 0;
    gap: 3px;
}
.client-project-workspace--admin .client-project-workspace__work-card > summary strong,
.client-project-workspace--admin .client-project-workspace__work-card > summary small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-project-workspace--admin .client-project-workspace__work-card > summary small,
.client-project-workspace--admin .client-project-workspace__member-list small { color: var(--slate); font-size: .66rem; }
.client-project-workspace--admin .client-project-workspace__member-list {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.client-project-workspace--admin .client-project-workspace__member-list li {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.client-project-workspace--admin .client-project-workspace__member-list li > span { min-width: 0; }
.client-project-workspace--admin .client-project-workspace__member-list strong,
.client-project-workspace--admin .client-project-workspace__member-list small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-project-workspace--admin .client-project-workspace__member-add {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--line);
}
.client-project-workspace--admin .client-project-workspace__member-add > summary {
    color: var(--accent);
    font-size: .72rem;
    font-weight: 800;
    cursor: pointer;
}
.client-project-workspace--admin .client-project-workspace__member-add form { margin-top: 10px; }
.client-project-workspace--admin .client-project-workspace__activity-list {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.client-project-workspace--admin .client-project-workspace__activity-list > li {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 10px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--theme-surface-muted, var(--surface-muted));
}
.client-project-workspace--admin .client-project-workspace__activity-list > li.is-internal { border-left: 3px solid var(--accent); }
.client-project-workspace--admin .client-project-workspace__activity-list time { color: var(--slate); font-size: .67rem; }
.client-project-workspace--admin .client-project-workspace__activity-list p { margin: 3px 0 0; color: var(--slate); font-size: .74rem; line-height: 1.45; }
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__project-switcher,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__file-card,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__work-card,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__work-create,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__document-list > article,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__activity-list > li {
    border-color: #454d52;
    background: #202529;
}
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__form :is(input:not([type="checkbox"]), textarea, select) {
    border-color: #454d52;
    background: #171a1c;
    color: #f1f3f4;
}
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__file-card h4,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__document-list h4,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__work-card > summary,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__member-list strong { color: #f1f3f4; }
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__action-rail { border-color: #454d52; background: color-mix(in srgb, #202529 92%, transparent); }

@media (max-width: 1080px) {
    .client-project-card,
    .client-project-card--next,
    .client-project-card--milestones { grid-column: span 6; }
    .client-project-work__grid { grid-template-columns: 1fr; }
    .client-project-directory__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .client-project-workspace { gap: var(--ui-space-compact); padding: 15px; }
    .client-project-workspace__header,
    .client-project-files > header,
    .client-project-work > header,
    .client-project-documents > header,
    .client-project-activity > header { align-items: stretch; flex-direction: column; }
    .client-project-workspace__header-actions { justify-content: flex-start; }
    .client-project-workspace__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .client-project-workspace__summary > span:nth-child(2) { border-right: 0; }
    .client-project-workspace__summary > span:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
    .client-project-card,
    .client-project-card--next,
    .client-project-card--milestones { grid-column: 1 / -1; }
    .client-project-files,
    .client-project-work,
    .client-project-documents,
    .client-project-activity { padding: 14px; }
    .client-project-directory { padding: 14px; }
    .client-project-directory > header { align-items: stretch; flex-direction: column; }
    .client-project-files__list,
    .client-project-activity > ol { max-height: none; }
    .client-project-file-row { grid-template-columns: 42px minmax(0, 1fr) auto; }
    .client-project-file-row__state { display: none; }
    .client-project-documents__list > article { grid-template-columns: 44px minmax(0, 1fr) auto; }
    .client-project-documents__list > article > b { grid-column: 2; }
    .client-project-documents__list > article > a { grid-column: 3; grid-row: 1 / span 2; }
}
@media (max-width: 520px) {
    .client-project-workspace__header-actions,
    .client-project-card--next > div:last-child { align-items: stretch; flex-direction: column; }
    .client-project-workspace__header-actions .button,
    .client-project-card--next > div:last-child .button { width: 100%; }
    .client-project-workspace__tabs > a { min-height: 34px; padding-inline: 10px; }
    .client-project-files__toolbar { align-items: stretch; flex-direction: column; }
    .client-project-files__toolbar input { width: 100%; }
    .client-project-file-row { grid-template-columns: 38px minmax(0, 1fr); }
    .client-project-file-row__icon { width: 38px; height: 38px; }
    .client-project-file-row__actions { grid-column: 1 / -1; justify-content: flex-start; }
    .client-project-documents__list > article { grid-template-columns: 38px minmax(0, 1fr); }
    .client-project-documents__list > article > span { width: 38px; }
    .client-project-documents__list > article > b { grid-column: 2; }
    .client-project-documents__list > article > a { grid-column: 1 / -1; grid-row: auto; justify-self: start; }
    .client-project-work-card form > div { align-items: stretch; flex-direction: column; }
    .client-project-work-card form .button { width: 100%; }
    .client-project-directory__grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .client-project-workspace--admin .client-project-workspace__header-actions .button,
    .client-project-workspace--admin .client-project-workspace__context-actions .button { flex: 1 1 auto; }
    .client-project-workspace--admin .client-project-workspace__project-switcher[open] > nav { grid-template-columns: 1fr; }
    .client-project-workspace--admin .client-project-workspace__form-grid { grid-template-columns: 1fr; }
    .client-project-workspace--admin .client-project-workspace__file-card > header,
    .client-project-workspace--admin .client-project-workspace__document-list > article { align-items: stretch; flex-direction: column; }
    .client-project-workspace--admin .client-project-workspace__activity-list > li { grid-template-columns: 1fr; }
    .client-project-workspace--admin .client-project-workspace__activity-list time { order: 2; }
    .client-project-workspace--admin .client-project-workspace__action-rail { align-items: stretch; }
    .client-project-workspace--admin .client-project-workspace__action-group { flex: 1 1 100%; }
    .client-project-workspace--admin .client-project-workspace__action-group--project-tools,
    .client-project-workspace--admin .client-project-workspace__action-group--create { margin-left: 0; padding-left: 0; border-left: 0; }
    .client-project-workspace--admin .client-project-workspace__action-group--create { justify-content: flex-end; }
}

/* Discussion is intentionally conversation-first: shared files have their own
   workspace and project people are available through the mention picker. */
.client-portal__workspace-grid--discussion { grid-template-columns: minmax(0, 1fr); }
.client-project-mentions {
    position: relative;
    display: grid;
    gap: 7px;
    min-width: 0;
}
.client-project-mentions__summary-row {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.client-project-mentions__toggle {
    display: inline-flex;
    min-height: 31px;
    align-items: center;
    gap: 5px;
    padding: 5px 9px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--theme-surface-muted, var(--surface-muted));
    color: var(--ink);
    font: 800 .68rem/1 var(--font-body);
    cursor: pointer;
}
.client-project-mentions__toggle > span { color: var(--accent); font-size: .94rem; font-weight: 900; }
.client-project-mentions__toggle:hover,
.client-project-mentions__toggle:focus-visible,
.client-project-mentions__toggle[aria-expanded="true"] {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 10%, var(--theme-surface-muted, var(--surface-muted)));
    outline: none;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);
}
.client-project-mentions__summary-row > p {
    min-width: 0;
    margin: 0;
    color: var(--slate);
    font-size: .67rem;
    font-weight: 690;
    line-height: 1.35;
}
.client-project-mentions__picker {
    position: absolute;
    z-index: 30;
    top: calc(100% + 7px);
    left: 0;
    display: grid;
    width: min(450px, 100%);
    max-height: min(420px, 58dvh);
    gap: 8px;
    padding: 11px;
    overflow: auto;
    border: 1px solid color-mix(in srgb, var(--accent) 65%, var(--line));
    border-radius: 9px;
    background: var(--theme-surface, var(--surface));
    box-shadow: 0 18px 38px rgba(0, 0, 0, .24);
    scrollbar-color: var(--accent) transparent;
    scrollbar-width: thin;
}
.client-project-mentions__picker[hidden] { display: none; }
.client-project-mentions__picker::-webkit-scrollbar { width: 10px; }
.client-project-mentions__picker::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--accent); background-clip: padding-box; }
.client-project-mentions__picker-header {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.client-project-mentions__picker-header > div { display: grid; min-width: 0; gap: 2px; }
.client-project-mentions__picker-header strong { color: var(--ink); font-size: .78rem; }
.client-project-mentions__picker-header small { color: var(--slate); font-size: .65rem; line-height: 1.35; }
.client-project-mentions__picker-header > button {
    display: grid;
    width: 27px;
    height: 27px;
    flex: 0 0 auto;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: transparent;
    color: var(--slate);
    font: 900 1rem/1 sans-serif;
    cursor: pointer;
    place-items: center;
}
.client-project-mentions__picker-header > button:hover,
.client-project-mentions__picker-header > button:focus-visible { border-color: var(--accent); color: var(--accent); outline: none; }
.client-project-mentions__search-label { display: grid; gap: 4px; color: var(--ink); font-size: .66rem; font-weight: 780; }
.client-project-mentions__search-label > input,
.client-project-mentions__fallback select {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 34px;
    padding: 6px 8px;
    border: 1px solid var(--line);
    border-radius: 5px;
    outline: none;
    background: var(--theme-surface-input, var(--surface));
    color: var(--ink);
    font: inherit;
    font-size: .73rem;
}
.client-project-mentions__search-label > input:focus-visible,
.client-project-mentions__fallback select:focus-visible { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent); }
.client-project-mentions__everyone {
    display: flex;
    min-height: 39px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 9px;
    border: 1px solid color-mix(in srgb, var(--accent) 55%, var(--line));
    border-radius: 6px;
    background: color-mix(in srgb, var(--accent) 7%, var(--theme-surface-muted, var(--surface-muted)));
    color: var(--ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.client-project-mentions__everyone > span { color: var(--accent); font-size: .74rem; font-weight: 900; }
.client-project-mentions__everyone > small { color: var(--slate); font-size: .63rem; font-weight: 700; }
.client-project-mentions__everyone:hover,
.client-project-mentions__everyone:focus-visible,
.client-project-mentions__everyone.is-selected,
.client-project-mentions__everyone.is-keyboard-active { border-color: var(--accent); background: var(--accent); color: var(--theme-button-text, var(--white)); outline: none; }
.client-project-mentions__everyone.is-selected > span,
.client-project-mentions__everyone.is-selected > small { color: inherit; }
.client-project-mentions__help { margin: 0; color: var(--slate); font-size: .62rem; line-height: 1.4; }
.client-project-mentions__help strong { color: var(--ink); }
.client-project-mentions__help kbd {
    display: inline-grid;
    min-width: 15px;
    min-height: 15px;
    padding: 0 2px;
    border: 1px solid var(--line);
    border-radius: 3px;
    background: var(--theme-surface-muted, var(--surface-muted));
    color: var(--ink);
    font: 800 .58rem/1 var(--font-body);
    place-items: center;
}
.client-project-mentions__options { display: grid; max-height: 180px; gap: 4px; overflow: auto; padding-right: 2px; scrollbar-color: var(--accent) transparent; scrollbar-width: thin; }
.client-project-mentions__options::-webkit-scrollbar { width: 9px; }
.client-project-mentions__options::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--accent); background-clip: padding-box; }
.client-project-mentions__options > p,
.client-project-mentions__no-results { margin: 4px 0; color: var(--slate); font-size: .67rem; line-height: 1.4; }
.client-project-mentions__options > button {
    display: flex;
    width: 100%;
    min-height: 39px;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    padding: 7px 8px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: var(--ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.client-project-mentions__options > button > span { overflow: hidden; font-size: .72rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.client-project-mentions__options > button > small { flex: 0 0 auto; color: var(--slate); font-size: .62rem; font-weight: 700; }
.client-project-mentions__options > button:hover,
.client-project-mentions__options > button:focus-visible,
.client-project-mentions__options > button.is-selected,
.client-project-mentions__options > button.is-keyboard-active { border-color: color-mix(in srgb, var(--accent) 58%, var(--line)); background: color-mix(in srgb, var(--accent) 10%, transparent); outline: none; }
.client-project-mentions__options > button.is-selected > span { color: var(--accent); }
.client-project-mentions__options > button:disabled { cursor: not-allowed; opacity: .56; }
.client-project-mentions__selected { display: flex; min-width: 0; flex-wrap: wrap; gap: 5px; }
.client-project-mentions__chip {
    display: inline-flex;
    max-width: 100%;
    min-height: 25px;
    align-items: center;
    gap: 5px;
    padding: 3px 5px 3px 8px;
    border: 1px solid color-mix(in srgb, var(--accent) 48%, var(--line));
    border-radius: 99px;
    background: color-mix(in srgb, var(--accent) 9%, var(--theme-surface-muted, var(--surface-muted)));
    color: var(--ink);
    font-size: .65rem;
    font-weight: 820;
}
.client-project-mentions__chip > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.client-project-mentions__chip > button { display: grid; width: 18px; height: 18px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--slate); font: 900 .9rem/1 sans-serif; cursor: pointer; place-items: center; }
.client-project-mentions__chip > button:hover,
.client-project-mentions__chip > button:focus-visible { background: var(--accent); color: var(--theme-button-text, var(--white)); outline: none; }
.client-project-mentions__chip--everyone { border-color: var(--accent); background: var(--accent); color: var(--theme-button-text, var(--white)); }
.client-project-mentions__fallback { display: grid; gap: 5px; padding: 9px; border: 1px dashed var(--line); border-radius: 7px; color: var(--slate); font-size: .68rem; line-height: 1.4; }
.client-project-mentions__fallback > label { display: grid; gap: 5px; }
.client-project-mentions__fallback > label:first-child { display: flex; align-items: center; gap: 7px; color: var(--ink); font-weight: 750; }
.client-project-mentions__fallback input[type="checkbox"] {
    appearance: none;
    width: 34px;
    height: 19px;
    flex: 0 0 auto;
    margin: 0;
    border: 1px solid var(--line);
    border-radius: 99px;
    outline: none;
    background-color: var(--theme-surface-input, var(--surface));
    background-image: radial-gradient(circle at 8px 50%, var(--white) 0 5px, transparent 5.5px);
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease, background-position .15s ease;
}
.client-project-mentions__fallback input[type="checkbox"]:checked { border-color: var(--accent); background-color: var(--accent); background-image: radial-gradient(circle at calc(100% - 8px) 50%, var(--theme-button-text, var(--white)) 0 5px, transparent 5.5px); }
.client-project-mentions__fallback input[type="checkbox"]:focus-visible { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent); }
.client-project-mentions.is-enhanced .client-project-mentions__fallback { display: none; }
.theme-logo-dark .client-project-mentions__toggle,
.theme-logo-dark .client-project-mentions__picker,
.theme-logo-dark .client-project-mentions__fallback { border-color: #454d52; background: #202529; }
.theme-logo-dark .client-project-mentions__search-label > input,
.theme-logo-dark .client-project-mentions__fallback select { border-color: #454d52; background: #171a1c; color: #f1f3f4; }
.theme-logo-dark .client-project-mentions__picker-header strong,
.theme-logo-dark .client-project-mentions__search-label,
.theme-logo-dark .client-project-mentions__options > button,
.theme-logo-dark .client-project-mentions__fallback > label:first-child { color: #f1f3f4; }
.theme-logo-dark .client-project-mentions__help strong { color: #f1f3f4; }
@media (max-width: 620px) {
    .client-project-workspace__mention-alert { grid-template-columns: 26px minmax(0, 1fr); }
    .client-project-workspace__mention-alert > small { grid-column: 2; white-space: normal; }
    .client-project-mentions__picker { position: static; width: auto; max-height: min(420px, 52dvh); }
    .client-project-mentions__everyone { align-items: flex-start; flex-direction: column; }
    .client-project-mentions__options { max-height: 160px; }
}

/* Shared, declarative thumbnail surface.  Hosts keep ownership of their
   cards/attachments; this only styles the visual child created by
   file-rendition-thumbnails.js. */
[data-file-rendition-thumbnail].has-file-rendition-thumbnail {
    position: relative;
}
[data-file-rendition-thumbnail] > .file-rendition-thumbnail__visual {
    position: relative;
    display: inline-grid;
    width: var(--file-rendition-thumbnail-width, clamp(56px, 9vw, 112px));
    min-width: 0;
    aspect-ratio: var(--file-rendition-thumbnail-ratio, 4 / 3);
    flex: 0 0 auto;
    overflow: hidden;
    align-self: center;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line));
    border-radius: 6px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--surface) 88%, var(--accent)), var(--theme-surface-muted, var(--surface-muted)));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ink) 5%, transparent);
    color: var(--accent);
    isolation: isolate;
}
[data-file-rendition-thumbnail] > .file-rendition-thumbnail__visual::after {
    position: absolute;
    inset: 0;
    border: 1px solid color-mix(in srgb, var(--white) 10%, transparent);
    border-radius: inherit;
    content: '';
    pointer-events: none;
}
.file-rendition-thumbnail__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    /* A subtle checkerboard keeps transparent PNGs and pasted cut-outs
       legible on every theme instead of letting dark artwork disappear into
       a flat dark surface. */
    background-color: color-mix(in srgb, var(--surface) 74%, var(--ink));
    background-image: conic-gradient(
        color-mix(in srgb, var(--surface) 82%, var(--ink)) 25%,
        color-mix(in srgb, var(--surface) 68%, var(--ink)) 0 50%,
        color-mix(in srgb, var(--surface) 82%, var(--ink)) 0 75%,
        color-mix(in srgb, var(--surface) 68%, var(--ink)) 0
    );
    background-size: 10px 10px;
}
.file-rendition-thumbnail__label {
    max-width: calc(100% - 12px);
    overflow: hidden;
    padding: 5px 6px;
    border: 1px solid currentColor;
    border-radius: 4px;
    color: var(--accent);
    font-size: clamp(.55rem, 1.15vw, .72rem);
    font-weight: 850;
    letter-spacing: .06em;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.is-file-rendition-pending > .file-rendition-thumbnail__visual { border-style: dashed; }
.file-rendition-thumbnail__spinner {
    position: absolute;
    right: 7px;
    bottom: 7px;
    width: 13px;
    height: 13px;
    border: 2px solid color-mix(in srgb, var(--accent) 28%, transparent);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: file-rendition-thumbnail-spin .8s linear infinite;
}
.is-file-rendition-failed > .file-rendition-thumbnail__visual { border-color: color-mix(in srgb, var(--danger, #c85252) 58%, var(--line)); }
.is-file-rendition-failed .file-rendition-thumbnail__label { color: var(--danger, #c85252); }
.file-rendition-thumbnail__status {
    position: absolute;
    right: 4px;
    bottom: 4px;
    left: 4px;
    overflow: hidden;
    padding: 3px 4px;
    border-radius: 3px;
    background: color-mix(in srgb, var(--surface) 88%, var(--ink));
    color: var(--ink);
    font-size: .51rem;
    font-weight: 750;
    line-height: 1.05;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.file-rendition-thumbnail__renderer {
    position: fixed;
    top: -10000px;
    left: -10000px;
    width: 900px;
    height: 675px;
    border: 0;
    opacity: 0;
    pointer-events: none;
}
/* The secure-file-manager has an intentional compact icon column.  Its
   replace-selector swaps the type glyph for the rendition rather than adding
   a third grid item. */
.secure-file-manager__item > .file-rendition-thumbnail__visual {
    width: 32px;
    height: 35px;
    aspect-ratio: auto;
    border-radius: 5px;
}
.secure-file-manager__item .file-rendition-thumbnail__label {
    max-width: calc(100% - 4px);
    padding: 3px 1px;
    border: 0;
    border-radius: 0;
    font-size: .45rem;
    letter-spacing: -.025em;
    text-align: center;
}
.secure-file-manager__item .file-rendition-thumbnail__spinner {
    right: 3px;
    bottom: 3px;
    width: 9px;
    height: 9px;
    border-width: 1px;
}
.secure-file-manager__item .file-rendition-thumbnail__status { display: none; }
@keyframes file-rendition-thumbnail-spin { to { transform: rotate(1turn); } }
@media (max-width: 520px) {
    [data-file-rendition-thumbnail] > .file-rendition-thumbnail__visual {
        width: var(--file-rendition-thumbnail-width, 58px);
    }
}

/* Contextual-action dialogs use one calm, themed work-surface regardless of
   whether the rail opens project settings or a new-project form. */
.client-project-workspace__dialog {
    width: min(620px, calc(100vw - 32px));
    max-height: min(760px, calc(100dvh - 32px));
    overflow: auto;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--theme-surface, var(--surface));
    box-shadow: 0 28px 72px color-mix(in srgb, var(--ink) 42%, transparent);
    color: var(--ink);
}
.client-project-workspace__dialog::backdrop { background: color-mix(in srgb, var(--ink) 68%, transparent); backdrop-filter: blur(3px); }
.client-project-workspace__dialog form { display: grid; gap: 14px; padding: 0; }
.client-project-workspace__dialog header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 20px 15px;
    border-bottom: 1px solid var(--line);
    background: color-mix(in srgb, var(--theme-surface-muted, var(--surface-muted)) 88%, transparent);
}
.client-project-workspace__dialog header :is(.eyebrow, h2) { margin: 0; }
.client-project-workspace__dialog header h2 { margin-top: 4px; color: var(--ink); font-size: 1.28rem; }
.client-project-workspace__dialog header > button {
    display: grid;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: transparent;
    color: var(--ink);
    font-size: 1.2rem;
    line-height: 1;
    place-items: center;
    cursor: pointer;
}
.client-project-workspace__dialog header > button:hover,
.client-project-workspace__dialog header > button:focus-visible { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 13%, transparent); outline: none; }
.client-project-workspace__dialog :is(input[type="hidden"], header, footer) + label,
.client-project-workspace__dialog > form > label { margin-inline: 20px; }
.client-project-workspace__dialog label { display: grid; gap: 6px; color: var(--ink); font-size: .76rem; font-weight: 800; }
.client-project-workspace__dialog :is(input:not([type="hidden"]), textarea, select) {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--theme-surface-input, var(--surface));
    color: var(--ink);
    font: inherit;
}
.client-project-workspace__dialog :is(input:not([type="hidden"]), select) { min-height: 40px; padding: 8px 10px; }
.client-project-workspace__dialog textarea { min-height: 108px; padding: 10px; resize: vertical; }
.client-project-workspace__dialog :is(input:not([type="hidden"]), textarea, select):focus-visible { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); outline: none; }
.client-project-workspace__dialog-note { margin: -2px 20px 2px; color: var(--slate); font-size: .76rem; line-height: 1.48; }
.client-project-workspace__dialog footer { display: flex; justify-content: flex-end; gap: 9px; padding: 14px 20px; border-top: 1px solid var(--line); background: color-mix(in srgb, var(--theme-surface-muted, var(--surface-muted)) 88%, transparent); }
.theme-logo-dark .client-project-workspace__dialog { border-color: #454d52; background: #202529; color: #f1f3f4; }
.theme-logo-dark .client-project-workspace__dialog header,
.theme-logo-dark .client-project-workspace__dialog footer { border-color: #454d52; background: #171a1c; }
.theme-logo-dark .client-project-workspace__dialog :is(h2, label, header > button) { color: #f1f3f4; }
.theme-logo-dark .client-project-workspace__dialog :is(input:not([type="hidden"]), textarea, select) { border-color: #454d52; background: #171a1c; color: #f1f3f4; }
@media (max-width: 560px) {
    .client-project-workspace__dialog { width: min(100vw - 20px, 620px); max-height: calc(100dvh - 20px); }
    .client-project-workspace__dialog header { padding: 15px; }
    .client-project-workspace__dialog :is(input[type="hidden"], header, footer) + label,
    .client-project-workspace__dialog > form > label { margin-inline: 15px; }
    .client-project-workspace__dialog-note { margin-inline: 15px; }
    .client-project-workspace__dialog footer { align-items: stretch; flex-direction: column-reverse; padding: 12px 15px; }
    .client-project-workspace__dialog footer .button { width: 100%; }
}

/* Project overview dashboards use a silent 12-column unit grid. Every card
   occupies a deliberate whole-number footprint, so cards stay aligned even
   when their individual content changes. */
.client-project-dashboard__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 12px;
}
.client-project-dashboard__controls > p { margin: 0; color: var(--slate); font-size: .74rem; line-height: 1.4; }
.client-project-dashboard__controls .button { min-height: 34px; padding: 6px 10px; font-size: .7rem; white-space: nowrap; }
.client-project-workspace__overview[data-dashboard-grid] {
    display: grid;
    grid-auto-flow: row dense;
    grid-auto-rows: 48px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: stretch;
    gap: 12px;
}
.client-project-workspace__overview[data-dashboard-grid] > .client-project-card {
    --dashboard-columns: 4;
    --dashboard-rows: 4;
    position: relative;
    display: grid;
    grid-column: span var(--dashboard-columns);
    grid-row: span var(--dashboard-rows);
    min-height: 0;
    overflow: hidden;
    align-content: stretch;
    padding: 0;
    isolation: isolate;
}
.client-project-workspace__overview[data-dashboard-grid] > .client-project-card > .client-project-dashboard__content {
    display: grid;
    grid-area: 1 / 1;
    block-size: 100%;
    box-sizing: border-box;
    min-width: 0;
    min-height: 0;
    align-self: stretch;
    align-content: start;
    gap: var(--ui-space-tight);
    /* A card only ever needs vertical overflow. Clipping the horizontal axis
       avoids a one-pixel scrollbar caused by fractional dashboard tracks at
       the default Project Brief footprint. */
    overflow-x: clip;
    overflow-y: auto;
    padding: 12px 18px;
    scrollbar-color: var(--accent) transparent;
    scrollbar-width: thin;
}
.client-project-workspace__overview[data-dashboard-grid] > .client-project-card > .client-project-dashboard__content::-webkit-scrollbar { width: 9px; height: 9px; }
.client-project-workspace__overview[data-dashboard-grid] > .client-project-card > .client-project-dashboard__content::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--accent); background-clip: padding-box; }
.client-project-workspace__overview[data-dashboard-grid] > .client-project-card--next { --dashboard-columns: 8; --dashboard-rows: 5; }
.client-project-workspace__overview[data-dashboard-grid] > .client-project-card--dashboard-brief { --dashboard-columns: 4; --dashboard-rows: 5; }
.client-project-workspace__overview[data-dashboard-grid] > .client-project-card--dashboard-file { --dashboard-columns: 4; --dashboard-rows: 4; }
.client-project-workspace__overview[data-dashboard-grid] > .client-project-card--dashboard-pulse { --dashboard-columns: 4; --dashboard-rows: 6; }
.client-project-workspace__overview[data-dashboard-grid] > .client-project-card--milestones { --dashboard-columns: 4; --dashboard-rows: 5; }
.client-project-workspace--admin .client-project-workspace__overview[data-dashboard-grid] > .client-project-card--dashboard-plan { --dashboard-columns: 8; --dashboard-rows: 9; }
.client-project-workspace--admin .client-project-workspace__overview[data-dashboard-grid] > .client-project-card--dashboard-access { --dashboard-columns: 4; --dashboard-rows: 6; }
.client-project-workspace--admin .client-project-workspace__overview[data-dashboard-grid] > .client-project-card--dashboard-document,
.client-project-workspace--admin .client-project-workspace__overview[data-dashboard-grid] > .client-project-card--dashboard-share { --dashboard-columns: 4; --dashboard-rows: 4; }
.client-project-workspace__overview[data-dashboard-grid] > .client-project-card:is(.client-project-card--dashboard-pulse, .client-project-card--milestones) > .client-project-dashboard__content {
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 10px;
    overflow: hidden;
    padding: 12px 38px 34px 18px;
}
.client-project-workspace__overview[data-dashboard-grid] > .client-project-card:is(.client-project-card--dashboard-pulse, .client-project-card--milestones) > .client-project-dashboard__content > .client-project-text-action { margin-top: 0; }
/* The HTML keeps a useful three-item snapshot without JavaScript. Once the
   workspace is enhanced, JavaScript reveals precisely as many rows as the
   card can safely display and leaves the rest out of the tab order. */
[data-dashboard-snapshot-list] > [data-dashboard-snapshot-item]:nth-child(n + 4) { display: none; }
.client-project-card.is-dashboard-snapshot-enhanced [data-dashboard-snapshot-list] > [data-dashboard-snapshot-item] { display: grid; }
.client-project-card.is-dashboard-snapshot-enhanced [data-dashboard-snapshot-list] > [data-dashboard-snapshot-item][hidden] { display: none !important; }
.client-project-workspace__overview[data-dashboard-grid] [data-dashboard-snapshot-list] {
    min-height: 0;
    align-content: start;
    overflow: hidden;
}
.client-project-workspace__overview[data-dashboard-grid] [data-dashboard-snapshot-list].is-dashboard-snapshot-overflow {
    overflow: auto;
    padding-right: 6px;
    scrollbar-color: var(--accent-primary, var(--accent)) transparent;
    scrollbar-width: thin;
}
.client-project-workspace__overview[data-dashboard-grid] [data-dashboard-snapshot-list].is-dashboard-snapshot-overflow::-webkit-scrollbar { width: 9px; }
.client-project-workspace__overview[data-dashboard-grid] [data-dashboard-snapshot-list].is-dashboard-snapshot-overflow::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: var(--accent-primary, var(--accent)); background-clip: padding-box; }
.client-project-dashboard__drag {
    position: absolute;
    z-index: 2;
    top: 8px;
    right: 8px;
    display: grid;
    width: 27px;
    height: 27px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 5px;
    background: color-mix(in srgb, var(--theme-surface-muted, var(--surface-muted)) 86%, transparent);
    color: var(--slate);
    font-size: .97rem;
    line-height: 1;
    place-items: center;
    touch-action: none;
    cursor: grab;
}
.client-project-dashboard__drag:hover,
.client-project-dashboard__drag:focus-visible { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, var(--theme-surface-muted, var(--surface-muted))); color: var(--accent); outline: none; }
.client-project-dashboard__drag:active { cursor: grabbing; }
.client-project-dashboard__resize {
    position: absolute;
    z-index: 2;
    right: 5px;
    bottom: 5px;
    display: grid;
    width: 23px;
    height: 23px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 4px;
    background: color-mix(in srgb, var(--theme-surface-muted, var(--surface-muted)) 86%, transparent);
    color: var(--slate);
    place-items: center;
    touch-action: none;
    cursor: nwse-resize;
}
.client-project-dashboard__resize > span {
    display: block;
    width: 10px;
    height: 10px;
    background: repeating-linear-gradient(135deg, transparent 0 2px, currentColor 2px 3px, transparent 3px 5px);
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
    opacity: .82;
}
.client-project-dashboard__resize:hover,
.client-project-dashboard__resize:focus-visible { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, var(--theme-surface-muted, var(--surface-muted))); color: var(--accent); outline: none; }
.client-project-card.is-dashboard-resizing { box-shadow: 0 0 0 2px var(--accent), 0 14px 34px color-mix(in srgb, var(--accent) 18%, transparent); user-select: none; }
.client-project-card--dashboard-brief.has-file-rendition-thumbnail > .client-project-dashboard__content { grid-template-columns: 76px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; column-gap: 13px; }
.client-project-card--dashboard-brief > .client-project-dashboard__content > .file-rendition-thumbnail__visual { --file-rendition-thumbnail-width: 72px; grid-row: 1 / -1; align-self: start; margin-top: 6px; }
.client-project-card--dashboard-brief > .client-project-dashboard__content > div { min-width: 0; }
.client-project-card--dashboard-brief.has-file-rendition-thumbnail > .client-project-dashboard__content > .button { grid-column: 2; justify-self: start; }
.client-project-card--dashboard-brief.has-file-rendition-thumbnail > .client-project-dashboard__content > .client-project-dashboard__brief-actions { display: flex; flex-wrap: wrap; grid-column: 2; gap: 8px; align-self: end; justify-self: start; }
.client-project-file-teaser > .file-rendition-thumbnail__visual,
.client-project-file-row > .file-rendition-thumbnail__visual { --file-rendition-thumbnail-width: 42px; --file-rendition-thumbnail-ratio: 1 / 1; width: 42px; height: 42px; }
.client-project-workspace--admin .client-project-workspace__file-card.has-file-rendition-thumbnail { grid-template-columns: 76px minmax(0, 1fr); align-items: start; }
.client-project-workspace--admin .client-project-workspace__file-card > .file-rendition-thumbnail__visual { --file-rendition-thumbnail-width: 72px; width: 72px; height: 72px; grid-column: 1; grid-row: 1; }
.client-project-workspace--admin .client-project-workspace__file-card.has-file-rendition-thumbnail > header { grid-column: 2; grid-row: 1; }
.client-project-workspace--admin .client-project-workspace__file-card.has-file-rendition-thumbnail > form { grid-column: 1 / -1; }
.client-portal__attachment-card.has-file-rendition-thumbnail { grid-template-columns: 42px minmax(0, 1fr) auto; align-items: stretch; }
.client-portal__attachment-card.has-file-rendition-thumbnail > .file-rendition-thumbnail__visual { --file-rendition-thumbnail-width: 40px; --file-rendition-thumbnail-ratio: 1 / 1; width: 40px; height: 40px; align-self: center; }
.client-portal__attachment-card.has-file-rendition-thumbnail .client-portal__attachment--preview { display: block; }
.client-portal__attachment-card.has-file-rendition-thumbnail .client-portal__attachment--preview > img { display: none; }
.client-project-card.is-dashboard-dragging { opacity: .42; outline: 2px dashed var(--accent); outline-offset: 2px; }
.client-project-card.is-dashboard-drop-target { box-shadow: 0 0 0 2px var(--accent), 0 12px 30px color-mix(in srgb, var(--accent) 13%, transparent); }
.client-project-card > .client-project-dashboard__content > :is(.eyebrow, h3, h4):first-of-type { padding-right: 30px; }
.theme-logo-dark .client-project-dashboard__drag { background: #171a1c; color: #c8d0d4; }
.theme-logo-dark .client-project-dashboard__drag:hover,
.theme-logo-dark .client-project-dashboard__drag:focus-visible { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 18%, #171a1c); color: var(--accent); }
.theme-logo-dark .client-project-dashboard__resize { background: #171a1c; color: #c8d0d4; }
.theme-logo-dark .client-project-dashboard__resize:hover,
.theme-logo-dark .client-project-dashboard__resize:focus-visible { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 18%, #171a1c); color: var(--accent); }
@media (max-width: 1080px) {
    .client-project-workspace__overview[data-dashboard-grid] { grid-template-columns: repeat(8, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .client-project-dashboard__controls { align-items: stretch; flex-direction: column; }
    .client-project-dashboard__controls .button { width: 100%; }
    .client-project-workspace__overview[data-dashboard-grid] { display: block; }
    .client-project-workspace__overview[data-dashboard-grid] > .client-project-card {
        min-height: 172px;
        max-height: none;
        margin-block: 12px;
        overflow: visible;
    }
    .client-project-workspace__overview[data-dashboard-grid] > .client-project-card > .client-project-dashboard__content { overflow: visible; padding: 18px; }
    .client-project-workspace__overview[data-dashboard-grid] > .client-project-card:first-child { margin-top: 0; }
    .client-project-dashboard__resize { display: none; }
    .client-project-card--dashboard-brief.has-file-rendition-thumbnail { grid-template-columns: 62px minmax(0, 1fr); }
    .client-project-card--dashboard-brief > .file-rendition-thumbnail__visual { --file-rendition-thumbnail-width: 58px; width: 58px; height: 58px; }
}

/* Public header mobile navigation. The Client Portal group is a first-class
   disclosure in the same single-column burger menu as every other public
   item; its project links nest in-flow rather than reverting to a flyout. */
.nav-menu__client-portal > summary > strong {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
    color: inherit;
    font: inherit;
}
.nav-menu__client-portal > summary > i {
    display: inline-block;
    flex: 0 0 auto;
    color: var(--teal);
    font-size: 1.05em;
    font-style: normal;
    line-height: 1;
    transition: transform .16s ease;
}
.nav-menu__client-portal[open] > summary > i { transform: rotate(180deg); }

@media (max-width: 720px) {
    /* No script should not remove site navigation. The JS hook hides it only
       after the burger behaviour is ready, preserving native <details> use. */
    html:not(.has-js) .site-header .nav-menu {
        display: grid !important;
        order: 4;
        width: 100%;
        flex-basis: 100%;
    }
    html:not(.has-js) .site-header .nav-menu-toggle { display: none !important; }
    html.has-js .site-header .nav-menu:not(.is-open) { display: none !important; }
    html.has-js .site-header .nav-menu.is-open { display: grid !important; }

    .site-header .nav-menu {
        position: static !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 3px !important;
        margin: 2px 0 0 !important;
        padding: 8px !important;
        border: 1px solid var(--line) !important;
        border-radius: 9px !important;
        background: var(--theme-header-bg, var(--ink)) !important;
        box-shadow: 0 16px 30px rgba(0, 0, 0, .24) !important;
    }
    .site-header .nav-menu > a,
    .site-header .nav-menu > .nav-menu__group {
        display: block !important;
        width: 100% !important;
        min-width: 0;
        margin: 0 !important;
    }
    .site-header .nav-menu > a {
        min-height: 42px !important;
        padding: 10px 12px !important;
        border-radius: 6px;
        color: var(--theme-header-text, #d9dfeb) !important;
        font-size: .84rem !important;
        font-weight: 760;
        line-height: 1.3;
        text-align: left !important;
    }
    .site-header .nav-menu > .nav-menu__group > summary {
        display: flex !important;
        box-sizing: border-box;
        width: 100% !important;
        min-height: 42px !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        padding: 10px 12px !important;
        border-radius: 6px;
        color: var(--theme-header-text, #d9dfeb) !important;
        font-size: .84rem !important;
        font-weight: 760 !important;
        line-height: 1.3 !important;
        text-align: left !important;
        white-space: normal !important;
    }
    /* Reset a historical generic hamburger selector that otherwise turns
       submenu labels and carets into three white horizontal lines. */
    .site-header .nav-menu details > summary > .nav-menu__summary-label,
    .site-header .nav-menu details > summary > .nav-menu__chevron {
        display: inline-block !important;
        width: auto !important;
        height: auto !important;
        background: transparent !important;
        line-height: inherit !important;
    }
    .site-header .nav-menu details > summary > .nav-menu__summary-label {
        color: inherit !important;
        font-size: inherit !important;
    }
    .site-header .nav-menu details > summary > .nav-menu__chevron {
        margin-left: auto;
        color: var(--teal) !important;
        font-size: 1em !important;
        line-height: 1 !important;
    }
    .site-header .nav-menu > .nav-menu__group > .nav-menu__dropdown {
        position: static !important;
        display: none !important;
        box-sizing: border-box;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-height: min(46dvh, 360px) !important;
        margin: 0 0 5px !important;
        padding: 5px !important;
        overflow: auto !important;
        transform: none !important;
        overscroll-behavior: contain;
        border: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 18%, transparent) !important;
        border-radius: 7px !important;
        background: color-mix(in srgb, var(--theme-header-bg, var(--ink)) 87%, var(--teal) 13%) !important;
        box-shadow: none !important;
        scrollbar-color: var(--teal) transparent;
    }
    .site-header .nav-menu > .nav-menu__group[open] > .nav-menu__dropdown { display: grid !important; }
    .site-header .nav-menu > .nav-menu__group > .nav-menu__dropdown > a {
        display: flex !important;
        min-height: 40px;
        align-items: center;
        padding: 9px 10px !important;
        border-radius: 5px;
        color: var(--theme-header-text, #d9dfeb) !important;
        font-size: .78rem !important;
        font-weight: 740;
        line-height: 1.35;
        white-space: normal !important;
    }

    .site-header .nav-menu__client-portal { order: 20; }
    .site-header .nav-menu__client-portal > summary > strong {
        min-width: 0;
        flex: 1 1 auto;
    }
    .site-header .nav-menu__client-portal > summary > i {
        flex: 0 0 auto;
        color: var(--teal);
    }
    .site-header .nav-menu__client-portal > .nav-menu__dropdown {
        gap: 3px;
        border-left: 2px solid color-mix(in srgb, var(--teal) 62%, transparent) !important;
    }
    .site-header .nav-menu__client-portal > .nav-menu__dropdown > a:first-child {
        border-bottom: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 15%, transparent);
        color: var(--teal) !important;
        font-weight: 850;
    }
    .site-header .nav-menu__client-portal .nav-menu__client-project-link {
        min-width: 0;
        justify-content: flex-start !important;
        gap: 8px !important;
    }
    .site-header .nav-menu__client-portal .nav-menu__client-project-link::before {
        display: block;
        width: 6px;
        height: 6px;
        flex: 0 0 auto;
        border: 1px solid color-mix(in srgb, var(--teal) 70%, transparent);
        border-radius: 50%;
        background: color-mix(in srgb, var(--teal) 22%, transparent);
        content: '';
    }
    .site-header .nav-menu__client-portal .nav-menu__client-project-link > span {
        min-width: 0;
        flex: 1 1 auto;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .site-header .nav-menu__client-portal .nav-menu__client-project-badge,
    .site-header .nav-menu__client-portal .nav-menu__client-project-mention-badge {
        margin-left: auto;
    }
}

/* File rendition and secure-delivery colour semantics: selection, staging and
   action affordances retain the ordinary theme accent. Green/success is
   reserved for a share that was actually created and remains live. */
.secure-file-share-created {
    border-color: color-mix(in srgb, var(--theme-success) 48%, var(--line));
    background: color-mix(in srgb, var(--theme-success) 8%, var(--theme-surface, var(--white)));
}
.secure-file-share-status {
    background: color-mix(in srgb, var(--theme-success) 16%, transparent);
    color: var(--theme-success) !important;
}
.theme-logo-dark .secure-file-share-created {
    border-color: color-mix(in srgb, var(--theme-success) 52%, #454d52);
    background: color-mix(in srgb, var(--theme-success) 10%, var(--theme-surface));
}

/* Client Portal and Client Project workspace dark-theme normalization.
   These later selectors intentionally supersede the older logo-dark literals,
   allowing a configured dark theme to supply its own surface and text roles. */
.theme-logo-dark .client-portal__inbox,
.theme-logo-dark .client-portal__workspace,
.theme-logo-dark .client-portal__details > section,
.theme-logo-dark .client-projects-admin__dialog,
.theme-logo-dark .client-projects-admin__files-panel {
    border-color: var(--line);
    background: var(--theme-surface);
}
.theme-logo-dark .client-portal__project-list a,
.theme-logo-dark .client-portal__messages,
.theme-logo-dark .client-portal__composer {
    border-color: var(--line);
    background: var(--theme-surface-muted);
    color: var(--ink);
}
.theme-logo-dark .client-portal__message {
    border-color: var(--line);
    background: var(--theme-surface);
    color: var(--ink);
}
.theme-logo-dark .client-portal__composer textarea,
.theme-logo-dark .client-projects-admin__add-member input,
.theme-logo-dark .client-projects-admin__add-member select,
.theme-logo-dark .client-projects-admin__dialog input,
.theme-logo-dark .client-projects-admin__dialog textarea,
.theme-logo-dark .client-projects-admin__dialog select {
    border-color: var(--line);
    background: var(--theme-surface-input);
    color: var(--ink);
}
.theme-logo-dark .client-portal__workspace-heading,
.theme-logo-dark .client-projects-admin__add-member,
.theme-logo-dark .client-projects-admin__file-list li {
    border-color: var(--line);
}
.theme-logo-dark .client-portal__inbox h1,
.theme-logo-dark .client-portal__inbox h2,
.theme-logo-dark .client-portal__project-list strong,
.theme-logo-dark .client-portal__workspace-heading h2,
.theme-logo-dark .client-portal__conversation > header h3,
.theme-logo-dark .client-portal__details h3,
.theme-logo-dark .client-portal__message p,
.theme-logo-dark .client-portal__message header strong,
.theme-logo-dark .client-portal__message blockquote strong,
.theme-logo-dark .client-projects-admin__add-member label,
.theme-logo-dark .client-projects-admin__dialog label,
.theme-logo-dark .client-projects-admin__files-heading h3,
.theme-logo-dark .client-projects-admin__brief-card strong,
.theme-logo-dark .client-projects-admin__file-list strong {
    color: var(--ink);
}
.theme-logo-dark .client-portal__inbox > p:not(.eyebrow),
.theme-logo-dark .client-portal__project-list small,
.theme-logo-dark .client-portal__workspace-heading p:not(.eyebrow),
.theme-logo-dark .client-portal__conversation > header > span,
.theme-logo-dark .client-portal__message time,
.theme-logo-dark .client-portal__details p:not(.eyebrow),
.theme-logo-dark .client-portal__details li small,
.theme-logo-dark .client-portal__empty,
.theme-logo-dark .client-portal__empty-message,
.theme-logo-dark .client-projects-admin__brief-card small,
.theme-logo-dark .client-projects-admin__file-list small,
.theme-logo-dark .client-projects-admin__files-empty {
    color: var(--slate);
}
.theme-logo-dark .client-portal__project-list a:hover,
.theme-logo-dark .client-portal__project-list a:focus-visible,
.theme-logo-dark .client-portal__project-list a.is-active,
.theme-logo-dark .client-portal__message.is-mine,
.theme-logo-dark .client-portal__message.is-admin {
    border-color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 12%, var(--theme-surface-muted));
}
.theme-logo-dark .client-portal__attachment,
.theme-logo-dark .client-portal__reply-action,
.theme-logo-dark .client-portal__member-action {
    color: var(--accent-depth);
}
.theme-logo-dark .client-portal__attachment--preview img {
    border-color: var(--line);
    background: var(--theme-surface-muted);
}
.theme-logo-dark .client-portal__composer-status { color: var(--accent-depth); }
.theme-logo-dark .client-portal__composer-status.is-error { color: var(--theme-danger); }
.theme-logo-dark .client-portal__composer-send {
    border-color: var(--accent-depth);
    background: var(--accent-depth);
    color: var(--theme-button-text, var(--white));
}
.theme-logo-dark .client-portal__composer-send:hover,
.theme-logo-dark .client-portal__composer-send:focus-visible {
    border-color: var(--accent-primary);
    background: var(--accent-primary);
    color: var(--theme-button-text, var(--white));
}
.theme-logo-dark .client-portal__dropzone {
    border-color: var(--line);
    background: var(--theme-surface-muted);
}
.theme-logo-dark .client-portal__dropzone:hover,
.theme-logo-dark .client-portal__dropzone:focus-visible,
.theme-logo-dark .client-portal__dropzone.is-dragover {
    border-color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 12%, var(--theme-surface-muted));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-primary) 15%, transparent);
}
.theme-logo-dark .client-portal__dropzone > span,
.theme-logo-dark .conversation-composer-attachments__status {
    color: var(--slate);
}
.theme-logo-dark .conversation-composer-attachments__item {
    border-color: var(--line);
    background: var(--theme-surface);
}
.theme-logo-dark .conversation-composer-attachments__item img {
    border-color: var(--line);
    background: var(--theme-surface-muted);
}
.theme-logo-dark .conversation-composer-attachments__file-icon {
    border-color: var(--line);
    background: var(--theme-surface-muted);
    color: var(--slate);
}
.theme-logo-dark .conversation-composer-attachments__item > span { color: var(--ink); }
.theme-logo-dark .conversation-composer-attachments__remove { color: var(--slate); }
.theme-logo-dark .conversation-composer-attachments__status.is-error { color: var(--theme-danger); }
.theme-logo-dark .client-portal__details-toggle,
.theme-logo-dark .client-portal__details.is-collapsed {
    border-color: var(--line);
    background: var(--theme-surface-muted);
    color: var(--accent-depth);
}
.theme-logo-dark .client-portal__details-toggle:hover,
.theme-logo-dark .client-portal__details-toggle:focus-visible {
    border-color: var(--accent-primary);
    background: var(--accent-primary);
    color: var(--theme-button-text, var(--white));
}
.theme-logo-dark .client-portal__details-toggle:hover .client-portal__details-toggle-icon,
.theme-logo-dark .client-portal__details-toggle:focus-visible .client-portal__details-toggle-icon {
    color: var(--theme-button-text, var(--white));
}
.theme-logo-dark .client-projects-admin__add-member label.toggle-control > span,
.theme-logo-dark .client-project-workspace--admin .client-project-files label.toggle-control > span {
    border-color: var(--line);
}
.theme-logo-dark .client-projects-admin__add-member label.toggle-control > span::after,
.theme-logo-dark .client-project-workspace--admin .client-project-files label.toggle-control > span::after {
    background: var(--theme-surface);
}
.theme-logo-dark .client-projects-admin__brief-card {
    border-color: color-mix(in srgb, var(--accent-depth) 45%, var(--line));
    background: color-mix(in srgb, var(--accent-primary) 9%, var(--theme-surface-muted));
}
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__project-switcher,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__file-card,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__work-card,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__work-create,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__document-list > article,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__activity-list > li {
    border-color: var(--line);
    background: var(--theme-surface-muted);
}
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__form :is(input:not([type="checkbox"]), textarea, select) {
    border-color: var(--line);
    background: var(--theme-surface-input);
    color: var(--ink);
}
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__file-card h4,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__document-list h4,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__work-card > summary,
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__member-list strong {
    color: var(--ink);
}
.theme-logo-dark .client-project-workspace--admin .client-project-workspace__action-rail {
    border-color: var(--line);
    background: color-mix(in srgb, var(--theme-surface-muted) 92%, transparent);
}
.theme-logo-dark .client-project-mentions__toggle,
.theme-logo-dark .client-project-mentions__picker,
.theme-logo-dark .client-project-mentions__fallback {
    border-color: var(--line);
    background: var(--theme-surface-muted);
}
.theme-logo-dark .client-project-mentions__search-label > input,
.theme-logo-dark .client-project-mentions__fallback select {
    border-color: var(--line);
    background: var(--theme-surface-input);
    color: var(--ink);
}
.theme-logo-dark .client-project-mentions__picker-header strong,
.theme-logo-dark .client-project-mentions__search-label,
.theme-logo-dark .client-project-mentions__options > button,
.theme-logo-dark .client-project-mentions__fallback > label:first-child,
.theme-logo-dark .client-project-mentions__help strong {
    color: var(--ink);
}
.theme-logo-dark .client-project-workspace__dialog {
    border-color: var(--line);
    background: var(--theme-surface);
    color: var(--ink);
}
.theme-logo-dark .client-project-workspace__dialog header,
.theme-logo-dark .client-project-workspace__dialog footer {
    border-color: var(--line);
    background: var(--theme-surface-muted);
}
.theme-logo-dark .client-project-workspace__dialog :is(h2, label, header > button) { color: var(--ink); }
.theme-logo-dark .client-project-workspace__dialog :is(input:not([type="hidden"]), textarea, select) {
    border-color: var(--line);
    background: var(--theme-surface-input);
    color: var(--ink);
}
.theme-logo-dark .client-project-dashboard__drag,
.theme-logo-dark .client-project-dashboard__resize {
    background: var(--theme-surface-input);
    color: var(--slate);
}
.theme-logo-dark .client-project-dashboard__drag:hover,
.theme-logo-dark .client-project-dashboard__drag:focus-visible,
.theme-logo-dark .client-project-dashboard__resize:hover,
.theme-logo-dark .client-project-dashboard__resize:focus-visible {
    border-color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 18%, var(--theme-surface-input));
    color: var(--accent-primary);
}

/* Client Project workspace token roles.  Filled selection/highlight controls
   deliberately take the Primary accent; inline links and outlines continue to
   use Accent depth through the legacy --accent alias above. */
.client-portal__status--active {
    border-color: color-mix(in srgb, var(--accent-primary) 60%, var(--line));
    color: var(--accent-primary);
}
.client-project-workspace__mention-alert > span,
.client-project-workspace__tabs > a.is-active > b,
.client-project-activity > ol > li > span,
.client-project-milestones > li.is-current > span,
.client-project-milestones > li.is-complete > span,
.client-project-mentions__everyone.is-selected,
.client-project-mentions__chip--everyone,
.client-project-mentions__fallback input[type="checkbox"]:checked,
.client-project-workspace--admin .client-project-files label.toggle-control input[type="checkbox"]:checked + span {
    border-color: var(--accent-primary);
    background: var(--accent-primary);
}
.client-project-workspace__tabs,
.client-project-files__list,
.client-project-activity > ol,
.client-project-mentions__picker,
.client-project-mentions__options,
.client-project-workspace__overview[data-dashboard-grid] > .client-project-card > .client-project-dashboard__content {
    scrollbar-color: var(--accent-primary) transparent;
}
.client-project-workspace__tabs::-webkit-scrollbar-thumb,
.client-project-files__list::-webkit-scrollbar-thumb,
.client-project-activity > ol::-webkit-scrollbar-thumb,
.client-project-mentions__picker::-webkit-scrollbar-thumb,
.client-project-mentions__options::-webkit-scrollbar-thumb,
.client-project-workspace__overview[data-dashboard-grid] > .client-project-card > .client-project-dashboard__content::-webkit-scrollbar-thumb {
    background-color: var(--accent-primary);
}

/* Shared live-conversation notice: this uses the active accent rather than a
   semantic success colour because it asks the person to decide what to do. */
.conversation-live-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 10px;
    padding: 10px 11px 10px 13px;
    border: 1px solid color-mix(in srgb, var(--accent-primary, var(--orange)) 68%, var(--line));
    border-radius: 8px;
    background: color-mix(in srgb, var(--accent-primary, var(--orange)) 10%, var(--theme-surface, var(--paper)));
    color: var(--ink);
}
.conversation-live-notice p {
    margin: 0;
    color: var(--ink);
    font-size: .74rem;
    font-weight: 720;
    line-height: 1.4;
}
.conversation-live-notice .button {
    flex: 0 0 auto;
    min-height: 31px;
    padding: 5px 9px;
    white-space: nowrap;
}
@media (max-width: 520px) {
    .conversation-live-notice { align-items: stretch; flex-direction: column; }
    .conversation-live-notice .button { width: 100%; }
}

/* Free digital files remain visibly distinct when they accompany a paid basket. */
.product-detail__buy--free > small { flex-basis: 100%; max-width: 460px; }
.product-detail__print-offer { display: grid; gap: 11px; max-width: 470px; margin-top: 18px; padding: 18px; border: 1px solid color-mix(in srgb, var(--accent-primary, var(--teal)) 48%, var(--line)); border-radius: 10px; background: color-mix(in srgb, var(--accent-primary, var(--teal)) 8%, var(--theme-surface, var(--paper))); }
.product-detail__print-offer .eyebrow, .product-detail__print-offer h2, .product-detail__print-offer p { margin: 0; }
.product-detail__print-offer h2 { color: var(--ink); font-size: 1.32rem; }
.product-detail__print-offer > p:not(.eyebrow), .product-detail__print-customisation { color: var(--slate); font-size: .84rem; line-height: 1.55; }
.product-detail__print-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 13px; color: var(--slate); font-size: .8rem; }
.product-detail__print-price strong { color: var(--accent-depth, var(--teal-deep)); font-size: 1.08rem; }
.product-detail__print-offer .product-detail__buy { margin-top: 1px; }
.product-detail__print-offer .product-detail__buy small { flex-basis: 100%; max-width: 420px; color: var(--slate); font-size: .75rem; line-height: 1.45; }
.theme-logo-dark .product-detail__print-offer { background: color-mix(in srgb, var(--accent-primary, var(--teal)) 12%, var(--theme-surface-muted)); }
.admin-model-print-sources__list { display: grid; gap: var(--ui-space-compact, 10px); }
.admin-model-print-sources__list > article { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-standard, 14px); padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--theme-surface-muted, var(--paper-deep)); }
.admin-model-print-sources__list > article > div { min-width: 0; }.admin-model-print-sources__list strong, .admin-model-print-sources__list small { display: block; overflow-wrap: anywhere; }.admin-model-print-sources__list small { margin-top: 4px; color: var(--muted); font-size: .75rem; }.admin-model-print-sources__list .button { flex: 0 0 auto; }
.admin-model-print-sources__list > article.is-approved { border-color: color-mix(in srgb, var(--accent-primary, var(--teal)) 50%, var(--line)); }.admin-model-print-sources__list > article.is-blocked { border-color: color-mix(in srgb, var(--theme-danger) 56%, var(--line)); background: color-mix(in srgb, var(--theme-danger) 6%, var(--theme-surface-muted, var(--paper-deep))); }.admin-model-print-sources__status { margin: 7px 0 0; color: var(--accent-depth, var(--teal-deep)); font-size: .76rem; font-weight: 760; line-height: 1.45; }.admin-model-print-sources__status.is-blocked { color: var(--theme-danger); }
.admin-orders__component-customisation { display: grid; gap: 4px; margin-top: 10px; padding: 9px 10px; border-inline-start: 3px solid var(--accent-primary, var(--teal)); border-radius: 0 7px 7px 0; background: color-mix(in srgb, var(--accent-primary, var(--teal)) 7%, var(--theme-surface, var(--paper))); }.admin-orders__component-customisation > strong { color: var(--accent-depth, var(--teal-deep)); font-size: .73rem; text-transform: uppercase; letter-spacing: .045em; }.admin-orders__component-customisation p, .admin-orders__component-review-status { margin: 0; overflow-wrap: anywhere; color: var(--slate); font-size: .77rem; line-height: 1.45; }.admin-orders__component-review-status.is-pending { color: var(--theme-warning); font-weight: 760; }.admin-orders__component-form .admin-orders__component-review { grid-column: 1 / -1; margin: 0; }
.digital-order-components--customisation { margin-top: 18px; }.digital-order-components__customisation { margin: .52rem 0 0; color: var(--slate); font-size: .78rem; line-height: 1.45; overflow-wrap: anywhere; }.digital-order-components__customisation strong { color: var(--accent-depth, var(--teal-deep)); }
@media (max-width: 620px) { .admin-model-print-sources__list > article { align-items: stretch; flex-direction: column; }.admin-model-print-sources__list .button { width: 100%; } }
.commerce-basket__availability-warning { display: grid; gap: 8px; margin: 0 0 18px; padding: 17px 18px; border: 1px solid color-mix(in srgb, var(--theme-danger) 55%, var(--line)); border-radius: 12px; background: color-mix(in srgb, var(--theme-danger) 8%, var(--theme-surface, var(--paper))); }
.commerce-basket__availability-warning > * { margin: 0; }.commerce-basket__availability-warning h2 { color: var(--ink); font-size: 1.08rem; }.commerce-basket__availability-warning p:not(.eyebrow), .commerce-basket__availability-summary, .commerce-basket__availability-item { color: var(--slate); font-size: .82rem; line-height: 1.5; }
.commerce-basket__item--unavailable { border-color: color-mix(in srgb, var(--theme-danger) 45%, var(--line)); }.commerce-basket__model-print-note { color: var(--accent-depth, var(--teal-deep)) !important; font-weight: 700; }.commerce-basket__availability-item { color: var(--theme-danger) !important; font-weight: 700; }.commerce-basket__availability-summary { margin: 16px 0 0; font-weight: 700; }
.commerce-basket__free-delivery-note,
.commerce-checkout__free-delivery-note {
    margin: 0 0 18px;
    padding: 13px 15px;
    border: 1px solid color-mix(in srgb, var(--teal-deep) 58%, var(--line));
    border-radius: 10px;
    background: color-mix(in srgb, var(--teal-deep) 8%, var(--theme-surface, var(--surface)));
    color: var(--ink);
}
.commerce-basket__free-delivery-note .eyebrow { margin: 0 0 5px; }
.commerce-basket__free-delivery-note p,
.commerce-checkout__free-delivery-note { font-size: .8rem; line-height: 1.5; }
.commerce-basket__free-delivery-note p:last-child { margin: 0; color: var(--slate); }
.commerce-checkout__free-delivery-note { max-width: 760px; color: var(--slate); }
.commerce-basket__item--free { border-bottom-color: color-mix(in srgb, var(--teal-deep) 42%, var(--line)); }
.commerce-basket__free-item-note { max-width: 480px; color: var(--teal-deep) !important; font-size: .78rem; font-weight: 760; line-height: 1.45; }
.commerce-basket__free-price,
.commerce-checkout__free-price { color: var(--teal-deep); }
.commerce-checkout__line-item--free { border-bottom-color: color-mix(in srgb, var(--teal-deep) 42%, var(--line)) !important; }
.commerce-checkout__line-item--free > span { display: grid; gap: 3px; }
.commerce-checkout__line-item--free small { color: var(--teal-deep); font-size: .7rem; font-weight: 780; }

/* Public navigation follows the same quiet hierarchy as the new admin menu.
   Wide layouts keep disclosures as overlays, so opening a group never changes
   the horizontal position of the surrounding navigation routes. */
@media (min-width: 1050px) {
    html .site-header .nav-wrap {
        flex-wrap: nowrap;
        gap: clamp(12px, 1.4vw, 24px);
    }
    html .site-header .nav-menu {
        display: flex !important;
        flex: 1 1 auto;
        flex-wrap: nowrap !important;
        min-width: 0;
        gap: clamp(7px, .75vw, 13px);
        margin-right: 0;
    }
    html .site-header .nav-menu > a,
    html .site-header .nav-menu > .nav-menu__group {
        flex: 0 0 auto;
        min-width: 0;
    }
    html .site-header .site-header__basket {
        flex: 0 0 auto;
        margin-left: 0;
    }
    html .site-header .nav-menu > .nav-menu__group {
        position: relative;
        overflow: visible;
    }
    html .site-header .nav-menu > .nav-menu__group > .nav-menu__dropdown {
        position: absolute !important;
        z-index: 85;
        top: calc(100% + 9px) !important;
        left: -14px !important;
        display: grid !important;
        width: min(328px, calc(100vw - 48px));
        max-height: min(66dvh, 580px);
        margin: 0;
        padding: 8px;
        overflow-y: auto;
        border: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 20%, transparent);
        border-radius: 10px;
        background: color-mix(in srgb, var(--theme-header-bg, var(--ink-soft)) 91%, var(--teal) 9%);
        box-shadow: 0 19px 42px rgba(0, 0, 0, .34);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-6px) scale(.985);
        transform-origin: top left;
        transition: opacity .18s ease, visibility .18s step-end, transform .18s cubic-bezier(.2, .9, .25, 1);
    }
    html .site-header .nav-menu > .nav-menu__group[open] > .nav-menu__dropdown {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0) scale(1);
        transition: opacity .18s ease, visibility 0s, transform .18s cubic-bezier(.2, .9, .25, 1);
    }
    html .site-header .nav-menu > .nav-menu__group > .nav-menu__dropdown > a {
        min-height: 38px;
        padding: 9px 10px;
    }
    html .site-header .nav-menu .nav-menu__subgroup {
        position: static;
    }
    html .site-header .nav-menu .nav-menu__subgroup > summary {
        display: flex;
        min-height: 38px;
        align-items: center;
        justify-content: space-between;
    }
    html .site-header .nav-menu .nav-menu__subdropdown {
        position: static;
        width: auto;
    }
}

/* At compact sizes the same native details tree becomes a full-width burger
   menu. It remains visible and usable without JavaScript; scripting only
   controls whether the compact menu begins collapsed. */
@media (max-width: 1049px) {
    html .site-header .nav-wrap {
        min-height: 68px;
        flex-wrap: wrap;
        gap: 10px 12px;
        padding-top: 11px;
        padding-bottom: 12px;
    }
    html .site-header .brand { order: 1; }
    html .site-header .nav-menu-toggle {
        display: grid;
        order: 2;
        width: 42px;
        height: 38px;
        align-content: center;
        justify-content: center;
        gap: 5px;
        margin-left: auto;
        padding: 0;
        border: 1px solid var(--line);
        border-radius: 7px;
        background: var(--theme-header-bg, var(--ink));
        cursor: pointer;
    }
    html .site-header .nav-menu-toggle__line {
        display: block;
        width: 19px;
        height: 2px;
        border-radius: 99px;
        background: var(--theme-header-text, #d9dfeb);
        transition: transform .18s ease, opacity .18s ease;
    }
    html .site-header .nav-menu-toggle[aria-expanded="true"] .nav-menu-toggle__line:nth-child(2) {
        transform: translateY(7px) rotate(45deg);
    }
    html .site-header .nav-menu-toggle[aria-expanded="true"] .nav-menu-toggle__line:nth-child(3) {
        opacity: 0;
    }
    html .site-header .nav-menu-toggle[aria-expanded="true"] .nav-menu-toggle__line:nth-child(4) {
        transform: translateY(-7px) rotate(-45deg);
    }
    html .site-header .site-header__basket {
        order: 3;
        margin-left: 0;
    }
    html .site-header .nav-menu {
        position: static !important;
        order: 4;
        display: grid;
        width: 100%;
        flex-basis: 100%;
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
        margin: 2px 0 0;
        padding: 8px;
        border: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 18%, transparent);
        border-radius: 9px;
        background: color-mix(in srgb, var(--theme-header-bg, var(--ink)) 92%, var(--theme-header-text, #d9dfeb) 8%);
        box-shadow: 0 16px 30px rgba(0, 0, 0, .24);
    }
    html.has-js .site-header .nav-menu:not(.is-open) { display: none; }
    html.has-js .site-header .nav-menu.is-open {
        display: grid;
        animation: public-navigation-menu-open .16s ease both;
    }
    html .site-header .nav-menu > a,
    html .site-header .nav-menu > .nav-menu__group {
        display: block;
        width: 100%;
        min-width: 0;
        margin: 0;
    }
    html .site-header .nav-menu > a {
        box-sizing: border-box;
        min-height: 42px;
        padding: 10px 12px;
        border-radius: 6px;
        color: var(--theme-header-text, #d9dfeb);
        font-size: .84rem;
        font-weight: 760;
        line-height: 1.3;
        text-align: left;
    }
    html .site-header .nav-menu > a:hover,
    html .site-header .nav-menu > a:focus-visible,
    html .site-header .nav-menu > a.is-active {
        background: color-mix(in srgb, var(--teal) 13%, transparent);
        color: var(--teal);
        outline: none;
    }
    html .site-header .nav-menu > a.nav-menu__bundle-link {
        display: inline-flex !important;
        align-items: center;
        justify-content: flex-start;
        box-sizing: border-box;
        width: 100% !important;
        min-height: 42px !important;
        padding: 10px 12px !important;
        text-align: left !important;
    }
    html .site-header .nav-menu > .nav-menu__group > summary {
        display: flex;
        box-sizing: border-box;
        width: 100%;
        min-height: 42px;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 10px 12px;
        border-radius: 6px;
        color: var(--theme-header-text, #d9dfeb);
        font-size: .84rem;
        font-weight: 760;
        line-height: 1.3;
        text-align: left;
        white-space: normal;
    }
    html .site-header .nav-menu > .nav-menu__group > summary:hover,
    html .site-header .nav-menu > .nav-menu__group > summary:focus-visible,
    html .site-header .nav-menu > .nav-menu__group[open] > summary {
        background: color-mix(in srgb, var(--teal) 13%, transparent);
        color: var(--teal);
        outline: none;
    }
    html .site-header .nav-menu details > summary > .nav-menu__summary-label {
        min-width: 0;
        color: inherit;
        font-size: inherit;
    }
    html .site-header .nav-menu details > summary > .nav-menu__chevron,
    html .site-header .nav-menu__client-portal > summary > i {
        display: inline-block;
        flex: 0 0 auto;
        margin-left: auto;
        color: var(--teal);
        font-size: 1em;
        font-style: normal;
        line-height: 1;
    }
    html .site-header .nav-menu > .nav-menu__group > .nav-menu__dropdown {
        position: static !important;
        display: none !important;
        box-sizing: border-box;
        width: 100% !important;
        max-height: min(46dvh, 360px);
        margin: 0 0 5px;
        padding: 5px;
        overflow: auto;
        border: 1px solid color-mix(in srgb, var(--theme-header-text, #d9dfeb) 18%, transparent);
        border-radius: 7px;
        background: color-mix(in srgb, var(--theme-header-bg, var(--ink)) 87%, var(--teal) 13%);
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
    }
    html .site-header .nav-menu > .nav-menu__group[open] > .nav-menu__dropdown {
        display: grid !important;
        animation: public-navigation-menu-open .16s ease both;
    }
    html .site-header .nav-menu > .nav-menu__group > .nav-menu__dropdown > a {
        display: flex;
        min-height: 40px;
        align-items: center;
        padding: 9px 10px;
        border-radius: 5px;
        color: var(--theme-header-text, #d9dfeb);
        font-size: .78rem;
        font-weight: 740;
        line-height: 1.35;
        white-space: normal;
    }
    html .site-header .nav-menu .nav-menu__subgroup {
        position: static;
    }
    html .site-header .nav-menu .nav-menu__subgroup > summary {
        display: flex;
        min-height: 38px;
        align-items: center;
        justify-content: space-between;
        padding: 8px 10px;
    }
    html .site-header .nav-menu .nav-menu__subdropdown {
        position: static;
        display: none;
        width: auto;
        margin: 0 5px 5px;
    }
    html .site-header .nav-menu .nav-menu__subgroup[open] > .nav-menu__subdropdown {
        display: grid;
        animation: public-navigation-menu-open .14s ease both;
    }
    html .site-header .nav-menu__client-portal { order: 20; }
    html .site-header .nav-menu__client-portal > summary > strong {
        min-width: 0;
        flex: 1 1 auto;
    }
    html .site-header .nav-menu__client-portal > .nav-menu__dropdown {
        gap: 3px;
        border-left: 2px solid color-mix(in srgb, var(--teal) 62%, transparent);
    }
}

/* Keep full-size product and gallery media aligned to the stage itself.  The
   thumbnail strip belongs inside that stage and scrolls when it has more
   media than will comfortably fit. */
.product-lightbox {
    width: fit-content;
    min-width: min(360px, 94vw);
    max-width: min(96vw, 1300px);
    background: var(--media-canvas);
}
.product-lightbox::backdrop { background: var(--media-backdrop); }
.product-lightbox__thumbnails {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

/* Listing renders are authored square; show their full canvas rather than
   cropping them into the legacy landscape gallery stage. */
.product-gallery__main img {
    aspect-ratio: 1 / 1;
    background: var(--media-canvas);
    object-fit: contain;
}

/* Shared studio surface for public listing imagery.  It is painted behind the
   actual image element, not baked into uploads: opaque media is unchanged,
   while PNG/WebP/AVIF/GIF transparency naturally reveals the same graphite
   studio canvas used by automatically generated STL previews. */
:root { --listing-media-studio-backdrop: url('../images/listing-studio-backdrop.svg'); }
.product-card__image > img,
.gallery-card > .gallery-card__link > img,
.product-gallery__main img,
.product-gallery__thumbnails img,
.product-lightbox__image > img {
    background: var(--listing-media-studio-backdrop) center / cover no-repeat, var(--media-canvas, #060809);
}

@keyframes public-navigation-menu-open {
    from { opacity: 0; transform: translateY(-5px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
    html .site-header .nav-menu-toggle__line,
    html .site-header .nav-menu > .nav-menu__group > .nav-menu__dropdown,
    html .site-header .nav-menu { transition: none; animation: none; }
}

/* Checkout details validation uses the standard error treatment without losing form values. */
.digital-checkout__validation-summary { display: grid; gap: 7px; margin: 0; padding: 13px 14px; border: 1px solid color-mix(in srgb, var(--theme-danger, #b95743) 58%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--theme-danger, #b95743) 9%, var(--theme-surface-muted, var(--paper))); }
.digital-checkout__validation-summary strong { color: var(--ink); font-size: .84rem; }
.digital-checkout__validation-summary p { margin: 0; color: var(--slate); font-size: .76rem; line-height: 1.45; }
.digital-checkout__validation-summary ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.digital-checkout__validation-summary button { padding: 0; border: 0; background: transparent; color: var(--theme-danger, #b95743); font: 760 .75rem/1.35 var(--font-body); text-align: left; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.digital-checkout__validation-summary button:hover,.digital-checkout__validation-summary button:focus-visible { color: var(--ink); outline: none; }
.digital-checkout__field-error { display: block; margin-top: -2px; color: var(--theme-danger, #b95743); font-size: .7rem; font-weight: 760; line-height: 1.35; }
.digital-checkout__fields :is(input,select,textarea)[aria-invalid="true"] { border-color: var(--theme-danger, #b95743); box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-danger, #b95743) 16%, transparent); }

/* Buyer account recovery: a focused, progressively enhanced email journey. */
.buyer-account__auth-links { display: flex; flex-wrap: wrap; gap: 7px 14px; margin: -2px 0 1px; }
.buyer-account__auth-links a { color: var(--teal-deep); font-size: .76rem; font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.buyer-account__provider-panel { width: min(100%, 820px); }
.buyer-account__provider-panel-heading { display: grid; gap: 7px; max-width: 640px; }
.buyer-account__provider-panel-heading .eyebrow,
.buyer-account__provider-panel-heading h2,
.buyer-account__provider-panel-heading p,
.buyer-account__provider-note { margin: 0; }
.buyer-account__provider-panel-heading h2 { color: var(--ink); font-size: 1.12rem; }
.buyer-account__provider-panel-heading p,
.buyer-account__provider-note { color: var(--slate); font-size: .78rem; line-height: 1.5; }
.buyer-account__provider-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.buyer-account__provider-list li { flex: 1 1 220px; min-width: 0; max-width: 320px; }
.buyer-account__provider-list .button { width: 100%; }
@media (max-width: 520px) { .buyer-account__provider-list li { flex-basis: 100%; max-width: none; } }
.buyer-account__recovery-request,
.buyer-account__password-reset { max-width: 620px; }
.buyer-account__recovery-request > footer,
.buyer-account__password-reset > footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-top: 2px; }
.buyer-account__recovery-request > footer .button,
.buyer-account__password-reset > footer .button { min-height: var(--ui-control-height); }
.buyer-account__password-reset > small { margin-top: -8px; color: var(--slate); font-size: .74rem; line-height: 1.45; }
.buyer-account__recovery-help { margin-top: -5px; color: var(--slate); font-size: .74rem; line-height: 1.45; }
.buyer-account__recovery-help a { color: var(--teal-deep); font-weight: 800; }
.buyer-account__recovery-show { display: flex !important; align-items: center; gap: 8px !important; color: var(--slate) !important; font-size: .76rem !important; font-weight: 700 !important; }
.buyer-account__recovery-show input { width: 16px; height: 16px; margin: 0; accent-color: var(--teal-deep); }
.buyer-account__recovery-errors { margin: 0; padding: 11px 12px; border: 1px solid color-mix(in srgb, var(--theme-danger, #b95743) 58%, var(--line)); border-radius: 7px; background: color-mix(in srgb, var(--theme-danger, #b95743) 9%, var(--theme-surface-muted, var(--paper))); color: var(--ink); font-size: .76rem; font-weight: 720; line-height: 1.45; }
.buyer-account__password-reset :is(input,select,textarea)[aria-invalid="true"] { border-color: var(--theme-danger, #b95743); box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-danger, #b95743) 16%, transparent); }
@media (max-width: 520px) {
    .buyer-account__recovery-request > footer,
    .buyer-account__password-reset > footer { display: grid; grid-template-columns: 1fr; }
    .buyer-account__recovery-request > footer .button,
    .buyer-account__password-reset > footer .button { width: 100%; }
}

/* ui-exception: secret-archive-import-review - client-side source-tree review keeps large private uploads deliberate. */
.admin-secret-archive-import { display: grid; gap: var(--admin-panel-gap, 20px); }
.admin-secret-archive-import [data-secret-import-scan-status] { min-width: 0; color: var(--slate); font-size: .73rem; font-weight: 720; line-height: 1.45; }
.admin-secret-archive-import [data-secret-import-scan-status].is-error,
.admin-secret-archive-import [data-secret-import-status].is-error { color: var(--theme-danger, #b95743); font-weight: 790; }
.admin-secret-archive-import__review { display: grid; gap: var(--admin-space-section, 18px); margin: 0; padding: var(--admin-space-major, 22px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--theme-surface, var(--white)); }
.admin-secret-archive-import__review > .admin-section-panel__heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin: 0; padding: 0; border: 0; background: transparent; }
.admin-secret-archive-import__review h3 { margin: 0; color: var(--ink); font-size: 1.35rem; }
.admin-secret-archive-import__review .admin-section-panel__heading p { max-width: 760px; margin: 7px 0 0; color: var(--slate); font-size: .78rem; line-height: 1.5; }
.admin-secret-archive-import__summary { display: grid; flex: 0 0 auto; min-width: 130px; gap: 2px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 7px; background: var(--theme-surface-muted, var(--paper)); color: var(--slate); font-size: .7rem; font-weight: 760; line-height: 1.35; text-align: right; }
.admin-secret-archive-import__summary strong { color: var(--teal-deep); font-size: 1rem; }
.admin-secret-archive-import__review-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.admin-secret-archive-import__review-actions .button { min-height: 36px; font-size: .71rem; }
.admin-secret-archive-import__queue { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.admin-secret-archive-import__card { display: grid; min-width: 0; gap: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper)); }
.admin-secret-archive-import__card.is-high,
.admin-secret-archive-import__card.is-suggested { border-color: color-mix(in srgb, var(--teal-deep) 48%, var(--line)); }
.admin-secret-archive-import__card.is-blocked { border-color: color-mix(in srgb, var(--theme-danger, #b95743) 62%, var(--line)); }
.admin-secret-archive-import__card.is-imported { border-color: color-mix(in srgb, var(--theme-success, #69c9aa) 62%, var(--line)); opacity: .82; }
.admin-secret-archive-import__card > header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 10px; }
.admin-secret-archive-import__select { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface-input, var(--paper)); }
.admin-secret-archive-import__select input[type="checkbox"] { width: 15px; height: 15px; margin: 0; accent-color: var(--teal-deep); cursor: pointer; }
.admin-secret-archive-import__card .eyebrow { margin: 0 0 3px; overflow-wrap: anywhere; color: var(--slate); font-size: .58rem; }
.admin-secret-archive-import__card h4 { margin: 0; overflow-wrap: anywhere; color: var(--ink); font-size: .94rem; line-height: 1.25; }
.admin-secret-archive-import__badge { align-self: start; padding: 4px 6px; border-radius: 99px; background: color-mix(in srgb, var(--slate) 15%, transparent); color: var(--slate); font-size: .59rem; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; white-space: nowrap; }
.admin-secret-archive-import__badge.is-high,
.admin-secret-archive-import__badge.is-suggested { background: color-mix(in srgb, var(--teal-deep) 17%, transparent); color: var(--teal-deep); }
.admin-secret-archive-import__badge.is-blocked { background: color-mix(in srgb, var(--theme-danger, #b95743) 18%, transparent); color: var(--theme-danger, #b95743); }
.admin-secret-archive-import__badge.is-imported { background: color-mix(in srgb, var(--theme-success, #69c9aa) 19%, transparent); color: var(--theme-success, #69c9aa); }
.admin-secret-archive-import__warning,
.admin-secret-archive-import__note { margin: 0; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface, var(--white)); color: var(--slate); font-size: .71rem; font-weight: 700; line-height: 1.42; }
.admin-secret-archive-import__warning { border-color: color-mix(in srgb, var(--theme-danger, #b95743) 52%, var(--line)); color: var(--theme-danger, #b95743); }
.admin-secret-archive-import__files { min-width: 0; }
.admin-secret-archive-import__files summary { color: var(--teal-deep); font-size: .72rem; font-weight: 830; cursor: pointer; }
.admin-secret-archive-import__files ul { display: grid; gap: 4px; max-height: 176px; margin: 7px 0 0; padding: 9px 11px 9px 27px; overflow: auto; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface-input, var(--paper)); color: var(--slate); font-size: .68rem; line-height: 1.36; }
.admin-secret-archive-import__fields { display: grid; grid-template-columns: minmax(0, 1.1fr) repeat(2, minmax(0, .9fr)); gap: 9px; }
.admin-secret-archive-import__fields label { display: grid; min-width: 0; gap: 6px; color: var(--ink); font-size: .7rem; font-weight: 820; line-height: 1.3; }
.admin-secret-archive-import__fields input { box-sizing: border-box; width: 100%; min-width: 0; min-height: var(--ui-control-height, 42px); padding: 0 11px; border: 1px solid var(--line); border-radius: 6px; outline: none; background: var(--theme-surface-input, var(--paper)); color: var(--ink); font: inherit; font-size: .78rem; }
.admin-secret-archive-import__fields input:focus { border-color: var(--teal-deep); box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal-deep) 18%, transparent); }
.admin-secret-archive-import__match-info { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; color: var(--slate); font-size: .69rem; line-height: 1.4; }
.admin-secret-archive-import__match-info > strong { padding: 3px 6px; border-radius: 99px; background: color-mix(in srgb, var(--teal-deep) 12%, transparent); color: var(--teal-deep); font-size: .62rem; font-weight: 800; }
.theme-logo-dark .admin-secret-archive-import__review,
.theme-logo-dark .admin-secret-archive-import__card,
.theme-logo-dark .admin-secret-archive-import__warning,
.theme-logo-dark .admin-secret-archive-import__note,
.theme-logo-dark .admin-secret-archive-import__summary { border-color: #454d52; background: #202529; }
.theme-logo-dark .admin-secret-archive-import :is(.admin-secret-archive-import__select,.admin-secret-archive-import__files ul,.admin-secret-archive-import__fields input) { border-color: #454d52; background: #141719; color: #f1f3f4; }
.theme-logo-dark .admin-secret-archive-import :is(.admin-secret-archive-import__review h3,.admin-secret-archive-import__card h4,.admin-secret-archive-import__fields label) { color: #f1f3f4; }
.theme-logo-dark .admin-secret-archive-import :is([data-secret-import-scan-status],.admin-secret-archive-import__review .admin-section-panel__heading p,.admin-secret-archive-import__summary,.admin-secret-archive-import__card .eyebrow,.admin-secret-archive-import__note,.admin-secret-archive-import__files ul,.admin-secret-archive-import__match-info) { color: #aeb6bc; }
@media (max-width: 800px) { .admin-secret-archive-import__fields { grid-template-columns: 1fr; }.admin-secret-archive-import__review > .admin-section-panel__heading { align-items: stretch; flex-direction: column; }.admin-secret-archive-import__summary { text-align: left; } }
@media (max-width: 520px) { .admin-secret-archive-import__card > header { grid-template-columns: auto minmax(0, 1fr); }.admin-secret-archive-import__badge { grid-column: 2; justify-self: start; }.admin-secret-archive-import__review { padding: 15px; } }

/* Public catalogue result pages keep the initial document compact while retaining normal links without JavaScript. */
.store-results-region { position: relative; }
.store-results-region[aria-busy="true"] { cursor: progress; opacity: .6; pointer-events: none; }
.store-filter.is-loading .button { cursor: progress; }
.store-pagination { display: grid; grid-template-columns: minmax(100px, 1fr) auto minmax(100px, 1fr); align-items: center; gap: 14px; margin-top: 31px; padding-top: 24px; border-top: 1px solid var(--line); }
.store-pagination--top { margin: 0 0 26px; padding: 0 0 24px; border-top: 0; border-bottom: 1px solid var(--line); }
.store-pagination__previous { justify-self: start; }
.store-pagination__next { justify-self: end; }
.store-pagination__previous, .store-pagination__next, .store-pagination__pages a, .store-pagination__pages .is-current { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 6px; background: var(--theme-surface, var(--white)); color: var(--ink); font-size: .77rem; font-weight: 820; line-height: 1; text-decoration: none; }
.store-pagination__previous, .store-pagination__next { padding: 0 13px; }
.store-pagination__pages { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.store-pagination__pages a, .store-pagination__pages .is-current { min-width: 38px; padding: 0 8px; }
.store-pagination a:hover, .store-pagination a:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }
.store-pagination__pages .is-current { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); }
.store-pagination .is-disabled { border-color: var(--line); background: var(--theme-surface-muted, var(--paper)); color: var(--slate); opacity: .56; }
.store-pagination__ellipsis { display: inline-grid; width: 22px; height: 38px; place-items: center; color: var(--slate); font-weight: 850; }
.theme-logo-dark .store-pagination { border-color: #41484d; }
.theme-logo-dark .store-pagination--top { border-bottom-color: #41484d; }
.theme-logo-dark .store-pagination__previous, .theme-logo-dark .store-pagination__next, .theme-logo-dark .store-pagination__pages a, .theme-logo-dark .store-pagination__pages .is-current { border-color: #454d52; background: #252a2d; color: #f1f3f4; }
.theme-logo-dark .store-pagination a:hover, .theme-logo-dark .store-pagination a:focus-visible { border-color: var(--teal); color: var(--teal); }
.theme-logo-dark .store-pagination__pages .is-current { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }
.theme-logo-dark .store-pagination .is-disabled { border-color: #454d52; background: #202529; color: #aeb6bc; }
.theme-logo-dark .store-pagination__ellipsis { color: #aeb6bc; }
@media (max-width: 620px) { .store-pagination { grid-template-columns: 1fr 1fr; }.store-pagination__pages { grid-column: 1 / -1; grid-row: 1; }.store-pagination__previous { grid-column: 1; grid-row: 2; }.store-pagination__next { grid-column: 2; grid-row: 2; } }

/* ui-standard: admin catalogue pagination keeps selection bounded to the listings shown on this page. */
.admin-catalogue-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 20px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--theme-surface-muted, var(--paper)); }
.admin-catalogue-pagination > p { margin: 0; color: var(--slate); font-size: .76rem; font-weight: 760; }
.admin-catalogue-pagination > div { display: grid; grid-template-columns: minmax(94px, 1fr) auto minmax(94px, 1fr); align-items: center; gap: 8px; }
.admin-catalogue-pagination__previous { justify-self: start; }
.admin-catalogue-pagination__next { justify-self: end; }
.admin-catalogue-pagination__previous, .admin-catalogue-pagination__next, .admin-catalogue-pagination__pages a, .admin-catalogue-pagination__pages .is-current { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 5px; background: var(--theme-surface, var(--white)); color: var(--ink); font-size: .72rem; font-weight: 820; line-height: 1; text-decoration: none; }
.admin-catalogue-pagination__previous, .admin-catalogue-pagination__next { padding: 0 10px; }
.admin-catalogue-pagination__pages { display: flex; align-items: center; justify-content: center; gap: 5px; margin: 0; padding: 0; list-style: none; }
.admin-catalogue-pagination__pages a, .admin-catalogue-pagination__pages .is-current { min-width: 34px; padding: 0 7px; }
.admin-catalogue-pagination a:hover, .admin-catalogue-pagination a:focus-visible { border-color: var(--teal-deep); color: var(--teal-deep); outline: none; }
.admin-catalogue-pagination__pages .is-current { border-color: var(--teal-deep); background: var(--teal-deep); color: var(--white); }
.admin-catalogue-pagination .is-disabled { border-color: var(--line); background: var(--theme-surface, var(--paper)); color: var(--slate); opacity: .56; }
.admin-catalogue-pagination__ellipsis { display: inline-grid; width: 20px; height: 34px; place-items: center; color: var(--slate); font-weight: 850; }
.theme-logo-dark .admin-catalogue-pagination { border-color: #41484d; background: #202529; }
.theme-logo-dark .admin-catalogue-pagination > p { color: #aeb6bc; }
.theme-logo-dark .admin-catalogue-pagination__previous, .theme-logo-dark .admin-catalogue-pagination__next, .theme-logo-dark .admin-catalogue-pagination__pages a, .theme-logo-dark .admin-catalogue-pagination__pages .is-current { border-color: #454d52; background: #252a2d; color: #f1f3f4; }
.theme-logo-dark .admin-catalogue-pagination a:hover, .theme-logo-dark .admin-catalogue-pagination a:focus-visible { border-color: var(--teal); color: var(--teal); }
.theme-logo-dark .admin-catalogue-pagination__pages .is-current { border-color: var(--teal-deep); background: var(--teal-deep); color: #171a1c; }
.theme-logo-dark .admin-catalogue-pagination .is-disabled { border-color: #454d52; background: #202529; color: #aeb6bc; }
.theme-logo-dark .admin-catalogue-pagination__ellipsis { color: #aeb6bc; }
@media (max-width: 620px) { .admin-catalogue-pagination { align-items: stretch; flex-direction: column; }.admin-catalogue-pagination > div { width: 100%; grid-template-columns: 1fr 1fr; }.admin-catalogue-pagination__pages { grid-column: 1 / -1; grid-row: 1; }.admin-catalogue-pagination__previous { grid-column: 1; grid-row: 2; }.admin-catalogue-pagination__next { grid-column: 2; grid-row: 2; }.admin-catalogue-pagination__previous, .admin-catalogue-pagination__next { justify-content: center; width: 100%; } }

/* Compact shared price-range controls for public and admin catalogue filters. */
.store-filter,
.admin-catalogue-filter {
    grid-template-columns: minmax(180px, 1fr) minmax(145px, .48fr) minmax(220px, .62fr) auto auto;
    grid-template-areas:
        "search category price action clear"
        "categories categories price-copy . .";
}

.store-filter__search,
.admin-catalogue-filter__search {
    grid-area: search;
}

.store-filter > label:not(.store-filter__search),
.admin-catalogue-filter > label:not(.admin-catalogue-filter__search) {
    grid-area: category;
}

.store-filter > button,
.admin-catalogue-filter > button {
    grid-area: action;
}

.store-filter__clear,
.admin-catalogue-filter > a {
    grid-area: clear;
}

.store-filter__categories,
.admin-catalogue-filter__categories {
    grid-area: categories;
}

.catalogue-price-range {
    display: grid;
    grid-area: price;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.catalogue-price-range__copy {
    display: grid;
    grid-area: price-copy;
    min-width: 0;
    gap: 0;
}

.catalogue-price-range__legend {
    margin: 0;
    color: var(--ink);
    font-size: .73rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.catalogue-price-range label {
    min-width: 0;
}

.catalogue-price-range__copy small {
    color: var(--slate);
    font-size: .68rem;
    font-weight: 650;
    letter-spacing: normal;
    line-height: 1.35;
    text-transform: none;
}

.catalogue-price-range__error {
    margin: -5px 0 14px;
    padding: 9px 11px;
    border: 1px solid #efc0b5;
    border-left: 3px solid #c8543d;
    border-radius: 5px;
    background: #fff5f1;
    color: #8a3023;
    font-size: .78rem;
    font-weight: 750;
    line-height: 1.4;
}

.theme-logo-dark .catalogue-price-range__legend {
    color: #f1f3f4;
}

.theme-logo-dark .catalogue-price-range__copy small {
    color: #aeb6bc;
}

.theme-logo-dark .catalogue-price-range__error {
    border-color: #7e4a40;
    border-left-color: #ff7b61;
    background: #35221e;
    color: #ffd0c6;
}

@media (max-width: 990px) {
    .store-filter,
    .admin-catalogue-filter {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "search search"
            "category price"
            ". price-copy"
            "action clear"
            "categories categories";
    }

    .store-filter__search,
    .admin-catalogue-filter__search {
        grid-area: search;
    }

    .store-filter__categories,
    .admin-catalogue-filter__categories {
        grid-area: categories;
    }
}

@media (max-width: 540px) {
    .store-filter,
    .admin-catalogue-filter {
        grid-template-columns: 1fr;
        grid-template-areas:
            "search"
            "category"
            "price"
            "price-copy"
            "action"
            "clear"
            "categories";
    }

    .catalogue-price-range {
        grid-area: price;
        grid-template-columns: 1fr;
    }

    .store-filter__categories,
    .admin-catalogue-filter__categories {
        grid-area: categories;
    }
}
