/* Shared theme: aligned with the Honda Mitra Mulia workshop apps (mm-theme) */
@font-face { font-family: "Nunito MM"; src: url("/assets/fonts/nunito-latin-ext-wght-normal.woff2") format("woff2"); font-weight: 200 1000; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Nunito MM"; src: url("/assets/fonts/nunito-latin-wght-normal.woff2") format("woff2"); font-weight: 200 1000; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --mm-canvas: #f6f6f7; --mm-bg: #fff; --mm-surface: #f4f4f6; --mm-border: #e4e4e8; --mm-border-strong: #b8b8c0;
  --mm-text: #1a1a1c; --mm-muted: #5b5b66; --mm-faint: #a0a0aa;
  --mm-accent: #cc0000; --mm-accent-hover: #a50000; --mm-accent-tint: #fbe9e8; --mm-dark: #141416;
  --mm-success: #147a4a; --mm-success-tint: #e4f5ec; --mm-warning: #8a5a00; --mm-warning-tint: #fbf0da;
  --mm-danger: #b3261e; --mm-danger-tint: #fbe9e8;
  --mm-font: "Nunito MM", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ---------- Navbar ---------- */
.mm-nav { position: sticky; top: 0; z-index: 50; background: var(--mm-dark); color: #fff; border-bottom: 1px solid rgba(255,255,255,.08); font-family: var(--mm-font); }
.mm-nav-in { max-width: 1360px; margin: 0 auto; padding: 0 24px; height: 64px; display: flex; align-items: center; gap: 28px; }
.mm-brand { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; flex: none; }
.mm-brand-chip { display: inline-flex; align-items: center; justify-content: center; height: 36px; min-width: 40px; padding: 0 7px; border-radius: 10px; background: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.35); }
.mm-brand-chip img { display: block; height: 24px; width: auto; }
.mm-brand-text { display: flex; flex-direction: column; line-height: 1.15; }
.mm-brand-text b { font-size: 15px; font-weight: 800; letter-spacing: .01em; }
.mm-brand-text span { font-size: 11.5px; color: rgba(255,255,255,.6); font-weight: 600; }
.mm-links { display: flex; align-items: stretch; gap: 4px; height: 100%; }
.mm-link { display: inline-flex; align-items: center; gap: 8px; padding: 0 14px; color: rgba(255,255,255,.7); text-decoration: none; font-size: 14px; font-weight: 700; border-bottom: 2px solid transparent; margin-top: 2px; transition: color .15s, background .15s; white-space: nowrap; }
.mm-link:hover { color: #fff; background: rgba(255,255,255,.05); }
.mm-link.active { color: #fff; border-bottom-color: #ff4d57; }
.mm-user { margin-left: auto; display: flex; align-items: center; gap: 12px; flex: none; }
.mm-avatar { width: 34px; height: 34px; border-radius: 50%; background: rgba(204,0,0,.9); display: grid; place-items: center; font-size: 12.5px; font-weight: 800; letter-spacing: .02em; }
.mm-who { display: flex; flex-direction: column; line-height: 1.2; max-width: 190px; }
.mm-who b { font-size: 13.5px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mm-who span { font-size: 11.5px; color: rgba(255,255,255,.58); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mm-logout { display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,.2); color: #fff; text-decoration: none; font-size: 13px; font-weight: 700; transition: background .15s, border-color .15s; }
.mm-logout:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.4); }
.mm-ic { flex: none; display: inline-block; vertical-align: middle; }
@media (max-width: 860px) {
  .mm-nav-in { height: auto; flex-wrap: wrap; padding: 10px 16px 0; gap: 10px 16px; }
  .mm-links { order: 3; width: 100%; height: 44px; overflow-x: auto; scrollbar-width: none; }
  .mm-links::-webkit-scrollbar { display: none; }
  .mm-who { display: none; }
}

/* ---------- Segmented branch filter ---------- */
.mm-seg { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; background: #ececef; border-radius: 18px; }
.mm-seg a { padding: 7px 16px; border-radius: 9999px; color: var(--mm-muted); text-decoration: none; font-size: 13.5px; font-weight: 700; transition: background .15s, color .15s; }
.mm-seg a:hover { color: var(--mm-text); }
.mm-seg a.active { background: var(--mm-dark); color: #fff; }

/* ---------- Skeleton loading (shimmer placeholders) ---------- */
#mm-skel { position: fixed; inset: 0; z-index: 1000; background: var(--mm-canvas); overflow: hidden auto; font-family: var(--mm-font); }
#mm-skel.mm-fade { opacity: 0; transition: opacity .25s; pointer-events: none; }
.sk { display: block; border-radius: 6px; background: linear-gradient(90deg, #dedee3 25%, #f1f1f4 40%, #dedee3 60%); background-size: 400% 100%; animation: sk-shimmer 1.5s ease-in-out infinite; }
@keyframes sk-shimmer { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }
.sk-main { max-width: 1360px; margin: 0 auto; padding: 28px 24px 56px; }
.sk-card { background: #fff; border: 1px solid var(--mm-border); border-radius: 14px; padding: 18px 20px; min-width: 0; overflow: hidden; }
.sk-grid { display: grid; gap: 16px; margin-top: 16px; }
.sk-g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sk-g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sk-sec { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--mm-border); }
.sk-bars { display: flex; align-items: flex-end; gap: 10px; height: 230px; }
.sk-bars .sk { flex: 1; border-radius: 6px 6px 0 0; }
.sk-table { margin-top: 16px; padding: 8px 20px; }
.sk-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 15px 0; border-bottom: 1px solid #efeff2; }
.sk-row:last-child { border-bottom: 0; }
.sk-toolbar { display: flex; gap: 10px; align-items: center; margin-bottom: 16px; }
.sk-hero { display: grid; grid-template-columns: 1.7fr 1fr; gap: 16px; margin-bottom: 16px; }
.sk-hero .sk-card { min-height: 190px; }
.sk-dark { background: #1c1c20; border-color: #1c1c20; }
.sk-dark .sk { background: linear-gradient(90deg, #2a2a30 25%, #38383f 40%, #2a2a30 60%); background-size: 400% 100%; }
.sk-chips { display: flex; gap: 10px; margin-top: 22px; flex-wrap: wrap; }
@media (max-width: 1100px) { .sk-g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .sk-g2, .sk-hero { grid-template-columns: minmax(0, 1fr); } .sk-main { padding: 20px 16px 40px; } }
@media (max-width: 520px) { .sk-g4 { grid-template-columns: minmax(0, 1fr); } }

/* Inline button spinner (login) */
.mm-btn-spin { display: inline-block; width: 16px; height: 16px; margin-right: 10px; vertical-align: -3px; border-radius: 50%; border: 2.5px solid rgba(255,255,255,.4); border-top-color: #fff; animation: mm-rot .7s linear infinite; }
@keyframes mm-rot { to { transform: rotate(360deg); } }
