:root{--red:#e31b23;--red-dark:#b91018;--black:#09090d;--charcoal:#17171f;--grey:#747784;--light:#f4f5f8;--white:#fff;--navy:#090817;--purple:#26133f;--violet:#6435a5;--shadow:0 14px 34px rgba(0,0,0,.22)}
*{box-sizing:border-box}html{background:var(--navy)}body{margin:0;min-height:100vh;padding-bottom:78px;color:#17171b;font-family:Inter,Roboto,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background-color:var(--navy);background-image:radial-gradient(circle at 82% 12%,rgba(116,63,183,.35),transparent 28%),radial-gradient(circle at 14% 72%,rgba(33,83,150,.28),transparent 26%),repeating-linear-gradient(0deg,rgba(118,72,162,.10) 0 2px,transparent 2px 46px,rgba(36,99,151,.12) 46px 49px,transparent 49px 94px),repeating-linear-gradient(90deg,rgba(122,66,166,.10) 0 2px,transparent 2px 46px,rgba(36,99,151,.12) 46px 49px,transparent 49px 94px),linear-gradient(145deg,#080713 0%,#101329 38%,#1b0e32 72%,#080713 100%);background-attachment:fixed}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.22;background-image:linear-gradient(90deg,transparent 0 14%,rgba(126,79,194,.65) 14% 14.12%,transparent 14.12% 100%),linear-gradient(0deg,transparent 0 24%,rgba(64,125,192,.55) 24% 24.12%,transparent 24.12% 100%);background-size:320px 240px,280px 300px;mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 90%,transparent)}
.site-header{position:sticky;top:0;z-index:1100;background:rgba(7,7,12,.96);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 5px 18px rgba(0,0,0,.3);backdrop-filter:blur(12px)}.topbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px}.brand{text-decoration:none;color:#fff;font-weight:900;letter-spacing:-.02em;line-height:1}.brand-logos{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:6px}.brand-logos img{height:23px;width:auto;max-width:82px;object-fit:contain;background:#fff;border-radius:5px;padding:2px 4px}.brand-plus{font-size:15px;color:#bbb}.brand-logos small{grid-column:1/4;text-align:left}.brand-day{color:#d9dbe2}.brand-and{color:#fff}.brand-usave{color:var(--red)}.brand small{display:block;color:#aaa;font-size:10px;letter-spacing:.14em;margin-top:5px;text-transform:uppercase}.header-actions{display:flex;gap:8px;align-items:center}.header-link{display:none;color:#fff;text-decoration:none;font-weight:800}.header-order-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;text-decoration:none;font-weight:900;min-height:44px;padding:0 14px;border-radius:10px}.admin-nav{display:flex;gap:7px;overflow-x:auto}.admin-nav a{color:#fff;text-decoration:none;font-weight:750;font-size:13px;white-space:nowrap;padding:10px 8px}.page-shell{max-width:1380px;margin:0 auto;padding:14px 12px 32px}.desktop-nav{display:none}.deadline-bar{background:#050509;color:#fff;border:2px solid #ff3841;border-radius:15px;padding:12px 14px;text-align:center;margin-bottom:14px;box-shadow:0 0 0 2px rgba(227,27,35,.16),0 12px 28px rgba(0,0,0,.28)}.deadline-copy{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#fff}.deadline-time{display:inline-block;margin:7px auto 3px;padding:7px 12px;border-radius:9px;background:#e31b23;color:#fff;font-size:24px;font-weight:950;letter-spacing:.05em;font-variant-numeric:tabular-nums}.deadline-units{display:grid;grid-template-columns:repeat(4,1fr);max-width:310px;margin:auto;color:#e4e4ea;font-size:9px;text-transform:uppercase;letter-spacing:.09em}.deadline-date{margin-top:5px;color:#fff;font-weight:700;font-size:11px}.deadline-final .deadline-time{background:#ffea00;color:#111}.deadline-closed{border-color:#9da0aa}.deadline-closed .deadline-time{background:#fff;color:#111;font-size:18px}.hero-banner{position:relative;background:#09090d;border:1px solid rgba(255,255,255,.12);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:16px}.hero-banner img{width:100%;height:auto;display:block;filter:brightness(.25) saturate(.55)}.hero-title-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#fff;padding:30px;background:linear-gradient(90deg,rgba(4,5,14,.55),rgba(26,10,44,.28),rgba(4,5,14,.55))}.hero-title-overlay h1{font-size:clamp(28px,4vw,52px);font-weight:950;margin:.2rem 0;text-shadow:0 3px 18px #000}.hero-title-overlay p{margin:0;color:#f1f1f4;font-weight:700}.hero-kicker{font-size:12px;letter-spacing:.22em;color:#ddd;font-weight:850}.hero-mobile-copy{display:none;background:linear-gradient(100deg,#0b0b11,#211332);color:#fff;padding:17px;border-top:4px solid var(--red)}.hero-mobile-copy h1{font-size:24px;font-weight:950;margin:0 0 5px}.hero-mobile-copy p{margin:0;color:#d6d7dd}.material-card{background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.35);border-radius:16px;box-shadow:var(--shadow);padding:18px;margin-bottom:14px}.section-title{color:#fff;font-weight:950;font-size:26px;margin:10px 0 14px}.page-shell>.text-muted,.page-shell>div>.text-muted{color:#d8d9e2!important}.btn{min-height:48px;border-radius:11px;font-weight:850;padding:.72rem 1rem}.btn-primary,.btn-success{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}.btn-primary:hover,.btn-success:hover{background:var(--red-dark)!important;border-color:var(--red-dark)!important}.btn-outline-primary{color:var(--red)!important;border-color:var(--red)!important;background:#fff}.btn-outline-primary:hover{background:var(--red)!important;color:#fff!important}.btn-outline-secondary{border-color:#666;color:#222;background:#fff}.form-control,.form-select{min-height:50px;border-radius:10px;border:1px solid #a4a5ad;font-size:16px}.form-control:focus,.form-select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(227,27,35,.15)}.supplier-card{border:0;border-left:5px solid var(--red);border-radius:14px;transition:transform .1s;box-shadow:var(--shadow)}.supplier-card:active{transform:scale(.99)}
.order-matrix-wrap{overflow:auto;max-height:68vh;border:1px solid #8f9199;border-radius:12px;background:#fff;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow)}.order-matrix{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%}.order-matrix th,.order-matrix td{border-right:1px solid #ddd;border-bottom:1px solid #ddd;padding:.45rem;vertical-align:middle;background:#fff}.order-matrix thead th{position:sticky;top:0;z-index:7;background:#17171f;color:#fff;font-size:13px}.order-matrix .sticky-product{position:sticky;left:0;z-index:5;min-width:180px;width:180px;max-width:180px;background:#fff}.order-matrix thead .sticky-product{z-index:10;background:#17171f}.order-matrix .sticky-price{position:sticky;left:180px;z-index:5;min-width:82px;width:82px;max-width:82px;background:#f2f2f5;text-align:center;border-right:2px solid #777}.order-matrix thead .sticky-price{z-index:10;background:#17171f}.account-col{min-width:132px;width:132px;text-align:center}.account-name{font-size:10px;line-height:1.15;color:#ddd;margin-top:3px;white-space:normal}.product-cell{display:flex;align-items:center;gap:8px}.product-image{width:56px;height:56px;flex:0 0 56px;object-fit:contain;background:#fff;border:1px solid #e2e2e2;border-radius:8px;padding:2px}.product-copy{min-width:0}.product-desc{font-weight:850;font-size:13px;line-height:1.2;overflow-wrap:anywhere}.pack-desc{font-size:12px;color:#666;margin-top:3px;line-height:1.15;overflow-wrap:anywhere}.deal-text{font-size:10px;color:#555;margin-top:3px}.sticky-price strong{color:var(--red);font-size:15px}.qty-stepper{display:grid;grid-template-columns:38px 48px 38px;justify-content:center;align-items:center}.qty{width:48px!important;min-height:42px!important;text-align:center;font-weight:900;font-size:17px;padding:.2rem;border-radius:0}.qty-btn{width:38px;height:42px;border:0;background:#202029;color:#fff;font-size:23px;font-weight:900;line-height:1}.qty-btn:first-child{border-radius:9px 0 0 9px}.qty-btn:last-child{border-radius:0 9px 9px 0}.qty-btn:active{background:var(--red)}.qty-btn:disabled{background:#aaa}.qty:disabled{background:#eee;color:#777}.save-state{height:16px;font-size:10px;color:#666;margin-top:2px}.matrix-hint{background:rgba(255,255,255,.95);border-left:4px solid var(--red);padding:9px 12px;border-radius:8px;font-size:13px;margin-bottom:8px}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:1000;min-height:68px;background:#08080d;display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 -2px 16px rgba(0,0,0,.38);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid rgba(255,255,255,.1)}.mobile-bottom-nav a{color:#ddd;text-decoration:none;font-size:11px;font-weight:750;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px}.mobile-bottom-nav a span{font-size:21px;line-height:1}.mobile-bottom-nav .order-nav{background:var(--red);color:#fff}.faq-item{border-radius:12px!important;margin-bottom:8px;overflow:hidden}.accordion-button{font-weight:800;min-height:52px}.accordion-button:not(.collapsed){background:#fff0f0;color:#111;box-shadow:none}.accordion-button:focus{box-shadow:0 0 0 3px rgba(227,27,35,.15)}.venue-placeholder{min-height:280px;border:2px dashed #999;border-radius:16px;background:#eee;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:#555}.table{background:#fff}.table thead th{background:#202029;color:#fff}.alert-info{background:#eef1f5;border-color:#c5c7ce;color:#202026}.auth-shell{min-height:58vh;display:grid;place-items:center}.auth-card{width:min(100%,520px)}.code-input{text-align:center;font-size:28px;font-weight:900;letter-spacing:.28em;font-variant-numeric:tabular-nums}.account-edit-row{display:grid;grid-template-columns:1fr 1.35fr 54px;gap:8px;margin-bottom:9px}.fulfilment-grid{display:grid;gap:12px}.fulfilment-card{background:#f4f5f7;border:1px solid #d6d7dc;border-radius:14px;padding:14px}.method-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.method-buttons input{position:absolute;opacity:0}.method-buttons span{display:flex;min-height:50px;align-items:center;justify-content:center;border:2px solid #aaa;border-radius:11px;background:#fff;font-weight:850;cursor:pointer}.method-buttons input:checked+span{border-color:var(--red);background:#fff0f1;color:#8e0d13;box-shadow:0 0 0 2px rgba(227,27,35,.10)}.signature-wrap{height:190px;background:#fff;border:2px dashed #686a72;border-radius:12px;position:relative;overflow:hidden;touch-action:none}.signature-wrap canvas{display:block;width:100%;height:180px;touch-action:none}.signature-label{position:absolute;left:0;right:0;bottom:10px;text-align:center;color:#aaa;text-transform:uppercase;font-weight:850;letter-spacing:.12em;pointer-events:none}.signature-preview{max-width:100%;height:auto;max-height:220px;background:#fff;border:1px solid #ddd;border-radius:8px}.closed-panel{background:#111827;color:#fff;border:2px solid #d2d4da;border-radius:14px;padding:18px;margin-top:14px}.closed-panel a{color:#fff;font-weight:900}.orders-list{display:grid;gap:10px}.order-history-card{display:flex;align-items:center;justify-content:space-between;color:#19191f!important}.status-chip{display:inline-block;background:#e8f5eb;color:#18642c;border-radius:100px;padding:4px 9px;font-size:11px;font-weight:850}.fulfilment-summary{background:#fff;border-left:5px solid var(--red);border-radius:10px;padding:11px 13px;margin-bottom:8px;box-shadow:var(--shadow)}code{color:#861119}.form-check-input:checked{background-color:var(--red);border-color:var(--red)}
@media(min-width:768px){body{padding-bottom:0}.page-shell{padding:18px 24px 42px}.mobile-bottom-nav{display:none}.desktop-nav{display:flex;background:rgba(255,255,255,.96);border-bottom:1px solid #ddd;justify-content:center;gap:8px;padding:8px;position:sticky;top:64px;z-index:900;backdrop-filter:blur(8px)}.desktop-nav a{color:#222;text-decoration:none;font-weight:800;padding:10px 15px;border-radius:9px}.desktop-nav a:hover{background:#eee;color:var(--red)}.header-link{display:inline-flex}.order-matrix .sticky-product{min-width:280px;width:280px;max-width:280px}.order-matrix .sticky-price{left:280px;min-width:112px;width:112px;max-width:112px}.account-col{min-width:132px;width:132px}.product-desc{font-size:15px}.pack-desc{font-size:13px}.product-image{width:68px;height:68px;flex-basis:68px}.hero-title-overlay{display:flex}.hero-banner img{max-height:360px;object-fit:cover;object-position:center}.deadline-bar{padding:14px}.deadline-copy{font-size:15px}.fulfilment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.brand{font-size:14px}.brand small{font-size:8px}.header-order-btn{font-size:13px;padding:0 11px}.account-edit-row{grid-template-columns:1fr 54px}.account-edit-row input:nth-child(2){grid-column:1/2}.account-edit-row button{grid-column:2;grid-row:1/3}.deadline-time{font-size:20px}.order-matrix .sticky-product{min-width:170px;width:170px;max-width:170px}.order-matrix .sticky-price{left:170px;min-width:78px;width:78px;max-width:78px}.product-image{width:50px;height:50px;flex-basis:50px}.product-desc{font-size:12px}.pack-desc{font-size:11px}}

.venue-plan-image{display:block;width:100%;height:auto;background:#fff;touch-action:pan-x pan-y;user-select:none}

.brand-desc{font-size:10px;color:#6b4aa0;font-weight:800;margin-top:2px}.supplier-search-card{position:sticky;top:72px;z-index:20}.grid-two-actions{grid-template-columns:1fr 1fr}.supplier-attendees{color:#303038}.venue-search-results{display:grid;gap:6px;max-height:320px;overflow:auto}.venue-result{width:100%;text-align:left;border:1px solid #c9cad1;background:#fff;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;min-height:52px}.venue-result:active{border-color:var(--red);background:#fff1f2}.venue-result span{font-size:12px;color:#666;margin-top:2px}.venue-search-empty{padding:12px;border-radius:8px;background:#f0f1f4;color:#555}.venue-map-card{overflow:hidden}.venue-viewport{overflow:auto;max-height:72vh;border:1px solid #b8bac2;border-radius:12px;background:#fff;-webkit-overflow-scrolling:touch}.venue-map{position:relative;min-width:900px;width:100%;line-height:0}.venue-plan-image{display:block;width:100%;height:auto}.stand-marker{position:absolute;transform:translate(-50%,-50%);z-index:12;display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 4px 8px rgba(0,0,0,.7));animation:markerPulse 1.15s infinite ease-in-out}.marker-pin{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#ffea00;color:#111;border:5px solid #ff1744;font-size:22px;box-shadow:0 0 0 8px rgba(255,23,68,.28),0 0 30px rgba(255,234,0,.95)}.marker-label{margin-top:5px;line-height:1;background:#ff1744;color:#fff;border:2px solid #fff;border-radius:100px;padding:7px 10px;font-size:11px;font-weight:950;white-space:nowrap;letter-spacing:.04em}.selected-stand-info{margin-top:12px;border-left:5px solid #ff1744;padding:12px;background:#fff8d9;border-radius:9px;line-height:1.4}@keyframes markerPulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.16)}}
@media(max-width:767px){.supplier-search-card{top:70px}.grid-two-actions{grid-template-columns:1fr}.venue-map{min-width:1050px}.venue-viewport{max-height:65vh}}

/* 2026-08-22 upgrade: branded hero, featured partners, assistant */
.hero-logo-overlay{gap:10px}.hero-logo-row{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap}.hero-logo-row img{width:auto!important;height:72px!important;max-width:42vw!important;object-fit:contain!important;filter:none!important;background:#fff;border-radius:12px;padding:8px 12px;box-shadow:0 8px 24px rgba(0,0,0,.28)}.hero-logo-overlay h1{font-size:clamp(34px,5vw,66px);letter-spacing:.04em}.hero-tagline{font-size:clamp(13px,1.7vw,21px);letter-spacing:.14em}.featured-partners{padding:22px}.featured-star{color:var(--red);font-size:28px;line-height:1}.featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.featured-logo-card{min-height:150px;border:1px solid #e1e2e6;border-radius:14px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#17171b;padding:14px;box-shadow:0 6px 18px rgba(0,0,0,.08);transition:transform .12s,border-color .12s}.featured-logo-card:active{transform:scale(.985);border-color:var(--red)}.featured-logo-card img{width:100%;height:85px;object-fit:contain}.featured-logo-card span{font-weight:850;font-size:12px;text-align:center;margin-top:8px}.featured-logo-card small{color:#666;font-weight:750}.featured-logo-card.is-static{opacity:.85}.attendee-list{display:grid;gap:7px}.attendee-list>div{padding:9px 11px;background:#f4f5f7;border-radius:9px;display:flex;flex-direction:column}.attendee-list span{font-size:12px;color:#666}.exhibitor-only{background:#eef1f4;border-left:4px solid #68707c;border-radius:8px;padding:10px 12px;font-weight:800;color:#3c424b}.chat-launcher{position:fixed;right:14px;bottom:84px;z-index:1250;border:0;border-radius:999px;background:#e31b23;color:#fff;padding:5px 12px 5px 5px;display:flex;align-items:center;gap:7px;font-weight:900;box-shadow:0 10px 28px rgba(0,0,0,.38)}.chat-launcher img{width:48px;height:48px;object-fit:cover;border-radius:50%;border:2px solid #fff}.chat-panel{position:fixed;right:10px;left:10px;bottom:82px;z-index:1300;max-height:72vh;background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.48);overflow:hidden;border:1px solid #ddd}.chat-panel[hidden]{display:none}.chat-head{display:grid;grid-template-columns:48px 1fr 42px;align-items:center;gap:9px;background:#111118;color:#fff;padding:10px}.chat-head img{width:48px;height:48px;border-radius:50%;object-fit:cover}.chat-head strong,.chat-head small{display:block}.chat-head small{font-size:11px;color:#c7c8cf}.chat-head button{border:0;background:transparent;color:#fff;font-size:30px}.chat-messages{height:300px;overflow:auto;padding:12px;background:#f3f4f6;display:flex;flex-direction:column;gap:8px}.chat-bubble{max-width:88%;padding:10px 12px;border-radius:14px;line-height:1.35;font-size:14px;white-space:pre-wrap}.chat-bubble.bot{align-self:flex-start;background:#fff;border:1px solid #ddd}.chat-bubble.user{align-self:flex-end;background:#e31b23;color:#fff}.chat-bubble.waiting{color:#777}.chat-quick{display:flex;gap:6px;overflow-x:auto;padding:8px;background:#fff}.chat-quick button{border:1px solid #d1d2d6;border-radius:999px;background:#fff;padding:7px 9px;font-size:12px;white-space:nowrap}.chat-form{display:grid;grid-template-columns:1fr auto;gap:7px;padding:10px;border-top:1px solid #ddd}.chat-form input{min-width:0;border:1px solid #aaa;border-radius:10px;padding:10px;font-size:16px}.chat-form button{border:0;border-radius:10px;background:#e31b23;color:#fff;font-weight:850;padding:0 14px}.chat-links{display:flex;flex-wrap:wrap;gap:6px;margin:0 12px 10px}.chat-links a{font-size:12px;background:#fff;border:1px solid #e31b23;color:#a70f16;text-decoration:none;border-radius:999px;padding:6px 9px;font-weight:800}
@media(min-width:768px){.featured-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.featured-logo-card{min-height:180px}.featured-logo-card img{height:110px}.chat-launcher{bottom:20px;right:20px}.chat-panel{left:auto;right:20px;bottom:84px;width:390px;max-height:650px}.chat-messages{height:360px}}
@media(max-width:520px){.hero-title-overlay{display:none!important}.hero-mobile-copy{display:block}.hero-mobile-copy .hero-logo-row{margin-bottom:12px}.hero-logo-row img{height:46px!important;max-width:43vw!important;padding:5px 7px}.hero-mobile-copy h1{font-size:29px;letter-spacing:.03em}.hero-mobile-copy p{font-size:12px;letter-spacing:.1em}.featured-logo-card{min-height:130px}.featured-logo-card img{height:72px}}
.voice-controls{display:flex;align-items:center;gap:9px;padding:9px 10px;border-top:1px solid #e1e2e6;background:#fff}.voice-button{min-height:46px;border:0;border-radius:999px;background:#17171d;color:#fff;font-weight:900;padding:7px 14px;display:flex;align-items:center;gap:8px;touch-action:none;user-select:none;-webkit-user-select:none}.voice-button .voice-icon{font-size:20px}.voice-button.connecting{background:#555b66}.voice-button.listening{background:#e31b23;box-shadow:0 0 0 5px rgba(227,27,35,.16);transform:scale(1.02)}.voice-button.speaking{background:#5427a5}.voice-button.error{background:#8b2020}.voice-status{font-size:12px;color:#5e626b;font-weight:750;line-height:1.2}.voice-button:disabled{opacity:.55}.chat-panel{overscroll-behavior:contain}.chat-messages{scroll-behavior:smooth}
