:root{--ink:#16241d;--ink-soft:#435347;--paper:#eceee5;--paper-raised:#f8f9f3;--paper-sunken:#e2e4da;--rule:#c6cabb;--rule-strong:#a9ae9c;--brand:#2f5b45;--brand-strong:#1f4632;--brand-tint:#dfe8de;--tan:#e7dcc0;--tan-strong:#cdae6c;--danger:#a8342c;--danger-tint:#f3ded9;--success:#2f5b45;--pending:#8a6a2f;--pending-tint:#f1e5c8;--stripe:#635bff;--stripe-tint:#e7e6ff;--bkash:#e2136e;--bkash-tint:#fbdce9;--font-display:"Fraunces", "Times New Roman", serif;--font-body:"IBM Plex Sans", -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--radius:3px;--shadow-card:0 1px 0 var(--rule-strong), 0 8px 20px -12px #16241d59;--max-width:1180px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;margin:0 0 .4em;font-weight:600}h1{font-optical-sizing:auto;font-size:clamp(2rem,4vw,2.75rem)}h2{font-size:1.5rem}h3{font-size:1.125rem}p{margin:0 0 1em}a{color:inherit}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:.7rem}.app-shell{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 24px}.page{flex:1;padding:32px 0 80px}.nav{border-bottom:1px solid var(--rule-strong);background:var(--paper-raised);z-index:20;position:sticky;top:0}.nav-inner{max-width:var(--max-width);align-items:center;gap:28px;margin:0 auto;padding:14px 24px;display:flex}.brand-mark{font-family:var(--font-display);white-space:nowrap;align-items:baseline;gap:8px;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.brand-mark .tick{color:var(--brand);font-family:var(--font-mono);font-size:.85rem;font-weight:500}.nav-links{flex-wrap:wrap;flex:1;gap:4px;display:flex}.nav-link{color:var(--ink-soft);border-radius:var(--radius);padding:8px 10px;font-size:.9rem;text-decoration:none}.nav-link.active{color:var(--ink);background:var(--brand-tint)}.nav-right{align-items:center;gap:10px;display:flex}.nav-cart-btn{position:relative}.cart-count{background:var(--brand);color:var(--paper-raised);font-family:var(--font-mono);border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 3px;font-size:.65rem;display:flex;position:absolute;top:-6px;right:-8px}.btn{border:1px solid var(--ink);background:var(--ink);color:var(--paper-raised);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:500;line-height:1;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{color:var(--ink);border-color:var(--rule-strong);background:0 0}.btn-ghost{color:var(--ink-soft);background:0 0;border-color:#0000;padding:8px 10px}.btn-block{width:100%}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-danger{background:var(--danger);border-color:var(--danger)}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem}.field input,.field select,.field textarea{border:1px solid var(--rule-strong);background:var(--paper-raised);border-radius:var(--radius);padding:10px 12px}.field textarea{resize:vertical;min-height:80px}.form-card{background:var(--paper-raised);border:1px solid var(--rule-strong);border-radius:var(--radius);max-width:420px;box-shadow:var(--shadow-card);padding:28px}.form-error{background:var(--danger-tint);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);margin-bottom:16px;padding:10px 12px;font-size:.85rem}.form-note{color:var(--ink-soft);margin-top:14px;font-size:.82rem}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;display:grid}.card{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.pill{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:.7rem;display:inline-flex}.pill-pending{background:var(--pending-tint);color:var(--pending);border-color:var(--pending)}.pill-success,.pill-paid{background:var(--brand-tint);color:var(--brand-strong);border-color:var(--brand)}.pill-failed,.pill-canceled{background:var(--danger-tint);color:var(--danger);border-color:var(--danger)}.pill-active{background:var(--brand-tint);color:var(--brand-strong);border-color:var(--brand)}.pill-inactive{background:var(--paper-sunken);color:var(--ink-soft);border-color:var(--rule-strong)}.hr-dotted{border:none;border-top:1px dashed var(--rule-strong);margin:14px 0}.empty-state{border:1px dashed var(--rule-strong);border-radius:var(--radius);text-align:center;color:var(--ink-soft);padding:48px 24px}.toast{background:var(--ink);color:var(--paper-raised);border-radius:var(--radius);z-index:100;box-shadow:var(--shadow-card);padding:12px 20px;font-size:.85rem;animation:.18s toast-in;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.toast-danger{background:var(--danger)}.loading-line{font-family:var(--font-mono);color:var(--ink-soft);font-size:.8rem}@media (width<=720px){.nav-inner{flex-wrap:wrap;gap:10px}.nav-links{order:3;width:100%}}.hero{max-width:640px;padding:64px 0 40px}.hero-eyebrow{margin-bottom:18px}.hero h1{font-style:italic;font-weight:500}.hero-sub{color:var(--ink-soft);max-width:52ch;font-size:1.05rem}.hero-actions{gap:12px;margin-top:8px;display:flex}.shop-layout{grid-template-columns:220px 1fr;align-items:start;gap:36px;display:grid}.shop-sidebar{border-right:1px solid var(--rule);padding-right:20px;position:sticky;top:78px}.shop-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px;display:flex}.shop-search{border:1px solid var(--rule-strong);background:var(--paper-raised);border-radius:var(--radius);min-width:220px;padding:8px 12px}@media (width<=820px){.shop-layout{grid-template-columns:1fr}.shop-sidebar{border-right:none;border-bottom:1px solid var(--rule);padding-bottom:16px;padding-right:0;position:static}}.cat-tree{margin:0;padding:0;list-style:none}.cat-tree-root{margin-top:4px}.cat-node{text-align:left;border-radius:var(--radius);width:100%;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:6px 10px;font-size:.88rem;display:block}.cat-node:hover{background:var(--paper-sunken)}.cat-node.active{background:var(--brand-tint);color:var(--brand-strong);font-weight:500}.product-card{justify-content:space-between}.product-card-body{flex:1;padding:16px 16px 8px}.product-card-body h3{margin-bottom:6px;font-size:1.05rem}.product-desc{color:var(--ink-soft);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.85rem;display:-webkit-box;overflow:hidden}.product-card-foot{justify-content:space-between;align-items:center;padding:0 16px 12px;display:flex}.product-price{font-size:1.05rem}.product-card-actions{border-top:1px dashed var(--rule-strong);gap:8px;padding:12px;display:flex}.qty-input{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-raised);text-align:center;width:56px;padding:6px 8px}.auth-page{justify-content:center;padding-top:56px;display:flex}.checkout-layout{max-width:640px}.receipt{background:var(--paper-raised);border:1px solid var(--rule-strong);border-radius:var(--radius);box-shadow:var(--shadow-card);margin:20px 0;padding:20px}.receipt-head{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--rule);grid-template-columns:1fr auto auto;gap:16px;margin-bottom:8px;padding-bottom:8px;font-size:.68rem;display:grid}.receipt-row{border-bottom:1px dashed var(--rule);grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:10px 0;font-size:.9rem;display:grid}.receipt-row:last-of-type{border-bottom:none}.receipt-qty{align-items:center;gap:6px;display:flex}.receipt-amount{justify-content:flex-end;align-items:center;gap:8px;display:flex}.receipt-total{font-family:var(--font-display);justify-content:space-between;padding-top:6px;font-size:1.2rem;font-weight:600;display:flex}.provider-keys{grid-template-columns:1fr 1fr;gap:16px;margin:28px 0;display:grid}.provider-key{text-align:left;cursor:pointer;color:var(--paper-raised);border:none;border-radius:6px;flex-direction:column;gap:6px;padding:28px 20px;transition:transform .1s,box-shadow .1s;display:flex;position:relative;box-shadow:0 3px #00000047,0 10px 24px -14px #00000080}.provider-key:hover:not(:disabled){transform:translateY(1px);box-shadow:0 2px #00000047,0 6px 16px -12px #00000080}.provider-key:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 #00000047}.provider-key:disabled{opacity:.6;cursor:not-allowed}.provider-key-stripe{background:var(--stripe)}.provider-key-bkash{background:var(--bkash)}.provider-key-label{font-family:var(--font-display);font-size:1.3rem;font-weight:600}.provider-key-sub{font-family:var(--font-mono);letter-spacing:.04em;opacity:.85;font-size:.72rem}.stripe-confirm,.bkash-pending,.checkout-done{flex-direction:column;align-items:flex-start;gap:14px;margin-top:8px;display:flex}.sandbox-wallets{border:1px dashed var(--rule-strong);border-radius:var(--radius);background:var(--paper-sunken);width:100%;padding:14px 16px}.wallet-row-group{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.wallet-chips{flex-wrap:wrap;gap:6px;display:flex}.wallet-chip{border:1px solid var(--rule-strong);background:var(--paper-raised);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:.78rem}.wallet-chip:hover{border-color:var(--bkash);color:var(--bkash)}.wallet-chip-reason{color:var(--ink-soft);font-family:var(--font-body)}.order-list{flex-direction:column;gap:14px;display:flex}.order-row{padding:18px 20px}.order-row-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.order-total{margin-top:2px;font-size:1.1rem}.order-row-status{align-items:center;gap:10px;display:flex}.order-items{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.order-items li{color:var(--ink-soft);justify-content:space-between;font-size:.88rem;display:flex}.admin-layout{grid-template-columns:320px 1fr;align-items:start;gap:28px;display:grid}.admin-sidebar-stack{flex-direction:column;gap:20px;display:flex}.admin-form{max-width:none}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-form-actions{gap:10px;display:flex}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.88rem}.admin-table th{text-align:left;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--rule-strong);padding:8px 10px;font-size:.68rem}.admin-table td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:10px}.admin-table-actions{justify-content:flex-end;gap:6px;display:flex}@media (width<=900px){.admin-layout{grid-template-columns:1fr}}
