/*Common CSS*/
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

:root{
  --body-font-size: 14px;
  --storesuite-primary-bg: #2d5bdb;
  --storesuite-primary-bg-hover: #213fd4;
  --storesuite-text-black: #334155;
  --storesuite-text-color: rgb(71 85 105);
  --storesuite-text-color-light: rgb(130 130 130);
  --storesuite-icon-color: rgb(148 163 184);
  --storesuite-bg-color-light: #f7f7f7;
  --storesuite-bg-color-muted: #f8f9fa;
  --storesuite-border-color: rgb(226 232 240);
  --storesuite-button-text-color: #ffffff;
  --storesuite-button-text-hover-color: #ffffff;
  --storesuite-sidebar-bg-color: #ffffff;
  --storesuite-sidebar-border-color: rgb(226 232 240);
  --storesuite-sidebar-menu-text: rgb(71 85 105);
  --storesuite-sidebar-active-text: #213fd4;
  --storesuite-sidebar-active-background: #213fd4;
  --storesuite-sidebar-width-expanded: 250px;
  --storesuite-sidebar-width-collapsed: 72px;
  --storesuite-page-bg: #f3f4f6;
  --storesuite-surface-bg: #ffffff;
  --storesuite-surface-elevated: #ffffff;
}

/*
 * Dark mode neutrals.
 *
 * `data-theme="dark"` is set on the <html> element before first paint by the
 * inline script printed in Main::add_storesuite_theme_mode_script(), then
 * toggled at runtime by handleThemeToggle() in global.js.
 *
 * Only the neutrals are redefined here — surfaces, text and borders. The accent
 * variables (--storesuite-primary-bg, button text, sidebar active background) are
 * deliberately absent so they keep inheriting from the `:root{}` block, i.e. the
 * store's light palette. That is what lets a Crimson store stay crimson in dark
 * mode. A saved dark theme overrides these via the `html[data-theme="dark"]:root`
 * block injected by Main::add_storesuite_css_variables().
 */
:root[data-theme="dark"] {
  --storesuite-text-black: #f1f5f9;
  --storesuite-text-color: rgb(203 213 225);
  --storesuite-text-color-light: rgb(148 163 184);
  --storesuite-icon-color: rgb(148 163 184);
  --storesuite-bg-color-light: #1e293b;
  --storesuite-bg-color-muted: #172033;
  --storesuite-border-color: rgb(51 65 85);
  --storesuite-sidebar-bg-color: #1e293b;
  --storesuite-sidebar-border-color: rgb(51 65 85);
  --storesuite-sidebar-menu-text: rgb(203 213 225);
  --storesuite-sidebar-active-text: #ffffff;
  --storesuite-page-bg: #0f172a;
  --storesuite-surface-bg: #1e293b;
  --storesuite-surface-elevated: #243449;
}
/* Apply border-box to all elements and pseudo-elements */
*,
*::before,
*::after {
    box-sizing: border-box;
}
ol, ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

 html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/poppins-v24-latin-regular.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/poppins-v24-latin-italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/poppins-v24-latin-500.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 500;
  src: url('fonts/poppins-v24-latin-500italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/poppins-v24-latin-600.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 600;
  src: url('fonts/poppins-v24-latin-600italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/poppins-v24-latin-700.woff2') format('woff2');
}

body {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
  background: #f3f4f6;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}
/* Modern Browsers */
input::placeholder,
textarea::placeholder {
  color: var(--storesuite-text-color-light);
  opacity: 1; /* Firefox fix */
}

/* WebKit Browsers (Chrome, Safari, Edge) */
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: var(--storesuite-text-color-light);
}

/* Firefox 19+ */
input::-moz-placeholder,
textarea::-moz-placeholder {
  color: var(--storesuite-text-color-light);
  opacity: 1;
}

/* Firefox 18- */
input:-moz-placeholder,
textarea:-moz-placeholder {
  color: var(--storesuite-text-color-light);
  opacity: 1;
}

/* Internet Explorer 10-11 */
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: var(--storesuite-text-color-light);
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}
.my-storesuite-page-content{
  font-size: var(--body-font-size);
}
.d-inline{
  display: inline-block;
}
.text-right{
  text-align: right!important;
}
.my-storesuite-page-content ins {
  text-decoration: none;
}

/*Common Styles*/
.storesuite-mb-20{
  margin-bottom: 20px;
}
.storesuite-mb-24{
  margin-bottom: 24px;
}
.storesuite-card {
  background: #fff;
  border-radius: 6px;
  padding: 24px;
}
.my-storesuite-container .storesuite-form-group label {
  font-size: 14px;
  font-weight: 500;
  display: block;
  color: var(--storesuite-text-color);
  margin-bottom: 5px;
}

.my-storesuite-container .storesuite-form-control{
  width: 100%;
}
.my-storesuite-container .storesuite-form-control, .woocommerce_order_items_wrapper input[type="text"], .woocommerce_order_items_wrapper input[type="number"], .woocommerce_order_items_wrapper select, .woocommerce_order_items_wrapper textarea, .wc-order-refund-items input[type="text"]{
  border-radius: 0px;
  font-size: 14px;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 6px;
  padding: 8px 12px;
  height: 40px;
  color: var(--storesuite-text-color);
  transition: .3s;
}
.storesuite-form-group .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
  margin-top: 0;
}
.my-storesuite-inline-form button {
  height: 35px!important;
}
.my-storesuite-container .storesuite-form-control:focus, .my-storesuite-container .storesuite-form-control:focus-within, .my-storesuite-container .storesuite-form-control:focus-visible, .select2-search--dropdown .select2-search__field:focus {
  box-shadow: none;
  outline: none;
  border: 1px solid var(--storesuite-primary-bg);
}

/* Permalink field: a static URL-base prefix joined to the editable slug input. */
.my-storesuite-container .storesuite-permalink-group {
  display: flex;
  align-items: stretch;
  width: 100%;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 6px;
  background-color: #fff;
  overflow: hidden;
  transition: .3s;
}
.my-storesuite-container .storesuite-permalink-group:focus-within {
  border-color: var(--storesuite-primary-bg);
}
.my-storesuite-container .storesuite-permalink-prefix {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  font-size: 14px;
  color: #6c757d;
  background-color: #f5f5f5;
  border-right: 1px solid var(--storesuite-border-color);
  white-space: nowrap;
  user-select: none;
}
.my-storesuite-container .storesuite-permalink-group .storesuite-form-control,
.my-storesuite-container .storesuite-permalink-group .storesuite-form-control:focus {
  flex: 1;
  min-width: 0;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  box-shadow: none;
}

.my-storesuite-container .storesuite-password-field {
  position: relative;
}

.my-storesuite-container .storesuite-password-field .storesuite-form-control {
  padding-right: 42px;
}

.my-storesuite-container .storesuite-password-toggle {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: #64748b;
  padding: 0;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.my-storesuite-container .storesuite-password-toggle:hover,
.my-storesuite-container .storesuite-password-toggle:focus-visible {
  color: #334155;
}

.my-storesuite-container .storesuite-password-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.my-storesuite-container .storesuite-password-icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* Field Validation Styles */
.my-storesuite-container .storesuite-field-invalid {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.1);
}

