/* NexoraSoft CRM - module screens (assets/nx-*.js). Uses the theme tokens from app.css. */

/* ---------- top bar additions ---------- */
.nx-icon-btn{position:relative;width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:background .15s ease,color .15s ease;}
.nx-icon-btn:hover{background:var(--line-soft);color:var(--brand);}
.nx-badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--rust);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface);}
.nx-modules-btn svg{margin-left:3px;vertical-align:middle;}
.nx-mega{position:fixed;top:64px;left:50%;transform:translateX(-50%);width:min(1100px,calc(100vw - 24px));max-height:calc(100vh - 90px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:20px 22px;z-index:70;display:grid;grid-template-columns:repeat(4,1fr);gap:22px 26px;}
.nx-mega h4{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-weight:700;}
.nx-mega a{display:block;padding:6px 9px;margin:0 -9px;border-radius:7px;font-size:13.2px;color:var(--ink-soft);font-weight:500;cursor:pointer;text-decoration:none;}
.nx-mega a:hover{background:var(--brand-tint);color:var(--brand);}
.nx-mega a.active{background:var(--brand-tint);color:var(--brand);font-weight:700;}
.nx-notif-panel{position:fixed;top:60px;right:70px;width:380px;max-width:calc(100vw - 20px);max-height:70vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);z-index:75;}
.nx-notif-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line-soft);font-weight:700;font-size:13.5px;position:sticky;top:0;background:var(--surface);}
.nx-notif-item{padding:11px 16px;border-bottom:1px solid var(--line-soft);cursor:pointer;font-size:13px;}
.nx-notif-item:hover{background:var(--line-soft);}
.nx-notif-item.unread{background:var(--brand-tint);}
.nx-notif-item .t{font-weight:600;color:var(--ink);}
.nx-notif-item .b{color:var(--ink-soft);margin-top:2px;}
.nx-notif-item .d{color:var(--muted);font-size:11.5px;margin-top:3px;}

/* ---------- generic building blocks ---------- */
.nx-head-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.nx-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px;}
.nx-toolbar .grow{flex:1;min-width:160px;}
.nx-in,.nx-sel,.nx-ta{font:inherit;font-size:13.3px;padding:8px 11px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);outline:none;min-width:0;}
.nx-in:focus,.nx-sel:focus,.nx-ta:focus{border-color:var(--brand);}
.nx-ta{width:100%;resize:vertical;min-height:70px;}
.nx-grid{display:grid;gap:16px;}
.nx-grid.c2{grid-template-columns:repeat(2,1fr);}
.nx-grid.c3{grid-template-columns:repeat(3,1fr);}
.nx-grid.c4{grid-template-columns:repeat(4,1fr);}
.nx-grid.c5{grid-template-columns:repeat(5,1fr);}
@media(max-width:900px){.nx-grid.c3,.nx-grid.c4,.nx-grid.c5{grid-template-columns:repeat(2,1fr);}.nx-mega{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.nx-grid.c2,.nx-grid.c3,.nx-grid.c4,.nx-grid.c5{grid-template-columns:1fr;}.nx-mega{grid-template-columns:1fr;top:56px;}.topbar-inner{gap:10px;padding:0 12px;}.main{padding:20px 14px 60px;}.nx-notif-panel{right:8px;top:56px;}}
.nx-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);min-width:0;}
.nx-card h3{font-size:14px;font-weight:600;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;}
.nx-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm);}
.nx-kpi .l{font-size:11.5px;color:var(--muted);font-weight:600;}
.nx-kpi .v{font-family:var(--font-display);font-size:21px;font-weight:700;margin-top:4px;letter-spacing:-.01em;}
.nx-kpi .s{font-size:11.5px;color:var(--ink-soft);margin-top:2px;}
.nx-kpi.green .v{color:var(--green);}.nx-kpi.gold .v{color:var(--gold);}.nx-kpi.red .v{color:var(--rust);}.nx-kpi.brand .v{color:var(--brand);}
.nx-kpi.link{cursor:pointer;}.nx-kpi.link:hover{border-color:var(--brand);}
.nx-t{width:100%;border-collapse:collapse;min-width:0;font-size:13px;}
.nx-t th{text-align:left;font-size:11.5px;font-weight:700;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface);}
.nx-t td{padding:10px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle;}
.nx-t tr.clickable{cursor:pointer;}
.nx-t tr.clickable:hover td{background:var(--line-soft);}
.nx-t td.num,.nx-t th.num{text-align:right;font-variant-numeric:tabular-nums;}
.nx-t td .sub2{font-size:11.8px;color:var(--muted);}
.nx-pill{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;background:var(--line-soft);color:var(--ink-soft);white-space:nowrap;text-transform:capitalize;}
.nx-pill.green{background:var(--green-tint);color:var(--green);}
.nx-pill.gold{background:var(--gold-tint);color:var(--gold);}
.nx-pill.red{background:var(--rust-tint);color:var(--rust);}
.nx-pill.brand{background:var(--brand-tint);color:var(--brand);}
.nx-pill.blue{background:#E0F2FE;color:#0369A1;}
:root[data-theme="dark"] .nx-pill.blue{background:#0C2A3D;color:#7DD3FC;}
.nx-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto;}
.nx-tabs button{background:none;border:none;border-bottom:2px solid transparent;padding:10px 14px;font-size:13.3px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;}
.nx-tabs button.active{color:var(--brand);border-color:var(--brand);}
.nx-empty{padding:30px 16px;text-align:center;color:var(--muted);font-size:13.3px;}
.nx-pager{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding:12px 4px 0;font-size:12.5px;color:var(--ink-soft);}
.nx-act{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap;}
.nx-muted{color:var(--muted);}
.nx-bar{height:7px;border-radius:5px;background:var(--line-soft);overflow:hidden;min-width:60px;}
.nx-bar>i{display:block;height:100%;background:var(--brand-grad);border-radius:5px;}
.nx-bar.green>i{background:var(--green);}
.nx-list{display:flex;flex-direction:column;}
.nx-list .row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:13px;}
.nx-list .row:last-child{border-bottom:none;}
.nx-list .row .rmain{min-width:0;flex:1;}
.nx-list .row .rmain .t{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;}
.nx-list .row .rmain .s{font-size:11.8px;color:var(--muted);}
.nx-chart{position:relative;height:230px;}
.nx-modal-wide .modal{max-width:880px;}
.nx-modal-xl .modal{max-width:1080px;}
.nx-fg{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.nx-fg .full{grid-column:1/-1;}
.nx-fg label{display:block;font-size:12.3px;font-weight:600;color:var(--ink-soft);margin-bottom:5px;}
.nx-fg .nx-in,.nx-fg .nx-sel,.nx-fg .nx-ta{width:100%;}
.nx-fg .chk{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:6px;}
.nx-hint{font-size:11.8px;color:var(--muted);margin-top:4px;}
.nx-err{color:var(--rust);font-size:12.5px;margin-top:8px;display:none;}
.nx-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;background:var(--line-soft);padding:10px 12px;border-radius:8px;overflow-x:auto;white-space:pre;display:block;color:var(--ink);}
.nx-split{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start;}
@media(max-width:860px){.nx-split{grid-template-columns:1fr;}}
.nx-sticky-res{max-height:60vh;overflow:auto;}

