:root {
  --ink: #20202a;
  --muted: #707080;
  --surface: #ffffff;
  --canvas: #f6f5f8;
  --line: #e7e4eb;
  --brand: #ff285d;
  --brand-dark: #d91245;
  --brand-soft: #fff0f4;
  --shadow: 0 18px 48px rgba(42, 32, 55, .08);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { color-scheme: light; }
body { margin: 0; min-height: 100vh; background: var(--canvas); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }

.topbar { height: 76px; padding: 0 clamp(20px, 5vw, 76px); display: flex; align-items: center; justify-content: space-between; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 10; backdrop-filter: blur(14px); }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; font-weight: 800; font-size: 20px; letter-spacing: -.5px; }
.brand-mark { width: 34px; height: 34px; display: grid; place-items: center; color: white; background: var(--brand); border-radius: 11px 11px 4px 11px; }
.admin-navigation { display: flex; align-items: center; gap: 6px; }
.admin-navigation a { padding: 10px 12px; border-radius: 10px; color: #686370; text-decoration: none; font-size: 13px; font-weight: 750; }
.admin-navigation a:hover, .admin-navigation a.is-current { color: var(--brand-dark); background: #fff0f4; }
.admin-navigation .admin-navigation-create { margin-left: 6px; color: #fff; background: var(--brand); }
.admin-navigation .admin-navigation-create:hover { color: #fff; background: var(--brand-dark); }
.topbar-user { display: flex; align-items: center; gap: 18px; color: var(--muted); font-size: 14px; }
.link-button { border: 0; padding: 0; color: var(--brand-dark); background: none; cursor: pointer; font-weight: 700; }

/* Administração: navegação global lateral */
.admin-app-shell { min-height: 100vh; }
.admin-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 70; display: flex; width: 264px; flex-direction: column; overflow: hidden; border-right: 1px solid var(--line); background: #fff; box-shadow: 18px 0 44px rgba(27,25,36,.04); }
.admin-sidebar-header { display: flex; min-height: 82px; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.admin-sidebar-brand, .admin-mobile-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); font-weight: 900; text-decoration: none; }
.admin-sidebar-brand .brand-mark, .admin-mobile-brand .brand-mark { flex: 0 0 auto; }
.admin-sidebar svg, .admin-mobile-header svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.admin-sidebar-close svg, .admin-menu-toggle svg { width: 22px; height: 22px; }
.admin-sidebar-close { display: none; width: 42px; height: 42px; place-items: center; border: 0; border-radius: 14px; background: var(--surface); color: var(--ink); cursor: pointer; }
.admin-sidebar-content { flex: 1; overflow-y: auto; padding: 26px 18px 20px; }
.admin-sidebar-eyebrow { margin: 0 12px 13px; color: var(--brand); font-size: .76rem; font-weight: 900; letter-spacing: .16em; }
.admin-sidebar-nav { display: grid; gap: 7px; }
.admin-sidebar-link { display: flex; min-height: 50px; align-items: center; gap: 13px; padding: 11px 14px; border: 1px solid transparent; border-radius: 15px; color: #625e6c; font-weight: 800; text-decoration: none; transition: color 160ms ease, background 160ms ease, border-color 160ms ease, transform 160ms ease; }
.admin-sidebar-link svg { width: 21px; height: 21px; flex: 0 0 auto; }
.admin-sidebar-link:hover { border-color: #ffd7e1; background: #fff8fa; color: var(--brand); transform: translateX(2px); }
.admin-sidebar-link.is-active, .admin-sidebar-link[aria-current="page"] { border-color: #ffdce5; background: var(--brand-soft); color: var(--brand); }
.admin-sidebar-create { display: flex; min-height: 52px; align-items: center; justify-content: center; margin-top: 20px; padding: 12px 16px; border-radius: 15px; background: var(--brand); box-shadow: 0 12px 25px rgba(255,40,91,.2); color: #fff; font-weight: 900; text-decoration: none; transition: transform 160ms ease, box-shadow 160ms ease; }
.admin-sidebar-create:hover { transform: translateY(-1px); box-shadow: 0 15px 30px rgba(255,40,91,.26); }
.admin-sidebar-footer { display: grid; gap: 12px; padding: 17px 18px 20px; border-top: 1px solid var(--line); background: #fff; }
.admin-sidebar-footer form { margin: 0; }
.admin-sidebar-identity { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 11px; align-items: center; }
.admin-sidebar-avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 14px; background: var(--ink); color: #fff; font-size: .78rem; font-weight: 900; }
.admin-sidebar-user { overflow: hidden; }
.admin-sidebar-user strong, .admin-sidebar-user span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-sidebar-user strong { color: var(--ink); font-size: .91rem; }
.admin-sidebar-user span { margin-top: 2px; color: var(--muted); font-size: .78rem; }
.admin-sidebar-logout { display: flex; width: 100%; min-height: 42px; align-items: center; justify-content: center; gap: 8px; border: 1px solid #ffd3dd; border-radius: 13px; background: #fff; color: var(--brand-dark); font-weight: 900; text-decoration: none; cursor: pointer; }
.admin-sidebar-logout svg { width: 18px; height: 18px; }
.admin-sidebar-logout:hover { background: var(--brand-soft); }
.admin-main-column { display: flex; min-height: 100vh; margin-left: 264px; flex-direction: column; }
.admin-mobile-header, .admin-sidebar-overlay { display: none; }
.has-admin-sidebar .page-shell { flex: 1; }
.has-admin-sidebar .store-sidebar, .has-admin-sidebar .transaction-filters { top: 24px; }
.has-admin-sidebar .transaction-filters { max-height: calc(100vh - 48px); }
.admin-sidebar a:focus-visible, .admin-sidebar button:focus-visible, .admin-mobile-header button:focus-visible { outline: 3px solid rgba(255,40,91,.28); outline-offset: 3px; }

.page-shell { width: min(1180px, calc(100% - 40px)); min-height: calc(100vh - 140px); margin: 0 auto; padding: 56px 0 72px; }
.footer { padding: 24px; text-align: center; color: #92909b; font-size: 13px; }
.eyebrow { color: var(--brand-dark); font-weight: 800; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
h1, h2 { margin: 0; letter-spacing: -.035em; }
h1 { margin-top: 8px; font-size: clamp(34px, 5vw, 56px); line-height: 1.04; }
h2 { font-size: 20px; }
.muted { color: var(--muted); line-height: 1.65; }

.auth-card { width: min(470px, 100%); margin: 5vh auto; padding: clamp(28px, 5vw, 46px); background: var(--surface); border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--shadow); }
.auth-card h1 { font-size: 38px; }
.stack-form { display: grid; gap: 18px; margin: 28px 0 20px; }
label { display: grid; gap: 8px; font-weight: 700; font-size: 14px; }
input, select, textarea { width: 100%; padding: 14px 16px; border: 1px solid #d9d5df; border-radius: 12px; background: #fff; color: var(--ink); outline: none; }
textarea { resize: vertical; line-height: 1.55; }
input:focus, select:focus, textarea:focus { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(255,40,93,.1); }
input[type="radio"], input[type="checkbox"] { width: auto; accent-color: var(--brand); }
.primary-button, .secondary-button, .card-button { border: 0; border-radius: 12px; background: var(--brand); color: #fff; padding: 14px 20px; font-weight: 800; text-align: center; text-decoration: none; cursor: pointer; transition: transform .15s ease, background .15s ease; }
.primary-button:hover, .secondary-button:hover, .card-button:hover { background: var(--brand-dark); transform: translateY(-1px); }
.secondary-button { color: var(--brand-dark); background: #fff0f4; border: 1px solid #ffc3d2; }
.secondary-button:hover { color: #fff; }
.return-admin-button { border: 0; border-radius: 10px; padding: 10px 14px; color: #fff; background: #272432; cursor: pointer; font-weight: 800; }
.button-link { display: inline-block; margin-top: 12px; }
.text-link, .back-link { color: var(--brand-dark); font-weight: 750; text-underline-offset: 3px; }
.field-help, .dev-note { margin: -10px 0 0; color: var(--muted); font-size: 13px; }
.alert { margin: 20px 0; padding: 13px 15px; border-radius: 12px; line-height: 1.45; }
.alert-error { color: #8b1d35; background: #ffedf1; }
.alert-success { color: #176343; background: #eaf8f1; }

.hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 38px; }
.hero p { margin-bottom: 0; }
.count-pill { min-width: 130px; padding: 18px 22px; border-radius: 18px; background: #272432; color: white; display: grid; }
.count-pill strong { font-size: 30px; }
.count-pill span { color: #bbb7c5; font-size: 13px; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.product-card { min-height: 390px; padding: 20px; display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 10px 28px rgba(42,32,55,.045); }
.product-cover { width: 100%; height: auto; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 16px; background: #f0edf3; }
.product-cover-image { width: 100%; height: 100%; display: block; object-fit: contain; object-position: center; }
.product-cover-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: white; background: linear-gradient(145deg, var(--card-accent, var(--brand)), #272432); }
.product-cover-placeholder span { width: 82px; height: 82px; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.7); border-radius: 24px; background: rgba(255,255,255,.13); font-size: 42px; font-weight: 900; box-shadow: 0 14px 35px rgba(20,15,30,.18); }
.product-title { flex: 1; margin: 20px 4px 18px; font-size: 23px; line-height: 1.2; }
.card-button { display: flex; justify-content: space-between; align-items: center; background: #272432; }
.accent-0 { --card-accent: #ff285d; } .accent-1 { --card-accent: #6757d9; } .accent-2 { --card-accent: #078b82; }
.accent-3 { --card-accent: #e07b20; } .accent-4 { --card-accent: #2374c8; } .accent-5 { --card-accent: #b2408d; }
.empty-state { padding: 70px 28px; text-align: center; border: 1px dashed #cbc6d1; border-radius: 22px; color: var(--muted); }

.admin-hero { align-items: flex-start; }
.hero-actions { display: flex; align-items: center; gap: 10px; }
.hero-actions .secondary-button { text-decoration: none; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 22px; }
.stat-card { padding: 22px; display: grid; gap: 8px; background: white; border: 1px solid var(--line); border-radius: 18px; }
.stat-card span { color: var(--muted); font-size: 13px; }
.stat-card strong { font-size: 28px; }
.panel { margin-top: 20px; padding: 26px; background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 9px 26px rgba(42,32,55,.035); }
.panel > h2 { margin-bottom: 20px; }
.search-form > label { margin-bottom: 10px; }
.search-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; }
.table-wrap { overflow-x: auto; margin-top: 22px; }
.customer-list-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.customer-list-heading h2 { margin: 4px 0 0; }
.customer-list-heading .muted {
  max-width: 480px;
  margin: 0;
  text-align: right;
}
.customer-table { margin-top: 14px; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th { padding: 12px 14px; color: var(--muted); text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; border-bottom: 1px solid var(--line); }
td { padding: 15px 14px; border-bottom: 1px solid #efedf2; }
tbody tr:last-child td { border-bottom: 0; }
.status { display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; color: #176343; background: #eaf8f1; font-size: 12px; font-weight: 800; }
.status-blocked { color: #8b1d35; background: #ffedf1; }
.status-archived { color: #685f70; background: #efedf2; }
.status-deleted { color: #655f69; background: #e9e7eb; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.empty-inline { margin-top: 20px; color: var(--muted); }
.back-link { display: inline-block; margin-bottom: 26px; }
.compact-hero h1 { font-size: 42px; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.detail-grid .panel { margin-top: 0; }
.detail-list { display: grid; gap: 15px; margin: 0; }
.detail-list div { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 14px; border-bottom: 1px solid #efedf2; }
.detail-list div:last-child { border: 0; padding-bottom: 0; }
.detail-list dt { color: var(--muted); }
.detail-list dd { margin: 0; text-align: right; font-weight: 750; }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.panel-heading h2 { margin-top: 5px; }
.panel-heading p { max-width: 480px; margin: 0; text-align: right; }
.admin-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.admin-action-card { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fbfafc; }
.admin-action-card h3 { margin: 0; font-size: 17px; }
.admin-action-card p { min-height: 48px; margin: 9px 0 18px; font-size: 14px; }
.admin-action-wide { grid-column: 1 / -1; }
.password-admin-form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 14px; }
.copy-field { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.copy-field input { font-size: 13px; color: #55505e; background: #fff; }

.product-form-hero { margin-bottom: 24px; }
.product-form { display: grid; gap: 20px; }
.product-form .panel { margin-top: 0; }
.form-section { display: grid; grid-template-columns: 48px 1fr; gap: 20px; }
.section-number { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: white; background: #272432; font-size: 17px; font-weight: 900; }
.form-section-content { min-width: 0; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.full-field { grid-column: 1 / -1; }
.optional { color: var(--muted); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.delivery-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.choice-card { display: flex; align-items: center; grid-template: none; gap: 14px; padding: 18px; border: 1px solid #d9d5df; border-radius: 14px; cursor: pointer; }
.choice-card:has(input:checked) { border-color: var(--brand); background: #fff5f7; box-shadow: 0 0 0 3px rgba(255,40,93,.08); }
.choice-card span { display: grid; gap: 4px; }
.choice-card small { color: var(--muted); font-weight: 500; }
.delivery-panel { padding: 20px; border-radius: 15px; background: #f9f8fa; }
.file-drop { min-height: 160px; display: grid; place-items: center; align-content: center; gap: 8px; padding: 24px; color: var(--ink); text-align: center; border: 2px dashed #d7d1dc; border-radius: 15px; background: white; cursor: pointer; }
.file-drop.is-dragging { border-color: var(--brand); background: #fff5f7; box-shadow: 0 0 0 4px rgba(255,40,93,.08); }
.file-drop span { color: var(--muted); font-size: 13px; font-weight: 500; }
.file-drop input { position: absolute; width: 1px; height: 1px; padding: 0; opacity: 0; pointer-events: none; }
.compact-drop { min-height: 100px; }
.delivery-panel .field-help { margin: 10px 0 0; }
.delivery-file-feedback { min-height: 20px; margin-top: 9px; color: #a91f42; font-size: 13px; font-weight: 700; }
.product-image-feedback { min-height: 0; color: #a91f42; font-size: 13px; font-weight: 700; }
.product-image-feedback:not(:empty) { min-height: 20px; }
.product-image-selection { display: grid; gap: 10px; }
.product-image-item { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #fbfafc; }
.product-image-preview { width: 88px; height: 66px; object-fit: cover; border-radius: 10px; background: #ece9ef; }
.delivery-file-list { display: grid; gap: 10px; }
.delivery-file-item, .customer-file-item { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.delivery-file-type { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: #272432; font-size: 11px; font-weight: 900; letter-spacing: .04em; }
.delivery-file-details { min-width: 0; display: grid; gap: 4px; }
.delivery-file-details strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.delivery-file-details small { color: var(--muted); }
.delivery-file-remove { width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 11px; color: #a91f42; background: #ffedf1; cursor: pointer; }
.delivery-file-remove:hover { color: white; background: #a91f42; }
.delivery-file-remove svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.delivery-file-summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 9px; color: var(--muted); font-size: 13px; }
.delivery-file-summary .field-help { margin: 0; }
.product-download-panel > h2 { margin-bottom: 18px; }
.customer-file-list { display: grid; gap: 12px; }
.customer-file-item { grid-template-columns: 52px minmax(0, 1fr) auto; }
.check-row { display: flex; align-items: center; grid-template: none; gap: 11px; margin-top: 18px; }
.check-row span { display: flex; align-items: center; gap: 9px; }
.check-row small { color: var(--muted); }
.expiration-row { display: grid; grid-template-columns: auto 120px 180px; align-items: center; gap: 12px; margin-top: 14px; }
.price-list { display: grid; gap: 12px; }
.price-row { display: grid; grid-template-columns: minmax(160px, .7fr) minmax(220px, 1.3fr) auto 42px; align-items: end; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fbfafc; }
.favorite-price { display: flex; align-items: center; grid-template: none; gap: 8px; min-height: 49px; padding: 0 5px; white-space: nowrap; cursor: pointer; }
.favorite-price span { color: #8b7d10; }
.remove-price { width: 42px; height: 49px; border: 0; border-radius: 10px; color: #8b1d35; background: #ffedf1; font-size: 24px; cursor: pointer; }
.add-price-button { margin-top: 14px; }
.form-submit-bar { display: flex; align-items: center; justify-content: flex-end; gap: 24px; padding: 18px 0 8px; }
.product-list-hero { padding-bottom: 14px; }
.product-search-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 22px; }
.product-search-form { position: relative; width: min(460px, 100%); }
.product-search-form input[type="search"] { width: 100%; padding-left: 48px; padding-right: 48px; }
.product-search-form input[type="search"]::-webkit-search-cancel-button { display: none; }
.product-search-icon { position: absolute; z-index: 1; top: 50%; left: 18px; width: 15px; height: 15px; border: 2px solid #77717f; border-radius: 50%; transform: translateY(-58%); pointer-events: none; }
.product-search-icon::after { content: ''; position: absolute; right: -6px; bottom: -4px; width: 7px; height: 2px; border-radius: 2px; background: #77717f; transform: rotate(45deg); }
.product-search-clear { position: absolute; z-index: 2; top: 50%; right: 9px; width: 36px; height: 36px; border: 0; border-radius: 50%; color: #5b5562; background: transparent; transform: translateY(-50%); cursor: pointer; font-size: 25px; line-height: 1; }
.product-search-clear:hover, .product-search-clear:focus-visible { color: var(--brand-dark); background: #fff0f4; }
.product-list-panel { position: relative; min-height: 190px; }
.product-results { position: relative; min-height: 110px; transition: opacity .16s ease; }
.product-results.is-loading { min-height: 180px; opacity: .48; pointer-events: none; }
.product-results.is-loading::after { content: 'Pesquisando produtos…'; position: absolute; z-index: 9; top: 70px; left: 50%; padding: 12px 18px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: white; box-shadow: 0 10px 30px rgba(35,28,43,.12); transform: translate(-50%, -50%); font-weight: 800; white-space: nowrap; }
.product-search-empty { padding: 58px 20px; }
.product-admin-table { margin-top: 0; }
@media (min-width: 901px) { .product-admin-table { overflow: visible; } }
.product-admin-table table { min-width: 940px; }
.actions-heading { width: 58px; }
.product-actions-cell { width: 58px; padding-right: 4px; overflow: visible; }
.row-actions { position: relative; }
.row-actions summary { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; gap: 3px; border-radius: 11px; cursor: pointer; list-style: none; }
.row-actions summary::-webkit-details-marker { display: none; }
.row-actions summary:hover, .row-actions[open] summary { background: #f0edf3; }
.row-actions summary span { width: 4px; height: 4px; border-radius: 50%; background: #4f4a57; }
.row-actions-menu { position: absolute; z-index: 8; top: calc(100% + 6px); right: 0; width: 170px; padding: 7px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: 0 16px 38px rgba(42,32,55,.16); }
.row-actions-menu a, .row-actions-menu button { width: 100%; display: block; padding: 10px 12px; color: var(--ink); text-align: left; text-decoration: none; border: 0; border-radius: 9px; background: transparent; cursor: pointer; font-weight: 700; }
.row-actions-menu a:hover, .row-actions-menu button:hover { background: #f6f4f7; }
.row-actions-menu .danger-action { color: #a91f42; }
.row-actions-menu .danger-action:hover { background: #ffedf1; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 28px; }
.pagination a { min-width: 46px; height: 46px; display: grid; place-items: center; padding: 0 14px; border: 1px solid var(--line); border-radius: 12px; color: #17172a; background: white; text-decoration: none; font-weight: 800; }
.pagination .pagination-wide { min-width: 104px; }
.pagination a:hover { border-color: #cfc9d5; background: #f6f4f7; }
.pagination a.is-current { border-color: #e4e1e8; background: #e9e7ec; }
.pagination a.is-disabled { color: #aaa5b0; pointer-events: none; background: #f7f6f8; }
.pagination-ellipsis { color: var(--muted); }
.pagination-summary { margin: 13px 0 0; color: var(--muted); text-align: center; font-size: 13px; }
.entitlement-heading { align-items: end; }
.grant-product-form { display: grid; grid-template-columns: minmax(280px, 1fr) auto; align-items: end; gap: 10px; width: min(580px, 100%); }
.grant-product-form label { min-width: 0; }
.client-header-actions { display: flex; align-items: center; gap: 10px; }
.client-header-actions form { margin: 0; }
.icon-action-button { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 12px; color: #302c35; background: white; text-decoration: none; cursor: pointer; font-size: 22px; font-weight: 900; }
.icon-action-button:hover { color: white; border-color: #272432; background: #272432; }
.delivery-history-table { margin-top: 0; }
.delivery-history-table table { min-width: 900px; }
.delivery-origin { display: inline-flex; padding: 6px 9px; border-radius: 8px; color: #6d2840; background: #fff0f4; font-size: 11px; font-weight: 900; letter-spacing: .04em; }
.table-delete-button { width: 38px; height: 38px; border: 0; border-radius: 10px; color: #9d2441; background: #ffedf1; cursor: pointer; font-size: 19px; }
.table-delete-button:hover { color: white; background: #a91f42; }
.table-delete-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.delivery-dialog { width: min(650px, calc(100% - 28px)); max-height: min(760px, calc(100vh - 40px)); padding: 0; border: 0; border-radius: 22px; color: var(--ink); background: white; box-shadow: 0 28px 80px rgba(30,23,38,.28); }
.delivery-dialog::backdrop { background: rgba(31,27,38,.54); backdrop-filter: blur(3px); }
.delivery-dialog-form { display: grid; gap: 20px; padding: 28px; }
.delivery-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.delivery-dialog-heading h2 { margin-top: 5px; font-size: 28px; }
.dialog-close { width: 40px; height: 40px; border: 0; border-radius: 11px; color: #665f6d; background: #f1eff3; cursor: pointer; font-size: 24px; }
.product-picker { max-height: 360px; display: grid; gap: 8px; overflow-y: auto; padding: 2px; }
.product-picker-option { display: flex; align-items: center; grid-template: none; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 13px; cursor: pointer; }
.product-picker-option:has(input:checked) { border-color: var(--brand); background: #fff4f7; box-shadow: 0 0 0 3px rgba(255,40,93,.08); }
.product-picker-option span { min-width: 0; display: grid; gap: 4px; }
.product-picker-option strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-picker-option small { color: var(--muted); }
.product-picker-empty { padding: 24px; color: var(--muted); text-align: center; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 4px; }
.danger-zone { display: flex; align-items: center; justify-content: space-between; gap: 28px; border-color: #f0cad3; }
.danger-zone p { max-width: 720px; margin-bottom: 0; }
.danger-button { padding: 13px 18px; border: 1px solid #e8aebb; border-radius: 12px; color: #941f3a; background: #fff0f4; cursor: pointer; font-weight: 850; white-space: nowrap; }
.danger-button:hover { color: white; background: #a91f42; }
.danger-button:disabled, button:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.user-form-hero { margin-bottom: 24px; }
.user-form { display: grid; gap: 20px; }
.form-security-note { margin: 18px 0 0; color: var(--muted); text-align: center; font-size: 13px; }

.administrators-panel { padding: 0; overflow: visible; }
.administrators-toolbar { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 20px 26px; border-bottom: 1px solid var(--line); }
.compact-search-form { width: min(590px, 100%); display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.administrators-table { margin-top: 0; overflow: visible; }
.administrators-table table { min-width: 840px; }
.administrator-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 6px; color: var(--muted); font-size: 12px; }
.administrator-meta .status { padding: 4px 8px; font-size: 10px; }
.administrator-form { display: grid; gap: 20px; }
.administrator-form .panel { margin-top: 0; }
.access-level-options { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.access-level-card { display: flex; align-items: center; grid-template: none; gap: 14px; padding: 20px; border: 1px solid #d9d5df; border-radius: 15px; cursor: pointer; }
.access-level-card:has(input:checked) { border-color: var(--brand); background: #fff5f7; box-shadow: 0 0 0 3px rgba(255,40,93,.08); }
.access-level-card span { display: grid; gap: 5px; }
.access-level-card small { color: var(--muted); font-weight: 500; line-height: 1.4; }
.permission-groups { display: grid; gap: 14px; }
.permission-groups .panel { margin-top: 0; }
.permission-group-card { padding: 0; overflow: hidden; }
.permission-group-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.permission-group-heading h2 { margin: 0; }
.permission-group-heading p { margin: 5px 0 0; font-size: 13px; }
.permission-group-toggle { padding: 9px 12px; border: 0; border-radius: 9px; color: var(--brand-dark); background: #fff0f4; cursor: pointer; font-size: 12px; font-weight: 800; white-space: nowrap; }
.permission-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.permission-option { min-height: 72px; display: flex; align-items: center; justify-content: space-between; grid-template: none; gap: 18px; padding: 16px 24px; border-right: 1px solid #efedf2; border-bottom: 1px solid #efedf2; cursor: pointer; }
.permission-option:nth-child(2n) { border-right: 0; }
.permission-option input { width: 42px; height: 23px; appearance: none; position: relative; flex: 0 0 auto; border: 0; border-radius: 999px; background: #dedbe2; cursor: pointer; transition: background .15s ease; }
.permission-option input::after { content: ''; width: 17px; height: 17px; position: absolute; top: 3px; left: 3px; border-radius: 50%; background: white; box-shadow: 0 2px 6px rgba(33,28,39,.22); transition: transform .15s ease; }
.permission-option input:checked { background: var(--brand); }
.permission-option input:checked::after { transform: translateX(19px); }
.permission-option input:disabled { cursor: not-allowed; opacity: .55; }
.permission-option.is-unavailable { color: #aaa5ae; cursor: not-allowed; }
.owner-protection-note { padding: 16px 18px; border: 1px solid #d8d0f3; border-radius: 13px; color: #4d407e; background: #f3f0ff; font-weight: 700; }
.administrator-detail-hero { align-items: center; }
.administrator-header-actions { display: flex; align-items: center; gap: 12px; }
.administrator-header-actions form { margin: 0; }
.administrator-tabs { display: flex; gap: 6px; margin: -12px 0 28px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.administrator-tabs a { padding: 10px 14px; border-radius: 10px; color: var(--muted); text-decoration: none; font-weight: 800; }
.administrator-tabs a:hover { color: var(--brand-dark); background: #fff0f4; }
.administrator-security-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 16px; }
.administrator-security-grid .admin-action-card { margin: 0; }
.compact-password-form { grid-template-columns: 1fr 1fr; margin-top: 14px; }
.compact-password-form button { grid-column: 1 / -1; }
.access-created-panel { max-width: 850px; }

.store-hero { margin-bottom: 24px; }
.store-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); align-items: start; gap: 20px; }
.store-sidebar { position: sticky; top: 96px; padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 9px 26px rgba(42,32,55,.035); }
.store-sidebar > strong { display: block; margin-bottom: 14px; font-size: 17px; }
.store-sidebar nav { display: grid; gap: 6px; }
.store-sidebar a { padding: 11px 13px; border-radius: 10px; color: var(--muted); text-decoration: none; font-weight: 800; }
.store-sidebar a:hover, .store-sidebar a.is-current { color: var(--brand-dark); background: #fff0f4; }
.store-plans-panel { min-width: 0; margin-top: 0; padding: 0; overflow: hidden; }
.store-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 26px; border-bottom: 1px solid var(--line); }
.store-panel-heading h2 { margin-top: 5px; font-size: 26px; }
.store-panel-heading p { margin: 6px 0 0; }
.store-alert { margin: 18px 26px 0; }
.store-plans-table { margin: 0; }
.store-plans-table table { min-width: 820px; }
.store-plans-table th, .store-plans-table td { padding-left: 22px; padding-right: 22px; }
.store-plan-products-count { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; font-weight: 500; }
.copy-checkout-button { padding: 9px 12px; border: 1px solid #d9d5df; border-radius: 10px; color: #46414d; background: white; cursor: pointer; font-weight: 750; }
.copy-checkout-button:hover { color: var(--brand-dark); border-color: #ffc3d2; background: #fff5f7; }
.status-switch { position: relative; display: inline-flex; align-items: center; grid-template: none; gap: 9px; cursor: pointer; }
.status-switch input { position: absolute; top: 50%; left: 21px; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; transform: translate(-50%, -50%); }
.status-switch span { width: 43px; height: 24px; position: relative; border-radius: 999px; background: #d8d4dc; transition: background .15s ease; }
.status-switch span::after { content: ''; width: 18px; height: 18px; position: absolute; top: 3px; left: 3px; border-radius: 50%; background: white; box-shadow: 0 2px 6px rgba(30,25,38,.2); transition: transform .15s ease; }
.status-switch input:checked + span { background: #27bd91; }
.status-switch input:checked + span::after { transform: translateX(19px); }
.status-switch input:focus-visible + span { box-shadow: 0 0 0 4px rgba(255,40,93,.14); }
.status-switch input:disabled + span { opacity: .55; cursor: not-allowed; }
.status-switch em { min-width: 46px; color: var(--muted); font-size: 12px; font-style: normal; font-weight: 750; }
.store-plan-actions-heading { width: 120px; }
.store-plan-actions { display: flex; align-items: center; gap: 8px; }
.store-plan-actions .icon-action-button { width: 38px; height: 38px; }
.store-plan-actions svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.danger-icon-button { color: #9d2441; background: #ffedf1; }
.danger-icon-button:hover { border-color: #a91f42; background: #a91f42; }

.plan-dialog { width: min(1080px, calc(100vw - 48px)); max-width: none; height: min(820px, calc(100dvh - 48px)); max-height: calc(100dvh - 48px); padding: 0; overflow: hidden; border: 0; border-radius: 22px; color: var(--ink); background: white; box-shadow: 0 28px 90px rgba(30,23,38,.3); }
.plan-dialog[open] { display: flex; flex-direction: column; }
.plan-dialog::backdrop, .discard-dialog::backdrop { background: rgba(31,27,38,.58); backdrop-filter: blur(3px); }
.plan-dialog-form { width: 100%; height: 100%; min-height: 0; max-height: 100%; flex: 1 1 auto; display: flex; flex-direction: column; overflow: hidden; }
.plan-dialog-header { flex: 0 0 auto; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 26px 16px; border-bottom: 1px solid var(--line); background: #fff; }
.plan-dialog-header > div { min-width: 0; }
.plan-dialog-header h2 { margin: 4px 0 0; font-size: 27px; line-height: 1.12; }
.plan-step-indicator { flex: 0 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 14px 26px; border-bottom: 1px solid var(--line); background: #fbfafc; }
.plan-step-indicator span { min-width: 0; display: flex; align-items: center; gap: 9px; color: #98939e; font-size: 13px; font-weight: 800; }
.plan-step-indicator b { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 9px; color: #77717d; background: #ebe8ee; }
.plan-step-indicator span.is-current { color: var(--brand-dark); }
.plan-step-indicator span.is-current b { color: white; background: var(--brand); }
.plan-dialog-content { flex: 1 1 auto; min-width: 0; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: 22px 26px; scrollbar-gutter: stable; }
.plan-dialog-content section { min-width: 0; display: grid; gap: 16px; }
.plan-dialog-content section > *, .plan-dialog-content label, .plan-dialog-content input, .plan-dialog-content textarea { min-width: 0; }
.plan-dialog-content h3 { margin: 0; font-size: 20px; }
.plan-dialog-footer { flex: 0 0 auto; display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 15px 26px; border-top: 1px solid var(--line); background: white; }
.plan-dialog-footer-spacer { flex: 1; }
.product-combobox { position: relative; }
.product-combobox > label { margin-bottom: 9px; }
.product-combobox-options { max-height: 270px; position: absolute; z-index: 4; top: calc(100% + 6px); right: 0; left: 0; overflow-y: auto; padding: 7px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: 0 18px 44px rgba(35,28,43,.18); }
.product-combobox-option, .new-product-option { width: 100%; display: grid; gap: 4px; padding: 12px 14px; text-align: left; border: 0; border-radius: 9px; background: transparent; cursor: pointer; }
.product-combobox-option:hover, .new-product-option:hover { background: #f7f5f8; }
.product-combobox-option small { color: var(--muted); }
.new-product-option { color: var(--brand-dark); font-weight: 850; }
.selected-plan-products { display: grid; gap: 9px; }
.selected-plan-product { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 14px; background: #fbfafc; }
.selected-plan-product img, .selected-product-placeholder { width: 52px; height: 52px; display: grid; place-items: center; object-fit: cover; border-radius: 10px; color: white; background: linear-gradient(145deg, var(--brand), #272432); font-size: 20px; font-weight: 900; }
.selected-plan-product > span:not(.selected-product-placeholder) { min-width: 0; display: grid; gap: 4px; }
.selected-plan-product strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.selected-plan-product small { color: var(--muted); }
.plan-field-error { min-height: 18px; margin-top: -12px; color: #a91f42; font-size: 13px; font-weight: 700; }
.discard-dialog { width: min(520px, calc(100% - 28px)); padding: 0; border: 0; border-radius: 20px; color: var(--ink); background: white; box-shadow: 0 28px 80px rgba(30,23,38,.28); }
.discard-dialog-content { padding: 28px; }
.discard-dialog-content h2 { margin-top: 8px; }
.discard-dialog-content .dialog-actions { margin-top: 24px; }

@media (max-width: 900px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .price-row { grid-template-columns: 1fr 1fr; }
  .admin-navigation { order: 3; width: 100%; justify-content: center; }
  .topbar:has(.admin-navigation) { height: auto; min-height: 76px; flex-wrap: wrap; padding-top: 10px; padding-bottom: 10px; }
  .permission-options { grid-template-columns: 1fr; }
  .permission-option { border-right: 0; }
  .store-layout { grid-template-columns: 1fr; }
  .store-sidebar { position: static; }
  .store-sidebar nav { display: flex; overflow-x: auto; }
}
@media (max-width: 620px) {
  .customer-list-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .customer-list-heading .muted { text-align: left; }
  .topbar { height: 66px; padding: 0 18px; }
  .topbar-user > span { display: none; }
  .admin-navigation { overflow-x: auto; justify-content: flex-start; }
  .admin-navigation a { white-space: nowrap; }
  .admin-navigation .admin-navigation-create { margin-left: 0; }
  .store-panel-heading { align-items: stretch; flex-direction: column; }
  .store-panel-heading .primary-button { width: 100%; }
  .plan-dialog-header, .plan-dialog-content, .plan-dialog-footer { padding-left: 18px; padding-right: 18px; }
  .plan-step-indicator { padding-left: 18px; padding-right: 18px; }
  .plan-dialog-footer { flex-wrap: wrap; }
  .plan-dialog-footer-spacer { display: none; }
.plan-dialog-footer button { flex: 1 1 140px; }
  .page-shell { width: min(100% - 28px, 1180px); padding-top: 36px; }
  .hero { align-items: flex-start; flex-direction: column; }
  .product-search-toolbar { align-items: stretch; flex-direction: column; }
  .product-search-form, .product-search-toolbar .primary-button { width: 100%; }
  .product-search-toolbar .primary-button { text-align: center; }
  .count-pill { width: 100%; }
  .product-grid, .detail-grid, .stats-grid { grid-template-columns: 1fr; }
  .admin-action-grid, .password-admin-form { grid-template-columns: 1fr; }
  .admin-action-wide { grid-column: auto; }
  .copy-field { grid-template-columns: 1fr; }
  .panel-heading { flex-direction: column; }
  .panel-heading p { text-align: left; }
  .product-card { min-height: 300px; }
  .search-row { grid-template-columns: 1fr; }
  .form-section { grid-template-columns: 1fr; }
  .form-grid, .delivery-choice, .price-row, .grant-product-form { grid-template-columns: 1fr; }
  .full-field { grid-column: auto; }
  .expiration-row { grid-template-columns: auto 90px 1fr; }
  .entitlement-heading { align-items: stretch; }
  .form-submit-bar { justify-content: space-between; }
  .remove-price { position: static; width: 100%; }
  .delivery-file-item, .customer-file-item { grid-template-columns: 46px minmax(0, 1fr) auto; }
  .product-image-item { grid-template-columns: 70px minmax(0, 1fr) auto; }
  .product-image-preview { width: 70px; height: 56px; }
  .customer-file-item .secondary-button { grid-column: 1 / -1; }
  .delivery-file-summary { align-items: flex-start; flex-direction: column; }
  .hero-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .hero-actions a { text-align: center; }
  .client-header-actions { width: 100%; flex-wrap: wrap; }
  .danger-zone { align-items: stretch; flex-direction: column; }
  .danger-button { width: 100%; }
  .dialog-actions { flex-direction: column-reverse; }
  .dialog-actions button { width: 100%; }
  .pagination { gap: 6px; }
  .pagination a { min-width: 40px; height: 42px; padding: 0 10px; }
  .pagination .pagination-wide { min-width: 0; font-size: 0; }
  .pagination .pagination-wide::before { content: '‹'; font-size: 24px; }
  .pagination .pagination-wide:nth-last-child(2)::before { content: '›'; }
  .administrators-toolbar, .administrator-header-actions { align-items: stretch; flex-direction: column; }
  .compact-search-form, .access-level-options, .permission-options, .administrator-security-grid { grid-template-columns: 1fr; }
  .permission-group-heading { align-items: flex-start; flex-direction: column; }
  .administrator-tabs { overflow-x: auto; }
  h1 { font-size: 38px; }
}

/* Minha Loja · Checkout */
.checkout-admin-content{min-width:0}.checkout-settings-tabs{display:flex;gap:8px;margin-bottom:16px;padding:7px;border:1px solid var(--line);border-radius:16px;background:#fff}.checkout-settings-tabs a{padding:11px 22px;border-radius:11px;color:var(--muted);text-decoration:none;font-weight:800}.checkout-settings-tabs a.is-current{color:var(--brand-dark);background:#fff0f4}.checkout-settings-form{display:grid;gap:16px}.checkout-settings-form[aria-busy="true"]{opacity:.78;pointer-events:none}.checkout-settings-intro{margin:0;display:flex;align-items:center;justify-content:space-between;gap:20px}.checkout-settings-intro h2,.checkout-setting-card h2{margin:5px 0 0;font-size:25px}.checkout-settings-chip{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fbfafc;color:var(--muted);font-size:12px;font-weight:800}.checkout-setting-card{margin:0;display:grid;gap:22px}.checkout-setting-card p{margin:7px 0 0}.checkout-accordion{margin:0;padding:0;overflow:hidden}.checkout-accordion summary{min-height:86px;padding:20px 24px;display:grid;grid-template-columns:48px minmax(0,1fr) auto 24px;gap:15px;align-items:center;cursor:pointer;list-style:none}.checkout-accordion summary::-webkit-details-marker{display:none}.checkout-accordion summary>span:nth-child(2){display:grid;gap:5px}.checkout-accordion summary strong{font-size:18px}.checkout-accordion summary small{color:var(--muted)}.checkout-accordion summary>b{font-size:22px;transition:transform .2s}.checkout-accordion[open] summary>b{transform:rotate(180deg)}.checkout-method-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#f3f1f5;font-size:25px}.checkout-method-icon.pix{color:#27b8af}.checkout-accordion-body{padding:22px 24px 26px;border-top:1px solid var(--line);display:grid;gap:20px}.checkout-compatibility-note{padding:14px 16px;border:1px solid #cfe0f2;border-radius:12px;background:#f2f8ff;color:#34506e;line-height:1.5}.checkout-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:end}.checkout-setting-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.checkout-inline-fields{display:grid;grid-template-columns:1fr 130px;gap:8px}.checkout-default-method{min-height:51px;padding:14px 16px;display:flex!important;grid-auto-flow:column;justify-content:start;align-items:center;border:1px solid var(--line);border-radius:12px;background:#fbfafc}.checkout-fields-admin{overflow:hidden;border:1px solid var(--line);border-radius:15px}.checkout-field-admin{min-height:64px;padding:12px 18px;display:grid;grid-template-columns:minmax(180px,1fr) 145px 145px;gap:14px;align-items:center;border-top:1px solid var(--line)}.checkout-field-admin:first-child{border-top:0}.checkout-field-admin-head{min-height:44px;color:var(--muted);background:#faf9fb;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.checkout-field-admin.is-hidden-field strong{color:var(--muted)}.checkout-field-suboption{padding:14px 18px 14px calc(18px + min(180px,30%));display:grid;gap:5px;border-top:1px dashed var(--line);background:#fcfbfc}.checkout-field-suboption label{display:flex;align-items:center;gap:8px}.checkout-field-suboption small{color:var(--muted)}.checkout-field-suboption.is-disabled{opacity:.55}.mini-switch,.status-switch{display:flex;align-items:center;gap:9px;cursor:pointer}.mini-switch input,.status-switch input{position:absolute;opacity:0;pointer-events:none}.mini-switch span,.status-switch span{width:42px;height:24px;padding:3px;display:block;border-radius:999px;background:#d9dce2;transition:.2s}.mini-switch span:before,.status-switch span:before{content:"";width:18px;height:18px;display:block;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.15);transition:.2s}.mini-switch input:checked+span,.status-switch input:checked+span{background:#1cba83}.mini-switch input:checked+span:before,.status-switch input:checked+span:before{transform:translateX(18px)}.mini-switch input:disabled+span{opacity:.45}.mini-switch em,.status-switch em{font-style:normal;font-size:12px;font-weight:800}.checkout-save-bar{position:sticky;z-index:10;bottom:14px;padding:14px 18px;display:flex;align-items:center;justify-content:flex-end;gap:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 15px 36px rgba(35,27,43,.14);backdrop-filter:blur(12px)}.checkout-save-bar>span{margin-right:auto;color:#966519;font-weight:750}.theme-segmented{padding:4px;display:flex;border-radius:999px;background:#f0eff2}.theme-segmented button{min-width:90px;padding:9px 16px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.theme-segmented button.is-current{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(30,25,35,.09)}.checkout-visual-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}.checkout-visual-controls{display:grid;gap:16px}.checkout-theme-panel[hidden]{display:none}.checkout-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.color-control{display:grid;grid-template-columns:1fr 52px;gap:8px}.color-control input[type="color"]{width:52px;height:52px;padding:5px;cursor:pointer}.checkout-choice-group{margin:0;padding:0;border:0}.checkout-choice-group legend{margin-bottom:12px;font-weight:800}.background-presets{display:flex;gap:9px;flex-wrap:wrap}.background-presets button{width:39px;height:39px;border:2px solid transparent;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px #d7d5d9;cursor:pointer}.background-presets button.is-current{border-color:#fc315f;box-shadow:0 0 0 2px #fff,inset 0 0 0 1px #d7d5d9}.background-custom{width:min(230px,100%);margin-top:12px}.checkout-contrast-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contrast-card{min-height:60px;padding:10px;display:flex;align-items:center;gap:9px;border:2px solid transparent;border-radius:12px}.contrast-card:has(input:checked){border-color:#fc315f}.contrast-card.light{border-color:#e0dfe3;background:#fff;color:#171923}.contrast-card.dark{background:#202127;color:#fff}.checkout-border-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.checkout-border-options label{min-height:110px;padding:14px;display:grid;gap:9px;place-items:center;border:2px solid var(--line);border-radius:13px;background:#fbfafc;text-align:center;cursor:pointer}.checkout-border-options label:has(input:checked){border-color:#fc315f;background:#fff5f7}.checkout-border-options input{position:absolute;opacity:0}.border-sample{width:72px;height:46px;border:3px solid #9fa1aa}.border-sample.very-rounded{border-radius:22px}.border-sample.slightly-rounded{border-radius:9px}.border-sample.straight{border-radius:0}.checkout-preview-panel{--preview-accent:#00992b;--preview-secondary:#2a292e;--preview-background:#fff;--preview-contrast:#172033;--preview-radius:12px;position:sticky;top:96px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#f5eff1}.checkout-preview-panel>span{display:block;margin-bottom:13px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.checkout-preview-browser{overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 12px 35px rgba(42,32,49,.13)}.preview-browser-bar{height:28px;padding:9px;display:flex;gap:5px;background:#e9e8ec}.preview-browser-bar i{width:8px;height:8px;border-radius:50%;background:#c9c7cd}.checkout-preview-card{min-height:410px;padding:24px;display:grid;gap:15px;align-content:start;border-radius:0;background:var(--preview-background);color:var(--preview-contrast)}.preview-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.preview-input{padding:12px;border:1px solid color-mix(in srgb,var(--preview-secondary) 24%,transparent);border-radius:var(--preview-radius);color:color-mix(in srgb,var(--preview-secondary) 62%,transparent);font-size:11px}.preview-payment{width:86px;padding:11px;border:1px solid var(--preview-accent);border-radius:var(--preview-radius);color:var(--preview-secondary);text-align:center}.checkout-preview-card button{margin-top:8px;padding:13px;border:0;border-radius:var(--preview-radius);color:#fff;background:var(--preview-accent);font-weight:800}.checkout-person-type{grid-column:1/-1;margin:0;padding:0;border:0;display:flex;gap:12px;align-items:center}.checkout-person-type legend{width:100%;margin-bottom:9px;font-weight:700}.checkout-person-type label{padding:10px 13px!important;display:flex!important;grid-auto-flow:column;align-items:center;border:1px solid #dedbde;border-radius:10px}.checkout-person-type input{width:auto!important;height:auto!important}
.checkout-order-bump-color-card{gap:26px}.checkout-order-bump-color-list{display:grid;gap:14px}.checkout-order-bump-color-row{min-height:96px;padding:18px 20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,320px);gap:20px;align-items:center;border:1px solid var(--line);border-radius:14px;background:#fff}.checkout-order-bump-color-row>span{font-weight:800}.checkout-order-bump-color-actions{display:flex;justify-content:center}.checkout-order-bump-preview{--order-bump-preview-background:#fff9f4;--order-bump-preview-border:#ff9900;--order-bump-preview-button:#ff9900;padding:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;align-items:center;border:2px dashed var(--order-bump-preview-border);border-radius:10px;background:var(--order-bump-preview-background)}.checkout-order-bump-preview strong{font-size:18px}.checkout-order-bump-preview span{color:#17823e;font-size:20px;font-weight:900}.checkout-order-bump-preview button{grid-column:2;grid-row:1/3;min-height:52px;padding:12px 20px;border:0;border-radius:8px;background:var(--order-bump-preview-button);color:#282431;font-weight:850}
@media(max-width:1100px){.checkout-visual-grid{grid-template-columns:1fr}.checkout-preview-panel{position:static}.checkout-preview-browser{width:min(460px,100%);margin:auto}}
@media(max-width:980px){.checkout-setting-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-field-admin{grid-template-columns:minmax(150px,1fr) 120px 120px}}
@media(max-width:620px){.checkout-settings-tabs{overflow-x:auto}.checkout-settings-tabs a{white-space:nowrap}.checkout-settings-intro{align-items:flex-start;flex-direction:column}.checkout-accordion summary{padding:16px;grid-template-columns:42px 1fr 20px}.checkout-accordion summary .status-switch{grid-column:2/4}.checkout-accordion-body{padding:18px 16px}.checkout-setting-grid,.checkout-setting-grid.three,.checkout-color-grid,.checkout-border-options,.checkout-contrast-options{grid-template-columns:1fr}.checkout-field-admin{grid-template-columns:1fr 1fr;gap:10px}.checkout-field-admin strong{grid-column:1/-1}.checkout-field-admin-head{display:none}.checkout-field-suboption{padding:14px}.checkout-save-bar{align-items:stretch;flex-direction:column}.checkout-save-bar>span{margin:0}.checkout-save-bar .primary-button,.checkout-save-bar .secondary-button{width:100%}.theme-segmented{width:100%}.theme-segmented button{flex:1}.preview-fields{grid-template-columns:1fr}.checkout-order-bump-color-row{grid-template-columns:1fr}.checkout-order-bump-preview{grid-template-columns:1fr}.checkout-order-bump-preview button{grid-column:1;grid-row:auto;width:100%}}

.acquirers-root { display: grid; gap: 18px; }
.acquirers-panel { padding: 28px; }
.acquirer-alert { margin: 0; }
.integration-grid { display: grid; gap: 14px; margin-top: 22px; }
.integration-card { display: grid; grid-template-columns: auto minmax(220px, 1fr) auto auto; align-items: center; gap: 18px; padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.gateway-logo { width: 50px; height: 50px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 15px; color: white; background: linear-gradient(145deg, #009ee3, #0874b9); font-weight: 900; letter-spacing: -.5px; }
.integration-card-content { min-width: 0; }
.integration-card-content h3 { margin: 4px 0 5px; font-size: 20px; }
.integration-card-content p { margin: 0; color: var(--muted); font-size: 13px; }
.integration-provider-name { color: #0874b9; font-size: 12px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.integration-card-badges, .integration-card-controls { display: flex; align-items: center; gap: 9px; }
.status-badge, .default-badge { padding: 7px 10px; border-radius: 999px; font-size: 12px; font-weight: 850; white-space: nowrap; }
.status-active { color: #087a4f; background: #e8f8f0; }
.status-inactive { color: #67616c; background: #f0eef2; }
.status-connection_error { color: #a42b38; background: #fff0f1; }
.default-badge { color: #7c6010; background: #fff7d7; }
.star-button { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 12px; color: #aaa4ae; background: white; cursor: pointer; font-size: 22px; }
.star-button.is-default { color: #d29d00; border-color: #f1d46d; background: #fff9df; }
.integration-empty { margin-top: 20px; }
.integration-dialog { width: min(850px, calc(100% - 28px)); max-height: calc(100vh - 30px); padding: 0; border: 0; border-radius: 22px; color: var(--ink); background: white; box-shadow: 0 28px 90px rgba(30,23,38,.3); }
.integration-dialog::backdrop { background: rgba(31,27,38,.58); backdrop-filter: blur(3px); }
.integration-form { max-height: calc(100vh - 30px); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.integration-dialog-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding: 24px 28px 18px; border-bottom: 1px solid var(--line); }
.integration-dialog-header h2 { margin: 5px 0 0; font-size: 28px; }
.integration-provider-step, .integration-fields { overflow-y: auto; padding: 26px 28px; }
.integration-provider-step h3 { margin-top: 0; }
.gateway-options { display: grid; gap: 12px; margin-top: 20px; }
.gateway-choice { display: flex; align-items: center; gap: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 17px; color: var(--ink); background: white; cursor: pointer; text-align: left; }
.gateway-choice:hover { border-color: #009ee3; box-shadow: 0 8px 24px rgba(0,158,227,.12); }
.gateway-choice span:last-child { display: grid; gap: 4px; }
.gateway-choice small { color: var(--muted); }
.integration-provider-banner { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; padding: 15px; border-radius: 17px; background: #f2faff; }
.integration-provider-banner div { display: grid; gap: 4px; }
.integration-provider-banner small { color: var(--muted); }
.credential-grid, .integration-commercial-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 15px; }
.credential-grid label, .integration-commercial-grid label { display: grid; gap: 8px; font-weight: 750; }
.credential-grid small, .integration-commercial-grid small { color: var(--muted); font-size: 12px; font-weight: 500; }
.percent-input { display: grid; grid-template-columns: 1fr auto; align-items: center; border: 1px solid var(--line); border-radius: 13px; background: white; }
.percent-input input { border: 0; }
.percent-input span { padding-right: 14px; color: var(--muted); font-weight: 800; }
.integration-warning { padding: 13px 15px; border-radius: 13px; color: #765b16; background: #fff8df; font-size: 13px; }
.integration-options { display: flex; flex-wrap: wrap; gap: 16px; margin: 18px 0; }
.toggle-option { display: flex; align-items: center; gap: 9px; font-weight: 750; }
.toggle-option input { width: 18px; height: 18px; accent-color: var(--brand); }
.webhook-box { display: grid; gap: 13px; margin-top: 20px; padding: 18px; border: 1px solid #d7edf7; border-radius: 17px; background: #f7fcff; }
.webhook-box p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.copy-field { display: grid; grid-template-columns: 1fr auto; }
.copy-field input { min-width: 0; border-radius: 12px 0 0 12px; background: white; }
.copy-field button { border: 0; padding: 0 18px; border-radius: 0 12px 12px 0; color: white; background: #272432; cursor: pointer; font-weight: 800; }
.text-danger-button { justify-self: start; border: 0; padding: 0; color: #a42b38; background: none; cursor: pointer; font-weight: 750; }
.integration-metadata { margin-top: 15px; color: var(--muted); font-size: 12px; }
.integration-dialog-footer { display: flex; align-items: center; gap: 10px; padding: 18px 28px; border-top: 1px solid var(--line); background: #fbfafc; }
.integration-action-spacer { flex: 1; }
.integration-remove-button { padding: 11px 16px; }

@media (max-width: 900px) {
  .integration-card { grid-template-columns: auto 1fr; }
  .integration-card-badges, .integration-card-controls { grid-column: 1 / -1; justify-content: flex-start; flex-wrap: wrap; }
}
@media (max-width: 620px) {
  .acquirers-panel { padding: 20px 15px; }
  .credential-grid, .integration-commercial-grid, .form-grid.two-columns { grid-template-columns: 1fr; }
  .integration-dialog-header, .integration-provider-step, .integration-fields, .integration-dialog-footer { padding-left: 18px; padding-right: 18px; }
  .integration-dialog-footer { flex-wrap: wrap; }
  .integration-action-spacer { display: none; }
  .integration-dialog-footer button { flex: 1 1 140px; }
  .copy-field { grid-template-columns: 1fr; }
  .copy-field input, .copy-field button { border-radius: 12px; }
  .copy-field button { min-height: 42px; }
}
.page-shell:has(.transactions-root) { width:min(1440px, calc(100% - 40px)); }
.transactions-hero { margin-bottom:30px; }
.transactions-root { display:grid; grid-template-columns:minmax(290px, 31fr) minmax(0, 69fr); gap:24px; align-items:start; }
.mobile-filter-toggle { display:none; }
.transaction-filters { margin-top:0; padding:24px; position:sticky; top:92px; max-height:calc(100vh - 112px); overflow-y:auto; display:grid; gap:24px; scrollbar-width:thin; scrollbar-color:#d8d3dc transparent; }
.transaction-filters header, .transaction-table-heading, .transaction-period, .transaction-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.transaction-filters header h2, .transaction-table-heading h2 { margin:0; }
.transaction-filters header a { color:var(--brand-dark); font-weight:800; text-underline-offset:3px; }
.transaction-filters label { display:grid; gap:8px; }
.transaction-filter-group { display:grid; gap:12px; }
.transaction-filter-group h3 { margin:0; font-size:14px; }
.transaction-filter-section-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.transaction-date-basis { display:block !important; max-width:180px; }
.transaction-filters input, .transaction-filters select, .transaction-table-heading select { width:100%; border:1px solid #ddd8e2; border-radius:14px; padding:13px 14px; background:#fff; color:var(--ink); font:inherit; outline:none; }
.transaction-filters input:focus, .transaction-filters select:focus, .transaction-table-heading select:focus { border-color:var(--brand); box-shadow:0 0 0 4px rgba(255,40,93,.09); }
.transaction-search-field { position:relative; display:block; }
.transaction-search-field svg { position:absolute; left:14px; top:50%; width:19px; height:19px; transform:translateY(-50%); fill:none; stroke:#8b8791; stroke-width:1.8; stroke-linecap:round; pointer-events:none; }
.transaction-search-field input { padding-left:43px; }
.filter-chip-grid { display:flex; flex-wrap:wrap; gap:8px; }
.filter-chip { display:inline-flex !important; cursor:pointer; }
.filter-chip input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.filter-chip span { border:1px solid #ddd8e2; border-radius:999px; padding:8px 11px; background:#fff; font-size:.82rem; font-weight:750; color:#4f4a56; transition:.15s ease; }
.filter-chip:hover span { border-color:#ff9ab0; background:#fff7f9; }
.filter-chip input:focus-visible + span { outline:3px solid rgba(255,40,93,.18); outline-offset:2px; }
.filter-chip input:checked + span { color:#fff; border-color:var(--brand); background:var(--brand); box-shadow:0 5px 14px rgba(217,18,69,.18); }
.date-filter-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.date-range-picker { position:relative; }
.date-range-trigger { width:100%; min-height:68px; display:grid; grid-template-columns:1fr 1fr 36px; align-items:center; gap:10px; padding:10px 12px; border:1px solid #ddd8e2; border-radius:16px; background:#fff; color:var(--ink); font:inherit; text-align:left; cursor:pointer; transition:border-color .15s ease, box-shadow .15s ease; }
.date-range-trigger:hover { border-color:#ff9ab0; }
.date-range-trigger:focus-visible { outline:none; border-color:var(--brand); box-shadow:0 0 0 4px rgba(255,40,93,.09); }
.date-range-trigger > span { min-width:0; display:grid; gap:4px; }
.date-range-trigger small { color:var(--muted); font-size:.72rem; }
.date-range-trigger strong { font-size:.9rem; white-space:nowrap; }
.date-range-trigger svg { width:22px; height:22px; fill:none; stroke:var(--brand-dark); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; justify-self:end; }
body.date-range-open { overflow:hidden; }
.date-range-dialog[hidden] { display:none; }
.date-range-dialog { position:fixed; inset:0; z-index:120; display:grid; place-items:center; padding:24px; }
.date-range-backdrop { position:absolute; inset:0; border:0; background:rgba(24,22,32,.43); backdrop-filter:blur(2px); cursor:default; }
.date-range-panel { position:relative; width:min(1120px, 100%); max-height:calc(100vh - 48px); overflow:auto; border:1px solid #ded9e2; border-radius:26px; background:#fff; box-shadow:0 26px 80px rgba(25,22,33,.24); }
.date-range-header { position:relative; display:grid; grid-template-columns:minmax(270px, .75fr) minmax(0, 1.5fr); align-items:start; gap:24px; padding:30px 68px 24px 42px; border-bottom:1px solid var(--line); }
.date-range-period-controls { display:grid; grid-template-columns:1fr 110px; gap:14px; }
.date-range-period-controls select { width:100%; border:0; border-bottom:2px solid transparent; border-radius:0; padding:10px 32px 10px 8px; background-color:#fff; color:var(--ink); font:inherit; font-size:1.05rem; font-weight:800; outline:none; cursor:pointer; }
.date-range-period-controls select:focus { border-bottom-color:var(--brand); }
.date-range-presets { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.date-range-presets button { min-height:42px; padding:8px 16px; border:1.5px solid #252335; border-radius:999px; background:#fff; color:#171521; font:inherit; font-weight:800; cursor:pointer; transition:.15s ease; }
.date-range-presets button:hover, .date-range-presets button:focus-visible, .date-range-presets button.is-active { border-color:var(--brand); background:#fff0f4; color:var(--brand-dark); outline:none; }
.date-range-close { position:absolute; top:20px; right:20px; width:38px; height:38px; display:grid; place-items:center; border:0; border-radius:50%; background:#f1eff3; color:#5f5966; font-size:1.5rem; line-height:1; cursor:pointer; }
.date-range-calendars { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:26px; padding:32px 58px 36px; }
.date-range-calendar { min-width:0; }
.date-range-calendar h3 { margin:0 0 20px; text-align:center; font-size:1.25rem; }
.calendar-weekdays, .calendar-days { display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); }
.calendar-weekdays { margin-bottom:8px; padding-bottom:10px; border-bottom:1px solid #e4e0e7; }
.calendar-weekdays span { display:grid; place-items:center; min-height:32px; color:#403b48; font-size:.84rem; font-weight:850; }
.calendar-days { row-gap:6px; }
.calendar-day, .calendar-day-empty { min-width:0; aspect-ratio:1; }
.calendar-day { position:relative; border:0; border-radius:12px; background:transparent; color:var(--ink); font:inherit; font-size:.9rem; cursor:pointer; z-index:0; }
.calendar-day::before { content:""; position:absolute; inset:3px; border-radius:10px; background:transparent; z-index:-1; }
.calendar-day:hover::before, .calendar-day:focus-visible::before { background:#fff0f4; }
.calendar-day:focus-visible { outline:2px solid var(--brand); outline-offset:-2px; }
.calendar-day.is-in-range { border-radius:0; background:#fff0f4; }
.calendar-day.is-range-start, .calendar-day.is-range-end { color:#fff; font-weight:850; }
.calendar-day.is-range-start::before, .calendar-day.is-range-end::before { background:var(--brand); }
.calendar-day.is-range-start { border-radius:12px 0 0 12px; }
.calendar-day.is-range-end { border-radius:0 12px 12px 0; }
.calendar-day.is-range-start.is-range-end { border-radius:12px; }
.calendar-day.is-today:not(.is-range-start):not(.is-range-end) { color:var(--brand-dark); font-weight:900; text-decoration:underline; text-underline-offset:4px; }
.calendar-navigation { position:absolute; top:50%; width:42px; height:42px; display:grid; place-items:center; border:0; border-radius:50%; background:#f7f5f8; color:#252335; font-size:2rem; line-height:1; transform:translateY(-50%); cursor:pointer; }
.calendar-navigation:hover, .calendar-navigation:focus-visible { background:#fff0f4; color:var(--brand-dark); outline:none; }
.calendar-navigation-previous { left:10px; }
.calendar-navigation-next { right:10px; }
.date-range-footer { position:sticky; bottom:0; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 30px; border-top:1px solid var(--line); background:#fff; box-shadow:0 -10px 28px rgba(24,22,32,.05); }
.date-range-footer p { margin:0; display:grid; gap:4px; }
.date-range-footer p span { color:var(--muted); font-size:.78rem; }
.date-range-footer p strong { font-size:.95rem; }
.date-range-footer > div { display:flex; gap:10px; }
.date-range-footer button { min-height:44px; }
.transaction-more-filters { width:100%; min-height:44px; display:flex; align-items:center; justify-content:center; gap:8px; border:1px solid #e3dee6; border-radius:14px; background:#faf9fb; color:var(--brand-dark); font:inherit; font-weight:850; cursor:pointer; }
.transaction-more-filters:hover { border-color:#ff9ab0; background:#fff7f9; }
.transaction-more-filters svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .18s ease; }
.transaction-more-filters.is-open svg { transform:rotate(180deg); }
.transaction-advanced-filters { padding-top:22px; border-top:1px solid var(--line); display:grid; gap:24px; }
.transaction-advanced-filters[hidden] { display:none; }
.filter-chip-grid-two .filter-chip { flex:1 1 130px; }
.filter-chip-grid-two .filter-chip span { width:100%; text-align:center; }
.advanced-lookup-group > label { position:relative; }
.advanced-field-grid { display:grid; gap:12px; }
.advanced-field-grid label { min-width:0; color:#514c58; font-size:.86rem; font-weight:750; }
.advanced-field-grid input, .advanced-field-grid select { font-weight:400; }
.tri-state-grid { grid-template-columns:1fr; }
.attribution-field-grid { grid-template-columns:1fr 1fr; }
.filter-submit { width:100%; min-height:50px; display:flex; align-items:center; justify-content:center; gap:10px; }
.button-spinner { display:none; width:17px; height:17px; border:2px solid rgba(255,255,255,.5); border-top-color:#fff; border-radius:50%; animation:transaction-spin .75s linear infinite; }
.filter-submit.is-loading .button-spinner { display:block; }
@keyframes transaction-spin { to { transform:rotate(360deg); } }

.transaction-results { min-width:0; display:grid; gap:18px; }
.transaction-period { margin-top:0; min-height:84px; padding:16px 20px; }
.transaction-period-main, .transaction-period-actions { display:flex; align-items:center; gap:14px; }
.transaction-calendar-icon { width:40px; height:40px; display:grid; place-items:center; color:var(--brand-dark); border-radius:12px; background:#fff0f4; }
.transaction-calendar-icon svg, .transaction-empty-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.transaction-period-date { min-width:96px; display:grid; gap:3px; }
.transaction-period-date span, .transaction-timezone { color:var(--muted); font-size:.78rem; }
.transaction-period-date strong { font-size:.94rem; }
.transaction-timezone { white-space:nowrap; }
.export-button { min-width:58px; height:38px; border:1px solid var(--line); border-radius:11px; color:#8a8590; background:#f6f4f7; font-weight:800; }
.export-button:disabled { cursor:not-allowed; opacity:.7; }
.transaction-metrics { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.transaction-metrics article { min-height:126px; margin-top:0; padding:22px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:7px; }
.transaction-metrics article span, .transaction-metrics article small { display:block; color:var(--muted); }
.transaction-metrics article strong { display:block; font-size:2rem; line-height:1.05; }

.transaction-table-panel { margin-top:0; padding:0; overflow:hidden; }
.transaction-table-heading { min-height:88px; padding:20px 24px; border-bottom:1px solid var(--line); }
.transaction-table-heading form label { display:flex; align-items:center; gap:9px; color:var(--muted); white-space:nowrap; }
.transaction-table-heading select { width:auto; min-width:74px; padding:9px 30px 9px 12px; }
.transaction-table-wrap { overflow-x:auto; }
.transaction-table { width:100%; border-collapse:collapse; min-width:760px; }
.transaction-table th { text-align:left; padding:14px 18px; color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.06em; border-bottom:1px solid var(--line); background:#fbfafc; }
.transaction-table td { padding:18px; border-bottom:1px solid var(--line); vertical-align:middle; }
.transaction-table td small { display:block; color:var(--muted); margin-top:5px; }
.transaction-id-line { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.transaction-row { cursor:pointer; position:relative; box-shadow:inset 4px 0 0 #aab1bd; transition:background .15s ease, box-shadow .15s ease; }
.transaction-row:hover, .transaction-row:focus { background:#fff8fa; outline:none; }
.status-row-paid { box-shadow:inset 4px 0 0 #20a66a; }
.status-row-pending, .status-row-waiting_payment, .status-row-processing { box-shadow:inset 4px 0 0 #e1aa24; }
.status-row-payment_failed, .status-row-chargeback { box-shadow:inset 4px 0 0 #d83f55; }
.status-row-refunded, .status-row-partially_refunded { box-shadow:inset 4px 0 0 #7d8490; }
.transaction-status, .environment-badge { display:inline-flex; align-items:center; border-radius:999px; padding:6px 9px; font-size:.72rem; font-weight:850; white-space:nowrap; background:#eef0f4; color:#565d69; }
.status-paid { background:#e8f8ef; color:#087b45; }
.status-pending, .status-waiting_payment, .status-processing { background:#fff6d9; color:#8b6500; }
.status-payment_failed, .status-chargeback { background:#ffe9ed; color:#b4233a; }
.status-refunded, .status-partially_refunded { background:#eef0f4; color:#565d69; }
.transaction-empty-state { min-height:310px; padding:50px 28px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--muted); }
.transaction-empty-state h2 { max-width:540px; margin:16px 0 8px; color:var(--ink); font-size:20px; line-height:1.35; }
.transaction-empty-state p { margin:0; }
.transaction-empty-icon { width:54px; height:54px; display:grid; place-items:center; color:var(--brand-dark); border-radius:18px; background:#fff0f4; }
.transaction-pagination { min-height:78px; padding:17px 22px; border-top:1px solid var(--line); justify-content:center; }
.transaction-pagination .secondary-button { min-width:100px; padding:11px 16px; }
.transaction-pagination .is-disabled { opacity:.45; pointer-events:none; }
.transaction-page-summary { min-width:150px; text-align:center; }
.transaction-page-summary small { display:block; margin-top:3px; color:var(--muted); font-size:.74rem; }

.transaction-list-loading { min-height:380px; padding:20px 18px; }
.skeleton-row { display:grid; grid-template-columns:1.2fr .8fr 1fr 1.2fr .7fr; gap:18px; padding:20px 0; border-bottom:1px solid var(--line); }
.skeleton-row span, .drawer-skeleton span { display:block; height:16px; border-radius:999px; background:linear-gradient(90deg,#ece9ef 25%,#f8f7f9 50%,#ece9ef 75%); background-size:200% 100%; animation:transaction-skeleton 1.25s infinite; }
@keyframes transaction-skeleton { to { background-position:-200% 0; } }

.transaction-drawer-overlay { position:fixed; inset:0; background:rgba(24,22,32,.36); z-index:80; backdrop-filter:blur(2px); }
.transaction-drawer { position:fixed; z-index:90; top:0; right:auto; left:0; bottom:0; width:min(620px, 44vw); background:#f7f7fa; box-shadow:18px 0 50px rgba(24,22,32,.18); display:flex; flex-direction:column; }
.transaction-drawer > header { background:#fff; border-bottom:1px solid var(--line); padding:22px 26px; display:flex; justify-content:space-between; align-items:center; gap:16px; position:sticky; top:0; z-index:1; }
.transaction-drawer > header h2 { margin:4px 0 0; }
.transaction-drawer > header button { border:0; background:#f0f1f4; width:42px; height:42px; border-radius:50%; font-size:1.6rem; cursor:pointer; }
.transaction-drawer-body { padding:22px; overflow-y:auto; display:grid; gap:16px; }
.drawer-card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:20px; display:grid; gap:12px; }
.drawer-card h3 { margin:0 0 4px; }
.drawer-badges { display:flex; flex-wrap:wrap; gap:8px; }
.drawer-status-description { font-size:1.08rem; font-weight:750; margin:0; }
.drawer-total { font-size:2rem; }
.drawer-value-row { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; padding:9px 0; border-bottom:1px solid #f0f1f4; }
.drawer-value-row:last-child { border-bottom:0; }
.drawer-value-row span { color:var(--muted); }
.drawer-value-row strong { text-align:right; overflow-wrap:anywhere; }
.negative-value { color:#b4233a; }
.drawer-product { display:flex; justify-content:space-between; gap:18px; padding:12px 0; border-bottom:1px solid #f0f1f4; }
.drawer-product div { display:grid; gap:4px; }
.drawer-product small { color:var(--muted); }
.drawer-loading { display:grid; gap:16px; }
.drawer-skeleton { min-height:140px; padding:22px; border-radius:20px; background:#fff; border:1px solid var(--line); display:grid; align-content:start; gap:14px; }
.drawer-skeleton span:nth-child(2) { width:75%; }
.drawer-skeleton span:nth-child(3) { width:48%; }
.drawer-error { padding:34px 20px; text-align:center; color:#b4233a; }

@media (max-width: 1180px) {
  .transactions-root { grid-template-columns:minmax(270px, 35fr) minmax(0, 65fr); gap:18px; }
  .transaction-period { align-items:flex-start; }
  .transaction-period-actions { align-items:flex-end; flex-direction:column; gap:8px; }
  .transaction-timezone { white-space:normal; text-align:right; }
  .transaction-drawer { width:min(720px, 72vw); }
}

@media (max-width: 820px) {
  .transactions-root { grid-template-columns:1fr; gap:16px; }
  .mobile-filter-toggle { display:flex; width:100%; justify-content:center; }
  .transaction-filters { display:none; position:static; }
  .transaction-filters.is-mobile-open { display:grid; }
  .transaction-period { align-items:stretch; flex-direction:column; }
  .transaction-period-actions { align-items:flex-start; flex-direction:row; flex-wrap:wrap; }
  .transaction-timezone { width:100%; text-align:left; }
  .transaction-filters { max-height:none; overflow:visible; }
  .date-range-dialog { padding:12px; }
  .date-range-panel { max-height:calc(100vh - 24px); border-radius:20px; }
  .date-range-header { grid-template-columns:1fr; gap:18px; padding:24px 54px 20px 22px; }
  .date-range-presets { justify-content:flex-start; }
  .date-range-calendars { grid-template-columns:1fr; padding:26px 44px 28px; }
  .date-range-calendar[data-calendar-view="1"] { display:none; }
}

@media (max-width: 620px) {
  .page-shell:has(.transactions-root) { width:min(100% - 24px, 1440px); padding-top:34px; }
  .transactions-hero { margin-bottom:24px; }
  .transaction-filters, .transaction-table-heading { padding:18px; }
  .transaction-filter-section-heading { align-items:stretch; flex-direction:column; }
  .transaction-date-basis { max-width:none; }
  .date-filter-grid, .transaction-metrics, .attribution-field-grid { grid-template-columns:1fr; }
  .transaction-period-main { align-items:flex-start; flex-wrap:wrap; }
  .transaction-calendar-icon { flex:0 0 40px; }
  .transaction-period-date { min-width:calc(50% - 34px); }
  .transaction-table-heading { align-items:flex-start; flex-direction:column; }
  .transaction-table-heading form label { justify-content:space-between; }
  .transaction-empty-state { min-height:280px; padding:42px 20px; }
  .transaction-pagination { gap:10px; padding:16px; }
  .transaction-pagination .secondary-button { min-width:0; padding:10px 12px; }
  .transaction-page-summary { min-width:0; flex:1; }
  .transaction-drawer { width:100vw; }
  .transaction-drawer > header { padding:18px; }
  .transaction-drawer-body { padding:14px; }
  .date-range-header { padding:20px 48px 16px 16px; }
  .date-range-period-controls { grid-template-columns:1fr 94px; gap:6px; }
  .date-range-period-controls select { font-size:.94rem; padding-left:4px; }
  .date-range-presets { flex-wrap:nowrap; overflow-x:auto; padding:2px 0 8px; scrollbar-width:thin; }
  .date-range-presets button { flex:0 0 auto; min-height:38px; padding:7px 13px; font-size:.82rem; }
  .date-range-close { top:14px; right:12px; width:34px; height:34px; }
  .date-range-calendars { padding:22px 34px 24px; }
  .date-range-calendar h3 { margin-bottom:14px; font-size:1.05rem; }
  .calendar-weekdays span { min-height:28px; font-size:.76rem; }
  .calendar-days { row-gap:3px; }
  .calendar-day { border-radius:9px; font-size:.82rem; }
  .calendar-day::before { inset:2px; border-radius:8px; }
  .calendar-navigation { width:32px; height:32px; font-size:1.55rem; }
  .calendar-navigation-previous { left:2px; }
  .calendar-navigation-next { right:2px; }
  .date-range-footer { align-items:stretch; flex-direction:column; padding:14px 16px; }
  .date-range-footer > div { display:grid; grid-template-columns:1fr 1fr; }
  .date-range-footer button { width:100%; padding:10px 12px; }
}

/* Order Bump dentro do cadastro de planos */
.order-bump-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 2px; }
.order-bump-heading > div { min-width: 0; }
.order-bump-heading h3 { margin: 3px 0; }
[data-order-bump-settings] { min-width: 0; }
[data-order-bump-settings] > .field-help { margin: 8px 0 0; }
.order-bump-editor-list { display: grid; gap: 14px; margin-top: 16px; }
.order-bump-editor-card { min-width: 0; padding: 15px 16px; border: 1px solid #e5e1e7; border-radius: 16px; background: #fff; }
.order-bump-editor-summary { display: grid; grid-template-columns: 56px minmax(0, 1fr) 42px; gap: 13px; align-items: center; padding-bottom: 13px; border-bottom: 1px solid #eeeaf0; }
.order-bump-editor-summary img { width: 56px; height: 72px; object-fit: cover; border-radius: 10px; }
.order-bump-editor-summary > div { min-width: 0; display: grid; gap: 4px; }
.order-bump-editor-summary strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-bump-editor-summary small { color: #77717e; }
.order-bump-editor-summary > .icon-action-button { width: 42px; height: 42px; }
.order-bump-editor-fields { min-width: 0; display: grid; grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr); gap: 14px 16px; margin-top: 14px; }
.order-bump-editor-fields label { min-width: 0; display: grid; gap: 7px; font-weight: 700; }
.order-bump-editor-fields input, .order-bump-editor-fields textarea { width: 100%; min-width: 0; }
.order-bump-description-field { grid-column: 1 / -1; }
.order-bump-description-field textarea { min-height: 100px; resize: vertical; }
.order-bump-switches { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.order-bump-editor-fields .field-help { grid-column: 1 / -1; margin: 0; }

@media (max-width: 760px) {
  .plan-dialog { width: 100%; height: 100dvh; max-height: 100dvh; border-radius: 0; }
  .plan-dialog-form { height: 100dvh; max-height: 100dvh; }
  .plan-dialog-header { padding: 16px 18px 13px; }
  .plan-dialog-header h2 { font-size: 24px; }
  .plan-step-indicator { gap: 6px; padding: 11px 14px; }
  .plan-step-indicator span { gap: 6px; font-size: 11px; }
  .plan-step-indicator b { width: 24px; height: 24px; flex: 0 0 24px; }
  .plan-dialog-content { padding: 18px; scrollbar-gutter: auto; }
  .plan-dialog-footer { flex-wrap: nowrap; padding: 13px 18px; }
  .plan-dialog-footer button { flex: 0 1 auto; }
  .order-bump-heading { align-items: flex-start; }
  .order-bump-heading .status-switch { flex: 0 0 auto; }
  .order-bump-editor-fields { grid-template-columns: 1fr; }
  .order-bump-description-field, .order-bump-switches, .order-bump-editor-fields .field-help { grid-column: auto; }
  .order-bump-switches { align-items: flex-start; flex-direction: column; gap: 13px; }
  .order-bump-editor-summary { grid-template-columns: 50px minmax(0, 1fr) 40px; gap: 11px; }
  .order-bump-editor-summary img { width: 50px; height: 64px; }
  .order-bump-editor-summary > .icon-action-button { width: 40px; height: 40px; }
}
.transaction-item-origin{display:inline-flex;align-items:center;gap:5px;color:#dd214a!important;font-weight:800;margin-top:5px}

@media (max-width: 900px) {
  body.has-admin-sidebar.admin-sidebar-open { overflow: hidden; }
  .admin-sidebar {
    width: min(286px, calc(100vw - 48px));
    transform: translateX(-100%);
    transition: transform 180ms ease;
    box-shadow: 18px 0 48px rgba(32, 29, 42, .2);
  }
  .admin-sidebar-open .admin-sidebar { transform: translateX(0); }
  .admin-sidebar-close { display: grid; }
  .admin-main-column { margin-left: 0; }
  .admin-mobile-header {
    position: sticky;
    top: 0;
    z-index: 50;
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 20px;
    border-bottom: 1px solid var(--line);
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(14px);
  }
  .admin-mobile-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ink);
    font-size: 18px;
    font-weight: 900;
    text-decoration: none;
  }
  .admin-mobile-brand-mark {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    background: var(--accent);
    color: #fff;
    font-weight: 900;
  }
  .admin-menu-toggle {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    color: var(--ink);
    cursor: pointer;
  }
  .admin-sidebar-overlay {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: block;
    background: rgba(28,25,38,.55);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 180ms ease, visibility 180ms ease;
  }
  .admin-sidebar-open .admin-sidebar-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .has-admin-sidebar .store-sidebar,
  .has-admin-sidebar .transaction-filters {
    position: static;
    top: auto;
  }
  .has-admin-sidebar .transaction-filters { max-height: none; }
}

@media (max-width: 620px) {
  .admin-sidebar { width: min(286px, calc(100vw - 34px)); }
  .admin-mobile-header { min-height: 64px; padding: 0 14px; }
  .admin-mobile-brand { font-size: 16px; }
  .has-admin-sidebar .page-shell {
    width: min(calc(100% - 24px), 1180px);
    padding-top: 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-sidebar,
  .admin-sidebar-overlay { transition: none; }
}
