
/* NeuraMap Discovery - External CSS */

/* Theme Tokens */

[data-theme="light"] {

    --bg-void: #f0f4f8; --bg-primary: #ffffff; --bg-secondary: #f8fafc;

    --bg-tertiary: #e2e8f0; --bg-hover: #cbd5e1; --bg-modal: #ffffff;

    --text-primary: #0f172a; --text-secondary: #475569; --text-muted: #94a3b8;

    --border-color: #e2e8f0; --border-strong: #cbd5e1;

    --card-shadow: rgba(0,0,0,0.06); --modal-shadow: rgba(0,0,0,0.15);

}

[data-theme="dark"] {

    --bg-void: #050608; --bg-primary: #0a0f1a; --bg-secondary: #111827;

    --bg-tertiary: #1e293b; --bg-hover: #334155; --bg-modal: #111827;

    --text-primary: #f1f5f9; --text-secondary: #94a3b8; --text-muted: #64748b;

    --border-color: #1e293b; --border-strong: #334155;

    --card-shadow: rgba(0,0,0,0.3); --modal-shadow: rgba(0,0,0,0.5);

}

:root {

    --nw-accent: #0ea5e9; --nw-accent-hover: #0284c7; --nw-accent-glow: rgba(14,165,233,0.15);

    --success: #10b981; --success-glow: rgba(16,185,129,0.15);

    --cat-restaurant: #ef4444; --cat-fast_food: #f97316; --cat-cafe: #a855f7;

    --cat-bar: #eab308; --cat-pharmacy: #10b981; --cat-bank: #3b82f6;

    --cat-fuel: #6366f1; --cat-supermarket: #14b8a6; --cat-hospital: #dc2626;

    --cat-school: #f59e0b; --cat-hotel: #8b5cf6; --cat-dentist: #06b6d4;

    --cat-default: #0ea5e9;

}

* { margin:0; padding:0; box-sizing:border-box; }

body { font-family:'DM Sans',sans-serif; background:var(--bg-void); color:var(--text-primary); height:100vh; overflow:hidden; display:flex; flex-direction:column; transition:background 0.3s,color 0.3s; }



/* GlyphForge */

.gf { display:inline-block; width:16px; height:16px; background-color:currentColor; -webkit-mask-size:contain; mask-size:contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; vertical-align:middle; flex-shrink:0; }

.gf-18 { width:18px; height:18px; } .gf-20 { width:20px; height:20px; } .gf-24 { width:24px; height:24px; } .gf-32 { width:32px; height:32px; } .gf-48 { width:48px; height:48px; }

.gf-neuramap { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/nw/nw-neuramap.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/nw/nw-neuramap.svg); }

.gf-restaurant { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/hsp/hosp-restaurant.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/hsp/hosp-restaurant.svg); }

.gf-burger { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/food-burger.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/food-burger.svg); }

.gf-coffee { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/food-coffee.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/food-coffee.svg); }

.gf-beer { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/food-beer.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/food-beer.svg); }

.gf-pill { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/medical-pill.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/medical-pill.svg); }

.gf-bank { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/fg/finance-bank.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/fg/finance-bank.svg); }

.gf-gas { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/location-gas-station.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/location-gas-station.svg); }

.gf-grocery { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/categories-grocery.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/categories-grocery.svg); }

.gf-hospital { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/medical-hospital.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/medical-hospital.svg); }

.gf-school { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/location-school.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/location-school.svg); }

.gf-hotel { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/hsp/hosp-hotel.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/hsp/hosp-hotel.svg); }

.gf-tooth { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/medical-tooth.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/medical-tooth.svg); }

.gf-map { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/location-map.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/location-map.svg); }

.gf-map-pin { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/location-map-pin.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/location-map-pin.svg); }

.gf-search { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/actions-search.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/actions-search.svg); }

.gf-compass { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/location-compass.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/location-compass.svg); }

.gf-store { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/commerce-store.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/commerce-store.svg); }

.gf-shield { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/security-shield.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/security-shield.svg); }

