.nap-top-badge{display:inline-flex!important;align-items:center;gap:.3em;padding:.28em .62em;border-radius:6px;background:#ffe45c;color:#17150b!important;font:800 12px/1.3 system-ui,sans-serif;letter-spacing:.04em;width:fit-content;flex-shrink:0}
.listing-card.nap-is-top,.category-card.nap-is-top{background:#fffbea!important;border:2px solid #e0bd30!important;box-shadow:0 3px 15px #a8801510}.nap-is-top .listing-body,.nap-is-top .category-card-body{background:#fffbea!important}.nap-is-top .nap-top-badge{margin-bottom:6px}.nap-top-link{display:inline-flex;align-items:center;padding:9px 13px;border-radius:9px;background:#ffe45c;color:#151515!important;text-decoration:none;font-weight:750;margin:4px;line-height:1.3}
.nap-top-page { margin:0; padding:28px 24px; background:#484849; color:#09090a; font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.nap-top-page *, .nap-top-page *::before, .nap-top-page *::after { box-sizing:border-box; }
.nap-top-page [hidden] { display:none!important; }
.top-main { max-width:1060px; margin:0 auto; padding:30px 34px; border-radius:26px; background:#fff; box-shadow:0 28px 80px #0003; }
.top-header { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:24px; }
.top-header .top-brand { margin:0; text-decoration:none; color:#09090a; flex-shrink:0; }
.top-window-actions { display:flex; gap:8px; align-items:center; }
.top-window-actions a { text-decoration:none; }
.top-title h1 { font-size:clamp(1.65rem,4vw,2.25rem); font-weight:700; line-height:1.2; margin:0 0 8px; }
.top-title p { margin:0; color:#666; }
.top-tabs { margin-top:20px; }
.top-tabs .nap-dashboard-tab { text-decoration:none; flex-shrink:0; }
.top-tabs [aria-current="page"] { color:#09090a; background:#fff; box-shadow:0 4px 14px #00000014; }
.top-panel { min-width:0; border:1px solid #e0dfda; border-radius:18px; padding:20px; margin:18px 0; background:#fff; }
.top-panel h2 { margin:0 0 16px; font-size:1.25rem; line-height:1.4; overflow-wrap:anywhere; }
.top-panel h3 { margin:0 0 12px; font-size:1.05rem; }
.top-panel a { color:#266fd1; text-underline-offset:3px; overflow-wrap:anywhere; }
.top-muted { margin:8px 0 14px; font-size:.9rem; color:#666; }
.top-primary, .top-secondary { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:50px; padding:12px 18px; border-radius:13px; font:inherit; line-height:1.35; font-family:inherit; font-size:.95rem; font-weight:800; cursor:pointer; text-align:center; text-decoration:none!important; max-width:100%; }
.nap-top-page .top-primary { border:1px solid #09090a; background:#09090a; color:#ffe33d; }
.nap-top-page .top-secondary { border:1px solid #d4d4d4; background:#fff; color:#09090a; }
.top-panel > .top-secondary, .top-panel > .top-primary { margin:10px 8px 10px 0; }
.nap-top-page button:disabled { opacity:.55; cursor:wait; }
.top-form { display:grid; gap:14px; border-top:1px solid #e0dfda; padding-top:20px; margin-top:24px; }
.top-field { display:grid; gap:7px; font-size:.9rem; font-weight:800; min-width:0; margin:0; }
.top-field input, .top-field select { min-width:0; width:100%; min-height:50px; padding:12px 14px; border:1px solid #d4d4d4; border-radius:13px; background:#fff; color:#09090a; font:400 16px/1.4 system-ui,sans-serif; }
.top-field select { text-overflow:ellipsis; }
.top-check { display:flex; align-items:flex-start; gap:11px; margin:8px 0; font-size:.95rem; }
.top-check input { width:21px; height:21px; flex-shrink:0; margin-top:3px; accent-color:#09090a; }
.top-facts { display:grid; grid-template-columns:minmax(88px,130px) minmax(0,1fr); gap:10px 18px; margin:20px 0 24px; padding:16px; border:1px solid #e0dfda; border-radius:14px; background:#f7f6f2; font-size:.95rem; }
.top-facts dt { color:#666; }
.top-facts dd { margin:0; font-weight:700; overflow-wrap:anywhere; }
.top-error, .top-success:not(:empty) { border-radius:12px; padding:12px 14px; font-weight:700; }
.top-error { background:#fff0ef; color:#a3291f; }
.top-success:not(:empty) { background:#e9f8f1; color:#087653; }
#top-status:empty { display:none; }
.top-state { display:inline-flex; width:fit-content; margin:0 0 12px; padding:6px 10px; border-radius:9px; background:#ffe33d; color:#09090a; font-size:.82rem; font-weight:850; }
.top-grant { margin-top:20px; padding:16px; border:1px solid #e5ce57; border-radius:14px; background:#fffbea; }
.top-grant .top-muted { margin:0 0 12px; }
.top-stop { margin:0; }
.top-qr { max-width:420px; margin:24px 0; }
.top-qr canvas { width:280px; max-width:100%; height:auto; display:block; image-rendering:pixelated; border:1px solid #e0dfda; }
.top-qr button { margin-top:14px; }
.top-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:end; margin-bottom:12px; }
.top-order-list { display:grid; gap:12px; margin-top:18px; }
.top-order { border:1px solid #e0dfda; border-radius:14px; padding:16px; min-width:0; }
.top-order-title { display:block; margin:0 0 12px; font-weight:800; overflow-wrap:anywhere; line-height:1.4; }
.top-order .top-muted { margin-bottom:0; }
.top-order .top-secondary { margin-top:12px; }
.top-pages { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; }
.top-panel details, .top-help { border-top:1px solid #e0dfda; padding-top:18px; margin-top:24px; }
.top-help { color:#666; font-size:.9rem; }
.top-help summary, .top-panel summary { color:#09090a; font-weight:800; cursor:pointer; }
.top-panel details p { overflow-wrap:anywhere; }
.nap-top-page :focus-visible { outline:3px solid #ffe33d; outline-offset:3px; }
.nap-top-dashboard-tab { text-decoration:none; }
.nap-manage-row > .nap-manage-actions:last-child { display:grid; grid-column:1/-1; grid-auto-flow:row; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.nap-manage-actions > .nap-top-link { margin:0; justify-content:center; padding:8px; font-size:.85rem; min-height:42px; border:1px solid #e8ce43; border-radius:9px; text-align:center; }
.nap-manage-actions > .nap-edit, .nap-manage-actions > .nap-delete { min-height:42px; font-size:.85rem; padding:8px; }
.nap-manage-row:has(> .nap-manage-actions) { grid-template-columns:68px minmax(0,1fr); }
@media(max-width:760px) {
  .nap-top-page { padding:8px 0 0; }
  .top-main { padding:22px 14px 32px; border-radius:24px 24px 0 0; min-height:calc(100dvh - 8px); }
  .top-header { gap:8px; }
  .top-header .top-brand { font-size:.73rem; letter-spacing:.08em; gap:8px; }
  .top-brand span { flex-shrink:0; }
  .top-window-actions { gap:5px; }
  .top-panel { padding:14px; }
  .top-facts { grid-template-columns:80px minmax(0,1fr); gap:10px 12px; padding:13px; font-size:.9rem; }
  .top-filters { grid-template-columns:1fr; }
  .top-form > .top-primary { width:100%; }
  .nap-manage-row:has(> .nap-manage-actions) { grid-template-columns:58px minmax(0,1fr); }
}
@media(max-width:359px) {
  .top-header .top-brand { font-size:.63rem; letter-spacing:.03em; }
  .top-window-actions { gap:0; }
}
@media print {
  .nap-top-link, .top-tabs, .top-header, .top-form, .top-filters, .top-primary, .top-secondary, .top-help, .top-stop { display:none!important; }
  .nap-top-page { background:white; padding:0; }
  .top-main { padding:0; box-shadow:none; }
  .top-panel { border:0; padding:0; }
  .top-qr canvas { width:180px; }
}

/* V6.42: the payment and bank reconciliation fit the existing account design. */
.top-checkout .top-title,.top-checkout > .top-main > .nap-dashboard-identity,.top-checkout .top-tabs{display:none}
.top-checkout .top-main{max-width:680px}
.top-checkout .top-header{margin-bottom:12px}
.top-price{margin:8px 0;font-size:1.5rem;font-weight:850;line-height:1.25}
.top-price-small{font-size:1.15rem;margin:6px 0;font-weight:850}
.top-qr{max-width:100%;text-align:center;margin:18px 0}
.top-qr canvas{width:240px;max-width:100%;margin:0 auto;border:0}
.top-qr-caption{display:block;font-size:.85rem;margin-top:4px}
.top-copy-row,.top-quick-filters,.top-return-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.top-copy{background:#fff;border:1px solid #d4d4d4;border-radius:10px;padding:10px 12px;min-height:44px;font:700 .88rem/1.3 system-ui;cursor:pointer;color:#09090a}
.top-quick-filters a{padding:10px 14px;border:1px solid #d4d4d4;border-radius:10px;font-weight:750;color:#09090a;text-decoration:none;min-height:44px}
.top-quick-filters [aria-current=page]{background:#ffe45c;border-color:#e5ce57}
.top-search{display:flex;gap:10px;align-items:end}.top-search .top-field{flex:1}
.top-search{display:grid;grid-template-columns:minmax(0,1fr) auto}.top-search > details{grid-column:1/-1;grid-row:2;min-width:0;margin-top:4px}.top-search > details > .top-field{margin-top:12px}
.top-order > .top-primary{margin-top:14px;width:100%}
.top-order .top-facts{margin:12px 0}
.top-payment-contact{display:inline-block;padding:12px 0;font-weight:700}
.top-report{border:0;padding:0;margin:18px 0}
.top-return-actions a{flex:1}
@media(max-width:480px){.top-search{flex-wrap:wrap}.top-search .top-field{flex-basis:100%}.top-search .top-primary{width:100%}.top-price{font-size:1.35rem}.top-quick-filters{gap:6px}.top-quick-filters a{font-size:.85rem;padding:10px}}
@media print{.top-copy-row,.top-quick-filters,.top-search,.top-return-actions{display:none!important}}

/* V6.43: contain admin thumbnails, including missing-image placeholders. */
.nap-manage-row > img,.nap-manage-row > img.nap-listing-placeholder{display:block;width:68px;height:58px;min-width:0;max-width:100%;max-height:58px;align-self:center;margin:0}
.nap-manage-row > img.nap-listing-placeholder{object-fit:contain;background:#f2f1ed}
.nap-manage-row > .nap-manage-actions.nap-manage-actions-has-top-stop:last-child{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}
.nap-manage-actions > .nap-top-disable,.nap-top-page .top-disable{border:1px solid #9f3225;background:#fff4f1;color:#9f3225;font:800 .85rem/1.35 system-ui;min-height:44px;padding:10px 8px;border-radius:9px;text-align:center;cursor:pointer}
.nap-top-disable:disabled{opacity:.55;cursor:wait}
.nap-top-disable:focus-visible{outline:3px solid #ffe33d;outline-offset:3px}
@media(max-width:760px){.nap-manage-row > img,.nap-manage-row > img.nap-listing-placeholder{width:58px;height:52px;max-height:52px}}
/* V6.44: owner controls on listing cards leave room for the favorite heart. */
.listing-card > .nap-card-management {
  right: 4rem;
  flex-wrap: wrap;
  align-items: flex-start;
}
.listing-card > .nap-card-management > button,
.listing-card > .nap-card-management > .nap-card-top {
  box-sizing: border-box;
  min-height: 44px;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border-radius: 10px;
  font: inherit;
  font-size: .78rem;
  font-weight: 900;
  line-height: 1.3;
  text-align: center;
  overflow-wrap: anywhere;
}
.listing-card > .nap-card-management > .nap-card-top {
  background: #ffe45c;
  color: #0b0b0c;
  border: 1px solid #dcc440;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .2);
  text-decoration: none;
  cursor: pointer;
}
.listing-card > .nap-card-management > :focus-visible {
  outline: 3px solid #397ee8;
  outline-offset: 2px;
}

/* V6.46: prevent old last-child column flow from creating implicit columns.
   Every action keeps a full grid cell, including after TOP is activated. */
.nap-manage-row > .nap-manage-actions > button,
.nap-manage-row > .nap-manage-actions > a {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  min-height: 44px;
  height: auto;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
}
