/* Administração: mesma identidade e assets das telas de clientes. */
:root {
  --cantina-background: #f8f9ed;
  --cantina-surface: #fffdf7;
  --cantina-surface-muted: #e9e8dd;
  --cantina-brand: #73051f;
  --cantina-olive: #807954;
  --cantina-border: #d6cabb;
  --cantina-body: Montserrat, Arial, sans-serif;
  --cantina-heading: Wittgenstein, Georgia, serif;
  --cantina-radius: 4px;
}

.admin-dashboard {
  min-height: 100svh;
  background: var(--cantina-background);
  color: var(--ink);
  font: 400 14px/1.6 var(--cantina-body);
}
.admin-dashboard > .management-hero {
  display: block;
  position: relative;
  min-height: 0;
  padding: 0;
  color: var(--cantina-surface);
  background: linear-gradient(90deg, #121212d9, #121212b8), url("assets/hero-cardapio.png") center 48% / cover;
}
.management-topbar,
.management-hero-copy,
.management-layout {
  width: min(1320px, 100%);
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 56px);
}
.management-topbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 22px; }
.management-brand { display: block; flex: 0 0 auto; }
.management-brand img { display: block; width: 170px; height: 96px; object-fit: contain; }
.management-header-actions { display: flex; align-items: center; gap: 30px; }
.management-header-actions a,
.management-header-actions button { font: 500 13px var(--cantina-body); color: #f8f9ed; background: none; border: 0; padding: 12px 0; }
.management-header-actions a:hover,
.management-header-actions button:hover { text-decoration: underline; text-underline-offset: 6px; }
.management-hero-copy { padding-top: 14px; padding-bottom: 38px; }
.management-eyebrow { display: block; color: #c7c8b9; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.management-hero-copy h1 { margin: 8px 0 10px; color: inherit; font: italic 400 clamp(30px, 3.4vw, 46px)/1.2 var(--cantina-heading); overflow-wrap: anywhere; }
.admin-dashboard .management-hero-copy p { margin: 0; max-width: 640px; color: #e9e8dd; font-size: 13px; }
.management-layout { display: grid; grid-template-columns: 214px minmax(0, 1fr); align-items: start; gap: 40px; padding-block: 36px 64px; }
.management-sidebar { min-width: 0; position: sticky; top: 24px; }
.management-identity { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--cantina-border); padding: 0 8px 22px; margin-bottom: 14px; }
.management-identity > img { width: 38px; height: 38px; padding: 9px; object-fit: contain; background: var(--cantina-brand); border-radius: 50%; flex-shrink: 0; }
.management-identity > div { min-width: 0; }
.management-identity strong { display: block; color: var(--cantina-brand); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.management-identity span { display: block; color: var(--cantina-olive); margin-top: 3px; font-size: 11px; }
.management-sidebar nav { display: grid; gap: 4px; }
.management-sidebar nav button { display: block; width: 100%; border: 0; border-radius: var(--cantina-radius); padding: 11px 14px; background: transparent; color: var(--ink); text-align: left; font: 400 12px/1.5 var(--cantina-body); }
.management-sidebar nav button:hover { background: var(--cantina-surface-muted); color: var(--cantina-brand); }
.management-sidebar nav button.active { background: var(--cantina-brand); color: var(--cantina-surface); font-weight: 600; }
.management-mobile-menu { display: none; }
.admin-dashboard .admin-content { padding: 0 !important; margin: 0; width: 100%; max-width: none; min-width: 0; }
.management-tools { margin: 0 0 26px; padding-bottom: 24px; border-bottom: 1px solid var(--cantina-border); gap: 12px; }
.management-tools label { max-width: 260px; }
.admin-dashboard label { color: var(--cantina-olive); font: 500 12px/1.6 var(--cantina-body); }
.admin-dashboard :is(input, select, textarea) { width: 100%; max-width: 100%; min-width: 0; min-height: 44px; border: 1px solid var(--cantina-border); border-radius: var(--cantina-radius); background: var(--cantina-surface); color: var(--ink); padding: 11px 12px; font: 400 14px/1.5 var(--cantina-body); }
.admin-dashboard input::placeholder,
.admin-dashboard textarea::placeholder { color: var(--cantina-olive); opacity: .8; }
.admin-dashboard input[type="hidden"] { display: none; }
.admin-dashboard textarea { min-height: 112px; resize: vertical; }
.admin-dashboard .wine-button { min-height: 44px; border-radius: var(--cantina-radius); padding: 11px 22px; background: var(--wine); color: var(--cantina-surface); font: 600 12px/1.5 var(--cantina-body); letter-spacing: 0; }
.admin-dashboard .wine-button:hover { background: var(--wine-dark); }
.admin-dashboard .wine-button.outline { background: transparent; color: var(--wine); border: 1px solid var(--wine); }
.admin-dashboard .wine-button.outline:hover { background: #73051f0a; }
.management-section > p { max-width: 720px; margin: 0 0 24px; color: var(--cantina-olive); }
.management-section h2 { margin: 30px 0 16px; color: var(--cantina-olive); font: 400 24px/1.35 var(--cantina-heading); }
.management-section h3 { color: var(--cantina-olive); font: 500 17px/1.5 var(--cantina-heading); }
.management-section .admin-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0 0 32px; }
.management-section .admin-metrics article { display: flex; flex-direction: column; justify-content: space-between; min-height: 158px; padding: 23px; border: 1px solid var(--cantina-border); border-top: 3px solid var(--cantina-olive); border-radius: var(--cantina-radius); background: var(--cantina-surface); color: var(--cantina-olive); }
.management-section .admin-metrics article:nth-child(2) { border-top-color: var(--cantina-brand); }
.management-section .admin-metrics span { font: 500 12px/1.5 var(--cantina-body); }
.management-section .admin-metrics b { margin-top: 16px; color: var(--cantina-brand); font: 500 clamp(24px, 2.3vw, 32px)/1.3 var(--cantina-heading); overflow-wrap: anywhere; }
.management-search { display: grid; gap: 8px; margin-bottom: 24px; }
.admin-dashboard #management-search { background: var(--cantina-surface-muted); border-color: transparent; }
.management-record { padding: 0; margin: 12px 0; border: 1px solid var(--cantina-border); border-radius: var(--cantina-radius); background: var(--cantina-surface); overflow: hidden; }
.management-record > summary { display: flex; align-items: center; gap: 14px; padding: 19px 20px; list-style: none; color: var(--ink); font: 500 13px/1.6 var(--cantina-body); }
.management-record > summary::-webkit-details-marker,
.management-mobile-menu > summary::-webkit-details-marker { display: none; }
.management-record > summary:hover { background: #e9e8dd66; }
.management-record[open] > summary { margin: 0; background: #e9e8dd66; border-bottom: 1px solid var(--cantina-border); }
.management-record-title { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.management-record-title small { display: block; margin-top: 3px; font-size: 11px; font-weight: 400; color: var(--cantina-olive); }
.management-record-thumbnail { width: 52px; height: 60px; object-fit: cover; border-radius: 2px; }
.management-chevron { display: block; flex: 0 0 auto; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin: -4px 2px 0 6px; color: var(--cantina-brand); }
details[open] > summary > .management-chevron { transform: rotate(225deg); margin-top: 4px; }
.management-status { flex-shrink: 0; max-width: 150px; padding: 4px 9px; border: 1px solid #80795440; border-radius: 3px; background: var(--cantina-surface-muted); color: #625c3e; font-size: 10px; font-weight: 600; text-align: center; }
.management-status:is([data-status="cancelled"], [data-status="inactive"], [data-status="refund_pending"]) { background: #73051f0a; color: var(--cantina-brand); border-color: #73051f30; }
.management-record-body { padding: 20px; }
.management-record-body > p { margin: 0 0 16px; overflow-wrap: anywhere; }
.management-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: none; margin: 0; }
.management-section > .management-form { padding: 24px; margin: 20px 0 32px; border: 1px solid var(--cantina-border); background: var(--cantina-surface); border-radius: var(--cantina-radius); }
.management-form > label { display: flex; flex-direction: column; gap: 7px; }
.management-form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; padding-top: 4px; }
.management-record-body > .management-form + .management-form { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--cantina-border); }
.management-record > summary:focus-visible { outline-offset: -3px; }
.management-form .form-feedback { grid-column: 1 / -1; margin: 0; padding: 12px 16px; border-left: 3px solid var(--cantina-brand); background: #73051f08; color: var(--cantina-brand); font-size: 13px; }
.management-form .form-feedback:empty { display: none; }
.management-day { border-bottom: 1px solid var(--cantina-border); padding: 0 0 24px; margin-bottom: 24px; }
.management-day > p { margin: 8px 0; }
.management-day .management-form { margin-top: 18px; }
.management-product-image { display: block; width: 140px; height: 160px; object-fit: cover; border-radius: 2px; margin: 0 0 24px; }
.management-table-wrap { max-width: 100%; margin: 24px 0; overflow-x: auto; border: 1px solid var(--cantina-border); border-radius: var(--cantina-radius); background: var(--cantina-surface); }
.management-table-wrap table { font: 400 12px/1.6 var(--cantina-body); }
.management-table-wrap th { background: var(--cantina-surface-muted); color: var(--cantina-olive); font-weight: 600; }
.management-table-wrap td,
.management-table-wrap th { padding: 14px 16px; border-bottom: 1px solid var(--cantina-border); }
.management-table-wrap tr:last-child td { border-bottom: 0; }
.management-table-wrap tbody tr:hover { background: #e9e8dd55; }
.management-table-wrap td:first-child { white-space: normal; min-width: 140px; }
.route-admin-dashboard #site-footer { display: block; }
.admin-auth-screen .auth-card::before,
.admin-auth-screen .auth-card::after { display: none; }
.admin-auth-screen .admin-kicker { color: var(--cantina-brand); font-family: var(--cantina-body); }

@media (max-width: 1000px) {
  .management-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 24px; }
  .management-section .admin-metrics { gap: 10px; }
  .management-section .admin-metrics article { padding: 16px; }
}
@media (max-width: 760px) {
  .management-layout { display: block; padding-top: 24px; padding-bottom: 36px; }
  .management-sidebar { position: static; margin-bottom: 24px; }
  .management-identity { padding: 0 0 16px; margin-bottom: 16px; }
  .management-sidebar .management-desktop-nav { display: none; }
  .management-mobile-menu { display: block; background: var(--cantina-surface); border: 1px solid var(--cantina-border); border-radius: var(--cantina-radius); }
  .management-mobile-menu > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; color: var(--cantina-brand); font-weight: 600; cursor: pointer; }
  .management-mobile-menu > summary small { display: block; color: var(--cantina-olive); font-size: 10px; font-weight: 400; margin-bottom: 3px; }
  .management-mobile-menu nav { padding: 8px; border-top: 1px solid var(--cantina-border); }
  .management-sidebar nav button { min-height: 44px; }
  .management-tools { justify-content: space-between; }
  .management-tools label { flex: 1; }
  .management-section .admin-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .management-topbar { padding-block: 18px 12px; gap: 12px; }
  .management-brand img { width: 118px; height: 66px; }
  .management-header-actions { gap: 20px; }
  .management-header-actions a,
  .management-header-actions button { font-size: 11px; }
  .management-hero-copy { padding-top: 16px; padding-bottom: 28px; }
  .management-hero-copy h1 { font-size: 30px; }
  .admin-dashboard .management-hero-copy p { font-size: 12px; }
  .management-section .admin-metrics { grid-template-columns: 1fr; gap: 12px; margin-bottom: 26px; }
  .management-section .admin-metrics article { min-height: 100px; flex-direction: row; align-items: center; gap: 18px; padding: 20px; }
  .management-section .admin-metrics span { max-width: 145px; }
  .management-section .admin-metrics b { margin: 0; font-size: 26px; text-align: right; }
  .management-record > summary { display: grid; grid-template-columns: minmax(0, 1fr) 12px; padding: 16px; gap: 10px; }
  .management-record-title { grid-column: 1; grid-row: 1; }
  .management-status { grid-column: 1; grid-row: 2; justify-self: start; max-width: 100%; }
  .management-record > summary > .management-chevron { grid-column: 2; grid-row: 1; margin-inline: 0; }
  .management-record > summary:has(.management-record-thumbnail) { grid-template-columns: 52px minmax(0, 1fr) 12px; }
  .management-record-thumbnail { grid-column: 1; grid-row: 1 / 3; }
  .management-record > summary:has(.management-record-thumbnail) .management-record-title,
  .management-record > summary:has(.management-record-thumbnail) .management-status { grid-column: 2; }
  .management-record > summary:has(.management-record-thumbnail) .management-chevron { grid-column: 3; }
  .management-record-body { padding: 18px 16px; }
  .management-form { grid-template-columns: 1fr; gap: 18px; }
  .management-section > .management-form { padding: 20px 16px; }
  .management-form-actions .wine-button { width: 100%; }
  .admin-dashboard :is(input, select, textarea) { font-size: 16px; }
  .management-section h2 { font-size: 22px; }
  .route-admin-dashboard #site-footer { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .admin-dashboard * { scroll-behavior: auto; transition: none; }
}

/* Conferência no balcão: o código abre os itens, a entrega tem ação própria. */
.pickup-steps { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0 0 24px; padding: 0; list-style: none; color: var(--cantina-olive); font-size: 12px; }
.management-section > .pickup-lookup { grid-template-columns: minmax(0, 1fr) auto; align-items: end; margin-bottom: 16px; }
.pickup-lookup input { text-transform: uppercase; letter-spacing: .06em; }
.pickup-lookup > p { grid-column: 1 / -1; margin: 0; color: var(--cantina-olive); font-size: 11px; }
.pickup-feedback:empty { display: none; }
.management-section > .pickup-feedback { margin: 16px 0; padding: 14px 16px; border-left: 3px solid var(--cantina-brand); color: var(--cantina-brand); background: #73051f08; }
.pickup-review { border: 1px solid var(--cantina-border); border-radius: var(--cantina-radius); padding: 24px; background: var(--cantina-surface); }
.pickup-review > header { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.pickup-review .management-eyebrow { color: var(--cantina-olive); }
.pickup-review h2 { margin: 8px 0 20px; font-size: 22px; overflow-wrap: anywhere; }
.pickup-review h2:focus { outline: 0; }
.pickup-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 20px 0; margin: 0; border-block: 1px solid var(--cantina-border); }
.pickup-facts dt { color: var(--cantina-olive); font-size: 11px; }
.pickup-facts dd { margin: 4px 0 0; font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.pickup-items-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 26px; }
.pickup-items-heading h3 { margin: 0; }
.pickup-items-heading > strong { color: var(--cantina-brand); font-size: 13px; white-space: nowrap; }
.pickup-help,.pickup-collected-at { color: var(--cantina-olive); font-size: 12px; }
.pickup-checklist { padding: 0; margin: 20px 0 0; list-style: none; }
.pickup-checklist li { border-top: 1px solid var(--cantina-border); }
.pickup-checklist .pickup-line { display: flex; align-items: center; gap: 14px; padding: 18px 0; color: var(--ink); }
.pickup-checklist label.pickup-line { cursor: pointer; }
.pickup-checklist .pickup-line input[type="checkbox"] { appearance: auto; width: 22px; height: 22px; min-height: 0; flex: 0 0 22px; accent-color: var(--cantina-brand); margin: 0; padding: 0; }
.pickup-line img { width: 62px; height: 70px; object-fit: cover; border-radius: 2px; }
.pickup-item-copy { display: grid; gap: 6px; flex: 1; min-width: 0; }
.pickup-item-copy strong { font-size: 14px; overflow-wrap: anywhere; }
.pickup-item-copy small { font-size: 11px; font-weight: 400; color: var(--cantina-olive); }
.pickup-quantity { color: var(--cantina-brand); font: 600 26px var(--cantina-heading); }
.pickup-line:has(input:checked) { background: #e9e8dd80; }
.pickup-total { display: flex; justify-content: space-between; gap: 16px; padding-top: 20px; border-top: 1px solid var(--cantina-border); font-size: 13px; }
.pickup-total strong { color: var(--cantina-brand); }
.pickup-confirmation { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
.pickup-confirmation p { font-size: 12px; color: var(--cantina-olive); }
.pickup-review .pickup-next { display: block; margin: 20px 0 0; color: var(--cantina-brand); font: 500 12px var(--cantina-body); text-decoration: underline; text-underline-offset: 4px; }
.pickup-notice { padding: 14px 16px; border-left: 3px solid var(--cantina-brand); background: #73051f08; color: var(--cantina-brand); }
.pickup-success { border-color: var(--cantina-olive); background: var(--cantina-surface-muted); color: var(--ink); }
@media (max-width: 650px) {
  .management-section > .pickup-lookup { grid-template-columns: 1fr; }
  .pickup-review { padding: 20px 16px; }
  .pickup-review > header { flex-direction: column; gap: 0; margin-bottom: 18px; }
  .pickup-review h2 { font-size: 20px; }
  .pickup-facts { grid-template-columns: 1fr; gap: 14px; }
  .pickup-checklist .pickup-line { gap: 10px; }
  .pickup-line img { width: 46px; height: 54px; }
  .pickup-item-copy strong { font-size: 12px; }
  .pickup-quantity { font-size: 23px; }
  .pickup-confirmation { display: block; }
  .pickup-confirmation .wine-button { width: 100%; }
}