.my-storesuite-container .storesuite-field-invalid:focus {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.my-storesuite-container .storesuite-field-error {
  display: block;
  color: #dc3545;
  font-size: 13px;
  margin-top: 5px;
  font-weight: 400;
}

.my-storesuite-page-content {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

/*Left Navigation*/
nav.my-storesuite-left-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

nav.my-storesuite-left-navigation ul li {
  display: block;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

nav.my-storesuite-left-navigation ul li a {
  display: block;
  color: var(--storesuite-text-black);
  padding: 10px 15px;
  text-transform: capitalize;
  font-size: 15px;
}

nav.my-storesuite-left-navigation {
  background: var(--storesuite-bg-color-light);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}

nav.my-storesuite-left-navigation ul li a:hover, nav.my-storesuite-left-navigation ul li.is-active a {
  background: #e04d3b;
  color: #fff;
}

nav.my-storesuite-left-navigation ul li:first-child a:hover, nav.my-storesuite-left-navigation ul li:first-child.is-active a {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

nav.my-storesuite-left-navigation ul li:last-child a:hover, nav.my-storesuite-left-navigation ul li:last-child.is-active a {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

.my-storesuite-container a, .my-storesuite-container a:hover{
  text-decoration: none!important;
  transition: .3s;
}
/*Common Table Style*/
.storesuite-table-filter {
  margin-bottom: 15px;
}
.storesuite-table-search-input {
  display: flex;
  align-items: center;
  background: #fff;
  max-width: 290px;
  border-radius: 6px;
  border: 1px solid var(--storesuite-border-color);
}

.storesuite-table-search-input input {
  border: none;
  width: calc(100% - 40px);
  padding: 11px 0;
  border-radius: 6px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  -ms-border-radius: 6px;
  -o-border-radius: 6px;
}

.storesuite-table-search-icon svg {
  width: 16px;
  height: 16px;
  fill: var(--storesuite-icon-color);
}

.storesuite-table-search-icon {
  width: 40px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.storesuite-table-header-part {
  margin-bottom: 15px;
}

.my-storesuite-wrapper .storesuite-form-group.storesuite-bulk-product-actions {
  margin-bottom: 0;
  gap: 5px;
}

.storesuite-table-search-input input:focus, .storesuite-table-search-input input:focus-within {
  box-shadow: none;
  outline: none;
}
.storesuite-table-responsive{
  overflow-x: auto;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
}
.my-storesuite-product-list-table tbody tr td:first-child {
  font-weight: 500;
}

table.my-storesuite-tbl{
  border-collapse: collapse;
  width: 100%;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
}
table.my-storesuite-tbl thead {
  background-color: #fff;
}
table.my-storesuite-tbl thead th{
  color: var(--storesuite-text-black);
}
table.my-storesuite-product-list-table tbody tr td.tbl-product-name {
  width: 280px;
}
table.my-storesuite-tbl>tbody {
  background-color: #fff;
}
.my-storesuite-tbl td.action-buttons {
  width: 245px;
}
.my-storesuite-tbl:not(.my-storesuite-tags-table):not(.my-storesuite-attributes-table):not(.storesuite-attribute-terms-table) tr td:first-child a {
  color: var(--storesuite-primary-bg);
}
.my-storesuite-tbl:not(.my-storesuite-tags-table):not(.my-storesuite-attributes-table):not(.storesuite-attribute-terms-table) tr td:first-child a:hover{
  text-decoration: underline;
}

.my-storesuite-tbl thead th {
  padding: 10px!important;
  text-align: left;
  text-transform: uppercase;
  font-weight: 600;
}
table.my-storesuite-tbl caption+thead tr:first-child td, table.my-storesuite-tbl caption+thead tr:first-child th, table.my-storesuite-tbl colgroup+thead tr:first-child td, table.my-storesuite-tbl colgroup+thead tr:first-child th, table.my-storesuite-tbl thead:first-child tr:first-child td, table.my-storesuite-tbl thead:first-child tr:first-child th, table.my-storesuite-tbl td{
  border: 0px!important;
}
.my-storesuite-tbl del {
  color: #777;
}

.woocommerce table.shop_table td ins {
  text-decoration: none;
}
table.my-storesuite-tbl tbody tr:nth-last-child(-n+2) .storesuite-dropdown .storesuite-dropdown-menu {
  top: auto;
  bottom: 20px;
}

/*Filter Design*/
form.storesuite-filters-form .row>* {
    padding-left: 5px;
    padding-right: 5px;
}

form.storesuite-filters-form .row {
    margin-left: -5px;
    margin-right: -5px;
}

/*Dropdown*/
.storesuite-dropdown-icon{
  cursor: pointer;
}
.storesuite-dropdown-menu{
  display: none;
}
.storesuite-dropdown-menu .dropdown-link {
  display: block;
  box-sizing: border-box;
  width: 100%;
  cursor: pointer;
  gap: 8px;
  padding: 8px 15px;
  font-size: 14px;
  text-align: left;
  white-space: nowrap;
  color: var(--storesuite-text-color);
  font-weight: 400;
  transition: .3s;
  -webkit-transition: .3s;
  -moz-transition: .3s;
  -ms-transition: .3s;
  -o-transition: .3s;
}

.storesuite-dropdown {
  position: relative;
}

.storesuite-dropdown .storesuite-dropdown-menu {
  position: absolute;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.1)!important;
  background: #fff;
  border-radius: 5px;
  z-index: 9;
  width: max-content;
  min-width: 120px;
  max-width: 260px;
  right: 0;
  top: 20px;
  padding: 5px 0;
  box-shadow: 0px 10px 15px -3px rgba(0,0,0,0.1);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}
.my-storesuite-attributes-table .storesuite-dropdown .storesuite-dropdown-menu {
  width: 160px;
}
.storesuite-configure-terms-link {
  margin-top: 4px;
  font-size: 12px;
}
.storesuite-configure-terms-link a,
.storesuite-configure-terms-link a:visited,
.storesuite-configure-terms-link a:focus {
  color: var(--storesuite-primary-bg) !important;
  text-decoration: none;
}
.storesuite-configure-terms-link a:hover {
  text-decoration: underline;
}
.storesuite-dropdown svg{
  fill: var(--storesuite-icon-color);
}

.storesuite-dropdown-menu .dropdown-link:hover{
  background: var(--storesuite-primary-bg)!important;
  color: #fff;
}

.storesuite-dropdown-menu .dropdown-link:hover svg{
  fill: #fff;
}

/*Stock Badge*/
.storesuite-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 11px;
  line-height: 1;
  text-transform: capitalize;
  background-color: rgb(243 244 246);
  color: rgb(107 114 128);
}

.storesuite-badge.storesuite-badge-success{
  background: rgb(209 250 229);
  color: rgb(16 185 129 );
}

.storesuite-badge.storesuite-badge-danger {
  color: rgb(244 63 94);
  background: rgb(255 228 230);
}
.storesuite-badge.storesuite-badge-warning{
  background-color: rgb(254 243 199);
  color: rgb(245 158 11);
}
.storesuite-badge.storesuite-badge-info{
  background-color: rgb(224 231 255);
  color: rgb(99 102 241);
}

/*Checkbox Style*/
.my-storesuite-checkbox {
  position: relative;
  width: 16px;
  height: 16px;
  display: inline-block;
}

.my-storesuite-checkbox-input {
  position: absolute;
  z-index: 100;
  width: 100%;
  height: 100%;
  opacity: 0;
  margin: 0;
  left: 0;
  top: 0;
}

.my-storesuite-checkbox-back {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 5px;
  border: 1px solid rgba(0,0,0,.3)!important;
  box-sizing: border-box;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}
.my-storesuite-tick {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  color: #fff;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
}

.my-storesuite-checkbox-input:checked ~ .my-storesuite-checkbox-back {
  background: var(--storesuite-primary-bg);
  border-color: var(--storesuite-primary-bg);
}

.my-storesuite-checkbox-input:checked ~ .my-storesuite-tick {
  opacity: 1;
  visibility: visible;
}


/*Proudct List Page*/
.my-storesuite-tbl td, .my-storesuite-tbl th{
  padding: 12px;
}
.my-storesuite-tbl a{
  color: var(--storesuite-text-black);
  display: inline-block;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
  outline: 0 !important;
}
.my-storesuite-tbl a:hover{
  color: var(--storesuite-primary-bg);
  text-decoration: none;
}
table.my-storesuite-tbl .action-buttons a, table.my-storesuite-tbl .action-buttons button{
  margin: 2px 3px!important;
  font-weight: 400!important;
  font-size: 13px!important;
  padding: 0px 12px!important;
  height: 25px!important;
  line-height: 25px!important;
  border-radius: 5px;
  color: #fff;
  display: inline-flex;
  border: 0px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}

table .action-buttons a.edit, .my-storesuite-container button.edit {
  background: #34495e;
}

table .action-buttons a.delete, table .action-buttons button.delete {
  background: var(--storesuite-primary-bg);
}

table .action-buttons a.view {
  background: #27ae60;
}
.product-list-action form{
  display: inline-block;
}
.my-storesuite-alert.alert-dismissible .close {
  font-weight: 400;
  font-size: 20px;
}
.my-storesuite-alert.alert-dismissible .close:hover, .my-storesuite-alert.alert-dismissible .close:focus{
  background: none;
}

.my-storesuite-alert.alert {
  padding: 10px 15px;
  border-radius: 0px!important;
}
.my-storesuite-thumb {
  width: 40px;
  border-radius: 5px;
  height: 40px;
  object-fit: cover;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}

table.my-storesuite-tbl tbody tr td{
  border-top: 1px solid var(--storesuite-border-color)!important;
}
.inline-button {
  background: transparent;
  border: none;
  padding: 0;
}

.product-list-action a, .product-list-action button {
  color: #787c82;
  font-size: 13px;
  display: inline-block;
  margin-right: 7px;
  border-right: 1px solid #ddd;
  line-height: 1;
  padding-right: 7px;
}

.product-list-action button {
  border-right: 0px;
  padding-right: 0;
  margin-right: 0;
}

.product-list-action {
  visibility: hidden;
  opacity: 0;
  transition: .3s;
}

tr.single-product-item:hover .product-list-action {
  opacity: 1;
  visibility: visible;
}

/* Always show actions in attribute terms table */
.storesuite-attribute-terms-table .product-list-action {
  visibility: visible;
  opacity: 1;
}

/*Order List Page*/
span.order-pending {
  color: #f39c12;
  text-transform: capitalize;
}

span.status {
  text-transform: capitalize;
}

span.order-processing {
  color: #3498db;
}
span.order-completed {
  color: #27ae60;
}

span.order-cancelled {
  color: #e74c3c;
}

span.order-refunded {
  color: #17a2b8;
}

span.order-on-hold {
  color: #9b59b6;
}

span.order-failed {
  color: #e2806a;
}

/*Button Style*/
.my-storesuite-button, .wc-order-data-row.wc-order-bulk-actions button.button, .wc-order-data-row.wc-order-add-item .button, button.add_order_item_meta.button {
  background: var(--storesuite-primary-bg);
  display: inline-flex;
  align-items: center;
  padding: 10px 20px;
  font-size: 14px;
  color: var(--storesuite-button-text-color);
  border-radius: 6px;
  cursor: pointer;
  line-height: 1.15;
  border: 1px solid var(--storesuite-primary-bg);
  justify-content: center;
}
.my-storesuite-button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}
.my-storesuite-button svg{
  fill: var(--storesuite-button-text-color);
  width: 11px;
  height: 11px;
  display: inline-block;
  margin-right: 5px;
}
.storesuite-button-group {
  display: flex;
  justify-content: space-between;
}
.my-storesuite-button.my-storesuite-button-light, .wc-order-data-row.wc-order-bulk-actions button.button.refund-items, .wc-order-data-row.wc-order-add-item .button.cancel-action {
  color: var(--storesuite-primary-bg);
  background: #fff;
  border-color: var(--storesuite-border-color);
  color: var(--storesuite-text-color-light);
}
.my-storesuite-button.my-storesuite-button-light svg{
  fill: var(--storesuite-icon-color);
}

.my-storesuite-button:hover, .my-storesuite-button.my-storesuite-button-light:hover, .wc-order-data-row.wc-order-bulk-actions button.button:hover, .wc-order-data-row.wc-order-bulk-actions button.button.refund-items:hover, .wc-order-data-row.wc-order-add-item .button.cancel-action:hover, .wc-order-data-row.wc-order-add-item .button.button-primary.save-action, button.add_order_item_meta.button, button.add_order_item_meta.button:hover {
  color: var(--storesuite-button-text-hover-color);
  background: var(--storesuite-primary-bg-hover);
  border: 1px solid var(--storesuite-primary-bg-hover);
}
.refund-actions button.button.cancel-action {
  background: rgb(244 63 94);
}

/* Soft primary button — primary text on light-primary bg, inverts on hover. */
.my-storesuite-button.my-storesuite-button-soft {
  color: var(--storesuite-primary-bg);
  background: color-mix(in srgb, var(--storesuite-primary-bg) 12%, #fff);
  border: 1px solid color-mix(in srgb, var(--storesuite-primary-bg) 18%, #fff);
}
.my-storesuite-button.my-storesuite-button-soft svg {
  fill: var(--storesuite-primary-bg);
}
.my-storesuite-button.my-storesuite-button-soft:hover,
.my-storesuite-button.my-storesuite-button-soft:focus {
  color: #fff;
  background: var(--storesuite-primary-bg);
  border-color: var(--storesuite-primary-bg);
}
.my-storesuite-button.my-storesuite-button-soft:hover svg,
.my-storesuite-button.my-storesuite-button-soft:focus svg {
  fill: #fff;
}

/* Soft danger button — red text on light-red bg, inverts on hover. */
.my-storesuite-button.my-storesuite-button-danger-soft {
  color: #ef4444;
  background: #fef2f2;
  border: 1px solid #fee2e2;
}
.my-storesuite-button.my-storesuite-button-danger-soft svg {
  fill: #ef4444;
}
.my-storesuite-button.my-storesuite-button-danger-soft:hover,
.my-storesuite-button.my-storesuite-button-danger-soft:focus {
  color: #fff;
  background: #ef4444;
  border-color: #ef4444;
}
.my-storesuite-button.my-storesuite-button-danger-soft:hover svg,
.my-storesuite-button.my-storesuite-button-danger-soft:focus svg {
  fill: #fff;
}

.refund-actions button.button.cancel-action:hover {
  background: red;
}

/*Add Product Form*/
.my-storesuite-container textarea.storesuite-form-control {
  height: auto;
}
.my-storesuite-container button.storesuite-submit-btn {
  border: 0px;
  padding: 8px 25px!important;
  height: auto!important;
  font-size: 15px!important;
  margin: 0!important;
  background: #e74c3c;
}
label span.req {
  color: #e74c3c;
}

.storesuite-form-group.is-invalid .wp-core-ui.wp-editor-wrap .wp-editor-container {
  border-color: #dc3545;
}

.storesuite-form-group.is-invalid .invalid-feedback {
  display: block;
}

.invalid-feedback {
  font-size: 13px;
}
a.sale_schedule, a.cancel_sale_schedule {
  color: var(--storesuite-primary-bg);
  font-size: 13px;
}

/*Image Fields*/
.image-drop-container {
  text-align: center;
  border: 1px dashed #dddddd;
  cursor: pointer;
  transition: .3s;
  position: relative;
  background: #fff;
  border-radius: 8px;
  padding: 5px;
  z-index: 1;
}
.image-drop-container:hover{
  border-color: var(--storesuite-primary-bg);
}
.image-drop-container  .image-drop-text{
  padding: 20px 0;
  color: #495057;
  background: #f3f4f6;
  border-radius: 5px;
}
.image-drop-container span {
  display: block;
}

.image-drop-container i {
  font-size: 35px;
  color: #ddd;
}
.image-drop-container span span {
  display: inline-block;
  color: #495057;
}
.preview-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.preview-image {
  position: absolute;
  top: 50%;
  z-index: -1;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 61px;
  height: 61px;
}
.image-drop-bg .image-drop-text {
  opacity: 0;
  visibility: hidden;
  background: rgba(0, 0, 0, 0.4);
  transition: .3s;
  color: #fff;
}

.image-drop-bg:hover .image-drop-text {
  opacity: 1;
  visibility: visible;
}

.image-drop-bg .image-drop-text i {
  color: #fff;
}
.preview-image.privew-gimages {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  transform: inherit;
  height: auto;
  width: auto;
  z-index: 1;
  position: inherit;
  -webkit-transform: inherit;
  -moz-transform: inherit;
  -ms-transform: inherit;
  -o-transform: inherit;
}
.preview-image.privew-gimages .preview-image-box {
  border: 1px dashed #dddddd;
  border-radius: 5px;
  display: inline-flex;
  padding: 4px;
  align-items: center;
  justify-content: center;
  height: 71.59px;
  width: 71.59px;
  position: relative;
}
.preview-image.privew-gimages .preview-image-box .remove-gallery-image {
  position: absolute;
  border: none;
  background: transparent;
  color: #e74c3c;
  font-size: 19px;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.preview-image.privew-gimages .preview-image-box:hover .remove-gallery-image {
  opacity: 1;
  visibility: visible;
}

.preview-image.privew-gimages .preview-image-box .remove-gallery-image::after {
  position: absolute;
  content: "";
  background: #000;
  z-index: -1;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 5px;
  opacity: 0.2;
}
.preview-image.privew-gimages img{
  border-radius: 2.5px;
  -webkit-border-radius: 2.5px;
  -moz-border-radius: 2.5px;
  -ms-border-radius: 2.5px;
  -o-border-radius: 2.5px;
}
.image-drop-container .add-gl-img-icon, .sm-gallery-image-uploader span.add-gl-img-text{
  display: none;
}
.sm-gallery-image-uploader span.add-gl-img-icon {
  display: block;
}

.image-drop-container.sm-gallery-image-uploader {
  display: flex;
  width: 71.59px;
  height: 71.59px;
  align-items: center;
  justify-content: center;
}

.image-drop-container.sm-gallery-image-uploader span.add-gl-img-icon svg {
  width: 16px;
  height: 16px;
}

.image-drop-container.sm-gallery-image-uploader .image-drop-text {
  width: 100%;
  height: 100%;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.image-drop-container .add-gl-img-icon {
  height: 16px;
}
.product-gallery-images-wrapper {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.product-gallery-images-wrapper.gallery-has-no-image {
  display: block;
}

/*Product form date picker*/
.storesuite-main-dashboard .ui-datepicker {
  background: #fff;
  border: 1px solid #ddd;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  line-height: 1.4;
  color: #333;
  border-radius: 6px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
  padding: 1em;
  width: auto;
  max-width: 320px;
  box-sizing: border-box;
  z-index: 1000;
}

.storesuite-main-dashboard .ui-datepicker .ui-datepicker-header {
  background: #f8f8f8;
  border: none;
  color: #333;
  font-weight: 600;
  padding: 0.5em 0;
  text-align: center;
}
.storesuite-main-dashboard .ui-datepicker .ui-datepicker-prev, .storesuite-main-dashboard .ui-datepicker .ui-datepicker-next{
  top: 8px;
}

.storesuite-main-dashboard .ui-datepicker .ui-datepicker-title {
  font-size: 15px;
  margin: 0;
}

.storesuite-main-dashboard .ui-datepicker table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 0.5em;
}

.storesuite-main-dashboard .ui-datepicker th {
  color: #777;
  font-weight: 500;
  padding: 0.3em;
  text-transform: uppercase;
  font-size: 12px;
}

.storesuite-main-dashboard .ui-datepicker td {
  text-align: center;
  padding: 4px;
}

.storesuite-main-dashboard .ui-datepicker .ui-state-default {
  background: none;
  border: none;
  color: #333;
  padding: 6px 8px;
  border-radius: 4px;
  transition: background 0.2s ease;
}

.storesuite-main-dashboard .ui-datepicker .ui-state-default:hover {
  background: #f0f0f0;
}

.storesuite-main-dashboard .ui-datepicker .ui-state-active,
.storesuite-main-dashboard .ui-datepicker .ui-state-highlight {
  background: var(--storesuite-primary-bg);
  color: #fff !important;
}

.storesuite-main-dashboard .ui-datepicker .ui-state-disabled {
  color: #ccc !important;
  background: none;
  opacity: 0.5;
  cursor: not-allowed;
}

.storesuite-main-dashboard .ui-datepicker-buttonpane {
  margin-top: 1em;
  text-align: center;
}

.storesuite-main-dashboard .ui-datepicker-buttonpane button {
  background: #f8f8f8;
  border: 1px solid #ccc;
  color: #333;
  padding: 0.4em 1em;
  border-radius: 4px;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.storesuite-main-dashboard .ui-datepicker-buttonpane button:hover {
  background: #eee;
}

/*Product Details Page*/
.my-storesuite-product-thumbnail .thumb-gl-item {
  width: 80px;
  margin-bottom: 10px;
}
.my-storesuite-product-thumbnail .thumb-gl-item img{
  border: 1.5px solid #fff;
  cursor: pointer;
}
.my-storesuite-product-thumbnail .thumb-gl-item .active {
  border-color: var(--storesuite-primary-bg);
}
.storesuite_wfm_product_price {
  font-size: 20px;
  font-weight: 500;
}

.storesuite_wfm_product_price del {
  font-size: 16px;
}
ul.my-storesuite-metas {
  line-height: 1.8;
}
.my-storesuite-product-simple h1 {
  font-size: 32px;
}
.my-storesuite-container .my-storesuite-inline-form button[type=submit] {
  height: auto!important;
}
.order-status-update-form {
  background: #fafafa;
  padding: 15px;
}

.order-status-update-form .storesuite-form-group {
  margin-bottom: 15px;
}
.my-storesuite-tbl.my-storesuite-order-list-table td.action-buttons {
  width: 340px;
}
.storesuite-card-content .wp-editor-wrap {
  border: none;
}
.storesuite-main-dashboard .select2-container--open .select2-dropdown--below {
  margin-top: 0;
}

/*Pagination*/
.storesuite-pagination {display: flex;gap: 10px;flex-wrap: wrap;align-items: center;}

.storesuite-pagination li a, .storesuite-pagination li .current {
    background: #fff;
    font-size: 14px;
    border-radius: 5px;
    padding: 10px;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.storesuite-pagination-wrap {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.storesuite-pagination li a:hover, .storesuite-pagination li .current {
    background: var(--storesuite-primary-bg);
    color: #fff;
}
.storesuite-result-text {
  color: var(--storesuite-text-color-light);
}

/*Dash Navigation*/
.my-storesuite-container {
  --storesuite-sidebar-current-width: var(--storesuite-sidebar-width-expanded);
}

.my-storesuite-sidebar {
  position: fixed;
  width: var(--storesuite-sidebar-current-width);
  top: 0;
  bottom: 0;
  left: 0;
  height: 100vh;
  z-index: 99;
  height: 100%;
  background: var(--storesuite-sidebar-bg-color);
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  padding: 10px;
  font-size: 14px;
  border-right: 1px solid var(--storesuite-sidebar-border-color, var(--storesuite-border-color));
  transition: width 0.28s ease, padding 0.28s ease;
  overflow-x: hidden;
  overflow-y: auto;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  display: flex;
  flex-direction: column;
}

/* Branding footer pinned to the bottom of the sidebar */
.storesuite-sidebar-branding {
  margin: auto -10px -10px; /* push to bottom (flex), reach the sidebar edges */
  position: sticky;
  bottom: -10px; /* stay pinned while the menu scrolls (cancels bottom padding) */
  padding: 14px 16px;
  background: var(--storesuite-sidebar-bg-color);
  border-top: 1px solid
    var(--storesuite-sidebar-border-color, var(--storesuite-border-color));
}
.storesuite-sidebar-branding-logo {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 30px;
    height: auto;
}
/* Both attribution logos are rendered when the palette resolved to the dark one;
   the sidebar turns dark under dark mode, so show the light logo there. */
.storesuite-sidebar-branding-logo--dark-mode {
  display: none;
}
[data-theme="dark"] .storesuite-sidebar-branding-logo--light-mode {
  display: none;
}
[data-theme="dark"] .storesuite-sidebar-branding-logo--dark-mode {
  display: block;
}
.my-storesuite-container.storesuite-sidebar-collapsed .storesuite-sidebar-branding {
  display: none;
}
.storesuite-sidebar-site-title {
  font-weight: 600;
  font-size: 18px;
  margin: 0;
  color: var(--storesuite-text-black);
}

.storesuite-sidebar-logo {
  padding: 0 10px;
  min-height: 50px;
  display: flex;
  align-items: center;
  padding-bottom: 10px;
  flex-wrap: wrap;
  gap: 8px;
}

.storesuite-sidebar-logo-image {
  max-width: 100%;
  max-height: 30px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.storesuite-sidebar-icon-image {
  display: none;
  width: 30px;
  height: 30px;
  max-width: 30px;
  max-height: 30px;
  object-fit: contain;
}

ul.storesuite-dashboard-menu {
  margin-top: 10px;
}
ul.storesuite-dashboard-menu a svg {
  transform: scale(0.75);
  fill: var(--storesuite-icon-color);
}
ul.storesuite-dashboard-menu a svg.edit-site-site-icon__icon {
  transform: scale(1);
}

ul.storesuite-dashboard-menu a svg.edit-site-site-icon__icon path {
  transform: scale(0.95);
  -webkit-transform: scale(0.95);
  -moz-transform: scale(0.95);
  -ms-transform: scale(0.95);
  -o-transform: scale(0.95);
}
ul.storesuite-dashboard-menu a {
  display: flex;
  padding: 11px 10px;
  align-items: center;
  gap: 10px;
  font-weight: 400;
  line-height: 1;
  font-size: 14px;
  color: var(--storesuite-sidebar-menu-text);
  transition: background 0.3s, color 0.3s, border-radius 0.3s;
  position: relative;
}
ul.storesuite-dashboard-menu a.active, ul.storesuite-dashboard-menu a:hover {
  background: color-mix( in srgb, var(--storesuite-sidebar-active-background) 10%, transparent );
  border-radius: 5px;
  color: var(--storesuite-sidebar-active-text);
}
ul.storesuite-dashboard-menu a.active svg, ul.storesuite-dashboard-menu a:hover svg {
  fill: var(--storesuite-sidebar-active-background);
}

/* === Submenu dropdown (expanded sidebar) === */
ul.storesuite-dashboard-menu li.has-submenu > a {
  justify-content: flex-start;
}
ul.storesuite-dashboard-menu .storesuite-menu-arrow {
  margin-left: auto;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  transition: transform 0.25s ease;
}
.storesuite-menu-arrow.arrow-down{
  display: none;
}
ul.storesuite-dashboard-menu li.has-submenu.is-open > a .storesuite-menu-arrow.arrow-right {
  display: none;
}
ul.storesuite-dashboard-menu li.has-submenu.is-open > a .storesuite-menu-arrow.arrow-down {
  display: block;
}
ul.storesuite-dashboard-menu .submenu {
  display: none;
  margin: 0;
  padding: 2px 0 6px 0;
  list-style: none;
  overflow: hidden;
}
ul.storesuite-dashboard-menu li.has-submenu.is-open > .submenu {
  display: block;
}
ul.storesuite-dashboard-menu .submenu li a {
  display: block;
  padding: 15px 12px 15px 44px;
  font-size: 14px;
  font-weight: 400;
  color: var(--storesuite-sidebar-menu-text);
  border-radius: 0;
  border-left: 3px solid transparent;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  text-decoration: none;
  line-height: 1;
}
ul.storesuite-dashboard-menu .submenu li a.active,
ul.storesuite-dashboard-menu .submenu li a:hover {
  background: color-mix( in srgb, var(--storesuite-sidebar-active-background) 10%, transparent );
  color: var(--storesuite-sidebar-active-text);
  border-left-color: var(--storesuite-sidebar-active-background);
}
ul.storesuite-dashboard-menu li.has-submenu.is-open > a {
  color: var(--storesuite-sidebar-active-text);
  background: color-mix( in srgb, var(--storesuite-sidebar-active-background) 10%, transparent );
  border-radius: 5px;
}
ul.storesuite-dashboard-menu li.has-submenu.is-open > a svg:not(.storesuite-menu-arrow) {
  fill: var(--storesuite-sidebar-active-background);
}

/*Dash content*/
.my-storesuite-wrapper {
  width: calc(100% - var(--storesuite-sidebar-current-width));
  margin-left: var(--storesuite-sidebar-current-width);
  transition: width 0.28s ease, margin-left 0.28s ease;
}

/* Collapsed sidebar: icons only + hover flyout labels */
.my-storesuite-container.storesuite-sidebar-collapsed {
  --storesuite-sidebar-current-width: var(--storesuite-sidebar-width-collapsed);
}

.my-storesuite-container.storesuite-sidebar-collapsed .my-storesuite-sidebar {
  overflow: visible;
  padding-left: 8px;
  padding-right: 8px;
}

.my-storesuite-container.storesuite-sidebar-collapsed .storesuite-sidebar-logo {
  position: relative;
  justify-content: center;
  padding-left: 4px;
  padding-right: 4px;
  min-height: 44px;
}

.my-storesuite-container.storesuite-sidebar-collapsed .storesuite-sidebar-site-title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.my-storesuite-container.storesuite-sidebar-collapsed .storesuite-sidebar-logo-image {
  display: none;
}

.my-storesuite-container.storesuite-sidebar-collapsed .storesuite-sidebar-icon-image {
  display: block;
}

.my-storesuite-container.storesuite-sidebar-collapsed
  .storesuite-sidebar-logo:not(:has(.storesuite-sidebar-icon-image))
  .storesuite-sidebar-logo-image {
  display: block;
  max-width: 36px;
  max-height: 30px;
  margin-left: auto;
  margin-right: auto;
}

.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu a {
  justify-content: center;
  padding-left: 8px;
  padding-right: 8px;
}

.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu a > span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li {
  position: relative;
}

/* Hide chevron arrows in collapsed sidebar — submenu is exposed as flyout on hover.
   High-specificity selectors needed to beat the `.is-open > a .arrow-down { display: block }`
   rule used by the expanded sidebar's accordion state. */
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li.has-submenu > a .storesuite-menu-arrow,
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li.has-submenu.is-open > a .storesuite-menu-arrow.arrow-down,
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li.has-submenu.is-open > a .storesuite-menu-arrow.arrow-right {
  display: none;
}

/* Suppress the parent tooltip on has-submenu items; the flyout shows the
   submenu items (which are self-labelling) instead. */
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li.has-submenu > a[data-storesuite-tooltip]::after,
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li.has-submenu:hover > a[data-storesuite-tooltip]::after {
  content: none;
  display: none;
}

.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li > a[data-storesuite-tooltip]::after {
  content: attr(data-storesuite-tooltip);
  position: absolute;
  left: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%) translateX(-6px);
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
  color: #f8fafc;
  background: var(--storesuite-primary-bg);
  border-radius: 6px;
  box-shadow: 0 12px 40px -8px rgba(15, 23, 42, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.06);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 10000;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li > a[data-storesuite-tooltip]:hover::after,
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li > a[data-storesuite-tooltip]:focus-visible::after {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) translateX(0);
}

.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu .submenu,
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li.has-submenu.is-open > .submenu {
  display: block;
  position: absolute;
  left: 100%;
  top: 0;
  min-width: 200px;
  /* Extra left padding creates an invisible hover bridge so the cursor can
     traverse from the parent icon to a submenu item without dropping :hover. */
  padding: 8px 0 8px 8px;
  margin-left: -8px;
  overflow: visible;
  background: var(--storesuite-sidebar-bg-color);
  border-radius: 8px;
  border: 1px solid var(--storesuite-sidebar-bg-color);
  background-clip: padding-box;
  box-shadow: 0 12px 40px -8px rgba(15, 23, 42, 0.12);
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  /* Delay the hide transition slightly so a brief cursor exit doesn't kill it. */
  transition: opacity 0.2s ease 0.1s, visibility 0.2s linear 0.1s;
}

.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li:hover > .submenu,
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li:focus-within > .submenu,
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li.has-submenu.is-open:hover > .submenu,
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li.has-submenu.is-open:focus-within > .submenu {
  /* On show, drop the delay so the flyout appears instantly. */
  transition: opacity 0.2s ease, visibility 0.2s linear;
}

.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li:hover > .submenu,
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li:focus-within > .submenu,
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li.has-submenu.is-open:hover > .submenu,
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li.has-submenu.is-open:focus-within > .submenu,
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu .submenu:hover,
.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu .submenu:focus-within {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu .submenu a > span {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  clip: auto;
  overflow: visible;
  white-space: normal;
}

@media (max-width: 767px) {
  .my-storesuite-container.storesuite-sidebar-collapsed {
    --storesuite-sidebar-current-width: var(--storesuite-sidebar-width-expanded);
  }

  .my-storesuite-container.storesuite-sidebar-collapsed .storesuite-sidebar-site-title {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    clip: auto;
    overflow: visible;
    white-space: normal;
  }

  .my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu a > span {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    clip: auto;
    overflow: visible;
    white-space: normal;
  }

  .my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu a {
    justify-content: flex-start;
  }

  .my-storesuite-container.storesuite-sidebar-collapsed .storesuite-sidebar-logo-image {
    display: block;
    max-width: 100%;
    max-height: 30px;
  }

  .my-storesuite-container.storesuite-sidebar-collapsed .storesuite-sidebar-icon-image {
    display: none;
  }

  .my-storesuite-container.storesuite-sidebar-collapsed
    .storesuite-sidebar-logo:not(:has(.storesuite-sidebar-icon-image))
    .storesuite-sidebar-logo-image {
    max-width: 100%;
    max-height: 30px;
  }

  .my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu li > a[data-storesuite-tooltip]::after {
    content: none;
    display: none;
  }

  .my-storesuite-container.storesuite-sidebar-collapsed ul.storesuite-dashboard-menu .submenu {
    position: static;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    box-shadow: none;
    border: none;
    padding: 0;
    min-width: 0;
  }
}
.my-storesuite-page-content {
  padding: 24px;
}

/* Dashboard home mounts a React layout (.woocommerce-layout__main) that already
   supplies its own 24px gutter. Drop the outer page padding here so the
   left/right (and top/bottom) gap isn't doubled to 48px. */
.storesuite-main-dashboard {
  padding: 0;
}

/*Header design*/
.storesuite-dashboard-header {
  background: var(--storesuite-sidebar-bg-color);
  padding: 10px 24px;
}

/* Predefined palettes: keep the header white and tint the sidebar toggle icon
   with the (dark) title text color so it stays visible on white. */
.storesuite-palette-predefined .storesuite-dashboard-header {
  background: #ffffff;
}
.storesuite-palette-predefined span.storesuite-sidebar-trigger svg {
  fill: var(--storesuite-text-black);
}

.storesuite-dropdown.storesuite-header-dropdown img {
  width: 35px;
  height: 35px;
  border-radius: 50%;
}

.storesuite-header-right {
  display: flex;
  gap: 20px;
  justify-content: flex-end;
  align-items: center;
}

/* Rounded, bordered icon link (e.g. Visit Store) */
.storesuite-header-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 50%;
  background: #fff;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}
.storesuite-header-icon-link svg {
  width: 15px;
  height: 15px;
  fill: var(--storesuite-text-color);
  transition: fill 0.15s ease;
}
.storesuite-header-icon-link:hover,
.storesuite-header-icon-link:focus {
  background: var(--storesuite-primary-bg);
  border-color: var(--storesuite-primary-bg);
}
.storesuite-header-icon-link:hover svg,
.storesuite-header-icon-link:focus svg {
  fill: var(--storesuite-button-text-color);
}

.storesuite-header-right a.my-storesuite-button {
  margin: 0;
  background: var(--storesuite-primary-bg);
  color: var(--storesuite-button-text-color);
  border: 1px solid var(--storesuite-primary-bg);
  border-radius: 40px;
  font-size: 12px;
}
.storesuite-header-right a.my-storesuite-button svg {
  width: 14px;
  height: 14px;
  display: inline-block;
  margin-right: 5px;
  position: relative;
  top: 1px;
  fill: var(--storesuite-button-text-color);
}
.storesuite-header-right a.my-storesuite-button:hover{
  background: var(--storesuite-primary-bg-hover);
  color: var(--storesuite-button-text-hover-color);
  border-color: var(--storesuite-primary-bg-hover);
}
.storesuite-header-right a.my-storesuite-button:hover svg {
  fill: var(--storesuite-button-text-hover-color);
}
.storesuite-dropdown.storesuite-header-dropdown span.storesuite-dropdown-icon {
  display: flex;
  align-items: center;
}
span.storesuite-sidebar-trigger {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

span.storesuite-sidebar-trigger svg {
  width: 20px;
  height: 20px;
  fill: var(--storesuite-icon-color);
}
.storesuite-dropdown.storesuite-header-dropdown .storesuite-dropdown-menu {
  top: 44px;
  width: 240px;
  padding: 0;
}

/* User info header */
.storesuite-header-dropdown .storesuite-dropdown-user {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--storesuite-border-color);
}
.storesuite-header-dropdown .storesuite-dropdown-user-avatar img {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: block;
}
.storesuite-header-dropdown .storesuite-dropdown-user-meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.storesuite-header-dropdown .storesuite-dropdown-user-name {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--storesuite-text-black);
}
.storesuite-header-dropdown .storesuite-dropdown-user-email {
  font-size: 12px;
  line-height: 1.3;
  color: var(--storesuite-text-color-light);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Menu list */
.storesuite-header-dropdown .storesuite-dropdown-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.storesuite-dropdown.storesuite-header-dropdown .storesuite-dropdown-menu a.dropdown-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 15px;
}
.storesuite-header-dropdown .storesuite-dropdown-list svg {
  width: 16px;
  height: 16px;
  margin: 0;
  top: 0;
  flex: 0 0 auto;
}
.storesuite-dropdown .storesuite-dropdown-menu svg {
  width: 16px;
  height: 16px;
  margin-right: 10px;
  position: relative;
  top: 1px;
}
.storesuite-page-main-title {
  font-weight: 600;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 20px;
  color: var(--storesuite-text-color);
}
.storesuite-title-view-link {
  display: inline-flex;
  align-items: center;
  /* Hug the page title; let space-between push other header items right. */
  margin-left: 8px;
  margin-right: auto;
  color: var(--storesuite-primary-bg);
  transition: color 0.2s ease;
}
.storesuite-title-view-link:hover {
  color: var(--storesuite-text-color);
}
.storesuite-title-view-icon {
  width: 16px;
  height: 16px;
  display: block;
  fill: currentColor;
}
.storesuite-dashboard-braedcrumb ul {
  display: flex;
  align-items: center;
  gap: 8px;
}

.storesuite-dashboard-braedcrumb ul li {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
}

.storesuite-dashboard-braedcrumb ul li a{
  color: var(--storesuite-primary-bg);
}

.storesuite-dashboard-braedcrumb ul li span{
  color: var(--storesuite-text-color)
}

.storesuite-dashboard-braedcrumb ul li svg {
  width: 16px;
  height: 16px;
  display: inline-block;
  margin-right: 8px;
  fill: var(--storesuite-icon-color);
}

.storesuite-dashboard-title-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

/*Order Add New Page*/
#search-order-items{
  display: none;
}
.storesuite-main-dashboard .select2-container {
  box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle;
  /* selectWoo resolves its inline width from the original hidden/empty
     select (~0px), collapsing the field to its truncated placeholder.
     !important is required to beat that inline style. */
  width: 100% !important;
}
.storesuite-main-dashboard .select2-container .select2-selection--single {
  height: 38px;
  background-color: #fff;
  border: 1px solid #7e8993;
  border-radius: 4px;
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  margin: 0 0 -4px;
  user-select: none;
  -webkit-user-select: none;
}
.storesuite-main-dashboard .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 38px;
  padding: 0 24px 0 8px;
  color: #444;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.storesuite-main-dashboard .select2-container .select2-selection--multiple {
  min-height: 40px;
  background-color: #fff;
  border: 1px solid #7e8993;
  border-radius: 4px;
  box-sizing: border-box;
  cursor: text;
  display: block;
  margin: 0 0 -4px;
  user-select: none;
  -webkit-user-select: none;
}
.storesuite-main-dashboard .select2-container .select2-selection--multiple .select2-selection__rendered {
  padding: 8px;
  color: #444;
  display: block;
  overflow: hidden;
  box-sizing: border-box;
  list-style: none;
  margin: 0;
  width: 100%;
}
.storesuite-main-dashboard .select2-container .select2-selection--multiple .select2-selection__rendered li {
  list-style: none;
  font-size: 12px;
}
.storesuite-main-dashboard .select2-container .select2-selection--multiple .select2-selection__choice {
  background-color: var(--storesuite-bg-color-muted);
  border: 1px solid var(--storesuite-border-color);
  border-radius: 4px;
  color: #444;
  cursor: default;
  float: left;
  margin-bottom: 5px!important;
  padding: 4px 8px;
  font-size: 14px;
  line-height: 1.5;
  max-width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.select2-container--default .select2-selection--multiple .select2-selection__clear {
  display: none;
}
.storesuite-main-dashboard .select2-container .select2-selection--multiple .select2-selection__choice__remove {
  color: #6c757d;
  cursor: pointer;
  display: inline-block;
  font-weight: normal;
  margin-right: 4px;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 16px;
  line-height: 1;
  padding-left: 4px;
}
.storesuite-main-dashboard .select2-container .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: var(--storesuite-primary-bg);
}
.storesuite-main-dashboard .select2-container .select2-selection--multiple .select2-search--inline {
  float: left;
  width: 100%;
}
.storesuite-main-dashboard .select2-container .select2-selection--multiple .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  box-shadow: none;
  font-size: 14px;
  margin: 0;
  padding: 0;
  height: 22px;
  min-width: 5em;
  width: 100% !important;
  color: #444;
}
.storesuite-main-dashboard .select2-container .select2-selection--multiple .select2-search--inline .select2-search__field::placeholder {
  color: var(--storesuite-text-color-light);
  opacity: 1;
}

.storesuite-main-dashboard .select2-dropdown {
  border-color: var(--storesuite-primary-bg);
}

.storesuite-main-dashboard .select2-dropdown--below {
  display: inline-block;
  box-shadow: none;
}

.storesuite-main-dashboard .select2-dropdown--above {
  box-shadow: 0 0 0 1px var(--storesuite-primary-bg),0 -2px 1px rgba(0,0,0,.1);
}

.storesuite-main-dashboard .select2-selection--single .select2-selection__rendered:hover {
  color: var(--storesuite-primary-bg);
}

.storesuite-main-dashboard .select2-container.select2-container--focus .select2-selection--single, .storesuite-main-dashboard .select2-container.select2-container--focus .select2-selection--multiple, .storesuite-main-dashboard .select2-container.select2-container--open .select2-selection--multiple, .storesuite-main-dashboard .select2-container.select2-container--open .select2-selection--single {
  border-color: var(--storesuite-border-color);
  box-shadow: none!important;
  outline: none;
}
.storesuite-main-dashboard .select2-container.select2-container--open .select2-selection--single, .storesuite-main-dashboard .select2-container.select2-container--open .select2-selection--multiple {
  border-bottom-left-radius: 0px!important;
  border-bottom-right-radius: 0px!important;
  border-color: var(--storesuite-primary-bg)!important;
}

.storesuite-main-dashboard .select2-container--default .select2-results__option--highlighted[aria-selected], .storesuite-main-dashboard .select2-container--default .select2-results__option--highlighted[data-selected] {
  background-color: var(--storesuite-primary-bg);
  color: #fff;
  border: 1px solid var(--storesuite-primary-bg);
}

.storesuite-main-dashboard .select2-container--default .select2-results__option, .select2-container--default .select2-results__option:focus, .storesuite-main-dashboard .select2-container--default .select2-results__option:visited, .storesuite-main-dashboard .select2-container--default .select2-results__option:active{
  box-shadow: none!important;
  outline: none!important;
  border-radius: 0px;
  cursor: pointer;
}
span.select2-selection__clear {
  margin-right: 5px;
}

.storesuite-main-dashboard .select2-container--default .select2-results__option:last-child{
  border-bottom-left-radius: 6px!important;
  border-bottom-right-radius: 6px!important;
}

.storesuite-main-dashboard .select2-container .select2-dropdown, .storesuite-main-dashboard .select2-container .select2-selection {
  background-color: #fff;
  border: 1px solid var(--storesuite-border-color)!important;
  border-radius: 8px !important;
}
.storesuite-main-dashboard .select2-container .select2-selection--multiple {
  border-radius: 8px !important;
}
.storesuite-main-dashboard .select2-container.select2-container--open .select2-dropdown--below {
  border-top: none!important;
  border-top-left-radius: 0!important;
  border-top-right-radius: 0!important;
  border-color: var(--storesuite-primary-bg)!important;
}
.storesuite-main-dashboard .select2-results__option {
  margin: 0;
  padding: 6px;
  font-size: 14px;
}
.storesuite-main-dashboard .select2-search--dropdown {
  display: block;
  padding: 4px;
}
.storesuite-main-dashboard .select2-search--dropdown .select2-search__field {
  padding: 4px;
  width: 100%;
  box-sizing: border-box;
  font-size: 14px;
  border: 1px solid var(--storesuite-border-color);
  padding: 8px 16px;
  height: 38px;
  border-radius: 8px;
}
.storesuite-main-dashboard .select2-search--dropdown .select2-search__field:focus {
  outline: none;
  border-color: var(--storesuite-primary-bg);
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
}
.storesuite-dashboard-order-details select#customer_user, select#storesuite_product_search {
  display: none;
}
.storesuite-dashboard-order-details .storesuite-card, .storesuite-dashboard-order-details .woocommerce-customer-details .woocommerce-columns.woocommerce-columns--2 .woocommerce-column, .storesuite-card.storesuite-card-with-header {
  background: #fff;
  margin-bottom: 24px;
  box-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
  border-radius: 8px;
  overflow: hidden;
  padding: 0;
}

.storesuite-dashboard-order-details .storesuite-card-content, .storesuite-dashboard-order-details .woocommerce-customer-details .woocommerce-columns.woocommerce-columns--2 .woocommerce-column address, .storesuite-card-with-header .storesuite-card-content {
  padding: 24px;
}

.storesuite-card-title, .storesuite-dashboard-order-details .woocommerce-customer-details .woocommerce-columns.woocommerce-columns--2 .woocommerce-column h2.woocommerce-column__title {
  font-size: 16px;
  font-weight: 500;
  margin: 0;
  color: var(--storesuite-text-black);
  padding: 16px 24px;
  border-bottom: 1px solid #e5e7eb;
}

/* Dashboard KPI (Store performance) */
.storesuite-store-performance .storesuite-card-title small {
  font-weight: 400;
  color: var(--storesuite-text-color-light);
}

.storesuite-kpi-summary {
  border: 1px solid var(--storesuite-border-color);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.storesuite-kpi-card {
  height: 100%;
  background: #fff;
  padding: 14px 16px;
  border-bottom: 1px solid var(--storesuite-border-color);
}

.storesuite-kpi-label {
  font-size: 13px;
  color: var(--storesuite-text-color-light);
  margin-bottom: 6px;
}

.storesuite-kpi-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.storesuite-kpi-value {
  font-size: 18px;
  font-weight: 600;
  color: var(--storesuite-text-black);
  line-height: 1.2;
}

.storesuite-kpi-change {
  font-size: 13px;
  font-weight: 600;
  color: var(--storesuite-text-color-light);
  white-space: nowrap;
}

/* Make internal dividers single-line like WooCommerce summary */
.storesuite-kpi-card--up .storesuite-kpi-change {
  color: #059669;
}

.storesuite-kpi-card--down .storesuite-kpi-change {
  color: #dc2626;
}

.storesuite-kpi-card--flat .storesuite-kpi-change,
.storesuite-kpi-card--na .storesuite-kpi-change {
  color: var(--storesuite-text-color-light);
}


.my-storesuite-wrapper .storesuite-form-group {
  margin-bottom: 16px;
  position: relative;
}

.my-storesuite-wrapper .storesuite-form-group label {
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
  color: #495057;
  font-size: 14px;
}

.my-storesuite-wrapper .storesuite-form-control, .woocommerce_order_items_wrapper input[type="text"], .woocommerce_order_items_wrapper input[type="number"], .woocommerce_order_items_wrapper select, .woocommerce_order_items_wrapper textarea, .wc-order-refund-items input[type="text"]{
  width: 100%;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  background-color: #fff;
}

.my-storesuite-wrapper .storesuite-form-control:focus, .woocommerce_order_items_wrapper input[type="text"]:focus, .woocommerce_order_items_wrapper input[type="number"], .woocommerce_order_items_wrapper select:focus, .woocommerce_order_items_wrapper textarea:focus, .wc-order-refund-items input[type="text"]:focus {
  outline: none;
  border-color: var(--storesuite-primary-bg);
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
}

.storesuite-dashboard-order-details .search-group {
  position: relative;
}

.storesuite-dashboard-order-details .search-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #6c757d;
  font-size: 16px;
  pointer-events: none;
}

.storesuite-dashboard-order-details .separator {
  text-align: center;
  margin: 20px 0;
  position: relative;
}

.storesuite-dashboard-order-details .separator::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background-color: #e9ecef;
}

.storesuite-dashboard-order-details .separator span {
  background: white;
  padding: 0 16px;
  color: #6c757d;
  font-size: 14px;
}

.storesuite-dashboard-order-details .customer-type-group {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}

.storesuite-dashboard-order-details .radio-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-weight: 500;
}

.storesuite-dashboard-order-details .radio-label input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: var(--storesuite-primary-bg);
}

.storesuite-dashboard-order-details .checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-weight: 500;
}

.storesuite-dashboard-order-details .checkbox-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--storesuite-primary-bg);
}

