.btn{display:inline-block;border:2px solid var(--navy);background:#fff;color:var(--navy);border-radius:10px;padding:10px 18px;font-weight:600}
.btn:hover{background:var(--navy);color:#fff}
.btn.primary{background:var(--orange);border-color:var(--orange);color:#fff}.btn.primary:hover{background:var(--orange-d);border-color:var(--orange-d)}
.btn.ghost{background:transparent}.btn.bad{color:var(--bad);border-color:var(--bad)}.btn.bad:hover{background:var(--bad);color:#fff}
.btn.sm{padding:5px 12px;font-size:.88rem;border-radius:8px}
.link-btn{background:none;border:0;font-weight:600;color:var(--navy);padding:8px 10px;border-radius:8px}.link-btn:hover{background:var(--soft)}
.cart-btn{background:var(--navy);color:#fff;border:0;border-radius:999px;padding:10px 18px;font-weight:600}.cart-btn:hover{background:var(--orange)}
.menu{position:relative}.menu-pop{display:none;position:absolute;right:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;min-width:190px;box-shadow:0 18px 40px -12px rgba(11,42,82,.3)}
.menu:hover .menu-pop,.menu:focus-within .menu-pop{display:block}.menu-pop a{display:block;padding:9px 12px;border-radius:8px}.menu-pop a:hover{background:var(--soft)}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:7px 15px;font-weight:500;color:var(--navy)}
.chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
select,input,textarea{border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;width:100%}
#sortSelect{width:auto}
.cat-tile{border:0;background:#fff;border-radius:14px;padding:16px 8px;font-weight:600;color:var(--navy);text-align:center}.cat-tile b{display:block;font-size:2.1rem;margin-bottom:2px}.cat-tile:hover{background:var(--peach)}
.pcard{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;position:relative}
.pcard:hover{box-shadow:0 14px 30px -14px rgba(11,42,82,.35)}
.pimg{aspect-ratio:1;display:grid;place-items:center;font-size:4.4rem;border:0;width:100%;cursor:pointer}
.badge{position:absolute;top:10px;left:10px;background:var(--orange);color:#fff;font-weight:700;font-size:.8rem;padding:3px 9px;border-radius:99px}
.pinfo{padding:12px;display:flex;flex-direction:column;gap:3px;flex:1}.pname{background:none;border:0;text-align:left;font-weight:600;color:var(--ink);padding:0}
.pinfo small{color:var(--mute)}.price{font:800 1.2rem var(--font-head);color:var(--orange-d)}.price s{font:400 .85rem var(--font-body);color:var(--mute);margin-left:6px}
.add-btn{margin-top:auto;background:var(--navy);color:#fff;border:0;border-radius:8px;padding:9px;font-weight:600}.add-btn:hover{background:var(--orange)}
.overlay{position:fixed;inset:0;background:rgba(11,42,82,.5);opacity:0;pointer-events:none;transition:opacity .2s;z-index:60}.overlay.show{opacity:1;pointer-events:auto}
.cart-section{position:fixed;top:0;right:0;height:100%;width:min(420px,100%);background:#fff;z-index:70;transform:translateX(105%);transition:transform .25s;display:flex;flex-direction:column;box-shadow:-20px 0 50px rgba(11,42,82,.2)}
.cart-section.open{transform:none}
.cart-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}
#cart-items{flex:1;overflow:auto;padding:6px 20px}
.cart-footer{padding:18px 20px;border-top:1px solid var(--line);display:grid;gap:10px}
.checkout-btn{background:var(--orange);color:#fff;border:0;border-radius:10px;padding:13px;font-weight:700}.checkout-btn:hover{background:var(--orange-d)}
.clear-btn{background:none;border:0;color:var(--mute);text-decoration:underline}
.close-btn{background:none;border:0;font-size:1.2rem;width:36px;height:36px;border-radius:8px}.close-btn:hover{background:var(--soft)}
.ci{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.ci .em{font-size:2rem;display:grid;place-items:center;aspect-ratio:1;border-radius:10px}
.qty{display:flex;align-items:center;gap:8px;margin-top:4px}.qty button{width:28px;height:28px;border-radius:7px;border:1.5px solid var(--line);background:#fff;font-weight:700}
.hint{color:var(--mute);font-size:.88rem;padding:12px 0}
.mb{position:fixed;inset:0;background:rgba(11,42,82,.55);z-index:90;display:grid;place-items:center;padding:16px;overflow:auto}
.modal{background:#fff;border-radius:18px;padding:26px;width:min(520px,100%);position:relative;display:grid;gap:12px;max-height:94vh;overflow:auto}
.modal>.close-btn{position:absolute;top:10px;right:10px}.modal h2{padding-right:34px}
.frm{display:grid;gap:12px}label{display:grid;gap:4px;font-weight:500;font-size:.92rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.note{background:var(--peach);border-left:4px solid var(--orange);padding:10px 14px;border-radius:8px;font-size:.9rem}
.sumbox{background:var(--soft);border-radius:12px;padding:12px 14px}.sumbox div{display:flex;justify-content:space-between;padding:3px 0}.sumbox .t{font-weight:800;border-top:1px solid var(--line);margin-top:4px;padding-top:8px}
.sw{font-size:.9rem}.sw a{text-decoration:underline;font-weight:600}
.det{display:grid;grid-template-columns:150px 1fr;gap:16px}.det .pimg{border-radius:14px;cursor:default;font-size:4.6rem}
.tag{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.8rem;font-weight:600;background:var(--soft)}.tag.g{background:#dff5ec;color:var(--ok)}.tag.o{background:var(--peach);color:var(--orange-d)}.tag.r{background:#fde4e1;color:var(--bad)}
.dash{max-width:1240px;margin:0 auto;padding:28px 20px;display:grid;grid-template-columns:210px 1fr;gap:20px;align-items:start}
.dnav{background:#fff;border-radius:14px;padding:10px;display:grid;gap:2px}.dnav button{background:none;border:0;text-align:left;padding:10px 12px;border-radius:8px;font-weight:500}.dnav button.on{background:var(--navy);color:#fff}.dnav button:hover:not(.on){background:var(--soft)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.stats div{background:#fff;border-radius:14px;padding:16px}.stats b{display:block;font:800 1.6rem var(--font-head);color:var(--navy)}.stats span{color:var(--mute);font-size:.9rem}
.card{background:#fff;border-radius:14px;padding:18px;margin-top:16px}
.tw{background:#fff;border-radius:14px;padding:6px;overflow-x:auto;margin-top:14px}
table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--mute);font-weight:600}
.bars{display:grid;gap:8px;margin-top:10px}.bars div{display:grid;grid-template-columns:140px 1fr 90px;gap:10px;align-items:center;font-size:.9rem}.bars i{display:block;height:12px;background:var(--orange);border-radius:6px}
.dh{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.row{display:flex;gap:10px;flex-wrap:wrap}.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.cards3 div{background:#fff;border-radius:14px;padding:18px}
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 20px;border-radius:12px;z-index:200}
@media(max-width:860px){.dash{grid-template-columns:1fr}.two{grid-template-columns:1fr}.dnav{grid-auto-flow:column;overflow-x:auto}.bars div{grid-template-columns:90px 1fr 70px}}