.gf-location { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/location-map-pin.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/location-map-pin.svg); }

.gf-globe { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/location-globe.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/location-globe.svg); }

.gf-bookmark { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/actions-bookmark.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/actions-bookmark.svg); }

.gf-heart { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/social-heart.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/social-heart.svg); }

.gf-close { -webkit-mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/actions-close.svg); mask-image:url(https://neuraweb-storage.s3.us-east-2.amazonaws.com/dapps/glyphforge/icons/ng/actions-close.svg); }



/* Header */

.nm-header { background:var(--bg-primary); border-bottom:1px solid var(--border-color); padding:8px 16px; display:flex; align-items:center; gap:12px; z-index:1000; flex-shrink:0; }

.nm-logo { display:flex; align-items:center; gap:8px; flex-shrink:0; text-decoration:none; }

.nm-logo-icon { width:32px; height:32px; background:linear-gradient(135deg,#0ea5e9,#06b6d4); border-radius:8px; display:flex; align-items:center; justify-content:center; }

.nm-logo-icon .gf { color:#fff; }

.nm-logo-text { font-size:15px; font-weight:700; color:var(--text-primary); letter-spacing:-0.3px; line-height:1.1; }

.nm-logo-tag { font-size:9px; color:var(--nw-accent); font-weight:700; text-transform:uppercase; letter-spacing:1.5px; }

.nm-search-wrap { flex:1; max-width:620px; display:flex; gap:6px; align-items:center; }

.nm-search-input { flex:1; background:var(--bg-tertiary); border:1px solid var(--border-color); border-radius:8px; padding:8px 12px; font-size:13px; color:var(--text-primary); font-family:'DM Sans',sans-serif; outline:none; transition:border-color 0.2s; }

.nm-search-input:focus { border-color:var(--nw-accent); box-shadow:0 0 0 3px var(--nw-accent-glow); }

.nm-search-input::placeholder { color:var(--text-muted); }

.nm-location-input { width:150px; background:var(--bg-tertiary); border:1px solid var(--border-color); border-radius:8px; padding:8px 10px; font-size:12px; color:var(--text-primary); font-family:'DM Sans',sans-serif; outline:none; flex-shrink:0; }

.nm-location-input:focus { border-color:var(--nw-accent); }

.nm-radius-select { background:var(--bg-tertiary); border:1px solid var(--border-color); border-radius:8px; padding:8px 6px; font-size:11px; color:var(--text-primary); font-family:'DM Sans',sans-serif; outline:none; cursor:pointer; }

.nm-search-btn { background:var(--nw-accent); color:#fff; border:none; border-radius:8px; padding:8px 16px; font-size:13px; font-weight:600; cursor:pointer; font-family:'DM Sans',sans-serif; transition:background 0.2s; white-space:nowrap; display:flex; align-items:center; gap:5px; }

.nm-search-btn:hover { background:var(--nw-accent-hover); }

.nm-search-btn:disabled { opacity:0.5; cursor:not-allowed; }

.nm-controls { display:flex; gap:10px; align-items:center; flex-shrink:0; margin-left:auto; }

.nm-stat { text-align:center; }

.nm-stat-val { font-size:13px; font-weight:700; color:var(--nw-accent); font-family:'JetBrains Mono',monospace; }

.nm-stat-label { font-size:8px; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.5px; }

.nm-divider { width:1px; height:24px; background:var(--border-color); }

.nm-toggle-group { display:flex; align-items:center; gap:5px; }

.nm-toggle-label { font-size:10px; color:var(--text-muted); font-weight:500; }

.nm-toggle { position:relative; width:34px; height:18px; background:var(--bg-tertiary); border:1px solid var(--border-color); border-radius:9px; cursor:pointer; transition:all 0.3s; }

.nm-toggle.active { background:var(--nw-accent); border-color:var(--nw-accent); }

.nm-toggle-knob { position:absolute; top:2px; left:2px; width:12px; height:12px; background:#fff; border-radius:50%; transition:transform 0.2s; box-shadow:0 1px 3px rgba(0,0,0,0.2); }

.nm-toggle.active .nm-toggle-knob { transform:translateX(16px); }

.nm-user-area { display:flex; align-items:center; gap:8px; }

.nm-user-badge { background:var(--nw-accent-glow); border:1px solid var(--nw-accent); color:var(--nw-accent); padding:4px 10px; border-radius:16px; font-size:11px; font-weight:600; display:flex; align-items:center; gap:5px; }

.nm-login-btn { background:var(--nw-accent); color:#fff; border:none; border-radius:8px; padding:6px 14px; font-size:12px; font-weight:600; cursor:pointer; font-family:'DM Sans',sans-serif; text-decoration:none; transition:background 0.2s; }

.nm-login-btn:hover { background:var(--nw-accent-hover); }




/* Main Layout */

.nm-main { display:flex; flex:1; overflow:hidden; }

.nm-sidebar { width:340px; background:var(--bg-primary); border-right:1px solid var(--border-color); display:flex; flex-direction:column; overflow:hidden; flex-shrink:0; }

.nm-categories { padding:8px 10px; display:flex; flex-wrap:wrap; gap:4px; border-bottom:1px solid var(--border-color); flex-shrink:0; }

.nm-cat-btn { background:var(--bg-tertiary); border:1px solid var(--border-color); border-radius:18px; padding:4px 10px; font-size:11px; color:var(--text-secondary); cursor:pointer; font-family:'DM Sans',sans-serif; transition:all 0.2s; white-space:nowrap; display:inline-flex; align-items:center; gap:4px; }

.nm-cat-btn:hover { background:var(--bg-hover); color:var(--text-primary); }

.nm-cat-btn.active { color:#fff; border-color:transparent; }

.nm-cat-btn[data-cat="restaurant"].active { background:var(--cat-restaurant); }

.nm-cat-btn[data-cat="fast_food"].active { background:var(--cat-fast_food); }

.nm-cat-btn[data-cat="cafe"].active { background:var(--cat-cafe); }

.nm-cat-btn[data-cat="bar"].active { background:var(--cat-bar); }

.nm-cat-btn[data-cat="pharmacy"].active { background:var(--cat-pharmacy); }

.nm-cat-btn[data-cat="bank"].active { background:var(--cat-bank); }

.nm-cat-btn[data-cat="fuel"].active { background:var(--cat-fuel); }

.nm-cat-btn[data-cat="supermarket"].active { background:var(--cat-supermarket); }

.nm-cat-btn[data-cat="hospital"].active { background:var(--cat-hospital); }

.nm-cat-btn[data-cat="school"].active { background:var(--cat-school); }

.nm-cat-btn[data-cat="hotel"].active { background:var(--cat-hotel); }

.nm-cat-btn[data-cat="dentist"].active { background:var(--cat-dentist); }

.nm-results-header { padding:8px 12px; border-bottom:1px solid var(--border-color); display:flex; justify-content:space-between; align-items:center; flex-shrink:0; }

.nm-results-title { font-size:12px; font-weight:600; color:var(--text-primary); }

.nm-results-meta { font-size:10px; color:var(--text-muted); font-family:'JetBrains Mono',monospace; }

.nm-results-list { flex:1; overflow-y:auto; padding:6px; }

.nm-results-list::-webkit-scrollbar { width:4px; }

.nm-results-list::-webkit-scrollbar-track { background:transparent; }

.nm-results-list::-webkit-scrollbar-thumb { background:var(--bg-hover); border-radius:2px; }



/* Result Cards */

.nm-card { background:var(--bg-secondary); border:1px solid var(--border-color); border-radius:8px; padding:10px 12px; margin-bottom:4px; cursor:pointer; transition:all 0.2s; }

.nm-card:hover { border-color:var(--nw-accent); transform:translateX(2px); }

.nm-card.active { border-color:var(--nw-accent); box-shadow:0 0 0 2px var(--nw-accent-glow); }

.nm-card-top { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:3px; }

.nm-card-name { font-size:13px; font-weight:600; color:var(--text-primary); flex:1; }

.nm-card-num { min-width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; font-family:'JetBrains Mono',monospace; color:#fff; flex-shrink:0; margin-left:8px; }

.nm-card-tags { display:flex; gap:4px; flex-wrap:wrap; margin-bottom:4px; }

.nm-card-cat { display:inline-flex; align-items:center; gap:3px; font-size:9px; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; padding:2px 7px; border-radius:4px; }

.nm-card-brand { font-size:9px; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; color:var(--success); background:var(--success-glow); padding:2px 7px; border-radius:4px; }

.nm-card-address { font-size:11px; color:var(--text-secondary); line-height:1.3; display:flex; align-items:flex-start; gap:4px; }

.nm-card-address .gf { flex-shrink:0; margin-top:1px; }

.nm-card-details { display:flex; gap:10px; margin-top:4px; flex-wrap:wrap; }

.nm-card-detail { font-size:10px; color:var(--text-muted); }

.nm-card-detail a { color:var(--nw-accent); text-decoration:none; }

.nm-card-detail a:hover { text-decoration:underline; }

.nm-card-actions { display:flex; gap:6px; margin-top:6px; }

.nm-card-action { background:var(--bg-tertiary); border:1px solid var(--border-color); border-radius:6px; padding:3px 8px; font-size:10px; color:var(--text-muted); cursor:pointer; display:flex; align-items:center; gap:3px; transition:all 0.2s; font-family:'DM Sans',sans-serif; }

.nm-card-action:hover { border-color:var(--nw-accent); color:var(--nw-accent); }



/* Empty State */

.nm-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; padding:30px; text-align:center; }

.nm-empty .gf { color:var(--text-muted); opacity:0.25; }

.nm-empty-title { font-size:15px; font-weight:600; color:var(--text-secondary); margin:12px 0 6px; }

.nm-empty-text { font-size:12px; color:var(--text-muted); line-height:1.5; }



/* Map */

.nm-map-container { flex:1; position:relative; }

#map { width:100%; height:100%; }



/* Leaflet Overrides */

.leaflet-popup-content-wrapper { background:var(--bg-secondary)!important; color:var(--text-primary)!important; border:1px solid var(--border-color)!important; border-radius:10px!important; box-shadow:0 8px 32px var(--modal-shadow)!important; }

.leaflet-popup-tip { background:var(--bg-secondary)!important; border:1px solid var(--border-color)!important; }

.leaflet-popup-content { margin:12px 14px!important; }

.nm-popup-name { font-size:14px; font-weight:700; margin-bottom:3px; }

.nm-popup-cat { font-size:10px; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:5px; font-weight:600; }

.nm-popup-addr { font-size:12px; color:var(--text-secondary); }

.nm-popup-detail { font-size:11px; margin-top:3px; }

.nm-popup-detail a { color:var(--nw-accent); text-decoration:none; }

.leaflet-control-attribution a { color:var(--text-muted)!important; }



/* Loading */

.nm-loading { display:none; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:var(--bg-secondary); border:1px solid var(--border-color); border-radius:12px; padding:20px 28px; z-index:1000; text-align:center; box-shadow:0 8px 32px var(--modal-shadow); }

.nm-loading.active { display:block; }

.nm-spinner { width:28px; height:28px; border:3px solid var(--bg-hover); border-top-color:var(--nw-accent); border-radius:50%; animation:nmspin 0.8s linear infinite; margin:0 auto 10px; }

@keyframes nmspin { to { transform:rotate(360deg); } }

.nm-loading-text { font-size:12px; color:var(--text-secondary); }



/* Location Modal */

.nm-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.55); z-index:9999; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity 0.25s; }

.nm-modal-overlay.active { opacity:1; pointer-events:auto; }

.nm-modal { background:var(--bg-modal); border:1px solid var(--border-color); border-radius:16px; width:440px; max-width:92vw; box-shadow:0 20px 60px var(--modal-shadow); overflow:hidden; transform:scale(0.95); transition:transform 0.25s; }

.nm-modal-overlay.active .nm-modal { transform:scale(1); }

.nm-modal-header { padding:24px 24px 0; text-align:center; }

.nm-modal-icon { width:56px; height:56px; background:linear-gradient(135deg,#0ea5e9,#06b6d4); border-radius:14px; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }

.nm-modal-icon .gf { color:#fff; }

.nm-modal-title { font-size:18px; font-weight:700; margin-bottom:6px; }

.nm-modal-subtitle { font-size:13px; color:var(--text-secondary); line-height:1.5; }

.nm-modal-body { padding:20px 24px; }

.nm-modal-benefits { display:flex; flex-direction:column; gap:10px; margin-bottom:16px; }

.nm-benefit { display:flex; gap:12px; align-items:center; padding:10px 12px; background:var(--bg-secondary); border:1px solid var(--border-color); border-radius:10px; }

.nm-benefit-icon { width:36px; height:36px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.nm-benefit-icon.green { background:var(--success-glow); color:var(--success); }

.nm-benefit-icon.blue { background:var(--nw-accent-glow); color:var(--nw-accent); }

.nm-benefit-icon.amber { background:rgba(245,158,11,0.15); color:#f59e0b; }

.nm-benefit-title { font-size:13px; font-weight:600; }

.nm-benefit-desc { font-size:11px; color:var(--text-muted); }

.nm-privacy-badge { display:flex; gap:10px; align-items:flex-start; padding:10px 12px; background:var(--success-glow); border:1px solid rgba(16,185,129,0.2); border-radius:10px; margin-bottom:16px; }

.nm-privacy-badge .gf { color:var(--success); flex-shrink:0; margin-top:2px; }

.nm-privacy-badge span { font-size:11px; color:var(--text-secondary); line-height:1.5; }

.nm-privacy-badge strong { color:var(--success); }

.nm-modal-actions { display:flex; flex-direction:column; gap:8px; }

.nm-modal-btn { border:none; border-radius:10px; padding:11px 16px; font-size:13px; font-weight:600; cursor:pointer; font-family:'DM Sans',sans-serif; transition:all 0.2s; display:flex; align-items:center; justify-content:center; gap:6px; }

.nm-modal-btn.primary { background:var(--nw-accent); color:#fff; }

.nm-modal-btn.primary:hover { background:var(--nw-accent-hover); }

.nm-modal-btn.secondary { background:var(--bg-tertiary); color:var(--text-primary); }

.nm-modal-btn.secondary:hover { background:var(--bg-hover); }

.nm-modal-btn.ghost { background:transparent; color:var(--text-muted); font-weight:500; }

.nm-modal-btn.ghost:hover { color:var(--text-primary); }

.nm-modal-footer { padding:0 24px 20px; text-align:center; }

.nm-modal-footer-text { font-size:10px; color:var(--text-muted); }



/* Footer */

.nm-footer { background:var(--bg-primary); border-top:1px solid var(--border-color); padding:4px 16px; display:flex; justify-content:space-between; align-items:center; font-size:10px; color:var(--text-muted); flex-shrink:0; }

.nm-footer a { color:var(--nw-accent); text-decoration:none; }



/* User Location Pulse */

@keyframes nmpulse { 0% { transform:scale(0.8); opacity:0.4; } 100% { transform:scale(2.2); opacity:0; } }



/* Responsive */

@media (max-width:900px) {

    .nm-sidebar { width:100%; height:40vh; border-right:none; border-bottom:1px solid var(--border-color); }

    .nm-main { flex-direction:column; }

    .nm-controls .nm-stat, .nm-controls .nm-divider:first-of-type { display:none; }

    .nm-location-input { width:110px; }

}

@media (max-width:600px) {

    .nm-header { flex-wrap:wrap; padding:6px 10px; gap:6px; }

    .nm-search-wrap { max-width:100%; order:2; }

    .nm-controls { order:3; width:100%; justify-content:space-between; }

}

