:root{--commercial-ink:#12332c;--commercial-soft:#eff7f3;--commercial-accent:#f6bc4a}body{background:#f7faf8}.filters{position:relative;margin-top:8px}.search-field{min-width:0;flex:1}.search-field input{min-width:0}.scanner-button{flex:none;background:var(--commercial-soft);color:var(--primary);padding:8px 12px;font-size:24px}.service-strip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 0 22px;color:#375e50;font-size:13px}.service-strip a{margin-left:auto;font-weight:700}.banner-section{margin-bottom:30px}.banner-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;gap:0;border-radius:24px;background:#e8f4ef}.banner-carousel::-webkit-scrollbar{display:none}.promo-banner{flex:0 0 100%;min-width:0;scroll-snap-align:start;position:relative;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;text-decoration:none;color:var(--commercial-ink)}.promo-banner picture{display:block;min-width:0}.promo-banner img{display:block;width:100%;height:320px;object-fit:contain}.promo-banner>div{padding:32px}.promo-banner h2{font-size:clamp(26px,4vw,44px);line-height:1.08;margin:0 0 12px}.promo-banner span{display:inline-flex;gap:12px;background:var(--primary);color:white;border-radius:12px;padding:12px 18px}.carousel-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:10px}.carousel-controls button{padding:6px 16px}.active-campaigns{margin:28px 0}.campaign-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.campaign-cards>a{padding:24px;border-radius:18px;border:1px solid #d4e9dd;background:linear-gradient(130deg,#edf8f2,#fff);color:var(--commercial-ink);text-decoration:none}.campaign-cards h3,.campaign-cards h2{margin:8px 0;font-size:22px}.campaign-cards span{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--primary)}.commercial-nav{display:flex;flex-wrap:wrap;gap:12px;padding:16px;border-radius:16px;background:#fff;border:1px solid #dce7e0;margin:20px 0}.commercial-nav>div{display:flex;flex-direction:column;flex:1;min-width:130px;gap:4px}.commercial-nav strong{font-size:11px;color:#557767;text-transform:uppercase;letter-spacing:.06em;padding:6px}.commercial-nav a{font-size:13px;padding:7px;border-radius:7px;color:#244536;text-decoration:none}.commercial-nav a:hover,.commercial-nav a.active{background:var(--commercial-soft);color:var(--primary);font-weight:700}.participant-list{max-height:430px;overflow-y:auto;border:1px solid #dce7e0;border-radius:12px}.participant{padding:12px;border-bottom:1px solid #e3eee7;display:grid;grid-template-columns:1fr 200px;gap:8px}.participant small{grid-column:1}.participant>input{grid-column:2;grid-row:1/3;align-self:center}.weekday-select{display:flex;gap:12px;flex-wrap:wrap}.weekday-select .checkbox{width:auto}.media-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.media-library figure{margin:0;padding:10px;border:1px solid #dce7e0;border-radius:10px}.media-library img{height:100px;width:100%;object-fit:contain}.banner-preview{width:100%;height:200px;object-fit:contain;background:#eef6f1;border-radius:12px}.banner-previews{display:grid;grid-template-columns:2fr 1fr;gap:16px}.banner-previews>div:nth-child(2){max-width:390px}.banner-previews>div:nth-child(2) img{height:260px}.catalog-management{display:grid;gap:12px;margin-top:18px}.catalog-row summary{font-weight:650;cursor:pointer}.panel details,details.panel{padding:20px}dialog#added-dialog,dialog#scanner-dialog{max-width:500px;width:calc(100% - 32px);border:0;border-radius:22px;padding:28px;color:var(--commercial-ink)}dialog::backdrop{background:rgba(10,40,30,.4)}.added-item{display:flex;gap:16px;align-items:center}.added-item img{height:90px;width:90px;object-fit:contain}.added-item h2{font-size:20px;margin:6px 0}.sheet-close{float:right;font-size:24px}.added-item+.actions{margin-top:20px}#barcode-video{width:100%;max-height:320px;object-fit:cover;background:#eff5f1;border-radius:12px}.simulation-panel{background:#f0f8ff;border:1px solid #b8d9f0}.simulation-panel>strong{font-size:32px;display:block}.simulation-panel .button{margin-top:14px}.demo_approved{background:#e0f1fc!important;color:#225a80!important}[hidden]{display:none!important}section>h2{margin-top:28px}.products{margin-bottom:28px}.product .promo{background:#f8be42;color:#392b05}.banner-section:focus-within{outline-offset:3px}@media(max-width:768px){.campaign-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.commercial-nav>div{min-width:145px}.promo-banner{grid-template-columns:1fr}.promo-banner img{height:230px}.promo-banner>div{padding:20px}.promo-banner h2{font-size:28px}.service-strip>span:last-child{width:100%}.participant{grid-template-columns:1fr}.participant>input{grid-column:1;grid-row:auto}.banner-previews{grid-template-columns:1fr}.commercial-nav{gap:8px;padding:10px}}@media(max-width:480px){.campaign-cards{grid-template-columns:1fr}.promo-banner img{height:210px}.promo-banner>div{padding:18px 22px}.banner-carousel{border-radius:18px}.banner-section{margin-bottom:20px}.service-strip{gap:8px;font-size:12px}.filters{gap:8px}.commercial-nav>div{min-width:125px}.commercial-nav a{font-size:12px}.participant{padding:10px}dialog#added-dialog{position:fixed;top:auto;bottom:0;margin:0 auto;width:100%;max-width:100%;border-radius:24px 24px 0 0;padding:22px}.added-item img{width:70px;height:70px}.added-item h2{font-size:18px}.added-item~.actions{display:grid;grid-template-columns:1fr}.banner-previews .banner-preview{height:220px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
body[data-surface=customer] .filters .search-field{position:relative}body[data-surface=customer] .filters .search-field input{padding-right:62px}body[data-surface=customer] .filters .scanner-button{position:absolute;right:4px;top:3px;min-width:44px;min-height:40px;width:44px;height:40px;padding:4px;font-size:24px;background:transparent}

/* Compact scanner dialog: no empty preview before permission/HTTPS. */
dialog#scanner-dialog{box-sizing:border-box;width:min(480px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);margin:auto;padding:22px;border-radius:20px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#scanner-dialog .scanner-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}#scanner-dialog .scanner-top .eyebrow{margin:0}#scanner-dialog .scanner-close{min-height:44px;padding:8px 10px;flex:none}#scanner-dialog h2{font-size:24px;line-height:1.25;margin:0 0 14px;text-wrap:balance}#scanner-dialog .scanner-help{font-size:15px;line-height:1.5;margin:0 0 18px;color:#466253}#scanner-dialog .scanner-camera{margin:0 0 16px;min-height:46px}#scanner-dialog #barcode-video{display:block;width:100%;height:auto;aspect-ratio:4/3;max-height:220px;object-fit:cover;margin:0 0 18px;border-radius:12px}#scanner-dialog .scanner-manual{display:flex;flex-direction:column;gap:12px;border-top:1px solid #dce7e0;padding-top:18px;margin-top:2px}#scanner-dialog .scanner-manual label{font-size:14px;font-weight:650;margin:0}#scanner-dialog input{box-sizing:border-box;width:100%;min-width:0;font-size:16px;min-height:48px;margin:0}#scanner-dialog .scanner-manual .form-error:empty{display:none}#scanner-dialog .scanner-manual button{min-height:46px;margin:0}@media(max-width:480px){dialog#scanner-dialog{padding:20px;width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(100dvh - 32px)}#scanner-dialog h2{font-size:22px}#scanner-dialog #barcode-video{max-height:180px}}

/* Camera opens immediately; manual entry stays behind a compact disclosure. */
#scanner-dialog{border:1px solid #dce8e2;border-radius:22px;box-shadow:0 24px 90px #10352830}#scanner-dialog .scanner-close{width:38px;height:38px;min-height:38px;font-size:25px;border:0;border-radius:50%;padding:0;background:#eff6f2;color:#275641}#scanner-dialog .scanner-view{position:relative;overflow:hidden;border-radius:14px;background:#12251d;min-height:180px;margin-bottom:14px}#scanner-dialog #barcode-video{margin:0;max-height:280px;aspect-ratio:4/3;border-radius:0}#scanner-dialog #barcode-video[hidden]{display:none}#scanner-dialog .scanner-guide{position:absolute;inset:30% 9%;border:2px solid #ffffffbd;border-radius:12px;pointer-events:none}#scanner-dialog .scanner-manual-area{border-top:1px solid #e1ebe5;padding-top:15px}#scanner-dialog summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;color:var(--primary);font-weight:700;font-size:14px;list-style:none}#scanner-dialog summary::-webkit-details-marker{display:none}#scanner-dialog .scanner-manual{border:0;padding-top:8px;margin:0}#scanner-dialog .scanner-help{font-size:13px;margin-bottom:12px}#scanner-dialog .scanner-manual-area[open]~*{display:none}.barcode-empty{max-width:560px;margin:30px auto;text-align:center;padding:30px 20px;background:white;border:1px solid #e1ebe5;border-radius:22px}.barcode-empty-icon{display:inline-flex;background:#edf7f1;color:var(--primary);padding:16px;border-radius:50%}.barcode-empty-icon svg{width:28px;height:28px}.barcode-empty h1{font-size:24px;margin:18px 0 10px}.barcode-empty p{color:#627b70;line-height:1.6}.barcode-searched{display:block;margin:12px 0 22px;color:#627b70;font-variant-numeric:tabular-nums}.barcode-suggestions{margin:28px 0}.barcode-suggestions h2{font-size:19px}