.storesuite-dashboard-order-details .address-subtitle {
  font-size: 16px;
  font-weight: 600;
  margin: 20px 0 16px 0;
  color: var(--storesuite-text-color);
}

.storesuite-dashboard-order-details .card-title-with-checkbox {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
  border-bottom: 1px solid #e5e7eb;
  padding: 16px 24px;
}

.storesuite-dashboard-order-details .card-title-with-checkbox .storesuite-card-title {
  margin: 0;
  border-bottom: none;
  padding: 0;
}

.storesuite-dashboard-order-details .card-title-with-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
  border-bottom: 1px solid #e5e7eb;
  padding: 16px 24px;
}

.storesuite-dashboard-order-details .card-title-with-link .storesuite-card-title {
  margin: 0;
  border-bottom: none;
  padding: 0;
}

.storesuite-dashboard-order-details .checkbox-label.right-aligned {
  margin-left: auto;
  font-size: 14px;
  font-weight: 500;
}

.storesuite-dashboard-order-details .toggle-switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 24px;
  margin-left: 8px;
}

.storesuite-dashboard-order-details .toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.storesuite-dashboard-order-details .toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: .4s;
  border-radius: 24px;
}

.storesuite-dashboard-order-details .toggle-slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background-color: #ffffff;
  transition: .4s;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.storesuite-dashboard-order-details input:checked + .toggle-slider {
  background-color: var(--storesuite-primary-bg);
}

.storesuite-dashboard-order-details input:checked + .toggle-slider:before {
  transform: translateX(26px);
}

.storesuite-dashboard-order-details .toggle-label {
  display: flex;
  align-items: center;
  gap: 8px;
}

.storesuite-dashboard-order-details .add-customer-link {
  display: flex;
  align-items: center;
  gap: 8px;
}

.storesuite-dashboard-order-details .or-text {
  color: #6c757d;
  font-size: 14px;
  font-weight: 500;
}

.storesuite-dashboard-order-details .add-customer-link a {
  color: var(--storesuite-primary-bg);
  text-decoration: underline;
  font-weight: 500;
  font-size: 14px;
  transition: all 0.3s ease;
  cursor: pointer;
}

.storesuite-dashboard-order-details .add-customer-link a:hover {
  color: var(--storesuite-primary-bg-hover);
  text-decoration: none;
}

.storesuite-dashboard-order-details .new-customer-fields {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e9ecef;
  animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.storesuite-dashboard-order-details .storesuite-table, .storesuite-order-items-box table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
}

.storesuite-dashboard-order-details .storesuite-table th,
.storesuite-dashboard-order-details .storesuite-table td,
.storesuite-order-items-box table th,
.storesuite-order-items-box table td {
  padding: 12px;
  text-align: left;
  border-bottom: 1px solid var(--storesuite-border-color);
}

.storesuite-dashboard-order-details .storesuite-table th, .storesuite-order-items-box table th {
  background-color: var(--storesuite-bg-color-muted);
  font-weight: 600;
  color: var(--storesuite-text-color);
  font-size: 14px;
}

.storesuite-dashboard-order-details .storesuite-table td, .storesuite-order-items-box table td {
  font-size: 14px;
  color: var(--storesuite-text-color);
}
.storesuite-order-items-box .woocommerce_order_items small.refunded {
  display: block;
  color: red;
  white-space: nowrap;
  margin-top: 5px;
  margin-bottom: 5px
}

.storesuite-dashboard-order-details .quantity-input {
  width: 80px;
  text-align: center;
}

.storesuite-dashboard-order-details .delete-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
  padding: 4px;
  border-radius: 4px;
  transition: background-color 0.2s;
}

.storesuite-dashboard-order-details .delete-btn:hover {
  background-color: var(--storesuite-bg-color-muted);
}

.storesuite-dashboard-order-details .coupon-group {
  display: flex;
  gap: 8px;
}

.storesuite-dashboard-order-details .coupon-group .storesuite-form-control {
  flex: 1;
}

.storesuite-dashboard-order-details .apply-btn, .refund-actions button.button {
  background-color: var(--storesuite-primary-bg);
  color: #ffffff;
  border: none;
  padding: 12px 20px;
  border-radius: 6px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.3s;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  -ms-border-radius: 6px;
  -o-border-radius: 6px;
}
.refund-actions button.button {
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 500;
}
.storesuite-dashboard-order-details .apply-btn:hover, .refund-actions button.button:hover {
  background-color: var(--storesuite-primary-bg-hover);
}
.storesuite-order-items-box .refund-actions {
  padding: 10px;
}

.storesuite-dashboard-order-details .fee-group {
  display: flex;
  gap: 8px;
  align-items: center;
}

.storesuite-dashboard-order-details .fee-group .storesuite-form-control {
  flex: 1;
}

.storesuite-dashboard-order-details .add-fee-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--storesuite-primary-bg);
  color: #ffffff;
  border: none;
  font-size: 18px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.storesuite-dashboard-order-details .add-fee-btn:hover {
  background-color: var(--storesuite-primary-bg-hover);
}

.storesuite-dashboard-order-details .order-summary {
  background-color: var(--storesuite-bg-color-muted);
  padding: 16px;
  border-radius: 8px;
}

.storesuite-dashboard-order-details .summary-line {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
  font-size: 14px;
}

.storesuite-dashboard-order-details .summary-line.discount span:last-child {
  color: #28a745;
}

.storesuite-dashboard-order-details .summary-line.total {
  border-top: 2px solid #e9ecef;
  padding-top: 12px;
  margin-top: 12px;
  font-size: 16px;
}

.storesuite-dashboard-order-details .action-buttons {
  display: flex;
  flex-direction: row;
  gap: 12px;
  margin: 0 0 24px 0;
}

.storesuite-dashboard-order-details .create-order-btn,
.storesuite-dashboard-order-details .save-draft-btn {
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  flex: 1;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
}

.storesuite-dashboard-order-details .create-order-btn {
  background-color: var(--storesuite-primary-bg);
  color: #fff;
  border: none;
  font-weight: 600;
}

.storesuite-dashboard-order-details .create-order-btn:hover {
  background-color: var(--storesuite-primary-bg-hover);
}

.storesuite-dashboard-order-details .existing-notes {
  margin-bottom: 20px;
}

.storesuite-dashboard-order-details .note {
  margin-bottom: 16px;
}

.storesuite-dashboard-order-details .note_content {
  padding: 12px 16px;
  border-radius: 8px;
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.4;
  position: relative;
  background-color: #f5f5f5;
  color: #424242;
  border-left: 4px solid #9e9e9e;
}
.storesuite-dashboard-order-details .note_content p{
  margin: 0;
}

/* .storesuite-dashboard-order-details .note_content-blue {
  background-color: #e3f2fd;
  color: #1976d2;
  border-left: 4px solid #2196f3;
}

.storesuite-dashboard-order-details .note_content-gray {
  background-color: #f5f5f5;
  color: #424242;
  border-left: 4px solid #9e9e9e;
} */

.storesuite-dashboard-order-details .meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #6c757d;
}

.storesuite-dashboard-order-details .exact-date {
  font-style: italic;
}

.storesuite-dashboard-order-details .delete_note {
  color: #dc3545;
  text-decoration: underline;
  font-size: 12px;
  cursor: pointer;
}

.storesuite-dashboard-order-details .delete_note:hover {
  color: #c82333;
}

.storesuite-dashboard-order-details .add-note-section {
  border-top: 1px solid #e5e7eb;
  padding-top: 20px;
}

.storesuite-dashboard-order-details .add-note-header {
  margin-bottom: 16px;
}

.storesuite-dashboard-order-details .add-note-title {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
  color: #374151;
}

.storesuite-dashboard-order-details .help-icon {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #6c757d;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
  cursor: help;
}

.storesuite-dashboard-order-details .note-textarea {
  resize: vertical;
  min-height: 80px;
}

.storesuite-dashboard-order-details .note-options {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  margin-top: 16px;
}

.storesuite-dashboard-order-details .note-options .storesuite-form-group {
  flex: 1;
  margin-bottom: 0;
}

.storesuite-dashboard-order-details .add-note-btn {
  background-color: var(--storesuite-primary-bg);
  color: white;
  border: none;
  padding: 12px 20px;
  border-radius: 6px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.3s;
  white-space: nowrap;
}

.storesuite-dashboard-order-details .add-note-btn:hover {
  background-color: var(--storesuite-primary-bg-hover);
}

.storesuite-dashboard-order-details .date-time-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.storesuite-dashboard-order-details .date-input {
  flex: 1;
  min-width: 120px;
}

.storesuite-dashboard-order-details .time-input {
  width: 70px;
  padding: 8px 10px;
  text-align: center;
}

.storesuite-dashboard-order-details .date-separator,
.storesuite-dashboard-order-details .time-separator {
  color: #6c757d;
  font-weight: 500;
  font-size: 14px;
}
.storesuite-order-items-box .wc-order-item-thumbnail img {
  width: 40px;
  height: 40px;
  border-radius: 4px;
  object-fit: cover;
}

.storesuite-order-items-box td.thumb {
  width: 65px;
}
#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items td.name .wc-order-item-sku, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items td.name .wc-order-item-variation {
  display: block;
  margin-top: .5em;
  font-size: 12px !important;
  color: var(--storesuite-text-color-light);
}
#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.meta {
  width: 100%
}

#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta,#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.meta {
  margin: .5em 0 0;
  font-size: 12px!important;
  color: var(--storesuite-text-color-light);
  width: auto;
}

#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr th,#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr th {
  border: 0;
  padding: 0 4px .5em 0;
  line-height: 1.5em;
  width: 20%;
  background: transparent;
  font-size: 12px !important;
}

#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td,#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td {
  padding: 0 4px .5em 0;
  border: 0;
  line-height: 1.5em;
  color: var(--storesuite-text-color-light);
  font-size: 12px !important;
}

#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td input,#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td input,#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td textarea {
  width: 100%;
  margin: 0;
  position: relative;
  /* border-bottom: 0; */
  box-shadow: none
}

#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td textarea,#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td textarea {
  width: 100%;
  height: 4em;
  margin: 0;
  box-shadow: none
}

#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td input:focus+textarea,#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td input:focus+textarea {
  border-top-color: #999
}

#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td p,#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td p {
  margin: 0 0 .5em;
  line-height: 1.5em
}

#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td p:last-child,#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td p:last-child {
  margin: 0
}
#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items td.name .wc-order-item-sku strong, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items td.name .wc-order-item-variation strong, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr th, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr th {
  font-weight: normal;
  color: var(--storesuite-text-color);
  font-weight: 500;
}

#woocommerce-order-items a.wc-order-item-name {
  font-weight: 500;
}

#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .cost .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost_of_goods .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .tax .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .wc-order-item-discount {
    display: block;
    margin-top: .5em;
}

#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .cost .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .cost .wc-order-item-refund-fields, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .cost .wc-order-item-taxes, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .cost del, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .cost small.times, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .wc-order-item-refund-fields, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .wc-order-item-taxes, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost del, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost small.times, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost_of_goods .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost_of_goods .wc-order-item-refund-fields, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost_of_goods .wc-order-item-taxes, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost_of_goods del, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost_of_goods small.times, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .wc-order-item-refund-fields, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .wc-order-item-taxes, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost del, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost small.times, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .wc-order-item-refund-fields, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .wc-order-item-taxes, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax del, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax small.times, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .wc-order-item-refund-fields, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .wc-order-item-taxes, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .quantity del, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .quantity small.times, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .tax .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .tax .wc-order-item-refund-fields, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .tax .wc-order-item-taxes, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .tax del, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .tax small.times, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .wc-order-item-discount, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .wc-order-item-refund-fields, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .wc-order-item-taxes, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class del, #woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class small.times {
    font-size: 12px !important;
    color: var(--storesuite-text-color-light);
}
div#woocommerce-order-items .line_cost {
  min-width: 200px;
  text-align: right;
}
.wc-order-edit-line-item-actions {
  display: flex;
}
.wc-order-edit-line-item-actions a, #woocommerce-order-items .remove-coupon, .storesuite-delete-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  vertical-align: middle;
  color: var(--storesuite-text-color-light);
}

.wc-order-edit-line-item-actions a::before, #woocommerce-order-items .remove-coupon::before, .storesuite-delete-icon::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m19,0H5C2.243,0,0,2.243,0,5v14c0,2.757,2.243,5,5,5h14c2.757,0,5-2.243,5-5V5c0-2.757-2.243-5-5-5Zm3,19c0,1.654-1.346,3-3,3H5c-1.654,0-3-1.346-3-3V5c0-1.654,1.346-3,3-3h14c1.654,0,3,1.346,3,3v14ZM13.879,6.379l-6.707,6.707c-.755.755-1.172,1.76-1.172,2.828v1.586c0,.553.448,1,1,1h1.586c1.068,0,2.073-.416,2.828-1.172l6.707-6.707c1.17-1.17,1.17-3.072,0-4.242-1.134-1.133-3.11-1.133-4.243,0Zm-3.879,9.535c-.373.372-.888.586-1.414.586h-.586v-.586c0-.534.208-1.036.586-1.414l4.25-4.25,1.414,1.414-4.25,4.25Zm6.707-6.707l-1.043,1.043-1.414-1.414,1.043-1.043c.377-.379,1.036-.379,1.414,0,.39.39.39,1.024,0,1.414Z"/></svg>') center / contain no-repeat;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m19,0H5C2.243,0,0,2.243,0,5v14c0,2.757,2.243,5,5,5h14c2.757,0,5-2.243,5-5V5c0-2.757-2.243-5-5-5Zm3,19c0,1.654-1.346,3-3,3H5c-1.654,0-3-1.346-3-3V5c0-1.654,1.346-3,3-3h14c1.654,0,3,1.346,3,3v14ZM13.879,6.379l-6.707,6.707c-.755.755-1.172,1.76-1.172,2.828v1.586c0,.553.448,1,1,1h1.586c1.068,0,2.073-.416,2.828-1.172l6.707-6.707c1.17-1.17,1.17-3.072,0-4.242-1.134-1.133-3.11-1.133-4.243,0Zm-3.879,9.535c-.373.372-.888.586-1.414.586h-.586v-.586c0-.534.208-1.036.586-1.414l4.25-4.25,1.414,1.414-4.25,4.25Zm6.707-6.707l-1.043,1.043-1.414-1.414,1.043-1.043c.377-.379,1.036-.379,1.414,0,.39.39.39,1.024,0,1.414Z"/></svg>') center / contain no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.wc-order-edit-line-item-actions a.delete-order-item::before, #woocommerce-order-items .remove-coupon::before, .storesuite-delete-icon::before {
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m19,0H5C2.243,0,0,2.243,0,5v14c0,2.757,2.243,5,5,5h14c2.757,0,5-2.243,5-5V5c0-2.757-2.243-5-5-5Zm3,19c0,1.654-1.346,3-3,3H5c-1.654,0-3-1.346-3-3V5c0-1.654,1.346-3,3-3h14c1.654,0,3,1.346,3,3v14Zm-4.231-12.359l-4.466,5.359,4.466,5.359c.354.425.296,1.056-.128,1.409-.188.155-.414.231-.64.231-.287,0-.571-.122-.77-.359l-4.231-5.078-4.231,5.078c-.198.237-.482.359-.77.359-.226,0-.452-.076-.64-.231-.424-.354-.481-.984-.128-1.409l4.466-5.359-4.466-5.359c-.354-.425-.296-1.056.128-1.409.426-.353,1.056-.296,1.409.128l4.231,5.078,4.231-5.078c.354-.424.983-.48,1.409-.128.424.354.481.984.128,1.409Z"/></svg>') center / contain no-repeat;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m19,0H5C2.243,0,0,2.243,0,5v14c0,2.757,2.243,5,5,5h14c2.757,0,5-2.243,5-5V5c0-2.757-2.243-5-5-5Zm3,19c0,1.654-1.346,3-3,3H5c-1.654,0-3-1.346-3-3V5c0-1.654,1.346-3,3-3h14c1.654,0,3,1.346,3,3v14Zm-4.231-12.359l-4.466,5.359,4.466,5.359c.354.425.296,1.056-.128,1.409-.188.155-.414.231-.64.231-.287,0-.571-.122-.77-.359l-4.231-5.078-4.231,5.078c-.198.237-.482.359-.77.359-.226,0-.452-.076-.64-.231-.424-.354-.481-.984-.128-1.409l4.466-5.359-4.466-5.359c-.354-.425-.296-1.056.128-1.409.426-.353,1.056-.296,1.409.128l4.231,5.078,4.231-5.078c.354-.424.983-.48,1.409-.128.424.354.481.984.128,1.409Z"/></svg>') center / contain no-repeat;
}

.wc-order-edit-line-item-actions a:hover,
.wc-order-edit-line-item-actions a:focus {
  outline: none;
  transform: translateY(-1px);
  color: var(--storesuite-text-color);
}

.wc-order-edit-line-item-actions a:focus-visible {
  box-shadow: 0 0 0 3px rgba(11,116,222,0.18);
  border-radius: 6px;
}
.order-fee-and-shipping-box{
  display: none;
}
.order-fee-and-shipping-box.active{
  display: block;
}
#woocommerce-order-items .wc-used-coupons {
  float: left;
  width: 50%;
}
#woocommerce-order-items .wc-order-data-row .wc-used-coupons {
  text-align: left;
  padding: 20px;
}
#woocommerce-order-items .wc-order-totals {
  float: right;
  width: 50%;
  margin: 0;
  padding: 0;
  text-align: right;
  background: var(--storesuite-bg-color-muted);
}
#woocommerce-order-items .wc-order-totals .total {
  text-align: right;
  font-weight: 500;
  color: var(--storesuite-text-color);
}
#woocommerce-order-items .wc-order-totals .total {
  text-align: right;
  font-weight: 500;
  color: var(--storesuite-text-color);
}

#woocommerce-order-items .wc-order-totals tbody tr td {
  font-size: 14px;
  padding: 12px 18px;
}
#woocommerce-order-items .wc-order-totals tbody tr:last-child td {
  border-bottom: none;
}
#woocommerce-order-items .wc-order-totals tbody tr:last-child td {
  border-bottom: none;
}

ul.wc_coupon_list li.code {
  position: relative;
  padding: 5px 10px;
  background-color: #fff;
  border: 1px solid #e9ecef;
  box-shadow: 0 1px 0 #dfdfdf;
  border-radius: 4px;
  margin-right: 5px;
  margin-top: 5px;
  font-size: 14px;
  color: var(--storesuite-text-color-light);
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
} 

#woocommerce-order-items .wc-order-data-row .wc-used-coupons strong {
  font-weight: 500;
  font-size: 14px;
  color: var(--storesuite-text-color);
}

#woocommerce-order-items .remove-coupon {
  width: 20px;
  height: 20px;
}

#woocommerce-order-items .remove-coupon::before {
  width: 14px;
  height: 14px;
}
.wc-order-data-row.wc-order-bulk-actions, .wc-order-data-row.wc-order-add-item {
  padding: 20px;
}

.wc-order-data-row.wc-order-bulk-actions button.button.add-line-item, .wc-order-data-row.wc-order-bulk-actions button.button.add-coupon, .wc-order-data-row.wc-order-add-item .button.add-order-item, .wc-order-data-row.wc-order-add-item .button.add-order-fee, .wc-order-data-row.wc-order-add-item .button.add-order-shipping {
  display: none;
}

.wc-order-data-row.wc-order-bulk-actions .add-items, .wc-order-data-row.wc-order-add-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
}
.wc-order-data-row.wc-order-bulk-actions button.button, .wc-order-data-row.wc-order-add-item .button, button.add_order_item_meta.button {
  font-size: 12px;
  padding: 9px 15px;
  border-radius: 5px;
}
button.remove_order_item_meta.button {
  background: transparent;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 4px;
  width: 22px;
  height: 22px;
  cursor: pointer;
  color: var(--storesuite-text-color-light);
  transition: .3s;
}

