/* Puffid shared UI system
   Shared page shell, header, buttons, cards, forms.
   Accent: #f1ac40, text: #000, page bg: #e8e4e1
*/

:root {
  --app-max: 750px;

  --pm-accent: #f1ac40;
  --pm-accent-hover: #df9b31;
  --pm-accent-soft: #fff4df;

  --pm-bg: #e8e4e1;
  --pm-surface: #ffffff;
  --pm-surface-2: #f6f7f7;
  --pm-surface-3: #f0f0f1;

  --pm-text: #000000;
  --pm-text-soft: #1d1d1f;
  --pm-muted: #6b7280;

  --pm-border: #dcdcde;
  --pm-border-strong: #c3c4c7;

  --pm-danger: #c73a31;
  --pm-danger-soft: #fff0ee;

  --pm-success: #000000;
  --pm-success-soft: #ffffff;

  --pm-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  --pm-shadow-hover: 1px 4px 15px rgba(129, 79, 21, 0.16);

  --pm-radius: 10px;
  --pm-radius-lg: 14px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
}

body {
  margin: 0;
  background: var(--pm-bg);
  color: var(--pm-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a {
  color: inherit;
}

.container,
.puff-header-inner {
  width: min(var(--app-max), calc(100% - 28px));
  max-width: var(--app-max);
  margin-left: auto;
  margin-right: auto;
}

.container {
  padding: 16px 0 32px;
}

.stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.row {
  display: flex;
  align-items: center;
  min-width: 0;
}

.pills {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* Shared header */

.puff-header,
.puff-header *,
.puff-header *::before,
.puff-header *::after {
  box-sizing: border-box;
}

.puff-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #ffffff;
  border-bottom: 1px solid #d8d2cd;
  box-shadow: none;
}

.puff-header-inner {
  min-height: 50px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 8px;
  padding: 8px 0;
}

.puff-header-main {
  min-height: 34px;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  grid-template-areas: "title tabs actions";
  align-items: center;
  gap: 12px;
}

.puff-header-title {
  grid-area: title;
  min-width: 0;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.puff-header-title-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--pm-text);
  font-size: 22px;
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0;
  padding: 0;
}

.puff-header-actions {
  grid-area: actions;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
}

.puff-header-icon-btn {
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--pm-border);
  border-radius: 9px;
  background: #ffffff;
  color: var(--pm-text-soft);
  text-decoration: none;
  box-shadow: none;
  transform: none;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
  -webkit-tap-highlight-color: transparent;
}

.puff-header-icon-btn svg {
  width: 15px;
  height: 15px;
  display: block;
  stroke-width: 2.2;
}

.puff-header-icon-btn:hover {
  background: var(--pm-accent-soft);
  border-color: var(--pm-border-strong);
  color: var(--pm-text);
}

.puff-header-icon-btn.is-danger:hover {
  background: var(--pm-danger-soft);
  border-color: #efc0bc;
  color: var(--pm-danger);
}

.puff-header-extra {
  grid-area: tabs;
  width: auto;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
}

.puff-header-tabs {
  width: auto;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--pm-border);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: none;
  min-width: 0;
  margin: 0;
}

.puff-header-tabs a {
  height: 32px;
  min-height: 32px;
  min-width: 74px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border-radius: 9px;
  text-decoration: none;
  color: var(--pm-text);
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
  box-shadow: none;
  transition: background .15s ease, color .15s ease;
}

.puff-header-tabs a:hover {
  background: var(--pm-accent-soft);
  color: var(--pm-text);
}

.puff-header-tabs a.is-active,
.puff-header-tabs a.active {
  background: var(--pm-accent);
  color: var(--pm-text);
}

/* Cards / tiles */

.card,
.glass-card {
  background: var(--pm-surface);
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-radius-lg);
  box-shadow: var(--pm-shadow);
  color: var(--pm-text);
  transition: border-color .15s ease, box-shadow .15s ease;
}

.card:hover,
.glass-card:hover {
  background: var(--pm-surface);
  border-color: var(--pm-border-strong);
  box-shadow: var(--pm-shadow-hover);
}

.card.bought,
.line-mini.bought {
  background: #ffffff !important;
  border-color: var(--pm-border) !important;
  opacity: .50 !important;
}

.card.bought:hover,
.line-mini.bought:hover {
  background: #ffffff !important;
  border-color: var(--pm-border-strong) !important;
  opacity: .50 !important;
}

.section {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 0 2px;
}

