﻿:root { --nm-teal:#0f766e; --nm-ink:#0f172a; --nm-muted:#475569; --nm-line:#cbd5e1; --nm-surface:#fff; --nm-soft:#f8fafc; }
html { font-family: ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.fi-main { max-width: none !important; }
.nm-dashboard,.nm-page-intro,.nm-columns,.nm-table-wrap { color:var(--nm-ink); }
.nm-dashboard { display:grid; gap:1rem; }
.nm-dashboard-head { display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; }
.nm-dashboard-head h1,.nm-page-intro h1 { font-size:1.35rem; font-weight:750; margin:0; }
.nm-dashboard-head p,.nm-page-intro p { color:var(--nm-muted); margin:.25rem 0 0; }
.nm-dashboard-head time,.nm-observed-at { color:var(--nm-muted); font-size:.9rem; }
.nm-filters { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.75rem; }
.nm-filters label,.nm-form-panel label,.nm-topup label,.nm-date-filter label { display:grid; gap:.35rem; font-size:.9rem; font-weight:650; }
.nm-filters input:not([type=checkbox]):not([type=radio]),.nm-filters select,.nm-form-panel input:not([type=checkbox]):not([type=radio]),.nm-form-panel select,.nm-form-panel textarea,.nm-topup input:not([type=checkbox]):not([type=radio]),.nm-topup textarea,.nm-date-filter input:not([type=checkbox]):not([type=radio]),.nm-date-filter select { min-height:44px; border:1px solid var(--nm-line); border-radius:.55rem; padding:.55rem .7rem; background:var(--nm-surface); color:var(--nm-ink); width:100%; font:inherit; }
.nm-form-panel textarea,.nm-topup textarea { min-height:84px; resize:vertical; }
.nm-room-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:.7rem; }
.nm-room-tile { display:flex; flex-direction:column; align-items:flex-start; text-align:left; gap:.45rem; min-height:126px; padding:.85rem; border:1px solid var(--nm-line); border-left:5px solid #64748b; border-radius:.65rem; background:var(--nm-surface); color:var(--nm-ink); cursor:pointer; }
.nm-room-tile:hover { border-color:var(--nm-teal); box-shadow:0 1px 3px #0f172a18; }
.nm-room-tile:focus-visible,.nm-close:focus-visible { outline:3px solid #14b8a6; outline-offset:2px; }
.nm-room-title { font-size:1.12rem; font-weight:750; }
.nm-room-status { display:flex; align-items:center; gap:.4rem; font-weight:700; }
.nm-status-dot { width:.65rem; height:.65rem; border-radius:50%; background:#64748b; }
.tone-good { border-left-color:#047857; }.tone-good .nm-status-dot { background:#047857; }
.tone-warning { border-left-color:#b45309; }.tone-warning .nm-status-dot { background:#b45309; }
.tone-danger { border-left-color:#b91c1c; }.tone-danger .nm-status-dot { background:#b91c1c; }
.tone-neutral { border-left-color:#475569; }.tone-neutral .nm-status-dot { background:#475569; }
.tone-stale,.tone-unknown { border-left-color:#6d28d9; }.tone-stale .nm-status-dot,.tone-unknown .nm-status-dot { background:#6d28d9; }
.nm-room-meta,.nm-operation-state { color:var(--nm-muted); font-size:.87rem; overflow-wrap:anywhere; }
.nm-operation-state { color:#7c2d12; font-weight:650; }
.nm-empty { display:grid; justify-items:center; gap:.65rem; text-align:center; padding:2.5rem 1rem; border:1px dashed var(--nm-line); border-radius:.75rem; background:var(--nm-surface); }
.nm-empty h2,.nm-empty p { margin:0; }.nm-empty p { max-width:34rem; color:var(--nm-muted); }.nm-empty-icon { width:2rem; height:2rem; color:var(--nm-teal); }
.nm-modal-wrap { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:1rem; }
.nm-modal-backdrop { position:absolute; inset:0; background:#0f172a99; border:0; }
.nm-modal { position:relative; width:min(54rem,100%); max-height:90vh; overflow:auto; background:var(--nm-surface); color:var(--nm-ink); border:1px solid var(--nm-line); border-radius:.8rem; box-shadow:0 20px 50px #0f172a33; }
.nm-modal-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; padding:1rem 1.2rem; border-bottom:1px solid var(--nm-line); }
.nm-modal-head h2 { margin:0; font-size:1.2rem; }.nm-eyebrow { color:var(--nm-muted); margin:0 0 .25rem; font-size:.85rem; }
.nm-close { min-width:44px; min-height:44px; border:1px solid var(--nm-line); border-radius:.5rem; background:transparent; color:inherit; font-size:1.5rem; cursor:pointer; }
.nm-modal-body { display:grid; grid-template-columns:1.1fr .9fr; gap:1.1rem; padding:1.2rem; }
.nm-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin:0; align-content:start; }
.nm-facts div { padding:.7rem; background:var(--nm-soft); border-radius:.5rem; min-width:0; }.nm-facts dt { color:var(--nm-muted); font-size:.85rem; }.nm-facts dd { margin:.2rem 0 0; font-weight:650; overflow-wrap:anywhere; }
.nm-topup,.nm-form-panel { display:grid; gap:.7rem; align-content:start; border:1px solid var(--nm-line); border-radius:.65rem; background:var(--nm-surface); padding:1rem; }
.nm-topup h3,.nm-form-panel h2,.nm-table-wrap h2 { margin:0; font-size:1.08rem; }.nm-topup p,.nm-form-panel p { color:var(--nm-muted); margin:0; }
.nm-error { color:#b91c1c!important; font-weight:650; }.nm-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.nm-row-actions { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }.nm-row-actions .fi-btn { min-height:44px; }.nm-form-error { padding:.7rem; border:1px solid #fecaca; background:#fef2f2; border-radius:.5rem; }
.nm-account-create,.nm-plan-form,.nm-settings-form { margin-top:1rem; }.nm-checkbox { display:flex!important; align-items:center; gap:.55rem!important; min-height:44px; }.nm-checkbox input { width:1.15rem; height:1.15rem; min-height:1.15rem; }
.nm-history { display:grid; gap:.7rem; margin:0; padding:0; list-style:none; }.nm-history li { display:grid; gap:.25rem; padding:.7rem; border:1px solid var(--nm-line); border-radius:.5rem; }.nm-history li span { color:var(--nm-muted); font-size:.9rem; }
.nm-inline-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }.nm-preview { padding:.65rem; background:var(--nm-soft); border-radius:.4rem; }
.nm-table-wrap { margin-top:1rem; padding:1rem; border:1px solid var(--nm-line); border-radius:.65rem; background:var(--nm-surface); }.nm-table-scroll { overflow-x:auto; margin-top:.7rem; }
.nm-table { width:100%; border-collapse:collapse; text-align:left; }.nm-table th,.nm-table td { padding:.65rem .7rem; border-bottom:1px solid var(--nm-line); white-space:nowrap; }.nm-table th { color:var(--nm-muted); font-size:.88rem; }.nm-empty-inline { color:var(--nm-muted); }
.nm-date-filter { max-width:32rem; margin-top:.8rem; }.nm-callout { padding:.85rem; border-left:4px solid #b45309; background:#fffbeb; color:#713f12; }
.dark .nm-dashboard,.dark .nm-page-intro,.dark .nm-columns,.dark .nm-table-wrap { color:#f1f5f9; }
.dark .nm-dashboard-head p,.dark .nm-page-intro p,.dark .nm-dashboard-head time,.dark .nm-observed-at,.dark .nm-room-meta,.dark .nm-empty p,.dark .nm-topup p,.dark .nm-form-panel p,.dark .nm-empty-inline { color:#cbd5e1; }
.dark .nm-room-tile,.dark .nm-empty,.dark .nm-modal,.dark .nm-form-panel,.dark .nm-table-wrap { background:#111827; border-color:#475569; color:#f1f5f9; }
.dark .nm-filters input,.dark .nm-filters select,.dark .nm-form-panel input,.dark .nm-form-panel select,.dark .nm-form-panel textarea,.dark .nm-topup input,.dark .nm-topup textarea,.dark .nm-date-filter input,.dark .nm-date-filter select { background:#0f172a; color:#f1f5f9; border-color:#64748b; }
.dark .nm-facts div,.dark .nm-preview { background:#1e293b; }.dark .nm-facts dt,.dark .nm-table th { color:#cbd5e1; }
.dark .nm-table td,.dark .nm-table th,.dark .nm-modal-head,.dark .nm-history li { border-color:#475569; }.dark .nm-history li span { color:#cbd5e1; }.dark .nm-callout { background:#422006; color:#fef3c7; }.dark .nm-form-error { background:#450a0a; border-color:#7f1d1d; color:#fecaca!important; }
@media(max-width:720px) { .nm-filters,.nm-columns { grid-template-columns:1fr; }.nm-dashboard-head { align-items:flex-start; flex-direction:column; }.nm-room-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.nm-modal-wrap { padding:.4rem; }.nm-modal { max-height:94vh; }.nm-modal-body { grid-template-columns:1fr; padding:.85rem; }.nm-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }.nm-table th,.nm-table td { padding:.6rem; } }
@media(max-width:390px) { .nm-room-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; }.nm-room-tile { padding:.65rem; min-height:120px; }.nm-room-meta { font-size:.82rem; } }

/* ---------- Room board (status kamar) ---------- */
.nm-board { position:relative; border:1px solid #1e293b; border-radius:1rem; padding:1.05rem 1.15rem 1.2rem; background:radial-gradient(1100px 360px at 12% -10%,#16233c 0%,#0b1220 58%,#080d16 100%); color:#e6edf7; box-shadow:0 26px 60px -34px #020617; }
.nm-board-head { display:flex; justify-content:space-between; gap:1.25rem; align-items:flex-start; padding-bottom:.9rem; border-bottom:1px solid #1e293b; }
.nm-board-heading h1 { font-size:1.38rem; font-weight:750; margin:0; color:#f8fafc; }
.nm-board-heading h1 span { color:#93a4bb; font-weight:600; }
.nm-board-heading p { margin:.3rem 0 0; color:#93a4bb; font-size:.92rem; }
.nm-board-pills { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.65rem; }
.nm-pill { display:inline-flex; align-items:center; gap:.35rem; padding:.24rem .62rem; border-radius:999px; background:#122036; border:1px solid #22334d; color:#cbd5e1; font-size:.79rem; font-weight:650; }
.nm-pill-alert { background:#3b1213; border-color:#7f1d1d; color:#fecaca; animation:nm-pill-pulse 2.6s ease-in-out infinite; }
.nm-pill-plain { background:transparent; border-color:transparent; color:#64748b; font-weight:600; }
.nm-board-actions { display:flex; align-items:center; gap:.6rem; }
.nm-board-link { color:#5eead4; text-decoration:none; font-weight:650; font-size:.9rem; white-space:nowrap; }
.nm-board-link:hover { text-decoration:underline; }
.nm-help { position:relative; }
.nm-help summary { list-style:none; width:2.35rem; height:2.35rem; display:grid; place-items:center; border-radius:50%; background:#f8fafc; color:#0f172a; font-weight:800; cursor:pointer; box-shadow:0 8px 20px -8px #000; }
.nm-help summary::-webkit-details-marker { display:none; }
.nm-help summary:focus-visible { outline:3px solid #5eead4; outline-offset:2px; }
.nm-help-body { position:absolute; right:0; top:2.85rem; z-index:20; width:min(21rem,82vw); padding:.85rem .9rem; border-radius:.75rem; background:#0e1a2c; border:1px solid #22334d; box-shadow:0 26px 50px -20px #000; display:grid; gap:.35rem; font-size:.85rem; color:#cbd5e1; }
.nm-help-body p { margin:0; }
.nm-board-toolbar { display:flex; flex-wrap:wrap; gap:.9rem; justify-content:space-between; align-items:flex-end; padding-top:.9rem; }
.nm-legend { display:flex; flex-wrap:wrap; gap:.3rem .25rem; list-style:none; margin:0; padding:0; }
.nm-legend-item { display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .55rem; border-radius:999px; border:1px solid transparent; background:transparent; color:#94a3b8; font:inherit; font-size:.82rem; cursor:pointer; }
.nm-legend-item strong { color:#e2e8f0; font-variant-numeric:tabular-nums; }
.nm-legend-item:hover { background:#122036; border-color:#22334d; }
.nm-legend-item.is-selected { background:#122036; border-color:#334155; color:#f8fafc; }
.nm-legend-item:focus-visible { outline:3px solid #5eead4; outline-offset:2px; }
.nm-legend-item .nm-status-dot { width:.55rem; height:.55rem; }
.nm-legend-item.tone-good .nm-status-dot { background:#22c55e; }
.nm-legend-item.tone-warning .nm-status-dot { background:#f59e0b; }
.nm-legend-item.tone-danger .nm-status-dot { background:#ef4444; }
.nm-legend-item.tone-neutral .nm-status-dot { background:#94a3b8; }
.nm-legend-item.tone-stale .nm-status-dot { background:#a78bfa; }
.nm-legend-item.tone-unknown .nm-status-dot { background:#71717a; }
.nm-board-filter { display:flex; flex-wrap:wrap; gap:.5rem; align-items:flex-end; }
.nm-board-filter label { display:grid; gap:.22rem; font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:#64748b; font-weight:750; }
.nm-board-filter select,.nm-board-filter input { min-height:38px; border-radius:.5rem; border:1px solid #22334d; background:#0e1a2c; color:#e2e8f0; padding:.32rem .55rem; font:inherit; font-size:.88rem; }
.nm-board-filter select:focus-visible,.nm-board-filter input:focus-visible { outline:3px solid #5eead4; outline-offset:1px; }
.nm-board-filter input[type=search] { min-width:12rem; }
.nm-board-count { color:#64748b; font-size:.82rem; padding-bottom:.5rem; white-space:nowrap; }
.nm-board-groups { display:grid; gap:1.15rem; padding-top:1rem; }
.nm-board-group-title { margin:0 0 .55rem; font-size:.77rem; letter-spacing:.09em; text-transform:uppercase; color:#7c8ba1; font-weight:750; }
.nm-board-group-title span { color:#556377; font-weight:600; letter-spacing:.02em; text-transform:none; }
.nm-board .nm-room-grid { grid-template-columns:repeat(auto-fill,minmax(104px,1fr)); gap:.55rem; }
.nm-board .nm-room-tile { position:relative; min-height:72px; padding:.55rem .6rem; border:0; border-radius:.6rem; justify-content:center; gap:.15rem; color:#fff; background:#1e293b; box-shadow:inset 0 0 0 1px #ffffff14,0 10px 22px -16px #000; transition:transform .12s ease,box-shadow .12s ease,filter .12s ease; }
.nm-board .nm-room-tile:hover { transform:translateY(-2px); filter:brightness(1.08); box-shadow:inset 0 0 0 1px #ffffff2e,0 16px 28px -18px #000; }
.nm-board .nm-room-tile:active { transform:translateY(0); }
.nm-board .nm-room-tile:focus-visible { outline:3px solid #5eead4; outline-offset:2px; }
.nm-board .nm-room-title { font-size:1.05rem; font-weight:800; line-height:1.15; text-shadow:0 1px 1px #00000040; }
.nm-board .nm-room-status { font-size:.79rem; font-weight:700; color:#ffffff; text-shadow:0 1px 1px #00000059; }
.nm-board .nm-room-tile .nm-status-dot { background:#fff; opacity:.9; width:.45rem; height:.45rem; }
.nm-board .tone-good { background:linear-gradient(160deg,#15803d,#166534); }
.nm-board .tone-warning { background:linear-gradient(160deg,#b45309,#92400e); }
.nm-board .tone-danger { background:linear-gradient(160deg,#b91c1c,#991b1b); }
.nm-board .tone-neutral { background:linear-gradient(160deg,#475569,#334155); }
.nm-board .tone-stale { background:linear-gradient(160deg,#6d28d9,#5b21b6); }
.nm-board .tone-unknown { background:linear-gradient(160deg,#3f3f46,#27272a); }
.nm-board .nm-room-tile.is-empty { background:transparent; color:#cbd5e1; box-shadow:inset 0 0 0 1.5px #3f4a5c; }
.nm-board .nm-room-tile.is-empty .nm-status-dot { background:#94a3b8; }
.nm-board .nm-room-tile.is-empty .nm-room-status { color:#cbd5e1; text-shadow:none; }
.nm-board .nm-room-tile.is-alert { animation:nm-alert-wash 2.2s ease-in-out infinite; }
.nm-tile-alert { position:absolute; top:.32rem; right:.36rem; width:1.12rem; height:1.12rem; border-radius:50%; background:#fff; color:#b91c1c; font-weight:900; font-size:.72rem; display:grid; place-items:center; animation:nm-badge-pulse 1.7s ease-out infinite; }
.nm-room-tile.has-pending::after { content:""; position:absolute; inset:0; border-radius:inherit; background:repeating-linear-gradient(135deg,#ffffff14 0 6px,#ffffff00 6px 12px); animation:nm-stripes 1.5s linear infinite; pointer-events:none; }
.nm-board-empty { color:#93a4bb; padding:.9rem 0 0; }
.nm-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
@keyframes nm-alert-wash { 0%,100% { box-shadow:inset 0 0 0 1px #ffffff14,0 0 0 0 #f8717100,0 10px 22px -16px #000; } 50% { box-shadow:inset 0 0 0 1px #fecaca80,0 0 0 5px #f8717133,0 10px 22px -16px #000; } }
@keyframes nm-badge-pulse { 0% { box-shadow:0 0 0 0 #ffffffb3; } 70% { box-shadow:0 0 0 .45rem #ffffff00; } 100% { box-shadow:0 0 0 0 #ffffff00; } }
@keyframes nm-stripes { to { background-position:24px 0; } }
@keyframes nm-pill-pulse { 0%,100% { box-shadow:0 0 0 0 #f8717100; } 50% { box-shadow:0 0 0 4px #f8717122; } }
@media(max-width:720px) { .nm-board { padding:.85rem; }.nm-board-head { flex-direction:column; gap:.6rem; }.nm-board .nm-room-grid { grid-template-columns:repeat(auto-fill,minmax(88px,1fr)); gap:.45rem; }.nm-board .nm-room-tile { min-height:66px; }.nm-board-filter { width:100%; }.nm-board-filter input[type=search] { min-width:0; width:100%; } }
@media(prefers-reduced-motion:reduce) { .nm-board .nm-room-tile.is-alert,.nm-tile-alert,.nm-room-tile.has-pending::after,.nm-pill-alert { animation:none; } }

/* ---------- Brand identity: logo, hero, login ---------- */
.fi-logo img { height: 2.1rem; width: auto; }
html:not(.dark) .fi-logo img { filter: brightness(.34) saturate(.35); }
.fi-simple-layout { background: radial-gradient(1000px 480px at 50% -18%, #0ea5a51f, transparent 62%), #f4f7fb; }
.dark .fi-simple-layout { background: radial-gradient(1000px 480px at 50% -18%, #0ea5a51a, transparent 62%), #070b12; }
.fi-simple-layout .fi-simple-header .fi-logo { display: none; }
.fi-simple-main { border: 1px solid #e3e9f1; border-radius: 1.25rem; box-shadow: 0 28px 70px -38px #0f172a40; padding: 1.75rem; }
.dark .fi-simple-main { border-color: #22334d; box-shadow: 0 30px 80px -44px #000; }
.egm-hero { margin: -.2rem 0 1.1rem; padding: 1.2rem 1.15rem 1.15rem; border-radius: 1rem; text-align: center; color: #eef4fb;
  background: radial-gradient(420px 180px at 50% -30%, #16405c 0%, transparent 70%), linear-gradient(158deg, #101d31, #0a1220 72%);
  box-shadow: inset 0 0 0 1px #ffffff14, 0 16px 34px -26px #0b1220; }
.egm-hero-mark { height: 86px; width: auto; margin: 0 auto .35rem; display: block; filter: drop-shadow(0 8px 20px #00000066); }
.egm-hero-kicker { margin: 0; font-size: .78rem; letter-spacing: .22em; text-transform: uppercase; color: #a9bdd6; font-weight: 650; }
.egm-hero-name { margin: .2rem 0 .3rem; font-size: 1.42rem; font-weight: 800; letter-spacing: .015em; line-height: 1.2; }
.egm-hero-sub { margin: 0; font-size: .84rem; color: #b7c6d8; }
.egm-login-foot { margin: 1.15rem 0 0; text-align: center; font-size: .82rem; line-height: 1.6; color: #a3b4c9; }
.egm-form-title { margin: .1rem 0 .85rem; font-size: 1.02rem; font-weight: 750; text-align: center; }
.fi-simple-main:has(.egm-hero) .fi-simple-header { display: none; }
.fi-simple-main:has(.egm-hero) .fi-btn { background: #0f766e; }
.fi-simple-main:has(.egm-hero) .fi-btn:hover { background: #115e59; }
.fi-simple-main:has(.egm-hero) .fi-checkbox-input:checked { background-color: #0f766e; border-color: #0f766e; }
.fi-simple-main:has(.egm-hero) .fi-input { background: #ffffff; }
.dark .fi-simple-main:has(.egm-hero) .fi-input { background: #0b1420; }

/* ---------- Dashboard board refinements ---------- */
.nm-board-eyebrow { margin: 0 0 .15rem; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: #6f86a3; font-weight: 700; }
.nm-board-heading h1 { font-size: 1.5rem; letter-spacing: -.01em; }
.nm-board-heading p { font-size: .95rem; color: #a6b6c9; }
.nm-board-pills { margin-top: .8rem; }
.nm-pill { font-size: .82rem; padding: .28rem .7rem; border-color: #273b55; }
.nm-pill-attention { border: 1px solid #7f1d1d; background: #3a1517; color: #fecaca; cursor: pointer; font: inherit; font-size: .82rem; border-radius: 999px; padding: .28rem .7rem; display: inline-flex; align-items: center; gap: .4rem; }
.nm-pill-attention:hover { background: #4a1a1d; }
.nm-pill-attention.is-selected { box-shadow: 0 0 0 3px #f8717133; }
.nm-pill-attention:focus-visible { outline: 3px solid #5eead4; outline-offset: 2px; }
.nm-board .nm-help summary { background: transparent; border: 1px solid #3a4d68; color: #c6d3e2; box-shadow: none; font-weight: 700; }
.nm-board .nm-help summary:hover { background: #14233a; }
.nm-board-filter label { font-size: .74rem; color: #8fa2ba; letter-spacing: .06em; }
.nm-board .nm-room-grid { grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: .6rem; }
.nm-board .nm-room-tile { min-height: 80px; padding: .6rem .65rem; gap: .22rem; }
.nm-board .nm-room-title { font-size: 1.08rem; }
.nm-board .nm-room-status { font-size: .8rem; }
.nm-tile-alert { top: .38rem; right: .42rem; }
.nm-board-groups { gap: 1.3rem; }
.nm-board-group-title { font-size: .8rem; color: #8b9cb2; }
.nm-board-empty, .nm-observed-at { color: #93a4bb; }
@media (max-width: 720px) { .nm-board .nm-room-grid { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); } }
/* Topbar brand lockup */
.egm-topbar-brand { display: inline-flex; align-items: center; gap: .55rem; margin-inline: .3rem .2rem; padding: .2rem .4rem; border-radius: .6rem; color: inherit; text-decoration: none; }
.egm-topbar-brand img { height: 1.85rem; width: auto; display: block; }
.egm-topbar-brand span { font-weight: 750; font-size: .95rem; letter-spacing: .01em; white-space: nowrap; }
.egm-topbar-brand:hover { background: color-mix(in srgb, currentColor 8%, transparent); }
html:not(.dark) .egm-topbar-brand img { filter: brightness(.3) saturate(.4); }
.fi-sidebar-header .fi-logo, .fi-sidebar-header-logo-ctn { display: none !important; }
@media (max-width: 640px) { .egm-topbar-brand span { display: none; } }
/* ---------- Notifikasi kamar: banner + badge alasan ---------- */
.nm-alertbar { display:flex; align-items:center; gap:.7rem; margin:.85rem 0 0; padding:.6rem .8rem; border:1px solid #7f1d1d; border-radius:.7rem;
  background:linear-gradient(90deg,#3f1113,#2a1215 70%); color:#fee2e2; }
.nm-alertbar-icon { flex:none; width:1.5rem; height:1.5rem; border-radius:50%; background:#dc2626; color:#fff; font-weight:900; display:grid; place-items:center; font-size:.85rem; animation:nm-badge-pulse 1.8s ease-out infinite; }
.nm-alertbar-copy { display:flex; flex-direction:column; gap:.1rem; font-size:.82rem; line-height:1.35; min-width:0; }
.nm-alertbar-copy strong { font-size:.86rem; font-weight:750; color:#fff; }
.nm-alertbar-copy span { color:#fca5a5; }
.nm-alertbar-action { margin-inline-start:auto; flex:none; border:1px solid #b91c1c; background:#450a0a; color:#fecaca; font:inherit; font-size:.78rem; font-weight:700; padding:.34rem .7rem; border-radius:.5rem; cursor:pointer; }
.nm-alertbar-action:hover { background:#5a1113; }
.nm-board .nm-room-tile.has-issue { padding-bottom:2rem; justify-content:flex-start; min-height:102px; }
.nm-tile-issue { position:absolute; left:.42rem; right:.42rem; bottom:.42rem; display:inline-flex; align-items:center; gap:.28rem; padding:.16rem .4rem; border-radius:.4rem;
  background:#0a1322d9; color:#fff; font-size:.67rem; font-weight:700; letter-spacing:.005em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nm-tile-issue-icon { flex:none; width:.95rem; height:.95rem; border-radius:50%; background:#ffffff26; display:grid; place-items:center; font-size:.62rem; font-weight:900; }
.nm-room-tile.issue-critical .nm-tile-issue { background:#450a0a; color:#fecaca; box-shadow:inset 0 0 0 1px #fca5a566; }
.nm-room-tile.issue-critical .nm-tile-issue-icon { background:#dc2626; color:#fff; }
.nm-room-tile.issue-warn .nm-tile-issue { background:#3a2205; color:#fde68a; box-shadow:inset 0 0 0 1px #fbbf2466; }
.nm-room-tile.issue-warn .nm-tile-issue-icon { background:#d97706; color:#fff; }
.nm-room-tile.issue-info .nm-tile-issue { background:#0f1c30cc; color:#dbeafe; }
.nm-room-tile.issue-info .nm-tile-issue-icon { background:#334155; color:#e2e8f0; }
.nm-board .nm-room-tile.issue-critical.is-alert { animation:nm-urgent 1.5s ease-in-out infinite; }
.nm-board .nm-room-tile.issue-warn.is-alert { animation:nm-urgent-warn 1.9s ease-in-out infinite; }
.nm-board .nm-room-tile.issue-info.is-alert { animation:none; }
@keyframes nm-urgent {
  0%,100% { box-shadow:inset 0 0 0 1px #ffffff1a,0 0 0 0 #ef444400,0 10px 22px -16px #000; }
  50% { box-shadow:inset 0 0 0 1px #fca5a5aa,0 0 0 6px #ef44443d,0 10px 22px -16px #000; }
}
@keyframes nm-urgent-warn {
  0%,100% { box-shadow:inset 0 0 0 1px #ffffff14,0 0 0 0 #f59e0b00,0 10px 22px -16px #000; }
  50% { box-shadow:inset 0 0 0 1px #fcd34d99,0 0 0 5px #f59e0b2e,0 10px 22px -16px #000; }
}
@media (max-width:720px) { .nm-alertbar { flex-wrap:wrap; } .nm-alertbar-action { margin-inline-start:0; width:100%; } }
@media (prefers-reduced-motion:reduce) { .nm-alertbar-icon, .nm-room-tile.issue-critical.is-alert, .nm-room-tile.issue-warn.is-alert { animation:none; } }

/* ---------- Form polish (Kamar & akun / paket / pengaturan) ---------- */
.nm-page-intro { margin-bottom:.35rem; }
.nm-form-panel { gap:.85rem; padding:1.15rem 1.2rem 1.25rem; border-radius:.9rem; box-shadow:0 1px 2px #0f172a0d; }
.nm-form-panel > h2 { display:flex; align-items:center; gap:.5rem; font-size:1.02rem; letter-spacing:.01em; padding-bottom:.7rem; border-bottom:1px solid var(--nm-line); margin:0 0 .15rem; }
.nm-form-panel > h2::before { content:""; flex:0 0 auto; width:.3rem; height:1.05rem; border-radius:999px; background:#14b8a6; }
.nm-form-panel > p { font-size:.87rem; line-height:1.5; }
.nm-form-panel label { gap:.4rem; font-size:.82rem; font-weight:600; letter-spacing:.01em; color:var(--nm-muted); }
.nm-form-panel input:not([type=checkbox]):not([type=radio]),.nm-form-panel select,.nm-form-panel textarea { min-height:42px; border-radius:.5rem; padding:.5rem .7rem; font-size:.92rem; transition:border-color .12s ease,box-shadow .12s ease; }
.nm-form-panel input::placeholder { color:#94a3b8; }
.nm-form-panel input:focus-visible,.nm-form-panel select:focus-visible,.nm-form-panel textarea:focus-visible { outline:none; border-color:#14b8a6; box-shadow:0 0 0 3px #14b8a633; }
.nm-form-panel .nm-inline-fields { gap:.75rem; }
.nm-form-panel .fi-btn { width:100%; justify-content:center; min-height:42px; margin-top:auto; }
.nm-form-panel .nm-inline-fields .fi-btn { width:auto; }
.nm-preview { display:grid; gap:.45rem; padding:.8rem .9rem; border:1px dashed #94a3b8; border-radius:.55rem; }
.nm-preview strong { font-size:.72rem; letter-spacing:.09em; text-transform:uppercase; color:var(--nm-muted); }
.nm-preview p { margin:0; font-size:.9rem; line-height:1.55; word-break:break-word; }
.nm-preview .nm-preview-count { font-weight:750; color:var(--nm-ink); }
.nm-check { display:flex!important; align-items:flex-start; gap:.6rem!important; font-weight:500!important; font-size:.86rem!important; line-height:1.45; color:var(--nm-muted); }
.nm-check input { flex:0 0 auto; width:1.05rem; height:1.05rem; min-height:1.05rem; margin-top:.15rem; }
.dark .nm-form-panel > h2 { border-color:#334155; }
.dark .nm-preview { border-color:#475569; }
.dark .nm-preview .nm-preview-count { color:#f1f5f9; }
@media(max-width:1100px) { .nm-columns { grid-template-columns:1fr; } }

.nm-form-panel label.nm-check { display:flex!important; align-items:flex-start; gap:.6rem; padding:.15rem 0; font-size:.88rem; font-weight:500; line-height:1.45; color:var(--nm-muted); }
.nm-form-panel label.nm-check input { flex:0 0 auto; width:1.1rem; height:1.1rem; min-height:1.1rem; margin:.15rem 0 0;padding:0;border-radius:.3rem;accent-color:#14b8a6; }
.nm-plan-form,.nm-settings-form { max-width:56rem; }

/* Hide duplicated in-page title; the Filament page heading is authoritative. */
.nm-page-intro h1 { display:none; }
.nm-page-intro p { margin:.1rem 0 0; font-size:.93rem; line-height:1.55; color:var(--nm-muted); }
.nm-page-intro { margin:0 0 .6rem; }

/* ---------- Laporan & aktivitas ---------- */
.nm-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.8rem; margin:.2rem 0 1rem; }
.nm-stat { padding:.9rem 1rem; border:1px solid var(--nm-line); border-radius:.7rem; background:var(--nm-surface); }
.nm-stat dt { font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--nm-muted); font-weight:700; }
.nm-stat dd { margin:.35rem 0 0; font-size:1.35rem; font-weight:750; color:var(--nm-ink); font-variant-numeric:tabular-nums; }
.nm-stat dd small { font-size:.72rem; font-weight:600; color:var(--nm-muted); }
.nm-report-filters { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:.7rem; margin-top:.2rem; }
.nm-section-hint { margin:.15rem 0 .5rem; font-size:.85rem; color:var(--nm-muted); }
.nm-table thead th { position:sticky; top:0; z-index:1; background:var(--nm-surface); }
.nm-table tbody tr:nth-child(even) { background:var(--nm-soft); }
.nm-table .nm-num { text-align:right; font-variant-numeric:tabular-nums; }
.nm-badge { display:inline-flex; align-items:center; padding:.15rem .55rem; border-radius:999px; font-size:.74rem; font-weight:700; letter-spacing:.01em; }
.nm-badge.good { background:#dcfce7; color:#166534; }
.nm-badge.warn { background:#fef3c7; color:#92400e; }
.nm-badge.bad { background:#fee2e2; color:#991b1b; }
.nm-badge.muted { background:#e2e8f0; color:#334155; }
.nm-pager { display:flex; align-items:center; justify-content:flex-end; gap:.5rem; margin-top:.75rem; font-size:.82rem; color:var(--nm-muted); }
.nm-pager button { padding:.32rem .65rem; border:1px solid var(--nm-line); border-radius:.45rem; background:var(--nm-surface); color:var(--nm-ink); font:inherit; cursor:pointer; }
.nm-pager button:hover:not([disabled]) { border-color:#14b8a6; color:#0f766e; }
.nm-pager button[disabled] { opacity:.45; cursor:default; }
.dark .nm-stat { background:#0f172a; border-color:#334155; }
.dark .nm-stat dd { color:#f1f5f9; }
.dark .nm-table thead th { background:#0f172a; }
.dark .nm-table tbody tr:nth-child(even) { background:#0b1220; }
.dark .nm-badge.good { background:#064e3b; color:#a7f3d0; }
.dark .nm-badge.warn { background:#78350f; color:#fde68a; }
.dark .nm-badge.bad { background:#7f1d1d; color:#fecaca; }
.dark .nm-badge.muted { background:#1e293b; color:#cbd5e1; }
.dark .nm-pager button { background:#0f172a; color:#e2e8f0; }

/* Settings form: pasangan field sejajar, tombol tidak melebar penuh. */
.nm-settings-form { gap:.8rem; }
.nm-settings-form .nm-form-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.1rem; }
.nm-settings-form .nm-form-actions .fi-btn { width:auto; min-width:11rem; }
.nm-settings-form .nm-inline-fields { align-items:end; }
.nm-settings-form .nm-section-hint { margin:.1rem 0 0; }
.nm-page-intro h1 { display:none!important; }