button.remove_order_item_meta.button:hover {
  background: var(--storesuite-primary-bg);
  color: #fff;
  border-color: var(--storesuite-primary-bg);
}
.storesuite-dashboard-order-details .select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}
.woocommerce_order_items_wrapper input[type="text"], .woocommerce_order_items_wrapper input[type="number"], .woocommerce_order_items_wrapper select, .woocommerce_order_items_wrapper textarea, .wc-order-refund-items input[type="text"]{
  width: auto;
  padding: 7px 16px;
  height: 35px;
}

/* Product attributes UI */
.storesuite-attribute-toolbar-spacing {
  margin-top: 12px;
}

.storesuite-attribute-header-layout {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 16px;
  cursor: pointer;
}

.storesuite-attribute-remove {
  color: #d63638;
  margin-left: 8px;
}

.storesuite-attribute-body-hidden {
  display: none;
}

.storesuite-attribute-terms-toggle {
  margin-top: 0;
}
.storesuite-attribute-terms-toggle .storesuite-select-all-terms,
.storesuite-attribute-terms-toggle .storesuite-select-no-terms,
.storesuite-attribute-terms-toggle .storesuite-add-attribute-term {
  padding: 8px 10px;
  font-size: 12px;
}

/* Attributes bordered table — horizontal row borders only, 6px radius */
#storesuite-product-attributes .my-storesuite-tbl {
  border: 1px solid var(--storesuite-border-color);
  border-radius: 6px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}
#storesuite-product-attributes .my-storesuite-tbl th,
#storesuite-product-attributes .my-storesuite-tbl td {
  border-left: 0;
  border-right: 0;
}
#storesuite-product-attributes .my-storesuite-tbl thead th {
  border-bottom: 1px solid var(--storesuite-border-color);
}
#storesuite-product-attributes .my-storesuite-tbl tbody td {
  border-top: 1px solid var(--storesuite-border-color);
}

/* Attributes table column widths */
#storesuite-product-attributes .storesuite-attribute-col-name {
  width: auto;
}
#storesuite-product-attributes .storesuite-attribute-col-visible {
  width: 85px;
}
#storesuite-product-attributes .storesuite-attribute-col-variation {
  width: 100px;
}
#storesuite-product-attributes .storesuite-attribute-col-actions {
  width: 105px;
}

/* Attributes card footer toolbar */
#storesuite-product-attributes .storesuite-card-footer {
  padding: 16px 20px;
  border-top: 1px solid var(--storesuite-border-color);
  background-color: var(--storesuite-bg-color-muted);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.storesuite-hidden {
  display: none !important;
}

.storesuite-text-capitalize {
  text-transform: capitalize;
}

.storesuite-input-group {
  display: flex;
  align-items: stretch;
  flex: 1;
  max-width: 500px;
}
.storesuite-input-group .storesuite-form-control {
  flex: 1;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: 0;
}
.storesuite-input-group .my-storesuite-button {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  white-space: nowrap;
}
#storesuite-add-custom-attribute-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
#storesuite-add-custom-attribute-btn svg {
  flex: 0 0 auto;
}
/* Match the global-attribute picker width to the variation bulk-actions group. */
#storesuite-attribute-toolbar .storesuite-input-group {
  flex: 0 1 320px;
  max-width: 320px;
}

/* Variation toolbar — primary actions row */
.storesuite-variation-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.storesuite-variation-toolbar-primary {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex: 1;
}
#storesuite-add-variation-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
#storesuite-add-variation-btn svg {
  flex: 0 0 auto;
}
/* When bulk actions are visible they sit on the left and the Generate/Add
   buttons move to the right; with no variations the buttons stay left. */
.storesuite-variation-toolbar-primary.has-bulk-actions
  #storesuite-generate-variations-btn {
  margin-left: auto;
}

/* Bulk actions group — pinned to the left of the toolbar. */
.storesuite-variation-bulk-group {
  flex: 0 1 320px;
  max-width: 320px;
  order: -1;
}

/* Attribute value display / edit toggle */
.storesuite-attribute-name-head {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  font-weight: 500;
}

/* Attribute drag-sort */
.storesuite-attribute-sort-handle {
  display: inline-flex;
  align-items: center;
  cursor: grab;
  color: var(--storesuite-text-black);
}
.storesuite-attribute-sort-handle:active {
  cursor: grabbing;
}
#storesuite-attributes-list .ui-sortable-helper {
  display: table;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.storesuite-attribute-sortable-placeholder {
  outline: 2px dashed #2271b1;
  background: #f0f6fc;
}
.storesuite-attribute-terms-display {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.storesuite-term-badge {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 4px;
  background-color: var(--storesuite-bg-color-muted);
  border: 1px solid var(--storesuite-border-color);
  color: var(--storesuite-text-black);
  font-size: 12px;
  line-height: 1.4;
}
.storesuite-attribute-terms-display:empty {
  display: none;
}
.storesuite-attribute-edit-wrap {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows 0.3s ease, opacity 0.2s ease;
}
.storesuite-attribute-row.is-editing .storesuite-attribute-edit-wrap {
  grid-template-rows: 1fr;
  opacity: 1;
  margin-top: 10px;
}
.storesuite-attribute-edit-inner {
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
  min-height: 0;
}

/* Attributes card — table layout.
   Excludes .storesuite-attribute-col-name so select2 sizes its own search
   field there and the placeholder text is not clipped. */
#storesuite-product-attributes .select2-container .select2-selection--multiple .select2-search--inline:not( .storesuite-attribute-col-name * ),
#storesuite-product-attributes .select2-container .select2-selection--multiple .select2-search--inline:not( .storesuite-attribute-col-name * ) .select2-search__field {
  width: auto !important;
}

.my-storesuite-wrapper #storesuite-product-attributes .storesuite-form-group {
  margin-bottom: 0;
}

.storesuite-attributes-subtitle {
  color: #6b7280;
  margin: 0 0 16px 0;
  font-size: 14px;
}
.storesuite-edit-attribute,
.storesuite-remove-attribute,
.storesuite-toggle-variation,
.storesuite-remove-variation {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
}
.storesuite-edit-attribute svg,
.storesuite-remove-attribute svg,
.storesuite-toggle-variation svg,
.storesuite-remove-variation svg {
  width: 16px;
  height: 16px;
  display: block;
  margin: 0;
}
/* Toggle icon swap: closed icon by default, open icon when expanded/editing */
.storesuite-toggle-variation .storesuite-toggle-icon-open,
.storesuite-toggle-variation.is-open .storesuite-toggle-icon-closed,
.storesuite-edit-attribute .storesuite-toggle-icon-open,
.storesuite-attribute-row.is-editing .storesuite-edit-attribute .storesuite-toggle-icon-closed {
  display: none;
}
.storesuite-toggle-variation.is-open .storesuite-toggle-icon-open,
.storesuite-attribute-row.is-editing .storesuite-edit-attribute .storesuite-toggle-icon-open {
  display: block;
}

/* Product variations UI */

/* Empty state (no variations yet) */
.storesuite-variation-empty {
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 24px;
  padding: 32px 0;
  min-height: 320px;
}
.storesuite-variation-empty-arrow {
  position: absolute;
  top: 0;
  left: 24px;
}
.storesuite-variation-empty-arrow img {
  display: block;
  width: 57px;
  height: auto;
}
.storesuite-variation-empty-bg {
  display: block;
  width: 80px;
  height: auto;
}
.storesuite-variation-empty p {
  width: 90%;
  max-width: 544px;
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  color: var(--storesuite-text-black);
}

.storesuite-variation-row {
  border: 1px solid var(--storesuite-border-color);
  border-radius: 0;
  padding: 0;
}
#storesuite-variations-container .storesuite-variation-row {
  margin-bottom: 0;
}
#storesuite-variations-container .storesuite-variation-row + .storesuite-variation-row {
  border-top: 0;
}
#storesuite-variations-container .storesuite-variation-row:first-child {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
#storesuite-variations-container .storesuite-variation-row:last-child {
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}

.storesuite-variation-header {
  display: flex;
  align-items: center;
  padding: 15px;
  cursor: pointer;
  gap: 10px;
}

.storesuite-variation-thumb img {
  border-radius: 4px;
  object-fit: cover;
  display: block;
}

.storesuite-variation-attrs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex: 1;
}

.storesuite-variation-attrs select {
  max-width: 160px;
}

.storesuite-variation-actions-header {
  display: flex;
  gap: 8px;
  align-items: center;
}

.storesuite-variation-actions-header a {
  text-decoration: none;
  font-size: 16px;
}

.storesuite-remove-variation {
  color: #d63638;
}

.storesuite-variation-body .storesuite-card-content {
  padding: 16px;
  border-top: 1px solid #e0e0e0;
}

.storesuite-variation-image-upload {
  cursor: pointer;
  position: relative;
  display: inline-block;
  line-height: 0;
}

.storesuite-variation-image-upload img {
  border-radius: 4px;
  object-fit: cover;
  border: 1px solid #e0e0e0;
}

.storesuite-variation-image-actions {
  position: absolute;
  inset: 0;
}

.storesuite-variation-image-actions a {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  line-height: 1;
  text-decoration: none;
  opacity: 0;
  transition: opacity 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.storesuite-variation-image-upload:hover .storesuite-variation-image-actions a {
  opacity: 1;
}

.storesuite-variation-image-actions a svg {
  display: block;
  box-sizing: content-box;
  width: 16px;
  height: 16px;
  padding: 8px;
  border-radius: 50%;
  background: currentColor;
  fill: #fff;
}

.storesuite-upload-variation-image {
  color: var(--storesuite-primary-bg);
}

.storesuite-upload-variation-image:hover {
  color: var(--storesuite-primary-bg);
  background: color-mix(in srgb, var(--storesuite-primary-bg) 20%, transparent);
}

.storesuite-remove-variation-image {
  color: #ef4444;
}

.storesuite-remove-variation-image:hover {
  color: #ef4444;
  background: rgba(239, 68, 68, 0.2);
}

.storesuite-variation-image-upload:not(.has-variation-image) .storesuite-remove-variation-image,
.storesuite-variation-image-upload.has-variation-image .storesuite-upload-variation-image {
  display: none;
}

.storesuite-variation-row.variation-needs-update {
  border-left: 4px solid var(--storesuite-primary-bg);
}

.storesuite-form-text a.storesuite-cogs-default-link {
  text-decoration: underline !important;
}

.variable-switches-group {
  margin: 10px 0;
}

.storesuite-variation-body.is-open .storesuite-card-content {
  background: var(--storesuite-bg-color-muted);
}

/* Drag reorder */
#storesuite-variations-container .storesuite-variation-header {
  cursor: grab;
}

#storesuite-variations-container .ui-sortable-helper .storesuite-variation-header {
  cursor: grabbing;
}

#storesuite-variations-container .ui-sortable-helper {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 100;
}

.storesuite-sortable-placeholder {
  border: 2px dashed #2271b1;
  border-radius: 4px;
  margin-bottom: 12px;
  min-height: 56px;
  background: #f0f6fc;
}

/* Default attributes */
#storesuite-product-variations .storesuite-card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.storesuite-text-link-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  color: var(--storesuite-primary-bg);
  font-weight: 500;
  font-size: 14px;
  text-decoration: none;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.storesuite-text-link-button:hover {
  color: var(--storesuite-primary-bg-hover);
  text-decoration: none;
}
.storesuite-text-link-button svg {
  fill: currentColor;
  transition: transform 0.2s ease;
}
#storesuite-toggle-default-values.is-active svg {
  transform: rotate(90deg);
}

.storesuite-default-attributes {
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 16px;
  background: var(--storesuite-bg-color-muted);
  padding: 20px;
  border-radius: 6px;
  margin-left: -25px;
  margin-right: -25px;
}

.storesuite-default-attributes-title {
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 8px;
}

/* Variation pagination */
.storesuite-variation-pagination .storesuite-pagination-wrap {
  margin-top: 12px;
}

.storesuite-notice {
  padding: 12px 16px;
  border-radius: 4px;
  margin-bottom: 12px;
}

.storesuite-notice-info {
  background: #f0f6fc;
  border-left: 4px solid #2271b1;
  color: #1d2327;
}

.storesuite-notice-error {
  background: #fef2f2;
  border-left: 4px solid #dc3545;
  color: #b91c1c;
}

.storesuite-notice p {
  margin: 0;
}

.storesuite-notice p + p {
  margin-top: 6px;
}

.storesuite-notice p.storesuite-notice-actions {
  margin-top: 12px;
  display: flex;
  gap: 8px;
}
#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td input {
  margin-bottom: 5px;
}

#woocommerce-order-items .woocommerce_order_items_wrapper table.woocommerce_order_items table.meta {
  display: table;
}


/* Order Details */
.order-item-meta-wrapper .order-item-meta {
  display: flex;
  gap: 10px;
}

.order-item-meta-wrapper .order-item-meta p {
  margin: 0;
}

.storesuite-card section.woocommerce-columns.addresses {
  display: flex;
  width: 100%;
  gap: 30px;
}

.storesuite-card section.woocommerce-columns.addresses>div {
  width: 50%;
}
.customer-history-item h4 {
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 500;
}

.customer-history-item {
  font-size: 14px;
}

.customer-history-item:not(:last-child) {
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 15px;
  padding-bottom: 15px;
}
.storesuite-dashboard-order-details .woocommerce-customer-details .woocommerce-columns.woocommerce-columns--2 {
  display: flex;
  gap: 24px;
}

.storesuite-dashboard-order-details .woocommerce-customer-details .woocommerce-columns.woocommerce-columns--2 .woocommerce-column {
  flex: 1;
  width: 100%;
}
.storesuite-dashboard-order-details .woocommerce-customer-details .woocommerce-columns.woocommerce-columns--2 .woocommerce-column address p {
  margin-top: 0;
}

.storesuite-dashboard-order-details .woocommerce-customer-details .woocommerce-columns.woocommerce-columns--2 .woocommerce-column address p:last-child {
  margin-bottom: 0;
}
.customer-address-box.hide-address, .storesuite-billing-address-fields, .storesuite-shipping-address-fields{
  display: none;
}
.customer-billing-address, .customer-shipping-address {
  color: #495057;
  font-size: 14px;
  padding: 24px;
}

.customer-billing-address strong, .customer-shipping-address strong {
  font-weight: 500;
  display: inline-block;
  margin-right: 5px;
}

.customer-billing-address ul, .customer-shipping-address ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
button.edit-storesuite-order-address {
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  vertical-align: middle;
  color: var(--storesuite-text-color-light);
  height: 18px;
}

button.edit-storesuite-order-address svg {
  fill: var(--storesuite-text-color-light);
  width: 18px;
  height: 18px;
}

.customer-address-box .storesuite-card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
table.storesuite-table.order-items .wc-order-item-thumbnail img {
  width: 38px;
  height: 38px;
  border-radius: 4px;
}
.my-storesuite-wrapper .storesuite-form-group.storesuite-bulk-order-actions {
    gap: 10px;
}
.storesuite-bulk-order-actions{
  max-width: 250px;
}

/* Hide the default checkbox */
.storesuite-form-group.storesuite-form-switch input[type="checkbox"] {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.storesuite-form-group.storesuite-form-switch {
  display: flex;
  align-items: center;
  gap: 12px;
}

.storesuite-form-group.storesuite-form-switch label {
  position: relative;
  padding-left: 50px;
  cursor: pointer;
  user-select: none;
  margin-bottom: 0;
}

.storesuite-form-group.storesuite-form-switch label::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 20px;
  background-color: #ccc;
  border-radius: 26px;
  transition: background-color 0.3s ease;
}

.storesuite-form-group.storesuite-form-switch label::after {
  content: '';
  position: absolute;
  left: 3px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background-color: white;
  border-radius: 50%;
  transition: transform 0.3s ease;
}

.storesuite-form-group.storesuite-form-switch input[type="checkbox"]:checked + label::before {
  background-color: var(--storesuite-primary-bg);
}

.storesuite-form-group.storesuite-form-switch input[type="checkbox"]:checked + label::after {
  transform: translateY(-50%) translateX(20px);
  -webkit-transform: translateY(-50%) translateX(20px);
  -moz-transform: translateY(-50%) translateX(20px);
  -ms-transform: translateY(-50%) translateX(20px);
  -o-transform: translateY(-50%) translateX(20px);
}

.storesuite-form-group.storesuite-form-switch input[type="checkbox"]:disabled + label {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Account header card: title/subtitle + Save All Changes */
.storesuite-account-header-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 16px 20px;
}
.storesuite-account-header-title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--storesuite-text-black);
}
.storesuite-account-header-subtitle {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--storesuite-text-color-light);
}
.storesuite-account-header-card .my-storesuite-button {
  flex: 0 0 auto;
}
.storesuite-account-footer-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}

/* Account settings layout: fixed-width nav + flexible content */
/* Account settings sidebar nav */
.storesuite-account-nav {
  padding: 8px;
}
.storesuite-account-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.storesuite-account-nav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--storesuite-text-color);
  transition:
    background 0.15s ease,
    color 0.15s ease;
}
.storesuite-account-nav-link svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  fill: var(--storesuite-text-black);
  transition: fill 0.15s ease;
}
.storesuite-account-nav-link:hover {
  background: var(--storesuite-bg-color-muted);
  color: var(--storesuite-text-color);
}
.storesuite-account-nav-link.is-active {
  background: color-mix(in srgb, var(--storesuite-primary-bg) 12%, #fff);
  color: var(--storesuite-primary-bg);
}
.storesuite-account-nav-link.is-active svg {
  fill: var(--storesuite-primary-bg);
}
.storesuite-account-nav-logout {
  color: #d63638;
}
.storesuite-account-nav-logout svg {
  fill: #d63638;
}
.storesuite-account-nav-logout:hover {
  background: rgba(214, 54, 56, 0.08);
  color: #d63638;
}

/* Account settings tab panels */
.storesuite-account-panel {
  display: none;
}
.storesuite-account-panel.is-active {
  display: block;
}

/* Address tab: WooCommerce form fields styled like StoreSuite */
.storesuite-address-card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-transform: capitalize;
}
.storesuite-copy-billing {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
}
.storesuite-copy-billing svg {
  width: 16px;
  height: 16px;
  margin: 0;
}
.storesuite-address-grid {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -8px;
}
.storesuite-address-grid .form-row {
  box-sizing: border-box;
  width: 100%;
  padding: 0 8px;
  margin: 0 0 16px;
}
.storesuite-address-grid .form-row label {
  display: block;
  margin-bottom: 5px;
  font-size: 14px;
  font-weight: 500;
  color: var(--storesuite-text-color);
}
.storesuite-address-grid .form-row label .optional {
  display: none;
}
.storesuite-address-grid .form-row .woocommerce-input-wrapper {
  display: block;
  width: 100%;
}
.storesuite-address-grid .form-row .input-text,
.storesuite-address-grid .form-row select {
  width: 100%;
  height: 40px;
  padding: 8px 12px;
  font-size: 14px;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 6px;
  color: var(--storesuite-text-color);
  transition: 0.3s;
}
.storesuite-address-grid .form-row .input-text:focus,
.storesuite-address-grid .form-row select:focus {
  outline: none;
  box-shadow: none;
  border-color: var(--storesuite-primary-bg);
}
.storesuite-address-grid .form-row .select2-container .select2-selection {
  height: 40px;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 6px;
}
.storesuite-address-grid
  .form-row
  .select2-container
  .select2-selection--single
  .select2-selection__rendered {
  line-height: 38px;
  padding-left: 12px;
  color: var(--storesuite-text-color);
}
.storesuite-address-grid
  .form-row
  .select2-container
  .select2-selection--single
  .select2-selection__arrow {
  height: 38px;
}
.storesuite-address-grid .form-row .required {
  color: #d63638;
  border: 0;
  text-decoration: none;
}
.storesuite-address-grid .form-row .optional {
  color: var(--storesuite-text-color-light);
}

/* Account profile picture upload — circular avatar with floating badges */
.storesuite-account-avatar {
  position: relative;
  width: 96px;
  height: 96px;
}
.storesuite-account-avatar-preview {
  display: block;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid var(--storesuite-border-color);
  background: var(--storesuite-bg-color-muted);
}
.storesuite-account-avatar-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.storesuite-account-avatar-upload,
.storesuite-account-avatar-remove {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 50%;
  cursor: pointer;
  background: #fff;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.18);
  transition:
    background 0.15s ease,
    color 0.15s ease;
}
.storesuite-account-avatar-upload {
  right: -4px;
  bottom: -4px;
  width: 32px;
  height: 32px;
  border: 1px solid var(--storesuite-border-color);
}
.storesuite-account-avatar-upload svg {
  width: 16px;
  height: 16px;
  fill: var(--storesuite-primary-bg);
}
.storesuite-account-avatar-upload:hover {
  background: var(--storesuite-primary-bg);
}
.storesuite-account-avatar-upload:hover svg {
  fill: #fff;
}
.storesuite-account-avatar-remove {
  right: -6px;
  top: -6px;
  width: 24px;
  height: 24px;
  border: 1px solid var(--storesuite-border-color);
}
.storesuite-account-avatar-remove svg {
  width: 14px;
  height: 14px;
  fill: #d63638;
}
.storesuite-account-avatar-remove:hover {
  background: #d63638;
}
.storesuite-account-avatar-remove:hover svg {
  fill: #fff;
}
.storesuite-form-group .mce-top-part::before {
  box-shadow: none;
}
.storesuite-form-group div.mce-toolbar-grp {
  background: #f5f5f5;
  border-bottom: 1px solid var(--storesuite-border-color);
}

.storesuite-form-group .wp-editor-container {
  border-radius: 8px;
  overflow: hidden;
}

/*Not found template part*/
.storesuite-no-data-found {
  text-align: center;
  padding: 100px 0;
}

.storesuite-no-data-found h2 {
  font-size: 22px;
  font-weight: 500;
  text-transform: capitalize;
  margin-bottom: 10px;
  margin-top: 0;
  color: #374151;
}

.storesuite-no-data-found p {
  margin: 0;
  font-weight: normal;
  color: var(--storesuite-text-color);
  font-size: 14px;
}

.storesuite-no-data-found .not-found-image {
  margin-bottom: 30px;
}


@media (max-width: 768px) {
  .storesuite-dashboard-order-details .col-md-8, 
  .storesuite-dashboard-order-details .col-md-4 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  
  .storesuite-dashboard-order-details .customer-type-group {
    flex-direction: column;
    gap: 12px;
  }
  
  .storesuite-dashboard-order-details .coupon-group, 
  .storesuite-dashboard-order-details .fee-group {
    flex-direction: column;
  }
  
  .storesuite-dashboard-order-details .action-buttons {
    flex-direction: column;
  }
  
  .storesuite-dashboard-order-details .date-time-group {
    flex-direction: column;
    gap: 8px;
  }
  
  .storesuite-dashboard-order-details .date-input, 
  .storesuite-dashboard-order-details .time-input {
    width: 100%;
  }
}

/* Off-Canvas Filter Styles */
.storesuite-filter-offcanvas-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: none;
  z-index: 999;
  transition: opacity 0.3s ease;
  opacity: 0;
}

.storesuite-filter-offcanvas-overlay.active {
  display: block;
  opacity: 1;
}

.storesuite-filter-offcanvas {
  position: fixed;
  top: 0;
  right: -100vw;
  width: 100vw;
  max-width: 400px;
  height: 100vh;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  z-index: 1000;
  transition: right 0.3s ease;
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}

.storesuite-filter-offcanvas.active {
  right: 0;
}

.storesuite-filter-offcanvas-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid var(--storesuite-border-color);
  flex-shrink: 0;
}

.storesuite-filter-offcanvas-header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--storesuite-text-black);
}

.storesuite-filter-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--storesuite-text-black);
  transition: color 0.2s ease;
}

.storesuite-filter-close:hover {
  color: var(--storesuite-primary-bg);
}

.storesuite-filter-close svg {
  width: 20px;
  height: 20px;
}

.storesuite-filter-offcanvas-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
}

.storesuite-filters-form-offcanvas {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.storesuite-filter-offcanvas-footer {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.storesuite-filter-offcanvas-footer button,
.storesuite-filter-offcanvas-footer a {
  width: 50%;
}

.storesuite-filter-toggle svg{
  width: 14px;
  height: 14px;
}

/* Scrollbar styling for off-canvas */
.storesuite-filter-offcanvas-body::-webkit-scrollbar {
  width: 6px;
}

.storesuite-filter-offcanvas-body::-webkit-scrollbar-track {
  background: #f1f5f9;
}

.storesuite-filter-offcanvas-body::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 3px;
}

.storesuite-filter-offcanvas-body::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Order Search Form Styles */
.storesuite-search-form.storesuite-order-search-form {
  display: flex;
  gap: 10px;
  align-items: center;
}

.storesuite-search-form.storesuite-order-search-form .storesuite-form-group{
  margin-bottom: 0;
}

.storesuite-search-form.storesuite-order-search-form .storesuite-table-search-input {
  min-width: 290px;
}

.storesuite-search-form.storesuite-order-search-form #order-search-filter {
  width: 170px;
  padding: 8px 12px;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 4px;
  background-color: #fff;
  font-size: 14px;
  color: var(--storesuite-text-color);
  cursor: pointer;
  transition: border-color 0.2s ease;
}

.storesuite-search-form.storesuite-order-search-form #order-search-filter:focus {
  outline: none;
  border-color: var(--storesuite-primary-bg);
  box-shadow: 0 0 0 3px rgba(45, 91, 219, 0.1);
}
form.storesuite-search-form.storesuite-order-search-form .my-storesuite-button {
    max-width: 100px;
}

@media (max-width: 768px) {
  .storesuite-search-form.storesuite-order-search-form {
    flex-direction: column;
  }

  .storesuite-search-form.storesuite-order-search-form #order-search-filter {
    width: 100%;
    min-width: unset;
  }
}

