/* Module store + manager. Uses the portal tokens only. */
.nxm-store { display:flex; justify-content:center; padding:8px 0 40px; }
.nxm-card { width:100%; max-width:560px; background:var(--lmm-surface); border:1px solid var(--lmm-border); border-radius:var(--lmm-radius); padding:32px; text-align:center; }
.nxm-card h3 { font-family:var(--lmm-font-display); font-size:20px; font-weight:700; color:var(--lmm-text); margin:0 0 6px; }
.nxm-tag { color:var(--lmm-text2); font-size:14px; margin:0 0 14px; }
.nxm-desc { color:var(--lmm-text2); font-size:13.5px; line-height:1.6; margin:0 auto 20px; max-width:440px; text-align:left; }
.nxm-icon { font-size:34px; margin-bottom:10px; }
.nxm-price { display:flex; justify-content:center; gap:28px; margin:6px 0 22px; padding:14px 0; border-top:1px solid var(--lmm-border); border-bottom:1px solid var(--lmm-border); }
.nxm-price div { text-align:center; } .nxm-price b { display:block; font-family:var(--lmm-font-display); font-size:22px; color:var(--lmm-text); }
.nxm-price span { font-size:11.5px; color:var(--lmm-text3); text-transform:uppercase; letter-spacing:.06em; }
.nxm-btn { display:inline-block; padding:11px 26px; background:var(--lmm-green); color:var(--lmm-on-accent); border:0; border-radius:var(--lmm-radius); font:700 13.5px var(--lmm-font); cursor:pointer; transition:opacity .15s; }
.nxm-btn:hover { opacity:.88; } .nxm-btn[disabled] { opacity:.5; cursor:default; }
.nxm-btn.ghost { background:transparent; color:var(--lmm-text); border:1px solid var(--lmm-border2); } .nxm-btn.ghost:hover { border-color:var(--lmm-green); color:var(--lmm-green); }
.nxm-btn.sm { padding:6px 14px; font-size:12.5px; }
.nxm-note { font-size:12px; color:var(--lmm-text3); margin:14px auto 0; max-width:380px; line-height:1.5; }
.nxm-err { color:var(--lmm-danger); font-size:13px; margin-top:12px; }
.nxm-prog { height:6px; background:var(--lmm-surface3); border-radius:3px; overflow:hidden; margin:16px auto 8px; max-width:320px; }
.nxm-prog i { display:block; height:100%; width:8%; background:var(--lmm-green); border-radius:3px; transition:width .6s ease; }
/* checkout modal */
.nxm-modal { position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.6); display:flex; align-items:center; justify-content:center; padding:16px; }
.nxm-modal-box { background:var(--lmm-surface); border:1px solid var(--lmm-border2); border-radius:var(--lmm-radius); width:100%; max-width:520px; max-height:92vh; overflow:auto; box-shadow:var(--lmm-shadow); }
.nxm-modal-head { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--lmm-border); }
.nxm-modal-head b { font-family:var(--lmm-font-display); color:var(--lmm-text); }
.nxm-x { background:none; border:0; color:var(--lmm-text2); font-size:22px; cursor:pointer; line-height:1; }
.nxm-modal-body { padding:18px 20px 22px; min-height:200px; color:var(--lmm-text2); }
.nxm-modal-body .nxm-wait { text-align:center; padding:40px 10px; }
/* manager panel */
.nxm-mgr { color:var(--lmm-text); }
.nxm-bar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:16px; }
.nxm-bar .grow { flex:1; }
.nxm-chip { display:inline-block; padding:3px 10px; border-radius:20px; font-size:11.5px; font-weight:600; background:var(--lmm-surface3); color:var(--lmm-text2); }
.nxm-chip.ok { background:var(--lmm-green-glow); color:var(--lmm-green); } .nxm-chip.warn { background:rgba(224,82,82,.14); color:var(--lmm-danger); }
.nxm-switch { display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--lmm-text2); cursor:pointer; }
.nxm-switch input { accent-color:var(--lmm-green); width:16px; height:16px; }
.nxm-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:14px; }
.nxm-mod { background:var(--lmm-surface); border:1px solid var(--lmm-border); border-radius:var(--lmm-radius); padding:18px; display:flex; flex-direction:column; gap:10px; }
.nxm-mod.upd { border-color:var(--lmm-green); }
.nxm-mod h4 { margin:0; font-size:15px; font-family:var(--lmm-font-display); display:flex; justify-content:space-between; gap:8px; align-items:flex-start; }
.nxm-mod p { margin:0; font-size:12.5px; color:var(--lmm-text2); line-height:1.5; }
.nxm-meta { font-size:12px; color:var(--lmm-text3); line-height:1.6; } .nxm-meta b { color:var(--lmm-text2); font-weight:600; }
.nxm-row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.nxm-sel { background:var(--lmm-surface2); color:var(--lmm-text); border:1px solid var(--lmm-border2); border-radius:var(--lmm-radius-sm); padding:6px 8px; font:12.5px var(--lmm-font); max-width:100%; }
.nxm-log { margin-top:22px; font-size:12px; color:var(--lmm-text3); } .nxm-log h5 { font-size:12px; text-transform:uppercase; letter-spacing:.06em; margin:0 0 8px; color:var(--lmm-text2); } .nxm-log div { padding:3px 0; border-top:1px solid var(--lmm-border); }
.nxm-chg { background:var(--lmm-surface2); border-radius:var(--lmm-radius-sm); padding:10px 12px; font-size:12.5px; color:var(--lmm-text2); line-height:1.55; white-space:pre-wrap; }
.nxm-lock { color:var(--lmm-text3); font-size:12px; }

