/* ===== Page-specific layout helpers ===== */
.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.page-header h2{margin:0;font-size:18px;color:var(--color-navy-dark)}
.section-title{font-size:13px;font-weight:700;color:var(--color-navy-dark);text-transform:uppercase;letter-spacing:.03em;margin:20px 0 10px}

/* Dashboard */
.dashboard-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}
@media(min-width:1024px){.dashboard-grid{grid-template-columns:2fr 1fr}}
.gold-price-banner{
  background:linear-gradient(120deg,var(--color-navy) 0%,var(--color-navy-dark) 100%);
  color:#fff;border-radius:var(--radius-lg);padding:18px;display:flex;justify-content:space-between;align-items:center;
  box-shadow:var(--shadow-md);
}
.gold-price-banner .label{font-size:12px;opacity:.8}
.gold-price-banner .price{font-size:24px;font-weight:800;color:var(--color-gold-light)}
.low-stock-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--color-mist)}
.low-stock-item:last-child{border-bottom:none}

/* POS / Penjualan */
.pos-layout{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:1024px){.pos-layout{grid-template-columns:1.4fr 1fr}}
.pos-summary{
  background:var(--color-navy);color:#fff;border-radius:var(--radius-lg);padding:18px;
  position:sticky;top:76px;box-shadow:var(--shadow-md);
}
.pos-summary .row{display:flex;justify-content:space-between;font-size:13.5px;padding:6px 0;color:rgba(255,255,255,.85)}
.pos-summary .total{font-size:22px;font-weight:800;color:var(--color-gold-light);border-top:1px solid rgba(255,255,255,.2);margin-top:8px;padding-top:10px}
.autocomplete-list{border:1px solid var(--color-mist);border-radius:var(--radius-sm);margin-top:4px;max-height:220px;overflow-y:auto;background:#fff;box-shadow:var(--shadow-sm)}
.autocomplete-item{padding:10px 12px;font-size:13.5px;border-bottom:1px solid var(--color-gray);cursor:pointer}
.autocomplete-item:hover{background:var(--color-cream)}

/* Struk / receipt */
.receipt{
  font-family:'Courier New',monospace;background:#fff;padding:16px;max-width:320px;margin:0 auto;
  border:1px dashed var(--color-mist);border-radius:var(--radius-sm);font-size:12.5px;
}
.receipt h3{text-align:center;margin:0 0 2px;font-size:14px}
.receipt .center{text-align:center}
.receipt hr{border:none;border-top:1px dashed #999;margin:8px 0}
.receipt .row{display:flex;justify-content:space-between}
.receipt .item-row{margin-bottom:4px}
.receipt .grand-total{font-weight:800;font-size:14px}

/* Stok status */
.stock-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}
.stock-status-dot.aman{background:var(--color-success)}
.stock-status-dot.menipis{background:var(--color-warning)}
.stock-status-dot.habis{background:var(--color-danger)}

/* Settings */
.settings-list{display:flex;flex-direction:column;gap:10px}
.settings-item{display:flex;justify-content:space-between;align-items:center;padding:14px;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.settings-item .meta .title{font-weight:700;font-size:14px}
.settings-item .meta .desc{font-size:12px;color:var(--color-text-muted)}

.printer-status{display:flex;align-items:center;gap:8px;font-size:13px}
.printer-status .dot{width:9px;height:9px;border-radius:50%;background:#ccc}
.printer-status .dot.connected{background:var(--color-success)}
