/* Duniacode unified — typography, buttons, numbers & tables (single source, last loaded) */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@500;600&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap');
:root{
  --dc-font-body:'DM Sans',system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --dc-font-heading:'Plus Jakarta Sans',system-ui,sans-serif;
  --dc-font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --dc-btn-radius:10px;
  --dc-btn-weight:700;
  --dc-line:#e8ebf2;
  --dc-muted:#697089;
  --dc-ink:#17243e;
  --dc-blue:#1769e8;
  --dc-blue-soft:#eaf3ff;
}
/* body + form → DM Sans */
html,body{font-family:var(--dc-font-body)!important}
input,select,textarea{font-family:var(--dc-font-body)!important}
small,.muted{font-family:var(--dc-font-body)!important;color:var(--dc-muted)}
/* headings → Plus Jakarta Sans */
h1,h2,h3,h4,.head h1,.section-heading h2,.welcome h1,.auth-heading h1,.hero h1,.kv-brand strong,.brand strong{font-family:var(--dc-font-heading)!important;letter-spacing:-.02em}
/* buttons → DM Sans 700, radius konsisten */
button,.button,.primary,.secondary,.auth-submit,.auth-google,.btn-login,.login,.card-cart,.card-order,.card-cart-icon,.view-button,.nav-account .login,.nav-account .btn-login,.form-inline button,.form-grid button,.billing-shell button,.ticket-actions button{font-family:var(--dc-font-body)!important;font-weight:var(--dc-btn-weight)!important;letter-spacing:-.01em;border-radius:var(--dc-btn-radius)!important}
button,.button,.primary{line-height:1}
.primary,.button,.auth-submit{min-height:42px}
.secondary{min-height:42px}

/* Product purchase actions */
.product-cart-form{display:grid;grid-template-columns:116px minmax(0,1fr);gap:10px;margin-top:16px}
.product-cart-form>.button{width:100%;margin:0}
.product-quantity{display:grid;grid-template-columns:36px 44px 36px;align-items:center;overflow:hidden;border:1px solid #dfe4ee;border-radius:var(--dc-btn-radius);background:#fff}
.product-quantity button{min-height:42px;padding:0;border:0;background:#f5f7fb;color:var(--dc-ink);font-size:18px;cursor:pointer}
.product-quantity button:hover{background:var(--dc-blue-soft);color:var(--dc-blue)}
.product-quantity input{width:44px;min-height:42px;padding:0;border:0;border-left:1px solid #e6e9f0;border-right:1px solid #e6e9f0;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;appearance:textfield}
.product-quantity input::-webkit-inner-spin-button,.product-quantity input::-webkit-outer-spin-button{margin:0;appearance:none}
.product-demo-button{display:flex!important;width:100%;margin-top:10px;justify-content:center;box-sizing:border-box}
@media(max-width:480px){.product-cart-form{grid-template-columns:1fr}.product-quantity{grid-template-columns:1fr 54px 1fr}.product-quantity input{width:54px}}

/* ========== ELEGANT NUMBER SYSTEM ========== */
/* Semua No Invoice / No Pesanan / No Text → pill monospace elegan, tabular-nums, konsisten */
.dc-number{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:28px;padding:0 10px;
  border-radius:8px;
  background:#eef0ff;border:1px solid #dfe4ff;
  color:#2f3dd1;
  font-family:var(--dc-font-mono)!important;
  font-size:12.5px!important;font-weight:600!important;line-height:1;
  letter-spacing:.04em;font-variant-numeric:tabular-nums;
  text-decoration:none!important;white-space:nowrap;
  transition:background .15s,border-color .15s,color .15s,transform .15s;
}
.dc-number:hover{background:#e0e6ff;border-color:#c9d3ff;color:#1e2ec2;transform:translateY(-1px)}
.dc-number--order{background:#fff2e8;border-color:#f5d6b0;color:#8a4a00}
.dc-number--order:hover{background:#ffead1;border-color:#edc79a}
.dc-number--invoice{background:#eef0ff;border-color:#dfe4ff;color:#2f3dd1}
.dc-number--muted{background:#f6f7fb;border-color:#e9ebf2;color:#5b6478}

/* Amount / harga — tabular-nums, tebal elegan */
.dc-amount{
  font-family:var(--dc-font-body)!important;
  font-variant-numeric:tabular-nums!important;
  font-weight:800!important;letter-spacing:-.02em;white-space:nowrap;color:var(--dc-ink)
}
.dc-amount--lg{font-size:15px}
.dc-amount--sm{font-size:13px}

/* ========== ELEGANT TABLE SYSTEM ========== */
.dc-card{
  background:#fff;border:1px solid #e8ebf2;border-radius:14px;overflow:hidden;
  box-shadow:0 6px 22px rgba(27,74,134,.04)
}
.dc-card__head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:16px 18px;border-bottom:1px solid #eef1f6;background:#fff
}
.dc-card__head small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dc-blue);font-weight:800}
.dc-card__head h2{margin:4px 0 0;font-size:17px;letter-spacing:-.02em;color:var(--dc-ink)}
.dc-card__head p{margin:4px 0 0;font-size:13px;color:var(--dc-muted);line-height:1.5}
.dc-table{width:100%;border-collapse:collapse;min-width:520px}
.dc-table th{
  height:44px!important;
  background:#f6f9fd!important;color:#63738d!important;
  font-family:var(--dc-font-body)!important;font-size:10px!important;font-weight:800!important;
  letter-spacing:.06em!important;text-transform:uppercase!important;
  text-align:left;padding:0 14px!important;border-bottom:1px solid #e8ebf2!important;white-space:nowrap
}
.dc-table td{
  padding:12px 14px!important;
  border-top:1px solid #eef1f6!important;
  font-size:13px!important;line-height:1.5;vertical-align:middle;color:#1e293b
}
.dc-table tbody tr{transition:background .15s}
.dc-table tbody tr:hover{background:#f8fbff}
.dc-table .dc-empty{padding:18px 14px!important;text-align:center;color:var(--dc-muted)!important;font-size:13px}
.dc-status{
  display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;
  font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap;border:1px solid transparent
}
.dc-status--paid{background:#e8f8f3;color:#0a7a5c;border-color:#bcebda}
.dc-status--unpaid,.dc-status--pending{background:#fff7df;color:#8a5d00;border-color:#f3d9a0}
.dc-status--overdue{background:#fff0f1;color:#b4232d;border-color:#ffd1d5}
.dc-status--cancelled{background:#f1f3f9;color:#6b728e;border-color:#e5e8ef}
.dc-status--expired{background:#fdecea;color:#9e2c2c;border-color:#f5c6cb}

/* Detail invoice/order header number besar elegan */
.dc-detail-number{font-family:var(--dc-font-mono)!important;font-weight:600;letter-spacing:.03em;color:var(--dc-blue);background:#eef0ff;border:1px solid #dfe4ff;border-radius:8px;padding:4px 9px;font-size:13px}

/* Override inline-table legacy yang bentrok (pakai !important agar menang vs inline style) */
.admin-shell .dc-table th{background:#f6f9fd!important;color:#63738d!important;font-size:10px!important;letter-spacing:.06em!important}
.admin-shell .dc-table td{border-color:#eef1f6!important}

/* Responsive */
@media(max-width:760px){
  .dc-table{min-width:560px}
  .dc-number{font-size:12px!important;min-height:26px;padding:0 8px}
  .dc-card__head{padding:14px 16px}
}
