/* NokosMurah visual alignment based on the supplied dark-green UI sketch.
   This is a visual layer only: it does not add product/API/database features. */
:root { --nn-bg:#061f13; --nn-panel:#0a2d1d; --nn-panel2:#0d3723; --nn-line:#1b5339; --nn-blue:#23e48a; --nn-cyan:#30e591; --nn-text:#ebfdf5; --nn-muted:#9cb3c9; }
html,body { background-color:var(--nn-bg); }
body { color:var(--nn-text); }
::selection { background:rgba(28, 227, 134, .35); color:#fff; }
.nm-page { background:radial-gradient(ellipse at 50% -10%,rgba(28, 227, 134, .13),transparent 48%),#061f13; }
.nm-nav { background:rgba(4, 26, 16, .9)!important; border-bottom:1px solid rgba(83, 226, 159, .17)!important; backdrop-filter:blur(18px); }
.nm-brand,.nm-links a,.nm-footer a { color:#ddfbed; }
.nm-logo { filter:drop-shadow(0 0 8px rgba(28, 227, 134, .25)); }
.nm-btn.primary,.btn-primary,.nx-primary { background:linear-gradient(135deg,#23e48a,#19cd79)!important; border-color:#2de58f!important; box-shadow:0 5px 20px rgba(28, 227, 134, .2); }
.nm-btn.ghost { background:rgba(9, 50, 31, .72)!important; border-color:#28704e!important; }
.nm-hero { background:radial-gradient(ellipse at 78% 44%,rgba(28, 227, 134, .16),transparent 35%),transparent!important; }
.nm-kicker,.nm-tag { color:#64ecad!important; }
.nm-hero-copy h1 { color:#f2fdf8!important; letter-spacing:-.045em; }
.nm-hero-copy h1 span { color:#30e591!important; }
.nm-trust span,.nm-stat,.nm-feature,.nm-service,.nm-blog-card,.nm-faq details,.nm-cta,.nm-flow,.nm-notify { background:linear-gradient(145deg,rgba(10, 51, 32, .94),rgba(5, 33, 20, .96))!important; border-color:rgba(65, 192, 133, .2)!important; }
.nm-service.active { border-color:#2fe590!important; box-shadow:0 0 0 1px rgba(47, 229, 144, .18),0 0 20px rgba(28, 227, 134, .1); }
.nm-section.alt { background:rgba(6, 33, 20, .7)!important; }
.nm-phone { border-color:#17bc6f!important; box-shadow:0 0 60px rgba(28, 227, 134, .16)!important; }
.nm-footer { background:#04170e!important; border-top:1px solid rgba(83, 226, 159, .15)!important; }
/* Authenticated dashboard surfaces */
.app-shell,.dashboard-shell,.sidebar,.main-content,.page-content { color:var(--nn-text); }
.sidebar,.app-sidebar { background:#062315!important; border-color:var(--nn-line)!important; }
.card,.stat-card,.panel,.modal,.order-card,.balance-card,.nx-panel,.nx-card { background:linear-gradient(145deg,#0b2e1e,#072517)!important; border-color:var(--nn-line)!important; }
.form-input,.form-select,.form-textarea,input,select,textarea { border-color:#246245; }
button,a { -webkit-tap-highlight-color:transparent; }
.nn-wa-float { position:fixed; z-index:9999; right:18px; bottom:18px; display:flex; align-items:center; gap:10px; padding:10px 15px 10px 11px; border:1px solid rgba(75,225,157,.5); border-radius:16px; background:linear-gradient(135deg,#0a8f62,#08734f); color:#fff!important; text-decoration:none!important; box-shadow:0 12px 32px rgba(0,0,0,.35),0 0 24px rgba(16,185,129,.15); font-size:12px; line-height:1.3; }
.nn-wa-float b,.nn-wa-float small { display:block; }
.nn-wa-float b { font-size:13px; }
.nn-wa-float small { opacity:.88; font-size:10px; margin-top:2px; }
.nn-wa-mark { width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.16);font-size:20px; }
.nn-wa-float:hover { transform:translateY(-2px);filter:brightness(1.08); }
@media(max-width:640px){ .nn-wa-float{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:9px 12px 9px 9px;border-radius:14px}.nn-wa-mark{width:29px;height:29px}.nm-hero-copy h1{font-size:clamp(2.25rem,11vw,3.6rem)} }
