:root{--g:#0b5d3b;--g2:#0e7a4d;--gold:#d4a017;--bg:#f4f5f1;--card:#fff;--ink:#141a17;--mut:#5f6b65;--line:#e3e6e1;--red:#b91c1c;--amber:#b45309}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--g2)}img{max-width:100%}
.nav{background:var(--g);color:#fff;padding:0 16px;display:flex;align-items:center;justify-content:space-between;height:56px;position:sticky;top:0;z-index:10}
.nav .brand{font-weight:800;letter-spacing:.3px;color:#fff;text-decoration:none;font-size:18px;display:flex;align-items:center;gap:9px}.nav .brand img{height:38px;width:38px;object-fit:contain;background:#fff;border-radius:9px;padding:3px}.nav .brand span{color:var(--gold)}
.nav .links a{color:#fff;text-decoration:none;margin-left:16px;font-size:14px;opacity:.92}
.wrap{max-width:1040px;margin:0 auto;padding:20px 16px}
.hero{background:linear-gradient(135deg,var(--g),#0a3f2a);color:#fff;padding:40px 16px;text-align:center}
.hero h1{margin:0 0 8px;font-size:30px}.hero p{margin:0 auto 16px;max-width:560px;opacity:.9}
.search{max-width:520px;margin:0 auto;display:flex;gap:8px}.search input{flex:1}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.card .cover{height:150px;background:#dfe8e2 center/cover no-repeat;display:flex;align-items:flex-end;padding:10px}.card .cover.contain{background-size:contain;background-color:#eef1ec}
.card .cover .cat{background:rgba(0,0,0,.55);color:#fff;font-size:12px;padding:2px 8px;border-radius:99px}
.card .body{padding:14px}.card h3{margin:0 0 6px;font-size:17px}.card .meta{color:var(--mut);font-size:13px}
.card .price{margin-top:8px;font-weight:700;color:var(--g)}
.btn{display:inline-block;background:var(--g);color:#fff;border:0;border-radius:10px;padding:10px 18px;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none;line-height:1.2}
.btn.gold{background:var(--gold);color:#222}.btn.ghost{background:#fff;color:var(--g);border:1.5px solid var(--g)}.btn.sm{padding:6px 12px;font-size:13px}.btn.red{background:var(--red)}.btn:disabled{opacity:.5;cursor:default}
.btn.block{display:block;width:100%;text-align:center}
input,select,textarea{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--g2)}textarea{min-height:90px}
label{display:block;font-size:13px;font-weight:600;color:var(--mut);margin:12px 0 4px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}@media(max-width:560px){.row{grid-template-columns:1fr}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}
.panel h2{margin:0 0 10px;font-size:19px}.panel h3{margin:14px 0 6px;font-size:16px}
.muted{color:var(--mut);font-size:14px}.err{color:var(--red);font-size:14px;margin-top:8px;min-height:1em}.ok{color:var(--g);font-weight:600}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--mut);font-weight:600;font-size:12px;text-transform:uppercase}
.tbl{overflow-x:auto}
.pill{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;font-weight:700;background:#e8f1ec;color:var(--g)}
.pill.draft{background:#eee;color:#555}.pill.cancelled,.pill.void,.pill.expired{background:#fde7e7;color:var(--red)}.pill.pending{background:#fff3df;color:var(--amber)}.pill.checked_in{background:#e0f2fe;color:#075985}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:10px 0}
.stat{background:#f7f8f5;border-radius:10px;padding:10px}.stat b{display:block;font-size:22px;color:var(--g)}.stat span{font-size:12px;color:var(--mut)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 16px}.tabs a{padding:7px 12px;border-radius:99px;background:#e9ece6;color:#333;text-decoration:none;font-size:14px;font-weight:600}.tabs a.on{background:var(--g);color:#fff}
.tt{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.tt:last-child{border:0}
.qty{display:flex;align-items:center;gap:6px}.qty button{width:34px;height:34px;border-radius:8px;border:1.5px solid var(--line);background:#fff;font-size:18px;cursor:pointer}.qty span{min-width:24px;text-align:center;font-weight:700}
.total{display:flex;justify-content:space-between;padding:6px 0;font-size:15px}.total.big{font-size:19px;font-weight:800;border-top:2px solid var(--line);margin-top:6px;padding-top:10px}
.foot{text-align:center;color:var(--mut);font-size:13px;padding:30px 16px}
.hidden{display:none!important}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#111;color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:50;opacity:0;transition:.2s}.toast.show{opacity:1}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.card .cover:not([style*="background-image"]){height:56px}