/* ---------- kanban boards ---------- */
.nx-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;align-items:flex-start;}
.nx-col{flex:0 0 255px;background:var(--bg);border:1px solid var(--line);border-radius:12px;min-height:140px;display:flex;flex-direction:column;}
.nx-col.over{outline:2px dashed var(--brand);outline-offset:-3px;}
.nx-col-h{padding:11px 12px;border-bottom:1px solid var(--line);position:sticky;top:0;}
.nx-col-h .n{font-weight:700;font-size:13px;display:flex;justify-content:space-between;}
.nx-col-h .v{font-size:11.5px;color:var(--muted);margin-top:2px;}
.nx-col-b{padding:9px;display:flex;flex-direction:column;gap:8px;min-height:60px;}
.nx-kcard{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 11px;cursor:grab;font-size:12.8px;box-shadow:var(--shadow-sm);}
.nx-kcard:active{cursor:grabbing;}
.nx-kcard.dragging{opacity:.4;}
.nx-kcard .t{font-weight:600;color:var(--ink);}
.nx-kcard .s{color:var(--muted);font-size:11.8px;margin-top:2px;}
.nx-kcard .f{display:flex;justify-content:space-between;align-items:center;margin-top:7px;gap:6px;}

/* ---------- calendar ---------- */
.nx-cal{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);}
.nx-cal .dow{padding:8px;font-size:11.5px;font-weight:700;color:var(--muted);text-align:center;background:var(--bg);border-bottom:1px solid var(--line);}
.nx-cal .day{min-height:100px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:5px;font-size:11.5px;min-width:0;cursor:pointer;}
.nx-cal .day:nth-child(7n){border-right:none;}
.nx-cal .day.out{background:var(--bg);opacity:.6;}
.nx-cal .day.today .dn{background:var(--brand);color:#fff;}
.nx-cal .dn{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;font-weight:700;font-size:11.5px;}
.nx-cal .ev{display:block;margin-top:3px;padding:2px 6px;border-radius:5px;background:var(--brand-tint);color:var(--brand);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;}
.nx-cal .ev.task{background:var(--gold-tint);color:var(--gold);}
.nx-cal .ev.done{opacity:.5;text-decoration:line-through;}
.nx-cal .more{font-size:11px;color:var(--muted);margin-top:2px;}

/* ---------- chat (WhatsApp) ---------- */
.nx-chat{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto;padding:12px;background:var(--bg);border-radius:10px;border:1px solid var(--line);}
.nx-msg{max-width:78%;padding:8px 11px;border-radius:10px;font-size:13px;white-space:pre-wrap;word-break:break-word;}
.nx-msg.in{align-self:flex-start;background:var(--surface);border:1px solid var(--line);}
.nx-msg.out{align-self:flex-end;background:var(--green-tint);color:var(--ink);}
.nx-msg .m{font-size:10.5px;color:var(--muted);margin-top:3px;}

/* ---------- timeline ---------- */
.nx-tl{position:relative;padding-left:20px;}
.nx-tl:before{content:"";position:absolute;left:6px;top:4px;bottom:4px;width:2px;background:var(--line);}
.nx-tl .it{position:relative;padding:0 0 14px 0;font-size:13px;}
.nx-tl .it:before{content:"";position:absolute;left:-19px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--brand);border:2px solid var(--surface);}
.nx-tl .it .t{font-weight:600;color:var(--ink);}
.nx-tl .it .d{color:var(--ink-soft);margin-top:1px;}
.nx-tl .it .w{color:var(--muted);font-size:11.5px;margin-top:2px;}

/* ---------- search palette ---------- */
.nx-pal{position:fixed;inset:0;background:rgba(20,22,31,.5);z-index:300;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;}
.nx-pal-box{width:min(640px,calc(100vw - 20px));background:var(--surface);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--line);}
.nx-pal-box input{width:100%;border:none;border-bottom:1px solid var(--line);padding:16px 18px;font-size:15px;background:transparent;color:var(--ink);outline:none;}
.nx-pal-res{max-height:55vh;overflow:auto;padding:6px;}
.nx-pal-res h5{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:8px 10px 4px;}
.nx-pal-res a{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;font-size:13.3px;color:var(--ink);cursor:pointer;text-decoration:none;}
.nx-pal-res a:hover,.nx-pal-res a.sel{background:var(--brand-tint);color:var(--brand);}
.nx-pal-res a span.s{color:var(--muted);font-size:12px;}