.section-head .label {
  color: var(--pm-text);
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.section-head .hint {
  color: var(--pm-muted);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 400;
  white-space: nowrap;
}

.grid-main,
.grid-mini {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-grid,
.ops-grid,
.other-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tile,
.mini {
  min-height: 104px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  padding: 14px;
  text-decoration: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.mini {
  min-height: 82px;
}

.icon {
  font-size: 20px;
  line-height: 1;
}

.t {
  color: var(--pm-text);
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.d {
  margin-top: -2px;
  color: var(--pm-muted);
  font-size: 12.5px;
  line-height: 1.3;
  font-weight: 400;
}

@media (min-width: 720px) {
  .admin-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ops-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .other-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 380px;
  }
}

/* Typography */

h1,
h2,
h3,
.grp-title,
.line-mini-title,
.card-title {
  color: var(--pm-text);
  font-weight: 700;
  letter-spacing: -0.01em;
}

.muted,
.grp-sub,
.line-mini-sub,
[data-item-row] .muted {
  color: var(--pm-muted) !important;
  font-weight: 400 !important;
}

/* Detail groups */

details > summary {
  list-style: none;
  outline: none;
  cursor: pointer;
}

details > summary::-webkit-details-marker {
  display: none;
}

.grp-summary {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  position: relative;
  padding-right: 22px;
}

.grp-summary::after {
  content: "";
  position: absolute;
  right: 3px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--pm-muted);
  border-bottom: 2px solid var(--pm-muted);
  transform: translateY(-70%) rotate(45deg);
  opacity: .65;
  transition: transform .16s ease;
}

details[open] .grp-summary::after {
  transform: translateY(-30%) rotate(-135deg);
}

.grp-left {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.grp-meta {
  min-width: 0;
}

.grp-title {
  font-size: 17px;
  line-height: 1.2;
}

.grp-sub {
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.3;
}

.grp-actions,
.line-mini-right,
.mini-actions-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.grp-avatar {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--pm-surface-2);
  border: 1px solid var(--pm-border);
  color: var(--pm-text);
  font-size: 14px;
  font-weight: 700;
}

.avatar-0,
.avatar-1,
.avatar-2,
.avatar-3,
.avatar-4,
.avatar-5 {
  background: var(--pm-surface-2);
  border-color: var(--pm-border);
  color: var(--pm-text);
}

/* List rows */

.lines-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.line-mini {
  padding: 12px;
  border: 1px solid var(--pm-border);
  border-radius: 12px;
  background: var(--pm-surface);
  transition: border-color .15s ease, box-shadow .15s ease;
}

.line-mini:hover {
  background: var(--pm-surface);
  border-color: var(--pm-border-strong);
  box-shadow: var(--pm-shadow-hover);
}

.line-mini-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.line-mini-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1 1 auto;
}

.line-mini-title {
  font-size: 15px;
  line-height: 1.25;
}

.line-mini-sub {
  margin-top: 3px;
  font-size: 12.5px;
  line-height: 1.35;
  word-break: break-word;
}

.qty-pill,
.mini-info {
  border: 1px solid var(--pm-border);
  background: var(--pm-surface-2);
  color: var(--pm-text-soft);
  font-weight: 650;
}

.qty-pill {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: 10px;
  font-size: 13px;
  white-space: nowrap;
}

.mini-info {
  border-radius: 10px;
  padding: 9px 11px;
  font-size: 13px;
  line-height: 1.35;
}

/* Buttons */

.btn,
a.btn,
button.btn,
select.btn {
  box-sizing: border-box !important;
  height: 36px !important;
  min-height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  border: 1px solid var(--pm-border-strong) !important;
  background: var(--pm-surface) !important;
  color: var(--pm-text) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: pointer !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease !important;
}

.btn:hover,
a.btn:hover,
button.btn:hover,
select.btn:hover {
  background: var(--pm-accent-soft) !important;
  border-color: var(--pm-border-strong) !important;
  color: var(--pm-text) !important;
  transform: none !important;
}

.btn.primary,
button.btn.primary,
a.btn.primary {
  background: var(--pm-accent) !important;
  border-color: var(--pm-accent) !important;
  color: var(--pm-text) !important;
}

.btn.primary:hover,
button.btn.primary:hover,
a.btn.primary:hover {
  background: var(--pm-accent-hover) !important;
  border-color: var(--pm-accent-hover) !important;
  color: var(--pm-text) !important;
}

.btn.danger,
button.btn.danger,
a.btn.danger,
[data-line-delete] {
  background: var(--pm-danger-soft) !important;
  border-color: #efc0bc !important;
  color: var(--pm-danger) !important;
}

.btn.danger:hover,
button.btn.danger:hover,
a.btn.danger:hover,
[data-line-delete]:hover {
  background: #ffe3df !important;
  border-color: #e7aaa3 !important;
  color: var(--pm-danger) !important;
}

.btn.small,
button.btn.small,
a.btn.small {
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
}

.js-bought-toggle,
[data-line-delete],
.js-delete {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  flex: 0 0 34px !important;
}

.btn svg,
button svg,
.js-bought-toggle svg,
[data-line-delete] svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  stroke-width: 2.1;
}