.storesuite-filter-offcanvas-body::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Premium Loader Overlay */
.storesuite-loader-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 100060;
  border-radius: inherit;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.storesuite-loader-overlay.active {
  opacity: 1;
  visibility: visible;
}

.storesuite-loader-spinner {
  width: 48px;
  height: 48px;
  border: 4px solid rgba(139, 92, 246, 0.15);
  border-left-color: var(--storesuite-primary-bg);
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: storesuite-rotation 1s linear infinite;
  margin-bottom: 12px;
}

.storesuite-loader-text {
  font-size: 14px;
  font-weight: 500;
  color: #4b5563;
  letter-spacing: 0.5px;
}

@keyframes storesuite-rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Ensure the container is relative for the absolute overlay */
.storesuite-dashboard-order-details {
  position: relative;
}
table.my-storesuite-tbl.storesuite-dashboard-leaderboard-table thead tr th:first-child, table.my-storesuite-tbl.storesuite-dashboard-leaderboard-table tbody tr td:first-child {
  padding-left: 24px!important;
}

table.my-storesuite-tbl.storesuite-dashboard-leaderboard-table tr td:first-child a {
  color: var(--storesuite-text-black);
}

table.my-storesuite-tbl.storesuite-dashboard-leaderboard-table thead tr th {
  background: var(--storesuite-bg-color-light);
}
form.storesuite-dashboard-date-range-form {
  display: flex;
}

form.storesuite-dashboard-date-range-form input#storesuite_dashboard_range {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0px;
  min-width: 250px;
  border-right: 0;
}

form.storesuite-dashboard-date-range-form button.my-storesuite-button.storesuite-dashboard-date-apply {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.my-storesuite-wrapper .clear {
  clear: both;
}
.storesuite-dropdown.storesuite-header-dropdown .storesuite-dropdown-menu li:not(:last-child) {
  border-bottom: 1px solid rgba(0,0,0,.1)!important;
}

/* Product bulk edit modal */
/* SweetAlert2 (z-index 1060 by default) must sit above the modal overlay
   (100050) so alerts triggered from inside a modal stay visible. It renders on
   <body>, so this rule is intentionally not scoped to .my-storesuite-container. */
.swal2-container {
  z-index: 100060 !important;
}
.storesuite-product-bulk-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 100050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: rgba(15, 23, 42, 0.45);
  overflow-y: auto;
}

.storesuite-product-bulk-modal-overlay[hidden]:not(.storesuite-modal-fade) {
  display: none !important;
}

/* Fade in/out (used with StoreSuite.storeSuiteModal initOverlay { fade: true }) */
.storesuite-modal-fade {
  transition: opacity 0.22s ease, visibility 0.22s ease;
}

.storesuite-product-bulk-modal-overlay.storesuite-modal-fade[hidden] {
  display: flex !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.storesuite-product-bulk-modal-overlay.storesuite-modal-fade:not([hidden]) {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  .storesuite-modal-fade {
    transition-duration: 0.01ms !important;
  }
}

.storesuite-product-bulk-modal-dialog {
  width: 100%;
  max-width: 640px;
  max-height: min(90vh, 900px);
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.2);
  outline: none;
}

.storesuite-product-bulk-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #e5e7eb;
}

.storesuite-product-bulk-modal-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
}

.storesuite-product-bulk-modal-close.my-storesuite-button.storesuite-button-ghost,
.storesuite-product-quick-edit-modal-close.my-storesuite-button.storesuite-button-ghost,
.storesuite-list-quick-edit-modal-close.my-storesuite-button.storesuite-button-ghost,
.storesuite-coupon-bulk-modal-close.my-storesuite-button.storesuite-button-ghost {
  flex-shrink: 0;
  box-sizing: border-box;
  width: 30px;
  height: 30px;
  min-width: 30px;
  padding: 0;
  font-size: 0;
  line-height: 1;
  border-radius: 6px;
  align-items: center;
  justify-content: center;
  color: rgb(244, 63, 94);
  background-color: rgba(244, 63, 94, 0.25);
  border: 1px solid rgba(244, 63, 94, 0.25);
  transition:
    color 0.22s ease,
    background-color 0.22s ease,
    border-color 0.22s ease;
}

.storesuite-product-bulk-modal-close.my-storesuite-button.storesuite-button-ghost:hover,
.storesuite-product-bulk-modal-close.my-storesuite-button.storesuite-button-ghost:focus-visible,
.storesuite-product-quick-edit-modal-close.my-storesuite-button.storesuite-button-ghost:hover,
.storesuite-product-quick-edit-modal-close.my-storesuite-button.storesuite-button-ghost:focus-visible,
.storesuite-list-quick-edit-modal-close.my-storesuite-button.storesuite-button-ghost:hover,
.storesuite-list-quick-edit-modal-close.my-storesuite-button.storesuite-button-ghost:focus-visible,
.storesuite-coupon-bulk-modal-close.my-storesuite-button.storesuite-button-ghost:hover,
.storesuite-coupon-bulk-modal-close.my-storesuite-button.storesuite-button-ghost:focus-visible {
  color: #fff;
  background-color: rgb(244, 63, 94);
  border-color: rgb(244, 63, 94);
}

.storesuite-product-bulk-modal-close.my-storesuite-button.storesuite-button-ghost svg,
.storesuite-product-quick-edit-modal-close.my-storesuite-button.storesuite-button-ghost svg,
.storesuite-list-quick-edit-modal-close.my-storesuite-button.storesuite-button-ghost svg,
.storesuite-coupon-bulk-modal-close.my-storesuite-button.storesuite-button-ghost svg {
  display: block;
  width: 20px;
  height: 20px;
  margin: 0;
  flex-shrink: 0;
  fill: currentColor;
}

.storesuite-product-bulk-edit-form {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.storesuite-product-bulk-edit-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 1rem 1.25rem;
}

.storesuite-product-export-intro {
  margin: 0 0 1rem;
  color: #6b7280;
}

.storesuite-export-bulk-notice {
  margin: 0 0 1rem;
  padding: 0.75rem 1rem;
  border-left: 4px solid var(--storesuite-primary-bg);
  background-color: #f9fafb;
  color: #374151;
  border-radius: 4px;
}

.storesuite-export-bulk-notice[hidden] {
  display: none;
}

.storesuite-export-clear-selection {
  color: var(--storesuite-primary-bg);
  text-decoration: underline;
}

.my-storesuite-button.storesuite-export-toggle svg,
.my-storesuite-button.storesuite-import-link svg {
  width: 13px;
  height: 13px;
}

/* The import wizard's "Show advanced options" toggle hides rows via the wp-admin `.hidden` utility,
   which isn't loaded on the frontend. Provide it scoped to the wizard. */
.storesuite-import-wizard .woocommerce-importer-advanced.hidden {
  display: none;
}

/* ==========================================================================
   Product CSV import wizard (design-system aligned)
   ========================================================================== */
/* Neutralise WooCommerce admin.css's `.woocommerce-progress-form-wrapper` chrome (max-width:710px,
   centered, colored) so the redesigned wizard can use the full dashboard width. */
.storesuite-import-wizard.woocommerce-progress-form-wrapper {
  max-width: none;
  margin: 0;
  text-align: left;
  color: var(--storesuite-text-color);
}

.storesuite-import-wizard {
  display: block;
}

/* Cards: reuse .storesuite-card sizing (6px radius, 24px padding) but swap the drop shadow for a
   flat 1px border so the wizard matches the product form's calm, borderless look. */
.storesuite-import-card {
  border: 1px solid var(--storesuite-border-color);
  box-shadow: none;
}

.storesuite-import-card.storesuite-card-with-header {
  border-radius: 6px;
}

/* Step indicator ---------------------------------------------------------- */
.storesuite-import-steps {
  display: flex;
  align-items: center;
  gap: 12px;
  list-style: none;
}

.storesuite-import-step {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1 1 0;
}

.storesuite-import-step::after {
  content: "";
  flex: 1 1 auto;
  min-width: 24px;
  height: 2px;
  border-radius: 2px;
  background: var(--storesuite-border-color);
  margin-left: 12px;
}

.storesuite-import-step:last-child {
  flex: 0 0 auto;
}

.storesuite-import-step:last-child::after {
  display: none;
}

.storesuite-import-step__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 6px;
  border: 1px solid var(--storesuite-border-color);
  background: var(--storesuite-surface-bg);
  color: var(--storesuite-text-color-light);
  font-size: 15px;
  font-weight: 600;
}

.storesuite-import-step__badge svg {
  width: 18px;
  height: 18px;
}

.storesuite-import-step__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.2;
}

.storesuite-import-step__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--storesuite-text-color-light);
}

.storesuite-import-step__name {
  font-size: 14px;
  font-weight: 500;
  color: var(--storesuite-text-black);
}

.storesuite-import-step.is-active .storesuite-import-step__badge {
  border-color: var(--storesuite-primary-bg);
  color: var(--storesuite-primary-bg);
  background: color-mix(in srgb, var(--storesuite-primary-bg) 8%, var(--storesuite-surface-bg));
}

.storesuite-import-step.is-active .storesuite-import-step__label,
.storesuite-import-step.is-active .storesuite-import-step__name {
  color: var(--storesuite-primary-bg);
}

.storesuite-import-step.is-done .storesuite-import-step__badge {
  border-color: var(--storesuite-primary-bg);
  background: var(--storesuite-primary-bg);
  color: #fff;
}

.storesuite-import-step.is-done::after {
  background: color-mix(in srgb, var(--storesuite-primary-bg) 45%, #fff);
}

/* Upload step ------------------------------------------------------------- */
.storesuite-import-card__title {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 600;
  color: var(--storesuite-text-black);
}

.storesuite-import-card__lead {
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--storesuite-text-color);
}

/* Dropzone ---------------------------------------------------------------- */
.storesuite-import-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 40px 24px;
  text-align: center;
  border: 2px dashed color-mix(in srgb, var(--storesuite-border-color) 75%, #cbd5e1);
  border-radius: 6px;
  background: var(--storesuite-bg-color-muted);
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.storesuite-import-dropzone:hover,
.storesuite-import-dropzone.is-dragging {
  border-color: var(--storesuite-primary-bg);
  background: color-mix(in srgb, var(--storesuite-primary-bg) 4%, var(--storesuite-surface-bg));
}

.storesuite-import-dropzone__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.storesuite-import-dropzone__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: 4px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--storesuite-primary-bg) 10%, var(--storesuite-surface-bg));
  color: var(--storesuite-primary-bg);
}

.storesuite-import-dropzone__icon svg {
  width: 26px;
  height: 26px;
}

.storesuite-import-dropzone__title {
  font-size: 16px;
  font-weight: 600;
  color: var(--storesuite-text-black);
  word-break: break-word;
}

.storesuite-import-dropzone__hint {
  font-size: 14px;
  color: var(--storesuite-text-color-light);
}

.storesuite-import-dropzone__browse {
  color: var(--storesuite-primary-bg);
  font-weight: 500;
}

.storesuite-import-dropzone__meta {
  display: flex;
  gap: 8px;
  margin-top: 6px;
}

/* Switch rows: extend the shared .storesuite-form-switch component. The base component vertically
   centers the track/knob against the label, so the toggle sits centered on the two-line text block. */
.storesuite-import-switch-row {
  align-items: center;
  margin-top: 20px;
  margin-bottom: 0;
  padding: 16px 18px;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 6px;
}

.storesuite-import-switch-row__title {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--storesuite-text-black);
}

.storesuite-import-switch-row__desc {
  display: block;
  margin-top: 3px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--storesuite-text-color-light);
}

/* "Use previous column mapping" toggle: standard [track] label row. */
.storesuite-import-switch-map {
  margin-top: 4px;
  margin-bottom: 0;
}

.storesuite-import-switch-map label {
  font-size: 14px;
  font-weight: 500;
  color: var(--storesuite-text-black);
}

/* Submit ------------------------------------------------------------------ */
.storesuite-import-submit {
  width: 100%;
  padding: 14px 20px;
  font-weight: 500;
  text-transform: capitalize;
}

.storesuite-import-submit svg {
  fill: currentColor;
  width: 16px;
  height: 16px;
  margin-right: 0;
  margin-left: 6px;
}

/* Column mapping step ----------------------------------------------------- */
.storesuite-import-mapping__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.storesuite-import-mapping__intro {
  flex: 1 1 320px;
  min-width: 0;
}

.storesuite-import-mapping__intro .storesuite-import-card__lead {
  margin-bottom: 0;
  max-width: 90%;
}

.storesuite-import-progress {
  flex: 0 1 400px;
  min-width: 280px;
  padding: 18px 20px;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 6px;
  background: var(--storesuite-bg-color-muted);
}

.storesuite-import-progress__top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.storesuite-import-progress__label {
  font-size: 14px;
  font-weight: 500;
  color: var(--storesuite-text-color);
}

.storesuite-import-progress__count {
  font-size: 14px;
  color: var(--storesuite-text-black);
}

.storesuite-import-progress__count strong {
  color: var(--storesuite-primary-bg);
  font-weight: 700;
}

.storesuite-import-progress__bar {
  height: 8px;
  border-radius: 999px;
  background: var(--storesuite-border-color);
  overflow: hidden;
}

.storesuite-import-progress__fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--storesuite-primary-bg);
  transition: width 0.3s ease;
}

.storesuite-import-progress__legend {
  display: flex;
  gap: 20px;
  margin-top: 12px;
}

.storesuite-import-progress__legend-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: var(--storesuite-text-color);
}

.storesuite-import-progress__legend-item strong {
  font-weight: 600;
  color: var(--storesuite-text-black);
}

.storesuite-import-progress__legend-item i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--storesuite-primary-bg);
}

.storesuite-import-progress__legend-item--ignored i {
  background: color-mix(in srgb, var(--storesuite-border-color) 50%, #94a3b8);
}

/* Toolbar */
.storesuite-import-mapping__toolbar {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin: 22px 0 0;
}

.storesuite-import-mapping__search {
  flex: 1 1 260px;
  max-width: none;
}

.storesuite-import-segmented {
  display: inline-flex;
  gap: 2px;
  padding: 4px;
  border-radius: 6px;
  background: var(--storesuite-bg-color-muted);
  border: 1px solid var(--storesuite-border-color);
}

.storesuite-import-segmented button {
  padding: 8px 18px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--storesuite-text-color);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.storesuite-import-segmented button:hover {
  color: var(--storesuite-text-black);
}

.storesuite-import-segmented button.is-active {
  background: var(--storesuite-surface-bg);
  color: var(--storesuite-primary-bg);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

/* Table */
.storesuite-import-mapping__table {
  margin: 22px -24px -24px;
  border-top: 1px solid var(--storesuite-border-color);
}

.storesuite-import-mapping__thead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
  padding: 12px 24px;
  background: var(--storesuite-bg-color-muted);
  border-bottom: 1px solid var(--storesuite-border-color);
}

.storesuite-import-mapping__thead span {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--storesuite-text-color-light);
}

.storesuite-import-mapping__thead span:last-child {
  grid-column: 3;
}

.storesuite-import-mapping__group-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px 10px;
}

.storesuite-import-mapping__group-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--storesuite-text-black);
}

.storesuite-import-mapping__group-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--storesuite-bg-color-muted);
  border: 1px solid var(--storesuite-border-color);
  font-size: 11px;
  font-weight: 600;
  color: var(--storesuite-text-color-light);
}

.storesuite-import-mapping__group-head::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: var(--storesuite-border-color);
}

.storesuite-import-mapping__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
  align-items: center;
  gap: 0;
  padding: 14px 24px;
  border-top: 1px solid var(--storesuite-border-color);
}

.storesuite-import-mapping__group .storesuite-import-mapping__row:first-of-type {
  border-top: 0;
}

.storesuite-import-mapping__col {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.storesuite-import-mapping__dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--storesuite-border-color) 50%, #94a3b8);
}

.storesuite-import-mapping__dot.is-mapped {
  background: var(--storesuite-primary-bg);
}

.storesuite-import-mapping__col-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.storesuite-import-mapping__col-name {
  font-size: 15px;
  font-weight: 600;
  color: var(--storesuite-text-black);
  word-break: break-word;
}

.storesuite-import-mapping__sample {
  font-size: 13px;
  color: var(--storesuite-text-color-light);
}

.storesuite-import-mapping__sample code {
  background: transparent;
  padding: 0;
  color: var(--storesuite-text-color-light);
  font-size: 13px;
}

.storesuite-import-mapping__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--storesuite-icon-color);
}

.storesuite-import-mapping__empty {
  padding: 40px 24px;
  text-align: center;
  color: var(--storesuite-text-color-light);
  font-size: 14px;
}

/* Actions */
.storesuite-import-mapping__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.storesuite-import-btn {
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 500;
  text-transform: capitalize;
}

.storesuite-import-btn svg {
  width: 16px;
  height: 16px;
}

/* Import (progress) step ---------------------------------------------------
   The card keeps WooCommerce's `.woocommerce-importer` class (its importer script binds to it), which
   drags in admin.css rules for padding/text-align/shadow and for the nested h2/p. Those are two-class
   selectors, so scope ours under the wizard wrapper to win. */
.storesuite-import-wizard .storesuite-import-progress-step.woocommerce-importer {
  padding: 56px 24px;
  margin: 0;
  overflow: visible;
  text-align: center;
  box-shadow: none;
  color: var(--storesuite-text-color);
}

.storesuite-import-progress-step__spinner {
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 auto 20px;
  border: 3px solid var(--storesuite-border-color);
  border-top-color: var(--storesuite-primary-bg);
  border-radius: 50%;
  animation: storesuite-import-spin 0.7s linear infinite;
}

@keyframes storesuite-import-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .storesuite-import-progress-step__spinner {
    animation-duration: 3s;
  }
}

.storesuite-import-wizard .woocommerce-importer h2.storesuite-import-progress-step__title {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--storesuite-text-black);
}

.storesuite-import-wizard .woocommerce-importer p.storesuite-import-progress-step__lead {
  margin: 0 auto 28px;
  max-width: 60%;
  font-size: 14px;
  line-height: 1.6;
  color: var(--storesuite-text-color);
}

.storesuite-import-progress-step__bar {
  max-width: 60%;
  margin: 0 auto;
}

/* Native <progress> needs per-engine pseudo-elements; the element itself is required by
   wc-product-import.js, so restyle it rather than replacing it. admin.css hides it via
   `.woocommerce-progress-form-wrapper .woocommerce-importer progress`, hence the extra class here. */
.storesuite-import-wizard .storesuite-import-progress-step.woocommerce-importer progress {
  display: block;
  width: 100%;
  height: 8px;
  border: 0;
  border-radius: 6px;
  background: var(--storesuite-bg-color-muted);
  appearance: none;
}

.storesuite-import-wizard .storesuite-import-progress-step.woocommerce-importer progress::-webkit-progress-bar {
  border-radius: 6px;
  background: var(--storesuite-bg-color-muted);
}

.storesuite-import-wizard .storesuite-import-progress-step.woocommerce-importer progress::-webkit-progress-value {
  border-radius: 6px;
  box-shadow: none;
  background: var(--storesuite-primary-bg);
}

.storesuite-import-wizard .storesuite-import-progress-step.woocommerce-importer progress::-moz-progress-bar {
  border-radius: 6px;
  box-shadow: none;
  background: var(--storesuite-primary-bg);
}

.storesuite-import-progress-step__value {
  margin-top: 12px;
  font-size: 14px;
  font-weight: 600;
  color: var(--storesuite-primary-bg);
}

@media (max-width: 768px) {
  .storesuite-import-progress-step__lead,
  .storesuite-import-progress-step__bar {
    max-width: 100%;
  }
}

/* Done step --------------------------------------------------------------- */
.storesuite-import-done {
  padding: 48px 24px;
  text-align: center;
}

.storesuite-import-done__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 20px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--storesuite-primary-bg) 10%, var(--storesuite-surface-bg));
  color: var(--storesuite-primary-bg);
}

.storesuite-import-done__icon.is-warning {
  background: rgb(254 243 199);
  color: rgb(245 158 11);
}

.storesuite-import-done__title {
  margin: 0 0 6px;
  font-size: 20px;
  font-weight: 600;
  color: var(--storesuite-text-black);
}

.storesuite-import-done__lead {
  margin: 0 auto 28px;
  max-width: 70%;
  font-size: 14px;
  line-height: 1.6;
  color: var(--storesuite-text-color);
}

.storesuite-import-done__stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.storesuite-import-done__stat {
  flex: 0 1 180px;
  padding: 18px 16px;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 6px;
  background: var(--storesuite-bg-color-muted);
}

.storesuite-import-done__stat-value {
  display: block;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--storesuite-text-black);
}

.storesuite-import-done__stat-label {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  color: var(--storesuite-text-color-light);
}

.storesuite-import-done__stat--success .storesuite-import-done__stat-value {
  color: rgb(16 185 129);
}

.storesuite-import-done__stat--info .storesuite-import-done__stat-value {
  color: rgb(99 102 241);
}

.storesuite-import-done__stat--warning .storesuite-import-done__stat-value {
  color: rgb(245 158 11);
}

.storesuite-import-done__stat--danger .storesuite-import-done__stat-value {
  color: rgb(244 63 94);
}

.storesuite-import-done__log {
  margin: 20px auto 0;
  text-align: left;
}

.storesuite-import-done__log code {
  background: none;
  padding: 0;
  font-size: 13px;
  color: var(--storesuite-text-black);
}

.storesuite-import-done__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 28px;
}

@media (max-width: 768px) {
  .storesuite-import-done__lead {
    max-width: 100%;
  }

  .storesuite-import-done__stat {
    flex: 1 1 100%;
  }
}

/* The bi-play glyph carries a lot of internal padding, so scale it up to read the same as the back arrow. */
.storesuite-import-btn--run svg {
  width: 24px;
  height: 24px;
}

/* Back button: slate text/icon instead of the light button's muted grey + slate-400 icon fill. Both are
   set on `.my-storesuite-button.my-storesuite-button-light`, so match that specificity to win. */
.my-storesuite-button.my-storesuite-button-light.storesuite-import-btn--back {
  color: var(--storesuite-text-black);
}

.my-storesuite-button.my-storesuite-button-light.storesuite-import-btn--back svg {
  fill: currentColor;
}

.my-storesuite-button.my-storesuite-button-light.storesuite-import-btn--back:hover,
.my-storesuite-button.my-storesuite-button-light.storesuite-import-btn--back:focus {
  color: var(--storesuite-button-text-hover-color);
}

@media (max-width: 768px) {
  .storesuite-import-steps {
    flex-wrap: wrap;
    gap: 14px;
  }

  .storesuite-import-step::after {
    display: none;
  }

  .storesuite-import-mapping__row,
  .storesuite-import-mapping__thead {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .storesuite-import-mapping__thead span:last-child,
  .storesuite-import-mapping__arrow {
    display: none;
  }
}

.storesuite-export-progress {
  display: block;
  width: 100%;
  height: 14px;
  margin-top: 1.25rem;
  border: 0;
  border-radius: 999px;
  background-color: var(--storesuite-border-color);
  overflow: hidden;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.storesuite-export-progress::-webkit-progress-bar {
  background-color: var(--storesuite-border-color);
  border-radius: 999px;
}

.storesuite-export-progress::-webkit-progress-value {
  background-color: var(--storesuite-primary-bg);
  border-radius: 999px;
  transition: width 0.3s ease;
}

.storesuite-export-progress::-moz-progress-bar {
  background-color: var(--storesuite-primary-bg);
  border-radius: 999px;
}

/* selectWoo dropdowns ship with z-index 1051, which sits below the product modal overlay
   (z-index 100050), so they render behind the dialog. Lift them above it. The base
   `.storesuite-main-dashboard .select2-container .select2-dropdown` rule sets no z-index, so this
   override wins on specificity. */
.storesuite-main-dashboard .select2-container--open,
.storesuite-main-dashboard .select2-container .select2-dropdown {
  z-index: 100060;
}

.storesuite-product-bulk-edit-core .storesuite-form-group,
.storesuite-product-bulk-edit-scroll .storesuite-product-bulk-wc-fields .storesuite-form-group {
  margin-bottom: 0.75rem;
}

.storesuite-product-bulk-edit-scroll .storesuite-product-bulk-edit-core > .row,
.storesuite-product-bulk-edit-scroll .storesuite-product-bulk-wc-fields > .row {
  margin-bottom: 0.5rem;
}

.storesuite-product-bulk-edit-scroll .storesuite-bulk-wc-section-heading {
  margin: 1rem 0 0.5rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #1f2937;
}

.storesuite-product-bulk-edit-scroll .storesuite-product-bulk-edit-core .storesuite-form-group > .storesuite-form-label,
.storesuite-product-bulk-edit-scroll .storesuite-product-bulk-wc-fields .storesuite-form-group > .storesuite-form-label {
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
  color: #495057;
  font-size: 14px;
}

.storesuite-product-bulk-edit-scroll .storesuite-bulk-wc-dimensions-row {
  margin-top: 0.25rem;
}

.storesuite-product-bulk-edit-scroll .storesuite-bulk-wc-dimensions-row .storesuite-form-control {
  margin-bottom: 0.5rem;
}


.storesuite-product-bulk-modal-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 1rem 1.25rem;
  border-top: 1px solid #e5e7eb;
}

.storesuite-button-ghost {
  background: transparent;
  border: 1px solid #d1d5db;
}

.storesuite-button-secondary {
  background: #f3f4f6;
  border: 1px solid #d1d5db;
}

/* Slate neutral + primary on hover — filter offcanvas Reset, product bulk Cancel, etc. */
.my-storesuite-button.storesuite-button-neutral-panel {
  background-color: #f1f5f9;
  color: var(--storesuite-text-black);
  cursor: pointer;
  text-align: center;
  border-color: #f1f5f9;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease;
}

.my-storesuite-button.storesuite-button-neutral-panel:hover,
.my-storesuite-button.storesuite-button-neutral-panel:focus-visible {
  background-color: var(--storesuite-primary-bg);
  border-color: var(--storesuite-primary-bg);
  color: var(--storesuite-button-text-hover-color);
}

.storesuite-bulk-edit-feedback {
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
}

.storesuite-bulk-edit-feedback-line {
  margin: 0.25rem 0;
  font-size: 0.9375rem;
}

.storesuite-text-success {
  color: #047857;
}

.storesuite-hide {
  display: none !important;
}

/* Product quick edit modal: wider dialog than bulk edit */
.storesuite-product-bulk-modal-dialog.storesuite-product-quick-edit-modal-dialog {
  max-width: 920px;
}

/* The taxonomy/attribute quick edit forms are single column, so use a narrower dialog. */
.storesuite-list-quick-edit-modal .storesuite-product-bulk-modal-dialog.storesuite-product-quick-edit-modal-dialog {
  max-width: 480px;
}

.storesuite-product-quick-edit-modal-scroll {
  min-height: 4rem;
}

.storesuite-quick-edit-loading-msg {
  margin: 0;
  padding: 1rem 0;
  text-align: center;
  color: #64748b;
  font-size: 0.9375rem;
}

.storesuite-product-quick-edit-update-wrap {
  position: relative;
}

.storesuite-product-quick-edit-update-wrap.storesuite-quick-edit-loading {
  opacity: 0.55;
  pointer-events: none;
}

.storesuite-product-quick-edit-fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

.storesuite-quick-edit-section-title {
  display: block;
  margin: 0 0 0.75rem;
  font-size: 0.9375rem;
  color: var(--storesuite-text-black);
}

.storesuite-quick-edit-field-row {
  display: grid;
  grid-template-columns: minmax(6rem, 8rem) 1fr;
  gap: 0.5rem 0.75rem;
  align-items: center;
  margin-bottom: 0.65rem;
}

.storesuite-quick-edit-label {
  font-size: 0.8125rem;
  color: var(--storesuite-text-color);
}

.storesuite-quick-edit-hr {
  margin: 1rem 0;
  border: 0;
  border-top: 1px solid #e2e8f0;
}

.storesuite-quick-edit-control .storesuite-form-control {
  width: 100%;
}

.storesuite-quick-edit-dimensions-inputs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.35rem;
}

