* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; margin: 0; background: #f5f6f8; color: #333; }
button, select { font-family: inherit; }
.wrap { max-width: 720px; margin: 0 auto; }
.app-header { background: #fff; padding: 15px; text-align: center; font-size: 18px; font-weight: bold; color: #0077cc; box-shadow: 0 1px 3px rgba(0,0,0,.05); position: sticky; top: 0; z-index: 100; }
.view-container { padding: 12px; padding-bottom: 90px; display: none; max-width: 720px; margin: 0 auto; }
.view-container.active { display: block; }
.card { background: #fff; padding: 16px; border-radius: 12px; box-shadow: 0 2px 6px rgba(0,0,0,.04); margin-bottom: 12px; }
input.form-control, textarea.form-control { width: 100%; padding: 12px; margin: 8px 0; border: 1px solid #ddd; border-radius: 8px; font-size: 16px; background: #fff; font-family: inherit; }
input.form-control:read-only { background: #f0f0f0; color: #777; border-color: #eee; }

button.btn-primary { width: 100%; background: #0077cc; color: #fff; border: none; padding: 12px; border-radius: 8px; font-weight: bold; font-size: 15px; cursor: pointer; }
button.btn-primary:hover { background: #005fa3; }
button.btn-primary:disabled { opacity: .6; cursor: default; }
button.btn-secondary { width: 100%; background: #555; color: #fff; border: none; padding: 12px; border-radius: 8px; font-weight: bold; font-size: 15px; margin-top: 8px; cursor: pointer; }
button.btn-outline { width: 100%; background: transparent; color: #0077cc; border: 2px solid #0077cc; padding: 10px; border-radius: 8px; font-weight: bold; font-size: 15px; margin-top: 8px; cursor: pointer; }
button.btn-danger-outline { width: 100%; background: transparent; color: #dc3545; border: 2px solid #dc3545; padding: 10px; border-radius: 8px; font-weight: bold; font-size: 15px; margin-top: 8px; cursor: pointer; }
a.btn-link { display: block; text-align: center; text-decoration: none; background: #0077cc; color: #fff; padding: 12px; border-radius: 8px; font-weight: bold; font-size: 15px; margin: 8px 0; }
button.btn-sm { border: none; border-radius: 6px; padding: 8px 12px; font-weight: bold; font-size: 13px; cursor: pointer; color: #fff; background: #0077cc; }
button.btn-sm.red { background: #dc3545; }

.filter-bar { margin-bottom: 10px; }
.filter-bar input.form-control { margin: 0 0 8px; }
.chips { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; }
.chip { flex: 0 0 auto; border: 1px solid #ccd; background: #fff; color: #444; border-radius: 16px; padding: 6px 12px; font-size: 13px; cursor: pointer; }
.chip.active { background: #0077cc; border-color: #0077cc; color: #fff; font-weight: 600; }

.product-row { display: flex; align-items: center; padding: 12px; border-radius: 10px; background: #fff; margin-bottom: 10px; box-shadow: 0 1px 4px rgba(0,0,0,.05); gap: 12px; }
.product-img { width: 75px; height: 75px; min-width: 75px; object-fit: cover; border-radius: 8px; border: 1px solid #eaeaea; background: #fafafa; cursor: pointer; }
.product-info { flex: 1; min-width: 0; }
.product-title { font-size: 15px; font-weight: 600; margin: 0 0 4px; color: #222; }
.product-meta { font-size: 12px; color: #666; margin-bottom: 8px; }
.action-row { display: flex; align-items: center; gap: 8px; min-height: 34px; }
.qty-control { display: flex; align-items: center; border: 1px solid #0077cc; border-radius: 6px; overflow: hidden; height: 34px; background: #fff; }
.qty-control button { width: 32px; height: 100%; background: #0077cc; color: #fff; border: none; font-size: 18px; font-weight: bold; cursor: pointer; }
.qty-control button:disabled { background: #9cc7e6; cursor: default; }
.qty-val { min-width: 32px; text-align: center; font-size: 14px; font-weight: bold; color: #0077cc; }
.add-btn { flex: 1; background: #0077cc; color: #fff; border: none; height: 34px; border-radius: 6px; font-weight: 600; font-size: 13px; cursor: pointer; }
.add-btn:disabled { background: #bbb; cursor: default; }
.add-btn.in-cart { background: #e8f6ec; color: #1c7c38; border: 1px solid #28a745; }

.cart-line { border-bottom: 1px solid #eee; padding: 12px 0; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.cart-line .qty-control { height: 30px; margin-top: 6px; display: inline-flex; }
.cart-line .qty-control button { width: 28px; font-size: 16px; }
.remove-link { color: #dc3545; font-size: 12px; font-weight: bold; cursor: pointer; background: none; border: none; padding: 4px 0 0; }
.pay-opt { display: flex; gap: 10px; align-items: flex-start; border: 2px solid #e3e6ea; border-radius: 10px; padding: 12px; margin-top: 8px; cursor: pointer; }
.pay-opt input { margin-top: 3px; }
.pay-opt small { display: block; color: #777; margin-top: 2px; font-size: 12px; }
.pay-opt.selected { border-color: #0077cc; background: #f2f8fd; }
.deliver-box { background: #f9f9f9; border-radius: 8px; padding: 10px 12px; font-size: 13px; color: #555; margin-top: 10px; line-height: 1.5; }

.bottom-nav { position: fixed; bottom: 0; left: 0; width: 100%; background: #fff; border-top: 1px solid #ddd; display: flex; justify-content: space-around; padding: 8px 0; padding-bottom: calc(8px + env(safe-area-inset-bottom)); z-index: 1000; }
.nav-item { display: flex; flex-direction: column; align-items: center; justify-content: center; color: #888; font-size: 11px; cursor: pointer; flex: 1; position: relative; }
.nav-item.active { color: #0077cc; font-weight: bold; }
.nav-icon { font-size: 21px; margin-bottom: 2px; }
.cart-badge { position: absolute; top: -4px; right: calc(50% - 20px); background: #dc3545; color: #fff; font-size: 10px; font-weight: bold; padding: 2px 6px; border-radius: 10px; display: none; transition: transform .2s; }

.modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.85); display: none; justify-content: center; align-items: center; z-index: 99999; padding: 15px; }
.modal-content { background: #fff; padding: 20px; border-radius: 12px; width: 100%; max-width: 420px; text-align: center; position: relative; max-height: 90vh; overflow-y: auto; }
.modal-content img { width: 100%; height: auto; max-height: 350px; object-fit: contain; border-radius: 8px; margin-bottom: 15px; }
.close-btn { position: absolute; top: 10px; right: 15px; font-size: 28px; font-weight: bold; cursor: pointer; color: #888; }

.status-badge { padding: 4px 8px; border-radius: 12px; font-size: 11px; font-weight: bold; white-space: nowrap; }
.bg-pending { background: #ffeeba; color: #856404; }
.bg-confirmed { background: #d6e9ff; color: #0b4f9c; }
.bg-completed { background: #d4edda; color: #155724; }
.bg-cancelled { background: #f8d7da; color: #721c24; }
.tag { font-size: 11px; background: #eef0f3; color: #555; padding: 2px 8px; border-radius: 10px; margin-left: 6px; }
.empty-state { text-align: center; padding: 40px 20px; color: #777; font-size: 14px; }
.auth-toggle { color: #0077cc; cursor: pointer; text-align: center; display: block; margin-top: 15px; font-size: 14px; font-weight: bold; }
.history-card { cursor: pointer; border: 1px solid transparent; }
.history-card:hover { border-color: #0077cc; }

.note { background: #f4f7fa; border-radius: 8px; padding: 12px; margin: 12px 0; font-size: 14px; line-height: 1.5; text-align: left; color: #444; }
.note-green { background: #e8f6ec; color: #1c5d30; }
.note-red { background: #fdecee; color: #8a1c28; }
.qr-box { text-align: center; margin: 10px 0; }
.qr-frame { display: inline-block; background: #fff; padding: 10px; border-radius: 10px; border: 1px solid #dde; }
.qr-frame img, .qr-frame canvas { display: block; }
.upi-id-row { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; margin-top: 8px; flex-wrap: wrap; }
.upi-id-row button { border: 1px solid #0077cc; background: #fff; color: #0077cc; border-radius: 6px; padding: 4px 10px; font-size: 12px; font-weight: bold; cursor: pointer; }

.pay-pill { font-size: 11px; font-weight: bold; padding: 3px 8px; border-radius: 10px; }
.pill-paid { background: #d4edda; color: #155724; }
.pill-unpaid { background: #ffeeba; color: #856404; }
.pill-refunded { background: #f8d7da; color: #721c24; }
.pill-cod { background: #eef0f3; color: #555; }
.status-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; margin: 10px 0; }
.status-grid > div { background: #f4f7fa; border-radius: 8px; padding: 8px 4px; text-align: center; font-size: 11px; color: #666; }
.status-grid b { display: block; font-size: 12px; color: #222; margin-top: 3px; }
.track { display: flex; justify-content: space-between; margin: 14px 0 6px; }
.track .step { flex: 1; text-align: center; font-size: 10px; color: #999; position: relative; }
.track .dot { width: 14px; height: 14px; border-radius: 50%; background: #ddd; margin: 0 auto 4px; position: relative; z-index: 1; }
.track .step.done { color: #1c7c38; font-weight: 600; }
.track .step.done .dot { background: #28a745; }
.track .step:not(:first-child)::before { content: ''; position: absolute; top: 6px; left: -50%; width: 100%; height: 2px; background: #ddd; }
.track .step.done:not(:first-child)::before { background: #28a745; }

/* admin */
.tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.tile { background: #fff; border-radius: 12px; padding: 12px; box-shadow: 0 2px 6px rgba(0,0,0,.04); }
.tile b { display: block; font-size: 22px; color: #0077cc; }
.tile span { font-size: 12px; color: #666; }
.adm-line { display: flex; justify-content: space-between; font-size: 13px; padding: 2px 0; }
.low-row { display: flex; justify-content: space-between; font-size: 14px; padding: 6px 0; border-bottom: 1px dashed #eee; }
.adm-selects { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; margin-top: 10px; }
.adm-selects label { font-size: 10px; color: #777; display: block; margin-bottom: 2px; }
.adm-selects select { width: 100%; padding: 6px 2px; border: 1px solid #ccd; border-radius: 6px; font-size: 12px; background: #fff; }
.row-btns { display: flex; gap: 8px; margin-top: 8px; }
.row-btns > * { flex: 1; }
.adm-top { display: flex; justify-content: space-between; align-items: center; padding: 0 12px; }
.adm-top button { background: none; border: none; color: #dc3545; font-weight: bold; cursor: pointer; font-size: 13px; }
.top-tabs { display: flex; max-width: 720px; margin: 0 auto; background: #fff; border-bottom: 1px solid #ddd; }
.top-tabs button { flex: 1; padding: 12px; border: none; background: none; font-weight: 600; color: #888; cursor: pointer; border-bottom: 3px solid transparent; }
.top-tabs button.active { color: #0077cc; border-bottom-color: #0077cc; }
@media (min-width: 720px) { .bottom-nav { max-width: 720px; left: 50%; transform: translateX(-50%); } }

#toast { position: fixed; left: 50%; bottom: calc(85px + env(safe-area-inset-bottom)); transform: translateX(-50%) translateY(20px); background: #222; color: #fff; padding: 10px 16px; border-radius: 20px; font-size: 13px; opacity: 0; pointer-events: none; transition: .25s; z-index: 100000; max-width: 90%; text-align: center; }
#toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* OnelyPens mobile-first storefront redesign */
:root{--op-blue:#087fc1;--op-deep:#064b91;--op-sky:#9ddef5;--op-pale:#f0faff;--op-line:#d9edf7}
html{scroll-behavior:smooth}
body{background:linear-gradient(180deg,#f1faff 0%,#f8fcff 60%,#eef8ff 100%);color:#163754}
.app-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 15px;background:rgba(255,255,255,.96);color:var(--op-deep);border-bottom:1px solid var(--op-line);box-shadow:0 5px 20px rgba(6,75,145,.06);backdrop-filter:blur(14px)}
.op-brand-lockup{display:flex;align-items:center;gap:9px;color:var(--op-deep);text-decoration:none;text-align:left;min-width:0}
.op-brand-lockup img{width:42px;height:42px;object-fit:contain}
.op-brand-lockup b{display:block;font-size:17px;line-height:1.15;letter-spacing:-.4px}
.op-brand-lockup sup{font-size:8px}
.op-brand-lockup small{display:block;color:#52718c;font-size:10px;font-weight:600;letter-spacing:.2px}
.op-header-actions{display:flex;gap:6px}
.op-header-actions button{border:1px solid #dcecf6;background:#f5fbff;color:var(--op-deep);width:36px;height:36px;border-radius:50%;font-size:17px}
.op-current-title{position:absolute;left:-9999px}
.view-container{max-width:760px;padding:14px 14px 100px}
#tab-shop{padding-top:10px}
.op-store-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:205px;overflow:hidden;border-radius:23px;padding:24px 20px;margin:2px 0 23px;background:linear-gradient(120deg,#d9f3ff 0%,#a8e3fa 55%,#e7f8ff 100%);box-shadow:0 12px 30px rgba(8,127,193,.13)}
.op-hero-copy{position:relative;z-index:2;max-width:68%}
.op-eyebrow{display:block;text-transform:uppercase;font-size:9px;letter-spacing:1.25px;font-weight:800;color:#12669e;margin-bottom:10px}
.op-store-hero h1{margin:0 0 10px;color:var(--op-deep);font-size:clamp(27px,7vw,38px);line-height:.99;letter-spacing:-1.2px}
.op-store-hero h1 em{font-style:normal;color:var(--op-blue)}
.op-store-hero p{font-size:12px;line-height:1.5;color:#345d7b;margin:0 0 14px;max-width:220px}
.op-hero-cta{border:0;border-radius:999px;padding:10px 15px;background:linear-gradient(135deg,var(--op-blue),var(--op-deep));color:white;font-size:12px;font-weight:750;box-shadow:0 5px 14px rgba(6,75,145,.2)}
.op-hero-cta span{padding-left:8px}
.op-hero-art{position:absolute;z-index:1;right:-5px;top:0;width:43%;height:100%;overflow:hidden}
.op-orbit{position:absolute;width:180px;height:180px;right:-40px;top:18px;border:22px solid rgba(255,255,255,.45);border-radius:50%}
.op-pen{position:absolute;display:block;width:13px;height:155px;border-radius:8px;background:linear-gradient(90deg,#053e7a,#087fc1 50%,#9ddef5 54%,#087fc1 80%);box-shadow:5px 8px 15px #3886a944;transform:rotate(27deg)}
.op-pen:before{content:"";position:absolute;top:-13px;left:2px;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:14px solid #064b91}
.op-pen:after{content:"";position:absolute;bottom:10px;left:2px;width:9px;height:20px;background:#d9f5ff;border-radius:2px}
.pen-a{right:56px;top:50px}
.pen-b{right:20px;top:70px;height:130px;transform:rotate(27deg);background:linear-gradient(90deg,#152d47,#4b6e8d 50%,#d9edf7 55%,#174e80)}
.op-refill{position:absolute;right:0;bottom:20px;transform:rotate(-15deg);font-size:9px;font-weight:900;letter-spacing:2px;color:#087fc1;background:#fff9;padding:6px 10px;border:1px solid #fff;border-radius:5px}
.op-leaf{position:absolute;right:90px;bottom:13px;color:#278ca8;font-size:23px}
.op-category-heading,.op-products-heading{display:flex;justify-content:space-between;align-items:end;margin:0 2px 12px}
.op-category-heading small,.op-products-heading small{font-size:9px;font-weight:800;letter-spacing:1.2px;color:#5790b2}
.op-category-heading h2,.op-products-heading h2{font-size:20px;letter-spacing:-.4px;color:var(--op-deep);margin:2px 0 0}
.op-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:25px}
.op-category{display:flex;min-width:0;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;padding:13px 10px 12px;border:1px solid #dceef8;border-radius:17px;background:linear-gradient(145deg,#fff,#eaf8ff);color:var(--op-deep);box-shadow:0 5px 15px rgba(6,75,145,.04);cursor:pointer;transition:.18s}
.op-category:active,.op-category.active{border-color:var(--op-blue);background:#dff5ff;transform:translateY(-1px)}
.op-category-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:#d7f1ff;color:var(--op-blue);font-size:24px}
.op-category b{font-size:11px;line-height:1.2}
.op-category small{font-size:9px;line-height:1.3;color:#64829a}
.op-products-heading{margin-top:5px}
.op-live-tag{padding:5px 9px;border-radius:99px;background:#e2f6ff;color:#087fc1;font-size:10px;font-weight:800}
.filter-bar{padding:11px;background:rgba(255,255,255,.78);border:1px solid #e2f0f8;border-radius:17px;margin-bottom:13px}
input.form-control,textarea.form-control,select.form-control{border-color:#d9eaf5;border-radius:12px;background:#fff}
input.form-control:focus,textarea.form-control:focus,select.form-control:focus{outline:none;border-color:var(--op-blue);box-shadow:0 0 0 3px #087fc11c}
.chips{display:flex;gap:7px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;border:1px solid #d6eaf6;background:#fff;color:#355b78;border-radius:99px;padding:7px 12px;font-size:11px}
.chip.active{background:var(--op-blue);border-color:var(--op-blue);color:#fff}
.catalog-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;border-top:1px solid #edf4f8}
.stock-toggle{display:flex;align-items:center;gap:6px;color:#365a76;font-size:11px;font-weight:700;white-space:nowrap}
.stock-toggle input{accent-color:var(--op-blue);width:15px;height:15px}
.sort-wrap{display:flex;align-items:center;gap:7px;color:#607e96;font-size:11px;white-space:nowrap}
.sort-wrap select.form-control{width:auto;min-width:130px;margin:0;padding:8px 25px 8px 8px;font-size:11px}
#catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.product-row{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:9px;border:1px solid #e0edf6;border-radius:17px;background:#fff;box-shadow:0 7px 20px rgba(6,75,145,.055);overflow:hidden;transition:transform .18s,box-shadow .18s}
.product-row:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(6,75,145,.1)}
.product-img{width:100%;height:140px;min-width:0;object-fit:contain;padding:9px;border:0;border-radius:12px;background:linear-gradient(145deg,#f7fcff,#e8f6ff);cursor:pointer}
.product-info{min-width:0;padding:8px 2px 2px}
.product-title{font-size:12px;line-height:1.35;color:#123f69;font-weight:750}
.product-meta{font-size:10px;color:#69849a}
.product-price{font-size:15px;font-weight:850;color:var(--op-deep);margin-top:8px}
.add-btn{background:var(--op-blue);border-radius:10px;padding:8px 10px;font-size:11px;font-weight:750}
.qty-control{border-color:var(--op-blue);border-radius:10px}
.qty-control button{background:var(--op-blue)}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:200;display:flex;justify-content:center;background:rgba(255,255,255,.96);border-top:1px solid #d9edf7;box-shadow:0 -7px 25px rgba(6,75,145,.08);backdrop-filter:blur(15px);padding-bottom:env(safe-area-inset-bottom)}
.nav-item{flex:1;max-width:180px;padding:9px 4px 7px;color:#71899c;font-size:10px;font-weight:650}
.nav-icon{font-size:22px;line-height:1.15;color:inherit}
.nav-item.active{color:var(--op-blue)}
.cart-badge{background:var(--op-blue);color:white}
.card{border:1px solid #e1edf5;border-radius:19px;box-shadow:0 7px 22px rgba(6,75,145,.055)}
button.btn-primary{background:linear-gradient(135deg,var(--op-blue),var(--op-deep));border-radius:12px}
button.btn-outline{border-color:var(--op-blue);color:var(--op-blue);border-radius:12px}
button.btn-secondary{border-radius:12px}
.pay-opt{border-color:#deedf6;border-radius:14px}
.pay-opt.selected{border-color:var(--op-blue);background:#eefaff}
.deliver-box,.note{background:#f0f9ff}
.op-profile-intro{display:flex;align-items:center;gap:13px;margin-bottom:18px;padding-bottom:17px;border-bottom:1px solid #e5f0f7}
.op-avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#c9efff,#087fc1);color:#fff;font-size:20px;font-weight:850;box-shadow:0 5px 13px #087fc126}
.op-profile-intro small{font-size:9px;font-weight:800;letter-spacing:1px;color:#5790b2}
.op-profile-intro p{font-size:12px;color:#6a8499;margin:3px 0 0}
@media(min-width:640px){.view-container{padding-left:22px;padding-right:22px}.op-store-hero{min-height:245px;padding:30px}.op-category-grid{gap:13px}.op-category{padding:16px}.product-img{height:175px}}
@media(max-width:380px){.view-container{padding-left:10px;padding-right:10px}.op-store-hero{padding:17px;min-height:190px}.op-hero-copy{max-width:72%}.op-store-hero h1{font-size:28px}.op-category-grid{gap:6px}.op-category{padding:10px 7px}.op-category b{font-size:10px}.product-img{height:115px}.catalog-tools{gap:6px}.sort-wrap select.form-control{min-width:110px}}


/* Navigation reliability patch: fixed, fully visible on every viewport */
#main-screen { min-height: 100vh; padding-bottom: 0; }
.bottom-nav {
  position: fixed !important;
  inset: auto 0 0 0;
  width: 100%;
  max-width: 100%;
  transform: none;
  margin: 0;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: space-around;
  gap: 0;
  padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
  z-index: 9999;
  background: rgba(255,255,255,.98);
  border-top: 1px solid #d6eaf6;
  box-shadow: 0 -8px 28px rgba(6,75,145,.12);
}
.bottom-nav .nav-item {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  display: flex;
  flex: 1 1 25%;
  min-width: 0;
  max-width: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  margin: 0;
  padding: 5px 2px 4px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #71899c;
  font: inherit;
  font-size: 11px;
  line-height: 1.15;
  cursor: pointer;
  white-space: nowrap;
}
.bottom-nav .nav-item.active {
  color: var(--op-blue);
  background: #eaf8ff;
  font-weight: 800;
}
.bottom-nav .nav-icon {
  display: block;
  margin: 0;
  font-size: 22px;
  line-height: 1.15;
}
.bottom-nav .cart-badge {
  top: 0;
  right: calc(50% - 22px);
  z-index: 1;
  min-width: 17px;
  text-align: center;
}
.view-container { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
@media (min-width: 760px) {
  .bottom-nav {
    left: 50%;
    right: auto;
    width: min(100%, 760px);
    max-width: 760px;
    transform: translateX(-50%);
    border-left: 1px solid #d6eaf6;
    border-right: 1px solid #d6eaf6;
    border-radius: 18px 18px 0 0;
  }
}

/* Future-ready checkout and saved addresses */
.address-form,.billing-area{background:#f8fbff;border:1px solid #d9eaf8;border-radius:12px;padding:12px;margin-top:12px;text-align:left}
.address-form h4,.billing-area h4{margin:4px 0 8px;color:#174a72}
.address-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.address-grid .form-control{min-width:0}
.consent-line{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.45;margin:12px 0;color:#424b55}
.consent-line input{margin-top:3px;flex:0 0 auto}
.form-msg{font-size:12px;color:#0077cc}
.saved-address-card{border:1px solid #e2e8f0;border-radius:10px;padding:12px;margin:9px 0;background:#fff}
.saved-address-card p{font-size:12px;color:#5e6874;margin:5px 0;line-height:1.45;overflow-wrap:anywhere}
.saved-address-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.default-tag{font-size:10px;color:#17643a;background:#e3f7e9;border-radius:10px;padding:3px 7px}
@media(max-width:420px){.address-grid{grid-template-columns:1fr;gap:0}}

/* Checkout amount breakdown */
.delivery-price-line{display:flex;justify-content:space-between;gap:12px;padding:3px 0;color:#333}.delivery-grand-total{border-top:1px solid #cbd5e1;margin-top:5px;padding-top:8px;font-size:15px;font-weight:700}.deliver-box small{display:block;margin-top:7px;color:#667085;font-size:11px;line-height:1.45}
.address-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.address-actions .btn-outline{flex:1;min-width:150px}
