.admin-body { min-height: 100vh; background: #f5f3ed; }
.admin-sidebar {
  width: 250px;
  height: 100vh;
  padding: 28px 22px;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 40;
  display: flex;
  flex-direction: column;
  color: #f6f3eb;
  background: #20251f;
}
.admin-brand { color: white; }
.admin-brand .brand-mark { border-color: #aeb4a7; }
.admin-brand small { color: #8e9789; }
.admin-nav { margin-top: 70px; display: grid; gap: 7px; }
.admin-nav-item {
  width: 100%;
  min-height: 46px;
  padding: 0 13px;
  border: 0;
  display: grid;
  grid-template-columns: 24px 1fr auto;
  align-items: center;
  gap: 5px;
  text-align: left;
  color: #afb6aa;
  background: transparent;
  cursor: pointer;
  font-size: 13px;
}
.admin-nav-item span { color: #7e887a; font-size: 17px; }
.admin-nav-item b { min-width: 24px; padding: 3px 6px; border-radius: 10px; color: #20251f; background: #e2a07f; text-align: center; font-size: 10px; }
.admin-nav-item:hover, .admin-nav-item.active { color: white; background: #30372e; }
.admin-nav-item.active span { color: #e2a07f; }
.sidebar-footer { margin-top: auto; padding: 18px 13px 2px; border-top: 1px solid #343a32; }
.sidebar-footer p { margin-bottom: 9px; color: #b5bcb0; font-size: 11px; }
.sidebar-footer a { min-height: 44px; display: inline-flex; align-items: center; color: #eef0e9; font-size: 12px; text-underline-offset: 4px; }
.live-dot { width: 7px; height: 7px; margin-right: 6px; display: inline-block; border-radius: 50%; background: #80a36f; box-shadow: 0 0 0 4px rgba(128, 163, 111, .12); }
.live-dot.warning { background: #d0835d; box-shadow: 0 0 0 4px rgba(208, 131, 93, .14); }

.admin-main { min-height: 100vh; margin-left: 250px; }
.admin-topbar {
  min-height: 75px;
  padding: 0 3vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #dedbd2;
  background: rgba(250, 249, 245, .92);
  backdrop-filter: blur(10px);
  position: sticky;
  top: 0;
  z-index: 25;
}
.topbar-label { display: block; margin-bottom: 3px; color: var(--muted); font-size: 10px; }
.admin-topbar strong { font-size: 13px; }
.admin-topbar-actions { display: flex; align-items: center; gap: 14px; }
.admin-session-info { min-height: 38px; padding-right: 14px; display: grid; align-content: center; gap: 3px; border-right: 1px solid #dedbd2; text-align: right; }
.admin-session-info span { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .09em; }
.admin-session-info strong { max-width: 150px; overflow-wrap: anywhere; font-size: 10px; font-variant-numeric: tabular-nums; }
.admin-logout { min-height: 38px; padding: 0 11px; border: 1px solid #c8c3b8; color: #51544d; background: transparent; cursor: pointer; font-size: 9px; transition: color .18s ease, border-color .18s ease, background .18s ease; }
.admin-logout:hover { color: #fff; border-color: var(--ink); background: var(--ink); }
.admin-profile { display: flex; align-items: center; gap: 10px; }
.admin-profile > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--accent); font-size: 11px; }
.admin-profile small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.mobile-menu { display: none; }
.admin-content { padding: 54px 3vw 80px; }
.admin-view:not(.active) { display: none; }
.admin-heading { margin-bottom: 40px; display: grid; grid-template-columns: 1fr minmax(300px, 470px); gap: 50px; align-items: end; }
.admin-heading h1 { margin: 0; font-size: clamp(46px, 5vw, 68px); }
.admin-heading > p { margin: 0; color: var(--muted); line-height: 1.55; }
.page-heading { margin-bottom: 34px; }

.metric-row { margin-bottom: 22px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #dedbd2; background: #fbfaf6; }
.metric-row article { min-height: 150px; padding: 23px; border-right: 1px solid #dedbd2; display: flex; flex-direction: column; }
.metric-row article:last-child { border-right: 0; }
.metric-row span { color: var(--muted); font-size: 11px; }
.metric-row strong { margin: 15px 0 7px; font: 400 37px/1 var(--serif); }
.metric-row small { margin-top: auto; color: #8a8d84; font-size: 10px; }
.overview-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .65fr); gap: 22px; }
.admin-panel { border: 1px solid #dedbd2; background: #fbfaf6; }
.panel-heading { min-height: 82px; padding: 20px 23px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e3e0d8; }
.panel-heading .eyebrow { margin-bottom: 5px; }
.panel-heading h2 { margin: 0; font: 400 24px/1.1 var(--serif); }
.panel-heading button, [data-jump-view] { padding: 0; border: 0; border-bottom: 1px solid var(--ink); background: transparent; cursor: pointer; font-size: 11px; }
.table-wrap { width: 100%; overflow-x: auto; }
.order-table, .preview-table { width: 100%; border-collapse: collapse; white-space: nowrap; }
.order-table th, .preview-table th { padding: 13px 18px; border-bottom: 1px solid #e3e0d8; text-align: left; color: #777b72; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.order-table td, .preview-table td { padding: 18px; border-bottom: 1px solid #ece9e2; font-size: 12px; }
.order-table tr:last-child td { border-bottom: 0; }
.order-id { color: var(--accent); font-weight: 700; }
.company-cell strong, .company-cell small { display: block; }
.company-cell small { margin-top: 4px; color: var(--muted); }
.status-select { min-width: 116px; padding: 8px 28px 8px 10px; border: 1px solid #d5d1c8; border-radius: 0; color: var(--ink); background: #f6f3ed; font-size: 10px; }
.order-actions { display: grid; justify-items: end; gap: 8px; text-align: right; }
.order-archive-button, .order-restore-button, .order-detail-button {
  padding: 7px 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  color: #8d3f24;
  background: transparent;
  cursor: pointer;
  font: 600 10px/1.2 var(--sans);
}
.order-archive-button:hover, .order-restore-button:hover { color: var(--accent); }
.order-detail-button { color: #50634b; }
.order-detail-button:hover { color: var(--olive); }
.compact-table th, .compact-table td { padding-left: 14px; padding-right: 14px; }
.freshness-visual { margin: 30px 23px 22px; padding-bottom: 24px; display: flex; align-items: center; gap: 17px; border-bottom: 1px solid #e2ded6; }
.freshness-visual > span { width: 68px; height: 68px; display: grid; place-items: center; border: 1px solid #aeb9a5; border-radius: 50%; color: #56644f; font: 400 24px var(--serif); }
.freshness-visual strong, .freshness-visual small { display: block; }
.freshness-visual small { margin-top: 5px; color: var(--muted); font-size: 10px; }
.stock-details { margin: 0 23px 25px; }
.stock-details div { padding: 9px 0; display: flex; justify-content: space-between; font-size: 11px; }
.stock-details dt { color: var(--muted); }
.stock-details dd { margin: 0; font-weight: 700; }
.warning-text { color: var(--accent); }
.stock-panel > button { width: calc(100% - 46px); margin: 0 23px 23px; }
.inventory-summary { margin-bottom: 14px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); background: rgba(255,255,255,.58); }
.inventory-summary article { min-height: 98px; padding: 16px 18px; border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.inventory-summary article:last-child { border-right: 0; }
.inventory-summary span { color: var(--muted); font-size: 9px; }
.inventory-summary strong { margin: 10px 0 5px; font: 400 28px var(--serif); }
.inventory-summary small { margin-top: auto; color: var(--muted); font-size: 8px; }
.inventory-summary .needs-attention { box-shadow: inset 0 3px #a54825; }
.appointment-summary { margin-bottom: 14px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); background: rgba(255,255,255,.58); }
.appointment-summary article { min-height: 98px; padding: 16px 18px; border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.appointment-summary article:last-child { border-right: 0; }
.appointment-summary span { color: var(--muted); font-size: 9px; }
.appointment-summary strong { margin: 10px 0 5px; font: 400 28px var(--serif); }
.appointment-summary small { margin-top: auto; color: var(--muted); font-size: 8px; }
.appointment-summary .needs-attention { box-shadow: inset 0 3px #a54825; }
.appointment-table td:first-child { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 10px; }
.appointment-table td:nth-child(2) strong, .appointment-table td:nth-child(2) small { display: block; }
.appointment-table td:nth-child(2) small { margin-top: 5px; color: var(--muted); }
.appointment-table .company-cell small { margin-top: 5px; }
.appointment-contact { display: grid; gap: 4px; }
.appointment-contact a { width: fit-content; color: var(--ink); text-underline-offset: 3px; }
.product-admin-toolbar { margin-bottom: 14px; display: grid; grid-template-columns: minmax(260px, 1fr) minmax(210px, .7fr) auto auto; align-items: end; gap: 10px; }
.product-admin-toolbar > label:not(.search-field) { display: grid; gap: 6px; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.product-admin-toolbar select { min-height: 44px; padding: 0 34px 0 11px; border: 1px solid var(--line); color: var(--ink); background: rgba(255,255,255,.7); font-size: 10px; text-transform: none; }
.barcode-search-field input { min-height: 44px; padding: 0 11px; border: 1px solid var(--line); background: rgba(255,255,255,.72); font-size: 10px; }

.order-toolbar { margin-bottom: 17px; display: flex; justify-content: space-between; gap: 20px; }
.status-filters { display: flex; gap: 6px; }
.status-filter { padding: 10px 13px; border: 1px solid transparent; background: transparent; cursor: pointer; color: var(--muted); font-size: 11px; }
.status-filter.active { border-color: var(--ink); color: var(--ink); }
.admin-search { min-width: 300px; }
.table-panel { min-height: 300px; }
.admin-empty { padding: 65px; text-align: center; color: var(--muted); }
.order-audit-panel { margin-top: 22px; }
.order-audit-count { color: var(--muted); font-size: 10px; }
.order-audit-list { display: grid; }
.order-audit-entry {
  min-height: 92px;
  padding: 18px 22px;
  display: grid;
  grid-template-columns: 10px 1fr auto;
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid #e7e3da;
}
.order-audit-entry:last-child { border-bottom: 0; }
.audit-marker { width: 7px; height: 7px; border-radius: 50%; background: #a54825; box-shadow: 0 0 0 4px rgba(165, 72, 37, .09); }
.order-audit-entry strong, .order-audit-entry small { display: block; }
.order-audit-entry strong { font-size: 12px; }
.order-audit-entry p { margin: 5px 0; color: var(--muted); font-size: 11px; }
.order-audit-entry small { color: #8a8d84; font-size: 9px; }
.order-restore-button { color: #50634b; }
.admin-confirm-dialog {
  width: min(510px, calc(100% - 32px));
  padding: 0;
  border: 1px solid #bdb8ad;
  color: var(--ink);
  background: #fbfaf6;
  box-shadow: 0 24px 70px rgba(31, 36, 30, .22);
}
.admin-confirm-dialog::backdrop { background: rgba(23, 27, 22, .52); backdrop-filter: blur(3px); }
.admin-confirm-dialog form { padding: 26px; }
.confirm-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.confirm-dialog-head h2 { margin: 4px 0 0; font: 400 29px/1.1 var(--serif); }
.dialog-close { width: 36px; height: 36px; border: 1px solid #d2cec4; color: var(--ink); background: transparent; cursor: pointer; font-size: 20px; }
.admin-confirm-dialog form > p { margin: 22px 0 28px; color: var(--muted); line-height: 1.6; }
.confirm-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; }
.danger-button { min-height: 46px; padding: 0 19px; border: 1px solid #8d3f24; color: #fff; background: #8d3f24; cursor: pointer; font-size: 11px; }
.danger-button:hover { background: #74331e; }
.admin-order-dialog {
  width: min(920px, calc(100% - 36px));
  max-height: calc(100vh - 48px);
  padding: 0;
  overflow: auto;
  border: 1px solid #bdb8ad;
  color: var(--ink);
  background: #fbfaf6;
  box-shadow: 0 24px 70px rgba(31, 36, 30, .22);
}
.admin-order-dialog::backdrop { background: rgba(23, 27, 22, .52); backdrop-filter: blur(3px); }
.order-detail-head { min-height: 94px; padding: 23px 26px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; border-bottom: 1px solid #dedbd2; }
.order-detail-head h2 { margin: 4px 0 0; font: 400 31px/1.1 var(--serif); }
.order-detail-summary { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid #dedbd2; }
.order-detail-summary div { min-height: 82px; padding: 17px 20px; border-right: 1px solid #dedbd2; }
.order-detail-summary div:last-child { border-right: 0; }
.order-detail-summary span, .order-detail-note > span { display: block; margin-bottom: 8px; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.order-detail-summary strong { font-size: 11px; }
.order-detail-contact { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid #dedbd2; }
.order-detail-contact > div { min-height: 150px; padding: 22px 26px; border-right: 1px solid #dedbd2; }
.order-detail-contact > div:last-child { border-right: 0; }
.order-detail-contact h3 { margin: 5px 0 10px; font: 400 22px var(--serif); }
.order-detail-contact p:not(.eyebrow) { color: var(--muted); font-size: 11px; line-height: 1.7; }
.order-detail-table-wrap { overflow-x: auto; }
.order-detail-table { width: 100%; border-collapse: collapse; white-space: nowrap; }
.order-detail-table th, .order-detail-table td { padding: 14px 20px; border-bottom: 1px solid #e7e3da; text-align: left; font-size: 10px; }
.order-detail-table th { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.order-detail-table td strong, .order-detail-table td small { display: block; }
.order-detail-table td small { margin-top: 4px; color: var(--muted); }
.order-detail-note { padding: 20px 26px 26px; }
.order-detail-note p { margin: 0; color: var(--muted); line-height: 1.6; }

.product-admin-list { overflow: hidden; }
.product-control-note { margin-bottom: 16px; padding: 14px 18px; display: flex; align-items: center; gap: 16px; border: 1px solid #d7d2c8; color: var(--muted); background: #ebe7dd; font-size: 11px; }
.product-control-note strong { color: var(--ink); }
.admin-product-row { min-height: 112px; padding: 14px 20px; display: grid; grid-template-columns: 72px 1.15fr .8fr .65fr .65fr .65fr auto; gap: 18px; align-items: center; border-bottom: 1px solid #e4e1d9; }
.admin-product-row.is-hidden { background: #efede7; }
.admin-product-row.is-hidden .admin-product-image { filter: grayscale(1); opacity: .48; }
.admin-product-row:last-child { border-bottom: 0; }
.admin-product-image { width: 72px; height: 84px; background-position: center; background-size: cover; background-repeat: no-repeat; }
.admin-product-row h2 { margin: 0 0 6px; font: 400 18px var(--serif); }
.admin-product-row p { margin: 0; color: var(--muted); font-size: 10px; }
.product-price-editor, .purchase-limit-editor { display: grid; gap: 6px; }
.product-price-editor > span, .purchase-limit-editor > span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.product-price-editor label, .purchase-limit-editor label { display: grid; align-items: center; gap: 6px; }
.product-price-editor label { grid-template-columns: 43px 1fr; }
.purchase-limit-editor label { grid-template-columns: 62px 1fr; }
.product-price-editor small, .purchase-limit-editor small { color: var(--muted); font-size: 8px; line-height: 1.2; }
.product-price-editor label > span, .purchase-limit-editor label > span { min-height: 34px; padding: 0 7px; display: flex; align-items: center; border: 1px solid #bdb9af; background: var(--white); }
.product-price-editor input, .purchase-limit-editor input { min-width: 0; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 10px; font-weight: 700; font-variant-numeric: tabular-nums; }
.product-price-editor input { width: 70px; }
.purchase-limit-editor input { width: 40px; }
.product-price-editor b, .purchase-limit-editor b { margin-left: auto; color: var(--muted); font-size: 9px; white-space: nowrap; }
.product-price-editor label > span:focus-within, .purchase-limit-editor label > span:focus-within { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(165, 72, 37, .1); }
.catalog-editor { display: grid; gap: 6px; }
.catalog-editor > span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.catalog-editor input { width: 100%; min-height: 44px; padding: 0 10px; border: 1px solid #bdb9af; color: var(--ink); background: var(--white); font-size: 11px; }
.catalog-editor input:focus { outline: 2px solid rgba(165, 72, 37, .18); outline-offset: 1px; border-color: var(--accent); }
.catalog-editor small { color: var(--muted); font-size: 8px; line-height: 1.35; }
.stock-editor { display: grid; gap: 6px; }
.stock-editor > span:first-child { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.stock-input-wrap { width: 118px; min-height: 48px; padding: 0 10px; display: flex; align-items: center; border: 1px solid #bdb9af; background: var(--white); }
.stock-input-wrap:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(165, 72, 37, .12); }
.stock-input-wrap input { width: 62px; height: 44px; padding: 0; border: 0; outline: 0; color: var(--ink); background: transparent; font: 400 20px var(--serif); }
.stock-input-wrap b { margin-left: auto; color: var(--muted); font-size: 9px; font-weight: 500; }
.stock-editor small { color: var(--muted); font-size: 8px; }
.visibility-toggle { min-width: 116px; min-height: 48px; padding: 7px 12px; display: grid; align-content: center; gap: 3px; border: 1px solid #aeb9a5; color: #52624c; background: #f1f5ee; cursor: pointer; font-size: 10px; font-weight: 700; transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease; }
.visibility-toggle small { font-size: 8px; font-weight: 500; }
.visibility-toggle:hover { color: var(--white); border-color: var(--olive); background: var(--olive); transform: translateY(-1px); }
.visibility-toggle.is-hidden { color: #71412f; border-color: #c9a995; background: #f5e7df; }
.product-row-actions { min-width: 116px; display: grid; gap: 6px; }
.product-row-actions .visibility-toggle { width: 100%; min-width: 0; }
.product-secondary-actions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px; }
.product-secondary-actions button { min-height: 30px; padding: 0 7px; border: 1px solid var(--line); color: var(--ink); background: transparent; cursor: pointer; font-size: 8px; transition: color .18s ease, background .18s ease; }
.product-secondary-actions button:hover { color: var(--white); background: var(--ink); }
.product-secondary-actions .delete-product-button { grid-column: 1 / -1; color: #8f442f; border-color: #cda996; }
.product-barcode-note { display: block; margin-top: 4px; color: var(--muted); font-size: 8px; }
.admin-product-row.is-barcode-match { box-shadow: inset 4px 0 var(--accent); animation: barcode-match 1.3s ease both; }
@keyframes barcode-match { 0%, 100% { background: #f5efe8; } 45% { background: #efe0d2; } }
.variant-stock-details { grid-column: 1 / -1; margin: 2px -20px -14px; border-top: 1px solid #e4e1d9; background: #f5f2eb; }
.variant-stock-details summary { min-height: 48px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; }
.variant-stock-details summary::-webkit-details-marker { display: none; }
.variant-stock-details summary span { font-size: 10px; font-weight: 700; }
.variant-stock-details summary span::after { content: "＋"; margin-left: 9px; color: var(--accent); }
.variant-stock-details[open] summary span::after { content: "−"; }
.variant-stock-details summary small { color: var(--muted); font-size: 9px; }
.variant-stock-table-wrap { padding: 0 20px 18px; overflow-x: auto; }
.variant-stock-table { width: 100%; border-collapse: collapse; background: #fbfaf6; }
.variant-stock-table th, .variant-stock-table td { padding: 8px 10px; border: 1px solid #dedbd2; text-align: center; font-size: 9px; }
.variant-stock-table th:first-child { min-width: 140px; text-align: left; }
.variant-color-dot { width: 11px; height: 11px; margin-right: 8px; display: inline-block; border: 1px solid rgba(0,0,0,.15); border-radius: 50%; vertical-align: -2px; }
.variant-stock-table input { width: 64px; min-height: 36px; padding: 0 7px; border: 1px solid #c9c5bc; color: var(--ink); background: #fff; text-align: center; font-size: 11px; }
.variant-stock-table input:focus { outline: 2px solid rgba(165, 72, 37, .14); border-color: var(--accent); }

.support-create-grid { margin-bottom: 22px; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .72fr); gap: 22px; align-items: start; }
.support-form-panel, .support-list-panel, .support-detail-panel { overflow: hidden; }
.support-privacy-note { margin: -2px 0 0; padding: 12px 0; border-top: 1px solid #dedbd2; border-bottom: 1px solid #dedbd2; color: var(--muted); font-size: 10px; line-height: 1.55; }
.support-ticket-list { max-height: 490px; overflow-y: auto; }
.support-ticket-button { width: 100%; padding: 17px 19px; border: 0; border-bottom: 1px solid #e2dfd7; display: grid; gap: 9px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; transition: background .18s ease, box-shadow .18s ease; }
.support-ticket-button:hover { background: #f2efe8; }
.support-ticket-button.active { background: #ebe7dd; box-shadow: inset 3px 0 var(--accent); }
.support-ticket-button > span { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 9px; }
.support-ticket-button > strong { font: 400 18px/1.2 var(--serif); }
.support-ticket-button em { color: #586851; font-size: 8px; font-style: normal; font-weight: 700; text-transform: uppercase; }
.support-priority-critical { color: #8a2d23 !important; }
.support-detail-head { min-height: 88px; padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e3e0d8; }
.support-detail-head h2 { margin: 5px 0 0; font: 400 27px/1.1 var(--serif); }
.support-detail-status { padding: 6px 8px; border: 1px solid #b6c1b1; color: #52624c; background: #edf1ea; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.support-detail-meta { margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid #e3e0d8; }
.support-detail-meta div { min-height: 68px; padding: 14px 17px; border-right: 1px solid #e3e0d8; display: flex; flex-direction: column; justify-content: center; }
.support-detail-meta div:last-child { border-right: 0; }
.support-detail-meta dt { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.support-detail-meta dd { margin: 6px 0 0; font-size: 10px; font-weight: 700; }
.support-description { padding: 20px 24px; border-bottom: 1px solid #e3e0d8; }
.support-description strong { font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.support-description p { margin: 9px 0 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.support-conversation { padding: 22px 24px 25px; }
.support-conversation h3 { margin: 5px 0 16px; font: 400 21px var(--serif); }
.support-message-list { margin-bottom: 17px; display: grid; gap: 8px; }
.support-message { width: min(88%, 560px); padding: 11px 13px; border: 1px solid #ddd9d0; background: #f4f1ea; }
.support-message.is-business { margin-left: auto; border-color: #c8d0c3; background: #edf1ea; }
.support-message header { display: flex; justify-content: space-between; gap: 15px; }
.support-message strong { font-size: 9px; }
.support-message small { color: var(--muted); font-size: 8px; }
.support-message p { margin: 7px 0 0; font-size: 10px; line-height: 1.55; }
.support-conversation form { padding-top: 17px; border-top: 1px solid #e1ddd5; display: grid; gap: 10px; }
.support-conversation form button { justify-self: end; }

.ticket-create-grid { margin-bottom: 22px; display: grid; grid-template-columns: .92fr 1.08fr; gap: 22px; align-items: stretch; }
.ticket-create-grid > .admin-panel { height: 100%; }
.ticket-intro-body { padding: 24px; }
.service-badge, .count-badge { padding: 6px 8px; border: 1px solid #aeb9a5; color: #52624c; background: #eff3ec; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.service-steps { margin: 0; padding: 0; list-style: none; }
.service-steps li { min-height: 64px; padding: 11px 0; display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; border-bottom: 1px solid #e2dfd7; }
.service-steps li:first-child { padding-top: 0; }
.service-steps b { color: var(--accent); font: 400 17px var(--serif); }
.service-steps strong, .service-steps small { display: block; }
.service-steps strong { margin-bottom: 5px; font-size: 11px; }
.service-steps small { color: var(--muted); font-size: 9px; line-height: 1.45; }
.ticket-form { padding: 24px; display: grid; gap: 18px; }
.ticket-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.admin-field textarea { width: 100%; min-height: 116px; padding: 13px 14px; resize: vertical; border: 1px solid #cbc7bd; border-radius: 0; color: var(--ink); background: var(--white); font: 400 13px/1.55 var(--sans); text-transform: none; }
.admin-field textarea:focus { outline: 2px solid rgba(165, 72, 37, .2); outline-offset: 1px; border-color: var(--accent); }
.consent-line { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.consent-line input { margin-top: 2px; accent-color: var(--accent); }
.website-notice { margin: 0; padding: 12px 14px; display: flex; gap: 9px; border-left: 3px solid var(--olive); color: #4f594a; background: #edf1ea; font-size: 9px; line-height: 1.55; }
.website-notice span { color: var(--accent); font-size: 13px; }

.ticket-workspace-grid { margin-bottom: 22px; display: grid; grid-template-columns: minmax(270px, .68fr) minmax(0, 1.32fr); gap: 22px; align-items: start; }
.ticket-list-panel { overflow: hidden; }
.ticket-list { max-height: 760px; overflow-y: auto; }
.ticket-list-item { width: 100%; padding: 18px 20px; border: 0; border-bottom: 1px solid #e2dfd7; display: grid; gap: 10px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; transition: background .2s ease, box-shadow .2s ease; }
.ticket-list-item:hover { background: #f2efe8; }
.ticket-list-item.active { background: #ebe7dd; box-shadow: inset 3px 0 var(--accent); }
.ticket-list-meta, .ticket-list-bottom { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.ticket-list-meta b { color: var(--accent); font-size: 9px; letter-spacing: .06em; }
.ticket-list-meta small, .ticket-list-bottom small { color: var(--muted); font-size: 8px; }
.ticket-list-item > strong { font: 400 18px var(--serif); }
.ticket-list-bottom em { color: #586851; font-size: 8px; font-style: normal; font-weight: 700; }
.ticket-detail-panel { overflow: hidden; }
.ticket-detail-head { min-height: 94px; padding: 22px 25px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e3e0d8; }
.ticket-detail-head h2 { margin: 4px 0 0; font: 400 26px var(--serif); }
.ticket-status { padding: 7px 9px; border: 1px solid #d3a18c; color: var(--accent); background: #f8eee8; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.ticket-summary { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid #e3e0d8; }
.ticket-summary > span { min-height: 72px; padding: 15px 17px; border-right: 1px solid #e3e0d8; display: flex; flex-direction: column; justify-content: center; }
.ticket-summary > span:last-child { border-right: 0; }
.ticket-summary small { margin-bottom: 5px; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.ticket-summary strong { font-size: 10px; }
.ticket-stage-track { padding: 22px 20px; display: grid; grid-template-columns: repeat(8, minmax(72px, 1fr)); overflow-x: auto; border-bottom: 1px solid #e3e0d8; }
.ticket-stage-track span { min-width: 72px; position: relative; display: grid; justify-items: center; gap: 8px; color: #a1a49c; text-align: center; }
.ticket-stage-track span::before { content: ""; height: 1px; position: absolute; top: 5px; left: -50%; right: 50%; background: #d8d5cd; }
.ticket-stage-track span:first-child::before { display: none; }
.ticket-stage-track i { width: 11px; height: 11px; position: relative; z-index: 1; display: block; border: 2px solid #c8c5bd; border-radius: 50%; background: #fbfaf6; }
.ticket-stage-track small { max-width: 84px; font-size: 7px; line-height: 1.3; }
.ticket-stage-track .complete::before { background: #71806a; }
.ticket-stage-track .complete i { border-color: #71806a; background: #71806a; }
.ticket-stage-track .current { color: var(--ink); font-weight: 700; }
.ticket-stage-track .current i { box-shadow: 0 0 0 4px rgba(113, 128, 106, .16); }
.ticket-brief { padding: 20px 24px; border-bottom: 1px solid #e3e0d8; }
.ticket-brief > strong { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.ticket-brief p { margin: 9px 0 15px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.ticket-brief .primary-button { min-height: 42px; padding: 0 17px; }
.ticket-sample { padding: 22px 24px; display: grid; grid-template-columns: 170px 1fr; gap: 22px; align-items: center; border-bottom: 1px solid #e3e0d8; background: #f2efe8; }
.sample-preview { height: 180px; position: relative; overflow: hidden; background: #252b23; }
.sample-preview img, .sample-preview video { width: 100%; height: 100%; display: block; object-fit: cover; }
.sample-preview span { padding: 5px 7px; position: absolute; left: 8px; bottom: 8px; color: #fff; background: rgba(27, 31, 25, .84); font-size: 8px; }
.ticket-sample h3 { margin: 5px 0 8px; font: 400 21px var(--serif); }
.ticket-sample p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.sample-actions { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.sample-actions button { min-height: 42px; padding: 0 14px; }
.sample-actions button:disabled { opacity: .45; cursor: not-allowed; }
.ticket-conversation { padding: 22px 24px 25px; }
.conversation-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.conversation-heading h3 { margin: 5px 0 0; font: 400 21px var(--serif); }
.conversation-heading > small { color: var(--muted); font-size: 8px; }
.ticket-messages { margin: 17px 0; display: grid; gap: 9px; }
.ticket-message { width: min(88%, 520px); padding: 12px 14px; border: 1px solid #ddd9d0; background: #f4f1ea; }
.ticket-message.is-client { margin-left: auto; border-color: #c8d0c3; background: #edf1ea; }
.ticket-message > div { display: flex; justify-content: space-between; gap: 15px; }
.ticket-message strong { font-size: 9px; }
.ticket-message small { color: var(--muted); font-size: 7px; }
.ticket-message p { margin: 7px 0 0; font-size: 10px; line-height: 1.55; }
.ticket-conversation form { padding-top: 17px; border-top: 1px solid #e1ddd5; display: grid; gap: 10px; }
.ticket-conversation form button { min-height: 42px; padding: 0 17px; justify-self: end; }

.ad-results-panel { margin-bottom: 22px; }
.data-source-note { color: var(--muted); font-size: 9px; }
.ad-results { padding: 22px; }
.result-card { border: 1px solid #d9d5cc; }
.result-card header { padding: 17px 19px; display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e2ded6; }
.result-card h3 { margin: 4px 0 0; font: 400 20px var(--serif); }
.result-card header > span { align-self: start; color: #56664f; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.result-card dl { margin: 0; display: grid; grid-template-columns: repeat(5, 1fr); }
.result-card dl div { padding: 15px 18px; border-right: 1px solid #e2ded6; }
.result-card dl div:last-child { border-right: 0; }
.result-card dt { margin-bottom: 6px; color: var(--muted); font-size: 8px; text-transform: uppercase; }
.result-card dd { margin: 0; font: 400 20px var(--serif); }
.result-card footer { padding: 10px 18px; border-top: 1px solid #e2ded6; color: var(--muted); font-size: 8px; }

.manual-ads { margin-top: 28px; border: 1px solid #cfcac0; background: #ebe7dd; }
.manual-ads > summary { min-height: 82px; padding: 18px 23px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; }
.manual-ads > summary::-webkit-details-marker { display: none; }
.manual-ads > summary span { display: grid; gap: 5px; }
.manual-ads > summary b { font: 400 24px var(--serif); }
.manual-ads > summary small { color: var(--muted); font-size: 9px; }
.manual-ads > summary i { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #97958e; font: normal 400 19px var(--serif); transition: transform .25s ease, color .25s ease, background .25s ease; }
.manual-ads[open] > summary i { transform: rotate(45deg); color: #fff; background: var(--ink); }
.manual-ads-content { padding: 0 20px 20px; }
.manual-limit { min-height: 58px; margin-bottom: 14px; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid #d5d1c8; background: #fbfaf6; }
.manual-limit span { display: grid; gap: 4px; }
.manual-limit b { font-size: 10px; }
.manual-limit small { color: var(--muted); font-size: 8px; }
.manual-limit > strong { color: var(--accent); font: 400 18px var(--serif); }

.creative-studio { margin-bottom: 22px; overflow: hidden; }
.creative-layout { display: grid; grid-template-columns: minmax(360px, .82fr) minmax(420px, 1.18fr); }
.creative-form { padding: 25px; display: grid; align-content: start; gap: 20px; border-right: 1px solid #dedbd2; }
.admin-field select { cursor: pointer; }
.admin-field input, .admin-field select { width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid #cbc7bd; border-radius: 0; color: var(--ink); background: var(--white); font-size: 13px; text-transform: none; }
.admin-field input:focus, .admin-field select:focus { outline: 2px solid rgba(165, 72, 37, .2); outline-offset: 1px; border-color: var(--accent); }
.creative-choice-group, .duration-options { margin: 0; padding: 0; border: 0; }
.creative-choice-group legend, .duration-options legend { margin-bottom: 9px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.creative-choice-group { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.creative-choice-group legend { grid-column: 1 / -1; }
.creative-choice-group label, .duration-options label { position: relative; cursor: pointer; }
.creative-choice-group input, .duration-options input { position: absolute; opacity: 0; }
.creative-choice-group span { min-height: 58px; padding: 10px 15px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; border: 1px solid #cbc7bd; color: var(--muted); background: #f7f5f0; font-size: 12px; font-weight: 700; transition: .18s ease; }
.creative-choice-group span small { margin-top: 4px; display: block; color: #878b82; font-size: 9px; font-weight: 400; }
.creative-choice-group input:checked + span { border-color: var(--olive); color: var(--white); background: var(--olive); }
.creative-choice-group input:checked + span small { color: #d9ded5; }
.creative-choice-group input:focus-visible + span, .duration-options input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.duration-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.duration-options[hidden] { display: none; }
.duration-options legend { grid-column: 1 / -1; }
.duration-options span { min-height: 42px; display: grid; place-items: center; border: 1px solid #cbc7bd; color: var(--muted); background: #f7f5f0; font-size: 11px; font-weight: 700; transition: .18s ease; }
.duration-options input:checked + span { border-color: var(--accent); color: var(--accent); background: #f5e7df; }
.creative-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.creative-note { margin: 0; padding: 13px 0; border-top: 1px solid #dedbd2; border-bottom: 1px solid #dedbd2; color: var(--muted); font-size: 10px; line-height: 1.6; }
.creative-preview-panel { min-height: 630px; padding: 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #f7f4ec; background: #293027; }
.creative-preview-shell { width: min(100%, 400px); max-height: 540px; position: relative; display: grid; place-items: center; overflow: hidden; background: #171b16; box-shadow: 0 24px 48px rgba(8, 10, 8, .28); }
.creative-preview-shell canvas, .creative-preview-shell img, .creative-preview-shell video { width: 100%; max-height: 540px; display: block; object-fit: contain; }
.creative-preview-shell [hidden] { display: none; }
.creative-empty { position: absolute; inset: 0; min-height: 500px; padding: 38px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: radial-gradient(circle at 50% 35%, #424a3f 0, #293027 48%, #20251f 100%); }
.creative-empty span { width: 68px; height: 68px; margin-bottom: 23px; display: grid; place-items: center; border: 1px solid #879182; border-radius: 50%; color: #e2a07f; font: italic 400 24px var(--serif); }
.creative-empty strong { max-width: 250px; font: 400 28px/1.08 var(--serif); }
.creative-empty small { max-width: 260px; margin-top: 12px; color: #aeb6aa; font-size: 10px; line-height: 1.5; }
.creative-progress { width: min(100%, 400px); height: 3px; margin-top: 18px; overflow: hidden; background: #4c5449; }
.creative-progress span { width: 0; height: 100%; display: block; background: #e2a07f; transition: width .1s linear; }
.creative-status { min-height: 18px; margin: 17px 0 0; color: #bec5ba; text-align: center; font-size: 10px; }
.creative-actions { min-height: 44px; margin-top: 13px; display: flex; justify-content: center; gap: 9px; }
.creative-actions .primary-button, .creative-actions .secondary-button { min-height: 42px; padding: 0 18px; }

.ads-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 22px; align-items: start; }
.ad-builder form { padding: 25px; display: grid; gap: 24px; }
.admin-field { display: grid; gap: 9px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.budget-input { position: relative; }
.budget-input input { padding-right: 42px; font: 400 24px var(--serif); }
.budget-input > span { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); color: var(--ink); font-size: 16px; }
.platform-options { margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.platform-options legend { margin-bottom: 9px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.platform-options label { min-height: 72px; padding: 14px; display: flex; align-items: flex-start; gap: 10px; border: 1px solid #cbc7bd; cursor: pointer; }
.platform-options input { margin-top: 2px; accent-color: var(--accent); }
.manual-ads .platform-options { grid-template-columns: repeat(3, 1fr); }
.platform-options span, .platform-options small { display: block; }
.platform-options span { font-size: 12px; font-weight: 700; }
.platform-options small { margin-top: 5px; color: var(--muted); font-size: 9px; font-weight: 400; }
.ad-estimate { padding: 22px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 30px; color: var(--white); background: #30372e; }
.ad-estimate > div span, .ad-estimate > div small { display: block; color: #aeb6aa; font-size: 9px; }
.ad-estimate > div strong { margin: 12px 0 8px; display: block; font: 400 30px var(--serif); }
.ad-estimate dl { margin: 0; }
.ad-estimate dl div { padding: 6px 0; display: flex; justify-content: space-between; gap: 18px; font-size: 10px; }
.ad-estimate dt { color: #b8bfb4; }
.ad-estimate dd { margin: 0; font-weight: 700; }
.ad-estimate .estimate-total { margin-top: 7px; padding-top: 12px; border-top: 1px solid #596056; font-size: 12px; }
.ad-demo-warning { margin: -4px 0 0; padding: 12px 0; border-top: 1px solid #d7d2c8; border-bottom: 1px solid #d7d2c8; color: var(--muted); font-size: 10px; line-height: 1.5; }
.campaign-history { min-height: 460px; }
.campaign-row { padding: 20px 23px; border-bottom: 1px solid #e3e0d8; }
.campaign-row h3 { margin: 8px 0 5px; font: 400 21px var(--serif); }
.campaign-row p { margin: 0; color: var(--muted); font-size: 10px; }
.campaign-status { padding: 4px 6px; border: 1px solid #d3a18c; color: var(--accent); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.campaign-row dl { margin: 18px 0 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.campaign-row dl div { padding-top: 9px; border-top: 1px solid #e0ddd5; }
.campaign-row dt { margin-bottom: 5px; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.campaign-row dd { margin: 0; font-size: 11px; font-weight: 700; }
.campaign-row > small { color: var(--muted); font-size: 9px; }

.catalog-entry-grid { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(350px, .82fr); gap: 22px; align-items: start; }
.manual-product-form { padding: 24px; display: grid; gap: 22px; }
.manual-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 14px; }
.manual-product-grid .field-wide { grid-column: span 3; }
.manual-product-grid .admin-field small { color: #89877f; font-size: 8px; font-weight: 400; letter-spacing: 0; line-height: 1.45; text-transform: none; }
.manual-product-grid textarea { min-height: 86px; }
.product-image-field { min-height: 92px; padding: 15px 16px; border: 1px solid #cbc7bd; background: #f6f3ec; cursor: pointer; transition: border-color .18s ease, background .18s ease; }
.product-image-field:hover, .product-image-field:focus-within { border-color: var(--accent); background: #fbf4ef; }
.product-image-field input { min-height: auto; padding: 0; border: 0; background: transparent; font-size: 11px; }
.product-image-field input::file-selector-button { min-height: 34px; margin-right: 12px; padding: 0 13px; border: 1px solid var(--ink); color: var(--white); background: var(--ink); cursor: pointer; }
.product-image-field > span { color: var(--muted); font-size: 9px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.upload-panel { padding-bottom: 24px; }
.demo-label, .entry-method-label { padding: 5px 7px; color: var(--accent); border: 1px solid #d3a18c; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.drop-zone { min-height: 290px; margin: 24px; border: 1px dashed #a9a69f; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; cursor: pointer; transition: .18s ease; }
.drop-zone:hover, .drop-zone.dragging { border-color: var(--accent); background: #f7efe9; }
.drop-zone input { position: absolute; opacity: 0; pointer-events: none; }
.upload-icon { width: 48px; height: 48px; margin-bottom: 18px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; font-size: 20px; }
.drop-zone strong { font: 400 20px var(--serif); }
.drop-zone small { max-width: 380px; margin-top: 9px; color: var(--muted); line-height: 1.5; }
.template-note { margin: 0 24px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.template-note code { color: var(--ink); }
.template-note a { color: var(--accent-dark); font-weight: 700; text-underline-offset: 3px; }

.product-edit-dialog { width: min(760px, calc(100vw - 32px)); }
.product-edit-dialog form { padding: 30px; }
.product-edit-grid { margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.product-edit-grid .field-wide { grid-column: 1 / -1; }
.color-image-edit { margin: 22px 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.color-image-field { padding: 12px; display: grid; grid-template-columns: 52px 1fr; align-items: center; gap: 12px; border: 1px solid var(--line); }
.color-image-field img { width: 52px; height: 66px; object-fit: cover; }
.color-image-field span { display: grid; gap: 7px; font-size: 10px; }
.color-image-field input { width: 100%; font-size: 8px; }
.barcode-dialog { width: min(460px, calc(100vw - 32px)); padding: 28px; border: 0; color: var(--ink); background: #fff; box-shadow: 0 24px 80px rgba(20,22,18,.28); }
.barcode-dialog::backdrop { background: rgba(23,27,22,.62); backdrop-filter: blur(4px); }
.barcode-label { padding: 26px; border: 1px solid var(--ink); text-align: center; }
.barcode-label p { margin: 0 0 8px; font-size: 8px; letter-spacing: .15em; }
.barcode-label h2 { margin: 0 0 16px; font: 400 24px var(--serif); }
.barcode-label svg { width: 100%; height: 94px; display: block; }
.barcode-label strong { display: block; margin-top: 8px; font: 600 13px monospace; letter-spacing: .16em; }
.barcode-actions { margin-top: 16px; display: flex; justify-content: flex-end; gap: 8px; }
.preview-panel { margin-top: 22px; }
.preview-panel .panel-heading > span { color: var(--muted); font-size: 11px; }
.preview-table td { max-width: 210px; overflow: hidden; text-overflow: ellipsis; }
.preview-status { font-weight: 700; }
.preview-status.valid { color: #566b4e; }
.preview-status.invalid { color: #a54825; }
.preview-error { color: #8b3f24; white-space: normal; }
.preview-actions { padding: 20px; display: flex; align-items: center; justify-content: flex-end; gap: 10px; border-top: 1px solid #e3e0d8; }
.preview-actions > p { margin: 0 auto 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }

@media (max-width: 1100px) {
  .admin-sidebar { width: 220px; }
  .admin-main { margin-left: 220px; }
  .metric-row { grid-template-columns: repeat(2, 1fr); }
  .metric-row article:nth-child(2) { border-right: 0; }
  .metric-row article:nth-child(-n+2) { border-bottom: 1px solid #dedbd2; }
  .overview-grid, .catalog-entry-grid, .ads-grid, .creative-layout, .ticket-create-grid, .ticket-workspace-grid, .support-create-grid { grid-template-columns: 1fr; }
  .creative-form { border-right: 0; border-bottom: 1px solid #dedbd2; }
  .admin-product-row { grid-template-columns: 72px minmax(170px, 1fr) minmax(150px, .8fr) 118px 116px; align-items: start; }
  .admin-product-image { grid-column: 1; grid-row: 1 / span 2; }
  .product-price-editor { grid-column: 2; grid-row: 2; }
  .purchase-limit-editor { grid-column: 3; grid-row: 2; }
  .stock-editor { grid-column: 4; grid-row: 1; }
  .product-row-actions { grid-column: 5; grid-row: 1 / span 2; }
  .inventory-summary { grid-template-columns: 1fr 1fr; }
  .inventory-summary article:nth-child(2) { border-right: 0; }
  .inventory-summary article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .appointment-summary { grid-template-columns: 1fr; }
  .appointment-summary article { border-right: 0; border-bottom: 1px solid var(--line); }
  .appointment-summary article:last-child { border-bottom: 0; }
  .product-admin-toolbar { grid-template-columns: 1fr 1fr; }
  .product-admin-toolbar .admin-search { grid-column: 1 / -1; }
  .product-admin-toolbar .barcode-search-field { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .admin-sidebar { transform: translateX(-105%); transition: transform .2s ease; box-shadow: var(--shadow); }
  .admin-sidebar.open { transform: translateX(0); }
  .admin-main { margin-left: 0; }
  .mobile-menu { display: block; border: 0; background: transparent; font-size: 20px; }
  .admin-profile { display: none; }
  .admin-topbar { padding: 0 16px; }
  .admin-topbar-actions { gap: 8px; }
  .admin-session-info { padding-right: 8px; }
  .admin-session-info span { display: none; }
  .admin-session-info strong { max-width: 92px; font-size: 9px; }
  .admin-content { padding: 35px 16px 60px; }
  .admin-heading { grid-template-columns: 1fr; gap: 18px; }
  .admin-heading h1 { font-size: 48px; }
  .metric-row { grid-template-columns: 1fr 1fr; }
  .metric-row article { min-height: 130px; padding: 17px; }
  .metric-row strong { font-size: 29px; }
  .order-toolbar { flex-direction: column; }
  .status-filters { overflow-x: auto; }
  .status-filter { white-space: nowrap; }
  .admin-search { min-width: 0; width: 100%; }
  .order-audit-entry { grid-template-columns: 8px 1fr; padding: 17px; }
  .order-audit-entry .order-restore-button { grid-column: 2; justify-self: start; }
  .confirm-dialog-actions { display: grid; grid-template-columns: 1fr; }
  .confirm-dialog-actions button { width: 100%; }
  .order-detail-summary, .order-detail-contact { grid-template-columns: 1fr 1fr; }
  .order-detail-summary div:nth-child(2) { border-right: 0; }
  .order-detail-summary div:nth-child(-n+2) { border-bottom: 1px solid #dedbd2; }
  .order-detail-contact > div { min-height: 0; }
  .order-detail-contact > div:nth-child(2) { border-right: 0; }
  .admin-product-row { grid-template-columns: 62px minmax(0, 1fr) 96px; gap: 14px 12px; align-items: start; }
  .admin-product-image { width: 62px; height: 76px; grid-column: 1; grid-row: 1; }
  .catalog-editor { grid-column: 1 / 3; grid-row: 2; }
  .product-price-editor { grid-column: 1 / -1; grid-row: 3; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .product-price-editor > span { grid-column: 1 / -1; }
  .product-price-editor label { grid-template-columns: 1fr; }
  .product-price-editor input { width: 100%; }
  .purchase-limit-editor { grid-column: 1 / -1; grid-row: 4; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .purchase-limit-editor > span { grid-column: 1 / -1; }
  .purchase-limit-editor label { grid-template-columns: 1fr; }
  .purchase-limit-editor input { width: 100%; }
  .stock-editor { grid-column: 1 / 3; grid-row: 5; }
  .variant-stock-details { margin-left: -20px; margin-right: -20px; }
  .product-row-actions { grid-column: 3; grid-row: 1 / span 2; min-width: 96px; }
  .product-control-note { align-items: flex-start; flex-direction: column; gap: 5px; line-height: 1.5; }
  .product-admin-toolbar { grid-template-columns: 1fr; }
  .product-admin-toolbar .admin-search { grid-column: auto; }
  .product-admin-toolbar .barcode-search-field { grid-column: auto; }
  .ticket-form-row { grid-template-columns: 1fr; }
  .ticket-summary { grid-template-columns: 1fr 1fr; }
  .ticket-summary > span:nth-child(2) { border-right: 0; }
  .ticket-summary > span:nth-child(-n+2) { border-bottom: 1px solid #e3e0d8; }
  .ticket-sample { grid-template-columns: 1fr; }
  .support-detail-meta { grid-template-columns: 1fr 1fr; }
  .support-detail-meta div:nth-child(2) { border-right: 0; }
  .support-detail-meta div:nth-child(-n+2) { border-bottom: 1px solid #e3e0d8; }
  .support-detail-head { align-items: flex-start; flex-direction: column; }
  .sample-preview { height: 260px; }
  .conversation-heading { align-items: flex-start; flex-direction: column; }
  .result-card dl { grid-template-columns: 1fr 1fr; }
  .result-card dl div { border-bottom: 1px solid #e2ded6; }
  .result-card dl div:nth-child(2n) { border-right: 0; }
  .manual-ads-content { padding: 0 10px 10px; }
  .manual-limit { align-items: flex-start; flex-direction: column; gap: 9px; }
  .creative-form { padding: 18px; }
  .creative-form-row { grid-template-columns: 1fr; }
  .creative-preview-panel { min-height: 560px; padding: 20px 15px; }
  .creative-preview-shell, .creative-preview-shell canvas, .creative-preview-shell img, .creative-preview-shell video { max-height: 500px; }
  .creative-empty { min-height: 460px; padding: 25px; }
  .manual-product-form { padding: 18px; }
  .manual-product-grid { grid-template-columns: 1fr; }
  .manual-product-grid .field-wide { grid-column: auto; }
  .product-edit-grid, .color-image-edit { grid-template-columns: 1fr; }
  .product-edit-grid .field-wide { grid-column: auto; }
  .drop-zone { margin: 15px; min-height: 250px; padding: 30px 18px; }
  .preview-actions { align-items: stretch; flex-direction: column; }
  .preview-actions > p { margin: 0 0 8px; }
  .preview-actions button { width: 100%; }
  .platform-options { grid-template-columns: 1fr; }
  .platform-options label { min-height: 58px; }
  .ad-estimate { grid-template-columns: 1fr; gap: 20px; }
}

@media print {
  body > *:not(#barcode-dialog) { display: none !important; }
  #barcode-dialog[open] { width: 90mm; margin: 0; padding: 0; position: static; box-shadow: none; }
  #barcode-dialog .barcode-actions { display: none; }
  #barcode-dialog .barcode-label { border: 1px solid #000; }
}
body.admin-auth-pending { visibility: hidden; }