/* dashboard pills */
.nxp-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.nxp{display:inline-block;font:600 11px/1 var(--lmm-font-mono,monospace);padding:5px 8px;border-radius:999px;border:1px solid var(--lmm-border,#ddd);background:var(--lmm-surface-2,#f3f3f0);color:var(--lmm-text-muted,#666);letter-spacing:.02em}
.nxp-ok{background:rgba(46,125,90,.12);border-color:rgba(46,125,90,.35);color:#2e7d5a}
.nxp-upd{background:rgba(201,128,20,.14);border-color:rgba(201,128,20,.4);color:#a56608}
.nxp-avail{background:rgba(45,100,200,.12);border-color:rgba(45,100,200,.35);color:#2d64c8}
.nxp-soon{opacity:.8}
.nxm-link{margin-top:12px}

/* token monitor model pills */
.lmm-tm-pill{display:inline-block;font-weight:600;font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--lmm-border,#ddd);background:var(--lmm-surface-2,#f3f3f0)}
.lmm-tm-pill--ok{background:rgba(46,125,90,.12);border-color:rgba(46,125,90,.35);color:#2e7d5a}
.lmm-tm-pill--warn{background:rgba(201,128,20,.14);border-color:rgba(201,128,20,.4);color:#a56608}
.lmm-tm-pill--crit{background:rgba(190,45,45,.12);border-color:rgba(190,45,45,.4);color:#b32d2e}

/* legal documents */
.nxm-legal { margin-top:26px; padding-top:22px; border-top:1px solid var(--lmm-border); color:var(--lmm-text); }
.nxm-legal-h { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:14px; }
.nxm-legal-h h4 { margin:0 0 3px; font-size:15px; font-family:var(--lmm-font-display); } .nxm-legal-h p { margin:0; font-size:12.5px; color:var(--lmm-text2); }
.nxm-lgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:14px; }
.nxm-ldoc { background:var(--lmm-surface); border:1px solid var(--lmm-border); border-radius:var(--lmm-radius); padding:18px; display:flex; flex-direction:column; gap:10px; }
.nxm-ldoc h5 { margin:0; font-size:15px; font-family:var(--lmm-font-display); }
.nxm-lmeta { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--lmm-text3); flex-wrap:wrap; }
.nxm-lsum { margin:0; font-size:12.5px; color:var(--lmm-text2); line-height:1.55; } .nxm-lsum b { color:var(--lmm-text); }
.nxm-lchips { display:flex; flex-wrap:wrap; gap:6px; } .nxm-lchips span { font-size:10.5px; font-weight:600; background:var(--lmm-surface3); color:var(--lmm-text2); border-radius:20px; padding:3px 9px; }
.nxm-ldoc a.nxm-btn { text-decoration:none; }
.nxm-lbox { max-width:860px; }
.nxm-ltabs { display:flex; gap:4px; padding:0 20px; border-bottom:1px solid var(--lmm-border); }
.nxm-ltabs button { background:none; border:0; border-bottom:2px solid transparent; padding:10px 12px; font:600 13px var(--lmm-font); color:var(--lmm-text2); cursor:pointer; margin-bottom:-1px; } .nxm-ltabs button.on { color:var(--lmm-text); border-color:var(--lmm-green); }
.nxm-lbox .nxm-modal-body { max-height:68vh; overflow:auto; min-height:0; text-align:left; }
.nxm-ltext h2 { font-family:var(--lmm-font-display); font-size:16px; color:var(--lmm-text); margin:22px 0 8px; } .nxm-ltext h2:first-child { margin-top:0; }
.nxm-ltext p, .nxm-ltext li { font-size:13.5px; line-height:1.7; color:var(--lmm-text2); } .nxm-ltext ul, .nxm-ltext ol { padding-left:20px; }
.nxm-ltext a { color:var(--lmm-green); }
.nxm-lh { display:grid; grid-template-columns:110px 1fr; gap:16px; padding:14px 0; border-bottom:1px solid var(--lmm-border); }
.nxm-lh:last-child { border:0; } .nxm-lh b { display:block; font-family:var(--lmm-font-display); font-size:18px; color:var(--lmm-text); } .nxm-lh span { font-size:11.5px; color:var(--lmm-text3); }
.nxm-lh p { margin:0 0 8px; font-size:13px; line-height:1.6; color:var(--lmm-text2); }