/* ---------- drawer extensions ---------- */
.drawer{max-width:620px;}
.drawer-tabs{overflow-x:auto;white-space:nowrap;scrollbar-width:thin;}
.drawer-tab{flex-shrink:0;margin-right:16px;}
.drawer-tab.nx-new{position:relative;}
.nx-dp-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.nx-sig{border:1.5px dashed var(--line);border-radius:10px;background:#fff;width:100%;height:150px;touch-action:none;cursor:crosshair;}
.nx-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;}
.nx-photos img{width:100%;height:90px;object-fit:cover;border-radius:8px;border:1px solid var(--line);}
.nx-q-items input,.nx-q-items select{width:100%;}
.nx-q-items td{padding:6px 5px;}
.nx-totals{margin-left:auto;max-width:320px;font-size:13px;}
.nx-totals div{display:flex;justify-content:space-between;padding:4px 0;}
.nx-totals .g{font-weight:700;font-size:15px;border-top:1px solid var(--line);margin-top:4px;padding-top:8px;}
.nx-matrix{overflow:auto;max-height:65vh;}
.nx-matrix table{font-size:12.5px;}
.nx-matrix td.m{text-align:center;}
.nx-matrix th.stick,.nx-matrix td.stick{position:sticky;left:0;background:var(--surface);z-index:1;}
.nx-ai-note{background:var(--brand-tint);color:var(--brand);border-radius:10px;padding:11px 14px;font-size:12.8px;margin-bottom:14px;}
.nx-steps{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
.nx-steps span{font-size:12px;font-weight:700;padding:5px 12px;border-radius:20px;background:var(--line-soft);color:var(--muted);}
.nx-steps span.on{background:var(--brand);color:#fff;}
@media print{.topbar,.nx-head-actions{display:none!important;}}

/* Small screens: the top navigation scrolls sideways inside the bar instead of stretching the page. */
@media(max-width:900px){
  .topbar-inner{min-width:0;}
  .tb-nav{min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .tb-nav::-webkit-scrollbar{display:none;}
  .tb-nav button,.tb-nav .nx-modules-btn{flex-shrink:0;white-space:nowrap;}
  .tb-user{gap:6px;}
}
html{overflow-x:hidden;}

/* ======================= SIDEBAR NAVIGATION ======================= */
:root{--side-w:256px;--side-w-c:72px;--top-h:64px;}
.tb-nav{display:none!important;}
.topbar-inner{max-width:none;padding:0 22px;gap:18px;}
.tb-brand{width:calc(var(--side-w) - 22px);}
.nx-hamburger{display:none;background:none;border:1px solid var(--line);border-radius:9px;width:38px;height:38px;align-items:center;justify-content:center;color:var(--ink-soft);cursor:pointer;flex-shrink:0;}
.nx-searchpill{flex:1;max-width:440px;display:flex;align-items:center;gap:9px;background:var(--bg,#f6f6f9);border:1px solid var(--line);border-radius:10px;padding:0 12px;height:38px;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;text-align:left;}
.nx-searchpill:hover{border-color:var(--brand);}
.nx-searchpill span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nx-searchpill kbd{font:inherit;font-size:11px;border:1px solid var(--line);border-radius:5px;padding:1px 6px;background:var(--surface);color:var(--muted);}
.tb-user{margin-left:auto;}
#nx-search-btn{display:none;}

.nx-side{position:fixed;top:var(--top-h);left:0;bottom:0;width:var(--side-w);background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:40;transition:width .18s ease,transform .22s ease;}
.nx-side-backdrop{display:none;}
.ns-find{margin:14px 14px 6px;position:relative;}
.ns-find svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;}
.ns-find input{width:100%;box-sizing:border-box;border:1px solid var(--line);background:var(--bg,#f6f6f9);border-radius:9px;padding:8px 10px 8px 32px;font:inherit;font-size:13px;color:var(--ink);outline:none;}
.ns-find input:focus{border-color:var(--brand);background:var(--surface);}
.ns-nav{flex:1;overflow-y:auto;padding:6px 10px 14px;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 18px),transparent 100%);}
.ns-nav::-webkit-scrollbar{display:none;width:0;height:0;}
.ns-sec{margin-top:6px;}
.ns-label{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);}
.ns-sec>.ns-label{display:block;padding:12px 10px 5px;}
.ns-item{display:flex;align-items:center;gap:11px;padding:6px 10px;margin:1px 0;border-radius:9px;font-size:13.6px;font-weight:500;color:var(--ink-soft);cursor:pointer;text-decoration:none;position:relative;white-space:nowrap;}
.ns-item .ni{flex-shrink:0;color:var(--muted);transition:color .12s;}
.ns-item:hover{background:var(--line-soft);color:var(--ink);}
.ns-item:hover .ni{color:var(--ink-soft);}
.ns-item.active{background:var(--brand-tint);color:var(--brand);font-weight:600;}
.ns-item.active .ni{color:var(--brand);}
.ns-item.active::before{content:"";position:absolute;left:-10px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--brand);}
.ns-ghead{width:100%;display:flex;align-items:center;gap:11px;background:none;border:none;padding:8px 10px 4px;cursor:pointer;color:var(--muted);font:inherit;text-align:left;}
.ns-ghead .ni{display:none;}
.ns-ghead .ns-label{flex:1;}
.ns-ghead:hover .ns-label,.ns-ghead:hover .ni{color:var(--ink-soft);}
.ns-ghead .chev{transition:transform .18s;flex-shrink:0;}
.ns-group:not(.open) .chev{transform:rotate(-90deg);}
.ns-group .ns-gbody{display:none;margin-left:0;}
.ns-group.open .ns-gbody{display:block;}
.ns-group .ns-gbody .ns-item{padding-left:10px;}
.ns-foot{border-top:1px solid var(--line);padding:10px 14px;}
.ns-collapse{width:100%;display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--muted);font:inherit;font-size:13px;padding:7px 8px;border-radius:8px;cursor:pointer;}
.ns-collapse:hover{background:var(--line-soft);color:var(--ink);}
.ns-collapse svg{transition:transform .18s;}

/* page area sits to the right of the sidebar */
#app > .main{margin:0 0 0 var(--side-w);max-width:none;width:auto;padding:32px 36px 70px;transition:margin .18s ease;}
#app > .main>.view-pane{max-width:1260px;margin-left:auto;margin-right:auto;}
#app > .main>.view-pane:not(#view-nx){margin-left:auto;margin-right:auto;}

/* collapsed (icons only) */
body.nx-side-collapsed{--side-w:var(--side-w-c);}
body.nx-side-collapsed .tb-brand{width:auto;}
body.nx-side-collapsed .ns-find,body.nx-side-collapsed .ns-item span,body.nx-side-collapsed .ns-ghead .ns-label,body.nx-side-collapsed .ns-ghead .chev,body.nx-side-collapsed .ns-collapse span,body.nx-side-collapsed .ns-sec>.ns-label{display:none;}
body.nx-side-collapsed .ns-ghead{padding:6px 0;justify-content:center;pointer-events:none;border-top:1px solid var(--line);margin-top:8px;border-radius:0;}
body.nx-side-collapsed .ns-group .ns-gbody{display:block;}
body.nx-side-collapsed .ns-item{justify-content:center;padding:10px 0;}
body.nx-side-collapsed .ns-item.active::before{left:-10px;}
body.nx-side-collapsed .ns-collapse{justify-content:center;}
body.nx-side-collapsed .ns-collapse svg{transform:rotate(180deg);}
body.nx-side-collapsed .ns-sec:first-child .ns-label{display:none;}

/* mobile: off-canvas drawer */
@media(max-width:900px){
  .nx-hamburger{display:flex;}
  .tb-brand{width:auto;}
  .nx-searchpill{display:none;}
  #nx-search-btn{display:flex;}
  .nx-side{transform:translateX(-102%);width:276px;box-shadow:0 12px 40px rgba(0,0,0,.18);z-index:60;top:0;padding-top:0;}
  body.nx-side-open .nx-side{transform:none;}
  .nx-side-backdrop{display:block;position:fixed;inset:0;background:rgba(15,18,32,.45);z-index:55;opacity:0;pointer-events:none;transition:opacity .2s;}
  body.nx-side-open .nx-side-backdrop{opacity:1;pointer-events:auto;}
  #app > .main{margin-left:0;padding:22px 14px 60px;}
  body.nx-side-collapsed{--side-w:256px;}
  body.nx-side-collapsed .ns-find,body.nx-side-collapsed .ns-item span,body.nx-side-collapsed .ns-ghead .ns-label,body.nx-side-collapsed .ns-ghead .chev,body.nx-side-collapsed .ns-sec>.ns-label{display:revert;}
  body.nx-side-collapsed .ns-item{justify-content:flex-start;padding:8px 10px;}
  .ns-collapse{display:none;}
  .topbar-inner{padding:0 12px;}
}

/* permission matrix: compact, readable columns instead of stretching across the page */
.nx-matrix{width:100%;max-width:820px;}
.nx-matrix th:not(:first-child),.nx-matrix td:not(:first-child){width:96px;text-align:center;}
.nx-matrix input[type=checkbox]{width:17px;height:17px;accent-color:var(--brand);cursor:pointer;}

.nx-rp-split{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start;}
.nx-grid>*{min-width:0;}
@media(max-width:1100px){.nx-rp-split{grid-template-columns:minmax(0,1fr);}}
.panel,.nx-card{max-width:100%;}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}

