/* NexoraSoft CRM v20 — unified design system (Poppins) + activity timeline + new modules */
:root{
  --font-head:'Poppins','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-display:'Poppins','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Poppins','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;
  --st-ok:#15803D;--st-ok-bg:#DCFCE7;--st-warn:#B45309;--st-warn-bg:#FEF3C7;--st-bad:#DC2626;--st-bad-bg:#FEE2E2;--st-info:#2563EB;--st-info-bg:#DBEAFE;--st-mute:#64748B;--st-mute-bg:#F1F5F9;
  --v20-blue:#2563EB;--v20-blue-bg:#EFF5FF;--v20-amber:#F59E0B;--v20-teal:#14B8A6;
  --v20-card-sh:0 1px 2px rgba(16,24,40,.04),0 4px 14px -6px rgba(16,24,40,.10);
}
:root[data-theme="dark"]{
  --st-ok:#4ADE80;--st-ok-bg:rgba(34,197,94,.16);--st-warn:#FBBF24;--st-warn-bg:rgba(245,158,11,.16);--st-bad:#F87171;--st-bad-bg:rgba(239,68,68,.16);--st-info:#60A5FA;--st-info-bg:rgba(59,130,246,.18);--st-mute:#94A3B8;--st-mute-bg:rgba(148,163,184,.14);
  --v20-blue:#60A5FA;--v20-blue-bg:rgba(59,130,246,.14);--v20-card-sh:0 1px 2px rgba(0,0,0,.4),0 6px 18px -8px rgba(0,0,0,.6);
}
body{font-family:var(--font-body);}
/* keyboard focus is always visible; touch targets are at least 40px on small screens */
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px;}
.nx-skip{position:absolute;left:-999px;top:8px;background:var(--brand);color:#fff;padding:8px 14px;border-radius:8px;z-index:10000;text-decoration:none;font-weight:600;}
.nx-skip:focus{left:8px;}
@media (max-width:760px){ .btn,button.btn,.nx-tabs button,select,input:not([type=checkbox]):not([type=radio]){min-height:40px;} }
@media (prefers-reduced-motion:reduce){ *{animation-duration:.01ms !important;transition-duration:.01ms !important;} }

/* status badges (one palette everywhere) */
.st{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.6;white-space:nowrap;}
.st.ok{background:var(--st-ok-bg);color:var(--st-ok);}.st.warn{background:var(--st-warn-bg);color:var(--st-warn);}.st.bad{background:var(--st-bad-bg);color:var(--st-bad);}
.st.info{background:var(--st-info-bg);color:var(--st-info);}.st.mute{background:var(--st-mute-bg);color:var(--st-mute);}

/* ---------------------------------------------------------------- timeline */
.v20-wrap{display:grid;gap:20px;align-items:start;}
.v20-wrap.two{grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);}
@media (max-width:1000px){.v20-wrap.two{grid-template-columns:1fr;}}
.v20-tl{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px 22px 18px;box-shadow:var(--v20-card-sh);}
.v20-tl-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.v20-tl-h h3{font-size:19px;font-weight:700;margin:0;}
.v20-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.v20-tools select,.v20-search input{height:36px;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:0 10px;font-size:13px;color:var(--ink);}
.v20-search{position:relative;display:inline-flex;align-items:center;}
.v20-search svg{position:absolute;left:10px;color:var(--muted);pointer-events:none;}
.v20-search input{padding-left:32px;width:170px;}
.v20-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;}
.v20-chips button{border:1px solid var(--line);background:transparent;color:var(--ink-soft);border-radius:999px;padding:5px 13px;font-size:12.5px;font-weight:500;cursor:pointer;}
.v20-chips button.on{background:var(--v20-blue-bg);color:var(--v20-blue);border-color:var(--v20-blue);font-weight:600;}
.v20-list{list-style:none;margin:0;padding:0;max-height:62vh;overflow:auto;padding-right:4px;}
.v20-row{display:grid;grid-template-columns:96px 22px minmax(0,1fr);gap:0 10px;position:relative;padding-bottom:14px;}
.v20-when{text-align:right;padding-top:14px;line-height:1.35;}
.v20-when b{display:block;font-size:13.5px;font-weight:600;color:var(--ink);}
.v20-when span{font-size:11.5px;color:var(--muted);}
.v20-rail{position:relative;display:flex;justify-content:center;}
.v20-rail:before{content:"";position:absolute;top:0;bottom:-14px;width:2px;background:var(--line);}
.v20-row:first-child .v20-rail:before{top:22px;}
.v20-row:last-child .v20-rail:before{bottom:calc(100% - 26px);}
.v20-dot{position:relative;z-index:1;margin-top:18px;width:12px;height:12px;border-radius:50%;background:#B8BED0;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line);box-sizing:content-box;}
.v20-row.sel .v20-dot{background:var(--v20-blue);box-shadow:0 0 0 1px var(--v20-blue);}
.v20-row.up .v20-dot{background:var(--v20-amber);box-shadow:0 0 0 1px var(--v20-amber);}
.v20-row.late .v20-dot{background:var(--st-bad);box-shadow:0 0 0 1px var(--st-bad);}
.v20-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;cursor:pointer;box-shadow:var(--v20-card-sh);transition:border-color .15s,background .15s;min-width:0;}
.v20-card:hover{border-color:#C7CCDD;}
.v20-card.open{border-color:var(--v20-blue);background:var(--v20-blue-bg);cursor:default;}
.v20-head{display:flex;align-items:center;gap:12px;}
.v20-ic{flex:none;width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--st-mute-bg);color:var(--st-mute);}
.k-call{background:#DDF5F1 !important;color:#0F9F8F !important;}.k-email{background:#EDE7FD !important;color:#7C3AED !important;}.k-meeting{background:#FFEBD9 !important;color:#EA7A12 !important;}
.k-task{background:#FEF0C7 !important;color:#D98A06 !important;}.k-note{background:#ECEEF3 !important;color:#6B7285 !important;}.k-whatsapp{background:#DDF6E4 !important;color:#16A34A !important;}
.k-document{background:#DDEBFF !important;color:#2563EB !important;}.k-payment{background:#DDF6E4 !important;color:#15803D !important;}
:root[data-theme="dark"] .k-call{background:rgba(20,184,166,.18) !important;}:root[data-theme="dark"] .k-email{background:rgba(124,58,237,.22) !important;}:root[data-theme="dark"] .k-meeting{background:rgba(234,122,18,.2) !important;}
:root[data-theme="dark"] .k-task{background:rgba(245,158,11,.2) !important;}:root[data-theme="dark"] .k-note{background:rgba(148,163,184,.16) !important;}:root[data-theme="dark"] .k-whatsapp{background:rgba(34,197,94,.18) !important;}
:root[data-theme="dark"] .k-document{background:rgba(59,130,246,.2) !important;}:root[data-theme="dark"] .k-payment{background:rgba(34,197,94,.18) !important;}
.v20-tx{flex:1;min-width:0;}
.v20-tx b{display:block;font-size:14.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v20-tx span{display:block;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v20-badge{flex:none;font-size:11.5px;font-weight:600;padding:3px 12px;border-radius:999px;}
.v20-badge.done{background:#D9F2E3;color:#15803D;}.v20-badge.up{background:#FDEBC0;color:#B45309;}.v20-badge.late{background:var(--st-bad-bg);color:var(--st-bad);}.v20-badge.off{background:var(--st-mute-bg);color:var(--st-mute);}
:root[data-theme="dark"] .v20-badge.done{background:rgba(34,197,94,.18);color:#4ADE80;}:root[data-theme="dark"] .v20-badge.up{background:rgba(245,158,11,.2);color:#FBBF24;}
.v20-body{margin:12px 0 2px 54px;display:grid;gap:8px;}
.v20-line{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-soft);}
.v20-line svg{color:var(--muted);flex:none;}
.v20-sum{margin:0;font-size:13px;line-height:1.55;color:var(--ink-soft);}
.v20-tags{display:flex;gap:6px;flex-wrap:wrap;}
.v20-tags span{font-size:11.5px;padding:3px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);font-weight:500;}
.v20-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px;}
.v20-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--v20-blue);background:var(--v20-blue);color:#fff;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;}
.v20-btn:hover{filter:brightness(1.08);}
.v20-btn.ghost{background:var(--surface);color:var(--v20-blue);}
.v20-btn.wide{width:100%;margin-top:16px;padding:11px 16px;border-radius:12px;}
.v20-foot{display:flex;justify-content:flex-start;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft);}
.v20-split{position:relative;display:inline-flex;border-radius:12px;box-shadow:0 6px 16px -8px rgba(37,99,235,.7);}
.v20-split button{border:0;background:var(--v20-blue);color:#fff;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;}
.v20-split-main{border-radius:12px 0 0 12px;}
.v20-split-caret{border-radius:0 12px 12px 0;padding:11px 11px !important;border-left:1px solid rgba(255,255,255,.35) !important;}
.v20-split button:hover{filter:brightness(1.08);}
.v20-menu{position:absolute;z-index:60;left:0;bottom:calc(100% + 8px);min-width:210px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;}
.v20-menu[hidden]{display:none;}
.v20-menu.right{left:auto;right:0;bottom:auto;top:calc(100% + 6px);min-width:170px;}
.v20-menu button{display:flex !important;width:100%;align-items:center;gap:10px;background:transparent !important;color:var(--ink) !important;border-radius:9px !important;padding:8px 10px !important;font-size:13px !important;font-weight:500 !important;text-align:left;border:0;cursor:pointer;}
.v20-menu button:hover,.v20-menu button:focus-visible{background:var(--bg) !important;}
.v20-mi{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;}
.v20-empty{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;padding:36px 12px;color:var(--muted);border:1.5px dashed var(--line);border-radius:16px;}
.v20-empty b{color:var(--ink);font-size:14.5px;}
.v20-skel{height:62px;margin:0 0 12px 118px;border-radius:16px;background:linear-gradient(90deg,var(--line-soft),var(--bg),var(--line-soft));background-size:200% 100%;animation:v20sk 1.2s infinite;}
@keyframes v20sk{to{background-position:-200% 0;}}
@media (max-width:600px){
  .v20-row{grid-template-columns:62px 18px minmax(0,1fr);gap:0 6px;} .v20-when b{font-size:12px;} .v20-when span{font-size:10.5px;}
  .v20-body{margin-left:0;} .v20-tl{padding:16px 12px;border-radius:16px;} .v20-skel{margin-left:80px;}
  .v20-ic{width:36px;height:36px;border-radius:10px;} .v20-search input{width:130px;}
}
/* details modal */
.v20-det-h{display:flex;align-items:center;gap:12px;margin-bottom:14px;}.v20-det-h>div{flex:1;min-width:0;}.v20-det-h b{display:block;font-size:15px;}.v20-det-h span:not(.v20-ic):not(.v20-badge){font-size:12.5px;color:var(--muted);}
.v20-det dl{display:grid;grid-template-columns:100px 1fr;gap:6px 12px;margin:0 0 12px;font-size:13px;}.v20-det dt{color:var(--muted);}.v20-det dd{margin:0;color:var(--ink);}
.v20-det-s{background:var(--bg);border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.6;white-space:normal;}
/* account card */
.v20-acc{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--v20-card-sh);position:sticky;top:12px;}
.v20-acc-h{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.v20-acc-av{flex:none;width:48px;height:48px;border-radius:14px;background:#DDEBFF;color:#2563EB;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;}
:root[data-theme="dark"] .v20-acc-av{background:rgba(59,130,246,.22);color:#93C5FD;}
.v20-acc-t{flex:1;min-width:0;}.v20-acc-t b{display:block;font-size:17px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.v20-acc-t span{font-size:12.5px;color:var(--muted);}
.v20-kebab{position:relative;}.v20-icobtn{width:36px;height:36px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--ink-soft);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.v20-icobtn:hover{background:var(--bg);}
.v20-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;}
.v20-kv>span{display:block;font-size:11.5px;color:var(--muted);margin-bottom:4px;font-weight:500;}.v20-kv>div{font-size:14px;font-weight:600;color:var(--ink);}
.v20-kv em{font-style:normal;color:var(--muted);font-weight:400;}
.v20-own{display:inline-flex;align-items:center;gap:8px;}
.v20-stage{display:inline-block;background:var(--st-ok-bg);color:var(--st-ok);padding:2px 12px;border-radius:999px;font-size:12.5px;}
.v20-prob{display:flex;align-items:center;gap:10px;}.v20-prob b{font-size:14px;}.v20-prob i{flex:1;height:7px;background:var(--line);border-radius:99px;overflow:hidden;display:block;}.v20-prob u{display:block;height:100%;background:var(--v20-teal);border-radius:99px;}
.v20-sec{margin-top:20px;padding-top:16px;border-top:1px solid var(--line-soft);}
.v20-sec h4{font-size:14px;font-weight:700;margin:0 0 8px;}.v20-sec h4 span{color:var(--muted);font-weight:500;}.v20-sec p{margin:0;font-size:13px;line-height:1.6;color:var(--ink-soft);}
.v20-ct{display:flex;align-items:center;gap:12px;padding:8px 0;}.v20-ct b{display:block;font-size:13.5px;}.v20-ct span{font-size:12px;color:var(--muted);}

/* ---------------------------------------------------------------- shared small bits (part 2) */
.v20-btn.sm{padding:5px 11px;font-size:12.5px;border-radius:8px;}
.v20-btn[disabled]{opacity:.55;cursor:not-allowed;}
.v20-link{background:none;border:0;padding:0;color:var(--v20-blue);cursor:pointer;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.v20-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.v20-seg{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-soft);cursor:pointer;}
.v20-sec-h{font-weight:600;margin:18px 0 8px;font-size:14px;}
.k-ticket{background:#FEE2E2 !important;color:#DC2626 !important;}.k-renewal{background:#E0F2FE !important;color:#0284C7 !important;}
:root[data-theme="dark"] .k-ticket{background:rgba(239,68,68,.2) !important;}:root[data-theme="dark"] .k-renewal{background:rgba(14,165,233,.2) !important;}
.v20-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 6px;}
.v20-tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;}
.v20-tile[data-go]{cursor:pointer;}.v20-tile[data-go]:hover{border-color:var(--v20-blue);}
.v20-tile b{font-size:22px;line-height:1.2;font-weight:700;}.v20-tile span{font-size:12px;color:var(--muted);}
.v20-tile.bad b{color:var(--st-bad);}.v20-tile.warn b{color:var(--st-warn);}.v20-tile.ok b{color:var(--st-ok);}
.v20-mini{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.v20-mini li{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;}
.v20-mini li>div{flex:1;min-width:0;}.v20-mini b{display:block;font-size:13.5px;}.v20-mini span{font-size:12.5px;color:var(--muted);}
.v20-checks{list-style:none;margin:0;padding:0;display:grid;gap:6px;}.v20-checks li{display:flex;align-items:center;gap:10px;font-size:13.5px;}
.v20-chk{flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;}
li.ok>.v20-chk{background:var(--st-ok);border-color:var(--st-ok);}li.no>.v20-chk{background:var(--st-warn);border-color:var(--st-warn);}
.v20-bars{display:grid;gap:8px;margin-bottom:6px;}.v20-bars>div{display:grid;grid-template-columns:150px 1fr 110px;gap:10px;align-items:center;font-size:13px;}
.v20-bars span em{font-style:normal;color:var(--muted);margin-left:4px;}.v20-bars i{display:block;height:10px;background:var(--st-mute-bg);border-radius:6px;overflow:hidden;}
.v20-bars u{display:block;height:100%;background:var(--v20-blue);border-radius:6px;}.v20-bars b{text-align:right;font-weight:600;}

/* ---------------------------------------------------------------- Priority Inbox */
.v20-ib{display:grid;gap:18px;max-width:1100px;}
.v20-counters{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.v20-count{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 18px;text-decoration:none;color:var(--ink);box-shadow:var(--v20-card-sh);}
.v20-count b{font-size:28px;line-height:1.1;font-weight:700;}.v20-count span{font-size:12.5px;color:var(--muted);}
.v20-count.bad b{color:var(--st-bad);}.v20-count.warn b{color:var(--st-warn);}
.v20-ib-sec{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:var(--v20-card-sh);}
.v20-ib-sec.late{border-left:4px solid var(--st-bad);}.v20-ib-sec.today{border-left:4px solid var(--v20-blue);}.v20-ib-sec.action{border-left:4px solid var(--v20-amber);}
.v20-ib-sh{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px;}.v20-ib-sh h3{margin:0;font-size:15px;}.v20-ib-sh h3 em{font-style:normal;background:var(--st-mute-bg);color:var(--st-mute);border-radius:999px;padding:1px 9px;font-size:12px;margin-left:6px;}
.v20-ib-sh span{font-size:12.5px;color:var(--muted);}
.v20-ib-sec ul{list-style:none;margin:0;padding:0;}
.v20-ib-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line-soft);transition:opacity .2s;}
.v20-ib-row:first-child{border-top:0;}.v20-ib-row.gone{opacity:0;}
.v20-ib-tx{flex:1;min-width:0;}.v20-ib-tx b{display:block;font-size:14px;}.v20-ib-tx span{display:block;font-size:12.5px;color:var(--muted);}
.v20-ib-tx em{display:block;font-style:normal;font-size:12px;color:var(--v20-blue);margin-top:1px;}
.v20-due{font-size:12px;color:var(--muted);white-space:nowrap;}.v20-due.late{color:var(--st-bad);font-weight:600;}
.v20-ib-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.v20-snz{position:relative;display:inline-block;}.v20-snz .v20-menu{bottom:auto;top:calc(100% + 4px);left:auto;right:0;min-width:140px;}
.v20-ib-empty{padding:10px 0;color:var(--muted);font-size:13px;}
.v20-more{background:none;border:0;color:var(--v20-blue);font-weight:600;font-size:13.5px;cursor:pointer;padding:0;font-family:inherit;}
.v20-ib-sec.soon{padding:12px 16px;}.v20-how{color:var(--muted);font-size:12.5px;margin:0;}
.v20-role{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:6px 16px 16px;}.v20-role:empty{display:none;}.v20-role h3{font-size:15px;margin:14px 0 8px;}
@media (max-width:700px){
  .v20-counters{gap:8px;}.v20-count{padding:10px 12px;}.v20-count b{font-size:22px;}
  .v20-ib-row{flex-wrap:wrap;}.v20-ib-acts{width:100%;justify-content:flex-start;padding-left:54px;}
  .v20-bars>div{grid-template-columns:1fr;gap:3px;}.v20-bars b{text-align:left;}
}

/* onboarding + tour */
.v20-onb{background:linear-gradient(135deg,var(--v20-blue-bg),var(--surface));border:1px solid var(--line);border-radius:18px;padding:16px 18px;}
.v20-onb-h{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}.v20-onb-h>div:first-child{flex:1;min-width:200px;}.v20-onb-h h3{margin:0;font-size:16px;}.v20-onb-h span{font-size:12.5px;color:var(--muted);}
.v20-onb-bar{width:160px;height:8px;border-radius:6px;background:var(--st-mute-bg);overflow:hidden;}.v20-onb-bar i{display:block;height:100%;background:var(--st-ok);border-radius:6px;}
.v20-onb ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px;}.v20-onb li{display:flex;align-items:center;gap:12px;}.v20-onb li>div{flex:1;min-width:0;}
.v20-onb li b{display:block;font-size:13.5px;}.v20-onb li em{display:block;font-style:normal;font-size:12px;color:var(--muted);}.v20-onb li.ok b{text-decoration:line-through;color:var(--muted);}
.v20-onb-f{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted);}
.v20-onb-help{margin-top:16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:6px 18px 14px;}.v20-onb-help h3{font-size:15px;}.v20-onb-help li{margin:6px 0;font-size:13.5px;}
.v20-tour{position:fixed;inset:0;z-index:12000;}
.v20-tour-hole{position:fixed;border-radius:12px;box-shadow:0 0 0 9999px rgba(15,23,42,.58);transition:all .25s;pointer-events:none;border:2px solid #fff;}
.v20-tour-card{position:fixed;width:320px;max-width:calc(100vw - 24px);background:var(--surface);color:var(--ink);border-radius:16px;padding:16px;box-shadow:var(--shadow-lg);}
.v20-tour-card b{font-size:15px;}.v20-tour-card p{margin:6px 0 12px;font-size:13px;color:var(--ink-soft);line-height:1.5;}
.v20-tour-foot{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);}

/* ---------------------------------------------------------------- Quotation to Cash */
.v20-q2c-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px;}.v20-q2c-tools .v20-chips{margin:0;flex:1;}
.v20-q2c-tools select,.v20-q2c-tools input[type=date]{height:36px;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:0 10px;color:var(--ink);font-size:13px;}
.v20-q2c-tools label{font-size:12.5px;color:var(--muted);display:inline-flex;gap:6px;align-items:center;}
.v20-chips em{font-style:normal;opacity:.7;margin-left:3px;font-size:11.5px;}
.v20-q2c-row{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:12px;box-shadow:var(--v20-card-sh);}
.v20-q2c-row.blocked{border-color:var(--st-bad);}
.v20-q2c-h{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;}.v20-q2c-h>div:first-child{flex:1;min-width:180px;}.v20-q2c-h .cust{font-size:13px;color:var(--ink-soft);}
.v20-q2c-amt{font-weight:700;font-size:16px;}.v20-q2c-st{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:130px;}.v20-q2c-st em{font-style:normal;font-size:12px;color:var(--muted);}
.v20-q2c-note{margin:8px 0 0;font-size:12.5px;color:var(--muted);}
.v20-track{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(8,1fr);gap:4px;}
.v20-track li{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;font-size:11px;min-width:0;}
.v20-track li::before{content:"";position:absolute;top:9px;left:-50%;width:100%;height:2px;background:var(--line);z-index:0;}.v20-track li:first-child::before{display:none;}
.v20-track i{position:relative;z-index:1;width:20px;height:20px;border-radius:50%;background:var(--surface);border:2px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-style:normal;font-weight:700;color:#fff;}
.v20-track b{margin-top:4px;font-weight:600;color:var(--ink-soft);}.v20-track span{color:var(--muted);font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.v20-track li.done i{background:var(--st-ok);border-color:var(--st-ok);}.v20-track li.done::before{background:var(--st-ok);}
.v20-track li.current i,.v20-track li.active i{border-color:var(--v20-blue);background:var(--v20-blue-bg);box-shadow:0 0 0 3px var(--v20-blue-bg);}.v20-track li.current b,.v20-track li.active b{color:var(--v20-blue);}
.v20-track li.blocked i{background:var(--st-bad);border-color:var(--st-bad);}.v20-track li.blocked b{color:var(--st-bad);}
.v20-track li.skipped{opacity:.45;}
.v20-bulk{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--v20-blue-bg);border:1px solid var(--v20-blue);border-radius:12px;padding:8px 12px;margin:0 0 10px;}.v20-bulk[hidden]{display:none;}
.v20-al-sum{margin-top:10px;font-size:13px;font-weight:600;color:var(--ink-soft);}.v20-al-sum.bad{color:var(--st-bad);}
.v20-rcpt{padding:6px 2px;}.v20-rcpt-h{display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:10px;}.v20-rcpt-h span{display:block;font-size:12.5px;color:var(--muted);font-weight:400;}.v20-rcpt-h .no{text-align:right;font-weight:700;}
.v20-rcpt table{width:100%;border-collapse:collapse;margin-top:12px;}.v20-rcpt td{padding:9px 6px;border-bottom:1px solid var(--line);vertical-align:top;font-size:13.5px;}.v20-rcpt td:first-child{color:var(--muted);width:34%;}.v20-rcpt .amt{font-size:20px;}.v20-rcpt .mu{font-size:12px;color:var(--muted);margin-top:12px;}
@media (max-width:700px){ .v20-track{grid-template-columns:repeat(4,1fr);row-gap:10px;}.v20-track li:nth-child(5)::before{display:none;} }

/* ---------------------------------------------------------------- Renewals + health */
.v20-board{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px;}
.v20-col{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:10px;min-width:200px;}.v20-col h4{display:flex;justify-content:space-between;align-items:center;gap:6px;margin:0 0 8px;font-size:12px;}.v20-col h4 em{font-style:normal;color:var(--muted);}
.v20-col-empty{color:var(--muted);font-size:12.5px;padding:10px 4px;text-align:center;}
.v20-rcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:12.5px;display:grid;gap:3px;}.v20-rcard>b{font-size:13px;}
.v20-rcard .d{display:flex;justify-content:space-between;gap:6px;color:var(--muted);}.v20-rcard .d b{color:var(--ink-soft);}.v20-rcard .d b.late{color:var(--st-bad);}.v20-rcard .amt{font-weight:600;}
.v20-hbar{display:inline-block;vertical-align:middle;width:90px;height:8px;border-radius:6px;background:var(--st-mute-bg);overflow:hidden;margin-right:8px;}.v20-hbar i{display:block;height:100%;border-radius:6px;}
.v20-hbar.healthy i,.v20-hbig.healthy{background:var(--st-ok);}.v20-hbar.watch i{background:var(--v20-amber);}.v20-hbar.at_risk i{background:var(--st-bad);}
.v20-hbig{display:inline-flex;align-items:baseline;gap:10px;border-radius:14px;padding:10px 18px;color:#fff;margin-bottom:10px;}.v20-hbig b{font-size:30px;}.v20-hbig.watch{background:var(--v20-amber);}.v20-hbig.at_risk{background:var(--st-bad);}
.v20-why{list-style:none;margin:0;padding:0;display:grid;gap:6px;}.v20-why li{display:flex;gap:10px;align-items:baseline;font-size:13.5px;}.v20-why b{min-width:34px;text-align:right;}.v20-why .neg b{color:var(--st-bad);}.v20-why .pos b{color:var(--st-ok);}
.v20-onb.compact ul,.v20-onb.compact .v20-onb-f{display:none;}.v20-onb.compact{padding:10px 16px;}
@media (max-width:760px){ .v20-board{grid-template-columns:1fr;overflow:visible;}.v20-col{min-width:0;} }
#ib-lists{display:grid;gap:12px;}

/* ---------------------------------------------------------------- Helpdesk queue, analytics, hub, records, templates */
.v20-sq{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--st-ok);border-radius:14px;padding:12px 14px;margin-bottom:10px;box-shadow:var(--v20-card-sh);}
.v20-sq.breached{border-left-color:var(--st-bad);}.v20-sq.at_risk{border-left-color:var(--v20-amber);}
.v20-sq-h{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}.v20-sq-h>div:first-child{flex:1;min-width:220px;}.v20-sq .sub{font-size:13.5px;margin-top:2px;}.v20-sq .cust{font-size:12.5px;color:var(--muted);}
.v20-sq-t{display:flex;flex-direction:column;gap:5px;min-width:170px;}.v20-sq-a{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}.v20-sq-a .who{font-size:12.5px;color:var(--ink-soft);}
.v20-tm{position:relative;display:block;overflow:hidden;border-radius:8px;padding:3px 9px;font-size:12px;background:var(--st-mute-bg);color:var(--st-mute);}
.v20-tm i{position:absolute;inset:0 auto 0 0;opacity:.22;background:currentColor;}.v20-tm b,.v20-tm{font-weight:500;}.v20-tm b{font-weight:700;}.v20-tm>*{position:relative;}
.v20-tm.ok{background:var(--st-ok-bg);color:var(--st-ok);}.v20-tm.warn{background:var(--st-warn-bg);color:var(--st-warn);}.v20-tm.bad{background:var(--st-bad-bg);color:var(--st-bad);}
.v20-tech{list-style:none;margin:0;padding:0;display:grid;gap:6px;}.v20-tech button{display:flex;justify-content:space-between;gap:10px;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 12px;cursor:pointer;color:var(--ink);font:inherit;}
.v20-tech button:hover,.v20-tech button.on{border-color:var(--v20-blue);background:var(--v20-blue-bg);}.v20-tech span{font-size:12px;color:var(--muted);}
.v20-log{list-style:none;margin:0;padding:0;font-size:13px;display:grid;gap:4px;}.v20-log span{color:var(--muted);margin-left:6px;}
.v20-an-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;}
.v20-an{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;min-width:0;}.v20-an h3{margin:0 0 4px;font-size:14.5px;}.v20-an>p{margin:0 0 10px;font-size:12px;color:var(--muted);}
.v20-an .neg{color:var(--st-bad);font-weight:600;}.v20-an .pos{color:var(--st-ok);font-weight:600;}.v20-top{margin-top:10px;font-size:12.5px;color:var(--ink-soft);}
.v20-bars u.warn{background:var(--v20-amber);}
@media (max-width:900px){.v20-an-grid{grid-template-columns:1fr;}}
.v20-hook{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:10px;display:grid;gap:6px;}
.v20-hook-h{display:flex;gap:14px;justify-content:space-between;flex-wrap:wrap;}.v20-hook-h>div:first-child{min-width:0;flex:1;word-break:break-all;}
.v20-hook-k{display:flex;gap:14px;font-size:12px;color:var(--muted);flex-wrap:wrap;}.v20-hook-k b{color:var(--ink);}
.v20-hook-err{font-size:12px;color:var(--st-bad);background:var(--st-bad-bg);border-radius:8px;padding:5px 9px;}.v20-hook-a{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px;}
.v20-btn.danger{color:var(--st-bad);border-color:var(--st-bad);}
.v20-evs{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 14px;max-height:230px;overflow:auto;}.v20-evs label{display:flex;gap:8px;align-items:flex-start;font-size:13px;}.v20-evs em{display:block;font-style:normal;font-size:11.5px;color:var(--muted);}
@media (max-width:700px){.v20-evs{grid-template-columns:1fr;}}
.v20-pre{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:12px;overflow:auto;max-height:340px;white-space:pre-wrap;word-break:break-all;}
.v20-sc{display:inline-flex;gap:4px;align-items:center;font-size:12px;margin-right:6px;white-space:nowrap;}
.v20-doc h3{font-size:14.5px;margin:16px 0 6px;}.v20-doc p,.v20-doc li{font-size:13.5px;line-height:1.6;color:var(--ink-soft);}.v20-doc code,.v20-hook code,.v20-sc code{background:var(--st-mute-bg);padding:1px 6px;border-radius:5px;font-size:12px;}
/* records */
.v20-rc-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px;}.v20-rc-bar select{height:36px;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:0 10px;font-size:13px;color:var(--ink);}.v20-rc-bar .v20-search input{width:210px;}
.v20-rc-g{font-size:12.5px;color:var(--muted);display:inline-flex;gap:6px;align-items:center;}.v20-saved{font-size:12.5px;color:var(--st-ok);font-weight:600;min-width:60px;}
.v20-pop{position:relative;display:inline-block;}.v20-pop .v20-menu{top:calc(100% + 6px);bottom:auto;left:0;min-width:230px;max-height:340px;overflow:auto;}
.v20-cols{display:grid;gap:2px;padding:4px;}.v20-cols label{display:flex;gap:8px;align-items:center;font-size:13px;padding:4px 6px;border-radius:7px;cursor:pointer;}.v20-cols label:hover{background:var(--bg);}.v20-cols em{font-style:normal;font-size:10.5px;color:var(--v20-blue);}
.v20-cols-f{display:flex;justify-content:space-between;padding:6px 4px 2px;border-top:1px solid var(--line);margin-top:4px;}
.v20-vrow{display:flex;}.v20-vrow button{flex:1;}.v20-vrow .x{flex:none;width:34px !important;justify-content:center;}
.v20-rt th{white-space:nowrap;}.v20-rt .ck{width:34px;}.v20-sort{background:none;border:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;padding:0;}
.v20-rt td.ed{cursor:text;}.v20-rt td.ed:hover{background:var(--v20-blue-bg);outline:1px dashed var(--v20-blue);outline-offset:-2px;}.v20-rt td.ed:focus-visible{outline:2px solid var(--brand);}
.v20-rt td.busy{opacity:.55;}.v20-rt td.err{outline:2px solid var(--st-bad);outline-offset:-2px;}.v20-rt td.ok{animation:v20ok 1.4s ease;}@keyframes v20ok{0%{background:var(--st-ok-bg);}100%{background:transparent;}}
.v20-rt tr.sel td{background:var(--v20-blue-bg);}.v20-ed{width:100%;min-width:110px;height:32px;border:2px solid var(--v20-blue);border-radius:8px;background:var(--surface);color:var(--ink);padding:0 8px;font:inherit;font-size:13px;}
.v20-rt .nm{text-align:left;}.v20-grow td{background:var(--bg);font-size:13px;}.v20-grow span{color:var(--muted);margin-left:8px;}
.v20-pg{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:10px;font-size:12.5px;color:var(--muted);}
.v20-lay{list-style:none;margin:0;padding:0;display:grid;gap:6px;}.v20-lay li{display:grid;grid-template-columns:1fr minmax(120px,220px) 36px 36px;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px 10px;}
.v20-lay-n b{display:block;font-size:13.5px;}.v20-lay-n em{font-style:normal;font-size:11.5px;color:var(--muted);}
@media (max-width:700px){.v20-lay li{grid-template-columns:1fr 36px 36px;}.v20-lay li input{grid-column:1/-1;grid-row:2;}.v20-rc-bar .v20-search input{width:100%;}.v20-rc-bar .v20-search{flex:1 1 100%;}}