.storesuite-quick-edit-switch-row {
  grid-template-columns: 1fr;
}

.storesuite-quick-edit-switch-row .storesuite-quick-edit-control {
  margin-left: 0;
}

.storesuite-product-quick-edit-fieldset .storesuite-form-group.storesuite-form-switch {
  margin-bottom: 0.5rem;
}

.storesuite-wc-quick-edit-warning {
  margin-top: 0.35rem;
  padding: 0.35rem 0.5rem;
  font-size: 0.8125rem;
  color: #92400e;
  background: #fffbeb;
  border: 1px solid #fcd34d;
  border-radius: 4px;
}

/* Downloadable files table on product add/edit form. */
table.storesuite-downloadable-files {
  width: 100%;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 6px;
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: hidden;
  margin-top: 0.5rem;
}
table.storesuite-downloadable-files th,
table.storesuite-downloadable-files td {
  padding: 0.5rem;
  vertical-align: middle;
  background: #fff;
}
table.storesuite-downloadable-files thead th {
  text-align: left;
  font-weight: 600;
}
table.storesuite-downloadable-files thead:first-child tr:first-child th {
  border-bottom: 1px solid var(--storesuite-border-color) !important;
}
table.storesuite-downloadable-files tbody td {
  border-top: 1px solid var(--storesuite-border-color) !important;
}
table.storesuite-downloadable-files tbody tr:first-child td {
  border-top: 0 !important;
}
table.storesuite-downloadable-files tbody tr:last-child td {
  border-bottom: 1px solid var(--storesuite-border-color) !important;
}
table.storesuite-downloadable-files tfoot th {
  text-align: left;
}
.storesuite-downloadable-files td.sort,
.storesuite-downloadable-files th.sort {
  width: 24px;
  text-align: center;
}
.storesuite-downloadable-files .storesuite-drag-handle {
  cursor: move;
  color: #9ca3af;
}
.storesuite-downloadable-file-url {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.storesuite-downloadable-file-url-input {
  flex: 1;
}
.storesuite-downloadable-files .file_url_choose {
  white-space: nowrap;
}
.storesuite-downloadable-files .file_url_choose a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 6px;
  text-decoration: none;
  line-height: 1;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.storesuite-downloadable-files .file_url_choose a + a {
  margin-left: 6px;
}
.storesuite-downloadable-files .storesuite-upload-file-button {
  color: var(--storesuite-primary-color, #4f46e5);
  background: color-mix(in srgb, var(--storesuite-primary-color, #4f46e5) 12%, #fff);
}
.storesuite-downloadable-files .storesuite-upload-file-button:hover {
  border-color: var(--storesuite-primary-color, #4f46e5);
}
.storesuite-downloadable-files .storesuite-delete-file {
  color: #ef4444;
  background: #fef2f2;
}
.storesuite-downloadable-files .storesuite-delete-file:hover,
.storesuite-downloadable-files .storesuite-delete-file:focus {
  color: #ef4444;
  border-color: #ef4444;
}
.storesuite-downloadable-files .file_url_choose svg {
  width: 16px;
  height: 16px;
  display: block;
}
a.my-storesuite-button.storesuite-add-downloadable-file {
  font-weight: normal;
  color: var(--storesuite-button-text-color);
}

/* Hide number input spinner arrows on product add/edit form. */
#storesuite-add-product input[type="number"]::-webkit-outer-spin-button,
#storesuite-add-product input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
#storesuite-add-product input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

/* Floating sticky save bar on the product add/edit form */
.storesuite-sticky-actions {
  position: fixed;
  left: var(--storesuite-sidebar-current-width, 0);
  right: 0;
  top: 24px;
  z-index: 120;
  padding: 0 24px;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.storesuite-sticky-actions.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.storesuite-sticky-actions-inner {
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: var(--storesuite-sidebar-bg-color);
  color: var(--storesuite-sidebar-menu-text);
  border: 1px solid var(--storesuite-sidebar-border-color, var(--storesuite-border-color));
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
}
.storesuite-sticky-actions-label {
  font-size: 15px;
  font-weight: 500;
  color: var(--storesuite-sidebar-menu-text);
}
.storesuite-sticky-actions-buttons {
  display: flex;
  align-items: center;
  gap: 10px;
}
.storesuite-sticky-actions .storesuite-sticky-discard {
  background: transparent;
  color: var(--storesuite-sidebar-menu-text);
  border: 1px solid var(--storesuite-sidebar-border-color, var(--storesuite-border-color));
}
.storesuite-sticky-actions .storesuite-sticky-discard:hover {
  background: var(--storesuite-primary-bg);
  border-color: var(--storesuite-primary-bg);
  color: #fff;
}
@media (max-width: 600px) {
  .storesuite-sticky-actions {
    padding: 0 12px;
    top: 12px;
  }
  .storesuite-sticky-actions-inner {
    padding: 12px 14px;
  }
}

/* ---------------------------------------------------------------
 * SweetAlert2 — modern flat theme
 * --------------------------------------------------------------- */
.swal2-container {
  padding: 16px;
}
.swal2-container.swal2-backdrop-show {
  background: rgba(15, 23, 42, 0.4);
}
.swal2-popup {
  width: 26em;
  padding: 28px;
  border-radius: 14px;
  box-shadow: 0 12px 44px rgba(15, 23, 42, 0.16);
  font-family: inherit;
}
.swal2-title {
  margin: 0;
  padding: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--storesuite-text-black);
}
.swal2-html-container {
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--storesuite-text-color-light);
}

/* Flat icon — palette colors. Keep default geometry so the success/error
 * line children (absolutely positioned for the default size) stay aligned. */
.swal2-icon {
  margin: 6px auto 16px;
}
.swal2-icon.swal2-warning {
  border-color: #f59e0b;
  color: #f59e0b;
}
.swal2-icon.swal2-error {
  border-color: #ef4444;
  color: #ef4444;
}
.swal2-icon.swal2-error [class^="swal2-x-mark-line"] {
  background-color: #ef4444;
}
.swal2-icon.swal2-question {
  border-color: var(--storesuite-primary-bg);
  color: var(--storesuite-primary-bg);
}
.swal2-icon.swal2-success {
  border-color: #10b981;
}
.swal2-icon.swal2-success [class^="swal2-success-line"] {
  background-color: #10b981;
}
.swal2-icon.swal2-success .swal2-success-ring {
  border-color: rgba(16, 185, 129, 0.3);
}

/* Actions / buttons — flat, StoreSuite style */
.swal2-actions {
  gap: 8px;
  margin-top: 22px;
}
.swal2-styled {
  margin: 0;
  padding: 10px 22px;
  font-size: 14px;
  font-weight: 500;
  border: 0;
  border-radius: 6px;
  box-shadow: none !important;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}
.swal2-styled.swal2-confirm {
  background: var(--storesuite-primary-bg);
  color: #fff;
}
.swal2-styled.swal2-confirm:hover,
.swal2-styled.swal2-confirm:focus {
  background: var(--storesuite-primary-bg-hover);
}
.swal2-styled.swal2-cancel {
  background: #fff;
  border: 1px solid var(--storesuite-border-color);
  color: var(--storesuite-text-color-light);
}
.swal2-styled.swal2-cancel:hover,
.swal2-styled.swal2-cancel:focus {
  background: var(--storesuite-bg-color-muted);
}
.swal2-styled:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px
    color-mix(in srgb, var(--storesuite-primary-bg) 28%, transparent) !important;
}

/* Inputs */
.swal2-input,
.swal2-select,
.swal2-textarea {
  border: 1px solid var(--storesuite-border-color);
  border-radius: 6px;
  box-shadow: none;
  font-size: 14px;
  color: var(--storesuite-text-black);
}
.swal2-input:focus,
.swal2-select:focus,
.swal2-textarea:focus {
  border-color: var(--storesuite-primary-bg);
  box-shadow: 0 0 0 3px
    color-mix(in srgb, var(--storesuite-primary-bg) 16%, transparent);
}
.swal2-validation-message {
  background: transparent;
  font-size: 13px;
  color: #ef4444;
}

/* ==========================================================================
   Dark mode overrides
   The color variables flip via :root[data-theme="dark"] above; the rules below
   re-skin surfaces that hardcode #fff / pastel colors and cannot follow a
   variable. Keep this section together so it is easy to scan and maintain.
   ========================================================================== */

/* Smooth the transition when the user flips the theme toggle. */
body,
.my-storesuite-container,
.storesuite-card,
.storesuite-dashboard-header,
.my-storesuite-sidebar,
.storesuite-badge {
  transition: background-color 0.25s ease, color 0.25s ease,
    border-color 0.25s ease;
}

[data-theme="dark"] body {
  background: var(--storesuite-page-bg);
}

/*
 * Plain (non-link) text in cells and elsewhere inherits the body color, which
 * the light theme leaves at the browser default (near-black). Give the dark
 * dashboard a readable default so SKU, price, product type and similar plain
 * text are legible.
 */
[data-theme="dark"] body,
[data-theme="dark"] .my-storesuite-page-content {
  color: var(--storesuite-text-color);
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
  color: var(--storesuite-text-color-light);
  opacity: 1;
}

/* The empty-state heading hardcodes a near-black #374151, invisible on the dark
   backdrop. (The paragraph below it already uses a variable.) */
[data-theme="dark"] .storesuite-no-data-found h2 {
  color: var(--storesuite-text-black);
}

/* Card / panel surfaces that hardcode a white background. */
[data-theme="dark"] .storesuite-card,
[data-theme="dark"] .storesuite-mb-24,
[data-theme="dark"] .storesuite-table-filter,
[data-theme="dark"] table.my-storesuite-tbl thead,
[data-theme="dark"] table.my-storesuite-tbl > tbody,
[data-theme="dark"] table.my-storesuite-product-list-table tbody tr td.tbl-product-name,
[data-theme="dark"] .storesuite-dropdown,
[data-theme="dark"] .storesuite-dropdown-menu,
[data-theme="dark"] .product-gallery-images-wrapper.gallery-has-no-image,
[data-theme="dark"] .storesuite-dashboard-header,
[data-theme="dark"] .storesuite-header-right,
[data-theme="dark"] .storesuite-kpi-summary,
[data-theme="dark"] .storesuite-modal-fade,
[data-theme="dark"] table.storesuite-downloadable-files {
  background-color: var(--storesuite-surface-bg);
}

/*
 * The import wizard's progress step also carries WooCommerce's `.woocommerce-importer`
 * class, and admin.css paints `.woocommerce-progress-form-wrapper .woocommerce-importer`
 * white. That selector ties with `[data-theme="dark"] .storesuite-card` on specificity
 * and admin.css is enqueued after our stylesheet, so it wins the cascade. Qualify the
 * card class to outrank it.
 */
[data-theme="dark"] .storesuite-card.storesuite-import-card {
  background-color: var(--storesuite-surface-bg);
}

/*
 * Bulk-edit, quick-edit and list quick-edit modal cards hardcode a white
 * surface (#fff) and light chrome. Give the dialog a dark surface plus a
 * defining border (the drop shadow is invisible on a dark backdrop) and
 * re-skin the header/footer dividers and dividing rule.
 */
[data-theme="dark"] .storesuite-product-bulk-modal-dialog {
  background: var(--storesuite-surface-bg);
  border: 1px solid var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-product-bulk-modal-header {
  border-bottom-color: var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-product-bulk-modal-footer {
  border-top-color: var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-quick-edit-hr {
  border-top-color: var(--storesuite-border-color);
}

/* Modal notices and warnings hardcode pale pastel fills. */
[data-theme="dark"] .storesuite-export-bulk-notice {
  background-color: var(--storesuite-surface-elevated);
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .storesuite-wc-quick-edit-warning {
  background: rgba(245, 158, 11, 0.12);
  color: rgb(251 191 36);
}

/* Secondary / ghost buttons (export + bulk modal actions) hardcode light fills. */
[data-theme="dark"] .my-storesuite-button.storesuite-button-secondary {
  background: var(--storesuite-surface-elevated);
  border-color: var(--storesuite-border-color);
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .my-storesuite-button.storesuite-button-ghost {
  border-color: var(--storesuite-border-color);
}

/* ==========================================================================
   Dashboard home (React widgets) dark mode
   The dashboard home renders WooCommerce admin components (summary tiles,
   chart, tables) plus custom quick-action cards. Their SCSS hardcodes white
   surfaces and near-black text, so re-skin them for dark here. Scoped to
   .storesuite-dashboard-layout so the Analytics page reskin is untouched.
   ========================================================================== */

/* Card surfaces: summary tiles, chart, tables, quick actions. */
[data-theme="dark"] .storesuite-dashboard-layout ul.woocommerce-summary,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-summary__item,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-chart,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-table,
[data-theme="dark"] .storesuite-dashboard-layout .storesuite-quick-actions,
[data-theme="dark"] .storesuite-dashboard-layout .storesuite-quick-action-item,
[data-theme="dark"] .storesuite-dashboard-layout .components-card,
[data-theme="dark"] .storesuite-dashboard-layout .components-input-control__container,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-legend__item button,
[data-theme="dark"] .storesuite-dashboard-layout .components-button.woocommerce-dropdown-button {
  background: var(--storesuite-surface-bg);
}

/* Chart legend rows (Today / Previous period) hardcode a white button fill. */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-legend__item button:hover {
  background: var(--storesuite-surface-elevated);
}

/* Summary tile hover/selected states. */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-summary__item:hover,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-summary__item:focus {
  background: var(--storesuite-surface-elevated);
}
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-summary__item.is-selected {
  background: var(--storesuite-surface-elevated);
}

/* Dividers between summary tiles and inside cards. */
[data-theme="dark"] .storesuite-dashboard-layout ul.woocommerce-summary li .woocommerce-summary__item,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-chart__header,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-table__header,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-table__item,
[data-theme="dark"] .storesuite-dashboard-layout .components-card__header,
[data-theme="dark"] .storesuite-dashboard-layout .storesuite-dashboard-section-header {
  border-color: var(--storesuite-border-color);
}

/* Table header cells hardcode a light gray fill. */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-table__header {
  background: var(--storesuite-surface-bg);
}

/* Row hover. */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-table tr:hover .woocommerce-table__item {
  background: var(--storesuite-surface-elevated);
}

/* Near-black text: titles, values, numbers, dropdown labels. */
[data-theme="dark"] .storesuite-dashboard-layout h2.woocommerce-chart__title,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-chart__title,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-summary__item-value,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-table__caption,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-table__header,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-table__header .components-button,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-table__item,
[data-theme="dark"] .storesuite-dashboard-layout .storesuite-quick-actions__title,
[data-theme="dark"] .storesuite-dashboard-layout .storesuite-recent-orders__number,
[data-theme="dark"] .storesuite-dashboard-layout .storesuite-leaderboard__title,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-legend__item-title,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-legend__item-total,
[data-theme="dark"] .storesuite-dashboard-layout .components-card__body,
[data-theme="dark"] .storesuite-dashboard-layout .components-button.woocommerce-dropdown-button .woocommerce-dropdown-button__labels span {
  color: var(--storesuite-text-black);
}

/* Interval-select ("By day") value. WooCommerce's emotion runtime injects a
   tripled-class rule (.css-x.css-x.css-x { color: currentColor }, specificity
   0,3,0) into <head> after this file, so a plain .components-select-control__input
   rule ties and loses on source order. Add the interval-select ancestor to
   reach 0,4,0 and win. */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-chart__interval-select .components-select-control__input {
  color: var(--storesuite-text-black);
}

/* Empty-state messages (chart "No data for the selected date range" and the
   leaderboard/table "No data recorded...") hardcode a muted #757575 that is too
   dark on the dark surface. Shared by the dashboard home and Analytics. */
[data-theme="dark"] .storesuite-dashboard-layout .d3-chart__empty-message,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-table.is-empty,
[data-theme="dark"] .storesuite-analytics-layout .d3-chart__empty-message,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-table.is-empty {
  color: var(--storesuite-text-color);
}

/* Chart hover tooltip (d3) hardcodes a white surface with a light-gray title. */
[data-theme="dark"] .storesuite-dashboard-layout .d3-chart__tooltip {
  background: var(--storesuite-surface-bg);
  border-color: var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-dashboard-layout .d3-chart__tooltip h4 {
  color: var(--storesuite-text-color);
}

/* Muted/secondary text: labels, section headers, empty notices, deltas. */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-summary__item-label,
[data-theme="dark"] .storesuite-dashboard-layout .storesuite-quick-action-item__label,
[data-theme="dark"] .storesuite-dashboard-layout .storesuite-dashboard-empty-notice,
[data-theme="dark"] .storesuite-dashboard-layout .storesuite-dashboard-section-header h3 {
  color: var(--storesuite-text-color);
}

/*
 * WooCommerce wraps stat labels, values and table cell text in its <Text>
 * component (.components-text), which hardcodes a near-black color on the leaf
 * element — so the container color rules above never reach the actual glyphs.
 * Make the wrapper follow its container's token color. Scoped away from the
 * delta pill so is-good/is-bad-trend text colors are preserved.
 */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-summary__item-label .components-text,
[data-theme="dark"] .storesuite-dashboard-layout .storesuite-stat-label,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-summary__item-value .components-text,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-table .components-text {
  color: inherit;
}

/* Card header titles (Recent Orders, Top products) render as a <Text> heading
   inside .components-card__header and stay near-black. */
[data-theme="dark"] .storesuite-dashboard-layout .components-card__header .components-text {
  color: var(--storesuite-text-black);
}

/* Quick-action card border + hover. */
[data-theme="dark"] .storesuite-dashboard-layout .storesuite-quick-action-item {
  border-color: var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-dashboard-layout .storesuite-quick-action-item:hover {
  border-color: var(--storesuite-primary-bg);
}

/* Delta pill neutral fill + text (good/bad-trend keep their pastel greens/reds). */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-summary__item:not(.is-good-trend):not(.is-bad-trend) .woocommerce-summary__item-delta {
  background: var(--storesuite-surface-elevated);
}
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-summary__item:not(.is-good-trend):not(.is-bad-trend) .woocommerce-summary__item-delta .components-text {
  color: var(--storesuite-text-color-light);
}

/* Chart interval select + dropdown backdrops hardcode a light border
   (#e0e0e0). WooCommerce sets it via .components-input-base descendant, so
   match that ancestor to win over the default. */
[data-theme="dark"] .storesuite-dashboard-layout .components-input-control__backdrop,
[data-theme="dark"] .storesuite-dashboard-layout .components-input-base .components-input-control__backdrop {
  border-color: var(--storesuite-border-color);
}

/* Chart grid/axis lines hardcode a light stroke; dim them for dark mode. */
[data-theme="dark"] .storesuite-dashboard-layout .tick line,
[data-theme="dark"] .storesuite-dashboard-layout .grid line,
[data-theme="dark"] .storesuite-dashboard-layout .domain {
  stroke: var(--storesuite-border-color);
}

/* Date-range dropdown chevron is a masked SVG colored via ::after background. */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-dropdown-button::after {
  background-color: var(--storesuite-text-black);
}

/* Interval-select vertical divider + legend list top border hardcode a light
   #e2e4e7 / #ccc. */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-chart__interval-select {
  border-right-color: var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-legend__list {
  border-top-color: var(--storesuite-border-color);
}

/* Interval-select ("By day") chevron icon. */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-chart__interval-select svg,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-chart__interval-select svg path {
  color: var(--storesuite-text-black);
  fill: var(--storesuite-text-black);
}

/* Active chart-type toggle (line/bar) should read as primary, not muted gray. */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-chart__type-button-selected,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-chart__type-button-selected svg,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-chart__type-button-selected svg path {
  color: var(--storesuite-primary-bg);
  fill: var(--storesuite-primary-bg);
}

/* Mobile stacked-table rows hardcode white / zebra light gray. */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-table__table tbody tr {
  background: var(--storesuite-surface-bg);
}
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-table__table tbody tr:nth-child(odd) {
  background: var(--storesuite-surface-elevated);
}

/* Loading skeletons (chart + summary/table value placeholders) hardcode a light
   #f0f0f0 fill that flashes white before data arrives. Shared by the dashboard
   home and Analytics reports. */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-chart-placeholder,
[data-theme="dark"] .storesuite-dashboard-layout .is-placeholder,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-chart-placeholder,
[data-theme="dark"] .storesuite-analytics-layout .is-placeholder {
  background-color: var(--storesuite-surface-elevated);
}

/* Summary tile skeleton bars. WooCommerce puts the placeholder class on
   .woocommerce-summary__item-container (not the <ul>) and fills the label/value/
   delta children with #f0f0f0, so the tile title + value bars flash white. */
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-summary__item-container.is-placeholder .woocommerce-summary__item-label,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-summary__item-container.is-placeholder .woocommerce-summary__item-value,
[data-theme="dark"] .storesuite-dashboard-layout .woocommerce-summary__item-container.is-placeholder .woocommerce-summary__item-delta,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-summary__item-container.is-placeholder .woocommerce-summary__item-label,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-summary__item-container.is-placeholder .woocommerce-summary__item-value,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-summary__item-container.is-placeholder .woocommerce-summary__item-delta {
  background-color: var(--storesuite-surface-elevated);
}

/* StoreSuite's own lazy-chunk shimmer skeletons hardcode a white
   #f0f0f0 -> #e0e0e0 gradient (see src/dashboard/stylesheets/_index.scss).
   Matched on the theme alone since they render before the layout wrapper's
   children mount; the storesuite-shimmer keyframe animates this gradient. */
[data-theme="dark"] .storesuite-stats-skeleton,
[data-theme="dark"] .storesuite-chart-skeleton,
[data-theme="dark"] .storesuite-leaderboard-skeleton,
[data-theme="dark"] .storesuite-table-skeleton {
  background: linear-gradient(
    90deg,
    var(--storesuite-surface-bg) 25%,
    var(--storesuite-surface-elevated) 50%,
    var(--storesuite-surface-bg) 75%
  );
  background-size: 800px 100%;
}

/* ==========================================================================
   Analytics reports dark mode
   The Analytics page reskin (src/analytics/stylesheets/_reskin.scss) colors
   text with CSS variables (which flip in dark mode) but hardcodes white card
   surfaces and near-black control text, which do not. Re-skin those surfaces
   here, scoped to .storesuite-analytics-layout so the light theme is untouched.
   ========================================================================== */

/* Card surfaces: the chart card, report tables (incl. sticky header row) and
   generic components cards (e.g. Top products) all hardcode #fff. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-chart,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-table,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-table .woocommerce-table__header,
[data-theme="dark"] .storesuite-analytics-layout .components-card {
  background: var(--storesuite-surface-bg);
}

/* Overview chart cards. The wrapper hardcodes a white surface (see
   src/analytics/stylesheets/_index.scss); its title + border already use
   variables that flip. The "By day" interval-select input container and the
   chart legend rows (Month to date / Previous year) also hardcode #fff. */
[data-theme="dark"] .storesuite-analytics-layout .storesuite-overview-chart-item,
[data-theme="dark"] .storesuite-analytics-layout .components-input-control__container,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-legend__item button {
  background: var(--storesuite-surface-bg);
}
/* Legend row hover hardcodes a light fill. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-legend__item button:hover {
  background: var(--storesuite-surface-elevated);
}

/* Section headers (PERFORMANCE / CHARTS / leaderboards) hardcode a light
   #e0e0e0 bottom divider and a #757575 heading; neither flips for dark. */
[data-theme="dark"] .storesuite-analytics-layout .storesuite-overview-section-header {
  border-bottom-color: var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-analytics-layout .storesuite-overview-section-header h3 {
  color: var(--storesuite-text-color);
}

/* Near-black control/card text: card bodies and card header titles. */
[data-theme="dark"] .storesuite-analytics-layout .components-card__body,
[data-theme="dark"] .storesuite-analytics-layout .components-card__header .components-text {
  color: var(--storesuite-text-black);
}

/* Sorted report-table column. WooCommerce highlights the active sort column's
   body cells with a hardcoded light #f0f0f0, which buries the (already light)
   text. Use the elevated surface so the column stays subtly highlighted on
   dark. The sorted header cell inherits the dark header fill already. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-table__item.is-sorted {
  background: var(--storesuite-surface-elevated);
}

/* Horizontal-scroll fade at the table's left/right edges. WooCommerce fades to
   opaque white, which reads as a glare against the dark card. The transparent
   stop is spelled out as rgba() rather than `transparent` so the gradient does
   not run through black on its way to the surface color. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-table__table::after {
  background: linear-gradient(90deg, rgba(30, 41, 59, 0), var(--storesuite-surface-bg));
}
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-table__table::before {
  background: linear-gradient(90deg, var(--storesuite-surface-bg), rgba(30, 41, 59, 0));
}

/* Cell links (product titles, order counts, categories) render in the primary
   blue, which is low-contrast against the dark rows and speckles the table. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-table__item a {
  color: var(--storesuite-text-black);
}

/* Row hover is a hardcoded #e0e0e0 that washes the whole row out on dark. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-table__table tr:hover {
  background: var(--storesuite-surface-elevated);
}

/* The "No data to display" cell keeps a #757575 fill that reads as a muddy
   smudge against the dark table. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-table__empty-item {
  color: var(--storesuite-text-color-light);
}

/* Table pagination. The bar paints its own white fill over the card footer, and
   the labels, page input and prev/next button group all keep light defaults. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-pagination {
  background: transparent;
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-pagination__page-arrows-label,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-pagination__page-picker-label,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-pagination__per-page-picker .components-input-control__label {
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-pagination__page-arrows-buttons {
  background: var(--storesuite-surface-elevated);
  border-color: var(--storesuite-border-color);
}
/* The divider between the prev/next arrows. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-pagination__link {
  border-color: var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-pagination__page-picker-input {
  background: var(--storesuite-surface-elevated);
  color: var(--storesuite-text-black);
  border-color: var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-pagination__per-page-picker select {
  color: var(--storesuite-text-black);
}

/* Advanced-filters + Compare Variations panels. The card surface is already
   dark via the .components-card rule, but WooCommerce whitens the inner band
   with `.woocommerce-filters__advanced-filters .components-card__body` (#f0f0f0,
   specificity 0,2,0) — shared by the Orders advanced filters and the Compare
   panel — so match that ancestor to exceed it (0,4,0). The advanced "match"
   select also renders near-black text. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-filters__advanced-filters .components-card__body {
  background: var(--storesuite-bg-color-muted);
}
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-filters-advanced .components-select-control__input {
  color: var(--storesuite-text-black);
}

/* Analytics settings selects ("Date type"). Same emotion tripled-class rule as
   the interval selects (0,3,0), so the settings-panel ancestor is needed to
   reach 0,4,0. The dropdown chevron is filled black on top of that. */
[data-theme="dark"] .storesuite-analytics-layout .storesuite-analytics-settings .components-select-control__input {
  color: var(--storesuite-text-black);
}
[data-theme="dark"] .storesuite-analytics-layout .storesuite-analytics-settings .components-input-control__suffix svg {
  fill: var(--storesuite-text-color-light);
}

/* Performance summary tiles + date-range dropdown button hardcode a white
   surface (same WooCommerce components as the dashboard home, but the reskin
   there is scoped to .storesuite-dashboard-layout so the Analytics page never
   inherited it). */
[data-theme="dark"] .storesuite-analytics-layout ul.woocommerce-summary,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-summary__item,
[data-theme="dark"] .storesuite-analytics-layout .components-button.woocommerce-dropdown-button {
  background: var(--storesuite-surface-bg);
}

/* Summary tile hover/selected states. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-summary__item:hover,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-summary__item:focus,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-summary__item.is-selected {
  background: var(--storesuite-surface-elevated);
}

/* Dividers between summary tiles hardcode a light gray. */
[data-theme="dark"] .storesuite-analytics-layout ul.woocommerce-summary li .woocommerce-summary__item {
  border-color: var(--storesuite-border-color);
}

/* Near-black tile values + dropdown labels. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-summary__item-value,
[data-theme="dark"] .storesuite-analytics-layout .components-button.woocommerce-dropdown-button .woocommerce-dropdown-button__labels span {
  color: var(--storesuite-text-black);
}

/* Muted tile labels. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-summary__item-label {
  color: var(--storesuite-text-color);
}

/* WooCommerce wraps tile label/value text in its <Text> component
   (.components-text), which hardcodes a near-black color on the leaf element, so
   the container color rules above never reach the glyphs. Make the wrapper
   follow its container's token color (away from the delta pill). */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-summary__item-label .components-text,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-summary__item-value .components-text {
  color: inherit;
}

/* Delta pill neutral fill + text (good/bad-trend keep their pastel greens/reds). */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-summary__item:not(.is-good-trend):not(.is-bad-trend) .woocommerce-summary__item-delta {
  background: var(--storesuite-surface-elevated);
}
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-summary__item:not(.is-good-trend):not(.is-bad-trend) .woocommerce-summary__item-delta .components-text {
  color: var(--storesuite-text-color-light);
}

/* Data-status bar ("Last updated / Next update / Update now") hardcodes a white
   surface with near-black item values; the wrapper label + "Update now" link
   already use variables/blue that read on dark. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-analytics-import-status-bar {
  background: var(--storesuite-surface-bg);
  border-color: var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-analytics-import-status-bar__value {
  color: var(--storesuite-text-black);
}
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-analytics-import-status-bar__label {
  color: var(--storesuite-text-color-light);
}

/* Interval-select ("By hour") value. WooCommerce's emotion runtime injects a
   tripled-class rule (.css-x.css-x.css-x { color: currentColor }, specificity
   0,3,0) into <head> after this file, so a plain .components-select-control__input
   rule ties and loses on source order. Add the interval-select ancestor to
   reach 0,4,0 and win. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-chart__interval-select .components-select-control__input {
  color: var(--storesuite-text-black);
}

/* Chart hover tooltip (d3) hardcodes a white surface with a light-gray title. */
[data-theme="dark"] .storesuite-analytics-layout .d3-chart__tooltip {
  background: var(--storesuite-surface-bg);
  border-color: var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-analytics-layout .d3-chart__tooltip h4 {
  color: var(--storesuite-text-color);
}

/* Chart grid/axis lines hardcode a light stroke; dim them for dark mode. */
[data-theme="dark"] .storesuite-analytics-layout .tick line,
[data-theme="dark"] .storesuite-analytics-layout .grid line,
[data-theme="dark"] .storesuite-analytics-layout .domain {
  stroke: var(--storesuite-border-color);
}

/* Date-range dropdown chevron is a masked SVG colored via ::after background. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-dropdown-button::after {
  background-color: var(--storesuite-text-black);
}

/* Interval-select vertical divider + legend list top border hardcode a light
   #e2e4e7 / #ccc. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-chart__interval-select {
  border-right-color: var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-legend__list {
  border-top-color: var(--storesuite-border-color);
}

/* Interval-select ("By day") chevron icon. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-chart__interval-select svg,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-chart__interval-select svg path {
  color: var(--storesuite-text-black);
  fill: var(--storesuite-text-black);
}

/* Active chart-type toggle (line/bar) should read as primary, not muted gray. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-chart__type-button-selected,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-chart__type-button-selected svg,
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-chart__type-button-selected svg path {
  color: var(--storesuite-primary-bg);
  fill: var(--storesuite-primary-bg);
}

/* Chart interval select dropdown border hardcodes a light #e0e0e0. */
[data-theme="dark"] .storesuite-analytics-layout .components-input-control__backdrop,
[data-theme="dark"] .storesuite-analytics-layout .components-input-base .components-input-control__backdrop {
  border-color: var(--storesuite-border-color);
}

/*
 * WooCommerce date-range picker popover. Shared by the dashboard home and the
 * Analytics reports, and rendered as a WordPress popover whose position in the
 * DOM is not guaranteed to sit inside a layout wrapper — so these are matched
 * on the dark theme alone. The container surface plus its inner preset list,
 * custom-range inputs and Presets/Custom tabs all hardcode white / near-black.
 */
/* Generic popovers (chart ellipsis menus, tooltips) — beats WordPress's
   single-class .components-popover__content default. */
[data-theme="dark"] .components-popover__content {
  background: var(--storesuite-surface-bg);
  border-color: var(--storesuite-border-color);
}
/*
 * The date-range picker popover specifically. WooCommerce's admin CSS whitens
 * it with `.woocommerce-filters-date__content .components-popover__content`
 * (specificity 0,2,0) and loads AFTER this file, so a single-class override
 * only ties and loses on order. Match that same ancestor to exceed it (0,3,0).
 */
[data-theme="dark"] .woocommerce-filters-date__content .components-popover__content {
  background: var(--storesuite-surface-bg);
  border-color: var(--storesuite-border-color);
}
[data-theme="dark"] .woocommerce-segmented-selection__label,
[data-theme="dark"] .woocommerce-filters-date__text,
[data-theme="dark"] .woocommerce-filters-date__content-controls {
  background: var(--storesuite-surface-elevated);
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .woocommerce-segmented-selection__label {
  border-color: var(--storesuite-border-color);
}
/* Preset grid dividers + tabs separator hardcode a light #ccc. */
[data-theme="dark"] .woocommerce-segmented-selection__container,
[data-theme="dark"] .woocommerce-segmented-selection__item,
[data-theme="dark"] .woocommerce-filters-date__tabs {
  border-color: var(--storesuite-border-color);
}
/*
 * Selected preset/compare cell. WooCommerce paints the checked label white via
 * `.__input:checked + label .__label` (specificity 0,3,1); match that chain so
 * the selected item's surface goes dark while its blue indicator + text stay.
 */
[data-theme="dark"] .woocommerce-segmented-selection__input:checked + label .woocommerce-segmented-selection__label {
  background: var(--storesuite-surface-elevated);
}
[data-theme="dark"] .woocommerce-segmented-selection__input:checked + label {
  color: var(--storesuite-primary-bg);
}
[data-theme="dark"] .components-tab-panel__tabs-item {
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .components-tab-panel__tabs-item.is-active,
[data-theme="dark"] .components-tab-panel__tabs-item[aria-selected="true"] {
  color: var(--storesuite-primary-bg);
}

/*
 * The "Show:" filter dropdown menu (All orders / Advanced filters). Its popover
 * surface is handled by the generic .components-popover__content rule above, but
 * each option button hardcodes an #f0f0f0 fill with #757575 text. WooCommerce
 * paints it via `.__content-list-item .__button` (specificity 0,2,0) loaded
 * AFTER this file, so match that same ancestor to exceed it (0,3,0). Portals out
 * of the layout, so matched on theme alone.
 */
[data-theme="dark"] .woocommerce-filters-filter__content-list-item .woocommerce-filters-filter__button {
  background: var(--storesuite-surface-bg);
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .woocommerce-filters-filter__content-list-item .woocommerce-filters-filter__button:hover,
[data-theme="dark"] .woocommerce-filters-filter__content-list-item.is-selected .woocommerce-filters-filter__button {
  background: var(--storesuite-surface-elevated);
}
/*
 * Focused option. WooCommerce highlights the focused button white via a long
 * :not():not():focus chain (specificity 0,6,0 — 0,7,0 for the selected item)
 * loaded after this file, so match the same chains prefixed with [data-theme]
 * to exceed them (0,7,0 / 0,8,0).
 */
[data-theme="dark"] .woocommerce-filters-filter__content-list-item .woocommerce-filters-filter__button.components-button:not(:disabled):not([aria-disabled="true"]):focus,
[data-theme="dark"] .woocommerce-filters-filter__content-list-item.is-selected .woocommerce-filters-filter__button.components-button:not(:disabled):not([aria-disabled="true"]):focus {
  background: var(--storesuite-surface-elevated);
}

/*
 * The "Add a filter" type menu (Coupon code / Customer type / Order status …).
 * Options are base .components-button with #1e1e1e text and a light hover
 * (#e0e0e0) / focus (#f0f0f0) fill. Menu portals out of the layout so matched
 * on theme alone. The focus chain mirrors WooCommerce's (0,5,0) prefixed with
 * [data-theme] to exceed it (0,6,0).
 */
[data-theme="dark"] .woocommerce-filters-advanced__add-dropdown .components-button {
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .woocommerce-filters-advanced__add-dropdown .components-button:hover,
[data-theme="dark"] .woocommerce-filters-advanced__add-dropdown .components-button:not(:disabled):not([aria-disabled="true"]):focus {
  background: var(--storesuite-surface-elevated);
}

/*
 * "Single product" (and similar) search inside a filter dropdown. WooCommerce's
 * select-control search box, its results listbox and options hardcode white /
 * #f0f0f0 fills with near-black or purple link text. Portals out of the layout,
 * so matched on theme alone. Each selector mirrors WooCommerce's ancestor chain
 * (control/listbox 0,2,0, option 0,3,0) with a [data-theme] prefix to exceed it.
 */
[data-theme="dark"] .woocommerce-select-control .woocommerce-select-control__control {
  background: var(--storesuite-surface-elevated);
}
/* The report-table search box reuses this control but StoreSuite's own
   index.css whitens it with a 0,4,0 chain (.storesuite-analytics-layout
   .woocommerce-table__actions .woocommerce-search .__control), so match that
   same chain here to exceed it (0,5,0). */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-table__actions .woocommerce-search .woocommerce-select-control__control {
  background: var(--storesuite-surface-elevated);
}
[data-theme="dark"] .woocommerce-select-control .woocommerce-select-control__control-input {
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .woocommerce-select-control .woocommerce-select-control__control-input::placeholder {
  color: var(--storesuite-text-color-light);
}
[data-theme="dark"] .woocommerce-select-control .woocommerce-select-control__listbox {
  background: var(--storesuite-surface-bg);
}
[data-theme="dark"] .woocommerce-search.woocommerce-select-control .woocommerce-select-control__option {
  background: var(--storesuite-surface-bg);
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .woocommerce-search.woocommerce-select-control .woocommerce-select-control__option:hover,
[data-theme="dark"] .woocommerce-search.woocommerce-select-control .woocommerce-select-control__option.is-selected,
[data-theme="dark"] .woocommerce-search.woocommerce-select-control .woocommerce-select-control__option[aria-selected="true"] {
  background: var(--storesuite-surface-elevated);
}
/* The bold matched substring keeps a brighter tone so it still stands out. */
[data-theme="dark"] .woocommerce-select-control__option .components-form-token-field__suggestion-match {
  color: var(--storesuite-text-black);
}

/* The magnifier glyph is filled black, which all but disappears on the dark
   input. */
[data-theme="dark"] .woocommerce-select-control .woocommerce-select-control__control-icon {
  fill: var(--storesuite-text-color-light);
}

/* Selected-item chips. Both halves of the pill (label + remove button) carry
   their own #f0f0f0 fill and near-black text; the remove glyph is filled black. */
[data-theme="dark"] .woocommerce-tag .woocommerce-tag__text,
[data-theme="dark"] .woocommerce-tag .woocommerce-tag__remove {
  background: var(--storesuite-surface-elevated);
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .woocommerce-tag .woocommerce-tag__remove svg {
  fill: var(--storesuite-text-color-light);
}
[data-theme="dark"] .woocommerce-tag .woocommerce-tag__remove:hover svg {
  fill: var(--storesuite-text-black);
}

/* Compare Variations panel. The secondary "Compare" button hardcodes a white
   fill and a #ddd inset ring, and the variation checkboxes hardcode a white box
   with a light-gray border. */
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-compare-button.is-secondary {
  background: var(--storesuite-surface-elevated);
  box-shadow: inset 0 0 0 1px var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-analytics-layout .woocommerce-compare-button.is-secondary:hover:not(:disabled) {
  background: var(--storesuite-surface-bg);
  color: var(--storesuite-text-black);
  box-shadow: inset 0 0 0 1px var(--storesuite-text-color-light);
}
[data-theme="dark"] .storesuite-analytics-layout .components-checkbox-control__input:not(:checked) {
  background: var(--storesuite-surface-elevated);
  border-color: var(--storesuite-border-color);
}

/* Form fields, selects and select2 controls sit one step above the surface. */
[data-theme="dark"] .my-storesuite-container .storesuite-form-control,
[data-theme="dark"] .woocommerce_order_items_wrapper input[type="text"],
[data-theme="dark"] .woocommerce_order_items_wrapper input[type="number"],
[data-theme="dark"] .woocommerce_order_items_wrapper select,
[data-theme="dark"] .woocommerce_order_items_wrapper textarea,
[data-theme="dark"] .storesuite-main-dashboard .select2-container .select2-selection,
[data-theme="dark"] .storesuite-main-dashboard .select2-dropdown,
[data-theme="dark"] .storesuite-table-search-input,
[data-theme="dark"] .storesuite-table-search-input input,
[data-theme="dark"] .storesuite-search-form.storesuite-order-search-form .storesuite-table-search-input,
[data-theme="dark"] select#customer_user,
[data-theme="dark"] select#storesuite_product_search {
  background-color: var(--storesuite-surface-elevated);
  color: var(--storesuite-text-color);
}

/* The single-select rendered label hardcodes #444 in light mode, so it needs a
 * dark text color here — but it must NOT repaint a background. Its `line-height:
 * 38px` makes the box 38px tall inside the 36px content box of the 38px
 * border-box .select2-selection, so an opaque background bleeds over the
 * parent's border and the field reads as borderless in dark mode. The parent
 * already paints the elevated surface. */
[data-theme="dark"] .storesuite-main-dashboard .select2-container .select2-selection--single .select2-selection__rendered {
  color: var(--storesuite-text-color);
}

/* Table checkboxes (select-all and per-row).
 *
 * The base .my-storesuite-checkbox-back paints a white box with an
 * `!important` rgba(0,0,0,.3) border, which on a dark surface is a black
 * outline on near-black — the boxes read as ghosts. The !important also beats
 * the non-important border-color on the :checked rule, so the checked box keeps
 * a dark rim in light mode too. Restate both here, matching that specificity. */
[data-theme="dark"] .my-storesuite-checkbox-back {
  background-color: var(--storesuite-surface-elevated);
  border-color: var(--storesuite-text-color-light) !important;
}

[data-theme="dark"] .my-storesuite-checkbox-input:checked ~ .my-storesuite-checkbox-back {
  background: var(--storesuite-primary-bg);
  border-color: var(--storesuite-primary-bg) !important;
}

[data-theme="dark"] .my-storesuite-checkbox-input:focus-visible ~ .my-storesuite-checkbox-back {
  outline: 2px solid var(--storesuite-primary-bg);
  outline-offset: 1px;
}

/* Card title divider hardcodes a light gray border. */
[data-theme="dark"] .storesuite-card-title,
[data-theme="dark"] .storesuite-dashboard-order-details .woocommerce-customer-details .woocommerce-columns.woocommerce-columns--2 .woocommerce-column h2.woocommerce-column__title,
[data-theme="dark"] .storesuite-dashboard-order-details .card-title-with-link,
[data-theme="dark"] .storesuite-dashboard-order-details .card-title-with-checkbox {
  border-bottom-color: var(--storesuite-border-color);
}

/* Variation row body divider hardcodes a light gray border. */
[data-theme="dark"] .storesuite-variation-body .storesuite-card-content {
  border-top-color: var(--storesuite-border-color);
}

/* The multi-select rendered list hardcodes #444. The inline search field hardcodes
   #444 too, so text typed into the field disappears on a dark surface. */
[data-theme="dark"] .storesuite-main-dashboard .select2-container .select2-selection--multiple .select2-selection__rendered,
[data-theme="dark"] .storesuite-main-dashboard .select2-container .select2-selection--multiple .select2-search--inline .select2-search__field {
  color: var(--storesuite-text-color)!important;
}

/* Selected select2 chips hardcode dark text; recolor for dark mode. */
[data-theme="dark"] .storesuite-main-dashboard .select2-container .select2-selection--multiple .select2-selection__choice {
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .storesuite-main-dashboard .select2-container .select2-selection--multiple .select2-selection__choice__remove {
  color: var(--storesuite-text-color-light);
}

/* select2.css hardcodes #444 on the single-select placeholder, which is unreadable on a
   dark surface. The multi-select inline search placeholder already follows the token. */
[data-theme="dark"] .storesuite-main-dashboard .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--storesuite-text-color-light);
}

/* select2 dropdown search field stays white; results need light text. */
[data-theme="dark"] .select2-search--dropdown .select2-search__field {
  background-color: var(--storesuite-surface-elevated);
  border-color: var(--storesuite-border-color);
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .storesuite-main-dashboard .select2-container--default .select2-results__option {
  color: var(--storesuite-text-color);
  background-color: var(--storesuite-surface-elevated);
}
[data-theme="dark"] .storesuite-main-dashboard .select2-container--default .select2-results__option--highlighted,
[data-theme="dark"] .storesuite-main-dashboard .select2-container--default .select2-results__option:focus {
  background-color: var(--storesuite-bg-color-light);
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .storesuite-main-dashboard .select2-container--default .select2-results__option[aria-selected=true],
[data-theme="dark"] .storesuite-main-dashboard .select2-container--default .select2-results__option[data-selected=true] {
  background-color: var(--storesuite-bg-color-light);
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .storesuite-main-dashboard .select2-container--default .select2-results__option--highlighted[aria-selected],
[data-theme="dark"] .storesuite-main-dashboard .select2-container--default .select2-results__option--highlighted[data-selected] {
  background-color: var(--storesuite-primary-bg);
  color: #fff;
}

/* select2 fields that live outside .storesuite-main-dashboard (e.g., WC admin
   order/product screens, quick-edit modals) — make text light on dark surface. */
[data-theme="dark"] .select2-dropdown,
[data-theme="dark"] .select2-container--default .select2-results__option {
  background-color: var(--storesuite-surface-elevated);
}
[data-theme="dark"] .select2-container .select2-selection,
[data-theme="dark"] .select2-container .select2-selection--single .select2-selection__rendered,
[data-theme="dark"] .select2-container--default .select2-results__option,
[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered,
[data-theme="dark"] .select2-container .select2-selection--multiple .select2-search--inline .select2-search__field {
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .select2-container--default .select2-results__option--highlighted,
[data-theme="dark"] .select2-container--default .select2-results__option:focus {
  background-color: var(--storesuite-bg-color-light);
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .select2-container--default .select2-results__option[aria-selected=true],
[data-theme="dark"] .select2-container--default .select2-results__option[data-selected=true] {
  background-color: var(--storesuite-bg-color-light);
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected],
[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[data-selected] {
  background-color: var(--storesuite-primary-bg);
  color: #fff;
}
[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--storesuite-text-color-light);
}

/* Permalink group hardcodes white backgrounds. */
[data-theme="dark"] .my-storesuite-container .storesuite-permalink-group {
  background-color: var(--storesuite-surface-elevated);
}
[data-theme="dark"] .my-storesuite-container .storesuite-permalink-prefix {
  background-color: var(--storesuite-bg-color-light);
  color: var(--storesuite-text-color-light);
  border-right-color: var(--storesuite-border-color);
}
[data-theme="dark"] .select2-container .select2-selection--multiple .select2-selection__rendered {
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .select2-container .select2-selection--multiple .select2-selection__choice {
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .select2-container .select2-selection--multiple .select2-selection__choice__remove {
  color: var(--storesuite-text-color-light);
}

/* Loading overlay uses a white scrim and dark text. */
[data-theme="dark"] .storesuite-loader-overlay {
  background: rgba(15, 23, 42, 0.6);
}
[data-theme="dark"] .storesuite-loader-text {
  color: var(--storesuite-text-color);
}

/*
 * SweetAlert2 dialogs default to a white popup. The title/text/confirm button
 * already use variables that flip; only the popup surface, the secondary
 * (cancel) button and the inputs hardcode light backgrounds. The popup is
 * appended to <body>, still under <html data-theme>, so these match.
 */
[data-theme="dark"] .swal2-popup {
  background: var(--storesuite-surface-bg);
}
[data-theme="dark"] .swal2-styled.swal2-cancel {
  background: var(--storesuite-surface-elevated);
}
[data-theme="dark"] .swal2-input,
[data-theme="dark"] .swal2-select,
[data-theme="dark"] .swal2-textarea {
  background: var(--storesuite-surface-elevated);
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .swal2-input::placeholder,
[data-theme="dark"] .swal2-textarea::placeholder {
  color: var(--storesuite-text-color-light);
}

/*
 * WooCommerce address fields (rendered via woocommerce_form_field) set border
 * and text color from variables but no background, so they fall back to the
 * browser's default white. Give them the dark field surface.
 */
[data-theme="dark"] .storesuite-address-grid .form-row .input-text,
[data-theme="dark"] .storesuite-address-grid .form-row select {
  background-color: var(--storesuite-surface-elevated);
  color: var(--storesuite-text-color);
}

/*
 * Account inner-nav active item mixes its tint with #fff (light). Match the
 * global sidebar's translucent active tint so it reads on dark.
 */
[data-theme="dark"] .storesuite-account-nav-link.is-active {
  background: color-mix(in srgb, var(--storesuite-primary-bg) 12%, transparent);
  color: var(--storesuite-text-black);
}

/* Order list "All" filter select hardcodes a white background. */
[data-theme="dark"] .storesuite-search-form.storesuite-order-search-form #order-search-filter {
  background-color: var(--storesuite-surface-elevated);
}

/*
 * Filter offcanvas panel (orders + products) hardcodes a white surface; its
 * title/close use text-black (light in dark) so they read once the panel is
 * dark. The close icon's <path> has no fill (defaults to black), so point it
 * at the text color too.
 */
[data-theme="dark"] .storesuite-filter-offcanvas {
  background-color: var(--storesuite-surface-bg);
}
[data-theme="dark"] .storesuite-filter-close svg {
  fill: var(--storesuite-text-black);
}
/* Filter reset button uses a light neutral fill; darken the resting state
 * (hover already goes primary, so leave it untouched). */
[data-theme="dark"] .my-storesuite-button.storesuite-button-neutral-panel:not(:hover):not(:focus-visible) {
  background-color: var(--storesuite-surface-elevated);
  border-color: var(--storesuite-border-color);
}

/*
 * Order details page: address cards and the WooCommerce customer columns force
 * a white surface, the address text is dark, and the order notes hardcode a
 * light bubble + gray borders. Recolor them all for dark mode.
 */
[data-theme="dark"] .storesuite-dashboard-order-details .storesuite-card,
[data-theme="dark"] .storesuite-dashboard-order-details .woocommerce-customer-details .woocommerce-columns.woocommerce-columns--2 .woocommerce-column,
[data-theme="dark"] .storesuite-card.storesuite-card-with-header {
  background: var(--storesuite-surface-bg);
}
[data-theme="dark"] .customer-billing-address,
[data-theme="dark"] .customer-shipping-address {
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .storesuite-dashboard-order-details .note_content {
  background-color: var(--storesuite-surface-elevated);
  color: var(--storesuite-text-color);
  border-left-color: rgb(71 85 105);
}
[data-theme="dark"] .storesuite-dashboard-order-details .meta {
  color: var(--storesuite-text-color-light);
}
[data-theme="dark"] .storesuite-dashboard-order-details .add-note-section {
  border-top-color: var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-dashboard-order-details .add-note-title {
  color: var(--storesuite-text-black);
}
/* Customer History stat dividers hardcode a light gray border. */
[data-theme="dark"] .customer-history-item:not(:last-child) {
  border-bottom-color: var(--storesuite-border-color);
}

/* Light/secondary buttons (e.g. "Back") hardcode a white background. */
[data-theme="dark"] .my-storesuite-button.my-storesuite-button-light,
[data-theme="dark"] .wc-order-data-row.wc-order-bulk-actions button.button.refund-items,
[data-theme="dark"] .wc-order-data-row.wc-order-add-item .button.cancel-action {
  background: var(--storesuite-surface-elevated);
}

/*
 * Soft (tinted) buttons mix their tint with #fff, which is too bright on dark.
 * Only the resting state needs darkening — hover/focus already invert to a
 * solid fill, so :not(:hover):not(:focus) leaves those untouched.
 */
[data-theme="dark"] .my-storesuite-button.my-storesuite-button-soft:not(:hover):not(:focus) {
  background: rgba(59, 108, 224, 0.18);
  border-color: rgba(59, 108, 224, 0.35);
  color: #a8c4f7;
}
[data-theme="dark"] .my-storesuite-button.my-storesuite-button-soft:not(:hover):not(:focus) svg {
  fill: #a8c4f7;
}
[data-theme="dark"] .my-storesuite-button.my-storesuite-button-danger-soft:not(:hover):not(:focus) {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.3);
  color: #fca5a5;
}
[data-theme="dark"] .my-storesuite-button.my-storesuite-button-danger-soft:not(:hover):not(:focus) svg {
  fill: #fca5a5;
}

/* Field labels are plain text — recolor them, but keep them background-free. */
[data-theme="dark"] .my-storesuite-wrapper .storesuite-form-group label {
  color: var(--storesuite-text-color);
}

/* Image / gallery upload drop zones hardcode white + light inner panel. */
[data-theme="dark"] .image-drop-container {
  background: var(--storesuite-surface-bg);
  border-color: var(--storesuite-border-color);
}
[data-theme="dark"] .image-drop-container .image-drop-text {
  background: var(--storesuite-surface-elevated);
  color: var(--storesuite-text-color);
}
/* The "+" upload icon defaults to black fill. */
[data-theme="dark"] .image-drop-container .add-gl-img-icon svg {
  fill: var(--storesuite-icon-color);
}
/* Existing gallery image previews hardcode a light dashed border. */
[data-theme="dark"] .preview-image.privew-gimages .preview-image-box {
  border-color: var(--storesuite-border-color);
}

/*
 * Rich-text (TinyMCE) editor chrome. The toolbar/panels live in the parent
 * document and can be recolored here; the typing area is a separate iframe
 * themed via the content_style injected in StoreSuite\Product\ProductHooks and
 * synced by global.js.
 */
[data-theme="dark"] .mce-panel {
  background-color: var(--storesuite-surface-bg);
  border-color: var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-form-group div.mce-toolbar-grp,
[data-theme="dark"] .mce-toolbar-grp {
  background: var(--storesuite-surface-elevated);
}
[data-theme="dark"] .mce-toolbar .mce-btn button,
[data-theme="dark"] .mce-toolbar .mce-btn .mce-ico,
[data-theme="dark"] .mce-toolbar .mce-btn:hover .mce-ico,
[data-theme="dark"] .mce-toolbar .mce-btn:focus .mce-ico,
[data-theme="dark"] .mce-toolbar .mce-btn.mce-active .mce-ico,
[data-theme="dark"] .mce-menubar .mce-ico,
[data-theme="dark"] .mce-panel i.mce-ico {
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .mce-toolbar .mce-btn-group .mce-btn:hover,
[data-theme="dark"] .mce-toolbar .mce-btn-group .mce-btn:focus,
[data-theme="dark"] .mce-toolbar .mce-btn-group .mce-btn.mce-active,
[data-theme="dark"] .mce-toolbar .mce-btn-group .mce-btn.mce-active:hover,
[data-theme="dark"] .qt-dfw:hover,
[data-theme="dark"] .qt-dfw:focus {
  background: var(--storesuite-bg-color-muted);
  border-color: var(--storesuite-border-color);
  color: var(--storesuite-text-color);
}
[data-theme="dark"] .mce-statusbar {
  background: var(--storesuite-surface-bg);
  border-top-color: var(--storesuite-border-color);
}
[data-theme="dark"] .wp-editor-container,
[data-theme="dark"] .mce-tinymce {
  border-color: var(--storesuite-border-color);
}

/*
 * Pagination buttons hardcode a white background; the active page keeps the
 * brand color from the .current/:hover rule, so only the inactive links need a
 * dark surface.
 */
[data-theme="dark"] .storesuite-pagination li a,
[data-theme="dark"] .storesuite-pagination li span.page-numbers:not(.current) {
  background: var(--storesuite-surface-elevated);
  color: var(--storesuite-text-color);
  border: 1px solid var(--storesuite-border-color);
}
[data-theme="dark"] .storesuite-pagination li a:hover {
  background: var(--storesuite-primary-bg);
  border-color: var(--storesuite-primary-bg);
  color: var(--storesuite-button-text-color);
}

/* Switch off-state tracks hardcode light gray; the white knob stays white. */
[data-theme="dark"] .storesuite-dashboard-order-details .toggle-slider,
[data-theme="dark"] .storesuite-form-group.storesuite-form-switch label::before {
  background-color: rgb(71 85 105);
}

/* Status badges: darken pastel fills, brighten text for contrast. */
[data-theme="dark"] .storesuite-badge {
  background-color: rgb(51 65 85);
  color: rgb(203 213 225);
}
[data-theme="dark"] .storesuite-badge.storesuite-badge-success {
  background: rgba(16, 185, 129, 0.15);
  color: rgb(52 211 153);
}
[data-theme="dark"] .storesuite-badge.storesuite-badge-danger {
  background: rgba(244, 63, 94, 0.15);
  color: rgb(251 113 133);
}
[data-theme="dark"] .storesuite-badge.storesuite-badge-warning {
  background-color: rgba(245, 158, 11, 0.15);
  color: rgb(251 191 36);
}
[data-theme="dark"] .storesuite-badge.storesuite-badge-info {
  background-color: rgba(99, 102, 241, 0.18);
  color: rgb(165 180 252);
}

/* Header theme toggle button + sun/moon icon swap. */
.storesuite-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  padding: 0;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}
.storesuite-theme-toggle:hover,
.storesuite-theme-toggle:focus {
  background: var(--storesuite-primary-bg);
  border-color: var(--storesuite-primary-bg);
}
.storesuite-theme-toggle svg {
  width: 15px;
  height: 15px;
  fill: var(--storesuite-text-color);
  transition: fill 0.15s ease;
}
.storesuite-theme-toggle:hover svg,
.storesuite-theme-toggle:focus svg {
  fill: var(--storesuite-button-text-color);
}
.storesuite-theme-toggle .storesuite-theme-toggle-sun {
  display: none;
}
[data-theme="dark"] .storesuite-theme-toggle .storesuite-theme-toggle-moon {
  display: none;
}
[data-theme="dark"] .storesuite-theme-toggle .storesuite-theme-toggle-sun {
  display: inline-block;
}

/* Dark mode: keep the bordered header circles on a dark surface instead of white */
[data-theme="dark"] .storesuite-header-icon-link,
[data-theme="dark"] .storesuite-theme-toggle {
  background: var(--storesuite-surface-elevated);
}

/*
 * Import wizard: the pastel amber/red fills are opaque light tints that can't be
 * derived from a token. Everything else in the wizard mixes against
 * --storesuite-surface-bg and follows the theme on its own.
 */
[data-theme="dark"] .storesuite-import-done__icon.is-warning {
  background: rgba(245, 158, 11, 0.16);
  color: rgb(251 191 36);
}

[data-theme="dark"] .storesuite-notice-error {
  background: rgba(220, 53, 69, 0.14);
  border-left-color: rgb(248 113 113);
  color: rgb(252 165 165);
}
/* AI "Generate with AI" buttons on the product form. */
.my-storesuite-container .storesuite-form-group label:has(.storesuite-ai-generate) {
  display: flex;
  align-items: center;
}
/* Shared styling for the small AI action buttons (field label, per-field
   regenerate, and image). Keep them visually identical; per-button deltas live
   in their own rules below. */
.my-storesuite-container .storesuite-ai-generate,
.my-storesuite-container .storesuite-ai-field-regenerate,
.my-storesuite-container .storesuite-ai-image-generate {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
  cursor: pointer;
  color: var(--storesuite-primary-bg);
  background: color-mix(in srgb, var(--storesuite-primary-bg) 10%, transparent);
  border: 1px solid
    color-mix(in srgb, var(--storesuite-primary-bg) 30%, transparent);
  border-radius: 4px;
  transition: background 0.15s ease, color 0.15s ease;
}
.my-storesuite-container .storesuite-ai-generate:hover:not(:disabled),
.my-storesuite-container .storesuite-ai-field-regenerate:hover:not(:disabled),
.my-storesuite-container .storesuite-ai-image-generate:hover:not(:disabled) {
  color: var(--storesuite-button-text-color);
  background: var(--storesuite-primary-bg);
}
.my-storesuite-container .storesuite-ai-generate:disabled,
.my-storesuite-container .storesuite-ai-field-regenerate:disabled,
.my-storesuite-container .storesuite-ai-image-generate:disabled {
  opacity: 0.6;
  cursor: default;
}
.my-storesuite-container .storesuite-ai-generate .storesuite-ai-icon,
.my-storesuite-container .storesuite-ai-field-regenerate .storesuite-ai-icon,
.my-storesuite-container .storesuite-ai-image-generate .storesuite-ai-icon {
  width: 13px;
  height: 13px;
  fill: currentColor;
  flex-shrink: 0;
}
/* The field-label "Generate with AI" button pushes to the row's trailing edge. */
.my-storesuite-container .storesuite-ai-generate {
  margin-left: auto;
}
/* The explicit display on buttons overrides the UA [hidden] rule, so restore it. */
.my-storesuite-container .my-storesuite-button[hidden],
.my-storesuite-container .storesuite-ai-bundle-step[hidden] {
  display: none;
}
/* Per-field "Regenerate" buttons inside the bundle result step. */
.my-storesuite-container
  .storesuite-form-group
  label:has(.storesuite-ai-field-regenerate) {
  display: flex;
  align-items: center;
}
/* Right-aligned group holding the per-field history pager and Regenerate. */
.my-storesuite-container .storesuite-ai-field-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
/* Per-field "‹ n/m ›" history pager. */
.my-storesuite-container .storesuite-ai-field-pager {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.my-storesuite-container .storesuite-ai-field-pager button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  cursor: pointer;
  color: var(--storesuite-text-color);
  background: #fff;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 4px;
}
.my-storesuite-container .storesuite-ai-field-pager button:disabled {
  opacity: 0.4;
  cursor: default;
}
.my-storesuite-container .storesuite-ai-field-pager-status {
  min-width: 30px;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  color: var(--storesuite-text-color);
}
.my-storesuite-container .storesuite-ai-field-regenerate .la-spin {
  animation: storesuite-ai-spin 0.8s linear infinite;
}
/* Small "AI" image button beside the Product Image label. */
.my-storesuite-container label.storesuite-ai-image-label {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
/* Generated image preview inside the image modal. */
.my-storesuite-container .storesuite-ai-image-preview {
  margin-top: 14px;
  text-align: center;
}
.my-storesuite-container .storesuite-ai-image-preview img {
  max-width: 100%;
  max-height: 360px;
  border-radius: 6px;
  border: 1px solid var(--storesuite-border-color);
}
/* Global "Generate with AI" launcher in the page header. */
.my-storesuite-container .storesuite-ai-bundle-launch {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--storesuite-primary-bg);
  background: color-mix(in srgb, var(--storesuite-primary-bg) 12%, transparent);
  border-color: color-mix(
    in srgb,
    var(--storesuite-primary-bg) 24%,
    transparent
  );
}
.my-storesuite-container .storesuite-ai-bundle-launch:hover {
  color: var(--storesuite-button-text-color);
  background: var(--storesuite-primary-bg);
  border-color: var(--storesuite-primary-bg);
}
.my-storesuite-container .storesuite-ai-bundle-launch svg {
  fill: currentColor;
}
.my-storesuite-container .storesuite-ai-bundle-launch .storesuite-ai-icon {
  width: 15px;
  height: 15px;
  fill: currentColor;
  flex-shrink: 0;
}
/* Subtitle and pager share one row: subtitle left, pager right. */
.my-storesuite-container .storesuite-ai-modal-subhead {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 12px;
}
.my-storesuite-container .storesuite-ai-modal-subtitle {
  margin: 0 auto 0 0;
  font-size: 13px;
  color: var(--storesuite-text-color-light);
}
.my-storesuite-container .storesuite-ai-modal-pager {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  flex-shrink: 0;
}
.my-storesuite-container .storesuite-ai-modal-pager button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  cursor: pointer;
  color: var(--storesuite-text-color);
  background: #fff;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 4px;
}
.my-storesuite-container .storesuite-ai-modal-pager button:disabled {
  opacity: 0.4;
  cursor: default;
}
.my-storesuite-container .storesuite-ai-pager-icon {
  width: 14px;
  height: 14px;
  fill: currentColor;
}
.my-storesuite-container .storesuite-ai-pager-status {
  min-width: 34px;
  font-size: 13px;
  text-align: center;
  color: var(--storesuite-text-color);
}
.my-storesuite-container .storesuite-ai-generate .la-spin {
  animation: storesuite-ai-spin 0.8s linear infinite;
}
@keyframes storesuite-ai-spin {
  to {
    transform: rotate(360deg);
  }
}
/* AI generation skeleton loader. Reuses the shimmer placeholder design from the
   dashboard skeletons (src/dashboard/stylesheets/_index.scss), adapted for the
   frontend AI modals where the result will appear. */
@keyframes storesuite-skeleton-shimmer {
  0% {
    background-position: -400px 0;
  }
  100% {
    background-position: 400px 0;
  }
}
.my-storesuite-container .storesuite-skeleton {
  border-radius: 6px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 800px 100%;
  animation: storesuite-skeleton-shimmer 1.4s infinite;
}
/* Stacked text lines (suggestion modal). */
.my-storesuite-container .storesuite-skeleton-lines .storesuite-skeleton {
  height: 14px;
  margin-bottom: 10px;
}
.my-storesuite-container .storesuite-skeleton-lines .storesuite-skeleton:last-child {
  width: 60%;
  margin-bottom: 0;
}
/* Image placeholder (image modal preview). */
.my-storesuite-container .storesuite-skeleton-image {
  height: 240px;
  margin-top: 14px;
}
/* Inputs in the AI modals read as disabled while a request is in flight. */
#storesuite-ai-modal .storesuite-form-control[readonly],
#storesuite-ai-prompt-modal .storesuite-form-control[readonly],
#storesuite-ai-image-modal .storesuite-form-control[readonly],
#storesuite-ai-bundle-modal .storesuite-form-control[readonly] {
  opacity: 0.55;
  cursor: not-allowed;
}
/* ============================================
   Notifications (header bell + dropdown + page)
   ============================================ */
.storesuite-notifications-dropdown .storesuite-notification-bell {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  border: 1px solid var(--storesuite-border-color);
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}
.storesuite-notifications-dropdown .storesuite-notification-bell svg {
  width: 16px;
  height: 16px;
  fill: var(--storesuite-text-color);
}
.storesuite-notifications-dropdown .storesuite-notification-bell:hover {
  background: var(--storesuite-bg-color-light);
}
.storesuite-notification-badge {
  position: absolute;
  top: -4px;
  right: -6px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  background: var(--storesuite-primary-bg);
  color: var(--storesuite-button-text-color);
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
  text-align: center;
}
.storesuite-notification-badge[hidden] {
  display: none;
}
.storesuite-dropdown.storesuite-header-dropdown.storesuite-notifications-dropdown .storesuite-dropdown-menu {
  width: 320px;
}
.storesuite-notifications-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid var(--storesuite-border-color);
}
.storesuite-notifications-menu-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--storesuite-text-black);
}
.storesuite-notifications-menu-list {
  max-height: 320px;
  overflow-y: auto;
}
.storesuite-dropdown.storesuite-notifications-dropdown .storesuite-dropdown-menu a.dropdown-link {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 10px 16px;
}
/* The generic dropdown hover is solid primary + !important, which makes the
   multi-line notification rows unreadable — keep their hover light instead. */
.storesuite-dropdown.storesuite-notifications-dropdown .storesuite-dropdown-menu a.dropdown-link:hover {
  background: var(--storesuite-bg-color-light) !important;
  color: inherit;
}
.storesuite-notifications-menu-list .storesuite-notification-item.is-unseen {
  background: var(--storesuite-bg-color-light);
}
.storesuite-notifications-menu-list .storesuite-notification-item:not(:last-child) {
  border-bottom: 1px solid var(--storesuite-border-color);
}
.storesuite-notifications-dropdown .storesuite-notification-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--storesuite-text-black);
}
.storesuite-notifications-dropdown .storesuite-notification-message {
  font-size: 12px;
  color: var(--storesuite-text-color);
  white-space: normal;
}
.storesuite-notifications-dropdown .storesuite-notification-time {
  font-size: 11px;
  color: var(--storesuite-text-color-light);
}
.storesuite-notifications-empty {
  padding: 20px 16px;
  font-size: 13px;
  color: var(--storesuite-text-color-light);
  text-align: center;
  list-style: none;
}
.storesuite-notifications-menu-footer {
  padding: 10px 16px;
  border-top: 1px solid var(--storesuite-border-color);
  text-align: center;
}
.storesuite-notifications-menu-footer a {
  font-size: 13px;
  color: var(--storesuite-primary-bg);
  text-decoration: none;
}
.storesuite-notifications-menu-footer a:hover {
  text-decoration: underline;
}

/* Notifications page */
.storesuite-notifications-card .storesuite-card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.storesuite-notifications-card .storesuite-card-content {
  padding: 0;
}
.storesuite-notifications-actions {
  display: inline-flex;
  gap: 8px;
}
.storesuite-notifications-mark-all,
.storesuite-notifications-clear-all {
  padding: 6px 12px;
  font-size: 12px;
}
.storesuite-notifications-clear-all:hover {
  background: rgb(244 63 94);
  border-color: rgb(244 63 94);
  color: #fff;
}
ul.storesuite-notifications-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.storesuite-notifications-list .storesuite-notification-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 24px;
}
.storesuite-notifications-list .storesuite-notification-item:not(:last-child) {
  border-bottom: 1px solid var(--storesuite-border-color);
}
.storesuite-notifications-list .storesuite-notification-item.is-unseen {
  background: var(--storesuite-bg-color-light);
}
.storesuite-notification-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--storesuite-bg-color-light);
  flex: 0 0 auto;
}
.storesuite-notification-icon svg {
  fill: var(--storesuite-icon-color);
}
.storesuite-notification-item.is-unseen .storesuite-notification-icon svg {
  fill: var(--storesuite-primary-bg);
}
.storesuite-notification-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}
.storesuite-notifications-list .storesuite-notification-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--storesuite-text-black);
}
.storesuite-notifications-list .storesuite-notification-message {
  font-size: 13px;
  color: var(--storesuite-text-color);
}
.storesuite-notifications-list .storesuite-notification-message a {
  color: var(--storesuite-primary-bg);
  text-decoration: none;
}
.storesuite-notifications-list .storesuite-notification-message a:hover {
  text-decoration: underline;
}
.storesuite-notifications-list .storesuite-notification-time {
  font-size: 12px;
  color: var(--storesuite-text-color-light);
}
.storesuite-notification-unseen-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--storesuite-primary-bg);
  margin-top: 6px;
  flex: 0 0 auto;
}
/* Dark mode: see the "Dark mode overrides" section above. The bell hardcodes a
   white fill, and the hover/unseen highlights use --storesuite-bg-color-light,
   which in dark mode matches the dropdown/card surface — lift them to the
   elevated tone so they stay visible, and recess the page icon tile instead. */
[data-theme="dark"] .storesuite-notifications-dropdown .storesuite-notification-bell {
  background: var(--storesuite-surface-bg);
}
[data-theme="dark"] .storesuite-notifications-dropdown .storesuite-notification-bell:hover {
  background: var(--storesuite-surface-elevated);
}
/* The light-theme hover rule carries !important, so restate it to win. */
[data-theme="dark"] .storesuite-dropdown.storesuite-notifications-dropdown .storesuite-dropdown-menu a.dropdown-link:hover {
  background: var(--storesuite-surface-elevated) !important;
}
[data-theme="dark"] .storesuite-notifications-menu-list .storesuite-notification-item.is-unseen,
[data-theme="dark"] .storesuite-notifications-list .storesuite-notification-item.is-unseen {
  background: var(--storesuite-surface-elevated);
}
[data-theme="dark"] .storesuite-notification-icon {
  background: var(--storesuite-page-bg);
}
/* Order details "Documents" card (PDF-invoice / packing-slip integration). */
.storesuite-order-documents .storesuite-order-documents-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.storesuite-order-documents .storesuite-order-documents-list .my-storesuite-button {
  flex: 0 0 100%;
  gap: 12px;
  justify-content: flex-start;
  padding: 10px 14px;
  border-radius: 8px;
  border-color: var(--storesuite-border-color);
  color: var(--storesuite-text-color);
  font-weight: 500;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
/* Short-labelled documents (WPO invoice / packing slip) sit two per row. */
.storesuite-order-documents .storesuite-order-documents-list .my-storesuite-button.storesuite-document-half {
  flex: 0 1 calc(50% - 3px);
  min-width: 0;
  padding-left: 10px;
  padding-right: 10px;
  gap: 8px;
}
/* The icon sits in a tinted tile so every label starts on the same x. */
.storesuite-order-documents .storesuite-order-documents-list .my-storesuite-button svg {
  width: 16px;
  height: 16px;
  margin: 0;
  flex: 0 0 auto;
  box-sizing: content-box;
  padding: 6px;
  border-radius: 6px;
  fill: var(--storesuite-primary-bg);
  background: var(--storesuite-bg-color-light);
  transition: background-color 0.15s ease, fill 0.15s ease;
}
.storesuite-order-documents .storesuite-order-documents-list .my-storesuite-button:hover {
  background: var(--storesuite-bg-color-light);
  border-color: var(--storesuite-primary-bg);
  color: var(--storesuite-primary-bg);
}
.storesuite-order-documents .storesuite-order-documents-list .my-storesuite-button:hover svg {
  background: var(--storesuite-primary-bg);
  fill: #fff;
}
/* Dark mode: see the "Dark mode overrides" section above. The button surface is
   already re-skinned there; these rules keep the icon tile recessed against it
   and stop the hover state from going darker than the button it sits on. */
[data-theme="dark"] .storesuite-order-documents .storesuite-order-documents-list .my-storesuite-button svg {
  background: var(--storesuite-page-bg);
}
[data-theme="dark"] .storesuite-order-documents .storesuite-order-documents-list .my-storesuite-button:hover {
  background: var(--storesuite-surface-bg);
}
/* The tile rule above outranks the light-theme :hover rule, so restate the fill. */
[data-theme="dark"] .storesuite-order-documents .storesuite-order-documents-list .my-storesuite-button:hover svg {
  background: var(--storesuite-primary-bg);
}
