*{box-sizing:border-box}
:root{--page:#f6f8fb;--ink:#172033;--muted:#667085;--line:#dfe7ef;--soft:#eef7fb}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--page);color:var(--ink);letter-spacing:0}
a{color:var(--primary);text-decoration:none}
button,.button{background:var(--primary);color:#fff;border:0;border-radius:6px;padding:11px 16px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 18px rgba(0,97,150,.16)}
button svg,.button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.button.ghost{background:#fff;color:var(--secondary);border:1px solid rgba(23,32,51,.12);box-shadow:none}
.danger{background:#b42318}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:11px 12px;background:#fff;color:var(--ink)}
textarea{min-height:90px}
label{display:grid;gap:7px;font-weight:800;color:#344054;font-size:14px}
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
th,td{padding:13px;border-bottom:1px solid #edf1f6;text-align:left;vertical-align:top}
th{font-size:12px;text-transform:uppercase;color:#667085;background:#f8fafc;letter-spacing:.04em}
tr:last-child td{border-bottom:0}
.topbar{min-height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:5;box-shadow:0 2px 12px rgba(23,32,51,.04)}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--secondary);font-size:22px}
.brand img{height:44px;max-width:132px;object-fit:contain}
.topbar nav{display:flex;gap:8px;font-weight:800;align-items:center}
.topbar nav a{color:#344054;padding:9px 12px;border-radius:6px}
.topbar nav a:hover{background:#f2f6fa;color:var(--primary)}
.nav-icon{width:42px;height:42px;padding:8px!important;display:inline-grid;place-items:center;border:1px solid transparent}
.nav-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.wrap{max-width:1240px;margin:0 auto;padding:28px}
.hero{min-height:390px;background:linear-gradient(110deg,#e9f7fb 0%,#f7fbfd 52%,#dff1f5 100%);border:1px solid #d7edf3;border-radius:8px;padding:44px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:34px;align-items:center;margin-bottom:18px;overflow:hidden;position:relative}
.hero:before{content:"";position:absolute;inset:auto -80px -120px auto;width:320px;height:320px;background:#b7e4ed;border-radius:50%;opacity:.55}
.hero-copy{position:relative;z-index:1;max-width:650px}
.eyebrow{display:inline-flex;background:#fff;color:var(--primary);border:1px solid #cfe5ed;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:900;margin-bottom:14px}
.hero h1{font-size:48px;line-height:1.04;margin:0 0 14px;color:#12324a;font-weight:900}
.hero p{font-size:18px;line-height:1.55;color:#405268;max-width:620px;margin:0 0 22px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-board{position:relative;z-index:1;height:300px}
.sample-card{position:absolute;background:#fff;border:1px solid #d7e6ee;border-radius:8px;box-shadow:0 18px 38px rgba(18,50,74,.14)}
.sample-card:before{content:"";position:absolute;left:18px;right:18px;top:18px;height:34px;border-radius:6px;background:linear-gradient(90deg,var(--primary),#2ba8e0)}
.sample-card:after{content:"BRAND";position:absolute;left:20px;bottom:20px;color:#12324a;font-weight:900;font-size:13px}
.sample-card.wide{width:300px;height:178px;right:112px;top:12px;transform:rotate(-3deg)}
.sample-card.small{width:170px;height:126px;right:10px;top:104px;background:#fff8ec;transform:rotate(5deg)}
.sample-card.tall{width:190px;height:245px;right:220px;top:74px;background:#fefefe;transform:rotate(3deg)}
.store-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:22px}
.store-strip div{background:#fff;padding:18px 20px}
.store-strip strong{display:block;color:#12324a;font-size:16px;margin-bottom:4px}
.store-strip span{color:var(--muted);font-size:14px}
.category-nav{display:flex;gap:10px;overflow:auto;padding:4px 0 18px;margin-bottom:2px}
.category-nav a{white-space:nowrap;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 16px;color:#344054;font-weight:900}
.category-nav a:hover{border-color:var(--primary);color:var(--primary)}
.category-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.category-pill{background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:800;color:#344054}
.catalog-section{padding:10px 0 8px}
.section-title{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:8px 0 15px}
.section-title h2{font-size:28px;color:#12324a;margin:0;font-weight:900}
.section-title span{color:var(--muted);font-weight:700}
.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;margin-bottom:22px;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.panel h1{margin-top:0;color:#12324a}
.narrow{max-width:460px;margin:48px auto}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid2 button{align-self:end}
.form-wide{grid-column:1/-1}
.logo-placement{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(320px,1fr);gap:18px;align-items:start;border:1px solid var(--line);background:#f8fafc;border-radius:8px;padding:16px}
.logo-placement strong{display:block;color:#12324a;font-size:18px;margin-bottom:4px}
.placement-preview{min-height:260px;border:1px dashed #9fb4c5;border-radius:8px;background:#fff;position:relative;overflow:visible;display:block;cursor:crosshair;touch-action:none}
.full-product-preview{max-width:860px;margin:0 auto;width:100%;background-color:#fff}
.placement-image{width:100%;height:auto;max-height:none;object-fit:contain;display:block;background:#fff}
.placement-preview .placement-image,.detail-image .product-base-image{width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;object-fit:contain!important;object-position:center center!important;display:block;background:#fff}
.placement-image[src=""]{display:none}
.placement-preview.has-image{background-color:#fff}
.placement-preview em{color:#667085;font-style:normal;font-weight:800}
.placement-preview.has-image em{display:none}
#placementMarker{position:absolute;left:62%;top:12%;width:24%;transform:translate(-50%,-50%);background:transparent;border:2px solid var(--primary);color:var(--primary);border-radius:4px;padding:0;text-align:center;font-size:13px;font-weight:900;box-shadow:0 8px 20px rgba(15,23,42,.18);cursor:move;z-index:2;min-width:0;touch-action:none;user-select:none}
#placementLogoVisual{display:block;width:100%}
#placementMarker svg,#placementMarker img{display:block;width:100%;height:auto;object-fit:contain}
#placementMarker:after{content:"drag";position:absolute;right:-1px;top:-23px;background:var(--primary);color:#fff;border-radius:5px 5px 0 0;padding:3px 7px;font-size:11px}
#placementResizeHandle{position:absolute;right:-9px;bottom:-9px;width:20px;height:20px;background:#fff;border:3px solid var(--primary);border-radius:50%;box-shadow:0 4px 12px rgba(15,23,42,.2);cursor:nwse-resize}
#placementResizeHandle:before{content:"";position:absolute;left:4px;top:4px;width:6px;height:6px;border-right:2px solid var(--primary);border-bottom:2px solid var(--primary)}
.product-thumb{width:86px;height:64px;object-fit:contain;border-radius:6px;border:1px solid var(--line);background:#fff}
.cart-thumb,.invoice-thumb{width:74px;height:58px;object-fit:contain;border-radius:6px;border:1px solid var(--line);background:#fff;flex:0 0 auto}
.line-product{display:flex;align-items:center;gap:12px;min-width:230px}
.line-product strong{display:block;color:#172033}
.line-product span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;margin-top:3px}
.line-product small{display:block;color:var(--primary);font-size:11px;font-weight:900;margin-top:4px}
.branded-thumb{padding:0;position:relative;overflow:hidden;display:grid;place-items:center;background:#fff;flex:0 0 auto}
.branded-thumb.product-img{height:58px}
.branded-thumb .logo-overlay{padding:1px;border-radius:2px;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.existing-gallery{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:12px}
.existing-gallery strong{display:block;margin-bottom:10px;color:#344054}
.existing-gallery>p{margin:0 0 12px}
.sortable-product-images{display:flex;gap:12px;flex-wrap:wrap}
.gallery-sort-item{position:relative;width:122px;padding:8px;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.05);transition:opacity .16s ease,border-color .16s ease,transform .16s ease}
.gallery-sort-item.dragging{opacity:.45;transform:scale(.97)}
.gallery-sort-item.marked-delete{opacity:.48;border-color:#f97066;background:#fff1f0}
.gallery-sort-item.marked-delete:after{content:"Delete on save";position:absolute;inset:38px 8px auto;background:#b42318;color:#fff;border-radius:4px;padding:5px;text-align:center;font-size:10px;font-weight:900;z-index:3}
.gallery-sort-item .product-thumb{display:block;width:104px;height:78px;margin:0 auto 7px}
.gallery-drag{width:100%;height:27px;margin:0 0 6px;padding:3px;background:#f2f4f7;color:#475467;border:1px solid #e4e7ec;border-radius:5px;box-shadow:none;cursor:grab}
.gallery-drag:active{cursor:grabbing}
.gallery-item-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.gallery-item-actions button{height:30px;padding:4px;background:#fff;color:#344054;border:1px solid #d0d5dd;border-radius:5px;box-shadow:none}
.gallery-item-actions button:hover{border-color:var(--primary);color:var(--primary)}
.gallery-item-actions .gallery-delete{color:#b42318}
.main-image-badge{position:absolute;top:42px;left:12px;z-index:2;background:var(--primary);color:#fff;border-radius:4px;padding:3px 6px;font-size:10px;font-weight:900;box-shadow:0 2px 6px rgba(15,23,42,.16)}
.gallery-sort-item.marked-delete .main-image-badge{display:none}
.company-logo-assignments{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:14px}
.company-logo-assignments>strong{display:block;color:#12324a;font-size:18px}
.company-logo-assignments>p{margin:5px 0 12px}
.company-logo-assignments>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.company-logo-assignment{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:9px;background:#fff}
.assigned-logo-preview{width:70px;height:54px;display:grid;place-items:center;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--muted);font-size:10px}
.assigned-logo-preview img{width:100%;height:100%;object-fit:contain;padding:4px}
.company-logo-assignment strong{display:block;color:#172033}
.company-logo-assignment small{display:block;margin-top:3px;color:var(--muted);text-transform:uppercase}
.remove-logo-assignment{grid-column:1/-1;display:flex;align-items:center;gap:7px;color:#b42318;font-size:12px;font-weight:900}
.remove-logo-assignment input{width:auto}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 8px 22px rgba(15,23,42,.05);transition:transform .16s ease,box-shadow .16s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,42,.09)}
.product-body{padding:15px}
.product h3{margin:6px 0 8px;font-size:18px;color:#172033}
.product-cat{font-size:12px;font-weight:900;color:var(--primary);text-transform:uppercase}
.product-img{height:218px;background:#fff;position:relative;overflow:hidden;display:grid;place-items:center}
.product-img>img:not(.logo-overlay){width:100%;height:100%;object-fit:contain;background:#fff}
.placeholder{width:72%;height:64%;border:1px dashed rgba(23,32,51,.22);border-radius:8px;background:rgba(255,255,255,.7);display:grid;place-items:center;text-align:center;color:#12324a;font-weight:900;box-shadow:inset 0 0 0 10px rgba(255,255,255,.3)}
.placeholder span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--primary);color:#fff;font-size:26px}
.placeholder small{color:var(--muted);font-size:12px}
.logo-overlay{position:absolute;height:auto;background:transparent;padding:0;border-radius:0;object-fit:contain;box-shadow:none;transform:translate(-50%,-50%);pointer-events:none;z-index:2}
.muted{color:var(--muted);line-height:1.45}
.price-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:14px 0 8px}
.price-row div{display:grid;gap:2px}
.price-row del{color:#98a2b3;font-size:13px}
.price-row strong{font-size:20px;color:#12324a}
.badge{background:#fff0d5;color:#8a4b00;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}
.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;text-transform:uppercase;background:#eef4ff;color:#1849a9;border:1px solid #c7d7fe}
.status-company_review{background:#fff8e6;color:#8a4b00;border-color:#fedf89}
.status-company_changes{background:#eef4ff;color:#1849a9;border-color:#c7d7fe}
.status-under_review{background:#fff8e6;color:#8a4b00;border-color:#fedf89}
.status-processed{background:#ecfdf3;color:#067647;border-color:#abefc6}
.status-in_shipping{background:#f4ebff;color:#6941c6;border-color:#d6bbfb}
.status-delivered{background:#e8f7ee;color:#17613a;border-color:#bde7cd}
.tax-line{font-size:13px;color:#405268;background:#f8fafc;border:1px solid #edf1f6;border-radius:6px;padding:9px;margin:0 0 12px}
.product form{display:grid;grid-template-columns:74px 1fr;gap:9px}
.product-detail{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(320px,1.05fr);gap:28px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.detail-image{height:auto;border-radius:8px;border:1px solid var(--line)}
.detail-image.product-img{height:auto;display:block;overflow:visible}
.detail-image>img:not(.logo-overlay){object-fit:contain}
.gallery-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.gallery-thumb{width:82px;height:66px;padding:0;border:2px solid var(--line);border-radius:6px;background:#fff;box-shadow:none;cursor:pointer;overflow:hidden}
.gallery-thumb.active{border-color:var(--primary)}
.gallery-thumb img{width:100%;height:100%;object-fit:contain;background:#fff;display:block}
.detail-copy h1{font-size:38px;line-height:1.1;margin:8px 0 12px;color:#12324a}
.detail-price{justify-content:flex-start;gap:18px}
.detail-price strong{font-size:30px}
.gst-box{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:18px 0;background:#f8fafc}
.gst-box div{display:flex;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--line)}
.gst-box div:last-of-type{background:#fff;color:#12324a}
.gst-box span{color:#667085;font-weight:800}
.gst-box strong{font-size:18px}
.gst-box p{margin:0;padding:12px 15px;color:#667085}
.detail-cart{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:end;max-width:420px}
.company-review{border:1px solid #fedf89;background:#fffcf5;border-radius:8px;padding:18px;margin:18px 0}
.company-review h2{margin:0 0 5px;color:#7a4d00}
.company-review p{margin:0 0 14px;color:#667085}
.company-review form{display:grid;gap:14px}
.review-item-list{display:grid;gap:10px}
.review-item-row{display:grid;grid-template-columns:minmax(220px,1fr) 130px 130px;gap:10px;align-items:end;border:1px solid var(--line);background:#fff;border-radius:6px;padding:10px}
.review-remove{align-self:center;margin-top:22px}
.review-add-product{display:grid;grid-template-columns:minmax(220px,1fr) 180px;gap:10px;border:1px dashed #f0b429;background:#fffdf5;border-radius:6px;padding:12px}
.table-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.table-actions form,.status-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.invoice{background:#fff}
.invoice-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:2px solid var(--line);padding-bottom:18px;margin-bottom:18px}
.invoice-brand{display:flex;gap:14px;align-items:center}
.invoice-brand img{width:120px;height:70px;object-fit:contain;border:1px solid var(--line);border-radius:6px;background:#fff;padding:8px}
.invoice-brand span{display:block;color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.06em}
.invoice-brand h1{margin:2px 0 0;color:#12324a}
.invoice-status{display:grid;gap:8px;text-align:right;color:var(--muted);font-weight:800}
.invoice-parties{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.invoice-parties div{border:1px solid var(--line);border-radius:8px;padding:14px;background:#f8fafc}
.invoice-parties strong{display:block;text-transform:uppercase;color:var(--muted);font-size:12px;letter-spacing:.05em;margin-bottom:8px}
.invoice-parties p{margin:0 0 6px;color:#172033;font-weight:900}
.invoice-parties span{color:var(--muted);line-height:1.45}
.invoice-table{margin-top:14px}
.invoice-bottom{display:grid;grid-template-columns:minmax(260px,1fr) 340px;gap:18px;margin-top:18px;align-items:start}
.status-steps{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.status-steps span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;color:var(--muted);font-weight:900;font-size:12px;text-transform:uppercase}
.status-steps span.active{border-color:var(--primary);color:#fff;background:var(--primary)}
.invoice-totals{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f8fafc}
.invoice-totals div{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}
.invoice-totals div:nth-child(3){background:#fff;color:#12324a}
.invoice-totals span{font-weight:900;color:var(--muted)}
.invoice-totals p{margin:0;padding:12px 14px;color:var(--muted)}
.flash{background:#e8f7ee;color:#17613a;border:1px solid #bde7cd;border-radius:8px;padding:12px 14px;margin-bottom:18px;font-weight:700}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}
.stats div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;color:var(--muted)}
.stats strong{display:block;font-size:36px;color:var(--secondary);margin-top:8px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.brand-preview{display:flex;align-items:center;gap:16px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:18px}
.brand-preview img{width:120px;height:70px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px}
.check-row{display:flex;grid-auto-flow:column;grid-template-columns:auto 1fr;align-items:center;gap:9px;font-weight:800}
.check-row input{width:auto}
form{margin:0}
td form{display:flex;gap:8px;align-items:center;margin-bottom:8px}
td form select{min-width:150px}
@media(max-width:1080px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{grid-template-columns:1fr}.hero-board{display:none}}
@media(max-width:760px){.topbar{height:auto;align-items:flex-start;gap:12px;flex-direction:column;padding:14px 18px}.topbar nav{flex-wrap:wrap}.wrap{padding:18px}.hero{padding:26px;min-height:320px}.hero h1{font-size:34px}.hero p{font-size:16px}.grid2,.cards,.stats,.store-strip,.logo-placement,.product-detail,.invoice-parties,.invoice-bottom,.review-item-row,.review-add-product,.company-logo-assignments>div{grid-template-columns:1fr}.section-title{align-items:flex-start;flex-direction:column;gap:4px}table{display:block;overflow-x:auto}.product-img{height:190px}.detail-image.product-img{height:auto}.detail-copy h1{font-size:30px}.product form,.detail-cart{grid-template-columns:1fr}.placement-preview{min-height:220px}.invoice-head{flex-direction:column}.invoice-status{text-align:left}.invoice-brand img{width:96px;height:58px}.review-remove{margin-top:0}}
@media print{.topbar,.no-print,.flash{display:none!important}.wrap{max-width:none;padding:0}.panel,.invoice{border:0;box-shadow:none;margin:0}.invoice{padding:0}body{background:#fff}}

/* Modern responsive application shell */
html{scroll-behavior:smooth;scroll-padding-top:92px;background:#f4f7fa}
body{min-width:320px;font-family:Inter,"Segoe UI",Arial,sans-serif;background:#f4f7fa;color:#172033;line-height:1.5}
body:after{content:"";position:fixed;inset:0 0 auto;height:3px;background:var(--accent);z-index:20;pointer-events:none}
img{max-width:100%}
button,.button{min-height:44px;border-radius:6px;padding:10px 17px;box-shadow:0 8px 18px rgba(18,50,74,.12);transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}
button:hover,.button:hover{transform:translateY(-1px);box-shadow:0 11px 24px rgba(18,50,74,.16)}
button:active,.button:active{transform:translateY(0)}
button[hidden]{display:none!important}
a,button,input,select,textarea{outline:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 68%,#fff);outline-offset:3px}
input,select,textarea{min-height:46px;border-color:#d5dee8;border-radius:6px;font:inherit;transition:border-color .16s ease,box-shadow .16s ease}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 13%,transparent)}
textarea{resize:vertical}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:10px;z-index:1000;transform:translateY(-160%);background:#fff;color:#172033;border:2px solid var(--primary);border-radius:6px;padding:9px 13px;font-weight:900}
.skip-link:focus{transform:translateY(0)}
.mobile-only{display:none}

.topbar{display:block;height:auto;min-height:76px;padding:0;background:rgba(255,255,255,.97);backdrop-filter:saturate(140%) blur(12px);box-shadow:0 5px 22px rgba(18,50,74,.06);z-index:30}
.topbar-inner{width:min(calc(100% - 40px),1480px);min-height:76px;margin:0 auto;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:24px;align-items:center}
.brand{min-width:0;gap:13px;font-size:22px;color:var(--secondary)}
.brand img{width:auto;height:46px;max-width:142px;flex:0 0 auto}
.brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar nav{gap:4px}
.topbar nav a{min-height:42px;display:inline-flex;align-items:center;padding:9px 13px;color:#344054}
.topbar nav a:hover{background:#f0f5f8;color:var(--primary)}
.topbar .nav-icon{width:42px;min-height:42px;justify-content:center;padding:8px!important}
.mobile-nav-toggle{display:none;width:44px;height:44px;min-height:44px;padding:9px;background:#fff;color:#25364a;border:1px solid #d5dee8;box-shadow:none}
.mobile-nav-toggle svg,.nav-install svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.nav-install{min-height:40px;margin-left:6px;padding:8px 12px;background:var(--secondary);box-shadow:none;font-size:14px}

.wrap{width:min(100%,1480px);max-width:1480px;padding:30px 28px 42px}
.site-footer{width:min(calc(100% - 56px),1424px);margin:0 auto;padding:22px 0 30px;border-top:1px solid #dbe3eb;display:flex;justify-content:space-between;gap:18px;color:#667085;font-size:13px;font-weight:700}

.hero{min-height:340px;margin-bottom:20px;padding:38px;background:#fff;border:1px solid #dbe5ec;border-left:5px solid var(--accent);grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:38px;box-shadow:0 14px 38px rgba(18,50,74,.07)}
.hero:before,.sample-card{display:none}
.hero h1{max-width:760px;font-size:44px;line-height:1.08;color:var(--secondary)}
.hero p{max-width:700px;color:#526275}
.eyebrow{border-radius:5px;background:color-mix(in srgb,var(--accent) 17%,#fff);border-color:color-mix(in srgb,var(--accent) 45%,#fff);color:#5f4800;padding:6px 10px;text-transform:uppercase;font-size:11px;letter-spacing:.08em}
.hero-board{position:relative;display:grid;height:276px;grid-template-columns:1.35fr .8fr;grid-template-rows:1fr 1fr;gap:12px}
.hero-product{position:relative;min-width:0;overflow:hidden;background:#f4f8fa;border:1px solid #d9e4ea;border-radius:7px}
.hero-product-main{grid-row:1/3}
.hero-product img{width:100%;height:100%;object-fit:contain;padding:12px;display:block}
.hero-product span{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:5px 8px;background:#fff;color:#25364a;border:1px solid #dbe3eb;border-radius:4px;font-size:11px;font-weight:900}
.hero-product-side{background:#fdf8ea}
.hero-product-small{background:#eef8f7}

.store-strip{border-color:#dbe3eb;background:#dbe3eb;box-shadow:0 8px 24px rgba(18,50,74,.04)}
.store-strip div{min-height:92px;padding:19px 21px;border-top:3px solid transparent}
.store-strip div:nth-child(1){border-top-color:#087f8c}.store-strip div:nth-child(2){border-top-color:var(--accent)}.store-strip div:nth-child(3){border-top-color:#6b5ca5}
.category-nav{padding:8px 2px 18px;scrollbar-width:thin}
.category-nav a,.category-pill{border-radius:6px;background:#fff}
.category-nav a:hover{background:color-mix(in srgb,var(--primary) 7%,#fff)}
.section-title{padding-bottom:10px;border-bottom:1px solid #dfe7ef}
.section-title h2{font-size:27px;color:var(--secondary)}

.cards{gap:16px}
.card{display:flex;flex-direction:column;border-color:#dbe3eb;box-shadow:0 8px 24px rgba(18,50,74,.055)}
.card:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(18,50,74,.10)}
.product-img{height:auto;min-height:0;aspect-ratio:4/3;background:#f8fafb}
.product-img>img:not(.logo-overlay){object-fit:contain!important;object-position:center!important;padding:8px}
.product-body{display:flex;flex:1;flex-direction:column;padding:17px}
.product h3{font-size:18px;line-height:1.3;margin:7px 0}
.product h3 a{color:#172033}
.product h3 a:hover{color:var(--primary)}
.product-body>.muted{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:42px;margin:4px 0}
.product-body>.button{width:100%;margin-top:auto}
.product-cat{letter-spacing:.04em}
.price-row strong{font-size:21px}
.badge,.status-badge{border-radius:5px}
.tax-line{margin-top:auto;border-radius:5px}

.panel,.product-detail{border-color:#dbe3eb;box-shadow:0 12px 34px rgba(18,50,74,.06)}
.panel{padding:26px}
.panel>h1:first-child{font-size:30px;line-height:1.15;margin-bottom:22px}
.narrow{max-width:520px;margin:46px auto}
.grid2{gap:18px}
.actions{align-items:center}
.stats{gap:14px}
.stats div{position:relative;overflow:hidden;padding:21px;border-color:#dbe3eb;box-shadow:0 8px 22px rgba(18,50,74,.04)}
.stats div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}
.stats strong{font-size:34px;color:var(--secondary)}

table{border-color:#dbe3eb;box-shadow:0 8px 22px rgba(18,50,74,.035)}
th{padding:12px 14px;background:#f2f6f8;color:#526275;letter-spacing:.06em}
td{padding:14px}
tbody tr{transition:background-color .14s ease}
tbody tr:hover{background:#fbfcfd}
.table-actions button,.table-actions .button,td form button{min-height:38px;padding:7px 11px}

.product-detail{padding:26px;gap:32px}
.detail-image{background:#fff;overflow:visible}
.detail-image.product-img{aspect-ratio:auto}
.detail-image>img:not(.logo-overlay){width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;padding:0!important}
.gallery-thumb{width:86px;height:70px}
.detail-copy{padding:8px 0}
.detail-copy h1{font-size:38px;color:var(--secondary)}
.gst-box{border-radius:7px}
.invoice{padding:28px}
.invoice-parties div,.invoice-totals{border-radius:7px}
.flash{position:relative;padding:13px 16px 13px 19px;box-shadow:0 7px 18px rgba(23,97,58,.07)}
.flash:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#27865b}

.logo-placement{background:#f5f8fa}
.placement-preview{background:#fff}
.company-logo-assignments,.existing-gallery{background:#f5f8fa}

@media(max-width:1180px){
  .topbar-inner{width:min(calc(100% - 28px),1480px);gap:14px}
  .topbar nav a{padding:9px 10px}
  .hero{grid-template-columns:minmax(0,1fr) 360px}
  .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:900px){
  html{scroll-padding-top:76px}
  .topbar{display:block;min-height:70px;padding:0;align-items:initial;flex-direction:initial}
  .topbar-inner{min-height:70px;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:9px 0}
  .brand{font-size:19px}.brand img{height:40px;max-width:112px}
  .mobile-nav-toggle{display:inline-grid;place-items:center}
  .topbar nav{display:none;grid-column:1/-1;width:100%;padding:8px 0 5px;border-top:1px solid #e4e9ef;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .topbar.nav-open nav{display:grid}
  .topbar nav a,.topbar .nav-icon,.nav-install{width:100%;min-width:0;min-height:44px;margin:0;justify-content:flex-start;padding:9px 12px!important;border:1px solid #e7ecf1;background:#fff;border-radius:6px}
  .topbar .nav-icon{display:flex}
  .topbar nav a:hover{background:#f3f7f9}
  .nav-install{display:flex;background:var(--secondary);color:#fff;border-color:var(--secondary)}
  .mobile-only{display:inline}
  .wrap{padding:22px 18px 34px}
  .hero{grid-template-columns:1fr;padding:30px;gap:24px}
  .hero-board{display:grid;height:210px;grid-template-columns:1.2fr .8fr}
  .hero h1{font-size:39px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-detail,.logo-placement,.invoice-bottom{grid-template-columns:1fr}
  .company-logo-assignments>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
  .topbar-inner{width:calc(100% - 24px)}
  .brand{gap:9px;font-size:17px}.brand img{height:36px;max-width:90px}
  .topbar nav{grid-template-columns:1fr}
  .wrap{padding:16px 12px 28px}
  .site-footer{width:calc(100% - 24px);padding:18px 0 calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:4px}
  .hero{min-height:0;padding:24px 20px;border-left-width:4px}
  .hero h1{font-size:32px}.hero p{font-size:15px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%}
  .hero-board{height:158px;gap:8px}
  .hero-product img{padding:7px}.hero-product span{left:6px;bottom:6px;padding:3px 5px;font-size:9px}
  .store-strip,.cards,.stats,.grid2,.invoice-parties,.review-item-row,.review-add-product,.company-logo-assignments>div{grid-template-columns:1fr}
  .store-strip div{min-height:0;padding:16px 18px}
  .section-title h2{font-size:24px}.section-title span{font-size:13px}
  .panel,.product-detail,.invoice{padding:18px;border-radius:7px}
  .panel>h1:first-child{font-size:27px}
  .narrow{margin:20px auto}
  .product-img{aspect-ratio:4/3}
  .product-body{padding:15px}
  .detail-copy h1{font-size:30px}
  .detail-price{align-items:flex-start;flex-direction:column;gap:8px}
  .detail-cart,.product form{grid-template-columns:1fr}
  .gallery-thumb{width:72px;height:58px}
  .invoice-head{gap:12px}.invoice-brand{align-items:flex-start}.invoice-brand h1{font-size:25px}
  .invoice-table,table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .invoice-table{min-width:680px}
  th,td{padding:11px 12px}
  .table-actions,.table-actions form,.status-form,td form{min-width:150px}
  .category-nav{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}
  .category-nav a{padding:9px 12px}
  .sortable-product-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-sort-item{width:100%}.gallery-sort-item .product-thumb{width:100%;height:84px}
}

@media(display-mode:standalone){
  .topbar{padding-top:env(safe-area-inset-top)}
  body{padding-bottom:env(safe-area-inset-bottom)}
  .nav-install{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
