/* BoothNest v18 clean NOA-style baseline. Single active UI layer. */
:root{
  --bn-primary:#1f7a52;
  --bn-primary-dark:#0f3a28;
  --bn-primary-soft:#e9f7f0;
  --bn-gold:#e7cf86;
  --bn-bg:#f1f5f9;
  --bn-card:#fff;
  --bn-text:#1f2937;
  --bn-heading:#111827;
  --bn-muted:#6b7280;
  --bn-border:#e5e7eb;
  --bn-border-soft:#eef2f7;
  --bn-shadow:0 4px 16px rgba(31,41,55,.06);
  --bn-radius:14px;
  --bn-sidebar-width:280px;
  --bn-topbar-height:72px;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--bn-bg);color:var(--bn-text);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px}
a{color:var(--bn-primary);text-decoration:none}
.bn-app{display:flex;min-height:100vh;background:var(--bn-bg)}
.bn-sidebar{width:var(--bn-sidebar-width);min-width:var(--bn-sidebar-width);height:100vh;background:#fff;border-right:1px solid var(--bn-border);display:flex;flex-direction:column;position:sticky;top:0;z-index:20}
.bn-sidebar-brand{height:var(--bn-topbar-height);display:flex;align-items:center;gap:11px;padding:13px 18px;border-bottom:1px solid var(--bn-border-soft)}
.bn-sidebar-logo{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 3px 12px rgba(31,41,55,.08);overflow:hidden;flex:0 0 auto}
.bn-sidebar-logo img{width:100%;height:100%;object-fit:contain}
.bn-sidebar-title{font-size:21px;font-weight:850;letter-spacing:-.6px;color:#111827;line-height:1}
.bn-sidebar-title span{color:var(--bn-primary)}
.bn-sidebar-sub{font-size:11px;font-weight:600;color:var(--bn-muted);margin-top:3px;white-space:nowrap}
.bn-menu{flex:1;overflow-y:auto;padding:13px 12px}
.bn-menu-label{font-size:11px;font-weight:800;color:#9ca3af;text-transform:uppercase;letter-spacing:.075em;padding:13px 12px 8px}
.bn-menu-group{margin-bottom:4px}
.bn-menu-btn{width:100%;min-height:42px;border:0;background:transparent;color:#4b5563;display:flex;align-items:center;justify-content:space-between;border-radius:9px;padding:0 11px;font-weight:700;cursor:pointer;transition:.16s ease;font-size:14px}
.bn-menu-btn:hover{background:#f4f7fb;color:var(--bn-primary)}
.bn-menu-left{display:flex;align-items:center;gap:10px}
.bn-menu-icon{width:30px;height:30px;border-radius:8px;background:#f3f6fa;color:#64748b;display:flex;align-items:center;justify-content:center;font-size:15px}
.bn-menu-group.active .bn-menu-btn,.bn-menu-btn.is-active{background:var(--bn-primary-soft);color:var(--bn-primary)}
.bn-menu-group.active .bn-menu-icon{background:#dcefe6;color:var(--bn-primary)}
.bn-submenu{margin:4px 0 8px 41px;padding-left:12px;border-left:1px solid #edf1f6;display:block}
.bn-submenu.is-collapsed{display:none}
.bn-submenu a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:#647083;padding:8px 10px;border-radius:8px;font-weight:600;font-size:13px;line-height:1.25}
.bn-submenu a:hover{background:#f4f7fb;color:var(--bn-primary)}
.bn-live-badge{background:var(--bn-primary);color:#fff;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800;margin-left:4px}
.bn-sidebar-user{border-top:1px solid var(--bn-border-soft);padding:14px}
.bn-user-mini{display:flex;align-items:center;gap:10px;background:#f8fafc;border:1px solid var(--bn-border-soft);border-radius:12px;padding:10px}
.bn-user-avatar{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--bn-primary),var(--bn-primary-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:850}
.bn-user-name{font-size:13px;font-weight:800;color:#111827;line-height:1.1;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bn-user-role{font-size:11px;color:var(--bn-muted);margin-top:2px}
.bn-user-actions{display:flex;gap:8px;margin-top:10px}
.bn-user-actions a{flex:1;text-align:center;text-decoration:none;padding:8px;border-radius:9px;font-size:12px;font-weight:800}
.bn-profile{background:var(--bn-primary);color:#fff}
.bn-logout{background:#fff;border:1px solid var(--bn-border);color:#4b5563}
.bn-main{flex:1;min-width:0;display:flex;flex-direction:column}
.bn-topbar{height:var(--bn-topbar-height);background:#fff;border-bottom:1px solid var(--bn-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:15}
.bn-page-title{font-size:19px;font-weight:850;color:#111827;line-height:1.1}
.bn-breadcrumb{font-size:12px;color:var(--bn-muted);margin-top:4px}
.bn-top-actions{display:flex;align-items:center;gap:10px}
.bn-searchbox{width:280px;height:40px;border:1px solid var(--bn-border);border-radius:10px;padding:0 12px;color:#64748b;background:#f8fafc;display:flex;align-items:center;gap:8px;font-weight:600}
.bn-icon-btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--bn-border);background:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#4b5563;position:relative}
.bn-icon-btn:hover{background:#f8fafc;color:var(--bn-primary)}
.bn-dot{position:absolute;right:8px;top:8px;width:8px;height:8px;border-radius:50%;background:#ef4444;border:2px solid #fff}
.bn-quick-btn{background:var(--bn-primary);color:#fff!important;text-decoration:none;border-radius:10px;padding:11px 14px;font-weight:800;box-shadow:0 6px 14px rgba(31,122,82,.18)}
.bn-mobile-menu-btn{display:none;width:42px;height:42px;border:1px solid var(--bn-border);border-radius:10px;background:#fff;align-items:center;justify-content:center;font-size:20px;cursor:pointer}
.bn-mobile-backdrop{display:none}
.bn-content{flex:1;padding:24px;width:100%;max-width:1440px;margin:0 auto}
.bn-hero{background:linear-gradient(135deg,var(--bn-primary),#2b8058);color:#fff;border-radius:14px;padding:22px 24px;margin-bottom:22px;box-shadow:var(--bn-shadow);position:relative;overflow:hidden}
.bn-hero:after{content:"";position:absolute;right:-70px;top:-85px;width:270px;height:270px;border-radius:50%;background:rgba(255,255,255,.12)}
.bn-hero-kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:#d8eadf}
.bn-hero h1{font-size:28px;margin:6px 0 7px;line-height:1.1}
.bn-hero p{margin:0;color:#e5f3eb;max-width:760px}
.bn-grid{display:grid;gap:18px}
.bn-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}
.bn-kpi-card{background:#fff;border:1px solid var(--bn-border);border-radius:14px;box-shadow:var(--bn-shadow);padding:18px;display:flex;align-items:flex-start;justify-content:space-between;min-height:118px}
.bn-kpi-label{font-size:13px;color:var(--bn-muted);font-weight:750;margin-bottom:8px}
.bn-kpi-value{font-size:27px;font-weight:900;color:#111827;letter-spacing:-.8px}
.bn-kpi-note{font-size:12px;color:#8a94a6;margin-top:7px;font-weight:600}
.bn-kpi-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--bn-primary-soft);color:var(--bn-primary);font-size:20px}
.bn-section-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}
.bn-card,.card,.panel,.box,.dashboard-card,.stat-card,.content-card{background:#fff;border:1px solid var(--bn-border);border-radius:14px;box-shadow:var(--bn-shadow);padding:20px}
.bn-card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.bn-card-title h2{margin:0;font-size:17px;color:#111827}
.bn-card-title a{font-size:13px;font-weight:800;text-decoration:none}
.bn-list{display:grid;gap:10px}
.bn-list-item{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--bn-border-soft);border-radius:12px;padding:12px;background:#fbfcfe;gap:10px}
.bn-list-main{font-weight:800;color:#1f2937}
.bn-list-sub{font-size:12px;color:var(--bn-muted);margin-top:3px}
.bn-pill{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;background:var(--bn-primary-soft);color:var(--bn-primary)}
button,.btn,input[type="submit"],a.button{border-radius:10px!important;font-weight:800!important}
.btn-primary,.button-primary,button.primary{background:var(--bn-primary)!important;border-color:var(--bn-primary)!important;color:#fff!important}
input,select,textarea{border-radius:10px!important;border:1px solid #dbe3ee!important;width:100%;padding:10px 12px}
table{border-collapse:separate!important;border-spacing:0!important;width:100%}
th{font-weight:800!important;color:#1f2937!important;background:#f8fafc!important}
td,th{border-color:#eef2f7!important;padding:10px}
.alert{padding:12px;border-radius:12px;margin:0 0 16px;background:#ecfdf3;color:#14532d;border:1px solid #bbf7d0}
.bn-login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(circle at 20% 15%,rgba(31,122,82,.14),transparent 32%),radial-gradient(circle at 80% 10%,rgba(231,207,134,.18),transparent 30%),var(--bn-bg)}
.bn-login-card{width:min(440px,94vw);background:#fff;border:1px solid var(--bn-border);border-radius:16px;box-shadow:0 20px 55px rgba(31,41,55,.14);padding:30px}
.bn-login-logo{display:block;width:310px;max-width:100%;margin:0 auto 18px}
.bn-login-title{text-align:center;font-size:26px;font-weight:850;margin:0 0 6px;color:#111827}
.bn-login-sub{text-align:center;color:var(--bn-muted);margin:0 0 22px}
.bn-login-card label{font-weight:750;color:#4b5563;font-size:13px;display:block;margin-bottom:12px}
.bn-login-card button,.bn-login-card input[type="submit"]{width:100%;padding:12px 15px;border:0;background:var(--bn-primary);color:#fff;border-radius:10px}
@media(max-width:1100px){.bn-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bn-section-grid{grid-template-columns:1fr}.bn-searchbox{display:none}}
@media(max-width:900px){
  .bn-app{display:block}
  .bn-sidebar{position:fixed;transform:translateX(-104%);transition:transform .22s ease;box-shadow:12px 0 35px rgba(15,23,42,.18)}
  body.bn-sidebar-open .bn-sidebar{transform:translateX(0)}
  .bn-mobile-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:18}
  body.bn-sidebar-open .bn-mobile-backdrop{display:block}
  .bn-mobile-menu-btn{display:inline-flex}
  .bn-topbar{position:sticky;height:auto;min-height:66px;padding:12px 14px;gap:10px}
  .bn-breadcrumb{display:none}
  .bn-content{padding:14px;max-width:none}
  .bn-hero{padding:18px}.bn-hero h1{font-size:22px}.bn-hero p{font-size:13px}
  .bn-kpi-grid,.bn-section-grid{grid-template-columns:1fr;gap:12px}
}
@media(max-width:520px){.bn-topbar{flex-wrap:wrap}.bn-top-actions{width:100%;justify-content:space-between}.bn-quick-btn{flex:1;text-align:center}.bn-kpi-value{font-size:24px}}


/* v19.2 UI/profile/security polish */
.hero-logo,.profile-logo{max-width:260px;height:auto;display:block;margin-bottom:10px}.mobile-hero .hero-logo{margin:0 0 10px 0}.filters,.bulk-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.filters input,.filters select,.bulk-bar select{min-width:180px;width:auto;flex:1}.bulk-bar button,.filters button{width:auto}.quick-form label,.form-panel label,.bn-avatar-form label{display:block;margin-bottom:14px;font-weight:800}.quick-form input,.quick-form select,.quick-form textarea,.bn-avatar-form input{margin-top:6px}.photo-picker,.bn-avatar-form label{background:#fbfcfe;border:1px dashed #dbe3ee;border-radius:14px;padding:14px}.muted,small.muted{color:var(--bn-muted);font-weight:600}.bn-user-avatar{overflow:hidden}.bn-user-avatar img{width:100%;height:100%;object-fit:cover;display:block}.bn-profile-hero-v19{display:flex;gap:18px;align-items:center}.bn-profile-avatar-xl{width:96px;height:96px;border-radius:24px;background:linear-gradient(135deg,var(--bn-primary),var(--bn-primary-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:28px;overflow:hidden;flex:0 0 auto}.bn-profile-avatar-xl img{width:100%;height:100%;object-fit:cover}.bn-profile-main h1{margin:.25rem 0}.bn-avatar-upload-panel{margin:16px 0}.bn-avatar-form{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end}.bn-avatar-form button{height:44px;width:auto}.table-responsive{width:100%;overflow:auto}.badge.active{background:#dcfce7;color:#166534}.badge.sold{background:#dbeafe;color:#1d4ed8}.badge.removed{background:#fee2e2;color:#991b1b}.badge{display:inline-flex;border-radius:999px;padding:4px 9px;font-weight:850;font-size:12px}@media(max-width:700px){.bn-avatar-form{grid-template-columns:1fr}.filters input,.filters select,.bulk-bar select,.filters button,.bulk-bar button{width:100%;min-width:0}.bn-profile-hero-v19{align-items:flex-start}.profile-logo{max-width:210px}}
/* BoothNest v18.8 smart topbar: working search + live notifications */
.bn-top-actions{position:relative}.bn-smart-search{position:relative;width:min(420px,42vw)}.bn-smart-search input{width:100%;height:42px;border:1px solid var(--bn-border);border-radius:12px;background:#f8fafc;padding:0 14px 0 40px;color:#111827;font-weight:700;outline:none}.bn-smart-search input:focus{background:#fff;border-color:var(--bn-primary);box-shadow:0 0 0 3px rgba(31,122,82,.10)}.bn-smart-search .bn-search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:15px;color:#64748b;pointer-events:none}.bn-smart-results{display:none;position:absolute;top:49px;right:0;left:0;background:#fff;border:1px solid var(--bn-border);border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.16);overflow:hidden;z-index:1000}.bn-smart-results.is-open{display:block}.bn-smart-result{display:grid;grid-template-columns:78px 1fr;gap:10px;text-decoration:none;padding:12px 14px;color:#111827;border-bottom:1px solid var(--bn-border-soft);align-items:start}.bn-smart-result:hover{background:#f6fbf8}.bn-smart-result strong{display:block;font-size:13px;line-height:1.25}.bn-smart-result small{display:block;font-size:12px;color:#64748b;margin-top:2px;line-height:1.25}.bn-smart-type{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--bn-primary-soft);color:var(--bn-primary);font-weight:900;font-size:11px;padding:4px 8px;white-space:nowrap}.bn-smart-empty{padding:14px;color:#64748b;font-size:13px;font-weight:650}.bn-notify-wrap{position:relative}.bn-notify-btn{cursor:pointer}.bn-notify-count{display:none;position:absolute;right:-6px;top:-7px;min-width:19px;height:19px;border-radius:999px;background:#ef4444;color:#fff;border:2px solid #fff;font-size:10px;font-weight:900;align-items:center;justify-content:center;padding:0 5px}.bn-notify-btn.has-live{box-shadow:0 0 0 3px rgba(239,68,68,.10)}.bn-notify-btn.has-live:after{content:"";position:absolute;inset:3px;border-radius:10px;border:1px solid rgba(239,68,68,.38);animation:bnPulse 1.6s ease-out infinite}@keyframes bnPulse{0%{transform:scale(.85);opacity:.75}100%{transform:scale(1.25);opacity:0}}.bn-notify-panel{display:none;position:absolute;right:0;top:49px;width:340px;background:#fff;border:1px solid var(--bn-border);border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.16);overflow:hidden;z-index:1000}.bn-notify-panel.is-open{display:block}.bn-notify-head{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-bottom:1px solid var(--bn-border-soft)}.bn-notify-head a{font-size:12px;font-weight:850;color:var(--bn-primary);text-decoration:none}.bn-notify-item{display:block;text-decoration:none;color:#111827;padding:12px 14px;border-bottom:1px solid var(--bn-border-soft)}.bn-notify-item:hover{background:#f6fbf8}.bn-notify-item strong{display:block;font-size:13px}.bn-notify-item small{display:block;color:#64748b;margin-top:3px;line-height:1.3}.bn-notify-empty{padding:16px;color:#64748b;font-weight:650}.bn-dot{display:none!important}@media(max-width:1100px){.bn-smart-search{width:260px}}@media(max-width:760px){.bn-smart-search{display:none}.bn-notify-panel{right:-54px;width:min(330px,92vw)}}
/* BoothNest v19.5 admin, import, and thermal print polish */
.bn-stack{display:flex;flex-direction:column;gap:1rem}.bn-filter-row,.bn-inline-form{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.bn-filter-row label,.bn-inline-form label{display:flex;flex-direction:column;gap:.35rem;font-weight:700;color:#17211b}.bn-filter-row input,.bn-filter-row select,.bn-inline-form input,.bn-mapping-grid select{border:1px solid #dbe3e8;border-radius:12px;padding:.7rem .85rem;background:#fff;min-width:220px}.bn-mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.bn-table-wrap{overflow:auto}.bn-table{width:100%;border-collapse:collapse;background:#fff}.bn-table th,.bn-table td{padding:.85rem;border-bottom:1px solid #eef2f5;text-align:left;vertical-align:middle}.bn-table th{font-size:.82rem;text-transform:uppercase;color:#667085;background:#f8fafb}.bn-status{display:inline-flex;padding:.25rem .55rem;border-radius:999px;background:#e8f5ee;color:#147341;font-size:.82rem;font-weight:800}.bn-alert{border-radius:14px;background:#fff7df;border:1px solid #f0d98a;padding:1rem;color:#3f2f00}.small{font-size:.85rem}.tag-toolbar{background:#fff;border-radius:18px;padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:0 8px 24px rgba(15,23,42,.06)}.tag-page{display:flex;justify-content:flex-start;align-items:flex-start}.tag-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.25in,1fr));gap:.12in;align-items:start}.price-tag.thermal-tag{width:2.25in;min-height:1.25in;background:#fff;color:#111;border:1px dashed #999;border-radius:.06in;padding:.08in;display:grid;grid-template-columns:1fr .62in;grid-template-areas:"brand qr" "title qr" "price qr" "meta meta" "shop shop";column-gap:.06in;box-sizing:border-box;overflow:hidden;page-break-inside:avoid;break-inside:avoid}.thermal-tag .tag-brand{grid-area:brand;font-size:8pt;font-weight:900;line-height:1}.thermal-tag .tag-title{grid-area:title;font-size:9pt;font-weight:800;line-height:1.08;max-height:.32in;overflow:hidden}.thermal-tag .tag-price{grid-area:price;font-size:18pt;font-weight:900;line-height:1}.thermal-tag .tag-qr{grid-area:qr;width:.62in;height:.62in;object-fit:contain;align-self:start;justify-self:end}.thermal-tag .tag-meta{grid-area:meta;font-size:7pt;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thermal-tag .tag-shop{grid-area:shop;font-size:7pt;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.test-card{background:#fff;border-radius:18px;padding:1rem;box-shadow:0 8px 24px rgba(15,23,42,.06);border-left:6px solid #cbd5e1}.test-card.pass{border-left-color:#17844f}.test-card.warn{border-left-color:#c8a96a}.test-card.fail{border-left-color:#dc2626}.test-card h3{margin:0 0 .35rem;font-size:1rem}.test-card code{white-space:normal;word-break:break-word}.test-actions{display:flex;gap:.75rem;flex-wrap:wrap}.test-log{max-height:320px;overflow:auto;background:#0b1220;color:#dbeafe;border-radius:14px;padding:1rem;font-size:.85rem}
@media print{body{background:#fff!important}.bn-sidebar,.bn-topbar,.bn-content>*:not(.tag-page):not(.tag-sheet),.no-print,.tag-toolbar{display:none!important}.bn-app,.bn-main,.bn-content{display:block!important;margin:0!important;padding:0!important;width:auto!important}.tag-page,.tag-sheet{display:block!important;margin:0!important;padding:0!important}.price-tag.thermal-tag{box-shadow:none!important;border:0!important;margin:0!important;break-after:page;page-break-after:always}@page{size:2.25in 1.25in;margin:0}}
@media(max-width:700px){.bn-filter-row,.bn-inline-form{display:block}.bn-filter-row label,.bn-inline-form label{margin-bottom:.8rem}.bn-filter-row input,.bn-filter-row select,.bn-inline-form input{width:100%;min-width:0}.bn-mapping-grid{grid-template-columns:1fr}}
/* BoothNest v20 Phase 1: photo item linking, smart search, live notifications. */
.bn-smart-results.is-open{max-height:420px;overflow:auto}
.bn-smart-result{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:start;text-decoration:none;color:#111827;padding:10px 12px;border-bottom:1px solid #eef2f7;background:#fff}
.bn-smart-result:hover{background:#f7fbf8}
.bn-smart-type{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eaf7ef;color:#176a45;font-size:11px;font-weight:900;padding:4px 8px;white-space:nowrap}
.bn-smart-result strong{display:block;font-size:13px;line-height:1.25}
.bn-smart-result small{display:block;color:#64748b;margin-top:2px;line-height:1.25}
.bn-smart-empty,.bn-notify-empty{padding:14px;color:#64748b;font-size:13px}
.bn-notify-panel.is-open{display:block}
.bn-notify-panel{display:none;position:absolute;right:0;top:calc(100% + 10px);width:min(360px,92vw);background:#fff;border:1px solid #dbe3ee;border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.18);overflow:hidden;z-index:9999}
.bn-notify-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #eef2f7;background:#fbfcfe}
.bn-notify-head a{font-size:12px;font-weight:800;color:#1f7a52;text-decoration:none}
.bn-notify-item{display:block;text-decoration:none;color:#111827;padding:12px 14px;border-bottom:1px solid #eef2f7}
.bn-notify-item:hover{background:#f7fbf8}
.bn-notify-item strong{display:block;font-size:13px;line-height:1.25}
.bn-notify-item small{display:block;color:#64748b;margin-top:3px;line-height:1.3}
.bn-notify-count{display:none;position:absolute;right:-6px;top:-6px;min-width:18px;height:18px;border-radius:999px;background:#dc2626;color:#fff;font-size:10px;font-weight:900;align-items:center;justify-content:center;padding:0 5px}
.bn-notify-wrap{position:relative}.bn-icon-btn{position:relative}.bn-notification-row{text-decoration:none;color:inherit}.bn-notification-row.is-unread{background:#f8fffb;border-left:4px solid #1f7a52}.bn-actions-row{display:flex;gap:8px;flex-wrap:wrap}.bn-btn-light{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dbe3ee;border-radius:10px;background:#fff;color:#334155;text-decoration:none;font-weight:850;padding:9px 12px}.bn-muted{color:#64748b;margin:4px 0 0}
.bn13-pin{text-decoration:none}.bn13-pin.active{background:#1f7a52}.bn13-pin.sold{background:#dc2626}.bn13-pin-label{text-decoration:none}.bn13-pin-label.active{background:#111827}.bn13-pin-label.sold{background:#7f1d1d}.bn13-status{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900;background:#eaf7ef;color:#176a45}.bn13-status.sold{background:#fee2e2;color:#991b1b}.bn13-status.removed{background:#f1f5f9;color:#475569}
.bn13-photo-wrap[data-pin-photo]{cursor:crosshair}.bn13-photo-wrap[data-pin-photo]::after{content:'Tap photo to place an item pin';position:absolute;left:12px;bottom:12px;background:rgba(17,24,39,.82);color:#fff;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:800;opacity:.88;pointer-events:none}.bn13-photo-wrap.has-pin-mode::after{content:'Pin mode active — tap where the item is located';background:rgba(31,122,82,.92)}
@media(max-width:700px){.bn-smart-result{grid-template-columns:60px 1fr}.bn-notify-panel{right:-60px}.bn13-pin-label{display:none}.bn13-pin{width:34px;height:34px}}
/* BoothNest v20 Phase 2: pin management, thermal labels, diagnostics */
.bn-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;background:#eef2ff;color:#1e3a8a}.bn-status.success{background:#dcfce7;color:#166534}.bn-status.danger{background:#fee2e2;color:#991b1b}.bn-log-viewer{max-height:420px;overflow:auto;background:#101827;color:#e5e7eb;border-radius:14px;padding:16px;font-size:12px;white-space:pre-wrap}.bn-phase2-actions{display:flex;gap:8px;flex-wrap:wrap}.bn-pin.draggable{cursor:grab}.bn-pin.dragging{cursor:grabbing;transform:translate(-50%,-50%) scale(1.18);z-index:20}.bn13-pin.draggable{cursor:grab}.bn13-pin.dragging{cursor:grabbing;transform:translate(-50%,-50%) scale(1.18);z-index:20}.bn-pin-panel{display:grid;grid-template-columns:1fr 90px 90px auto;gap:8px;align-items:center}.bn-pin-panel input,.bn-pin-panel select{width:100%;min-height:38px}.bn-pin-save{background:#0f766e;color:#fff;border:0;border-radius:10px;padding:9px 12px}.bn-pin-delete{background:#fee2e2;color:#991b1b;border:0;border-radius:10px;padding:9px 12px}.bn-label-sheet{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.bn-label-sheet.single-label{display:block}.bn-thermal-label{width:3in;min-height:2in;border:1px dashed #cbd5e1;border-radius:8px;padding:10px;background:#fff;color:#111827;break-inside:avoid;page-break-inside:avoid}.label-brand{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.label-title{font-size:16px;font-weight:800;line-height:1.1;margin-top:4px;max-height:38px;overflow:hidden}.label-price{font-size:28px;font-weight:900;line-height:1.05;margin-top:4px}.label-meta{font-size:10px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bn-label-barcode{width:100%;height:42px;margin-top:7px;display:block}.label-code{text-align:center;font-size:10px;letter-spacing:.1em;margin-top:2px}.bn-metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bn-mini-metric{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:14px}.bn-mini-metric strong{display:block;font-size:20px}.bn-mini-metric span{font-size:12px;color:#64748b}.bn-table td,.bn-table th{vertical-align:middle}.no-print{ }
@media(max-width:800px){.bn-pin-panel{grid-template-columns:1fr}.bn-metric-row{grid-template-columns:1fr}.bn-thermal-label{width:100%;max-width:3in}}
@media print{body{background:#fff!important}.bn-sidebar,.bn-topbar,.bn-card.no-print,.no-print,.bn-app .bn-sidebar,.bn-main>header{display:none!important}.bn-main,.bn-content{margin:0!important;padding:0!important}.bn-label-sheet{display:block;margin:0}.bn-thermal-label{width:3in;min-height:2in;border:0;border-radius:0;padding:.08in;page-break-after:always;color:#000!important}.bn-thermal-label *{color:#000!important}.label-title{font-size:14px}.label-price{font-size:24px}.bn-label-barcode{height:.42in}@page{size:3in 2in;margin:0}}
/* BoothNest v20.5 Performance + UX polish */
:root{
  --bn-fast-shadow:0 8px 24px rgba(15,23,42,.06);
}
.bn-card,.bn-panel,.card{content-visibility:auto;contain-intrinsic-size: 1px 420px;}
.bn-table{table-layout:auto;}
.bn-table td,.bn-table th{vertical-align:middle;}
img{max-width:100%;height:auto;}
img[data-src]{opacity:.2;transition:opacity .18s ease;}
img.bn-lazy-loaded{opacity:1;}
.bn-sticky-actions{position:sticky;bottom:0;z-index:15;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid rgba(148,163,184,.22);padding:12px;margin:16px -16px -16px;}
.bn-perf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.bn-perf-card{border:1px solid rgba(148,163,184,.25);border-radius:16px;padding:14px;background:#fff;box-shadow:var(--bn-fast-shadow);}
.bn-perf-kpi{font-size:26px;font-weight:800;line-height:1.1;margin:6px 0;}
.bn-muted-small{font-size:12px;color:#64748b;}
.bn-search-loading:after{content:'Searching...';display:block;font-size:12px;color:#64748b;padding:8px 10px;}
@media (max-width: 768px){
  .bn-content{padding:14px!important;}
  .bn-card{border-radius:16px;}
  .bn-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  input,select,textarea,button,.btn,.bn-btn{min-height:42px;}
  .bn-sticky-actions{margin-left:-14px;margin-right:-14px;}
}
@media print{
  .bn-sidebar,.bn-topbar,.bn-smart-search,.no-print,.bn-no-print{display:none!important;}
  .bn-main,.bn-content{margin:0!important;padding:0!important;}
}
/* BoothNest v20.6 - label customization + route testing */
.bn-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:14px 0}.bn-form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700}.bn-form-grid input,.bn-form-grid select{border:1px solid #d8dee7;border-radius:12px;padding:10px 12px;background:#fff}.bn-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:14px 0}.bn-check-grid label{border:1px solid #e5eaf0;border-radius:12px;padding:10px;background:#fafcff}.bn-label-preview-mini{border:1px dashed #b8c2cc;border-radius:14px;width:240px;min-height:130px;padding:14px;background:#fff;text-align:center;box-shadow:0 8px 20px rgba(16,24,40,.06)}.bn-label-preview-mini img{max-width:120px;max-height:36px;object-fit:contain}.bn-label-initials,.label-brand-initials{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid #111827;border-radius:50%;font-weight:900;letter-spacing:.04em;margin:0 auto 4px}.label-brand-image{display:block;max-width:78%;max-height:34px;object-fit:contain;margin:0 auto 4px}.bn-thermal-label .label-brand{font-weight:900;font-size:13px;letter-spacing:.02em;text-align:center}.bn-thermal-label.size-2x1{width:2in;min-height:1in}.bn-thermal-label.size-2x2{width:2in;min-height:2in}.bn-thermal-label.size-3x1{width:3in;min-height:1in}.bn-thermal-label.size-3x2{width:3in;min-height:2in}.bn-route-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.bn-route-card{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#fff}.bn-route-card .route-url{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all;color:#475467}.bn-route-card.pass{border-color:#b7ebc6;background:#f6fff8}.bn-route-card.fail{border-color:#ffcccc;background:#fff7f7}.bn-route-card.warn{border-color:#ffe4a3;background:#fffbeb}.bn-route-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}@media print{.bn-thermal-label{page-break-after:always;break-after:page;padding:.08in}.bn-thermal-label.size-2x1{width:2in;height:1in}.bn-thermal-label.size-2x2{width:2in;height:2in}.bn-thermal-label.size-3x1{width:3in;height:1in}.bn-thermal-label.size-3x2{width:3in;height:2in}.label-brand-image{max-height:.28in}.label-brand-initials{width:.32in;height:.32in;font-size:11px}}
/* BoothNest v21 Operations */
.bn-ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.bn-ops-alert{border-radius:16px;padding:16px;border:1px solid #e5e7eb;background:#fff}.bn-ops-alert.warning{border-color:#facc15;background:#fffbea}.bn-ops-alert.info{border-color:#93c5fd;background:#eff6ff}.bn-good-state{border:1px solid #bbf7d0;background:#f0fdf4}.bn-bulk-enhanced{align-items:center;gap:10px;flex-wrap:wrap}.bn-bulk-enhanced select,.bn-bulk-enhanced input{min-height:38px;border:1px solid #d8dee7;border-radius:12px;padding:8px 10px;background:#fff}.bn-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.bn-template-card{border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:14px}.bn-mini-label{width:180px;min-height:88px;border:1px dashed #94a3b8;background:#fff;border-radius:12px;padding:10px;text-align:center;margin:10px 0}.bn-mini-label .label-brand{font-weight:900}.bn-mini-label .label-title{font-weight:700}.bn-mini-label .label-price{font-size:20px;font-weight:900}.bn-pill.danger{background:#fee2e2;color:#991b1b}@media(max-width:700px){.bn-bulk-enhanced select,.bn-bulk-enhanced input,.bn-bulk-enhanced button,.bn-bulk-enhanced .btn{width:100%;}.item-card .actions.compact a{padding:8px 10px}}
/* BoothNest v21.1 PWA + phone-first polish */
.bn-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.bn-form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#17202a}.bn-form-grid .bn-check{flex-direction:row;align-items:center;background:#f7faf8;border:1px solid #d9eee5;border-radius:14px;padding:12px}.bn-span-2{grid-column:1/-1}.bn-button-row{display:flex;gap:10px;flex-wrap:wrap}.bn-mobile-tips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.bn-mobile-tips>div{border:1px solid #e5edf0;border-radius:16px;padding:14px;background:#fbfcfd}.bn-install-banner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9999;background:#17202a;color:#fff;border-radius:18px;box-shadow:0 16px 45px rgba(15,23,42,.24);padding:12px 14px;display:none;align-items:center;gap:12px;max-width:calc(100vw - 24px)}.bn-install-banner.show{display:flex}.bn-install-banner button,.bn-install-banner a{border:0;border-radius:12px;padding:8px 10px;font-weight:800}.bn-install-banner .primary{background:#1f8a5b;color:#fff}.bn-install-banner .ghost{background:rgba(255,255,255,.14);color:#fff}.bn-mobile-bottom-nav{display:none}.bn-mobile-fab{display:none}@media(max-width:768px){body{padding-bottom:78px}.bn-content{padding:14px!important}.bn-card{border-radius:18px!important;padding:16px!important}.bn-form-grid{grid-template-columns:1fr}.bn-mobile-tips{grid-template-columns:1fr}.bn-mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:9990;background:#fff;border-top:1px solid #e5edf0;box-shadow:0 -10px 30px rgba(15,23,42,.08);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 6px calc(8px + env(safe-area-inset-bottom))}.bn-mobile-bottom-nav a{font-size:11px;text-align:center;text-decoration:none;color:#475569;font-weight:800;display:flex;flex-direction:column;gap:2px;align-items:center}.bn-mobile-bottom-nav a span:first-child{font-size:18px}.bn-mobile-fab{display:grid;position:fixed;right:16px;bottom:88px;z-index:9991;width:58px;height:58px;border-radius:20px;background:#1f8a5b;color:#fff;text-decoration:none;place-items:center;box-shadow:0 16px 35px rgba(31,138,91,.32);font-size:26px}.table,.bn-table{font-size:14px}.table td,.table th,.bn-table td,.bn-table th{padding:10px 8px}.btn,.bn-pill,button,input,select,textarea{min-height:42px}.bn-topbar-search input{font-size:16px}.mobile-sticky-save{position:sticky;bottom:84px;z-index:50;background:#fff;border:1px solid #e5edf0;border-radius:16px;padding:10px;box-shadow:0 10px 30px rgba(15,23,42,.08)}}
/* BoothNest v21.2 mobile workflow and security polish */
.bn-mobile-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.bn-mobile-action{display:flex;flex-direction:column;gap:6px;text-decoration:none;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.06);color:#0f172a}.bn-mobile-action span{font-size:26px}.bn-mobile-action strong{font-size:16px}.bn-mobile-action small{color:#64748b;line-height:1.35}.bn-mobile-action.primary{background:linear-gradient(135deg,#15803d,#22c55e);color:#fff}.bn-mobile-action.primary small{color:rgba(255,255,255,.85)}.bn-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bn-mini-stats div{background:#f8fafc;border-radius:14px;padding:14px}.bn-mini-stats strong{display:block;font-size:24px}.bn-mini-stats span{color:#64748b}.bn-mobile-list{display:grid;gap:8px}.bn-mobile-list a{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;background:#f8fafc;text-decoration:none;color:#0f172a}.bn-mobile-list span{color:#64748b}.bn-checklist{display:grid;gap:10px}.bn-check-row{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fff}.bn-check-row input{width:22px;height:22px}.bn-check-row:has(input:checked){background:#ecfdf5;border-color:#86efac}.bn-check-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.bn-form-grid{display:grid;gap:14px}.bn-check{display:flex;gap:10px;align-items:center}.bn-status.pass{background:#dcfce7;color:#166534}.bn-status.check{background:#fef3c7;color:#92400e}.bn-status.error{background:#fee2e2;color:#991b1b}.bn-status{padding:4px 9px;border-radius:999px;font-weight:700;font-size:12px}.bn-table-wrap{overflow:auto}.bn-table{width:100%;border-collapse:collapse}.bn-table th,.bn-table td{padding:10px;border-bottom:1px solid rgba(15,23,42,.08);text-align:left}@media(max-width:760px){.bn-page-head{gap:10px}.bn-mobile-action-grid{grid-template-columns:1fr}.bn-mobile-action{min-height:104px}.bn-mini-stats{grid-template-columns:1fr}.bn-mobile-list a{display:block}.bn-content{padding-bottom:96px}.bn-btn,.form-control,.form-select,button,input,select,textarea{min-height:44px}.bn-mobile-sticky-actions{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid rgba(15,23,42,.1);padding:10px;display:flex;gap:8px;z-index:9999;box-shadow:0 -10px 28px rgba(15,23,42,.08)}.bn-mobile-sticky-actions a{flex:1;text-align:center;padding:12px 8px;border-radius:14px;background:#0f172a;color:#fff;text-decoration:none;font-weight:700}.bn-mobile-sticky-actions a:nth-child(2){background:#15803d}.bn-mobile-sticky-actions a:nth-child(3){background:#2563eb}}
.bn-mobile-mode-note{font-size:.85rem;color:#64748b;margin-top:6px}.bn-notify-btn.sound-ready::after{content:'';position:absolute;right:3px;bottom:3px;width:6px;height:6px;border-radius:999px;background:#22c55e}.bn-notify-panel.is-open{display:block}.bn-sound-test{display:inline-flex;align-items:center;gap:8px}
@media (max-width:760px){.bn-mobile-desktop-bypass{display:inline-flex!important}.bn-top-actions .bn-smart-search{max-width:42vw}.bn-notify-count{min-width:20px;height:20px;font-size:11px}}
/* BoothNest v21.7 sidebar/mobile/PWA visual repair */
.bn-sidebar{display:flex!important;flex-direction:column!important;height:100vh!important;overflow:hidden!important;background:#fff!important;border-right:1px solid rgba(15,23,42,.08)!important;}
.bn-sidebar .bn-menu{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:14px!important;scrollbar-width:thin;}
.bn-sidebar-user{position:sticky!important;bottom:0!important;z-index:5!important;background:#fff!important;border-top:1px solid rgba(15,23,42,.08)!important;padding:12px!important;box-shadow:0 -10px 20px rgba(15,23,42,.04)!important;}
.bn-user-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:10px!important;}
.bn-profile,.bn-logout{display:flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;border-radius:9px!important;text-decoration:none!important;font-weight:800!important;font-size:12px!important;white-space:nowrap!important;}
.bn-profile{background:#188452!important;color:#fff!important;}
.bn-logout{background:#fff!important;color:#162033!important;border:1px solid rgba(15,23,42,.12)!important;}
.bn-menu .bn-menu-group{margin-bottom:6px!important;}
.bn-menu .bn-submenu a{line-height:1.25!important;padding-top:7px!important;padding-bottom:7px!important;}
.bn-menu-label{margin-top:12px!important;}
.bn-sidebar-brand{flex:0 0 auto!important;}

.bn-mobile-hub-v217{padding-bottom:96px!important;}
.bn-mobile-brand-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 20px;}
.bn-mobile-logo-full{height:54px;max-width:230px;width:auto;object-fit:contain;}
.bn-mobile-settings-link{color:#168353;font-weight:800;text-decoration:none;font-size:15px;}
.bn-mobile-page-title h1{margin-top:0!important;}
.bn-mobile-action span{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;}
@media(max-width:767px){
  .bn-mobile-brand-head{margin-top:8px;margin-bottom:18px;}
  .bn-mobile-logo-full{height:48px;max-width:210px;}
  .bn-page-head.bn-mobile-page-title{margin-bottom:18px!important;}
  .bn-page-head.bn-mobile-page-title h1{font-size:32px!important;letter-spacing:-.04em!important;}
  .bn-mobile-action{border-radius:24px!important;min-height:132px!important;}
}
@media(min-width:768px){.bn-mobile-brand-head{display:none;}}
/* BoothNest v21.8: replace mobile/PWA header text with the real logo. */
.bn-topbar-mobile-logo .bn-title-area {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.bn-topbar-mobile-logo .bn-page-title-logo {
  line-height: 1;
  display: flex;
  align-items: center;
}
.bn-topbar-mobile-logo .bn-pwa-header-logo {
  display: block;
  height: 38px;
  max-width: 220px;
  object-fit: contain;
}
.bn-topbar-mobile-logo .bn-mobile-header-sub {
  margin-top: 4px;
  font-size: 12px;
}
.bn-mobile-settings-row {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 12px;
}
.bn-mobile-settings-row .bn-mobile-settings-link {
  color: #12805c;
  font-weight: 800;
  text-decoration: none;
}
.bn-mobile-hub-v218 .bn-mobile-brand-head,
.bn-mobile-hub-v218 .bn-mobile-logo-full {
  display: none !important;
}
@media (max-width: 768px) {
  .bn-topbar-mobile-logo {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 10px;
  }
  .bn-topbar-mobile-logo .bn-pwa-header-logo {
    height: 34px;
    max-width: 190px;
  }
  .bn-topbar-mobile-logo .bn-mobile-header-sub {
    display: none;
  }
  .bn-topbar-mobile-logo .bn-smart-search {
    display: none;
  }
}
@media (max-width: 420px) {
  .bn-topbar-mobile-logo .bn-pwa-header-logo {
    height: 30px;
    max-width: 165px;
  }
}
/* BoothNest v21.9: PWA/mobile action polish.
   Goal: keep the logo header clean and push the Add Item action to the right on mobile/PWA mode. */

/* Better header balance on Mobile Booth Mode */
body[data-bn-route="mobile"] .bn-topbar-mobile-logo {
  position: sticky;
  top: 0;
  z-index: 50;
}

body[data-bn-route="mobile"] .bn-topbar-mobile-logo .bn-title-area {
  min-width: 0;
}

body[data-bn-route="mobile"] .bn-topbar-mobile-logo .bn-top-actions {
  margin-left: auto;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

body[data-bn-route="mobile"] .bn-topbar-mobile-logo .bn-quick-btn {
  order: 99;
  margin-left: auto;
  white-space: nowrap;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0 14px;
  font-weight: 900;
  box-shadow: 0 6px 16px rgba(18, 128, 92, .18);
}

body[data-bn-route="mobile"] .bn-topbar-mobile-logo .bn-notify-wrap {
  order: 10;
}

body[data-bn-route="mobile"] .bn-topbar-mobile-logo .bn-smart-search {
  order: 1;
}

/* Mobile: logo left/center area, notification then Add Item on the far right. */
@media (max-width: 768px) {
  body[data-bn-route="mobile"] .bn-topbar-mobile-logo {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  body[data-bn-route="mobile"] .bn-topbar-mobile-logo .bn-title-area {
    overflow: hidden;
  }

  body[data-bn-route="mobile"] .bn-topbar-mobile-logo .bn-pwa-header-logo {
    height: 30px;
    max-width: 148px;
  }

  body[data-bn-route="mobile"] .bn-topbar-mobile-logo .bn-top-actions {
    width: auto;
  }

  body[data-bn-route="mobile"] .bn-topbar-mobile-logo .bn-smart-search {
    display: none !important;
  }

  body[data-bn-route="mobile"] .bn-topbar-mobile-logo .bn-quick-btn {
    min-width: 92px;
    min-height: 38px;
    padding: 0 12px;
    font-size: 13px;
  }

  body[data-bn-route="mobile"] .bn-topbar-mobile-logo .bn-icon-btn {
    min-width: 38px;
    min-height: 38px;
  }
}

@media (max-width: 390px) {
  body[data-bn-route="mobile"] .bn-topbar-mobile-logo {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
  }

  body[data-bn-route="mobile"] .bn-topbar-mobile-logo .bn-pwa-header-logo {
    height: 28px;
    max-width: 128px;
  }

  body[data-bn-route="mobile"] .bn-topbar-mobile-logo .bn-quick-btn {
    min-width: 82px;
    padding: 0 10px;
    font-size: 12px;
  }
}

/* Mobile Booth Mode page polish */
.bn-mobile-hub .bn-mobile-settings-row {
  justify-content: flex-end;
}

.bn-mobile-hub .bn-mobile-settings-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(18, 128, 92, .08);
}

.bn-mobile-hub .bn-mobile-action {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.bn-mobile-hub .bn-mobile-action.primary {
  position: relative;
  overflow: hidden;
}

.bn-mobile-hub .bn-mobile-action.primary::after {
  content: "Fast";
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .02em;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: #12805c;
}

@media (max-width: 768px) {
  .bn-mobile-hub .bn-page-head {
    margin-top: 4px;
  }

  .bn-mobile-hub .bn-mobile-action-grid {
    gap: 12px;
  }

  .bn-mobile-hub .bn-mobile-action {
    min-height: 96px;
    padding: 16px;
  }

  .bn-mobile-hub .bn-mobile-list a {
    min-height: 54px;
    padding: 12px 10px;
  }
}

/* Keep forms from accidental repeated saves on touch devices; pairs with existing duplicate submit protection. */
@media (hover: none) and (pointer: coarse) {
  button,
  .btn,
  .bn-quick-btn,
  .bn-mobile-action,
  .bn-icon-btn {
    cursor: default;
  }
}
/* BN v3.0.8 login trust-device polish */
.bn-login-card .bn-trust-device-card{
  display:grid;
  grid-template-columns:24px 1fr 32px;
  align-items:center;
  gap:12px;
  width:100%;
  margin:4px 0 16px;
  padding:12px 13px;
  border:1px solid rgba(31,122,82,.18);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(31,122,82,.075),rgba(255,255,255,.96));
  box-shadow:0 8px 22px rgba(31,41,55,.055);
  color:#1f2937;
  cursor:pointer;
  user-select:none;
}
.bn-login-card .bn-trust-device-input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.bn-login-card .bn-trust-device-box{
  width:22px;
  height:22px;
  border-radius:7px;
  border:2px solid rgba(31,122,82,.42);
  background:#fff;
  box-shadow:inset 0 0 0 2px #fff;
  transition:.16s ease;
}
.bn-login-card .bn-trust-device-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
  line-height:1.2;
}
.bn-login-card .bn-trust-device-copy strong{
  color:#111827;
  font-size:13px;
  font-weight:850;
  letter-spacing:-.01em;
}
.bn-login-card .bn-trust-device-copy small{
  color:#667085;
  font-size:11.5px;
  font-weight:650;
}
.bn-login-card .bn-trust-device-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:999px;
  border:1px solid rgba(31,122,82,.22);
  color:#2f7d4f;
  background:rgba(31,122,82,.08);
  font-weight:900;
  opacity:.65;
  transition:.16s ease;
}
.bn-login-card .bn-trust-device-card:has(.bn-trust-device-input:checked){
  border-color:rgba(31,122,82,.46);
  background:linear-gradient(135deg,rgba(31,122,82,.14),rgba(255,255,255,.98));
}
.bn-login-card .bn-trust-device-card:has(.bn-trust-device-input:checked) .bn-trust-device-box{
  background:#2f7d4f;
  border-color:#2f7d4f;
}
.bn-login-card .bn-trust-device-card:has(.bn-trust-device-input:checked) .bn-trust-device-box::after{
  content:'✓';
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  color:#fff;
  font-size:15px;
  font-weight:900;
}
.bn-login-card .bn-trust-device-card:has(.bn-trust-device-input:checked) .bn-trust-device-icon{
  opacity:1;
  color:#fff;
  background:#2f7d4f;
}
.bn-login-card .bn-trust-device-card:focus-within{
  outline:3px solid rgba(31,122,82,.16);
  border-color:rgba(31,122,82,.5);
}
@supports not selector(:has(*)){
  .bn-login-card .bn-trust-device-card{grid-template-columns:24px 1fr;}
  .bn-login-card .bn-trust-device-icon{display:none;}
  .bn-login-card .bn-trust-device-input{position:static;opacity:1;pointer-events:auto;width:22px;height:22px;margin:0;accent-color:#2f7d4f;}
  .bn-login-card .bn-trust-device-box{display:none;}
}
@media (max-width:480px){
  .bn-login-card .bn-trust-device-card{grid-template-columns:22px 1fr 28px;padding:11px 12px;gap:10px;}
  .bn-login-card .bn-trust-device-copy strong{font-size:12.5px;}
  .bn-login-card .bn-trust-device-copy small{font-size:11px;}
}

/* BoothNest v3.1.9 Mobile Bottom Nav Recovery + Polish */
@media (max-width: 768px) {
  body {
    padding-bottom: calc(110px + env(safe-area-inset-bottom)) !important;
  }

  .bn-mobile-bottom-nav {
    position: fixed !important;
    left: 14px !important;
    right: 14px !important;
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    z-index: 9990 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 10px !important;
    border-radius: 30px !important;
    background: rgba(255, 255, 255, .94) !important;
    border: 1px solid rgba(15, 23, 42, .10) !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .20), 0 3px 10px rgba(15, 23, 42, .08) !important;
    backdrop-filter: blur(18px) saturate(165%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(165%) !important;
  }

  .bn-mobile-bottom-nav a {
    min-height: 58px !important;
    border-radius: 22px !important;
    border: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transition: transform .16s ease, filter .16s ease !important;
  }

  .bn-mobile-bottom-nav a:nth-child(1) { background: #0f172a !important; color: #ffffff !important; }
  .bn-mobile-bottom-nav a:nth-child(2) { background: #15803d !important; color: #ffffff !important; }
  .bn-mobile-bottom-nav a:nth-child(3) { background: #2563eb !important; color: #ffffff !important; }

  .bn-mobile-bottom-nav a:active {
    transform: scale(.97) !important;
    filter: brightness(.96) !important;
  }

  body.bn-notifications-open .bn-mobile-bottom-nav,
  body.modal-open .bn-mobile-bottom-nav,
  body.drawer-open .bn-mobile-bottom-nav {
    display: none !important;
  }
}