.btn.bought svg,
.js-bought-toggle svg {
  color: var(--pm-text) !important;
}

/* Forms */

.field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

label {
  color: var(--pm-text-soft);
  font-size: 13px;
  line-height: 1.25;
  font-weight: 600;
}

input,
textarea,
select,
.items-toolbar input[type="search"] {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--pm-border-strong);
  border-radius: 10px;
  background: var(--pm-surface);
  color: var(--pm-text);
  padding: 0 11px;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 400;
  outline: none;
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

textarea {
  min-height: 90px;
  padding: 10px 11px;
  resize: vertical;
}

input::placeholder,
textarea::placeholder {
  color: #8b8f96;
}

input:focus,
textarea:focus,
select:focus,
.items-toolbar input[type="search"]:focus {
  border-color: var(--pm-accent);
  box-shadow: 0 0 0 2px rgba(241, 172, 64, 0.18);
  background: #fff;
}

.items-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.items-toolbar input[type="search"] {
  height: 38px;
}

.pill {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  background: var(--pm-surface);
  color: var(--pm-muted);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.pill.active {
  background: var(--pm-accent-soft);
  color: var(--pm-text);
  border-color: var(--pm-accent);
}

[data-item-row] {
  border: 1px solid var(--pm-border);
  border-radius: 12px;
  background: var(--pm-surface);
  transition: border-color .15s ease, box-shadow .15s ease;
}

[data-item-row]:hover {
  background: var(--pm-surface);
  border-color: var(--pm-border-strong);
  box-shadow: var(--pm-shadow-hover);
}

@media (max-width: 760px) {
  .container,
  .puff-header-inner {
    width: calc(100% - 16px);
  }

  .container {
    padding-top: 12px;
  }

  .puff-header-main {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "title actions"
      "tabs tabs";
    gap: 7px 10px;
  }

  .puff-header-title-text {
    font-size: 20px;
  }

  .puff-header-extra {
    width: 100%;
    justify-content: stretch;
  }

  .puff-header-tabs {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .puff-header-tabs a {
    width: 100%;
    min-width: 0;
    height: 31px;
    min-height: 31px;
  }

  .section-head .label {
    font-size: 18px;
  }

  .section-head .hint,
  .d {
    display: none;
  }

  .tile,
  .mini {
    min-height: 92px;
    padding: 13px;
    gap: 7px;
  }

  .icon {
    font-size: 18px;
  }

  .t {
    font-size: 14px;
  }

  .title-row {
    align-items: stretch;
    flex-direction: column;
  }

  .title-row > div:last-child {
    justify-content: stretch;
  }

  .title-row > div:last-child .btn {
    flex: 1 1 auto;
  }

  .grp-summary {
    align-items: flex-start;
    gap: 10px;
  }

  .grp-left {
    gap: 10px;
  }

  .grp-avatar {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  .grp-title {
    font-size: 16px;
  }

  .line-mini {
    padding: 11px;
  }

  .line-mini-top {
    align-items: flex-start;
    gap: 9px;
  }

  .line-mini-left {
    align-items: flex-start;
  }

  .line-mini-right {
    gap: 6px;
  }

  .qty-pill {
    min-height: 30px;
    padding: 0 9px;
    font-size: 12.5px;
  }
}

@media (max-width: 390px) {
  .container,
  .puff-header-inner {
    width: calc(100% - 12px);
  }

  .puff-header-title-text {
    font-size: 19px;
  }

  .grid-main,
  .grid-mini {
    gap: 8px;
  }

  .line-mini-top {
    flex-direction: column;
  }

  .line-mini-right {
    width: 100%;
    justify-content: flex-end;
  }
}


/* Compatibility for old module topbars and wrappers */
.wrap.container,
.wrap {
  width: min(var(--app-max), calc(100% - 28px));
  max-width: var(--app-max);
  margin-left: auto;
  margin-right: auto;
}

.topbar {
  background: #ffffff;
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-radius-lg);
  box-shadow: var(--pm-shadow);
}

.topbar .title,
.topbar h1 {
  color: var(--pm-text);
}

.actions,
.toolbar,
.toolbar-actions,
.cta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.puff-header-actions {
  flex-wrap: wrap;
}

.puff-header-actions .btn {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 10px !important;
  border-radius: 9px !important;
}

@media (max-width: 760px) {
  .wrap.container,
  .wrap {
    width: calc(100% - 16px);
  }

  .puff-header-actions {
    justify-content: flex-end;
  }
}

@media (max-width: 390px) {
  .wrap.container,
  .wrap {
    width: calc(100% - 12px);
  }
}


/* V3 additional shared fixes */
.puff-header-tabs {
  flex-wrap: wrap;
}

.puff-header-actions {
  flex-wrap: wrap;
}

.module-status {
  width: min(var(--app-max), calc(100% - 28px));
  max-width: var(--app-max);
  margin: 12px auto 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--pm-muted);
  font-size: 12px;
}

.module-status .badge {
  padding: 7px 10px;
}

@media (max-width: 760px) {
  .puff-header-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .puff-header-tabs a {
    min-width: 0;
  }
}

@media (max-width: 430px) {
  .puff-header-actions {
    gap: 5px;
  }

  .puff-header-actions .btn {
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: 12px !important;
  }
}


/* =========================================================
   V6 final corrections
   ========================================================= */

html,
html[data-theme="dark"],
:root[data-theme="dark"] {
  color-scheme: light !important;
}

body {
  background: var(--pm-bg) !important;
  color: #000 !important;
}

/* .puff-header-tabs display is controlled by page markup */

.puff-header-main {
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas: "title actions" !important;
}

.puff-header-title-text {
  color: #000 !important;
}

.puff-header-actions {
  justify-content: flex-end !important;
  align-items: center !important;
}

.puff-header-actions .btn {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 10px !important;
  font-size: 12.5px !important;
}

.title-row {
  padding: 18px !important;
  align-items: flex-start !important;
}

.title-row > div:first-child > div:first-child,
.title-row h1,
.title-row .card-title {
  font-size: 22px !important;
  line-height: 1.15 !important;
  font-weight: 750 !important;
  letter-spacing: -0.02em !important;
  color: #000 !important;
}

.title-row .muted {
  color: #6b7280 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}

.card,
.glass-card,
.cat-group,
.range-card,
.hist-cat,
.summary-card,
.form-card,
.panel,
.modal__panel {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #dcdcde !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.card:hover,
.glass-card:hover,
.cat-group:hover,
.range-card:hover,
.hist-cat:hover,
.summary-card:hover,
.form-card:hover,
.panel:hover {
  box-shadow: 1px 4px 15px rgba(129, 79, 21, 0.16) !important;
}

.muted,
.grp-sub,
.line-mini-sub,
.sub,
.subtitle,
.today-line,
.module-status,
.hist-val,
.total-item .lab,
.summary-card .lab {
  color: #6b7280 !important;
  opacity: 1 !important;
}

h1, h2, h3,
.title,
.grp-title,
.line-mini-title,
.k-name,
.product-title,
.hist-name,
.cat-header,
.hist-header {
  color: #000 !important;
  opacity: 1 !important;
}

input,
select,
textarea {
  background: #fff !important;
  color: #000 !important;
  border-color: #c3c4c7 !important;
  box-shadow: none !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #f1ac40 !important;
  box-shadow: 0 0 0 2px rgba(241,172,64,.22) !important;
}

.btn-act.plus,
button.btn-act.plus {
  background: #16a34a !important;
  border-color: #16a34a !important;
  color: #fff !important;
}

.btn-act.plus:hover,
button.btn-act.plus:hover {
  background: #15803d !important;
  border-color: #15803d !important;
  color: #fff !important;
}

.btn-act,
.qty-btn,
.qty-btn-big {
  background: #fff !important;
  border: 1px solid #c3c4c7 !important;
  color: #000 !important;
  box-shadow: none !important;
  border-radius: 10px !important;
}

.qty-control {
  transform: none !important;
  background: #f6f7f7 !important;
  border: 1px solid #dcdcde !important;
  box-shadow: none !important;
  border-radius: 12px !important;
  padding: 4px !important;
  gap: 5px !important;
}

.made-badge,
.norm-val {
  background: #fff4df !important;
  color: #000 !important;
  border: 1px solid #f1ac40 !important;
  box-shadow: none !important;
}

.make-badge {
  color: #000 !important;
  opacity: 1 !important;
}

.make-badge.done,
.k-item.is-done .k-name {
  opacity: .45 !important;
}

.theme-card {
  display: none !important;
}

.module-status {
  color: #6b7280 !important;
}

.more-menu .mm-btn[href="?logout=1"] {
  display: none !important;
}

@media (max-width: 760px) {
  .title-row {
    padding: 14px !important;
  }

  .puff-header-actions .btn {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .summary-cards {
    grid-template-columns: 1fr !important;
  }

  .k-item,
  .hist-row,
  .product-main {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}


/* =========================================================
   V7 final cleanup
   ========================================================= */

html,
html[data-theme="dark"],
:root[data-theme="dark"] {
  color-scheme: light !important;
}

body {
  background: var(--pm-bg) !important;
  color: #000000 !important;
}

.puff-header-main {
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.puff-header-title-text {
  color: #000000 !important;
}

.card,
.glass-card,
.cat-group,
.range-card,
.hist-cat,
.summary-card,
.form-card,
.panel,
.modal__panel {
  background: #ffffff !important;
  color: #000000 !important;
  border: 1px solid #dcdcde !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.muted,
.grp-sub,
.line-mini-sub,
.sub,
.subtitle,
.today-line,
.module-status,
.hist-val,
.total-item .lab,
.summary-card .lab {
  color: #6b7280 !important;
  opacity: 1 !important;
}

h1, h2, h3,
.title,
.grp-title,
.line-mini-title,
.k-name,
.product-title,
.hist-name,
.cat-header,
.hist-header {
  color: #000000 !important;
  opacity: 1 !important;
}

input,
select,
textarea {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #c3c4c7 !important;
}

.btn-act.plus,
button.btn-act.plus {
  background: #16a34a !important;
  border-color: #16a34a !important;
  color: #ffffff !important;
}

.btn-act.plus:hover,
button.btn-act.plus:hover {
  background: #15803d !important;
  border-color: #15803d !important;
  color: #ffffff !important;
}

.qty-control {
  transform: none !important;
  background: #f6f7f7 !important;
  border: 1px solid #dcdcde !important;
  box-shadow: none !important;
  border-radius: 12px !important;
  padding: 4px !important;
  gap: 5px !important;
}

.theme-card {
  display: none !important;
}

/* Vitrina pages do not use header tabs anymore */
body .vitrina-no-tabs /* tabs are controlled by markup */


/* V8 shared cleanup base */
html,
html[data-theme="dark"],
:root[data-theme="dark"] {
  color-scheme: light !important;
}

body {
  background: var(--pm-bg) !important;
  color: #000 !important;
}

.puff-header {
  background: #fff !important;
}

.puff-header-main {
  align-items: center !important;
}

.puff-header-title-text {
  color: #000 !important;
  font-weight: 760 !important;
}

.puff-header-actions {
  align-items: center !important;
}

.card,
.glass-card {
  color: #000 !important;
}

.muted,
.sub,
.subtitle {
  color: #6b7280 !important;
  opacity: 1 !important;
}

/* V9 link/readability fixes */
a:not(.btn):not(.puff-header-icon-btn) {
  color: #8a5a12;
}

.puff-header a {
  color: inherit;
}

/* V10 header tab text contrast */
.puff-header-tabs a {
  color: #000000;
}

.puff-header-tabs a.is-active,
.puff-header-tabs a.active {
  color: #ffffff !important;
}

.puff-header-tabs a.is-active:hover,
.puff-header-tabs a.active:hover {
  color: #ffffff !important;
}

/* V11 active tab text correction */
.puff-header-tabs a,
.puff-header-tabs a.is-active,
.puff-header-tabs a.active,
.puff-header-tabs a.is-active:hover,
.puff-header-tabs a.active:hover {
  color: #000000 !important;
}

/* V13 header icon buttons - larger and neutral */
.puff-header-icon-btn {
  width: 42px !important;
  min-width: 42px !important;
  height: 38px !important;
  min-height: 38px !important;
  color: #000000 !important;
  border-color: #dcdcde !important;
  background: #ffffff !important;
}

.puff-header-icon-btn svg {
  width: 18px !important;
  height: 18px !important;
  color: #000000 !important;
  stroke: #000000 !important;
}

.puff-header-icon-btn:hover,
.puff-header-icon-btn.is-danger:hover {
  background: #fff4df !important;
  border-color: #c3c4c7 !important;
  color: #000000 !important;
}

.puff-header-icon-btn:hover svg,
.puff-header-icon-btn.is-danger:hover svg {
  color: #000000 !important;
  stroke: #000000 !important;
}

@media (max-width: 760px) {
  .puff-header-icon-btn {
    width: 46px !important;
    min-width: 46px !important;
    height: 42px !important;
    min-height: 42px !important;
    border-radius: 12px !important;
  }

  .puff-header-icon-btn svg {
    width: 19px !important;
    height: 19px !important;
  }
}
