:root{--wine:#780817;--wine2:#9d1528;--gold:#c99a32;--cream:#fffaf0;--ink:#241b1b;--muted:#756969;--card:#fff;--line:#eadfcb;--ok:#16794b;--warn:#a85f00}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:linear-gradient(180deg,#fffaf0,#f7f1e7);color:var(--ink);min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px clamp(16px,5vw,70px);background:#fff;border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:14px}.brand img{width:180px;max-height:60px;object-fit:contain}.brand h1{font:700 22px "Playfair Display",serif;margin:0;color:var(--wine);text-transform:uppercase}.brand p{margin:3px 0;color:var(--muted)}.header-actions{display:flex;gap:8px}.header-actions select,.icon-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px}.tabs{display:flex;gap:8px;padding:12px clamp(16px,5vw,70px);overflow:auto;background:#fff}.tab{border:0;background:transparent;padding:11px 16px;border-radius:999px;font-weight:600;white-space:nowrap}.tab.active{background:var(--wine);color:#fff}main{max-width:1100px;margin:auto;padding:28px 18px 60px}.panel{display:none}.panel.active{display:block}.hero-card{padding:28px 4px}.hero-card h2{font:700 clamp(28px,4vw,48px) "Playfair Display",serif;margin:8px 0;color:var(--wine)}.hero-card p{max-width:760px;color:var(--muted);line-height:1.7}.eyebrow{color:var(--gold);letter-spacing:.18em;font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 12px 35px #4d180b12}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.full{grid-column:1/-1}label span{display:block;font-weight:600;margin-bottom:7px}input,textarea,select{width:100%;padding:12px 13px;border:1px solid #d9cdbb;border-radius:12px;background:#fff;color:#222;font:inherit}textarea{resize:vertical}.check{display:flex;align-items:flex-start;gap:10px}.check input{width:auto;margin-top:4px}.check span{font-weight:400}.actions,.inline{display:flex;gap:10px;align-items:center}.primary,.secondary,.danger{border:0;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer}.primary{background:var(--wine);color:#fff}.secondary{background:#f2eadc;color:var(--wine)}.danger{background:#a21d2f;color:white}.receipt{margin-top:22px;text-align:left}.receipt-head{display:flex;align-items:center;gap:20px;border-bottom:2px solid var(--gold);padding-bottom:14px}.receipt-head img{width:190px}.receipt-head h3{margin:0;color:var(--wine)}#qrcode{display:flex;justify-content:center;margin:22px 0}.hidden{display:none!important}.small{font-size:13px;color:var(--muted)}.center{text-align:center}.lookup-box{max-width:760px;margin:auto}.lookup-box h2,.terms h2,.admin-login h2{font-family:"Playfair Display",serif;color:var(--wine)}#lookupResult{margin-top:20px}.status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.stored{background:#e4f5eb;color:#14653f}.returned{background:#e7eefb;color:#234f9b}.disposed{background:#f7e5e5;color:#8d1b1b}.overdue{background:#fff0d6;color:#8a5200}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.stats div{border:1px solid var(--line);border-radius:16px;padding:16px;text-align:center}.stats b{font-size:28px;display:block;color:var(--wine)}.stats span{color:var(--muted);font-size:13px}.filters{margin-bottom:16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{background:#fff8ed;color:var(--wine)}.terms li{margin:0 0 13px;line-height:1.6}.legal-note{background:#fff2cf;border-left:4px solid var(--gold);padding:12px;border-radius:8px}.muted{color:var(--muted)}footer{text-align:center;padding:24px;color:var(--muted)}body.dark{--card:#201b1b;--ink:#f6eee8;--muted:#cbbfba;--line:#4a3a35;background:#151212}.dark .topbar,.dark .tabs{background:#201b1b}.dark input,.dark textarea,.dark select,.dark .icon-btn{background:#2b2424;color:#fff;border-color:#51433d}.dark th{background:#2b2424}.dark .secondary{background:#3b302c;color:#f0d09a}
@media(max-width:720px){.brand img{width:120px}.brand h1{font-size:15px}.brand p{font-size:12px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.topbar{padding:10px}.tabs{padding:8px}.inline{align-items:stretch;flex-direction:column}.stats{grid-template-columns:1fr 1fr 1fr}.receipt-head{flex-direction:column;text-align:center}.card{padding:18px}}
@media print{body *{visibility:hidden}.receipt,.receipt *{visibility:visible}.receipt{position:absolute;left:0;top:0;width:100%;box-shadow:none;border:0}.no-print{display:none!important}}
.mini-terms{
  background:#fff8e8;
  border:1px solid #ead4a6;
  border-left:4px solid var(--gold);
  border-radius:14px;
  padding:16px 18px;
}

.mini-terms h4{
  margin:0 0 10px;
  color:var(--wine);
  font-size:16px;
}

.mini-terms ol{
  margin:0;
  padding-left:20px;
}

.mini-terms li{
  margin-bottom:7px;
  line-height:1.5;
  font-size:13px;
}

.mini-terms li:last-child{
  margin-bottom:0;
}

/* ===== Quản lý phiếu in ===== */
.guest-receipt-note{margin:18px 0 8px;padding:14px 16px;border:1px solid #ead4a6;border-radius:14px;background:#fff8e8;display:grid;gap:5px}.guest-receipt-note strong{color:var(--wine)}.guest-receipt-note span{color:var(--muted);line-height:1.5}.print-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.print-stats div{border:1px solid var(--line);border-radius:16px;padding:16px;text-align:center}.print-stats b{font-size:28px;display:block;color:var(--wine)}.print-stats span{color:var(--muted);font-size:13px}.print-table{min-width:1050px}.print-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.print-status.unprinted{background:#fff0d6;color:#8a5200}.print-status.printed{background:#e4f5eb;color:#14653f}.print-status.reprinted{background:#e7eefb;color:#234f9b}.print-action{white-space:nowrap;padding:9px 12px}.dark .guest-receipt-note{background:#2f2922;border-color:#66583d}.dark .print-status.unprinted{background:#4b391a;color:#ffd98d}.dark .print-status.printed{background:#173d2b;color:#a8e5c5}.dark .print-status.reprinted{background:#1f3456;color:#b9d2ff}

.print-sheet{position:fixed;left:-300vw;top:0;width:210mm;background:#fff;color:#111;z-index:-1}
.print-page{width:210mm;height:297mm;background:#fff;color:#111;padding:13mm 15mm 12mm;font-family:Inter,Arial,sans-serif;display:flex;flex-direction:column;overflow:hidden;page-break-after:always;break-after:page}
.print-page:last-child{page-break-after:auto;break-after:auto}
.print-page-head{display:grid;grid-template-columns:45mm 1fr 45mm;align-items:center;min-height:28mm}
.print-page-head img{width:42mm;max-height:24mm;object-fit:contain;justify-self:start}
.print-title-wrap{grid-column:2;text-align:center;min-width:0}
.print-title-wrap h2{margin:0;color:#7a0612;font-family:"Playfair Display",serif;font-size:24pt;line-height:1;white-space:nowrap;letter-spacing:.01em}
.print-title-wrap p{margin:2mm 0 0;font-size:9.5pt;letter-spacing:.04em;white-space:nowrap}
.print-gold-rule{height:5mm;display:flex;align-items:center;gap:3mm;color:#c28b16;font-size:11pt}
.print-gold-rule::before,.print-gold-rule::after{content:"";height:.4mm;background:#c28b16;flex:1}
.print-code-block{text-align:center;margin:2mm 0 5mm;padding:4mm 5mm 4.5mm;border:1.4px solid #c28b16;border-radius:4mm}
.print-code-block span{display:block;font-size:9pt;letter-spacing:.08em}
.print-code-block strong{display:block;margin-top:1mm;color:#8e0718;font-size:23pt;line-height:1.05;letter-spacing:.03em}
.print-detail-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:10mm;font-size:10.2pt}
.print-detail-grid p{display:grid;grid-template-columns:max-content 1fr;gap:2mm;margin:0;padding:2.5mm 0;border-bottom:.25mm solid #d5d5d5;min-height:8mm;align-items:center}
.print-detail-grid p b{font-weight:700;white-space:nowrap}.print-detail-grid p span{min-width:0;overflow-wrap:anywhere}
.print-detail-grid .print-full{grid-column:1/-1}
.print-qr-zone{text-align:center;margin:6mm auto 0}
.print-sheet-qr{display:flex;justify-content:center;align-items:center}.print-sheet-qr img,.print-sheet-qr canvas{width:40mm!important;height:40mm!important}
.print-qr-caption{margin-top:2.5mm;display:flex;align-items:center;justify-content:center;gap:2.5mm;color:#93091a;font-size:9.5pt;line-height:1.25;text-align:center}
.print-lang-badge{display:inline-flex;align-items:center;justify-content:center;min-width:11mm;height:7mm;padding:0 2.5mm;border-radius:2mm;background:#93091a;color:#fff;font-weight:800;font-size:8.5pt;white-space:nowrap}
.print-signatures{display:grid;grid-template-columns:1fr 1fr;gap:25mm;margin-top:5mm;padding-top:4mm;border-top:.4mm solid #c28b16;text-align:center}
.print-signatures strong{display:block;color:#8e0718;font-size:10pt}.print-signatures span{display:block;margin-top:2mm;font-size:8.5pt;color:#666}.print-signatures i{display:block;width:55mm;max-width:80%;height:17mm;margin:1mm auto 0;border-bottom:.35mm dotted #333}

@media(max-width:720px){.print-stats{grid-template-columns:1fr 1fr 1fr}.print-stats b{font-size:22px}}

@media print{
  @page{size:A4 portrait;margin:0}
  html,body{width:210mm!important;margin:0!important;padding:0!important;background:#fff!important}
  body.printing-receipt *{visibility:hidden!important}
  body.printing-receipt #printSheet,body.printing-receipt #printSheet *{visibility:visible!important}
  body.printing-receipt #printSheet{display:block!important;position:absolute!important;left:0!important;top:0!important;width:210mm!important;z-index:999999!important;background:#fff!important;color:#111!important}
  body.printing-receipt .print-page{display:flex!important;width:210mm!important;height:297mm!important;box-sizing:border-box!important;page-break-after:always!important;break-after:page!important}
  body.printing-receipt .print-page:last-child{page-break-after:auto!important;break-after:auto!important}
}
