:root { --deep:#173a37; --teal:#11676a; --teal-pale:#dfeeea; --gold:#8a642f; --ink:#20312f; --muted:#596663; --line:#e5ddd1; --paper:#faf7f0; }
body { background: var(--paper); }
.preview-banner { min-height:44px; padding:9px 20px; display:flex; align-items:center; justify-content:center; gap:12px; background:#f1d5a2; color:#43331d; text-align:center; }
.preview-banner strong { padding:5px 9px; border-radius:999px; background:var(--deep); color:#fff; font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.preview-banner span { font-size:.76rem; font-weight:800; }
.social-links { margin-top:18px; display:flex; flex-wrap:wrap; gap:9px; }
.social-links a { min-height:38px; padding:7px 12px; border:1px solid rgba(255,255,255,.2); border-radius:999px; display:inline-flex; align-items:center; gap:8px; color:#fff; font-size:.7rem; font-weight:900; transition:.2s ease; }
.social-links a:hover { border-color:#f1d5a2; background:rgba(255,255,255,.08); transform:translateY(-1px); }
.social-links a span { width:23px; height:23px; border-radius:50%; display:grid; place-items:center; background:#f1d5a2; color:#293a37; font-size:.62rem; font-weight:900; }
.social-links-contact { margin-top:8px; }
.social-links-contact a { border-color:var(--line); background:#fff; color:var(--teal-dark); }
.social-links-contact a:hover { border-color:var(--teal); background:var(--teal-pale); }
.delivery-bar { min-height: 39px; background: var(--deep); display:flex; justify-content:center; gap:clamp(18px,5vw,75px); font-size:.72rem; }
.delivery-bar span::before { content:'•'; margin-right:8px; color:#f1d5a2; }
.account-pill { border:1px solid var(--border); border-radius:999px; padding:10px 15px; background:#fff; font-size:.78rem; font-weight:900; }
.premium-hero { background:linear-gradient(115deg,#f7efe1 0%,#faf7f0 53%,#dfece8 100%); }
.premium-hero h1 { color:var(--ink); }
.benefit-band { background:#fff; border-block:1px solid var(--line); }
.benefit-band .container, .shop-benefits { display:grid; grid-template-columns:repeat(4,1fr); }
.benefit-band article, .shop-benefits article { min-height:88px; padding:18px 24px; border-right:1px solid var(--line); display:flex; align-items:center; gap:15px; }
.benefit-band article:last-child, .shop-benefits article:last-child { border:0; }
.benefit-band b, .shop-benefits b { color:var(--gold); font:italic 1.35rem Georgia,serif; }
.benefit-band span, .shop-benefits span { display:grid; gap:3px; }
.benefit-band strong, .shop-benefits strong { font:700 .92rem Georgia,serif; }
.benefit-band small, .shop-benefits small { color:var(--muted); font-size:.66rem; }
.compact-steps { grid-template-columns:1fr; margin:24px 0; gap:10px; }
.compact-steps .step { padding:17px; display:grid; grid-template-columns:auto 1fr; gap:14px; }
.compact-steps .step::before { grid-row:1/3; margin:0; width:38px; height:38px; }
.compact-steps .step h3,.compact-steps .step p { margin:0; }
.account-callout { padding:clamp(36px,6vw,72px); border-radius:32px; color:#fff; background:linear-gradient(125deg,#173a37,#0e6267); display:grid; grid-template-columns:1fr .8fr; gap:70px; align-items:center; }
.account-callout .eyebrow { color:#f1d5a2; }
.account-callout p { color:rgba(255,255,255,.7); max-width:600px; }
.account-callout-art { padding:28px; border:1px solid rgba(255,255,255,.2); border-radius:20px; background:rgba(255,255,255,.08); display:grid; grid-template-columns:auto 1fr; align-items:center; gap:10px 14px; }
.account-callout-art strong { grid-column:1/-1; margin-bottom:8px; font:700 1.4rem Georgia,serif; }
.account-callout-art span { font-size:.76rem; }
.account-callout-art i { height:3px; background:rgba(255,255,255,.23); border-radius:99px; }

/* Shop */
.catalogue-main { background:#faf7f0; }
.shop-hero { padding:70px 0; min-height:670px; background:linear-gradient(115deg,#f7efe1 0%,#faf7f0 50%,#deebe7 100%); overflow:hidden; }
.shop-hero-grid { display:grid; grid-template-columns:.93fr 1.07fr; align-items:center; gap:clamp(48px,7vw,105px); }
.shop-hero h1 { font-size:clamp(3.6rem,6vw,5.8rem); line-height:.91; }
.shop-hero h1 em { display:block; color:var(--teal); font-weight:400; }
.shop-hero p { color:var(--muted); max-width:620px; }
.hero-search { margin-top:30px; padding:10px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.85); box-shadow:0 20px 45px rgba(37,56,52,.09); }
.hero-search label { display:block; padding:3px 10px 8px; color:#155e62; font-size:.58rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.hero-search>div { display:flex; height:53px; }
.hero-search input { flex:1; min-width:0; border:0; outline:0; padding:0 12px; background:transparent; }
.hero-search button { padding:0 25px; border:0; border-radius:12px; background:var(--ink); color:#fff; font-weight:900; }
.quick-search { margin-top:14px; display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.quick-search span { font-size:.7rem; color:var(--muted); }
.quick-search button { border:1px solid var(--line); border-radius:999px; padding:7px 11px; background:rgba(255,255,255,.55); color:#155e62; font-size:.68rem; font-weight:800; }
.shop-hero-art { position:relative; padding:0 18px 45px 0; }
.shop-hero-art::before { content:''; position:absolute; right:-10px; top:-20px; width:68%; height:90%; border:1px solid rgba(32,49,47,.13); border-radius:46% 46% 25px 25px; }
.shop-hero-art img { position:relative; width:100%; height:535px; object-fit:cover; border-radius:46% 46% 27px 27px; box-shadow:0 28px 75px rgba(37,56,52,.18); }
.floating-stat { position:absolute; z-index:2; left:-25px; bottom:10px; padding:16px 19px; border-radius:17px; background:rgba(255,255,255,.94); box-shadow:0 18px 42px rgba(32,49,47,.15); display:grid; }
.floating-stat.delivery { left:auto; right:-8px; bottom:auto; top:32%; }
.floating-stat strong { font:700 1.4rem Georgia,serif; }
.floating-stat small { color:var(--muted); font-size:.55rem; text-transform:uppercase; letter-spacing:.1em; }
.shop-benefits { width:min(1370px,92vw); margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:0 0 20px 20px; }
.catalogue-section { padding:100px 0 120px; }
.catalogue-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; }
.catalogue-heading h2 { margin:0; }
.catalogue-heading>p { color:var(--muted); font-size:.85rem; }
.catalogue-heading>p strong { color:#155e62; font-size:1.15rem; }
.catalogue-tools { margin:38px 0; padding:17px; border:1px solid var(--line); border-radius:20px; background:#fff; display:grid; grid-template-columns:1.2fr 1fr 1fr .85fr auto; gap:10px; align-items:end; box-shadow:0 15px 35px rgba(32,49,47,.05); }
.catalogue-tools label { display:grid; gap:6px; }
.catalogue-tools label>span { padding-left:3px; color:var(--muted); font-size:.58rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.catalogue-tools input,.catalogue-tools select { width:100%; height:44px; padding:0 11px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); font-size:.76rem; }
.catalogue-tools .availability-toggle { display:grid; gap:6px; cursor:pointer; }
.catalogue-tools .availability-control { height:44px; padding:0 12px; border:1px solid var(--line); border-radius:10px; background:#fff; display:flex; align-items:center; gap:9px; letter-spacing:0; text-transform:none; }
.catalogue-tools .availability-control input { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.availability-control i { position:relative; width:36px; height:20px; flex:0 0 36px; border-radius:999px; background:#d8d7cf; box-shadow:inset 0 0 0 1px rgba(32,49,47,.08); transition:.2s ease; }
.availability-control i::after { content:""; position:absolute; left:3px; top:3px; width:14px; height:14px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(32,49,47,.2); transition:.2s ease; }
.availability-control b { color:var(--ink); font-size:.68rem; font-weight:700; white-space:nowrap; }
.availability-control input:checked+i { background:var(--teal); }
.availability-control input:checked+i::after { transform:translateX(16px); }
.availability-control input:focus-visible+i { outline:3px solid rgba(36,127,134,.24); outline-offset:2px; }
.catalogue-loading { min-height:150px; padding:28px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.65); color:var(--muted); text-align:center; box-shadow:0 12px 32px rgba(32,49,47,.04); }
.catalogue-loading[hidden] { display:none; }
.catalogue-loading::before { content:""; width:27px; height:27px; margin-bottom:4px; border:3px solid rgba(36,127,134,.18); border-top-color:var(--teal); border-radius:50%; animation:catalogue-spin .75s linear infinite; }
.catalogue-loading strong { color:var(--ink); font:700 1.05rem Georgia,serif; }
.catalogue-loading span { font-size:.72rem; }
@keyframes catalogue-spin { to { transform:rotate(360deg); } }
.catalogue-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:34px 18px; }
.catalogue-card { min-width:0; }
.catalogue-image { position:relative; width:100%; height:300px; padding:0; overflow:hidden; border:1px solid rgba(32,49,47,.07); border-radius:20px; background:#fff; }
.catalogue-image img { width:100%; height:100%; padding:22px; object-fit:contain; transition:.35s; }
.catalogue-card:hover .catalogue-image img { transform:scale(1.045); }
.stock-badge { position:absolute; left:12px; top:12px; padding:7px 10px; border-radius:999px; color:#fff; background:rgba(96,80,70,.88); font-size:.52rem; font-weight:900; text-transform:uppercase; }
.stock-badge.available { background:rgba(24,109,84,.9); }
.catalogue-card-copy { padding:17px 3px 0; }
.catalogue-card-copy>small { color:#155e62; font-size:.58rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.catalogue-card-copy h3 { min-height:46px; margin:8px 0 0; font-size:1.15rem; }
.catalogue-card-copy p { margin:7px 0; color:var(--muted); font-size:.72rem; }
.catalogue-card-copy>div { margin-top:14px; padding-top:13px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:10px; }
.catalogue-card-copy strong { font-size:.8rem; }
.catalogue-card-copy button { border:0; background:transparent; color:#155e62; font-size:.68rem; font-weight:900; }
.load-more { margin:55px auto 0; display:flex; min-width:320px; }
.delivery-callout { margin-top:100px; padding:clamp(36px,5vw,66px); border-radius:28px; background:linear-gradient(125deg,#163a37,#0e6267); color:#fff; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:50px; }
.delivery-callout>strong { width:115px; height:115px; border:1px solid rgba(255,255,255,.25); border-radius:50%; display:grid; place-items:center; color:#f1d5a2; font:italic 2rem Georgia,serif; }
.delivery-callout .eyebrow { color:#f1d5a2; }
.delivery-callout h2 { margin:0; }
.delivery-callout p { color:rgba(255,255,255,.68); }
.delivery-callout .btn-secondary { border-color:transparent; background:#f1d5a2; color:#163a37; box-shadow:0 12px 28px rgba(0,0,0,.18); }
.delivery-callout .btn-secondary:hover { background:#ffe6b8; }
.product-dialog { width:min(1020px,94vw); max-height:92vh; padding:0; border:0; border-radius:27px; background:#fff; box-shadow:0 35px 100px rgba(0,0,0,.28); grid-template-columns:.9fr 1.1fr; overflow:auto; }
.product-dialog[open] { display:grid; }
.product-dialog::backdrop { background:rgba(15,31,29,.65); backdrop-filter:blur(6px); }
.dialog-close { position:absolute; z-index:2; right:17px; top:17px; width:40px; height:40px; border:1px solid var(--line); border-radius:50%; background:#fff; font-size:1.4rem; }
.dialog-image { min-height:610px; padding:40px; background:#f3efe6; display:grid; place-items:center; }
.dialog-image img { max-height:520px; object-fit:contain; }
.dialog-copy { padding:clamp(42px,6vw,70px); align-self:center; }
.dialog-copy h2 { margin:8px 0 16px; }
.dialog-copy>p { color:var(--muted); font-size:.84rem; }
.variant-label { margin-top:24px; display:flex; justify-content:space-between; align-items:baseline; gap:12px; color:var(--muted); }
.variant-label strong { color:var(--teal-dark); font-size:.65rem; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.variant-label span { font-size:.58rem; font-weight:800; }
.variant-options { margin-top:10px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.variant-option { position:relative; min-width:0; padding:12px 13px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 10px; align-items:center; border:1px solid #d9d2c5; border-radius:13px; background:#fff; color:var(--ink); text-align:left; cursor:pointer; transition:border-color .18s,background .18s,box-shadow .18s,transform .18s; }
.variant-option:hover:not(:disabled) { transform:translateY(-1px); border-color:#82b9b3; box-shadow:0 8px 22px rgba(24,89,84,.09); }
.variant-option span { min-width:0; overflow-wrap:anywhere; font-size:.72rem; font-weight:900; line-height:1.28; }
.variant-option strong { color:var(--teal-dark); font-size:.7rem; white-space:nowrap; }
.variant-option small { grid-column:1/-1; color:var(--muted); font-size:.54rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.variant-option.selected { border-color:var(--teal); background:linear-gradient(135deg,#e9f6f2,#f8fcfa); box-shadow:0 0 0 2px rgba(36,127,134,.12); }
.variant-option.selected small { color:#187252; }
.variant-option:disabled { border-style:dashed; background:#f5f2ec; color:#928e86; cursor:not-allowed; opacity:.72; }
.variant-select-native { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.selected-price { margin:19px 0; padding:16px 0; border-block:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; }
.selected-price span { color:#176a4f; font-size:.65rem; font-weight:900; text-transform:uppercase; }
.selected-price strong { font:700 1.55rem Georgia,serif; }
.dialog-delivery { margin:15px 0; padding:14px; border-radius:12px; background:#f4f0e8; display:flex; align-items:center; gap:12px; }
.dialog-delivery>b { width:34px; height:34px; border-radius:50%; background:var(--teal-pale); color:#176a4f; display:grid; place-items:center; }
.dialog-delivery span { display:grid; }
.dialog-delivery small { color:var(--muted); }
.dialog-copy>.btn { width:100%; }
.supplier-note { display:block; margin-top:11px; color:var(--muted); text-align:center; }
.cart-backdrop { position:fixed; z-index:80; inset:0; opacity:0; visibility:hidden; background:rgba(16,31,29,.5); backdrop-filter:blur(3px); transition:.25s; }
.cart-backdrop.open { opacity:1; visibility:visible; }
.cart-drawer { position:fixed; z-index:85; right:0; top:0; bottom:0; width:min(500px,100vw); background:#fff; transform:translateX(105%); transition:.3s; display:grid; grid-template-rows:auto 1fr auto; box-shadow:-25px 0 70px rgba(18,38,35,.25); }
.cart-drawer.open { transform:none; }
.cart-drawer-head { padding:26px 28px 20px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; }
.cart-drawer-head span { display:grid; }
.cart-drawer-head small { color:#155e62; font-size:.58rem; font-weight:900; text-transform:uppercase; }
.cart-drawer-head strong { font:700 2rem Georgia,serif; }
.cart-drawer-head button { width:38px; height:38px; border:1px solid var(--line); border-radius:50%; background:#fff; font-size:1.4rem; }
.cart-drawer-body { padding:15px 28px; overflow:auto; }
.drawer-line { padding:14px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:102px 1fr; gap:15px; }
.drawer-line img { width:102px; height:110px; padding:8px; object-fit:contain; border-radius:12px; background:#fff; }
.drawer-line>div { display:grid; align-content:center; gap:3px; }
.drawer-line small { color:#155e62; font-size:.55rem; text-transform:uppercase; }
.drawer-line strong { font:700 1rem Georgia,serif; }
.drawer-line span { color:var(--muted); font-size:.68rem; }
.drawer-qty { width:95px; height:31px; margin-top:6px; border:1px solid var(--line); border-radius:999px; display:grid; grid-template-columns:repeat(3,1fr); place-items:center; }
.drawer-qty button { border:0; background:transparent; }
.cart-drawer-summary { padding:21px 28px 25px; border-top:1px solid var(--line); }
.cart-drawer-summary>div { display:flex; justify-content:space-between; margin-bottom:8px; font-size:.78rem; }
.cart-drawer-summary .drawer-total { margin-top:13px; padding-top:13px; border-top:1px solid var(--line); }
.drawer-total strong { font:700 1.45rem Georgia,serif; }
.cart-drawer-summary>.checkout-review-note { margin:14px 0; padding:13px 14px; display:grid; gap:4px; border:1px solid #b8ded9; border-radius:12px; background:#eef9f6; }
.checkout-review-note strong { color:var(--teal-dark); font-size:.72rem; }
.checkout-review-note span { color:var(--muted); font-size:.63rem; line-height:1.5; }
.cart-drawer-summary .payment-provider-note { margin:14px 0; padding:12px; display:grid; gap:4px; border-radius:11px; background:#fff8e8; color:#8a5b00; }
.payment-provider-note b { font-size:.67rem; font-weight:900; letter-spacing:.08em; }
.payment-provider-note span { color:var(--muted); font-size:.68rem; line-height:1.45; }
.cart-drawer-summary>p { color:var(--muted); font-size:.62rem; }
.cart-drawer-summary>.checkout-fields { margin:14px 0; display:grid; gap:10px; }
.checkout-fields label { display:grid; gap:5px; color:var(--muted); font-size:.62rem; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.checkout-fields input,.checkout-fields textarea { width:100%; padding:10px 11px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); font:inherit; font-size:.76rem; text-transform:none; letter-spacing:0; }
.checkout-fields textarea { min-height:74px; resize:vertical; line-height:1.4; }
.checkout-fields input:focus,.checkout-fields textarea:focus { outline:2px solid rgba(36,127,134,.25); border-color:var(--teal); }
.address-suggestions { margin-top:-6px; border:1px solid var(--line); border-radius:11px; overflow:hidden; background:#fff; box-shadow:0 15px 35px rgba(27,62,57,.13); }
.address-suggestions button { display:block; width:100%; padding:11px 12px; border:0; border-bottom:1px solid var(--line); background:#fff; color:var(--ink); text-align:left; font:inherit; font-size:.7rem; line-height:1.35; cursor:pointer; }
.address-suggestions button:last-child { border-bottom:0; }
.address-suggestions button:hover,.address-suggestions button:focus { outline:0; background:var(--teal-pale); color:var(--teal-dark); }
.google-attribution { margin-top:-3px; display:flex; justify-content:flex-end; align-items:baseline; gap:4px; color:var(--muted); text-transform:none; letter-spacing:0; }
.google-attribution span { font-size:.52rem; font-weight:600; }
.google-attribution b { color:#5f6368; font-size:.64rem; font-weight:800; }
.address-status { color:#8a6b30; font-size:.6rem; font-weight:900; text-transform:none; letter-spacing:0; }
.address-status.verified { color:#187252; }
.address-manual-note { margin:0!important; padding:9px 10px; border-radius:9px; background:#fff8e8; color:#7a6028!important; font-size:.62rem!important; line-height:1.45; text-transform:none; letter-spacing:0; }
.cart-drawer-summary>.btn { width:100%; }
.drawer-empty,.order-success { min-height:500px; display:grid; place-content:center; justify-items:center; text-align:center; }
.drawer-empty>span { color:var(--teal); font:3rem Georgia,serif; }
.drawer-empty h2,.order-success h2 { margin:8px 0; }
.drawer-empty p,.order-success p { max-width:340px; color:var(--muted); }
.order-success>b { width:60px; height:60px; border-radius:50%; background:#dff1e9; color:#187252; display:grid; place-items:center; font-size:1.4rem; }
.checkout-error,.form-error,.form-success,.setup-warning { padding:12px 14px; border-radius:11px; margin:12px 0; }
.checkout-error,.form-error { background:#f9e7e2; color:#963b2a; }

.payment-update-panel { margin:18px 0 4px; padding:18px; display:grid; gap:12px 20px; align-items:center; border:1px solid #ead29f; border-radius:16px; background:linear-gradient(135deg,#fff8e8,#fff); }
.payment-update-panel>div { display:grid; grid-template-columns:auto 1fr; gap:3px 10px; align-items:center; }
.payment-update-panel .payment-update-icon { grid-row:1/3; display:grid; place-items:center; width:40px; height:40px; border-radius:10px; background:#c58b22; color:#fff; font-size:1.05rem; font-weight:900; }
.payment-update-panel strong { color:var(--ink); }
.payment-update-panel small { color:var(--muted); line-height:1.45; }
.payment-review { margin:0; padding:14px 16px; border:1px solid #eadfca; border-radius:12px; background:#fff; }
.payment-review>div { padding:5px 0; display:flex; justify-content:space-between; gap:20px; }
.payment-review dt,.payment-review dd { margin:0; font-size:.76rem; }
.payment-review dt { color:var(--muted); }
.payment-review dd { color:var(--ink); font-weight:900; }
.payment-review .confirmed-total { margin-top:7px; padding-top:11px; border-top:1px solid var(--line); }
.payment-review .confirmed-total dt,.payment-review .confirmed-total dd { color:var(--teal-dark); font-size:.9rem; font-weight:900; }
.payment-update-panel>p { margin:0; padding-top:10px; border-top:1px solid #eadfca; color:#75602b; font-size:.75rem; }
.payment-update-panel>p a { color:var(--teal-dark); font-weight:900; }
.payfast-payment-panel { margin:18px 0 4px; padding:18px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 20px; align-items:center; border:1px solid #acd8d2; border-radius:16px; background:linear-gradient(135deg,#edf9f7,#fff); }
.payfast-payment-panel>div { display:grid; grid-template-columns:auto 1fr; gap:3px 12px; align-items:center; }
.payfast-wordmark { grid-row:1/3; padding:10px 13px; border-radius:10px; background:#00a99d; color:#fff!important; font-size:.88rem; font-weight:900; letter-spacing:-.02em; }
.payfast-payment-panel small { color:var(--muted); line-height:1.45; }
.payfast-payment-panel .payment-review { grid-column:1/-1; }
.payfast-payment-panel form { margin:0; }
.payfast-payment-panel>p { grid-column:1/-1; margin:0; padding-top:10px; border-top:1px solid #cce5e1; color:#526b65; font-size:.75rem; }
.payment-setup-pending { margin:18px 0 4px; padding:15px 17px; display:grid; gap:4px; border:1px solid #eadcb7; border-radius:14px; background:#fffaf0; }
.payment-setup-pending strong { color:#725a1e; }
.payment-setup-pending span { color:var(--muted); font-size:.78rem; line-height:1.5; }
.admin-payment-wait { display:grid; gap:4px; max-width:430px; }
.admin-payment-wait strong { color:var(--teal-dark); }
.admin-payment-wait small { color:var(--muted); line-height:1.45; }
.payment-result-main { min-height:65vh; display:grid; place-items:center; padding:70px 20px; background:radial-gradient(circle at top,#eaf7f3 0,transparent 48%); }
.payment-result-card { width:min(680px,100%); padding:42px; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:0 20px 60px rgba(31,65,61,.1); text-align:center; }
.payment-result-card h1 { margin:8px auto 14px; color:var(--ink); font:700 clamp(2rem,5vw,3.2rem)/1.05 Georgia,serif; }
.payment-result-card>p { color:var(--muted); line-height:1.7; }
.payment-result-icon { width:58px; height:58px; margin:0 auto 18px; display:grid; place-items:center; border-radius:50%; font-size:1.4rem; font-weight:900; }
.payment-result-icon.success { background:#dff4ec; color:#157557; }
.payment-result-icon.waiting { background:#fff2cd; color:#8a6418; }
.payment-result-icon.failed { background:#f9e7e2; color:#963b2a; }
.payment-result-order { margin:26px 0; padding:16px 18px; display:grid; grid-template-columns:1fr auto; gap:10px; border-radius:14px; background:#faf8f3; text-align:left; }
.payment-result-order span { color:var(--muted); }
.payment-result-order strong { text-align:right; }
.payment-result-card .hero-actions { justify-content:center; }
.payment-verifying { margin:18px auto; display:flex; justify-content:center; gap:10px; color:var(--teal-dark); font-weight:800; }
.payment-verifying i { width:18px; height:18px; border:2px solid #b6dcd6; border-top-color:var(--teal); border-radius:50%; animation:payment-spin .8s linear infinite; }
@keyframes payment-spin { to { transform:rotate(360deg); } }
@media (max-width:700px) { .payfast-payment-panel { grid-template-columns:1fr; } .payfast-payment-panel .btn { width:100%; } .payment-result-card { padding:30px 22px; } }
.form-success { background:#dff1e9; color:#176a4f; }

/* Account */
.account-main { width:min(1370px,92vw); margin:auto; padding:55px 0 110px; }
.account-login-hero { min-height:620px; padding:clamp(44px,7vw,90px); border-radius:34px; background:linear-gradient(120deg,#f3e9d8,#fbf8f2 48%,#d9eae6); display:grid; grid-template-columns:1fr .78fr; gap:clamp(50px,8vw,120px); align-items:center; }
.account-login-copy h1 { font-size:clamp(3.8rem,6.5vw,5.8rem); }
.account-login-copy h1 em,.account-welcome h1 em { display:block; color:var(--teal); font-weight:400; }
.account-login-copy>p { color:var(--muted); max-width:630px; }
.login-benefits { margin-top:25px; display:grid; gap:10px; color:#155e62; font-weight:800; }
.auth-card { padding:32px; border:1px solid rgba(255,255,255,.8); border-radius:25px; background:rgba(255,255,255,.76); box-shadow:0 28px 65px rgba(32,72,66,.14); }
.setup-warning { background:#fff1c9; color:#6d5510; display:grid; gap:3px; font-size:.78rem; }
.auth-tabs { padding:5px; border-radius:999px; background:#ede8df; display:grid; grid-template-columns:1fr 1fr; }
.auth-tabs button { padding:10px 8px; border:0; border-radius:999px; background:transparent; font-size:.7rem; font-weight:900; }
.auth-tabs button.active { background:#fff; box-shadow:0 3px 12px rgba(0,0,0,.06); }
.auth-form { margin-top:25px; display:grid; gap:16px; }
.auth-form[hidden] { display:none; }
.auth-form h2 { margin:6px 0; font-size:2rem; }
.auth-form label { display:grid; gap:6px; color:var(--muted); font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.auth-form input { width:100%; padding:13px; border:1px solid var(--line); border-radius:11px; background:#fff; text-transform:none; }
.auth-form label small { text-transform:none; font-weight:600; letter-spacing:0; }
.auth-form .btn { width:100%; }
.auth-form .btn:disabled { opacity:.48; }
.auth-note { color:var(--muted); font-size:.65rem; text-align:center; }
.login-progress { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; }
.login-progress span { display:flex; align-items:center; gap:7px; color:#8a9592; font-size:.62rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.login-progress span i { width:25px; height:25px; border:1px solid var(--line); border-radius:50%; background:#fff; display:grid; place-items:center; color:var(--muted); font-style:normal; }
.login-progress span.active { color:var(--teal-dark); }
.login-progress span.active i { border-color:var(--teal); background:var(--teal); color:#fff; }
.login-progress>b { height:1px; background:var(--line); }
.login-step { display:grid; gap:16px; }
.login-step[hidden] { display:none; }
.login-step p { margin:0; color:var(--muted); font-size:.72rem; line-height:1.5; }
.login-email-review { padding:11px 12px; border:1px solid var(--line); border-radius:11px; background:#f8f6f1; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.login-email-review span { min-width:0; display:grid; }
.login-email-review small { color:var(--muted); font-size:.56rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.login-email-review strong { overflow:hidden; text-overflow:ellipsis; font-size:.72rem; }
.login-email-review button { padding:5px 0; border:0; border-bottom:1px solid var(--teal); background:transparent; color:var(--teal-dark); font-size:.64rem; font-weight:900; }
.account-benefits { margin:25px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.account-benefits article { padding:30px; border:1px solid var(--line); border-radius:21px; background:#fff; display:grid; grid-template-columns:auto 1fr; gap:16px; }
.account-benefits article>b { color:var(--gold); font:italic 1.3rem Georgia,serif; }
.account-benefits h2 { font-size:1.4rem; }
.account-benefits p { color:var(--muted); font-size:.78rem; }
.account-welcome { padding:clamp(42px,6vw,75px); border-radius:32px; background:linear-gradient(125deg,#173a37,#0d5d61 65%,#27898a); color:#fff; display:grid; grid-template-columns:1.2fr .8fr; gap:55px; align-items:center; }
.account-welcome .eyebrow { color:#f1d5a2; }
.account-welcome h1 { font-size:clamp(3.5rem,6vw,5.2rem); }
.account-welcome>div>p { color:rgba(255,255,255,.68); }
.account-welcome .btn-primary { background:#fff; color:var(--ink); }
.profile-chip { padding:20px; border:1px solid rgba(255,255,255,.2); border-radius:20px; background:rgba(255,255,255,.1); display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:center; }
.profile-chip>b { width:58px; height:58px; border-radius:50%; background:#f1d5a2; color:var(--ink); display:grid; place-items:center; font:700 1.2rem Georgia,serif; }
.profile-chip span { min-width:0; display:grid; }
.profile-chip small { color:#f1d5a2; font-size:.55rem; text-transform:uppercase; }
.profile-chip strong,.profile-chip em { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.profile-chip em { color:rgba(255,255,255,.6); font-size:.68rem; font-style:normal; }
.account-stats { margin:20px 0 70px; padding:18px 12px; border:1px solid var(--line); border-radius:20px; background:#fff; display:grid; grid-template-columns:repeat(4,1fr); }
.account-stats article { min-height:65px; padding:8px 22px; border-right:1px solid var(--line); display:grid; align-content:center; gap:3px; }
.account-stats article:last-child { border:0; }
.account-stats b { font:700 1.5rem Georgia,serif; }
.account-stats span { color:var(--muted); font-size:.6rem; text-transform:uppercase; letter-spacing:.08em; }
.account-dashboard { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:50px; align-items:start; }
.account-dashboard>div { display:grid; gap:75px; }
.dashboard-heading { margin-bottom:25px; display:flex; justify-content:space-between; align-items:end; }
.dashboard-heading h2 { margin:6px 0 0; }
.dashboard-heading>span { padding:8px 11px; border-radius:999px; background:var(--teal-pale); color:#155e62; font-size:.58rem; font-weight:900; text-transform:uppercase; }
.dashboard-empty { min-height:360px; padding:40px; border:1px dashed var(--line); border-radius:23px; background:rgba(255,255,255,.45); display:grid; place-content:center; justify-items:center; text-align:center; }
.dashboard-empty>span { color:var(--teal); font:3rem Georgia,serif; }
.dashboard-empty p { max-width:500px; color:var(--muted); }
.order-card { margin-bottom:20px; overflow:hidden; border:1px solid var(--line); border-radius:23px; background:#fff; box-shadow:0 17px 45px rgba(32,49,47,.06); }
.order-card>header { padding:24px 26px 20px; display:flex; justify-content:space-between; align-items:start; gap:20px; }
.order-card>header small { color:var(--muted); font-size:.55rem; letter-spacing:.12em; }
.order-card>header h3 { margin:2px 0; }
.order-card time { color:var(--muted); font-size:.65rem; }
.status-pill { padding:8px 11px; border-radius:999px; background:#f3e8d8; color:#875b24; font-size:.55rem; font-weight:900; text-transform:uppercase; }
.status-processing,.status-dispatched { background:#def0ee; color:#11676a; }
.status-delivered { background:#dff1e9; color:#187252; }
.order-progress { padding:19px 22px; border-block:1px solid var(--line); background:#faf8f3; display:grid; grid-template-columns:repeat(5,1fr); }
.order-progress>div { position:relative; display:grid; justify-items:center; gap:7px; text-align:center; }
.order-progress>div::after { content:''; position:absolute; top:12px; left:50%; width:100%; height:2px; background:#dfe3e0; }
.order-progress>div:last-child::after { display:none; }
.order-progress i { position:relative; z-index:1; width:27px; height:27px; border:2px solid #d4d9d6; border-radius:50%; background:#faf8f3; color:#87918d; display:grid; place-items:center; font-size:.58rem; font-style:normal; }
.order-progress span { color:#87918d; font-size:.52rem; }
.order-progress>div.complete::after { background:var(--teal); }
.order-progress>div.complete i { border-color:var(--teal); background:var(--teal); color:#fff; }
.order-progress>div.complete span { color:#155e62; }
.order-products { padding:12px 26px; }
.order-products>div { padding:10px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:52px 1fr auto; gap:12px; align-items:center; }
.order-products>div:last-child { border:0; }
.order-products img { width:52px; height:52px; object-fit:contain; border-radius:10px; }
.order-products span { min-width:0; display:grid; }
.order-products strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:700 .9rem Georgia,serif; }
.order-products small { color:var(--muted); }
.order-products b { font-size:.7rem; }
.order-card>footer { padding:18px 25px; border-top:1px solid var(--line); background:#f5f0e7; display:grid; grid-template-columns:1fr 1.3fr auto; gap:22px; }
.order-card>footer span { display:grid; }
.order-card>footer small { color:var(--muted); font-size:.52rem; text-transform:uppercase; }
.order-card>footer strong { font-size:.68rem; }
.order-card>footer span:last-child { text-align:right; }
.order-card>footer span:last-child strong { font:700 1.25rem Georgia,serif; }
.tracking-number { padding:11px 25px; background:#eef9fc; color:#155e62; font-size:.72rem; }
.order-delivery-details { padding:14px 25px; border-top:1px solid var(--line); display:grid; grid-template-columns:180px 1fr; gap:20px; }
.order-delivery-details span { display:grid; gap:3px; }
.order-delivery-details small { color:var(--muted); font-size:.58rem; font-weight:900; text-transform:uppercase; }
.order-delivery-details strong { font-size:.72rem; line-height:1.45; }
.order-customer-tools { padding:14px 25px; border-top:1px solid var(--line); display:flex; align-items:center; flex-wrap:wrap; gap:14px; color:var(--muted); font-size:.7rem; }
.order-customer-tools>a,.order-action summary { color:var(--teal-dark); font-weight:900; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.order-action { padding:14px 25px; border-top:1px solid var(--line); }
.order-customer-tools .order-action { padding:0; border:0; }
.order-action form { margin-top:12px; display:grid; gap:9px; }
.order-action label { display:grid; gap:6px; color:var(--muted); font-size:.65rem; font-weight:900; }
.order-action textarea { width:100%; min-height:72px; padding:10px; border:1px solid var(--line); border-radius:9px; resize:vertical; font:inherit; box-sizing:border-box; }
.order-action .btn { width:max-content; }
.history-actions { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.history-actions .order-action { padding:0; border:0; }
.history-actions .order-action form { position:absolute; z-index:3; width:280px; padding:14px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 12px 30px #0002; }
.history-empty { padding:25px; border:1px solid var(--line); border-radius:17px; background:#fff; color:var(--muted); }
.history-list { border-top:1px solid var(--line); }
.history-list article { padding:17px 8px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:145px 1fr 100px 90px; gap:15px; align-items:center; }
.history-list article>span { display:grid; }
.history-list small,.history-list p { color:var(--muted); font-size:.62rem; }
.history-list p { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.history-list a { color:#155e62; font-size:.65rem; font-weight:900; }
.account-sidebar { position:sticky; top:105px; display:grid; gap:17px; }
.account-sidebar>section { padding:26px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.account-sidebar h2 { font-size:2rem; }
.account-sidebar dl { margin:20px 0; }
.account-sidebar dl>div { padding:12px 0; border-top:1px solid var(--line); }
.account-sidebar dt { color:var(--muted); font-size:.55rem; text-transform:uppercase; letter-spacing:.1em; }
.account-sidebar dd { margin:4px 0 0; overflow-wrap:anywhere; font-size:.72rem; font-weight:800; }
.account-sidebar>section>a { display:block; margin-top:10px; color:#155e62; font-size:.68rem; font-weight:900; }
.account-sidebar .payment-info-card { background:#eef9f7; border-color:#b9ded9; }
.payment-info-card>b { color:#087f76; font-size:.72rem; letter-spacing:.08em; }
.payment-info-card h3 { margin:12px 0 7px; }
.payment-info-card p { color:var(--muted); font-size:.72rem; }
.policy-check,.checkout-policy { margin:4px 0 14px; display:grid!important; grid-template-columns:18px 1fr; gap:10px; align-items:start; color:var(--muted); font-size:.68rem!important; line-height:1.5; text-transform:none!important; letter-spacing:0!important; }
.policy-check input,.checkout-policy input { width:16px!important; height:16px; margin:2px 0 0; accent-color:var(--teal); }
.policy-check a,.checkout-policy a { color:var(--teal-dark); font-weight:900; text-decoration:underline; text-underline-offset:2px; }
.legal-hero p { max-width:760px; }
.legal-meta { margin-top:24px; display:flex; flex-wrap:wrap; gap:9px; }
.legal-meta span { padding:8px 12px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.55); color:var(--muted); font-size:.62rem; font-weight:800; }
.legal-section { padding-top:55px; }
.legal-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:clamp(45px,7vw,100px); align-items:start; }
.legal-nav { position:sticky; top:115px; padding:22px; border:1px solid var(--line); border-radius:20px; background:#fff; display:grid; gap:4px; }
.legal-nav strong { margin-bottom:10px; font:700 1.05rem Georgia,serif; }
.legal-nav a { padding:8px 10px; border-radius:9px; color:var(--muted); font-size:.67rem; font-weight:800; }
.legal-nav a:hover { background:var(--teal-pale); color:var(--teal-dark); }
.legal-content { min-width:0; }
.legal-principles { margin-bottom:24px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.legal-principles article { padding:20px; border:1px solid var(--line); border-radius:18px; background:#fff; display:grid; gap:7px; }
.legal-principles b { color:var(--teal-dark); font:700 1.25rem Georgia,serif; }
.legal-principles span { color:var(--muted); font-size:.65rem; line-height:1.45; }
.policy-article { margin-bottom:18px; padding:clamp(28px,4.5vw,56px); border:1px solid var(--line); border-radius:26px; background:#fff; box-shadow:0 14px 42px rgba(32,49,47,.05); scroll-margin-top:115px; }
.policy-article h2 { margin:8px 0 25px; font-size:clamp(2rem,4vw,3.4rem); }
.policy-article h3 { margin:30px 0 8px; font-size:1.12rem; }
.policy-article p,.policy-article li { color:var(--muted); font-size:.82rem; line-height:1.8; }
.policy-article ul { padding-left:20px; }
.policy-article a { color:var(--teal-dark); font-weight:900; text-decoration:underline; text-underline-offset:2px; }
.legal-facts { margin:28px 0 0; border-top:1px solid var(--line); }
.legal-facts>div { padding:14px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:190px 1fr; gap:20px; }
.legal-facts dt { color:var(--muted); font-size:.62rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.legal-facts dd { margin:0; overflow-wrap:anywhere; font-size:.78rem; font-weight:800; }
.policy-alert { margin-top:25px; padding:17px 19px; border:1px solid #e5cb7b; border-radius:14px; background:#fff7d9; color:#6f5720; font-size:.73rem; line-height:1.65; }
.policy-alert code { font-size:.68rem; }
.catalogue-safety-note { margin:0 0 18px; padding:15px 17px; display:flex; gap:8px 14px; align-items:baseline; border:1px solid #c9ded7; border-radius:14px; background:#f2f9f6; color:var(--muted); font-size:.72rem; line-height:1.5; }
.catalogue-safety-note strong { flex:0 0 auto; color:var(--teal-dark); }
.legal-note { margin-top:30px; padding-top:20px; border-top:1px solid var(--line); font-style:italic; }
.account-sidebar .help-card { background:linear-gradient(135deg,#b67f37,#d2a65c); color:#fff; border:0; }
.help-card h3 { font-size:1.55rem; }

/* Admin */
.admin-body { background:#f6f3ec; }
.admin-header { min-height:88px; padding:12px 4vw; border-bottom:1px solid var(--line); background:#fff; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.admin-header>a { display:flex; align-items:center; gap:12px; }
.admin-header img { width:62px; height:62px; object-fit:contain; border-radius:14px; }
.admin-header span { display:grid; }
.admin-header strong { font:700 1.25rem Georgia,serif; }
.admin-header small { color:var(--muted); }
.admin-header nav { display:flex; gap:22px; font-size:.78rem; font-weight:800; }
.admin-nav { align-items:center; flex-wrap:wrap; }
.admin-nav a { padding:8px 0; color:var(--muted); }
.admin-nav a:hover,.admin-nav a[aria-current="page"] { color:var(--teal-dark); }
.admin-nav a[aria-current="page"] { box-shadow:inset 0 -2px var(--teal); }
.admin-nav>span { padding-left:18px; border-left:1px solid var(--line); color:var(--ink); }
.admin-main { width:min(1200px,92vw); margin:auto; padding:65px 0 100px; }
.admin-title { display:flex; justify-content:space-between; align-items:end; margin-bottom:30px; }
.admin-title h1 { margin:4px 0 0; }
.admin-title>span { color:var(--muted); }
.admin-orders { display:grid; gap:18px; }
.admin-order { padding:25px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.admin-order>header { display:flex; justify-content:space-between; gap:20px; }
.admin-order>header small,.admin-order>header p { color:var(--muted); }
.admin-order>header h2 { margin:3px 0; }
.admin-order>header a { color:var(--teal-dark); }
.admin-delivery-address { max-width:680px; margin-top:8px; line-height:1.45; }
.admin-order>header>strong { font:700 1.5rem Georgia,serif; }
.admin-order form { margin-top:20px; padding-top:20px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr 1.2fr auto; gap:12px; align-items:end; }
.admin-order form label { display:grid; gap:5px; color:var(--muted); font-size:.62rem; font-weight:900; text-transform:uppercase; }
.admin-order select,.admin-order input { height:44px; padding:0 11px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.admin-denied { max-width:700px; margin:70px auto; padding:50px; border-radius:25px; background:#fff; text-align:center; }
.admin-summary { display:flex; gap:10px; flex-wrap:wrap; }
.admin-summary span { padding:9px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--muted); font-size:.68rem; }
.admin-summary b { color:var(--ink); }
.admin-order-total { display:grid; justify-items:end; gap:8px; }
.admin-order-total>small { color:var(--muted); }
.verified-badge { display:inline-block; margin-left:8px; padding:3px 7px; border-radius:999px; background:#dff1e9; color:#187252; font-size:.55rem; font-weight:900; }
.admin-order-items { margin-top:18px; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.admin-order-items>div { padding:10px 13px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; font-size:.7rem; }
.admin-order-items>div:last-child { border:0; }
.admin-order-items span { display:grid; gap:3px; }
.admin-order-items small { color:var(--muted); }
.admin-actions { margin-top:18px; display:flex; flex-wrap:wrap; gap:9px; align-items:center; }
.admin-actions form,.refund-panel form,.mail-status form { margin:0; padding:0; border:0; display:block; }
.admin-actions .cancel-form,.admin-actions .tracking-form { display:flex; gap:7px; }
.admin-actions input { min-width:190px; }
.refund-panel { margin-top:16px; padding:16px; border-radius:12px; background:#fff2e8; color:#704229; }
.refund-panel>div { display:flex; gap:8px; }
.mail-status { margin-top:18px; padding-top:13px; border-top:1px solid var(--line); display:flex; align-items:center; flex-wrap:wrap; gap:13px; color:var(--muted); font-size:.62rem; }
.mail-status button { border:0; background:none; color:var(--teal-dark); font:inherit; font-weight:900; cursor:pointer; text-decoration:underline; }
.admin-login-body { min-height:100vh; display:grid; place-items:center; padding:30px; background:linear-gradient(135deg,#f3e9d8,#eef7f4); }
.admin-login-card { width:min(480px,100%); padding:38px; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:0 25px 70px #17393618; }
.admin-login-card>a:first-child { display:block; width:max-content; margin:0 auto 20px; }
.admin-login-card img { width:105px; }
.admin-login-card h1 { margin:6px 0 10px; }
.admin-login-card>p { color:var(--muted); line-height:1.55; }
.admin-login-card .auth-form { padding:0; box-shadow:none; }
.setup-link,.back-link { display:block; margin-top:18px; font-size:.72rem; }
.setup-link a,.back-link { color:var(--teal-dark); font-weight:900; }
.admin-hub { margin:22px 0 26px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.admin-hub>a { padding:20px 22px; border:1px solid var(--line); border-radius:17px; background:#fff; display:grid; grid-template-columns:1fr auto; gap:4px 16px; transition:.2s ease; }
.admin-hub>a:hover,.admin-hub>a[aria-current="page"] { border-color:#91c3bd; box-shadow:0 14px 35px rgba(32,49,47,.08); transform:translateY(-2px); }
.admin-hub span { color:var(--teal-dark); font-size:.66rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.admin-hub strong { grid-row:1/3; grid-column:2; align-self:center; font:700 2rem Georgia,serif; }
.admin-hub small { color:var(--muted); }
.catalogue-admin-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr); gap:20px; align-items:start; }
.catalogue-upload-card,.catalogue-current-card,.catalogue-history-card { padding:clamp(24px,4vw,38px); border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 18px 50px rgba(32,49,47,.05); }
.catalogue-upload-card h2,.catalogue-current-card h2,.catalogue-history-card h2 { margin:6px 0 12px; }
.catalogue-upload-card>p { max-width:720px; color:var(--muted); line-height:1.65; }
.catalogue-safety-note { margin:22px 0; padding:17px 19px; border:1px solid #cce3dc; border-radius:14px; background:#eef8f5; display:grid; gap:4px; }
.catalogue-safety-note strong { color:var(--teal-dark); }
.catalogue-safety-note span { color:var(--muted); font-size:.72rem; line-height:1.5; }
.catalogue-upload-form { display:grid; gap:17px; }
.catalogue-file-field { display:grid; gap:8px; }
.catalogue-file-field>span { color:var(--ink); font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.catalogue-file-field input { width:100%; padding:15px; border:1px dashed #9ebdb8; border-radius:13px; background:#fafdfc; font:inherit; box-sizing:border-box; }
.catalogue-file-field input::file-selector-button { margin-right:14px; padding:10px 14px; border:0; border-radius:9px; background:var(--teal); color:#fff; font-weight:900; cursor:pointer; }
.catalogue-file-field small { color:var(--muted); }
.catalogue-confirm { display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:start; color:var(--muted); font-size:.72rem; line-height:1.5; }
.catalogue-confirm input { width:17px; height:17px; margin:2px 0 0; accent-color:var(--teal); }
.catalogue-upload-form .btn { width:max-content; }
.catalogue-upload-form .btn:disabled,.catalogue-upload-form input:disabled { opacity:.55; cursor:not-allowed; }
.catalogue-current-card { position:sticky; top:25px; }
.catalogue-current-card dl { margin:22px 0; border-top:1px solid var(--line); }
.catalogue-current-card dl>div { padding:13px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:18px; }
.catalogue-current-card dt { color:var(--muted); font-size:.65rem; }
.catalogue-current-card dd { margin:0; font-weight:900; text-align:right; }
.catalogue-history-card { margin-top:22px; }
.catalogue-history-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; }
.catalogue-history-heading>span { color:var(--muted); font-size:.65rem; }
.catalogue-import-table { margin-top:22px; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.catalogue-import-row { padding:13px 15px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:150px minmax(220px,1.6fr) 90px 90px minmax(120px,1fr); gap:15px; align-items:center; color:var(--muted); font-size:.68rem; }
.catalogue-import-row:last-child { border-bottom:0; }
.catalogue-import-row:nth-child(even) { background:#fbfaf7; }
.catalogue-import-row strong { color:var(--ink); overflow-wrap:anywhere; }
.catalogue-import-row small { display:block; margin-top:3px; }
.catalogue-import-head { background:#f3eee5!important; color:var(--ink); font-size:.57rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.catalogue-empty { min-height:210px; margin-top:22px; }
.admin-setup-main { display:grid; place-items:start center; }
.admin-account-card { width:min(680px,100%); padding:clamp(28px,5vw,48px); border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:0 22px 65px rgba(32,49,47,.08); box-sizing:border-box; }
.admin-account-card h1 { margin:7px 0 12px; }
.admin-account-card>p { color:var(--muted); line-height:1.65; }
.admin-account-card>.btn { margin-top:15px; }
.admin-account-form { margin-top:24px; padding:0; box-shadow:none; }
.admin-account-form label small { color:var(--muted); font-size:.62rem; font-weight:500; line-height:1.45; text-transform:none; letter-spacing:0; }

/* Order administration v2 */
.admin-v2 { background:#f4f1e9; }
.order-admin-main { width:min(1380px,94vw); padding-top:42px; }
.admin-dashboard-hero { padding:clamp(28px,4vw,48px); border:1px solid #d8ded9; border-radius:27px; background:linear-gradient(125deg,#fff 0%,#f5fbf9 62%,#e6f3ef 100%); display:flex; justify-content:space-between; align-items:end; gap:35px; box-shadow:0 24px 65px rgba(23,57,53,.07); }
.admin-dashboard-hero h1 { margin:7px 0 10px; font-size:clamp(2.8rem,5vw,5rem); line-height:.95; }
.admin-dashboard-hero p { max-width:680px; margin:0; color:var(--muted); line-height:1.6; }
.admin-dashboard-hero>.btn { flex:0 0 auto; }
.order-kpis { margin:17px 0 24px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.order-kpis>a { min-height:105px; padding:18px 21px; border:1px solid var(--line); border-radius:18px; background:#fff; display:grid; grid-template-columns:1fr auto; gap:3px 18px; align-content:center; transition:.2s ease; }
.order-kpis>a:hover { border-color:#85bbb4; box-shadow:0 14px 35px rgba(32,49,47,.08); transform:translateY(-2px); }
.order-kpis span { color:var(--teal-dark); font-size:.59rem; font-weight:900; text-transform:uppercase; letter-spacing:.09em; }
.order-kpis strong { grid-row:1/3; grid-column:2; align-self:center; font:700 2.5rem Georgia,serif; }
.order-kpis small { color:var(--muted); }
.admin-flash { margin:18px 0; }
.order-toolbar { margin:0 0 36px; padding:15px; border:1px solid var(--line); border-radius:18px; background:#fff; display:flex; justify-content:space-between; align-items:center; gap:18px; box-shadow:0 12px 30px rgba(32,49,47,.04); }
.order-filter-tabs { display:flex; flex-wrap:wrap; gap:6px; }
.order-filter-tabs a { padding:10px 12px; border-radius:10px; color:var(--muted); font-size:.67rem; font-weight:900; }
.order-filter-tabs a:hover,.order-filter-tabs a[aria-current="page"] { background:var(--teal-pale); color:var(--teal-dark); }
.order-filter-tabs b { margin-left:7px; padding:3px 6px; border-radius:999px; background:#fff; color:var(--ink); font-size:.55rem; }
.order-search { display:flex; align-items:end; gap:8px; }
.order-search label { display:grid; gap:5px; }
.order-search label>span { padding-left:2px; color:var(--muted); font-size:.52rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.order-search input { width:min(260px,28vw); height:42px; padding:0 12px; border:1px solid var(--line); border-radius:10px; background:#fbfaf7; font:inherit; }
.order-search .btn { height:42px; padding-block:0; }
.order-search>a { padding:11px 6px; color:var(--teal-dark); font-size:.65rem; font-weight:900; }
.order-results-heading { margin:0 0 16px; display:flex; justify-content:space-between; align-items:end; }
.order-results-heading h2 { margin:0; font-size:2.2rem; }
.order-results-heading p { margin:5px 0 0; color:var(--muted); font-size:.7rem; }
.admin-orders-v2 { display:grid; gap:24px; }
.admin-order-v2 { overflow:hidden; border:1px solid #d9ddd8; border-radius:24px; background:#fff; box-shadow:0 20px 55px rgba(32,49,47,.065); scroll-margin-top:20px; }
.order-admin-overview { padding:24px 27px; border-bottom:1px solid var(--line); background:#fcfbf8; display:grid; grid-template-columns:minmax(300px,1.5fr) minmax(240px,1fr) auto; gap:30px; align-items:start; }
.order-number-line { display:flex; align-items:baseline; gap:10px; }
.order-number-line>span,.order-admin-customer>span,.order-admin-total>span { color:var(--muted); font-size:.54rem; font-weight:900; text-transform:uppercase; letter-spacing:.09em; }
.order-number-line h2 { margin:0; font-size:1.8rem; }
.order-admin-identity>p { margin:6px 0 12px; color:var(--muted); font-size:.68rem; }
.order-admin-badges { display:flex; flex-wrap:wrap; gap:7px; }
.payment-badge,.refund-badge { padding:8px 10px; border-radius:999px; background:#f0ece3; color:#685d4c; font-size:.54rem; font-weight:900; text-transform:uppercase; }
.payment-paid { background:#dff1e9; color:#187252; }
.payment-refunded,.refund-badge { background:#fff0e3; color:#8a502b; }
.order-admin-customer { min-width:0; display:grid; gap:4px; }
.order-admin-customer strong { margin-top:2px; font:700 1.05rem Georgia,serif; }
.order-admin-customer a { overflow:hidden; color:var(--teal-dark); font-size:.67rem; text-overflow:ellipsis; white-space:nowrap; }
.order-admin-total { display:grid; justify-items:end; gap:4px; text-align:right; }
.order-admin-total strong { font:700 1.65rem Georgia,serif; }
.order-admin-total small { color:var(--muted); }
.refund-panel-v2 { margin:18px 24px 0; padding:17px 19px; border:1px solid #efc9aa; border-radius:15px; background:#fff5ec; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.refund-panel-v2>div:first-child { display:grid; gap:3px; }
.refund-panel-v2 span { color:#9a6338; font-size:.55rem; font-weight:900; text-transform:uppercase; }
.refund-panel-v2 p { margin:2px 0 0; color:#704229; font-size:.72rem; }
.refund-buttons { display:flex; gap:8px; }
.refund-buttons form { margin:0; display:grid; gap:7px; }
.refund-buttons label { display:grid; gap:4px; color:#704229; font-size:.6rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.refund-buttons input { min-width:220px; padding:9px 10px; border:1px solid #dfb995; border-radius:9px; background:#fff; color:var(--ink); font:inherit; text-transform:none; letter-spacing:0; }
.order-admin-content { display:grid; grid-template-columns:minmax(0,1fr) 310px; }
.ordered-products-v2 { min-width:0; padding:27px; border-right:1px solid var(--line); }
.order-section-heading { margin-bottom:16px; display:flex; justify-content:space-between; align-items:end; gap:20px; }
.order-section-heading span { color:var(--teal-dark); font-size:.56rem; font-weight:900; text-transform:uppercase; letter-spacing:.09em; }
.order-section-heading h3 { margin:4px 0 0; font-size:1.4rem; }
.order-section-heading>b { padding:7px 10px; border-radius:999px; background:var(--teal-pale); color:var(--teal-dark); font-size:.58rem; }
.admin-product-list { display:grid; gap:11px; }
.admin-product-line { padding:16px; border:1px solid var(--line); border-radius:16px; background:#fdfcf9; display:grid; grid-template-columns:105px minmax(0,1fr) 115px; gap:17px; align-items:center; }
.admin-product-image { width:105px; height:105px; border:1px solid #e3e4df; border-radius:13px; background:#fff; display:grid; place-items:center; overflow:hidden; }
.admin-product-image img { width:100%; height:100%; padding:9px; object-fit:contain; box-sizing:border-box; }
.admin-product-image span { color:var(--muted); font-size:.55rem; }
.admin-product-copy { min-width:0; }
.admin-product-type { color:var(--teal-dark); font-size:.52rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.admin-product-copy h3 { margin:5px 0 6px; font-size:1.1rem; line-height:1.25; }
.admin-product-copy>p { display:-webkit-box; margin:0 0 11px; overflow:hidden; color:var(--muted); font-size:.66rem; line-height:1.5; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.admin-product-details { display:flex; flex-wrap:wrap; gap:7px 16px; }
.admin-product-details>span { color:var(--muted); font-size:.6rem; }
.admin-product-details>span b { display:block; margin-bottom:2px; color:var(--ink); font-size:.5rem; text-transform:uppercase; letter-spacing:.06em; }
.admin-product-details .supplier-line-badge { align-self:end; padding:5px 7px; border-radius:999px; background:#f3e8d8; color:#875b24; font-weight:900; }
.admin-product-pricing { display:grid; justify-items:end; gap:5px; text-align:right; }
.quantity-pill { padding:6px 9px; border-radius:999px; background:#173f3b; color:#fff; font-size:.58rem; font-weight:900; }
.admin-product-pricing small { color:var(--muted); }
.admin-product-pricing strong { font:700 1.08rem Georgia,serif; }
.order-details-v2 { background:#f8f5ee; }
.order-details-v2>section { padding:23px; border-bottom:1px solid var(--line); }
.order-details-v2>section:last-child { border:0; }
.order-detail-label { display:block; margin-bottom:7px; color:var(--muted); font-size:.53rem; font-weight:900; text-transform:uppercase; letter-spacing:.09em; }
.order-details-v2 p { margin:0 0 10px; color:var(--ink); font-size:.72rem; line-height:1.6; }
.order-costs>div { padding:7px 0; display:flex; justify-content:space-between; gap:15px; color:var(--muted); font-size:.67rem; }
.order-costs>div:last-child { margin-top:7px; padding-top:13px; border-top:1px solid var(--line); color:var(--ink); font-size:.83rem; }
.tracking-code { display:block; overflow-wrap:anywhere; color:var(--teal-dark); }
.order-operations-v2 { padding:22px 27px; border-top:1px solid var(--line); background:#fff; display:grid; grid-template-columns:minmax(260px,1fr) minmax(230px,.8fr) minmax(250px,.8fr); gap:25px; }
.next-order-action>div { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.next-order-action form,.customer-email-status form { margin:0; }
.next-order-action p { margin:0; color:var(--muted); font-size:.68rem; }
.order-toolbox { display:grid; gap:8px; align-content:start; }
.order-toolbox details { position:relative; }
.order-toolbox summary { padding:10px 12px; border:1px solid var(--line); border-radius:10px; color:var(--teal-dark); font-size:.65rem; font-weight:900; cursor:pointer; }
.admin-inline-form { position:absolute; z-index:5; right:0; width:310px; margin-top:7px; padding:15px; border:1px solid var(--line); border-radius:13px; background:#fff; display:grid; gap:10px; box-shadow:0 17px 45px #0002; }
.admin-inline-form label { display:grid; gap:6px; color:var(--muted); font-size:.57rem; font-weight:900; text-transform:uppercase; }
.admin-inline-form input { width:100%; height:42px; padding:0 10px; border:1px solid var(--line); border-radius:9px; box-sizing:border-box; }
.customer-email-status { display:grid; gap:8px; align-content:start; }
.customer-email-status>div { display:grid; grid-template-columns:1fr auto auto; gap:8px; align-items:center; color:var(--muted); font-size:.62rem; }
.customer-email-status b { color:var(--ink); font-size:.6rem; }
.customer-email-status button { padding:0; border:0; background:none; color:var(--teal-dark); font:inherit; font-weight:900; cursor:pointer; text-decoration:underline; }
.dispatch-order-form{width:100%;padding:14px;border:1px solid var(--line);border-radius:13px;background:#f7faf8;display:grid!important;grid-template-columns:1fr 1fr 1.4fr auto;gap:9px!important;align-items:end!important}.dispatch-order-form label{display:grid;gap:5px;color:var(--muted);font-size:.58rem;font-weight:900;text-transform:uppercase}.dispatch-order-form label small{text-transform:none}.dispatch-order-form input{width:100%;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;box-sizing:border-box}.tracking-number a{margin-left:10px;color:var(--teal-dark);font-weight:900}.tracking-code+ p{margin:8px 0 0}.tracking-code+ p a{color:var(--teal-dark);font-size:.72rem;font-weight:900}
.btn-danger { border-color:#e7bdb4!important; background:#fff2ef!important; color:#963b2a!important; }
.btn-danger:hover { background:#f9e1dc!important; }

@media (max-width:1050px) {
  .catalogue-tools { grid-template-columns:repeat(2,1fr); }
  .catalogue-grid { grid-template-columns:repeat(3,1fr); }
  .shop-benefits { grid-template-columns:1fr 1fr; }
  .account-dashboard { grid-template-columns:minmax(0,1fr) 290px; gap:30px; }
  .admin-order form { grid-template-columns:1fr 1fr; }
  .catalogue-admin-grid { grid-template-columns:1fr; }
  .catalogue-current-card { position:static; }
  .order-kpis { grid-template-columns:1fr 1fr; }
  .order-toolbar { align-items:stretch; flex-direction:column; }
  .order-search input { width:100%; }
  .order-admin-content { grid-template-columns:1fr; }
  .ordered-products-v2 { border-right:0; border-bottom:1px solid var(--line); }
  .order-details-v2 { display:grid; grid-template-columns:repeat(3,1fr); }
  .order-details-v2>section { border-right:1px solid var(--line); border-bottom:0; }
  .order-operations-v2 { grid-template-columns:1fr 1fr; }
  .customer-email-status { grid-column:1/-1; }
}

/* Manual invoice workspace */
.manual-invoice-admin{width:min(1320px,94vw);padding-top:42px}.manual-invoice-admin .admin-title{align-items:center}.manual-invoice-admin .admin-title p{max-width:620px;margin:8px 0 0;color:var(--muted)}.manual-invoice-builder,.manual-invoice-history{margin-bottom:26px;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 18px 55px rgba(23,63,59,.06)}.manual-section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:24px}.manual-section-heading span{color:#168d93;font-size:.64rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.manual-section-heading h2{margin:3px 0 0;font-size:2rem}.manual-section-heading>p{max-width:500px;margin:0;color:var(--muted);font-size:.82rem;line-height:1.55;text-align:right}.manual-customer-grid{display:grid;grid-template-columns:1.1fr 1.1fr .8fr .65fr;gap:14px}.manual-customer-grid label,.manual-invoice-footer-grid>label,.manual-invoice-line label,.manual-invoice-totals label{display:grid;gap:6px;color:#53635f;font-size:.65rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.manual-customer-grid input,.manual-customer-grid textarea,.manual-invoice-footer-grid textarea,.manual-invoice-line input,.manual-invoice-totals input,.manual-invoice-filter input,.manual-invoice-filter select{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid #d8dfdc;border-radius:10px;background:#fcfbf8;color:#203330;font:inherit;text-transform:none;outline:0}.manual-customer-grid input:focus,.manual-customer-grid textarea:focus,.manual-invoice-footer-grid textarea:focus,.manual-invoice-line input:focus,.manual-invoice-totals input:focus{border-color:#168d93;box-shadow:0 0 0 3px rgba(22,141,147,.1)}.manual-customer-grid small,.manual-invoice-footer-grid small{font-weight:600;letter-spacing:0;text-transform:none}.manual-address-field{grid-column:1/-1}.manual-line-heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0 10px}.manual-line-heading h3{margin:0}.manual-invoice-lines{display:grid;gap:9px}.manual-invoice-line{display:grid;grid-template-columns:minmax(260px,1fr) 110px 160px 135px 68px;gap:10px;align-items:end;padding:12px;border:1px solid #e2e6e3;border-radius:13px;background:#f8faf8}.manual-line-total{padding:13px 4px;color:#173f3b;font-weight:900;text-align:right}.manual-remove-line{min-height:42px;border:0;background:transparent;color:#a24b3d;font-size:.67rem;font-weight:900;cursor:pointer}.manual-invoice-footer-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:25px;margin-top:24px}.manual-invoice-footer-grid textarea{min-height:130px;resize:vertical}.manual-invoice-totals{padding:18px;border-radius:15px;background:#f3f7f5}.manual-invoice-totals>div{display:flex;justify-content:space-between;margin-top:15px;padding-top:15px;border-top:1px solid #dce5e1}.manual-invoice-totals>div:last-child{font-size:1.15rem}.manual-invoice-create-actions{display:flex;align-items:center;gap:10px;margin-top:22px}.manual-invoice-create-actions small{margin-left:auto;color:var(--muted)}.manual-invoice-filter{display:flex;gap:8px}.manual-invoice-filter input{width:250px}.manual-invoice-list{display:grid;gap:15px}.manual-invoice-record{overflow:hidden;border:1px solid #dfe4e1;border-radius:18px;background:#fff}.manual-invoice-record>header{display:flex;justify-content:space-between;gap:20px;padding:20px 22px;background:#f8faf8}.manual-invoice-record h3{margin:7px 0 3px;font-size:1.2rem}.manual-invoice-record header p{margin:0;color:var(--muted);font-size:.78rem}.manual-invoice-record a{color:#176d70}.manual-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#ecefed;color:#596663;font-size:.59rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.manual-status-sent{background:#e6f3f4;color:#176d70}.manual-status-paid{background:#e8f5ea;color:#23713b}.manual-status-void{background:#f4e8e5;color:#963b2a}.manual-record-total{display:grid;justify-items:end}.manual-record-total small,.manual-record-total span{color:var(--muted);font-size:.64rem}.manual-record-total strong{margin:2px 0;font-size:1.4rem}.manual-record-grid{display:grid;grid-template-columns:1.5fr .8fr}.manual-record-items{padding:18px 22px}.manual-record-items>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #edf0ee}.manual-record-items>div:last-child{border-bottom:0}.manual-record-items span{display:grid;gap:3px}.manual-record-items small{color:var(--muted)}.manual-record-grid dl{margin:0;padding:20px 22px;border-left:1px solid #e4e8e5;background:#fcfbf8}.manual-record-grid dl>div+div{margin-top:13px}.manual-record-grid dt{color:#168d93;font-size:.59rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.manual-record-grid dd{margin:3px 0 0;font-size:.78rem;line-height:1.45}.manual-record-note{margin:0;padding:13px 22px;border-top:1px solid #e6eae7;background:#f6f2e9;font-size:.76rem;line-height:1.55}.manual-record-note strong{display:block;color:#8a642f;font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}.manual-invoice-record>.form-error{margin:13px 22px}.manual-invoice-record>footer{display:flex;gap:8px;align-items:center;padding:14px 22px;border-top:1px solid #e4e8e5;background:#fafbf9}.manual-invoice-record footer form{margin:0}.manual-empty-state{padding:40px;border:1px dashed #ccd8d3;border-radius:15px;background:#f8faf8;text-align:center}.manual-empty-state p{margin:7px 0 0;color:var(--muted)}
@media(max-width:1000px){.manual-customer-grid{grid-template-columns:1fr 1fr}.manual-invoice-line{grid-template-columns:minmax(220px,1fr) 90px 140px}.manual-line-total{grid-column:2;text-align:left}.manual-remove-line{grid-column:3}.manual-record-grid{grid-template-columns:1fr}.manual-record-grid dl{border-top:1px solid #e4e8e5;border-left:0}}
@media(max-width:700px){.manual-invoice-builder,.manual-invoice-history{padding:20px 16px}.manual-section-heading{align-items:start;flex-direction:column}.manual-section-heading>p{text-align:left}.manual-customer-grid,.manual-invoice-footer-grid{grid-template-columns:1fr}.manual-address-field{grid-column:auto}.manual-invoice-line{grid-template-columns:1fr 1fr}.manual-invoice-line label:first-child{grid-column:1/-1}.manual-line-total{grid-column:1;padding:9px 3px;text-align:left}.manual-remove-line{grid-column:2;text-align:right}.manual-invoice-create-actions,.manual-invoice-filter,.manual-invoice-record>header,.manual-invoice-record>footer{align-items:stretch;flex-direction:column}.manual-invoice-create-actions small{margin:6px 0 0}.manual-invoice-filter input{width:100%}.manual-record-total{justify-items:start}.manual-invoice-record>footer .btn{width:100%}.manual-invoice-record>footer form{width:100%}}
.manual-invoice-totals select{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid #d8dfdc;border-radius:10px;background:#fcfbf8;color:#203330;font:inherit;text-transform:none;outline:0}.manual-invoice-totals select:focus{border-color:#168d93;box-shadow:0 0 0 3px rgba(22,141,147,.1)}.manual-discount-control{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}.manual-invoice-totals #manual-discount-summary{color:#23713b}.manual-record-items>.manual-record-discount{color:#23713b;background:#f2faf4;margin-inline:-10px;padding-inline:10px;border-radius:8px}
@media(max-width:700px){.manual-discount-control{grid-template-columns:1fr}}

.supplier-routing-admin{margin:0 28px 24px;padding:24px;border:1px solid #d9e5e1;border-radius:18px;background:#f4faf7}.supplier-routing-list{display:grid;gap:12px;margin-top:15px}.supplier-routing-list>article{padding:16px;border:1px solid #dce5e1;border-radius:13px;background:#fff}.supplier-routing-list article>header{display:flex;align-items:start;justify-content:space-between;gap:15px}.supplier-routing-list article>header div{display:grid}.supplier-routing-list article>header small{color:#6d7b78}.supplier-routing-list article>header>span{padding:6px 9px;border-radius:999px;background:#e7f3ef;color:#176d70;font-size:.66rem;font-weight:900;text-transform:uppercase}.supplier-routing-list article>p{margin-bottom:0;color:#61706d}.supplier-route-form{display:grid;grid-template-columns:1fr 1.4fr 1.2fr auto;gap:10px;align-items:end;margin-top:15px}.supplier-route-form label{display:grid;gap:5px;color:#61706d;font-size:.67rem;font-weight:900;text-transform:uppercase}.supplier-route-form label small{text-transform:none}.supplier-route-form input,.supplier-route-form textarea{width:100%;min-height:43px;padding:9px 10px;border:1px solid #d8dfdc;border-radius:8px;background:#fff;color:#203330;font:inherit;resize:vertical}.supplier-route-form textarea{min-height:70px}.supplier-route-confirmed{margin-top:13px;padding:13px;border-radius:10px;background:#eef7f4}.supplier-route-confirmed small{display:block;color:#176d70;font-weight:900;letter-spacing:.08em}.supplier-route-confirmed p{margin:5px 0;color:#52615e}
@media(max-width:900px){.supplier-route-form{grid-template-columns:1fr 1fr}.supplier-route-form button{grid-column:1/-1}.supplier-routing-admin{margin-inline:18px}}
@media(max-width:600px){.supplier-route-form{grid-template-columns:1fr}.supplier-route-form button{grid-column:auto}.supplier-routing-list article>header{flex-direction:column}.supplier-routing-admin{margin-inline:13px;padding:18px}}
@media(max-width:900px){.dispatch-order-form{grid-template-columns:1fr 1fr}.dispatch-order-form button{grid-column:1/-1}}@media(max-width:600px){.dispatch-order-form{grid-template-columns:1fr}.dispatch-order-form button{grid-column:auto}}
@media (max-width:850px) {
  .delivery-bar span:last-child { display:none; }
  .shop-hero-grid,.account-login-hero,.account-welcome,.account-callout { grid-template-columns:1fr; }
  .shop-hero-art { width:min(650px,96%); margin:auto; }
  .catalogue-grid { grid-template-columns:repeat(2,1fr); }
  .benefit-band .container { grid-template-columns:1fr 1fr; }
  .product-dialog[open] { grid-template-columns:1fr; }
  .dialog-image { min-height:350px; }
  .delivery-callout { grid-template-columns:auto 1fr; }
  .delivery-callout>a { grid-column:1/-1; justify-self:start; }
  .account-benefits { grid-template-columns:1fr; }
  .account-stats { grid-template-columns:1fr 1fr; }
  .account-dashboard { grid-template-columns:1fr; }
  .account-sidebar { position:static; grid-template-columns:1fr 1fr; }
  .legal-layout { grid-template-columns:1fr; }
  .legal-nav { position:static; }
  .legal-principles { grid-template-columns:1fr; }
  .catalogue-import-row { grid-template-columns:130px minmax(180px,1.5fr) 75px 75px; }
  .catalogue-import-row>span:last-child { display:none; }
  .admin-dashboard-hero { align-items:start; flex-direction:column; }
  .order-admin-overview { grid-template-columns:1fr 1fr; }
  .order-admin-total { justify-items:start; text-align:left; }
  .order-details-v2 { grid-template-columns:1fr; }
  .order-details-v2>section { border-right:0; border-bottom:1px solid var(--line); }
  .admin-product-line { grid-template-columns:90px minmax(0,1fr); }
  .admin-product-image { width:90px; height:90px; }
  .admin-product-pricing { grid-column:2; grid-template-columns:auto 1fr auto; justify-items:start; align-items:center; text-align:left; }
}
@media (max-width:600px) {
  .preview-banner { min-height:54px; padding:9px 13px; align-items:flex-start; flex-direction:column; gap:4px; text-align:left; }
  .preview-banner span { font-size:.65rem; line-height:1.35; }
  .delivery-bar { justify-content:space-between; font-size:.58rem; gap:5px; }
  .delivery-bar span::before { display:none; }
  .account-pill { display:none; }
  .benefit-band .container,.catalogue-grid,.account-stats { grid-template-columns:1fr; }
  .benefit-band article,.account-stats article { border-right:0; border-bottom:1px solid var(--line); }
  .shop-benefits { grid-template-columns:1fr 1fr; }
  .shop-benefits article { min-height:78px; padding:13px 14px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); gap:10px; }
  .shop-benefits article:nth-child(2n) { border-right:0; }
  .shop-benefits article:nth-last-child(-n+2) { border-bottom:0; }
  .shop-benefits b { font-size:1rem; }
  .shop-benefits strong { font-size:.76rem; }
  .shop-benefits small { font-size:.57rem; line-height:1.35; }
  .shop-hero { min-height:0; padding:32px 0 26px; }
  .shop-hero-grid { gap:28px; }
  .shop-hero h1 { font-size:2.75rem; }
  .shop-hero-art { width:100%; padding:0 10px 25px 0; }
  .shop-hero-art img { height:250px; }
  .floating-stat { left:-4px; bottom:3px; padding:11px 13px; }
  .floating-stat.delivery { right:-2px; }
  .floating-stat strong { font-size:1.05rem; }
  .catalogue-section { padding:58px 0 90px; }
  .catalogue-heading { align-items:start; flex-direction:column; }
  .catalogue-tools { grid-template-columns:1fr; }
  .catalogue-image { height:370px; }
  .delivery-callout { grid-template-columns:1fr; padding:40px 25px; }
  .delivery-callout>a { grid-column:auto; }
  .product-dialog { width:100vw; max-height:94vh; border-radius:24px 24px 0 0; }
  .product-dialog[open] { position:fixed; inset:auto 0 0; }
  .dialog-image { min-height:290px; padding:30px; }
  .dialog-copy { padding:34px 23px 42px; }
  .variant-label { align-items:flex-start; flex-direction:column; gap:3px; }
  .variant-options { grid-template-columns:1fr; }
  .drawer-line { grid-template-columns:82px 1fr; }
  .drawer-line img { width:82px; height:92px; }
  .account-main { padding-top:30px; }
  .account-login-hero,.account-welcome { padding:42px 24px; border-radius:24px; }
  .account-login-copy h1,.account-welcome h1 { font-size:3.2rem; }
  .auth-card { padding:23px; }
  .profile-chip { max-width:100%; }
  .account-stats article { border-right:0; }
  .dashboard-heading { align-items:start; flex-direction:column; gap:10px; }
  .order-card>header { flex-direction:column; }
  .order-progress { padding-inline:10px; }
  .order-progress span { font-size:.46rem; }
  .order-products>div { grid-template-columns:46px 1fr; }
  .order-products>div>b { grid-column:2; }
  .order-card>footer { grid-template-columns:1fr; }
  .order-card>footer span:last-child { text-align:left; }
  .order-delivery-details { grid-template-columns:1fr; }
  .history-list article { grid-template-columns:1fr auto; }
  .history-list article p,.history-list article a { grid-column:1/-1; }
  .account-sidebar { grid-template-columns:1fr; }
  .admin-header { align-items:flex-start; flex-direction:column; }
  .admin-header nav { flex-wrap:wrap; }
  .admin-title { align-items:start; flex-direction:column; }
  .admin-order form { grid-template-columns:1fr; }
  .admin-order>header { flex-direction:column; }
  .admin-order-total { justify-items:start; }
  .admin-actions,.admin-actions .cancel-form,.admin-actions .tracking-form { align-items:stretch; flex-direction:column; }
  .admin-actions .btn,.admin-actions input { width:100%; }
  .admin-nav>span { width:100%; padding:8px 0 0; border:0; border-top:1px solid var(--line); }
  .admin-hub { grid-template-columns:1fr; }
  .catalogue-upload-card,.catalogue-current-card,.catalogue-history-card { padding:23px 19px; }
  .catalogue-upload-form .btn { width:100%; }
  .catalogue-history-heading { align-items:start; flex-direction:column; gap:4px; }
  .catalogue-import-table { border:0; display:grid; gap:12px; overflow:visible; }
  .catalogue-import-head { display:none; }
  .catalogue-import-row { padding:16px; border:1px solid var(--line); border-radius:13px; display:grid; grid-template-columns:1fr 1fr; gap:12px; background:#fff!important; }
  .catalogue-import-row>span,.catalogue-import-row>span:last-child { display:grid; gap:2px; }
  .catalogue-import-row>span:nth-child(2),.catalogue-import-row>span:last-child { grid-column:1/-1; }
  .catalogue-import-row>span::before { content:attr(data-label); color:var(--muted); font-size:.52rem; font-weight:900; text-transform:uppercase; }
  .order-admin-main { width:min(94vw,600px); padding-top:24px; }
  .admin-dashboard-hero { padding:28px 22px; }
  .admin-dashboard-hero h1 { font-size:3rem; }
  .order-kpis { grid-template-columns:1fr; }
  .order-toolbar { padding:11px; }
  .order-filter-tabs { display:grid; grid-template-columns:1fr 1fr; }
  .order-search { align-items:stretch; flex-direction:column; }
  .order-search input { width:100%; }
  .order-admin-overview { padding:21px 19px; grid-template-columns:1fr; gap:18px; }
  .ordered-products-v2 { padding:19px; }
  .order-section-heading { align-items:start; flex-direction:column; gap:7px; }
  .admin-product-line { padding:13px; grid-template-columns:72px minmax(0,1fr); gap:12px; align-items:start; }
  .admin-product-image { width:72px; height:72px; }
  .admin-product-copy>p { -webkit-line-clamp:3; }
  .admin-product-details { flex-direction:column; gap:7px; }
  .admin-product-pricing { grid-column:1/-1; grid-template-columns:auto 1fr auto; justify-items:start; }
  .refund-panel-v2 { margin:13px 13px 0; align-items:start; flex-direction:column; }
  .order-operations-v2 { padding:19px; grid-template-columns:1fr; }
  .customer-email-status { grid-column:auto; }
  .admin-inline-form { position:static; width:100%; box-sizing:border-box; }
  .legal-facts>div { grid-template-columns:1fr; gap:4px; }
}