.ns-user{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid var(--line);}
.ns-av{width:32px;height:32px;border-radius:50%;background:var(--brand-tint);color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;}
.ns-uinfo{display:flex;flex-direction:column;min-width:0;line-height:1.25;}
.ns-uinfo b{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ns-uinfo small{font-size:11.5px;color:var(--muted);}
.ns-foot{border-top:none;padding-top:0;}
body.nx-side-collapsed .ns-uinfo{display:none;}
body.nx-side-collapsed .ns-user{justify-content:center;padding:10px 0;}

/* ===== v10: vivid sidebar group headings ===== */
.ns-group{--gl:var(--brand);--gd:var(--brand);--g:var(--gl);}
.ns-group[data-group="Engagement"]{--gl:#0D9488;--gd:#2DD4BF;}
.ns-group[data-group="Marketing & Automation"]{--gl:#DB2777;--gd:#F472B6;}
.ns-group[data-group="Service"]{--gl:#EA580C;--gd:#FB923C;}
.ns-group[data-group="Insights"]{--gl:#7C3AED;--gd:#A78BFA;}
.ns-group[data-group="Data & Tools"]{--gl:#2563EB;--gd:#60A5FA;}
.ns-group[data-group="Administration"]{--gl:#475569;--gd:#94A3B8;}
:root[data-theme="dark"] .ns-group{--g:var(--gd);}
.ns-group .ns-ghead{margin-top:8px;padding:7px 8px;border-radius:11px;color:var(--g);transition:background .15s;}
.ns-group .ns-ghead .ni{display:block;width:28px;height:28px;padding:6px;box-sizing:border-box;border-radius:9px;background:rgba(127,127,127,.12);color:var(--g);flex-shrink:0;}
@supports (background:color-mix(in srgb,red 10%,transparent)){
  .ns-group .ns-ghead .ni{background:color-mix(in srgb,var(--g) 15%,transparent);}
  .ns-group.open>.ns-ghead{background:color-mix(in srgb,var(--g) 7%,transparent);}
  .ns-group .ns-ghead:hover{background:color-mix(in srgb,var(--g) 12%,transparent);}
  .ns-group .ns-item.active{background:color-mix(in srgb,var(--g) 11%,transparent);}
}
.ns-group .ns-ghead .ns-label{font-size:11.5px;font-weight:800;letter-spacing:.05em;color:var(--g);white-space:nowrap;}
.ns-group .ns-ghead:hover .ns-label,.ns-group .ns-ghead:hover .ni{color:var(--g);}
.ns-group .ns-ghead .chev{color:var(--g);opacity:.75;}
.ns-group .ns-gbody{margin:2px 0 4px 14px;padding-left:10px;border-left:2px solid rgba(127,127,127,.16);}
.ns-group .ns-gbody .ns-item{padding-left:8px;}
.ns-group .ns-item.active{color:var(--g);}
.ns-group .ns-item.active .ni{color:var(--g);}
.ns-group .ns-item.active::before{background:var(--g);left:-12px;}
.ns-sec:not(.ns-group)>.ns-label{color:var(--brand);font-weight:800;font-size:12px;letter-spacing:.07em;padding:12px 10px 6px;display:flex;align-items:center;gap:8px;}
.ns-sec:not(.ns-group)>.ns-label::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand);}
body.nx-side-collapsed .ns-group .ns-gbody{margin-left:0;padding-left:0;border-left:none;}
body.nx-side-collapsed .ns-group .ns-ghead{padding:6px 0;background:none;}
body.nx-side-collapsed .ns-group .ns-item.active::before{left:-10px;}
body.nx-side-collapsed .ns-sec:not(.ns-group)>.ns-label{display:none;}
@media (max-width:900px){ body.nx-side-collapsed .ns-sec:not(.ns-group)>.ns-label{display:flex;} }

/* ===== v10: white-label brand mark ===== */
.brand-mark{display:inline-flex;align-items:center;gap:10px;min-width:0;}
.brand-mark .bm-i{width:34px;height:34px;border-radius:10px;background:var(--brand-grad);color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center;letter-spacing:.02em;flex-shrink:0;box-shadow:0 4px 12px -4px rgba(var(--brand-rgb),.5);}
.brand-mark .bm-n{font-weight:700;font-size:16px;color:var(--ink);letter-spacing:-.01em;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.login-brand-logo.brand-mark{margin-bottom:28px;display:flex;height:auto;}
.login-brand-logo.brand-mark .bm-i{width:44px;height:44px;font-size:17px;border-radius:13px;}
.login-brand-logo.brand-mark .bm-n{font-size:21px;max-width:300px;}
.login-mark-mobile .brand-mark{justify-content:center;}
.no-vendor-art .login-brand-mark{display:none;}
.rt-label,.forgot-pw-link{white-space:nowrap;}
.login-remember-row{flex-wrap:nowrap;}

/* ===== v10: Branding settings ===== */
.nx-brand-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;align-items:start;max-width:1100px;}
.nx-swatches{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.nx-sw{width:26px;height:26px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0;}
.nx-sw.on{box-shadow:0 0 0 2px var(--ink);}
.nx-swatches input[type=color]{width:36px;height:30px;padding:0;border:1px solid var(--line);border-radius:8px;background:none;cursor:pointer;}
.nx-logo-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.nx-logo-prev{min-width:170px;min-height:64px;border:1px dashed var(--line);border-radius:12px;display:grid;place-items:center;padding:10px 14px;background:var(--bg,#f6f6f9);}
.nx-logo-prev img{max-height:46px;max-width:220px;}
.nbp-box{border:1px solid var(--line);border-radius:16px;padding:28px;background:var(--surface);}
.nbp-logo img{height:34px;}
.nbp-tag{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-top:22px;}
.nbp-h{font-size:24px;font-weight:800;margin:6px 0;line-height:1.2;letter-spacing:-.02em;}
.nbp-s{color:var(--ink-soft);font-size:13px;line-height:1.5;margin-bottom:18px;}
.nbp-btn{display:inline-block;padding:8px 16px;border-radius:9px;color:#fff;font-size:13px;font-weight:600;margin-right:8px;}
.nbp-ghost{background:transparent!important;border:1.5px solid;}
@media (max-width:1000px){.nx-brand-grid{grid-template-columns:1fr;}}

/* forced first-login password change */
.pw-forced .modal-close,.pw-forced [data-close]{display:none!important;}
.pw-forced-note{background:var(--brand-tint);color:var(--brand-strong);border-radius:10px;padding:11px 13px;font-size:13px;line-height:1.5;margin-bottom:14px;}

/* ===== getting-started checklist ===== */
.nx-onb{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-bottom:22px;box-shadow:var(--shadow-sm,0 1px 2px rgba(16,24,40,.04));}
.nx-onb-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.nx-onb-t{font-size:17px;font-weight:700;letter-spacing:-.01em;}
.nx-onb-s{font-size:13px;color:var(--ink-soft);margin-top:3px;}
.nx-onb-r{display:flex;align-items:center;gap:12px;}
.nx-onb-pct{font-size:20px;font-weight:800;color:var(--brand);}
.nx-onb-bar{height:6px;border-radius:99px;background:var(--line-soft);margin:14px 0 6px;overflow:hidden;}
.nx-onb-bar i{display:block;height:100%;background:var(--brand-grad);border-radius:99px;transition:width .4s;}
.nx-onb-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 24px;}
.nx-onb-i{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft);}
.nx-onb-ck{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--muted);flex-shrink:0;}
.nx-onb-i.done .nx-onb-ck{background:var(--green,#16A34A);border-color:var(--green,#16A34A);color:#fff;}
.nx-onb-tx{flex:1;min-width:0;display:flex;flex-direction:column;}
.nx-onb-tx b{font-size:13.5px;font-weight:600;}
.nx-onb-tx span{font-size:12px;color:var(--muted);}
.nx-onb-i.done .nx-onb-tx b{color:var(--muted);text-decoration:line-through;}
@media (max-width:900px){.nx-onb-list{grid-template-columns:1fr;}}

/* ===== v11: shared visual helpers ===== */
.nx-spark{display:block;overflow:visible;}
.nx-av{display:inline-grid;place-items:center;border-radius:50%;color:#fff;font-weight:700;letter-spacing:.02em;flex-shrink:0;box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--line);}
.nx-score{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
.nx-score .segs{display:inline-flex;gap:2px;}
.nx-score .segs i{width:3px;height:14px;border-radius:2px;background:var(--line);}
.nx-score.hot .segs i.on{background:#EF4444;} .nx-score.warm .segs i.on{background:#F59E0B;} .nx-score.cold .segs i.on{background:#3B82F6;}
.nx-score b{font-size:11.5px;font-weight:700;color:var(--ink-soft);border:1px solid var(--line);border-radius:6px;padding:1px 6px;background:var(--surface);}
.ic{flex-shrink:0;vertical-align:middle;}
.dr-360{margin-left:auto;margin-right:10px;align-self:flex-start;display:inline-flex;gap:6px;align-items:center;}

/* ===== v11: Customer 360 ===== */
.c3-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;}
.c3-back{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);display:grid;place-items:center;cursor:pointer;flex-shrink:0;}
.c3-back:hover{color:var(--brand);border-color:var(--brand);}
.c3-title h2{margin:0;font-size:24px;letter-spacing:-.02em;font-weight:800;}
.c3-title h2 span{font-size:12px;font-weight:700;color:var(--muted);background:var(--line-soft);padding:2px 8px;border-radius:99px;vertical-align:middle;letter-spacing:0;}
.c3-title div{color:var(--ink-soft);font-size:13.5px;margin-top:2px;}
.c3-kpis{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto;}
.c3-kpi{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 16px 10px 11px;min-width:150px;}
.c3-kpi .c3-kic{width:36px;height:36px;min-width:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;line-height:0;background:var(--brand-tint);color:var(--brand);}
.c3-kpi .c3-kic svg{display:block;width:17px;height:17px;flex:none;}
.c3-kpi.green .c3-kic{background:rgba(22,163,74,.12);color:#16A34A;} .c3-kpi.amber .c3-kic{background:rgba(245,158,11,.14);color:#D97706;}
.c3-kpi.red .c3-kic{background:rgba(239,68,68,.12);color:#DC2626;} .c3-kpi.blue .c3-kic{background:rgba(37,99,235,.12);color:#2563EB;}
.c3-kpi b{display:block;font-size:17px;font-weight:800;letter-spacing:-.01em;line-height:1.15;}
.c3-kpi div>span{display:block;font-size:11.5px;color:var(--muted);font-weight:600;}
.c3-kpi em{display:block;font-size:10.5px;color:var(--muted);font-style:normal;opacity:.85;}
.c3-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start;}
.c3-main,.c3-side{display:flex;flex-direction:column;gap:20px;min-width:0;}
.c3-card{padding:20px 22px;margin:0;}
.c3-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;}
.c3-h h3{margin:0;font-size:15px;font-weight:700;display:block;}
.c3-sub{font-size:12px;color:var(--muted);}
.c3-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.c3-deals{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;}
.c3-deal{border-radius:18px;padding:16px 16px 14px;display:flex;flex-direction:column;min-height:132px;color:#fff;position:relative;overflow:hidden;}
.c3-deal::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.1);}
.c3-deal.d1{background:linear-gradient(135deg,var(--brand),var(--brand-2));}
.c3-deal.d2{background:linear-gradient(135deg,#0F766E,#14B8A6);}
.c3-deal.d3{background:linear-gradient(135deg,#111827,#374151);}
.c3-deal.d4{background:linear-gradient(135deg,#F59E0B,#FACC15);color:#3B2A00;}
.c3-deal.won{background:linear-gradient(135deg,#047857,#10B981);}
.c3-deal.lost{background:var(--line-soft);color:var(--muted);} .c3-deal.lost::after{display:none;}
.c3-deal.plain{background:var(--bg,#f6f6f9);color:var(--ink);border:1px solid var(--line);} .c3-deal.plain::after{display:none;}
.c3-dt{display:flex;justify-content:space-between;font-size:11.5px;opacity:.85;font-weight:600;}
.c3-dst{text-transform:capitalize;background:rgba(255,255,255,.2);padding:1px 9px;border-radius:99px;}
.c3-deal.plain .c3-dst,.c3-deal.lost .c3-dst{background:var(--line);}
.c3-dn{font-size:14px;font-weight:600;margin-top:10px;line-height:1.35;flex:1;}
.c3-dv{font-size:21px;font-weight:800;letter-spacing:-.02em;margin-top:8px;display:flex;align-items:baseline;gap:8px;}
.c3-dv small{font-size:11px;font-weight:600;opacity:.8;letter-spacing:0;}
.c3-tl{display:flex;flex-direction:column;gap:2px;max-height:430px;overflow:auto;padding-right:4px;}
.c3-ti{display:flex;gap:12px;padding:9px 0;position:relative;}
.c3-ti:not(:last-child)::before{content:"";position:absolute;left:15px;top:42px;bottom:-8px;width:1px;background:var(--line);}
.c3-tic{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;}
.c3-ti b{font-size:13.2px;font-weight:600;display:block;} .c3-ti p{margin:2px 0 0;font-size:12.5px;color:var(--ink-soft);line-height:1.45;}
.c3-ti em{font-size:11.5px;color:var(--muted);font-style:normal;}
.c3-calh{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.c3-calh b{font-size:13.5px;} .c3-calh button{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;font-size:16px;line-height:1;}
.c3-calg{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;}
.c3-calg i{font-style:normal;font-size:12px;padding:7px 0;border-radius:9px;color:var(--ink-soft);}
.c3-calg i.w{font-size:10.5px;font-weight:700;color:var(--muted);padding:3px 0;}
.c3-calg i.today{outline:1.5px solid var(--brand);color:var(--brand);font-weight:700;}
.c3-calg i.has{background:var(--brand);color:#fff;font-weight:700;} .c3-calg i.done{background:rgba(22,163,74,.18);color:#15803D;font-weight:700;} .c3-calg i.over{background:#EF4444;color:#fff;font-weight:700;}
.c3-tk{margin-top:12px;border-top:1px solid var(--line-soft);padding-top:6px;}
.c3-tki{display:flex;gap:10px;padding:8px 0;align-items:flex-start;} .c3-tki>span{color:var(--brand);margin-top:1px;} .c3-tki.late>span{color:#DC2626;}
.c3-tki b{font-size:13px;font-weight:600;display:block;} .c3-tki em{font-size:11.5px;color:var(--muted);font-style:normal;} .c3-tki.late em{color:#DC2626;}
.c3-docs{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.c3-row{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--line-soft);} .c3-row:last-child{border-bottom:none;}
.c3-row>div:nth-child(2){flex:1;min-width:0;} .c3-row b{font-size:13px;font-weight:600;display:block;} .c3-row em{font-size:11.5px;color:var(--muted);font-style:normal;}
.c3-ric{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--brand-tint);color:var(--brand);flex-shrink:0;}
.c3-rv{text-align:right;font-weight:700;font-size:13px;} .c3-rv small{display:block;font-size:11px;color:var(--muted);font-weight:600;text-transform:capitalize;}
.c3-pick{cursor:pointer;padding:9px 8px;border-radius:10px;} .c3-pick:hover{background:var(--line-soft);}
/* profile column */
.c3-profile{text-align:center;display:flex;flex-direction:column;align-items:center;}
.c3-profile .nx-av{margin-top:4px;}
.c3-profile h3{margin:14px 0 0;font-size:18px;font-weight:800;letter-spacing:-.01em;display:block;} .c3-role{font-size:13px;color:var(--ink-soft);margin-top:2px;}
.c3-pills{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:12px;}
.c3-scorewrap{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:16px;padding:10px 14px;border-radius:12px;background:var(--bg,#f6f6f9);font-size:12.5px;color:var(--muted);font-weight:600;}
.c3-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin-top:14px;}
.c3-qb{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 4px 8px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;font:inherit;font-size:11px;font-weight:600;text-decoration:none;transition:all .15s;}
.c3-qb:hover{background:var(--brand);color:#fff;border-color:var(--brand);transform:translateY(-1px);box-shadow:0 6px 14px -6px rgba(var(--brand-rgb),.6);}
.c3-note{position:relative;width:100%;margin-top:14px;}
.c3-note textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:14px;padding:11px 46px 11px 13px;font:inherit;font-size:13px;resize:none;background:var(--bg,#f6f6f9);color:var(--ink);outline:none;}
.c3-note textarea:focus{border-color:var(--brand);background:var(--surface);}
.c3-send{position:absolute;right:8px;bottom:8px;width:32px;height:32px;border-radius:50%;border:none;background:var(--brand-grad);color:#fff;display:grid;place-items:center;cursor:pointer;}
.c3-fs{display:flex;align-items:center;gap:11px;padding:7px 0;position:relative;color:var(--muted);font-size:13px;}
.c3-fs:not(:last-child)::before{content:"";position:absolute;left:9px;top:25px;bottom:-7px;width:2px;background:var(--line);}
.c3-fs.done:not(:last-child)::before{background:var(--brand);}
.c3-fdot{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;background:var(--surface);flex-shrink:0;z-index:1;color:#fff;}
.c3-fs.done .c3-fdot{background:var(--brand);border-color:var(--brand);} .c3-fs.done{color:var(--ink-soft);}
.c3-fs.cur{color:var(--ink);} .c3-fs.cur b{font-weight:800;} .c3-fs.cur .c3-fdot{border-color:var(--brand);box-shadow:0 0 0 4px rgba(var(--brand-rgb),.18);background:var(--surface);}
.c3-fs.lost .c3-fdot{border-color:#EF4444;box-shadow:0 0 0 4px rgba(239,68,68,.15);}
.c3-fs b{font-weight:600;}
.c3-ir{display:flex;gap:12px;padding:8px 0;align-items:flex-start;border-bottom:1px solid var(--line-soft);} .c3-ir:last-of-type{border-bottom:none;}
.c3-ir>span{color:var(--muted);margin-top:2px;} .c3-ir em{display:block;font-size:11px;color:var(--muted);font-style:normal;font-weight:600;} .c3-ir b{font-size:13.2px;font-weight:600;word-break:break-word;}
.c3-tags{display:flex;gap:6px;flex-wrap:wrap;padding-top:10px;} .c3-tags span{font-size:11.5px;font-weight:600;background:var(--brand-tint);color:var(--brand);padding:2px 10px;border-radius:99px;}
.c3-req{margin-top:10px;padding:11px 13px;border-radius:12px;background:var(--bg,#f6f6f9);} .c3-req em{font-size:11px;color:var(--muted);font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.06em;} .c3-req p{margin:4px 0 0;font-size:12.8px;line-height:1.5;color:var(--ink-soft);}
.c3-pp{display:flex;gap:11px;align-items:center;padding:7px 0;} .c3-pp b{font-size:13px;display:block;} .c3-pp em{font-size:11.5px;color:var(--muted);font-style:normal;} .c3-pp small{font-size:10px;background:var(--brand-tint);color:var(--brand);padding:1px 7px;border-radius:99px;margin-left:4px;}
@media (max-width:1180px){.c3-grid{grid-template-columns:1fr;} .c3-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));} .c3-kpis{margin-left:0;width:100%;}}
@media (max-width:760px){.c3-split{grid-template-columns:1fr;} .c3-kpi{min-width:calc(50% - 5px);flex:1;}}

/* ===== v11: leads list - KPI strip, view tabs, bulk bar ===== */
.nx-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;}
.nx-kcardx{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px 12px;}
.nx-kcardx .kt{display:flex;justify-content:space-between;align-items:baseline;gap:8px;} .nx-kcardx .kt span{font-size:12.5px;font-weight:600;color:var(--ink-soft);} .nx-kcardx .kt em{font-size:11px;color:var(--muted);font-style:normal;white-space:nowrap;}
.nx-kcardx .kb{display:flex;justify-content:space-between;align-items:flex-end;margin-top:8px;gap:10px;}
.nx-kcardx .kb b{font-size:28px;font-weight:800;letter-spacing:-.03em;line-height:1;margin-right:8px;}
.nx-kcardx .dl{font-size:11.5px;font-weight:700;} .nx-kcardx .dl.up{color:#16A34A;} .nx-kcardx .dl.dn{color:#DC2626;}
.nx-vtabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto;scrollbar-width:none;}
.nx-vtabs button{background:none;border:none;border-bottom:2px solid transparent;padding:10px 14px;font:inherit;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:8px;margin-bottom:-1px;}
.nx-vtabs button:hover{color:var(--ink);} .nx-vtabs button.on{color:var(--brand);border-color:var(--brand);}
.nx-vtabs i{font-style:normal;font-size:11px;font-weight:700;background:var(--line-soft);color:var(--muted);padding:1px 8px;border-radius:99px;} .nx-vtabs button.on i{background:var(--brand-tint);color:var(--brand);}
.nx-cell{display:flex;align-items:center;gap:11px;} .nx-cell .nx-av{box-shadow:none;}
#l-bulk{position:fixed!important;left:calc(50% + var(--side-w)/2);bottom:26px;transform:translateX(-50%);z-index:60;background:#111827!important;color:#fff;border-radius:99px!important;padding:9px 12px 9px 20px!important;box-shadow:0 18px 40px -12px rgba(0,0,0,.55);gap:10px;max-width:calc(100vw - var(--side-w) - 40px);flex-wrap:wrap;justify-content:center;border:1px solid rgba(255,255,255,.1);}
#l-bulk b{font-size:13px;white-space:nowrap;padding-right:6px;border-right:1px solid rgba(255,255,255,.2);margin-right:2px;}
#l-bulk .nx-sel,#l-bulk .nx-in{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff;border-radius:99px;font-size:12.5px;padding-top:6px;padding-bottom:6px;}
#l-bulk .nx-sel option{color:#111827;}
#l-bulk .nx-in::placeholder{color:rgba(255,255,255,.55);}
#l-bulk .btn{border-radius:99px;} #l-bulk .btn-ghost{color:#fff;border-color:rgba(255,255,255,.25);background:transparent;} #l-bulk .btn-danger{background:#EF4444;color:#fff;border-color:#EF4444;}
@media (max-width:1100px){.nx-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:900px){#l-bulk{left:50%;max-width:calc(100vw - 24px);border-radius:18px!important;}}

/* ===== v11: dashboard ===== */
.nx-kpi.has-spark{position:relative;}
.nx-kpi.has-spark .l{padding-right:84px;}
.nx-kpi .kspark{position:absolute;right:12px;top:12px;}
.nx-legend{font-size:12px;color:var(--ink-soft);font-weight:600;display:inline-flex;align-items:center;gap:6px;}
.nx-legend i{width:10px;height:10px;border-radius:3px;display:inline-block;margin-left:8px;}
.nx-dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin:0 4px 0 8px;vertical-align:middle;} .nx-dot.has{background:var(--brand);} .nx-dot.over{background:#EF4444;}
.nx-ov .nx-card{margin:0;}
@media (max-width:1100px){.nx-ov>div[style*="span 2"]{grid-column:auto!important;}}
.nx-act{flex-wrap:nowrap;}
#l-bulk{width:max-content;}

/* ===== v12: sidebar overflow fix, interactive dashboard ===== */
.ns-nav{overflow-x:hidden;}
.ns-group .ns-ghead{gap:9px;min-width:0;}
.ns-group .ns-ghead .ns-label{min-width:0;overflow:hidden;text-overflow:ellipsis;letter-spacing:.03em;font-size:11px;}
.ns-item span{overflow:hidden;text-overflow:ellipsis;min-width:0;}
.dash-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.dash-upd{font-size:11.5px;color:var(--muted);}
.dash-go{cursor:pointer;}
.dash-go:focus-visible{outline:2px solid var(--brand);outline-offset:2px;}
.stat-card.dash-go:hover{border-color:var(--brand);}
.wave-card.dash-go{transition:transform .18s ease,box-shadow .18s ease;}
.wave-card.dash-go:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.pl-row{cursor:pointer;} .pl-row:hover td{background:var(--brand-tint);}
.list-row.clickable{cursor:pointer;transition:background .12s;} .list-row.clickable:hover{background:var(--brand-tint);}
.chart-legend-item.lg-go,.chart-legend-item.lg-toggle{cursor:pointer;padding:3px 8px;border-radius:999px;transition:background .12s,opacity .12s;}
.chart-legend-item.lg-go:hover,.chart-legend-item.lg-toggle:hover{background:var(--brand-tint);}
.chart-legend-item.lg-toggle.off{opacity:.45;text-decoration:line-through;}
.panel-tools{display:flex;align-items:center;gap:10px;}
.seg.seg-sm button{padding:4px 11px;font-size:11.5px;}

/* ===== v13: modern dashboard ===== */
.nx-onb.compact{padding:12px 18px;margin-bottom:18px;}
.nx-onb.compact .nx-onb-list,.nx-onb.compact .nx-onb-bar{display:none;}
.nx-onb.compact .nx-onb-t{font-size:14.5px;} .nx-onb.compact .nx-onb-s{font-size:12px;margin-top:1px;}
.nx-onb.compact .nx-onb-head{align-items:center;}
.kx-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;}
@media (max-width:1100px){.kx-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:520px){.kx-grid{grid-template-columns:1fr;}}
.stat-card.kx{padding:16px 18px 14px;border-radius:16px;position:relative;overflow:hidden;}
.stat-card.kx::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--kc);}
.kx-top{display:flex;align-items:center;gap:9px;}
.kx-ic{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;line-height:0;color:var(--kc);background:rgba(127,127,127,.1);}
@supports (background:color-mix(in srgb,red 10%,transparent)){.kx-ic{background:color-mix(in srgb,var(--kc) 14%,transparent);}}
.kx-ic svg{width:15px;height:15px;display:block;flex:none;}
.kx-l{font-size:12.5px;font-weight:600;color:var(--ink-soft);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kx-dl{font-size:11.5px;font-weight:700;white-space:nowrap;} .kx-dl .up{color:#16A34A;} .kx-dl .dn{color:#DC2626;} .kx-dl .flat{color:var(--muted);}
.kx-mid{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:12px;}
.stat-card.kx .value{margin-top:0;font-size:26px;letter-spacing:-.02em;line-height:1.05;}
.kx-sp{flex:0 0 auto;line-height:0;opacity:.95;}
.kx-sub{font-size:11.5px;color:var(--muted);margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sx-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;}
@media (max-width:860px){.sx-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.sx{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 18px 14px;cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .16s;}
.sx:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--c);}
.sx:focus-visible{outline:2px solid var(--brand);outline-offset:2px;}
.sx-top{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--ink-soft);}
.sx-dot{width:9px;height:9px;border-radius:50%;background:var(--c);flex:none;}
.sx-n{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.02em;margin-top:6px;color:var(--ink);line-height:1.05;}
.sx-sub{font-size:11.5px;color:var(--muted);margin-top:4px;}
.sx-bar{height:5px;border-radius:99px;background:var(--line-soft);margin-top:10px;overflow:hidden;} .sx-bar i{display:block;height:100%;width:0;background:var(--c);border-radius:99px;transition:width .5s ease;}
.dash-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px;margin-bottom:20px;align-items:stretch;}
@media (max-width:1100px){.dash-row{grid-template-columns:1fr;}}
.cal-panel{padding-bottom:16px;}
.cal-panel .panel-head{padding-bottom:0;}
#dash-cal{padding:6px 18px 0;}
.cal-key{display:flex;gap:14px;padding:6px 20px 0;font-size:11px;color:var(--muted);} .cal-key span{display:inline-flex;align-items:center;gap:5px;}
.cal-key i{width:9px;height:9px;border-radius:3px;display:inline-block;} .k-has{background:var(--brand);} .k-over{background:#DC2626;}
.cal-next{padding:8px 20px 0;} .cal-it{padding:8px 10px;margin:0 -10px;border-radius:9px;cursor:pointer;} .cal-it:hover{background:var(--brand-tint);}
.cal-it b{display:block;font-size:12.8px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} .cal-it span{font-size:11.3px;color:var(--muted);} .cal-it.late b{color:#DC2626;}
.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
@media (max-width:1100px){.three-col{grid-template-columns:1fr 1fr;}} @media (max-width:760px){.three-col{grid-template-columns:1fr;}}
.chart-sub{font-weight:500;}
.seg.seg-sm .seg-thumb{display:none;}
.seg.seg-sm button.active{background:var(--brand);color:#fff;}
/* sidebar group heading: wrap instead of clip */
.ns-group .ns-ghead .ns-label{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2;font-size:11px;letter-spacing:.03em;}
.dash-row .chart-wrap{height:330px;}

/* ===== v14: unified dashboard tabs ===== */
.dash-tabs{display:inline-flex;gap:4px;background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:4px;margin:0 0 18px;max-width:100%;overflow-x:auto;}
.dash-tabs button{border:none;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--ink-soft);padding:8px 16px;border-radius:9px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;}
.dash-tabs button:hover{background:var(--line-soft);}
.dash-tabs button.active{background:var(--brand);color:#fff;box-shadow:0 1px 3px rgba(var(--brand-rgb,38,52,140),.35);}
#dash-pane-biz .nx-grid>*{min-width:0;}

/* ===== v18: no sidebar scrolling — groups open as a flyout panel (desktop) ===== */
.nx-side,.nx-side *{scrollbar-width:none;-ms-overflow-style:none;}
.nx-side *::-webkit-scrollbar,.nx-side::-webkit-scrollbar{display:none;width:0;height:0;}
@media(min-width:901px){
  body:not(.nx-side-collapsed) .nx-side:not(.ns-searching) .ns-nav{overflow:visible;-webkit-mask-image:none;mask-image:none;}
  body:not(.nx-side-collapsed) .nx-side:not(.ns-searching) .ns-group .ns-gbody{display:none;position:fixed;left:calc(var(--side-w) + 8px);top:80px;width:244px;max-height:calc(100vh - 90px);overflow-y:auto;margin:0;padding:8px;border:1px solid var(--line);border-left:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 18px 50px rgba(15,18,32,.16);z-index:80;}
  body:not(.nx-side-collapsed) .nx-side:not(.ns-searching) .ns-group.open .ns-gbody{display:block;animation:nsFly .14s ease-out;}
  body:not(.nx-side-collapsed) .nx-side:not(.ns-searching) .ns-group .ns-gbody.two{width:480px;display:none;grid-template-columns:1fr 1fr;gap:2px 6px;}
  body:not(.nx-side-collapsed) .nx-side:not(.ns-searching) .ns-group.open .ns-gbody.two{display:grid;}
  body:not(.nx-side-collapsed) .nx-side:not(.ns-searching) .ns-group .ns-gbody .ns-item{padding-left:10px;}
  body:not(.nx-side-collapsed) .nx-side:not(.ns-searching) .ns-group .ns-gbody .ns-item.active::before{left:-8px;}
  body:not(.nx-side-collapsed) .nx-side:not(.ns-searching) .ns-ghead{padding:9px 10px;border-radius:10px;}
  body:not(.nx-side-collapsed) .nx-side:not(.ns-searching) .ns-ghead:hover{background:var(--line-soft);}
  body:not(.nx-side-collapsed) .nx-side:not(.ns-searching) .ns-group.open>.ns-ghead{background:var(--brand-tint);}
  body:not(.nx-side-collapsed) .nx-side:not(.ns-searching) .ns-group.has-active>.ns-ghead::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand);margin-left:4px;}
  body:not(.nx-side-collapsed) .nx-side:not(.ns-searching) .ns-group .chev{transform:rotate(-90deg);}
}
@keyframes nsFly{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}

/* ===== v19: My Day, saved views, sequences, shortcuts, loading + empty states ===== */
.nx-kbd{display:inline-block;min-width:22px;padding:2px 7px;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;background:var(--surface);color:var(--ink-soft);font:600 11.5px/1.4 inherit;text-align:center;white-space:nowrap;}
.nx-sc{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;}
.nx-sc>div{display:flex;align-items:center;gap:10px;font-size:13.3px;padding:3px 0;}
.nx-sc .nx-kbd{min-width:84px;}
@media(max-width:620px){.nx-sc{grid-template-columns:1fr;}}
.nx-views{position:relative;display:flex;gap:6px;align-items:center;margin-left:auto;}
.nx-views-list{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:230px;max-width:320px;max-height:320px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;}
.nx-views-list[hidden]{display:none;}
.nv-row{display:flex;align-items:center;border-radius:8px;}
.nv-row:hover{background:var(--brand-tint);}
.nv-name{flex:1;text-align:left;background:none;border:0;padding:8px 10px;font-size:13.3px;color:var(--ink);cursor:pointer;border-radius:8px;}
.nv-del{background:none;border:0;color:var(--muted);font-size:18px;line-height:1;padding:4px 10px;cursor:pointer;}
.nv-del:hover{color:var(--rust);}
.md-hello h2{font-size:21px;margin:0 0 2px;}
.md-hello{margin-bottom:14px;}
.md-kpis{margin-bottom:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.md-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;}
@media(max-width:900px){.md-grid{grid-template-columns:1fr;}}
.md-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 16px;min-width:0;}
.md-card header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:8px;}
.md-card h3{font-size:14.5px;margin:0;}
.md-custom .md-card{outline:2px dashed var(--line);cursor:grab;}
.md-card.dragging{opacity:.45;}
.md-mv{display:inline-flex;gap:4px;}
.md-mv button{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:28px;height:28px;cursor:pointer;color:var(--ink);}
.md-mv button:disabled{opacity:.35;cursor:default;}
.md-row{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid var(--line-soft);}
.md-row:first-child{border-top:0;}
.md-main{min-width:0;font-size:13.5px;}
.md-main .nx-muted{font-size:12.3px;}
.md-btns{display:flex;gap:6px;flex-shrink:0;}
.md-late{color:var(--rust);font-weight:600;}
.md-more{padding-top:8px;font-size:12.8px;color:var(--muted);}
.md-ok{color:var(--muted);}
.md-big{font-size:22px;font-weight:700;margin:2px 0 10px;}
.md-bar{position:relative;height:10px;border-radius:99px;background:var(--line-soft);}
.md-bar i{display:block;height:100%;border-radius:99px;background:var(--brand);}
.md-bar i.ok{background:#16A34A;}
.md-bar i.warn{background:#F59E0B;}
.md-bar b{position:absolute;top:-4px;width:2px;height:18px;background:var(--ink-soft);opacity:.7;}
.nx-skel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.nx-skel-grid i,.nx-skel i{display:block;height:130px;border-radius:14px;background:linear-gradient(90deg,var(--line-soft) 25%,var(--line) 37%,var(--line-soft) 63%);background-size:400% 100%;animation:nxSkel 1.3s ease infinite;}
.nx-skel{display:grid;gap:12px;}
.nx-skel i{height:46px;}
.nx-skel i:first-child{height:70px;}
@keyframes nxSkel{0%{background-position:100% 50%}100%{background-position:0 50%}}
@media(prefers-reduced-motion:reduce){.nx-skel-grid i,.nx-skel i{animation:none;}}
.nx-empty{border:1.5px dashed var(--line);border-radius:12px;background:transparent;}
.nx-empty.md-ok{border-style:solid;border-color:var(--line-soft);}
.sq-step{display:grid;grid-template-columns:90px 140px 1fr 36px;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;}
.sq-step .sq-b{grid-column:1/-1;}
.sq-step label{font-size:12px;color:var(--muted);display:block;margin-bottom:3px;}
@media(max-width:620px){.sq-step{grid-template-columns:1fr 1fr;}.sq-step .sq-t{grid-column:1/-1;}}
